免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
久久久精久人妻| 91视频久久久| 99久久99热| 人人播| 激情六月婷婷| 亚洲五月综合色播| 亚洲色图在线视频| 五月婷在线| 在线另类| 色欲AVV| 骚货艹网站视频| 大香蕉福利导航| 欧美激情五月| 99热在线观看精品| 亚洲欧洲中文日韩久久AV乱码| 丁香五月亚洲无码| 99九九视频| www.99热视频| 人妻操操色| 五月丁香婷婷老司机| 久久性爱视频网站| 丁香五月香蕉在线| 禁片二区| 成人做爰高潮A片免费视频| 99热国产这里只有| 亚洲小电影在线观看黄999| 久热一本| 丁香五月婷婷在线观看| 久久色五月天| 91精品91久久久中77777久久玖玖九九| 欧美日韩中文国产一区发布| 婷婷综合久久| 狠狠爱五月婷婷| 人妻久久久久| 欧美视频五区| 欧美三级视频下载| 五月天丁香婷婷网| 99在线免费观看| 亚洲综合五月天婷婷丁香| 99热6这里只有精品6| 91婷婷丁香五月| 久久九九囯产| 五月丁香综合精品欧美| 九九亚洲视频| 99热综合| 亚洲午夜AV| 婷婷在线免费| 亚洲精品99| 亚洲丁香五月美女| www.av视频xx999.com| 91精品刘玥| 亚洲V国产V欧美V久久久久久| 五月激情婷婷丁香| 丁香激情网| 亭亭玉月丁香| 看全色黄大色大片| 丁香五月婷婷五月天| 亚洲五月色| 天天插天天插天天操| 丁香熟女乱| 丁香五月色激情| 激情丁香婷婷| 亚洲天堂久久| 色色色五月天婷婷| 色五月婷婷五月天激情综合| 人妻在线网站| 亚洲99综合| 成片免费观看大全| 久久182| 色婷婷人人| 日本欧美999久久久三级片| 亚洲正能量欧美| 97在线精品| 国产99久久久国产精品免费看| 免费看欧美成人A片无码 | 狠狠色综合网| 99性爱视频| 99精品色| 日本少妇裸体做爰高潮片 | 成人AV网站在线| 九九色婷婷Av| 婷婷刺激综合| 久久精品小视频| 操逼棍操逼| 丁香六月天AV| 中文成人在线| 中国操逼99| 婷色五月| 热99精品视频| 色婷婷综合久色AV五色最新| 激情综合色播| 亚洲啪视频| 五月丁香五月天现场视频| 综合五月天完整| 国产毛片精品一区二区色欲黄A片| 91碰超| 色色网站在线| 三男玩一女三A片| 91碰碰| 熟妇高潮一区av| 九热免费视频| 色色色.COM| 1010日日无码| 91一起操| 伊综合蕉| \\五月天婷婷激情| www.五月天婷婷| 99性视频| 97色五月丁香婷婷| 丁香五月激情欧欧美| 五月丁香六月欧美综合| 婷婷婷婷色| 天堂美国久久| 久色中文| 99re在线这里只有精品视频首页| 狠狠色大香蕉| 亚洲情a| 人人干av| 99日本精品视频热| 婷婷丁香激情五月天色色| 久久婷婷91| 亚洲激情五月| 丁香五月天啪啪| 日日操夜夜操无码免费| 99免费偷拍视频| 久草久青福利| 天天色粽合合合合合合合| www.激情| 五月丁香婷婷久久| 99久久久久久| 丁香五月婷婷色综合| 婷婷五月中文字幕| 亚洲热视频| 午夜不卡久久精品无码免费| 东京热伊人| 99热网站| 婷婷五月天久草在线| 色婷婷五月天激情| 五月丁香综合| 日日婷婷不卡| AV成人在线网站| 四月婷婷五月丁香| 夜丁香综合| 天天日天天久久青青| 丁香五月天信号| 丁香色五月婷婷| 婷婷丁香91综合| 综合激情网五月激情| 成人色色视频| 99精品偷拍视频| 五月丁香六月激情综合网| 激情都市丁香婷婷| 综合色网站| 激情六月天婷婷| 精品国婬伦V无码久久久| 婷婷五月天.com| 婷婷五月精品中文字幕| 色情综合| 人人操91| 五月丁香va| 五月丁香久人妻中文| 亚洲蜜乳AV| 五月丁香在线看| 在线日本www| 最新午夜理论片| 国产古装妇女野外A片| 色色色精品无码区| 激情综合色婷婷啪啪五月天| 激情五月天com| 婷婷五月无码| 综合久| 97五月天婷婷午夜| 久久久久久久久久久jjjj| 66精品成人免费网站在线观看| 伊久大香蕉| 伍月婷婷六月丁香| 婷婷综合精品| 啊v视频在线观看| 国产精品视频免费看| 99日本在线| 99久久网站| 天天射影院| 丁香桃色综合网| a免费在线| 色色色网站| 欧日韩成人| 99综合网| 五月天婷婷无码| 在线观看亚洲视频影院| 亚洲五月六月婷婷| 久久机热/这里只有精品| 超碰93在线观看| 九九99久久| 婷婷五月天少妇| 天天日P天天射P| 操操自拍| 99久久免费性爱视频`| 疯狂做受XXXX高潮A片动画| 五月天激情AV| 六月五月丁香五月欧美| www.91在线看| 伊人热在线大香蕉| 夜夜干天天操| 日本天天操| 亚洲艹网| 色色热日| 婷婷丁香社区| 九月丁香亭亭| 激情深爱综合网| 国产精品色婷婷久久久精品| 五月开心播播网| 99在线热视频| 99热这里只有免费精品| 亚州激情在线视频| 婷婷伊人綜合中文字幕| 碰碰人人漕| 最近中文字幕2019视频1| 狠狠狠狠狠干| 激情五月图| 大香蕉啪啪啪啪啪啪| 五月婷婷六月丁香| 久久五月丁香婷婷| 99碰网站| 五月天综合在线观看| 99热这里在线精品| 久久久人妻久久久| 天天搡日日搡aaaaⅩ| 99视频只有精品| 婷婷色丁香六月| 色频玖玖五月天| 丁香五月大香蕉AV| 综合99在线| 夫妇交换刺激做爰| 日本久久网| 五月丁香综合影院| 久久伦乱| 丁香五月婷婷综合精品素人| 日韩国产在线免费观看| 色一情一乱一乱一区9| 成人精品一区日本无码网| 五月丁香啪综合| 开心激情网五月| 丁香五月天人体| 怡红院 久久| 午夜成人综合| 丁香婷婷五月综合欧美另类| 91精品91久久久久77777| 色婷婷基地| 亚洲啪啪啪啪| 99热精品中文字幕| 婷婷五月在线视频| 风流少妇A片一区二区蜜桃| 玖玖在线视| 欧美激情综合五月色丁香| 99热这里只有精品23| 性爱动图国产麻豆一区二区三区| 激情五月天在线观看婷婷| aa久久| 操碰99| 大香蕉久久伊人婷婷五月丁香| 丁香五婷婷| 六月丁香婷婷大香蕉| av人人操| 8区视频在线| 亚洲综合在线播放| 丁香色五月直播| 操91| 久久视频九九视频| 天天综合中文| 日本三级中文字幕| AV电影在线播放| 成人无码髙潮喷水A片| 成人在线视频网| 少妇高潮A片无套内谢麻豆传| 亚洲欧洲另类| 国内熟女黄色系列| 9久热在线视频精品| 大香蕉五月丁香| 亚洲精品电影| 五月天成人手机在线视频| 天天爽在线视频| 开心五月激情网| 五月丁香婷婷网网网网| 五月丁香无码| 超碰99热| 色婷婷很很丝袜| 婷婷五月天性爱视频| 色婷婷精品视频| 99久久综合网| anquye五月| 五月婷婷色丁香| 婷婷六月花| 久久久久久人妻| 久热 91| 深爱综合网| 国产精产国品一二三在观看| 五月天激情亚洲| 久七香蕉| 亚洲mm色| 久久97| 麻豆观看夏晴子| 99草视频在线观看| 激情五月网站| 原琪琪色影院| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 99性视频| 在线免费观看激情视频| 丁香午月AV中文字幕| 99爱视频免费看| 五月婷婷狠狠干| 免费无码毛片一区二区A片| 六月激情丁香一道本7777| 99热啪啪| 久9热视频| 亚洲精品国产A久久久久久| 七七色色综合| 一本伊人色婷| 激情五月天色色| 久xxxx| 天天日狠狠| 激情 婷婷| 人与禽A片啪啪| 婷婷五月丁香久久| 天天插天天射| 日本一区二区三区精品视频| 五月天色婷婷小说| 无码色| 婷婷久久在线| 久热这里只有精品视频免费观看| 午夜天堂一区人妻| 久鲁鲁色网| 超碰男人色| 日韩熟女啪啪视频| 狠狠干五码| 五月天色图| 九九久久99精品免费观看www| 久久思思热视频| 色五月激情综合网| site:xiongshengzz.com| 99无码精品| 婷婷丁香色五月天| oVV4WIB3vFi8D| 婷婷五月激情小说| 国产日产成人亚洲欧美国产VA| 丁香五月婷婷六月| 123日本不卡在线| 高清激情av在线观看| 五月婷网| 色射影院| 亚洲另类电影| wWwCom夜操wwW| 久久视频婷婷视频| 午夜一区| 九九在线视频| 九九成人高清视频| 国产69久久久欧美黑人A片| 久久婷婷视频| 激情五月综合亚洲另类| 色综合播放| 精品婷婷| 操逼123网| 亚洲色色色| 成人做爰A片免费看网站找不到了| 秋霞AV淫| 女性自慰系列第五页| 亚州色婷婷| 91九色无码日韩| 人妻视频在线| 性爱AV天堂| 99激情视频| 第四色色六月色综合| 六月激情网| 色热久资源| 激情小说在线视频| 成人网丁香五月| 亚洲综合网在线| 五月综合六月婷婷| 影音先锋男人资源站一区二区| 26uuu最新地址| 成人网页在线观看| 九九热超碰| 99久久久国产大片| 久久婷婷五月综合色区| 婷婷五月天成人| 九色自拍| 国产真实乱了老女人视频| 丁香涩涩五月天| 日韩啪图| 人人操AV| 韩国久久少妇视屏| 好看的国产精品| 亚洲色五月天| 五月丁香欧美在线| 中文精品在| 泰州成人视频| 婷婷开心激情五月激情网| 日韩av网站在线观看| 色噜噜狠狠色综合网| 久久9视频| 成人做爰A片免费看视频| 欧美亚洲婷婷五月| 自拍偷窥99热| 在线免费视频caop| 97操操| 婷婷区日本| 亚洲啪啪自拍| 九九久久精品| 日本美女五月天| 99综合色色色| www.yw色| 激情五月天婷婷播播久久综合91| 婷婷激情综合网| 丁香五月综合在线播放| 五月丁香婷婷啪啪| 日韩成人电泉AV| 夜夜撸天天操| 天天舔天天爽| 九六五月天婷婷| 97影院一级片| 五月天久草| 天天操天天插| 激情丁香六月| 婷婷亚洲五月| 操日本人妻视频| 色婷婷六月天| 成人在线视频男人的天堂4399| 丁香五月天婷婷激情| 看国产探花操逼三级片| 熟美女麻豆| 欧美成人精品A片免费一区99| 久久久精品人妻| 亚洲综合丁香五月| 开心五月天私房婷婷| 4399欧美另类视频| 婷婷色狠狠| 做爰丰满少妇1313| 噜噜噜久久| 激情爱爱网站超大免费| 思思精品视频| 午夜 外网 精品 在线| 9热视频在线观看| 五月婷婷综合色啪首页| 五月久久综合| 碰97 久| 99无码精品| www.91婷婷| 激情深爱五月| 开心五月天激情网站| www.久久五月天.com| 丁香色婷婷| 99热欧美偷拍| 日本婷婷在线| 99在线免费视频| 99啪在线视频| 99热久97| 99热日| av在线观看网址| 九九色插| 婷婷丁香五月天色色| 蜜桃婷婷丁香综合久久开心亚洲| 国精产品一区一区三区免费视频| 欧美精品中文字幕亚洲专区| 国自产拍偷拍精品啪啪一区二区| 亚洲亚洲人成综合网络| 中字幕视频在线永久在线观看免费| 欧美性爱五月天| 五月天婷婷视频| 五月丁香婷婷综合| 丁香激情五月天| 五月婷婷香| 99精品在线| 天天爽天天日| 亚洲精品一区无码A片| 日本三级大片| 成人丁香婷婷| ...婷婷五月综合不卡,国产在线手机| 日韩AV中文字幕在线| 中文字幕精品推荐免费在线观| 中文字幕综合色| 婷婷五月天综合久久日| 五月婷久久草| 久草婷婷| 5月婷婷六月丁香| 五月天成人在线播放丁香| 婷婷五月视频| 久久久ww| 99热九九在线| 五月丁香啪啪综合| 激情五月天视频| www.99热| 色婷婷91激情小说| 在线视频另类| 五月激情久久综合| 另类激情五月在线视频欧美| 激情综合网五月激情| 五月丁香成人网| 婷婷丁香色五月天| 婷婷五月激情图片| 天天爽曰日爽| 一月婷婷色色| 国外亚洲成AV人片在线观看| 婷婷五月激情五月丁香五月| 婷婷五月综合免费在线| 久久久99视频| 色综合香蕉视频| 丁香婷婷五月色成人网站| 99在线热| 偷拍九九热| 99在线免费视频| 色欲操| 激情五月天电影| 综合啪啪| 久久综合9| 久热欧美| 婷婷五月天免费视频| 97人人干人人操| 免费在线观看AV网站| 成人综合视频在线| 色五月婷婷啪啪五月| 久久92| 综合六月久久| 国产精品久久99| 婷婷六月丁香欧美视频在线| 大地9中文在线观看免费高清| 国产婷婷久久| 色婷婷激情视频| 99啪啪视频| 天天做夜夜爽| 欧美色片中文字幕久久久久| 97人妻碰碰碰久| 成人综合伍月天| 五月色亚洲| 久久sp免费视频| 五月丁香少妇网| 91se在线视频| 丁香五月天婷婷大香蕉| 婷婷六月天精品| 国产97色在线 | 日韩| 婷婷大香焦| 国产日比| 日日夜夜干| 日本波多野结衣视频| 五月天色色色| 日日夜夜干| 在线观看视频1区| 男人的天堂999| 日日撸夜夜操| 九九精品re免费视频| 婷婷六月色丁香视频在线观看| 伊人网碰碰| 91色五月在线观看| 丁香八月综合激情| 激情五月天色播| 久色网址| 色色99| 玖玖99精品视频| 1010日日无码| 成人在线网| 色色五月婷婷久久| 久草热在线视频| 91VIP在线观看| 天天日天天操天天干| 九色视频91| 狠狠一日| 这里只有免费的精品| 天天干天天拍| 日韩一66精品| 日日夜夜狠狠| 激情合网婷婷| 色婷婷成人做爰A片免费看网站 | 日韩精品999| 激情网婷婷五月天| 人人操人人看97干| 色色色色色网站| 在线中文字幕免费视频| 性爱电影科技贸易有限公司| 国产欧美日韩综合精品一区二区| 99热这里只有精品98| 久久久久久久人妻| 丁香色啪综合| 免费视频WWW在线观看网站| jiujiu无码五区| 婷婷五月天成人网| 就去涩涩丁香五月天| 色逼综合网| 26UUU精品一区二区c〇m| 91操人人操| 五月丁香五月天现场视频| 亚洲人操亚洲人| 99久久九九| 综合激情在线观看| 天天射综合网站| 欧美精品999| 九九久久精品| 99热99热| 91尤物九色在线| 久久久激情| 婷婷色婷婷| www.五月天| 99爱视频在线免费观看| 亚洲视频在线观看区| 开心婷婷中文字幕| 丁香五月1页| 色五月丁香com| 丁香五月六月婷婷怡红院| 丁香综合久久| 五月综合久久| 欧美日韩AAA| 国产性爱色| 久操操| 狠狠色情婷婷| 久久精品系列| 久久99综合| 激情久久综合网| 婷婷人人操| 九九色逼| 婷婷久久免费| 天天爱天天做天天舔| 99只有精品9| 99色色| 色婷婷丁香五月高清在线| 久久丁香综合精品综合| 色婷婷五月在线| 婷婷五月开心中文字幕色| 麻豆精品| 九九热免费视频| 色五月丁香六月欧美综合| 色5月婷婷| 九九热狼人| 538在线精品| 国产精品五月天婷婷| www.99热在线观看| 97色碰碰公开视频| 婷婷久久综合久| 婷婷九月丁香| 色婷婷综合五月| 91精品国产日韩91久久久久久国模| 99精品热| 91视频一起草| 久热这里只有精品66| 国产视频福利| 人碰人人人玩91| 99人人干| 97人人搞| 五月激激激情综合网| 五月婷婷视频啪啪美女| 玖玖爱资源站| 国产成人在线不卡AV| 亚洲电影在线观看| 91九色网| 婷婷五月天AV| 色欲天天综合| 久久五月天色婷婷| 国产精品热搜丁香五月婷婷| 色情五月天小说| 日本色图综合| 久久狠婷婷| 4438全国最大视频成人网站在线观看 | 亚洲精品**不卡在线播he| 五月激情六月综合| 久久久精品AV| 久久狠狠干| 涩涩涩五月天| 99re8在这里只有精品| α久久| 天天日日人| 五月婷婷丁香啪啪| 九九色图| 天天骑日日爽| 色狠狠五月天| 激情婷婷久久| 91人妻人人操人人爽| 操婷婷基地| 五月婷婷,六月婷婷| 激情综合网激情五月婷婷| 开心五月深爱五月婷| 九九黄色网| 色吧五月| 狠狠色丁香久久久婷| WWW,五月天| 丁香五月色情| 五月婷婷xxx| 日韩欧美一区二区三区四区| 五月婷婷成人网首页| 日韩无码一区二区三区四区| 婷婷大美在线| 九九九午夜影院成人| 婷婷玉月丁香五月在线视频| 亚洲九九九九| 丁香五月婷婷激情蜜桃| 色色AV色色色东莞| 久久五月激情综合| 91chinese在线| 六月婷婷激情| 内射在线CHINESE| 懂色av粉嫩AV蜜臀AV| 九 九九九AV| 欧美三级视频下载| 日韩操人| 激情开心五月婷婷| 99热一本| 激情综合区| 夜夜骑日日操| 伊人色综在线| 婷婷99中文字幕| 婷婷色五月天在线| 激情性爱五月天网页| 久久99草五月婷婷| 色播五月丁香综合| 无码人妻激情| 噜色精品| 亚洲婷婷五月天| 亚洲另类电影| 人妻激情久久| 亚洲综合另类| 五月激激网w'w'w| 丁香六月天堂| 婷婷成人综合| 超碰在线日夜| 丁香五月色五月| 色综合色综合色综合高潮| 99久久大片| 操91| 北条麻妃伊人 | 激婷网| 色噜噜夜夜夜综合网| 99热 这里只有精品 国产 日韩| 婷婷五月天亚洲综合网| 五月色综合| 国产成人精品一区二三区熟女在线| 伊人在线另类| 激情五月黄色小说| 天天草天天摸| 国产美女无遮挡裸体毛片A片| 丁香五月天激情四射网络不好| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 色婷六月| 成人狠狠成人狠狠成人狠狠成人狠狠| 日本天天色| 亚洲V国产V欧美V久久久久久| 亚洲婷婷丁香五月| 欧美色骚婷婷五月天| www.久久99热地址发布| 情欲禁地| 日日噜人人人做人| 婷婷五月天综合在线| 日本强伦片中文字幕免费看| 成年人夜夜喷水| 一本道综合网| 日本久久高清| AV六月丁香| 五月婷综合性中心| 九九热免费| 色色色地址| 蜜乳中文字| 亚洲精品V天堂中文字幕| 日本99在线| 五月丁香六月欧美综合网站| 中文字幕在线免费看线人| 久久99精品视频| 99.N在线视频| 精品九九婷婷| 天天操综合网站| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 丁香密臀AV激情网| 亚洲精品小视频| 色色五月婷| av在线免费网站| 色综合久久88色综合天天| 99精在线| 另类图片天天影视在线观看| 99热最新精品| 久久99精品日本| 欧美草久久五月天91| 国产人妻777人伦精品HD| 色色色色热热| 色丁香五月婷婷| 综合婷婷久久| 欧美婷婷| 激情五月丁香五月| 五月婷婷婷婷| 91chinese在线| 婷婷导航| aⅤ79成人片| 天干夜夜操| 97人人操人人爽| 久久99热这里只有精品| 成片免费播放| 97亚洲婷婷| 操操自拍| 人妻精品在线| 丁香色五月直播| 久久综合丁香激情五月| 丁香婷婷六月婷婷六月婷婷六月婷婷| 超碰人人操在线| 色色操| 婷婷免费视频| 五月丁香六月婷婷免费| 亚洲欧洲中文日韩久久AV乱码| 国产探花AV在线| 大香焦啪啪啪| 天天干天天操天天拍| 日本三日本三级少妇三级66| 丁香 久久| 丁香五月激情网| 91九色国产| 色色色综合视频| 国产黄大片在线观看画质优化| 色情一区二区播放| 久久五月天 91| 日韩人妻无码精品| 99亚洲精品视频在线观看| 丰满女老板BD高清A片| 久久午夜理论| 99丁香五月婷婷在线| 狠狠五月激情丁香六月| 六月色日韩| 成人做爰高潮A片免费视频| 婷婷五月天婷婷| 色婷婷影视99| 九九久久网| 天天摸,天天爽| 色情激情五月婷婷| 亚洲人妻Av| 婷婷在线操| 涩涩激情五月婷婷| 激情小说五月天| 激情综合五月.....| 999九九九久久久99HD| 综合激情在线视频| 色 五月俺去也| 综合五月丁香97| 色丁香五月婷婷| 五月婷婷五月天亚洲无码| 美欧日韩国产成人在战| 久久性视频| 色色AV色色色东莞| 6月丁香婷婷| 久久久久五月丁香| 五月激情偷拍| 天天做天天摸| 99精品久久| 五月黄色婷婷| 激情五月天综合| 五月天啪啪| 99色在线观看| 欧美熟妇一区二区三区| 狠狠狠狠狠狠| 五月婷婷激情综合| 国产色色网站网址| 婷婷97碰碰| 中国操逼99| 九月婷婷| 五月天 另类图片| 天天综合久久| 最新av在线观看| 97五月婷| 欧美三级A做爰在线观看| 99久久五月婷婷| 丁香婷婷五月六月天| 91天堂网综合| 国内自拍97在线| 日日干夜夜干| 亚洲中文av| 五月丁香六月婷婷在线观看| 婷婷综合成人五月天| 六月婷婷天天操夜夜爽视频| 亚洲综合碰| 国产日产亚系列精品版优势| 五月天桃色深爱网| 狠狠干在线| 另类A片| 久久久亚洲成人无码A片| 婷婷丁香五月综合| 婷婷丁香五月麻豆| 激情四射婷婷| 五月丁香色六月激情干大屄| www开心激情网| 激情五月综合视频| 中海油常州环保涂料有限公司| 色 噜噜 九月 婷婷| www.色色色com| 色婷婷av在线观看| 超碰成人免费| 色九月| 婷婷久久综合久| 天天干夜夜谢| 亚洲第一精品成人999久久精品| 天天日天天操天天干| 婷婷六月丁香在线| 亚洲丁香婷婷五月天综合色| 五月丁香av中文| 九九久久五月天| 91免费看片| 五月婷在线影院| 大香蕉大香蕉在线影院| 狠狠se| 久久久精品99| 伊人五月天97| 91色干| 久青操| 91色逼| 欧美一级色| 性爱综合网| 婷婷97狠狠干| 人妻性爱| 99热最新网址| 日本va视频| 日本操逼九九九九58日本操逼| 亚洲五月天伊人| wwccc久久久| 狠狠五月天激情| 99热精地址| 五月天六月婷婷| 性色天| 色综合婷婷| 九九Av| 国产精品涩涩涩视频网站| 精品一二三区久久AAA片 | 噜噜干日本| 精品久色| 激情五月天综合图片小说网站| 手机激情网| 人人草人人爱手机视频看看 | 亚洲综合网 665566| 婷婷五月天激情小说| 伊人久久艹| 欧美色男人网站| 91久草五月天婷婷| 在线观看免费狠狠色丁香香综合| 日韩九九视频| 99这里只有精品视频在线| 操丝袜视频影院导航| 17.c黄色| 五月激情综合网| 色99色| 午夜69成人做爰视频| 天天日P天天射P| 婷婷激情视频| 思思热思在线精品视频| 久久九九99亚洲国产久精综合| 热99在线| 91超级碰碰碰| 夜色五月天| 香蕉网久久| 天堂爱爱| 五月婷婷第四色| 亚洲综合五月天| 香蕉曰比| 99色天堂| 亚洲视频图片婷婷五月| 婷婷的99视频网站| 亚洲精品一二三| 色色色在线观看| 六月丁香婷啪射| 思思热在线视频精品| 久热大香蕉| 九日日夜夜69| 婷婷丁香社区网| 玖玖热视频| 欧美性爱五月天| 九九久久污| 丁香婷婷综合精品六月初| 这里只有精品1| 激情丁香五月| 吊色AV男人的天堂| 99色最新在线视频| www.色婷婷.com| 丁香五月在线视频黑人| 天天做天天爱天天玩| 久久人妻少妇嫩草AV| 九九综舍久久| 精品草原久久视频| 日本天天操| aaa久久| 天天爽天天草| 久热这里| 成人AV免费观看| 五月婷婷久草在线视频综合| a在线观看| www91在线| 丁香五月综合在线观看| 九九亚洲| 中文字幕在线日亚洲9| 免费视频99| 91蝌蚪窝视频在线| 人人色性网| 婷婷色中文字幕| 婷婷 伊人 久久| 丁香五月综合在线播放 | 超碰v| 五月天色色网站| 色色五月婷婷久久| 丝袜熟女一区二区三区| 五月天四色房丁香| 激情五月综合网| 久久综合中文| 996er热| 婷婷影院欧美| 婷婷五月天精品| 精品爱欲五| 人人色性网| 99re思思热久久| 国产精品久久久久久白浆色欲| 婷婷综合一二三| 91av色色乱视频| 久久五月婷综合| 亚洲日韩26uuu| 国产又色又爽又黄又免费| 五月6香色婷婷视频| 亚洲AV免费在线| 激情久久综合| 五月丁香激情综合久久| 狠狠久综合| 综合激情站| 丁香六月婷婷色播| 91凹凸在线| 9精品视频在线| 综合久久久| 久久人人看| av在线资源| 开心六月婷| 六月婷婷五月天| 亚洲国产精品五月天| 久99视频| 天天噜天天爱| 日韩野外 无套| 伍月婷丁香花全集| 五月婷婷综合天天操| 亚洲这里只有精品| 色五月大香蕉婷婷| 丁香九月婷| 天天五月丁香五月| 色色99| 日本在线噜噜| 色综合网页| 色五月av| 久婷婷婷| www.色五月| 五月婷丁香亚洲| 九色亚洲| 激情无码网| AV在线大香蕉| www.狠狠操| 欧美成人精品老美女噜噜噜| 天天日日| 久热91精品| 五月丁香激情综合网| 免费视频无码| 久久久性爱视频| 日本婷久久| 噼里啪啦在线观看免费完整版视频| 丁香六月亚洲| WWW久久99久久99久久| 91九色中文| 久久狠狠欧美| 香蕉久日夜| 99视频只有精品| 噜噜噜噜婷婷五月天| 琪琪布丁香社区激情五月天| 五月婷婷丁香在线| 大香蕉婷婷| 青青草视频免费观看| 九九99一区| 色噜噜婷婷| 天堂伊人干| 另类A片| 99.色| 99熟女啪啪视频| 国产精品天天狠天天看| 欧美成人网99网| 久久五月天婷婷| 9精品国产在热久久| 国产白丝在线一区| 色五月在线| 九月丁香欧美综合| 粉嫩AV久久一区二区三区| 激情综合一| 中文人妻主播久久| 久色激情| 97 天堂| 97色97干| www.丁香五月| 成人短视频在线观看| 五月婷婷综合在线视频| 97久久超碰| 俺去也综合| 操逼在线视频| 久久综合爱| www.久久久久久久久久.com| 九九色热| 日日操日日撸| 激情五月视频| 色色色在线免费视频| 五月丁香色婷婷色| 久久精品永久免费| 五月激情日本在线| 性爱网六月丁香| 色和综合网| 欧美日韩成人在线| 超碰人人干| 另类五月激情| 色丁香五月婷婷婷| 99热1| 色九综合| 日本激情综合| 嫩草AV久久伊人妇女超级A| 天天天天天日| 99这里有精品| 丁香五月成人社区| 国产精品A片| 五月天第四色开心色播| 五月婷精品| 九月综合| 丁香婷婷综合色五月激情国产基地| 免费视频在线观看的网站| 久久婷婷伊人| 91色在线/日韩| 大香蕉久久婷婷精品综合| 热99热9| 亚洲色色色色| 激情五月色综合国产精品| 开心久久五月天| 99热在线爱| 六月丁香花婷婷| 六月婷婷av| 香蕉国产2013| 欧美婷婷日本| 色五月激情综合| 婷婷五月精品中文字幕| 人橾人| 中文av在线观看| 久热久re| 丁香六月欧美| 日本九九九九九九| 激情五月婷黄版| 激情五月婷婷她| 一区三区视频有限公司| 9 99免费视频| 久久精品系列| 超碰9| 婷婷五月天成人| 亚洲中文字幕AV| 久热视频A.| 开心婷婷五月天电影院| 亚洲亚洲人成综合网络| 亚洲精品国产A久久久久久| 色五月丁香com| 丁香,开心成人,久久| 97成人丁香| 涩 五月 婷婷 狠狠| 丁香六月激情| 五月婷婷婷丁香播| 综合久久综合久久| 综合网五月| 激情婷婷五月天| 在线成人va| 99日视频在线| 91碰| 六月婷婷俺也去| 无码G高清天| 五月丁香做爱视频| 婷婷色综合av| 婷婷色情网| 99久久综合| 五月丁香婷婷狠狠操| 91九九热| 超碰人人操人人干| 色婷婷丁香五月天在线视频 | 开心五月天激情| 五月婷婷亚洲色视频| 欧美精品啪啪| 91性高潮久久久久久久久| av一级棒av| 月丁香久久久| 日韩啪啪视频| 欧美亚洲操逼| xx久久| 开心五月天激情网| 色色综合网。| 五月天久久婷婷| 欧美噜一噜| 激情色色色| 91热爆在线| 伊人成综合五月婷婷| 91黄址| 天天擼久久擼在线| 综合99综合久久久久久久| 九久9精品| www. 五月. com| 久热这里只有精品6官网亚洲| 丁香五月天激情小说| 色婷婷免费视频| 精品少妇人妻AV无码专区偷人| 激情精品久久| 五月丁香婷婷色| 九九热这里只有精品在线观看| 91精品久久久久久77777| 禁欲电影完整版在线播放| 色婷婷综合影院| 五月天开心网| 久久色五月| 天天射网站| 丁香五月大香蕉AV| 99热国内| 91人操人人人操人| 玖玖爱伊人网| 色女人久久| 五月婷婷丁香在线视频| 伊人啪啪网| 婷婷丁香社区| 婷婷五月天天| 操碰91| 婷婷丁香五月天熟女丝袜| 天天综合干| 免费黄色AV| 禁片二区| 五月天婷婷青青| 玖玖在线视频| 日本少妇AA一级特黄大片| 色播五月丁香婷婷| 日日夜夜婷婷| 色婷婷影音| 五月婷婷激清网| 婷婷五月天网| 91九色在线| 丁香午夜天| 超碰99热精品在线| 国产色色网站网址| 另类激情五月| 综合超碰熟| 婷婷视频在线| 久久精品国产AV一区二区三区 | 激情丁香九九五月综合网| 欧美成人性爱网| 玖玖99婷婷| 激情五月天婷婷免费观看| 综合AV在线| …亚洲黄色在线播放日韩、av中文a…| 亚洲综合婷婷六月丁香五月| 五月婷婷丁香| 色情婷婷| 婷婷五月情| 日韩AV在线电影| 五月丁香激情深爱婷婷| AA片在线观看视频在线播放| 亚洲色涩视频| 婷婷五月天激情综合| 欧美日韩国产伦精品日韩人妻一| 99er精品视频| 日本天堂网站99| 成人网丁香五月| 国产成人精品一区二区三区视频| 九九成人高清视频| 综合五月婷婷| 久久三级视频| 色五月婷婷丁香五月| 91狠狠综合久久| 欧美 日韩 成人在线| 免费啪啪亚州视频| 另类综合激情| 91热在线| 久99久在线| 激情色色| 九月婷婷综合八月丁香在线观看| 日日.c|