999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MediaPipe之姿勢偵測

2023-06-21 21:54:11牟曉東
電腦報(bào) 2023年23期
關(guān)鍵詞:關(guān)鍵點(diǎn)

牟曉東

除了手勢識(shí)別追蹤和人臉的“面部網(wǎng)格”識(shí)別之外,MediaPipe 還能實(shí)現(xiàn)“姿勢偵測”(Pose,又稱“姿態(tài)識(shí)別”),它將人體模型標(biāo)注出0-32 共33 個(gè)關(guān)鍵點(diǎn),比如6對(duì)應(yīng)的是右眼外眼角(right_eye_outer)、13 對(duì)應(yīng)的是左肘尖(left_elbow)、30 對(duì)應(yīng)的是右腳跟(right_heel)等等。頭部的關(guān)鍵點(diǎn)是從0到10,身體的左側(cè)關(guān)鍵點(diǎn)是奇數(shù)從11、13 直至31,右側(cè)是偶數(shù)從12、14 直至32,二者所對(duì)應(yīng)的身體部位是對(duì)稱標(biāo)注的(如圖)。

1.對(duì)靜態(tài)圖像文件中的人體進(jìn)行姿勢偵測

首先, 導(dǎo)入OpenCV 和MediaPipe 庫模塊:“importcv2”“import mediapipe asmp”;然后進(jìn)行人體姿勢偵測模型的導(dǎo)入——建立變量mp_pose 并賦值為“mp.solutions.pose”;再建立變量mp_drawing,賦值為“mp.solutions.drawing_utils”,作用是導(dǎo)入繪圖模塊;建立姿勢偵測變量pose,賦值為“mp_pose.Pose(static_image_mode=True,model_complexity=2, smooth_l a n d m a r k s = T r u e , e n a b l e _s e g m e n t a t i o n = T r u e , m i n _detection_confidence=0.5,min_tracking_confidence=0.5)”,其中的參數(shù)“static_image_mode=True” 作用是設(shè)置為靜態(tài)圖像文件的檢測, 參數(shù)“model_complexity=2” 作用是設(shè)置為最佳的姿勢偵測(值為0 時(shí)速度最快但 性能較弱,值為1 時(shí)速度與性能比較均衡), 參數(shù)“smooth_landmarks=True” 作用是將平滑關(guān)鍵點(diǎn)的檢測設(shè)置為有效,參數(shù)“enable_segmentation=True”作用是將人體摳圖設(shè)置為有效, 參數(shù)“min_detection_confidence=0.5” 和“min_tracking_confidence=0.5)”作用是分別設(shè)置偵測的置信度與追蹤閾值。

接下來從圖片文件中讀入圖像, 建立變量img 并賦值為“cv2.imread('test.jpg')”, 其中的test.jpg 即為待測試的圖片文件; 建立變量img_RGB, 賦值為“cv2.cvtColor(img,cv2.COLOR_BGR2RGB)”, 作用是將讀入的圖像進(jìn)行色彩模式的轉(zhuǎn)換, 從BGR 轉(zhuǎn)為RGB; 建立變量results, 賦值為“pose.process(img_RGB)”, 作用是將轉(zhuǎn)換模式后的圖像輸入至訓(xùn)練模型并獲取對(duì)應(yīng)的姿勢偵測結(jié)果;再進(jìn)行可視化檢測結(jié)果的描繪,通過語句“mp_drawing.draw_landmarks(img,results.pose_landmarks,mp_pose.POSE_CONNECTIONS)” 來實(shí)現(xiàn),其默認(rèn)效果是用紅色小圓點(diǎn)標(biāo)注33 個(gè)關(guān)鍵點(diǎn),并且用白色細(xì)線進(jìn)行連接; 最后, 通過語句“cv2.imwrite('result.jpg',img)” 將添加標(biāo)注效果的圖像存儲(chǔ)為result.jpg文件。

將程序保存為“[01]Test_Single_Picture.py”,按F5運(yùn)行測試,很快就生成了result.jpg 文件,與之前的test.jpg同時(shí)打開進(jìn)行對(duì)比查看,人物身體上的33 個(gè)關(guān)鍵點(diǎn)被正確標(biāo)注,同時(shí)也有若干條白色細(xì)線連接對(duì)應(yīng)的關(guān)鍵點(diǎn)。

2.關(guān)鍵點(diǎn)的分組標(biāo)注及二維坐標(biāo)值的解析

將“[01]Test_Single_Picture.py”復(fù)制粘貼為“[02]Three_Groups.py”,進(jìn)行代碼的修改,在最后一行“cv2.imwrite('result.jpg',img)”代碼之前插入以下代碼:

建立變量h 和w, 分別賦值為“img.shape[0]” 和“img.shape[1]”,表示圖像的高度和寬度;建立變量radius 并賦值為8,用來控制關(guān)鍵點(diǎn)描繪時(shí)圓點(diǎn)的半徑大小;同時(shí)建立head_points 和left_points 兩個(gè)變量,均賦值為空列表“[]”,分別通過“for i in range(11):”和“for i in range(11,33):”兩個(gè)循環(huán),將頭部和左側(cè)所對(duì)應(yīng)的關(guān)鍵點(diǎn)序號(hào)追加(append)至各自列表中(剩余的即為右側(cè)關(guān)鍵點(diǎn));在“for i in range(33):”循環(huán)中,變量cx 和cy 的值分別為“int(results.pose_landmarks.landmark[i].x * w)” 和“int(results.pose_landmarks.landmark[i].y * h)”,即該關(guān)鍵點(diǎn)的橫坐標(biāo)值和縱坐標(biāo)值。以鼻尖為例,由于該關(guān)鍵點(diǎn)所對(duì)應(yīng)的序號(hào)是0,因此通過條件“if i==0:”判定為真時(shí)將其輸出:“print(" 鼻尖位置的二維坐標(biāo)值為:(",cx,",",cy,")")”;接下來,如果滿足“if iin head_points:”,說明該關(guān)鍵點(diǎn)位于頭部,則通過語句“img = cv2.circle(img,(cx,cy),radius-5,(0,0,255),-1)”繪制為紅色圓點(diǎn);如果滿足“elif i in left_points:”,說明關(guān)鍵點(diǎn)位于人體左側(cè),則通過語句“img = cv2.circle(img,(cx,cy),radius,(255,0,0),-1)”繪制為藍(lán)色圓點(diǎn);剩余的右側(cè)各個(gè)關(guān)鍵點(diǎn),通過語句“img = cv2.circle(img,(cx,cy),radius,(0,255,0),-1)”繪制為綠色圓點(diǎn)。

運(yùn)行測試,程序生成的圖片文件result.jpg 與之前相比,人體的頭部11 個(gè)關(guān)鍵點(diǎn)仍被標(biāo)注為紅色圓點(diǎn),但左側(cè)和右側(cè)各11 個(gè)關(guān)鍵點(diǎn)則分別被標(biāo)注為藍(lán)色和綠色圓點(diǎn);而且在命令行處輸出有提示信息:“鼻尖位置的二維坐標(biāo)值為:(665, 249)”。

3.對(duì)攝像頭監(jiān)控畫面中的人體進(jìn)行姿勢偵測

仍然是在“[01]Test_Single_Picture.py”基礎(chǔ)之上進(jìn)行“[03]Test_Camera.py”代碼的修改,目的是完成攝像頭監(jiān)控畫面中的人體姿勢偵測。注意在為變量pose賦值時(shí),其中的“static_image_mode”參數(shù)必須設(shè)為“False”,表示“非靜態(tài)圖像模式”(即視頻的動(dòng)態(tài)幀畫面);從變量camera 的賦值到“while True:”循環(huán)體中的代碼,像圖像顏色模式的轉(zhuǎn)換、默認(rèn)姿勢偵測繪制效果的實(shí)現(xiàn)等等,均與之前相同。

運(yùn)行測試,分別嘗試在攝像頭前面進(jìn)行遠(yuǎn)景和各種近景的拍攝測試,全身的33 個(gè)關(guān)鍵點(diǎn)能夠快速實(shí)時(shí)檢測到,并且以紅色圓點(diǎn)加白色細(xì)線連接標(biāo)注;側(cè)身和正身的近景上半身若干個(gè)關(guān)鍵點(diǎn)同樣也能夠被檢測和標(biāo)注,都是實(shí)時(shí)的測試效果。

關(guān)注“壹零社”公眾號(hào)下載源代碼。

猜你喜歡
關(guān)鍵點(diǎn)
論建筑工程管理關(guān)鍵點(diǎn)
聚焦金屬關(guān)鍵點(diǎn)
肉兔育肥抓好七個(gè)關(guān)鍵點(diǎn)
建筑設(shè)計(jì)中的防火技術(shù)關(guān)鍵點(diǎn)
GE6B燃機(jī)安裝關(guān)鍵點(diǎn)控制
利用定義法破解關(guān)鍵點(diǎn)
豬人工授精應(yīng)把握的技術(shù)關(guān)鍵點(diǎn)
機(jī)械能守恒定律應(yīng)用的關(guān)鍵點(diǎn)
融資能力將成為決勝關(guān)鍵點(diǎn)之一
醫(yī)聯(lián)體要把握三個(gè)關(guān)鍵點(diǎn)
主站蜘蛛池模板: 欧美a级完整在线观看| 国产国拍精品视频免费看| 免费观看男人免费桶女人视频| 波多野结衣无码AV在线| 丁香综合在线| 国产国语一级毛片在线视频| 五月天综合婷婷| 污网站在线观看视频| 国产黄网永久免费| 2021国产v亚洲v天堂无码| 日韩色图在线观看| 三级国产在线观看| 国产偷国产偷在线高清| 国产精品欧美激情| 无码一区18禁| 国产乱码精品一区二区三区中文 | 国产精品自在在线午夜| 亚洲色图在线观看| 国产性生大片免费观看性欧美| 国产av剧情无码精品色午夜| 熟妇丰满人妻av无码区| 亚洲欧美国产视频| 99精品这里只有精品高清视频 | 国产精品999在线| 手机在线国产精品| 免费a在线观看播放| 天天综合网色中文字幕| 国产黄色爱视频| 精品久久久久久成人AV| 99精品一区二区免费视频| 精品一区二区三区中文字幕| 五月天综合网亚洲综合天堂网| 日韩小视频在线播放| 色吊丝av中文字幕| 国产在线观看一区精品| 六月婷婷综合| 欧美激情首页| 日韩毛片基地| 在线欧美一区| 国产一区亚洲一区| 欧美成人日韩| 亚洲高清无码久久久| 九色视频一区| 无码'专区第一页| 欧美成人二区| 亚洲综合欧美在线一区在线播放| 国产jizzjizz视频| 91精品国产丝袜| 57pao国产成视频免费播放| 操国产美女| 99re免费视频| 国产麻豆福利av在线播放| 亚洲欧美日韩精品专区| 黄色网址手机国内免费在线观看| 她的性爱视频| 伊人成人在线| 欧美α片免费观看| 欧美亚洲激情| 无码AV动漫| 亚洲无码精彩视频在线观看| 久久免费精品琪琪| a级毛片一区二区免费视频| 亚洲人妖在线| 国产精品v欧美| 日韩成人在线网站| 无码精品国产dvd在线观看9久| 成人午夜天| 91成人免费观看| 亚洲三级片在线看| 成人福利在线免费观看| 一级毛片视频免费| 狼友视频国产精品首页| 在线欧美国产| 成人午夜精品一级毛片| 天堂成人在线视频| 在线观看欧美精品二区| 国产人人射| 国产二级毛片| 国产精品欧美亚洲韩国日本不卡| 亚洲欧洲一区二区三区| 色精品视频| 国产高清在线精品一区二区三区|