CVPR2019CrossInfoNet:Multi-Task Information Sharing Based Hand Pose Estimation論文閱讀完畢

Abstract

本文聚焦於計算機視覺中的熱點問題(用CNN從單張深度圖中估計手勢),主要貢獻在於提出CrossInfoNet,這個網絡把手勢估計任務劃分爲兩個子任務(手掌估計與手指估計),並且在這兩個子任務中cross-connection共享信息。另外提出,基於heat-map指導的特徵提取。

1.Introduction

3D手勢估計一直是計算機視覺中的一個熱點,輸入數據包含單目RGB,立體RGB,深度圖,方法可以分爲生成式和判別式兩類。由於大量數據的增加與計算能力的增強,CNN展現了很強的能力,已經編程目前的主流方法。

在2017年,HIM2017(在深度圖上手勢估計)受到許多研究團隊關注,競賽總結文章[43]中提出 的問題也是我們關心的。

首先,把深度圖看做2D圖像,並且直接回歸3D關節點座標是手勢估計的常見pipeline。儘管把2.5D深度圖轉爲3D體素會保留更多信息,但是卻面臨繁多的參數,而且仍存在信息缺失。在我們的工作裏,我們傾向於認同[39]的觀點,利用2DCNN的優勢,努力從2D輸入中挖掘更多的信息。

第二,設計有效的網絡會受到更多的關注。在機器學習領域中,多任務學習通過信息共享在保留更多內在信息方面比單任務更有優勢。同時,多任務學習也可以使模型有更好的泛化能力。然而,多任務學習在基於CNN的手勢估計中,還沒有獲得較多關注。如[39]所言,他們率先嚐試在多任務set-up中把手勢估計迴歸結果和heat-map檢測融合起來。受他們的啓發,我們設計爲手勢估計以多任務的方式設計了一個新的CNN結構。層次模型是手勢估計網絡之一,也展示了較好的性能。它通常把手勢估計問題,通過分別處理不同手指或者不同類型的關節,劃分爲多個子任務。直觀地來說,手掌關節點比那些更靈活的手指關節有更緊密的ite-ups(關係)。整體的手勢主要受手掌關節點狀態決定,而局部手勢由手指關節來反映。基於這一知識,我們在多任務中設計了新的層次模型。我們提出的架構有兩個分之,分別對應手掌關節迴歸子任務和手指關節迴歸子任務。通過兩個分支間的cross-connections(交叉連接),一個分支中的noise(噪聲)變成另一個分支中的補充增強信息。因多任務信息共享,這將有助於每個分支聚焦與它自己的特定子任務。

第三,輸出的表示方法可以別分爲概率密度圖(heat-maps)和每個關節點的3D座標。因爲2D深度圖和3D關節點座標的映射是非線性的,這將阻礙學習進程,阻礙網絡準確第估計關節點座標。相比之下,用heat-map表示輸出比單個關節點位置提供更多關節相關性信息,這將有利於網絡獲取更好的特徵圖。在[43]的分析中已經總結出,基於heat-maps方法比直接座標迴歸的方法更好。然而,在基於Heatmap的方法中,最終的關節點座標通常是在heat-maps上執行max操作來推出。max操作是不可導的,它不得不作爲一個後處理,不是端到端的訓練。考慮了兩種表示的優點之後,我們提出了heat-map指導的特徵提取網絡結構。事實上,我們的想法巧妙地應用了多任務參數共享。

總之,爲了實現基於CNN的從單張深度圖的手勢估計,我們的工作的主要貢獻如下:

1.一個新的多任務手勢迴歸網絡。它利用多任務學習的信息共享機制。我們用層次模型把最終的任務劃分到手掌關節迴歸和手指關節迴歸。通過分支間的交叉連接,產生的"attention mask"指導一個分支聚焦與手掌關節迴歸,另一個分支聚焦於手指關節點回歸。因爲"attention-mask"增強了子任務特徵,所以估計的準確度被有效地提高。

2.提出heat-map指導的特徵提取結構。它從heat-map檢測任務傳送了更多的有效特徵給關節點估計任務,且不損失端到端訓練的優點。

3.我們實現了許多baseline來研究多任務中的信息共享,這將提供有價值的指導。我們也在常用的數據集上進行大量的實驗,和現有的方法比較性能

2.Related Works

Pose parameterization:手勢估計的任務是找到關節點座標。存在的問題:3D和輸入之間是非線性映射。

現有方法:Tompson用每個關鍵點的2Dheat-maps做參數,在後處理中轉爲3D座標;用heat-maps做中間表示沒有降低學習能力,也提高了泛化能力。

Ge在此上用多視點CNN擴展;Moon採用3Dheat-maps做手勢參數;Wan把手勢參數分解爲:2Dheat-maps,3Dheat-maps,3D方向向量場;這些不同的輸出都通過一種投票表決機制(均值偏移後處理方法的變體)來轉爲3D座標。和他們不同的是,我們的工作在heat-map的約束下用3D座標迴歸。這種策略可以幫助模型學習更好的特徵圖,不需要後處理也可以活動準確的關鍵點座標。

Model design:根據手的運動學或者形態學設計網絡在近些年已經有很多結果。結構模型在模型中或者Loss函數中嵌入手的生理學運動約束。層次模型根據手的結構把手勢估計任務劃分到子任務中。

chen在多區域提取中給每個手指和關節類型建立約束。Madadi設計了一個用5個分支建模手指,用一個額外的分支建模手掌方向的層次結構CNN;zhou設計三分支,一個分支大拇指,一個分支食指,另一個分支其他手指。

常識:手指比手掌更靈活。如果我們用兩個不同的參數集分別表示手掌和手指,迴歸任務將變得更容易實現。另外我們設計了兩個分支間的交叉連接,這幫助每個分支聚焦於他們自己的任務。

Multi-task information sharing:通過相關任務間的信息共享,多任務學習使得模型在任務上泛化的更好。多任務學習在很多應用取得成功,比如人體姿態估計。Xia人體解析與估計。Nie提出人體解析和估計的相互學習;

多任務學習在手勢估計任務中較少使用。[39]是第一個,他們把手勢參數分爲2Dheat-maps,3Dheat-maps,3D方向向量場。

我們的方法也是多任務,但與[39]不同,我們把手關節點劃分爲兩個子集,一個是手掌關節點,一個是手指關節點。對這個兩個子集分別建立相應的迴歸子任務,通過交叉連接,實現信息共享。

3.Method

手是一個鉸接式對象,有着高自由度,準確估計手勢是有點困難的。爲了處理輸入的深度數據和輸出的手關節點座標間的非線性映射,手勢估計任務可以簡化爲多個子任務,每個子任務負責子部件或者關節點子集估計。這是我們設計層次模型的原因。在這裏,我們設計了一個新的可信息共享的層次模型,叫做CrossInfoNet,如圖1所示。第一部分是初始特徵提取模塊,在這裏我們整合heat-maps作爲約束來學習更好的特徵圖,獲得所有的初始關節點特徵。第二部分是特徵細化模塊,在這裏任務被分爲兩個子任務,一個子任務估計手掌關節點,一個子任務估計手指關節點。在這個模塊裏的信息共享策略指導網絡從counterpart(子任務兩方)利用有用的線索,來有效提高手勢估計性能。最後一個部分是關節座標迴歸模塊。

接下來,3.1描述基於heat-map指導的初始特徵提取模塊,3.2基本的網絡(不包含信息共享的兩個相互獨立的子任務)3.3兩個子任務間如何通過交叉信息共享提供補充信息的。3.4損失函數。3.5實現細節。

3.1heat-map guided feature extration

當用一個淺的cnn來提取特徵,估計結果通過不盡人意。有這個問題的存在,我們設計了一個新的兩階段特徵提取網絡,初始特徵提取模塊和特徵細化模塊。在特徵細化模塊,我們選用帶有資格殘差模塊的ResNet-50作爲backbone,如圖2所示。爲了得到更多的信息,我們使用特徵金字塔來合併不同特徵層。我們把用來回歸初始關鍵點位置的特徵圖表示爲T。與其他基於heat-map的檢測方法不同,在這裏,heat-map只用來作爲約束指導特徵提取,不會傳送到後面的模塊。得到的有256個通道的特徵圖T作爲特徵細化模塊的輸入。殘差塊的大小是3*3,max-pooling是2*2,步長是2。卷積是3*3.

3.2Baseline feature refinement architecture

一些現有的手勢估計方法設計樹形分支,每一個分支負責一個獨立的子任務,或者從一個子任務的輸出中提取手特徵,在後處理中有助於其他任務進行。他們不能提取有力的特徵或者增強模型。爲了充分利用提取的信息,我們基於多任務信息共享提出一個新穎的特徵細化模塊。在介紹多任務特徵細化模塊之前,我們首先給出多任務架構的baseline。如圖3所示。

在所有關節點中,手掌關節點的活動空間比手指關節點的更小,所以這兩個部分的迴歸複雜程度是不同的。如果我們使用兩個不同的參數集合來表示手掌Pose和手指pose,手勢回更容易被迴歸。因此,我們把手掌關節點回歸和手指關節點回歸分到兩個獨立的分支。在不同的分支中,來自初始特徵提取模塊的特徵圖T被輸入到殘差塊來提取手掌或手指更內在的局部特徵。然後,手掌分支全連接層的輸出fp和手指分支的輸出ff被串聯起來估計所有關節點座標。我們把這個架構作爲baseline網絡。因爲ICVL,NYU,MSRA數據集有不同的標註方法,關節點分組是不一樣的,如圖4所示。HAND2017和MSRA一樣。

3.3New feature refinement architecture

baseline網絡只考慮了從每個分支中獨立的迴歸手掌和手指pose,這和通常的分支網絡沒有顯著區別。兩個分支除了輸入的特徵T,沒有一點共享信息。然而在手掌關節點回歸分支,有榮譽的手指特徵。這些手指特徵對於手掌姿態迴歸來說可能是噪聲,但是對手指Pose迴歸是有益的。當然,在手指回歸分支中也存在這個問題。爲了充分利用兩個分支間的有用的噪聲,我們嘗試在多任務網絡中設計信息共享。Two-task Cross-stitch Network是一個通用的多任務網絡,如圖5(a)所示。它用多個cross-stitch單元通過lazy fusion。然而,lazy cross-stitch可能導致子任務間干擾,而且lazy cross-stitchz不能清楚地理解子任務(子任務的相似性和相關性)。

我們希望指導子任務如何與對方交互。通過基於指導的信息共享,與相同目標相關的特徵應該被合併,被加強。圖5(b)展示了提出的多任務信息共享機制。它使用skip line,通過從全部手特徵中減去手掌特徵,來分離手掌和手指。然後使用cross line串聯來自兩個分支的手指特徵。它減少了手掌的干擾,增強了手指特徵,反之亦然。

網絡結構的細節如圖6所示。初始特徵T包含手掌特徵和手指特徵。T和手掌主要特徵P0通過跳躍鏈接做減操作,我們獲得冗餘的手指特徵F-m,被看做是手指注意力Mask。這個mask對於手掌姿態迴歸來說是噪聲,但是對於手指姿態迴歸有益,可以幫助手指回歸分支提取更精細的特徵。同樣,我們通過交叉連接獲得手掌"attention mask"P-,P0和P-連接,形成增強的手掌特徵P1,。增強的手指特徵F1也可以通過相同的步驟得到。這樣,我們的新的網絡結構在兩個不同任務間建立了連接。從後面的殘差塊得到輸出特徵F2,P2。最後,通過最後的迴歸模塊得到3D手關節點座標。網絡參數如圖6.手勢迴歸處理描述在算法1

3.4Loss functions

我們採用gt與估計結果的均方誤差作爲loss函數。在初始特徵提取模塊,使用heat-map作爲約束指導網絡學習好的全局特徵,所以heat-map的檢測Loss是Lht(2D)

在特徵細化模塊,我們引入兩個約束Lbp,Lbf,來提取手掌和手指的初始特徵P0和F0(2D)

在迴歸模塊,用三個loss來監管每個子任務的最終輸出和總得手指關節點位置。Lep.Lef.La(3D)

總Loss是L=a*(Lht+Lbp+Lbf)+b*(Lep+Lef+La),a=0.01,b=1

3.5實驗細節

手區域首先從原始圖像裁剪,然後resize到固定大小96*96,。對應被裁剪的深度圖區域值標準化到[-1,1],標籤也被標準化以保持和對應深度圖的對應。在訓練時使用在線數據增強,包括隨機旋轉[-180,180],平移[-10,10],縮放[0.9,1.1]

提出的網絡是端到端訓練的,所有的權重從均值爲0的標準分佈初始化。用Adam從初試學習率le-3,batch size 128,weight decay1e-5,每輪次學習率下降0.96倍。dropout rate爲0.6來防止過擬合

我們的網絡用tf實現,2080TI訓練測試。訓練了110輪次。在ICVL訓練15個小時,NYU和MSRA上訓練6.5小時,在HANDS2017上訓練3天。測試時間在單個GPU上124.5fps

4實驗和結果

4.1數據集和評估

ICVL數據集:330K訓練,1.5K測試。測試集包含真正的22k和額外平面旋轉增強的300K.數據集標註了16個關鍵點。用全部的幀訓練,在自比較時只用22k

NYU數據集:NYU數據集來自3個不同的視點72k訓練幀,8k測試幀。訓練集從對象A收集,測試集從AB收集。大多數現在的工作都是隻用視點1和14個標註點來訓練測試。所以我們也使用同樣的設置。

MSRA數據集:76.5K深度圖,帶有21個標註點。9個subject,分別17個不同手勢。遵循常用的評估策略,我們也使用leave-one-subject-out

HANDS 2017:957k訓練,295k測試深度圖。這些圖來自於BigHand2.2M和FHAD數據集。訓練集包含5個subjects,測試集包含10個subjects,包含10個未知subject。數據集標註了21個關節點。

評估:我們用兩個指標來評估不同3D手勢估計方法。一個是平均3D距離誤差,另一個是在一個閾值內成功幀的百分比。

4.2自比較

我們在ICVL和NYU上進行消融實驗。爲了評估heat-map約束的優點,我們比較了baseline網絡和沒有heat-map約束的。爲了顯示多任務信息共享網絡的性能,我們把它和baseline網絡進行比較。

如表1所示。

base+hm好,證明heat-maps約束使得模型獲得更好的特徵和降低估計誤差。

cross+hm好,顯然實驗結果支持我們的觀點,多任務信息共享可以使手勢估計更準確

4.3Comparisions with state-of-the-art methods

和現有的以depth maps(2D)作爲輸入的,以點雲或者體素(3D)作爲輸入的方法進行比較。

雖然在以體素爲輸入的方法上比不過V2V等,但是V2V等test時間長

5.Conclusion

我們的方法是爲了從深度數據爲輸入 探索一個高效的CNN網絡獲取手的關節點座標。我們設計了一個雙分支交叉連接的網絡,在多任務設置中通過信息共享分層次地迴歸手掌pose和手指pose。也使用Heat-maps指導獲取更好的特徵圖。實驗結果證明,我們提出的策略能獲得更好的結果,在3個3D手勢數據集上比也比現有方法好。而且,我們的方法在挑戰賽上也取得了最好的結果。                                                                                        

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