国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

藥品包裝盒數(shù)據(jù)集VOC+YOLO雙格式:從標(biāo)注解讀到Y(jié)OLO訓(xùn)練避坑指南

藥品包裝盒數(shù)據(jù)集VOC+YOLO雙格式:從標(biāo)注解讀到Y(jié)OLO訓(xùn)練避坑指南 簡(jiǎn)介這份藥品包裝盒目標(biāo)檢測(cè)數(shù)據(jù)集面向計(jì)算機(jī)視覺(jué)入門(mén)者、算法研究及工業(yè)質(zhì)檢項(xiàng)目開(kāi)發(fā)者提供統(tǒng)一格式的真實(shí)場(chǎng)景圖像解決訓(xùn)練檢測(cè)模型時(shí)缺乏高質(zhì)量標(biāo)注數(shù)據(jù)的痛點(diǎn)。壓縮包共2000個(gè)文件包含1032張藥品包裝盒圖片、VOC格式xml標(biāo)注和YOLO格式txt標(biāo)注整體大小約27.95MB便于下載和部署同一圖像同時(shí)提供兩種格式標(biāo)注可在Pascal VOC與YOLO訓(xùn)練框架間無(wú)縫切換。數(shù)據(jù)集中僅含box一個(gè)類(lèi)別共1468個(gè)矩形框均由labelImg人工框選標(biāo)注規(guī)范。已有1285人學(xué)習(xí)/下載拿到后可自行劃分訓(xùn)練集與驗(yàn)證集用于YOLO、Faster R-CNN等模型訓(xùn)練也可服務(wù)于藥品包裝檢測(cè)、藥房自動(dòng)盤(pán)點(diǎn)、包裝缺損識(shí)別等場(chǎng)景。1. 藥品包裝盒數(shù)據(jù)集1032張雙格式標(biāo)注圖省掉從零標(biāo)框的幾天時(shí)間做藥品包裝盒識(shí)別時(shí)最耽誤時(shí)間的不是寫(xiě)模型而是標(biāo)數(shù)據(jù)。去過(guò)藥廠(chǎng)倉(cāng)庫(kù)的人都知道藥盒反光、瓶身和盒子挨得近、同類(lèi)包裝尺寸差異不大框稍微偏一點(diǎn)訓(xùn)練出來(lái)的效果就差很多。這份藥品包裝盒數(shù)據(jù)集正好解決這個(gè)問(wèn)題1032張圖片已經(jīng)全部標(biāo)注完成同時(shí)給出VOC和YOLO兩種格式按需取用就能直接進(jìn)訓(xùn)練流程。整理這份筆記時(shí)我把目錄結(jié)構(gòu)、坐標(biāo)格式、訓(xùn)練命令和踩過(guò)的坑都過(guò)了一遍結(jié)論是它適合兩類(lèi)人手頭有藥品檢測(cè)需求但不想從零標(biāo)框的開(kāi)發(fā)者以及想用一份干凈數(shù)據(jù)練習(xí)YOLO目標(biāo)檢測(cè)完整流程的入門(mén)者。下面按“先看結(jié)構(gòu)→再訓(xùn)練→后避坑”的順序展開(kāi)。2. 拆開(kāi)壓縮包前先搞懂VOC與YOLO標(biāo)注目錄、坐標(biāo)與類(lèi)別的三個(gè)細(xì)節(jié)2.1 目錄結(jié)構(gòu)里到底有什么JPEGImages、Annotations、labels 三件套很多從網(wǎng)上下數(shù)據(jù)集的人第一反應(yīng)是直接解壓找圖片和標(biāo)注文件然后隨便指定一個(gè)路徑丟給訓(xùn)練腳本。這個(gè)做法不是不能跑而是很容易讓標(biāo)注文件和圖片錯(cuò)位。我的習(xí)慣是先看目錄結(jié)構(gòu)再抽樣看兩個(gè)標(biāo)注文件最后才會(huì)動(dòng)訓(xùn)練命令。這份數(shù)據(jù)集既然同時(shí)給了VOC和YOLO兩種格式解壓后的目錄一般會(huì)沿用Pascal VOC時(shí)代留下來(lái)的組織方式data/ ├── JPEGImages/ # 全部圖片jpg格式 ├── Annotations/ # VOC格式標(biāo)注每張圖對(duì)應(yīng)一個(gè)xml ├── labels/ # YOLO格式標(biāo)注每張圖對(duì)應(yīng)一個(gè)txt └── ImageSets/Main/ # 劃分文件 ├── train.txt ├── val.txt └── test.txtJPEGImages放圖片Annotations放VOC的xmllabels放YOLO的txtImageSets/Main里是數(shù)據(jù)集劃分。需要注意不同發(fā)布者打包習(xí)慣不一樣有的把labels做成了扁平的labels/*.txt有的直接給出labels/train和labels/val。先不要急著開(kāi)始訓(xùn)練用命令數(shù)一下三個(gè)目錄文件數(shù)是否一致。ls JPEGImages | wc -l ls Annotations | wc -l ls labels | wc -l如果三個(gè)數(shù)字不一樣大概率存在漏標(biāo)或者多余的xml/txt這種情況訓(xùn)練時(shí)會(huì)直接報(bào)錯(cuò)。1032張圖對(duì)應(yīng)的xml和txt理論上都應(yīng)該是1032個(gè)但偶爾會(huì)因壓縮包傳輸丟文件出現(xiàn)數(shù)量不一致先在這一步確認(rèn)清楚。2.2 坐標(biāo)定義不同VOC的絕對(duì)框和YOLO的歸一化中心這個(gè)數(shù)據(jù)集叫“VOCYOLO格式”實(shí)際意思是同一種標(biāo)注用兩種文件表達(dá)。VOC格式存的是XML目標(biāo)框?qū)懗山^對(duì)像素坐標(biāo)YOLO格式存的是文本每行一個(gè)目標(biāo)內(nèi)容是類(lèi)別id加歸一化中心點(diǎn)坐標(biāo)和歸一化寬高。給個(gè)例子更直觀。annotation folderJPEGImages/folder filenameimg_0001.jpg/filename size width1920/width height1080/height depth3/depth /size object namemedicine_box/name bndbox xmin420/xmin ymin180/ymin xmax720/xmax ymax520/ymax /bndbox /object /annotation這是標(biāo)準(zhǔn)的Pascal VOC標(biāo)注img_0001.jpg對(duì)應(yīng)的YOLO標(biāo)簽文件img_0001.txt內(nèi)容只有一行0 0.296875 0.324074 0.156250 0.314815第一格0是類(lèi)別id后面四個(gè)數(shù)分別是 x_center (420 720) / 2 / 1920 0.296875 y_center (180 520) / 2 / 1080 0.324074 w (720 - 420) / 1920 0.15625 h (520 - 180) / 1080 0.314815四個(gè)坐標(biāo)全被歸一化到0到1之間不同分辨率的圖片就可以放進(jìn)同一個(gè)batch訓(xùn)練。很多人第一次看YOLO標(biāo)注會(huì)奇怪為什么只有一個(gè)框還要這么多位小數(shù)其實(shí)就是把絕對(duì)像素?fù)Q算過(guò)去的。如果出現(xiàn)x_center或?qū)捀叽笥?那就是標(biāo)注越界了后面第5章會(huì)詳細(xì)說(shuō)。2.3 一眼看清類(lèi)別與劃分用一段腳本統(tǒng)計(jì)標(biāo)簽在開(kāi)訓(xùn)之前我一般會(huì)先統(tǒng)計(jì)兩類(lèi)信息類(lèi)別數(shù)量以及每個(gè)類(lèi)別在train/val/test里的分布。這個(gè)數(shù)據(jù)集從標(biāo)題看是藥品包裝盒最常見(jiàn)的標(biāo)注是單個(gè)medicine_box類(lèi)但也不排除發(fā)布者把不同藥盒品牌標(biāo)成了多類(lèi)。在寫(xiě)data.yaml之前必須知道到底有幾個(gè)類(lèi)別否則nc寫(xiě)錯(cuò)訓(xùn)練直接報(bào)錯(cuò)。import glob from collections import Counter label_files glob.glob(labels/*.txt) cls_counter Counter() all_ids set() for path in label_files: with open(path) as fp: for line in fp: line line.strip() if line: cls_id int(line.split()[0]) all_ids.add(cls_id) cls_counter[cls_id] 1 print(類(lèi)別id集合:, sorted(all_ids)) print(類(lèi)別id - 目標(biāo)數(shù):, dict(cls_counter)) missing [] for img_path in glob.glob(JPEGImages/*.jpg): stem img_path.split(/)[-1].replace(.jpg, ) if not glob.glob(flabels/{stem}.txt): missing.append(stem) print(缺標(biāo)簽的圖片數(shù):, len(missing), missing[:5])這段腳本做的事情很簡(jiǎn)單遍歷所有l(wèi)abels/*.txt把每行第一個(gè)數(shù)字拿出來(lái)計(jì)數(shù)得到類(lèi)別id是哪些、每個(gè)id出現(xiàn)多少次。然后反過(guò)來(lái)查JPEGImages里的jpg是否都有同名txt有缺就打印出具體文件名方便后面定位。參數(shù)上要注意兩點(diǎn)。第一類(lèi)別id從0開(kāi)始是YOLO系約定如果統(tǒng)計(jì)結(jié)果里出現(xiàn){1: 1032}而沒(méi)有任何0說(shuō)明發(fā)布者把類(lèi)別id從1開(kāi)始編了訓(xùn)練前要把txt批量減1。第二腳本默認(rèn)labels是扁平目錄如果labels下還有train和val子目錄就把glob路徑改成labels//.txt。這里不要硬編碼絕對(duì)路徑方便在解壓目錄直接跑。3. 用YOLO訓(xùn)練藥盒檢測(cè)從數(shù)據(jù)重排到第一個(gè)best.pt3.1 把雙格式整理成YOLO標(biāo)準(zhǔn)目錄先用2.3的腳本確認(rèn)了類(lèi)別和標(biāo)簽完整性接下來(lái)要把文件挪成Ultralytics YOLO認(rèn)識(shí)的標(biāo)準(zhǔn)目錄。YOLOv5、YOLOv8和YOLO11的默認(rèn)數(shù)據(jù)布局都是datasets/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/如果你拿到的包已經(jīng)按這個(gè)布局組織直接跳到3.2。如果只有一個(gè)扁平的labels目錄就要按ImageSets/Main下的train.txt、val.txt、test.txt來(lái)重新放。這個(gè)步驟我一般用Python完成幾秒搞定。import os import shutil from pathlib import Path root Path(.) # 數(shù)據(jù)集解壓根目錄 split_map {train.txt: train, val.txt: val, test.txt: test} for split_file, subset in split_map.items(): split_path root / ImageSets / Main / split_file if not split_path.exists(): continue os.makedirs(root / images / subset, exist_okTrue) os.makedirs(root / labels / subset, exist_okTrue) with open(split_path) as fp: for line in fp: line line.strip() if not line: continue stem line.split(/)[-1] if stem.endswith(.jpg): stem stem[:-4] img_src root / JPEGImages / f{stem}.jpg lbl_src root / labels / f{stem}.txt if img_src.exists(): shutil.copy(img_src, root / images / subset / f{stem}.jpg) else: print(f[warn] 圖片不存在: {img_src}) if lbl_src.exists(): shutil.copy(lbl_src, root / labels / subset / f{stem}.txt) else: print(f[warn] 標(biāo)簽不存在: {lbl_src})這里有個(gè)容易踩的細(xì)節(jié)ImageSets/Main里的行內(nèi)容可能是純文件名img_0001也可能是帶路徑的JPEGImages/img_0001.jpg。代碼里用split(/)[-1]取最后一段再判斷是否以.jpg結(jié)尾就是為了兼容這兩種寫(xiě)法。shutil.copy是復(fù)制而不是移動(dòng)保留原目錄文件這樣后續(xù)想對(duì)比VOC不會(huì)破壞原始數(shù)據(jù)。磁盤(pán)空間緊張時(shí)可以把copy改成move。3.2 寫(xiě)data.yaml并檢查數(shù)據(jù)集train/val整理好后需要寫(xiě)一個(gè)data.yaml告訴訓(xùn)練器類(lèi)別名和路徑。放在數(shù)據(jù)集根目錄下我一般命名為medicine_box.yaml。# 數(shù)據(jù)集根目錄建議用絕對(duì)路徑避免不同機(jī)器工作目錄不一樣 path: /home/user/datasets/medbox train: images/train val: images/val # test 可留空也能在訓(xùn)練后單獨(dú)跑test test: images/test nc: 1 names: 0: medicine_box參數(shù)說(shuō)明path是根目錄train和val都是相對(duì)path的路徑。names的鍵從0開(kāi)始順序和標(biāo)簽txt里的類(lèi)別id嚴(yán)格對(duì)應(yīng)。如果你統(tǒng)計(jì)出來(lái)是多類(lèi)names里要按順序列全比如0: box_a, 1: box_b。寫(xiě)完先用一行命令驗(yàn)證數(shù)據(jù)集能否加載。yolo detect train datamedicine_box.yaml epochs0 batch1 device0epochs0是Ultralytics的一種快速檢查方式它不會(huì)真正訓(xùn)練只做數(shù)據(jù)集加載并打印train/val圖片數(shù)和類(lèi)別數(shù)。如果這里報(bào)錯(cuò)不要急著調(diào)模型先回頭查目錄結(jié)構(gòu)和yaml。提示多人協(xié)作時(shí)絕對(duì)路徑會(huì)導(dǎo)致別人機(jī)器上失效這種情況可以用相對(duì)path例如path: ./datasets/medbox。但相對(duì)路徑是從終端工作目錄解析容易踩坑所以單機(jī)訓(xùn)練我始終用絕對(duì)路徑。3.3 訓(xùn)練參數(shù)怎么定epochs、imgsz、batch 與預(yù)訓(xùn)練權(quán)重?cái)?shù)據(jù)集就緒接下來(lái)就是訓(xùn)練。以Ultralytics YOLO為例一行命令能跑yolo detect train datamedicine_box.yaml modelyolov8n.pt epochs100 batch16 imgsz640 device0我針對(duì)1032張這種量級(jí)的選參習(xí)慣是預(yù)訓(xùn)練權(quán)重從yolov8n或yolov8s開(kāi)始先用n跑通流程再看效果換sepochs默認(rèn)給100訓(xùn)練時(shí)會(huì)通過(guò)早停機(jī)制自動(dòng)截?cái)嗖挥脼榱藴悢?shù)去改imgsz保持640這是YOLO系列的默認(rèn)輸入尺寸如果藥盒在圖中比較小可以提高到960或1280但顯存占用和訓(xùn)練時(shí)間會(huì)明顯上漲batch在顯存允許范圍內(nèi)盡量大16G顯存跑yolov8n時(shí)batch16沒(méi)問(wèn)題6G顯存就改batch8。訓(xùn)練過(guò)程中終端除了每輪的mAP還會(huì)打印box_loss、cls_loss、dfl_loss這幾個(gè)yolo損失函數(shù)分量。很多人只看最后的mAP50其實(shí)觀察損失曲線(xiàn)更有用如果loss在前20輪不降反升大部分情況是學(xué)習(xí)率過(guò)大或數(shù)據(jù)集劃分有問(wèn)題如果loss降了但mAP不動(dòng)就要檢查是不是藥盒目標(biāo)本身太相似導(dǎo)致分類(lèi)學(xué)不動(dòng)。如果你想控制數(shù)據(jù)增強(qiáng)訓(xùn)練命令里可以加augment相關(guān)參數(shù)yolo detect train datamedicine_box.yaml modelyolov8s.pt epochs120 batch16 imgsz640 scale0.5 fliplr0.5 mosaic1.0scale控制隨機(jī)縮放范圍fliplr是水平翻轉(zhuǎn)概率mosaic是馬賽克增強(qiáng)。藥盒檢測(cè)通常不需要太多翻轉(zhuǎn)因?yàn)榘b盒上的文字方向有實(shí)際含義豎直方向翻轉(zhuǎn)反而會(huì)讓模型學(xué)到錯(cuò)誤特征。3.4 訓(xùn)練產(chǎn)物和損失曲線(xiàn)怎么看訓(xùn)練結(jié)束后在runs/detect/train目錄會(huì)生成weights/best.pt、weights/last.pt、results.png、confusion_matrix.png、args.yaml等一堆文件。最常用的是兩個(gè)權(quán)重best.pt是驗(yàn)證集效果最好的模型last.pt是最后一輪epoch的模型。日常推理和部署直接取best.pt不要為了“多訓(xùn)幾輪更好”就默認(rèn)用last.pt。last.pt更適合在斷點(diǎn)續(xù)訓(xùn)時(shí)作為預(yù)訓(xùn)練權(quán)重。results.png是訓(xùn)練過(guò)程的匯總圖從上到下分別是box_loss、cls_loss、dfl_loss、precision、recall、mAP50、mAP50-95??催@條曲線(xiàn)如果最后的mAP50在0.5以下大概率是標(biāo)注不全或類(lèi)別混淆如果mAP50能到0.8以上但mAP50-95掉得厲害說(shuō)明框沒(méi)有貼合邊界藥盒邊緣被壓線(xiàn)了。這些都是經(jīng)驗(yàn)值不同場(chǎng)景會(huì)有浮動(dòng)但能幫你在調(diào)參前快速定位問(wèn)題方向。驗(yàn)證時(shí)還可以看confusion_matrix.png理清哪兩類(lèi)容易互相誤檢。4. 反向使用VOC格式XML轉(zhuǎn)YOLO腳本與舊工程兼容方案4.1 為什么VOC格式到今天還有用雙格式數(shù)據(jù)集里YOLO txt顯然是新工程首選那XML還有必要留嗎有的而且用到的頻率不低。本地標(biāo)注工具如果不換labelImg導(dǎo)出就是VOC XML很多公司老代碼庫(kù)里的檢測(cè)pipeline只寫(xiě)了讀VOC的Loader比如基于Detectron2或Faster R-CNN的工程還有做數(shù)據(jù)審核的同事習(xí)慣在labelImg里打開(kāi)XML回看標(biāo)注。這種情況下直接把訓(xùn)練用的txt再轉(zhuǎn)回XML比重新標(biāo)注快得多。Pascal VOC這套XML標(biāo)準(zhǔn)雖然老但勝在結(jié)構(gòu)透明任何語(yǔ)言都能用標(biāo)準(zhǔn)庫(kù)解析不帶額外依賴(lài)。所以拿到“VOCYOLO格式”的數(shù)據(jù)集等于同時(shí)拿到了一條通往老框架和YOLO訓(xùn)練的通路。而反過(guò)來(lái)當(dāng)你從別的數(shù)據(jù)集拿到只有XML的標(biāo)注想用YOLO跑也需要把XML轉(zhuǎn)成txt。這個(gè)轉(zhuǎn)換不應(yīng)該靠手工重復(fù)下面給兩個(gè)小腳本第一步是從XML轉(zhuǎn)到Y(jié)OLO。4.2 XML轉(zhuǎn)YOLO txt一個(gè)不讀圖片的高效腳本用Python標(biāo)準(zhǔn)庫(kù)xml.etree.ElementTree解析XML圖片寬高直接從XML的size節(jié)點(diǎn)讀取不需要額外打開(kāi)圖片速度會(huì)快很多。import xml.etree.ElementTree as ET import glob import os CLASS_NAMES [medicine_box] # 需要和訓(xùn)練用的類(lèi)別順序保持一致 def xml_to_yolo(xml_path, out_dir): tree ET.parse(xml_path) root tree.getroot() img_w int(root.findtext(size/width)) img_h int(root.findtext(size/height)) stem os.path.splitext(os.path.basename(xml_path))[0] lines [] for obj in root.findall(object): name obj.findtext(name) if name not in CLASS_NAMES: continue cls_id CLASS_NAMES.index(name) bndbox obj.find(bndbox) xmin float(bndbox.findtext(xmin)) ymin float(bndbox.findtext(ymin)) xmax float(bndbox.findtext(xmax)) ymax float(bndbox.findtext(ymax)) x_center (xmin xmax) / 2.0 / img_w y_center (ymin ymax) / 2.0 / img_h w (xmax - xmin) / img_w h (ymax - ymin) / img_h lines.append(f{cls_id} {x_center:.6f} {y_center:.6f} {w:.6f} {h:.6f}) os.makedirs(out_dir, exist_okTrue) with open(os.path.join(out_dir, f{stem}.txt), w) as fp: fp.write(\n.join(lines)) for xml_file in glob.glob(Annotations/*.xml): xml_to_yolo(xml_file, labels_from_xml)這個(gè)腳本有幾個(gè)值得說(shuō)的點(diǎn)。findtext(size/width)能直接拿到size下的width文本比一層層find再.text省事bndbox里的xmin、ymin這些XML節(jié)點(diǎn)文本存的是字符串轉(zhuǎn)float后再做算術(shù)避免字符串拼接造成隱式錯(cuò)誤最后寫(xiě)入時(shí)小數(shù)位統(tǒng)一保留6位訓(xùn)練解析時(shí)不會(huì)因?yàn)榫葐?wèn)題丟邊界。CLASS_NAMES的順序必須和最終訓(xùn)練yaml里names順序完全一致否則框還是那些框但類(lèi)別標(biāo)簽全錯(cuò)位了。4.3 反過(guò)來(lái)把YOLO txt還原成VOC XML用于校對(duì)如果你想在labelImg里檢查YOLO標(biāo)注或者喂給只認(rèn)VOC的老框架就需要反向轉(zhuǎn)換。轉(zhuǎn)換公式是剛才的逆運(yùn)算def yolo_to_xml(txt_path, img_w, img_h, out_dir): stem os.path.splitext(os.path.basename(txt_path))[0] xml_lines [ annotation, f filename{stem}.jpg/filename, size, f width{img_w}/width, f height{img_h}/height, depth3/depth, /size ] with open(txt_path) as fp: for line in fp: parts line.strip().split() if not parts: continue cls_id, x_cent, y_cent, w, h parts xmin (float(x_cent) - float(w) / 2) * img_w ymin (float(y_cent) - float(h) / 2) * img_h xmax (float(x_cent) float(w) / 2) * img_w ymax (float(y_cent) float(h) / 2) * img_h # CLASS_NAMES 由外部傳入順序與訓(xùn)練時(shí)一致 xml_lines.append( object) xml_lines.append(f name{CLASS_NAMES[int(cls_id)]}/name) xml_lines.append( bndbox) xml_lines.append(f xmin{xmin:.0f}/xmin) xml_lines.append(f ymin{ymin:.0f}/ymin) xml_lines.append(f xmax{xmax:.0f}/xmax) xml_lines.append(f ymax{ymax:.0f}/ymax) xml_lines.append( /bndbox) xml_lines.append( /object) xml_lines.append(/annotation) with open(os.path.join(out_dir, f{stem}.xml), w) as fp: fp.write(\n.join(xml_lines))這段代碼要注意的是圖片寬高必須傳入因?yàn)閅OLO txt里只有歸一化坐標(biāo)沒(méi)有圖片尺寸信息。實(shí)際工程里圖片尺寸可以從JPEGImages下同名jpg用PIL讀出來(lái)但那樣會(huì)慢所以一般先用一次glob讀出所有圖片尺寸存成字典再批量轉(zhuǎn)換。另一個(gè)細(xì)節(jié)還原出來(lái)的xmin/ymin用取整輸出四舍五入到整像素labelImg讀進(jìn)去不會(huì)有問(wèn)題如果要給訓(xùn)練器用也可以保留小數(shù)不取整。有了這兩個(gè)轉(zhuǎn)換函數(shù)這套VOCYOLO雙格式數(shù)據(jù)集就能自由在舊工程和YOLO生態(tài)之間切換。偶爾需要新增數(shù)據(jù)時(shí)用labelImg標(biāo)一批XML再跑一遍4.2腳本轉(zhuǎn)成txt并入原有目錄即可。5. 避坑這類(lèi)數(shù)據(jù)集最常見(jiàn)的四個(gè)翻車(chē)點(diǎn)5.1 類(lèi)別數(shù)對(duì)不上訓(xùn)練報(bào) class index out of range 怎么查訓(xùn)練剛開(kāi)始不到兩分鐘就崩常見(jiàn)報(bào)錯(cuò)是AssertionError: class index ... out of range或者Invalid label file。原因基本是三類(lèi)data.yaml的nc和names沒(méi)有嚴(yán)格對(duì)齊labels目錄里混入了別的數(shù)據(jù)集txt類(lèi)別id超過(guò)了nc發(fā)布者把類(lèi)別id從1開(kāi)始計(jì)數(shù)導(dǎo)致最大id超出names長(zhǎng)度。解決方法是先跑2.3的統(tǒng)計(jì)腳本把整個(gè)labels目錄的類(lèi)別id列出來(lái)。你要確認(rèn)最小id是0最大id小于nc。然后打開(kāi)classes.txt和xml里的name比對(duì)確認(rèn)names順序不是按字母序而是按訓(xùn)練字典。我遇到過(guò)更隱蔽的情況xml里只有box一個(gè)類(lèi)但某個(gè)txt里混著一行舊的類(lèi)別id 5這種通常來(lái)自發(fā)布者合并數(shù)據(jù)集時(shí)漏刪文件直接用文件路徑定位后刪掉那一行即可。5.2 藥盒緊貼圖邊letterbox后框越界漏檢現(xiàn)象是訓(xùn)練正常但val圖片里靠邊的藥盒經(jīng)常丟框。原因是拍照時(shí)藥盒本身頂著圖邊緣XML里的xmax或ymax超過(guò)圖片寬高YOLO歸一化后變成1.0x訓(xùn)練時(shí)letterbox會(huì)在原圖周?chē)畛浠疫?.0的坐標(biāo)被映射到填充區(qū)模型學(xué)到的框就不準(zhǔn)了。解決分兩步。第一步檢查越界標(biāo)注python -c import glob, xml.etree.ElementTree as ET for f in glob.glob(Annotations/*.xml): r ET.parse(f).getroot() w, h int(r.findtext(size/width)), int(r.findtext(size/height)) for o in r.findall(object): b o.find(bndbox) xmax, ymax float(b.findtext(xmax)), float(b.findtext(ymax)) if xmax w or ymax h: print(f, xmax, ymax, w, h) 這段代碼會(huì)打印所有框坐標(biāo)越界的XML文件名和具體數(shù)值。第二步是處理把越界的xmax/ymax強(qiáng)制clip回圖片邊界再重新生成YOLO txt不要手工改XML。訓(xùn)練參數(shù)上fliplr降到0.3scale控制在0.3到0.8減少隨機(jī)縮放對(duì)邊緣目標(biāo)的破壞。藥盒這類(lèi)物體邊緣特征靠文字放大太多反而丟細(xì)節(jié)。5.3 數(shù)據(jù)泄漏train/val里出現(xiàn)幾乎相同的圖現(xiàn)象是訓(xùn)練時(shí)mAP50已經(jīng)0.95但val集只有0.6而且隨著epoch增加val曲線(xiàn)不再上升。原因是數(shù)據(jù)劃分批次時(shí)連續(xù)拍攝的同場(chǎng)景照片被拆去了train和val藥盒位置、光線(xiàn)都幾乎一樣訓(xùn)練時(shí)模型等于見(jiàn)過(guò)val圖片指標(biāo)虛高實(shí)際部署立刻掉點(diǎn)。解決方法是劃分前先做相似度去重。簡(jiǎn)單做法是用OpenCV的感知哈希每張圖縮成8x8算64位hash漢明距離小于5的視為重復(fù)圖只保留一張import cv2 import numpy as np import glob def phash(img_path, size8): img cv2.imread(img_path, cv2.IMREAD_GRAYSCALE) resized cv2.resize(img, (size, size), interpolationcv2.INTER_LINEAR) return (resized resized.mean()).astype(np.uint8) def hamming(a, b): return np.count_nonzero(a ! b) imgs glob.glob(JPEGImages/*.jpg) hashes {p: phash(p) for p in imgs} for i in range(len(imgs)): for j in range(i 1, len(imgs)): if hamming(hashes[imgs[i]], hashes[imgs[j]]) 5: print(相似的圖片:, imgs[i], imgs[j])這段腳本復(fù)雜度O(n2)1032張圖沒(méi)問(wèn)題更大的數(shù)據(jù)集要先做索引。相似判斷可能把不同藥盒誤判成近似閾值5可以按實(shí)際情況調(diào)。排除重復(fù)圖后再把同一時(shí)間戳前綴或同序列號(hào)的文件分到同一集合沒(méi)有這類(lèi)元數(shù)據(jù)時(shí)隨機(jī)多分幾個(gè)val集合選均值最穩(wěn)定的一個(gè)。5.4 路徑和文件名惹的禍中文空格、相對(duì)路徑現(xiàn)象是Windows下壓縮包正常換到Linux服務(wù)器一跑就報(bào)Train dataset not found或圖片讀取為None。原因是解壓時(shí)Windows目錄名帶空格和中文yaml里path寫(xiě)的是反斜杠相對(duì)路徑對(duì)不上還有rar解壓偶爾生成._開(kāi)頭的AppleDouble文件被訓(xùn)練器當(dāng)成標(biāo)注文件。解決是三步走所有目錄改成純英文無(wú)空格yaml統(tǒng)一用正斜杠解壓后先跑一句find . -name ._* -delete清理多余文件再數(shù)圖片和標(biāo)簽數(shù)量缺少單個(gè)文件會(huì)直接報(bào)no labels found。注意有些系統(tǒng)解開(kāi)rar后文件權(quán)限是只讀建議chmod -R uw dataset一鍵開(kāi)放寫(xiě)權(quán)限細(xì)節(jié)不多但能折騰很久。6. 用訓(xùn)練結(jié)果做真實(shí)推理驗(yàn)證、調(diào)置信度與導(dǎo)出ONNX6.1 用best.pt跑驗(yàn)證集看不是只看mAP訓(xùn)練完不要急著把best.pt發(fā)給同事先用val集跑一遍yolo detect val datamedicine_box.yaml modelruns/detect/train/weights/best.pt batch8輸出會(huì)包含precision、recall、mAP50、mAP50-95同時(shí)把混淆矩陣和預(yù)測(cè)圖片寫(xiě)進(jìn)runs/detect/val目錄。我一般會(huì)重點(diǎn)看預(yù)測(cè)圖里藥盒之間的疊放案例藥店照片常出現(xiàn)盒子之間互相壓邊val結(jié)果圖能直觀看到是不是漏檢了壓住的那一盒這種預(yù)測(cè)圖比數(shù)字更容易發(fā)現(xiàn)問(wèn)題。如果mAP50超過(guò)0.85但val預(yù)測(cè)圖里還是有漏框大概率是標(biāo)注邊界太小回到數(shù)據(jù)集把緊貼的框重新clip一遍再訓(xùn)。6.2 藥盒推理時(shí)的置信度與IOU調(diào)整實(shí)際推理時(shí)用CLI或者Python接口都一樣關(guān)鍵是置信度不要一成不變。yolo detect predict modelbest.pt sourcetest_images/ conf0.25 iou0.45 saveTrue藥盒反光會(huì)造成部分框置信度偏低如果漏檢很多別急著換模型先調(diào)conf。我習(xí)慣把conf降到0.15同時(shí)把iou從0.45提到0.5讓相鄰的高置信度框不容易被合并藥盒之間的邊界更干凈。如果誤檢變多再把conf提回0.3即可。6.3 導(dǎo)出ONNX給TensorRT和邊緣設(shè)備復(fù)用最后一步是把訓(xùn)練好的權(quán)重導(dǎo)出成ONNXyolo export modelbest.pt formatonnx imgsz640 dynamicFalse simplifyTrue導(dǎo)出后得到一個(gè)best.onnx用onnxruntime可以在CPU/GPU上推理也可以轉(zhuǎn)成TensorRT engine跑服務(wù)。dynamicFalse會(huì)讓輸入尺寸固定為640部署時(shí)省心如果項(xiàng)目里圖片尺寸多變?cè)俑膁ynamicTrue。要注意的是導(dǎo)出ONNX后輸入張量的歸一化方式仍然是像素值除以255外部調(diào)用時(shí)需要保持同一套預(yù)處理不要重復(fù)歸一化。我從那以后每次拿到現(xiàn)成數(shù)據(jù)集都不會(huì)直接開(kāi)訓(xùn)而是先花半小時(shí)把目錄結(jié)構(gòu)、標(biāo)簽統(tǒng)計(jì)和劃分完整性過(guò)一遍確認(rèn)沒(méi)問(wèn)題再寫(xiě)訓(xùn)練命令。這個(gè)習(xí)慣幫我省了很多翻車(chē)的時(shí)間尤其是在“VOCYOLO雙格式”這種看起來(lái)沒(méi)什么坑、實(shí)際上坑都在文件里的場(chǎng)景。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产suv精品一区二区四| 熟女中出视频| 在线观看黄色电话| 天天干天天燥| 欧美在线天堂| 97视频网站| 国产乱人伦AVA麻豆软件.| 操我啊啊啊啊啊| 五月婷婷AV| 亚洲国产欧美中日韩成人综合视频| 五十路熟女人妻一区二区在线观看| 青青草大香蕉视频| 亚洲国产天堂| 91久久青青草原精品| 精品78| 中文字幕乱码人妻二区三区| 久久久久免费看少妇A片特黄| 久久欲| 操迟操逼在巾线Fre看| 懂色av色欲av蜜臀av| 欧美性生活免费网| av一区二区三区 中文| 色香在线| 一本大道不卡一二三区| 99热精品在线在线| 色妺妺AⅤ| 91中文字幕制服丝袜免费视频| 91丝袜在线播放| 黑人免费福利视频| 九九九九九九免费视频| 国产熟女二区| 国产丝袜一区二区三区| 五十路六十路素人熟女| 屁股久久久久久| 亚洲色图在线视频| 亚洲乱码国产乱码精网站| 国产精品久久| 久久无码精品| 亚洲国产高清福利视频| 日韩在线观看中文字幕视频| 少妇二级| 日日骚一区二区三区| 人妻在线中出视频| 丰满熟女一区二区三区在线播放| 9精品在线| 97超碰欧美手机在线| 无码操逼天堂| 色综合99999| 免费岛国一级片| 丁香婷婷激情五月天无毒不卡 | 97综合| 天天影视色香欲综合网小说| 99日精品欧美国产| 91在线丝袜视频| 欧美精品三级黄片| 久操B网| 超碰97久久| 黄色AV影视| 久久精品店| 国产白嫩漂亮KTV在线| 久久97资源 网| 综合伊人激情| 在线观看A啊啊啊| 不卡av在线中文字幕| 久久啊哟| 国产一级高跟丝袜| 美女网站黄页| 亚洲色图日韩精品| 亚洲综合伊人| 超碰九色| 国产精品盗摄 偷窥盗摄| 精品一区二区麻豆| 日韩乱插| 精品午夜福利| 丝袜视频一区二区在线播放国产中文| 性爱免费视频成人| 淫穴高潮色图| 久久只有精品一区二区三区| 国产精品亚洲天堂网址| 人妻少妇久久中文| 日本性爱少妇| 后入 亚洲 美女 射| 久久久久久免费电影| 欧洲亚洲国产综合在线| 好好的日:com久久九九| 久久久影院| 久久亚洲av成人无码国产| 国内毛片婷婷六月色| 久久夜夜| www欧美91| 开心五月激情网| 久久人人爽爽爽人久久久| 性爱av在线免费观看| 思思热在线cao| 久久综合久色欧美综合狠狠 | 国产精品高朝久久久久久久| 日韩 欧美 视频 在线 一区| 亚洲情色 自拍| 人妻精品一区二区全免费| 久久性爱城| 久久久精品电影| 亚洲激情视频| 亚洲风情在线观看| 欧美综合天堂| 97操b| 老女人91| 日本一二三免费久久| 日本中文字幕一区| 九九九九九九九九九九九九九九九女| 欧美国产伊人久久久久| 欧美性爱免费短视频| 欧美夜夜草视频| 欧美日韩插逼视频| 久久精品一区二区一8| 91九色丰满高潮| 天天操熟妇| 青青草依人大香蕉| 神马麻豆福利院| 久久久无码精品人妻二区| 啊啊啊啊,啊啊好多水| 99热国产精品| 日韩久射综合| 91在线精品一区二区三区| 久久精品一区二区一8| 天天操夜夜嗨| 日本一本道A级黄色毛片试看60分钟| 伊香蕉综合久久久久久久噜噜噜| 婷婷涩嫩草鲁丝久久午夜精品| 久久噜噜噜精品国产亚洲综合| 大香蕉伊人一区在线观看| 久久视频,这里只有精品| 熟妇熟女一区二三区| 男生女生啊啊啊啊| 一区二区精品日韩欧美在线观看 | 成全在线观看免费观看| 成人毛片免费| 操逼天美3区| 啊啊啊啊啊操我视频| 久热在线精品免费观看| 人人扣人人操| av中文字幕在线熟女| 91殴美大片| 自拍第一页| 一区AV| 中文字幕 国产区| 日韩激情视频| 一级毛片电影免费看| 柠檬AV导航| 亚洲 欧美 另类 日韩 人妻一区| 97超碰伊人| 免费黄色片。| 美女在线H91| 超碰久超碰久| 久热伊人| 97鸡把在线视频| 91人妻中文| 丝袜美腿校园春色| 亚欧免费观看视频| 99热这里是精品| 超碰97极品9| 综合免费无码中文| 四虎在线播放| 精品欧美А∨无码黑人大荫蒂 | 91操操操操| av天堂影视中文在字幕在线中文 | 大香蕉免费乱伦视频| 天天日天天舔东京热| 狠狠久久手机视频精品| 91人妻视频| 欧美日本一区二区a人| 18禁精品网站在线看| 蜜乳av首页| 亚洲成人一二三区| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 91高清无码下载| 人妻蜜桃臀| 亚洲日本韩国在线| 久久中文字幕一区不卡| 中国AV美女| 激情综合五月婷婷| 国产精品电影推荐| 欧美十八禁导航成人| 97超碰欧美| 大香蕉伊在线久草麻豆天堂故事| 久久↗↗| 丝袜狠狠草尤物人妻av91| 丁香五月天堂网| 欧美性爱日韩性爱| 女人天堂av在线播放| 在线观看岛国有码| 2017天天插| 激情五月天丁香| 欧美不卡在线美女| 九九热九九热| 色婷婷色99国产综合精品| 强奸熟女一区二区三区| 小视频玖玖| 精品欧美日韩在线观看| 亚洲色欲一区二区三区| 国产AV激情无码久久无码| 色九久| 欧美一区二区成人一卡| 色香色欲天天综合网天天来吧| 中文字幕后石码四区五区| 97欧美色资源| 精品国产一区二区久久| 久久久久免费少妇| 欧美性爱视频免费一区一A | 操逼无码操逼| 东北女人性交| 天天干2区3区| 麻豆视频test| 国产11页| 丰满人妻一区二区三区| 天天做日日爱夜夜爽| 国产精品成人福利在线| 日本性交操一区二区不卡系列| 欧美精品系列| 极品美女嘿咻| 日韩色香| 亚洲国产美女久久久久| 翔田千里无码一区| 精品国模无码| 亚洲暴力强奸AV| 午夜精品久久久久久久久久蜜桃| 亚洲欧美高清| 一级片在线观看高清无码| 99久久9| 日韩综合第八区国产精品| 亚洲天堂久久| 1区2区3区视频| 69久久久久久久久久久久久| AV老汉| 农村妇女一级二级三级视频| 天美精品原创av片国产| 午夜久久一区二区无码中出| 亚洲欧美国产中文视频| 97超碰巨乳| 人妻av在线| 91在线丝袜视频| 日日噜噜夜夜久久亚洲一区二区| 色麻豆AV| 日韩大香蕉AV影片| 天天舔天天日天天射| 色官网色综合| 亚洲91在线播放影院| 欧美96精品在线| oumeizonghese,www| 亚欧高清v| 国产成年免费大片黄在线观看| 人妻三级在线中文字幕| 亚洲色91| 人妻中文字幕精品无码| 国产一在线观看| 偷拍偷窥与盗摄视频专区| 大象AV在线| 国产精品福利视频播放| 国产精品激情久久久久久久| 亚洲一区二区三区四区视频| 亚洲天天更新| 人人贴人人摸| 亚洲精品三| 国产精品无码AV网站| 五月婷在线| 97视频在线观看高清资源| 青苹果影院男人的天堂| 人干人人人操人人摸| 色婷婷丁香五月| 亚洲天堂热| 超硑97精品| 亚洲国产亚洲天堂| 97精品视频| 国产无吗在线播放| 18禁美女裸体无遮挡啪啪| 久久精品亚洲成a人天堂| 久久久久国产精品片区无码直播| 后X久久| 欧美日本不卡| 中文字幕交换人妻| 午夜精品久久久99| 色综合91好| 久久久久国产无av| 妇人噜噜| 隔壁邻居波多野结衣中文字幕| 久热超碰| 色香AV| 日本中文字幕在线电影| 0755午夜福利视频| 国产树林里野战在线看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 人人喜人人妻| 日本一二三免费久久| 91社区拍啪人妻| 日韩中文字幕2020| 亚洲综合在线第一页| 久久久久成人亚洲国产| 九九九热精品| 精品无码一区二区三区| 97这里都是精品| 伊人五月天激情| 综合五月天| 欧亚不卡| 日韩性爱免费视频在线网站| 天天射天天色成人| 欧美丰满熟妇XXXX性ppX人交| 曰韩av中文字幕专区| 久久99草| 不卡啪啪视频| 欧美在线|亚洲| 国产欧美一区激情交| 超碰人妻久久| 日日夜夜青青草母狗| 国内毛片婷婷六月色| 国产精品 亚洲情色| 国产男女边吃边摸视频网站| 久久久九九| 99成人| 91精品人妻偷情| 日韩无码服务区| 欧美午夜精品久久久久久3D| 国产美女mm131爽爽爽爽| 秘书高跟黑色丝袜国产91在线| 97色插| 国产成年免费大片黄在线观看| 久久这里只精品| 极品粉嫩一区二区| 性一交一乱一交A片久久四色| 老熟女网站| 欧美97视频| 5月婷婷6月六月丁香| 免费岛国一级片| 久久日韩肥臀| 精品人妻伦一区二区三区久久| 一区=区三区视频| 97色碰| 激情小说亚洲| 亚洲色图亚洲| 精品成人无码| 色激情综合网站| 日韩久射综合| 欧美丝袜中文字幕07在线| 国模久久在线| 桃花色涩综合影院| 精品人妻1区| 级做a爱无码性色永久免费| 亚洲欧美骚| 69综合网| 亚洲AV永久无码精品成人调教| 日韩中文字幕2020| 久操av在线| 国产精品96| 九九九精品色乱九九九| 伦理日韩国产久久| 久操免费视频| 亚洲国产精品无码AV久久| 久久久久国产精品久久久| 国产熟妇 码视频户外直播| 四虎884| 女生看匆91网站| 亚洲欧美人妻| 亚洲欧美自拍偷拍| 国产免费一区在线观看| 欧美亚洲玖玖玖| 91欧美长吊| 久久精品老司| 超碰在线日韩一区| 黑人性欧美| 岛国网址国产| 静品嫩模一区二区| 99国产精品久久久久久久成人热 | 精品一区99999| 在线天堂资源亚洲| 欧美精品日韩久久久九| 亚洲精品影视老司机| 91精品黄在线观看| 精品久久大胆人体| 在线看污网站| 超碰成人公开| 天堂精品小草| 91美女视频在线观看| 国精精品无码一二三区水多多| 色婷婷五月天| 久久一本大香蕉| 久久精品熟女亚洲AV麻豆软件| 亚洲日韩美女中文字幕乱| 99色悠悠| 超碰吊日色| 午夜120视频在线观看| 伊人五月天| 日本顶级天天操狠狠操夜夜操中文字幕| 亚洲成成熟女人综合一区二区| 男女啊啊啊啊啊| 中文乱码字字幕在线第5页| 亚洲最大网站av| 九九操久久国产免费视频| 久久αⅴ| 男人的天堂亚洲| 91色射| 人人操人人93| 国产性感骚丝袜在线| 中国黑人三级片网站上区| 成年无码动漫av片无尽在线| 亚洲情色第一页| 干b网| 一本久道在线综合视频| 免费人人搞97| 99re免费视频精品全部| 男人夜色天堂ss| 欧美日韩电影成人在线| 五月婷婷色| 偷拍 欧美 日韩| 九九久精品| 日韩欧美被操黄免费观看| 伊人五月天激情| 成人蜜乳小视频网站| 日韩欧美~中文字| 人妻天天操天天爽视频免费| 成人免费在线网站| 日本高清视频xxxx| 欧美97av| 爱欲AV| 五月婷婷六月激情| 日本污ww视频网站| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 久久成人东京热人妻| 青青操在线亚洲视频观看欧美在线| 亚洲色图亚洲无码强奸乱伦| 色噜噜精品一区二区三| 日韩无码精品综合久久| 亚洲性爱成人| 欧美性爱日韩高清| 精品人妻免费观看| 翔田千里Av在线| 国产精品又黄又猛又粗| 2017天天插| 超碰在97| 大白逼三四级| 91美女国产在线| 美骚妇av高清在线| 116美女午夜| 无码免费精品高清| 亚洲国产精品有声| 色操逼网| 中文日本免费高清| 国产曰批免费观看久久久| 果冻国产精品麻豆成人av| 久久久久久电影| 久久亚洲精品成人av| A级在线视频| 曰韩av中文字幕专区| 日韩内射视频| 久久久久免费少妇| 日本精品免费一区二区三区四区| 亚洲射综合网| 91影视亚洲| 操死我了嗯嗯嗯| 五月天精品| 97色欧洲| 精品国产一区二区三区在线播出| 亚洲精品无码成人久久久99| 综合久欧洲| 欧美毛片在线网| 色九九九| 男人久久天堂| 亚洲精品国产熟女| 色色色综合网| 中出在线视频| 日韩中文字幕人妻视频| 少妇xx精品| 人妻一区久久二区三区色播| 一级黄色性爱裸体视频| 妺妺跟我一起洗澡没忍住| 无码91| 91综合中文字幕| 日产狠狠干| 精品一区二区三区麻豆| www.婷婷五月天| 成人九九| 精品妇女一区二区三区| 九九碰九九爱97超| 色蜜AV| 以及麻豆国产入口在线观看免费| 特级大荫道BBwBBwBBW| 成人免费性爱视视| 日韩国产十八禁| 亚洲天天做日日做天天谢日日| 亚洲aw毛茸茸在线| 成人a大片在线观看| 中文字幕人乱码中文字的预防方法 | 久久日韩毛| 人人搞人人插人人操| 大香蕉中文在线| 家庭乱伦国产| 久久小视频| 亚洲男人的天堂在线看| 国产精品原创巨作?v网站| AV一起草在线| 999久久久九九九九| 狠狠做深爱婷婷久久二区| 午夜男女爽爽爽在线视频 | 岛国黄色大片网站| 最新日产中文在线麻豆| 97视频一区| 在线国产一区二区av| 亚洲人精品久久久| 久肏视频字幕| 久久久一区二区三区四区五区| 五月天日日操夜夜操| 丁香五月激情综合国产| 97视频在线视频| 欧美性色网| 国产精品99精品视频网站| 国产亚洲色婷婷久久99精品91 - 百度| A V视频日本| 岛国黄片网站| 超碰 97国产熟女| 色9999日韩国产| 日日躁狠狠躁天天躁精品| 中文人妻av高清一区| 综合网欧美在线| 91大学精品激情戏| 伊人色综合超碰| 亚洲成成熟女人综合一区二区| 97人人夜| 久久久久人| 欧美综合网1| 永久免费观看的毛片的网站| 五月婷婷丁香| 91色艳| 欧美人妖内射| 婷婷五月激情综合| 色婷婷一区二区三区久久午夜成人不| 无码免费精品高清| 五月婷婷综合网| 国产啊v在线免费播放| 欧美日韩插逼视频| 欧美操逼熟女| 黄片国产精品一区二区| 午夜亚洲国产理论秋霞| 欧美,日韩综合久久| 日人妻视频91| 九九人人操| 美女在线H91| 91九九九吃| 久久久青青草| 国产精品久久妻无码网站| 国产黄色影片在线观看| 熟女人妻一区二区三区| 激激五月| 天天激色| 2017大香蕉| 欧美成人一级免费电影| 99这里都是精品| 大乔未久88一区| 性91| 一级性爱aaaa| 亚洲AO在线| 久久久久久久9999| 日日操丁香五月天| 91暧暧| 欧美激情高清性猛交| 你懂的在线观看区国产| 婷婷丁香五月综合| 伊人亚洲综合| 国产操伦| 91精品国久久久久久无码| 久久国产精品一区二区| 久操com| 欲射影视| www.久久制服糖| 香蕉一区二区三区在线视频| 久久欧美激情| 大香蕉五月天| 欧美三四五区| 91精品久久久久久综合五月天| 亚洲激情天堂网| 高清无码久操视频| 日本999精品视频| 国产精品美女视频诱惑| 久久国产99精品72福利| 99老司机精品视频在线观看| 久久久久元码视频| 日本精品九九九| 亚洲天堂2020| www.91理论| 六月丁香婷| 日本天堂网| 欧美 亚洲 大香| 97干在线视频| 深夜国产一区二区三区在线看| 丰满少妇一区二区三区免费看| 97在线日韩中文字幕| 欧洲精品在线播放| 蜜桃久久久久久久久久久久| 天天日熟妇| 伊人大香蕉在线| 青草草免费网站av| 天天超级碰碰碰| 国内三级自拍小视频在线观看 | 美女午夜福利免费视频| 日本97久久| 性爱视频无打码在线观看| 亚洲精品色| 综合亚州欧美| 无码聚合| 久久在线观看免费视频| 综合色99| 综合网亚洲| 国产偷仑| 午夜久久久| 91熟女视频网| 操亚州| 8050午夜少妇无码| 岛国黄色大片网站| aa片毛片| 91青青在线| 天堂网 主播 亚洲| 91网站18在线观看| 日本在线激情一区二区三区| 亚洲成人黄色在线观看| 中国特猛少妇色xxx| 欧美亚洲AN| 亚洲……91| 激情综合五月天| 中国探花熟女| 国产18精品亚洲精品| 蜜臀AV秘一区翔田千里| 囯产精品久久久久久久久久梁医生| 亚洲综合色图欧美| 97操97干| 美欧色综合| 综合少妇网| 中文字幕1区2区| 99热婷婷一区二区三| 国产精品另类一区大香蕉| 国产精品3| 久9爱精品| 超碰色图| 国产丝袜欧美在线视频| jazzjazz国产精品麻豆| 中国农村熟妇毛片视频| 乱伦一二三区| 宅男影院久久久,99| 欧美极品性爱天天射| 极品尤物自安慰| 亚洲av无码成人精品国产| 色婷婷亚洲婷婷| 欧美日韩国产中文精品字幕自在自线,| 婷婷五月av| 亚洲成人一二三区| 色在线69堂| 变态综合色| 国产强奸91| 丰满人妻大屁一区二区| 熟女丝袜视频| 青青草无码视频| 操一操摸一摸| 郑州宾馆老熟女露脸啪啪| 亚洲综合在线视频| 啊啊啊啊啊好大好舒服想要| 91女优在线观看| 91天天| 亚洲av强奸乱伦| 安徽熟妇视频| 国产一级αv免费看片| 国产激情久久| 国产激情在线观看| 久操网线| 亚洲日韩国产欧美综合v| 97超碰站| 日本操大逼| 人妻丰满熟妇一区二区三| 日本高清视频在线观看黄已三辽| 激情 欧美 亚洲 小说| 久九干| 精品久久97观看在线视频| 国产浮力影院第1页| 日本不卡码黄色| 黄色人人| 91 综合网| av日韩在线观看电影| 精品精品精品| 亚洲丝袜二区在线| 青娱乐日韩无码| 超碰97在线中文| 中文97国产| 精品视频免费在线一区| 日逼五月天| 日日不卡av| 在线免费观看高清无码视频| 中国AV美女| 九九九九九用不成了| 在线色导航| 亚洲AO在线| AV污污污污| 91亚洲黑人| 一二三区精品视频| 色综合五月天| 久久狠狠色噜噜狠狠狠狠97| 五月丁香啪啪啪| 99re超碰| 啊啊啊不要啊啊受不了了视频在线| 不卡中文字幕aⅴ在线| 97久久免费| 男人a天堂手机在线版| 美女上床网站| 一区二区三区精品黑丝白丝酒店对鸡 | 国产亚洲精品A在线观看下载| 内射中出日韩在线观看视频| 欧美区亚洲区偷拍区| 亚洲欧洲无码一区夜| 人人看人人摸人人色| 亚洲色图欧美一区二区不卡| 久久婷婷欧美| 五月综合色| 日韩国产乱子伦App| 性欧美91| 青青青艹在线视频| 少妇免费视频| 亚洲国产欧美中日韩成人综合视频| 久久少妇| 偷拍盗拍亚洲色图图片| 韩日精品福利视频一区不卡在线免| 97综合在线| 亚洲乱码国产乱码精网站| 日本精品五区| 国产精品久久久亚洲第一牛牛_在线观看| 青青青青草av在线观看| 色爽爽文学| 五月丁香久久| 日日夜夜天天| 天天看,天天做| 国产免a费看黄片在线| 精品无码一区二区三区| 久九色| 91麻豆天美| 国产成人欧美精品在线| 射久久| www国产无码| 久久天天艹| 无码国产Av| 26uuu国产成人综合| 操逼视频免费日韩无码| 欧美午夜一区二区三区| 爱av免费| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 精品国产72| 97干在线| 大香蕉综合| 午夜啪| 亚洲第一色页夜| 日韩偷拍一区二区三区| 成人26uuu| 日本人妻伦在线中文字幕| 日韩视频啪啪| 天天肏美女| 全国男人天堂网| 巨爆乳一区二区爆乳区| 青青草伊人久久| 日本精品一区二区不卡| 国产福利合集| 日本日逼高清| 国产性爱在线视频一区二区| 激情天天视频| 精品久久久九九九孕妇| 亚洲 小说 欧美 激情 另类| 色综合1991| 东京成人一区| 九九久久九九久久| 国产激情在线| 密乳无码| 艹比视频国产精品| 人人贴人人摸| 综合网色| 色女99一级片在线观看| 亚洲蜜臀视频精品久久| 欧美78P| 成人性爱高清视频免费看| 另类小说五月天| 国产精品视频在线播放 | 69人妻精品丰满熟女区| 国产亚洲精品美女| 久久精品熟妇丰满人妻99| jizzjizz欧美| 日本东京热大香蕉a片| 日日摸日日弄日日拍| 日韩在线一区高清在线| 国产精品青青草| 久久αⅴ| 五月天激情四射| 综合欧美日韩在线| 99久久久无码国产精品性啊聊| 午夜影美女日鸡鸡天天视频国产| 日韩人妻大香蕉| 午夜亚洲| 五月婷在线| 日韩精品人妻中文字幕不卡乱码| 人人操人人插 - 百度 - 百度| 精品丰满人妻一区二区三区免费观| 怡红院亚洲怡春院av| 日本成人电影资源网| 日本在线不卡v二区| …中文字幕亚洲乱,97人妻无码费视…| 午夜乱轮操逼视频免费看| 澳门成人网站久国产日韩| 午夜欧美精品久久久| 亚洲综合成人网| 日本一区二区中文字幕久久| 偷拍欧美综合| 20cm女自慰在线日韩欧美| 成功精品影院| 最新亚洲黄色免费电影 | 成人资源中文字幕在线观看| 太久视频| 久久久青青草| 欧美色66| 欧美特大黄一级片片免费| 九九操久久国产免费视频| 东京热亚洲一区二区| 四虎精品永久在线播放| 午夜精品久久久久| 婷婷五月天激情网| 欧美在线电影| 人妻社区男人天堂| 韩国一级做A片免费的| 久久国产AⅤ| 欧美后入式| 久久夜夜夜夜| 丁香五月综合| 福利视频一区二区微拍| 国产免费黄色一级大片| 情色五月天就去干| 青青操青娱乐| 九一亚洲国产免费| 欧美三级不卡| 一区二区三区色综合| 国产精品欧美在线观看| 精品国产乱码久久久久久久久1| 青青草久久一区网| 亚洲精品97| 国产小黄片在线免费观看| 炮色五月| 天躁夜夜躁2021| 超碰国产精品久| 日日夜夜精品视频| 欧美亚洲首页| 一二三区视频在线观看| 正宗无毛一线天嫩逼| 伊人aaa| 亚州中文字幕超碰97| 少妇99| 九九九九精品| 蜜臀久久99精品久久久久| 91麻豆一二三区| 综合97亚洲| 久极品在线观看| 五月婷婷六月色| 天天综合AV| 91激情国产| 一本一道人妻久久一区二区三区 | 爱丝福利| 蜜臀久久99精品久久久久久无删减 | 国产日韩中文字幕欧美| 日韩在线一区高清在线| 欧美色图在线视频少妇| 久久发布国产伦子伦精品| 大香蕉碰碰| 7月婷婷综合| 亚洲综合小视频小说在线观看| 99re69综合| 91成人久久| 鸥美中出| 日本精品成人无码| 九九内射在线| 亚洲一二三四区机械| 久污| 人妻中文字幕精品无码| 国产91久久九九免费精品无码| 黄片不用下载在线观看| 嗯~啊~快点 死我视频| 91欧美巨乳| 熟妇乱伦一区二区| 欧美人妻精品一区二区| 97日本超碰综合| 国产97在线播放| 91久久九九精品国产综合| 中国一区二区亚洲人妻| 天天干2区3区| 中文字幕熟女人妻丝袜| 日本一级婬片试看三分钟| www.婷婷六月天| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日本一级真人黄色性爱视频| 亚洲精品天堂久久A∨51成人漫| 婷婷激情五月综合| 五月开心久久AV官网| 人妻色偷色噜| 啊啊啊啊啊啊在线看| 久久熟女嫩草成人片免费| 黄色大片免费在线| 伊人天堂在线| 亚洲无码视频免费在线观看网址!| 国内毛片无码一级毛片| 色欲色香天天天综合网www-亚洲综合国| 婷婷午夜清品久久久久久久性色视频观| 韩国三级理论在线| 精品中文一区二区| 国产精品一级特黄aaa大片在线观看| 亚洲码专区| 精品日日人妻| 久久黄黄| 超碰97中文| 嗯嗯嗯啊啊啊操的我好爽| 欧美欧美啪啪视频| 色婷婷婷五月天激情四射| se吧提供91精品国产91久久久久久| 超碰中文字幕人妻草一区| 999精品国产高清一区二区| 亚洲污污网站| 国产成人99久久亚洲综合| 欧美 亚洲 另类 综合| 亚洲各类熟们中文字幕| 九九九精品美女| 日韩pv中文| 欧美黄色大片在线观看| 久久久久久裸体| 在线 制服丝袜中出 人妻| 久久精品视| 久久婷婷五月天| 欧美成人性爱视频在线播放| 99精品丰满人妻无码| 性欧美另类高清| 蜜乳Av成人片网站| 日韩啊V| 免费超碰97久久| 一及黄久一点| 色天堂在线观看| 综合性视频99| 葡萄牙性视频一二区| 超碰色综合| 国产伦乱91| 中文字幕日韩精品一区二区三区| 亚洲熟女乱色一区二区三区久久久| 成人怡红院| 国产欧美日本亚洲精品| 91天天综合日韩欧美| 精品久久久一本一道| 麻豆精品天美| 青青欧洲黑| 亚洲91av| 欧美日韩丝袜| 欧美性爱在线无码| 欧美黑人精品一区二区| 偷看洗澡一二三区美女| 中文字幕精品日韩中文字幕| 91骚妇| 人妻在线臀日韩| 日韩pv中文| 婷婷丁香久久| 亚洲午夜福利视频| 影音先锋乱| 青青久久手机线视频| 日韩一级特黄av毛片| 97婷婷色| 永久免费av无码网站国产app | 国产女性无套 免费观看| 香蕉综合网| 97色色色| 亚洲āv网址在线观看| 在线综合 亚洲 欧美中文字幕| 伊人专区一区二区三区| 1级黄色夫妻对换性交免费看| 约操熟妇| 99热这里只有精品99| 91人妻超碰| 好爽免费视频,| 欧洲精品二区| 黑人综合网| 一类无码操逼视频| 99久久综合网| 天美国产三级传媒| 久久久久久久久久久久欧美日| 欧美爱国产综合、| 精品国模无码| 狼人久草| 婷婷色综合| 999九九九九国产动| 久久久久少妇| 亚洲综合在线视频| 18禁久极品美女久久哦哟呀!| 欧美日综合| www网站黄| 欧美一区二区传媒| 丝袜足交视频| 九九激情网| 9ⅰ久久久天天| 不卡中文字幕aⅴ在线| 九九热精品| 人妻素股| 在线观看成人性爱免费小视频| 高清不卡国产| 免费试看60秒| 国产丝袜视频| 91老司机视频| 人妻熟女午夜精品在线| 香蕉精品二区二区| 亚洲无码99| 久久久555| 久久久com| 午夜国产综合视频在线观看 | 久热在线精品免费观看| 亚洲天堂人妻一区二区| 曰韩人妻中文字幕在线| 中文字幕91综合| 国产深喉视频一区二区| 亚洲天堂女优在线| 国产女同在线观看视频| 北条麻妃性愛视频| 强奸乱伦亚洲第一页| 欧美97视频| 亚洲天堂久久| 久久久久久久91| 亚洲男人天堂2012| 8050午夜少妇无码| 亚洲做性| 久久超碰、| 无码最新| 美女91AV| 热的中文 热的有码 热的国产| 浪人综合网| AV麻豆免费一区| 91精品人妻啪啪间| 久久久精品国产亚洲伊人| 国产操伦| 久久九色| 蜜区区视频79 | 欧美色干| 美女91色黄18| 射丝袜高跟鞋99| 中文字幕精品探花视频| 91狠狠狠| 嫩草影院永久在线制服丝袜| 性爱视频久久| 性影在线视频| 久久久一区二区三区麻豆| 久久爽爽精品| 国产女人高潮视频| 国产亚洲国产超碰| 中文字幕一区二区三区高清| 色噜噜狠狠色综无码久久合欧美| 亚洲图片 激情小说| 婷婷激情啪啪| 久99| 国产乱伦性爱AV| 99热婷婷| 精品成人无码| 欧美一区二区日韩三区| 5月婷婷6月六月丁香| 亚洲日本成人动漫| 久久成年片色大黄全免费网站| 第四色奇米影视777| 欧美色性爱| 中文字幕一区av| 九九九精品一区二区无码| 九九性爱网| 懂色AV中文| 亚洲乱妇p22| 91色人妻| 超碰激情808| 国产精品视频播放| 亚洲欧美setu| 久久精品99久久久久久| 大香蕉啪啪啪| 国产乱码久久| 青青青操| 四虎精品亚洲| 97超碰精品图片| 久久久一区二区三区四区五区| 国产精品乱码久久久久| 青娱乐啪啪视频| 手机看片日韩人妻| 中文字幕一区电影在线观看| 五月丁香六月激情| www.欧精品| 暖暖精品二区三区观看| 97二区四区| 欧美精品欧美精品系列| 亚洲综合另类色图| 久久久亚洲精品中文字幕人妻| 超碰午夜| 色综合av男人天堂| 狠狠久久亚洲欧美专区| 亚洲男人的天堂网| 91色香| 九九九九精品视频| 久久这里只精品免费福利| 九九精品99| 国产伦精品一区二区三区在线观| 婷婷激情一区二区三区俺也去| 手机av亚洲丝袜美腿日韩第一页二页| 91丝袜人妻| 欧美亚洲在线| 亚洲欧美不卡线| 黄色成人网久久久久久| 色香网| 国产精品一区二区三区在线| 日韩啪啪视频| 亚洲一区二区三区在线激情| 国产亚洲精品一区二区三区| 一级乱伦网站| 日韩免费大片一级播放| 亚欧毛片基地国产毛片基地| 久久综合激情| 亚洲国内精品成人不卡| 一个色导综合| 大香蕉AV丝袜| 天天日天天干天天操| 久久欧美1卡2卡3| 人人搞人人插人人操| 国产又色又爽又舒服的三级视频 | 不卡免费av在线播放| 精品国产片亚洲一区| 中国的操老妇女| 日韩欧美俄罗斯A片| 激情终合网| 日韩熟女无码| 人妻久久久久久| 久久精品国产亚洲粉嫩| 人人艹亚洲| 色综合潮| 97香蕉网| 人人透人人操| 2017天天透天天通天天擦| 国产真乱mangent| 67914亚洲精品| 校园春色 欧美| 国产超碰| 曰本精品久久久| 熟妇一区,二区,三区。| 亚洲精品一区二区精品| 久久久夜夜嗨免费视频| 国产美脚女优尤物在线观看| 福利视频香蕉免费一区二区在线| 亚州色交| 91亚洲人| 干B| 极品丝袜无码| 在线无码网站| 在线视频亚洲无码| 一区二区亚州激情久婷婷欧美| 99爱久久视频频| 天天色播| 97摸视频| 99久久久无码国产精品性啊聊| 91亚洲欧美综合高清在线| 亚洲五月婷婷| 操国产高清| 精品无码少妇| 超碰久在线天天做| 97超碰站|