2016年,Facebook正式發售Oculus Rift頭戴式VR設備,大大革新了人們對于VR技術的認知,這一年也因此被稱為VR元年。5年過去,現在VR技術發展到哪了?從原生VR游戲《半條命:愛莉克斯》來看,在這類游戲場景下,人們與虛擬世界的交互上已經非常成熟。

《半條命:愛莉克斯》動圖(gif)
但龐大的頭顯設備,仍是阻礙VR應用普及的重要原因。還以《半條命:愛莉克斯》為例,這部游戲的精華是在于手部交互,而實現撿東西、扔東西、扣動扳機等等復雜的虛擬交互,則需要一部VR頭盔和一部VR手柄才能完成。
近日,計算機視覺領域國際頂會 ICCV 2021 收錄了一篇題為“I2UV-HandNet: Image-to-UV Prediction Network for Accurate and High-fidelity 3D Hand Mesh Modeling”論文,論文由愛奇藝深度學習云算法團隊聯合慕尼黑工業大學學者完成,他們在論文中提出一套名為I2UV-HandNet高精度手部重建系統,通過“看”單目RGB人手圖片,就能實現高精度三維重建。

言外之意,如果將這項技術“適配”到帶有攝像功能的眼鏡或者頭盔中,那么使用者即使不用手柄,也能實現與虛擬世界的高質量對話。
重建效果如何?該論文在已經在頗受認可的HO3D在線測評榜上,力壓群雄,持續數月排名第一。在Freihand 在線測評榜上,截至論文編寫時仍排名第一。

圖注:HO3D 榜單排行結果,紅框處為愛奇藝

圖注:論文編寫時Freihand榜單排行結果,紅框處為愛奇藝。
目前,研究員們正在嘗試將該技術應用到愛奇藝下一代VR設備中,從而減少對手柄依賴,打造出更輕、更快、更舒適的VR設備。同時手勢重建、交互技術目前也同步在愛奇藝其他業務場景和硬件終端進行落地探索,相信不久后會相繼和用戶見面。
I2UV-HandNet:業界首創的手部三維重建技術
在人機交互和虛擬現實的應用中,高精度的人手三維重建技術發揮著重要作用。但由于手勢多變以及嚴重的遮擋,現有的重建方法在準確性和精度方面仍差些火候。
一方面,目前學術界在進行手部三維重建評測,如在Freihand數據集上進行評測主要是突出算法的精度優勢,不需要考慮算力、延遲等,所以可以采用計算復雜度非常高(如transformer等)的一些算法。
另一方面在工業界,特別是VR等移動端設備,在算力、功耗、電池的續航及發熱等各方面有嚴格限制,在應用上必須采用計算復雜度偏低的算法。
而VR等設備的攝像頭因為移動端硬件的功耗、續航限制必須降低清晰度而不是采用高清晰度的攝像頭,采集到的圖像清晰度相對偏低,這對于算法的識別就存在一定挑戰性。

圖注:I2UV-HandNet框架圖,由AffineNet和SRNet組成
愛奇藝這篇論文中提出的I2UV-HandNet,獨創性地將UV映射表征引入到三維手勢和形狀估計中,其設計的UV重建模塊AffineNet能夠從單目圖像中預測手部網絡(hand mesh),從而完成由粗到精的人手3D模型重建。
這一設計意味著對于三維重建中所需的空間中的景深信息,不用再通過昂貴的硬件完成偵測,在普通RGB攝像頭拍攝的圖片中就可以完成景深信息獲取。
I2UV-HandNet另一個組成部分是SRNet網絡,其作用是對已有人手三維模型進行更高精度的重建。SRNet網絡以研究團隊獨創的“將點的超分轉化為圖像超分的思想”為原則,實現在不增加過多計算量的情況下,進行上萬點云的超分重建。
此外,由于缺乏高保真的手部數據來訓練SRNet,研究團隊構建了一個名為SuperHandScan的掃描數據集訓練SRNet。由于SRNet的輸入是基于UV的“粗糙”手部網格。因此SRNet的應用范圍很廣,換句話說,一個“訓練有素”的SRNet可以對任何粗手部網格進行超分辨率重建。
據介紹,SRNet和AffineNet組成的I2UV-HandNet系統,未做任何優化情況下,能夠在Nvidia v100達到46fps;而經過工程優化后版本能夠在驍龍865CPU+DSP下達到實時。

表注:在FreiHAND上進行真實場景下多姿態的人手3D重建對比,↓表示越低越好,↑表示越高越好。
為了驗證I2UV-HandNet方法對姿態的魯棒性,研究團隊選用了包含大量姿態的真實人手數據集FreiHAND作為測試集,并通過FreiHAND Competition在線測評與相關SOTA工作進行對比,結果如上表所示,證明了該UV重建方法的有效性。

表注:在HO3D上進行真實場景下具有遮擋的人手3D重建實驗對比,↓表示越低越好,↑表示越高越好。
同時為了驗證在各種遮擋場景下的重建性能,研究團隊選取包含大量遮擋樣本的HO3D數據集進行測評,結果如上表所示,各項指標也都達到了SOTA。

表注:↓表示越低越好,↑表示越高越好。
為了定量評價SRNet,研究團隊還在HIC數據集上進行了實驗。如上所示,SRNet的輸出(表中的“OUTPUT”)得到了優于原始深度圖的結果。
模型介紹:AffineNet+SRNet=I2UV-HandNet

圖注:AffineNet網絡框架圖,AffineNet由編碼網絡和解碼網絡組成,在解碼時通過Affine Connection和多stage完成由粗到精的UV學習。
如上圖所示,AffineNet由編解碼網絡組成,編碼骨干網絡ResNet-50,解碼時采用由粗到精的層級結構,其中Affine Connection是指通過當前層級預測的UV用仿射變換(類似STN)的方式實現編碼特征向UV圖的對齊,即:
D4=fupE5IUV4=fcon(D4)
同時有:
A3=fup(fac(πIUV4,E4))D3=fupD4IUV3=fcon(A3,D3,fup(IUV4))
以及:
Ai=fup(fac(πIUVi+1,Ei+1))Di=fupfconDi+1,Ai+1,IUVi+1,i=0,1,2IUVi=fcon(Ai,Di,fup(IUVi+1))
其中,Ei表示1/2i分辨率下的編碼特征圖,fup(x)表示將x放大2倍,πIUVi表示根據稠密的IUVi在固定投影矩陣的投影坐標,fac(x,y)表示Affine Connection操作,A ^i表示通過仿射變換后與UV對齊后的特征圖,相對于E ^i ,其包含更多與手相關的特征。Di表示1/2i分辨率下的解碼特征圖,fcon表示卷積操作。通過上面三個公式看出,解碼過程本質上就是一套低分辨率UVmap到高分辨率UVmap重建的過程,同時也是3D點云重建由粗到精的過程。
AffineNet的損失函數分為3項:
Eaffine=λ1EUV+λ2Egrad+λ3Everts
其中,使用L1作為UV的重建Loss:
EUV=|IUV?IUV?M|
IUV為真實UV圖,IUV為重建結果,M為UV的3D手有效映射掩碼。
UV圖本質上可以看成將3D模型上每個三角面不重疊地映射到二維平面,所以在UV圖上對應的三角片區域的值應該是連續的,因此引入Gradient loss:
Egrad=?uIUV?M??uIUV??M+?vIUV?M??vIUV??M
其中?u和?v分別表示在UV圖的U軸和V軸方向求梯度。
在訓練階段對分辨率最大的4個stage(即i=0,1,2,3)重建的UV進行Eaffine優化,其中λ1=λ2=λ3=1,投影矩陣選用正投影矩陣,每個stage間的loss比例都為1。

圖注:SRNet每層的設置
SRNet的網絡結構類似于超分辨率卷積神經網絡(SRCNN),但輸入和輸出是UV圖而非RGB圖像。
研究團隊巧妙地通過UV圖的方式將點的超分轉換為圖像的超分,將偽高精度UV圖作為輸入,高精度UV圖作為標簽,通過偽高精度3D模型生成的UV圖到高精度3D模型生成的UV圖的超分學習,完成1538個面到6152個面,778個點到3093個點的超分學習,超分Loss設計如下:
ESR=EUV_SR+Everts_SR
在測試階段只需要將AffineNet重建的UV圖作為輸入,便可得到經過超分重建后的高精度UV圖,從而實現人手的高精度3D重建。
將AffineNet和SRNet結合成I2UV-HandNet系統便可完成High-fidelity的人手3D重建。為了快速驗證將點的超分轉化為圖像的超分的可行性,研究團隊將SRCNN網絡結構用于SRNet中,并選取SHS數據集進行訓練。
Batch size設置為512,輸入UV圖的大小為256*256,初始學習率為1e-3,優化器Adam,并采用cosine lr下降方式,并在scale、旋轉等方面進行數據增廣。
同時為了網絡模型具有更好的泛化性,也隨機對高精度UV圖進行高斯平緩處理,并將結果作為網絡的輸入。在測試時,將AffineNet輸出的UV圖作為SRNet的輸入實現I2UV-HandNet系統的high-fidelity 3D人手重建。

圖注:在HO-3D數據集(左)和FreiHAND數據集(右)上的重建結果。從左到右依次為:輸入、AffineNet的重建結果、SRNet輸出的超分結果(high-fidelity)
上圖顯示I2UV-HandNet在各種姿態和遮擋條件下基于單目RGB圖的人手的High-fidelity的3D重建結果。通過上圖的Coarse Mesh和High-fidelity meshes對比可以看出,通過UV圖超分輸出的包含3093個點/6152個面的3D模型(High-fidelity)明顯要比AffineNet輸出的包含778個點/1538個面的MANO模型(Coarse Mesh)更加精細,具體表現在折痕細節和皮膚鼓脹等。
在論文中,研究團隊還在FreiHAND測試集上進行了Loss分析、Affine Connection存在性、UV展開方式以及由粗到精的方式多項屬性消融的實驗分析,分析結果依次見表4到表7。

圖注:不同的UV展開形式


通過實驗分析進一步證明本算法在各方面都具有較好的魯棒性,尤其是對背景具有強抗干擾性,非常適合應用于實際產品中。
下一步:“適配”更加豐富的應用場景
手部重建比較與人體重建相似,當前學術界做人體重建的算法可以遷移到手部的應用。但相對于比較火熱的人臉重建,手部和人體存在自遮擋更多,姿態復雜度更高等問題,因此研究難度大,業界可借鑒資料、行業內的應用都相對較少。
但手部、人體重建卻是用自然的肢體語言實現人機交互的關鍵技術,相比一些可穿戴設備,更能帶來體驗和沉浸度。例如手柄無法模擬手指每一個關節的活動,手部重建則能實現更加精細的操控。這意味著游戲、數字化工廠、虛擬場景培訓等更多場景。
接下來,愛奇藝技術團隊將會致力于算法的計算效率提升,能夠更好的滿足VR設備應用場景對功耗及計算資源的嚴苛要求;同時也會繼續研究當前學術界的一些難題,例如對于重疊/遮擋的手的重建,愛奇藝深度學習云算法小組也已經開始布局。