久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

SSD目標(biāo)檢測實戰(zhàn):從原理到自制數(shù)據(jù)集訓(xùn)練全流程

SSD目標(biāo)檢測實戰(zhàn):從原理到自制數(shù)據(jù)集訓(xùn)練全流程 SSDSingle Shot MultiBox Detector目標(biāo)檢測領(lǐng)域里繞不過去的一個經(jīng)典模型。它把目標(biāo)定位和分類統(tǒng)一在一個前向過程中一次推理直接輸出所有候選框和類別概率不需要兩階段方法那樣的先提候選區(qū)域再逐區(qū)域分類的繁瑣流程。我在實際項目里用SSD做過工業(yè)零件檢測、桌面場景識別、還有一些邊緣設(shè)備上的輕量級檢測整體感受是原理清晰、訓(xùn)練可控、對環(huán)境要求也不苛刻非常適合作為你上手訓(xùn)練自己的目標(biāo)檢測數(shù)據(jù)集的第一套完整方案。這篇文章我會從模型設(shè)計思路講起再一步步帶你走完環(huán)境搭建、自制數(shù)據(jù)集、訓(xùn)練調(diào)參、推理評估、踩坑排錯的完整流程。適合有Python基礎(chǔ)、了解基本卷積網(wǎng)絡(luò)概念、但還沒真正在自己的數(shù)據(jù)上跑通過完整目標(biāo)檢測流程的學(xué)習(xí)者。你不需要頂級GPU也不需要海量數(shù)據(jù)只要按著步驟來就能在自制數(shù)據(jù)集上完成SSD的端到端訓(xùn)練和檢測。1. SSD的設(shè)計思路與核心機制拆解1.1 單階段檢測到底是什么要理解SSD得先分清目標(biāo)檢測的兩條技術(shù)路線。兩階段檢測的典型代表是Faster R-CNN系列思路是先粗篩再細(xì)查第一步用區(qū)域建議網(wǎng)絡(luò)RPN在整張圖上找出幾千個可能存在目標(biāo)的區(qū)域第二步再對每個區(qū)域做分類和邊界框回歸。好處是精度高壞處是慢兩個階段各跑一遍很難做到實時。SSD走的是另一條路一步到位。它把整張圖分成多個網(wǎng)格每個網(wǎng)格點上預(yù)先放置一組不同尺寸和長寬比的默認(rèn)框default box網(wǎng)絡(luò)同時預(yù)測每個默認(rèn)框里有沒有目標(biāo)、是什么類別、以及框的位置該往哪個方向調(diào)整多少。所有預(yù)測在一次前向過程中完成所以叫Single Shot。我經(jīng)常用一個類比來解釋這件事兩階段檢測像你先用望遠(yuǎn)鏡掃一遍整個草原發(fā)現(xiàn)可疑目標(biāo)然后換單筒放大鏡一個個仔細(xì)確認(rèn)單階段檢測則是你直接站在瞭望塔上一次性用不同倍數(shù)的鏡頭同時掃過全場景誰是什么、在哪里一次看清。SSD屬于后者速度優(yōu)勢非常明顯。這里還有一個MultiBox的概念。它指的不是預(yù)測一個框而是預(yù)測一大批框。訓(xùn)練階段會把默認(rèn)框和真實標(biāo)注框做匹配匹配好的默認(rèn)框負(fù)責(zé)學(xué)習(xí)我該往哪里偏移、這個位置是什么目標(biāo)沒匹配上的默認(rèn)框則負(fù)責(zé)學(xué)習(xí)這里沒有目標(biāo)。網(wǎng)絡(luò)本質(zhì)上是在做多任務(wù)學(xué)習(xí)一邊學(xué)分類一邊學(xué)框回歸。1.2 多尺度特征圖預(yù)測SSD的看家本領(lǐng)SSD最核心的設(shè)計創(chuàng)新是它不在單一層特征圖上做預(yù)測而是在多個不同分辨率的特征圖并行做預(yù)測。這個設(shè)計直接解決了一個老大難問題——小目標(biāo)檢測。早期的檢測模型習(xí)慣只在網(wǎng)絡(luò)最后一層特征圖上接檢測頭但最后一層特征圖經(jīng)過多次池化和卷積下采樣分辨率很低一個小目標(biāo)可能只占據(jù)幾個像素信息已經(jīng)嚴(yán)重丟失檢測效果自然差。SSD的做法是既然不同層特征圖保留了不同粒度的信息那就在特征金字塔的多個層級上各接一組檢測器。淺層特征圖分辨率高、感受野小適合檢測小目標(biāo)深層特征圖分辨率低、感受野大適合檢測大目標(biāo)。你可以把它理解成不同高度的觀察者在看同一個場景站在二樓只能看到局部細(xì)節(jié)站在二十樓能看到全景輪廓SSD是讓兩者同時工作再匯總結(jié)果。這就是它名字里MultiBox之外的另一個關(guān)鍵——多尺度預(yù)測。具體到300x300輸入SSD會在6層特征圖上做預(yù)測38x38、19x19、10x10、5x5、3x3、1x1。每層給不同尺度的默認(rèn)框尺度按線性遞增公式分配s_k s_min (s_max - s_min) * (k - 1) / (m - 1)對一個m6層的網(wǎng)絡(luò)結(jié)構(gòu)s_min取0.2、s_max取0.9算出來6層的相對尺度約為0.2、0.34、0.48、0.62、0.76、0.9對應(yīng)300輸入就是約60、102、144、186、228、270像素。再配合多種長寬比比如1:1、1:2、2:1、1:3、3:1一個位置最多可以匹配6個不同形狀的默認(rèn)框。整個SSD300一張圖會產(chǎn)生8732個候選框SSD512則是24564個。這個設(shè)計帶來一個非常實際的收益檢測各種尺寸的目標(biāo)時模型天然具備了每個尺度都有各自專門的預(yù)測頭的歸納偏置訓(xùn)練起來比單純依賴最后一層特征圖容易收斂得多。1.3 訓(xùn)練階段不容忽視的配套機制多尺度預(yù)測是骨架但真正讓SSD訓(xùn)練穩(wěn)定的是配套的匹配策略和損失設(shè)計。先看先驗框匹配。訓(xùn)練時每個真實標(biāo)注框需要和默認(rèn)框建立對應(yīng)關(guān)系。匹配策略分兩步第一步每個真實框優(yōu)先匹配IoU交并比最高的那個默認(rèn)框保證每一個真實目標(biāo)都至少有一個正樣本負(fù)責(zé)學(xué)習(xí)第二步對剩下的默認(rèn)框只要和任意真實框的IoU大于0.5也算作正樣本。這個0.5的閾值不是拍腦袋定的它保證了正樣本在確實和某個目標(biāo)重疊得不錯的前提下盡量多緩解了正負(fù)樣本比例天然懸殊的問題。再看負(fù)樣本處理。一張圖里大多數(shù)默認(rèn)框都是背景如果全部參與損失計算負(fù)樣本數(shù)量可能是正樣本的幾十倍模型會被背景類淹沒。SSD的解決辦法是難例挖掘hard negative mining按分類置信度損失從大到小排序挑選損失最高的那些負(fù)樣本參與訓(xùn)練把正負(fù)樣本比例控制在1:3左右。換句話說模型會把精力集中在那些讓網(wǎng)絡(luò)誤以為有目標(biāo)但實際沒有的難例上而不是簡單背景框上。最后是數(shù)據(jù)增強。SSD訓(xùn)練時的數(shù)據(jù)增強是一套組合拳隨機裁剪、隨機縮放、顏色抖動、水平翻轉(zhuǎn)。其中隨機裁剪特別重要它模擬了目標(biāo)在視野中只出現(xiàn)局部的場景相當(dāng)于無語義地制造了大量目標(biāo)尺度變化和遮擋的困難樣本。這也是SSD在VOC這類數(shù)據(jù)集上能和小目標(biāo)斗爭的關(guān)鍵手段之一。我現(xiàn)在自己訓(xùn)練模型時也保留了這個習(xí)慣寧可訓(xùn)練慢一點也要讓模型見過足夠多的殘缺目標(biāo)。2. 訓(xùn)練環(huán)境搭建從零把項目跑起來2.1 框架選型別在舊時代踩坑SSD最早是在Caffe框架下實現(xiàn)的網(wǎng)上大量老教程也都是Caffe版本。我不推薦你走那條路因為Caffe的環(huán)境配置至今仍是個深坑依賴庫多、編譯鏈路長、CUDA版本敏感很多老代碼在新驅(qū)動上直接編譯不過去。我見過不少同學(xué)把時間全耗在配置環(huán)境上模型一個epoch都沒跑完。更推薦的是基于PyTorch的開源復(fù)現(xiàn)版本。PyTorch現(xiàn)在對訓(xùn)練、調(diào)試、可視化、模型導(dǎo)出的支持都更順手處理圖像數(shù)據(jù)的接口也更符合直覺。雖然Python代碼跑起來的原始性能可能不如C后端硬核但對大多數(shù)個人項目和中小型業(yè)務(wù)場景來說開發(fā)效率和迭代速度遠(yuǎn)比那一點性能差異重要。你可以去代碼托管平臺搜SSD_PyTorch之類的倉庫選一個star多、維護活躍的版本作為起點。依賴安裝很直接核心就是PyTorch加上一些輔助庫。我的建議是# 根據(jù)自身顯卡驅(qū)動選擇合適的CUDA與PyTorch版本 pip install torch torchvision pip install opencv-python numpy tqdm pip install pycocotools # 如果評估需要COCO API如果你用的是Linux環(huán)境建議直接用conda創(chuàng)建獨立環(huán)境避免和系統(tǒng)Python環(huán)境打架。硬件方面我用一張12GB顯存的消費級顯卡訓(xùn)過300分辨率的SSDbatch size開到16或者32都沒問題。8GB顯存也能跑只要把batch size降到8左右。完全沒有GPU的話小數(shù)據(jù)集也能用CPU硬扛但訓(xùn)練時間會長到讓人懷疑人生。2.2 項目目錄與數(shù)據(jù)目錄規(guī)劃我習(xí)慣動手之前先把目錄結(jié)構(gòu)規(guī)劃好否則訓(xùn)練中途會發(fā)現(xiàn)亂七八糟的文件散落一地。下面是一套我驗證過很多次的布局ssd_project/ ├── train.py ├── test.py ├── evaluate.py ├── data/ │ ├── datasets/ │ │ └── VOCdevkit/ │ │ └── MyDataset/ │ │ ├── Annotations/ # XML標(biāo)注文件 │ │ ├── JPEGImages/ # 原始圖片 │ │ └── ImageSets/ │ │ └── Main/ # train.txt, val.txt, test.txt │ └── config.py ├── checkpoints/ │ └── ssd300_epoch120.pth └── logs/這里項目名我用某自制數(shù)據(jù)集代指實際數(shù)據(jù)。為什么要用VOC格式而不是別的格式因為它結(jié)構(gòu)直觀、文件組織清晰標(biāo)注和圖片分開管理索引文件就是一行一個文件名非常容易理解。而且大多數(shù)SSD開源實現(xiàn)的DataLoader就是按VOC格式寫的你只需要把自己的數(shù)據(jù)整理成這個結(jié)構(gòu)代碼基本不用大改。一個常被忽略的細(xì)節(jié)是圖片名和XML文件名必須嚴(yán)格一一對應(yīng)命名里不能有空格、中文、特殊符號。我建議統(tǒng)一用6位數(shù)字編號比如000001.jpg對應(yīng)000001.xml。文件名不規(guī)則會導(dǎo)致數(shù)據(jù)加載莫名其妙報錯而且定位問題時要花大量時間。2.3 預(yù)訓(xùn)練權(quán)重選擇SSD的骨干網(wǎng)絡(luò)默認(rèn)是VGG16的前幾層。為什么不自己從頭訓(xùn)練整個VGG因為目標(biāo)檢測的骨干網(wǎng)絡(luò)需要提取通用的視覺特征邊緣、紋理、形狀這些特征在大規(guī)模分類數(shù)據(jù)集上已經(jīng)學(xué)得很好了。用預(yù)訓(xùn)練權(quán)重做初始化再在自己的目標(biāo)檢測數(shù)據(jù)上微調(diào)收斂速度會快非常多最終精度也更高。從零訓(xùn)練不是不行但除非你有幾十萬張級別的數(shù)據(jù)否則通常效果不佳。一些PyTorch復(fù)現(xiàn)版本會把VGG16預(yù)訓(xùn)練權(quán)重轉(zhuǎn)換后塞進SSD結(jié)構(gòu)里你只需要下載轉(zhuǎn)換好的權(quán)重文件放到checkpoints目錄即可。這里有一個實測過的注意事項不同復(fù)現(xiàn)版本對權(quán)重的組織方式略有差異下載時注意和你的代碼版本對應(yīng)起來否則加載權(quán)重時會出現(xiàn)鍵名不匹配的報錯。萬一報錯也沒關(guān)系檢查一下狀態(tài)字典的鍵名做一個簡單的重映射就行后面我會在排錯章節(jié)講具體做法。3. 制作自己的數(shù)據(jù)集比訓(xùn)練更花時間的部分3.1 數(shù)據(jù)收集原則少而精不如多而雜你在訓(xùn)練上花一天往往能在數(shù)據(jù)上花一周。數(shù)據(jù)質(zhì)量直接決定模型上限網(wǎng)絡(luò)結(jié)構(gòu)只是逼近這個上限的手段。先給個數(shù)量參考如果是單類別目標(biāo)檢測我建議每類至少準(zhǔn)備300到500張原始圖片多一些更好。我這里說的不是那種同一場景連拍10張的水?dāng)?shù)據(jù)而是要有足夠的場景多樣性。拿我自己做過的三類果蔬檢測舉例蘋果、香蕉、橙子各400張左右但我會刻意覆蓋不同光照室內(nèi)燈光、自然光、不同角度俯拍、側(cè)拍、斜拍、不同遮擋部分被其他物體遮住、堆疊擺放、不同距離近景特寫、中景、遠(yuǎn)景甚至故意放進一些模糊圖片做難例。模型只有在訓(xùn)練時見過足夠多難看的姿勢推理時面對真實場景才不會露怯。有一個原則特別值得強調(diào)寧可圖片總數(shù)少一點也要保證所有圖里有目標(biāo)、目標(biāo)標(biāo)注無誤。網(wǎng)上有些人為了趕進度大量下載圖片后隨便框一下就開訓(xùn)結(jié)果模型學(xué)到的全是錯誤的定位模式效果還不如小數(shù)據(jù)集精心標(biāo)注。數(shù)據(jù)質(zhì)量永遠(yuǎn)是第一位的。3.2 使用開源標(biāo)注工具標(biāo)注并整理標(biāo)注工具我推薦開源免費、界面簡單的矩形框標(biāo)注工具操作邏輯是打開一張圖鼠標(biāo)拖拽畫框填寫類別名稱保存后就生成VOC格式的XML文件。這些工具一般會幫你自動生成XML裝在本地即可使用不需要聯(lián)網(wǎng)配置服務(wù)。標(biāo)注時有兩個很容易被忽視的細(xì)節(jié)。第一標(biāo)注框要盡量貼合目標(biāo)邊緣不要為了省事留一圈空氣邊。第二框得太緊也不行因為框回歸的偏移量本身就包含了一定的誤差空間標(biāo)得太緊反而讓模型學(xué)不到合理的邊界。我自己通常的做法是讓框的邊緣比目標(biāo)實際輪廓稍微收縮一到兩個像素這樣模型預(yù)測的框普遍更緊湊。遮擋目標(biāo)的標(biāo)注建議遵循一個原則只要目標(biāo)還有明確的可見主體就標(biāo)注它的可見部分不要試圖去標(biāo)一個腦補出來的完整物體。這個細(xì)節(jié)對模型非常關(guān)鍵它教會模型物體會被遮擋但可檢測性依然存在。標(biāo)注完后一定要做二次校驗。最有效的辦法是找一個沒參與標(biāo)注的同學(xué)隨機抽20%的圖重新過一遍看看框的位置和類別命名是否一致。我發(fā)現(xiàn)多人標(biāo)注項目里類別命名的混亂同一個物體一會兒叫apple一會兒叫Apple是導(dǎo)致訓(xùn)練loss異常的主要元兇之一。一個統(tǒng)一的命名規(guī)范能省無數(shù)麻煩。3.3 劃分訓(xùn)練集與測試集數(shù)據(jù)集做好之后第一步是把圖片和XML組織進JPEGImages與Annotations目錄然后劃分樣本索引。我建議按8:1:1劃分訓(xùn)練、驗證、測試集并且在程序里固定隨機種子保證每次劃分結(jié)果一致。下面給一個簡單的劃分腳本你可以根據(jù)自己的情況修改import os import random from pathlib import Path random.seed(42) image_dir Path(JPEGImages) names [p.stem for p in image_dir.glob(*.jpg)] random.shuffle(names) n len(names) train_names names[:int(n * 0.8)] val_names names[int(n * 0.8):int(n * 0.9)] test_names names[int(n * 0.9):] def write_txt(path, names): with open(path, w) as f: for name in names: f.write(name \n) main_dir Path(ImageSets/Main) main_dir.mkdir(parentsTrue, exist_okTrue) write_txt(main_dir / train.txt, train_names) write_txt(main_dir / val.txt, val_names) write_txt(main_dir / test.txt, test_names) write_txt(main_dir / trainval.txt, train_names val_names)這里必須提醒一個數(shù)據(jù)泄漏問題如果同一個物體的多張連拍圖被同時分進訓(xùn)練集和測試集你的測試分?jǐn)?shù)會虛高因為模型等于已經(jīng)見過測試目標(biāo)了。我處理這類問題的方法是先按場景分組在場景級別而不是圖片級別做劃分。比如同一次拍攝會話產(chǎn)生的圖片歸到同一個場景組然后以場景組為單位切分?jǐn)?shù)據(jù)集。這樣評估結(jié)果才可信。3.4 轉(zhuǎn)成目標(biāo)格式的注意事項如果你拿到的數(shù)據(jù)不是VOC格式而是像CSV、JSON或者某種私有標(biāo)注格式需要寫一個轉(zhuǎn)換腳本。轉(zhuǎn)換的核心步驟無非是把標(biāo)注信息讀出來重新組織成VOC XML再把圖片統(tǒng)一命名和格式。寫轉(zhuǎn)換腳本時有一個細(xì)節(jié)值得注意類別名稱建議統(tǒng)一為小寫英文。雖然VOC格式本身對大小寫不敏感但很多數(shù)據(jù)處理代碼、數(shù)據(jù)增強模塊、評估腳本都默認(rèn)按名稱匹配如果名稱大小寫不一致可能在類別統(tǒng)計時出現(xiàn)兩個不同的分類導(dǎo)致評估時對不上號。我也遇到過因為類別名帶空格導(dǎo)致數(shù)據(jù)加載失敗的案例所以在轉(zhuǎn)換時做一遍清理去空格、統(tǒng)一小寫、替換特殊符號是一個低成本高收益的動作。另外轉(zhuǎn)換完一定要抽查。隨機打印幾張圖像的標(biāo)注框信息再配合圖像可視化畫出框來確認(rèn)坐標(biāo)沒有錯位、類別名稱沒有混亂。坐標(biāo)錯位最常見的原因是原數(shù)據(jù)里坐標(biāo)是相對坐標(biāo)比如0到1的小數(shù)而轉(zhuǎn)換時沒有按圖片寬高還原成絕對像素這個問題排查起來很費時間最好在源頭就驗證清楚。4. 開始訓(xùn)練配置、命令與節(jié)奏控制4.1 修改模型與訓(xùn)練配置每個參數(shù)都有講究拿到開源代碼后第一個要改的就是類別數(shù)。VOC原本是20類但你的數(shù)據(jù)集可能只有3類。SSD在計算分類損失時類別數(shù)等于實際類別數(shù)加1額外一個背景類所以num_classes需要改成實際類別數(shù)加1。如果你檢測三類果蔬這個值就是4。訓(xùn)練尺寸的選擇同樣重要。SSD300表示輸入300x300SSD512表示輸入512x512。分辨率更高小目標(biāo)檢測能力更強但顯存占用和訓(xùn)練時間會明顯增加。我的建議是先在300分辨率上把流程跑通確認(rèn)數(shù)據(jù)沒問題后再考慮要不要換成512。我自己在做小目標(biāo)密集場景時才用512普通場景300完全夠用。batch size和初始學(xué)習(xí)率是一對好兄弟。參考常見的訓(xùn)練策略batch size調(diào)小時初始學(xué)習(xí)率也該等比降低。我推薦一個保守的起點batch size 16初始學(xué)習(xí)率0.001如果你只能開batch size 8就把學(xué)習(xí)率降到0.0005左右。優(yōu)化器用SGD加動量momentum0.9配合權(quán)重衰減5e-4這是SSD訓(xùn)練很經(jīng)典的一套配置。不要一上來就盲目上AdamSSD這類帶大量錨框的模型對學(xué)習(xí)率比較敏感SGD的穩(wěn)定性更適合。還有一個容易被新手忽略的參數(shù)學(xué)習(xí)率調(diào)度策略??俥poch設(shè)多少warmup要開多久學(xué)習(xí)率在哪個階段線性衰減這些直接影響收斂質(zhì)量。通常我會先跑一個100到200個epoch的大循環(huán)學(xué)習(xí)率在前幾個epoch做warmup從很小的值升到目標(biāo)值然后在訓(xùn)練后期幾個階段各衰減一次。如果你用的復(fù)現(xiàn)代碼默認(rèn)只寫了VOC的120輪調(diào)度那么對自制小數(shù)據(jù)集來說epoch要適當(dāng)延長模型才能充分收斂。4.2 從Debug到正式訓(xùn)練的完整流程我強烈建議你正式開訓(xùn)之前先做一個冒煙測試從每類數(shù)據(jù)中抽10張左右組成一個迷你訓(xùn)練集跑一個epoch。這個動作看起來簡單卻能幫你避開大量無效等待。冒煙測試通過的標(biāo)準(zhǔn)很簡單程序不崩、loss穩(wěn)定下降、每個batch都能正常反傳。如果冒煙測試中l(wèi)oss卡住不動先別急著調(diào)學(xué)習(xí)率檢查數(shù)據(jù)標(biāo)簽是不是有問題例如某些XML里類別名對不上配置列表、某些圖里標(biāo)注框是空的。一次batch里如果大部分目標(biāo)都有標(biāo)注問題loss會異常波動甚至不降。把數(shù)據(jù)問題排查干凈模型訓(xùn)練才談得上收斂。冒煙測試通過后就可以開始正式訓(xùn)練了。命令行跑起來時記得把日志輸出到文件方便回溯。通常在訓(xùn)練過程中我會同時開一個tensorboard類工具實時看四個曲線總loss、分類loss、定位loss、學(xué)習(xí)率變化。這四個曲線是判斷訓(xùn)練是否健康的核心儀表盤。訓(xùn)練中還有一個容易被低估的細(xì)節(jié)定期保存checkpoint。很多代碼默認(rèn)只保存最后一個epoch的模型但訓(xùn)練后期如果出現(xiàn)震蕩或過擬合你會希望回到一個相對穩(wěn)定的中間狀態(tài)。我更推薦每5到20個epoch保存一次同時始終保留驗證集mAP最高的那次權(quán)重作為best模型。我的習(xí)慣是checkpoint按epoch存best按指標(biāo)存這樣既不會丟失訓(xùn)練進度又總能拿最優(yōu)模型出來推理。4.3 訓(xùn)練中的性能觀察與調(diào)參建議訓(xùn)練過程中你觀察到的曲線應(yīng)該有這樣的變化前20個epoch里總loss快速下降尤其是分類loss中間階段loss下降變緩定位loss開始起作用后期loss緩慢震蕩下降進入細(xì)調(diào)階段。如果某個階段出現(xiàn)了loss完全不變或者驗證集mAP驟降就要警覺了。我用一個實際案例說明之前某次訓(xùn)練做的是三類果蔬檢測1200張訓(xùn)練圖跑SSD300VGG骨干單卡12GB顯存一共訓(xùn)練200個epoch。前10個epoch熱身后驗證集上mAP已經(jīng)能到0.7左右之后在0.75到0.8之間緩慢爬升最終穩(wěn)定在0.83附近。整個訓(xùn)練過程大約幾個到十幾個小時完全在可接受范圍。如果訓(xùn)練結(jié)果顯示mAP只有0.3甚至更低大概率不是網(wǎng)絡(luò)結(jié)構(gòu)問題而是以下某個環(huán)節(jié)出了問題標(biāo)注錯位、類別不均衡、訓(xùn)練集劃分包含重復(fù)圖、學(xué)習(xí)率過大導(dǎo)致震蕩。我建議按順序排查先可視化一批訓(xùn)練樣本檢查標(biāo)注框是否正確對齊到目標(biāo)再統(tǒng)計每個類別的訓(xùn)練樣本數(shù)量看是否存在嚴(yán)重的類別不平衡最后再回頭看學(xué)習(xí)率是否合適。關(guān)于loss出現(xiàn)nan最常見的原因是學(xué)習(xí)率太大導(dǎo)致梯度爆炸數(shù)據(jù)處理時出現(xiàn)除零或者是輸入圖像中出現(xiàn)異常像素值。我的排查順序是先降低學(xué)習(xí)率十倍看看nan是否消失如果還不行再檢查數(shù)據(jù)增強模塊里會不會產(chǎn)生非法邊界框。訴諸于開梯度裁剪或者調(diào)小batch是最后的手段。很多同學(xué)喜歡一上來就追求花哨的新模型但我想說先把SSD用透真的足夠了。SSD的訓(xùn)練流程覆蓋了數(shù)據(jù)加載、錨框匹配、損失計算、NMS去重、評估指標(biāo)等全部核心知識點如果你在一個模型上把這些環(huán)節(jié)都理解透了再遷移到任何其他檢測模型都不費勁。5. 檢測推理、評估與落地擴展5.1 推理管線與核心代碼訓(xùn)練完模型后離檢測自己的數(shù)據(jù)集只差最后一步推理。推理流程和訓(xùn)練時不一樣不需要匹配真實框也不需要難例挖掘核心只有預(yù)處理、前向、解碼、NMS四步。預(yù)處理的關(guān)鍵是把輸入圖片縮放到訓(xùn)練時的尺寸并做同樣的歸一化。很多推理報錯都源于這里你訓(xùn)練時用了一張300x300的圖推理時卻塞進去一張原始高清大圖模型當(dāng)然輸出不對。SSD的輸入是固定尺寸的這也是它和全卷積網(wǎng)絡(luò)的一個區(qū)別。下面是一段基于PyTorch的推理核心代碼可以直接參考import torch import torch.nn.functional as F import cv2 import numpy as np def detect_one_image(model, img_path, class_names, conf_thresh0.5, nms_thresh0.45): model.eval() img cv2.imread(img_path) # 縮放并歸一化 img_resized cv2.resize(img, (300, 300)).astype(np.float32) # 按訓(xùn)練配置做減均值、乘縮放 img_tensor torch.from_numpy(img_resized).permute(2, 0, 1).unsqueeze(0) img_tensor (img_tensor / 255.0) with torch.no_grad(): # 前向返回分類置信度和預(yù)測框偏移 confidences, locations model(img_tensor) # 解碼根據(jù)默認(rèn)框和偏移計算真實坐標(biāo) boxes decode(locations, default_boxes) # 由具體實現(xiàn)提供 # 置信度過濾 keep confidences.squeeze(0).max(dim1).values conf_thresh boxes boxes.squeeze(0)[keep] scores confidences.squeeze(0)[keep] # NMS去重 final_boxes, final_scores, final_labels nms(boxes, scores, nms_thresh) return final_boxes, final_scores, final_labels這里的decode函數(shù)做的是把網(wǎng)絡(luò)預(yù)測的偏移量加回默認(rèn)框上。SSD在訓(xùn)練時不是直接回歸框的絕對坐標(biāo)而是回歸相對于默認(rèn)框的編碼偏移量所以推理時也必須用同樣的編碼方式解碼。這一步很容易出錯如果你的推理框位置完全對不上目標(biāo)先懷疑解碼邏輯有沒有和數(shù)據(jù)預(yù)處理對齊。NMS非極大值抑制的目標(biāo)是去掉重復(fù)檢測同一目標(biāo)的框。它的邏輯很直白先把所有候選框按置信度從高到低排序然后取置信度最高的框把所有和它IoU大于閾值的框都刪掉再取下一個最高分的框重復(fù)直到處理完。nms_thresh一般設(shè)0.45太高會導(dǎo)致多個框重疊在一起太低會把同一目標(biāo)的不同部位拆成多個目標(biāo)??梢暬评頃rconf_thresh可以設(shè)0.5甚至更高減少誤檢框的干擾。5.2 mAP評估與結(jié)果可視化跑完測試集后你需要一個客觀的量化指標(biāo)來衡量模型好壞。標(biāo)準(zhǔn)做法是計算mAPmean Average Precision。具體來說對每個類別繪制精度-召回率曲線曲線下的面積就是該類別的AP所有類別AP取平均就是mAP。mAP這個數(shù)字很有用但它會掩蓋一些信息。一個常見陷阱是如果某個類別的訓(xùn)練樣本特別少它的AP會非常不穩(wěn)定而mAP把這個不穩(wěn)定平均掉了。所以我評估時不僅看mAP總數(shù)值還會逐個類別看AP并打印每個類別的召回率。如果發(fā)現(xiàn)某個類檢測得特別差多半是它的樣本太少或者場景和訓(xùn)練數(shù)據(jù)差異過大這時候優(yōu)先補數(shù)據(jù)而不是調(diào)模型。除了數(shù)字指標(biāo)可視化評估也必不可少。把測試圖片跑一遍檢測把預(yù)測框畫在原圖上并保存成圖片然后人工掃一遍這些結(jié)果圖。這一步能讓你發(fā)現(xiàn)數(shù)字指標(biāo)發(fā)現(xiàn)不了的問題模型是不是總在某個固定位置誤檢是不是對某一類特定顏色特別敏感可視化結(jié)果是和業(yè)務(wù)方溝通時最有說服力的材料也是判斷模型是否真的可用的最后一關(guān)。5.3 擴展模型導(dǎo)出與部署思路如果你只想在自己的電腦上跑推理直接加載pth文件就行。但如果你要把它集成到服務(wù)或者另一個程序里可以導(dǎo)出成標(biāo)準(zhǔn)格式。PyTorch模型導(dǎo)出最常用的方式是ONNX導(dǎo)出后用ONNX Runtime推理可以明顯提升部署時的加載速度和推理性能。導(dǎo)出前有幾點要注意模型結(jié)構(gòu)固定成訓(xùn)練時的狀態(tài)輸入尺寸也固定下來導(dǎo)出后一定要在ONNX Runtime里跑一張測試圖和PyTorch的推理結(jié)果做數(shù)值對比偏差應(yīng)該在極小范圍。如果差異大基本可以確定是預(yù)處理環(huán)節(jié)在兩邊寫得不一致。部署到CPU時還要注意有些在GPU上天然支持的操作在CPU上會退化為較慢的實現(xiàn)所以導(dǎo)出后實測CPU推理時間是很必要的。業(yè)務(wù)場景如果對實時性要求很高還可以考慮把SSD模型轉(zhuǎn)成更輕量的版本但這已經(jīng)屬于優(yōu)化范疇不在跑通流程的范圍內(nèi)。先把標(biāo)準(zhǔn)流程跑通再考慮優(yōu)化是我反復(fù)強調(diào)的做事節(jié)奏。6. 常見問題、避坑實錄與個人心得6.1 高頻錯誤排查速查表下面這張表是我在多次指導(dǎo)和自用過程中總結(jié)出來的高頻問題清單。你訓(xùn)練時遇到報錯和異常先來這里對照一下。問題現(xiàn)象最常見原因解決建議loss一直不降標(biāo)注錯位 / 類別錯亂 / 學(xué)習(xí)率太小可視化訓(xùn)練樣本、檢查標(biāo)簽映射、適當(dāng)調(diào)大學(xué)習(xí)率loss變成nan學(xué)習(xí)率太大 / 數(shù)據(jù)增強產(chǎn)生非法框 / 梯度爆炸降低學(xué)習(xí)率10倍、檢查增強代碼、加梯度裁剪顯存不足OOMbatch太大 / 輸入分辨率太高減小batch、降低分辨率、使用梯度累積檢測不到任何目標(biāo)conf_thresh太高 / 模型欠擬合 / 解碼邏輯錯誤調(diào)低閾值、延長訓(xùn)練、重點檢查decode函數(shù)小目標(biāo)漏檢嚴(yán)重300分辨率信息丟失 / 小尺寸默認(rèn)框偏少換512輸入、檢查小尺度特征圖預(yù)測頭預(yù)測框位置偏移解碼偏移量計算錯誤 / 預(yù)處理不一致核對編碼解碼公式、統(tǒng)一輸入歸一化方式評估m(xù)AP虛高數(shù)據(jù)泄漏 / 測試集包含訓(xùn)練圖像按場景分組劃分?jǐn)?shù)據(jù)集重新生成索引加載權(quán)重報錯預(yù)訓(xùn)練權(quán)重結(jié)構(gòu)不匹配比對狀態(tài)字典鍵名做鍵名重映射補充一點訓(xùn)練環(huán)境報錯時不要一上來就懷疑代碼庫。先看自己有沒有改壞配置再看數(shù)據(jù)路徑是否正確最后才考慮代碼本身的bug。大部分人的問題都出在前兩類。6.2 幾個很少有人提醒的隱性坑有個坑是我自己踩過多次的訓(xùn)練集和驗證集的數(shù)據(jù)增強不一致。很多代碼默認(rèn)訓(xùn)練集做全套數(shù)據(jù)增強驗證集和測試集只做簡單歸一化。這本身沒錯但如果你為了省事在劃分?jǐn)?shù)據(jù)集時把驗證集圖片也扔進訓(xùn)練數(shù)據(jù)增強管道里驗證指標(biāo)就會異常波動而且你很難意識到是這里出了問題。我建議每一個需要改數(shù)據(jù)處理的環(huán)節(jié)都單獨寫清楚注釋不弄混訓(xùn)練和評估兩套流程。另一個隱性坑是訓(xùn)練集里有些圖的標(biāo)注框完全在圖像外。出現(xiàn)這種情況多半是轉(zhuǎn)換腳本處理坐標(biāo)時出了問題或者圖片被裁剪縮放后標(biāo)注沒跟著變。SSD的代碼一般會跳過或者報錯但如果你用的是那種隱式忽略的版本模型就會在不知不覺中學(xué)到錯誤信息。我發(fā)現(xiàn)這個問題的方法是統(tǒng)計每個圖片的標(biāo)注框位置看看有沒有框的中心點坐標(biāo)異常超出圖像尺寸的情況一旦發(fā)現(xiàn)就回到轉(zhuǎn)換腳本修正。還有一個值得養(yǎng)成的好習(xí)慣訓(xùn)練過程中每過一定輪次就抽樣可視化一次驗證集的檢測結(jié)果保存成帶有epoch編號的圖片。這樣你能直接看到模型從亂框到有模有樣的變化過程也能及時發(fā)現(xiàn)模型開始過擬合的征兆比如訓(xùn)練loss下降但驗證集AP開始下降。我把這個習(xí)慣保留到了現(xiàn)在每次訓(xùn)練都會定期翻開那些可視化圖片直觀感受模型學(xué)到了什么這比單純盯loss曲線更能建立對模型行為的直覺。最后說一個我從實踐里得到的總經(jīng)驗?zāi)繕?biāo)檢測項目里最珍貴的東西是數(shù)據(jù)質(zhì)量和數(shù)據(jù)處理的一致性而不是模型結(jié)構(gòu)有多酷炫。SSD給了你一套非常成熟可靠的框架你把數(shù)據(jù)管好、把訓(xùn)練流程走穩(wěn)效果就能超過很多數(shù)據(jù)一團糟但模型很新的項目。先用SSD跑通自己的完整流程等你對錨框、匹配、NMS、mAP這些概念都有了真實手感再去看任何更復(fù)雜的模型都會輕松很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲男人的天堂AV| 一区二区三区精品黑丝白丝酒店对鸡| 日本精品一区二区三| 色婷婷丁香| 色激情综合网站| 18禁久极品美女久久哦哟呀!| 国模无码一区二区三区在线| 免费a v| ai欧美亚洲小说| 五月婷婷色| 国模无码人体一区二区三| 国产隔壁老王影院在线| 国产综合久久久麻桃个| 久久视频少妇美女| 区一在线观看| 在线v中文字幕一区二区三区| 综合亚洲欧美| 综合熟妇一区二区三区| 超碰97玖玖爱| 日韩欧美麻豆大片| 五月丁香网站| 欧美做爰无码A片视频| 国产成人99久久亚洲综合| 在线啊啊啊| 另类视频在线| 国产精品网站www| 天美传媒国产原创中文字幕亚洲欧美另类| 九九探花视频在线观看| 国产高清精品福利| 精品亚洲国产成人精品| 天天看特黄的免费网站| 亚洲激情综合| 美女被艹尤物视频| 性爱乱伦网址| 免费精品人妻一区二区三| 91亚洲图片| 99re综合伊人| 91丝袜熟女| 欧美色图亚洲色图成人在在线| 日本午夜精品理论片A级APP发布| 亚洲小电影免费涩涩成人在线高清| 深夜激情| 蜜臀va69| 黄页| 99999精品| 亚洲天天自拍| 欧美日韩精品久久久久久久久东北老熟妇| 精品久久艹| 欧洲小说色图视频另类| 无码男人天堂| 久久综合久色欧美综合狠狠| 夜夜操中文字幕| 久久綜合很很很| 国产欧美日韩臀 | 欧美AB在线观看| 久久久久深夜无码| 东京热毛片调教| 精品欧美日韩在线观看| 无码九九| 狠狠爱大香蕉| 性色AV蜜色av色欲av| 久久 精品| 丝袜美腿av女优在线| 99re在线| 国产精品久久久久亚洲av | 日本一区二区亚洲综合| 综合影院永久入口国产| 久久久久亚洲AV无码专区少妇| 亚洲精品一区二区精品| 三级网色| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 激情文学小说一区二区| 久夜操| 成·人免费午夜在线观看| 91天天看| 最新国产精品久久精品| 男人的天堂亚洲| 精品.99999| 老司机久久| 密臀成人视频久久久| 久久青青草在线视频| AV天堂国产| 淫荡熟女乱伦网| 欧美性生活综合| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲精品美女久久久久久久久| 日韩激情啪啪| 伊人久久久日韩一区| 97操综合| 人人操人人干xxx| 欧美色图在线视频少妇| 天天色天天干天天射| 国产女人9999| 日本操逼视频在线| 2020国产精品| 91丝袜美腿片| 天天干天天舔| 激情图片伦理国产一区二区日韩| 欲色啪| 亚洲欧洲av影音| 国产呦精品一区二区三区下载| 久久久久久久久久久人妻| 久久精品人妻一区二区三区| a片久久久久久久久久久久 | 欧美一区91大爱| 久久视频,这里只有精品 | 亚洲一卡二卡在线免费| 玖玖97综合 | 亚洲国产无码精品首页久久久| 天天综合有色网| 国产精品农村妇女| 99爱爱| 高清不卡 中文 人妻| 三男一女不戴套的A片| 国产成人亚洲精品自产在线| 伊人九九| 美女人妻色网站| 97这里有精品| 午夜精品一区二区三区三上悠亚| 国产视频第二页| 99色在线视频| 超碰人人超在线观看| 蜜桃精品视频一区| 97亚洲国产影视| 亚洲色图A| 开心五月激情网| 国产一线二线三线av| 99热最新网址| 超碰97精品| 超碰性爱97| 国产一区二区在线播放量| 欧美 牲| 伦伦成年午夜免费视频| 亚洲偷拍欧美激情| 日本在线视频导航| 欧美自拍网| 激情AV| 99re久久| 欧美亚洲AN| 中文字幕狠狠玩| 国产三级中文有码在线视频| 黄色十八禁| 亚洲免费看片| 亚洲码在线中文在线观看| 试看福利| 国产精品久久久亚洲一区| 2024黄色视频| 精品制服美女中文一区二区三区| 一区二区你上我| 国产高清精品一区二区三区毛片| 国内一区二区三区| 精品久久久久黄少妇| 色官网色综合| 精品欧美不卡在线播放| 人妻色情天天操| 欧美se亚洲| 国产亚州日韩欧美看片| 九色精品视频导航1| 久久久9品一区二区三区| 青青草白白色| 天堂中文资源在线bt| 欧州91高潮| 亚洲骚男同com| 黑人中出21连凳花野真衣| 韩国黄色片精品久久久| 日韩av不卡在线看| 日韩一区二区精彩视频| 色香天天| 超碰91在线| 国产中文字幕在线观看| 走光一区92下载| 亚洲综合性感在线| 91色综合激情| 亚洲色欲一区二区三区| 91美腿丝袜在线观看| 婷婷色影院| 国产黄色av大片网站| 伊人精品久久网站| 久久男人精品| ..日韩av毛片精品久久久| 亚洲成aⅴ人片不卡无码| 夜色91| 好爽免费视频| 家庭乱伦麻豆| 蜜乳av一区二区| 五月天久久综合网| 欧美另类精品xxxx| 日韩乱插| 你操综合| 欧美日韩婷婷中文| 激情啪啪视频| 亚洲欧美碰碰| 欧美一二三级精品在线| 操B在线观看| 大香蕉免费乱伦视频| www.99在线| 五月天色图| 日本中文熟女视频| 色综合 加勒比| 天天综合网AV91| 色偷综合| 青青草一区二区高清无码视频 | 精品人妻一区| 99爱在线视频| 亚洲天堂情色| 91日韩国产欧美亚洲另类精盘州至城都| 校园春色 亚洲| 91网站18禁| 日韩日本欧美在线观看| 无码高清专| 大香蕉婷婷| 99国产天美| 大香蕉青青9| 亚州男人天堂| 高跟丝袜AV专区国产| 91 手机在线播放 绯色| 天天色怡春院| 国产在线综合网| 欧美性爱视频免费一区一A| 志村玲子视频一区二区| 午夜福利在线合集| 蜜臀久久99精品久久久久久无删减 | 精品欧美日韩在线观看| 久久久新亚洲AV| 激情综合网五月婷婷五月天| 国产a级精品| 91久热| 免费的黄片有限公司| 强免费黄色网址| 四虎视频在线观看| 亚洲影院成人| 99热成人| 综合色区偷拍| 亚洲国产剧情少妇激情| 东北黄色电影| 国产精品青草综合久久| 欧美 牲| 亚洲国产一级黄色视频| 97自拍视频在线| 白丝在线一区| 91强奸乱轮| 91爱看| a片自拍直播视频| 欧洲无码一区二区| 久久久久久97| 超碰公开久久网| 欧美性夜| 天天干天天操天天拍| 蜜桃天美传媒AV一区二区三区| 午夜一区二区三区国产| 91老熟女老女人国产老太| 囯产精品久久久久久久久久梁医生| www久久久| 91岛国动作片| 欧美爆操91| 中文字幕一区二区三区人妻少妇在线 | 欧美综合传媒| 九九综合久久| 精品国产av一区二区三区四区入口| 日韩精品国产精品五码一区二区| 丝袜亚洲综合| 丝袜av一区二区三区| 国产乱人伦AVA麻豆软件.| 超碰一区二区| 久久麻豆一区二区| 第四色奇米影视777| 岛国不卡超碰护士AV在线播放| 强奸乱伦大香蕉| 91视频女生| 婷婷五月天色| 久久久久亚洲?V片无码V| Aa东京男人的天堂| Aa东京男人的天堂| 91欧美少妇| 色欲天天婬色婬香WWW夜色| 亚洲欧美综合网站| 色优久久| 欧美大香蕉专区网| 久久a久久| 天天干夜夜一操| 日韩成人性日韩成人性爱视频在线免费观看| 打av高清| 刺激性视频黄页| 色婷婷久久| 亚洲高清无码AAA久久久精品| 最近2018中文字幕在线高清第一页| 淫纸中9区| 日本最新1区2区3区| 操香逼| 一色网男人的天堂| 色噜噜综合在线| 日本中文字幕在线电影| 免费看日本操逼视频| 中文字幕一区二区在线日韩精品| A级片日韩欧美国产欧美视频精选观看 | 乱操乱伦AV| 91亚洲高清| 色汉综合| 免费看黄片现成| 超碰日韩人妻| 精品人妻1区| 精品无码久久久久久国产浪潮| 免费人成毛片乱码| se01国产在线视频| 人人射人人操人人摸| 风流老熟女一区二区三区l| 国产精品一区av在线| 日韩图区 偷拍| 天堂中文日本在线观看| 久久久久9| 色综合色综合网| 超碰人人妻| 中文字幕精品丝袜| 少妇精品久久久| 青青草好吊| 新怡红院| 中文操逼字幕| 久久亚洲AV无码专区国产精品| 八人操人人摸人人看| 成人免费福利在线观看| 国产按摩一区二区三区| 精品国产72| 久9久9久9久9久9久9| 91观看 国产白丝| 日韩啊V| 久久精品国产96精品亚洲拳交| 综合久久中文字幕综合日韩精品| 色综合一区二区三巨| 天天插夜夜爽| 91人人| 亚乱色| 亚洲AV无码天美传媒一区| 久久免费精品96| 啊啊啊啊嗯嗯在线久久久| 国产精品麻豆成人av| 96久久精品一二三区色欲| 97干日韩| 九九热re99re6在线精品| A一区片| 91色情黑丝搞鸡在线观看一区二区三区三州| 欧美色网| 色综合九九| 日韩无码人妻| 俺去俺来也在线www| 蜜臀人妻少妇久久在线观看| 奶水 人妻 哺乳 在线| 99re公开精品免费视频 | 日本精品一区二区三区四区的功能| 手机在线中文字幕国产| 99999精品成人| 伊人麻豆传媒| 激情婷婷五月天| 婷婷九月丁香| 一级黄色牲爱A级片| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 午夜理论片在线观看免费| 久久9久9久99久9久9| 美女91网| 中文字幕黑人大片| 欧美亚洲首页| 日韩人妻少妇 一区二区三区| 欧美另类天堂| 婷婷深爱五月| 3P丝袜熟女 色综合| 亚洲欧美日韩综合在线尤物| 欧美精品不卡一二三四在线91| 99久久婷婷丁香| 亚洲91网站| 欧美日韩激情无码专区| 九九亚洲色在线观看| 亚洲精品天堂久久A∨51成人漫| 蜜臀99999| 熟女乱伦A| 午夜精品久久久久久久| 激情五月天丁香社区| 久久精品操| 99热这里只有精品9| 一区二区高清视频| 成人在线视频一区| 黄片不用下载在线观看| 美女诱惑久久| 日韩中文字幕av在线播放| 国产51色综合久久免费| 蜜汁欧美| 75大香蕉| 99热啪啪| 91深夜夜| 麻豆av一区二区| 91欧美长吊| 久久亚洲AV无码专区国产精品 | 校园春色制服丝袜中文字亚洲 | 精品人妻一区二区乱码一区二区| 午夜高清成人在线视频| 亚洲色婷婷久久91| com 首页 18岁 禁区 女优 免费 精选 同城| 日本理论在线| 人人干黄色| 伊人性在线视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲男人天堂视频| 亚洲色图 欧美热图 清纯唯美 另类自拍| 神马久久久久久伦理片| 亚洲性网| aV中文麻| 亚洲情色电影网| 色欧洲| 高潮综合网| 天天影视色香色欲| 91色婷婷综合久久中文字幕二区| 伊人天天久久动态图| 欧美亚洲美少妇一区二区| 久久免费精彩视频| 色噜噜人妻丝袜a∨先锋影 | 天操天操夜操夜月操月年年操| 日亚韩精品视频二区三| 亚欧毛片基地国产毛片基地| 天天综合网网欲色| 婷婷爽人人婷婷爽视频| 欧美色图20P| 视频黄站| 蜜桃视频啊啊啊啊| 亚州熟妇精品| av一区二区三区四区五区久草臀| 91欧美偷拍| 久久免费中文字幕在线观看| 日韩一级二级| 夜夜操天| 嗯嗯啊啊用力视频免费| 亚洲一区二区三区麻豆传媒| 操九九九九九九| 97精品国产97久久久久久| 丁香五月天堂网| 首页中文字幕中文字幕免费| 激情啪啪拍91| 操一区| av九九| 天综合网| 天天插夜夜爽| 久超碰这里只有精品| 玖玖大干人妻| 久热一区二区| 性爱乱伦视频免费| 成人三级片无码| 先锋精品av色鲁| 极品白嫩福利在线| 试看福利| 99热一区二区三区四区| 精品国产av一区二区三区四区入口| 男女无套 免费网站| 97在线视频观看网站| 男男H黄动漫啪啪无遮挡网站| 立川理惠无码一区二区| 久久一留热品黄| 亚洲精品不卡一二三区| 欧美情色亚洲| 国产精品盗摄 偷窥盗摄| 久久社区一区二区三区| 色色99| 影音先锋一区二区在线资源| 老鸭窝成人| 日韩一级性爱无码| 91天堂色男人的天堂| 屌色在线97视频| 亚洲精品国产精品乱码不卡| 91n处女在线观看| 亚洲无码国产精品久久| 人妻嗯啊啊在线播放| 日韩在线97| 九月伊人中文字幕| 中国国国产一级特黄毛片| 欧美一级三级| 色九九久九九| 久久夜黄色无码A级大片| 欧美不卡在线美女| 在线洲亚线| 日本成人A片网站| 女优视频第10页| 亚洲人精品午夜不卡| 国产肏逼网站| 色噜噜人妻av 中文字幕| 青草草免费网站av| 99丝袜福利在线播放| 午夜男女爽爽爽在线视频| 欧美 综合| 日日夜夜免费| 婷婷五月天成人| 欧美激情精品久久久| 国产精品美女久久久久久网站| 国产高清免费不卡av| 97色色,97综合| 久久久精品网站| 伊人激情| 香蕉视频欧美一卡二卡| 亚洲综合色网| 一区二区三区高清| 九月丁香婷婷| 欧美性夜| 91九九九馒头| 亚洲AV成人精品网站在AV| 精品国产少妇高潮视频| 蜜臀久久99精品久久久久久-DVD原版全| 超碰人人色| 91成人无码| 夜夜夜久久| a片偷拍视频| 99热导航| 美女自卫慰黄网站免费| 友优传媒精品在线一区二区| renqi久久久久久久久久久久| 天天综合网日韩| 偷拍亚洲高清图片| 亚洲欧美中文一区二区三| 国产第11页| 人妻AV在线| 日本操逼视频免费| 另类视频在线| 清柠毛片| 淫荡少妇免费| 欧美九九九九九| 国产久久一区二区三区野外在线| 色网在线视频观看免费| 天天干人人乐| 淫乱图区 | 色哟哟 日韩精品| 欧美天天综合站| 九九热精品视频在线观看| 久久91| 天美传媒av在线| 欧美|91色综合| 日本高清_区二区三区| 伊人9| 美腿丝袜高跟网免费视频免费视频| 久操视频资源站公开| 国产精品第一页国产大屁股视频免费区| 色鬼在线综合| 蜜桃成人1区2区3区| 亚洲黄色网址视频| 国产又粗又大硬免费色网视频| 久热久| 校园春色亚洲欧洲| 志村玲子视频一区二区| 国内毛片国产专区二| 国产福利一区二| 99超碰碰| 亚洲情色 自拍| 国产成人精品一区| 色www精品视频在线观看| www.97在线| 91久久99久久91熟女精品| 美女午夜福利免费视频| 五月丁香六月综合缴清无码| 久久岛国| 一区二区影视| 91亚洲综合在线| 日本二区不卡| 91操熟女视频| 91bbbbbb| 久久精品—区二区三区内射| 欧美资源| 国产精品人妻无码久久久老鸭窝| 快灬快灬 一下爽蜜桃在线观看 | 爱做久久久久久| 国产激情在线观看| 97色色色| 一线黄色免费性爱片| 99热这里是精品| 久久精品国产72国产精品福利| 久久午夜色播影院免费高清| 亚洲淫乱骚妇AV| 色呦呦呦在线观看视频| 亚洲欧美首页| 日韩三级性| 超碰人人超在线观看| 国产精品自拍视频| 91中文字幕| 国产精品懂色tv影视免费观看 | 亚洲91色在线| 亚洲色香| 一区二区播放| 中文字幕人妻丝袜乱一区三区| 日韩久射综合| 91狠狠综| heyZO天然素人无码AⅤ专区| 国产乱伦亚洲| 久久久久国产精品片区无码直播| 国产精品久久久久无码AV会牛| 欧美日韩性爱视屏免费看了| 欧美顶级黄片AAAAA在线免费看| 色婷视频| 九九玖玖精品| 97欧美色综合| 亚洲天堂男| 国产欧美日本亚洲精品| 少妇干B| 五月香婷婷| 少妇天堂网络| 91精品操美女| 久久日韩精品一区二区| 欧美网站免费| 欧美亚洲丝袜美女电影| 肉丝中文无码高清| 国产精品人妻无码久久久老鸭窝| 亚洲国产精品9999在线观看| 第一高清av中文字幕| 超碰 97国产熟女| 午夜精品久久久99热蜜桃的功能特点| 青青草好吊色| 少妇啪啪自拍| 青青草日逼视频| 精品少妇人妻一区二区三区| 黄色操人| 欧美成人9797| 91女日逼| 在线v中文字幕一区二区三区| 亚洲人在线| 精品国产乱码久久久| 干日本人少妇午夜寂寞影院| 欧洲乱码一区二区| 久久久久久十| 午夜男人一级A片7777| 蜜屁Av| 亚川综合视频| 亚欧美天堂在线| 天美91| 亚洲男人天堂Av| 亚洲欧美洲综合| 最新日韩黄片| 91操熟女视频| 国产精品伦理| 久久精品无码熟妇一区二区三区视频导航 | 亚洲精品一二牛牛| 蜜臀一二三区| 国内精品999| 乱操乱伦AV| 老司机久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 亚洲熟妇AV日韩熟妇在线| 久久国产免费激情视频| 亚洲涩涩| 综合久久婷婷| 午夜AV人气不卡| 校园春色中文字幕AV| 一级特级aaaa毛片免费观看| 蜜臀久久99精品久久久久电影| 花野真衣| 亚洲黄网在哪免费看| 九九九国产| 一个人在线看的黄色电影网站| 18禁美女裸体无遮挡啪啪| 91免费看中出视频| 操操操操操操| 精品人妻美妇91job| 日本污ww视频网站| 怡红院成人视频| 啊啊好多水| 天美国产精品| 色婷婷综合网| 亚洲精品国产精品乱码不99| 中文色综合| 女性喷水高潮在线观看| 亚洲精品天天影视综合网| 欧美顶级黄色大片免费| 再深点灬舒服灬太大了好硬好爽| 亚洲熟女乱色一区二区三区 | 人妻干天天| 99re这里只有精品2| 天天弄天天操| 国产热av| 亚州欧美在线| 麻豆精品.欧美精品.日韩精品.| 免费男人的天堂| 岛国成人av在线播放网址| 亚欧洲日韩国产精品| 天美传媒国产原创中文字幕亚洲欧美另类| 密乳视频在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91麻豆va国产精品| 久久久国产av美女私房| 九九九九一区| 一区二区三区四区姦女| 国产18精品亚洲精品| 欧美天堂在线| 操曰本熟女| 久久久一区二区三区四曲免费听| 亚洲欧洲综合视频在线| 欧美成人一区二区三区在线播放| 国产区日韩区在线观看| 精品视频在线观看| 精品无码久久久久久久杏吧| 色吧5亚洲| av爱爱爱| 午夜男人av| 一级特级aaaa毛片免费观看| 国产av波波国产精品| 美國A片| 国产视频一区二区免费| 开心婷婷五月| 91丝袜在线观看视频在线观看| 啪啪91| 天天看特黄的免费网站| 99999这里都精品| 精品无人区麻豆乱码1区2区图片| 三级色影综合网| 久久国产熟女影院| 国产区91柔拿会所技师| 99色热| 国产中文福利| 精品人妻少妇| 少妇厨房愉情理伦片bd在线观看| 青青在线视频日韩欧美| 96麻豆精品一区二区三区| 亚洲午夜精品久久久中文影院| 国产99999久久精品| 偷拍五区| 蜜臀AV一区二区三区| 欧美第一页性| 久久艹逼视频| 综合网亚| 在线观看啊啊啊啊啊| 久久六六| 性爱1区| 国产精品午夜成人福利| 欧美草草高清日韩视频| 亚洲欧洲自拍图片专区满春格| 久久久久久久亚洲Av无码| 这里有精品| 少妇99| 亚洲 无码 偷拍| 激情小说五月天| 北条麻妃性愛视频| 日韩三级伊人| 丁香六月婷婷| 懂色av中文字幕一区二区三区天美 | 综合 欧美 亚洲 日本| 久久久久久久一级黄色打同平台| 亚洲资源网| 国产精品美女视频诱惑| 女人高潮抽搐喷水视频网站| 嗯嗯,好大,好爽,好骚 | 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 亚洲不卡一| 欧美成人A天堂片在线观看| www鬼畜国产男人的天堂| 97超碰中文字幕| 欧美日韩另类在线播放| 精品国产污一区二区三区| 超碰色老头| 99精品久久| 老鸭窝成人| 爱我干综合| 高潮9999外国| 亚洲av强奸乱伦| 色婷婷A V一二三四区麻豆综合| 欧洲亚洲人妻无码中字久久三区四区 | 亚洲天堂一区二区| 狠狠操综合| 三四中文字幕| ss久久| 波多野42部激情无码喷潮| 黄色高清久久无码依人| 国产黄色小视频网站| 热久久99999| 天天搞在线综合网| 日本高清一本二本免费不卡| 影音先锋国产精品| 国产精品片| 大香蕉综合| 精品午夜福利国产一区二区在线观看| 好舒服视频| 91成人久久 | 欧美黄色大片在线观看| 国模91| 亚洲日韩AV视色| 国产无码三级视频在线观看| 蜜臀AV成人精品蜜臀| wwwcaobibi| 91色婷婷综合久久中文字幕二区| 内射日韩大臀美女| 亚洲最新中文字幕免费| 亚洲一区二区av| 午夜天堂精品久久| 久久婷婷亚洲| 八戒无码国产午夜福利| 99热在线只有精品| 午夜舔阴达高潮视频免费看| 欧美日韩亚洲电影| 婷婷香蕉欧美在线一区二区三区| se吧提供国产乱老熟视频胖女人| 97射欧美| 欧美乱妇狂野欧美在线视频| 亚洲精品色| 夜夜影视四色| A一区片| 精品人妻一区二区三区鲁大师| 欧美视频激情久久久久久| 日本 欧美 亚中文字幕| 夜夜影视四色| 色欲Av人妻精品一区二| 欧美成人精品欧美一级乱黄一区二…| 欧美日韩大陆黑人少妇99| 五月丁香久久| 色狠狠色| 国产AV高清AV无码| 国产精品视频麻豆入口| 26uuu最新| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | www.久久制服糖| 搡老女人老91妇女老熟女| 免费视频观看60秒| 美女91av| 久久一本大香蕉 | 福利大香蕉| 小草av不卡亚洲二区 | 亚洲精品亚洲人成人网| 中文字幕av亚洲在线| 51一区二区三区| 国产亚洲精品农村妇女 | 国产一区二区a毛片| 2000亚洲男人天堂| 岛国在线免费视频| 美国精品国产精品| 中文字幕久热视频在线| 亚洲最新中文字幕免费| 青青操狠狠撩| 激情四射五月天| 激情五月天网| 久都青青视频 | 国产精品久久久久久久久久久久久久吹 | 欧美丰满少妇交换91欧美精品| 中文字幕av片| 78久久| 大香蕉免费3| 亚洲天堂人妻熟妇视频| 日韩少妇一区二区三区| 人妻熟女av国产网站| 国产免费永久精品无码| 国产玖玖| 妇女视频网站| 久久久九九| 中国少妇啪啪视频| 国产呦精品系列在线观看| 999久久久免费精品国产牛牛| 日韩免费看在线黄色片| 久久婷婷色| 日韩精品高清资源在线| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美日韩操操操| 亚洲一区二区麻豆影院| 亚洲区限制级| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 97超碰色中文字幕| 久久狠狠色噜噜狠狠狠狠97| 亚洲欧美综合区自拍另类| 中日高清无码操逼视频| 麻豆国产av网| AV中文字幕三四五| 囯戸精品高潮呻吟旡码| 亚洲综合五月天| 亚洲国内精品成人不卡| 超碰97色| 日本狠狠干| 99久久久久久久久| 欧美一区二区三区大综合| 久久东京热成人| 风流老熟女一区二区三区l| 丰满翘臀美女影院视频| 黑人在线91| 综合欧美日韩在线观看| 成人小说视频在线精品欧美| 欧美亚州手机在线| 日韩欧视频| 亚洲精品日韩国产欧美| 久久久专区| 在线观看无码三级少妇| 玖玖蜜臀资源网| 天美精品原创av片国产| 色色热| 91bbbbbb| 五月天色图影视| 欧综合网| 91色久| 国产激情久久久| 中文字幕亚洲热播人妻| 日本999精品视频| av橘色网站| 免费A V在线播放| 国产外初女出血视频| 亚洲中文日韩欧美大香蕉视频| www.AV有限公司一区| 韩三级a视频在线观看 | 日韩免费福利在线观看| 色女综合| 久操网无码在线| 九九九九97| 亚洲av强奸乱伦| 女生91网站| 91色综合激情| 久草网站免费在线观看| 骚日日av| 看看小穴| 中文字幕精品一区欧美| 天天爱综合网| 99热66| 欧美一区二区一级岛国大片| 欧美天堂第二区| 色婷婷综合网| 国产综合在线视频网站| 大但人体久久久久| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲欧美综合网| 欧美色图天堂网m| 人人看人人摸人人色| 九九九九九九视频免费| 久色99999| 婷婷中文字幕| 干日本人少妇午夜寂寞影院| 床戏久久久av一区二区麻豆| 亚洲限制级在线| 久久久久久AV无码免费网站| 又粗又长又大国产不卡| 亚洲清纯唯美| 美女淫穴| 99色悠悠| 97久久视频| 中文字幕乱在线伦视频中文字幕乱码在线| 婷婷探花久久精品一区| 欧美熟女妇同| 91九久| 欧美成人精品A片免费一区99| 性爱免费视频成人| 欧美岛国精品在线观看| 少妇淫妇久久久久久久| 啊啊啊不要嗯嗯在线观看| 国产视频一区二区三区久久亚洲天堂| 日韩黄色电影网站| 国产精品自在线发布| gogogo免费高清看中国国语| 久久久96| 欧美日韩中文字幕人妻| 中文字幕一区二区三区四五区| 色哟哟1区2区| 青娱乐手机日韩在线视频| 啊啊好多水| 亚洲 图片 欧美 色图| 花野真衣| 少妇免费视频| 91 丝袜在线| 欧美日韩人人精品| 四虎AV无码| 熟妇亚洲一区二区三区| 日韩伦理视频| 激情图片亚洲色图| 91处女视频在线观看| 97色涩| daxiangjiao你懂的| 另类成人首页一区| 国产风韵犹存熟妇三区| 亚洲在钱| 久久超碰日韩精品| 97免费视频在线观看| 国产又黄又粗又猛大片| 最新av中文字幕高清| 中国国产精品一区视频| 精品毛片久久久精品毛片| 亚洲超碰在线| 亚洲情色1区| 亚州日韩97| 美女十八禁| 污色区网站| 黄色电影观看久久9| 99人人干| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 熟啊v色欧美热| 亚洲好色人妻| 最新无码国产| 一区二区三区视频在线观看免费| 伊人AAA| 久久99精品九九久久久婷婷| 3P丝袜熟女 色综合| 欧美不卡在线一区二区| 欧美日本国产日韩激情视频| 蜜臀久久一区二区| 九九九九九九视频| 欧美翘臀视频网站一区二区三区| 小视频国产| 校园春色制服丝袜中文字亚洲| 久久99草| 日韩成人高清一区二区| 五月天婷精品激情| 婷婷伊人一区| 欧美日韩不卡传媒| 91碰超| yazhousetuoumei| 久久黄人人爽视频| 岛园激情| 97在线青| 国产日韩欧美操逼视频| 亚洲色图激情小说| 漂亮人妻被强中文字幕hd| 日本 色 导航| 91麻豆天美国产| 一区在线精品中文字幕| 久久久婷婷| 激情内射| 爱媛媛久久国产福利| 熟妇国产免费一区| 三级特黄60分钟播放| 日韩懂色网| 国产成人 综合亚洲 天堂| 午夜福利久久久噜久噜久久综合| 天堂性色| 青草视频在线看看看看看看看看看| 欧美精品,四区。五区| 国产www色在线观看| 欧美 亚洲 另类 综合| 91精品久久久久五月天精品| 97免费免费视频网| 日韩欧美午夜一区二区| 伊人国产视频| 久久成人午夜精品影院| 欧美亚洲宗合色性图| 久久毛卡| 风间由美日韩欧美久久| 丁香六月啪啪| 狠狠婷婷亚洲中文综合久久| 一区二区三区国产精产| 人妻干天天| 区自美91| 久久香蕉国产传媒一区剧情天美| 神马午夜久久| 黄色十八禁网站| 国产精品无码在线| 91老司机视频| 中美日韩毛片| 美國A片| 久久久久久久9| AV丝袜少妇| 日本中文字幕在线视频| 亚洲欧美999| 九九自拍伦理| 麻豆人妻精品一区二区| 色色色日本| 91美女高潮| 99.色网| 深夜激情无码| 操逼操2| 99热精品在线观看| 亚洲蜜臀懂色| 久草婷婷| 国产不卡免费在线视频| 亚洲图片欧美色| 中文熟女五十乱码在线| 欧亚乱色熟一区二区三四区| 黄片无码在线制服| 日韩在线欧美精品一区二区| 东北老熟女| 97精品97久久| 99精品网站| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 人人干人人搞人人摸| 国产一区自拍欧美日韩| 屁股久久久久久| av橘色网站| 色爽——AV| 北条麻妃性愛视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 91久久国产精品| 91强在线播放| 天操天操夜操夜月操月年年操| 国产又黄又爽又刺激久久久久久 | 激情文学欧美| 天天色悠悠激情| 久久午夜伦| www色色com| 中文字幕av乱伦| 大香蕉免费乱伦视频| 国产精品一区av在线| 久久久99免费| 超碰97人妻免费在线| 中国熟女老妇仑乱一区二区三区| 精品在线蜜臀| 中文字幕乱亚洲美女精品一区| 色播丁香| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 少妇高潮喷水无套久久久久久| 日韩精品大香蕉伊人在线| 欧美精品 - 91爱爱| 天天天乱色综合全| 九九九九九用不成了| 在线情色电影 91大 | 一级做受视频免费是看美女| 好色综合| 亚洲成人性爱网站在线播放| 无码国产Av| 欧美日韩岛国大片在线观看| 手机看片1025| 大奶啊啊好爽 | 美女大乳久久久久久久女人18| 天天综合网入口~91| 夜色97| 男人天堂新在线| 四虎国产精品永久在线囯在线| 中国AV美女| 久久精品国产96精品亚洲拳交| AV中文在线| 欧美少妇内射| 国产美女91| 久久久久久亚洲Av无码精| 1禁看欧美黄片免费看| 色与欲影视| 日韩欧美tv一区二区在线观看| 亚洲成人久久美女| 超碰午夜在线| 欧美日韩妖精91com| 加勒比综合| 91 亚洲 欧美 日韩 国产 综合| 精品妇女一区二区三区| 1024午夜激情男人的天堂| 日韩精品-原创伙伴| 九九干| 夜夜操91744565| 美女91网| 亚洲1区2区三区高清中文字幕| 婷婷色网| 韩国嫰模上门援交视频| 欧美色www亚洲国产阿娇要播| 把腿张开老子CAO烂你| 一区二区三区四区五区高清无码永久视频 | 蜜臀AV午夜精品久| 性爱1区| 久久久久国产| 青娱乐老司机视频| 女优视频第10页| 老鸭窝在线视频播放| 国产精品熟女九色九色蜜臀| 国产黄a三级三级三级av在线看 | 一二三四区电影| 欧美性爱一级操| 精品九九淫乱男| 日逼视频日本| 五十路熟女工口 | 日韩成人在线性爱视频| 97这里都是精品| 日本三级精品| 你懂的在线观看区国产| 天天日天天干天天整| AV色天香在线| 国产后入内射| 欧美97se| 色色色色日本| q2午夜理论片夜色av| 精品-91人妻子系列| 精品国产乱码久久| 欧美成人色| 91热爆在线| 亚洲成人精品在线一区| 欧美在线中M| 天美国产三级传媒| 国产亚洲精品农村妇女| 国产麻豆91欧美一区二区久久婷婷国产精品|