自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于深度學(xué)習(xí)的姿態(tài)估計(jì)

譯文
人工智能
人體姿態(tài)估計(jì)是檢測(cè)和估計(jì)圖像或視頻中人物姿態(tài)的過(guò)程。它包括檢測(cè)人物身體的關(guān)鍵點(diǎn)或關(guān)節(jié),例如頭部、肩膀、肘部、手腕、臀部、膝蓋和腳踝,并估計(jì)它們?cè)趫D像中的位置。這可以使用各種計(jì)算機(jī)視覺(jué)技術(shù)來(lái)完成,例如特征檢測(cè)和機(jī)器學(xué)習(xí)算法。

譯者 | 李睿

審校 | 重樓

什么是人體姿勢(shì)估計(jì)?

人體姿態(tài)估計(jì)是檢測(cè)和估計(jì)圖像或視頻中人物姿態(tài)的過(guò)程。它包括檢測(cè)人物身體的關(guān)鍵點(diǎn)或關(guān)節(jié),例如頭部、肩膀、肘部、手腕、臀部、膝蓋和腳踝,并估計(jì)它們?cè)趫D像中的位置。這可以使用各種計(jì)算機(jī)視覺(jué)技術(shù)來(lái)完成,例如特征檢測(cè)和機(jī)器學(xué)習(xí)算法。

估計(jì)人體姿勢(shì)的方法

自上而下的方法

在自上而下的人體姿勢(shì)估計(jì)方法中,人工智能算法首先檢測(cè)圖像或視頻幀中的人物,然后通過(guò)分析被檢測(cè)到的人物的身體部位及其相互之間的關(guān)系來(lái)估計(jì)人物姿勢(shì)。

這種方法通常包括檢測(cè)人物的頭部、軀干和四肢,然后使用這些信息來(lái)估計(jì)人物的姿勢(shì)。它還可能涉及使用關(guān)于人物的身體比例和身體上關(guān)鍵點(diǎn)(例如關(guān)節(jié))的位置的信息來(lái)改進(jìn)姿勢(shì)估計(jì)。

自上而下的方法可以有效地估計(jì)圖像或視頻幀中人物的姿勢(shì),但在處理遮擋或同一幀中的多個(gè)人物時(shí)可能不太有效。它們也可能比自下而上的方法計(jì)算更密集,自下而上的方法通過(guò)分析圖像或視頻幀的局部特征來(lái)估計(jì)人體姿態(tài)。

自下而上的方法

在一種自下而上的人體姿勢(shì)估計(jì)方法中,首先分析圖像或視頻幀中的局部特征,例如邊緣和角落,然后使用這些信息來(lái)檢測(cè)和跟蹤人物身體的各個(gè)部位,最后組合檢測(cè)到的身體部位以估計(jì)幀中單人或多人的姿勢(shì)。

自下而上的方法通常比自上而下的方法更快、更有效,因?yàn)樗鼈儾恍枰獙?duì)人物進(jìn)行初步檢測(cè),也不需要使用關(guān)于身體比例和身體關(guān)鍵點(diǎn)的信息。然而,它們可能不如自上而下的方法準(zhǔn)確,特別是在局部特征不明確或人物姿勢(shì)變化很大的情況下。

自下而上的方法對(duì)同一幀中的遮擋和多人的檢測(cè)更加有效,因?yàn)樗鼈儾灰蕾?lài)于人物的整體檢測(cè)。然而,他們可能很難準(zhǔn)確地估計(jì)人物的姿勢(shì)是部分或完全遮擋。

自下而上方法的工作方式

姿態(tài)估計(jì)的組件

上圖顯示了從圖像中估計(jì)一個(gè)人的姿勢(shì)所涉及的不同組件。以下詳細(xì)介紹每個(gè)組件。

組件置信度圖

人體姿態(tài)估計(jì)的第一步是檢測(cè)圖像或視頻中人體關(guān)節(jié)的位置。這通常是通過(guò)結(jié)合機(jī)器學(xué)習(xí)算法和計(jì)算機(jī)視覺(jué)技術(shù)來(lái)完成的。一種流行的方法是使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)將圖像中的像素分類(lèi)為不同的身體部位。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是在一個(gè)帶注釋的圖像的大型數(shù)據(jù)集上訓(xùn)練的,其中包括關(guān)于身體關(guān)節(jié)的位置和方向的信息。

部位關(guān)聯(lián)字段

部位關(guān)聯(lián)字段(PAF)是人體不同部位之間關(guān)系的表示。它用于建模人體部位之間的連接,并提供一種估計(jì)圖像或視頻幀中的人物姿勢(shì)的方法。部位關(guān)聯(lián)字段(PAF)通常表示為一個(gè)2D數(shù)組,數(shù)組中的每個(gè)元素表示人體部位連接到圖像中特定位置的可能性。部位關(guān)聯(lián)字段(PAF)通常是使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)或其他機(jī)器學(xué)習(xí)模型生成的,這些模型是在各種姿勢(shì)的帶注釋的圖像或視頻的大型數(shù)據(jù)集上訓(xùn)練的。

為了生成部位關(guān)聯(lián)字段(PAF),卷積神經(jīng)網(wǎng)絡(luò)(CNN)處理輸入圖像并生成一組特征圖,然后通過(guò)一系列卷積層和池化層來(lái)提取關(guān)于人體部位之間關(guān)系的相關(guān)信息。例如,為了估計(jì)人物手臂的姿勢(shì),算法可能會(huì)使用部位關(guān)聯(lián)字段(PAF)根據(jù)肘關(guān)節(jié)的存在來(lái)確定肩關(guān)節(jié)的可能位置,然后使用該信息來(lái)估計(jì)手臂其余部分的姿勢(shì)。部位關(guān)聯(lián)字段(PAF)被廣泛應(yīng)用于人體姿態(tài)估計(jì),因?yàn)樗鼈兡軌虿蹲缴眢w部位之間的復(fù)雜關(guān)系,并且可以比其他方法更有效地處理遮擋和可變姿態(tài)。然而,生成它們可能需要大量的計(jì)算,并且可能需要大量的帶注釋的圖像或視頻數(shù)據(jù)集進(jìn)行訓(xùn)練。

雙方的匹配

用于確保同一圖像中一個(gè)人的關(guān)鍵點(diǎn)與另一個(gè)人的關(guān)鍵點(diǎn)不匹配。這是通過(guò)計(jì)算關(guān)鍵點(diǎn)之間的漢明距離并根據(jù)最小距離進(jìn)行映射來(lái)實(shí)現(xiàn)的,其中流行的算法是匈牙利算法。

解析結(jié)果

該過(guò)程的最后一步是解析結(jié)果,包括顯示圖像中每個(gè)人身的圖像關(guān)鍵點(diǎn)。這有助于每個(gè)人的人體姿勢(shì)的可視化。

在Python中進(jìn)行人體姿勢(shì)估計(jì)

谷歌發(fā)布了一個(gè)易于導(dǎo)入和運(yùn)行的名為Mediapipe的框架,該框架支持多種編程語(yǔ)言。本文將展示如何使用Mediapipe訓(xùn)練過(guò)的姿態(tài)估計(jì)模型。姿態(tài)估計(jì)模型經(jīng)過(guò)優(yōu)化,可以在輕量級(jí)設(shè)備上運(yùn)行。用戶(hù)可以使用該程序輸入包含人類(lèi)的圖像,并估計(jì)圖像中人類(lèi)的姿勢(shì)并解釋結(jié)果。

安裝Mediapipe

pip install mediapipe

讀取圖像并將圖像轉(zhuǎn)換為矩陣

Python 
 #Read an image
 img = cv2.imread("image.jpg")

將圖像從RGB轉(zhuǎn)換為BGR,以一種可以被Mediapipe接受的方式。

Python 
# Run MediaPipe Pose and draw pose landmarks.
 with mp_pose.Pose(static_image_mode=True, min_detection_cnotallow=0.5, model_complexity=2) as pose:
 # Convert the BGR image to RGB and process it with MediaPipe Pose.
 results = pose.process(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

將世界坐標(biāo)轉(zhuǎn)換為圖像坐標(biāo)。

Python 
 # Print nose landmark.
 image_hight, image_width, _ = img.shape
 if not results.pose_landmarks:
 continue
 print(
 f'Nose coordinates: ('
 f'{results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].x * image_width}, '
 f'{results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].y * image_hight})'
 )

類(lèi)中帶有l(wèi)andmark變量的結(jié)果對(duì)象的坐標(biāo)存儲(chǔ)在世界坐標(biāo)中,而不是精確的圖像坐標(biāo)中。上面代碼片段中的print語(yǔ)句顯示了轉(zhuǎn)換并打印圖像上的實(shí)際坐標(biāo)。

結(jié)果可視化

Python 
 # Draw pose landmarks.
 print(f'Pose landmarks of {name}:')
 annotated_image = raw_img.copy()
 mp_drawing.draw_landmarks(
 annotated_image,
 results.pose_landmarks,
 mp_pose.POSE_CONNECTIONS,
 landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style())
  cv2.imshow(annotated_image)
 cv2.waitKey(0)

上面的代碼將有助于可視化的人物的姿態(tài)與骨架關(guān)鍵點(diǎn)。

解讀結(jié)果

上圖顯示了人體每個(gè)點(diǎn)的坐標(biāo)存儲(chǔ)位置。在業(yè)務(wù)用例中,如果可以檢索精確的坐標(biāo)來(lái)重用以解決業(yè)務(wù)問(wèn)題,例如使用頭部坐標(biāo)來(lái)估計(jì)特定健身運(yùn)動(dòng)的次數(shù)或檢查手部坐標(biāo)以查看游泳時(shí)劃水的角度,那么姿勢(shì)估計(jì)是有用的。

完整的代碼

Python 
 #Import all dependencies
 #Source - https://google.github.io/mediapipe/solutions/pose.html
 import cv2 #For all image processing related information
 import math
 import numpy as np #For matrix operations
 import mediapipe as mp #Importing the library to run pose estimation

 #Read an image
 raw_img = cv2.imread("image.jpg")
 img = cv2.cvtColor(raw_img, cv2.COLOR_BGR2RGB)

 # Run MediaPipe Pose and draw pose landmarks.

with mp_pose.Pose(static_image_mode=True, min_detection_cnotallow=0.5, model_complexity=2) as pose:
 # Convert the BGR image to RGB and process it with MediaPipe Pose.
 results = pose.process(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

 # Print nose landmark.
 image_hight, image_width, _ = img.shape
 if not results.pose_landmarks:
 continue
 print(
 f'Nose coordinates: ('
 f'{results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].x * image_width}, '
 f'{results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].y * image_hight})'
 )

# Draw pose landmarks.
print(f'Pose landmarks of {name}:')
annotated_image = raw_img.copy()
mp_drawing.draw_landmarks(
 annotated_image,
 results.pose_landmarks,
 mp_pose.POSE_CONNECTIONS,
 landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style())
 cv2.imshow(annotated_image)
 cv2.waitKey(0)

姿態(tài)估計(jì)在國(guó)際足聯(lián)2022年世界杯中的應(yīng)用

姿態(tài)估計(jì)應(yīng)用比較廣泛,它被用于各種業(yè)務(wù)案例中。其中一些是在醫(yī)療保健、零售、健身和體育領(lǐng)域。最近舉辦的國(guó)際足聯(lián)2022年世界杯也使用了姿態(tài)估計(jì)技術(shù),通過(guò)使用視覺(jué)傳感器和硬件傳感器來(lái)識(shí)別球員越位。

判斷越位是足球比賽中的一項(xiàng)規(guī)則,要求進(jìn)攻球員在傳球前必須落后于對(duì)手球隊(duì)的最后兩名球員,這兩名球員通常是守門(mén)員和后衛(wèi)。判罰越位的錯(cuò)誤可能會(huì)發(fā)生,因?yàn)楸荣愡M(jìn)行得很快,裁判員必須離得很近才能判斷是否越位。此外,助理裁判可能無(wú)法做出準(zhǔn)確的決定,可能導(dǎo)致錯(cuò)誤的判罰。主裁判和助理裁判的錯(cuò)誤會(huì)給輸球的球隊(duì)造成損失,這些錯(cuò)誤通常涉及越位判罰和判斷進(jìn)球是否準(zhǔn)確。根據(jù)研究,裁判在大約20%~26%的越位判罰中會(huì)犯錯(cuò)誤。以下深入了解國(guó)際足聯(lián)如何使用姿勢(shì)估計(jì)來(lái)識(shí)別越位。

鷹眼攝像頭

2022年世界杯在每個(gè)球場(chǎng)使用12個(gè)鷹眼攝像頭,并放置在球場(chǎng)周?chē)?。攝像頭在現(xiàn)場(chǎng)進(jìn)行校準(zhǔn),以識(shí)別本地坐標(biāo)和全局坐標(biāo)。來(lái)自攝像頭的幀也有手動(dòng)標(biāo)記的線條,以幫助識(shí)別足球場(chǎng)地上的線條。

足球傳感器

除了用于跟蹤球員在場(chǎng)上運(yùn)動(dòng)的12個(gè)攝像頭之外,傳感器通常被放置在足球內(nèi)部,以幫助準(zhǔn)確跟蹤它的位置。在足球里使用傳感器可以讓系統(tǒng)以很高的精度跟蹤它的運(yùn)動(dòng),即使它在高速運(yùn)動(dòng)。

在足球上使用傳感器的一個(gè)原因是為了提高人工智能系統(tǒng)在場(chǎng)上檢測(cè)球位置的準(zhǔn)確性。僅靠攝像頭可能不足以在任何時(shí)候準(zhǔn)確跟蹤球的運(yùn)動(dòng),特別是在足球快速移動(dòng)或被場(chǎng)上球員或其他物體部分遮擋的情況下。通過(guò)使用傳感器,該系統(tǒng)可以更準(zhǔn)確地檢測(cè)到足球的位置和運(yùn)動(dòng),即使是在具有挑戰(zhàn)性的條件下。

傳感器還可以用來(lái)測(cè)量足球的其他特性,例如速度和旋轉(zhuǎn)速度,這對(duì)某些類(lèi)型的比賽(例如任意球和點(diǎn)球)很重要。通過(guò)準(zhǔn)確跟蹤這些特征,人工智能系統(tǒng)可以為視頻助理裁判(VAR)提供額外的信息,這些信息可能對(duì)足球比賽中的決策有用。

視頻助理裁判(VAR)

它包括一個(gè)被稱(chēng)為視頻助理裁判(VAR)箱的控制室,可以訪問(wèn)足球比賽的所有攝像頭視圖,以及一個(gè)視頻助理裁判(VAR)團(tuán)隊(duì),他們與場(chǎng)上的主裁判保持不斷的溝通。

人工智能裁判:將一切結(jié)合在一起

鷹眼攝像頭的每一幀都經(jīng)過(guò)姿勢(shì)估計(jì)處理器進(jìn)行處理,它預(yù)測(cè)幀中球員的骨架關(guān)鍵點(diǎn)。與此同時(shí),用時(shí)間戳連續(xù)記錄足球的坐標(biāo)。關(guān)鍵點(diǎn)檢查器將進(jìn)攻球員(試圖進(jìn)球的球員)和防守球員(試圖阻止進(jìn)球的對(duì)方球員)的預(yù)測(cè)關(guān)鍵點(diǎn)進(jìn)行比較。如果進(jìn)攻球員的關(guān)鍵點(diǎn)比進(jìn)攻和防守球員的關(guān)鍵點(diǎn)都更靠近球門(mén)線,就可能出現(xiàn)越位情況。如果關(guān)鍵點(diǎn)檢查器確定可能存在越位情況,它將從特定的時(shí)間戳中檢索進(jìn)攻球員的坐標(biāo),并檢查是否越位。如果所有條件都滿(mǎn)足,并且越位情況得到確認(rèn),則決定將被發(fā)送給視頻助理裁判(VAR)團(tuán)隊(duì)。視頻助理裁判(VAR)團(tuán)隊(duì)可以查看錄像,并為場(chǎng)內(nèi)裁判提供更多的信息,以幫助他們做出更明智的決定。

結(jié)論

在本文中,學(xué)習(xí)了使用深度學(xué)習(xí)的姿態(tài)估計(jì)的概念,使用谷歌Mediapipe實(shí)現(xiàn)姿態(tài)估計(jì),以及已經(jīng)解決了現(xiàn)實(shí)問(wèn)題的姿態(tài)估計(jì)的應(yīng)用。

原文標(biāo)題:Deep Learning-Based Pose Estimation,作者:Sumedh Datar

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2022-12-30 14:24:38

自動(dòng)駕駛

2018-06-27 19:32:59

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2021-01-03 14:43:43

深度學(xué)習(xí)人工智能視頻

2022-10-26 15:41:38

深度學(xué)習(xí)Deepfake機(jī)器學(xué)習(xí)

2024-11-04 08:14:48

2024-04-01 08:40:00

AI框架

2017-07-06 15:02:53

OpenGL ES架構(gòu)GPU

2017-05-22 13:15:45

TensorFlow深度學(xué)習(xí)

2022-04-14 10:29:57

機(jī)器學(xué)習(xí)時(shí)間技術(shù)

2018-06-04 10:39:39

人工智能深度學(xué)習(xí)

2022-03-28 18:59:02

DockerFlask深度學(xué)習(xí)

2025-01-13 10:00:00

2017-01-11 16:36:51

Intel開(kāi)源BigDL

2017-05-12 16:25:44

深度學(xué)習(xí)圖像補(bǔ)全tensorflow

2018-07-19 15:13:15

深度學(xué)習(xí)圖像

2024-05-17 13:17:39

2019-02-14 14:44:48

2021-11-26 18:37:39

技術(shù)人工智能計(jì)算機(jī)

2023-09-26 22:13:09

深度學(xué)習(xí)

2021-04-07 10:13:51

人工智能深度學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)