荊樹(shù)旭,趙 嬌
(長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
當(dāng)前人們通過(guò)手機(jī)、相機(jī)等可以很容易地獲取真實(shí)世界的高分辨率圖像并以數(shù)據(jù)的形式永久地保存下來(lái)。隨著人工智能的高速發(fā)展,從多幅圖像中恢復(fù)場(chǎng)景的三維幾何信息成為研究熱點(diǎn),主要途徑是通過(guò)多視立體幾何(Multi-View Stereo,MVS)、深度學(xué)習(xí)等計(jì)算機(jī)視覺(jué)理論和方法恢復(fù)真實(shí)場(chǎng)景的三維幾何信息。
目前三維場(chǎng)景的表示形式有深度圖、點(diǎn)云、網(wǎng)格、體素等。根據(jù)所使用的圖像數(shù)據(jù)源的不同,恢復(fù)場(chǎng)景三維信息的方法[1]主要分為主動(dòng)視覺(jué)和被動(dòng)視覺(jué)兩種類型,主動(dòng)視覺(jué)通過(guò)設(shè)備主動(dòng)發(fā)射可被測(cè)量的激光、紅外等信號(hào)直接獲取場(chǎng)景的三維點(diǎn)云信息,其可靠性高,主要應(yīng)用于實(shí)時(shí)任務(wù),但存在設(shè)備成本高、環(huán)境條件限制大以及點(diǎn)云數(shù)據(jù)精度不足等問(wèn)題。被動(dòng)視覺(jué)通過(guò)提取和學(xué)習(xí)圖像數(shù)據(jù)中的視覺(jué)特征恢復(fù)場(chǎng)景的三維幾何信息,具有方便快捷、成本低、應(yīng)用范圍廣的特點(diǎn)。被動(dòng)視覺(jué)根據(jù)目標(biāo)場(chǎng)景的多幅不同視角圖像,利用三角測(cè)量法、立體視覺(jué)法、視差法、深度學(xué)習(xí)等方法恢復(fù)場(chǎng)景三維幾何信息。圖像獲取相比基于激光、紅外傳感器的深度信息獲取更經(jīng)濟(jì),是時(shí)間不敏感任務(wù)的更好選擇。
基于MVS和深度學(xué)習(xí)的三維場(chǎng)景恢復(fù)需要獲取目標(biāo)場(chǎng)景具有一定空間重合度的多視角圖像,多視角圖像相機(jī)位姿分布的規(guī)范度、重合度對(duì)三維恢復(fù)的效果有很大的影響,基于深度學(xué)習(xí)的訓(xùn)練數(shù)據(jù)集在場(chǎng)景圖像相機(jī)位姿分布的規(guī)范度和重合度方面良好。在具體應(yīng)用中,用戶拍攝的目標(biāo)場(chǎng)景多視角圖像具有較大的隨機(jī)性,難以保證獲取到和訓(xùn)練數(shù)據(jù)集質(zhì)量等同或接近的場(chǎng)景圖像數(shù)據(jù),從而影響恢復(fù)效果。為了緩解這一問(wèn)題,該文提出了基于弱隨機(jī)相機(jī)位姿圖像的三維場(chǎng)景恢復(fù)方法,通過(guò)給用戶提供目標(biāo)場(chǎng)景拍攝建議,降低所獲取目標(biāo)場(chǎng)景圖像相機(jī)位姿分布的隨機(jī)性,提高場(chǎng)景的三維恢復(fù)效果。
基于被動(dòng)視覺(jué)的三維場(chǎng)景恢復(fù)一般分為傳統(tǒng)多視幾何MVS和深度學(xué)習(xí)兩種方法。MVS方法將獲取的場(chǎng)景圖像通過(guò)相機(jī)模型、對(duì)極幾何約束、特征匹配等幾何原理進(jìn)行解析,從而得到圖像中物體的三維幾何模型。卷積神經(jīng)網(wǎng)絡(luò)CNN (Convolutional Neural Networks)的出現(xiàn),為三維恢復(fù)算法改進(jìn)以及性能優(yōu)化提供了新思路,伴隨深度學(xué)習(xí)的發(fā)展,通過(guò)機(jī)器學(xué)習(xí)模仿動(dòng)物視覺(jué)進(jìn)行場(chǎng)景三維恢復(fù),將深度學(xué)習(xí)算法和傳統(tǒng)MVS三維恢復(fù)算法進(jìn)行融合實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ)。
基于MVS的三維場(chǎng)景恢復(fù)通過(guò)多視角圖像來(lái)獲取場(chǎng)景三維信息。2018年Yao等人[2]提出了基于可微分的單應(yīng)性變換立體匹配算法,然后結(jié)合深度學(xué)習(xí)提出MVSNet方法進(jìn)行三維恢復(fù)。繼而一些研究者在MVSNet方法的基礎(chǔ)上做了許多改進(jìn):R-MVSNet[3]把3D卷積換成門(mén)控循環(huán)單元GRU (Gated Recurrent Unit),把損失函數(shù)改為多分類交叉熵?fù)p失,內(nèi)存減小,精度也有所下降。Point-MVSNet[4]通過(guò)預(yù)測(cè)圖像深度信息并結(jié)合圖像構(gòu)成三維點(diǎn)云,再用3D點(diǎn)云算法優(yōu)化深度信息,提高了點(diǎn)云精度。P-MVSNet[5]將假想面上的特征匹配置信聚合變?yōu)橐粋€(gè)向量,以此提高立體匹配的精度。CVP-MVSNet[6]提出成本體積金字塔模型,應(yīng)用在深度網(wǎng)絡(luò)中,可處理高分辨率圖像并獲取高質(zhì)量場(chǎng)景深度圖,縮小了匹配代價(jià)的搜索范圍。Fast-MVSNet[7]提出由稀疏到稠密、由粗糙到精細(xì)的框架進(jìn)行場(chǎng)景深度估計(jì),并增加高斯-牛頓層優(yōu)化深度提高恢復(fù)速度。上述方法都需要獲取真實(shí)場(chǎng)景的三維數(shù)據(jù),而三維場(chǎng)景訓(xùn)練數(shù)據(jù)獲取比較困難,MVS2[8]提出了無(wú)監(jiān)督的多視圖深度學(xué)習(xí)方法,在深度圖中引入了跨視圖一致性約束,并提出了一種損失函數(shù)來(lái)度量跨視圖一致性。Khot T等人[9]提出了穩(wěn)健的光度損失函數(shù)以提高無(wú)監(jiān)督學(xué)習(xí)的性能。PatchmatchNet[10]提出了一種新穎的、可學(xué)習(xí)的、用于高分辨率多視圖立體視覺(jué)的級(jí)聯(lián)公式,可以處理更高分辨率的圖像。Xu H等人[11]提出了一個(gè)基于語(yǔ)義共分詞和數(shù)據(jù)增強(qiáng)指導(dǎo)的可靠監(jiān)督的框架,并設(shè)計(jì)了一種有效的數(shù)據(jù)增強(qiáng)機(jī)制,從而保證三維場(chǎng)景恢復(fù)的魯棒性。
MVSNet、P-MVSNet、R-MVS、MVS2等把DTU datasets、Blended MVS或Tanks and Temples作為訓(xùn)練和評(píng)估網(wǎng)絡(luò)的數(shù)據(jù)集。DTU數(shù)據(jù)集[12]是針對(duì)室內(nèi)場(chǎng)景和對(duì)象使用工業(yè)機(jī)械臂專門(mén)拍攝并處理的圖像,攝像機(jī)軌跡和視角都經(jīng)過(guò)嚴(yán)格規(guī)劃和控制。Blended MVS數(shù)據(jù)集[13]是通過(guò)規(guī)范相機(jī)位姿的虛擬攝像機(jī)獲取的用于MVS訓(xùn)練的合成數(shù)據(jù)集,包括106個(gè)訓(xùn)練場(chǎng)景和7個(gè)驗(yàn)證場(chǎng)景。Tanks and Temples數(shù)據(jù)集[14]針對(duì)更為復(fù)雜的室內(nèi)和室外場(chǎng)景,主要用于驗(yàn)證深度學(xué)習(xí)網(wǎng)絡(luò)是否對(duì)光照變化大、存在動(dòng)態(tài)目標(biāo)的場(chǎng)景仍具備較為精確的重建能力??傊?上述介紹的訓(xùn)練數(shù)據(jù)集在獲取時(shí)通過(guò)搭建規(guī)范的拍攝場(chǎng)景,對(duì)相機(jī)以及相機(jī)拍攝的視角都有嚴(yán)格的控制。普通用戶在拍攝目標(biāo)場(chǎng)景時(shí)多視角圖像的相機(jī)位姿具有較大的隨機(jī)性,難以保證獲取到和訓(xùn)練數(shù)據(jù)集質(zhì)量等同或接近的場(chǎng)景圖像數(shù)據(jù)。
在三維場(chǎng)景恢復(fù)應(yīng)用方面,余生吉等[15]使用雙結(jié)構(gòu)光相機(jī)直接獲取三維信息對(duì)莫高窟第45窟彩塑進(jìn)行三維重建,在獲取高精度幾何信息的同時(shí),達(dá)到了色彩、紋理、細(xì)節(jié)等高度還原效果。楊會(huì)君等[16]提出了交互式選擇和濾波器相結(jié)合的果實(shí)表型離群點(diǎn)去除方法,完成了基于普通圖像復(fù)雜背景下的作物果實(shí)三維表型重建。鄭亦然等[17]通過(guò)尺度不變特征變換匹配SIFT(Scale Invariant Feature Transform)算法以及PCL(Point Cloud Library)泊松曲面重構(gòu)算法實(shí)現(xiàn)了實(shí)驗(yàn)室復(fù)雜設(shè)備的結(jié)構(gòu)重建。張瓊月等[18]設(shè)計(jì)了三維環(huán)物攝影裝置,從原始圖像質(zhì)量和建模軟件選擇兩個(gè)方面,優(yōu)化模型精度,完成巖礦標(biāo)本精細(xì)化三維重建及虛擬仿真平臺(tái)搭建。周祖鵬等人[19]提出一種基于多圖像拼接三維重建算法,利用無(wú)人機(jī)操作的靈活性、視角可控制性等優(yōu)點(diǎn)進(jìn)行目標(biāo)場(chǎng)景的三維重建。張香玉等[20]構(gòu)建VR環(huán)境,借助VR生成的多視圖三維數(shù)據(jù)實(shí)現(xiàn)了場(chǎng)景稠密重建。Lin Z H等人[21]、Jonathan T. Barron[22]、Kara-Ali Aliev[23]提出一系列新穎的視圖合成算法,在基于單目視頻的三維重建的應(yīng)用上具有更高的性能和速度;唐嘉寧等[24]提出一種深度網(wǎng)絡(luò)和邊緣檢測(cè)融合的單目視覺(jué)建圖方法,能夠?qū)崿F(xiàn)無(wú)人機(jī)實(shí)施構(gòu)建三維地圖的要求;吳長(zhǎng)嵩等[25]對(duì)無(wú)人機(jī)航拍圖像的三維重建技術(shù)進(jìn)行綜述,提出已經(jīng)取得的突破和即將面臨的挑戰(zhàn)。以上高精度三維重建應(yīng)用中使用結(jié)構(gòu)光相機(jī)、三維環(huán)物裝置、無(wú)人機(jī)等設(shè)備對(duì)重建場(chǎng)景進(jìn)行拍攝,并對(duì)相機(jī)的拍攝位姿有更嚴(yán)格的規(guī)范性和重合度要求,均未考慮弱隨機(jī)相機(jī)位姿的三維重建效果評(píng)價(jià)。
三維場(chǎng)景恢復(fù)一般步驟是用戶首先拍攝目標(biāo)場(chǎng)景的多個(gè)不同視角的圖像,再對(duì)圖像進(jìn)行特征提取和特征匹配并計(jì)算出各幅圖像對(duì)應(yīng)的初始相機(jī)位姿,同時(shí)重建出稀疏的三維點(diǎn)云,最后,以多視角圖像和對(duì)應(yīng)初始相機(jī)位姿作為深度網(wǎng)絡(luò)輸入,進(jìn)行深度圖計(jì)算和相機(jī)位姿優(yōu)化繼而生成三維稠密點(diǎn)云,點(diǎn)云的顏色依據(jù)多視角圖像在該點(diǎn)的相似RGB決定。
近些年,研究者更多關(guān)注于優(yōu)化網(wǎng)絡(luò)以提高三維場(chǎng)景的恢復(fù)效果,而對(duì)于三維恢復(fù)應(yīng)用中的用戶拍攝影響因素關(guān)注不足,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)用戶在拍攝目標(biāo)場(chǎng)景圖像時(shí)的規(guī)范性會(huì)直接影響三維場(chǎng)景恢復(fù)的效果。對(duì)于一般消費(fèi)級(jí)的用戶在沒(méi)有相機(jī)滑軌、機(jī)械臂等輔助裝置和缺乏3D視覺(jué)專業(yè)知識(shí)的條件下,如何在目標(biāo)場(chǎng)景圖像的獲取環(huán)節(jié)更好利用相機(jī)獲取目標(biāo)圖像,從而提高三維恢復(fù)效果是一個(gè)有益的嘗試。例如,一般用戶在沒(méi)有拍攝建議的條件下拍攝的圖像,相比于規(guī)范的訓(xùn)練數(shù)據(jù)集,前者的三維效果明顯較差,圖1(a)是DTU數(shù)據(jù)集的相機(jī)位姿分布,圖1(b)是一般用戶拍攝的相機(jī)位姿分布。通過(guò)對(duì)比可以發(fā)現(xiàn),二者在相機(jī)位姿整齊度、圖像重合度及數(shù)量等方面有較大區(qū)別,這些區(qū)別會(huì)直接影響三維恢復(fù)效果。
圖1 DUT數(shù)據(jù)集和一般用戶相機(jī)位姿分布對(duì)比
該文通過(guò)一般用戶對(duì)目標(biāo)場(chǎng)景實(shí)例進(jìn)行圖像拍攝和三維恢復(fù)實(shí)驗(yàn),了解普通用戶的拍攝習(xí)慣,通過(guò)實(shí)驗(yàn)研究提供一套系統(tǒng)的場(chǎng)景拍攝建議指導(dǎo)用戶拍攝,從而提高三維場(chǎng)景恢復(fù)效果。實(shí)驗(yàn)邀請(qǐng)30個(gè)參與者,在沒(méi)有拍攝建議指導(dǎo)下,每個(gè)參與者拍攝30個(gè)場(chǎng)景的多視角圖像。對(duì)每個(gè)場(chǎng)景分別拍攝10張、20張、30張多視角圖像,分別稱為一個(gè)圖像集合,理論上,如果拍攝規(guī)范每個(gè)圖像集合都可以完成目標(biāo)場(chǎng)景的三維恢復(fù)。把一個(gè)參與者拍攝的一個(gè)場(chǎng)景的圖像組稱為一組,實(shí)驗(yàn)圖像組的總數(shù)量為b,本實(shí)驗(yàn)一共有900組圖像。對(duì)900組圖像進(jìn)行多視角相機(jī)位姿可視化以及三維恢復(fù)結(jié)果分析,一共有4種情況,如表1所示。第一種情況是一組圖像的10張、20張、30張的多視角圖像集合都能恢復(fù)出三維點(diǎn)云,第二種情況是一組圖像中僅有30張的圖像集合不能恢復(fù)出三維點(diǎn)云,第三種情況是一組圖像中僅有10張的圖像集合可以恢復(fù)出三維點(diǎn)云,第四種情況是一組圖像的10張、20張、30張的圖像集合都不能恢復(fù)出三維點(diǎn)云。第一、二、三、四種情況出現(xiàn)的數(shù)量分別記為a1、a2、a3、a4。
表1 900組多視角相機(jī)位姿圖像的恢復(fù)情況
該文把可以恢復(fù)出三維場(chǎng)景的多視圖圖像稱為拍攝成功,在表1中使用‘√’符號(hào)標(biāo)注,符號(hào)‘×’代表拍攝失敗的多視角圖像。在沒(méi)有拍攝建議指導(dǎo)的情況下,拍攝的多視角圖像集合的三維場(chǎng)景恢復(fù)的成功率如公式(1)(三維恢復(fù)的成功率Z=可成功恢復(fù)出三維點(diǎn)云的多視角圖像集合A/所有進(jìn)行實(shí)驗(yàn)的多視角圖像集B)僅有(121×3+127×2+164)/(900×3)=28.93%。很明顯,大部分參與者第一次拍攝多視角圖像達(dá)不到三維恢復(fù)要求,僅有少數(shù)參與者的拍攝圖像相機(jī)位姿分布較為規(guī)范,可以恢復(fù)三維場(chǎng)景。
(1)
根據(jù)實(shí)驗(yàn)結(jié)果,影響三維恢復(fù)的因素有圖像集合的圖像數(shù)量、圖像集合的拍攝相機(jī)位姿分布等,實(shí)驗(yàn)表明相機(jī)位姿分布是最主要的影響因素。接下來(lái),就實(shí)驗(yàn)中計(jì)算相機(jī)位姿出現(xiàn)的具體問(wèn)題進(jìn)行分析,并通過(guò)給參與者提供拍攝建議嘗試解決這些問(wèn)題。
圖2所示是目標(biāo)場(chǎng)景拍攝時(shí)相機(jī)視角間隔過(guò)大或過(guò)小導(dǎo)致的問(wèn)題,圖2左是拍照視角間隔過(guò)大導(dǎo)致圖像間場(chǎng)景空間重合度不足,在特征匹配時(shí)無(wú)法在圖像間匹配到相同目標(biāo)特征的問(wèn)題;圖2右是拍照視角間隔過(guò)小導(dǎo)致圖像間在小范圍內(nèi)空間過(guò)度重合,而在更大的目標(biāo)圍內(nèi)重合度又不足的問(wèn)題。
圖2 無(wú)拍攝建議時(shí)的拍攝視角間隔問(wèn)題
圖3是比較規(guī)范的相機(jī)位姿拍攝視角分布,圖3左表明相機(jī)分布比較規(guī)則,每個(gè)視角的間隔比較接近且不重合,圖3右表明每個(gè)相機(jī)位置和主體場(chǎng)景的距離都約相等并呈弧線分布。由后期實(shí)驗(yàn)可知,規(guī)則的相機(jī)位姿分布明顯提高了三維場(chǎng)景恢復(fù)的成功率。
圖3 規(guī)則的相機(jī)拍攝位姿分布
圖4左右分別是在無(wú)拍攝建議下多視角圖像成功恢復(fù)稀疏點(diǎn)云的效果,30張多視角圖像集合的相機(jī)位姿只有28個(gè)視角有效,由于圖片數(shù)量和能夠恢復(fù)的相機(jī)位姿數(shù)量不同,導(dǎo)致在輸入到MVS網(wǎng)絡(luò)中進(jìn)行稠密重建時(shí)直接出錯(cuò)。
圖4 無(wú)拍攝建議時(shí)的部分相機(jī)位姿無(wú)效問(wèn)題
規(guī)劃拍攝的軌跡。實(shí)驗(yàn)參與者在拍攝時(shí),提前規(guī)劃好每一個(gè)拍攝視角,按照蛇形軌跡從左到右,從上到下進(jìn)行拍攝可以有效提高拍攝圖像相機(jī)位姿的有效性。
實(shí)驗(yàn)參與者拍攝的場(chǎng)景有室內(nèi)和戶外兩種。戶外場(chǎng)景優(yōu)點(diǎn)是拍攝相機(jī)運(yùn)動(dòng)自由、光線充足等,拍攝時(shí)的相機(jī)位姿相對(duì)室內(nèi)更整齊,完整性更高。弊端是目標(biāo)場(chǎng)景過(guò)大導(dǎo)致拍攝的相機(jī)位姿軌跡比較單一,例如目標(biāo)場(chǎng)景上方視角圖像難以獲取,第二個(gè)弊端是目標(biāo)背景復(fù)雜,主體和背景距離較近,在稠密重建時(shí)導(dǎo)致的目標(biāo)對(duì)象不突出、噪點(diǎn)多等問(wèn)題。
為了驗(yàn)證是否由于現(xiàn)實(shí)場(chǎng)景的背景影響主體場(chǎng)景的三維恢復(fù)效果,實(shí)驗(yàn)使用Adobe Photoshop 2021手動(dòng)剔除了24張多視角圖像的背景,再進(jìn)行三維恢復(fù)。圖5是其中一幅圖像的剔除背景前后對(duì)比圖,對(duì)背景剔除的多視角圖像進(jìn)行三維場(chǎng)景恢復(fù),圖6左是未剔除背景的多視角圖像恢復(fù)的三維點(diǎn)云,圖6右是剔除背景后的多視角圖像恢復(fù)的三維點(diǎn)云??煽闯?剔除背景的三維恢復(fù)效果有明顯改進(jìn),未剔除背景圖片的重建結(jié)果看不出主體場(chǎng)景要表現(xiàn)的內(nèi)容,由此實(shí)驗(yàn)可證明復(fù)雜背景的干擾會(huì)影響主體場(chǎng)景的三維恢復(fù)效果。
圖5 剔除多視圖背景的對(duì)比
圖6 剔除背景前后的三維重建效果對(duì)比
雖然對(duì)圖片背景做剔除處理在一定程度上解決了戶外場(chǎng)景三維重建的問(wèn)題,但其工作量比較大,需要將所有拍攝的照片進(jìn)行背景剔除操作,浪費(fèi)人力和時(shí)間。故可以借助相機(jī)的自動(dòng)對(duì)焦或者模糊背景的功能,在拍攝戶外場(chǎng)景時(shí)凸顯主體場(chǎng)景,弱化背景影響。
用戶采集數(shù)據(jù)還應(yīng)該注意以下問(wèn)題:在采集過(guò)程中控制快門(mén)速度,避免模糊。圍繞目標(biāo)對(duì)象物體或環(huán)境采集盡量多的圖像;在場(chǎng)景選擇方面,應(yīng)選擇如圖7(a)相近的光線充足、光照條件變化不劇烈的環(huán)境,如果是(如圖7(d))光線較暗的環(huán)境,可以利用補(bǔ)光燈輔助補(bǔ)光。同時(shí)盡量避免選擇的物體(圖7(b))紋理單一;在重建物體的選擇上,需要避免拍攝透明或半透明等強(qiáng)反光材料環(huán)境(如圖7(c)),總之,圖7(a)是弱反光、紋理復(fù)雜的材料,環(huán)境光線充足,是個(gè)良好的場(chǎng)景圖像示例。
圖7 目標(biāo)場(chǎng)景的其他影響因素示例
總之,在圖像采集任務(wù)中,相機(jī)、場(chǎng)景的選擇是第一步,更重要的是拍攝時(shí)的相機(jī)位姿規(guī)劃布設(shè)建議指導(dǎo)。首先,估計(jì)目標(biāo)物體的中心點(diǎn),如圖8(a)使用一個(gè)虛擬球把目標(biāo)對(duì)象包裹在虛擬包圍球中,相機(jī)始終保持在接近虛擬包圍球表面進(jìn)行運(yùn)動(dòng)拍攝,并且相機(jī)光軸始終接近正對(duì)虛擬球的球心,具體位姿分布以圖1左為參考。采用如圖8(b)分布的蛇形拍攝軌跡獲取更多的目標(biāo)場(chǎng)景圖像,戶外拍攝可以使用自拍桿或無(wú)人機(jī)等設(shè)備布設(shè)更多條拍攝軌跡。
圖8 拍攝建議
實(shí)驗(yàn)發(fā)現(xiàn)通過(guò)給用戶提供目標(biāo)場(chǎng)景拍攝建議,可降低所獲取目標(biāo)場(chǎng)景圖像相機(jī)位姿分布的隨機(jī)性,提高場(chǎng)景的三維恢復(fù)效果。
實(shí)驗(yàn)運(yùn)行的PC平臺(tái)配置如下:Windows10操作系統(tǒng),Intel(R)Core(TM)i7-8700,NVIDIA TeslaK 40c,Intel(R) UHD Graphics 630。訓(xùn)練環(huán)境:python 3.7,Tensorboard2.6.0,Torchvision0.5.0,pytorch1.4.0,Opencv-python4.5.3.5。
硬件:手機(jī):根據(jù)拍攝意見(jiàn)拍攝場(chǎng)景的多視角圖像,注意拍攝視角和軌跡;補(bǔ)光燈:拍攝光線弱的場(chǎng)景時(shí)進(jìn)行補(bǔ)光,減少光照對(duì)三維恢復(fù)效果的影響;軟件:COLMAP-3.6-windows-no-cuda:計(jì)算并可視化多視角圖像的相機(jī)位姿和稀疏三維點(diǎn)云,計(jì)算結(jié)果為相機(jī)、圖像和位姿信息,可作為MVS網(wǎng)絡(luò)的輸入信息,相機(jī)位姿可視化方便用戶觀察拍攝圖像的位姿并及時(shí)加以調(diào)整;Python:訓(xùn)練數(shù)據(jù)集并進(jìn)行三維場(chǎng)景稠密重建;Meshlab:可視化三維點(diǎn)云。過(guò)程:拍攝圖像數(shù)據(jù),數(shù)據(jù)預(yù)處理,稀疏稠密三維恢復(fù),優(yōu)化三維模型,渲染重現(xiàn)。運(yùn)用手機(jī)+Colmap+MVS+Meshlab的方式,實(shí)現(xiàn)了弱隨機(jī)相機(jī)位姿圖像的場(chǎng)景三維恢復(fù)。
基于平面掃描的多視圖立體視覺(jué)深度學(xué)習(xí)三維恢復(fù)的實(shí)現(xiàn)步驟如圖9所示。
圖9 三維場(chǎng)景恢復(fù)的完整流程
步驟一:用戶根據(jù)指導(dǎo)建議使用手機(jī)或單反相機(jī)采集同一場(chǎng)景不同視角的多視角圖像,圖9左側(cè)為手機(jī)拍攝的書(shū)桌場(chǎng)景的圖像組示例。
步驟二:把用戶拍攝的多視角圖像輸入到Colmap軟件中,Colmap首先由SIFT算法進(jìn)行特征提取,構(gòu)建不同尺度空間進(jìn)而獲得更穩(wěn)定的特征點(diǎn),如公式(2)、公式(3),圖像的尺度空間L(x,y,σ),由高斯核G(x,y,σ)與圖像I(x,y)卷積獲得,其中σ是尺度參數(shù),是模糊處理規(guī)模的大小,σ值越大,圖像越模糊。
L(x,y,σ)=G(x,y,σ)?I(x,y)
(2)
(3)
然后進(jìn)行多尺度SIFT特征點(diǎn)匹配,最后利用對(duì)極幾何關(guān)系去除錯(cuò)誤匹配的特征點(diǎn)對(duì)。一組多視角圖像分為一個(gè)參考圖像和其他多個(gè)源圖像,以參考圖像的圖像坐標(biāo)系作為相機(jī)位姿的參考坐標(biāo)系。假設(shè)某個(gè)源圖像坐標(biāo)系為P,某一點(diǎn)p的坐標(biāo)為X1;參考圖像為目標(biāo)坐標(biāo)系P',點(diǎn)p對(duì)應(yīng)匹配點(diǎn)坐標(biāo)為X2,已知參考圖像的相機(jī)內(nèi)參K1,外參(R1,t1),源圖像的相機(jī)內(nèi)參Ki,外參(Ri,ti),法向量n,n為目標(biāo)平面法向量且朝向P,投影平面到對(duì)象平面的深度為d。通過(guò)求解P到P'的基礎(chǔ)矩陣F(fundamental)、單應(yīng)矩陣H(homography)和本質(zhì)矩陣E(essential)獲得源圖像的外參,核心求解公式為公式(4)~公式(6)。具體的計(jì)算過(guò)程見(jiàn)文獻(xiàn)[26]。
(4)
E=KTFK
(5)
(6)
步驟三:尋找一對(duì)初始的匹配圖像對(duì),結(jié)合步驟二方法通過(guò)奇異值分解SVD (Single Value Decomposi-tion)獲得參考圖像和源圖像位姿,然后三角化生成三維點(diǎn)。通過(guò)每次增加一張新源圖像方式進(jìn)行增量重建,具體的計(jì)算過(guò)程見(jiàn)文獻(xiàn)[21]。
步驟四:根據(jù)上述步驟,得到圖9中第二個(gè)黑框中相機(jī)信息、圖像信息、稀疏點(diǎn)云信息和相機(jī)位姿可視化結(jié)果;圖10左上和左下是拍攝的兩個(gè)場(chǎng)景的多視角圖像,圖10右上和右下是對(duì)應(yīng)場(chǎng)景的相機(jī)位姿及稀疏點(diǎn)云可視化結(jié)果,其中右側(cè)兩幅圖中的黑框內(nèi)是稀疏點(diǎn)云的三維坐標(biāo)系,是由步驟二中提及的參考圖像坐標(biāo)系轉(zhuǎn)換而來(lái),也是后期進(jìn)行稠密重建的參考坐標(biāo)系。
圖10 多視角圖像及對(duì)應(yīng)的相機(jī)位姿
步驟五:根據(jù)圖像拍攝時(shí)刻的攝像機(jī)位置姿態(tài)和稀疏三維點(diǎn)云,利用多視角立體匹配算法獲取稠密三維點(diǎn)云;根據(jù)MVS網(wǎng)絡(luò)[10]生成深度圖和相應(yīng)的置信度,進(jìn)行濾波融合和稠密重建。根據(jù)一系列具有各自校準(zhǔn)相機(jī)參數(shù)的圖像,進(jìn)行稠密點(diǎn)云恢復(fù),恢復(fù)結(jié)果為圖9最右側(cè)的深度圖和三維點(diǎn)云圖。
計(jì)算深度圖,即平面掃描立體。原理是通過(guò)多視角機(jī)位姿對(duì)同一物體進(jìn)行拍攝,首先大致估計(jì)出物體的深度范圍(即最小深度dmin和最大深度dmax),然后把深度范圍劃分為多個(gè)平行平面,判斷圖像上每個(gè)像素點(diǎn)在每個(gè)平行范圍的匹配代價(jià),最后選出最小代價(jià),即為該像素點(diǎn)的深度值。
為驗(yàn)證數(shù)據(jù)采集指導(dǎo)建議對(duì)三維場(chǎng)景恢復(fù)的有效性,給予10位參與者拍攝建議,各拍攝30組多視角圖像,實(shí)驗(yàn)發(fā)現(xiàn),300組圖像僅有57組不能恢復(fù)出三維場(chǎng)景,故在指導(dǎo)下拍攝出的多視角圖像的三維場(chǎng)景恢復(fù)的成功率可達(dá)到(300-57)/300=81%。
圖11 拍攝指導(dǎo)前后的三維點(diǎn)云對(duì)比
圖11是在拍攝多視角圖像時(shí),進(jìn)行拍攝指導(dǎo)前后的三維場(chǎng)景恢復(fù)對(duì)比圖,左列是未經(jīng)過(guò)指導(dǎo)拍攝的多視角圖像的三維恢復(fù)效果,右側(cè)是進(jìn)行拍攝指導(dǎo)后的三維恢復(fù)效果??梢园l(fā)現(xiàn),圖11第一行的左圖中矩形框相較于右圖矩形框中的三維點(diǎn)云缺失比較嚴(yán)重,點(diǎn)云完整性和三維恢復(fù)效果都稍差。圖11第二行同理可觀察到,在進(jìn)行指導(dǎo)后的右圖,用戶拍攝的多視角圖像在恢復(fù)出三維點(diǎn)云的視覺(jué)效果和點(diǎn)云精度方面都有較明顯的提高。
圖12是在建議指導(dǎo)下拍攝的多視角圖像的三維場(chǎng)景恢復(fù)效果與真實(shí)場(chǎng)景對(duì)比展示,圖12左列是拍攝的真實(shí)場(chǎng)景圖像,圖12右列是對(duì)應(yīng)的三維場(chǎng)景恢復(fù)點(diǎn)云展示??梢园l(fā)現(xiàn),恢復(fù)的三維場(chǎng)景在點(diǎn)云精度、主體場(chǎng)景完整性方面和整體視覺(jué)效果上與目標(biāo)場(chǎng)景十分接近。
圖12 拍攝指導(dǎo)下的三維恢復(fù)效果展示
基于深度和顏色數(shù)據(jù)的三維重建是目前三維恢復(fù)的一個(gè)途徑,需要通過(guò)深度相機(jī)獲取場(chǎng)景的深度數(shù)據(jù),相較于單純基于圖像數(shù)據(jù)的三維恢復(fù)其代價(jià)較高同時(shí)方便性也有所降低。該文在多視角圖像獲取方面研究也有助于融合深度數(shù)據(jù)源的三維場(chǎng)景恢復(fù)。
通過(guò)研究基于MVS深度網(wǎng)絡(luò)的弱隨機(jī)相機(jī)位姿圖像的三維場(chǎng)景恢復(fù),提出一系列拍攝建議,降低拍攝相機(jī)位姿分布的隨機(jī)性,提升了三維恢復(fù)的效果。實(shí)驗(yàn)結(jié)果表明,普通用戶經(jīng)過(guò)指導(dǎo)能將自己拍攝的多視圖二維圖像轉(zhuǎn)化為較高精度的三維模型。該文的文字指導(dǎo)容易存在歧義并且在實(shí)際操作時(shí)實(shí)現(xiàn)程度不高,故后期可以增加簡(jiǎn)易便攜式輔助設(shè)備或輔助軟件指導(dǎo)用戶拍攝。比如規(guī)劃軌跡和拍攝視角,也可在相機(jī)中加入基于AR的實(shí)時(shí)引導(dǎo)功能等。
總之,基于多視角的被動(dòng)視覺(jué)三維重建依舊面臨較大的困難。如透明或半透明,無(wú)紋理或重復(fù)紋理等都是三維恢復(fù)面臨的挑戰(zhàn),在該方面的研究也需要盡快從研究轉(zhuǎn)化到應(yīng)用層面,使更多的普通消費(fèi)級(jí)用戶能夠分享三維恢復(fù)重建帶來(lái)的便利從而產(chǎn)生實(shí)際的應(yīng)用價(jià)值。