幫林志穎修臉的3D重建,用兩塊A100加二維CNN就可以實現(xiàn)!
三維重建(3D Reconstruction)技術(shù)一直是計算機(jī)圖形學(xué)和計算機(jī)視覺領(lǐng)域的一個重點研究領(lǐng)域。
簡單說,三維重建就是基于二維圖像,恢復(fù)三維場景結(jié)構(gòu)。
據(jù)說,林志穎出車禍后,他的面部重建方案就用到了三維重建。
三維重建的不同技術(shù)路線,有望融合
其實,三維重建技術(shù)已在游戲、電影、測繪、定位、導(dǎo)航、自動駕駛、VR/AR、工業(yè)制造以及消費品領(lǐng)域等方面得到了廣泛的應(yīng)用。
隨著GPU和分布式計算的發(fā)展,以及硬件上,微軟的Kinect,華碩的XTion以及因特爾的RealSense等深度相機(jī)逐漸成熟,三維重建的成本已經(jīng)呈現(xiàn)降低的趨勢。
從操作上講,3D重建的過程,大體可以分為五步。
第一步,圖像獲取。
由于三維重建是照相機(jī)的逆操作,因而需要先要用攝像機(jī)獲取三維物體的二維圖像。
這一步不容忽視,因為光照條件、相機(jī)的幾何特性等對后續(xù)的圖像處理造成很大的影響。
第二步,攝像機(jī)標(biāo)定。
這一步,是利用攝像機(jī)所拍攝到的圖像來還原空間中的物體。
通常會假設(shè),攝像機(jī)所拍攝到的圖像與三維空間中的物體之間存在線性關(guān)系,求解線性關(guān)系的參數(shù)的這個過程,就稱為攝像機(jī)標(biāo)定。
第三步,特征提取。
特征主要包括特征點、特征線和區(qū)域。
大多數(shù)情況下,都是以特征點為匹配基元,特征點以何種形式提取與用何種匹配策略緊密聯(lián)系。
因此在進(jìn)行特征點的提取時需要先確定用哪種匹配方法。
第四步,立體匹配。
立體匹配是指根據(jù)所提取的特征來建立圖像對之間的一種對應(yīng)關(guān)系,也就是將同一物理空間點在兩幅不同圖像中的成像點進(jìn)行一一對應(yīng)起來。
第五步,三維重建。
有了比較精確的匹配結(jié)果,結(jié)合攝像機(jī)標(biāo)定的內(nèi)外參數(shù),就可以恢復(fù)出三維場景信息。
這五步,環(huán)環(huán)相扣,只有每個環(huán)節(jié)的都做得精度高,誤差小,才能設(shè)計出一個比較精確的立體視覺系統(tǒng)。
在算法上,三維重建大體可分為兩類,一個是基于傳統(tǒng)多視圖幾何的三維重建算法。
另一個是基于深度學(xué)習(xí)的三維重建算法。
目前,由于CNN在圖像的特征匹配上有著巨大優(yōu)勢,越來越多的研究人員,開始將目光轉(zhuǎn)向基于深度學(xué)習(xí)的三維重建。
不過,這種方法多是監(jiān)督學(xué)習(xí)方法,對數(shù)據(jù)集依賴程度很高。
而數(shù)據(jù)集的收集和標(biāo)注一直是監(jiān)督學(xué)習(xí)的問題來源,因而,基于深度學(xué)習(xí)的三維重建,多在體積較小的物體重建方向上研究較多。
另外,基于深度學(xué)習(xí)的三維重建固然保真度高,在精度方面有較好的性能。
但訓(xùn)練模型要花費大量的時間,且用于三維重建的3D卷積層是非常昂貴的。
因而,有研究人員開始重新審視傳統(tǒng)的三維重建方法。
傳統(tǒng)的三維重建方法固然性能上有不足,但技術(shù)相對成熟。
那么,將兩種方法進(jìn)行一定的融合,也許會有更好的結(jié)果。
不用3D卷積層,也能3D重建
來自倫敦大學(xué)、牛津大學(xué)、谷歌和Niantic(從谷歌拆分出來的研究AR的獨角獸公司)等機(jī)構(gòu)的研究人員,探索出一條不用3D卷積的3D重建方法。
他們提出了一個簡單的最先進(jìn)的多視圖深度估計器。
該多視圖深度估計器有兩點突破。
一是精心設(shè)計的二維CNN,可以利用強大的圖像先驗,以及并可以得到平面掃描特征量和幾何損失;
二是能將關(guān)鍵幀和幾何元數(shù)據(jù)整合到成本量中,從而實現(xiàn)知情的深度平面計分。
據(jù)研究人員介紹,他們的方法在深度估計方面比目前最先進(jìn)的方法有明顯的領(lǐng)先優(yōu)勢。
并且在ScanNet和7-Scenes上進(jìn)行3D重建時接近或更好,但仍然允許在線實時低內(nèi)存重建。
而且,重建速度非常快,每幀僅用約73ms。
研究人員認(rèn)為,這使得通過快速深度融合進(jìn)行精確重建成為可能。
據(jù)研究人員介紹,他們的方法是用圖像編碼器從參考圖像和源圖像中提取匹配特征,然后輸入到cost volume,再使用2D卷積編碼/解碼器網(wǎng)絡(luò)處理cost volume的輸出結(jié)果。
該研究使用PyTorch來實現(xiàn),并用ResNet18進(jìn)行匹配特征提取,還使用兩塊40GB A100 GPU ,經(jīng)過36小時完成全部工作。
此外,雖然模型不使用3D卷積層,但在深度預(yù)測指標(biāo)上卻優(yōu)于基線模型。
這表明精心設(shè)計和訓(xùn)練的2D網(wǎng)絡(luò)足以進(jìn)行高質(zhì)量的深度估計。
感興趣的讀者,可以閱讀論文原文:
??https://nianticlabs.github.io/simplerecon/resources/SimpleRecon.pdf
不過,需要提醒的是,閱讀這篇論文有專業(yè)門檻,有些細(xì)節(jié)可能不容易會注意到。
我們不妨看看外國網(wǎng)友從這篇論文中發(fā)現(xiàn)了什么。
一位網(wǎng)名為「stickshiftplease」網(wǎng)友說,「雖然A100上的推理時間約為70毫秒,但這可以通過各種技巧來縮短,并且內(nèi)存要求不必為40GB,最小的模型運行2.6GB的內(nèi)存」。
另一個名為「IrreverentHippie」的網(wǎng)友則指出,「請注意,這項研究依然是基于LiDAR的深度傳感器進(jìn)行采樣。這就是這種方法獲得如此好的質(zhì)量和準(zhǔn)確性的原因」。
還有一個名為「nickthorpie」的網(wǎng)友的評論比較長,他說,「ToF相機(jī)的優(yōu)缺點有據(jù)可查。ToF解決了困擾原始圖像處理的各種問題。其中,兩個主要問題是可擴(kuò)展性和細(xì)節(jié)。ToF總是難以識別諸如桌子邊緣或細(xì)桿之類的小細(xì)節(jié)。這對于自主或半自主應(yīng)用程序至關(guān)重要。
此外,由于ToF是一種有源傳感器,因此當(dāng)多個傳感器一起使用時,例如在擁擠的十字路口或自建倉庫中,圖片質(zhì)量會迅速下降。
顯然,你在一個場景中收集的數(shù)據(jù)越多,你所創(chuàng)造的描述就越準(zhǔn)確。許多研究人員更喜歡研究原始圖像數(shù)據(jù),因為它更靈活」。