姿態估計(pose estimation) 常用指標介紹

  • 姿態估計(Pose Estimation)是計算機視覺中的一項技術,用於識別圖像或視頻中對象的關鍵點(如人體的關節或面部特徵)。衡量其性能的常用指標包括 PCK(Percentage of Correct Keypoints)OKS(Object Keypoint Similarity)
    • PCK 通過計算預測關鍵點與真值關鍵點之間的歐幾里得距離,判斷其是否小於目標框尺寸的一定比例(如 PCK@0.1 表示閾值為目標框的 10%)。該指標能簡單量化每個關鍵點的檢測準確性。
    • OKS 通過對不同關鍵點賦予權重,並考慮預測點與真值點的距離,計算整體相似性。它以高斯分布衡量準確性,特別適合多人場景。
  • 此外,AP(Average Precision)mAP(mean Average Precision) 也廣泛應用,主要通過不同閾值下計算關鍵點的精確率和召回率來評估模型的綜合表現。
  • 這些指標幫助研究者量化模型的準確性與穩定性,為改進姿態估計技術提供依據。
  • 底下是這些指標的詳細說明
  • 1.PCK→(Percentage of Correct Keypoints)
    • 描述→PCK 衡量的是預測關鍵點與真值關鍵點的距離是否小於某個閾值,若距離小於閾值,則認為該點的預測是正確的。
    • 公式→$\frac{正確預測的關鍵點數量}{總關鍵點數量}$
      • 正確的關鍵點數量:預測關鍵點與真值關鍵點之間的歐幾里得距離小於閾值的點。
      • 為什麼需要目標框?



        1. 尺度標準化

          • 不同目標大小差異很大。例如,一個遠處的人會很小,而一個近處的人會很大。如果直接比較關鍵點的像素距離,遠處的小目標會看起來誤差更小,因為像素距離本身較短,但這並不公平。

          • 引入目標框可以提供一個相對的尺度,讓我們根據目標大小設定合理的閾值。



        2. 通用性

          • 目標框幫助統一評估標準,讓我們可以跨不同圖片和場景比較結果,而不依賴於絕對距離。



        • 舉例
          • 假設有一張圖片中包含一個人,目標框定義為:
            • 左上角 (x_min, y_min) = (50, 50)
            • 右下角 (x_max, y_max) = (150, 200)
            • 目標框的對角線長度:
            • $\text{對角線長度} = \sqrt{(x_{\text{max}} – x_{\text{min}})^2 + (y_{\text{max}} – y_{\text{min}})^2} = \sqrt{(150 – 50)^2 + (200 – 50)^2} = \sqrt{100^2 + 150^2} = \sqrt{32500} \approx 180.28$
            • 如果 PCK@0.1,則閾值為:
            • $\text{閾值} = 180.28 \times 0.1 = 18.03$
            • 如果某關鍵點的真值是 (120, 140),預測點是 (130, 150),則距離為:
            • $\sqrt{(130 – 120)^2 + (150 – 140)^2} = \sqrt{10^2 + 10^2} = \sqrt{200} \approx 14.14$
            • 因為 14.14 < 18.03,所以該點計為「正確預測」。
  • 2.OKS→(Object Keypoint Similarity)
    • 描述→OKS 是姿態估計中衡量關鍵點預測與真值相似度的重要指標,其概念類似於物體檢測中的 IoU,但應用了對關鍵點的距離評估。 OKS 衡量每個關鍵點的預測值與真值的距離,並將距離的影響歸一化到物體尺度和關鍵點的敏感性上。


    • 公式

      $$\text{OKS} = \frac{\sum_i \exp\left(-\frac{d_i^2}{2s^2k_i^2}\right) \cdot v_i}{\sum_i v_i}$$

      • $d_i$→預測的關鍵點與真值關鍵點的歐幾里得距離。
      • $s$→物體的尺度(通常是目標框的面積平方根)。
      • $k_i$→每個關鍵點的尺度敏感性(固定參數,反映該關鍵點的預測難度)。
        • **為什麼需要不同的 **$k_i$
        • 不同關鍵點的重要性和穩定性不同,比如:
          1. 頭部 vs 手指尖
            • 頭部通常容易被準確檢測到,因為它的特徵明顯且受遮擋的影響較小,因此可以設定較小的容忍誤差。
            • 手指尖則更難準確預測,因為它們體積小且可能被遮擋,因此容忍誤差可以稍大一些。
          2. 應用場景
            • 在一些應用中,某些關鍵點可能更為重要(例如醫療場景中關鍵骨骼位置),因此 $k_i$ 可以反映特定場景的需求。
          3. 對關鍵點分佈的補償
            • 某些關鍵點的分佈會隨著目標大小或姿勢而改變, $k_i$ 允許我們對這些特性進行適當補償。
      • $v_i$→標記的可見性(1 表示可見,0 表示不可見)。
    • OKS 的計算方式

      • 如果 $d_i$ 很小(即預測點很接近真值點),則 OKS 趨近於{{ 1}}。
      • 如果 $d_i$ 很大(即預測點遠離真值點),則 OKS 趨近於 {{0}}。
      • OKS 為所有關鍵點的加權平均值。
  • 3.AP (Average Precision)
    • 描述→和物件偵測的概念一樣,算出precision 與 recall 後,計算曲線下的面積就是AP,差別就在於 姿態偵測有另外計算TP、TN、FP、FN的方式
      • (a) True Positive (TP)
        • 預測點與真值點的距離小於設定的閾值,且該真值點被正確匹配。
        • 例子:真值中有一個膝蓋的關鍵點,預測點準確落在它附近(滿足距離閾值),則記為一個 TP。
      • (b) False Positive (FP)
        • 預測點存在,但它與任何真值點的距離都大於設定的閾值(誤檢)。
        • 例子:模型預測出一個不存在的關鍵點,例如在空白區域預測出一個膝蓋點,則記為一個 FP。
      • (c) False Negative (FN)
        • 真值點存在,但模型沒有在其附近預測到任何點(漏檢)。
        • 例子:真值中標註了一個肩膀點,但模型未能在合理範圍內預測該點,則記為一個 FN。
      • (d) True Negative (TN)
        • 這在姿態估計中通常不考慮,因為關鍵點評估只針對標註的點進行,而未標註的點(背景區域)並不是評估重點。
  • 4.mAP (mean average precision):
    • 描述→和物件偵測的概念一樣,算出AP後就可以根據所有的關鍵點算出mAP
    • 公式→$\text{mAP} = \frac{1}{N} \sum_{i=1}^N \text{AP}_i$
      • N→關鍵點的數量
  • 5.reference
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments