黃萌,汪亞明
(浙江理工大學(xué)信息學(xué)院,浙江杭州 310018)
二維圖像投影和潛在三維場(chǎng)景的關(guān)系研究在光學(xué)和攝影領(lǐng)域已有 著悠久的歷 史,而NRSfM(Non-Nigid Structure from Motion)則是一種通過(guò)單目攝像頭對(duì)非剛體運(yùn)動(dòng)序列重建三維非剛體表面的算法。傳統(tǒng)的NRSfM算法在稀疏特征點(diǎn)軌跡三維結(jié)構(gòu)重建任務(wù)上取得了不錯(cuò)效果,但是稀疏特征點(diǎn)表示能力有限,不能完整重建三維非剛體表面。稠密的NRSfM算法是對(duì)大量的特征點(diǎn)軌跡進(jìn)行三維重建,它能很好地恢復(fù)完整的三維非剛體表面,相較于稀疏的NRSfM算法而言更實(shí)用,因此稠密的NRSfM算法順理成章地成為現(xiàn)階段NRSfM算法研究的重點(diǎn)。
傳統(tǒng)的稠密NRSfM算法通常十分依賴于二維稠密光流質(zhì)量,需要噪音足夠小的二維稠密光流才能進(jìn)行較好的重建。因此,傳統(tǒng)稠密NRSfM算法的魯棒性并不高,且需要十分苛刻的條件才能保證重建精度。
在最近研究中,Sidhu等首次提出可學(xué)習(xí)的稠密NRSfM神經(jīng)網(wǎng)絡(luò)(Neural Non-Nigid Structure from Motion,N-NRSfM)。與傳統(tǒng)稠密NRSfM算法相比,該模型的魯棒性更高,可擴(kuò)展性更強(qiáng)且在許多場(chǎng)景中都能實(shí)現(xiàn)較低的三維重建誤差。但是他們的方法需要分別訓(xùn)練用于三維重建的解碼器和用于圖像特征提取的編碼器,且只對(duì)隱藏層編碼進(jìn)行周期性約束以提取運(yùn)動(dòng)信息,導(dǎo)致網(wǎng)絡(luò)對(duì)突然較大的變化不能作很好的處理。并且,網(wǎng)絡(luò)依賴于Tomas-Kanade分解求得三維剛性形狀,因此對(duì)誤差較大的二維運(yùn)動(dòng)軌跡十分敏感。
由于傳統(tǒng)的稠密NRSfM算法和可學(xué)習(xí)的稠密NRSfM神經(jīng)網(wǎng)絡(luò)各有優(yōu)缺點(diǎn),本文考慮將傳統(tǒng)三維稠密重建算法和神經(jīng)網(wǎng)絡(luò)高度結(jié)合,將三維重建過(guò)程嵌入神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中,提出基于Transformer改進(jìn)的稠密三維運(yùn)動(dòng)重建網(wǎng)絡(luò)。Transformer架構(gòu)一個(gè)序列到序列的模型,它使用大量的自注意力機(jī)制提取序列之間的信息。此架構(gòu)解決了傳統(tǒng)RNN難以并行化的缺點(diǎn),可以處理長(zhǎng)序列數(shù)據(jù),避免了梯度消失和梯度爆炸等問(wèn)題。由于Transformer強(qiáng)大的特征表達(dá)能力,近年來(lái)各種架構(gòu)的Transformer被用于計(jì)算機(jī)視覺(jué)方面的研究。同時(shí),Transformer架構(gòu)中的注意力機(jī)制運(yùn)算規(guī)則與三維重建任務(wù)較為相似,特別適合進(jìn)行改造以用于三維重建任務(wù)求解。
考慮到單目視覺(jué)的非剛體三維重建是提取特征點(diǎn)軌跡的特征,并進(jìn)行求解的過(guò)程,也可以將其看作是一個(gè)序列化的特征求解問(wèn)題。因此,本文嘗試使用Transformer架構(gòu)求解稠密三維重建問(wèn)題。本文創(chuàng)新點(diǎn)如下:①由于測(cè)量矩陣本身反應(yīng)特征點(diǎn)是隨時(shí)間變化的運(yùn)動(dòng)軌跡,且因式分解方法只需提取出形狀基,不需位置信息,因此本文直接將測(cè)量矩陣作為網(wǎng)絡(luò)輸入;②將三維重建任務(wù)所需中間矩陣作為查詢矩陣、鍵矩陣和值矩陣。將三維重建任務(wù)嵌入Transformer架構(gòu)進(jìn)行求解,同時(shí)添加適當(dāng)?shù)募s束;③單個(gè)注意力點(diǎn)積計(jì)算之后增加Moore-Penrose偽逆操作替代傳統(tǒng)的點(diǎn)積注意力,通過(guò)對(duì)多個(gè)注意力頭的輸出結(jié)果進(jìn)行線性組合,得到多頭注意力的輸出;④類似N-NRSFM中解碼器的方法,將Transformer中的MLP層用于對(duì)S
矩陣添加時(shí)空平滑、表面平滑等約束,使用漏斗形全連接網(wǎng)絡(luò)約束形狀矩陣的低秩性。采用傳統(tǒng)方法進(jìn)行NRSfM問(wèn)題研究,目前已有許多解決方案,可以從多幀的二維關(guān)鍵點(diǎn)中恢復(fù)必要變形對(duì)象的三維視點(diǎn)及形狀。然而,由于非剛性物體在發(fā)生運(yùn)動(dòng)時(shí)會(huì)發(fā)生形變,導(dǎo)致NRSfM實(shí)際上擁有較多約束,這也對(duì)正確分解三維視點(diǎn)和形狀構(gòu)成了極大挑戰(zhàn)。因此,利用形狀和攝像機(jī)運(yùn)動(dòng)的先驗(yàn)知識(shí)降低NRSfM問(wèn)題的難度成為研究的主流方法,比如假設(shè)在時(shí)間和空間域上使用低秩子空間,又比如將二維特征點(diǎn)擬合到一組預(yù)先設(shè)計(jì)的DCT基函數(shù)中、時(shí)空域模型、利用時(shí)空間聯(lián)合中添加稀疏子空間聚類的形式。
近年來(lái),一些學(xué)者鑒于神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域的優(yōu)良表現(xiàn),嘗試?yán)蒙窠?jīng)網(wǎng)絡(luò)進(jìn)行非剛體三維重建的求解。然而,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),對(duì)大量圖像進(jìn)行三維姿態(tài)的標(biāo)注是非常繁重且困難的一項(xiàng)工作。因此,文獻(xiàn)[15]提出利用合成圖像對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行增強(qiáng)處理,但這些辦法并不能很好地應(yīng)用于現(xiàn)實(shí)場(chǎng)景。于是,研究者開(kāi)始使用2D的姿態(tài)注釋、動(dòng)作標(biāo)簽等方式,以提高算法性能,可是這些方法也差強(qiáng)人意。因此,找到一種無(wú)監(jiān)督的算法成為研究者們努力的方向。
由于稠密三維真實(shí)數(shù)據(jù)獲得需要十分昂貴的儀器,以及大量的數(shù)據(jù)和復(fù)雜且困難的激光建模算法,很長(zhǎng)一段時(shí)間以來(lái),基本上不可能有監(jiān)督地訓(xùn)練出有效的三維重建神經(jīng)網(wǎng)絡(luò)。因此,無(wú)監(jiān)督的三維稠密運(yùn)動(dòng)重建成為目前可行性較高的方案。Sidhu等在2020年首次利用無(wú)監(jiān)督的神經(jīng)網(wǎng)絡(luò)方法實(shí)現(xiàn)稠密的三維重建,他們從潛在空間中約束了三維運(yùn)動(dòng),無(wú)監(jiān)督地訓(xùn)練神經(jīng)網(wǎng)絡(luò),第一次實(shí)現(xiàn)了端到端的稠密三維重建。但是他們的方法需要復(fù)雜的分布訓(xùn)練,且提供隱藏編碼的周期性以完成運(yùn)動(dòng)信息提取,且需要?jiǎng)傂匀S先驗(yàn),因此方法的限制條件較多,適用性不廣。
傳統(tǒng)的三維重建任務(wù)可以表示為:
W
∈?,三維形狀矩陣S
∈?,旋轉(zhuǎn)矩陣R
=blkdiag(R
,R
,…
,R)
∈?。基于分解的三維重建任務(wù)就是根據(jù)輸入的測(cè)量矩陣W,求得三維形狀矩陣S
和旋轉(zhuǎn)矩陣R
。在傳統(tǒng)的Transformer架構(gòu)基礎(chǔ)上,結(jié)合稠密NRSFM的特點(diǎn),本文提出了一種新的可用于稠密NRSFM的端到端的Transformer架構(gòu)。以下將對(duì)網(wǎng)絡(luò)架構(gòu)進(jìn)行詳細(xì)分析說(shuō)明。
2.1.1 將測(cè)量矩陣W作為T(mén)ransformer網(wǎng)絡(luò)輸入
考慮到三維重建任務(wù)中需要全局的形狀基,而不是只關(guān)注相鄰幀,本文提出的Transformer架構(gòu)直接將包含二維點(diǎn)軌跡信息的測(cè)量矩陣W作為T(mén)ransformer網(wǎng)絡(luò)的輸入,去除了位置嵌入的過(guò)程。
2.1.2 注意力模型設(shè)計(jì)
在設(shè)計(jì)Transformer網(wǎng)絡(luò)時(shí),注意力層的運(yùn)算方法是網(wǎng)絡(luò)設(shè)計(jì)的重點(diǎn)。需要結(jié)合待解決問(wèn)題的特點(diǎn)進(jìn)行分析和設(shè)計(jì)。本文注意力層模型架構(gòu)如圖1所示。
不同于傳統(tǒng)的注意力層,直接將輸入的線性映射作為查詢矩陣Q、鍵矩陣K和值矩陣V。
Fig.1 Attention layer architecture圖1 注意力層架構(gòu)
2.1.3 多頭注意力模型的設(shè)計(jì)
本文提出的多頭注意力架構(gòu)如圖2所示。多頭注意力層將輸入的查詢矩陣、鍵矩陣和值矩陣線性映射成為多個(gè)注意力頭進(jìn)行并行計(jì)算,如同傳統(tǒng)的Transformer。在輸出時(shí)將各頭的輸出進(jìn)行聯(lián)合線性組合輸出。最終輸出P
×3F
尺度的注意力矩陣,提取出測(cè)量矩陣時(shí)間尺度的信息。2.1.4 MLP層
MLP層的權(quán)值矩陣可以解釋為一個(gè)低秩線性子空間,類似文獻(xiàn)[2]中解碼層的全連接神經(jīng)網(wǎng)絡(luò)。在MLP層,希望對(duì)形狀細(xì)節(jié)進(jìn)行空間尺度上信息的線性組合并添加約束。因此,本文對(duì)多頭注意力架構(gòu)輸出的注意力矩陣進(jìn)行轉(zhuǎn)置操作,并將其輸入維度為P
的全連接層。為了約束輸出的秩為3k
,中間層的寬度為3*k,其中k為先驗(yàn)軌跡基數(shù)量。本文MLP層架構(gòu)如圖3所示,MLP層的輸入是多頭注意力層的輸出,GeLU為文獻(xiàn)[19]中提出的高斯誤差線性單元激活函數(shù),Linear表示全連接層。Fig.2 Multi-attention layer architecture圖2 多頭注意力架構(gòu)
Fig.3 MLPlayer architecture圖3 MLP層架構(gòu)
2.1.5 編碼層
將以上原子層堆疊成為一個(gè)Transformer Encoder層,如圖4所示。
Transformer網(wǎng)絡(luò)中Encoder層的基本框架如圖4所示??梢钥闯?,本文提出的網(wǎng)絡(luò)與經(jīng)典Transformer
不同的是,查詢矩陣Q和鍵矩陣K是直接通過(guò)經(jīng)典矩陣分解算法求得的固定值,值矩陣則是通過(guò)對(duì)W矩陣的線性映射得到。2.1.6 Transformer總體框架
堆疊編碼層可以得到總的網(wǎng)絡(luò)架構(gòu),如圖5所示。在每個(gè)編碼層后,進(jìn)行正則化操作,將數(shù)據(jù)拉回到均值為0、方差為1的正太分布上,使數(shù)據(jù)分布一致從而避免發(fā)生梯度消失。由于只需要編碼器的輸出,如同ViT(Vision Transformer),本文總體框架中也去除了解碼塊部分。
Fig.4 Basic framework of encoder layer for transformer network圖4 Transformer網(wǎng)絡(luò)Encoder層基本框架
值得注意的是,本文網(wǎng)絡(luò)中盡量在特征點(diǎn)維度進(jìn)行正則化操作,因?yàn)閷⒄齽t化操作使用在幀維度上會(huì)導(dǎo)致失去運(yùn)動(dòng)變化,使三維重建失敗。
Fig.5 NRSfM-Trans former framework圖5 NRSfM-Trans former架構(gòu)
E
,支持梯度反向傳播并且可以在現(xiàn)代神經(jīng)網(wǎng)絡(luò)框架(如:pytorch
等)中較好的實(shí)現(xiàn)和求解。其中,α,β和γ是權(quán)重系數(shù),影響每一項(xiàng)的平衡。下文將詳細(xì)解釋每一項(xiàng)損失函數(shù)的含義和作用。
E
損失函數(shù)約束了矩陣的重投影誤差,由經(jīng)典的三維重建投影公式提供。E
損失函數(shù)約束了相鄰兩幀之間的形變劇烈程度,增加了時(shí)間平滑度。p
)表示p
的領(lǐng)域點(diǎn)集且p
∈S
(廣泛應(yīng)用于計(jì)算機(jī)圖形學(xué),詳細(xì)參考文獻(xiàn)[21])。E
損失函數(shù)是針對(duì)每一幀形狀矩陣的拉普拉斯平滑項(xiàng)。本文將對(duì)幾個(gè)廣泛使用的基準(zhǔn)定量分析數(shù)據(jù)集和定性分析視頻進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)中出現(xiàn)的數(shù)據(jù)為廣泛使用的開(kāi)源數(shù)據(jù)集,均已取得使用許可。
W
。Garg等提供的密集真實(shí)臉部數(shù)據(jù)集如圖6所示,它由120幀28 332個(gè)特征點(diǎn)組成。
Fig.6 Reconstruction result of real facedata圖6 真實(shí)人臉數(shù)據(jù)重建結(jié)果
圖7給出的是背部序列重建結(jié)果,它是一個(gè)150幀20 561個(gè)特征點(diǎn)的序列。背部序列也是一個(gè)十分經(jīng)典的非剛體序列,盡管運(yùn)動(dòng)幅度不大,本文算法還是很好地重建了背部,甚至人物的肩胛骨也能看出來(lái)。
Fig.7 Reconstruction result of back sequence圖7 背部序列重建結(jié)果
演員動(dòng)作捕捉序列也是一個(gè)經(jīng)典的可以定性分析比較的數(shù)據(jù)集,同文獻(xiàn)[2]。將本文方法與Tewari等提出的人臉模型學(xué)習(xí)(Face Model Learning,F(xiàn)ML)方法進(jìn)行對(duì)比,定性比較結(jié)果如圖8所示。
Fig.8 Comparison of the proposed algorithms and FML algorithm圖8 本文算法與FML算法對(duì)比
心臟序列1重建結(jié)果如圖9所示,由80幀68 295個(gè)特征點(diǎn)組成。心臟序列有大量的噪音和不明顯的運(yùn)動(dòng)軌跡,因而是一個(gè)非常難以進(jìn)行三維重建的數(shù)據(jù)。在本文算法下依稀能看見(jiàn)輪廓。心臟序列2重建結(jié)果如圖2所示,由202幀55 115個(gè)特征點(diǎn)組成。由于心臟序列2的清晰度更高,相對(duì)于心臟序列1而言,重建效果略好。
Fig.9 Reconstruction result of heart sequence 1圖9 心臟序列1重建結(jié)果
Fig.10 Reconstruction result of heart sequence 2圖10 心臟序列2重建結(jié)果
e
衡量算法優(yōu)劣程度。③
Kinect的paper序列,包含193幀58 000個(gè)特征點(diǎn);④pants序列,包含291幀2 859個(gè)特征點(diǎn)。以上數(shù)據(jù)集在有地面三維真實(shí)形狀的情況下,利用正交投影獲取測(cè)量矩陣,否則使用多幀稠密光流對(duì)應(yīng)求得測(cè)量矩陣。
在合成人臉序列,將本文三維重建框架與經(jīng)典的傳統(tǒng)方 法MP、VA、PTA、DSTA、CDF、KSTA、CMDR,較新的傳統(tǒng)方法GM、JM、SMSR、PPTA、EM-FEM,以及稠密神經(jīng)網(wǎng)絡(luò)算法N-NRSfM等方法進(jìn)行比較。各種對(duì)比算法的e
值如表1所示。Table 1 Comparison of the proposed algorithm with other algorithms in adult face sequences表1 本文算法與其他算法7成人臉序列比較
本文算法在Traj.A的重建結(jié)果如圖11所示。由于該合成人臉沒(méi)有噪音且平滑,是三維重建過(guò)程中比較理想的情況,因此最新傳統(tǒng)三維稠密運(yùn)動(dòng)方法效果優(yōu)于神經(jīng)網(wǎng)絡(luò)方法。但本文提出的網(wǎng)絡(luò)仍然達(dá)到了較高的重建水平。
在Expressions序列上,本文使用了EM-LDS、PTA、CSF2、KSTA、GMLI等方法進(jìn)行比較。對(duì)比的實(shí)驗(yàn)結(jié)果取自文獻(xiàn)[2],由于此數(shù)據(jù)集使用并不廣泛,因此文獻(xiàn)[2]中只使用了經(jīng)典的方法進(jìn)行比較,可見(jiàn)本文算法展現(xiàn)出了較大優(yōu)勢(shì)。每個(gè)對(duì)比算法的e
值如表2所示。圖12展示了Pants序列的原三維結(jié)構(gòu)和本文算法重建結(jié)果,表3給出了本文算法與其他方法的e
值。其中,KSTA、BMM和PPTA的實(shí)驗(yàn)數(shù)據(jù)來(lái)源于文獻(xiàn)[32]。Fig.11 Reconstruction results of synthetic face sequence A圖11 合成人臉序列A的重建結(jié)果
Table2 Expressions sequence comparison results表2 Expressions序列對(duì)比結(jié)果
Table3 Pants sequence comparison results表3 Pants序列對(duì)比結(jié)果
Fig.12 Reconstruction results of pants sequence圖12 pants序列的重建結(jié)果
在Kinect序列,本文按照Kumar等的描述,對(duì)Kinect紙張序列進(jìn)行了預(yù)處理,并運(yùn)行多幀光流算法獲取測(cè)量矩陣。在表4中列出了Kinect序列的e
,由于空間平滑項(xiàng)的存在,本文算法相較于傳統(tǒng)NRSFM
算法表現(xiàn)出了較大優(yōu)勢(shì)。Table 4 Kinect Paper dataset comparison results表4 Kinect Paper數(shù)據(jù)集對(duì)比結(jié)果
圖13展示了Kinect序列的原三維結(jié)構(gòu)和本文算法的重建結(jié)果。
Fig.13 Reconstruction results of Kinect paper sequence圖13 Kinect paper的重建結(jié)果
本文提出一個(gè)新型三維重建的神經(jīng)網(wǎng)絡(luò)方法NRSfMTrans former,該架構(gòu)在各數(shù)據(jù)集上的表現(xiàn)都比較優(yōu)良,接近最近較新的傳統(tǒng)三維重建算法。該網(wǎng)絡(luò)接受二維稠密光流作為輸入,得到三維運(yùn)動(dòng)結(jié)構(gòu),與現(xiàn)階段復(fù)雜的傳統(tǒng)方法對(duì)比,神經(jīng)網(wǎng)絡(luò)的方法在工程實(shí)踐上要更加容易實(shí)現(xiàn)且可擴(kuò)展性更高,給神經(jīng)網(wǎng)絡(luò)解決稠密NRSFM提供了一個(gè)新的思路。但是該網(wǎng)絡(luò)對(duì)輸入測(cè)量矩陣的噪音敏感度較高,且不同視頻序列的測(cè)量矩陣維度不同,因此不能同時(shí)對(duì)多個(gè)視頻序列進(jìn)行訓(xùn)練。在下一步研究中,將考慮圖像輸入代替測(cè)量矩陣輸入。