免费国产精品自在自线-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
返回資訊列表
色色综合网www| 日本99视频| 91婷婷色 | www.色婷婷| 亚洲欧美一区二区三区爱爱动图| 在线,国产,色,热视频| 超碰在线观看成人视| 夜夜撸夜夜骑| 日韩久久视频| 99色| 99久热这里只有精品| www。狠狠干。com| 国产激情综合| 日本久久高清| 亚洲乱码在线观看| 亚洲无码成人网| 思思久久99热只有频精品66| 日本精品久久久久中文字幕| 色综合色色| 久久丁香久久| 五月开心深爱激情网| 99色色热热| 丁香五月天激情四射网络不好| 天天爽天天操| 狠狠操狠狠爱| 色999五月色| av人人干| 激情久久丁香| 久久精品五月天| 狠色狠色综合久久| www五月天激情com| 天天爽,夜夜爽| 五月丁香婷色| 人人看人人要| 久久久久思思热| 七七九九色色| 亚洲婷婷六月天| 99九色视频在线观看| 九九精品婷| 久久久天堂国产精品女人| 97干视频在线| 97干在线| 精品婷婷| 99燥99日| 九九热这里只有精品9| 国产精品久久久久久久久久| 琪琪色五月婷婷老师| 五月天伊人网| 99热在线观看| 就去色色五月丁香婷婷久久久| 精品国产乱码久久久久久免费| 婷婷九月色| 日韩精品999| www.久久爱.com| 99热在线播放| 五月天婷婷色色| 婷婷色播婷婷| 午夜不卡久久精品无码免费 | 99re欧美精品| 亚洲色五月婷婷| 丁香五月激情综合久久| 夜夜躁婷婷AV| 人妻系列久久久久久久久久久 | 欧洲区自拍| 激情九月丁香婷婷| www.久久综合| 凹凸探花电影| 99热免费在线| 五月丁香啪| 可以免费观看的AV| 久久五月婷综合网| 久久永久网址| 激情五月婷婷五月| 狠狠五月天| 99热这里| 1024亚洲| 琪琪理论片| 激情五月丁香在线观看直播| 91久久五月天| A片试看120分钟做受图片| 综合久久十三| 99自拍视频在线| 天天天操天天天爰| 天天舔天天爽| 国产精品18久久久| 午夜成人AV在线| 操人妻90p| 综合久久五月| 亚洲激情av| 色婷五月天| 久久久久九九九九视屏小说88| 日韩无码性爱| 激情综合激情五月| 99热国产这里只有精品| 亚洲精品444久久久久久| 五月丁香色综合| ww亚洲ww在线观看| 激情五月天色播| 婷色五月| 91九色中文字幕女在线观看| 国产色99| 欧美69久成人做爰视频| 欧美成人Va| 亚洲色在线观看| 激情小说婷婷| www.婷婷五月| 欧洲色色| WWW久久99久久99久久| 激情综合五月天| 丁香五月狠狠综合欧美| 色婷五月| 婷婷久久综合| 色狠狠色| 99超级碰碰| 五月丁香直播| 最近中文字幕大全免费版在线 | www天天色天天射| 狠狠操综合| 9 9热这里有精品| 色综合色综合色综合高潮| 操逼六区| 五月丁香在线观看99| 成人羞羞啪啪 全 视频| 九九人人操| 久久综合香蕉国产国产蜜臀AV| 99精品热| 色色性爱视频| 午夜丁香| 九九热在线视频| 色99www.| 婷婷丁香五月天激情| 97在线观视频免费观看| 五月色导航| 激情视频网址| 五月丁香六月色| 色婷婷狠狠禁18久久| 欧美日韩成人在线| 激情六月婷婷| 五月停性愛| 中文字幕在线日亚洲9| 天天色色天天| 日本毛片内射| 色色色婷| 91精品国产91久久久久青草| 这里只有精品免费视频| 琪琪秋霞| 91色色五月天| 狠狠xx| 久久九九激情五月天 | 伊人激情综合| 五月丁香六月情| 婷婷五月天淫荡| 色播五月丁香婷婷| 九九XX视频| 亚州视频九九99| 日日干日日| 亚洲思思热久| 人与禽A片啪啪| 国产精产国品一二三在观看| 色宗合久久五月婷婷| 婷婷色网| 婷婷五月天激情五月天网站| 金品在线视频99| 色色亚洲五月天| www.刺激色网站www.| 久久A区B区| 色播色丁香五月| 99成人精品视频| 中文字幕精品推荐免费在线观| 思思久久99热只有频精品66| 99在线视频免费| 五月婷丁香| 大香蕉天堂| 99无码超碰| 午夜天堂啪啪| 亚洲操女| 97色在线视频| 亚洲精品性色| 99爱爱网| 欧美性生交XXXXX无码小说| 国产精品久久久60086| 国产精品成人网址| 成人av播放| 亚洲五月天色| 丁香婷婷老司机久操| 色丁香五月婷婷| 99视频久久| 狠狠操狠狠| 色欲香综合网| 玖玖爱综合网| 亚洲av另类在线观看| 色婷婷五月天激情在线观看| 开心五月丁香综合久久| 99热在线资源| 久久视9精| 色五月综合在线| 91久久久久久久久18| 亚洲综合激情五月久久| 久久99热这里只频精品6学生| 人人97碰| 热久久这里只有三级视频| 4399在线日本A片| 婷婷综合中文字幕| 欧美人人操| 五丁香激情综合| 97婷婷五月激情六月丁香伊人| 97婷婷狠狠| 99热这里在线精品| 久久99大全| 九九热在线精品视频| 婷婷五月深深爱| 肏屄色播伊人97婷婷| 成人综合网站| 大香蕉综合网| 日韩精品一区二区亚洲AV观看| 安息电影在线观看完整版| 丁香五月婷婷影院| 99色嘟嘟精品网站| 噼里啪啦完整版中文在线观看| 五月婷婷av| 久色视频在线| 午夜一区| 色欲色天天香综合| 久久精品夜色噜噜亚洲a∨| 丰满少妇乱A片无码| 亚洲精品亚洲人成人网| 99热这里都是精品| 夜夜躁爽日日| 激情综合五月天| 亚洲狠狠狠色婷婷综合激情久久久| 五月丁香六月婷婷网| 亚洲欧美婷婷五月色综合| 色色综合网www| 99色视频在线| 九九免费视频| 超碰在线人人| 淫视馆AV在线| 免费国产视频| 激情久久久久久| 天天摸天天日天天舔| 思思久ren热| 香蕉久久国产av一区二区| 婷婷五月天综合久久日| 91国产精品视频播放| 亚洲乱码精品久久久久..| 99操久久| www.婷婷| 成人va在线播放| 殴美激情综合网| 第四色五月婷婷| 天天爽天天日天天舔| 婷婷综合五月激情| 激情五月婷婷在线区| 狠狠五月激情在线| 深爱五月天婷综合| 亚洲综合狠狠艹| 五月丁香六月婷婷综合免| 国产67194| WWW色色色COm| 激情深爱五月婷婷| 久热这里精品免费| www五月天com| 新97人人上人人| 碰碰女| 伊人久久婷| 亚洲成人av在线| 精品久久9| 久99久在线| 五月婷婷色情| 亚洲精品又粗又大又爽A片| 久久激情综合| 久久婷婷青青| 婷婷玖玖五月天| 96精品久久久久久久久| 全亚洲最大的婷婷五月天网站COM| 97操碰视频| 久久9精品| 華人性愛AV在線| 色色综合日韩| 欧美色色网| 五月婷婷在线视频| 激情深爱五月天| 深爱五月婷婷| se婷97| 九色激情网| 99热爱爱干干日| 成人午夜无码视频| 丁香五月av在线| 26uuu亚洲| 婷婷五月天Av| 新激情婷婷| 4399欧美另类视频| 99高级会所久久| 99热这里只有精品官网| 色人久久| 亚洲黄网在线| 秋霞电影一级黄| 天天狠狠色| 99热这里只有精品9| 亚洲av网站| 九九视频在线观看视频6 | 九月丁香八月婷婷加勒比| 99日视频在线| 26uuu激情五月天| 色婷婷五月天久久| 国产偷人爽久久久久久老妇APP| 国产人人操| 九色婷婷| 久久99热这里只有精品| 丁香六月婷婷久久综合| 99热费观看| 天天噜天天爱| 91色久| 五月婷婷香蕉| 开心六月丁香五月婷婷| 97精品自拍视频| 婷婷五月天伊人| 丁香五月天天| 五月WWW| 丁香婷婷大香蕉| 26uuu色五月| 色婷婷影视| 99re热视频这里只精品5| 色五月激情五月天| 97色婷婷五月天| 狠狠干思思热| 日韩二区搞逼插逼毛片| 成人超碰AV| 97热精品| 成人毛片在线免费观看| 婷婷免费视频| 月丁香久久久| www,五月丁,com| 欧美婷婷五月丁香| 亚洲激情视频在线观看| 色天堂A| 97操女视频| 色五月婷婷五月久久| 久久99婷婷| 丁香五月婷婷欧美成人色图| 五月丁香六月婷婷手机无线| 午夜不卡久久精品无码免费| 青娱乐美女福利视频美臀| 97人人操人人爽| 久久99看免费| 五月婷婷色播| 婷婷玖玖五月天| 久久久久人妻精选| 五月丁香狠狠爱婷婷综合| 插插干干干色| 色色综合网www| 99热在线里有精品| 国产伦亲子伦亲子视频观看| 久久成人综合五月天| 婷婷丁香六月| 欧美va| 国产无套精品一区二区| 五月丁香亭亭天天舔| 欧美性做爰大片免费看办公室| 激情综合五月激情XXXX| 99精品偷自拍| 久久思思热视频| 五月网站| 99精色| 婷婷丁香五月天操逼| 伊人丁香婷婷东京| 五月天自拍视频| 天天干天天做| 91热er| 色婷婷久久| 日韩久久视频| 五月色综合| 色很很96| 五月天婷婷影院| 丁香五月亚洲激情婷婷射| 天干夜夜操| 9久久精品视频| 狠狠色噜噜色狠狠狠综合久久成人波| 91狼友视频网页更新| 五月婷婷之激情五月| 丁香婷婷五月份| 夜夜操狠狠操天天操| 亚洲精品V天堂中文字幕| 天天搽天天射| 日韩av在线播放综合网| 日本丁香五月| 九九RE视频在线精品| 97视频91| 亚洲综合色丁香五月天| 92久久久| www.99久| 夜夜夜夜操| 亚洲视频在线观看| 激情亚洲婷婷| 99这里有精品免费| 午夜激情四射影院| 91视频一起草| 99热精品一| 92久久久| 深爱激情六月天| 六月丁香视频网站| 日韩啪图| 五月丁香色色网| 五月丁香婷婷AV天堂| 日本不卡一区二区三区| 久久久久久9| 丁香婷婷久久| 淫视馆av三区| 99自拍视频在线观看| 天天模,夜夜模夜夜爽| 一级视频网址| 99亚洲天堂| 欧美激情2025| 色婷婷在线播放| 噜噜在线| 99激情| 五月天亚洲图片婷婷| 国产成人精品一区二三区熟女在线 | 久久99久久99精品免观看软件 | 狠狠干天天内射| 婷婷色影音天| 久久色情| 五月天婷婷在线视频| 国产片天天爽夜夜爽| 国产午夜精品一区二区三区四区| 激情综合色婷婷啪啪六月天| 天天做天天爱天天做| 在线成人网站| 久久五月婷综合网| 玖玖色综合色| 五月婷婷色五月| 色色欧美色色| 婷丁香久综合| 啪啪激情综合| 激情五月婷色| 中文成人在线| 国产毛多水多女人A片| 天天色视频| 青青草蜜臀| 久9热视频在线观看| 婷婷色综合网日韩国产| 国产精品18久久久| 激情九月婷婷| 婷婷六月啪啪| 九九99在线免费在线观看视频| 色五月AV| 四色AVwww| 激情深愛五月視頻| 另类国产欧美视频| 婷婷色综合中心站| 久久久久久久久久久久久9| 久久五月天激情美女| 九九热婷婷| 狠狠婷婷色| 96丁香六月婷婷蜜桃综合久久| 五月丁香在线观看| 五月婷丁香| 日日肏天天操| 婷婷五月天手机版视频| 密黄站| 国产韩日亚洲美州欧亚综合在线| 久久色五月| 五月婷久久综合| 97婷婷五月| 成 人片 黄 色 大 片| 婷婷在线精品| 六月丁香婷| 国产午夜一区二区三区| 色五月色五天色情网| 第五色婷婷| 99国产这里只有精品| 99日这里只有精品| 五月天另类图片| 伊人超碰| 天天激情| 日本色综合| 久久亚洲天堂| www.久久久.com| 精品成人在线观看| 九九aV| 久久综合激情| 亚洲亚洲人成综合网络| 超碰97在线操| 99热精品网| 五月婷婷丁香五月| 98永久精品| 91热在线| 五月天激情播播网| 色播五月丁香婷婷| 天天精品视频在线观看视频| 五月丁香久久| 成人短视频在线| av九九| 8090在线影视少妇| 色婷婷无吗| 欧美日韩国产一区二区| 国产白丝在线一区| 色五月天综合| 久热只有精品| 新97人人上人人| wwwss在线观看| 色色欧美。| 婷婷黄色网| 丁香五月激情欧美| 深爱 五月天| 亚洲综合婷婷| 五月丁香六月婷婷成人电影| 亭亭玉月丁香| 六月婷综合| 五月丁香888| 色噜噜夜夜夜综合网| 久久色五月| 亚洲十月婷婷综合| 婷婷成人视频| 国产伦亲子伦亲子视频观看| 丁香玖玖视频大全| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 欧美综合丁香网| 色五月婷婷五月天| 强壮的公次次弄得我高潮A片日本 | 7777国产盗摄农村女人| 这里只有精品视频视频在线观看| 五月婷婷丁香av| 91ncm视频| 久久久这里有精品| 色婷成人狠干| 人人人人人人人人人草| 婷婷欧美| 奇米色大香蕉| 狠狠艹狠狠艹| 激情婷婷五月天| 97超碰免费超级在线观看| 婷婷久久影院| 综合图区激情| 9久热| 色九九中文字幕| 五月婷婷啪啪网| 婷婷色5月天在线。| 91丨九色丨熟女| 99ree6| 中文AV在线播放| www.日日夜夜.com| 青青草国产亚洲精品久久| 日本97久久久精品| 国产六月婷婷| 97色色婷婷| 久久999久久999久久999久久| 九九热这里精品| 九九99免费视频| 色综合中文综合网| 五月婷婷久久激情 | 极品少妇XXXX精品少妇偷拍| 91se在线视频| 色偷偷综合| 99久久天堂婷婷| 综合五月天亚洲婷婷| 天天噜| 99久免费视频| 99热这里只有精品在线播放| 丰满少妇猛烈A片免费看观看| 日本九九视频| 日韩高清成人| 182TV大香蕉| 99r这里| 91人人爱| 亚洲综合狠狠艹| 婷婷五月天成人| www,五月天com| 99热亚洲| 丁香五月色网| 激情综合五| 99热黄| 狠狠五月天激情| 亚洲精品V天堂中文字幕| site:xiongshengzz.com| 涩综合网| AV五月丁香| 天天天天天日| 成久综合视频| 久久五月天婷婷| 日韩一66精品| 成人做爰高潮A片免费视频 | 色丁香五月婷婷婷| 亚洲亚洲人成综合网络| 狠色狠色狠色狠色狠色网| 思思热在线观看| 九九热视频首页/这里只有精品| 色色色热热热| 综合亚洲五月天| 亚洲综合另类| 婷婷五月天深爱| 99精品视频在线观看| 丁香色播五月天| caop视频| 五月丁香人妻| 夜夜久久综合网| 日韩在线视频中文字幕| 26uuu国产色| 教师性爱毛片| 99久热在线精品| 激情综合青草| 99婷五月| 影音先锋偷偷色男人站| 久久久精品99亚洲综合| 久久久国产精品黄毛片| 五月丁香六月婷婷网| 亚洲人妻Av| 超碰大香蕉网| 久久精品永久免费| www.精品久9| 色色色免费视频| 婷婷九月激情| 日本大逼91| 五月丁香综合啪啪| 人妻久久久久久久久妻久久久久| 国产精品久久久久久久久久久久 | 丁香五月停停av| 日本久久9| 久久久久人妻精品| 九九热99在线视频| 月婷婷婷婷五月| 色区久久| 97超喷视频在线观看| 九月av| 五月www| 中文AV在线观看| 八戒青柠影视剧在线观看| 综合久久五月天| 激情婷婷五月女| 久久一伦| 青草视频在线观看视频| 狼友视频在线观看18| 99精品在线下载| WWW99视频| 国产黄大片在线观看画质优化 | 无码地址| 90色免费视频| 91久久久久久久久18| 国产密乳av一区二区三区四区| 玖玖婷婷五月天| 碰超亚洲| 少妇AB又爽又紧无码网站| 五月婷婷色五月| 色婷网| 免费啪啪啪网站| 操操碰| 色婷婷www| 婷婷久久六月天| 男人天堂99| 91在线观看www| 这里只有精品久久| AV在线观看网站| 综合激情五月天六月婷免费视频| 日日干日日色| 激情四射五月天| www.9797国产| 4399精品一区二区| 国产暴力强伦轩1区二区小说| 人人爱操| 久热超碰91| 婷婷丁香综合| 99性爱精品| site:wpjngj.com| 久热大香蕉| 中文字幕成人影视| 有哪些A片网站| 色色操| 婷婷五月天毛片| 婷婷五月天无码熟女| 99这里有精品视频| 婷婷伊人五月| 四色女婷婷| 99在线观看视频精品| 丁香五月婷婷大香蕉| 婷婷九月丁香中文| 超碰A V在线| 538在线精品| 欧美肉大捧一进一出免费视频| 激情丁香九九五月综合网| 99精品热| 丁香综合婷婷五月天| 六月丁香婷婷网| www.久久五月天.com| 狠狠色网| 亚洲视频无| 日韩在线成人电影| 国产女生爱爱AA| 久久久九九九 99| 色欧美日| 97超碰欧美中文字幕| 99啪在线视频| 免费亚洲成人电影AV| 日韩无码性爱| 亚洲久久日| 丁香九月色| 日本在线观看91| 91性人人| 久久久久久久久久久97| 丁香五月电影| 婷婷五月天综合蜜桃| 天堂婷婷五月在线| 99er6热在线观看精品6| 色五月天电影| 五月色婷婷影院| 色五月天婷婷| 色婷婷亚洲| 色狠狠综合| 美日韩成人| 国产成人精品亚洲线观看| www,setingting| www.sebowuyue| 97碰| 色五月六月婷婷| 女力报到正好爱上你| 99无码精品| 99热99色| 亚洲第一成人AV| 激情综合九月| 激情五月天之五月婷婷| 五月天俺去也| 可以看的AV| 丁香网站| 色日本综合| 天天插天天插天天日| 欧美色六月婷婷| 狠狠色噜噜狠狠狠888| 狠狠色噜噜狠狠狠888| 午夜69成人做爰视频| 综合玖玖偷拍| 51成人| 天天爽天天爽天天爽天天爽天天爽| 99愛国产| 亚洲天堂爱爱| 天天日P天天射P| 色婷五月婷婷| 操日挥操日日| 天天日天天爽| 五月天丁香成人| 99热这里只有精品10| 综合色色婷婷| 色情一区二区播放| 99日本黄站| 色色六月| 欧美丁香婷婷天天操| 五月天激情中文字幕| 在线成人网站| 五月停视频天堂| 开心久久五月天| 天天色综合图片| av大香蕉| 婷婷综合影院| AAA久久| 色一情一乱一乱91Av| 人人草成人视频| 五月丁香大相交| 99热热热99精品丁香| www.射伊蕉婷婷| 日日懆天天懆| 婷婷激情图片| 色欲丁香| 丁香涩涩爱| 久久五月天婷婷| 99视频久久| www一区二区三区| av国产精品| 欧美色图天堂网| 99热这里只有精品一区| 中文字幕日本最新乱码视频| 色婷操逼| 色婷婷网| 日本少妇AA一级特黄大片| 婷婷综合网在线| 操骚货在线| av成人在线播放| 99无吗| 日韩在线看AV| 99狠狠色| 激情99在线视频| 天天久久九九| 99视频精品全部免费 在线| 五月激情在线| 深爱婷婷基地| 99视频精品| 99久久9| 色在线99| 日韩成人中文字幕| 99热都是精品| 婷婷五月天激情电影| 深爱开心激情| 99人人操人人操人人精| 激情五月天伊人影院| 婷婷色色亚洲| 五月成人天| 99热综合在线观看| 国产色99| 日本丰满久久| 天天日综合| 亚洲成人在线电影网站| 五月中旬婷婷丁香六| 亚洲免费成人电影AV| 69er小视频| 996re热精品视频| 深夜A片| 97久久久久久久久久久| 亭亭五月激情亚洲在线| 香港九九六区八区99| 成人丁香五月天| 色综合99色| 五月天综合色| 久超超碰| 涩涩五月天| 夜夜躁婷婷AV| 亚洲av综合网| 五月婷婷丁香大陆免费| 中文字幕免费高清电视剧| 色婷婷色人人射| 色婷婷成人久久| 视频一二区| 日本一级特黄大片AAAAA级| 91干视频| 五月丁香婷中文字幕| 91.www综合| 色五月欧美| 国产精品久久..4399| 人妻内射一区二区在线视频| 影音先锋 91工厂| 婷婷综合网| 思思热久久婷婷五月天| 久久精品日| 99热久| 激情婷婷五月天伊人在线观看| 人人人操 超碰| 五月婷婷激情四月| 丁香五月天影院| 深爱激情综合| 伊人久久艹| AV在线免费观看不卡| 狠狠五月天| 九九热在视频| 婷婷伊人综合| 久久五月天婷婷| 99久久99热这里只有精品| 久艹大香蕉| 天天草天天爽| 婷婷五月色丁香在线看| 丁香五月婷婷亚洲另类| 人妻丰满精品一区二区A片| 欧美va欧美va差| 99久久久免费| 国产看真人毛片爱做A片| 综合久久婷婷五月丁香| 五月婷婷九九久久| 99视频只有精品| 五月丁香五月综合欧美| 噜综合| 91porn一起草| 午夜不卡久久精品无码免费 | 久久曰曰| 五月婷婷欲色| 在线观看五月婷婷网| 人人操人人妻| 极品少妇XXXX精品少妇偷拍| 热思思| 无码动漫av| 玖玖婷婷免费| 开心激情五月天网| 国产成人AV在线播放 | 狠狠操天天日| 亚州操操| 天天色综| 国产AV一区二区三区最新精品| 久久电影4399| 天天夜夜操| 色国产五月| 五月天婷婷香蕉狠狠超碰综合| 日韩久久日| 少妇性按摩无码中文A片| 久久婷五月| 五月婷婷天| 婷婷色亚洲| 久婷婷| 丁香五月狠狠在线观看| 四虎国产精品永久在线国在线| 97色啪| 五月天狠狠| 日逼免费视频 | 色情五月综合婷婷| 精品人妻伦一二三区久久| 99热国产在线| 九九综合精品| 久操b网| A1片久久久| 99热热这里只精品996小说| 久久精彩视频| 99色视频| 婷婷开心激情| 26uuu国产| www.黄色片-久久成人国产精品在线播放-999AV| 色综合久久88色综合天天| 激情六月五月婷婷综合网| 2022人人操人人看| 婷婷自拍| 日本在线观看aaa 99| 大香蕉伊然在亚洲90| 亚洲情综合五月天| 国内一级片| 能看的AV| 五月天丁香色色| 亚洲中文字幕在线观看| 国产午夜精品一区二区三区四区| 99热这里只有精品中文字幕| 99色热| 色色婷| 国产一级片色色| 一级黄色影片| 大香伊人久色| 婷色影院| 国产AV不卡福利| 97伦色婷婷| AV动漫不卡无码免费| 欧美在线视频9| 男人天堂99| 爆乳熟妇一区二区三区爆乳照片| 超碰在线99| 99ri视频在线观看| av一区二区电影免费在线观看| 久热精品在看| 久久综合婷婷五月| 色综合色综合婷婷热| 色五月开心婷婷| 这里只有精品久| 五月婷婷婷婷婷婷艺术| 天天色天天| 久久九九@| 九九热精品视频在线观看| 伊人久久婷婷| 香蕉久操| 久久女人九九| www.激情| 午夜色色色极品视频| 这里只有九九精品| 天天碰夜夜爽| 99无码黄色视频| 91丨九色丨43老版熟女| 蒲京久久无码视频| av无码电影| 色婷婷手机在线| 国产伦理精品高清在线观看网站一区二区 | 色色色色色色综合| 91精品国产99久久久久久天美| 综合99综合久久久久久久| 久久久天堂国产精品女人| 国产熟妇的荡欲午夜视频| 久久精品99久久久久久久久| 色丁香五月天| 久久婷婷五月综合伊人| 五月色综合网| 亚洲国产精品SUV| 4399精品一区二区| 亚洲热手机在线观看| 色狠狠婷婷| 伊人婷婷99热精品| 亚洲成av人影院| 国产精品黑丝| 日本本土色网第一区| 亚洲国产精品综合色区| 婷婷99| 操操操97| 天天干,天天舔| 青草激情在线| www.激情| 色色婷婷婷丁香五月天| 久久er九九| 婷婷四色成人综合色视| 无码99| 天堂在线婷婷| 婷婷综合成人五月天| 综合久久五月天| 五月丁香婷婷成人网| 欧美性爱一区| 这里只有免费精品| 成人视频一区| 天天操天天曰天天射| 色色婷五月天| 久久99精品视频| 超碰丁香五月| 五月中旬婷婷丁香六| 99热这里只有精品免费观看| 激情五月综合亚洲另类| 五月丁香激情综合六月涩涩爱| 欧美丁香六月在线观看视频| 五月婷婷六月丁香| 九九色插| 亚洲人妻一区二区| 五月丁香黄色视频| 亚洲综合视频网| 思思久久96热在精品国产,| 欧美99热| 影视av久久久噜噜噜噜噜三级| 久久久久思思热| 五月综合久久| 思思热这里只有精品视频666| 欧美色色网| 色婷婷亚洲综合天堂| 天搞天天天天天| 日本人妻A片成人免费看片| 欧美碰碰碰| 热成人网| 狠狠操狠狠操AV| 91网站黄| 中文字幕av久久爽一区| 2022人人操人人看| 99热精品中文字幕| 一级AV片| 五月婷婷丁香六月在线| 天天综合网亚洲综合网| 97操操网| 99re这里只有精品免费| 久热九九| 五月天激情综合在线| 深爱五月激情五月| 婷婷的99视频网站| 六月婷婷激情图片| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 丁香五月香蕉| 色啪影院| 超碰猛烈的性猛交| www999日韩精品| 99热日本| 婷婷夜夜夜夜| www.99操| 色婷婷社区| 婷婷五月色情| 国产密乳av一区二区三区四区| 五月丁香毛片| 激情都市五月天| 中文字幕 中文字幕明步| AV在线观看网站| 亚洲婷婷91丁香| 亚洲综合激情五月天婷婷| 狠狠草狠狠草| 啪啪婷婷五月天激情| 欧洲第一无人区观看| 激情五月五月五月婷婷| 久久色大香蕉| 激情五月天com| A片一曲| 91精品91久久久中77777| 欧美综合激情五月丁香| 亚洲妇女熟BBW| 婷婷精品性性性性性性性| 日韩国产在线精品| 婷婷狠狠操| 丁香久久综合| 性做久久久久久久免费看| 精品免费99| 国产综合A片| 色色五月婷| 婷婷免费精品视频| 超碰97在线观看免费| 99热这里只有精品搜| 五月丁香综合在线| 色色色色网站| 五月网在线| 婷婷久久综合| 99久久婷婷国产综合精品草原| 丁香激情婷婷网| 1024亚洲| 精品影院| 99亚洲色| 综合色99| 草久私拍| 97人人操人人爽| 天天做天天爱综合| 69精品人妻不卡视频| 五月丁香激情综合| 久久性爱网站| 亚洲综合视频网| 碰碰人人人| 婷婷激情人妻| 久热只有这里精品| 日本WWW九九九| 国产在线网| 9999久久久久| www激情网| 99自拍视频在线| 欧美大片免费观看| 五月婷婷色色色| 五月天婷婷色播在线网| 超碰在线国产| 午夜福利成人AV91| 久久机热/这里只有精品| 97婷婷五月天| 婷婷色导航| 激情五月综合久久| 婷婷在线日韩综合| 久久久精品AV| 天天爽,夜夜爽| 秋霞三级色戒| 综合激情在线| av九九| 婷婷五月天福利| 色婷婷久久综合丁香五月| 五月婷婷av| 停停综合色色| 精品一二三区久久AAA片| 超碰91人人操| 五月综合激情视频在线| www.婷婷网| 亚洲人妻AV| 4399精品一区二区| 欧美顶级少妇做爰HD| 精品人妻伦一二三区久久| 五月天亭亭俺也| 综合深爱五月| www.久久久久| 九九这里是免费的视频5| 成人在线高清| 黄色国久久| 俺去也五月| 操逼视频一区| 91热网址| 亚洲色婷婷| 岛国av电影网站| 五月丁香花免费视频| 丁香五月综合婷婷| 91大神操美女| 五月婷中文字幕| 成人av免费观看| 五月丁香激| 综合一区二区三区| 综合五月天天天天天五月| 五月婷婷丁香五月亚洲色| 亚洲精品欧洲精品| 国产成人AV在线| 日本欧美在线| 9999热在线观看| 日本三级网址| 99伊人性爱在线影院| 狠狠色噜噜狠狠狠狠狠色综合久久| 黄色三级毛片中字| 色五月av| 大香蕉av在线| 五月天激情四射| 日本高清久久| 丁香激情五月天| 国产看真人毛片爱做A片| 九九99久久| 人妻少妇色综合| 欧美色色色色色色色色色色| 97操碰在线视频| 欧美99热| 亚洲色婷婷| 武则天精品久久| 色五月激情网| 色情五月综合婷婷| 91 欧美| www.夜夜操| 99国产精品久久久久久久久久久| a性生活久久无| 99cao婷婷| 色9月| 97人人干| 综合啪啪| 丁香五月婷婷动漫视频| 99re热精品在线视频| 丁香五月婷婷婷婷欧美综合| 久久精品永久免费| 婷婷六月插屄激情| 九热视频| 色婷网| 五月在线| 中文字幕网伦射乱中文| 婷婷丁香五月亚洲| 色五月婷婷五月天激情综合| 五月天激情AV| 久久这里只有欧美| 可以直接看的av| 婷婷五月天免费| 99热这里只有精品在线播放| 五月天国产婷婷精品视频在线| 久久机热这里只有精品| 丁香婷婷噜噜| 色五月婷婷综合在线| 色五月涩涩婷婷| 久久六月天| 天天做天天爽| 色狠狠色噜噜AV天堂五区| 亚洲深喉AV| 就去色色五月丁香婷婷久久久| 欧美日韩一区二区三区四区| 日本猛少妇色XXXXX猛叫| 99热这里只有精品国产首页| 婷婷五月天激情综合| 亚洲欧洲另类| 激情综合丁香| 国产免费一区二区在线A片视频| 天天射综合网站| 九九热这里只有精品9| www.99情趣网| 免费黄色片子| 婷婷自拍| 色综合色五月| 久热网站| 无码99| 五月天婷婷丁香人人操91| 激情综合五月婷| 噜噜狠狠色| 婷婷激情综合| 婷婷综合久久综合| 99爱这里只有精品| 日操夜撸| 国产午夜精品AV一区二区麻豆| 久久精品五月天| 五月激情五月丁香| 色欲影香| www.婷婷五月.com| 亚洲超碰在线| 久久精品人妻| 黄色网址五月婷婷| 九九九九九九毛片| 久99久热只有精品国产99| 久久久久久久人妻| 色婷婷91激情小说| 色婷婷综合五月| 天天天天操| 91热视频| 婷婷激情区| 久久久激情| 操久久精| 五月婷婷影| 真实的国产乱XXXX在线91| 激情六月婷婷| 夜夜躁爽日日| 天天操天天国产三级片处女学生妹| 亚洲精品视频在线播放| 79精品视频在线观看,| 嫩草免费视频| 久久只有精| 9久久精品| 色九月婷婷综合| 婷婷六月天精品| 色五月婷婷综合在线| 亚洲视频久久| 99热这里只有免费精品| 五月丁香网站| 色九九综合| 色婷丁香| 校园春色亚洲色| 狠狠插狠狠| 欧美成人在线观看| 婷婷激情伍月网| 思思热在线精品视频| 亚洲免费看片| 五月天婷婷激情小说电影| 激情五月狠狠喔| 天天操天天草天天草天天| 91干婷婷| 色婷婷成人在线| 色丁香五月婷婷| 亚洲欧洲自拍图片专区五月天| 国产婷婷五月天| 热久国产| 丁香五月天堂网| 精品牛仔裤超碰| 色九网|