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

ARTICLE DETAIL

資訊詳情

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

MediaPipe手勢數(shù)字識別實(shí)戰(zhàn):關(guān)鍵點(diǎn)特征與分類器構(gòu)建

MediaPipe手勢數(shù)字識別實(shí)戰(zhàn):關(guān)鍵點(diǎn)特征與分類器構(gòu)建 簡介基于Python與Mediapipe的手勢數(shù)字識別項(xiàng)目源碼是面向計(jì)算機(jī)視覺及機(jī)器學(xué)習(xí)初學(xué)者的完整實(shí)現(xiàn)涵蓋手部追蹤、關(guān)鍵點(diǎn)提取、模型推理與實(shí)時(shí)顯示等環(huán)節(jié)。資源包共3個(gè)文件含兩個(gè)py腳本和一個(gè)md說明文檔一個(gè)腳本將Mediapipe手部關(guān)鍵點(diǎn)檢測邏輯封裝為可復(fù)用模塊另一個(gè)主程序負(fù)責(zé)啟動(dòng)攝像頭、調(diào)用模型并輸出數(shù)字結(jié)果說明文檔則提供項(xiàng)目介紹、安裝步驟和運(yùn)行指南整體壓縮包僅3KB結(jié)構(gòu)簡潔清晰。已有416人學(xué)習(xí)下載。該項(xiàng)目的學(xué)習(xí)價(jià)值不止于代碼本身還體現(xiàn)在對Mediapipe框架原理、手部關(guān)鍵點(diǎn)特征工程如關(guān)節(jié)間距、幾何角度以及支持向量機(jī)、隨機(jī)森林或CNN等機(jī)器學(xué)習(xí)模型訓(xùn)練與調(diào)優(yōu)思路的完整梳理。適合用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)或快速搭建實(shí)時(shí)手勢交互演示是一份輕量且可直接運(yùn)行的入門參考。1. 手勢數(shù)字識別為什么用 mediapipe 而不是自己訓(xùn)一個(gè)模型很多拿到“python 基于 mediapipe 實(shí)現(xiàn)手勢數(shù)字識別機(jī)器學(xué)習(xí)項(xiàng)目源碼.zip”這類壓縮包的同學(xué)第一反應(yīng)是打開里面的模型文件想看看網(wǎng)絡(luò)結(jié)構(gòu)。我的建議正好相反先別碰模型把手部關(guān)鍵點(diǎn)hand landmark這一步吃透。mediapipe 已經(jīng)把“手在哪、關(guān)節(jié)怎么排”這個(gè)最臟最累的活做完了你要解決的其實(shí)是剩下的特征工程和分類決策。這個(gè)標(biāo)題對應(yīng)的方案核心價(jià)值不在訓(xùn)練一個(gè)多深的神經(jīng)網(wǎng)絡(luò)而是用 python 把開源檢測模型、數(shù)據(jù)預(yù)處理和輕量分類器串成一個(gè)實(shí)時(shí)可跑的手勢數(shù)字識別 demo。它能解決的是攝像頭前伸出一只手實(shí)時(shí)告訴你這是 0 到 9 中的哪個(gè)數(shù)字。適合課程設(shè)計(jì)、自動(dòng)化答辯演示、以及掏出來就能用的個(gè)人小工具。接下來我按拿到源碼后真正要走的流程講先看 mediapipe 到底給了你什么怎么把環(huán)境跑通特征怎么做數(shù)據(jù)怎么采以及最容易被忽略的五個(gè)坑。2. 看源碼前先立住模型認(rèn)知mediapipe 手勢方案不是黑匣子它有邊界2.1 從 palm detection 到 hand landmark一個(gè)模型解決兩個(gè)問題MediaPipe Hands 不是一個(gè)端到端的“手勢分類器”它內(nèi)部是一條兩段式管線第一段用 palm detection 在整張圖上找手掌區(qū)域第二段把找到的區(qū)域送進(jìn) hand landmark 模型回歸出 21 個(gè)手部關(guān)鍵點(diǎn)。為什么要拆成兩段因?yàn)槿耸质且粋€(gè)可以在畫面里平移、旋轉(zhuǎn)、遠(yuǎn)近變化的剛性目標(biāo)。直接在全圖上回歸 21 個(gè)點(diǎn)模型要同時(shí)應(yīng)付“找手”和“找關(guān)節(jié)”兩個(gè)任務(wù)精度和速度都吃虧。先定位手掌相當(dāng)于給第二階段一個(gè)準(zhǔn)確的 region proposal后面只需要在裁剪區(qū)域里做回歸難度大幅下降速度也更快。另一個(gè)值得注意的點(diǎn)在視頻流里palm detection 并不是每幀都跑。mediapipe 會(huì)先做一次檢測之后每幀用 hand landmark 模型跟蹤關(guān)鍵點(diǎn)只有跟蹤丟了才重新檢測。這個(gè)機(jī)制直接決定了源碼里static_image_mode參數(shù)怎么設(shè)置也決定了為什么手短暫出畫再回來畫面還能接得上。所以拿到源碼先別急著跑找到Hands(...)的初始化位置看看傳入的是static_image_modeTrue還是False。前者適合單張圖片后者適合視頻流選錯(cuò)模式會(huì)帶來兩種完全不同的體驗(yàn)圖片模式每幀都做全圖檢測視頻里就會(huì)明顯變卡視頻模式拿靜態(tài)圖一張張喂反而會(huì)因?yàn)槿鄙龠B續(xù)幀信息而丟手。2.2 為什么只回傳 21 個(gè)關(guān)鍵點(diǎn)數(shù)據(jù)簡化才是它適合輕量落地的本質(zhì)21 個(gè)關(guān)鍵點(diǎn)意味著什么一只手從自由度極高的連續(xù)曲面被壓成了 21 個(gè)離散錨點(diǎn)。每個(gè)點(diǎn)帶 x、y、z 三個(gè)值x 和 y 是相對圖像寬高的歸一化坐標(biāo)范圍在 0 到 1 之間z 是相對腕關(guān)節(jié)的深度不是真實(shí)相機(jī)距離而且不同手型下量級差異很大。這里建議先熟悉一張索引表后面做特征工程全靠它手指指尖點(diǎn)索引根部參考點(diǎn)拇指42 / 1食指85中指129無名指1613小指2017寫一段最基礎(chǔ)的代碼把當(dāng)前幀的 21 個(gè)點(diǎn)打印出來確認(rèn)拿到的數(shù)據(jù)長什么樣import mediapipe as mp hands mp.solutions.hands.Hands( static_image_modeFalse, # 視頻流場景必須用 False會(huì)復(fù)用上一幀跟蹤結(jié)果加速 max_num_hands1, # 先只識別一只手減少耗時(shí) min_detection_confidence0.5, min_tracking_confidence0.5, ) def print_landmarks(image_rgb): results hands.process(image_rgb) if not results.multi_hand_landmarks: print(no hand) return for lm in results.multi_hand_landmarks[0].landmark: print(round(lm.x, 4), round(lm.y, 4), round(lm.z, 4))這段代碼的邏輯很簡單傳入一幀 RGB 圖像mediapipe 返回手部關(guān)鍵點(diǎn)列表每個(gè)點(diǎn)分別是 x、y、z。注意lm.x和lm.y不是像素坐標(biāo)而是歸一化坐標(biāo)后續(xù)要轉(zhuǎn)回像素必須乘當(dāng)前幀的寬和高很多新手就是栽在這里畫出來的點(diǎn)全擠在畫面左上角。數(shù)據(jù)簡化到這種程度最大的收益是后續(xù)機(jī)器學(xué)習(xí)建模變得非常輕。你不用處理紋理、光照、背景這些對 CNN 影響巨大的因素只需要在 63 維坐標(biāo)上做文章。這也是為什么這類源碼里幾乎不會(huì)真的訓(xùn)練一個(gè)深度網(wǎng)絡(luò)邏輯回歸、隨機(jī)森林甚至簡單規(guī)則就夠了。2.3 數(shù)字識別不靠端到端規(guī)則、經(jīng)典分類器與特征表達(dá)的取舍明確了輸入是 21 個(gè)關(guān)鍵點(diǎn)之后下一個(gè)問題是怎么從關(guān)鍵點(diǎn)得到“這是數(shù)字幾”。常見做法有三類源碼包里大概率是其中一種方案代碼量新動(dòng)作擴(kuò)展性適用場景純規(guī)則閾值少幾十行差每個(gè)數(shù)字要單獨(dú)定規(guī)則只識別 0 到 5實(shí)時(shí)性要求極高邏輯回歸 / 隨機(jī)森林中特征提取加訓(xùn)練中換數(shù)字需重新采數(shù)據(jù)固定數(shù)字集合本標(biāo)題場景端到端 CNN大需要大量標(biāo)注數(shù)據(jù)好但成本太高關(guān)鍵點(diǎn)檢測不可靠的復(fù)雜場景我自己的選擇是第二種。純規(guī)則看起來簡單但真實(shí)攝像頭下手指彎曲程度千奇百怪一個(gè)閾值很難覆蓋不同手型和遠(yuǎn)近端到端 CNN 在這個(gè)任務(wù)里屬于殺雞用牛刀而且數(shù)據(jù)量根本喂不飽。邏輯回歸配合好的特征在這個(gè)任務(wù)上精度已經(jīng)完全夠用。真正拉開效果差距的是特征工程怎么做。原始坐標(biāo)直接丟給分類器也能跑但手在畫面里的位置一動(dòng)、離攝像頭遠(yuǎn)近一變坐標(biāo)整體就變了分類器就會(huì)犯迷糊。所以下一步必須做歸一化和角度特征這也是整個(gè)源碼里最值得細(xì)讀的部分。3. 把源碼跑起來環(huán)境搭建、推理腳本與數(shù)據(jù)流這四件事先做對3.1 先從 zip 里的源碼倒推 dependencies用 uv 還是 pip 安裝解壓源碼包之后第一步是看目錄結(jié)構(gòu)。通常能看到main.py、train.py、data/、models/這類常見布局。如果壓縮包里帶了requirements.txt直接用 pip 安裝如果沒帶pip 安裝這四件套基本能覆蓋絕大多數(shù)情況unzip 一個(gè)python基于mediapipe實(shí)現(xiàn)手勢數(shù)字識別機(jī)器學(xué)習(xí)項(xiàng)目源碼.zip -d hand_digits cd hand_digits # 創(chuàng)建虛擬環(huán)境避免污染系統(tǒng) Python python -m venv .venv source .venv/bin/activate # Windows 用 .venv\Scripts\activate pip install --upgrade pip pip install mediapipe opencv-python numpy scikit-learn為什么專門用虛擬環(huán)境因?yàn)?mediapipe 對 numpy、opencv 的版本比較挑系統(tǒng)里如果已經(jīng)裝了別的版本很可能出現(xiàn)module has no attribute這類讓人摸不著頭腦的錯(cuò)誤。虛擬環(huán)境相當(dāng)于給這個(gè)項(xiàng)目一個(gè)后悔藥裝壞了直接刪掉重建不影響其他工作。如果你用的 Python 版本很新比如 3.12 以上安裝 mediapipe 時(shí)可能會(huì)找不到對應(yīng) wheel。這是常見的翻車點(diǎn)我一般會(huì)先降到 3.9 或 3.10等所有依賴裝好了再考慮升級。這一步不做后面每跑一步都要和依賴搏斗非常影響心情。3.2 最小推理腳本讀攝像頭、取手部關(guān)鍵點(diǎn)、打印坐標(biāo)裝好依賴后先不要碰源碼里的業(yè)務(wù)邏輯自己寫一個(gè)最小腳本驗(yàn)證 whole pipeline 是通的。下面這段代碼能打開攝像頭、檢測手、畫關(guān)鍵點(diǎn)是整個(gè)項(xiàng)目能跑起來的最小閉環(huán)import cv2 import mediapipe as mp mp_hands mp.solutions.hands mp_draw mp.solutions.drawing_utils hands mp_hands.Hands( static_image_modeFalse, max_num_hands1, min_detection_confidence0.5, min_tracking_confidence0.5, ) cap cv2.VideoCapture(0) while cap.isOpened(): ok, frame cap.read() if not ok: break # 鏡面翻轉(zhuǎn)讓畫面方向和屏幕一致 frame cv2.flip(frame, 1) rgb cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) results hands.process(rgb) if results.multi_hand_landmarks: for hand in results.multi_hand_landmarks: # 歸一化坐標(biāo)轉(zhuǎn)回像素坐標(biāo)用于繪圖 h, w, _ frame.shape for idx, lm in enumerate(hand.landmark): cx, cy int(lm.x * w), int(lm.y * h) cv2.circle(frame, (cx, cy), 3, (0, 255, 0), -1) mp_draw.draw_landmarks(frame, hand, mp_hands.HAND_CONNECTIONS) cv2.imshow(hand tracking, frame) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()這段代碼里有兩個(gè)參數(shù)值得專研。第一個(gè)是min_detection_confidence當(dāng)手部檢測置信度低于 0.5 時(shí)就認(rèn)為沒有手調(diào)大能減少誤檢但會(huì)丟手第二個(gè)是min_tracking_confidence控制跟蹤階段的閾值調(diào)得太高手離開畫面后很難快速找回。后續(xù)做數(shù)字識別時(shí)這兩個(gè)參數(shù)幾乎是必調(diào)的但它們之間沒有絕對最優(yōu)解得配合你的攝像頭環(huán)境。另一個(gè)關(guān)鍵是cv2.flip(frame, 1)。攝像頭出來的畫面默認(rèn)是鏡像的如果不翻轉(zhuǎn)你伸出左手屏幕里看到的卻是右手后面做左右手判定或者畫坐標(biāo)系時(shí)很容易被繞進(jìn)去。3.3 特征工程一靜態(tài)數(shù)字用歸一化坐標(biāo)別用原始像素跑通了攝像頭下一步就是把 landmark 變成能喂給分類器的特征。你可能會(huì)問機(jī)器學(xué)習(xí)中的數(shù)據(jù)處理是什么這段就是答案不是洗數(shù)據(jù)而是把坐標(biāo)換到不隨手的位置、大小變化的參考系。手在畫面里忽左忽右、忽遠(yuǎn)忽近原始像素坐標(biāo)的絕對數(shù)值變化巨大分類器會(huì)把這些變化當(dāng)作有效信息去學(xué)習(xí)結(jié)果就是同一只手換個(gè)位置就識別錯(cuò)。標(biāo)準(zhǔn)做法是以腕關(guān)節(jié)作為原點(diǎn)做相對歸一化import numpy as np def normalize_by_wrist(landmarks): # landmarks: 21 個(gè)關(guān)鍵點(diǎn)每個(gè)點(diǎn)帶 x, y, z pts np.array([[lm.x, lm.y, lm.z] for lm in landmarks]) wrist pts[0] # 0 號點(diǎn)是腕關(guān)節(jié) pts pts - wrist # 以腕關(guān)節(jié)為原點(diǎn) scale np.max(np.linalg.norm(pts, axis1)) 1e-6 pts pts / scale # 尺度歸一化抵消手離攝像頭遠(yuǎn)近的影響 return pts.flatten() # 轉(zhuǎn)成 63 維向量這里用np.linalg.norm算每個(gè)點(diǎn)到腕關(guān)節(jié)的距離取最大值作為尺度因子。這樣做的好處是手靠近攝像頭時(shí)整體坐標(biāo)變大除以這個(gè)尺度后又被拉回來分類器看到的特征相對穩(wěn)定。1e-6是防分母為零的保險(xiǎn)鏡頭前沒手時(shí)不會(huì)調(diào)用這個(gè)函數(shù)但萬一某幀坐標(biāo)全為 0不至于直接除零崩潰。注意一個(gè)邊界這個(gè)歸一化假設(shè)手腕是整只手的固定點(diǎn)。實(shí)際做數(shù)字手勢時(shí)手腕確實(shí)不怎么動(dòng)但如果你想識別包含手腕大幅度旋轉(zhuǎn)的動(dòng)作這個(gè)方案就不夠用了得換更復(fù)雜的對齊方式。3.4 特征工程二指尖夾角與幾何特征解決“比個(gè)耶”被誤判只做坐標(biāo)歸一化還不夠。數(shù)字 1 和 2 的手型非常接近一個(gè)只伸食指一個(gè)伸出食指和中指兩者原始坐標(biāo)的歐氏距離很小分類器很容易混淆。真正有區(qū)分度的特征是指尖夾角——用“指尖、中間關(guān)節(jié)、指根”三個(gè)點(diǎn)算出一個(gè)角度判斷手指伸得直不直。import math def angle_between(a, b, c): 計(jì)算以 b 為頂點(diǎn)向量 ba 和 bc 的夾角單位度 v1 (a[0] - b[0], a[1] - b[1]) v2 (c[0] - b[0], c[1] - b[1]) dot v1[0] * v2[0] v1[1] * v2[1] norm1 math.hypot(v1[0], v1[1]) norm2 math.hypot(v2[0], v2[1]) if norm1 0 or norm2 0: return 0.0 cos_theta max(-1.0, min(1.0, dot / (norm1 * norm2))) return math.degrees(math.acos(cos_theta))邏輯就是向量點(diǎn)積求余弦再轉(zhuǎn)角度。用中指舉例點(diǎn) 12 是指尖點(diǎn) 10 是中間關(guān)節(jié)點(diǎn) 9 是指根三點(diǎn)夾角越接近 180 度說明這根手指伸得越直越接近 90 度甚至更小說明手指是彎的。在實(shí)際特征拼接時(shí)我會(huì)對五根手指各取一組角度拇指用 4-2-1食指用 8-6-5中指用 12-10-9無名指用 16-14-13小指用 20-18-17得到 5 個(gè)角度值直接追加到歸一化坐標(biāo)后面。這樣特征從 63 維變成 68 維分類器區(qū)分 1 和 2、2 和 3 這類相近數(shù)字的能力會(huì)明顯提升。4. 讓數(shù)字識別從“能動(dòng)”到“可用”訓(xùn)練數(shù)據(jù)、后處理與實(shí)時(shí)性調(diào)優(yōu)4.1 自己錄一遍數(shù)據(jù)為什么通用手勢數(shù)據(jù)救不了你的攝像頭先回到機(jī)器學(xué)習(xí)應(yīng)用流程的第一環(huán)數(shù)據(jù)。有人會(huì)想既然 mediapipe 輸出的是抽象關(guān)鍵點(diǎn)那用公開手勢數(shù)據(jù)集訓(xùn)練不就行了理論上可以但實(shí)際效果往往很差。公開數(shù)據(jù)集里的攝像頭角度、手大小比例、光照和你本機(jī)完全不一致關(guān)鍵點(diǎn)坐標(biāo)分布也差很遠(yuǎn)。我見過太多人拿開源數(shù)據(jù)集訓(xùn)練指標(biāo)很漂亮一接自己攝像頭就翻車的情況。通用做法是自己花十分鐘錄一份數(shù)據(jù)。腳本不需要多復(fù)雜核心是讓每個(gè)數(shù)字都有足夠的樣本并且手部有輕微移動(dòng)、旋轉(zhuǎn)import cv2 import numpy as np label int(input(輸入當(dāng)前手勢數(shù)字0-9按回車開始采集)) features [] while len(features) 120: ok, frame cap.read() if not ok: continue frame cv2.flip(frame, 1) rgb cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) results hands.process(rgb) if results.multi_hand_landmarks: lm results.multi_hand_landmarks[0].landmark feat normalize_by_wrist(lm) # 3.3 節(jié)的坐標(biāo)歸一化 angle_feat extract_angles(lm) # 3.4 節(jié)的角度特征 features.append(np.hstack([feat, angle_feat])) print(f已采集 {len(features)} / 120) cv2.imshow(collect, frame) if cv2.waitKey(1) 0xFF ord(q): break np.save(fdata/{label}.npy, np.array(features))采集時(shí)注意控制數(shù)據(jù)質(zhì)量不要對著攝像頭一動(dòng)不動(dòng)那樣錄進(jìn)去的 120 幀幾乎是一模一樣的重復(fù)樣本模型學(xué)不到任何變化。正確做法是讓手輕微左右翻轉(zhuǎn)、前后移動(dòng)一點(diǎn)模擬真實(shí)使用時(shí)的狀態(tài)。每個(gè)數(shù)字 120 幀是我個(gè)人比較推薦的起點(diǎn)太少容易過擬合太多采集過程會(huì)讓人失去耐心。4.2 數(shù)據(jù)增強(qiáng)與類別均衡輕微旋轉(zhuǎn)、平移和縮放就夠了如果你的某個(gè)數(shù)字只采了五六十幀或者發(fā)現(xiàn)不同類別的樣本量差距很大可以在坐標(biāo)層面做增強(qiáng)。坐標(biāo)增強(qiáng)比圖像增強(qiáng)便宜得多不需要過 GPU直接在 numpy 數(shù)組上做變換就行def augment(points, rot0.1, shift0.02, scale_range(0.9, 1.1)): # points: (63,) 或 (68,) 的向量先還原成 (21, 3) 再做幾何變換 p points.reshape(21, 3).copy() # 繞 z 軸小角度旋轉(zhuǎn)模擬手腕轉(zhuǎn)動(dòng) theta np.random.uniform(-rot, rot) R np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]]) p[:, :2] p[:, :2] R.T # 輕微平移模擬手在畫面中位置變化 p[:, :2] np.random.uniform(-shift, shift, size2) # 隨機(jī)縮放模擬手離攝像頭遠(yuǎn)近變化 scale np.random.uniform(*scale_range) p * scale return p.flatten()參數(shù)選擇上旋轉(zhuǎn)幅度不要超過 0.1 弧度大概 6 度左右因?yàn)檎H俗鰯?shù)字手勢時(shí)手腕不會(huì)扭得特別夸張平移 0.02 對應(yīng)畫面寬度的 2%已經(jīng)能覆蓋日常位置抖動(dòng)縮放范圍 0.9 到 1.1相當(dāng)于手在攝像頭前不超過 10% 的距離變化。必須提醒一句坐標(biāo)增強(qiáng)做的是小擾動(dòng)不是把樣本變魔術(shù)。旋轉(zhuǎn) 30 度、平移半個(gè)畫面出來的樣本根本不符合真實(shí)手勢分布反而會(huì)把模型訓(xùn)壞。這步調(diào)參多少有點(diǎn)玄學(xué)但核心原則是“增強(qiáng)后的樣本仍然像一個(gè)真人在攝像頭前做手勢”。4.3 推理延遲的三個(gè)瓶頸模型載入、圖像縮放、每幀處理實(shí)時(shí)數(shù)字識別最怕的就是畫面卡頓。很多源碼 demo 跑起來只有十幾幀問題往往不在 mediapipe 模型本身而在數(shù)據(jù)流鏈路。第一個(gè)瓶頸是圖像分辨率。如果你的攝像頭默認(rèn)輸出 1080p每一幀要處理約 200 萬像素即使 mediapipe 內(nèi)部會(huì)縮放前處理開銷依然很大。常規(guī)做法是先resize到 640x480 再送入模型。第二個(gè)瓶頸是逐幀推理其實(shí)手勢在連續(xù)兩幀之間變化極小完全可以通過跳幀把推理頻率降下來。第三個(gè)瓶頸是顯示鏈路cv2.imshow本身在高分辨率下也會(huì)拖慢主循環(huán)。frame cv2.resize(frame, (640, 480)) frame_count 1 if frame_count % 2 0: # 偶數(shù)幀不做推理直接沿用上一幀的關(guān)鍵點(diǎn)結(jié)果 results last_results else: results hands.process(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) last_results results跳幀相當(dāng)于在延遲和平滑度之間做權(quán)衡。30fps 的視頻流下跳一幀引入的延遲大約 33 毫秒體感上基本無感但推理負(fù)載直接減半。如果跳幀后跟蹤容易丟可以把min_tracking_confidence適當(dāng)調(diào)高讓模型更依賴上一幀的幾何信息去接續(xù)。4.4 訓(xùn)練腳本與混淆矩陣認(rèn)真看哪些數(shù)字在互相打架數(shù)據(jù)采集和增強(qiáng)做完就可以訓(xùn)練分類器了。我用 Logistic Regression 而不是隨機(jī)森林因?yàn)檫壿嫽貧w的決策邊界更平滑在特征維度不高時(shí)不容易過擬合而且訓(xùn)練和推理都快。核心代碼from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.metrics import confusion_matrix # load_all_data 負(fù)責(zé)讀取 data/ 下所有 npy 文件返回特征矩陣和標(biāo)簽 X, y load_all_data(data) X_train, X_val, y_train, y_val train_test_split( X, y, test_size0.2, random_state42, stratifyy ) scaler StandardScaler().fit(X_train) X_train_scaled scaler.transform(X_train) X_val_scaled scaler.transform(X_val) clf LogisticRegression(max_iter500, C1.0) clf.fit(X_train_scaled, y_train) print(confusion_matrix(y_val, clf.predict(X_val_scaled)))邏輯說明StandardScaler把特征縮放到零均值單位方差邏輯回歸對特征尺度敏感這步不能省。stratifyy保證訓(xùn)練集和驗(yàn)證集的類別比例一致避免某個(gè)數(shù)字在驗(yàn)證集里恰好沒有樣本。C1.0是正則化強(qiáng)度的默認(rèn)值過擬合時(shí)調(diào)小欠擬合時(shí)調(diào)大?;煜仃嚨膬r(jià)值在于告訴你哪些數(shù)字在互打架。如果 3 和 8 頻繁互判說明這兩個(gè)手型的角度特征太接近這時(shí)候該做的不是盲目堆數(shù)據(jù)而是回去檢查特征設(shè)計(jì)如果 1 和 2 互判先確認(rèn)是否加了指尖角度特征只靠坐標(biāo)歸一化很難分開它們。5. 避坑與常見問題排查mediapipe 手勢識別最容易翻車的五個(gè)地方5.1 現(xiàn)象攝像頭能開但沒畫上手部連線攝像頭畫面正常但 imgshow 里始終沒有手部關(guān)鍵點(diǎn)連線或者畫出來的點(diǎn)全堆在畫面邊緣。原因最常見的是沒有做 BGR 到 RGB 的轉(zhuǎn)換。mediapipe 的Hands.process()要求輸入 RGB 圖像而 OpenCV 讀取視頻幀得到的是 BGR直接把 BGR 矩陣送進(jìn)去模型看到的顏色通道是反的關(guān)鍵點(diǎn)定位自然失敗。另一個(gè)原因是顯示用錯(cuò)了圖像你把轉(zhuǎn)換后的 RGB 圖像直接imshow顏色會(huì)整體偏藍(lán)。解決先打印results.multi_hand_landmarks如果一直是 None檢查cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)是否執(zhí)行然后確認(rèn)展示時(shí)用的是原始frameBGR而不是轉(zhuǎn)換后的rgb。mediapipe 只管推理不管顯示很多源碼在這兩行之間切換時(shí)搞混了。5.2 現(xiàn)象數(shù)字 1 和 2 頻繁互判怎么調(diào)都壓不下去識別結(jié)果在 1 和 2 之間來回跳尤其是手指微微彎曲時(shí)模型一會(huì)兒判成 1一會(huì)兒判成 2。原因手型太接近了。只伸食指和同時(shí)伸出食指、中指兩者在歸一化坐標(biāo)上的差異很小。如果只用了 63 維坐標(biāo)特征分類器很難找到一個(gè)穩(wěn)定的決策邊界。解決把指尖夾角特征加上用食指和中指的伸直程度作為區(qū)分依據(jù)。還可以在訓(xùn)練數(shù)據(jù)里專門加入一些“手指半彎”的樣本讓模型知道 1 和 2 的邊界在哪里。這里不建議直接調(diào)邏輯回歸的C值問題出在特征空間不是分類器復(fù)雜度。5.3 現(xiàn)象手一靠近攝像頭就亂跳手離攝像頭越近關(guān)鍵點(diǎn)位置就越不穩(wěn)定識別結(jié)果在幾個(gè)數(shù)字之間跳來跳去根本沒法用。原因手靠近時(shí)手掌在畫面里占的面積過大部分手指可能超出畫面邊緣landmark 模型只能靠猜測補(bǔ)全缺失關(guān)鍵點(diǎn)。同時(shí)近景下同一個(gè)關(guān)鍵點(diǎn)在相鄰幀之間的像素位移被放大任何微小抖動(dòng)都會(huì)被模型放大。解決把min_detection_confidence和min_tracking_confidence同時(shí)提到 0.6 到 0.7讓模型在置信度不夠時(shí)直接不輸出結(jié)果而不是硬給一個(gè)錯(cuò)誤預(yù)測。再加一層指數(shù)平滑讓關(guān)鍵點(diǎn)坐標(biāo)不會(huì)因?yàn)閱螏`差劇烈跳變smoothed smoothed * 0.7 current_point * 0.3平滑系數(shù) 0.7 表示更信任歷史值0.3 表示接受當(dāng)前值。系數(shù)越大越平滑但延遲越高實(shí)時(shí)場景里 0.7/0.3 是一個(gè)比較平衡的起點(diǎn)。這本質(zhì)上是拿延遲換平滑不可能完全消除代價(jià)。5.4 現(xiàn)象CPU 占用拉滿風(fēng)扇狂轉(zhuǎn)攝像頭一開CPU 占用率直接到 100%畫面幀率卻只有十幾幀。原因攝像頭默認(rèn)輸出 1080p每一幀都在全分辨率上跑推理。很多人忽略了resize覺得反正 mediapipe 內(nèi)部會(huì)處理但前處理的開銷是實(shí)打?qū)嵉?。再加上顯示窗口和主循環(huán)在同一線程加載一旦跟不上就開始掉幀。解決先resize到 640x480 再送process()這一步能省掉一大半計(jì)算量然后按 4.3 節(jié)的思路做跳幀如果還是不夠把推理單獨(dú)丟到一個(gè)線程里跑主線程只負(fù)責(zé)顯示結(jié)果。線程方案寫起來麻煩一點(diǎn)但這是樹莓派這類低功耗設(shè)備上能不能跑起來的決定性因素。5.5 現(xiàn)象模型自己玩得轉(zhuǎn)一換電腦就出錯(cuò)同一個(gè)項(xiàng)目在自己電腦上跑得好好的換一臺電腦裝完依賴就報(bào)錯(cuò)比如 numpy 版本沖突、cv2 屬性找不到。原因依賴沒有被鎖定。源碼包里只寫了pip install mediapipe沒鎖版本換電腦時(shí)裝到的是最新版而最新版往往和舊代碼不兼容。mediapipe 版本一升API 參數(shù)名變了opencv 版本一升某些圖像處理函數(shù)的返回值類型變了。解決把requirements.txt中每個(gè)包的版本寫死比如mediapipe0.10.x、numpy1.24.x。這個(gè)操作看起來不起眼但能避免你花半天時(shí)間排查一個(gè)根本不是自己代碼的問題。我一般還會(huì)在項(xiàng)目根目錄放一個(gè)setup_env.sh把建環(huán)境、裝依賴、驗(yàn)證攝像頭三步都寫進(jìn)去換機(jī)器后一鍵執(zhí)行。6. 最后一層包裝把單幀識別結(jié)果變成時(shí)間序列輸出單幀分類的結(jié)果出現(xiàn)偶發(fā)抖動(dòng)是靠調(diào)參消不掉的因?yàn)閿z像頭輸入本身有噪聲手再穩(wěn)也會(huì)有微米級的位移。與其和每一幀死磕不如換一個(gè)思路把“當(dāng)前顯示什么數(shù)字”當(dāng)成一個(gè)時(shí)間序列問題用滑動(dòng)窗口做多數(shù)表決。from collections import deque class VoteFilter: def __init__(self, window_size5): self.window deque(maxlenwindow_size) def push(self, pred): self.window.append(pred) # 返回窗口內(nèi)出現(xiàn)次數(shù)最多的類別 return max(set(self.window), keyself.window.count)用法很直接每一幀模型輸出一個(gè)預(yù)測結(jié)果不是立刻顯示而是先塞進(jìn)這個(gè)隊(duì)列然后取隊(duì)列里出現(xiàn)次數(shù)最多的數(shù)字當(dāng)作最終輸出。窗口大小 5 時(shí)大約引入 5 幀的延遲按 30fps 算不到 200 毫秒體感上可以接受如果你發(fā)現(xiàn)抖動(dòng)還是很明顯就把窗口加到 9代價(jià)是延遲接近 300 毫秒按下和出結(jié)果之間有明顯的遲鈍感。我還習(xí)慣讓這個(gè)過濾器額外承擔(dān)一個(gè)任務(wù)把手離開畫面時(shí)輸出一個(gè)特殊值而不是沿用上一個(gè)數(shù)字。否則手剛離開攝像頭分類器可能還會(huì)給出一個(gè)置信度很低的隨機(jī)預(yù)測再加上投票窗口的滯后作用屏幕上會(huì)停留一個(gè)明顯錯(cuò)誤的結(jié)果。我最早做手勢識別時(shí)被單幀忽大忽小的分類結(jié)果坑了很多次后來養(yǎng)成一個(gè)習(xí)慣先把單幀識別當(dāng)成一個(gè)信號再交給時(shí)間維度去糾偏。這個(gè)習(xí)慣改變的不只是識別率更是排查問題的思路——當(dāng)你不再糾結(jié)每一幀的對錯(cuò)而是看一段時(shí)間的輸出是否一致很多問題會(huì)自己浮出來。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99ri在线视频| 久久婷婷五月国产激情综合片| 影音先锋天天日| 五月丁香六月综合激情无码软件亮点| 日韩大片艹艹| 欧美性爱五月天| 亚洲人妻av| 欧美色色色| 婷婷操久久| 五月婷婷丁香狠狠撸久久| 久久久婷丁香五月| 久久激情网| 婷婷五月天777| 婷婷酒色网| 色五月综合在线| 久超超碰| 人妻五月天激情开心网| 九九性视频| www,色色色网站| 天天久久狠狠色综合| 狠狠色噜噜狠狠狠888| 99久久思思| 欧美久久久久久久久中文字幕| 激情五月综合网最新| 天天舔夜夜操www com| 婷婷综合玖玖五月| 六月成人网| 狠狠操天天干| 久久人妻伊人| 操日本人妻视频| 操比激情五月综合| 色婷综合| 六月婷婷毛片| 乱码操操| www.日本91| 色丁香影院| 日韩色色小视频| 性做爰1一7伦| 五月激情综合网| 26uuu亚洲欧美日本| 成人网址在线观看| 婷婷丁香九月| 色一情一乱一乱一区9| 亚洲熟妇AV乱码在线观看| 人人草开心五月天| 婷婷五月激情在线| 久久 这里只有精品1| 开心五月婷婷五月| 热99国产精品| 色综天天综合| 天天爽曰日爽| 天天插插天天| 久久人人九| 这里只有免费的精品| 亚洲综合五月天婷婷丁香| 亲子乱av一区二区三区的| 国产精品涩涩涩视频网站| 色色色在线观看| 天插天啪天啪天啪| 婷婷综合五月天激情| 婷婷丁香五另类网站| 射区导航| 亚洲99手机免费看视频| 久久久久网站| 最近韩国日本免费高清观看| 色九月婷婷| 日本99久久| 欧美日韩成人免费在线| 伊人久久大香网| 丁香五月手机在线| 我爱大香蕉| 亚洲综合另类| 六月婷婷最新网址| 亚洲性爱干干| 成人综合伍月天| 米奇影视五月天| 婷婷五月天改成什么了| 色色无码| 色婷婷精品视频| pom538精品视频| 99资源在线视频| 久久久久9久无码视频| 天天插天天插| 婷婷综合五月天| 成人短视频在线| 9久久精品| 色婷婷av综合网| 丁香五月婷婷Av| 蜜臀av 粉嫩av 懂色av | 婷婷五亚洲| 国产精品五月丁香| 国产在线黄色| 亚洲乱码精品久久久久.. | 五月天色欧美| 成人婷婷五月| 色激情五月天| 92国产福利| 五月天激情综合首页| 久久五月激情综合| 国语精品探花| 极品少妇高潮啪啪AV无码| 婷婷丁香五月在线观看91| 武则天精品久久| 五月天色婷婷视频| 狠狠操综合| 色在线99| 亚洲婷婷丁香五月| www.亚洲激情| 狠狠色婷婷| 懂色av粉嫩AV蜜臀AV| 99热大香蕉| 国产精品色色色色| 国产精品人成A片一区二区| 日韩久久日| 激情五月天天| 日本高清久| 热99久久这里只有精品| 国自产拍偷拍精品啪啪一区二区| 亚洲成人综合在线| 婷婷丁香五月高清| 岛国在线观看91| 99久久精| 五月婷婷开心网| 91久久免费| 草草视频91| 日日做天天操夜夜爽| 99视频网址| 99热传媒| 人人爱干人人爱草| 亚洲色五月天| 99热这里只有精品268| 色噜噜狠狠一区二区三区| 夜夜谢天天干| 综合欧美五月婷婷| 成人做爰A片免费看视频| 强伦轩人妻一区二区电影| www五月天激情com| 精品操逼一区二区| 99久久99热这里只有精品| 大香蕉久久| 五月停停999| 79精品视频在线观看,| 热久综合| 人妻精品一区二区三区| 97五月久久丁香婷婷| 五月天婷婷爱丁香中文字幕| 99综合网| 伍月婷婷六月丁香| 免费观看2018www黄色操逼网站| 久热只有这里精品| 国产激情在线观看| 日韩成人中文字幕| 丁香六月婷婷缴情欧美| 99精品视频免费在线播放| 久色资源| 97狠狠色| 五月大香蕉| 激情啪啪五月天| 九九久久综合| 色综合天天天天做夜夜| 成人网在线视频| 日日干日日| 国产一区18| 色色激情五月| 色婷婷五月天偷拍| 人人摸人人| www99热| 影音先锋天天日| 久久人人添人人爽添人人片αV| 蜜乳国产网站| 久9无码视频| 九九久久99精品免费观看www| 激情婷婷丁香五月天| 五月天啪啪啪| xxxx五月| 婷婷伊人五月丁香天堂网| 五月 激情视频| 色玖玖爱| 91精品91久久久久77777| 无月播播激情在线观看视频| 丁香六月婷婷开心| 久久久久久久,99精品视频| 亚洲99精品欧美一区| 亚洲性视频| 99综合网| 九九99热久久精品66中文字幕| 久久综合婷婷| 吾爱AV导航| 九九热中文| 蜘蛛女免费观看完整版高清电影| 狠狠色婷婷7777久综合| 91精品91久久久中77777| 色九网| 超碰av在线| WWW.桔色成人.COM| 99热精品在线观看| 丝袜人妻| 日本91在线播放| 五月婷婷在线视频观看| 99热在线中文字幕| 狠狠色婷婷丁香五月| 任你爽视频| 米奇激情婷婷| 97香蕉人人在线观看| 黄网在线播放| sewuyuejiqingwang| 1024在线视频| 五月丁香花成人社区| 丁香五月激情无码视频| 欧美日韩国产一区| 丝袜熟女一区二区三区| 图片区 小说区 区 亚洲五月| 26uuu成人网| 五月婷婷久久综合| 久一网站| ...婷婷五月综合不卡,国产在线手机| 97超碰,人人舔,人人操,人人摸| 五月天天天天天天天天天天天婷婷婷| 色色五月婷婷丁香| 婷婷丁香人妻久久在线观看| 97色婷婷成人综合在线观看| 日韩AV在线免费观看| seav天堂| 日韩国产在线精品| 色综合色| 人妻AV在线| 婷婷涩涩五月天| 九九99精品| 色久天| 色婷五月天网站| 亚洲思思热久| 丁香六月开心| 激情综合五月激情XXXX| 欧洲永久精品| 综合激情五月丁香9999久久精| 色99热| 超碰永久在线| www九月婷婷| 白人荫道BBWBBB大荫道| 四LLL少妇BBBB槡BBBB| 色婷婷丁香| 婷婷激情综合| WWW99热| 激情五月天综合网| 五月涩涩网| 久久综合网免费视频| www,8050,午夜三级| 丁香花五月天婷婷成人社区| 婷婷综合国产| www久久久久| 丁香五月久久社区| 五月天色色婷婷| 九九 激情 网| 婷婷色五月丁香六月欧美啪| 人妻射精AV| 丁香五月婷婷久久综合激情网| 热99精品视频五月| www.91.com处女在线直播| 日本69日人视频| 婷婷久久丁香五月| 99色色热| 欧美久久婷婷| 亚洲色夜| 久热婷婷| 九色视频九色九色91jiuseshipin| 久久精品99国产精品日本| 婷婷五月天97干| 亚洲正能量欧美| 日噜噜色| 日韩成人电影AV| 久久永久网址| 成年人看Va免费视频| 怡红院一二三| 色婷婷成人| 激情五月婷| 国产午夜精品AV一区二区麻豆| 97碰在线视频| 欧美性爱五月天| 香蕉综合网| 9色91视频| 91色婷婷综合久久中文字幕二区| 色图亚洲91| 日本在线观看aaa 99| 久激情| AV在线免费网站| 久久婷婷激情五月天一区二区| 五月丁香六月欧美综合| 狠狠干狠狠干| 99精品在线| 超碰只有精品在线| 色99视频| 亚洲亚洲永久无码777777| 思思热视频在线观看| 久久婷婷色综合| 伊人在线视频| 91精品国产综合久久蜜芽解析速度| 玖玖99免费视频| 无码九九| 久久久无码精品成人A片小说| 91狠狠综合久久久| 99久久免费精品| 色五月天电影| 久久AV无码精品人妻系列试探| 欧美五月婷婷综合| 亚洲视频在线观看99| 久热这里只有精品视频免费观看| site:pnnrt.com| av在线免费播放观看| 九色无码| 色婷婷AV久久久久久久| 亚洲精品久久久久久久久久飞鱼| 在线日本www| 色婷婷亚洲婷婷| 激情婷婷网| 婷婷六月综合激情| 色噜婷婷| 婷婷五月天日日日干干干| www,com,五月色色| 青青草99re| 综合丁香婷婷五月天| 五月丁香性| 亚洲乱码日产精品BD| 综合一区二区三区| 六月丁香婷婷综合在线| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 这里只有精品96| 男人天堂99| 五月香六月婷| 91无码色色| 色婷婷基地| 激情五月天开心网丁香无码| 久久a热| 97色色综合| 亚洲激情另类| 综合另类激情| 五月激情婷婷开心| 97人人妻人人艹| 激情丁香久久| 天天色粽合合合合合合合| 婷婷综合网性| 99色色| 九九综合五月欧美| 亚州操人在线视频| 九热视频免费观看| 激情五月综合免费| 99ER热精品视频| 色八月婷婷| 超碰碰碰碰| 九月激情网| www.五月天色色.com| 婷婷亚州综合| 五月丁香偷拍| 久婷婷婷| 日本丁香五月| 色五月aV| 夜色.cnm| 26.uuu丁香五月婷婷| 正宗黄色毛片| 影音先锋一区二区三区| www.99热日韩.com| 免费看欧美成人A片无码| 热久久77777| 国产亚洲99久久精品| 噜一噜免费视频| 亚洲高清在线| 五月天激情综合10p| 丁香激情综合| 无码99| av在线中文| 亚洲九区| 一本久道综合色婷婷五月| 丁香五月婷婷偷拍| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99热.com| 99在线观看精品| 日本三级日本三级99| 97热这里精品在线视频| 岛国av网站| 99视频精品视频| 狠狠干狠狠干| 深爱综合网| 九九re精品视频在线观看| 91一起操| 丁香五月丁香伊人| 丁香五月婷婷Av| 人人操AV| 人人干AV| 99在线公开视频| 九九热在线视频观看| 亚洲色图81p| 欧美婷婷成人| 婷婷欧美偷拍综合| 98热精品| 六月婷婷色综合| 五月丁香色狠狠干大屄| 九九人人自拍| 久久久天堂国产精品女人| 五月丁香六月激情啪| 五月丁香久久综合色| 婷婷视频网| 99在线视频在线观看| 亚洲AV永久无码影院黑人| 色色免费网站| 97色色在线视频| 99re免费精品视频| 六月丁香开心婷婷欧美| 天天日天天色| 99人人干| 丁香五月婷婷色情综合| 日本在线免费中文com.| 日本 欧美在线| 国产精品久久久久久喷浆| 可以看的AV| 国产Va视频| 久99久视频精选| 日韩九九| 国产精品视频久久99| 丁香婷婷九月| 五月婷婷丁香综合,亚洲天堂| av中文在线| 欧美激情综合色丁香婷婷五月天 | 九九综合精品| 激情九月婷婷| 五月天丁香综合久久国产| 丰满少妇乱A片无码| 日本色久| 久婷五月| 丁香五月天激情视频| 深爱婷婷色| 五月婷婷五月天| 大香蕉视频婷| 97碰碰叉| 国产人妻777人伦精品HD| 女同激情久久av久久| 国产一二三四五六七八视频| 开心五月激情站| 综合大香蕉| 成人 九九九九| 国精产品一区一区三区免费视频| 久热这里| 色婷婷在线播放| 五月丁香色婷婷久久| www.99热视频在线观看| 国产干逼片| 伊人综合网站| 国产伦亲子伦亲子视频观看| 久热91| 国产在线中文字幕| 亚洲成人网在线观看| 久久久免费精彩视频| www.99热. com这里只有精品| 热久久思思热思思| 色婷婷婷综合五月天| 99热 这里只有精品 国产 日韩| 91人人操人人看| 人人草碰| 久久精品夜色噜噜亚洲a∨| ai97re99一本| 岛国操B不卡在线| 亚洲成人丁香花| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 夜夜天天天天天干天天爽| 婷婷五月综合婷婷| 五月综合激情图片| w婷婷五月婷婷w| 在线综合婷婷| 中文字幕性爱丰满| 舔色婷婷| 久操人妻| www.狠狠操| 丁香五月激情综合| 五婷婷综合网| 久久人五月| 亚洲操B视频| 亚洲婷婷婷| 久久九九网| 人人亚洲| 99热久草| 97碰人人操| 久久婷婷激情| 欧美99| 中文字幕日本最新乱码视频| 婷婷不卡基地| 婷婷九月激情| 色婷婷婷婷成人网| 亚洲成人在线五月天| 五月激情六月综合| AA丁香综合激情| 99热伊人| 伊人大香蕉综合在线| 五月天婷婷伊人| 欧洲激情网站| 久久丁香五月婷| www.99热在线| 少妇性按摩无码中文A片| 依人大香蕉在钱1| 第五婷婷伊人丁香| 婷婷五月天伊人在线| 婷婷五月天亚洲精品| 久色婷婷200| 婷婷综合激情| 26uuu色五月| 伊人www22综合色| 色丁香五月婷婷婷| 丁香婷婷成人网站| 丰满少妇猛烈A片免费看观看| 在线观看视频1区| 亚洲色图五月丁香| 婷婷综合网站| 久久性爱视频| 91无码高清| va中文资源在线观看| 五月婷婷激情久久| 涩五月婷婷| 亚洲国产网站| 丁香五月狠狠综合欧美| 天天射美女| 丁香五月影| 国产成人高清| 日韩AV大全| 久久久久9| 日本在线观看91| 激情欧美婷婷| 亚洲99在线| 成人免费黄色短视频| 五月丁香啪啪婷婷| 婷婷激情五月天激情| 99热只有| 大香蕉婷婷丁香天堂AV| 天天爽天天日| 色吊操色妞| 永久99免费视频网站| 久久性操| 99在线免费视频| 99内射视频| 国色天香伊人狠狠色| 天天日天天爽夜夜爽| 99啪在线| 综合色五月| 国产精品第一国产精品| 欧美丁香婷婷天天操| 夜色综合网| 婷婷色色色| 色婷婷五月天激情久久| 这里只有精品免费| www.五月婷婷| 久久超级碰碰| www99久久| 五月婷婷官网色| 色一色综合| 亚洲五月六丁香激情| 97操碰| 影音先锋91| 99乱视频| 欧美啪啪网| 99热在线免费| 亚洲情欲久久| 久久金品黃色| 五月丁香九九| www.9797国产| 久综合九| 婷婷亚洲天堂| 激情5月舔| 婷婷深爱五月| 丁香五月婷婷姐| 欧洲色区| 五月天婷婷永久免费视频| 99视频| 五月丁香啪啪啪啪| 婷婷五月激情黄色| 久久性爱视频这里只有精品| www.激情五月天.com| 五月婷婷综合在线视频小说| AVV黄| 久久综合首页| 日日骑夜夜撸| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 九九综合网色全集 | 亚洲成人在线播放| 色色色综合网| 色偷偷狠狠| 成人五月天。COM| 五月激情小说网| 婷婷久久免费| 久久怕怕视频| 狠狠五月天婷婷激情网。| 97luluse| 大香线蕉伊人| 亚洲丁香五月天在线视频| 欧美精品在线观看| 色播五月| 色婷婷五月影视| 精品一二三区久久AAA片| 伊人午夜综合色啪| aaa久久| 五月激情在线| 丁香五月综合在线观看| 天堂中文国产| 亚洲精品无人区| 色导航色婷婷五月天在线观看| 日本欧美国产| 亚洲深喉AV| 激情综合激情综合| 狠狠艹狠狠艹| 亚洲婷婷综合视频| 色五月五月婷婷| 久久成人天| 99久精品视频| 久久人妻熟女一区二区| 九艹在线| 五月色欧美| 丁香五月婷婷天堂大香蕉| www.五月丁香| 丁香六月久久| 丁香色啪综合| 婷婷射综合| 夜夜嗨一区二区三区直播内容| 色偷偷五月天| 五月丁香亚洲五月| 成人在线精品| 国产高潮白浆一区二区| 色婷婷久久| 亚洲这里只有精品| 婷婷五月天激情综合| 中文在线成人| 久久91久久精品久久| 色综合婷婷| 婷婷六月激情综合| 深爱网深爱综合网| 久热大香蕉| 丁香五月天社区婷婷| 久久久18| 久久久18| 激情爱爱网站| 亚州操人在线视频| 五月天开心色情网| 亚洲精品网站色视频| 91色干| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 97久久精品| 五月婷婷开心丁香| 亚洲综合丁香婷婷六月天| 91超碰在线观看| 久久久免费图片视频| 粉嫩AV久久一区二区三区| 大香蕉婷婷五月天| 色在线99| 丁香五月婷婷日本| 啄木鸟丝袜美女福利视频| 欧美99热| 婷婷五月天激情在线观看| 91婷婷| 91无码视频| 五夜丁香| 五月丁香激情怕怕| 91ncm视频| 伊人大香蕉在线视频| 久久日婷婷| 婷婷五月丁香基| 无码人妻AV久久久一区二区三区| www.99热| 免费看欧美成人A片无码| 天天射影院| 天天爱天天操| 狠狠操狠狠| 色99视频| 99国产精品白浆在线观看免费 | 五月丁香 狠狠爱| 色色综合网www| 极品人妻VIDEOSSS人妻| 在线视频区| 99国产精品久久久久久久久久久| 被男人添B超爽视频| 99色在线| 欧美日韩二区在线| 99热九九九九| 色婷婷情片| 精品网站:999WWW| 美女精品一级不卡视频| 五月天社区| 欧美激情丁香五月| 婷婷舔| 丁香婷婷六月激情综合| 99精品免费欧美小视频| 色五月成人| 九九九热精品| 天天日夜夜爽| jiujiuxiangjiaowang| 六月婷婷操逼| 玖玖在线视| 五月天激情综合网俺也去| 五月婷婷中字在线| 色情五月天A片| 天天摸天天舔| 26uuu在线观看| 成人做爰高潮A片免费视频| 99综合色色色| 99九九在线观看免费| 亭亭玉立国色天香| 这里只有精品视频一区| 狠狠狠狠狠干| 九九黄色网| 黄色av网站在线免费播放| 六月丁香狠狠爱| 婷婷丁香色五月亚洲| 深爱五月天 开心网| 综合五月天完整| 婷婷午夜激情| 国产毛片操B| 久久婷婷五月天激情四射| 五月天六月丁香| 五月婷婷综合在线观看| 91精品综合久久久久久五月丁香| 日本人人超碰| 亚洲成人av在线| 初夜av| 成人精品人妻| 婷色影院| 99色色热热| 五月激情网综合| 色五月首页| 婷婷五月丁香综合瑟瑟| 欧美极品999| 色婷婷五月天视频在线| 日本综合久久| 六月婷色| www.av骚货| 日韩色色视频| 丁香五月综合久久| 精品色色网| 97人人操人人干| www色哟哟| 久久五月天合网| 98永久精品| 丁香五月激情久久麻豆| www.色婷婷| 99视频精品全部观看10| 色婷婷8| 99国产小视频2013| 九九re精品视频在线观看| av首页在线| 99热欧| 色色五月婷| 欧美婷婷丁香五月| 操操操操操电影网| 五月婷婷久久综合| 九九色影视| 九九热最新| 亚洲av电影在线| 色色婷五月天| 色色五月天激情| 婷婷五月丁香综合| 色情五月天丁香社区| 99草在线免费观看视频| AV国产有码| 99精品网| 26uuu美女三级视频| 97操操操| 五月丁香综合激情网| 亚洲操操操| 青青艹b| www色婷婷com| 中文婷婷狠狠| www.五月天社区| 欧美性爱丁香五月| 天天成人综合视频| Blackedraw视频一区二区| 婷婷久久五月天亚洲欧美国产日韩在线观看| 久热人妻| 亚洲人妻av| www久| 九九黄色网| 99综合视频一体| 激情五月婷婷综合| 狠狠草在线观看| 五月色在线| 丁香五月婷婷网| 噜综合| 国产亚洲精品久久久久久牛牛| 丁香六月综合激情| 日本三级韩三级99久久| 色婷婷最爱五月| 97caop| 久久这里只有精品1| 成人AV播放| 狠狠色综合网站久久久久| 91seAV| 激情开心五月天| 色v综合网| 五月婷婷中文字幕| 久久五月天合网| 黄色三级毛片中字| 五月天激情亚洲| 婷婷激情四射五月天| 亚洲熟妇无码乱子AV电影| 欧美日韩123| 亚洲精品婷婷| 操日本人妻视频| 日韩有码一区| 丁香婷婷六月天| 无码九九| 日本三级99人妇网站| 五月亭亭直播| a在线观看| 第四色在线观看| 婷婷涩涩五月天| 久久婷婷色色| 极品人妻VIDEOSSS人妻| 天天狠狠干| 激情婷婷丁香五月天| 综合色播| 五月婷婷丁香瑟瑟视频| 成人视屏在线观看| 夜夜操加勒比| 97碰人人操| 思思99精品视频在线观看| 高清a片基地| 青青草tp| 激情婷婷六月| 九九久久五月天综合伊人| 婷色五月天| 五月丁香六月婷婷无码| 婷婷偷拍网| 婷婷丁香五月视频| 俺去也五月天婷婷| 婷婷色狠狠| 99re在线视频精品,这里只有精品18,| 99视频在线9| 色色色干| 蜜桃五月天| 婷婷丁香社区网| 天天色凹凸| 99热在线播放| 丁香六月久久| 五月天色官网| 99热偷拍| 99视频在线看| 做爰丰满少妇1313| 9|无码久久久久久| 天天高潮夜夜爽| 99爱这里只有精品| www.97干视频| 五月丁香婷婷五月色| 99热91| 99亚洲精品视频| 婷婷五月天777| 精典久久| 日韩天堂久久| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 国内外色色色色色成人视频| 亚洲综合另类| 91精品综合久久久久久五月丁香| 思思99热在线| 色色色国产| 伊人影院久久网| 国产午夜精品AV一区二区麻豆| 激情亚洲婷婷| 夜夜爽天天干| 亚洲第一色区| 巴基斯坦粉嫰无码视频| 高清无码.com| 91色五月| 人人操女人| 在线亚洲综合网| 精品成人在线| 天堂成人A片永久免费网站 | 丁香五月婷婷综合激情啪啪啪| 久久婷婷伊人| 婷婷五月天激情网| 色综合九九色综合88| 激情综合激情五月一起草| va婷婷在线免费观看| 色色永久| 欧美日韩AAAAA| 亚洲五月天,激情视频| www.91.com黄| 色色爽爽天天| 成人网站免费在线播放| 九九大香蕉黄色影院| 丁香五月九九| 男人天堂AV在线一区二区| 午夜成人av在线| 操操综合网婷婷| 热热色色五月天婷婷| 午夜不卡久久精品无码免费| 亚洲国产精品VA在线看黑人| 99网| 欧美成人猛片AAAAAAA| 丰满少妇猛烈A片免费看观看 | www.婷婷五月天.com| 99热这里精品| 26uuu精品一区二区| 六月 丁香 视频| 天天操比比| 九九亚洲视频| 麻豆WWWCOM内射软件| 丰满少妇猛烈A片免费看观看 | 开心激情婷婷| 欧美天堂久久| 99re思思久久| 亚洲激情综合| 日韩成人中文| 人妻Av在线| 99精品高潮| 亚洲在线综合| 激情五月天婷婷图| 天天免费成年人视频| 五月丁香999| 天天色综合综合| 中文AV网站| 五月婷精品| 色色婷婷五月天| 成人在线二区| 91碰九色| 六月丁香大香蕉| aaaaa不卡| 丁香六月婷婷综合网| 美英法精品无码免费视频| 5月婷婷6月六月丁香| 中文字幕婷婷| 无码人妻少妇色欲AV一区二区| 大香焦啪啪啪| 婷婷五月网图片区| 66精品国产成人| 丁香婷婷五色月| 激情五月天视频| 久久538| av操B网站| 色欲九区| 亚洲射激情| 五月天婷久精视频| 人人干人人看| 色播激情| AV大香蕉| 99re热免费观看视频精品| 超碰色综合| 亚洲国产精品二二三三区| 日韩啪图| 六月婷婷六月天天在线免费| 五月天婷婷无码视频| 伊人久久婷婷| 色婷婷播放| 亭亭五月丁香综合欧美| 日日爱699| 色色色色色色网| 丁香九色不卡aaa | 99激情| 久久九九囯产| 五月激情丁香六月狠狠干| 涩涩涩五月天| 欧美成人精品三区综合A片| www.com.色色| 色青青视频| 99精品久久久| 高清 码 免费看片短视频| 人人爽人人射-美女久久久久久久久久-成人AV | 五月丁香激情综合六月涩涩爱| 婷婷色婷婷| 九色综合网| 五月婷婷激情刺激| 99激情视频| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | ss99热| 996热| 亚洲精品444久久久久久| 99久久国产宗和精品1上映| 四月婷婷五月丁香| 新激情婷婷| www.激情在线| 五月丁香六月婷| 国产婷婷久久| 婷婷五月天天aV| 久久精品99国产精品日本 | 蜜桃五月天| 超碰久热| 超碰93在线观看| 婷婷五月欧美| 婷婷综合六| 亚洲精品V天堂中文字幕| 99超级碰免费视频| 日日夜夜天天| 丁J香六月首页| 天天日夜夜操五月| 图片区 小说区 区 亚洲五月 | 五月婷精品| 伊人玖玖网| 天天爽免费视频| 两性婷婷丁香五月| 6080av| 夜精品无码A片一区二区蜜桃| 成人午夜无码视频| 99热国内精品| 成人电影在线免费试看| 亚洲熟妇无码乱子AV电影| 野外99热| 深爱五月激情| 久久一操| 婷婷色五月在线视频| 99热免费18| 色日本网| 99热超碰人| 五月丁香婷婷中文网| 91久久精品国产91性色TV| 久久五月婷综合网| 青柠影视免费高清电视剧| 99re热| 少妇2做爰HD韩国电影| 欧洲婷婷五月天| 99色视频| 丁香五月婷婷88在线| 激情内射人妻1区2区3区| 五月色丁香国产在线视频| 农村熟妇高潮精品A片| 婷婷五月天,影院| 天天射天天插天天干| 天天开心AV色综合婷婷五月天| 日日躁夜夜躁狠狠久久AV| www好屌操| 日本久久久97| 丁香五月激情在线| 在线视频99| 九九热99精品在线| 无遮羞AV| 99热在线观看精品| 香蕉伊人综合| 七七婷婷综合| 七月婷婷色香综合网| 婷婷五月丁香久久| 婷婷五月综合免费在线| 99国产精品久久久久久久久久久 | 伊人AV五月婷| 久xxxx| 色五月婷婷中文字幕| 五月婷婷丁香| 亚洲国产无线乱码在线观看| 六月色丁香中文字幕| www.com色播五月天| 97人人操| 九九热只有这里是精品| 欧美天堂婷婷日韩| 五月综合色| 五月天婷婷六月激情网| 色综合久久久无码中文字幕999| 婷婷深爱五月丁香| 色五月婷婷av| 99久久国产宗和精品1上映| 六月 丁香 视频| 操碰99| 国产XXXX搡XXXXX搡麻豆| 五月天亭亭俺也| 99久久九九| 婷婷99视频在线| www热久久yy9| 婷婷色天香| 99热99天堂| 久久久久9| 五月丁香六月婷婷国产视频| 中文字幕不卡+婷婷五月| 内射在线CHINESE| 久久婷婷五月综合色丁香| 久久网站观看免费欧洲国产| 免费观看高清无码| 色五月婷婷五月| 五月丁香在线看| 99这里只有精品视频免费| 秋霞九九无码| 激情五月天综合网| 亚洲天天| 性小说五月天| 久婷久婷| 九月丁香很很色| 亚洲操操| 久久爱婷婷| 人人舔人人色人人高潮| 五月亭亭色| 国产成人精品一区二区三区视频| 久大香蕉| 久久机热这里只有精品| 这里只有精品日韩| 色综合香蕉| 丁香五月婷婷图片综合| 亚洲视频99| 99精品热| 婷婷娱乐丁香综合网| 91狠狠综合久久久久久| 成人免费视频一区| 黄网在线免费| 女人天堂AV| 五月天伊人综合| 色五月丁香五月婷婷五月成人网| 天天爽爽日日做做| Www99热| 日本97在线观看| 欧美交换配乱吟粗大25P| 丁香五月欧美激情| 天天做天天爱天天爽综合网| 久久 这里只有精品1| 五月丁香A片| 综合狠狠干| 五月色婷婷夜色| 狠狠爱深色婷婷综合| h在线看免费版在线看| 色六月婷婷| 狠狠干五月天| 久久这里只| 婷婷色Av| 天天插夜夜爽| 五月香蕉综合| 九月婷婷综合| 亚洲黄色精品| 丁香婷婷综合激情五月色| 日本nghangse中文字幕| 97luluse| 日本91在线播放| 日韩精品视频中文字幕| 欧美内射AAAAAAXXXXX| 亚洲精品亚洲人成人网| 亚洲热视频| 99色热| www.久久爱| 日本色色网| 97干在线| 夜夜操夜夜操| 久久a热| 丁香在线视频| 久热这里只有| 开心五月深爱五月| 六月丁香啪啪啪| 婷婷综合视频| 99色婷婷| 国产成人精品一区二三区熟女在线| 天天干天天操天天爽| 99综合视频| 五月丁香六月激情| 色色无码| 天天碰夜夜操| 1024成人免费看| 艹色18p| 色九九九九| 人人性久久| 婷婷操逼| 婷婷日| 五月婷综合网| 五月天六月婷| 激情五月婷婷在线观看| 国产avapp 网| 婷婷六月丁| 99精品视频在线观看| 五月丁香婷婷欧美色图视频五月丁香777电影 | 欧洲S级在线观看| 婷婷色情网| 欧美久热| 国产亚洲精品AAAAAAA片| 午夜天堂一区人妻| 天天干天天av天天射| 久久资源综合| 生活片五区| 99综合色色色| 婷婷激情欧美| 国产精品VA在线| 999婷婷综合| 亚洲成人在线播放| 激情五月婷婷视频| 亚洲欧美国产A片免费观看| 五月婷婷中文字幕| 色色色综合视频| 天天爽天天摸| 亚洲综合无码| 亚洲成av人影院| 色色综合五月| 色色婷| 黄页大全十八禁| 色欲一区二区三区精品A片| 人人97碰| 99热在线观看| 青青操丝袜美腿| 婷婷久久综合| 婷婷五月天激情丁香| 另类图片色五月| 欧美性生交XXXXX无码小说| 欧在线一区| 99精品在线| 亚洲无码九九| 91狠狠色丁香婷婷综合久久精品| 日本操天堂| 日本在线视频播放91| 婷婷开心青青草| 五月婷激情影院| 少妇出轨做爰高潮A片| 六月婷基地| 涩涩五| 亚洲成人一区| 亚洲欧洲美女在线观| 九九RE视频在线精品| 伊人色综在线| 能看的av网站| 激情丁香五月天图片| 天天日夜夜B久久| 久久天天| 中国女人内射6XXXXX| 天堂色婷婷| 色五婷婷| 色情成人五月天| 国产视频福利| 婷婷香五月综合激情| 色五月天婷婷| 免费人人操| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 91大神操美女| 激情网综合| 六月天婷婷| 色一情一乱一乱一区91| 久久综合丁香激情五月| 亚洲精品V天堂中文字幕| 香蕉操亚洲| 激情VA视频| 精品一二三区久久AAA片| 日韩人妻无码专区| 丁香五月激情婷婷婷婷在线观看| 99精品偷自拍| 五月花综合| www.五月天色色.com| 1024久婷| 国产性色蜜乳| 丁香六月激情综合| 情色五月天网站| 五月丁香成人网| 91九九九九九九| 日本熟妇人妻在线| 五月开心网| 亚洲午夜AV| 91九色中文字幕女在线观看| 丁香五月婷婷国产在线| 精品九九视频| 亚洲日韩乱码一区二区三区四区| 思思热天天看| 五月激情视频| 婷婷综合视频| 亚洲色图五月丁香| 国精产品一区二区三区| 亚洲第79页| 五月精品99综合| 婷婷日日天天| 中文字幕日本最新乱码视频| 五月天无码视屏播放| 热久久这里只有精品| 五月激情啪啪| 色综合激情| www.日本久久videos| 中文字幕永久免费| 综合大香蕉| 久久9视频欧美| 久操综合| 成人网站在线观看视频| 日本三级中国三级99| av久热| 狠狠爱综合网| 思思热精品在线| 天天做天天爱天天日| 99久久99九九99九九九| 亚洲五月天第一综合干| 久操操| 亚洲久久婷婷丁香五月天| 婷婷五月天VI| 99精在线| 大香蕉久久草|