訂閱
糾錯(cuò)
加入自媒體

如何通過Python+OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)?

什么是OpenCV?

計(jì)算機(jī)視覺是一個(gè)能夠理解圖像和視頻如何存儲(chǔ)和操作的過程,它還有助于從圖像或視頻中檢索數(shù)據(jù)。計(jì)算機(jī)視覺是人工智能的一部分。計(jì)算機(jī)視覺在自動(dòng)駕駛汽車,物體檢測,機(jī)器人技術(shù),物體跟蹤等方面發(fā)揮著重要作用。

OpenCV

OpenCV是一個(gè)開放源代碼庫,主要用于計(jì)算機(jī)視覺,圖像處理和機(jī)器學(xué)習(xí)。通過OpenCV,它可以為實(shí)時(shí)數(shù)據(jù)提供更好的輸出,我們可以處理圖像和視頻,以便實(shí)現(xiàn)的算法能夠識(shí)別諸如汽車,交通信號(hào)燈,車牌等物體以及人臉,或者甚至是人類的筆跡。借助其他數(shù)據(jù)分析庫,OpenCV能夠根據(jù)自己的需求處理圖像和視頻。

我們將與OpenCV-python一起使用的庫是Mediapipe

什么是Mediapipe?

Mediapipe是主要用于構(gòu)建多模式音頻,視頻或任何時(shí)間序列數(shù)據(jù)的框架。借助MediaPipe框架,可以構(gòu)建令人印象深刻的ML管道,例如TensorFlow,TFLite等推理模型以及媒體處理功能。

使用Mediapipe的最先進(jìn)的ML模型

人臉檢測

多手跟蹤

頭發(fā)分割

目標(biāo)檢測與追蹤

Objectron:3D對(duì)象檢測和跟蹤

AutoFlip:自動(dòng)視頻裁剪管道姿態(tài)估計(jì)

姿態(tài)估計(jì)

通過視頻或?qū)崟r(shí)饋送進(jìn)行人體姿態(tài)估計(jì)在諸如全身手勢控制,量化體育鍛煉和手語識(shí)別等各個(gè)領(lǐng)域中發(fā)揮著至關(guān)重要的作用。例如,它可用作健身,瑜伽和舞蹈應(yīng)用程序的基本模型。它在增強(qiáng)現(xiàn)實(shí)中找到了自己的主要作用。Media Pipe Pose是用于高保真人體姿勢跟蹤的框架,該框架從RGB視頻幀獲取輸入并推斷出整個(gè)人類的33個(gè)3D界標(biāo)。當(dāng)前最先進(jìn)的方法主要依靠強(qiáng)大的桌面環(huán)境進(jìn)行推理,而此方法優(yōu)于其他方法,并且可以實(shí)時(shí)獲得很好的結(jié)果。

姿勢地標(biāo)模型

現(xiàn)在開始

首先,安裝所有必需的庫。– pip install OpenCV-python– pip install mediapipe下載任何類型的視頻,例如跳舞,跑步等。我們將利用這些視頻進(jìn)行姿勢估計(jì)。

為了檢查mediapipe是否正常工作,我們將使用上面下載的視頻實(shí)現(xiàn)一個(gè)小的代碼。

import cv2
import mediapipe as mp
import time
mpPose = mp.solutions.pose
pose = mpPose.Pose()
mpDraw = mp.solutions.drawing_utils
#cap = cv2.VideoCapture(0)
cap = cv2.VideoCapture('a.mp4')
pTime = 0
while True:
success, img = cap.read()
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = pose.process(imgRGB)
print(results.pose_landmarks)
if results.pose_landmarks:
mpDraw.draw_landmarks(img, results.pose_landmarks, mpPose.POSE_CONNECTIONS)
for id, lm in enumerate(results.pose_landmarks.landmark):
h, w,c = img.shape
print(id, lm)
cx, cy = int(lm.x*w), int(lm.y*h)
cv2.circle(img, (cx, cy), 5, (255,0,0), cv2.FILLED)
cTime = time.time()
fps = 1/(cTime-pTime)
pTime = cTime
cv2.putText(img, str(int(fps)), (50,50), cv2.FONT_HERSHEY_SIMPLEX,1,(255,0,0), 3)
cv2.imshow("Image", img)
cv2.waitKey(1)

1  2  下一頁>  
聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)