免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
久热这里只有精品6| 成人精品在线| 五月中旬婷婷丁香六| 嫩草视频观看| 色九月丁香婷婷蜜桃在线观看| 99视频久久| 婷婷五月天日日日干干干| 51XX午夜影福利| 亚洲无码影片| 国产婷伊人| 9色视频在线| www狠狠| 五月天色色色| 欧美 日韩 成人在线| 五月天婷婷综合色| 青草青草视频2免费观看| 2020日日干| 日韩av干| 99久久精品网| 久久99这里只有精品视频| 久久婷婷五月综合啪| 国产肥白大熟妇BBBB视频| 伊人在线视频| 五月婷在线影院| 国产99久久久国产精品免费看| 欧美五月丁香| 五月婷婷久草在线视频综合| 五月婷婷无码专区| 五月天久久成人| 99热在线中文字幕| 少妇人妻人伦A片| 99爱视频在线免费观看| 超碰在线日夜| 一二线视频 另类| 久久婷婷成人| 成人在线网址| 丁香五月婷婷啪啪啪| 日韩99色99| 先锋男人99资源| 国产 亚洲 在线| 激情国产五月| 丁香色五月 97干| 丁香五月天婷婷久久| 99热99精品| 五月丁香综合色婷婷| 七七九色| 亚洲超碰在线| 五月天婷婷久久视频| 欧美影院| 99热免费精品| 538任你爽| 五月天婷婷在线播放| 婷婷五月天首页| 丁香六月av| 五月丁香六月停停停| 激情丁香五月| 国产寻花在线| 婷婷五月天视| 2023天天日夜夜爽| 激情五月四色| 亚洲欧洲99| Caoporn公开| 九九操屄| 玖玖婷婷五月天| 亚洲国产网址| 色碰干| 人妖色AV色综合| 久草网大香视频| 五月天激情日色在线| 99se丁香| 色色五月天婷婷丁香| 丁香综合久久| 91久操| 精品视频网| 欧美色必爱| 色五月婷婷丁香五月| 五月天最新网| 婷婷五月天丁香久久| 六月婷婷综合| 97色啪| 久久超级碰碰| 亚洲亚洲激情| 婷婷八月丁香激情综合| 日本色色网| 五月激情在线| 丁香五婷| 极品 少妇 内射| 天天成人综合视频| 日韩无码成人电影| 色天使色综合| 天天操天天爱天天日| 婷婷六月婷婷| 色色五月婷婷久久| A短视频免费在线观看| 色综色网| 丁香婷最新动态| 色婷婷色五月丁香| 婷婷九月综合| 亚洲色图欧美色图日本视频| 超碰97干| 人草人人| 激情丁香五月| 色婷婷丁香九月| 99精品在线| 狠狠色丁香99| 玖玖热视频| 大香蕉220| 99啪在线视频| 亚洲综合视频一下| 在线观看免费狠狠色丁香香综合| 99国产在线精品视频| 欧美三级视频下载| 五月天婷婷视频30| 成人在线日韩| 色99在线观看| 99精品大片| 久久99婷婷| 字幕网AV中文字幕| 另类小说五月天| SS丁香五月婷婷| 97碰人人操| 婷婷精品| 亚洲中文丁香| 国产91视频| 一本色综合色| 色久五月| 欧美经典片免费观看大全| 五月丁了香蕉综合| 这里只有精彩亚洲视频推荐| 五月婷婷啪啪| 综合久久婷婷五月丁香| 亚洲乱码在线观看| 在线99精品| 激情伍月 欧美| 久久九九色| 国外亚洲成AV人片在线观看| 99色这里| 日本欧美成人片AAAA| 久久婷婷大香蕉| 亚洲中文丁香| 婷婷五月激情丁香| 久久精品爱爱| 婷婷视频网| 热久国产| 国产 码在线成人网站| 亚洲一二三网| 五月五婷婷| 丁香五月婷婷啪啪| 婷婷五月天成人娱乐| 九月丁香婷婷综合| 久草大| 色婷婷电影网| 99久精品视频| 色色色色色色色色综合网| 99热精品99| 久久激情五月天| 欧美性生交A片免费看| 99免费综合网| 午夜丁香| 激情www.98com| 婷婷五月天网| www.狠狠干| 亚洲天堂热| 激情另类综合| 国产精产国品一二三在观看| 五月天婷婷青青| 99操| 亚洲色vA| 人人看人人97| 人人爱人人草| 国产小网站| 综合九九| 精品视频网| 偷拍视频五月天| 三十熟女| 狠狠操狠狠| 日本色色影院| 九九亚洲视频| 色五月天在线| 激情五月,激情综合网| 国产精品VA在线| 丁香六月天婷婷| 天天日天天草| 亚洲精品99| 五月婷婷五月天| 五月丁香综合网色欲| 91久热| 日日操,日日爽| 国产精产国品一二三在观看| 99精品视频免费观看| 亚洲国产另类av| 五月婷婷在线视频观看| 异能之下短剧免费观看全集| 亚洲爆乳无码精品AAA片蜜桃| 天天综合色综合| 日本三级第一页| 免费观看高清无码| 日日噜噜夜夜狠狠久久丁香五月| 中文字幕综合| 五月综合激情网| 丁香五月天殴美激情| 中文字幕不卡网站| 综合久久97| 思思久久精品视频| 综合伊人久久| 欧美97超碰| 99在线69| 玖玖婷婷五月| 久热这里只有精品视频免费观看| 亚洲丁香五月综合| 色色色色色色色色五月先| 久久无码成人| 色五月在线观看| 婷婷五月天资源| 久久激情五月网| 精品人妻一区二区三区四区不卡在| 欧美日韩大黄| 狠狠综合久久| 26uuu最新地址| 狠狠色激情在线| 婷婷丁香五月天操逼| 五月婷婷中文字幕| 99热这里只有精品3| 亚洲无码另类| 伊人碰碰婷婷| 婷婷婷五月香蕉| 天堂久久精品| 日欧大屏操| 天天 青草 制服丝袜 在线| 六月婷婷天堂| 伊人热在线大香蕉| 亚洲综合色网站| 亚洲狠狠丁香婷婷香蕉| 超碰在线视屏| 成人精品亚洲性爱| 五月丁香婷婷AV天堂| 天堂美国久久| 狠狠操狠狠操| 欧美成人精品A片免费一区99| 久操热线| sewuyuetingtingiii| 久久只有18视频| 26UUU精品一区二区c〇m| 五月天久久激情| 色情婷婷| 五月色亚洲| 99性色| 久久综合激情五月天| 亚洲成人AV一区在线观看| 999久久久国产精品| 99色1| 久久激情视频99| 操操国产| 激情第四色| 操碰99| 日本色爽| 亲子乱AV一区二区三区下载| 超碰91人人操| 五月婷网| 五月丁香婷婷基地| 丁香五月天堂| 99国产精品白浆在线观看免费 | 风流少妇A片一区二区蜜桃| 久草xx性爱视频| 色五月婷婷久久爱| 五月激情婷婷色| 激情六月丁香综合| 99久久国产成人精品| 婷婷丁香社区网| 色婷婷狠狠爱| 狠狠操天天操| 婷婷伊人久久综合| 狠狠干婷婷| 免费在线观看欧美激情xx小视频| 色婷婷丁香五月| 丁香五月综合| 色婷婷影视| www.久久99| 91视频精品99| 五月婷婷啪啪| 无码一区精品一区视频| 色婷婷色和| 久草丁香婷婷五月天婷| 色噜噜婷婷| 99啪| 国产美女无遮挡裸体毛片A片| 婷婷五月影院| 日本eVa一区=区视频| 国产精品第一国产精品| www.99久久久久99| 91日本在线观看| 99re思思| 免费在线观看欧美激情xx小视频| 五月婷婷黄色| 国产AV一区二区三区最新精品 | 五月婷在线| 久草婷婷| 9色在线视频精品观看| 综合伊人久久| 无码一区二区三区四区五区| 久久AV电影| 综合五月丁香六月婷婷| 99九九久久| 青青草成人网| 9精品在线| 丁香五月色网| 大香蕉人人人| 婷婷五月天影院| 丁香五月日啪| 色婷婷综合亚洲| 九九色热| 青青草原伊人网| 五月婷六月综合在线观看| 精品综合久久久久久五月天| 国产成人高清| 婷婷激情五月天桃花网| 色噜噜狠狠色综合AV兰草影视| 久久成人天| 久久九九综合| 久久久精品色| www五月| 96色婷婷| 色狠狠六月| 久草五月天| 丁香久久| 色色婷婷综合| 很操日本7| 人人97碰| 99视频在线观看视频| 丁香五月天信号| 懂色av粉嫩AV蜜臀AV| 五他月天啪啪啪| 日韩黄色电影| 欧美影院婷婷| 深爱五月天 开心网| 婷婷噜噜| 99精品在线| 在线只有精品| 97干在线看| 色爱综合网| www.sd-xiangsu.cpm| 激情黄色五月天| 婷婷综合伊人丁香| 97久久精品| 日本狠狠干| 激情AV综合| 婷婷99丁香| 激情五月天丁香| 激情五月天。| 91狠狠色| 青青草原福利在线| 另类激情首页| 国产精品久久久久9999小说| 密乳Va| 九九9久九9国产视频| 亚洲免费av观看| 色综合日日| 人人人舔人人人操人人人摸人人人97| 七七色色综合| 久超超碰| 亚洲精品午夜国产va久久成人| 色婷婷五月色| 激情精品久久| 色婷婷天堂| 欧美性生交XXXXX无码小说| 99@久久@99精品视频| 五月婷婷丁香啪啪| 五月婷婷开心六月激情小说| 日本99热| 综合99综合久久久久久久| 我爱婷婷五月天综合88| 色婷婷www| 91碰碰碰久久久久| 婷婷深爱五月天在线| 日日夜夜狠狠| 五月婷婷欧洲| 婷婷五月丁香伊人网| 9久久婷婷国产综合精品性色| 青青草视频免费观看| 99九九视频精彩在线| 五月天深爱激情网| 五月天丁香色色| 丁香色情五月综合激情| 五月天激情视频五月天| 国产女人十八水真多1| 色五月婷婷DVD| 综合色色五月| 五月丁香六月激情在线| 99人妻碰碰碰久久久久禁片| 色播五月丁香| 色狠狠色综合| 91丨九色丨熟女|老版| 丁香五月影院| 欧美欧盟性爱网| 99热久只有精品首页| 色五月婷婷久久大| 亚洲精品V天堂中文字幕| 大香蕉五月婷婷| 桃色五月婷婷| 激情六月婷| 激情五月婷婷老师| 婷婷五月婷| 色婷婷亚洲婷婷| 大香蕉视频99| 色婷婷五月天综合网| 精品人妻伦一二三区久久| 久久er免费视频| 超碰在线91| 婷婷六月丁香激情综合| 久久思思99| 国产成人网| 午夜九九电影| 色色色地址| 婷婷五月综合网| 五月丁香六月婷婷a v| 午夜微拍福利| 色色色色网| 天天狠狠色噜噜| 五月天操逼网| 丁香六月欧美| www.五月天。com| 99久久婷婷综合| 五月丁香婷中文| 色五月婷婷五月久久| 禁片二区| 99热这里有精品| 激情五月婷婷五月丁香五月开心五月| 蜘蛛女免费观看完整版高清电影| 九九热婷婷| 青草青草视频2免费观看| 五月丁香六月情| 久久五月视频| 玖玖婷婷视频| 五月天福利影院导航| 久久Xx| 日韩六十路91性交电影| 亚洲成人免费电影| 成人短视频在线免费观看| 国产免费一区二区在线A片视频| 婷婷久久草| 伍月婷婷免费视频| 色吧五月婷婷| 大香蕉九九操| 久久婷婷网址| 精品久热| 精品少妇人妻AV无码专区偷人| 色婷婷影音| 色吊丝99| 狠狠久久婷五月| 五月婷婷网站| 99精品热视频只有精品10| 任你干嘛免费视频播放| 性爱111111| 天天插综合| 69色婷婷| 97精品自拍视频| 999热成人在线综合网| 九九九九九无码| 色婷婷A| 久久码久久无清| 色色色五月天婷婷| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 六月婷婷久久| 婷婷五月天亚洲综合| 91大操| 任你爽视频| 综合久久婷婷| 午夜AV网| 99视频在线| 内射激情在线| www.久久爱.com| 久久五月天综合| 9久视频| 中文无码婷婷| 丁香五月天在线观看视频| 婷婷九九| 色婷婷黄色网络| 99在线热| 色之综合网| 九九热10| 六月丁香婷婷在线波多 | 六月天六月婷| 天天色,天天日,天天做| 开心婷婷五月天激情网| 99国产视频网| 丁香五月日韩| 疯狂做受XXXX高潮A片动画| 黑人糟蹋人妻HD中文字幕| AA丁香综合激情| 欧美久热| 中文字幕在线视频播放| 日本大逼91| 色 五月 天 婷婷 丁香 九月| 青青草五月天| 91婷婷在线| AA丁香综合激情| www久久五月com| 久婷婷五月激情| 婷婷丁香六月激情综合| 婷婷五月六月| 婷婷五月综合在线| 日韩成人无码| 91一道本| 色婷婷综合网| 开心五月色婷婷综合开心网| 狼人狠狠操| 91要啪| 男人的天堂999| 国产婷婷色综合AV蜜臀AV | 91超碰在线播放| 亚洲aV写真天天综合网久久| 婷婷成人丁香色情基地30 | 色婷久| 激情综合网激情五月欧美| 久久激情五月天| 99热综合在线| 成人精品视频99在线观看免费| 亚洲九九99精品视频在线播放| 五月丁香综合久久夜夜| 天天性视频| 婷婷六月激情丁香| 91丨九色丨熟女|老版| 天天插综合网| 亚洲成Av人片乱码色第1集| 玖玖色综合网| 婷婷五月天六月| 日夜操B| 日本人人超碰| 金品在线视频99| 极品人妻videosss人妻| 激情综合网五月婷婷| 无码激情AAAAA片-区区| 大香蕉人在线65| 久久婷婷五月综合激情国产| 日韩另类| 久99久视频精选| 色婷婷五月天天天天天| 99re在线视频| 亚洲电影中文字幕| 五月婷婷激情色情网| 婷婷五月天天爽| 大战熟女丰满人妻AV| 色噜噜婷婷| 婷婷.com| 狠狠干天天内射| 国产日韩欧美性爱| 97干在线视频| 五月欧美色播| 五月丁香婷婷色色| 日韩淑女人妻luan伦激情精品一区二| 五月天激情中文字幕| 97香蕉碰碰人妻国产欧美| 老司机视频lsj爱就色| 九九精品视频免费在线| 影音先锋91| 九热av| 色视五月天婷婷| 国产成人综合网| 综合爱久久| 99色看| 久久久婷婷| 久久99婷婷| 99热在线观看免费精品| 日本黄 色 片| 五月丁香六月婷婷手机无线| 8050一级网| 五月激情婷婷开心五月| 另类小说五月天| 9久久久久久久久久久| 永久精品| 99 福利 导航| 99热这里只有精品9| 99热99| av性爱网站| 北条麻妃伊人 | 六月婷婷在线| 97婷婷久久丁香| 五月丁香狠狠| 潮汕成人AV片在线| 五月天开心激情综合网| 婷婷六月色情| 少妇搡BBBB搡BBB搡毛茸茸 | 超碰伊人碰婷婷五月| 婷婷五月丁香网| 五月天婷婷成人网| 日日懆天天懆| 一区二区三区四区牛| 婷婷激情五月天在线| 色色丁香婷婷五月天| 色五月综合网| 青青草Avb在线| 丁香五月婷婷五月| 久久新地址| 久久丁香五月婷婷| 日本丁香五月婷婷| 色婷婷伊人激情在线观看| 五月天婷婷青青草| 久久午夜丁香| 激情丁香五月婷婷| 欧美99| 色五月婷婷网| 婷婷五月六月激情| 色播五月天婷婷老师| 超碰97人人操| 五月婷婷综合色啪| 男人的天堂av俄罗斯热| 大香蕉婷婷久久| 99热综合在线| www.第四色99| 色玖玖综合网| 色的色综合| 大香久久综合网| 在线观看免费狠狠色丁香香综合| 欧美噜噜噜草| 日韩国产在线精品| 丁香五月婷婷偷拍| 婷婷五月天激情综合| 精品99*| 97色在线观看视频| 婷婷丁香六月影视| 亚洲免费视频网站| 色99视频| 激情五月天综合婷婷网| 五月婷婷高清| 超碰av在| 色五月婷婷老师| 成人五月天视频播放| 9久国产精品| 丰满少妇猛烈A片免费看观看| 丁香五月天AV| 99热精品在线播放观看| 黄页免费一级视频懂色| 99爱视频| 色噜噜狠狠色综无码久久合欧美| 五月天婷婷久久日| 97干在线看| 激情五月婷婷| 97操视频| 无码髙清| 99热这里只| 久久视频九九视频| 日本丁香五月婷婷| 欧美极品999| 久久精品99久久久久久| 99热999| 97色 五月天丁香| 成人精品在线观看| 26uuu亚洲| 久久伦乱| 精品人妻久久久久久| 五月丁香婷婷AV天堂| 大香蕉操操| 色综合99无码 | 色爽九九| 在线观看中文字幕| 综合色色网| 91婷色| 丁香六月av| 丁香五月天操B| 夜夜爽天天爽| 99热99在线| 男人天堂99| 极品另类| 亚洲av免费在线| 五月丁香网av| 色色色99韩| 亚洲精品视频在线播放| 97干视频在线| 亭亭五月基地在线| 激情性爱网站| 婷婷激情五月天激情小说| 亚洲AV成人在线| 97综合在线| 色在线99| 日韩精品一区二区亚洲AV观看| 色婷婷五月天视频在线| 精品久久66| 亚洲免费99| 思思热在线精品视频网站| 夜夜操夜夜爽| 五月婷婷激情四季| 婷婷亚洲五月丁香综合在线| 丁香婷婷六月激情综合| 亚洲十月婷婷综合| 五月丁香六月激情网| 青青热久久综合| 综合激情五月丁香9999久久精| 激情欧美婷婷| 台湾综合丁香五月蜜桃| ,99视频久久| 婷婷在线五月天观看| 99色啊| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 五月激情五月丁香| 9999热精品在线免费播放| 激情av在线| 99激情视频| 丁香五月婷婷基地| 强辱丰满人妻HD中文字幕| 色婷婷色五月综合| 97在线日韩| 婷婷九月色| 伊人丁香五月| 99热777| 五月天婷婷青青| 夜夜操天天爽| 五月综合色| 九月激情网| 九九热精品| 男同91| 日韩免费视频| 丁香五月天激情网| 成人五月天丁香| 成人做爰A片免费看视频| 色丁香影院| 超碰免费人妻| 9精品久久999| 97人妻碰碰中文无码久热丝袜| 天天操天天操| 国产黄色一级片| 久久婷婷视频| 色综合色| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 色吧五月婷婷| 狠狠干五月| 日韩操逼大片| 99热777| 色五月婷婷在线| 中文字幕日产A片在线看| www.国产色| 久草热在线视频| 99性爱视频| 欧美黄色韩日网| 欧美日综合| 亚洲电影在线观看| 欧美99视频| 精品九九视频| 1024日韩| 青青草99re| 激情婷婷五六月天| 先锋资源91| 亚洲V国产V欧美V久久久久久| 色婷婷瘦婷婷日韩| 五月丁婷婷| 色婷婷丁香| 91人人看| 操91| 99久久www| 伊人久久婷婷五月综合97色| 国产精品久久..4399| 色狠狠综合| 婷婷丁香六月| 色婷婷久久7777| 女人天堂av| WWW.99热| 在线超碰91| 久久视频九九视频| 玖玖婷婷五月天| 欧美超碰人人| 五月涩涩网| 婷婷丁香成人| 综合久久综合| 另类综合激情| 九九色院| 婷婷香五月天| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 久久久久久综合88| 婷婷欧美激情| 开心色五月天久久久久久久| 日本欧美成人片AAAA| 91丨九色丨东北熟女| 人人爱人人草| 成人网站av免费网站推荐| 影音先锋人妻出差| 少妇出轨做爰高潮A片| 综合激情伊人影视在线| 亚洲综合久| 丁香六月婷| 六月婷婷色综合| 国产91在线视频| 五区毛片七区毛片| 新激情五月天| 思思re视频在线| 综合狠久久| 色宗合久久五月婷婷| 色伦专区97中文字幕| 丁香五月图片| 国产精品国产成人国产三级| 久久只有这里精品免费| 色五月婷婷五月| 五月丁香久久| 亚洲综合视频在线| 婷婷久久五月| 九色婷婷| 管管補管管紱| 伊人婷婷大香蕉在线| 激情久久五月网| 精品成人在线| 开心五月深爱五月丁香五月激情五月| 婷婷久久婷婷色五月| 六月丁香久久| 久一网站| 国产超碰在线| 九九热只有精品6| 99在线精品免费视频| 欧美丁香六月激情视频| WWW.亚洲无码| 五月丁香婷色| 婷婷久久婷婷色五月| 婷婷五月丁香六月| 99色热视频| 狠狠干五月天| 五月丁香婷中文字幕| 欧美,日韩成人在线| 五月天激情久久| 原琪琪色影院| 国产真实乱对白精彩| 99久久精品视频女神1| 99啪视频在线观看| 超碰免费成人| oumeisesewang| 久热A片| 播播网色播播| 亚洲午夜精品久久久久久人妖| 九九综合九| 狠狠五月天| 九久9精品| 三十熟女| 人妻久久久| 玖玖资源站国产| 人妻激情久久| 色欲久久久久久综合网综合网| 亚洲天天免费| 人人草碰| 色婷婷成人| 狠狠xx| 五月天狠狠网站| 极品精品一区二区三区在线| 99热这里都是精品| 五月天婷综合网站| 婷婷玖玖五月天| 99在线精品观看99| 妻久久人久久| 丁香综合伊人| 狠狠se| 99热精品在线观看| www.五月天婷婷| 色播婷婷五月天| 婷婷伊人综合| 日韩啊啊啊| 婷婷亚洲欧美丁香五月| 欧美性二区| 久久久香港| 狠狠精品干练久久久无码中文字幕| 可以免费看AV网站| 色八月婷婷| 一级七香蕉| 在线只有精品| 五月婷婷深深爱| 九九热在这里只有精品| 色欲色天天香综合| 97超级碰碰碰| 亚洲电影中文字幕| 成人综合视频网址| 五月综合激情| 天天天天干| 啪啪色区| 激情婷婷五月天。| 大香蕉五月婷婷| 丁香婷婷五月激情四射网| 99热精品在线播放| 91碰碰视频| 亚洲精品激情| 天天干天天 亚洲| 亚洲欧洲色色| 淫视馆aV二区一区| 成人色图情色成人网 www.5b5b5bcom 五月天 | 婷婷五月av| 色婷婷五月天激情在线观看| 99er6热在线观看精品6| 亚洲综合色网站| 中文字幕av在线| 狠狠干在线| 婷婷伊人欧美| 丁香五月五月婷婷欧美大香蕉| 激情丁香婷婷| 色色日本| 五月婷婷天| 午夜激情婷婷| 女人被男人吃奶到高潮| 婷婷五月天精品| 激情综合网亚洲色图| 五月天婷综合| 日本视频欧美观看免费| 丁香五月六月欧美| 丁香五月婷婷基地| www.日本久久videos| 午夜婷婷久久| 综合网色综合| 丁香五月天婷婷大香蕉| 青草视频在线观看视频| 图片区 小说区 区 亚洲五月 | 国产午夜精品AV一区二区麻豆| 97色热| AV性爱在线| 思思热视频| 99热97| AV成人在线播放| 丁香五月五月婷婷| 国产激情一区| 激情五月天色婷婷综合| 丁香五月AV| 色婷婷久久| 婷婷中文字暮| 婷婷日日夜夜| 狠狠爱婷婷五月天| 亚洲五月六丁香激情| 天天天天干| 掩去也综合五月视频| 色色婷婷丁香| av线电影| 色五月天堂| 色色色色色综合| 99在线视频操999| 日日天天天| A在线观看| 182TV大香蕉| 大香蕉五月天婷婷| 国产成人+综合亚洲+天堂| 超碰99热| 色五月激情视频在线综合| 99热欧美| 久操b网| 欧美操人| 九九九成人在线视频| 在线播放人妻| www.激情五月天| www.婷婷五月.com| 熟女激情五月天| 综合激情肏逼网| 日本99视频| 九月丁香婷婷综合激情| 久热免费视频| 国产性色蜜乳| 五月婷婷综合色啪首页| 五月天停停成人网| 国产婷婷综合| 色综合久| 亚洲色婷婷激情| 曰韩五月丁香色婷婷无码| 色爱终和网| 亚洲色99综合天堂| 91丨九色丨熟女丰满| 欧美色99| 丁香五月激情婷婷| 天天碰天天插天天操| 99超级超级超级碰| 久久99激情| 这里只有精品99视频| 操操操97| 亚洲综合五月| 亚洲啪啪视频| 久草热久草在线视频| 影音先锋女人av鲁色资源网小说免费 | 99久久综合网| AAA亚洲AV| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 婷婷在线播放| 欧亚色色| 久久久人妻| 婷婷丁香激情五月天色色| 久婷自拍视频| 99热这| 99热这里只有精品18| 婷婷射图| 丁香五月花| 人人操av| 婷婷欧美色| 99热精品在线| 丁香五月开心亚洲| 色婷婷婷av| 丁香五月色五月| 亚洲视频在线观看99| 国产综合A片| 99热这里全是精品| 思思精品久久艹| 99热综合色图| 亚洲精品一区无码A片| 天天日 天天草| 丁香五月婷婷超碰在线| 九九中文色色| 五月激情六月综合| WWW,婷婷,COM| 九九综合久久| 色婷婷AV久久| 欧美人与性动交CCOO| 99热精品在线在线| 亚洲五月丁香综合网| 国产偷人爽久久久久久老妇APP| 日韩aaa| 青青草搞屄视频网站| 五月丁香婷婷99| 日本色婷婷| www.天天干| 无码地址| 色吧五月婷婷| 亚洲精品另类| 婷婷五月天社区| 91九色在线视频| 色国产五月| 色婷久| 我淫我色婷婷五月天激情四射| 激情六月丁香| 免费观看欧美成人AA片爱我多深| 五月婷伊人| 人人妻人人澡| 996热re视频在线观看视频| 日日操天天操| 五月天播播中文字幕| 伊人久久五月天| 麻豆科斗777| 九九re精品视频在线观看| 久久3级片| 这里只有精品视频在线| 九九色色网| 79精品视频在线观看,| 草AV9999| 超碰三级秋霞| 丁香五月综合激情啪啪| 曰本aaaaaa丈片| 无码少妇高潮喷水A片免费| 日韩婷婷| 99啪啪网| 麻豆雪千夏| 在线观看中文字幕| 26uuu欧美亚洲日韩| 天天玩天天摸| 91一起艹| 超碰人人草| 色婷婷天堂| 欧美三级级99久久| 九九99热精品| 久久婷综合| 色综合天天综合成人网| 久9热在线视频| 伊人婷婷色| 夜夜撸夜夜骑| 5五月综合网亚洲| 天干夜夜操| 精品无码99| 天天擼久久擼在线| 色情播放| 久久久人妻门| 这里只有国产精品在线| 一區四區歐美日韓| 草操网| 婷婷九月激情网| 色色色视频免费无码 | 五月天天综合| 五月丁香婷婷成人综合网| 开心五月深爱激情| 久久这里有精品视频| 狠狠五月天激情| 天天日天天做天天操| 另类国产综合| 影音先锋 婷婷| 婷婷五月丁香成人| 思思综合热| 五月天合网| 逼逼AV| 5月丁香六月情| 丁香婷婷五月六月天| 婷婷六月天激情影院| 久久黄色片| 天天透天天爱| 激情亚洲婷婷| 91精品无码| 五月激情站| 色综合综合色| 色色射| 久久丁香| 欧美激情综合五月色丁香| 日日操无码| 色综合狠狠色| 日本久久婷| 99这里只有精品视频免费| 六月亚洲婷婷6月中文字幕| 91操色| 婷婷五月激情在线| 99re思思热久久| 日韩在线观看亚洲| 96丁香六月婷婷蜜桃综合久久| 激情视频网址| av婷婷丁香| 五月婷久久草| 久久伊人大香蕉| 五月综合六月丁| 五月色色激情网| 色色吧综合| 1000部毛片A片免费观看| 亚洲午夜av| 五月婷婷五月| 亚洲色婷婷五月天| 五月丁香久久网| 少妇综合网| 五月天婷婷基地| 五月激情久久| 五月婷婷色吧!| 亚州激情九月| 天堂A∨在线| 七七色色综合| 亚洲综合一区二区| 日韩肏屄网| 五月丁香大香蕉| 综合一本道| 色婷婷色五月天| 婷婷五月天美女视频| 久久精品视频9| 色五月色图| 日熟女| 激情综合五月丁香| 亚洲成人中文字幕| 五月婷婷丁香大香蕉| 97色在线观看视频| 婷婷六月久久| 色婷婷狠狠久久综合五月| 国产日产亚系列精品版优势 | 天天爽夜夜爽夜夜爽精| 开心五月综合激情综合五月| 综合 蜜月 婷婷| 国产做爰视频免费播放| 色色操| 六月丁香深深爱| 婷婷伊人五月天| 99色综合| tingtingseav| 91精品综合久久久久久五月丁香| 丁香五月激情综合网激情五月| 天天人人人人人人人人人人人| 99视频精品| 涩五月婷婷| 婷香狠狠爱五月| 色播五月丁香婷婷| 天天综合久久| 黄桃AV无码免费一区二区三区 | 激情五月网站| 日本九九视频| 欧美日韩二区在线| 久久婷婷啪啪视频| 婷婷丁香激情五月天色色| 97av在线视频| 99热欧美偷拍| 人妻尝试久久久久久久久久久久| 婷婷五月六月丁香| 久久五月天激情| 色婷婷丁香五月| 五月丁香中文| 亚洲无码性爱| 热99精品视频观看| 五月婷婷色综图片| 色播激情婷婷| 深爱丁香激情| 激情五月天婷婷| 国产小网站| 婷婷丁香五月综合网上| 无码99| 色婷婷导航| 婷婷五月色播| 操操操91| 婷婷娱乐丁香综合网| 天天操天天操天天操天天操天天操 | 六月婷婷五月丁香首页| 黄色成人网站在线播放| 天天色凹凸| 丁香五月综合在线| 激情AV| 99自拍视频在线| √天堂资源在线人妻熟女| 俺去婷婷 丁香| 99视频精品8| 色一情一乱一伦一区二区三区| 亚洲午夜av| 午夜爱爱网站| 激情色五月天| 密乳视频| 极品人妻VIDEOSSS人妻| 久热超碰| 天天爽夜爽| 99国产精品久久久久久久久久久| 99操碰| 婷婷五月丁香A∨| 97色色色视频| 91免费啪视频| 亚洲另类婷婷五月综合| 久/久精品99看9| 丁香五月电影| 激情综合网五月婷婷| 婷婷色在线视频| www.久久99热地址发布| 九九九九九九毛片| 精品国产va久久久久久久| 六月婷婷中文字幕| 亚洲成人综合在线| 99免费| 91碰碰碰| 日韩综合久| 在线另类视频| 日韩在线视频网站| 中文字幕视频在线播放| www.精品99| 亚洲成人高清在线| 九九免费精品| 99碰碰碰| 婷婷五月天免费视频| 超碰成人黄色网| 好好干av| 久久久aaa| 香蕉AV777XXX色综合一区| 国产44页| 9久国产| 91偷拍视频| 色一情一乱一乱一区91Av| 婷婷丁香五月在线观看91| 人人人操B超碰| 热久91| www.五月天。com| 91人无码久久久久久| 天天干天天干天天操| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 开心五月婷婷婷美女| 91超级碰在线| 天天橾夜夜爽| 日本欧特黄色刺激一区影视久精品无码| 99热精品在线| 中美日韩成人在线| 婷婷五月天基地| 亚洲 日韩色色| 人人色人人弄人人操| 狠狠干思思热| 九热久| 五月婷婷影院| 丁香花操逼| 天堂综合久| 国产老熟妇亲子乱对白| 色播五月丁香| 蜜桃五月天| 99黄色性生活| 丁香五月之久操视频| 激情视频综合| 婷婷爱综合| 美女91一起草| 五月丁香六月天| 婷婷色情六月| 色五月婷色彩免播放器| 中文AV网站| 综合色播| 另类综合激情| www久久久| 五月婷婷九| 五月天丁香成人社| 97精品人人A片免费看| 美女五月天| 激情涩涩网| 免费在线a| 色综合五月| 五月婷婷精品视频|