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