DirectPose | 首個 檢測&關鍵點 迴歸網絡

DirectPose: Direct End-to-End Multi-Person Pose Estimation
論文地址:https://arxiv.org/pdf/1911.07451.pdf

1.出發點

最近,anchor-free的思想在CV的各個方向都大放異彩,尤其是目標檢測領域。多數anchor-free的目標檢測算法利用對圖像中特徵點的定位,實現目標檢測。很容易看出,一個人體實例的關鍵點可以看作是一個具有兩個以上(多個)角點的特殊的邊界框,因此可以通過將更多的輸出頭附加到基於anchor-free的目標檢測網絡來解決人體關鍵點定位任務。基於此,產生了文章提出的端到端的人體關鍵點定位算法,DirectPose。該算法既不屬於bottom-up系列也不屬於top-down系列,作者希望這類方法能夠爲關鍵點定位任務提供一個新的視角。

2.DirectPose優勢

DirectPose是一種端到端的關鍵點檢測框架,直接將輸入圖像映射到對應人體實例的關鍵點上。該算法既不屬於bottom-up類算法也不屬於top-down類算法,因此DirectPose避免了上述兩類關鍵點檢測算法固有的問題,其即不像top-down類算法需要依賴先驗的人體框,計算耗時也可以和輸入圖像中人體實例的個數解耦。也不像bottom-up類算法使用啓發式方法將檢測到的關鍵點分配到對應的人體實例上去。最後該算法更不需要使用現在人體關鍵點領域中常規的基於heatmap進行預測,避免了使用heatmap而帶來的固有的編解碼偏差。基於本算法的框架進一步說明了,我們可以使用目標檢測的手段來解決關鍵點檢測的任務,從而在同一個框架中同時實現這兩個任務。

3.DirectPose框架介紹

DirectPose是在anchor-free目標檢測算法FCOS的基礎上,將每個像素迴歸的數量從4增加到2K,其中K是每個人體實例的關鍵點數量。換句話說,算法把關鍵點看作一個特殊的有K個角點的邊界盒。將FCOS作上述簡單的替換,就形成了DirectPose這個算法。且在保留原有的邊界框分支的情況下,得到的算法可以同時進行關鍵點和邊界框檢測。

然而能量永遠是守恆的,DirectPose利用直接預測關鍵點這種簡單的方式,勢必無法得到滿意的檢測結果。在FCOS目標檢測算法中,單個特徵向量可能足以承載簡單的邊界框檢測所需的信息,但由於人體關鍵點數量多且要求更精準,如下圖所示,這要求一個特徵向量能夠迴歸一個人體實例的所有關鍵點。因此,這樣肯定是無法得到很精確的人體關鍵點位置的。本文的實驗也驗證了這一說法。

4.關鍵點對齊機制(KPAlign)

基於上述分析,本文提出了關鍵點對齊(KPAlign)模塊,KPAlign模塊儘可能將卷積特徵與目標關鍵點(或一組關鍵點)對齊,然後使用對齊的特徵預測目標關鍵點的位置。避免了單個特徵向量表徵性不夠的問題。又因爲目標關鍵點和其對應的卷積特徵大致對齊,因此只需要對目標關鍵點附近的特徵進行編碼。且KPAlign模塊連續可微,不影響模型端到端的特性。KPAlign模塊整體示意圖如下。

如上圖所示,KPAlign模塊由對齊器和預測器構成。其中對齊器由定位器和特徵採樣器。

(1).Aligner(對齊器)

對齊器由locator(定位器)和特徵採樣器組成,並輸出對齊的特徵向量。定位器本質上是3×3的卷積層,可以預測關鍵點的大致位置。接下來,特徵採樣器在這些位置採樣特徵向量。值得注意的是,這些位置座標可以是小數,且座標是小數時可以用雙線性採樣獲取對應位置的特徵。最後,對齊器可以大致對齊特徵和預測的關鍵點。預測器使用這些對齊的特徵向量進行最終關鍵點預測。

(2).Predictor(預測器)

將Aligner對齊器輸出的特徵向量輸入到Predictor預測器進行最後的關鍵點定位。預測變量包括K個卷積層(即每個關鍵點對應一個卷積層)。舉例來說,假設我們現在預測第t個關鍵點,φt表示第t個卷積層,最終第t個關鍵點的位置計算公式如下,結合了採樣後的結果和原始像素輸出的結果。

若要得到最終的關鍵點位置,需要使用相同的下採樣率對座標進行重新縮放。爲簡單起見,上述公式中省略了重新縮放運算符。下面將介紹三種可以提升KPAlign模塊的策略。

分組KPAlign

根據上述的KPAlign模塊來採樣K個關鍵點的K個特徵向量。 實際上,這是不必要的,因爲某些關鍵點(例如,鼻子,眼睛和耳朵)總是在相同的局部區域中。 因此,作者將關鍵點分組,並且同一組中的關鍵點將使用相同的特徵向量,這會將採樣的特徵向量的數量從K減少到G,且不會影響精度。

使用分散的特徵採樣

在前面描述的KPAlign中,所有關鍵點組都使用特徵圖F中所有的通道(256)作爲輸入。 通過實驗發現,我們發現如果對G個關鍵點組使用不同的特徵,則可以顯着提高性能。 爲了降低計算複雜度,將每個Ft的信道數設置爲256/4=64。(這64個通道是隨機的)。

特徵採樣器從哪裏採集特徵

爲了方便起見,上述Aligner(對齊器)中的採樣器對locator(定位器)的輸入特徵圖上的特徵進行採樣,因此Predictor(預測器)和locator(定位器)採用相同的特徵圖作爲輸入。然而由於locator(定位器)是粗定位,需要大感受野的低分辨率的高層特徵;而Predictor(預測器)是精定位,需要小感受野的高分辨率的淺層特徵。所以上述特徵輸入的方式本質上存在問題。基於此,本文規定若locator(定位器)使用的是PL層的特徵,則Predictor(預測器)就使用PL-1層的特徵。

5.基於熱度圖進行輔助迴歸

另外,衆所周知,在一張圖上對座標點進行直接回歸是很困難的,模型將以難收斂。因此之前的算法都將關鍵點檢測任務轉化爲基於heatmap的像素點級別的分類任務。但由於基於heatmap的框架無法實現端到端操作。因此本文使用了直接回歸點的策略。作者發現迴歸任務可以在很大程度上受益於基於熱圖的學習。因此,作者建議在訓練期間共同學習這兩個任務,從而使得最終迴歸到的關鍵點更加精準。在測試時,基於熱圖的分支被禁用,因此不會 給框架帶來任何開銷。

熱圖輔助預測

由於是輔助訓練,所以不使用高斯模糊製作標籤,而是直接用點進行熱圖預測。最後由於正負樣本不均勻,且難易程度不同,所以最後使用focal loss進行約束。

6.結果分析

作者對上述的幾種策略做了熔斷實驗。實驗結果如下:
下表結果Baseline表示直接用文章開頭提到的端到端網絡進行關鍵點預測的結果。而第二行表示加入KPAlign策略但是不將該策略裏面的Aligner(對齊器)始能。而第三行表示本文提出的基於KPAlign策略的關鍵點檢測結果。很顯然特徵對齊操作很影響性能。

如下表所示,爲上述提到的分組KPAlign使用分散的特徵採樣特徵採樣器從哪裏採集特徵這三種策略作用於KPAlign中,其效果依次如下所示。很顯然,三種策略都是有效的。

如下表所示,爲基於熱度圖輔助訓練的結果展示。很顯然,使用熱圖預測學習可以極大地提高性能。

如下表所示,利用該框架同時執行人體框檢測在COCO mini驗證集上達到55.3AP。

下圖展示了本文提出的算法,與現有的bottom-up和top-down系列算法進行比對。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章