99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yù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)練避坑指南 簡介這份藥品包裝盒目標(biāo)檢測數(shù)據(jù)集面向計(jì)算機(jī)視覺入門者、算法研究及工業(yè)質(zhì)檢項(xiàng)目開發(fā)者提供統(tǒng)一格式的真實(shí)場景圖像解決訓(xùn)練檢測模型時(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)練框架間無縫切換。數(shù)據(jù)集中僅含box一個(gè)類別共1468個(gè)矩形框均由labelImg人工框選標(biāo)注規(guī)范。已有1285人學(xué)習(xí)/下載拿到后可自行劃分訓(xùn)練集與驗(yàn)證集用于YOLO、Faster R-CNN等模型訓(xùn)練也可服務(wù)于藥品包裝檢測、藥房自動(dòng)盤點(diǎn)、包裝缺損識(shí)別等場景。1. 藥品包裝盒數(shù)據(jù)集1032張雙格式標(biāo)注圖省掉從零標(biāo)框的幾天時(shí)間做藥品包裝盒識(shí)別時(shí)最耽誤時(shí)間的不是寫模型而是標(biāo)數(shù)據(jù)。去過藥廠倉庫的人都知道藥盒反光、瓶身和盒子挨得近、同類包裝尺寸差異不大框稍微偏一點(diǎn)訓(xùn)練出來的效果就差很多。這份藥品包裝盒數(shù)據(jù)集正好解決這個(gè)問題1032張圖片已經(jīng)全部標(biāo)注完成同時(shí)給出VOC和YOLO兩種格式按需取用就能直接進(jìn)訓(xùn)練流程。整理這份筆記時(shí)我把目錄結(jié)構(gòu)、坐標(biāo)格式、訓(xùn)練命令和踩過的坑都過了一遍結(jié)論是它適合兩類人手頭有藥品檢測需求但不想從零標(biāo)框的開發(fā)者以及想用一份干凈數(shù)據(jù)練習(xí)YOLO目標(biāo)檢測完整流程的入門者。下面按“先看結(jié)構(gòu)→再訓(xùn)練→后避坑”的順序展開。2. 拆開壓縮包前先搞懂VOC與YOLO標(biāo)注目錄、坐標(biāo)與類別的三個(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í)代留下來的組織方式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。先不要急著開始訓(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)容是類別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是類別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算過去的。如果出現(xiàn)x_center或?qū)捀叽笥?那就是標(biāo)注越界了后面第5章會(huì)詳細(xì)說。2.3 一眼看清類別與劃分用一段腳本統(tǒng)計(jì)標(biāo)簽在開訓(xùn)之前我一般會(huì)先統(tǒng)計(jì)兩類信息類別數(shù)量以及每個(gè)類別在train/val/test里的分布。這個(gè)數(shù)據(jù)集從標(biāo)題看是藥品包裝盒最常見的標(biāo)注是單個(gè)medicine_box類但也不排除發(fā)布者把不同藥盒品牌標(biāo)成了多類。在寫data.yaml之前必須知道到底有幾個(gè)類別否則nc寫錯(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(類別id集合:, sorted(all_ids)) print(類別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])這段腳本做的事情很簡單遍歷所有l(wèi)abels/*.txt把每行第一個(gè)數(shù)字拿出來計(jì)數(shù)得到類別id是哪些、每個(gè)id出現(xiàn)多少次。然后反過來查JPEGImages里的jpg是否都有同名txt有缺就打印出具體文件名方便后面定位。參數(shù)上要注意兩點(diǎn)。第一類別id從0開始是YOLO系約定如果統(tǒng)計(jì)結(jié)果里出現(xiàn){1: 1032}而沒有任何0說明發(fā)布者把類別id從1開始編了訓(xùn)練前要把txt批量減1。第二腳本默認(rèn)labels是扁平目錄如果labels下還有train和val子目錄就把glob路徑改成labels//.txt。這里不要硬編碼絕對(duì)路徑方便在解壓目錄直接跑。3. 用YOLO訓(xùn)練藥盒檢測從數(shù)據(jù)重排到第一個(gè)best.pt3.1 把雙格式整理成YOLO標(biāo)準(zhǔn)目錄先用2.3的腳本確認(rèn)了類別和標(biāo)簽完整性接下來要把文件挪成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來重新放。這個(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é)尾就是為了兼容這兩種寫法。shutil.copy是復(fù)制而不是移動(dòng)保留原目錄文件這樣后續(xù)想對(duì)比VOC不會(huì)破壞原始數(shù)據(jù)。磁盤空間緊張時(shí)可以把copy改成move。3.2 寫data.yaml并檢查數(shù)據(jù)集train/val整理好后需要寫一個(gè)data.yaml告訴訓(xùn)練器類別名和路徑。放在數(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ù)說明path是根目錄train和val都是相對(duì)path的路徑。names的鍵從0開始順序和標(biāo)簽txt里的類別id嚴(yán)格對(duì)應(yīng)。如果你統(tǒng)計(jì)出來是多類names里要按順序列全比如0: box_a, 1: box_b。寫完先用一行命令驗(yàn)證數(shù)據(jù)集能否加載。yolo detect train datamedicine_box.yaml epochs0 batch1 device0epochs0是Ultralytics的一種快速檢查方式它不會(huì)真正訓(xùn)練只做數(shù)據(jù)集加載并打印train/val圖片數(shù)和類別數(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ù)集就緒接下來就是訓(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開始先用n跑通流程再看效果換sepochs默認(rèn)給100訓(xùn)練時(shí)會(huì)通過早停機(jī)制自動(dòng)截?cái)嗖挥脼榱藴悢?shù)去改imgsz保持640這是YOLO系列的默認(rèn)輸入尺寸如果藥盒在圖中比較小可以提高到960或1280但顯存占用和訓(xùn)練時(shí)間會(huì)明顯上漲batch在顯存允許范圍內(nèi)盡量大16G顯存跑yolov8n時(shí)batch16沒問題6G顯存就改batch8。訓(xùn)練過程中終端除了每輪的mAP還會(huì)打印box_loss、cls_loss、dfl_loss這幾個(gè)yolo損失函數(shù)分量。很多人只看最后的mAP50其實(shí)觀察損失曲線更有用如果loss在前20輪不降反升大部分情況是學(xué)習(xí)率過大或數(shù)據(jù)集劃分有問題如果loss降了但mAP不動(dòng)就要檢查是不是藥盒目標(biāo)本身太相似導(dǎo)致分類學(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)。藥盒檢測通常不需要太多翻轉(zhuǎn)因?yàn)榘b盒上的文字方向有實(shí)際含義豎直方向翻轉(zhuǎn)反而會(huì)讓模型學(xué)到錯(cuò)誤特征。3.4 訓(xùn)練產(chǎ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)練過程的匯總圖從上到下分別是box_loss、cls_loss、dfl_loss、precision、recall、mAP50、mAP50-95??催@條曲線如果最后的mAP50在0.5以下大概率是標(biāo)注不全或類別混淆如果mAP50能到0.8以上但mAP50-95掉得厲害說明框沒有貼合邊界藥盒邊緣被壓線了。這些都是經(jīng)驗(yàn)值不同場景會(huì)有浮動(dòng)但能幫你在調(diào)參前快速定位問題方向。驗(yàn)證時(shí)還可以看confusion_matrix.png理清哪兩類容易互相誤檢。4. 反向使用VOC格式XML轉(zhuǎn)YOLO腳本與舊工程兼容方案4.1 為什么VOC格式到今天還有用雙格式數(shù)據(jù)集里YOLO txt顯然是新工程首選那XML還有必要留嗎有的而且用到的頻率不低。本地標(biāo)注工具如果不換labelImg導(dǎo)出就是VOC XML很多公司老代碼庫里的檢測pipeline只寫了讀VOC的Loader比如基于Detectron2或Faster R-CNN的工程還有做數(shù)據(jù)審核的同事習(xí)慣在labelImg里打開XML回看標(biāo)注。這種情況下直接把訓(xùn)練用的txt再轉(zhuǎn)回XML比重新標(biāo)注快得多。Pascal VOC這套XML標(biāo)準(zhǔn)雖然老但勝在結(jié)構(gòu)透明任何語言都能用標(biāo)準(zhǔn)庫解析不帶額外依賴。所以拿到“VOCYOLO格式”的數(shù)據(jù)集等于同時(shí)拿到了一條通往老框架和YOLO訓(xùn)練的通路。而反過來當(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)庫xml.etree.ElementTree解析XML圖片寬高直接從XML的size節(jié)點(diǎn)讀取不需要額外打開圖片速度會(huì)快很多。import xml.etree.ElementTree as ET import glob import os CLASS_NAMES [medicine_box] # 需要和訓(xùn)練用的類別順序保持一致 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è)值得說的點(diǎn)。findtext(size/width)能直接拿到size下的width文本比一層層find再.text省事bndbox里的xmin、ymin這些XML節(jié)點(diǎn)文本存的是字符串轉(zhuǎn)float后再做算術(shù)避免字符串拼接造成隱式錯(cuò)誤最后寫入時(shí)小數(shù)位統(tǒng)一保留6位訓(xùn)練解析時(shí)不會(huì)因?yàn)榫葐栴}丟邊界。CLASS_NAMES的順序必須和最終訓(xùn)練yaml里names順序完全一致否則框還是那些框但類別標(biāo)簽全錯(cuò)位了。4.3 反過來把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)沒有圖片尺寸信息。實(shí)際工程里圖片尺寸可以從JPEGImages下同名jpg用PIL讀出來但那樣會(huì)慢所以一般先用一次glob讀出所有圖片尺寸存成字典再批量轉(zhuǎn)換。另一個(gè)細(xì)節(jié)還原出來的xmin/ymin用取整輸出四舍五入到整像素labelImg讀進(jìn)去不會(huì)有問題如果要給訓(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. 避坑這類數(shù)據(jù)集最常見的四個(gè)翻車點(diǎn)5.1 類別數(shù)對(duì)不上訓(xùn)練報(bào) class index out of range 怎么查訓(xùn)練剛開始不到兩分鐘就崩常見報(bào)錯(cuò)是AssertionError: class index ... out of range或者Invalid label file。原因基本是三類data.yaml的nc和names沒有嚴(yán)格對(duì)齊labels目錄里混入了別的數(shù)據(jù)集txt類別id超過了nc發(fā)布者把類別id從1開始計(jì)數(shù)導(dǎo)致最大id超出names長度。解決方法是先跑2.3的統(tǒng)計(jì)腳本把整個(gè)labels目錄的類別id列出來。你要確認(rèn)最小id是0最大id小于nc。然后打開classes.txt和xml里的name比對(duì)確認(rèn)names順序不是按字母序而是按訓(xùn)練字典。我遇到過更隱蔽的情況xml里只有box一個(gè)類但某個(gè)txt里混著一行舊的類別id 5這種通常來自發(fā)布者合并數(shù)據(jù)集時(shí)漏刪文件直接用文件路徑定位后刪掉那一行即可。5.2 藥盒緊貼圖邊letterbox后框越界漏檢現(xiàn)象是訓(xùn)練正常但val圖片里靠邊的藥盒經(jīng)常丟框。原因是拍照時(shí)藥盒本身頂著圖邊緣XML里的xmax或ymax超過圖片寬高YOLO歸一化后變成1.0x訓(xùn)練時(shí)letterbox會(huì)在原圖周圍填充灰邊1.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)的破壞。藥盒這類物體邊緣特征靠文字放大太多反而丟細(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曲線不再上升。原因是數(shù)據(jù)劃分批次時(shí)連續(xù)拍攝的同場景照片被拆去了train和val藥盒位置、光線都幾乎一樣訓(xùn)練時(shí)模型等于見過val圖片指標(biāo)虛高實(shí)際部署立刻掉點(diǎ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張圖沒問題更大的數(shù)據(jù)集要先做索引。相似判斷可能把不同藥盒誤判成近似閾值5可以按實(shí)際情況調(diào)。排除重復(fù)圖后再把同一時(shí)間戳前綴或同序列號(hào)的文件分到同一集合沒有這類元數(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寫的是反斜杠相對(duì)路徑對(duì)不上還有rar解壓偶爾生成._開頭的AppleDouble文件被訓(xùn)練器當(dāng)成標(biāo)注文件。解決是三步走所有目錄改成純英文無空格yaml統(tǒng)一用正斜杠解壓后先跑一句find . -name ._* -delete清理多余文件再數(shù)圖片和標(biāo)簽數(shù)量缺少單個(gè)文件會(huì)直接報(bào)no labels found。注意有些系統(tǒng)解開rar后文件權(quán)限是只讀建議chmod -R uw dataset一鍵開放寫權(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ù)測圖片寫進(jìn)runs/detect/val目錄。我一般會(huì)重點(diǎn)看預(yù)測圖里藥盒之間的疊放案例藥店照片常出現(xiàn)盒子之間互相壓邊val結(jié)果圖能直觀看到是不是漏檢了壓住的那一盒這種預(yù)測圖比數(shù)字更容易發(fā)現(xiàn)問題。如果mAP50超過0.85但val預(yù)測圖里還是有漏框大概率是標(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ì)直接開訓(xùn)而是先花半小時(shí)把目錄結(jié)構(gòu)、標(biāo)簽統(tǒng)計(jì)和劃分完整性過一遍確認(rèn)沒問題再寫訓(xùn)練命令。這個(gè)習(xí)慣幫我省了很多翻車的時(shí)間尤其是在“VOCYOLO雙格式”這種看起來沒什么坑、實(shí)際上坑都在文件里的場景。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天精品视频在线观看视频| 久久亚洲婷婷| 草操网| 中文超碰视在线| 五月婷婷av| 97韩国久久电影院| www.久久五月天.com| 久久婷婷五月综合激情国产| www.ywav| 五月天激情色色| 超碰在线免费| 久久色五月| 99青青草| 久热这里只有精品视频6| 久久久性爱网| 久婷久婷| 1024成人在线观看| aaa9区免费在线观看| 无码激情AAAAA片-区区| 久色激情| 色色国产| 9久精品| 色播五月综合网| 婷婷综合在线观看视频| 五月婷婷综合色拍| 天天干、天天日日| 特级片神马电影| 亚洲AV成人在线| 热久91| 免费视频WWW在线观看网站| 亚洲午夜电影| 色婷婷狠狠18禁| 99综合| 99爱免费在线视频| 天天做天天摸| 婷婷五月天播播| 色色欧美色色| 五月天婷婷在线AN| 久色大| 六月丁香婷婷综合在线| www.99热在线| 婷婷色丁香五月| 欧美va在线| 夜夜操夜夜姧| 九九热在线99| 丁香六月婷| 性日本精品| 亚洲五月综合色播| 婷婷五月六月激情| 天天综合色| 婷婷久久色| 丁香五月五婷| 久久99网| 六月丁香五月天| 天天久久狠狠色综合| 久久久无码精品成人A片小说 | 丁香五月综合无码趴趴| 日韩高清成人| 天天日天天狠狠操| 五月色天五月色| www.思思99热| 亚洲色网络| 狠狠草在线观看| 丁香成人五月天| 五月丁香五月婷婷| 狠狠狠狠狠狠| 狠狠一日| 玖玖无码中文| 先锋资源996| 狠狠色性| 99re这里| 99热成人| 亚洲成人精品三区| 九九亚洲视频| 伊人丁香花综合影院| 九九久久综合网站| 曰曰久久| 性色九九| 九月婷婷| 五月天影院| 婷婷成年人免费视频| 成人av在线网址| 超碰成人电影| 99综合五月免费视频色婷婷| 综合激情在线| 色色色色色色综合| 丁香婷婷性爱| 色五月,com| 国产av天天插天天操天天爽| 9191avse| 五月综合婷婷久久在线| 女同激情久久av久久| 99色热| 五月婷婷丁香六月| 91丨九色熟女丨首页| 91色五月| 丁香五月天AV| 亚洲精品V天堂中文字幕 | 99 频99热国里只有精品| 色人妻五月| 欧美成人精品A片免费一区99| 九九亚洲综合| 五月婷婷黄网站大全| 人妻激情视频| 色情五月天婷婷| 久久人妻精品| 九九热123| 五月间天堂综合| 99色色爰| 色五月婷婷在线| 久热这里只有精品6| 狠狠精品干练久久久无码中文字幕| 国产亚洲99久久精品熟女| 日韩人妻在线观看| 天天干天天操天天拍| 99热这里只有精品2| 国产精产国品一二三在观看| 天天爱天天做天天日| 可以免费看AV网站| 五月大香蕉| 丁香六月综合激| 亚洲综合视频天天精品| 96精品久久久久久久久| www,色综合| 亚洲 在线 性爱| 婷婷五月天AV在线| 99热精品网| 99er精品| 夜夜干天天操| 91九色国产| 99er6热在线观看精品6| 成人午夜视频精品一区| 五月天天天综合| 欧美综合激情丁香五月六月婷| 天天草天天爽| 婷婷五月色播网| www五月天com| 99精品久| 天天操夜夜爽歪歪| 99只有精品9| 久久er这里只有精品| 播播网色播播| 中文字幕+中文在线| 婷婷五月丁香综合激情小说| 丁香成人五月天| 五月天婷婷爱| 人人摸人人操人人爽| 婷婷五月激情综合啪啪| 日韩AAAAAAAAAAA片| av免费在线看不卡无毒| 久久婷婷五月激情网站| 丰满少妇乱A片无码| 久久久人妻人伦| 九月婷婷激情| 国产9色在线/日韩| www.91久久| 99热欧美偷拍| 五月丁香色婷婷久久| 日本成人噜噜| 婷婷丁香五月亚洲欧美| 五月天自拍网| 日本一级淫| 激情五月婷婷综合| 激情丁香久久| 色色婷婷丁香| 2020夜夜操天天爽| 欧美A A A A A| 人妻熟妇六区| 超碰天堂网| 亚洲AAA| 激情色播| 五月婷婷影视| 激情九九九九| 九热免费视频| 女性自慰系列第五页| 久热婷婷| 99热国产国产| 激情人妻蜜夜系列区| 天天插轮理| 伊人激情AV一区二区三区| 亚洲国产色婷婷| 91久久婷婷| 亚洲视99| 欧美97超碰| 狠狠做深爱婷婷久久综合一区| 久久天堂女人| 91久久九久久九久久九久久九久久| 久久99久久久| 六月婷婷色综合| 婷婷色5月天在线。| 香蕉久久av一区二区三区| 婷婷区日本| 第四色在线观看| 五月天婷婷青青| 色图亚洲91| 欧亚中文A V| 日屌日日操日日色| www久久99| h在线看免费版在线看| 欧美五月丁香在线| 六月婷婷天堂| 婷婷精品视频| 99热精地址| 色吊操色妞| a久久| 99综合网| 99久久综合狠狠综合久久| 99视频这里有精品免费观看| 婷婷久久丁香五月| 六月婷婷色色网| 99爱在线免费视频| 国内裸舞二区| 激情图片婷婷| 热热色色五月天婷婷| 夜夜骑天天操| 天天操天天操综合| 激情亚洲婷婷| 99精品视频播放| 亚洲综合另类| 五月天欧美激情| 91 九色 入口| 超碰成人公开| www久| 五月丁香久久激情网| 国产超碰av| 亚洲精品99| 五月婷婷激情色情网| 午夜免费高清AV片| 97干干干丁香| 日韩中文欧美| 丁香婷婷激情五月天无毒不卡蜜桃| 狠狠丁香| 欧美色碰| 沈娜娜av| 久久99国产综合精品免费| 99爱视频在线| 九九热手机在线视频| 26.uuu丁香五月婷婷| 久久人妻精品| www.激情| 五月婷婷六月丁香| 婷婷五点亚洲| 五月成人丁香av91| 五月婷婷啪啪| 激情色播| 九九热re99re6在线精品| 五月天播播综合| 久久99激情| 国产精品日本一区二区在线播放| 99精品热| 99黄色性生活| 五月丁香啪啪综合| 丁香五月人妻| 六月天丁婷婷| 五月丁香色婷婷基地| 九九激情网| 色色网91| 99久久婷婷综合| 精品夜夜澡人妻无码AV| 亚洲色五月天| 九九这里有精品| 久热99热| 激情婷婷久久| 五月久久婷婷天堂视频| 99亚洲精品| 狠狠五月天婷婷激情网。| 金桔一区二区ab地址| 人橾人| 亚洲成人电影在线免费观看| 九九99九九精品免费| 色五月激情五月天| 激情久久五月天| 热99在线| 激情五月天小说网| 另类激情中文| 婷婷丁香五月婷婷| 七七九色| 99久久精| 九九激情综合| 大香蕉伊人久久| 操九色| 激情丁香久久| 亚洲综合无码| 久久之人妻| 99网址在线看| 六月丁香啪啪啪| 久久久A级视频| 91狼友视频在线观看| 午夜69成人做爰视频| 九九在线视频| 色色色香蕉五月婷| 五月婷久草| 亚洲av电影在线| 色五月婷婷777| 国产亚洲精品久久久久苍井松| 综合五月天| 丁香五月偷拍| 欧美色片中文字幕久久久久| www天堂99| 91色五月在线观看| 《久久综合九色综合97婷婷| 91成人看片| 操人久久| 99国产小视频免费观看| α久久| 久久久久99精品成人片| 五月丁香中文字幕| 五月婷婷亚洲| 色婷婷丁香五月| 精品国产乱码久久久久夜深人妻| 精品视频二级九九| 五月丁香在线观看99| 亚洲超级碰| 久久婷婷啪啪视频| 久er7久热| 天天噪夜夜爽| 噜一噜在线| 99九无网码| 婷婷精品| 成人 在线观看国产| 影音先锋五月天婷婷丁香在线观看| 精品操逼一区二区| 99热偷拍| 丁香五月亚洲无码| 丁香五月社区| 精品一区二区三区免费毛片爱| 另类少妇人与禽zOZZ0性伦| 少妇搡BBBB搡BBB搡毛茸茸| OYIWbGcPu8H| 激情伊人网| 99精品久久久久久久婷婷| 1024人妻| 91人人爽久久涩噜噜噜| 操骚货在线| 中文字幕成人网站| www.91在线观看| 伊人99热| 婷婷五月综合视频免费播放| 99re在线观看| 九九精品碰| 中文字幕在线免费观看视频| 第四色在线观看| 色约约视频一区二区三区四区五区 | 久草九一| 天天做天天爱天天爽夜夜揉| 天天草比天天爽| 狠狠干无码| 日B日潘金莲BB| 国产精品视频免费看| 色频玖玖五月天| 亚洲激情免费视频观看| 国产激情综合| www.99精品视频| 性爱在线播放av| www.minyis.com【JT】实力收量可预付QQ2101460746| 91色五月| 国产精品成人网站| 色五月五月丁香| 五月欧美丁香在线观看| 大战熟女丰满人妻AV| 久久久久久久久久久月丁| 国产99精品免费视频| 色欲一二三| 色99视频| 色啪网| 亚洲99精品欧美一区| 丁香五月天婷婷激情| 六月婷婷操逼| 天天综合亚洲综合| 超碰在线99| 看全色黄大色大片| 日日操天天| 成人va在线播放| 亚洲视频无| 五月综亚洲| 97综合在线| 国产精品24r| 思恩热国产视频右线观看| 天天搞天天爽| 久久综合9| 99热精品少| 激情五月婷| 五月天伊人久久| 天天色伊人| 91九色国产| 99资源人人| 综合狠狠干| 婷婷丁香五月av| 夜夜撸夜夜骑| 色护士综合| 99re思思热这里| 婷婷五月色| 97干网站| 丁香五月首页| www九九| 婷婷五月天小说| 婷婷香蕉香| 婷婷五月天深爱| 饮料下药迷倒漂亮女同事强干| 激情文学第四色婷婷丁香五月| www夜夜操com| 97色碰碰公开视频| 五月天婷婷无码视频| 成人美女网| 亚洲性图一区二区三区| 免费视频无码| 亚洲99视频| 男女啪啪做爰高潮无遮挡| 激情图片亚洲| 激情五月综合| 亚洲 精品 综合 精品| 伊人五月天在线| 久操大香蕉| 中文字幕在线播放视频| 永久的网站AAAA| 久久九九爽| 欧美六月| 日韩啪啪视频| 襙逼网| 五月婷婷色欲| 操操操AV| 超色欲天天| 激情99| 欧美啪啪9| 另类专区在线| 五月婷婷丁香啪啪| www.91av.com| 久色欧美| 99热爱爱干干日| 激情文学久久| www.sd-xiangsu.cpm| 嫩草AV久久伊人妇女超级A| 婷婷五月免费观看| 7777久久亚洲中文字幕| 五月天丁香综合久久国产| 九九热自拍| 99综合| 婷婷五六月丁香| 超碰v| 久色网五月| 久热9热| 成人AV中文字幕| 97啪啪| 五月综合777| 影音先锋 萱萱| 思思热AV| AV中文在线| 农村熟妇高潮精品A片| 五月丁香欧美在线| 五月丁香琪琪| 黄色三级毛片中字| 亚洲网站999| 六月激情网| 99视频精品视频| 两性婷婷丁香五月| 亚洲六月色婷婷| 五月丁香六月综合情在线观看| 国产做爰视频免费播放| 播五月丁香三月婷婷| 超碰人人色| 少妇人妻人伦A片| 天天激情站| 91精品久久久久久| 91在线精品一区二区| 日韩久热| 伊人婷婷五月天av| 99综合免费视频| 婷婷狠狠综合网入口| 超碰资源在线| 综合六月激情婷婷| 亚洲小视频免费播放| 激情性爱五月天网页| 中文久久婷婷| 中文字幕性爱丰满| 99久久久99久久91熟女| 亚州激情九月| 中字幕视频在线永久在线观看免费| 五月天婷婷综合免费| 九九热这里只有精品556| 97在线日韩| 婷婷导航| 99热这里只有精品在线观看| 麻豆123区| 亚洲AV网站| 欧在线一区| 伊人五月天| 六月丁香激情| 99re在线这里只有精品视频首页| jiujiu热在线视频| 五月天狠狠色| 久久六月天| 亚洲综合激情五月天婷婷| www.激情五月天.con| 九九色逼| 玖玖综合色| 五月激激激情综合网| 五月天天丁香婷婷在线中| 怡红院91a√| 精品无码久久久久久久久| 久久综合性| 五月第四色| 色色99色色| 五月丁香啪啪综合网| 另类亚洲电影| 夜色热久| 成人综合视频网址| 202丰满熟女妇大| 成人片在线播放| 九九在线精点品| 国产精品A片| 激情婷婷丁香色五月综合| 51XX午夜影福利| 色婷亚洲| 五月天丁香综合在线| 五月天婷婷丁香成人网| 九九日伊人| 天天日天天操心| 在线中文字幕av| 色欧洲| 丁香六月久| 色婷婷五月天综合网| 激情网站综合五月天| 五月久久五月激情| 欧美成人Va| 玖玖色综合| 97人妻碰碰中文无码久热丝袜| 秋霞日本免费毛片A片| 丁香五月天社区婷婷| 日韩人妻AV在线| www.99热国产| 五月天丁香婷婷视频网址| 无码少妇高潮喷水A片免费| 丁香啪啪| 国产成人精品123区免费视频| 天天爽天天干| 狠狠草婷婷| 五月天六月丁香| 丁香五月天激情网址| 99热大全在线观看| 丁香婷婷五月天色综合| 人人添人人| 激情五月com| 婷婷深爱五月丁香网| 五月丁香色婷婷熟女| 婷婷六月激情在线视频| 这里只有精品在线视频在线观看| 色偷偷综合| 亚卅毛片| 99热99色| 色五月色综合| 激情骚五月| 婷婷五月天午夜激情影院| 丁香五月六月综合激情| 7777激情基地| 天天日狠狠| 国际国外精品欧洲南美洲专区无码不卡| 天天干天天操天天上| 国产精品婷婷午夜在线观看| 性色天| 久久久com| 91狠狠综合久久久| 天天色2017| 五月婷婷色色网址| a在线观看| 99这里有精品免费| 狠狠搞亚洲| 夜色综合网| 激情文学久久| 爆乳熟妇一区二区三区四区| www热久久yy9| 五月激情四射婷婷丁香| 丁香色五月婷婷91桃色| 天堂综合久| 我爱大香蕉| 亚洲操女| www.久久久.com| 99热精品10| 狠狠搞亚洲| 99日本在线| 成人午夜视频精品一区| 亚洲在线视频321| 99热欧美在线观看| se影音资源在线观看| 亚洲视频五区| 五月停停大香蕉| 久久婷婷婷| 热99视频| 大香网伊人久久综合| 中文字幕乱码亚洲精品一区| 超碰国产AV| 欧洲亚洲免费视频9| 婷婷伊人网| 激情五月天色色网| AV在线收看| 怕怕視頻| 婷婷五月天激情开心网| 最近中文字幕大全免费版在线| 狠狠色狠狠色综合日日91| 久久久人妻人伦| 色色色.COM| 婷婷丁香六月天| 一区二区乱视频码| 天天拍夜夜撸| 婷婷激情视频| 丁香婷婷久久五月天| 色五月激情视频在线综合| www.丁香五月| 免费观看的av| 丁香五月91| 婷婷五月视频| 99色色| 棕合影院色色| rr天天操| 婷婷在线网| 五月丁香美女视频| 五月天婷婷网站888| 九九九激情网| 管管補管管紱| 亚洲操B| 狠狠爱婷婷丁香| 伦99热| 婷婷俺去也| 九九大香视频| 六月婷婷开心| 五月丁香狠狠爱婷婷综合| 免费的日逼视频| 人妻AV在线观看| Av在线资源| 天天色天天干天天插| 久久综合中文| 99热精品观看| 精品人妻一区| 亚洲不卡123| 草婷婷在线| 91久久99久久91熟女精品| 六月99天天婷婷激情综合| 色综合色| 青青日韩| 婷婷五月天影视首页| 丁香六月婷婷激情| 五月婷婷伊人久久| 欧美激情综合五月色丁香| 很很操96| 天天爽天天| 色婷婷五月开心六月综合| 五月婷婷激情网| 天天搞天天色综合| 9久热在线视频精品| 中文字幕黄色电影网址| 日本天天色| 色色五月天com| 丁香五月天激情四射网| 日韩美一级毛卡片| 激情五月天小说| 婷婷操无码| 五月丁香久久综合精品| 人妻丰满精品一区二区A片| 五月天色婷婷激情综合| 丁香六月婷婷久久综合| 欧美久久五月婷婷| 强壮的公次次弄得我高潮A片日本 | 欧美色激情四射| 激情五月丁香在线观看直播| 日韩AV免费看| 日日懆天天懆| 影音先锋91视频| 天天碰夜夜爽| 婷婷玖玖丁香| 欧美精品啪啪| 色婷婷影视| 天天干,夜夜爽| 狠狠五月丁香色婷| 六月婷婷综合网2| 五月婷婷网五月在线| 婷婷色基地在线看 | 永久热91| 91九色精品熟女内射| 激情综合5| 专区无日本视频高清8| 色情久久久| 综合 蜜月 婷婷| 色色五月婷婷久久| 婷婷六月丁香激情| 爱超碰性| 99热综合网| 无码区婷婷五月花开| 色色色色网站| 开心五月丁香啪| 国产亚洲av片| 五月香婷婷| 六月婷婷日| 婷婷五月天性爱视频| 五月丁香六月婷婷啪啪| 色九月婷婷| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香五月首页| 精品亚洲国产成人A片在线鸭王| 伊人狠狠综合| 亚洲成人无码网站| 99无码视频| 婷婷精品性性性性性性性| 9福利性视频欧美| 久久久中文| 久久aaaa片一区二区| 蜜臀av粉嫩av懂色av| 婷婷五月天激情网| 激情六月综合| 婷婷色播色五月五色五月天色妇| 色在线免费观看| 狠狠色综合网| 日日夜夜狠狠干| 91viP在线看| 婷婷五月久久| 色色色五月婷婷| 五月天久久成人| 久久久五月婷婷| 无码人妻少妇色欲AV一区二区 | 九九色综合| 任我肏视频精品| 色播五月婷婷| 噜噜吧天天爱| 中文无码精品一区二区三区| 丁香婷婷五月综合影院| 超91热| 久/久精品99看9| 99综合激情久久精品久久| 狠狠爱综合| 影音先锋五月天婷婷丁香在线观看| 色情五月婷婷| 这里只有精品1| 五月色导航| 亚洲综合99| 日本成人噜噜| 天天色综合色色色色色。| 国产色99| 丁香婷婷九月在线| 婷婷五月天基地| 开心婷婷中文字幕| 久久亚洲婷婷| 小视频在线亚洲| 生活片五区| 丁香五月婷婷五月基地| 农村熟妇高潮精品A片| 色九月婷婷综合| 婷婷王月天影院| 狠狠va| 九九热av| 91|九色|动漫| www狠狠爱com| 色婷婷激情Av久久久| 五月天婷婷色色| 91超级碰碰| 五月丁香激情综合| 男人的天堂五月丁香| 五月婷婷色男女| 91操操| 国产精品成人AV在线| 五月丁香趴趴| 92久操视频| 国产性爱大片久久| 超碰在线观看三级片| 色五月婷婷五月天| 激情小说视频图片| 91九色精品女同系列| 六月婷婷五月丁香| 26uuu亚洲精品国产| 五月丁香久久呀| 五月丁六月香av| 狠狠做五月婷婷| 婷婷丁香视频在线观看免费| 99久热在线精品| 久久综合中文| 日本久久高清| 狠狠人妻色综合| 97色女人在线| 91九色在线视频| 丁香五月777| 五月天婷综合| 久久综合影院| 色婷久九| 色色色婷婷五月天| 婷婷五月天久久久| 深爱五月月天| 思思热久在线观看视频| 79亚洲精品少妇| 亚洲日韩人妻操逼| 色国产五月| 婷婷5月开心6月| 九九视频热| 婷婷五月深深爱| 国产综合网在线| 能看的av网站| 超级碰碰碰97免费| 婷婷五月天色色| 天天综合精品| 91打屁股免费看| 久热A片| 欧美超碰亚洲| 天堂成人久久| 色九九综合| 人人色婷婷五月天| 色视五月天婷婷| 丁香五月色五月婷婷宗合| 婷婷五月天免费视频在线观看| 亚洲成人黄色网| www.天天日| 欧洲不卡视频| 欧洲色色| 97碰碰叉| 色五月大| 亚洲综合网区| 2025天天爽天天摸| 色色性爱视频| 色色五月天激情| 99国产精品久久久久久久久久久 | 丁香五月综合激情久久潮喷| 五月丁香亚洲综合网| 婷婷五月天激情电影小说| 狼人狠狠操| 日日夜夜狠狠| 丁香婷婷五月天成人| 991国产精选视频在线播放下载| 超碰人人干| 五月天激情网址| 国产视频婷婷| 日韩色色网| 五月在在观看| 婷婷婷婷婷婷婷婷| 九九热视频在线观看| 五月J香蕉婷婷| 五月丁香在线观看99| 《诡秘之主》在线观看| 精品色色色| 久久九九爽| 国产欧美日韩综合精品一区二区| 热久69| 第四色色六月色综合| 欧美色五月天| 五月丁香在线观看| 激情综合丁香| 99色这里| 婷婷香五月天| www久| 日韩性爱无码| 天天综合色丁香| 五月激情综合美女久久| 五月激情婷婷丁香| 五月丁香婷婷狠狠操| 婷婷导航| 色婷婷五月天激情在线观看| AV九九| 超碰av天堂| 婷婷五月激情片| 精品久久久999| 大香蕉在九| 9久热| 丁香六月激情国产| 色婷五月天| 草榴视频网| 天天干天天干天天干天天干天天干天天| 98色花堂98t.R| 七月丁香婷婷 色色| 99久久婷婷国产综合精品草原| 久久性爱视频这里只有精品| 97福利视频| 夜夜大香蕉婷婷丁香| 综合图区激情| 色优久久| 五月色婷婷中文字幕| 激情五月综合网最新 | 人人摸人人| 五月婷婷香蕉| 免费AV黄在线播放| 大香蕉啪啪| 成人va在线| 色视五月天婷婷| 色情婷婷五月天| 色娸娸综合网| 天天爱夜夜爽| 淫五月停停| 99re思思在线视频| 久久久婷| 久久五月天色婷婷| 26uuu精品一区二区| 久久全意婷婷| 色国产五月| A久久| 日本三级日本三级三级人妇四虎| 六月丁香五月天| 日产精品一线二线三线芒果| 丁香午月AV中文字幕| 操人无码| 在线成人网址| 久久色9| 丁香天堂夜| 婷婷五月天电影区小说区| 天久综合91综合首页| 激情综合4月| 丁香五月婷久久| 丁香婷婷五月综合影院| 天天草天天爽| 欧美激情伊人| 久久婷婷五月天蜜桃| 日比视频91| 激情婷婷丁香色五月| 四川女人毛多水多A片| 婷婷五月天成人动漫 | 熟女色专区| 79精品视频在线观看,| 99噜噜| 九九综合伊人| 超碰在线免费| 日本久久高清| 亚洲操人| 五月丁香啪啪网| 婷婷大香蕉| 婷婷丁香18| 婷五月丁香俺| 久久亚洲婷婷| 丁香五月天婷婷久久综合| 亚洲视频在线观看| 丁香五月天激情AV| 色婷婷很很丝袜| 日操夜撸| 综合五月丁香97| 天天插天天干| 久久99精品视频| 五月丁香婷婷基地| 五月香蕉综合| 牛色色碰| 亚洲人妻五月丁香婷婷| 最熟少妇乱码| 久久这里只有精品99| 久婷久婷激情肉| 国产成人av在线播放| 国产亚洲色婷婷久久99精品91| 亭亭五月丁香五月天激情| 888精品福利地址| 日本少妇裸体做爰高潮片 | 天天日天天久久青青| 婷婷五月综合视频| 婷婷第一页| www.婷婷五月天| 丁香五月花婷婷开心| 男男野外做爰全过程69| 丁香五月婷在线| 日都一级A片| 97啪啪| 日本色婷婷综合| 99操不停| 99久久久免费| 天天肏天天插| 欧美婷婷丁香五月| 五月丁香免费看| 九九在线免费观看| 六月婷婷视频| 99激情| 天天爽天天草| 色色色国产| 人妻AV中文系列| 色综合色色色色色| 久热中文字幕| 国产偷人爽久久久久久老妇APP| 天天色综合网1| 超碰在线人人| 亚洲性爱AV在线| 182TV大香蕉| 亚洲婷婷五月草久| 成人AV网站在线| 久久五月天婷婷| 五月激情婷婷丁香| a色色片| 五月婷天堂视频| 丁香五月Av| 99久久大片| www.久久爱| 欧美高潮9| 久草五月天| 色色哒五月婷婷六月丁香| 在线播放中文字幕| 婷婷操无码| 久久久网站| 婷婷色激情五月天| 人人草成人视频| 欧美日韩日韩成人| 激情五月丁香五月| 99亚洲视频| 六月色婷婷欧美| 丁香婷婷91在线观看视频| 嫩草AV久久伊人妇女超级A| 五月亭亭开心网| 婷婷五月精品在线| 色婷婷综合久久久久| 99婷五月| 亚洲激情网| 婷婷久月| 5月婷婷性视频| 五月丁香色色| 31色区视频免费看| 国产亚洲精品久久久久久牛牛| 久久精品夜色噜噜亚洲a∨| 99久久成人| 97操碰| 激情五月天99色| se色婷婷视频| 色五月婷婷中文字幕| 久久99综合网| 激情五月天色婷婷| 操国产人妻| 97精品欧美91久久久久久久| 色综合色色色色色色综合| 欧美电影在线播放| 婷婷五月成人| 天天色99| 操逼棍操逼| 色综合爱综合| 开心婷婷中文字慕| 超碰97免费在线| 天天视频精品9| 狠狠CAO日日穞夜夜穞AV| 99免费| 站长推荐无码播放| 日本人人xxx| 日日做天天操夜夜爽| 美女丁香五月天| 开心五月婷婷激情| 中文精品在| 啪啪六月婷婷| 九九色天堂| 9|在线观看视频| 日韩人妻白浆视频系列| 丁香六月婷婷久久综合| 特级西西4444www无码| 色五月婷婷基地| 色噜噜97视频在线观看| 五月天婷婷乱论小说| 91精品综合久久久久久五月丁香| 第一区久久网站| 99热这里只有精品2016| 六月伊人婷婷| www.狠狠狠狠| 99热99思午夜精品| 婷婷丁香五月天色播网站| 99re这里只有精品9| 久久婷婷五月| 大香蕉五月天| 色婷婷电影| 亚洲综合在线伊人婷| 噜噜色天天开心| 丁香六月开心| 五月丁香网av| 99热这是里只有精品| 九九热亚洲中文在线观看免费| 久操大香蕉| 欧美日本VA| 开心婷婷五| 五月天激情小说电影| 99热精品少| 五月色情网| 色综合久久伊伊婷婷五月| 777丁香六月青青草婷婷综合久月| 婷婷丁香成人在线视频| 夜夜www| 五月天激情无码高清| 99re在线这里只有精品视频首页| 色婷婷亚洲在线| 激情五月丁香六月婷婷| 99亚州综合精品成人网| 婷婷五月天在线观看| 久草视频一,二三四| 久久色区| 狠狠爱综合网| 青草青草视频2免费观看| 久久久天堂国产精品女人| 99热每日| 欧美色偷拍| 99在线公开视频| 亚洲五月婷婷| 婷婷欧美色| 五月丁香婷婷人体| 国产VA亚洲VA96| 日本色色网站| 婷婷丁香五月综合| 国产精品涩涩涩视频网站| 激情九月丁香婷婷| 色色日本欧美| 色婷婷成人| 丁香久久AV| 色色免费网战视频| 天天人人人人人人人人人人人| 超碰人妻在线| 男男野外做爰全过程69| 色婷婷久久7777| 色综合中文| 99rewww| 激情五月婷在线精品| 99久久五月婷婷| 久久五月天婷婷| 欧美性生交XXXXX无码小说| 二区成人视频| 亚洲欧美成人在线| 森林影视大全,最好看的2019年视频 | 亚洲Av成人在线观看| 婷婷色丁香五月| 婷婷5月天av| 欧美婷婷综合| 五月婷婷丁香六月| 九热av| 婷婷丁香五月综合| 久久机只有这里精品| 欧美激情VA永久在线播放| 五月天综合视频| 亚洲传媒在线观看| 99热在线观看精品| 色天天综合色| 91热视频色网站| 亚洲国产精品SUV| 伊人9草在线观看| 天天爽成人综合网站| 色情五月停停丁香| 天天爽天天爽| 欧美69色| 色婷婷精品小视频| 国产精品色色| 亚洲情综合五月天| 婷婷综合色网| 精品九九视频| 丝袜人妻| 色色五月天 亚洲| 婷婷综合激情| 色婷婷五月视频| 亚洲免费看片| 九九热在线99| 久99久热只有精品国产99| 99热碰碰热| 色婷婷av综合网| 久婷婷五月丁香在线观看| 婷婷五月天综合在线| 夜精品无码A片一区二区蜜桃| 97色女人在线| 婷婷五月天激情五月天| 婷婷五月天视频| 国产肏屄大片| 婷婷丁香亚洲五月天| 五月丁香激情综合| 婷婷五月欧美| 天天插天天很| 91超碰九色| 久久久九九视频精品18| 狠狠久久婷五月综合色| 色色色色综合网| 久久大香蕉伊人| 九九视频精品在线免费| av人人干| 国产avapp 网| 亚洲成人在线五月天| 亚洲精品字幕在线观看| 久久免费9| 开心婷婷丁香五月| 97人碰人操| 99热久只有精品首页| 久久婷婷色| 伊人综合色干| 久久这里有精品视频| 无码激情AAAAA片-区区| 色婷婷手机在线| www.91.com黄| 亚洲无码你懂的| 五月丁香AV在线| 曰韩少妇内射免费播放| 天天天久久久| 久久作爱| 综合一区二区三区| 婷婷精品性视频| 影音先锋五月婷婷| 亚洲avjiujiur91| 五月天综合视频| 啪啪激情网| 激情六月婷婷| 成人中文字幕在线| 五月天婷婷免费视频| 久久婷婷六月综合综合| 国产VA亚洲VA96| 婷婷五月丁香国产| 五月婷婷啪啪网| 玖玖色综合色| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 久色成人| 99精品网| 琪琪秋霞| 色五月婷婷色| 综合五月丁香久久| av中文在线| 热99这里只是精品| 色综合激情| 九九精品热| 天天天天操| 亚洲性爱99| 开心五月色婷婷综合开心网| 色五月无码| 国产亚洲成AV人片在线观黄桃 | 小视频一区| 1024国产在线| 日本AAAAAAAAAAAAAA片| 久久探花91swag| 79色色色色| 免费啪啪啪网站| 天天激情欧美美女| 五月天婷婷色色网| 欧美大香蕉视频| 开心五月婷婷激情| 久色| 无码网| 一级AV片| 狠狠操狠狠做| 国产亚洲av片| 色婷另类| 99操视频| 99色色网| 婷婷五月色丁香在线看| 九色1区视频在线| 国产精品国产| 人妻熟妇国产精品| 97色干| 狠狠狠狠操| 超碰97色| 另类图片激情五月| 色色综合无码| AA片在线观看视频在线播放| 久热播这里只有精品| 久xxxx| 五月天婷婷在线观看| 婷婷五月 丁香六月| 美女久久天堂| 丁香五月影院| 玖玖国产视频一区| 乱精品一区字幕二区| 亚洲五月婷婷| 久久六月婷婷| 丁婷婷五月天在线播放| 人伦30P| 人妻少妇色综合| 九九这里精品| 久久五月情| 激情五月天丁香| 五月婷庭丁香在线| 人人干人人操外国| 成人丁香五月| 99热精品9| 色五月婷婷综合在线| 激情视频网址| 六月丁香影院| 久99视频| 五月婷婷六月激情| 91丨九色丨熟女丰满| 五月丁香婷婷激情在线视频| 五月丁香综合网| 久久久性爱视频| 1010日日无码| caop在线| 大色鬼综合| 婷婷欧美激情综合| 免费精品66| 在线看黄色| 日本精品人妻无码77777| 狠狠干五月天|