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
返回資訊列表
99∨VTV| 丁香五月综合无码趴趴| 五月婷丁香| 久久婷婷五月| 伊人大香五月天| 五月婷婷六月色| 四色99久久| 视频1区2区| 日本色视| 婷婷爱五月天人人爱| 国产真实乱对白精彩| 99色色热热| 99综合在线| 超碰成人电影| 九九色网专区| 五月丁香婷婷基地| 女人天堂AV| 成人国产综合| 永久天堂日本| 九九黄色网| 日韩抽插操逼| 黄色一级影片| 久久3级片| 激情五月天综合网| rr天天操| 色久婷婷网| 欧美A片在线视频免费观看| 夜夜躁爽日| 婷婷激情人妻| 九九99视频精品| 五月婷综合| 深爱开心激情网| 色婷婷综合久久| 99无码超碰| 这里只有视频精品| www.91.com黄| 五月婷婷9| 婷婷综合精品| 丁香六月欧美| 久久精品人妻| 丁香色综合| 狠狠色丁香| 日本人妻久久| 第四色色六月色综合| 99ri国产在线| 99热精品在这里| 99综合网| 婷婷在线播放| 天天射美女| 久久精品人妻| 超碰成人电影| 精品人妻午夜一区二区三区四区| www五月婷婷88导航| EEUSS鲁片一区二区三区| 欧美综合五月丁香六月婷| www.久久爱.c n| 欧美S码亚洲码精品M码| 四色永久成人网站| 天天爽天天干| 色色a| 操人妻视频91| 五月丁香基地| 婷婷激情丁香六月| 色五月五月天色婷婷色五月| 九九激情综合| 丁香五月手机在线| 影音先锋91在线资源站| 激情文学综合婷婷五月天丁香花| 国产精品99久久久久久久女警| 亚洲精品99| 婷婷综合网| 日本在线99| 少妇大叫太大太粗太爽了A片| A久久| 国产精品A片| 99色在线| 亚洲综合色棒| 久综合网| 成人综合网站| 五月婷婷色色网址| 五月丁香激情四射| 91黄操| 成人欧美日韩| 99成人无码| 激情五月天伊人av| 人妻少妇色综合| 99久久九九| 爆乳熟妇一区二区三区四区| 爱iii做iiii日日| 久久天堂色| www.henhenl| 婷婷玖玖丁香| 五月丁香六月婷婷在线小说视频| 婷婷丁香五月六月激情| 五月婷婷五月丁香| 日日影院 | 欧美日综合| 影音先锋五月婷婷| 九月激情综合| aaaaaa片| 五月婷婷狠狠干| 无码成人AAAAA毛片AI换脸| 婷婷丁香久久| 婷婷五月激情丁香激情| 亚洲最大五月六月丁香婷婷| 99热只有| 亚洲成人影视在线观看| 99这里热| 日都一级A片| 国产免费av在线| 99久久99视频| 亚州色色色| 99久热这里只有精品| 91欧美| 老美AA片| 天天爽天天日人人爱 | 五月天婷婷丁香六月| 99热这里只有精品8| 久久丁香| 婷婷五月天你懂的| 亚洲色色香蕉| 9久热| 婷婷五月丁香A∨| 深爱 五月天| 青草五月天| 思思久久99热只有频精品66| 九色视频91疯狂| 五月婷婷激情四季| AV成人在线播放| 综合色99| 久久婷婷网| 99在线亚洲| 欧美成人AAA片一区国产精品| 天堂色色色| 欧美综合在线五月天色婷婷| 婷婷五月丁香激情| 亚洲免费99| 91久热| 91丨九色丨白浆秘| 五月停停色色丁香| 久久女婷| 国产精品久久欧美久久一区| 操操天堂| 色欲婷婷五月天| 777久久久| 伊人色综在线| 亚洲欧洲小视频9| 日日撸天天干| 开心五月天激情网| 99综合在线| 五月婷婷综合网| 日本九九九九九九| 9久国产精品| 色婷婷丁香九月| 五月丁香偷拍| 男人的天堂在线婷婷| 色综合天天网| 婷婷伊人五月天| 91久久久久久久久| 九九99精品| 都市激情小说婷婷| 色天使色婷婷| 天天插天天爱| 丁香综合网| 激情五月婷婷综合网| 色婷婷综合五月| 色综合久久99色| 丁香五月婷婷综合精品素人| 丁香五月色| 91色碰| 六月激情网| 亚洲成人网站在线| 久久精彩视频| 色婷婷五月天视频在线| 噜噜干日本| 99热亚洲| 99亚洲日韩| 丁香五月最新网址| 五月丁香六月激情综合| 五月天开心激情综合网| 五月丁香色综合| 9l视频自拍九色9l视频自拍九色9l社区 | 14色综合婷婷| 日韩综合成人| 综合婷婷久久| 激情五月www| 99九九热视频免费| 九九AV| 婷婷五月天论坛| 九九九九成人| 超碰在线99| 成人精品99| 美国不卡视频| 国产成人精品一区二三区熟女在线| 丁香五月在线观看综合| 超碰com| 婷婷五月天激情网| 99热这里只有精品一| 亚洲精品色| 色色婷婷综合网| 国产一区二区av免费| 综合色五月| 中文字幕av亚洲| 日本99久久| 激情五月婷婷在线区| 久久天堂女人| 五月婷色| 影音先锋91| 夜夜做天天爽| 婷婷激情肏屄网| 99成人在线观看| 这里只有精品视频一区| 九九视频精品这里只有| 9久久久久久久久久久| 国产又爽又猛又粗的视频A片| AVDV久久| 日本婷婷色日| 99热99热| 9久久网| 日本91在线| 色婷婷XXXXX| Caoporn公开| 五月婷婷丁香| 婷婷热色| 超pen个人视频97| 国产激情在线| 深爱开心激情| 九九视频这里有精品| www,99视频| 精品人妻久久久久久| 丁香五月婷婷六月婷| 操碰99| www.cao.com久久| 国产av天堂| AV在线观看网站| 久久婷婷五月综合色丁香| 99色综合网| 乱精品一区字幕二区| 九九热精品| 婷婷五月天性| 开心五月丁香啪| 综合亚洲色色| 久久色五月| 99亚洲精品| 婷婷五月综合在线| 婷婷99狠狠| 人人爽网| 韩日另类| 五月婷婷9| 九月停停| www.99热在线| 婷婷色色丁香五月天| 六月丁香婷婷综合影院| 五月香婷婷| 五月天伊人| 亭亭色色五月天| 操逼巨乳91| 五月天久久婷婷婷| 久久机热这里只有 | 51XX午夜影福利| av第一二区| 婷婷热色| 99热热这里只精品996小说| 欧美婷婷综合网| 五月天另类小说久久小说网| 久久国产AV| 色色色区| 五月天婷婷六月激情网| 五月丁香婷婷中文| 五月天激情综合网俺也去| 大香蕉伊人爱在线| sesesesezonghe| 思思热国产视频| 激情五月激情综合俺也去婷婷小说| 日本啪啪网| 丁香五月在线自慰| 干亚洲天堂| 久久99热这里| 色停停五月天| 精品激情| 婷婷伊人久久无码色五月| 精品国产AV色一区二区深夜久久 | 丁香五月婷婷亚洲色图| 五月色网| 69人人操人人爽| 71在线精品视频一区| 综合一区二区三区| 桃色激情婷婷伊人网| 婷婷丁香五月天在线| 五月婷婷丁香俺日污视频| 狠狠色成人影片| 五月婷婷色色色| 五月激情六月丁香| 精品无码片| 婷婷五月天激情电影| 五月开心婷婷网| 五月婷婷六月爱| 婷婷日日夜夜| 人人爱人人草| 久久99日本精品视频免费观看| 色五月色图| 99人这里只有精品| 香焦网五月天| AV在线不卡播放| 日本WWW九九九| 日本精品在线噜噜噜| 久久五月丁香综合17C| eeuss人妻| site:publishdd.com| 人人摸人人干| 影音先锋91网站在线观看| 欧美日韩精品一区二区三区钱| 色婷婷六月天| 99无码黄色视频| 激情五月天综合网| 另类激情四射| 激情综合网五月激情| 五月婷婷AV| 9色操| 欧美婷婷| 综合啪啪| 免费看成人747474九号视频在线观看| 玖操97| 丁香婷婷五月天激情四射| 色五月激情五月| 激情九色| 桃色激情网| 日韩精品AV一区二区三区| 天天综合 99久久婷婷| 婷婷丁香六月影视| 五月天激情综合网| 日本色色图| www.com五月天| 午夜天堂一区人妻| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 五月婷婷影视| 色吧五月| 丁香九月激情在线视频| 婷婷性爱网| 五月婷婷在线综合| 九九中文色色| 97婷婷五月天| 1024AV视频| 婷婷另类开心| 香蕉AV777XXX色综合一区| 久热欧美| 99精品热| 国产Va视频| 婷婷久久亚洲| 99re在线视频精品,这里只有精品18,| 九九热欧美| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99热1| 色色色.COM| 激情内射人妻1区2区3区| 国产色色在线| 久久婷婷视频| 天天噪夜夜爽| 人操综合| 一本色道久久综合狠狠躁小说| 日逼影音先锋男人资源站| 欧洲亚洲欧洲99久久| 天天日夜夜爽| 国产精品成人网址| 色五月激情五月| 婷婷五月丁香色播| 婷婷五月综激情| 亚洲va综合va国产va中文| 亚洲激情综合| 欧美搡BBBBB摔BBBBB| 色色色色色色色综合| 亚洲天堂热| 五月天婷婷六月激情网| A片试看120分钟做受图片| 五月婷人妻| 色色三级视频| 激情六月婷婷| 五月丁香六月激情综合网| 色婷网| 嫩草综合网| 日本不卡高字幕在线2019| 亚洲VA在线| 日韩啪啪自拍| 亚洲综合99| 成人精品一区二区三区四区五区 | 五月婷婷成人w| 久久精品无码一区| 婷婷婷婷婷婷婷婷| 99热色无码| 亚洲爆乳无码精品AAA片蜜桃| 五月天婷婷丁香蜜桃91| www.婷婷,com| AA片在线观看视频在线播放| 激情综合激情综合| 色七色九九| 大香蕉人妻| 精品无码色| 99热午夜精品| 超碰成人电影| 五月婷婷丁香在线视频| 亚洲AV人人操| 免费碰碰视频久| 色色亚洲| 精品99网站| 亚洲视频久久| 五月天激情国产综合婷婷婷| 99视频久久| 国产激情AV| 四川BBB搡BBB搡多人乱亂| 亚洲综合热| 久久在这里99| 伊人超碰在线| 婷婷97狠狠成人网站| 丁香五月天AV| xx综合网| 五月丁香啪啪网| 丁香五月天堂婷婷| 成人丁香| 天天操加勒比| 综合久久五月天| 久青青久| 色婷婷9| 欧美婷婷色| 五月色色网| 国产精品A片| 九九九这里只有精品| 五月丁香婷婷激情爱爱| 99热这里有精品| 丁香婷婷六月天| 夜夜撸日日骑| 婷婷五月情色| aaaaa不卡| 久婷自拍视频| 五月婷婷综合在线视频| 99这里有精品| 99热精品无码| 丁香五月性| 久久久精品色| 欧美天天干天天草| 久久98热re| 激情6月| 久99| 日韩成人电影AV| 天天色粽合合合合合合合| 日撸夜撸日操| 五月丁香久久精品在线观看| 手机旧版看人妻1025| 玖玖九九9999在线观看视频精品| 99久久黄色顶级视频| 久久免费试看120秒| 日本一級黃色一級片| 欧美成人精品A片免费一区99| 五月丁香婷婷爱| 色99热| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 在线综合婷婷| 五月激情精品视频| 免费试看小视频 99| 色综合爽| 黄网在线免费播放| 大香线蕉伊人| 五月天成人综合| 欧美 日韩 成人| 五月色婷婷夜色| 丁香六月婷婷基地| 婷婷综合久久综合| 久久资源综合| 狼人婷婷综合| 人人爱操| 天天色综合色| 五月丁香六月婷婷视频| 久草热视频在线观看| 停停五月天激情网| 婷婷五月色播放| 婷婷五月天精品| 开心五月网 | 最近免费中文字幕大全高清大全1| 九九热AV| 丁香五月激情久久麻豆| 91主播在线| 亚洲视频无| 国产精品视频| 热九九在线| 99区视频| 激情综合丁香五月| 婷婷色九月| 91婷婷| 夜夜撸日日操| 色色色色色色综合网| 久去色色| 五月丁香激情欧洲啪啪| 天天干天天干天天干天天干天天干| 国产精品VA在线| 婷婷激情六月综合| 五月综合婷婷五月| 亚洲综合九九| 激情丁香五月| 97超碰在线观看免费| 91亚洲天堂| 久久久香| 欧美天天性| 99久久综合| 狠狠久久婷五月| 91精品丝袜久久久久久| 免费V片在线| 黄色精品五月婷婷| 婷婷亚洲五月丁香综合在线 | 久久a热| 日本三级中国三级99人妇网站| 婷婷久久五月| 成人网站高清无码| 成人精品一区二区三区四区五区 | 久这里只有精品| 国产精品五月天婷婷| 99.N在线视频| 五月婷婷啪啪啪啪| 丁香五月婷婷亚洲综合精品| 丁香激情六月天婷婷| 人人播| 婷婷六月天| 日韩AV中文字幕在线| 婷婷久久五月天| 亚洲精品五月| 日本天天色| 超碰在线个人观看| 丁香六月视频| 五月婷婷性爱| 九九人人看| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 黄色片久久| 综合激情在线| 99精品小视频| 香蕉久久国产AV一区二区| 无码yw| 五月天激情中文字幕| 久久婷婷网| 九九色婷| 婷婷区日本| 九九热精品99| 1234操逼网| 色婷婷六月精品| 99爱在线精品视频免费观看| 超碰99资源站| 99久久综合| 欧美肉大捧一进一出免费视频| 另类伊人婷婷| 欧美色色色色色色| 97国产精品女人碰碰| 色情五月天se| 无码少妇高潮喷水A片免费| 五月婷婷人人人操| 98永久精品| 丁香五月婷婷久久久| 五月婷婷精品视频| 大地资源色婷婷视频在线| 成人av播放| 66成人网| 亚洲色婷婷五月天| 五月天婷婷激情小说电影| 综合激情五月四射婷婷| 美欧成人视频| 九九九激情综合| 无码天天操| 久久伊人大香蕉| 婷婷五月天堂网| 99免费热视频在线| 激情综合五月婷| 91九色精品熟女内射| 九热久| 玖玖午夜视频| 六月丁香大香蕉| 色碰碰| 91色色色18| 99热综合网| 色色色地址| 色噜噜狠狠色综合网| 中文字幕1区2区。| 天天干天天操天天爱| 婷婷综合中文字幕| 亚州操人在线视频| 国产激情在线| 26uuu精品一区二区| 婷婷成人综合| 国产精品第一国产精品| 99日这里只有精品| 丁香五月天堂网AV| 99热国产精品| 99极品视频| 99热99艹在线观看| 天天天操天天天日| 色五月婷婷91| 天天干天天做| 人人爱人人添| 欧洲亚洲免费视频9| 99这里只有精品|v| 天天久久综合| 婷婷丁香五月激情密臀av| 182TV大香蕉| www,五月天com| 五月开心播播网| 五月激情久久综合网| 日韩淑女人妻luan伦激情精品一区二| 99在线热| 激情综合婷婷| 色色丁香色五月| 九月丁香婷婷综合| 五月天综合区| 免费黄色AV| 另类图片五月天| 99热成人在线观看| www久| 色色网站毛片| 激情六月丁香| 久久在线人妻| 欧美精品999| 天久综合91综合首页| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 久草婷婷在线| 五月天堂色| 内射丰满人妻| 女婷久久| 欧美日韩一区二区三区四区| 欧美婷婷| 深爱激情综合| 操逼123网| 99伊人性爱在线影院| 九九色色| 爱射综合| 开心激情综合| 99精彩视频在线观看| 五月婷婷久久大香蕉| 啪色综合| 激情五月黄色小说| 激情五月婷婷啪啪| 亚洲成人AV高清字幕| 内射综合网| 色综合久久伊伊婷婷五月| 9精品视频在线观看| 男人操女人高潮91视频| 日本综合色图| 欧美色色色色色色| 精品国产va久久久| 99精品这里只有免费视频| 五月婷婷草| 激情五月黄色| 亚洲亚洲人成综合网络| 这里只有精品在线观看视频| 性爱久久| 色五月天电影| 婷婷五月天激情综合深爱激情 | 噜噜噜狠狠色综合| 色欲婷婷五月天丁香| 亚洲深喉aV| 丝袜大香蕉| 综合色色婷婷| 丁香六月狠狠干| 99综合色色色| 国产欧美熟妇另类久久久| 天天日,天天插| 五月天天综合| 人人摸人人| 五月激情偷拍| 79精品视频| 九九热视频免费| 白天AV月月| 五月天六月丁香| 欧美噜噜噜草| 激情网站五月| 婷婷丁香视频在线观看免费| 午夜丁香丁香婷婷| 六月99天天婷婷激情综合| 99人人干| 五月天另类小说亚洲| 婷婷五月天久久久| 九九综合精品| 欧美激情五月天婷婷| 五月天五月色婷婷综合| sisi热国产| 五月丁香网站在线播放| 热99只有精品| 中文字幕性爱丰满| 激情婷婷啪啪| 成人丁香| 国产免费一区二区在线A片视频| 日本色99| 五月婷视频| 五月丁香| 91色五月在线观看| 天堂亚洲 在线| 亚洲XX网| 五月丁香六月综合情在线观看| ay2区| 深爱激情四射| 成 人 色 色| 五月草视频| 精品99在线| 五月丁香香蕉| 第四色在线观看| 成人AV播放| 大香蕉七区| 欧洲亚洲免费视频9| 99re思思热在线视频| 亚洲 激情 中文| 5月丁香六月婷婷| 天天操婷婷| 99热91| 夜精品无码A片一区二区蜜桃| 操97在线观看| 日本人人草草| jiujiu无码五区| 色五月丁香伊人| 99国产精品久久久久久久久久久| 五月激情婷婷在线| 久久九九热re6这里有精品| av最新在线| 六月婷婷深深爱| 九九热精品6| 成人视屏在线观看| 色级停停| 香蕉久久国产AV一区二区| 99热只有国产在线精品| 99国产精品久久久久久久久久久 | 99热这里只有精品3| 色婷婷亚洲婷婷| 日韩丁香涩| www.五月婷婷久久.com| 丁香五月天BBw| 色综合天堂| 亚洲深喉AV| 激情爱爱网站超大免费| 国产26uuu视频| 久久色天堂| 婷婷五月天综合亚洲| 色狠狠综合网| 超碰人人干| caopeng超碰| 五月天色不卡| Aaa久久| 91精品久久久久| 九九久热| 色欧美色色色| 婷婷五月天中文字幕.| 丁香五月电影| 激情综合色婷婷啪啪五月天| 丁香婷婷六月激情文学| 久久婷婷亚洲| 色九月综合| 就99这里只有精品| 日韩成人电影AV| 色五月婷婷天堂| 成人网站免费sxj| 黑人无码一区| 亚洲激情免费视频观看| 婷婷五月花| 99久久久国产大片| 婷婷的99视频网站| 婷婷五月天丁香成人社区| 久久99热精品a片在线观看| 亚洲色热| 啪啪91| xx久久| 色色色色区| 婷婷五月花西瓜| 亚洲乱码日产精品BD| 色色综合无码| 岛国av网站| 96丁香六月婷婷蜜桃综合久久| 天天操天天操天天操天天操天天操| 五月天综合在线网| 亚洲尤物在线| 欧美性猛交XXXX乱大交极品| 色五月丁香总合网| 99热这里是精品| 99久久精| 久久婷婷五月天| 婷婷色婷婷亚洲成人| 精品婷婷| 日本三级大片| 五月婷婷激情久久| 操人无码| 婷婷色婷婷| a69在线视频| 九九99久久| 婷婷九月激情| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 婷婷综合成人五月天| 成人综合网站| 婷婷五月天激情亚洲小说| 色婷婷丁香花五月天| 欧洲综合色| 啪啪啪丁香五月| www.henhengan| 97艹| AV在线资源| 天天插天天狠| 国产精品18久久久| 丁香5月婷婷| 九九激情视频| 色婷婷亚洲| 五月婷婷干干干| 婷婷五月花| 99热精品一| 国产第99页| 丁香婷婷五月色成人网站| 9久精品视频| 大香蕉九九| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 国产欧洲欧洲精品久久| 亚洲小电影在线观看黄999| 欧美人人操| 欧美噜噜久久久XXX| 色伦专区97中文字幕| 99热亚洲精品66| 91艹人| 激情五月婷婷五月| 六月丁香婷婷在线波多| 久久九九精彩| 五月丁香成人网| 五月网在线| 人妻精品在线| 久久人妻少妇嫩草AV| 五月综合激情视频在线| 婷婷和五月天| 超碰69天堂| 91色五月| 99久久er| 天天色播| 超碰自拍天堂| 日狠狠| 另类五月激情| 丁香五月激情宗合网| 亚洲九九99精品视频在线播放| 欧洲色| 亚洲人人96@| 久草嫩草在线观看| 丁香成人五月天| 五月天婷婷人妻| 久久99免费视屏| 91男人资源站| 狠狠色综合网| 丁香五月天激情综合| 狠狠色婷婷7| 色五月婷婷青娱乐| 亚洲熟妇AV乱码在线观看| 婷婷五月色惰| 婷婷五月六月丁香综合| 超碰99在线观看| 日韩无码亚欧无码| 婷婷五月成人| 色色色婷婷五月| 五月天婷婷永久免费视频| 97碰久久| 婷五月天丁香婷五月| 亚洲精品V天堂中文字幕| 亚洲不卡欧洲| 天天日夜夜拍| 这里只有精品视频看看| 婷婷在线播放av| av操一操| 九九中文色色| 专区无日本视频高清8| 婷婷视频网| 思思热视频| 五月婷婷深爱六月| 丁香五月AV综合| 久久婷婷网| 另类丁香综合| 97婷婷五月丁香| 亚洲妇女熟BBW| 久色视频| 超碰精品在线| 伊人婷婷综合| 久久久全国免费视频| 无码少妇高潮喷水A片免费| www99热| 久久色五月| 人人干av| 狠狠搞亚洲| 1995年关宝慧版蜘蛛女| 五月丁香六月激情综合啪啪| 色婷婷五月开心六月综合| 91干视频| 婷婷五月色图| 人人性久久| 99热狠狠操| 欧美啪啪五月天| 婷婷丁香黄色| 99在线免费视频播放| 97色 五月天丁香| 91色呦哟| 色啦啦视频| 色婷婷综合久久| 丁香五月婷婷欧美性爱| 欧美五月停| 在线看片h站| 91呦呦呦| 综合激情九月婷婷,激情综合婷婷中文字| 1024亚洲无码| 影音先锋男士资源网一区| 伊人久久丁香狠狠婷婷综合香蕉| 成人αV视频免费观看| 婷婷不干网| 久婷婷久草| 五月天激情日色在线| 婷婷五月综合网激情| www.com色播五月天| 热九九九九| 97色女人在线| 伊人久久婷婷| 日本狠狠爽| 婷婷五月天第四色| 99在线小视频| 九色91国产| 另类激情综合| 国外亚洲成AV人片在线观看| 欧美日韩成人综合9| 丁香五月 性爱| 久久影视婷婷五月| 日日噜噜夜夜狠狠久久丁香六月| 天天射影| 最新五月天婷婷影| 九九久热| 色碰碰视频| 久久曰曰| 1024AV视频| 五月婷婷色播| 六月欧美综合色情| av网站中文| 99久久精品国产色欲| 99这里都是精品6| 激情AV网| 日韩另类在线观看| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 亚洲九九在线| 婷婷爱五月天| a久久| 熟妇国产| 色999五月色| 夜夜夜叫天天天做| 五月天激情四射网站| 丁香五月久久| 日韩精品一区二区刘| 99操碰| 无码人妻一区二区三区免费九色| 无码髙清| 国产婷婷色综合AV蜜臀AV | 天综合日日夜综合7799| 五月色在线| 深夜激情网| 99热免费精品| 久草婷婷视频| 婷婷综合激情五月中文字幕| 性爱视频99| 久久98| 99热碰碰| 丁香五月丁香伊人| 狠狠爱婷婷爱| 九九色婷| 色婷婷丁香网| 五月天激情婷婷| 久久精品99国产精品日本| 五月婷婷色啪| 思思w99| 99久久这里只有精品| 亚州色综合| 丁香久久五月天视频在线观看 | 国产在线自| 丁香六月激情综合网| 久久人人九九| 91九色 熟| 热久久77777| 91丨九色丨丰满人妖| 68热超碰在线| 久久er九九| 欧洲亚洲免费视频9| 亚洲人成网站999综合| 538在线| 99热日本| 亚洲成人无码网站| 天天操屄网| 大地资源色婷婷视频在线| 婷婷综合色色| 99爱视频| 丁香六月欧美| 婷婷色情小说| 国色天香成人网| www.日本久久videos| 97色啪| 丁香婷婷婷婷十二月在线观看视频| 亚洲综合网激情小说| 俺去也五月| 久久性操| 99噜噜| 婷婷久久影院| 可以看的AV| 男人的天堂在线婷婷| 色五月天在线| 色爆五月| 天天日夜夜草进麻麻的子宫| 日本色婷婷| 色婷婷WWW| 激情五月天丁香| 婷婷99视频精品| 五月天伊人综合| 99ri精品在线| 97欧美在线| 操逼三区| 久久电影4399| 97影院一级片| 9色在线视频| w婷婷五月婷婷w| 99九九视频| 亚洲色热| 婷婷久久18| 免费亚洲婷婷五月| 一起肏在线视频| 五月综合激情| 国产脫衣舞一区二区三区| 人妻视频在线| 人人97碰| 婷婷五月天在线观看| 五月天色导航婷婷资源婷婷| 五月婷婷久久综合| 五月六月激情婷婷| 久久中文网| 这里只精品热在线18| 先锋男人91资源| 在线观看婷婷5月| 成人欧美日韩| 五月天色综合| 91视屏在线观看com.wwwvv| BBWCUCKOLD精品熟妇| 日韩久久这里只有精品| 五月婷狠狠| 九九这里只有精品| 丁香五月综合婷婷| 久久色情| 久久婷婷五月草视频| 天综合日日夜综合7799| 丁香六月婷婷色播| 久久综合99| 嫩草AV久久伊人妇女超级A| 99日韩网站| 熟女91九色| 人人操AV| 思思热久久久久思思热| 91精品国产综合久久蜜芽解析速度| 99啪99| 久鲁鲁色网| 久操香蕉| 亚洲激情婷婷| 2025最新亚洲激情在线| 狠狠狠狠狠狠草| 影音先锋91| 日本熟女三区| 综合 蜜月 婷婷| 99热99在线| 欧美97p| 91精品婷婷国产综合| 精品一二三区久久AAA片| 欧美va在线| 免费九九热| 超碰2021| 亚洲久久激情| 日本操逼九九九九58日本操逼| WWW免费视频碰碰碰碰| 久久久人妻| 色色99| 中国AV性爱观看| 日本97在线视频| 风流少妇A片一区二区蜜桃 | www.日日夜夜.com| 五月婷在线视频免费播放| 婷婷五月天堂| 青青久久五月天丁香婷婷| 91婷婷| 国产无套精品一区二区| 久久五月天大美女| 婷婷五月天午夜激情影院| 欧美成人精品A片免费一区99| 99色在线视频| 五月婷婷中文网| 丁香六月久久| Y11111111111少妇电影院| 五月丁香六月婷综合成人综合| www,天天干| 五月天激情网址| 五月丁香精品| 五月天久草| 成人国产欧美大片一区| 成人在线精品| 婷婷五月天黄色小说| 日本色婷婷久久99精品91| 久久99精品久久久久久噜噜| 日韩精品视频中文字幕| 久久综合丁香激情五月| 韩国激情五月天综合网| 热久久66| 色六月天天激情综合网| 久久与婷婷| 97操男人的天堂| 一本色道久久88加勒比| 久草热在线视频| 欧美综合五月丁香六月婷| 啄木鸟丝袜美女福利视频| 成人五月天在线视频在线观看| www.色99| 天堂成人久久| 国产44页| 婷婷五月丁香综合瑟瑟| 色欧美一级| 婷婷色在线| 涩涩涩五月天| 99在线播放视频| 五月天成人在线播放| 99免费在线| 综合一本道| 思思久久99热只有频精品66| 中文不卡一二三区| 丁香五月网络网络| jiqingtaose五月天| 色色婷| 色色吧综合| 五月丁香啪啪啪啪| 婷婷伊人久久| 日日噜噜夜夜狠狠久久丁香六月| 激情综合色婷婷啪啪六月天| 亚洲久艹| 五月天AV大香蕉| 中文字幕亚洲-区久久99婷婷| 99热人人操人人操| 97色一二三| 1024在线视频| 人妻五月天激情开心网| 99ri国产精品| 狠狠情色| 超碰色色综合| 日韩成人综合网| 色色五月天婷婷| 丁香六月婷婷综情欧美| 六月亚洲婷婷6月中文字幕| 欧美噜噜久久久XXX| 色七色九九| 中文aV网| 九九机热| 激情五月天com| 99精品视频在线观看| 婷婷五月大香蕉| 久久98| 91一起操| 色综合久久之分久久| 伊人九热| 婷婷玖玖丁香| 人妻精品在线| 久久国产性爱A V| 思思久久思思| 色婷婷六月丁香综合欲精品| a久久| 色婷婷久久| 极品人妻VIDEOSSS人妻| 潘金莲AAAAAAAAAA| 久久日九九| 久99热| 能看的av片| 亚洲色99| 狠狠色丁香| 欧美成人精品A片免费一区99| 亚洲AV日韩在线观看| 婷五月天六| 天天做天天爱高潮片| 丁香久久五月天视频在线观看| 天天爽天天摸人妻综合网| 色吧婷婷| 97色色视频| 青青久久91| 五月婷婷人人人操| 亚洲精品操一操、噜一噜、摸一摸、爽 | 色情五月综合婷婷| 秋霞av吧| 欧美三级黄色片久久| 五月天婷a在线| 五月天综合影院| 我爱大香蕉| 东京热五月婷婷| 色丁香五月| 春色激情第四色| 五月婷婷综合网| 婷婷五月成人| 欧美婷婷精品激| 狠狠狠婷婷五月综合| 人人爽欧美婷婷久久久五月丁香| 在线成人网站| 久久久久9久无码视频| 婷婷五月丁香啪啪| 伊人午夜综合色啪| 激情性爱五月天| 91狼友视频在线观看| 久久免费9| 日日夜夜综合| 色色色色网站| 日本久久9| 天天日天天摸天天| 97se视频在线| 久久se 综合网 | 色优久久| 日本熟女二区| 青草视频在线观看视频| 97热精品| 五月丁香六月婷婷开心网| 欧洲色| 六月婷婷综合久久| 久久99这里只有精品视频| 特黄三级片| 日韩精品无码AV| 狠狠狠人妻| 9久久精品| 色五月婷婷伊人| 色婷婷六月开心中文字| 婷婷丁香五月久久| 久久五月激情| 国产色色小草视频| 亚洲精品操一操、噜一噜、摸一摸、爽 | 婷婷五月天无码| 97超碰免费超级在线观看| 香蕉久久国产AV一区二区| 五月丁香六月激情视频| 婷婷在线五月综合| 伊人丁香六月婷婷| 日本高清久| 久久五月天免费网站| 天天操天天谢| 五月天偷拍| 思思热天天看| 99热大香蕉| 色婷婷狠狠久久YY| 五月丁香天堂网| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 9色在线| 五月丁香激情怕怕| 综合图片色色| 久草视频大香蕉99| 婷婷五月AV| 国产AV一区二区三区日韩| 色爱99| 亚洲欧洲另类| 婷婷月五天在线在线看| 五月婷婷啪啪啪| 婷婷操超碰| 色五月大| 五月婷婷九九热| 婷婷五月天色播| 综合九九久久| 亚洲丁香婷婷丁香五月天激情| 99热欲| 久久久久久久久人妻| 青青久久五月天丁香婷婷| 欧洲亚洲激情五月天在线| 先锋影音av色五月天资源站| 最新精品视频99| 国产熟妇的荡欲午夜视频| 激情欧美婷五月| 久久久亚洲精品一区二区三区浴池| 色噜噜,噜噜色| 欧美成人猛片AAAAAAA| 色婷婷狠狠久久综合五月| 老师高潮流白浆喷水的A片|