日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

labelme2yolo關(guān)鍵點(diǎn)格式轉(zhuǎn)換:從JSON到txt的完整流程與避坑指南

labelme2yolo關(guān)鍵點(diǎn)格式轉(zhuǎn)換:從JSON到txt的完整流程與避坑指南 做關(guān)鍵點(diǎn)檢測(cè)項(xiàng)目的人大多繞不開(kāi)一個(gè)尷尬的環(huán)節(jié)標(biāo)注工具和訓(xùn)練框架各說(shuō)各話(huà)。我最近在整理一套自用的姿態(tài)關(guān)鍵點(diǎn)數(shù)據(jù)流程標(biāo)注端一直用 labelme因?yàn)樗?huà)點(diǎn)、拖框、改標(biāo)簽都順手團(tuán)隊(duì)里非技術(shù)背景的同事也能快速上手但訓(xùn)練端用的是 YOLO 系列的關(guān)鍵點(diǎn)檢測(cè)模型它只認(rèn)自己那套 txt 標(biāo)注格式。于是每次數(shù)據(jù)更新都要在 labelme 的 JSON 和 YOLO 的 txt 之間來(lái)回倒騰一次。這個(gè)“l(fā)abelme2yolo 格式改變”的活兒看著不起眼真做起來(lái)坑不少坐標(biāo)歸一化算錯(cuò)、關(guān)鍵點(diǎn)順序?qū)Σ簧?、可?jiàn)性標(biāo)志丟失、圖像尺寸讀錯(cuò)任何一個(gè)環(huán)節(jié)出問(wèn)題訓(xùn)練時(shí) loss 就是降不下去你還以為是模型結(jié)構(gòu)的問(wèn)題排查半天才發(fā)現(xiàn)是標(biāo)注轉(zhuǎn)換錯(cuò)了。這篇內(nèi)容就是把我自己這套轉(zhuǎn)換流程完整拆開(kāi)講清楚。它解決的核心問(wèn)題很具體把 labelme 標(biāo)注的關(guān)鍵點(diǎn) JSON 文件穩(wěn)定、可復(fù)現(xiàn)地轉(zhuǎn)換成 YOLO 關(guān)鍵點(diǎn)檢測(cè)所需的 txt 格式同時(shí)保留關(guān)鍵點(diǎn)的順序語(yǔ)義和可見(jiàn)性信息。適合正在做單人姿態(tài)、手部關(guān)鍵點(diǎn)、工業(yè)部件定位點(diǎn)這類(lèi)項(xiàng)目的同學(xué)參考無(wú)論你是剛接觸關(guān)鍵點(diǎn)檢測(cè)的新手還是已經(jīng)跑通過(guò)一遍但想搞清楚細(xì)節(jié)的老手都能從里面找到能直接抄作業(yè)的步驟和踩坑經(jīng)驗(yàn)。下面我按設(shè)計(jì)思路、核心細(xì)節(jié)、實(shí)操實(shí)現(xiàn)、問(wèn)題排查四個(gè)部分展開(kāi)中間會(huì)穿插我自己實(shí)測(cè)下來(lái)的參數(shù)選擇和避坑技巧。1. 整體設(shè)計(jì)思路與格式差異拆解動(dòng)手寫(xiě)轉(zhuǎn)換腳本之前得先把兩邊的數(shù)據(jù)格式徹底搞明白。很多人一上來(lái)就搜現(xiàn)成腳本復(fù)制過(guò)來(lái)跑不通然后開(kāi)始瞎改根本原因是對(duì)兩種格式的字段含義理解不到位。我習(xí)慣先把格式差異列成一張表對(duì)著表寫(xiě)代碼邏輯會(huì)清晰很多。1.1 labelme 關(guān)鍵點(diǎn)標(biāo)注的 JSON 結(jié)構(gòu)labelme 保存的每個(gè) JSON 文件對(duì)應(yīng)一張圖里面最關(guān)鍵的幾個(gè)字段是imagePath、imageWidth、imageHeight、imageData可選和shapes。關(guān)鍵點(diǎn)標(biāo)注在shapes里每個(gè) shape 有一個(gè)label、一個(gè)shape_type關(guān)鍵點(diǎn)通常是point、以及points數(shù)組。對(duì)于點(diǎn)來(lái)說(shuō)points里就一個(gè)坐標(biāo)[x, y]單位是像素。這里有個(gè)容易被忽略的點(diǎn)labelme 的關(guān)鍵點(diǎn)本身不帶“可見(jiàn)性”字段。它只有坐標(biāo)沒(méi)有“這個(gè)點(diǎn)被遮擋了”或者“這個(gè)點(diǎn)在圖外”的標(biāo)記。而 YOLO 關(guān)鍵點(diǎn)格式是要求可見(jiàn)性標(biāo)志的0 表示未標(biāo)注、1 表示標(biāo)注但不可見(jiàn)、2 表示可見(jiàn)。所以轉(zhuǎn)換時(shí)我們必須自己定一套規(guī)則來(lái)生成可見(jiàn)性常見(jiàn)做法是只要 labelme 里畫(huà)了這個(gè)點(diǎn)就認(rèn)為可見(jiàn)性為 2如果某個(gè)關(guān)鍵點(diǎn)缺失就填 0 并把坐標(biāo)補(bǔ) 0。這套規(guī)則必須在整個(gè)數(shù)據(jù)集上統(tǒng)一否則模型學(xué)到的可見(jiàn)性語(yǔ)義會(huì)亂。另外labelme 的shapes里可能同時(shí)存在檢測(cè)框rectangle和關(guān)鍵點(diǎn)point。YOLO 關(guān)鍵點(diǎn)格式要求每行先有一個(gè)目標(biāo)框再跟若干關(guān)鍵點(diǎn)。所以轉(zhuǎn)換時(shí)要先把框和點(diǎn)配對(duì)起來(lái)。我的做法是約定每個(gè)目標(biāo)一個(gè)框框的 label 和點(diǎn)的 label 用命名前綴關(guān)聯(lián)比如框叫person點(diǎn)叫person_nose、person_left_eye這樣靠前綴把點(diǎn)歸到對(duì)應(yīng)的框下面。這個(gè)約定在標(biāo)注階段就要跟標(biāo)注人員講清楚不然后期配對(duì)邏輯會(huì)寫(xiě)得很痛苦。1.2 YOLO 關(guān)鍵點(diǎn) txt 格式的字段含義YOLO 關(guān)鍵點(diǎn)檢測(cè)的標(biāo)注是一張圖一個(gè) txt每行描述一個(gè)目標(biāo)。一行的結(jié)構(gòu)是類(lèi)別索引 cx cy w h px1 py1 v1 px2 py2 v2 ...。其中cx cy w h是目標(biāo)框的中心點(diǎn)和寬高全部按圖像寬高歸一化到 0 到 1后面每個(gè)關(guān)鍵點(diǎn)是三個(gè)值歸一化后的 x、歸一化后的 y、可見(jiàn)性 v。歸一化這一步是錯(cuò)誤高發(fā)區(qū)。歸一化的分母是圖像寬度和高度不是框的寬高。我見(jiàn)過(guò)有人把關(guān)鍵點(diǎn)坐標(biāo)減去框左上角再除以框?qū)捀吣鞘橇硪环N相對(duì)框的表示法YOLO 關(guān)鍵點(diǎn)格式不認(rèn)這個(gè)。正確做法就是px x / imageWidth、py y / imageHeight簡(jiǎn)單直接但一定要確認(rèn)imageWidth和imageHeight讀的是 JSON 里的字段而不是 PIL 重新打開(kāi)圖片讀的尺寸兩者理論上一致但圖片被替換過(guò)而 JSON 沒(méi)更新時(shí)就會(huì)不一致這種臟數(shù)據(jù)要提前過(guò)濾。還有一個(gè)細(xì)節(jié)關(guān)鍵點(diǎn)的順序必須固定。YOLO 訓(xùn)練時(shí)是按索引位置理解每個(gè)點(diǎn)的語(yǔ)義的第 0 個(gè)點(diǎn)永遠(yuǎn)代表鼻子第 1 個(gè)點(diǎn)永遠(yuǎn)代表左眼以此類(lèi)推。所以轉(zhuǎn)換腳本里要維護(hù)一個(gè)全局的關(guān)鍵點(diǎn)名稱(chēng)到索引的映射表所有樣本都按這張表輸出缺失的點(diǎn)補(bǔ) 0。這張表一旦定下來(lái)就不能隨便改改了就得重新訓(xùn)練否則模型會(huì)把語(yǔ)義搞混。1.3 為什么選擇腳本轉(zhuǎn)換而不是手工處理有人會(huì)問(wèn)數(shù)據(jù)量不大的話(huà)能不能手工改我的經(jīng)驗(yàn)是絕對(duì)不要。關(guān)鍵點(diǎn)數(shù)據(jù)動(dòng)輒幾千個(gè)點(diǎn)手工改不僅慢而且歸一化的小數(shù)位、可見(jiàn)性標(biāo)志這些細(xì)節(jié)極容易出錯(cuò)出錯(cuò)后還很難定位。寫(xiě)一個(gè)一次性投入的腳本后面數(shù)據(jù)更新直接重跑才是可持續(xù)的做法。腳本轉(zhuǎn)換的另一個(gè)好處是可審計(jì)。轉(zhuǎn)換過(guò)程中可以加校驗(yàn)檢查每個(gè)框是否有點(diǎn)、檢查坐標(biāo)是否越界、檢查關(guān)鍵點(diǎn)數(shù)量是否和映射表一致。這些校驗(yàn)在手工處理時(shí)幾乎不可能系統(tǒng)化地做。我在腳本里加了一個(gè)統(tǒng)計(jì)輸出每次轉(zhuǎn)換完打印總樣本數(shù)、缺失關(guān)鍵點(diǎn)的樣本數(shù)、坐標(biāo)越界的樣本數(shù)一眼就能看出數(shù)據(jù)質(zhì)量。這個(gè)習(xí)慣幫我提前發(fā)現(xiàn)過(guò)好幾次標(biāo)注錯(cuò)誤比如標(biāo)注人員把點(diǎn)畫(huà)到了圖像外面。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)格式搞清楚了接下來(lái)是轉(zhuǎn)換過(guò)程中真正決定成敗的細(xì)節(jié)。這一部分我按“讀什么、配什么、算什么、寫(xiě)什么”的順序講每個(gè)環(huán)節(jié)都附上我實(shí)際踩過(guò)的坑。2.1 圖像尺寸的讀取與校驗(yàn)歸一化依賴(lài)圖像寬高所以第一步是把寬高拿準(zhǔn)。labelme 的 JSON 里有imageWidth和imageHeight字段直接讀這兩個(gè)值是最穩(wěn)的因?yàn)樗褪菢?biāo)注時(shí)用的尺寸。但有個(gè)前提JSON 和圖片必須是一一對(duì)應(yīng)的且圖片沒(méi)有被替換過(guò)。我遇到過(guò)一種情況同事重新導(dǎo)出了一批圖尺寸變了但 JSON 還是舊的結(jié)果歸一化全錯(cuò)。所以腳本里我加了一步校驗(yàn)用 PIL 打開(kāi)imagePath指向的圖片讀實(shí)際尺寸和 JSON 里的字段比對(duì)不一致就跳過(guò)并記錄到日志。這一步多花幾秒鐘能省掉后面幾小時(shí)的排查。如果圖片路徑在 JSON 里是相對(duì)路徑要注意腳本運(yùn)行時(shí)的當(dāng)前工作目錄。我的做法是統(tǒng)一以 JSON 文件所在目錄為基準(zhǔn)拼接圖片路徑這樣不管從哪個(gè)目錄運(yùn)行腳本都不會(huì)找不到圖。拼接后如果文件不存在也記錄到日志不中斷整個(gè)轉(zhuǎn)換流程因?yàn)榕繑?shù)據(jù)里偶爾有一兩張圖丟失是常事不能因?yàn)橐粡垐D讓整個(gè)任務(wù)失敗。2.2 框與關(guān)鍵點(diǎn)的配對(duì)邏輯配對(duì)是轉(zhuǎn)換里最需要設(shè)計(jì)的一環(huán)。前面說(shuō)了用命名前綴關(guān)聯(lián)具體實(shí)現(xiàn)是先遍歷shapes把shape_type為rectangle的收集成框列表把shape_type為point的收集成點(diǎn)列表。然后對(duì)每個(gè)框按它的label作為前綴去點(diǎn)列表里找 label 以“前綴 分隔符”開(kāi)頭的點(diǎn)。分隔符我習(xí)慣用下劃線(xiàn)比如框person對(duì)應(yīng)點(diǎn)person_nose。這里有個(gè)邊界情況要處理一張圖里可能有多個(gè)同類(lèi)目標(biāo)比如兩個(gè)人。這時(shí)候兩個(gè)框的 label 都是person靠前綴就分不清哪個(gè)點(diǎn)屬于哪個(gè)人了。解決辦法是在標(biāo)注階段就給每個(gè)目標(biāo)加編號(hào)比如person_1、person_2點(diǎn)叫person_1_nose、person_2_nose。這個(gè)約定必須在標(biāo)注規(guī)范里寫(xiě)死轉(zhuǎn)換腳本按編號(hào)分組即可。如果標(biāo)注階段沒(méi)做這個(gè)約定后期補(bǔ)救很麻煩只能靠點(diǎn)的空間位置去猜它屬于哪個(gè)框用點(diǎn)在框內(nèi)的規(guī)則做歸屬但點(diǎn)落在框外或者兩框重疊時(shí)就不可靠了。所以我的建議是多目標(biāo)場(chǎng)景標(biāo)注時(shí)就把編號(hào)加上別偷懶。配對(duì)完成后還要檢查每個(gè)框是否配到了預(yù)期數(shù)量的關(guān)鍵點(diǎn)。如果某個(gè)框只配到一半的點(diǎn)說(shuō)明標(biāo)注漏了這時(shí)候可以選擇跳過(guò)該樣本或者補(bǔ) 0。我傾向于跳過(guò)并記錄因?yàn)殛P(guān)鍵點(diǎn)缺失太多的樣本對(duì)訓(xùn)練是負(fù)貢獻(xiàn)。跳過(guò)閾值可以設(shè)成“缺失超過(guò) 30% 就跳過(guò)”這個(gè)比例可以根據(jù)項(xiàng)目容忍度調(diào)整。2.3 歸一化計(jì)算與數(shù)值精度歸一化的公式前面說(shuō)了x / width、y / height但數(shù)值精度有講究。YOLO 的 txt 一般保留 6 位小數(shù)就夠了保留太多位沒(méi)必要還增大文件體積。我用的是格式化字符串%.6f實(shí)測(cè)下來(lái)訓(xùn)練完全沒(méi)問(wèn)題。要注意的是坐標(biāo)可能因?yàn)闃?biāo)注誤差略微超出圖像邊界比如 x 等于 width 加 1歸一化后大于 1。這種值要不要截?cái)嗟?0 到 1 之間我的做法是截?cái)嘁驗(yàn)槌鲞吔绲狞c(diǎn)對(duì)模型沒(méi)有意義截?cái)嗪笾辽俨粫?huì)引入異常梯度。截?cái)嗟耐瑫r(shí)記錄一條日志方便回頭檢查標(biāo)注質(zhì)量??虻臍w一化同理cx (x1 x2) / 2 / width、w (x2 - x1) / width。這里要確保 x1 小于 x2labelme 畫(huà)框時(shí)如果從右下往左上拖存下來(lái)的點(diǎn)順序可能是反的所以計(jì)算前先對(duì)兩個(gè)角點(diǎn)做 min/max 排序。這個(gè)小細(xì)節(jié)不處理算出來(lái)的寬高會(huì)是負(fù)數(shù)訓(xùn)練直接報(bào)錯(cuò)。2.4 關(guān)鍵點(diǎn)順序映射表的維護(hù)映射表是整個(gè)轉(zhuǎn)換的“憲法”。我把它寫(xiě)成一個(gè) Python 字典鍵是關(guān)鍵點(diǎn)名稱(chēng)后綴比如nose、left_eye值是對(duì)應(yīng)的索引。所有樣本輸出時(shí)按索引 0 到 N-1 的順序依次取點(diǎn)取不到就填0 0 0。這張表要和訓(xùn)練時(shí)的配置保持一致YOLO 的模型配置里有個(gè)kpt_shape參數(shù)比如[17, 3]表示 17 個(gè)關(guān)鍵點(diǎn)、每個(gè)點(diǎn) 3 個(gè)值這個(gè) 17 必須和映射表的長(zhǎng)度一致。映射表最好單獨(dú)存成一個(gè)配置文件或者常量模塊轉(zhuǎn)換腳本和訓(xùn)練配置都引用它避免兩處各寫(xiě)一份導(dǎo)致不一致。我吃過(guò)這個(gè)虧轉(zhuǎn)換腳本里加了第 18 個(gè)點(diǎn)訓(xùn)練配置忘了改結(jié)果訓(xùn)練時(shí)維度對(duì)不上報(bào)錯(cuò)信息還不直觀查了半天?,F(xiàn)在我的做法是映射表只在一個(gè)地方定義其他地方 import 引用改一處全生效。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)這一部分給出可以直接跑的完整流程。我用 Python 實(shí)現(xiàn)依賴(lài)只有標(biāo)準(zhǔn)庫(kù)加 Pillow不需要裝額外的深度學(xué)習(xí)框架輕量好部署。下面按步驟走關(guān)鍵代碼貼出來(lái)并解釋。3.1 環(huán)境準(zhǔn)備與目錄結(jié)構(gòu)約定先約定目錄結(jié)構(gòu)這能讓腳本邏輯簡(jiǎn)單很多。我習(xí)慣這樣組織dataset/ images/ train/ val/ labels_json/ train/ val/ labels_yolo/ train/ val/labels_json放 labelme 導(dǎo)出的 JSONlabels_yolo是腳本輸出的 txt目錄結(jié)構(gòu)鏡像對(duì)應(yīng)。這樣訓(xùn)練時(shí)直接指向labels_yolo即可。環(huán)境上只需要 Python 3.8 以上和 Pillow安裝命令就一行pip install pillow不需要裝 labelme 本身因?yàn)槟_本只讀 JSON不依賴(lài) labelme 的運(yùn)行時(shí)。這一點(diǎn)對(duì)部署到?jīng)]有圖形界面的服務(wù)器上很有用。3.2 關(guān)鍵點(diǎn)映射表與配置定義先定義映射表和類(lèi)別表。假設(shè)做的是單人 5 關(guān)鍵點(diǎn)頭、左手、右手、左腳、右腳的簡(jiǎn)化姿態(tài)任務(wù)映射表這樣寫(xiě)# config.py KEYPOINT_NAMES [head, left_hand, right_hand, left_foot, right_foot] KEYPOINT_INDEX {name: i for i, name in enumerate(KEYPOINT_NAMES)} CLASS_NAMES [person] CLASS_INDEX {name: i for i, name in enumerate(CLASS_NAMES)} SEPARATOR _KEYPOINT_INDEX用推導(dǎo)式生成保證索引和名稱(chēng)順序嚴(yán)格對(duì)應(yīng)。類(lèi)別同理。分隔符單獨(dú)定義方便以后改。這個(gè)文件被轉(zhuǎn)換腳本 import訓(xùn)練配置里也引用len(KEYPOINT_NAMES)作為kpt_shape的第一個(gè)值做到單一數(shù)據(jù)源。3.3 單個(gè) JSON 到 txt 的轉(zhuǎn)換函數(shù)核心轉(zhuǎn)換函數(shù)按前面講的邏輯實(shí)現(xiàn)我把它拆成幾個(gè)小函數(shù)便于測(cè)試。先寫(xiě)讀取和校驗(yàn)import json import os from PIL import Image def load_and_validate(json_path): with open(json_path, r, encodingutf-8) as f: data json.load(f) img_path os.path.join(os.path.dirname(json_path), data[imagePath]) if not os.path.exists(img_path): return None, image_missing with Image.open(img_path) as im: real_w, real_h im.size if real_w ! data[imageWidth] or real_h ! data[imageHeight]: return None, size_mismatch return data, None這個(gè)函數(shù)返回?cái)?shù)據(jù)和錯(cuò)誤碼調(diào)用方根據(jù)錯(cuò)誤碼決定跳過(guò)還是繼續(xù)。size_mismatch和image_missing都記錄到日志不拋異常保證批量處理不中斷。接著寫(xiě)配對(duì)和轉(zhuǎn)換def convert_one(data): w, h data[imageWidth], data[imageHeight] rects, points [], [] for shape in data[shapes]: if shape[shape_type] rectangle: rects.append(shape) elif shape[shape_type] point: points.append(shape) lines [] for rect in rects: prefix rect[label] (x1, y1), (x2, y2) rect[points] x1, x2 min(x1, x2), max(x1, x2) y1, y2 min(y1, y2), max(y1, y2) cx (x1 x2) / 2 / w cy (y1 y2) / 2 / h bw (x2 - x1) / w bh (y2 - y1) / h kpt_map {} for p in points: label p[label] if label.startswith(prefix SEPARATOR): suffix label[len(prefix) len(SEPARATOR):] if suffix in KEYPOINT_INDEX: kpt_map[KEYPOINT_INDEX[suffix]] p[points][0] cls_id CLASS_INDEX.get(prefix.split(SEPARATOR)[0], 0) parts [str(cls_id), f{cx:.6f}, f{cy:.6f}, f{bw:.6f}, f{bh:.6f}] for i in range(len(KEYPOINT_NAMES)): if i in kpt_map: px, py kpt_map[i] px min(max(px / w, 0.0), 1.0) py min(max(py / h, 0.0), 1.0) parts.extend([f{px:.6f}, f{py:.6f}, 2]) else: parts.extend([0.000000, 0.000000, 0]) lines.append( .join(parts)) return lines這段代碼里幾個(gè)關(guān)鍵點(diǎn)值得說(shuō)明。prefix.split(SEPARATOR)[0]是為了處理帶編號(hào)的框 label比如person_1取person去查類(lèi)別索引。關(guān)鍵點(diǎn)坐標(biāo)做了截?cái)嗫梢?jiàn)性畫(huà)了就填 2、沒(méi)畫(huà)填 0。缺失點(diǎn)補(bǔ)三個(gè)零值保證每行長(zhǎng)度一致。這些處理都是前面設(shè)計(jì)思路的落地。3.4 批量處理與統(tǒng)計(jì)輸出批量處理就是遍歷目錄、調(diào)用轉(zhuǎn)換、寫(xiě)文件、統(tǒng)計(jì)。統(tǒng)計(jì)部分我單獨(dú)寫(xiě)因?yàn)樗菙?shù)據(jù)質(zhì)量的晴雨表def batch_convert(json_dir, out_dir): os.makedirs(out_dir, exist_okTrue) stats {total: 0, ok: 0, image_missing: 0, size_mismatch: 0, no_rect: 0} for name in os.listdir(json_dir): if not name.endswith(.json): continue stats[total] 1 data, err load_and_validate(os.path.join(json_dir, name)) if err: stats[err] 1 continue lines convert_one(data) if not lines: stats[no_rect] 1 continue out_path os.path.join(out_dir, name.replace(.json, .txt)) with open(out_path, w, encodingutf-8) as f: f.write(\n.join(lines)) stats[ok] 1 print(stats) return stats跑完打印的統(tǒng)計(jì)里ok是成功數(shù)其他幾個(gè)是各類(lèi)異常數(shù)。我一般要求ok占比 95% 以上才繼續(xù)訓(xùn)練低于這個(gè)值先回去查標(biāo)注。no_rect表示圖里只有點(diǎn)沒(méi)有框這種樣本對(duì)關(guān)鍵點(diǎn)檢測(cè)沒(méi)用直接跳過(guò)是對(duì)的。3.5 轉(zhuǎn)換結(jié)果的抽樣驗(yàn)證腳本跑完不能直接拿去訓(xùn)練要抽樣驗(yàn)證。我的驗(yàn)證方法很土但有效隨機(jī)抽 5 個(gè) txt把里面的歸一化坐標(biāo)乘回圖像寬高用 Pillow 在原圖上畫(huà)點(diǎn)和框肉眼看位置對(duì)不對(duì)。這一步能發(fā)現(xiàn)歸一化方向搞反、坐標(biāo)軸搞混這類(lèi)低級(jí)但致命的錯(cuò)誤。驗(yàn)證代碼不復(fù)雜畫(huà)完存成圖片對(duì)比即可。我還會(huì)檢查 txt 的行數(shù)是否等于該圖的目標(biāo)數(shù)以及每行的字段數(shù)是否等于5 3 * 關(guān)鍵點(diǎn)數(shù)字段數(shù)不對(duì)說(shuō)明映射表或補(bǔ)零邏輯有問(wèn)題。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄轉(zhuǎn)換腳本寫(xiě)起來(lái)不難難的是數(shù)據(jù)出問(wèn)題時(shí)快速定位。這一部分整理我實(shí)際遇到過(guò)的典型問(wèn)題和排查路徑做成速查表遇到問(wèn)題先對(duì)表。4.1 訓(xùn)練 loss 不降反升的排查順序這是最讓人抓狂的癥狀。我的排查順序是先看標(biāo)注轉(zhuǎn)換再看數(shù)據(jù)劃分最后才懷疑模型。標(biāo)注轉(zhuǎn)換方面重點(diǎn)查三件事關(guān)鍵點(diǎn)順序是否和kpt_shape一致、可見(jiàn)性標(biāo)志是否合理、歸一化是否用了正確的寬高。我遇到過(guò)一次 loss 震蕩最后發(fā)現(xiàn)是映射表里兩個(gè)點(diǎn)的索引寫(xiě)反了模型學(xué)到的語(yǔ)義是亂的改回來(lái)立刻正常。可見(jiàn)性方面如果所有點(diǎn)都填 2模型學(xué)不到遮擋信息遇到遮擋樣本表現(xiàn)會(huì)差但一般不會(huì)導(dǎo)致 loss 不降所以?xún)?yōu)先級(jí)放后面。數(shù)據(jù)劃分方面檢查訓(xùn)練集和驗(yàn)證集是否有重復(fù)圖片或者驗(yàn)證集里全是難樣本。這個(gè)用文件名的哈希去重就能查。模型方面反而最后查因?yàn)殛P(guān)鍵點(diǎn)檢測(cè)的模型結(jié)構(gòu)相對(duì)成熟配置對(duì)了很少出問(wèn)題。4.2 坐標(biāo)越界與負(fù)寬高的處理坐標(biāo)越界前面提過(guò)截?cái)嗉尤罩尽X?fù)寬高是框角點(diǎn)順序問(wèn)題min/max 排序解決。還有一種情況是框的寬或高歸一化后等于 0說(shuō)明標(biāo)注時(shí)框畫(huà)成了一條線(xiàn)這種樣本要跳過(guò)因?yàn)閷捀邽?0 的框在訓(xùn)練時(shí)會(huì)引發(fā)除零或者無(wú)效 anchor。我在轉(zhuǎn)換函數(shù)里加了一個(gè)判斷bw或bh小于一個(gè)極小值比如 1e-6就跳過(guò)該目標(biāo)并記錄。4.3 多目標(biāo)場(chǎng)景的歸屬混亂前面講過(guò)用編號(hào)解決這里補(bǔ)充一個(gè)排查技巧如果懷疑點(diǎn)歸屬錯(cuò)了把每個(gè)框和它配到的點(diǎn)用不同顏色畫(huà)出來(lái)一眼就能看出哪個(gè)點(diǎn)跑到了別的框下面。歸屬錯(cuò)誤的典型表現(xiàn)是某個(gè)框的關(guān)鍵點(diǎn)數(shù)量異常多另一個(gè)異常少。統(tǒng)計(jì)每個(gè)框配到的點(diǎn)數(shù)分布偏離預(yù)期值的就是可疑樣本。4.4 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方式訓(xùn)練報(bào)維度錯(cuò)誤映射表長(zhǎng)度與 kpt_shape 不一致打印兩者長(zhǎng)度對(duì)比統(tǒng)一引用同一配置loss 不下降關(guān)鍵點(diǎn)索引錯(cuò)位抽樣畫(huà)點(diǎn)核對(duì)語(yǔ)義修正映射表歸一化后坐標(biāo)大于 1標(biāo)注點(diǎn)超出圖像邊界檢查原始坐標(biāo)截?cái)嗖⒂涗浫罩緦捀邽樨?fù)框角點(diǎn)順序反了打印原始角點(diǎn)min/max 排序找不到圖片相對(duì)路徑基準(zhǔn)錯(cuò)打印拼接后路徑以 JSON 目錄為基準(zhǔn)尺寸不一致圖片被替換比對(duì) JSON 與 PIL 尺寸跳過(guò)并記錄某框點(diǎn)數(shù)異常多目標(biāo)歸屬錯(cuò)按顏色畫(huà)點(diǎn)核對(duì)標(biāo)注加編號(hào)這張表我貼在項(xiàng)目文檔里新人接手先看表能解決八成問(wèn)題。4.5 我踩過(guò)的兩個(gè)印象深刻的坑第一個(gè)坑是編碼問(wèn)題。labelme 的 JSON 里如果有中文標(biāo)簽用默認(rèn)編碼讀在某些環(huán)境下會(huì)報(bào)錯(cuò)統(tǒng)一用utf-8讀寫(xiě)就沒(méi)事。第二個(gè)坑是浮點(diǎn)數(shù)格式化早期我用str(round(x, 6))結(jié)果0.5會(huì)輸出成0.5而不是0.500000雖然數(shù)值一樣但某些嚴(yán)格的解析器對(duì)字段格式敏感后來(lái)統(tǒng)一用%.6f格式化字段寬度一致解析更穩(wěn)。這兩個(gè)坑都不大但排查起來(lái)費(fèi)時(shí)間寫(xiě)在這里給后來(lái)人省點(diǎn)事。4.6 轉(zhuǎn)換流程的復(fù)用與擴(kuò)展建議這套流程我后來(lái)擴(kuò)展到了手部關(guān)鍵點(diǎn)項(xiàng)目只改了映射表和關(guān)鍵點(diǎn)數(shù)量其他邏輯原樣復(fù)用說(shuō)明設(shè)計(jì)上把可變部分收斂到配置里是對(duì)的。如果以后要支持左右手區(qū)分可以在映射表里加前綴或者拆成兩個(gè)類(lèi)別。再進(jìn)一步如果標(biāo)注端換成別的工具只要寫(xiě)一個(gè)適配層把它的輸出轉(zhuǎn)成 labelme 的 JSON 結(jié)構(gòu)后面的轉(zhuǎn)換邏輯完全不用動(dòng)。這種分層思路是我做數(shù)據(jù)管線(xiàn)時(shí)一直堅(jiān)持的格式適配層和業(yè)務(wù)轉(zhuǎn)換層分開(kāi)換工具不換邏輯。最后分享一個(gè)我個(gè)人的習(xí)慣每次轉(zhuǎn)換完把統(tǒng)計(jì)結(jié)果和抽樣驗(yàn)證圖存到一個(gè)帶日期的文件夾里數(shù)據(jù)更新時(shí)對(duì)比前后統(tǒng)計(jì)能快速發(fā)現(xiàn)新數(shù)據(jù)引入的問(wèn)題。這個(gè)習(xí)慣看起來(lái)繁瑣但在數(shù)據(jù)量上來(lái)之后是保證訓(xùn)練穩(wěn)定的重要一環(huán)。關(guān)鍵點(diǎn)檢測(cè)的成敗很多時(shí)候不在模型而在這些看起來(lái)枯燥的數(shù)據(jù)細(xì)節(jié)里。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰天天去日穴| 97久久精品亚洲| 蜜臀久久在线视频| 高清在线偷拍自拍视频| 美国日韩黄片| 欧美黑人与女人91| 欧美72网页| 成年女人18级毛片毛片免费观看| 蜜乳AV色欲AVAV无码| 中国人高清www色视频免费| 欧美少妇性乱| 99re3这里只有精品| 免费精品人妻一区二区三| 成人性生活高清视频在线播放| 在线综合 亚洲 欧美中文字幕 | 91夜色| 一区| 爱爱动态试试看6 0秒| 91天堂色男人的天堂| 激情综合网激情综合| 91M一社| yy少妇精品久久| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 91国产美女丝袜足交精品视频| 中国亚洲呦女专区| 能直接看AV的网站| 女人高潮抽搐喷水视频网站| 永久免费发布性爱网| 级做a爱无码性色永久免费| 亚洲天堂少妇| 丝袜狂射91| 国产盗摄美女如厕大神作品在线观看| 亚洲第91页 | 欧美少妇色图| 国产激情视频一区区三区| 中文字幕1区2区| 日本久久久精品电影| 伊人在线大香蕉视频久久| 亚洲欧美精品久| 日韩欧美丝袜诱惑| 天天躁狠狠躁av| 91精品婷婷国产综合久久竹菊| 中文字幕av久久爽Av| 日韩偷拍色图| 亚洲淫乱骚妇AV| 亚洲自拍欧美国产首页网曝| 99精品久久久久久| 懂色av中文字幕| 东京热,男人的天堂| 欧美日韩妖精91com| 亚洲日韩狠狠撸视频| 国产精品午夜福利| 乱伦日本中文自拍| 日韩精品 视频一区二区| 风流老熟女一区二区三区l| 欧美性爱中文字幕无线码| 91社区拍啪人妻| 中国探花熟女| 国产女上位好爽在线| 99热免费| 91精品又粗又猛又爽| 极品一区二区三区免费| 国产精品不卡少妇白| 91第一页| A级毛片在线看免费| 亚洲精品乱码线路中文字幕| 久久性爱城| 97精品国产97久久久久久户外免费| 精品久久99| 欧美日韩人妻婷婷一区| 日日骚AV| 7月婷婷综合| 精品人妻一区二区三区视频| 夜夜躁狠狠躁日日躁av| 尤物视频一区| 亚洲综合888| 少妇69中文| 97欧美综合网| 在线无码网站| av优播| 天天内射| 中国农村熟妇毛片视频| 人妻AV在线| 欧美亚洲AN| 精品少妇高潮久久| 久久久久久日韩| 乱精品一区字幕二区| 久久伊人在线五区| 亚州综| 91强热人妻| 免费的av网| 啊啊啊啊啊啊啊在线| 青青草国产欧美非洲黑人| A片A5445444| 99热这里只有精| 抽插一区二区视频| 国产白嫩漂亮KTV在线| 欧美夜夜狠| 色香欲天天天天综合色| 欧美爆乳精品一区二区| 射 色综合| 玖玖资源视频一区二区三区| 六月激情婷婷| 伊人亚洲综合| 热久久国产| 久久久久久夜夜夜夜夜| 国产深喉视频一区二区| 欧美做爰无码A片视频| 国产精品视频播放| 91视频精品| 亚洲成人综合在线| 中文字幕人妻丝袜乱一区三区| www.亚洲成人一区| 色爱综合网欧美| 欧美综合另类| 99成人| 超碰在线日韩一区| 亚洲黑丝在线| 国产成人自拍视频视频| 蜜臀AV成人精品蜜臀AV久久| 999999精品| 五月天激情四射| 清纯唯美综合| renqi久久久久久久久久久久| 亚洲情色 无码专区| 天天草夜夜草高潮片| 日本丝袜美腿人妻九九| 国产在线综合网| 欧美最婬乱婬爆婬性视频 | 欧美激情久操网| 激情文学网伊人| 久久久久久久久一区二区三区| 婷婷丁香五月激情啪啪| 久久精品店| 超碰av人人人| 在线观看中文字幕| 91色五月俺来也| 日韩美女啪啪一区| 久艹视频在线| 一区二区日韩欧美久久| 一区二区三区国产在线播放| 天堂精品小草| 人人摸人人摸人人干| 天堂av最新电影网| 婷婷色一区| 懂色aV一区二区天美传媒| 国产久久日韩网站导航| 91碰超| 日韩国产九九精品一区二区三区毛片| 五月天激情小说| 97超碰色色| 国产白丝在线| 啊啊啊不要好疼视频| 香蕉99秘 一区精品蜜桃臀| 色综合美国| 懂色中文一区二区三区| 97国产精品| 蜜乳av一区二区三区四区不卡| 一起草精品人妻| 一二三区操逼国产91| 97色涩| 日韩亚洲Av人人夜夜澡人人爽| 97久久久久久久久久| 欧洲综合视频| 国产亚洲日本精品在线| 久久久久久网址| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲国产成人精品999| 操逼999| 欧美做爰无码A片视频| 日韩欧美亚欧在线视频| 亚洲一区制服诱惑| 亚洲少妇诱惑| 天天弄天天操| 日本在线不卡v二区| 九九热三级片| www.人人摸在线视频| 九九九久千久久激情蜜桃在线看| 国产精品熟女乱伦| 精品毛片av一区二区| 麻豆一区二区三区在线看| 天天爽夜夜欢视| 色老汉玖玖爱| 天天插天天射| 亚洲天天艹| 色色婷婷五月| 久久久精品成人国产| 性爱网站一区二区| 国产精品96| 欧美色蜜桃97| 亚州精品人妻一二三区| 九99久久| 亚洲偷91色| 自拍欧美| 亚洲性猛| 久久久久久久久久久久欧美日| 国产精品久久久视频| 免费a在线播放v| 少妇人妻好深太紧了vr91| 亚洲一区在线观看欧洲| 国产福利视频精品视频| 婷婷伊人五月| 日韩免费高清大片在线| 亚欧免费观看视频| 国产成久久综合片| 久久受www免费人成| 日韩啊V| 神马久久久久久久| 日韩精品资源专区二区| 少妇人妻好深太紧了vr91| 亚洲AV麻豆Aⅴ无码电影一| 天天综合-91入口| 久操免费观看| 国产精品久久久吖| 欧美五十路熟| 风流老熟女一区二区三区l| 女同女同恋久久级三级| 国产成人手机视频激情| 免费观看的黄色的网站| 欧美99| 骚逼高潮久久精品| 亚洲精品一区二区三区新线路| 中文字幕永久在线| 日韩精品三区四区| 人人超碰在线观看黄| 六月婷婷一区二区三区| 一级AAA片一区二区三区| 色欲久久99国产精品久久久久久| 亚洲欧美人妻| 老司机射| 国产精品久久久亚洲一区| 欧美日不卡| 欧洲乱码一区二区| 久草毛片| 无码精品久久| 日本中文字幕在线视频| 午夜天堂精品久久| 后入日本1234| 九九热AV| 午夜电影在线观看无码专区| 久久综合九九| 九九热在线精品视频| 欧洲一区二区三区四区在线观看| 91人人| 亚洲成人日韩小说| 日本一天色道久久久精品视频| 东京热大香焦| 91大神精品长腿在线观看网站| 熟妇xxxxx性春色| 成人三一级一片aaa| 国产福利精品最新在线| 天天日天天操VV| 超碰欧美COM| 亚洲精品97| 乱欲一区二区| 男人下部插入女人下部| 91女色| 一区二区三区探花在线观看| 欧美日韩丝袜| 劲爆欧美人妖三区91| 操熟女91| 韩国成人精品久久久免费看| 久久秀这里有精品| 97欧美色| 国产亚洲女v在线观看| 亚洲欧美精品91| 国产精品欧美激在线| 久久国产精品一区二区| 天天视频综合在线观看视频| 欧美日本久久精品一区 | 久久久久国产一区二| 亚洲 图片 综合91| 超碰天天去日穴| 国产视频一区二区三区在线免费观看 | 麻豆久久久久久久久丝袜| 亚欧操逼片在线观看 | 国语精品内射在线观看| 国产天天看| 九九碰九九爱97超| 超碰人人乐97| 欧美97在线欧| 亚洲情色1区| 欧美色另类| 美女黄频a美女大全免费皮| 欧美熟女激情| 亚洲av无码成电影在线播放| 电影69乱码96| 精品人妻一区二区三区在| 夜夜草网站| 九色 蝌蚪 熟女自| 人妻中文字幕日韩电影| 中文字幕午夜精品久久久| jizzjizz欧美| 91插B网站| aⅴ日韩成人电影av在线免费看av大全| 色999偷自拍拍| 免费精品无码一级毛片牛牛影视 | av大香蕉网站| 国产精品午夜福利亚洲综合网| 日韩pv中文| 亚洲影院成人| 欧美在线色| 国产精品自拍xxxx| 日本一二三免费久久| 欧美熟女操屄| 日本久久久久久久久久| 91在线无码精品秘 软件| 欧美丝袜美女电影一二三四区| 中文字幕一区二区韩| 亚洲性综合| Blackedraw视频一区二区| 天天情欲宗合网| 午夜福利视频在线一区| 78精品| 色性综合| 日韩精品碰碰| 日韩精品亚洲一二三| 九九色综合| 亚洲色宗合| 草久久久| 丁香五月性| 亚洲成人在线乱码色午夜| 欧美日日操| 变态乱伦伪娘灌肠一区二区| 伊人久久亚洲色欲综合网站 | 国产日韩久久| 啊啊啊好舒服好爽啊啊啊视频| 日本高清免费一本视频在线观看| 九九九精品一区二区无码| 牛黄色久午久| 91综合色噜噜| 久久久久久中文| 亚洲nv男人的天堂网| 老熟女乱伦片| 综合亚洲网| 高清不卡国产| 日韩欧美亚洲一区二区三区影院| 伦理第一页| 高潮嗯啊性感美女久久久| 亚洲欧洲综合视频在线| 国产日韩色综合| 密臀成人视频久久久| 无码人妻一区二区一牛影视| 岛国视频免费在线观看| 亚洲综合首页| 亚洲影视高清第一页| 久久极品伊人| 国产一级黄色片在线观看| 综合欧美亚洲| 91美女高潮| 亚洲欧美九九九| 婷婷五月成人| 操逼啊啊啊91| 三男一女不戴套的A片| 精品无码产区一区二| 国产蜜臀精品一区免费尤物| 在线中文字幕极品av| 国产精品第一页国产大屁股视频免费区| 久久国产对白激情浪潮 | 加勒比av网| 日本一区二区电影网站| 九九人人操| 欧美一区二区三区蜜桃| 都市久久精品激情亚洲| 特色a在线上| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 91夜色chaopeng| 夜夜爽爽爽| 亚洲精品国产精品乱码不99| 午夜黄色免费在线观看| 国产大学生口爆吞精合集| 黄片视频观看| 久久久久亚洲Av无码专区老牛影视| 黄页网站成人免费| av草草在线电影| 情色五月天网| 亚洲无限观看| 激情久久日韩精品中文字幕麻豆| 爱爱久久| 二三四区精品| 国产免费一区| 青青草玖玖爱| 日日日日做夜夜夜夜做无码97| 久久久久网站-538在线视频-欧美永久乱码 | 极品粉嫩一区二区| 福利风月五月天影院| 校园春色制服丝袜中文字亚洲| 亚洲av无码成人精品国产| 精品性爱一二三区| 午夜免费视频1000| 亚洲城人男人的天堂| 91超碰人人| 精品国产乱码久久久久久影片| 中文字幕第页| 久插综合| 亚洲 综合 第一页| 久久99久久99精品天美传媒棢·纸:.| 另类欧美| 不卡视频一区蜜桃视频| 偷拍亚洲| 欧美色视频在线| 午夜福利免费精品视频| 婷婷丁香在线| 1956日韩精品| 欧美精品偷拍| 99re综合伊人| 男人久久天堂| 人人潮人人摸| 色色五月婷婷| 欧美日韩222| 婷婷15月天青娱乐| 99re6在线视频播放免费精品| 色欧美综合| 乱伦熟女专区| 国产一区二区啪啪视频| www.91色综合| juliaann丝袜大战黑鬼| 美女天天干| 水多多映视AV| 人人摸人人干人人拍97| 98色网| 99国产精品免费| 国模久久在线| a片 xxxx受爽视频| 不卡一区二区日本视频| 丁香九月激情| 欧洲乱码视频| 91青青草| 国产强奸超碰AV| 天天看少妇| 精彩久久中文| 黄色AV免费| 日本黄 R色 成 人网站| 怡春苑东京热| 超碰午夜| 激情丁香五月| 夜夜夜夜爽| 热思思免费视频| 亚洲图片偷拍视频区| 第45页一区二区| 91美女精品| 国产成人亚洲精品无码古代早漏男 | AV丝袜少妇| 鸥美中出| 国产福利影视| 综合91网| 国产人妖视频一区在线观看| 激情露脸爱| 精精品人妻一区二区三区| 中国大陆国产高清AⅤ毛片| 少妇国产不卡| 中文字幕99999| 2024人人操人人摸| 亚洲日韩久久精品一区| 国产高清无码一区三区二区| 91在线视频免费中出| 久久久无码精品人妻二区 | 久久最新视频免费观看| 91av熟女人妻| 99r九九| 超碰97亚洲| 婷婷丁香六月| 蜜臀99久久精品久久久久久| 成人网站 免费观看| 天天天天天天天天综合| 摸奶性爱视频网站在线免费播放| 婷婷国产精品九区| 欧州一区二区三区四区| 一区二区三区四区五区高清无码永久视频 | 婷婷久久久精品| 激情综合网五月婷婷五月天| 香蕉大久久久| 国产18精品亚洲精品| 超碰精品人妻狠狠干| 中文字幕一区二区韩| 97碰碰日本乱偷人妻中文的| 国产精品亚洲高清在线| 青操影院| 五月婷婷激情综合| 老熟妇91| 中文字幕丝袜美腿| 一本精品日本在线视频精品| 亚洲91网站| 日韩欧美午夜视频在线| 亚欧操逼片在线观看| 欧美日韩国产色图在线| 黄色工厂这里只有精品| 亚州伊人色综台| 欧美欧美啪啪视频| 丝袜美女诱惑 91 视频| 精品国产肉丝袜在线拍国语| 亚洲成人贴图| 农村妇女精品一区二区| 日本日皮视频逼| 亚洲成成熟女人综合一区二区| 亚洲 综合 欧美| 国内偷拍精品一区二区| 久草热制服丝袜在线观看| 黄色视频特级毛片| 91亚洲人| 久色99999| 激情综合久久| 欧美的性爱网站免费| 91操人| 激情婷婷五月天| 亚洲码在线中文在线观看| 久久视频少妇美女| 亚洲天堂中文字幕无码男同| 国产日韩在线播放av| 久久久精| 91色综合激情| 久久人妻办公室视频| 精品日韩人妻精品一二三区| 国产精选视频| 超碰久久精品| 色综合中文字幕不卡| 国产操偷| 人妻少妇久久中文字幕一区二区 麻豆| 日本男人插女人的逼黄色| 国产精品一区二区黄片| 澳门黄片一香蕉视频| 欧美色道啊| 人妻日日夜夜精品| 免费一级毛片在线视频观看| 91精品微拍福利| 中文字幕AV中出| 国产视频大全| 有码色中文字幕在线观看| 99精品免费| 亚洲图片欧洲图片aⅴ| 女性喷水高潮在线观看| 日韩91网| 超碰97久久国| 一区二区三区成人| 久久久穴999| 天天综合网~69| 免費黃色視頻觀看一| 嗯啊视频免费在线观看| 亚洲欧美一区二区网址| 蜜臀久久99精品久久久久久-DVD| 神马九九九| 日韩精品操少妇| 久久9亚洲| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产熟女一区二区| 啊啊啊轻点在线观看| 试看福利| 日本999精品| 一区二区三区男女操逼黄色小电影| 天天爽夜夜操| 午夜男人一级A片7777| 天天看天天在线精品| 国产精品久久久久久久无码AV| 欧美日韩亚洲天堂| 亚洲色电影在线| 亚洲色图欧美色18直播在线| 好湿好紧视频| 久久久久久人| 色色九区| 国产一国产一级毛片古装| 男人天堂东京热| 99999re| 97欧美精品| 97视频免费在线观看| 中文字幕制服诱惑| yw尤物av无码点击进入麻豆| 立川理惠被中出无码| 91人妻人人澡人人爽人人精品| 午夜小电影在线插入淫高潮| 98久久| AV麻豆免费一区| 丁香九月 婷婷| 91精品女厕偷拍视频| 中文字幕亚洲永久精品| 欧美在线观看综合国产| 久久丁香| 欧美天天综| 人妻内射一区二区在线视频| 四虎影视永久在线观看精品免费网站 | 婷婷九月国产| 麻豆91熟妇人妻中文字幕茄子| 九九热三级片| 日本操逼aaaaa| 人人人人插| 激情视频网址| 欧美午夜色妇色鬼| 国产成人啪一区二区| 国产又粗又长视频| 久久亚洲中文字幕视频| 色欲蜜臀AV| 日韩成人电影AV| 色呦呦、国产精品| 亚洲图片在线| 日韩亚洲欧美中文字幕| 亚洲国产尤物yw在线观看| 日本日逼视频网| 久热久一区二区三区| 人人操人人射人人干| 天躁夜夜躁2021| 日本黄大片在线观看视频| 婷婷视频在线免费观看| 日本美女性生活久久久久久久 | 亚洲aV性爱| 久久99国产综合精品女同| 中文字幕超碰CAO| 97超碰色情| 国产欧美成人第一页在线观看| 九九RE视频在线精品| 美女的肌被草喷水视频| 欧美熟妇色| 国产熟女完整版中字| 嗯嗯啊啊视频在线看| 国产情色在线| 97资源视频| 午夜精品一区二区三区三上悠亚| 中文字幕一区二区三四五区日日骚| 欧美双插| 丁香婷婷大香蕉| 99黄页网站| 国产毛片毛片4p懂色| 色综合久久888| 我中文字幕6区 | 人人澡综合涩| 精品无码久久久久久久杏吧| 激情四射五月天| 中文在线视频| www.av在线视频| 97国产亚洲中文在线| 久久久久久九| 色吧综合网| 欧美手机在线综合| 日韩一区二区三区四区五区| 美日韩在线不卡人妻| 国产精品精品系列在线观看| 婷婷色色五月天| 97日韩欧美亚洲| 亚洲精品亚洲人成在线麻豆| 日韩美女高潮喷水视频| 一个国产在线综合网站| 青青草啪啪网| www亚洲免费| 丝袜天堂| 97在线精品观看视频| 久久99手机免费视频| 日本性爱视频一级| 欧美综合第一| 成人av福利在线观看| 青青草吊丝| 亚洲一区在线观看欧洲| 射欧美综合| 国产成人无码a| 久日91在线| 日本操大逼| 蜜桃狠狠色伊人亚洲综合 | 综合网少妇| 操操啪| 综合久久99| www.97在线| 午夜亚洲WWW湿好大| 少妇与黑人高潮在线| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 97伊人| 亚州精人品大香蕉| 日本淫乱女一区二区三区视频| 啊啊啊啊啊啊在线看| 久久国产逼| 98福利在线视频| 久久久国产成人一区二区三区在线 | 日韩av免费一级电影| 欧美夜色| 蜜乳av首页| 久久久久久97| 天天天天做夜夜夜夜做| 人、人、摸,人、人、草| 国产农村妇女毛片精品久久| 国产suv精品一区二区四| 欧美自拍偷拍综合图片| 麻豆区久久久久亚| 黄页大片在线观看| 超碰在线香蕉| 欧美性性性| 成人五月天色网| 成人三级片无码| 久久精品| 激情久久日韩精品中文字幕麻豆| 六月婷婷五月丁香| 中文字幕人成乱码熟女香港| 日韩精品人妻中文字幕不卡乱码| 91人人看| 8050午夜少妇无码| 欧美日韩国产成人高清| 97欧美久久久久久久| 亚洲图片欧美日韩| 另类 日韩 熟女| 97超碰精品| 久久亚洲天堂| 中文字幕丝袜人妻| 丁香五月性| 国产成人无码啪| 国产剧情在线| AV男人天堂网| 热久久九九热| 资源在线观一 二| 亚洲AV噜噜狠狠网址蜜桃动漫| 青青在线视频日韩欧美| 久久精品人妻一区二区三区| 亚洲码和欧洲精品激情系列| 开心五月激情网| 国产精品自拍xxxx| 国产91福利小视频在线观看| 欧美操逼录像国产黄色国产| 国产欧美后入| 抽查国产福利主播| 后X久久| www.久久久久| 国产精品无码在线| 91午夜无码| 91网九色蝌蚪操熟女| 亚洲天天自拍| 亚洲素人综合| 91国内外在线| 久久亚码| 国产亚洲精品美女| 久久一二三四五六七八九区区| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧洲亚洲少妇| 夜夜高潮夜夜爽夜夜爱爱一区| 色踪合AV| 夜色97| 伊人色综合欧美| 女人的天堂大香蕉网| 一区二区三区男女操逼黄色小电影| 大香蕉123| 激情综合五月天| www.色婷婷| 丁香五月大香蕉| 九九黄色网| 欧美成人精品A片免费一区99| 伊人色综合网电影| 亚洲aV性爱| 爱做久久久久久| 亚洲熟女中文字幕在线| **一级毛片国产| 日本女人操逼| 亚洲高潮少妇| 久久精品欧美一区蜜桃| 99热99re超碰精品| 欧美色66| 亚洲成人妻日韩在线| 亚洲的天堂网| 青青草中出视频| 亚洲情色 自拍| 欧美 亚洲精品首页| 成人久久久| 在线视频免费观看午夜| 嫩草美女久久| 乱伦AVxx| AV九九| 亚洲色堂免费视频| 又摸又舔在线观看网站| 91男人天堂网| 伊人九九| 午夜福利1区2区3区| 6080YYY午夜理论片在线观看| 中文字幕乱在线伦视频中文字幕乱码在线| 亚洲国产尤物yw在线观看| 青娱乐久久艹| 日本在线一二 | 美女啊啊啊啊啊啊| 国产精品原创巨作?v网站| 日韩 欧美 视频 在线 一区| 秋霞视频一区二区| 蜜色网色哟哟| 97干综合网| 少妇高潮九九九九| 天天操天天射天天日| 一区在线观看中文字幕| 九九久久久久久爱| 超碰一区二区| 亚洲欧美色图| 久久av成人无码免费| 亚洲男人bt天堂| 神马影院午夜福利久久久| av天堂加勒比| 八戒无码国产午夜福利| 激情综合色| 欧美亚洲美少妇一区二区| 老熟女天天操| 久久黄色视频一区二区三区| 婷婷五月在线视频| 东京热熟女亚洲视频网站| 干B网| 一区操逼日比视频| 青青草日逼视频| 小电影欧美91| 精品视频免费在线一区| 日本三级久| 丝袜狂射91| 国产高清视频无码在线| 狠狠色综合网| 亚洲素人网| 91国产操逼视频| 久久色情| 欧洲一区二区三区四区在线观看| 亚洲欧洲av影音| 欧美性爱五月天| 亚洲日韩东京热一区| 青春草莓视频在线观看网址| 偷窥自拍亚洲天堂网爆| 偷拍色图| 正在播放国产精品一区| 精品久久99| 精品999一区二区| 天天做日日爱夜夜爽| 97色视频在线| 欧美操人视频| 蜜色网色哟哟| 91爱网| 激情五月天丁香| 免费99精品国产自在在线| 国内精品a| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国内精品久9| 国产家庭乱伦网址| 亚洲欧美日韩电影网站一区 | 精品人妻一二三| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 99999国产精品| 国产超碰97| 免费一二区| 久草电影网| 夜夜夜久久| 一级aaaaa欧美中文字幕录像片| 9九九国产| 99青草| 男人综合网| 久污| 亚洲91大片| 九一综合精品视品av| 亚洲欧美综合区自拍另类| 好爽免费视频,| 91伊人大香蕉| 激情视频一二三| 亚洲AV永久无码精品成人调教| 欧美日韩精品青青| 97久久天天综合色天天综合色电影| 99久在线精品99re8| 久久9久久| 久久在线观看免费视频| 911av网站免费观看| 在线视频日韩欧美国产| 嗯啊不要在线观看嗯啊| 97视频www| 东京热毛片177b2viP| 一区二区三区在线美女| 五月天婷婷基地| 欧美色图亚州激情| 欧美日韩国产精品久久色婷婷| 伊人骚琪琪亚洲天堂网站| 日本高清视频xxxx| 翘臀vidoes| 日韩欧美蜜桃精品久久中文字幕久久 | 玖玖爱综合网| 国产女s强制榨精视频| 日韩AC| 使劲用力艹少妇视频一区二区| 超碰色美女| 国产对白刺激视频| 熟妇人妻一区二区 | 亚洲日产专区婷婷| 欧美性爽xyxOOOO| 天天综合91在线| 精品成人久久久人人亚洲| 国产精品嫩草久久久久| 观看免费区二区三区二| 亚洲天堂男人的天堂| 99精品久久| 亚州,欧美在线| 亚洲精品亚洲人成在线麻豆| 91激情网| 亚洲成人性| 欧美日韩国产电影| 北约熟女超碰| 亚洲涩涩| 无码免费精品高清| 在线电影亚洲色图| www.超碰| juliaann丝袜| 久久国产视频专区一二三| 精品久久久av无码免费| 久久久熟妇熟女国产| 人妻丰满熟妇一区二区三| 天天天堂影视日韩亚洲91| 26uuu国产成人综合| 亚洲国产中文字幕| 一本一道人妻久久一区二区三区 | 久久综合久色欧美综合狠狠| 欧美精品日韩一区二区| 亚洲欧美校园| 日韩精品高清资源在线| 国产精品爱欲| 九九九九九九精品| 中文字幕啊啊啊在线观看视频| 色哟哟AⅤ| 我爱操| 欧美在线色图| 在线v中文字幕一区二区三区| 日韩欧美中文字幕搭讪巨乳美人妻视频| 国产67194| 久久性生大片免费观看性| 不卡一区视频| 久久日韩毛| 色成人Www精品永久观看| 超碰97COm中文| 色眯眯av| 国产精品久久久久久夜夜夜| 殴美在线AⅤ| 日韩无码人妻| 夜夜骑日日| 啊啊啊啊啊啊啊啊啊啊在线观看| 国产高潮AA片免费看| 国产又猛又粗又爽又黄| 国产60页| 欧美在线电影| 男女性扦B| 亚州欧美综合| 日韩一级二级三级免费看完整版国语版| 伊人久久艹| 久久怡红院| 久久露脸国产老熟女| 99精品久久久久久久婷婷| 性暴力欧美猛交在线直播| 日韩精品一区二区高清| 综合激情二| 黄色香蕉视频网站一区| 99久久精品无码一区二区毛片免费 | 插入综合网| 天无日色综合| 亚洲综合影片| 亚州熟妇精品| 精品一区二区三区蜜桃臀www| 日日干男人的天堂| 玖玖爱伊人玖玖爱| 日日躁狠狠躁天天躁精品| 欧美综合综合| 97资源站日韩| а√天堂资源官网在线资源| 国产精品成人AV片免费看网站| 国产拍偷精品网站| 国产白嫩漂亮KTV在线| 亚洲无码99| 夫妻四区五区六区| 日日干夜夜骑| 欧美性爱一区二区三区| 欧美不卡五十路| 91艹B视频| 蜜臀av在线播放一区二区三区| 爽爽歪在线视频| 久久偷偷色综合蜜桃| 成人三级片一区二区三区视频| 人妻久久一区二区三区| 国产 热久久久久国产精品| 久久久97| 四虎视频在线观看| 久久久久女教师免费一区 | 欧美午夜视频精品久久| 色综合色色| 天天操天天日天天干| 亚洲黄色| 欧美性生活综合| 久神马| 乱伦强奸区日韩| 大香网伊人久久综合| 国产精品视频| Av手机版天堂网| 亚洲AV免费在线观看| 中文字幕av一区二区三区人妻少妇 | 久久久久久亚洲精品不卡人乳| 情色五月天久久久| 好吊色综合| 亚洲色鬼| 精品无码少妇| 99精品久久久久久久婷婷蜜桃| 欧美综合在线91| 香蕉国产精品麻豆亚洲欧美日韩| 色999亚洲人成色| 久9久9久9久9久9久9| 波多野结衣被操50分钟免费视频 | 深爱伊人影院| 操逼网站地址| 啪啪啪男女亚洲中文字幕99| 温婉少妇玩3p| av东京热男人的天堂| 激情视屏国产乱伦强奸| 啊啊啊啊啊啊啊在线| 免费综合亚洲中文| 999久久芭蕾| 99热免费| 视频国产成人精品日本亚洲18| 人人乐大香蕉| 亚洲熟伦熟妇AV无码春色| 极品丝袜无码| 人人操肉肉| 青青草色AV| 久久男人的天堂国产| 亚洲欧洲日本精品中文a∨| 好好的日:com久久九九| 国产欧美日韩在线不卡第一页| 精品国产乱码久久久影院| 久久久久久久一级黄色打同平台| 久草色悠悠在线视频| 美女十八禁| 人人扣人人操| 国产欧美后入| 欧洲成人性爱视频| 亚洲美腿丝袜香蕉影视欧美成人| 操比国产| 色综合大香蕉| 欧美欲色| 久久精视频美日韩在线视频| 国产sv美女内射| 激情第四色| 抽插亚洲无码| 能看的av| 亚洲精品99999| 东北操逼| 麻豆影音天美视频| 巨爆乳肉感一区二区三区竹菊影视 | 亚洲电影91| 懂色综合久久久| 色情五月综合婷婷| 国产美女裸体秘 永久无遮挡| 欧美欧美少妇| 97久久国产精品| 亚州 综合 色图| 人人妻人人操人人乐| 人妻中文在线| 男女真人网18| 国产精品一区二区黄片| 精品一区二区综合熟妇| 日韩操逼HD| 欧美福利视频啊啊啊啊| 丰满人妻区一区二区三| 91中文字幕| 天天色欧美| 97操| 日韩黄片影院| 成人亚欧免费视频| 久久99午夜精品一区人妻| 日韩乱伦影音先锋| 日韩AC| 丁香六月婷| 欧中日成人免费影视| 91 丝袜在线| 久久久久久久久九九久孕交| 伊人久久大香线综合无码| 91人妻视频| 精人妻无码一区二区三区伊人直播| 日本不卡一区二区三区| 在线五区| 丰满人妻一区二区三区免费 | 成人网站 免费观看| 大香蕉伊人久久| 久久久工口| 久久人妇| 久久久新亚洲AV| 国产精品干干干| 欧美一级色| 欧美亚洲厕所精品偷拍91| 少妇色欲综合网2| 老熟妇乱轮| 丁香五月婷婷基地| 伊人色综合超碰| 激情文学小说一区二区 | 国产极品一区二区三区三州| 亚洲18禁| 夜夜国自区| 又粗又长又爽在线观看| 99激情| 99热国产精品| 天天日天天搞天天干| 婷色五月| 91激情国产| 午夜超爽| 操人妻逼91| 懂色aV一区二区天美传媒| 人妻乱仑一区二区三区| 夜夜福利| 亚洲影院无码在线| 天综合网| 欧美爱爱97| 欧美图片偷拍| 热99这里有精品综合久久 | 91激情国产| 爱av免费| 中文字幕二区| 久久久久久国产无码精品| 97 超碰 人人做 人人爱| 免费A片三p视频| 1024亚洲中文字幕久在线看片你懂的 | 欧美专利1区2区3区4区5区免费| 亚洲AV色图| 91狠狠综合久久久久久| 日本天天干天天操一区| 97爱爱影院| 日韩亚洲国产视频| 亚洲欧美综合网站| 欧美极度丰满熟妇hd| 婷婷15月天青娱乐| 精品v日韩欧美国产| 久艹99| 亚洲另类电影| 狠狠操,使劲操| 久热色情精品| 亚洲第2页| 亚洲国产97| 99国产精品久久久久久久成人热| 综合国产影视三级| 久久↗↗| 日本熟妇一区二区三区| 日韩三级在线观看网站| 任你干在线视频| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲 欧美 另类 日韩 人妻一区 | 亚洲丝袜诱惑| 欧美日动态视频| 久7色| 超97在线精品视频| 精品国模无码| 综合熟妇一区二区三区| 日韩精品人妻中文字幕有码午| 91小视频| 免费精品国偷自产在线在线| 久久禁| 国产妇女精品视频青青草| 亚洲熟妇自偷自拍另欧美| 夜间福利片1000无码| 久久久国产av美女私房| 狠狠爱大香蕉| 蜜桃香蕉久草精品在线| 日本顶级天天操狠狠操夜夜操中文字幕| 日产狠狠干| 欧美精品1区2区3区| 国产亚州精品美女久久久免费| 日本黄大片在线观看视频| 97极品无码| 97碰| 乱伦熟女论坛| 国产品精品自在在线午夜免费| 欧洲综合色图| 精…码一二三区| 国产精品九九九| 偷拍 欧美 日韩| 一级一性爱免费视频| 老女人综合网| 日韩福利综合一区| 伊人久久在线视频观看| 精品国产一区二区三区在线播出| 99久久久无码精品国产人| 久久透逼视频|