摘要:本文的方法是從未標註的視頻中使用2D關鍵點去估計3D姿勢序列,是爲了判別器無法分辨估計運動與AMASS數據集中運動之間的差異。儘管目前已經在單圖像3D姿勢和動作估計方面取得了進展,但由於缺少用於訓練的真實的3D運動數據,因此現有的基於視頻的SOTA方法無法產生準確且自然的運動序列。

作者 | Muhammed Kocabas

譯者 | 劉暢

出品 | AI科技大本營(ID:rgznai100)

人體的運動對於理解人的行爲是非常重要的。儘管目前已經在單圖像3D姿勢和動作估計方面取得了進展,但由於缺少用於訓練的真實的3D運動數據,因此現有的基於視頻的SOTA方法無法產生準確且自然的運動序列。爲了解決這個問題,本文提出了“用於人體姿勢和形狀估計的視頻推理”(VIBE)方法,它利用了現有的大規模運動捕捉數據集(AMASS)以及未配對的2D關鍵點標註數據。

本文最關鍵的創新在於它是一種對抗性學習框架,該框架利用AMASS數據集來區分真實的人類動作與本文利用時序姿態和動作迴歸網絡產生的動作。本文定義了一個時序網絡 體系結構,並展示了在沒有真實3D標籤的情況下,能夠產生序列級別的合理的運動序列。本文進行了大量實驗,分析了運動性的重要性,並演示了VIBE在非常有挑戰性的3D姿態估計數據集上的有效性,達到了SOTA性能。

代碼和預訓練模型已經開源:

https://github.com/mkocabas/VIBE    

引言

從單幅圖像估計3D人體姿勢和動作方面已經取得了巨大的進展。這對於許多應用程序是十分有用的,通過身體的運動來獲取人的行爲。正如約翰遜所指出的那樣,即使人體僅移動了一丁點也可以得出有關行爲的信息。在這裏,本文介紹如何利用時間信息來更準確地從單視頻中去估算人體的3D運動。儘管這個問題已經研究了30多年,但我們可能會問,爲什麼仍然沒有可靠的方法。本文的見解是,由於訓練數據不足,之前的人類運動的時間模型不能夠捕獲到人類實際運動的複雜性和可變性。作者在這裏用一種新的方法解決了這個問題,並且表明我們可以從單視頻中顯著改善3D人體姿勢估計的生成和判別方法。

如圖1(上圖)所示,現有的視頻姿勢和動作估計方法無法產生逼真的且運動學上合理的預測結果。造成這種情況的主要原因是缺乏數據的3D標註,對於單個圖像都比較難以獲得,更不用說對視頻而言。之前的一些研究工作,它們將室內3D數據集與具有2D標註或關鍵點僞標註的視頻結合在一起。但是,這有幾個限制:(1)室內3D數據集在拍攝對象的數量,運動範圍和圖像複雜度方面受到限制;(2)帶有2D姿勢標註的視頻數量仍然不足以訓練深層的神經網絡;(3)僞2D標籤對於3D人體運動的建模不可靠。

爲了解決這個問題,本文利用了稱爲AMASS的最新的大規模3D運動捕捉數據集,該數據集足夠豐富,可以訓練模型學習人們如何移動。本文的方法是從未標註的視頻中使用2D關鍵點去估計3D姿勢序列,是爲了判別器無法分辨估計運動與AMASS數據集中運動之間的差異。與之前的一些研究工作相同,本文也會使用3D關鍵點。本文方法的輸出是SMPL人體模型格式的一系列姿勢和動作參數。

具體來說,本文通過訓練基於序列的生成對抗網絡來利用兩個未配對的信息來源。在這裏,給定一個人的視頻,作者訓練了一個時間模型來預測每幀SMPL人體模型的參數,而運動判別器則試圖區分真實序列和迴歸序列。通過這樣做,可以激勵迴歸器通過最小化對抗訓練損失來輸出表示合理運動的姿勢。作者稱該方法爲VIBE,它表示“用於人體姿態和動作估計的視頻推理”。

在訓練過程中,“ VIBE”將未標註的圖像作爲輸入,並使用在單個圖像的人體姿態估計任務上預訓練的卷積神經網絡去預測SMPL人體模型參數。然後,運動判別器使用預測的姿態以及從AMASS數據集採樣的姿態,爲每個序列輸出真實/僞造的標籤。整個模型由對抗性損失以及迴歸損失進行監督,以最大程度地減少預測的和標註的關鍵點,姿態和動作參數之間的誤差。本文使用了改進的SPIN方法,該方法使用基於模型的擬合器來訓練深度迴歸器。但是,SPIN是一種單幀方法。爲了處理視頻序列,作者通過將SMPLify擴展到視頻,使得SPIN方法可以融入時序信息。

在測試時,給定一段視頻,作者使用預訓練的HMR和時間模塊來預測每幀的姿勢和動作參數。並在多個數據集上進行了大量的實驗,超過了所有最新技術;有關VIBE輸出的示例,請參見圖1(底部)。重要的是,作者證明了基於視頻的方法在具有挑戰性的3D姿態估計基準數據集3DPW和MPI-INF-3DHP上總是比單幀方法好得多。這清楚地證明了在3D姿勢估計中使用視頻的好處。

綜上,本文的主要貢獻如下: 首先,作者擴展了Kolotouros等人的基於模型的fitting-in-the-loop訓練過程,對視頻進行了更準確的監督。其次,作者利用了AMASS運動數據集,以進行VIBE的對抗訓練。第三,作者定量比較了不同時間架構的3D人體運動估計。第四,作者使用大型的運動捕捉數據集來訓練鑑別器,從而獲得了SOTA的結果。

方法

整個VIBE方法的結構如下圖2所示,輸入是一段單人的視頻。對每一幀使用一個預訓練的模型去提取特徵,接下來使用雙GRU組成的編碼器去訓練。然後特徵會被用於迴歸SMPL人體模型的參數。最後會從AMASS數據集中採樣樣本,進入動作判別器,去區分真假樣本, 完成整個流程。

時序編碼器(Temporal Encoder)

作者在訓練該編碼器的時候,使用了4個損失函數,如下,包括2D損失、3D損失、姿態損失和動作損失。

每一項的具體計算方法如下:

其中L_adv是動作判別器的損失。

動作判別器(Motion Discriminator)

作者使用動作判別器來判斷生成的姿態序列是否對應於真實的序列。如下圖所示:

判別器的損失項計算方式如下:

而動作判別器的目標函數如下:

實驗

作者首先介紹了訓練和測試用的數據集,接下來,將本文方法的結果與之前的基於幀和基於視頻的最新方法(SOTA)進行比較,如表格1所示。此外還做了消融實驗,展示本文的貢獻。最後,圖4展示了可視化的結果。

本文方法與SOTA方法對比

作者證明了使用3DPW訓練集,是有助於改善模型對in-the-wild數據的處理能力。由於本文方法保持了時序姿態和動作的一致性,因此MPJPE和PVE指標得到了顯著的提升。

消融實驗(關於動作判別器)

可以觀察到,一旦添加了生成器G,由於缺少足夠的視頻訓練數據,與基於幀的模型相比,本文獲得的效果會稍差一些,但視覺效果會更平滑。在Temporal-HMR方法中也觀察到了這種效果。另外,使用動作判別器可以有助於改善G的性能,同時仍會產生更加平滑的預測結果。

消融實驗(關於自注意力機制)

如表3所示,與靜態池化相比,動作判別器中的動態特徵聚合可顯著的改善最終結果。使用自注意力機制,可以加強動作判別器在時間上的相關性。在大多數情況下,使用自注意力機制會產生更好的結果。

下面圖4和圖5是本文方法的可視化結果,可以發現它能夠正確復原全局旋轉,這個是之前的方法都難以解決的一個問題。

總結

儘管當前的3D人體姿態方法效果很好,但是其中大多數都是未經過訓練去估計視頻中的人體運動。這種運動對於理解人體行爲至關重要。

在這裏,本文探索了幾種將靜態方法擴展到可以處理視頻的方法:(1)介紹了一種隨時間傳播信息的循環體系結構;(2)介紹了使用AMASS數據集引入運動序列的判別訓練;(3)本文在判別器中引入了自注意力機制,使它學會了關注人體運動的時間結構;(4)本文還從AMASS學習了一種新的人體先驗序列信息(MPoser),並表明它也有助於訓練結果,雖然能力不如判別器。未來的工作,作者會探索使用視頻來監督單幀的方法,比如看看光流信息是否可以幫助提升結果。

原文鏈接:

https://arxiv.org/abs/1912.05656

【end】

原力計劃

《原力計劃【第二季】- 學習力挑戰》正式開始!即日起至 3月21日,千萬流量支持原創作者!更有專屬【勳章】等你來挑戰

相關文章