深度学习和目标检测系列教程 22-300:关于人体姿态常见的估计方法
@Author:Runsen
姿態估計是計算機視覺中的一項流行任務,比如真實的場景如何進行人體跌倒檢測,如何對手語進行交流。
作為人工智能(AI)的一個領域,計算機視覺使機器能夠以模仿人類視覺為目的來執行圖像處理任務。
在傳統的物體檢測中,人們只會被感知為一個邊界框(一個正方形)。通過執行姿勢檢測和姿勢跟蹤,計算機可以理解人體語言。然而,傳統的姿勢跟蹤方法既不夠快,也不夠穩健,無法實現遮擋。
高性能實時姿勢檢測和跟蹤將推動計算機視覺領域的一些最大趨勢。例如,實時跟蹤人體姿勢將使計算機能夠對人類行為進行更細粒度、更自然的理解。
這將對各個領域產生重大影響,例如在自動駕駛領域,通過實時人體姿勢檢測和跟蹤,計算機能夠更好地理解和預測行人行為——從而實現更自然的駕駛。
人體姿態估計旨在預測圖像或視頻中人體部位和關節的姿態。由于姿勢運動通常由某些特定的人類動作驅動,因此了解人類的身體姿勢對于動作識別至關重要。
二維人體姿態估計用于從圖像和視頻等視覺對象中估計人體關鍵點的二維位置或空間位置。傳統的 2D 人體姿態估計方法對各個身體部位使用不同的手工特征提取技術。
基于現代深度學習的方法通過顯著提高單人和多人姿勢估計的性能取得了重大突破。一些流行的 2D 人體姿態估計方法包括 OpenPose、CPN、AlphaPose 和 HRNet。
在人體姿勢估計中,人體部位的位置用于根據視覺輸入數據構建人體表示(例如身體骨架姿勢)。因此,人體建模是人體姿態估計的一個重要方面。它用于表示從視覺輸入數據中提取的特征和關鍵點。通常,基于模型的方法用于描述和推斷人體姿勢并渲染 2D 或 3D 姿勢。
大多數方法使用 N 關節剛性運動學模型,其中人體被表示為具有關節和四肢的實體,包含身體運動學結構和身體形狀信息。
人體建模的模型分為三種:
-
Kinematic Model 運動學模型,也稱為基于骨架的模型,用于 2D 姿態估計和 3D 姿態估計。這種靈活直觀的人體模型包括一組關節位置和四肢方向來表示人體結構。因此,骨骼姿態估計模型用于捕捉不同身體部位之間的關系。然而,運動學模型在表示紋理或形狀信息方面受到限制。
-
Planar Model 用于二維姿態估計的平面模型或基于輪廓的模型。平面模型用于表示人體的外觀和形狀。通常,身體部位由多個近似人體輪廓的矩形表示。一個流行的例子是活動形狀模型(ASM),它使用主成分分析來捕獲完整的人體圖和輪廓變形。
-
Volumetric model 體積模型,用于 3D 姿態估計。存在多種流行的 3D 人體模型,用于基于深度學習的 3D 人體姿態估計以恢復 3D 人體網格。例如,著名的GHUM和 GHUML(ite) 是完全可訓練的端到端深度學習管道,在超過 60,000 個人體配置的全身掃描高分辨率數據集上進行訓練,以對統計的和鉸接的 3D 人體形狀進行建模和姿勢。
姿勢估計通過找到人或物體的關鍵點來操作。以一個人為例,關鍵點是肘部、膝蓋、手腕等關節。姿勢估計有兩種類型:多姿勢和單姿勢。單姿態估計用于估計給定場景中單個物體的姿態,而多姿態估計用于檢測多個物體的姿態。
流行的MS COCO 數據集上的人體姿態估計可以檢測 17 個不同的關鍵點(類)。每個關鍵點都用三個數字 (x,y,v) 進行注釋,其中 x 和 y 標記坐標,v 表示關鍵點是否可見。
"nose", "left_eye", "right_eye", "left_ear", "right_ear", "left_shoulder", "right_shoulder", "left_elbow", "right_elbow", "left_wrist", "right_wrist", "left_hip", "right_hip", "left_knee", "right_knee", "left_ankle", "right_ankle"基于深度學習的姿態估計方法
由于姿態估計是一種易于應用的計算機視覺技術,我們可以使用現有架構實現自定義姿態估計器。幫助您開始開發自定義姿態估計器的現有架構包括:
-
HRNet:高分辨率網絡 (HRNet)是一種用于人體姿態估計的神經網絡。它是一種用于圖像處理問題的體系結構,用于查找我們所知道的關于圖像中特定對象或人的關鍵點(關節)。這種架構相對于其他架構的一個優點是,大多數現有方法將低分辨率表示中的姿勢的高分辨率表示與使用高低分辨率網絡相匹配。代替這種偏差,神經網絡在估計姿勢時保持高分辨率表示。例如,這種 HRNet 架構有助于檢測電視體育賽事中的人體姿勢。
-
OpenPose是最流行的自下而上的多人人體姿勢估計方法之一。該架構具有實時、多人姿勢估計的特點。OpenPose 是一個開源的實時多人檢測,在檢測身體、腳、手和面部關鍵點方面具有很高的準確性。OpenPose 的一個優點是它是一個 API,它使用戶可以靈活地從攝像頭字段、網絡攝像頭等中選擇源圖像,更重要的是對于嵌入式系統應用程序(例如,與 CCTV 攝像頭和系統的集成)。它支持不同的硬件架構,例如 CUDA GPU、OpenCL GPU 或 CPU-only 設備。
-
DeepCut是另一種流行的自下而上的多人人體姿勢估計方法。DeepCut 用于檢測多人的姿勢。該模型的工作原理是檢測圖像中的人數,然后預測每個圖像的關節位置。DeepCut 可以應用于多人/物體的視頻或圖像,例如足球、籃球等區域多人姿勢估計。
-
AlphaPose 是一種流行的自上而下的姿勢估計方法。在存在不準確的人體邊界框的情況下檢測姿勢很有用。也就是說,它是通過最佳檢測邊界框估計人體姿勢的最佳架構。AlphaPose 架構適用于檢測圖像或視頻領域中的單人和多人姿勢。
-
DeepPose是一個利用深度神經網絡的人體姿勢估計器。DeepPose 的深度神經網絡 (DNN) 捕獲所有關節,鉸接一個池化層、一個卷積層和一個全連接層以形成這些層的一部分。
-
PoseNet 是一種基于 tensorflow.js 的姿態估計器架構,可在瀏覽器或移動設備等輕量級設備上運行。因此,PoseNet可以被用來估計任何一個單個姿態或多個姿態。
-
DensePose是一種姿態估計技術,旨在將 RGB 圖像的所有人體像素映射到人體的 3D 表面。DensePose 也可用于單個和多個姿態估計問題。
總結
以上是生活随笔為你收集整理的深度学习和目标检测系列教程 22-300:关于人体姿态常见的估计方法的全部內容,希望文章能夠幫你解決所遇到的問題。