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

ARTICLE DETAIL

資訊詳情

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

YOLOv8-pose多人姿態(tài)估計(jì)與關(guān)鍵點(diǎn)檢測(cè)工程實(shí)戰(zhàn)

YOLOv8-pose多人姿態(tài)估計(jì)與關(guān)鍵點(diǎn)檢測(cè)工程實(shí)戰(zhàn) 簡(jiǎn)介面向人體姿態(tài)關(guān)鍵點(diǎn)檢測(cè)學(xué)習(xí)與實(shí)踐的完整項(xiàng)目包圍繞YOLOV8-pose模型展開適合計(jì)算機(jī)視覺初學(xué)者、課程設(shè)計(jì)與畢業(yè)設(shè)計(jì)開發(fā)者以及需要快速復(fù)現(xiàn)姿態(tài)估計(jì)實(shí)驗(yàn)的研究者。包內(nèi)提供可直接跑通的訓(xùn)練、推理與驗(yàn)證源碼配套人體關(guān)鍵點(diǎn)標(biāo)注數(shù)據(jù)集、預(yù)訓(xùn)練權(quán)重和依賴配置省去從零搭建網(wǎng)絡(luò)、整理標(biāo)注文件與調(diào)試運(yùn)行環(huán)境的重復(fù)勞動(dòng)。壓縮包共1369個(gè)文件約89.04MB以jpg圖像、md說明文檔、txt標(biāo)注與配置、py腳本為主體輔以yaml訓(xùn)練參數(shù)、pt權(quán)重、json記錄及ipynb、png可視化結(jié)果覆蓋數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、日志記錄與使用文檔等環(huán)節(jié)。已有6223人學(xué)習(xí)反映出姿態(tài)識(shí)別與關(guān)鍵點(diǎn)檢測(cè)方向具有較高關(guān)注度。讀者可據(jù)此完成關(guān)鍵點(diǎn)檢測(cè)模型的訓(xùn)練、評(píng)估與推理理解數(shù)據(jù)增強(qiáng)、損失函數(shù)設(shè)計(jì)和預(yù)訓(xùn)練遷移等流程README與腳本也有助于快速復(fù)現(xiàn)結(jié)果、排查環(huán)境配置和運(yùn)行問題。1. 姿態(tài)關(guān)鍵點(diǎn)檢測(cè)落地為什么我選 YOLOV8-pose 而不是先啃 HRNet上個(gè)月幫朋友做一個(gè)健身動(dòng)作糾偏的小工具需求很樸素?cái)z像頭對(duì)著人能把肩、肘、腕、髖、膝、踝這些關(guān)鍵點(diǎn)標(biāo)出來判斷深蹲有沒有塌腰、手肘有沒有外翻。第一反應(yīng)是去找姿態(tài)識(shí)別里口碑好的 HRNet 系列結(jié)果光是把預(yù)測(cè)熱圖轉(zhuǎn)回原圖坐標(biāo)、再對(duì)齊翻轉(zhuǎn)和縮放這一套后處理就調(diào)了大半天玄學(xué)得很。后來換成 YOLOV8-pose一個(gè)模型文件丟進(jìn)去predict出來直接是歸一化的關(guān)鍵點(diǎn)坐標(biāo)十七個(gè)點(diǎn)帶置信度畫骨架、算角度、判姿態(tài)全都能接上。這份源碼包做的就是這件事——一套帶數(shù)據(jù)集、能直接跑通的姿態(tài)關(guān)鍵點(diǎn)檢測(cè)工程適合想快速把姿態(tài)識(shí)別接進(jìn)自己業(yè)務(wù)、又不想在模型復(fù)現(xiàn)上耗掉一周的開發(fā)者。下面按“它能干什么、目錄長什么樣、怎么跑、怎么改”講透。2. 項(xiàng)目定位與技術(shù)選型單階段多人姿態(tài)估計(jì)的取舍2.1 它到底解決什么問題這個(gè)項(xiàng)目的核心任務(wù)是多人 2D 姿態(tài)估計(jì)Multi-Person Pose Estimation給一張圖或一幀視頻輸出畫面里每個(gè)人的 17 個(gè) COCO 標(biāo)準(zhǔn)關(guān)鍵點(diǎn)鼻、左右眼、左右耳、左右肩、左右肘、左右腕、左右髖、左右膝、左右踝每個(gè)點(diǎn)帶 x、y 坐標(biāo)和置信度。注意“多人”兩個(gè)字很關(guān)鍵——早期很多姿態(tài)方案是“先檢測(cè)人框、再對(duì)每個(gè)人單獨(dú)跑一遍關(guān)鍵點(diǎn)”兩階段串行人一多幀率就崩。YOLOV8-pose 走的是單階段路線一次前向同時(shí)回歸人框和該框內(nèi)的關(guān)鍵點(diǎn)N 個(gè)人就是 N 組輸出不額外多跑一遍網(wǎng)絡(luò)。從工程角度看這個(gè)取舍非常劃算。姿態(tài)估計(jì)在業(yè)務(wù)里很少是終點(diǎn)通常是上游特征提取健身糾偏要算關(guān)節(jié)角行為識(shí)別要喂骨架序列動(dòng)畫驅(qū)動(dòng)要做重定向。這些下游任務(wù)真正在意的是“關(guān)鍵點(diǎn)穩(wěn)不穩(wěn)、延遲夠不夠低”而不是“學(xué)術(shù)榜單上 PCKh 高 0.3 個(gè)點(diǎn)”。單階段模型在 640×640 輸入下中端顯卡能跑到實(shí)時(shí)甚至超實(shí)時(shí)CPU 上降分辨率也能湊合用這是它落地的最大底氣。2.2 為什么是 YOLOV8-pose 這套技術(shù)棧把技術(shù)棧拆開看其實(shí)是三層層次組成作用骨干與頸部CSPDarknet 系列 backbone PAN-FPN多尺度特征提取與融合檢測(cè)頭解耦頭分類/框回歸/關(guān)鍵點(diǎn)回歸分支輸出人框與 17 點(diǎn)熱圖式回歸訓(xùn)練與推理框架Ultralytics 封裝PyTorch 后端數(shù)據(jù)加載、增強(qiáng)、損失、導(dǎo)出、預(yù)測(cè)一條龍關(guān)鍵點(diǎn)在檢測(cè)頭里是這么處理的對(duì)每個(gè)人框模型回歸 17 組(x, y, visibility)其中 x、y 是相對(duì)于該人框的歸一化偏移visibility 是該點(diǎn)是否可見的置信度。這種“框內(nèi)相對(duì)坐標(biāo)”的設(shè)計(jì)讓模型不必在全圖尺度上直接回歸絕對(duì)坐標(biāo)收斂更穩(wěn)也讓同一個(gè)模型天然支持多人——每個(gè) anchor/query 只負(fù)責(zé)自己那個(gè)人。提示visibility不是“這個(gè)點(diǎn)在畫面里被遮擋的概率”這么簡(jiǎn)單它同時(shí)承擔(dān)了“該點(diǎn)是否在圖像邊界內(nèi)”的語義。做下游角度計(jì)算時(shí)通常要把 visibility 低于閾值比如 0.5的點(diǎn)直接丟掉否則會(huì)出現(xiàn)用低置信點(diǎn)算出來的詭異角度。選型上還有兩個(gè)現(xiàn)實(shí)考量。一是生態(tài)Ultralytics 這套接口的訓(xùn)練、驗(yàn)證、導(dǎo)出ONNX、TensorRT、OpenVINO幾乎是模板化的換個(gè)部署環(huán)境不用重寫推理邏輯。二是數(shù)據(jù)集門檻低YOLO 格式的 pose 標(biāo)注就是一個(gè) txt 文件每行一個(gè)人類別 cx cy w h kx1 ky1 kv1 ... kx17 ky17 kv17全部歸一化。自己標(biāo)幾十張圖就能微調(diào)比 COCO-WholeBody 那種 133 點(diǎn)的重型標(biāo)注友好太多。2.3 源碼包的目錄骨架拿到這種工程我一般先tree一遍看結(jié)構(gòu)。這個(gè)包的組織方式基本是“訓(xùn)練腳本 配置 數(shù)據(jù)集 推理示例”四塊典型布局如下yolov8-pose-project/ ├── ultralytics/ # 框架源碼含 cfg 與 nn 模塊 │ ├── cfg/models/v8/ # yolov8-pose.yaml 等模型結(jié)構(gòu)定義 │ └── nn/ # 骨干、頸部、檢測(cè)頭、損失實(shí)現(xiàn) ├── datasets/ │ └── pose-demo/ │ ├── images/{train,val}/ │ ├── labels/{train,val}/ │ └── data.yaml # 數(shù)據(jù)配置路徑、關(guān)鍵點(diǎn)形狀、類別名 ├── weights/ │ └── yolov8n-pose.pt # 預(yù)訓(xùn)練權(quán)重用來做遷移學(xué)習(xí)起點(diǎn) ├── train.py # 訓(xùn)練入口 ├── val.py # 驗(yàn)證入口 ├── predict.py # 圖片/視頻推理演示 └── requirements.txt這個(gè)結(jié)構(gòu)里最容易被忽視的是data.yaml它決定了模型頭部的輸出維度。文件大致長這樣# datasets/pose-demo/data.yaml path: ./datasets/pose-demo train: images/train val: images/val kpt_shape: [17, 3] # 17 個(gè)關(guān)鍵點(diǎn)每個(gè)點(diǎn) 3 個(gè)值 (x, y, visibility) flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15] # 水平翻轉(zhuǎn)時(shí)左右點(diǎn)的索引交換 names: 0: personflip_idx是很多人第一次改數(shù)據(jù)集時(shí)會(huì)栽的地方——它用于數(shù)據(jù)增強(qiáng)里的水平翻轉(zhuǎn)。如果你自己定義了 5 個(gè)關(guān)鍵點(diǎn)卻忘了同步改這個(gè)數(shù)組訓(xùn)練時(shí)翻轉(zhuǎn)增強(qiáng)會(huì)把“左肩”的標(biāo)簽貼到“右肩”位置上模型學(xué)出來的骨架會(huì)左右亂竄loss 看著在降實(shí)際預(yù)測(cè)全是錯(cuò)的。這個(gè)坑后面還會(huì)細(xì)說。3. 跑通流程從環(huán)境到第一張骨架圖3.1 環(huán)境準(zhǔn)備與依賴安裝這套工程對(duì)環(huán)境的要求不算苛刻Python 3.8 以上、PyTorch 1.8 以上就能起步。GPU 訓(xùn)練建議 CUDA 11.x 配對(duì)應(yīng)的 torch 版本CPU 也能跑但訓(xùn)練會(huì)慢到讓人懷疑人生。我一般的做法是單獨(dú)開一個(gè) conda 環(huán)境避免和機(jī)器上其他項(xiàng)目的 torch 版本打架# 創(chuàng)建并激活環(huán)境 conda create -n pose python3.10 -y conda activate pose # 先裝 torch按自己的 CUDA 版本選對(duì)應(yīng)命令這里以 CUDA 11.8 為例 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 # 再裝工程依賴 pip install -r requirements.txt # requirements 里通常包含 ultralytics、opencv-python、numpy、pyyaml、tqdm安裝完先做一次體檢確認(rèn) torch 能吃上 GPUpython -c import torch; print(torch.__version__, torch.cuda.is_available())輸出里True才算 GPU 就緒。如果顯示False多半是裝成了 CPU 版 torch或者驅(qū)動(dòng)版本和 CUDA runtime 不匹配這時(shí)候別急著往下跑訓(xùn)練先在nvidia-smi里核對(duì)驅(qū)動(dòng)支持的 CUDA 上限。這個(gè)檢查看著多余但我見過太多次訓(xùn)練跑了兩小時(shí)才發(fā)現(xiàn)一直在 CPU 上爬的情況。3.2 數(shù)據(jù)集組織與標(biāo)注格式核對(duì)數(shù)據(jù)集這塊工程里自帶了一份演示數(shù)據(jù)目錄結(jié)構(gòu)在data.yaml里已經(jīng)聲明好了。跑通前必須核對(duì)兩件事圖片和標(biāo)簽同文件名、同相對(duì)路徑標(biāo)簽是 YOLO pose 格式的 txt。標(biāo)注文件里每一行的格式是這樣的# labels/train/0001.txt # class cx cy w h x1 y1 v1 x2 y2 v2 ... x17 y17 v17 0 0.512 0.603 0.284 0.791 0.501 0.312 2 0.487 0.305 2 ... 0.402 0.881 1所有數(shù)值都是歸一化到 [0,1] 的相對(duì)于圖片寬高關(guān)鍵點(diǎn)坐標(biāo)是相對(duì)于整張圖而不是人框——這點(diǎn)和推理階段的輸出不同推理輸出是相對(duì)框的后處理時(shí)框架會(huì)自動(dòng)轉(zhuǎn)回去但如果自己寫標(biāo)注轉(zhuǎn)換腳本這是最容易搞混的一處。v的取值一般是 0/1/20 表示未標(biāo)注1 表示標(biāo)注但被遮擋2 表示可見且標(biāo)注。如果你的標(biāo)注工具只輸出 0/1也問題不大但flip_idx和kpt_shape必須和實(shí)際點(diǎn)數(shù)嚴(yán)格一致。正確性校驗(yàn)有個(gè)很實(shí)用的小腳本把標(biāo)簽還原成骨架畫到圖上肉眼過一遍import cv2 import numpy as np IMG datasets/pose-demo/images/train/0001.jpg LBL datasets/pose-demo/labels/train/0001.txt # COCO 17 點(diǎn)的骨架連接對(duì)用來連線可視化 SKELETON [(5,7),(7,9),(6,8),(8,10),(5,6),(5,11),(6,12),(11,12), (11,13),(13,15),(12,14),(14,16),(0,1),(0,2),(1,3),(2,4)] img cv2.imread(IMG) h, w img.shape[:2] for line in open(LBL): parts np.array(line.split(), dtypefloat) kpts parts[5:].reshape(-1, 3) # 從第 6 個(gè)值起是 17*3 的關(guān)鍵點(diǎn) pts (kpts[:, :2] * [w, h]).astype(int) # 反歸一化回像素坐標(biāo) for a, b in SKELETON: if kpts[a, 2] 0 and kpts[b, 2] 0: # 兩端都有效才連線 cv2.line(img, tuple(pts[a]), tuple(pts[b]), (0, 255, 0), 2) for (x, y), v in zip(pts, kpts[:, 2]): if v 0: cv2.circle(img, (x, y), 3, (0, 0, 255), -1) cv2.imwrite(check.jpg, img)這段代碼做了三件事按行解析每個(gè)目標(biāo)的標(biāo)注、把關(guān)鍵點(diǎn)反歸一化、按骨架連接對(duì)畫線畫點(diǎn)。參數(shù)上SKELETON是 COCO 標(biāo)準(zhǔn)連接關(guān)系kpts[a, 2] 0這個(gè)判斷是為了跳過未標(biāo)注的點(diǎn)否則會(huì)在圖上的 (0,0) 附近畫出一堆亂線。跑完打開check.jpg如果骨架是貼在人體上的說明標(biāo)注沒問題如果整個(gè)人是歪的或者骨架飄在別處那基本是歸一化基準(zhǔn)錯(cuò)了比如按人框而不是整圖歸一化。3.3 訓(xùn)練命令與關(guān)鍵參數(shù)環(huán)境、數(shù)據(jù)都確認(rèn)后訓(xùn)練就是一條命令的事python train.py \ --model weights/yolov8n-pose.pt \ --data datasets/pose-demo/data.yaml \ --epochs 100 \ --imgsz 640 \ --batch 16 \ --device 0 \ --workers 4 \ --project runs/pose --name demo幾個(gè)參數(shù)我按重要性排一下--model預(yù)訓(xùn)練權(quán)重起點(diǎn)。即使你的關(guān)鍵點(diǎn)數(shù)和 COCO 不同比如只標(biāo) 5 個(gè)點(diǎn)也可以加載框架會(huì)自動(dòng)裁掉/重建頭部但骨干權(quán)重仍然有用收斂比從零訓(xùn)快得多。--imgsz輸入分辨率。640 是性能和精度的平衡點(diǎn)遠(yuǎn)距離小目標(biāo)多就上 960但顯存和延遲一起漲。--batch按顯存調(diào)OOM 就先減半別硬撐。--workersDataLoader 進(jìn)程數(shù)Windows 上建議設(shè)小一點(diǎn)甚至設(shè) 0否則容易卡死在多進(jìn)程上。--project/--name輸出目錄權(quán)重存runs/pose/demo/weights/best.pt訓(xùn)練曲線、混淆矩陣、驗(yàn)證集預(yù)測(cè)圖都在同目錄下。訓(xùn)練腳本里真正干活的部分一般是對(duì)框架 API 的封裝早期版本寫法大致是這樣from ultralytics import YOLO # 加載帶 pose 頭的預(yù)訓(xùn)練權(quán)重 model YOLO(weights/yolov8n-pose.pt) # 開始訓(xùn)練內(nèi)部會(huì)讀取 data.yaml 里的 kpt_shape 構(gòu)建頭部 results model.train( datadatasets/pose-demo/data.yaml, epochs100, imgsz640, batch16, device0, workers4, projectruns/pose, namedemo, # 姿態(tài)任務(wù)常用的增強(qiáng)開關(guān) fliplr0.5, # 水平翻轉(zhuǎn)依賴 data.yaml 的 flip_idx degrees10.0, # 小幅旋轉(zhuǎn)應(yīng)對(duì)拍攝角度 scale0.5, # 隨機(jī)縮放提升尺度魯棒性 mosaic1.0, # 馬賽克增強(qiáng)前期提升明顯 )這里要點(diǎn)一下fliplr和flip_idx的聯(lián)動(dòng)關(guān)系fliplr0.5意味著每張圖有一半概率被水平翻轉(zhuǎn)翻轉(zhuǎn)時(shí)標(biāo)簽坐標(biāo)要鏡像x - 1-x同時(shí)左右關(guān)鍵點(diǎn)的語義要對(duì)調(diào)左肩變右肩??蚣芸縟ata.yaml里的flip_idx完成后者。所以flip_idx不是可選裝飾它是增強(qiáng)正確性的前提。同理mosaic1.0把四張圖拼成一張對(duì)小目標(biāo)友好但訓(xùn)練末段通常要關(guān)掉框架默認(rèn)最后 10 個(gè) epoch 自動(dòng)關(guān)閉否則真實(shí)場(chǎng)景的構(gòu)圖分布和訓(xùn)練分布偏差會(huì)拉低最終指標(biāo)。3.4 推理與骨架可視化訓(xùn)練完最爽的一步是看效果。工程里的predict.py一般會(huì)做圖片、視頻、攝像頭三種輸入的分支核心調(diào)用只有幾行from ultralytics import YOLO model YOLO(runs/pose/demo/weights/best.pt) # 對(duì)單張圖片推理saveTrue 會(huì)把帶骨架的結(jié)果圖寫到 runs/pose/predict 下 results model.predict(test.jpg, imgsz640, conf0.4, saveTrue) for r in results: if r.keypoints is None: continue # keypoints.xy: (人數(shù), 17, 2) 像素坐標(biāo); keypoints.conf: (人數(shù), 17) 置信度 xy r.keypoints.xy.cpu().numpy() conf r.keypoints.conf.cpu().numpy() for person_xy, person_conf in zip(xy, conf): # 只保留置信度夠高的點(diǎn)避免下游算角度時(shí)用到垃圾數(shù)據(jù) valid person_conf 0.5 print(有效關(guān)鍵點(diǎn)數(shù):, valid.sum())conf0.4是人框的置信度閾值不是關(guān)鍵點(diǎn)的關(guān)鍵點(diǎn)置信度要單獨(dú)在keypoints.conf里過濾。這兩個(gè)閾值混用是新手高頻翻車點(diǎn)把人框閾值調(diào)得很高結(jié)果遠(yuǎn)處的人整個(gè)被丟掉或者只看人框置信度就直接拿所有關(guān)鍵點(diǎn)去算角度被遮擋點(diǎn)的坐標(biāo)其實(shí)是一團(tuán)噪聲。推理速度上yolov8n-pose在 640 輸入、單張中端卡上通常是毫秒級(jí)到十幾毫秒換yolov8s/m精度漲一點(diǎn)、延遲也漲。做實(shí)時(shí)視頻建議先用 n 版跑通鏈路再按精度需求往上換型號(hào)別一上來就上大模型然后抱怨卡。4. 核心模塊拆解一個(gè)關(guān)鍵點(diǎn)是怎么被回歸出來的4.1 檢測(cè)頭里的關(guān)鍵點(diǎn)分支框架的檢測(cè)頭在ultralytics/nn/modules/head.py里pose 版本的頭繼承自檢測(cè)頭多出一條關(guān)鍵點(diǎn)回歸分支。結(jié)構(gòu)上的關(guān)鍵點(diǎn)是關(guān)鍵點(diǎn)不是獨(dú)立預(yù)測(cè)的而是綁定在每個(gè)人框上的。簡(jiǎn)化后的前向邏輯大致是# 偽代碼保留關(guān)鍵結(jié)構(gòu)省略了大量廣播與形狀處理 class PoseHead(nn.Module): def __init__(self, nc, kpt_shape, ch()): super().__init__() self.nc nc # 類別數(shù)姿態(tài)任務(wù)通常就是 1人 self.nk kpt_shape[0] # 關(guān)鍵點(diǎn)數(shù)量COCO 是 17 self.no nc 4 self.nk * 3 # 每框輸出: 類別 框4 關(guān)鍵點(diǎn)(17*3) # 三條并行分支分類、框回歸、關(guān)鍵點(diǎn)回歸 self.cv2 nn.ModuleList(...) # 分類 框 self.cv3 nn.ModuleList(...) # 關(guān)鍵點(diǎn) self.cv4 nn.ModuleList(...) # 關(guān)鍵點(diǎn)可見性/精修 def forward(self, x): for i in range(self.nl): # 遍歷 P3/P4/P5 三個(gè)尺度 cls_box self.cv2[i](x[i]) # (B, 4nc, H, W) kpt self.cv3[i](x[i]) # (B, nk*3, H, W) # 關(guān)鍵點(diǎn)坐標(biāo)用 sigmoid 約束到 [0,1]表示相對(duì)網(wǎng)格/框的偏移 kpt[..., 0::3] kpt[..., 0::3].sigmoid() kpt[..., 1::3] kpt[..., 1::3].sigmoid() # 第三維visibility不套 sigmoid直接作為 logit 參與 BCE 損失這段里最值得記住的是self.no nc 4 self.nk * 3它決定了每個(gè)預(yù)測(cè)位置輸出多少維。你改關(guān)鍵點(diǎn)數(shù)量時(shí)kpt_shape一變這個(gè)維度自動(dòng)跟著變所以永遠(yuǎn)改data.yaml和模型 yaml 里的kpt_shape不要去手改no。另外x、y走 sigmoid 是有意的——把坐標(biāo)壓進(jìn) [0,1]語義上是“相對(duì)該人框左上角的歸一化偏移”這讓不同大小的目標(biāo)共享同一套回歸目標(biāo)尺度訓(xùn)練穩(wěn)定得多。后處理階段框架會(huì)把這些相對(duì)偏移乘上對(duì)應(yīng)人框的寬高、再加上框左上角坐標(biāo)還原成原圖像素坐標(biāo)。這條鏈路藏在ops.py的kpt_decode一類函數(shù)里平時(shí)不用碰但排查“預(yù)測(cè)點(diǎn)整體偏移”類問題時(shí)就得順著這條鏈一路看下來。4.2 姿態(tài)損失函數(shù)的三部分構(gòu)成訓(xùn)練姿態(tài)模型loss 由三塊加起來框回歸損失、分類損失、關(guān)鍵點(diǎn)損失。前兩塊和普通檢測(cè)一致CIoU BCE姿態(tài)特有的第三塊是重點(diǎn)。關(guān)鍵點(diǎn)損失一般是OKS-based 的加權(quán) BCE或者直接的坐標(biāo)回歸損失實(shí)現(xiàn)里大致是# 簡(jiǎn)化示意關(guān)鍵點(diǎn)損失的核心思想 # 1) 對(duì)每個(gè) GT 關(guān)鍵點(diǎn)找到負(fù)責(zé)它的預(yù)測(cè)點(diǎn) # 2) 坐標(biāo)用 L1/L2 回歸visibility 用 BCE # 3) 按 OKS 的 sigmoid 權(quán)重對(duì)不同關(guān)鍵點(diǎn)加權(quán) loss_kpt 0.0 for gt_kpt, pred_kpt, vis in zip(gt_kpts, pred_kpts, gt_vis): if vis 0: # 未標(biāo)注的點(diǎn)不參與坐標(biāo)損失 continue loss_kpt (pred_kpt - gt_kpt).abs().mean() loss_kpt loss_kpt / max(vis.sum(), 1) # 按有效點(diǎn)數(shù)歸一化 loss_vis BCEWithLogits(pred_vis, (gt_vis 0).float())兩個(gè)細(xì)節(jié)決定成敗。第一vis 0的點(diǎn)必須 mask 掉不然模型會(huì)被迫去擬合“未標(biāo)注”的位置等價(jià)于教它胡說。第二歸一化要按有效點(diǎn)數(shù)而不是總點(diǎn)數(shù)否則一個(gè)大部分人只有半身可見的 batchloss 尺度會(huì)忽大忽小學(xué)習(xí)率都不好調(diào)。OKS 那套權(quán)重的作用是讓眼睛、手腕這類小且難的點(diǎn)在總 loss 里占比合理避免被肩髖這些大關(guān)節(jié)淹沒。4.3 數(shù)據(jù)增強(qiáng)對(duì)姿態(tài)任務(wù)的特殊處理檢測(cè)任務(wù)的增強(qiáng)搬到姿態(tài)上核心矛盾是任何幾何變換都必須同步作用到關(guān)鍵點(diǎn)上且左右翻轉(zhuǎn)要處理語義交換。馬賽克增強(qiáng)在姿態(tài)里尤其危險(xiǎn)——四張圖拼接后原來的人可能被裁掉一半關(guān)鍵點(diǎn)坐標(biāo)隨之越界框架內(nèi)部會(huì)做裁剪和過濾但如果你自己改增強(qiáng)流程一定要保證越界點(diǎn)被正確標(biāo)記為不可見而不是硬留在 [0,1] 之外。常見的正確做法是先算好圖片的仿射矩陣同時(shí)對(duì)圖像做 warpAffine、對(duì)關(guān)鍵點(diǎn)做同一矩陣的坐標(biāo)變換再根據(jù)變換后坐標(biāo)是否落在圖內(nèi)更新 visibility。翻轉(zhuǎn)時(shí)按flip_idx交換點(diǎn)序并x - 1 - x。這兩步看似機(jī)械但只要漏一步訓(xùn)練集會(huì)悄悄變臟loss 曲線照樣好看mAP 就是上不去——這類“黑匣子”式的指標(biāo)異常十有八九要回到增強(qiáng)代碼里找。4.4 驗(yàn)證指標(biāo)怎么看姿態(tài)任務(wù)的驗(yàn)證不能只看 mAP。工程val.py跑完會(huì)輸出幾類指標(biāo)框的 mAP50-95、以及基于 OKS 的關(guān)鍵點(diǎn) AP。OKSObject Keypoint Similarity是姿態(tài)版的 IoU按每個(gè)關(guān)鍵點(diǎn)的標(biāo)注方差加權(quán)算相似度再取平均。實(shí)際看的時(shí)候我會(huì)重點(diǎn)關(guān)注三件事一是AP 隨 OKS 閾值的變化如果 AP50 很高但 AP75 掉得厲害說明點(diǎn)位普遍差幾個(gè)像素多半是輸入分辨率不夠或者小目標(biāo)太多。二是分關(guān)鍵點(diǎn)看誤差手腕、腳踝通常是最差的如果差得離譜檢查這幾類點(diǎn)在訓(xùn)練集里的可見比例。三是看驗(yàn)證集的預(yù)測(cè)可視化圖框架會(huì)自動(dòng)存一批肉眼看骨架有沒有系統(tǒng)性偏移比如整體偏右下有的話基本是坐標(biāo)解碼環(huán)節(jié)或標(biāo)注歸一化基準(zhǔn)出了問題。5. 常見問題排查我踩過的五個(gè)坑5.1 訓(xùn)練 loss 正常但預(yù)測(cè)骨架全亂現(xiàn)象訓(xùn)練 loss 平穩(wěn)下降驗(yàn)證指標(biāo)看著也還行但拿best.pt預(yù)測(cè)骨架連到了錯(cuò)誤的人身上或者所有點(diǎn)擠在一小塊區(qū)域。原因data.yaml里kpt_shape和模型 yaml 里的kpt_shape不一致或者flip_idx長度與點(diǎn)數(shù)不匹配。框架在某些版本下不會(huì)直接報(bào)錯(cuò)而是按較小維度截?cái)鄬?dǎo)致關(guān)鍵點(diǎn)順序錯(cuò)位。解決訓(xùn)練前打印一次模型頭的實(shí)際輸出維度和kpt_shape[0] * 3對(duì)一遍flip_idx用腳本自動(dòng)生成COCO 17 點(diǎn)就用標(biāo)準(zhǔn)數(shù)組自定義點(diǎn)數(shù)時(shí)手寫并校驗(yàn)長度。5.2 水平翻轉(zhuǎn)增強(qiáng)后左右肢體識(shí)別反了現(xiàn)象不翻轉(zhuǎn)的圖預(yù)測(cè)正常一遇到鏡像自拍或前置攝像頭畫面左右手腕、左右腳踝全部對(duì)調(diào)。原因fliplr開了但flip_idx是默認(rèn)的 COCO 順序而你的數(shù)據(jù)集點(diǎn)數(shù)不同或者干脆沒配。翻轉(zhuǎn)時(shí)坐標(biāo)鏡像了語義沒對(duì)調(diào)。解決把flip_idx改成和數(shù)據(jù)點(diǎn)定義嚴(yán)格對(duì)應(yīng)的交換數(shù)組如果暫時(shí)不想處理直接把fliplr設(shè) 0先保證正確性再談增強(qiáng)收益。5.3 顯存 OOM 或訓(xùn)練中途進(jìn)程被殺現(xiàn)象訓(xùn)練跑幾十個(gè) iteration 后報(bào) CUDA out of memory或者 Linux 下進(jìn)程被 OOM killer 干掉。原因batch與imgsz組合超出顯存或者workers開太大每個(gè) worker 都緩存了一份數(shù)據(jù)內(nèi)存被吃光。解決先把batch減半、imgsz降到 512 試一輪確認(rèn)能穩(wěn)定跑再往上加workers在內(nèi)存緊張的機(jī)器上設(shè) 2 到 4Windows 上設(shè) 0。真需要在有限顯存上跑大分辨率用梯度累積模擬大 batch。5.4 關(guān)鍵點(diǎn)置信度普遍偏低、下游角度算不準(zhǔn)現(xiàn)象人明明站得端正預(yù)測(cè)出來的手腕、腳踝置信度只有 0.3 左右按 0.5 過濾后點(diǎn)數(shù)不夠算關(guān)節(jié)角直接崩。原因訓(xùn)練集里這類點(diǎn)標(biāo)注稀疏或被大量遮擋模型學(xué)不到高置信輸出也可能是驗(yàn)證/推理時(shí)的imgsz與訓(xùn)練不一致尺度變化讓本來就不穩(wěn)的小關(guān)鍵點(diǎn)更飄。解決補(bǔ)標(biāo)一批包含完整四肢的樣本訓(xùn)練時(shí)適當(dāng)降低degrees和scale的強(qiáng)度讓模型先學(xué)好基本點(diǎn)位推理側(cè)把關(guān)鍵點(diǎn)閾值和“可見性”分開處理用 visibility 做軟加權(quán)而不是硬閾值角度計(jì)算時(shí)對(duì)低置信點(diǎn)做鄰近幀平滑。5.5 導(dǎo)出 ONNX 后推理結(jié)果和 PyTorch 對(duì)不上現(xiàn)象PyTorch 下骨架正常導(dǎo)出 ONNX 用 onnxruntime 跑關(guān)鍵點(diǎn)整體偏移或數(shù)量不對(duì)。原因?qū)С鰰r(shí)沒指定opset或者輸入尺寸動(dòng)態(tài)化導(dǎo)致后處理里的坐標(biāo)還原邏輯假設(shè)失效也有版本是導(dǎo)出時(shí)把 NMS 一起打包后處理重復(fù)做了一次。解決導(dǎo)出時(shí)固定imgsz、顯式指定opset12以上導(dǎo)出后先用同一張圖對(duì)比兩邊輸出的最大絕對(duì)誤差正常應(yīng)在 1e-3 量級(jí)NMS 是否內(nèi)置要確認(rèn)清楚避免二次過濾。真對(duì)不上就退回導(dǎo)出去掉 NMS 的版本自己在外部做后處理鏈路反而清晰。6. 二次開發(fā)把關(guān)鍵點(diǎn)接進(jìn)自己的業(yè)務(wù)邏輯跑通只是起點(diǎn)真正花時(shí)間的是把 17 個(gè)點(diǎn)變成業(yè)務(wù)結(jié)論。我一般會(huì)在工程里加一個(gè)獨(dú)立的后處理模塊和模型推理解耦這樣換模型、調(diào)閾值都不用動(dòng)業(yè)務(wù)代碼。最常用的是關(guān)節(jié)角計(jì)算比如判斷手肘彎曲程度import numpy as np def angle_between(a, b, c): 計(jì)算 b 為頂點(diǎn)時(shí)a-b-c 的夾角角度制 ba np.array(a) - np.array(b) bc np.array(c) - np.array(b) # 加 eps 防止零向量導(dǎo)致除零 cos np.dot(ba, bc) / (np.linalg.norm(ba) * np.linalg.norm(bc) 1e-8) return np.degrees(np.arccos(np.clip(cos, -1.0, 1.0))) # COCO 索引: 5左肩 7左肘 9左腕 L_SHOULDER, L_ELBOW, L_WRIST 5, 7, 9 elbow_angle angle_between(kpts[L_SHOULDER], kpts[L_ELBOW], kpts[L_WRIST])參數(shù)上要守住兩條一是傳入前先確認(rèn)這三個(gè)點(diǎn)的置信度都過閾值否則算出來的角度毫無意義二是np.clip不能省浮點(diǎn)誤差會(huì)讓arccos的輸入冒出 1.0000001 直接變 NaN。這就是典型的“算法沒問題、工程細(xì)節(jié)翻車”。改造思路上有三條路值得展開。第一條是換數(shù)據(jù)集適配自己的場(chǎng)景比如只關(guān)心上半身可以把kpt_shape改成[5, 3]甚至更少同步改flip_idx模型更輕、小樣本下更穩(wěn)。注意改點(diǎn)數(shù)等于換任務(wù)預(yù)訓(xùn)練頭要重建但骨干權(quán)重照樣能加載這一點(diǎn)前面提過。第二條是做時(shí)序平滑單幀姿態(tài)抖動(dòng)是常態(tài)視頻場(chǎng)景里對(duì)每個(gè)關(guān)鍵點(diǎn)維護(hù)一個(gè)滑動(dòng)窗口做中值濾波或 One-Euro 濾波能顯著降低骨架“抽搐”代價(jià)是引入幾幀延遲實(shí)時(shí)糾偏類應(yīng)用要權(quán)衡。第三條是模型蒸餾或換小模型先用yolov8m-pose訓(xùn)一個(gè)高精度版本再用它的輸出當(dāng)軟標(biāo)簽訓(xùn)yolov8n-pose部署是端側(cè)性能不夠時(shí)最省事的路線。驗(yàn)證改造是否有效我的習(xí)慣是固定一套“回歸樣本”挑 30 到 50 張覆蓋不同姿態(tài)、遮擋、光照的圖每次改完代碼都跑一遍比對(duì)關(guān)鍵點(diǎn)坐標(biāo)的平均像素誤差和下游業(yè)務(wù)指標(biāo)比如動(dòng)作判定準(zhǔn)確率。這套樣本不進(jìn)訓(xùn)練集專門當(dāng)后悔藥用。從那以后我每次動(dòng)kpt_shape、flip_idx或者增強(qiáng)參數(shù)都強(qiáng)制先跑一遍這套回歸樣本再提交省下來的返工時(shí)間遠(yuǎn)多于維護(hù)它的成本。希望這些能幫你在接姿態(tài)識(shí)別時(shí)少繞幾個(gè)彎。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久婷婷色| 色五月天天在线观看资源站| 免费看欧美成人A片无码| 久久视频这里99| www.色婷婷.com| 这里有精品| 日韩在线婷婷五月天综合| 精品成人久久久久久久_一二三四视| 久久久中文| 一本色道久久综合狠狠躁小说| 99精品热视频只有精品10| 久久九九思思| 成人精品一区日本无码网| 色婷婷色五月天| 狠狠五月激情在线| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 亚洲综合网在线| 九九99精品视频在线观看| 欧美成人网婷婷综合在线| 6080av| 色婷婷最新域名 | 欧美激情性做爰免费视频| 丁香五月激情婷婷婷婷在线观看| 六月丁香激情网| 激情久久四色| 五月天激情综合网俺也去| 久热99久热| 亚洲欧洲另类图片| www.9操| www.99热视频| 天天色丁香| www.99成人视频| 日韩av干| 国产色99| 天天爱天天吃狠天天透| 五月亭亭网成人在线视频| 五月丁香综合伦理片| 色播婷婷五月天| 婷婷色六月| 久久婷婷青青草| 成人免费120分钟啪啪| 色五月激情| www.99热在线观看| 伊人五月天在线| 免费亚洲婷婷中文字幕| 九九视频在线观看| 五月天偷拍| 六月 丁香 视频| 久草嫩草在线观看| 婷婷丁香五月天熟女丝袜| 九九综合九| 办公室少妇激情呻吟A片在线观看| 五月丁香六月激情欧美综合| 另类少妇人与禽zOZZ0性伦| 丁香桃色网| 99热只有这里有精品| 大香蕉五月婷婷| 五月丁香综合中文| 狼人久草| 4399精品一区二区| 色综合久久综合中文综合网| 婷婷五月天伊人在线| 久热无码| 精品无码99| 五月深爱激情网| 婷婷五月天啪啪| 九九色综合九九色| 91美女被操| 六月婷婷综合| 久9热视频在线| 综合久久激情久久| 九九婷婷综合| 欧美性爱5月天天天看| 狠狠色噜噜狠狠狠888了| 激情五月丁香五月| 日日夜夜天天| 五月天色色色色色| 日本天天综合| WWW免费视频碰碰碰碰| 色久九| 婷婷色五月天在线观看| 狠狠干综合| 丁香五月天堂| 五月婷婷黄色网址| 91九色国产| 亚洲五月天第一综合干| 婷婷香五月天| 中字幕视频在线永久在线观看免费| 啪啪啪大香蕉| 9月色婷婷| 狠狠色婷婷777| 日日操夜夜爽天天天| 欧美VA在线观看| 国产亚洲精品久久一区二区三区| 国产,欧美,学生妹,视频| 色五月美女| 色色色在线| 五月丁香爱婷婷深深| 开心五月综合激情综合五月| 亚洲啪视频| 成人免费120分钟啪啪| 久久婷鲁| 九九久久99| 少妇激情五月天| 99热首页| 开心五月激情网| 五月婷婷黄色视频| 图片区 小说区 区 亚洲五月 | 91av视频| 天天摸夜夜爽天天做| 日本熟女二区| 超极99精品| 99精品热视频| 五月天婷婷色| 久久人视频| 草操AV在线| 伊人色综合久久久| 玖玖爱导航| 五月婷婷香蕉| 国产AV一区二区三区最新精品| 亚洲婷婷五月| 婷婷五月天色播| 日日夜夜干| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 99婷婷五月天| 99亚州综合精品成人网| 五月天激情国产综合婷婷婷就去爱| 99国产小视频| 色综啪啪| 五月激激激情综合网| 色欲天天综合网| www.91在线观看| 五月天,激情四射,婷婷频道| yw.av| 天天草婷婷五月| 九九亚洲视频| 久久这里只精品66| 风流少妇A片一区二区蜜桃| 婷婷爱爱蜜臀天天操| 九九免费视频| 亚洲综合999| 欧美成人五月天| 久草婷婷网| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 天天日夜夜爽| 五月噜噜| 欧洲区自拍| 思思re99视频在线观看| 欧美激情中文字幕| 久久婷婷六月综合| www.五月天性.com| 丁香五月天大香蕉啪啪| 亚洲色在线观看| 91干婷婷| 99热只有| 五月久久五月激情| 男人先锋久久| 五月婷婷激情综合网| 人操91在线| 思思热高清在线观看| 激情五月婷婷色综合| 婷婷五月深爱五月| 日韩高清久久| 久久这里只有精品热在99| 亚洲第一黄网| 99热国品| 天天综合色| 啪啪综合| 国产偷人爽久久久久久老妇APP| 婷婷五月天激情偷拍| 精品一区二区三区四区五区六区| 热的无码综合视频| www.五月丁香| 国产真人做爰视频免费| 日日夜夜婷婷| 狠色综合网| 香蕉久久国产AV一区二区| 婷婷色五月天综合网| 欧美亚洲色色色色| 啪啪黄页网| 综合色色婷婷| 91熟妇大香蕉| 色色热| 日本五月婷婷久久久六月丁香| 热思思九九| 日日夜夜爽| 人人爽欧美婷婷久久久五月丁香| 丁香六月啪| 精品人妻久久久| 久久久色情| 无码啪啪| 九九热视| 全国最新疫情| 天天噜日日噜综合无码| 色五月综合网站| www.久久综合| 成人精品99| 六月色激情| 色五月婷婷丁香五月| 久久婷婷五月综合色播| 国产激情AV| 丁香婷婷天堂| 午夜大香蕉| 91午夜激情| 九九热这里只有精品5| 国产做爰视频免费播放| 综合激情五月丁香| 五月精品| 26uuu精品国产| 91丨九色丨大屁股| 五月激情射| 激情五月激情综合网| 狠狠狠狠狠狠狠狠| 婷婷丁香五月欧美人| 九九大香视频| 99热99草97| 超碰久热| 色色a| 五月婷天天搞视频| www.久久66| 91人人爽狠狠狠| 丁香五月综合激情久久潮喷| 综合久久激情久久| 韩国真做片在线观看| 99视频激情四射| 97色色色色色色色色色色色色色| 99热99ai| 人妻久久久久| 99综合| 激情久久综合网| 嫩BBB搡BBBB榛BBBB| 亚洲精品午夜国产va久久成人| 五月婷婷六月丁香色| 五月伊人视频在线看| 激情五月综合网| 高清国产AV| www.seqingwuyuetian| 久热无码| 日韩在线视频9色| 天天日夜夜爽| 日本欧美成人片AAAA| 婷婷五月天电影网| 六月天婷婷| 丁香久久综合| 丁香五月激情啪| 天天操婷婷| 九九性视频| 天天操天天谢| 五月婷婷精品无在线| 婷婷色色播五月天| 婷婷十月丁香| 丁香五月成人社区| 91九色在线视频| 亚洲成人五月| 婷婷激情九月| 伊人婷婷五月天| 亚洲成人免费在线| 五月婷婷综合激情| 五月婷婷涩涩爱| 国产乱人偷精品人妻A片| 任你艹| 超碰成人免费| 色色五月婷婷狠狠| 婷婷玖玖丁香| 色婷婷综合网| 五月激情视频网| 色久婷婷网| 天天操天天操| 五月丁香婷婷五月| 99自拍视频在线观看| 天天爽人人综合免费7799| 26uuu最新地址| 激情五月天婷婷| 五月丁香| 久久99三级在线视频| 丁香五月婷婷99| 97人操| www.99精品视频| 日韩99视频| 久久婷婷色色| 99精品7| 五月天色婷婷成人| 日本片日本片祼观看网站在线看中文版网页在线看 | 久久久久久久久久久jjjj| 色婷婷AV久久| 99色精品视频| 婷婷五月天成人小说| 五月丁香激情综合网| www.五月婷婷| 五月激情四射网站| 激情久久五月天| 日韩免费乱轮网站| 久久婷婷五月免费视频| 99视频这里有精品| 91jiuseshunv| 亚洲婷婷丁香五月亚洲| 婷婷五月综合啪| 五月丁香六月激情欧美综合| 婷婷丁香婷婷97| 日韩在线视频网站| 丁香5月婷婷| 伊人色综合网| 91夫妻网站九色| 丁香六月激情四射| 欧美婷婷五月| 99热久| 午夜福利8055| 激情综合亚洲色婷婷五月| 99热都是精品| 日韩三十六页| 亚洲色婷婷激情| 婷婷六月综合激情| 97色干在线观看| 婷婷射综合| 婷婷四色五月| 少妇综合网| www.玖玖婷婷在线| 一二三区视频韩国| 亚洲激情综合| 丁香蜜臀黄色婷婷五月天| 日日夜夜青青草| 五月婷婷综合网| 九九综合| 99在线观看视频免费| 婷婷激情视频欧美视频自拍视频欧美剧| 国产成人网站在线观看| 亚洲4区国产欧美| 米奇激情婷婷| 亚州美女| 丁香女人五月天| 黄网在线观看免费| 99热一本久道| 四月丁香五月婷婷久久| 天天综合网色欲香| 情久久综合五月天| 色99久草在线| 五月激情丁香| av五月天婷婷丁香| 天天xxxxxx天天日| 国产偷人爽久久久久久老妇APP | 97ai婷婷| 综合综合网| 婷婷五月激情中文字幕| 久久婷婷五月| 综合激情婷婷| 超碰人人艹| 婷婷五月情| 五月丁香婷婷伊人日韩| 六月丁香色婷婷| 五月天婷a在线| 99激| 一起草AV入口| 五月天色裸体视频| 伊人大香蕉综合在线| 国产色五月婷婷| 精品人妻在线免费观看| 五月天激情婷婷小说| 国产精品久久久久久喷浆| www色婷婷久久综合久色| 狠狠干综合| 五月久久五月激情| 亚洲中文字幕在线观看| 丁香六月视频免费观看| 另类五月激情| 婷婷久久天堂网| 天天综合网亚洲网站| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 国产精品爽爽久久久久久| 丁香色五月AV在线| 欧美精品99| 六月婷婷综合| 欧美性做爰大片免费看办公室 | 婷婷99狠狠躁天天躁中| 少妇综合网| 精品无码色| 中文字幕成人网站| 五月天播播| 激情图片婷婷| 亚洲激情高潮| 五月天色色色色色| 丁香五月激情五月| 天天舔日日肏夜夜爽| 国产欧美大香蕉一区| 真实亲子乱子伦高清在线观看| 亚洲成Av人片乱码色第1集| 国产精品VA在线| 大伊香蕉玖玖爱| 亚洲综合色色| 婷婷综合在线观看视频| 激情图片久久| 天天综合激情| 涩玖玖免费视频| 99干日本| 激情五月六月丁香| 91精品91久久久中77777久久玖玖九九| 国产在线中文字幕| 99热99这里有免费的精品| 无码一级片| 99欧美| 蜜桃婷婷丁香| 四色永久成人网站| 日本综合99| 九九99热久久精品66中文字幕| 婷婷综合色| 国产日产亚系列精品版优势| 2017人人操| 激情婷婷色小说| 久久九九99视频| 丁香五月欧美色综合| 亚洲国产色婷婷| 久9热在线免费观看| 色婷婷丁香| 麻豆观看夏晴子| 亚洲丁香五月天视频| 午夜婷婷丁香| 99.N在线视频| 久久38视频| 天天色天天日| 超碰人人干| 99热在线免费观看精品| 中美月韩免费A片| 婷婷五月花.97| 久久婷婷网站| 色五月播五月| 五月色网| 五月婷婷免费在线观看| 五月天婷综合网站| 丁香五月婷婷狠狠色| 激情性爱婷婷| 91在线就要啪| 天堂成人A片永久免费网站| 五月激情影院| 五月六月婷| 五月天色综合服务平台| 26uuu视频欧美| 成人AV网站在线| 国产精品久久久久久亚洲毛片| www..999热久| 婷婷六月亚洲综合| 99久在线精品99re8热| 五月婷婷成人网首页| 丁香九月久久| 狠狠色狠狠| 精品九九婷婷| 黄页免费一级视频懂色| 色综合色综合色综合| 国产美女无遮挡裸体毛片A片| 爽极品色| 91丨九色丨熟女|老版| 狠狠精品干练久久久无码中文字幕| 日本超碰在线| 五月丁香婷婷基地| 久久五月网| 亚洲超碰在线| 九九热九九| 五月色婷婷影院| 182TV大香蕉| 大香婷婷| 久久最新色| www.99热精品| 99久在线精品| 五月婷婷深深的爱| 夜夜骑日日操| 色综合五月在线| 99这里有精品免费| 色五月丁香婷婷综合| 蜜乳.comcom| 六月丁香基地| 久久99热精品a片在线观看| 综合综合色色| 婷婷亚洲在线| 激情六月综合| 色噜噜狠狠色综合网| 激情综合在线播放| 久久精品夜色噜噜亚洲a∨| 五月天丁香啪啪啪啪| www.婷婷五月.com| 婷婷五月天久久综合88| 性一交一乱一交A片久久四色| 99精品久久久久久久| 成人 视频免费观看网站| 大香蕉久久久| 日韩无码一区二区三区四区| 狠狠干思思热| 激情综合网激情五月天| 99热思思| 精品国婬伦V无码久久久| 婷婷丁香黄色| 婷婷啪啪| 99日韩网站| 五月丁香婷婷欧美| 久热91| 最近中文字幕2019视频1| 九九爱激情| 狠狠色网| 狠狠五月天婷婷| 79色色| 婷婷久久五月天丁香| 色五月成人| 96丁香婷婷九月蜜桃综合久久| 四川操逼站| 激情av| 精品国产AV色一区二区深夜久久| 五月天sesese| 色情综合| 色色色色色色色色色色色色色色,网站| 99精品无码| 涩涩五月天| 91免费啪视频| 综合97五月| 婷婷激情五月天视频在线| 国产激情综合五月久久| 亚洲第一综合| 91久久电影| 五月婷无码| 狠狠色噜噜狠狠| 少妇性按摩无码中文A片 | 激情四射五月天| 五月综合激情综合久| 六月婷婷激情| 91色性感五月婷婷丁香| 婷婷色网| 另类 在线| 国产精品涩涩涩视频网站| 婷婷五月天中文字幕| 五月天性色| www.久久久久久久| 久久天堂色| 婷婷九月激情| 色五月网址| Caoporn公开| 思思热思在线精品视频| 久99久热| 婷婷五月综合色中文字幕| 婷丁香久综合| 这里只有精品视频99| 九九激情| 丁香五月激情综合啪啪| 专区无日本视频高清8| 综合久久久| 性天天中文网| 九九一区| 天天综合图片| 桃色五月天| 亚洲精品无码久久| 9热视频在线观看| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 久草热8精品视频在线观看| 亚洲av综合网| 翔田千里 50岁 无码| 97香蕉人人在线观看| 九九久久五月天综合伊人| 97碰在线视频| 婷婷色五月综合丁香| 大香蕉五月婷婷| 玖玖爱导航| 五月情色天| 五月丁香婷婷伊人| 色六月天| 在线观看视频1区| 欧美韩日AAA网站| 99热思思| 午夜九九电影| 99人妻碰碰久久久禁片| www.热99热| 五月天大香蕉av| 激情 婷婷 插| 99色在线观看视频者| 极品人妻videosss人妻| 激情图片亚洲| 婷婷精品性视频| 91精品国产色猫| 天天天天天天操| 一起操 91N.com| 国产精品久久久海的味道| 夜夜爱爱亚洲| 超碰人人操人人干| wwW天天干| 国产人妻人伦精品一区二区| 超碰renrenai| 色五月婷婷丁香凹凸| 99久久久| 九九99九九99| www.激情| 五月婷婷自拍视频| 冬月かえでAV无码播放| 综激情网| site:wpjngj.com| 乱精品一区字幕二区| 99爱精品视频| 综合99综合久久久久久久| 丁香五月婷婷影院| 91啪级电影| 婷婷五月天久| 婷婷永久在线| 九九爱看亚洲| 九九99香蕉在线视频播放| 中文字幕在线观看视频www| 天天舔天天插天天爱| 久久在线视频免费观看| 久久ab| 欧美色99| 男同91| 91成人性爱视频| 色婷婷丁香| 亚洲亚洲人成综合网络| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 玖玖资源天天无码| 五月天堂婷婷| 五月丁小婷婷激情四射| 97久久草草超级碰碰碰| 精品无码人妻一区| 激情久久久久久久久久| 日本欧美成人片AAAA| 五月天婷婷综合免费| 久久免费精品小视频| 婷婷色五月91啪啪| 婷婷六月色开| 99热在线观看精品| 精品网站99| 久久免费试看120秒| 亚洲激情另类| 开心五月婷婷| 色五月婷婷DVD| 91色五月| 欧美日韩国产日本精品四虎网网站物 | 婷婷情色五月天| 色呦精品| 99这里有精品| 亚洲综合在线播放| 丁香婷婷激情网站| 天天更新天天亚洲| 色色婷婷五月天| 日本久久9| 色欲一区二区三区精品A片| 丁香五月最新地址| 99re这里| 综合激情深爱| 99在线观看视频蜜臀| 亚洲碰碰碰| 日本丰满久久| 丁香网五月天| 色区久久| 九热视频| 色情五月综合婷婷| 五月丁香综合| 欧美丁香婷婷五月天| 伊人六月丁香婷婷| 婷婷婷色五月| site:hcxsz888.com| 亚洲婷婷久久综合| 丁香花操逼| 色亭亭九月| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 99热地址| 99久久极情精品一区| 丁香婷婷五月六月天| 久久综合激情五月天| 色婷操逼| 中文字幕综合网| 99亚洲精美视频在线观看| 91主播在线| www,99视频| 青草视频在线观看视频| 97色婷婷| 人妻内射一区二区在线视频| 欧美99| 久久怡红院| 五月在线| 五月天激情婷婷| 亚洲成人网站在线观看| 少妇性按摩无码中文A片| 开心激情婷婷| 婷婷综合视频| 欧美色图片88| 99视频综合网| 久久人视频| 婷婷丁香综合| 大香蕉久久草| 99久久免费性爱视频`| 精品乱码视频| 天天爽天天日人人爱| 色婷婷五月天激情久久| 夜夜操狠狠操天天操| 色综合久久久久久久久五月| 丁香五月激情无码视频| 色婷婷五月天偷拍| 色五月综合在线| 色色色成人网| 久久在线视频免费观看| 婷婷丁香五月视频| 伊人婷婷色| 色色色色五月天| 日日操夜夜爽白洁| 一区二区三区四区无码| 色五月激情网| 99综合网| 97涩婷婷婷婷基地| 精品久久久999| 丁香五月综合久久八| 欧美性丁香色色五月天| 五月丁香激情综合网| 色99视频| 色婷青青| 色五月激情| 丁香五月婷婷色综合基地| 五月天六月婷婷电影| 97欧美在线| 九九色色| 婷婷99丁香| wWwCom夜操wwW| 色五月天激情| 五月婷婷AV| 第四色在线观看| 日本偷拍九九九| 国产免费AV网站| 2025天天爽天天摸| 黄网免费看| 超pen个人视频97| 亚洲成人网站在线| 色综合五月婷婷狠狠干| 99热资源在线| 成人无码免费一区二区中文| 五月婷婷深深爱| 五月天a婷婷伊人| 婷婷狠狠97| 日本精品人妻无码77777| 99综合熟女| 日韩六十路91性交电影| www.99在线| 丁香五月婷婷综合激情啪啪啪| 色综合激情| 色丁香影院| 激情丁香五月婷婷| 91色涩| 五月激情五月婷婷五月天在线| 丁香六月婷婷色XXXXX| 9久热视频| 热的国产,热的综合,热的有码| www.五月天婷婷| 思思9久久| 91丨九色丨东北熟女| 激情五月丁香六月综合AVXXXX| 天天综合色| 亚洲精品视频电影| 久久人妻视步| 成人网在线观看视频| 一起草AV| 五月天开心色情网| 69色婷婷| 激情五月天在线视频| 欧美搡BBBBB摔BBBBB| 激情四射网| 久久a热| 97色射| 亚洲mm色| 高清一区二区三区日本久| 亚洲精品视频在线播放| 亚洲婷婷基地| 啪啪操操| 久热这里| www91在线| 色色色综合色| 婷婷自拍| 99精品在线| 亚洲成人AV在线| 色99热| 操日本99| 天天夜夜六月丁香五月婷婷老师| 国产真人做爰视频免费| 婷婷五月天777| 五月丁香综合激情| 婷婷欧美色| 91色婷婷综合久久中文字幕二区| 五月丁香婷婷啪啪| 婷婷伊人五月天| 六月激情婷婷| 思思热在线视频精品| 五月激情丁香五月| 99热| 五月色婷婷影视在线电影| 丁香五月激情综合| 亚洲色婷婷99一9|| 色日本颜射| 五月婷六月丁| 高清av在线国产| AV操操操| 亚洲成人AV在线播放| 久久久久9| 精品99这里有| 国产成人精品一区二三区熟女在线 | 九月婷婷| 丁香五月婷婷啪| 国产精品久久久久久久久久 | 深爱婷婷丁香五月激情| 久久精品女人天堂AAA| 五月婷在线| 久久精典| 国产小精品| 五月天色裸体视频| www91在线| 超碰碰碰碰| www。88热在线视频免费观看| 97精品人人A片免费看| 伊人午夜综合色啪| www.久久爱.c n| 六月激情婷婷| 婷婷一本和五月丁香| 伊人天堂婷婷| 婷婷的99视频网站| 伊人成人宗合网| 韩日AV片| 天天色综网| 色青五月天| 亚洲四色五月| 色五月婷婷老师| 日日懆天天懆| 色私五月婷婷| 青草视频在线播放| 天天干天天操天天爽| 久久久中文| 色婷网站| 丁香五月香蕉| 五月婷婷之激情五月| 五月婷婷色啪| 中文字幕欧美日韩VA免费视频| 色色网五月激情| 五月丁香婷婷中文| 97色 五月天丁香| 九九99九九99九九99视频网| 五月天色五月天| 婷婷六月色情| 国产精品天天狠天天看| 久久999久久999久久999久久| 激情综合自拍五月婷婷色五月| 欧美,日韩成人在线| 9久久精品| 色综合射婷婷| 婷婷激情五月天天天开心| 9色免费网| 欧亚成人A片一区二区| 五月婷婷激情综合av| 色五月婷婷少妇人妻| 日韩视频女神99| 欧美性猛交99久久久久99按摩| 在线成人视频免费| 日日干干天天干| 成人av中文字幕| 91怕怕网| 久久AV无码精品人妻系列试探| 夜夜躁婷婷AV| 精品国产va久久久| 五月婷婷色综图片| 久热综合| 无码一级片| 色婷婷在线电影| 五月天婷婷综合| 超碰成人av| 99re最新地址| 婷婷五月天视频小说| 人妻精品在线| 久久9999| 五月丁香婷婷伊人日韩| 大地资源色婷婷视频在线| AV在线中文| 亚洲精品永久久久久久| 久久婷婷五月综合啪| 翔田千里aV中文字幕| 狠狠色色| 九九热99免费视频| www久久久久| 丁香九月色| 99丁香婷婷综合网| 成人国产欧美大片一区| www.五月丁香| 激情五月天婷婷| 日本激情91| 婷婷成人视频| 五月天成人综合| 99久热这里只有精品| 亚洲激情97五月天| 婷婷五月天另类网站| 丁香五月狠狠综合欧美| 激情婷婷五六月天| 色五月涩涩婷婷蜜桃| 国产日批视频免费播放| 蜜乳9188| 日本丁香五月婷婷| 天天草婷婷五月| 激情五月天综合图片小说网站| 久久久久久xxxxx| WWW,色五月| 性色欲情 网站| 日日噜狠狠色综| 亚洲综合新99视频| 婷婷丁香五另类网站| 五月丁香网中文字幕| 26uuu欧美亚洲日韩| 日逼免费视频 | 久久精品这里只有精品免费首页| 九九免费视频| 九九热超碰| 99国产精品久久久久久久久久久 | 色99视频| 五月丁香色色综合| 天天干天天日天天插 | 操逼巨乳91| 99日本精品视频热| 99热综合| 色欧美一级| 91 久热| 丁香五月123| 超碰九九热| 婷丁五月| 亚洲人人操BD| 久久天天| 色婷婷亚洲精品天天综| 国产欧美熟妇另类久久久| 五月天福利影院导航| 久久五月天丁香| 色天堂A| 五月天激情综合首页| 六月婷伊人| 五月丁香六月婷婷综合| 色色五月婷婷久久| 婷婷激情四射| 婷婷酒色网| 99网址在线看| 色婷婷五月天天天天天天天天天| 伊人网色婷婷五月天| 天天爽天天| 激情五月五月婷婷| 九九九九热99超碰| 日本三级中国三级99| 婷五月丁香| 天天婷婷综合亚洲亚洲| 五月丁香六月欧美综合网站| 又大又粗九一在线| 91久久综合亚洲噜噜成人在线| 婷婷五月天最新综合你懂的| 这里只有精品在线看| 8区视频在线| 人与禽A片啪啪| 色www.con| 丁香激情合作五月| www.日本91| 亚洲欧洲中文日韩久久AV乱码 | 国产成人网址| 久久er99| 9久热| 婷婷五月综合色中文字幕| 亚洲美女婷婷五月天| 99在线观看精品视频| 99色在线| 9久热在线视频精品| 五月天婷婷伊人| 久月婷婷| 成人在线免费网址| renrencaoni| 67194中文字幕| 丁香六月在线综合| 激情av| 五月天色丁香| 中文字幕有多少字| 99re这里只有精品99| 亚洲天堂aaaa| 婷色影院| 久这里只有精品| xxxx久| 色在线免费观看| 在线五月色播| 九九热超碰| 国产精品岛国片在线观看免费| www.五月天性.com| 26uuu精品国产| 九九热婷婷| 天天干天天爽天天操| 超碰免费在线| AV中文在线| 久久久无码精品成人A片小说 | 玖玖资源在线视频| 大香蕉五月婷婷丁香| 婷婷色播色五月五色五月天色妇| 色五月综合资源推荐| 九九草草逼| 丁香婷婷射| 五月天婷婷基地| 99小视频| 99久视频| 91在线日| 翔田千里 50岁 无码| 色婷亚洲五月丁香| 五月丁香六月婷婷综合网站| 五月丁香亭亭激情操逼网| 婷婷五六日| 中文字幕无码人妻少妇免费视频 | 丁香五月AV在线| 久久六月综合| 九热视频| 99热自拍| 91婷婷丁香| 大香蕉婷婷丁香天堂AV| 激情综合在线观看| 婷婷月综合| www.色五月.com| 色色激情网| 中文字幕在线免费| 97九色| 色色爽爽天天| 婷婷伊人网| 色色激情| 狠狠干综合| 丁香激惜男女| .精品久久久麻豆国产精品| 深爱激情九九五月天| 亚洲爆乳无码精品AAA片蜜桃| 狠狠另类视频| 免费黄网不卡AV| 色色综合视频| 天堂在线婷婷| 婷婷久久精品| 99熟女| 婷婷亚洲天堂| 亚洲 小说 欧美 激情 另类| 狠狠爱成人综合网| 久久久久er热| 国产激情av| 色五月天婷婷| 色色丁香五月婷婷| www.久久久久久久久久.com| 婷婷爱五月天| 六月激情婷婷| 少妇大叫太大太粗太爽了A片| 呦呦AV| 97久久超级| 日韩成人av在线| 丁香婷婷精品视频| 日韩艹比| 激情五月天社区| 丁香五月久久| 日本啪啪视频HD| 色综合久久88色综合天天99| 99在线免费视频| 五月婷婷六月丁香| 可以免费看AV网站| 久久婷丁香五月| 婷婷在线播放| 99re思思久久| 91久久1118| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月婷婷六月开心| 五月天激情黄色网址| 丁香五月瑟瑟| 妻久久久久| 天天操天天插天天射| 精品久久9| 激情图片婷婷| CAOBIBI| 色五月婷婷久久| 五月丁香另类网| 黄网在线观看免费| 九九热精品视频在线观看| 人妻VideOssS人妻高清| 久久网日本| 五月综合激情啪啪啪啪啪| 亚洲午夜一区二区| 天天天操天天天爰| 成人一区在线观看| 色色色999| 亭亭玉月丁香| 六月综和久久| 久婷久婷| 激情综合色婷婷啪啪五月天| 粉嫩av懂色av蜜臀av熟妇| 丁香婷婷五月六月天| 久久久99婷婷久久久久久| 九九九九精品精| 久草A片| 9久热这里只有精品| 亚洲中文字幕网| 丁香五月激情啪啪啪| 狠狠色婷婷7777久| 中文字幕成人影视| 婷婷激情啪啪| 五月天开心激情网色欲无码| 激情五月婷黄版| 91精品国产综合久久久不卡电影| 亚洲不卡| 丁香婷婷深情五月亚洲| 美女婷婷六月色| 五月婷婷三级| 影音先锋综合网| 亚洲国产精品二二三三区| 超碰色综合| ji'qi'luan'ren'lun| 色五月开心五月激情五月| 激情六月丁香| 麻豆精品| 丁香八月综合激情| 丁香五月天之婷婷影院| 99精品97| 丁香婷婷综合喷| 亚洲国产精品VA在线看黑人| 婷婷色五月激情| 综合网啪| 人妻精品一区二区三区| 99精品在线下载| 日日日日做夜夜夜夜无码| 久久在这里99| 大香线蕉伊人| www.久久婷婷| 青青草婷婷久久| 综合五月激情| 97久久婷婷色| 激情5月婷婷| 伊人在线视频| 中文毛片无遮挡高潮免费| 99精品热| 涩五月婷婷| 中文AV网站| 日韩AV大全| 色五月婷婷激情基地| 碰碰碰97国产| 色五月婷婷7777| 99久久人妻精品无码二区| 成人做爰A片免费看网站找不到了| 亚洲人妻av| 五月婷婷丁香| 99久久综合| 久久伊人大香蕉| 一起草av| 99热色精品| 亚洲综合五月天婷婷丁香| 99热这里是精品| 大香蕉520| 噼里啪啦完整版中文在线观看| 九九在线精品| 色狠狠色噜噜AV天堂五区| 国产黄大片在线观看画质优化 | 五月丁香在线婷婷美女| 青青草原99热| 婷婷五月天精品| 青草五月天| 丁香婷婷五月综合| 玖玖无码中文| 色色a| 中字幕视频在线永久在线观看免费| 人人爱操| 色色色色丁香| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 五月色婷婷夜色| 永久免费一区二区三区| 婷综合| 狠狠操天天操| 五月天激情国产综合AV| 66精品成人免费网站在线观看| 综合久久人妻| 久99在线视频| 天天日天天色| 丁香五月花| 婷五月天| 99人碰碰碰| 777.色色| 桔色成人在线| 久久停停超碰| 中文字幕无码人妻少妇免费视频| 色和综合网| 综合色吧| 色色无码日韩| www.lingjunshare.com| 久久九九国产精品怡红院| 激情五月综合网| 1024操逼| 99热热这里只精品996小说| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 91超碰在线观看| 婷婷六月天精品| 5月婷婷6月六月丁香| 丁香五月天堂网| 97超碰,人人舔,人人操,人人摸| 婷婷五月a| 久久综合丁香五月| 丁香六月婷婷综合在线| 欧美 日韩 成人| 精品国产va久久久久| 亚洲最大五月天成人网| 无码激情| 97碰碰久久| 中美日韩成人在线| 新激情五月开心五月婷婷五月丁香五月| 天天插综合网| 国产毛片精品一区二区色欲黄A片| 久婷婷久草| 天天开心天天色| 99在线精品免费视频| 日日操日日撸| 热婷婷久| 日本色婷婷久久99精品91| 五月婷婷六月丁香| 亚洲国产精品VA在线看黑人| 中文久久婷婷| 伊人干练久| 国产激情AV| 五月丁香亭亭A片| 噜噜色天天开心| 久久人妻人人| 九九9久九9国产视频| 色激情综合| 天天插天天插天天插天天插| 五月天成人综合| 天堂久久婷婷| 99免费视频在线观看爱| 婷婷色综合| 超碰日日操| 婷婷干五月综合在线播放| 婷婷五月天伊人| 九热精品| 亚洲成人婷婷| 7777国产盗摄农村女人| 99惹在线精品免费观看| 玖玖婷婷五月| 色播色丁香五月| 丁香五月aV| 99久视频| 91色逼| 五月丁香婷婷综合视频| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 女高怪谈在线观看| 色吧婷婷五月亚洲| 日本的α片xxxwww| 九九热超碰| 久热99热| 99色视频| 婷婷综合av| 思思热国产在线| 少妇真实被内射视频三四区| 影音先锋按摩| VA色婷婷| 五月久久婷婷丁香| 99热免费| 五月天激情图片网| 播四月婷婷六月丁香| 亚洲黄网在线| 久久这里99| 香蕉影院色| 五月婷婷丁香五月婷婷| 免费无码毛片一区二区A片| 五月天天丁香婷婷在线中| 色噜噜狠狠色综合日日| 五月婷精品| 九月激情综合| 婷婷色五月开心五月| www.夜夜操.com| 五月丁香婷婷激情四射迷人| 五月激情小说网| 日本道久久91| 人人爱国产| 丁香五月成人丝袜| 五月天成人在线视频网站| 97操碰人人| 久久最新色| 色婷婷免费观看| www.99色| 色色色99韩| 99在线精品免费视频| 丁香色情五月综合网站|