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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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ō)各話。我最近在整理一套自用的姿態(tài)關(guān)鍵點(diǎn)數(shù)據(jù)流程標(biāo)注端一直用 labelme因?yàn)樗孅c(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)這類項(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)手寫轉(zhuǎn)換腳本之前得先把兩邊的數(shù)據(jù)格式徹底搞明白。很多人一上來(lái)就搜現(xiàn)成腳本復(fù)制過(guò)來(lái)跑不通然后開(kāi)始瞎改根本原因是對(duì)兩種格式的字段含義理解不到位。我習(xí)慣先把格式差異列成一張表對(duì)著表寫代碼邏輯會(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 里畫了這個(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ì)寫得很痛苦。1.2 YOLO 關(guān)鍵點(diǎn) txt 格式的字段含義YOLO 關(guān)鍵點(diǎn)檢測(cè)的標(biāo)注是一張圖一個(gè) txt每行描述一個(gè)目標(biāo)。一行的結(jié)構(gòu)是類別索引 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)代表左眼以此類推。所以轉(zhuǎn)換腳本里要維護(hù)一個(gè)全局的關(guān)鍵點(diǎn)名稱到索引的映射表所有樣本都按這張表輸出缺失的點(diǎn)補(bǔ) 0。這張表一旦定下來(lái)就不能隨便改改了就得重新訓(xùn)練否則模型會(huì)把語(yǔ)義搞混。1.3 為什么選擇腳本轉(zhuǎn)換而不是手工處理有人會(huì)問(wèn)數(shù)據(jù)量不大的話能不能手工改我的經(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ò)后還很難定位。寫一個(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)畫到了圖像外面。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)格式搞清楚了接下來(lái)是轉(zhuǎn)換過(guò)程中真正決定成敗的細(xì)節(jié)。這一部分我按“讀什么、配什么、算什么、寫什么”的順序講每個(gè)環(huán)節(jié)都附上我實(shí)際踩過(guò)的坑。2.1 圖像尺寸的讀取與校驗(yàn)歸一化依賴圖像寬高所以第一步是把寬高拿準(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í)慣用下劃線比如框person對(duì)應(yīng)點(diǎn)person_nose。這里有個(gè)邊界情況要處理一張圖里可能有多個(gè)同類目標(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ī)范里寫死轉(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 畫框時(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)換的“憲法”。我把它寫成一個(gè) Python 字典鍵是關(guān)鍵點(diǎn)名稱后綴比如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)練配置都引用它避免兩處各寫一份導(dǎo)致不一致。我吃過(guò)這個(gè)虧轉(zhuǎn)換腳本里加了第 18 個(gè)點(diǎn)訓(xùn)練配置忘了改結(jié)果訓(xùn)練時(shí)維度對(duì)不上報(bào)錯(cuò)信息還不直觀查了半天。現(xiàn)在我的做法是映射表只在一個(gè)地方定義其他地方 import 引用改一處全生效。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)這一部分給出可以直接跑的完整流程。我用 Python 實(shí)現(xiàn)依賴只有標(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不依賴 labelme 的運(yùn)行時(shí)。這一點(diǎn)對(duì)部署到?jīng)]有圖形界面的服務(wù)器上很有用。3.2 關(guān)鍵點(diǎn)映射表與配置定義先定義映射表和類別表。假設(shè)做的是單人 5 關(guān)鍵點(diǎn)頭、左手、右手、左腳、右腳的簡(jiǎn)化姿態(tài)任務(wù)映射表這樣寫# 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)式生成保證索引和名稱順序嚴(yán)格對(duì)應(yīng)。類別同理。分隔符單獨(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è)試。先寫讀取和校驗(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都記錄到日志不拋異常保證批量處理不中斷。接著寫配對(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去查類別索引。關(guān)鍵點(diǎn)坐標(biāo)做了截?cái)嗫梢?jiàn)性畫了就填 2、沒(méi)畫填 0。缺失點(diǎn)補(bǔ)三個(gè)零值保證每行長(zhǎng)度一致。這些處理都是前面設(shè)計(jì)思路的落地。3.4 批量處理與統(tǒng)計(jì)輸出批量處理就是遍歷目錄、調(diào)用轉(zhuǎn)換、寫文件、統(tǒng)計(jì)。統(tǒng)計(jì)部分我單獨(dú)寫因?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è)是各類異常數(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 在原圖上畫點(diǎn)和框肉眼看位置對(duì)不對(duì)。這一步能發(fā)現(xiàn)歸一化方向搞反、坐標(biāo)軸搞混這類低級(jí)但致命的錯(cuò)誤。驗(yàn)證代碼不復(fù)雜畫完存成圖片對(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)換腳本寫起來(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)的索引寫反了模型學(xué)到的語(yǔ)義是亂的改回來(lái)立刻正常。可見(jiàn)性方面如果所有點(diǎn)都填 2模型學(xué)不到遮擋信息遇到遮擋樣本表現(xiàn)會(huì)差但一般不會(huì)導(dǎo)致 loss 不降所以優(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)嗉尤罩?。?fù)寬高是框角點(diǎn)順序問(wèn)題min/max 排序解決。還有一種情況是框的寬或高歸一化后等于 0說(shuō)明標(biāo)注時(shí)框畫成了一條線這種樣本要跳過(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)用不同顏色畫出來(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ò)位抽樣畫點(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ò)按顏色畫點(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讀寫就沒(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í)間寫在這里給后來(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è)類別。再進(jìn)一步如果標(biāo)注端換成別的工具只要寫一個(gè)適配層把它的輸出轉(zhuǎn)成 labelme 的 JSON 結(jié)構(gòu)后面的轉(zhuǎn)換邏輯完全不用動(dòng)。這種分層思路是我做數(shù)據(jù)管線時(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
返回資訊列表
超碰人人操人人9| 人妻少妇色综合| 99久久综合网| 天天网曰日曰夜夜综合永久免费| 五月丁香六月欧美综合| 国产精品人成A片一区二区| se99高清无码| 午夜九九九九九九九九九九九九九| 色婷婷九月综合| 成人AV网站在线| 九九在线视频| 婷婷五月AV| 亚洲视频丁香网va| 五月婷婷六月丁| 丁香六月婷婷社区| 激情婷婷22月间| 久久XX| 丁香涩涩五月天| 九九色人| 亚洲最大在线| 99久re热| 久超超碰| 久久免费操| 国内自拍97在线| 日日干夜夜干| 无码人妻少妇色欲AV一区二区 | 婷婷久久婷婷色五月| 婷婷五月天亚洲激情戏精品| 停停五月色宗合| 日本狠狠干| 91黄色五月天视频| 色综合九九色综合88| 综合激情在线| 成人婷婷| 九九热这里只有精品7| 国产真人做爰视频免费| 丁香久久久| 久久这里有精品视频在线免费观看| 久久人人添人人爽添人人片αV| 亚洲色色香蕉| 可以看的AV网站| 久久这里只有精品16| 变天就操逼婷婷五月| 任你操精品免费| 四色五月婷婷在线观看| 亚洲性天天| 激情五月天色网站| 五月天伊人av| 激情5月天天天| 99国产精品白浆在线观看免费| 久久这里这里有精品免费视频| 久久98| 色色丁香五月天| 99久热这里只有精品| 丁香婷婷久久 | 五月天婷婷丁香社区| 91九色视频在线观看| 伊人激情影院| 国产精品色情AAAAA片软件| 亚洲精品五月| 丁香五月六月综合激情| 九九热视频免费| 天天艹天天色| 五月婷视频在线| www,com,五月色色| 99热自拍| 欧美性爱专区| 99热大香蕉| WWW.17C亚洲精品| 婷婷丁香五月网| 婷婷丁香五月激情| 26uuu精品一区二区| 九色色| 麻豆五月丁香婷婷| 91超碰在线播放| 丁香综合网| 五月丁香婷婷色色| 热99玖玖99玖玖99九九| 国产亚洲精品久久久久久郑州 | 求可以看的AV网址| 五月丁香婷婷深深爱| 另类图片婷婷五月天| 婷婷色中文字幕| 久久色在线视频| 99精品视频在线观看| 日日爱699| 中文成人在线| 国产真实乱对白精彩| 久久综合99| 中国女人做爰A片| 国产精品天天狠天天看| 中文字幕中文有码在线| 亚洲岛国电影| 丁香五月六月久久综合| 色噜噜狠狠色综合日日免费| 五月丁香婷婷六月天| 日日爱678| 天天综合网亚洲综合网| 五月天狠狠| 久色视频| 久久9精品| www.日韩艹| 色色亚洲五月天| 中文字幕 码精品视频网站| 婷婷永久在线| 日本在线wwww| 这里只有精品99www| AAAA亚洲| 热久精品| 色情五月丁香| 激情六月婷婷| 九九色黄色| 九九久久精品| 射区导航| 99精品视频网| 久久人人添人人爽添人人片αV| ..真实国产乱子伦毛片 | 亭亭五月丁香五月天激情| 99热在线观看免费| 99自拍视频在线观看| 超碰在线视屏| 五月天三级久久| 久久久月丁香| 国产成人精品123区免费视频 | 五月中旬婷婷丁香六| 精品九九九久| 五月亭亭综合五码| 玖玖色综合色| 久久成人天| 日本五月婷| 色婷婷玖玖影院| 六月婷伊人| 97在线精品视频| 一区无码| 久久婷婷成人综合色怡春院| 五月天婷婷激情小说电影| 九九在线视频| 99色最新在线视频| 99爱在线视频| 五月天色导航| 色婷婷中文| 九九热这里有精品23| 99热99热不卡| 六月婷婷天堂| 久久婷婷综合五月天| 91一起操| 五月天天天综合| 级情九色| 色五月婷婷、老熟女| 26uuu| 丁香五月婷婷影视先锋| 五月丁香爱婷婷深深| 操B视频在线播放| 婷婷色网站| 涩五月婷婷| 国产99久9在线+|+传媒| 婷婷色婷婷亚洲成人| 亚洲久久婷婷丁香五月天| 丁香五月在线观看| 色在线99| 99热这里只有精品4| 色色欧美。| 亚洲无码播放| 人妻AV中文系列| 五月丁香综合网色欲| 五月天激情小说欧美激情| 夜夜撸夜夜骑| 五六月丁香激情视频| 五月丁香好婷婷A片网| 强壮的公次次弄得我高潮A片日本 | 九九久久污| 激情网婷婷五月天| 五月婷丁香花| 日本色色色色色色色色一色二色| 欧美成人Va| 日本天天操| 丁香八月综合激情| 激情丁香五月| 思思热在线精品视频| 在线亚洲综合网| 久久久久久性爱视频| 男女99免费视频| 久草五月| 日本9区视频| 日本3级片一区2区| 色色网站在线| 婷婷精品性视频| 九九热精品99| 亚洲蜜桃精久久久久久久久久久久| 九九色之九九色之88| 六月婷婷国产| 九九综合久久| 中文成人在线| 成 人片 黄 色 大 片| 婷婷激情性爱| 超碰日韩人妻在线| 日韩成人网址| 亚洲激情五月| 欧美噜一噜| 99啪啪骑| 爱99干99| 天天插天天日| 综合网啪| 大地资源色婷婷视频在线| 九九久久99| 激情婷婷狠狠干| 五月天婷婷AV| www.99操| 国产高潮A片羞羞视频涩涩| 97自拍视频在线| 丁香五月狠狠在线观看| 五月精品| 婷婷六月五月天综合| 成人婷婷色综合| 九月丁香欧美综合| 国产日比| 久久五月婷| 五月天激情婷婷小说| 国产婷伊人| 欧美精产国品一二三区| 玖玖伦理电影| 国产日产成人亚洲欧美国产VA| 99精品在线| 久久最新色色色| 色九九丁香九月色九九色| 99视频| 色欲丁香久久| \\五月天婷婷激情| 婷婷大美在线| 丁香成人综合| 婷婷久久国产视频| 久久亚洲网| 噜噜干日本| 九九99偷拍视频| 色吧综合网| 国产免费一区二区三州老师F1F1| 色五月xxx| 99九精品| 99亚洲精品视频| 丁香九月色| 大战熟女丰满人妻AV| 色色色欧美色色| 五月色色网| 偷拍五月丁香| 五月激情在线| 棕合影院色色| 大香蕉九九| 亚洲精品视频电影| 久久婷婷亚洲| 五月天婷婷在线视频| 天天激情夜夜干| 久er免费视频| 色婷婷久久综合久色| 超碰99热精品在线| 色九四色| 超碰伊人碰婷婷五月| 色五月综合| 九九99精品视频在线观看| 日本www五月婷婷| 五月色综合| 婷婷天堂综合| 成人必爱视| 丁香六月婷婷开心| 婷婷播播五月天| 黄色99网| 五月天婷婷激情在线色图| 五月婷婷免费在线| 激情五月天之六月婷婷| 九九热这里只有精品5| 日本噜噜色网| 天天天久久人人人合| 综合五月丁香六月婷婷| 九九色影院| 日本一级一级一级一级| 五月婷婷丁香大陆免费| 六月丁香婷婷五月| 能看的av| 97在线精品| 无码免费人妻A片AAA毛片西瓜| 欧美丁香婷婷五月| 99热国产| AV中文网| 操操天堂| 人人看人人摸人人| 日韩一级片| 五月综合久久| 99精品偷拍视频| 婷婷五月综合网| 欧美A级网站| 激情婷婷五月天网址| 丁香五月婷婷亚洲另类| 性爱五月婷| 亚洲热久| 激情综合婷婷| 91ncom.色| 久99久视频| www,黄色在线,con| 少妇搡BBBB搡BBB搡毛茸茸 | 五月丁香婷婷成人综合网| 七七九九色色| www.五月天婷婷| 九九99精品视频在线观看| 91久久综合亚洲鲁鲁五月天| 色射影院| 久久人人添人人爽添人人片αV | 91久久久久久久| 在线看的免费网站| 色播综合| 婷婷五月天影院| 五月激情天| 殴美97色| 天天操天天爽天天爱| 激情啪啪五月天| 色播激情五月天| 日本久久99| www。五月,com| 中文字幕永久免费| 丁香五月婷婷五月基地| 人人操人| 五月天婷婷无码| a级毛片一区二区免费视频| 超碰人妻在线| 视频久久9| 激情5月婷婷狠狠干| 天天草天天爱| 婷婷狠狠干| 五月婷av| 996热re视频精品视频这里| 丁香五月激情欧欧美| 婷婷六月久久| 六月色婷婷| 骚五月婷婷| 五月天激情小说婷婷基地| 五月婷婷六月激情网| 欧美槡BBBB槡BBB少妇| 亚洲精品电影| 婷婷丁香五月激情密臀av| 牛牛澡牛牛爽| 综合激情肏逼网| 艹| 99性色| 六月婷婷色色色| 人妻久久久久久久久久| 五月天色不卡| av无码电影| 婷婷五月天激情综合深爱激情| 99热这里有精力| 国产精品第一国产精品| www.日本91| 激情综合色婷婷六月天| 性爱综合网| 久热成人| 色五月综合| 久久久久婷婷| 人妻少妇色综合| 久久狼人天堂| 婷婷五月丁香六月| 久久性爱视频免费| 97夫妻超碰| 思思热性操 | 久久九九99| 超碰99资源站| 天天久综合网永久入口17v| 国产99美少妇| 夫妇交换刺激做爰| 久久久人妻门| 青青操丝袜美腿| 五月色婷婷综合| 极品嫩草| 日本精品99网站| 秋霞A V毛片| 婷婷六月色开| 五月天婷婷丁香花| 天天透天天干| 九九热黄色| 综合97五月| 激情综合色| 婷婷涩涩网| 九九综合影音先锋| 丁香五月婷婷五月天| 日本色婷婷| 禁片二区| 婷婷情色五月| 丁香婷婷五月基地| 99激情网| 亚洲旡码| 9在线9在线婷婷在线国产| 色色五月婷婷久久| 1024国产| 日日夜夜狠狠婷婷色| 九九热视频免费观看| 午夜做爱影院| 色哟哟精品| 99这里有精品视频| 久久婷婷综合五月天| 日本欧美成人片AAAA| 大香蕉久久久久| 亚洲操操操| 偷拍视频五月天| 色情五月天导航| 九九99免费视频| 亚洲激情99| 国产欧美大香蕉一区| 激情小说五月天| 色婷五月天亚洲| 久久爱综合| 碰碰女| 丁香五月婷婷色五月| 色色99| 五月婷婷久| 日本啪啪网| 亚洲中文字幕在线观看| 色色免费网战视频| 婷婷五月激情四月综合| 亚洲乱码精品久久久久..| 99re在线观看视频| 91精品婷婷国产综合| www.91婷婷| 桃色激情婷婷伊人网| 国产五月视频| 五月天婷婷色综合| 五月天激情婷婷| 色情丁香五月天| 偷偷操99| 亚洲殴洲精品Av在线| 五月婷婷69| 丁香 婷婷五月| 91精品国产综合久久蜜芽解析速度| 婷婷色爱| 五月婷婷激情色情网| 艹B高清无码| 亚洲色啪| 五月久久婷婷丁香| 九九热最新| 久久亚洲色导航| 丁香五月日韩| 97色色婷婷五月天| 色婷成人狠干| 五月深情久久| 九久热| 99热在线观看| 色播丁香| 性一交一乱一交A片久久四色| 夜夜操夜夜姧| 激情五月天啪啪| 婷婷在线免费| 大香蕉综合在线| 色五月婷婷AV| 国产超碰人人| 丁香六月天之亚州热女| 大香线蕉伊人| 玖玖午夜视频| 丁香婷婷色九月| 色色色色色九九九九九| 五月婷婷丁香| av人人干| 久久久GOGO无码啪啪艺术 | 婷婷五月激情欧美大胆视频| 色噜噜五月天| 综合99久久| 91丁香五月| 五月婷婷色影院| 色色激情网| 色伊人婷婷| 色人久久| 99这里的视频都是精品| 五月婷激情影院| 91丁香| 超碰网站在线观看| 大香蕉网站,大香蕉综合| 婷婷在线五月综合| 婷婷五月娱乐在线| 九九大香视频| 五月天婷婷色在线视频免费观看 | 久久色五月天激情小说| 午夜丁香婷婷| 狠狠va| 婷婷五月天com| 五月成人网天天| 日本 @ va 免费| 精品五月天| 激情丁香五月天| 91日视频| 能看的av网站| 不卡在线中文字幕无| 9色在线视频| 大香蕉婷婷丁香天堂AV| 91大屁股精品| 亚州操人在线视频| 亚洲精品又粗又大又爽A片| 婷婷四色五月| 五月婷婷|欧美| 久久久网站| 日日日日日| 3p九色在线| 精品99视频| 色色激情五月天| 婷婷五月免费观看| 欧美va在线观看| 综合婷婷| 丁香花狠狠婷婷亚洲中文字幕| 国产午夜精品AV一区二区麻豆 | 国产成人综合网| 亚洲欧洲美女在线观| 少妇人妻偷人精品无码视频新浪| 天天天天操| 天天激情站| 婷婷五月天丁香社区| 奇米色大香蕉| 色婷六月| 久久婷婷亚洲五月天| 久er7久热| 玖玖资源站蜜臀| 能看的AV| 六月丁花香啪啪激情欧美| 精品人妻伦一二三区久久| 欧洲色色| 啪啪六月婷婷| 2w在线视频| 婷婷丁香花五月天| 久久性都花花世界成人免费视频| 亚洲三A| 开心五月婷婷婷美女| 亚洲AV无码一区二| 天天干天天 亚洲| 青青草原亚洲天堂| 色噜噜狠狠狠狠色综合久欧美| 666555。COm毛片| 99五月婷| 婷婷五月丁香综合人妻| 99爱视频在线| 91无码一区人妻A片蜜| 婷婷五月花| 9精品视频在线| 五月丁香啪啪综合网| 五月花激情| 大地9中文在线观看免费高清| 国产肥白大熟妇BBBB视频| 欧美成人AAA片一区国产精品| 亚洲亚洲人成综合网络| WWW久| 久久这里99| 日本婷婷| 五月丁香久久| 九色视频91疯狂| 99在线免费视频播放| h亚洲| 婷婷五月天激情基地| 色综合九九| 亚洲mm色| 大地资源色婷婷视频在线| 97超碰,人人舔,人人操,人人摸 | 久9久9久9久9久9久9| 婷婷五月天视| 久久九九热视频| 中文久久婷婷| 天天操综合网| 日韩综合久| 老司机伊人| 丁香婷婷五月色综合| 日韩国产在线免费观看| 99r久久这里只有精品| 天天干天天爽天天操| 天天插天天干| 91丨九色丨熟女丰满| 色噜噜伊人| 日本色99| 日良久久| 91九色视频| 亚洲无码播放| 丁香五月在线观看| 婷婷五月综合色中文字幕| 插插插丁香五月婷婷| 六月婷婷久久| 一操久久| 中文字幕不卡+婷婷五月| 国产成人一区二区三区在线观看| 探花搜索结果 - 黄上黄| 色情婷| 久久婷婷亚洲| 色综合综合色| 婷婷在线视频| 五月天激情网页| 亞洲自怕| 激情五月天天狠狠久久| 内射人妻视频国内| 色婷婷色五月另类综合| 久久五月激情综合| 婷婷性爱| 国产古装妇女野外A片| caop在线| 九九热在线视频| 99热精品9| 欧美偷偷操| 国精产品一区一区三区有限公司杨 | 久久久久丁香婷婷五月天| 婷婷久热| 丁香六月激情蜜桃| 超碰无码318604| 另类小说五月天| 91免费在线视频6| avh片在线观看| 激情综合五月天| 思思视频久久| 国产九月婷婷| 色色五月婷婷| 婷婷激情五月综合在线视频| WWW.国产| 999久久久国产精品| 超级97碰碰| 97丁香婷婷| 五月综亚洲| 色射7856五月天激情四射| 开心五月综合激情综合五月| 成 人片 黄 色 大 片| WWW.激情| 丁香五月天天| 成人精品一区日本无码网| 激情小说五月天社区丁香| 婷婷激情在线| 婷婷五月天激情亚洲小说| 日产精品一线二线三线芒果| 激情五月六月丁香| 超碰人人艹| 色逼综合网| 大香网伊人久久综合| 亚洲一级色电影| .青娱乐天天操B| 丁香六月啪啪啪| 婷婷四色五月| 欧美婷婷六月丁香综合色| 99色热| 色久五月天| 婷婷五月四狠狠| 超碰中文字幕在线| 91无码色色| 九九aV| 99操逼| 99热国产这里只有| 91综合国免费久入| 91久草五月天婷婷| 另类在线免费视频| 97色色网| 影视av久久久噜噜噜噜噜三级| 婷婷色吧| Caoub青青超碰 | 99这里只有精品国产| 天天插天天射| 97久久超碰| 99热这里只有精品99| 久Se视频在线观看| 九 九九九AV| 欧美69久成人做爰视频| 丁香婷婷色| 人妻videos人妻高清| 在线看AV| 婷婷五月丁香基| 婷婷五月天av| www超碰| 99亚州综合精品成人网| 天天爽综合| 丁香色啪综合| 深爱激情网婷婷| 天天干夜夜操A片| 丁香五月自拍| 97操操| 五月婷啪| 六月婷婷激情| 大香蕉婷婷五月天| 99自拍网| 激情五月婷婷丁香六月| 五月天久久小说| 久久全意婷婷| 91碰人人| 久久99免费视频| 久久久久久久,99精品视频| 婷婷天堂综合| 大香蕉啪啪啪| 丁香婷婷啪啪| 欧美电影在线观看| 亚洲综合色婷| 亚洲色区17| 任你搞在线观看视频| 99色视频| 成人无码精品1区2区3区免费看| 五月丁香中文| 99免费热视频在线| 人人干av| 成人无码髙潮喷水A片| 日本婷久久| www.色五月.com| 俺去也五月天婷婷| 欧洲色| 乱乱av| 色婷婷影视99| 色色爽爽天天| 怡红院院在线导航网 | 天天日夜夜拍| 第四色在线观看| 日韩久久系列| 丁香五月综合激情性爱 | 欧美成人精品A片免费一区99| 先锋资源婷婷| 色色色无码| 久久A极片| 九九热青青草| 97色在线| 婷婷五月天日日日干干干| 思思热天天看| 99热这里只有精品33| 激情六| 五月天激情影院| 任你日视频| 丁香月五月天婷婷久久| 色色啊| 99热这里只有精品18| 五月丁香婷婷婷婷综合网| 狠狠干天天内射| 婷婷五月丁香六月天亚洲综合| 激情五月丁香色婷婷| 婷婷五月天天天日日夜夜| 91日韩在线| 五月天婷婷青青草| 91久久| av高清无码| 色久影院| www色中色综合| 婷婷久久丁香五月| www.色多多婷| 性韩日色婷婷五月天激情啪啪XXX| 婷婷午夜激情| 天天做天天爱天天做| 丁香五月综合在线视频| 天天搞天天爽| 日本欧美成人片AAAA| 婷婷色情 | 4399在线日本A片| 天天摸天天高潮天天爽| 五月天网站亭亭| 亚洲色啪| 激情综合网五月丁香| 99色色热热| 99热这里只有精品青草| 九九无码| 日韩欧美成人一区二区三区| 超碰在线资源| 天天粽合合合合| 亚洲天堂久久| 丁香激情五月| 婷婷五月天偷拍| www99热| 99精品久久久| 久草热在线视频| 欧美综合五月天婷婷tin| 婷婷五月激情视频网| 超碰人人91| 五月天激情无码| 成人做爰A片免费看网站找不到了| 综合久久婷婷99| 婷婷六月爽| 中文AV网站| 成人五月天丁香| 婷婷五月天成人| 久久99免费视频网站| 婷婷五月综激情| www色五月| 香蕉99网| 日本熟女内射| 婷婷亚洲在线| www.亚洲激情| 丁香五月婷婷图片综合| 日本WWW九九九| 色色色色色色色色综合网| 五月天激情图片| 久热99热| 欧洲一区二区| 精品99在线| 九月婷婷激情| 人人操人人操919999| 亚洲五月婷天天操| 天天射影院| 婷婷丁香五月天在线视频| 丁香六月成人| 久久久久er热| 狠狠操狠狠插| 久久九九在线视频| 97人妻碰碰中文无码久热丝袜| 日本三级中国三级99| 亚洲色久| 青青日韩| 久久九九一區| 婷婷四色五月| 99综合| 色婷婷五月天视频在线| 日韩性爱无码| 五月亭大香蕉| 日韩久久色| 99国产小视频2013| 狠狠干综合| 久久全色| 天天激情欧美美女| 九月综合| 99热这里只有精品2| 精品激情| 婷婷,五月天,丁香,第一| 99爱在线观看视频| 一起草aV| 激情综合久久| 色色网站在线免费观看视频| 96五月丁香熟女| 综合九九久久| 色五月成人| 欧洲激情五月天婷婷| 99精品热| 激情涩播| www.9797国产| 久久五月天激情美女| 一起草性爱不卡视频| 亚洲亚洲人成综合网络| 婷婷97碰碰| 九九综合九九| 情欲综合网| 亚洲色区17| 色婷婷在线播放| 丁香五月黄色| 婷婷视频网| 五月丁香六月激情狠狠| 另类激情中文| 久久婷婷五月草视频| 九九aV| 日逼免费视频| 六月色婷婷综合影视| 丁香 婷婷 亚洲 熟女| AⅤ网站在线看| 五月天综合在线观看| 欧美日韩成卜| 青青草tp| 丁香五月婷婷欧美成人色图| 精品色色| 五月开心网| 人色五月天婷婷| 91精产一区三区免费观看| 色五XX| 婷婷99中文字幕| 日日夜夜干| 99热亚洲精品| 欧洲婷婷五月天| 秋霞丝袜啪啪啪| 国产欧美精品AAAAAA片| aaaaaa片| 九九色区| 天天色2017| 色婷婷丁香五月| 五月花在线观看视频| 亚洲AV成人一区二区在线观看| 欧美色色色色色色色色色色影视| 五月丁香六月激情综合| 综合激情网五月激情 | 99小视频| 人人妻人人澡人人爽| 综合XX网| 亚洲噜色| 这里只有精9| 亚洲婷婷丁香| 久久丁香社| 国精产品一区一区三区免费视频| 青青五月天婷婷| 97久久超碰| 色五月中文字幕| 97啪在线观看视频| 日韩中文欧美| 99久久99久久综合| 99只有精品| 丁香婷婷色情社区成人小说| 黄页免费一级视频懂色| 九九热最新| 99思思热只有在这里看| 久久婷婷五月丁香网| 99这里只有精| 五月婷婷欧美| 中文成人在线| 色播播婷婷| 色情免费视频播放| 五月天婷婷青青| 人人草成人视频| 影音先锋色婷婷| 九色无码| 操逼视频一区| 大香蕉久久久| 高清不卡一区| 无码啪啪| 大香蕉婷婷| 欧美日韩成人在线| 丁香色六月| 精品国产va久久久久| 婷婷五月天激情网| 色综合天天| 免费看欧美成人A片无码| 五月天激情网开心网| 色情五月丁香| 深夜男女福利刺激影院一区完整| 亚洲字幕AV一区二区三区四区| 色99视频| 五月色综合| www.99热在线| 操人91| 婷婷久久国产视频| 亚洲五月色| 久久丁香五月婷| 夜夜骑夜夜操| 色偷偷色婷婷| 在线中文字幕视频| 亚洲最大视频| 夫妇交换刺激做爰| 丁香五月婷婷啪啪视频| 丁香五月天激情免费在线观看AV777| 婷婷五月丁香激情图片| 五月丁香亭亭操逼| 亚洲综合在线丁香五月| 激情综合区| 黄色99视频| 激情五月天啪啪| 婷激情五月| 人人干人人操人人摸| 久久网站观看免费欧洲国产| 青青久久大香蕉| 五月丁香91| 婷婷五月丁香影院| 久久这里只有精品16| 精品人人操| 激情五月天噢美| 五月丁香欧美综合免费视频| 91精品久久久久久综合五月天| 超碰免费人人肏| 欧美日本高清视频99| 丁香六月啪啪| 夜夜做夜夜愛| 亚洲丁香五冃97色| 九九久久污| 成人 在线 日韩| 国产成人精品一区二三区熟女在线| AA片在线观看视频在线播放| 日本激情91| 婷婷五月成人| 五月香蕉网| 国产成人网址| 成人九九视频| 成人 在线 日韩| 天天日天天爽| 国产三级在线播放| 综合网色| 夜夜操少妇| 最新色色五月天| 婷婷综合激情| 91免费试看| 色婷婷综合网| 丁香五月天在线观看| 亚洲另类婷婷五月丁香在线播放| 亚洲色婷婷| 色五月六月婷婷| 色婷婷综合视频| 91呦呦呦| 五月丁香婷婷爱激情综合网| 色开心五月婷婷丁香HD| 日韩AC在线免费观看| 99ER热精品视频| 中文字幕日韩成人| 激情综合网激情五月丁香| 色婷婷伦理| 99综合久久| 91 久热| 婷婷 久综合| 一本色道久久综合狠狠躁小说| 性色99| 日韩AV大全| 狠狠色九月| 日本噜噜色网| 五月天婷婷基地| 2015超碰| 婷婷色av| 艳妇野外情欲放荡HD| 国产精品久久久久久久久久免费| 国产精产国品一二三在观看| 五月精品99综合| 婷婷激情五月天7| 色婷婷五月在线| ou洲色吧| 婷婷五月天色综合| 97人人干| 青青草原中文字幕| 日韩在线视频中文字幕| 玖玖婷婷五月天| 五月天伊人综合| 五月天狠狠| 久久婷婷一级片| 深爱激情四射| 狠狠色综合网| 丁香六月婷婷综情欧美| 99热这里只有精品13| 五月色天情| 色色色五月天婷婷| 五月婷久久| 1024人妻| 激情五月伊人婷婷| 天天操天天干天天日| 五月婷婷色欲| 婷婷深爱色五月| 五月婷婷深深爱| 天天爽爽日日做做| 丁香婷婷基地| 亚洲人妻av| 欧美成人A片AAA片在线播放| 一区二区成人电影免费播放| 97人妻碰碰碰久久久久-最近国语高清| 丁香五月天精品| 亚洲日韩一页精品发布| 九九Y精品热播| 五月好婷婷| 丁香婷婷老司机久操| 婷婷 伊人 久久| 丁香五月婷婷基地| 六月丁香狠狠爱| 丁香五月激情网| 婷婷爱爱蜜臀天天操| 5月婷婷六月丁香| 综合色在线| 天天爽日日爽夜夜爽| 久99在线视频| 伊人成综合五月婷婷| 丁香婷婷人妻| 思思热在线视频精品| 日本天堂免费99| 五月婷婷中文字幕| 九九综合色| 五月丁香六月婷| 婷婷丁香五月天小说| 久久婷婷网| 色色激情| 国产SUV精品一区二区883| 婷婷99热| 丁香五月综合| 五月丁香婷婷中文网| 五月婷婷av| 色的色综合| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久9久9久9久9久9久9| 2015在线中文字幕| 五月天婷婷乱论小说| 精品人妻午夜一区二区三区四区| 91九色在线| 风流少妇A片一区二区蜜桃| 色丁香五月天| 色婷婷色99国产综合精品| 五月婷婷黄网站大全| 我爱宗和色| 激情婷婷五月天丁香| 亚洲丁香五月| 丁香五月婷婷偷拍| 久久性爱视频| 婷婷丁香在线播放| 日本久久综合| 欧州婷婷五月天综合| 狠狠色丁香99| 九伊人网| 色五月婷婷中文字幕| 丁香无月在线观看| 九九丁香社区欧美激情| 第四色婷婷最爱| 午夜丁香 婷婷| 婷婷五月色| 六月丁香婷婷六月激情综合| 天堂久久性| 色色色色综合| 五月婷婷干干干| 日韩av免费版| 九九99九九99九九99视频网| 淫五月停停| 五月丁香激情四射| 99er在线观看| 五月婷婷五月天| 偷拍九九热| 美日韩成人| 婷婷五月六月丁香综合| 操大屄五月天视频| 91Chinese在线| 婷婷无码视频| 婷五月丁香俺| 激情久久网 | www.91AV.com| 极品少妇XXXX精品少妇偷拍| 久久色五月天| av最新在线| 影音先锋男人女人| www.99热这里只有精品| 伊人久久婷婷| 日韩成人无码片| 欧美日韩91| 九九综合色综合| 久久丁香久久| 五月丁香激情综合网官网| 欧美婷婷色| 夜夜躁爽日日| 中文色婷婷| 色五月人妻| 六月丁香综合网| 婷婷五月黄色激情在线| 99色综合| 大香蕉综合网| 九九性爱网| 婷婷丁香五月在线播放| 九九人人看| 97搞在线| 五婷婷综合网| 91五月天| 99热最新| 天干夜夜操| 日本91在线| 热99在线精品| 精品久久久人妻| 久久精品亚洲一级牲爱综合 | 色噜噜五月天| 99热这里有精力| 亚洲五月天综合色| 亚洲久久日| 亚洲AV无码成人精品电影| 婷婷色婷婷| 五月草视频| 婷婷五月天美女视频| 色婷婷瘦婷婷日韩| 精品国产a| 抽插特写| 久久丁香婷婷色情综合| 91操在线视频| 99热99久久| 色色色地址| 99在线视频播放| 99久.| 九九久久五月天| 狼人久草| 五月丁香六月欧美综合网站| 日韩欧美四五区| 情色婷婷五月天| www.婷婷五月天| 亚洲AV成人在线| 99久热| 这里只有精品视频国产| 婷婷99丁香| 中文字幕97超级碰| 大香蕉婷婷色| 激情综合五月婷| 五月天 综合 在线| 伦99热| 少妇人妻综合色6699| 99热成人永久免费| 久久国产性爱A V| 99综合99| 日日夜夜久| 色99热| 色色色.COM| 色婷婷丁香香香蕉视频| 五月丁香久久精品在线观看| 94干大香蕉| 久久久久亚洲AV无码网影音先锋| 婷婷丁香五月综合网| 狠狠操综合| 国产又爽又猛又粗的视频A片| 思思99久久| 婷婷综合色色| 九九色综合| 久久丁香综合香蕉| 2015WWW永久免费观看播放| 尤物一区二区| 青草青草久9视频在线视频| 99ER热精品视频| av一区免费看| 色狠狠999综合| 六月丁香视频网站| 色狠狠综合| 久久性刺激| 天天爽人人综合免费7799| 久热伊人| 不卡的AV网站| 九九综合网色全集| 五月婷婷六月丁| 五月天俺去也| 99久久综合网| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 国产全是老熟女太爽了| 五月激情视频| 欧美性生交XXXXX无码小说| 婷婷五月婷婷| 丁香六月综合| 99久热在线精品99re6热| 97亚洲视频在线| 琪琪色热色色| 亚洲看av的网站| 99久热在线精品| 99视频综合| 开心六月婷| 婷婷开心五月| 激情婷婷| 97五月久久丁香婷婷| 91成人看片| 天天艹天天色| 成人亚洲精品| 91狼友视频在线观看| 九热视频在线伦| 日本久久精品| 久久ab| 日本人妻伦在线中文字幕| 婷婷丁香五月天熟女丝袜| 日本超碰在线| 色综啪啪| 色亚洲无码| 色久五月天| 天天爽天天| 婷婷五月精品中文字幕| 色五月五月婷婷| 亚洲婷婷乱乱丁香| 色一情一乱一乱一区91Av| 九九这里只有精品| 9久久久| w婷婷五月婷婷w| 激情五月天小说网| 婷婷激情五月视频| 婷婷五月天第四色| 丁香五月天啪啪| 97碰碰视频在线观看| 五月色网| 噜噜精品| 国产毛片精品一区二区色欲黄A片| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月婷婷涩涩爱| 888精品福利地址| 午夜成人天堂久久无码日韩久久| 色久天| 久久98热re| 九九久久网| 色欲久久99精品久久久久久| 停停五月色宗合| 久久黄色片| 丁香五月婷婷五月基地| 99久在线观看| 五月天婷婷丁香导航| 精品久热| 婷婷丁香人妻天久久| 激情久久五月网| http:色情日本com| 激情五月天噢美| 久久久久人妻网址| 色5月婷婷| 久久久97| 丁香激情网| 久久激情综合| 男人天堂99| 91在线日| 色九区| 色五月丁香五月| jiujiu热在线视频| 天天干狠狠| 免费AAAAA网| 五月开心久久| 六月亚洲婷婷6月中文字幕| 欧美天天干天天草| 九九色综合| 99er在线观看|