從多視角估計多人三維人體姿態(tài)是一個比較challenge的研究方向,目前的方法都采用了多階段的模式,整個框架比較復雜。最近NUS聯(lián)合Sea AI Lab在NeurIPS-2021上發(fā)表了一篇論文『Direct Multi-view Multi-person 3D Human Pose Estimation』,提出了一個簡單的方法Multi-view Pose Transformer,直接從多視角圖片回歸多人三維姿態(tài)結果,在CMU panoptic數(shù)據(jù)集上達到15.8mm的MPJPE,簡單高效,且良好的可擴展性。 論文鏈接:https:///pdf/2111.04076.pdf 項目鏈接:https://github.com/sail-sg/mvp 視頻講解:https://www.bilibili.com/video/BV1sL4y1v7wy/ 多人3D姿態(tài)估計要求準確地估計場景中的每個人的三維關節(jié)點位置,具有廣泛的應用場景,包括行為識別和監(jiān)測、姿態(tài)跟蹤、虛擬現(xiàn)實等等。從多視角估計3D姿態(tài)可以有效克服普通單視角設定中的固有問題(自遮擋,他遮擋,深度模糊性、不適定性),從而實現(xiàn)更加準確的姿態(tài)估計。目前基于多視角的多人三維姿態(tài)估計方法都是多階段的,主要有兩類方法。一類首先獨立地對每個視角進行多人姿態(tài)檢測,接著依靠一些幾何約束進行多視角匹配,最后再將每個人的多視角姿態(tài)結果進行融合恢復成3D姿態(tài)。另一類首先對每個視角估計關節(jié)點heatmap,然后通過投影獲得一個對應整體空間的關節(jié)點heat-cube,基于此搭建一個類似兩階段物體檢測的框架,進行多人的空間位置proposal和對每個人的姿態(tài)預測。這些方法都是首先基于單目進行2D預測,然后再進行跨視角融合,這樣都會受到單視角遮擋的影響,可能導致error accumulation,而且框架更加復雜,不利于實用和拓展。那么,是否可以直接從多視角圖片回歸多人的3D姿態(tài)呢?這個想法很簡單,但要同時完成多視角信息融合,多人姿態(tài)檢測很困難。來自新加坡國立大學(NUS)和新加坡Sea AI Lab的研究人員設計了一個基于transformer的模型,有效直接地融合多視角信息,同時進行多人3D關鍵點回歸。這里作者受transformer啟發(fā),將每個關節(jié)點用一個可學習的input embedding建模,輸入特別設計decoder結構直接回歸3D關鍵點位置。這些embedding被稱為joint query,他們可以從數(shù)據(jù)中學習從而capture到一些關鍵點的先驗信息(prior)。作者在設計decoder時引入新的projective attention機制來進行多視角信息融合,以及特殊的group-wise matched training來學習多人關鍵點預測,下面詳細講解模型設計。首先,為了表示多人關鍵點,需要有一定數(shù)量的joint query。比如場景中最多有10個人,每個人有15個關節(jié)點,那么一共需要150個joint query。最直接簡單的做法就是直接采用每個joint一個單獨的joint query,但是這樣相同類別的joint 不能互相關聯(lián),導致人體姿態(tài)信息不能有效地在不同人之間share,因而泛化性不會很好。實際實驗也發(fā)現(xiàn)結果確實不好。為了解決這個問題,作者引入了層級設計:Hierarchical Joint Query Embedding。不同人之間share一組joint-level query(比如15個關節(jié)點就是15個),為了區(qū)分不同人,又引入了一組person-level query(比如最多10個人就是10個),這兩組之間采用層級組合獲得整個set的joint query。在此基礎上,為了讓joint query更好適應到測試數(shù)據(jù),獲得更好的泛化性能,作者引入了dynamic query adaptation的設計。這里的motivation是原來的joint query 是從數(shù)據(jù)中學習但是input-independent的,因而不能capture到input sample的特征。所以這里將image feature進行pooling獲得整體feature,再融合到層級query中。這個模塊可以見圖示。想要在估計多人關鍵點的同時又融合多視角信息是這個框架必須解決的,為了達到這個目的,這里作者設計了projective attention來融合多視角信息并用于增強joint feature。不同于常規(guī)的dot product attention,這是一種更加有效的geometric-guided attention。常規(guī)的dot product attention也可以用來在這里做多視角feature融合,但是由于要densely地計算attention來融合多視角feature,加上用于人體姿態(tài)估計的feature 本身resolution比較大的原因,會導致非常巨大的計算量。作者通過視角投影將3D關鍵點投影到每個視角,然后只融合投影點附近的信息,這樣就解決了這個問題,實現(xiàn)了有效的多視角信息融合。為了有效融合每個視角local 區(qū)域信息,這里受到deformable conv啟發(fā)引入了deformable的機制,這個機制在2D檢測比如deformable DETR中也有用到。數(shù)學 formulation 如下(具體可以參考原文): 另一方面,transformer中position encoding能夠引入位置信息,被證明對性能有極大幫助,比如2D 檢測中的DETR。這里作者對于這個多視角的問題,借助camera ray來為模型引入多視角位置信息,從而有效的提升模型預測關鍵點的準確性。具體來說,在projective attention的基礎上,作者將每個視角的camera ray信息concatenate 每個視角上然后進行convolution把多視角位置信息融合進入多視角feature map:作者將這個opertaion命名為RayConv。用RayConv引入了多視角位置信息的feature來計算projective attention可以有效增強后者融合得到的多視角joint feature,從而更準確的回歸關鍵點位置。整個框架由多層decoder構成,基于一開始輸入的joint query,每層decoder 借助projective attention來fuse多視角信息,借助self-attention來交互不同joint之間的信息,這樣增強joint feature?;谠鰪姷膉oint feature,可以預測offset來refine 3D 關鍵點位置。refine 后3d 位置又用于更準確地fuse多視角信息。這樣多層的decoder就可以實現(xiàn)直接的關鍵點regression了。為了訓練這個框架進行多人預測,作者受2D transformer檢測(DETR)的啟發(fā),設計了匈牙利算法來匹配ground truth和prediction。Matching cost定義為人體的置信度(平均所有關節(jié)點)和精確度:實驗使用了三個數(shù)據(jù)集:CMU Panoptic, Shelf, Campus。其中Panoptic 為主要數(shù)據(jù)集,ablation實驗和分析都在Panoptic上進行,其他兩個為小數(shù)據(jù)集,標注不完全,數(shù)據(jù)量小,主要是驗證結果。Panoptic 上采用了VoxelPose的AP metric,在最嚴苛的AP25 metric下相比VoxelPose提升了超過8個點,同時MPJPE低了2mm,可以看出模型更加準確地估計關鍵點位置。inference 時間減少近一半,效率也提升了。在shelf和campus上也達到了超過SOTA或者差不多的結果。作者分析了模型inference效率相對于VoxelPose的優(yōu)勢,可以看出MvP對于不同人數(shù)inference時間是固定的,即使是到100個人,inference時間也比10個人的模型只多一點。而VoxelPose則基本處于線性增加的趨勢,不利于scale到大的場景。以下是qualitative可視化的結果,文章還進行了擴展,基于MvP學到的joint feature預測parametric 3D表示,從而實現(xiàn)body mesh的預測。作者還對模型學到的projective attention和self-attention進行了可視化,projective attention可以有效找到并fuse每個視角關鍵點信息,self-attention則可以交互不同joint feature之間信息。作者發(fā)現(xiàn)對于一個關鍵點,self-attention主要關注同一個人的其他關鍵點,這也是合理的,因為人體有很強的先驗和限制,比如人體姿態(tài),骨架長度等等。作者也進行了充分的ablation來驗證模型的各種設計和超參數(shù)設定,包括RayConv的有效性,不同joint query設計的效果,inference 置信度閾值的影響,decoder 層數(shù),視角數(shù)目,deformable sample的點數(shù)。具體分析可見原論文。Multi-view pose transformer(MvP)一個非常簡單直接的框架,整個模型沒有中間任務,沒有像多視角2D pose匹配那樣noisy的操作,也沒有volumetric表征那樣高計算量和容易出現(xiàn)quantization error的過程,完全end-to-end學習。有利于擴展到其他task,比如pose tracking,也有利于從更大規(guī)模的 pose 數(shù)據(jù)中學到更有用的信息從而實現(xiàn)更加準確泛化性更強的模型。
|