遷移性好多用途港中文提出特征分離的無監督人類三維姿態表征

遷移性好、多用途,港中文提出特征分離的無監督人類三維姿態表征​

來源 |我愛計算機視覺(ID:aicvml)

本文將介紹一種基於特征分離的通用人類姿態特征的學習算法

Unsupervised Human 3D Pose Representation with Viewpoint and Pose Disentanglement。

該算法從無監督的特征分離過程中,習得瞭一個遷移性好、多用途的人類3D姿勢的表征,從而有助於人工智能系統獲取對人體姿態一個通用本質的理解。

實驗證明,所習得的表征,能夠用於姿態去噪、人體動作識別和人體3D姿態估計等多個不同的任務。這篇文章來自於香港中文大學,被ECCV 2020 收錄。本文將言簡意賅的分享這篇文章,希望對讀者有所啟示。

問題解析

在這篇文章中,作者首先對人類姿勢表征學習這一問題進行瞭剖析,認為人體姿態表征應該考慮一下幾個方面:

1)人體姿態的本質特征(inherent feature)是什麼

作者認為,姿態表征應該首先能夠表達人體姿態的本質特征,而該特征應該同時包括人體關節間運動學關系(kinematic dependency)和人體骨骼結構外觀特性(geometric dependency)。

人體關節間運動學關系表述瞭運動在人體各部分間的傳播關系,解釋瞭人體姿態是如何生成的,以及決定著在某一動作中身體各個部分的作用。外觀特性指人體骨骼結構特有的外觀,比如說左右肢體的對稱性。

2)本質特征的視角不變性(view-invariant)

數據記錄中的人體姿態常常隨著觀測相機的視角變化而變化。但人體姿態的本質特征是不隨視角而改變的。表征作為人體姿態的抽象理解,應該也具備這樣的特性。

3)特征分離(feature disentanglement)

人體姿態的形成常常是多個因素互相作用的結果。例如,某一個人體姿態跟動作的執行者、動作本身、以及相機的記錄角度是息息相關的。人工特征提取常常基於人類的先驗知識,從物理學或統計學的角度去考慮某些因素。

這些考慮常常是不完善的,容易導致信息丟失。信息丟失也同樣發生在單純不變特征的學習過程中。

因而,以人工特征(hand-crafted feature)或者不變特征(view-invariant feature)為表征,常常隻能用於特定任務,缺乏泛化性。作者引用圖靈獎獲得者Bengio的觀點,認為特征分離是解決這一問題最有效方式。

現有的人體姿態表征方法因為對以上幾點,沒有做到一個全面地考量,所以導致泛化性和有效性受限。

學習算法思路

作者借鑒去噪自編碼器(denoising autoencoder)的思想,設計瞭一個恢復破壞人體姿態的任務。但是不同於一般的去噪自編碼器對輸入添加高斯噪聲,文中對人體3D姿態進行瞭隨機嚴重的破壞。

作者認為,如果網絡能夠恢復那些被破壞關節的正確位置,那麼它就應該學習到瞭人體3D姿態的本質特征。同時在潛空間中,作者將人體姿態特征分解為視角不變的姿態特征(pose-dependent feature)和隨視角變化的視角特征(view-dependent feature)。

這一過程可以由下面式(1)表示。

然而,作者認為上述過程依舊不足以引導網絡學習到想要的特征。因為單個去噪自編碼器每次隻能從一個視角下的姿態學習,它並不知道某一姿態在另一視角下是什麼樣的。

因而也就沒人任何視角的概念,無法做到視角變化下的魯棒性(robustness)。為瞭引入視角的概念,作者將原始輸入姿態進行隨機的3D旋轉,並引入另外一條神經網絡並行處理這些旋轉變換後的人體姿態。

兩條神經網絡共享網絡參數,這是學習的關鍵。簡單來說,通過共享參數,實現瞭讓同一個learner同時從不同視角觀測某一姿態,並理解這兩個視角下哪些是相同的(pose-dependent feature),哪些是不同的特征(view-dependent feature)。

作者在文中,從生成模型的角度,給出瞭相應的解釋及最終的學習目標,如式(2)。

網絡結構

3.1 SeBiReNet

圖1 用於對人體骨骼數據建模的SeBiReNet

為瞭實現對人體3D姿態運動學關系的內在建模,作者提出一個串聯雙向遞歸網絡(Sequential Bidirectional Recursive Network, SeBiReNet)如圖1所示。

該網絡由兩個部分組成,一個遞歸子網絡(recursive subnet),一個發散子網絡(diffuse subnet)。兩個子網絡中的每個神經節點都對應人體骨骼模型中的一個關節,因而它們具有相同數量的節點。每個子網絡中的節點數和骨骼模型中的關節數相當。

圖1中,不同的顏色代表瞭不同的身體部分,比如左右上肢、左右下肢、軀幹。信息在這兩個網絡中的流向是反向的,它們分別模擬瞭人體運動過程中的逆向運動關系(inverse kinematic process)和前向運動關系(forward kinematic process)。

兩個子網絡具有各自的參數但是共享隱狀態量(hidden states)。也就是說,遞歸子網絡中的推理能夠更新發散子網絡的推理結果。發散子網絡的中隱狀態的變化依賴於遞歸子網絡的結果。

這樣,推理過程可以在兩個子網絡中,以一種循環的方式(recurrent mode)進行,從而達到不斷優化結果的目的。子網絡計算過程由式(3)給出,其中上標r代表遞歸子網絡,d代表發散子網絡。

文中進一步還給出瞭該網絡的復雜度分析。如果SeBiReNet每個網絡節點的隱狀態維度為,輸入量的維度為,那麼某一有著N個子節點(在遞歸子網絡中)或者父節點(在發散子網絡中)的神經元具有的參數量為。

在後續實驗中,作者與其他網絡結構的參數量進行瞭對比,證明所提出的網絡結構輕量而有效。

3.2 基於SeBiReNet的表征學習網絡架構

圖2 人體3D姿態表征學習網絡(Siamese-DAE)

基於前面所提到的人體姿態表征學習思路,作者提出瞭一個孿生去噪自編碼器(S-DAE)的網絡結構用於表征學習。

其中兩個去噪自編碼器分別處理原始輸入和隨機旋轉後的姿態輸入,並共享學習參數。為瞭習得預想的特征,該架構的主要組成部分有:

1)姿態重建損失函數(pose reconstruction loss)

為瞭在編碼運動學關系的同時捕捉人體3D結構的幾何外觀特性,作者認為姿態重建損失函數應當包括三個部分,關節位置損失(),骨骼長度損失()和對稱性損失()。

其中關節位置損失定義為恢復關節點的位置和ground truth位置的歐氏距離。骨骼長度損失要求恢復後的骨骼長度和ground truth骨骼長度一致。對稱性損失要求恢復後的人體姿態,其左右肢體的骨骼長度是一致的。

2)對視角不變的姿態特征的約束

由於姿態特征(pose-dependent feature)隻跟具體人體姿態相關,是不隨觀測視角變化而變化的。因而在兩個去噪自編碼器中,這一部分的特征應該相同。

3)對視角變化特征的約束

人腦在認知人體姿態時,能夠將姿態形狀和視角分離。受此啟示,作者認為網絡潛空間中視角特征應該不影響姿態特征的度量空間,就像旋轉並不改變骨骼長度。酉變換能夠滿足此要求,但在實數域的問題中,隻需要將視角特征約束在正交變換空間中。即。

4)視角遷移姿態重構

受益於特征分離,作者認為,如果姿態特征和視角特征能夠很好地分離,那麼通過交換兩個姿態潛空間中的視角特征,可以將一個姿態變換到另一個姿態的視角下,生成交叉視角的姿態(view-transferred poses)。

綜上所述,作者最終提出的網絡訓練損失函數為:

實驗結果

在實驗室,作者使用四個數據集:Cambridge-Imperial APE dataset, Northwestern-UCLA dataset, NTU RGB+D dataset 和H3.6M dataset. 其中Cambridge-Imperial APE dataset用於去噪自編碼器(S-DAE)的訓練和驗證。

Northwestern-UCLA dataset和NTU RGB+D dataset用於評估網絡在去噪3D人體姿態的表現和所習得的姿態表征在人體動作識別中的表現。最後,文章探索瞭習得表征在人體3D姿態估計中的應用,並在H3.6M dataset上驗證。各部分實驗結果如下:

4.1對SeBiReNet的對比分析

文中首先對SeBiReNet建模人體骨骼姿態的能力進行瞭比較分析,結果如表1所示。結果表明,所提出的SeBiReNet在處理人體骨骼結構方面由於傳統的遞歸神經網絡(recursive neural network)和多層感知器(MLP),這主要得益於SeBiReNet對人體內在運動學關系的建模。

4.2 人體姿態去噪(Pose Denoising)

圖3 左圖(a)APE dataset中的人體骨骼模型以及隨機破壞後的人體姿態(corrupted skeletons)樣例;右圖(b)經過網絡恢復後的人體姿態(recovered skeletons)樣例。其中綠線、紅線和藍線分別繪制的ground truth姿態,破壞後的姿態以及恢復的姿態。

圖4 未經進一步訓練,在Northwestern-UCLA上的骨骼去噪結果。

從骨骼長度,肢體對稱以及關節運動范圍來看,恢復後的骨骼比原始骨骼更加合理穩定。

4.3 無監督人體動作識別

表2 展示瞭所習得的姿態表征用於跨視角人體動作識別的結果。可以看到,所提出的姿態表征在無監督動作識別中具有最好的識別結果(state-of-the-art results)。

這一結果即使跟一些有監督方法比較,也非常有競爭力。作者認為這充分說明瞭所習得表征的有效性。隻有習得的姿態特征編碼瞭人體姿態的本質特征以及具備視角不變的特性,才能獲取如表所示的結果。

而且跟其他方法相比,文中方法的驗證過程更加嚴格。作者在APE dataset上進行網絡訓練,然後沒有在動作數據集上進行任何進一步的微調,直接提取特征。這也充分表明瞭文中方法的泛化性能。

進一步通過ablation study表明,如表3所示,學習架構中的所提出的各個部分均能夠提升表征在動作識別中的表現,其中特征分離和對姿態特征的約束最為重要。

4.4在3D人體姿態估計中的推廣應用

圖5 3D人體姿態估計的推廣應用

在文章的最後一部分,作者設計瞭一個簡單網絡架構將習得的姿態表征應用到3D的人體姿態估計中。

如圖5 所示,該架構包括一個3D編碼器(encoder),一個3D解碼器(decoder)和一個2D編碼器。其中編碼器和解碼器的網絡結構同前文中S-DAE中的編碼器和解碼器結構相同。

通過約束2D編碼器習得一個和3D編碼器一樣的姿態表征,在通過共享解碼器解碼,實現瞭從2D 人體姿態估計3D人體姿態。

在H3.6M dataset上微調後,得到的結果如表4所示。可以看到,所習得的姿態表征也能夠被用於人體3D姿態估計。

總結

作者基於特征分離以及對人體3D姿態本質特征的分析, 提出瞭一個新的人體姿態表征學習方法。所習得的表征在不同的數據集和與人體姿態相關的任務上,具備良好泛化能力和有效性。

該表征有助於人工智能系統獲得一個對人體姿態普適本質的理解,從而有助於各種與人體姿態相關的下遊任務(down-stream tasks)。

論文地址:

https://arxiv.org/abs/2007.07053

代碼地址:

https://github.com/NIEQiang001/unsupervised-human-pose

ozabc