匡文彬 梁文章 陳 姝
(1.湘潭大學(xué)信息工程學(xué)院 湘潭 411105)(2.廣西卡斯特動(dòng)漫有限公司 南寧 530007)
如何重構(gòu)出真實(shí)感的三維場(chǎng)景,以滿足人們?cè)跀?shù)字城市,虛擬現(xiàn)實(shí)等領(lǐng)域的應(yīng)用,已成為計(jì)算機(jī)視覺(jué)等領(lǐng)域熱點(diǎn)關(guān)注的問(wèn)題。三維重建技術(shù)大致包括通過(guò)激光探測(cè)與測(cè)量技術(shù)進(jìn)行重建和通過(guò)影像進(jìn)行重建兩種[1~2]。與前者相比,后者更加經(jīng)濟(jì)和便捷。基于單目相機(jī)序列圖像的三維重建技術(shù)由于使用方便、成本低廉,比專業(yè)的三維掃描儀有更廣泛的使用場(chǎng)景[3]?;谟跋竦娜S建模,就是通過(guò)對(duì)物體或者場(chǎng)景拍攝的圖像序列來(lái)恢復(fù)物體的三維模型的過(guò)程,從而使得建模過(guò)程更加自動(dòng)化,降低了人工勞動(dòng)強(qiáng)度,減少了建模成本。
利用圖像序列進(jìn)行場(chǎng)景三維重建時(shí),拍攝的場(chǎng)景通常比較復(fù)雜,很少存在所拍攝的圖像只有目標(biāo)物體的情形。這樣在點(diǎn)云重建時(shí)會(huì)產(chǎn)生一些除目標(biāo)物體以外的離群點(diǎn),因此在點(diǎn)云重建后需要進(jìn)行點(diǎn)云過(guò)濾來(lái)去除這些離群點(diǎn),降低離群點(diǎn)對(duì)目標(biāo)重建的影響,使后續(xù)的重建工作更加精確。Poisson重構(gòu)[4~5]可以對(duì)散亂的點(diǎn)云構(gòu)建出封閉曲面,生成目標(biāo)物體的三維網(wǎng)格模型,但是隨之也會(huì)產(chǎn)生很多冗余數(shù)據(jù),所以如果想提取獨(dú)立目標(biāo)物體的三維模型就要對(duì)Poisson 重構(gòu)的冗余數(shù)據(jù)進(jìn)行再次過(guò)濾,裁剪出目標(biāo)物體。通過(guò)這種方式構(gòu)建的目標(biāo)物體三維模型就能脫離周圍環(huán)境的影響,能夠應(yīng)用于更多的場(chǎng)景。關(guān)于三維模型的表面紋理處理,在游戲制作領(lǐng)域通常使用3D Studio Max、Autodesk Maya等三維動(dòng)畫渲染和制作軟件進(jìn)行人工貼附紋理,這種手工恢復(fù)紋理會(huì)造成不必要的人力財(cái)力消耗。相反,自動(dòng)紋理映射就大大降低了生產(chǎn)的周期。
本文研究了一種基于單目相機(jī)序列圖像的雙層過(guò)濾三維重建的方法,比較傳統(tǒng)三維重建方法本文方法具有以下優(yōu)點(diǎn):一個(gè)成像的相機(jī)就可以完成目標(biāo)物體的重建,無(wú)需傳統(tǒng)立體視覺(jué)成像所需多個(gè)成像設(shè)備(如三維掃描儀)的要求。手機(jī)或者無(wú)人機(jī)拍攝的圖像都能較好地進(jìn)行目標(biāo)物體或者場(chǎng)景的重構(gòu);本文提出自動(dòng)紋理映射方法來(lái)降低了不必要的人工消耗,同時(shí)采用雙層過(guò)濾機(jī)制,能有效濾出偏離目標(biāo)物體較遠(yuǎn)的離群點(diǎn)云,保證了目標(biāo)物體重構(gòu)的效果和后續(xù)應(yīng)用。
根據(jù)Hartley R,Zisserman A[6]推導(dǎo)的攝像機(jī)模型中,基本針孔模型抽象成為內(nèi)參矩陣K。我們采用張正友提出的標(biāo)定算法計(jì)算相機(jī)的內(nèi)部參數(shù)[7]。根據(jù)算法的解釋,只需要至少4 個(gè)空間點(diǎn)坐標(biāo)與其對(duì)應(yīng)的圖像點(diǎn)像素坐標(biāo)信息就能求得包含相機(jī)內(nèi)部參數(shù)的單應(yīng)性矩陣,具體求出包含在單應(yīng)性矩陣的5個(gè)內(nèi)部參數(shù)信息就需要至少三幅圖像。
為了保證實(shí)驗(yàn)結(jié)果正確性,本文對(duì)標(biāo)定板以不同的角度和位置拍攝15 幅以上的圖片進(jìn)行標(biāo)定。實(shí)驗(yàn)數(shù)據(jù)手機(jī)部分為華為榮耀7i 所拍攝,像素大?。?080×1560,無(wú)人機(jī)部分為大疆精靈4 所拍攝,像素大?。?000×1500。上面的圖像數(shù)據(jù)均為原本拍攝標(biāo)定板圖像經(jīng)過(guò)長(zhǎng)寬各修改原圖像尺寸的一半后得到,而且重構(gòu)圖像也進(jìn)行同樣操作,不影響實(shí)驗(yàn)結(jié)果。
標(biāo)定后的圖像就有較為精確的相機(jī)內(nèi)部參數(shù),與經(jīng)典的structure-from-motion(SfM)系統(tǒng)bundler[8]比較省去了需要手動(dòng)添加相機(jī)的焦距參數(shù)這一步驟,在三維重建實(shí)踐中如果難以找到自己所用相機(jī)焦距等內(nèi)部參數(shù)信息就可以通過(guò)相機(jī)標(biāo)定來(lái)得到這些信息。標(biāo)定結(jié)果如表1所示。
x0為相機(jī)X方向上光心坐標(biāo)(Pixel),y0為相機(jī)Y方向上光心坐標(biāo)(Pixel),fx為相機(jī)X 方向焦距(Pixel),fy為相機(jī)Y方向焦距(Pixel)。
基于序列圖像的稀疏點(diǎn)云三維重構(gòu)大致分為4 個(gè)步驟:1)序列圖像集的特征提取與匹配;2)由相機(jī)內(nèi)部參數(shù)和對(duì)極幾何進(jìn)行雙目三維重建;3)由雙目三維重建結(jié)果擴(kuò)展到多目三維重建;4)集束優(yōu)化。具體流程如圖1所示。
圖1 稀疏點(diǎn)云重建流程圖
本文采用SIFI 特征進(jìn)行特征提取,SIFI 由David Lowe 在1999 年所發(fā)表,2004 年完善總結(jié)。SIFT特征對(duì)旋轉(zhuǎn)、尺度、亮度具有不變性,對(duì)視角變化、仿射變換、噪聲也可以保持一定程度的穩(wěn)定性[9]。提取特征點(diǎn)后采用ratio test[10]方法進(jìn)行特征匹配,找到最佳匹配。
兩幅視圖的三維重建是利用Nistér David 提出的五點(diǎn)法[11]來(lái)估計(jì)本質(zhì)矩陣E。對(duì)于計(jì)算本質(zhì)矩陣,五點(diǎn)算法會(huì)得到比七點(diǎn)法或八點(diǎn)算法更好的計(jì)算結(jié)果。五點(diǎn)法適用于一般結(jié)構(gòu),即使場(chǎng)景平坦,也可以繼續(xù)正常運(yùn)行。對(duì)于側(cè)向運(yùn)動(dòng)尤其具有優(yōu)勢(shì),通過(guò)單應(yīng)性分解可以獲得更好的運(yùn)動(dòng)假設(shè)。當(dāng)超過(guò)五點(diǎn)可用時(shí),差異甚至更大,因?yàn)閱螒?yīng)性方法的準(zhǔn)確性更好。當(dāng)我們得知兩幅視圖中的多于五對(duì)對(duì)應(yīng)點(diǎn)的時(shí)候,我們就可以估計(jì)出兩幅視圖對(duì)應(yīng)的本質(zhì)矩陣。對(duì)本質(zhì)矩陣使用SVD 分解可以得到旋轉(zhuǎn)矩陣和位移向量,這就完成了雙目的相互位置標(biāo)定。再用線性三角化算法[5]對(duì)特征點(diǎn)對(duì)進(jìn)行三維重建,恢復(fù)出特征點(diǎn)對(duì)的三維信息。
通過(guò)雙目三維重構(gòu)我們已經(jīng)知道如何從兩幅視圖中恢復(fù)運(yùn)動(dòng)和場(chǎng)景的幾何結(jié)構(gòu),但是由于度量尺度不統(tǒng)一(up-to-scale)的原因。不能采用同樣的過(guò)程去處理多視圖三維重建。采用透視N 點(diǎn)法(Perspective N Point,PNP)去處理從多視圖重構(gòu)三維場(chǎng)景的問(wèn)題。關(guān)于PNP 問(wèn)題,有很多關(guān)于P3P、P4P、P5P 的研究[12~13],為了提高魯棒性,一般采用多于4 個(gè)特征點(diǎn)來(lái)解決實(shí)際問(wèn)題。通過(guò)敘述可以知道多目視圖的重構(gòu)三維場(chǎng)景步驟:1)使用雙目三維重建,對(duì)序列圖像中最開(kāi)始的兩幅視圖進(jìn)行三維重構(gòu),這樣就得到了一些空間點(diǎn)的三維信息。2)加入第三幅視圖,使其與前兩幅圖像進(jìn)行匹配,在這些匹配結(jié)果中找到與圖像一與圖像二之間的匹配點(diǎn)(最少4 個(gè))。3)求解PNP 問(wèn)題。即通過(guò)前兩幅圖像求得的三維點(diǎn)坐標(biāo)和這些點(diǎn)在第三幅圖像中的像素坐標(biāo)求得第三幅圖像的位姿。依次類推到更多視圖。
隨著重構(gòu)圖像增多,相機(jī)的位置和姿態(tài)信息以及重建的三維點(diǎn)云信息其積累誤差會(huì)越來(lái)越大,影響到最終的重建精度。引入非線性優(yōu)化算法即光束平差法(bundle adjustment)解決這個(gè)問(wèn)題。它利用最小二乘法減小觀測(cè)圖像點(diǎn)坐標(biāo)與預(yù)測(cè)的圖像點(diǎn)坐標(biāo)之間的誤差。即用下式表述其原型:
x 是待優(yōu)化的參數(shù),f 是代價(jià)函數(shù),ρ 是損失函數(shù)。因?yàn)閒 函數(shù)的返回值是一個(gè)向量,因此返回值向量的2 范式作為總體的代價(jià)。針對(duì)三維重建中的優(yōu)化調(diào)整,代價(jià)函數(shù)就是反向投影誤差,待優(yōu)化的有相機(jī)內(nèi)參矩陣,外參矩陣,以及三維點(diǎn)云數(shù)據(jù)。設(shè)圖像i的內(nèi)參矩陣為Ki,外參矩陣分別為Ri和Ti,點(diǎn)云某一點(diǎn)坐標(biāo)為Pj,該點(diǎn)在圖像上的像素坐標(biāo)為pij,則反向投影誤差為下式:
Pj和pij都是齊次坐標(biāo),其中p是投影函數(shù),有
采用損失函數(shù)ρ 的目的是為了降低離群點(diǎn)對(duì)算法的影響,增強(qiáng)優(yōu)化算法的魯棒性。 一般損失函數(shù)可以采用Tukey 和Huber 函數(shù),為了使誤差較大的點(diǎn)對(duì)總體代價(jià)有一個(gè)較為良好的影響,實(shí)驗(yàn)中使用的是Huber函數(shù)。
本文采用CMVS 結(jié)合PMVS2 進(jìn)行稠密點(diǎn)云重建[14],先用CMVS 算法聚簇用來(lái)加速處理稠密點(diǎn)云重建的速度,再用PMVS 算法得到場(chǎng)景的稠密點(diǎn)云。PMVS 算法大致流程就是特征匹配,擴(kuò)展和過(guò)濾,其中擴(kuò)展和過(guò)濾操作循環(huán)三次。
在獲取點(diǎn)云數(shù)據(jù)的時(shí)候,由于拍攝環(huán)境因素、操作設(shè)備精度問(wèn)題等帶來(lái)的影響,會(huì)不可避免的產(chǎn)生一些測(cè)量隨機(jī)誤差所帶來(lái)的噪聲點(diǎn)。同時(shí)由于視線遮擋、障礙物遮擋等一些外界因素的影響,得到的點(diǎn)云數(shù)據(jù)中也可能會(huì)出現(xiàn)一些離主體點(diǎn)云較遠(yuǎn)的離散點(diǎn)。點(diǎn)云濾波處理是點(diǎn)云預(yù)處理流程中的第一步,對(duì)點(diǎn)云的后續(xù)處理操作影響很大。只有在點(diǎn)云濾波處理中定制一套有效的噪聲點(diǎn)、離群點(diǎn)過(guò)濾方法,才能更好地進(jìn)行后續(xù)曲面重建和可視化。
本文使用統(tǒng)計(jì)分析技術(shù)從得到的點(diǎn)云數(shù)據(jù)集中過(guò)濾掉離群點(diǎn)。該算法遍歷整個(gè)輸入點(diǎn)云兩次:在第一次迭代期間,它將計(jì)算每個(gè)點(diǎn)對(duì)其最近的m個(gè)鄰近點(diǎn)的平均距離。接下來(lái),計(jì)算所有這些距離的平均值mean 和標(biāo)準(zhǔn)差stddev,以確定距離閾值η。
stddev_mult為標(biāo)準(zhǔn)差倍數(shù),用來(lái)控制距離閾值的大小。在下一次迭代中,如果它們的平均鄰近點(diǎn)距離高于該閾值,則點(diǎn)將被分類異常值即離群點(diǎn)[15]。本文將對(duì)每個(gè)點(diǎn)分析的鄰近點(diǎn)的個(gè)數(shù)m 設(shè)置為200,即表示如果一個(gè)點(diǎn)計(jì)算得到的200 個(gè)鄰近點(diǎn)平均距離超過(guò)平均距離stddev_mult 個(gè)標(biāo)準(zhǔn)差以上則認(rèn)為是離群點(diǎn)并移除。
PMVS 生成的點(diǎn)云經(jīng)過(guò)過(guò)濾后可以得到待重構(gòu)物體的主體三維點(diǎn)云信息,接下來(lái)通過(guò)三角化得到物體的三維表面。直接對(duì)散亂點(diǎn)云進(jìn)行三角化會(huì)使重構(gòu)出來(lái)的物體模型顯得僵硬并且看起來(lái)很尖銳,所以對(duì)散亂點(diǎn)云直接進(jìn)行三角化只適合于點(diǎn)云密度較為均勻并且總體點(diǎn)云所構(gòu)成曲面連續(xù)光滑的情況。
相對(duì)而言,泊松重建就是一種針對(duì)散亂點(diǎn)云進(jìn)行快速有效的曲面重建方法。泊松表面重建是一種全局曲面重建方法,考慮到全部數(shù)據(jù)進(jìn)行表面重建而不借助與啟發(fā)式的點(diǎn)云分割和合并。泊松表面重建算法融合了全局重建和局部重建方法的優(yōu)點(diǎn),采用隱性擬合的方式得到具有良好細(xì)節(jié)特性的平滑的重建表面,對(duì)噪聲有一定的魯棒性。泊松表面重建的缺點(diǎn)也很明顯,因?yàn)椴灰肱c模型形態(tài)相關(guān)的信息,所以容易錯(cuò)誤地把本不該進(jìn)行連接的點(diǎn)云空洞區(qū)域連接,對(duì)某些非封閉物體的點(diǎn)云自動(dòng)構(gòu)建出封閉的模型表面[3~4]。
由于Poisson 重構(gòu)會(huì)自動(dòng)重建出封閉的曲面,產(chǎn)生很多冗余數(shù)據(jù),因而如果待重構(gòu)的物體不是封閉的物體就會(huì)使得Poisson 重構(gòu)出來(lái)的模型難以直接運(yùn)用到實(shí)際應(yīng)用中。如果想要?jiǎng)h除掉多余的曲面信息,則需要對(duì)Poisson 重構(gòu)生成的結(jié)果進(jìn)行裁剪??梢圆捎玫? 節(jié)中類似的方法,對(duì)多余的曲面點(diǎn)進(jìn)行過(guò)濾刪除后,再對(duì)被刪除的離群點(diǎn)相關(guān)的三角面信息進(jìn)行刪除,就可以得到較為理想的三維模型的可見(jiàn)外殼。
至此雙層過(guò)濾機(jī)制如圖2所示。
圖2 雙層過(guò)濾流程圖
在點(diǎn)云過(guò)濾階段設(shè)置較好的鄰近點(diǎn)個(gè)數(shù)m 和標(biāo)準(zhǔn)差倍數(shù)stddev_mult 能保證稠密點(diǎn)云在進(jìn)行Poisson 重構(gòu)的時(shí)候不產(chǎn)生除目標(biāo)物體以外的不規(guī)則球體。三角面片過(guò)濾階段設(shè)置較好的鄰近點(diǎn)個(gè)數(shù)m 和標(biāo)準(zhǔn)差倍數(shù)stddev_mult 能保證稠密點(diǎn)云在進(jìn)行Poisson 重構(gòu)時(shí)能保證主體模型沒(méi)有空洞的情況下較好地去掉泊松重構(gòu)產(chǎn)生的冗余面片。
對(duì)Poisson 重構(gòu)出來(lái)的三角網(wǎng)格模型進(jìn)行紋理映射是為了獲取表面帶有顏色紋理的具有真實(shí)感的三維模型。本文采用對(duì)選取紋理視圖擇優(yōu)處理,首先對(duì)模型的三角形網(wǎng)格進(jìn)行視角和可見(jiàn)性分析,為模型的表面三角形網(wǎng)格選取一個(gè)較為合適的紋理,然后通過(guò)映射關(guān)系批量映射到模型表層。
對(duì)于多視圖的三維場(chǎng)景重建,一個(gè)三維模型的表面三角形有多張視圖可以提取紋理信息,需要解決的問(wèn)題就是如何從這多張視圖中得到合適的紋理。通常而言,在觀測(cè)視角和源視圖的拍攝視角越接近的情況下獲得的模型紋理越好。但存在的問(wèn)題是為模型在不同觀測(cè)角度存儲(chǔ)不同的紋理信息會(huì)造成渲染慢和數(shù)據(jù)量大等問(wèn)題,而觀測(cè)效果僅稍微優(yōu)于為模型選取最佳紋理貼附[16]。因此本文采用為模型每個(gè)三角面選擇一個(gè)最佳紋理,通過(guò)映射關(guān)系貼附到模型表面的方法。
由于三角面在多個(gè)視圖中可見(jiàn),考慮到拍攝時(shí)光照的影響會(huì)造成同一位置的紋理顏色并不相同的因素,以及在三維重過(guò)程中不可避免產(chǎn)生的誤差,所以盡量選擇一幅主要的視圖對(duì)模型進(jìn)行主要的紋理貼圖(如果沒(méi)有人工選擇主要視圖進(jìn)行映射就會(huì)默認(rèn)第一幅輸入圖像為主要視圖),剩余的視圖則按照與主視圖的距離依次進(jìn)行豐富,這樣生成的彩色模型才會(huì)有較為準(zhǔn)確的著色。
圖3 視角分析
設(shè)模型三角面的法向量為N,各個(gè)圖像的拍攝朝向?yàn)榉较蛳蛄縱i,N 和vi的夾角為θi,可以知道θi的值越接近180h表示映射所產(chǎn)生的形變?cè)叫?。所以只有?dāng)120°<θi<180°才認(rèn)為第i 幅視圖有資格給該位置賦予紋理,至于具體用那一幅圖像給該處賦予紋理則依據(jù)哪一幅圖像作為主要紋理貼圖和序列圖像的拍攝移動(dòng)方向確定。
在重構(gòu)出的三維場(chǎng)景模型中,模型的表面三角網(wǎng)格在各個(gè)視圖中分為可見(jiàn)和不可見(jiàn),而可見(jiàn)又分為完全可見(jiàn)和部分可見(jiàn)。對(duì)三維網(wǎng)格中的三角面進(jìn)行相機(jī)視圖的可見(jiàn)性分析。在每幅視圖中只對(duì)可見(jiàn)的三角面和部分可見(jiàn)的三角面提供候選紋理。選定了具體的圖像為三角面位置進(jìn)行紋理映射后,由針孔相機(jī)模型可知,第i幅圖像的內(nèi)參矩陣K 和外參矩陣[Ri|Ti]與三維點(diǎn)云坐標(biāo)和對(duì)應(yīng)圖像點(diǎn)坐標(biāo)pi有如下關(guān)系:
我們根據(jù)上式分析三維模型的三維點(diǎn)X 所對(duì)應(yīng)圖像的紋理坐標(biāo)的像素坐標(biāo)。只有當(dāng)pi位于圖像范圍內(nèi)就表示該點(diǎn)在第i 幅圖像上可見(jiàn),則可以根據(jù)pi所在點(diǎn)的像素值給該三維點(diǎn)賦予紋理信息。
本文采用的實(shí)驗(yàn)環(huán)境:Inter(R)Core(TM)i5-4590 CPU 3.30GHz,4GB 內(nèi)存,Windows 10 操作系統(tǒng),C++編程語(yǔ)言。
通過(guò)多個(gè)位置和角度對(duì)真實(shí)物體或者場(chǎng)景進(jìn)行拍攝的一組序列圖片修改為原尺寸的一半后作為原始輸入數(shù)據(jù)。華為榮耀7i 手機(jī)所拍攝的為紀(jì)念石,大疆精靈4無(wú)人機(jī)所拍攝的是一個(gè)真實(shí)場(chǎng)景。
圖4 輸入圖片(第一組)
圖5 稀疏點(diǎn)云重建(第一組)
圖6 第一次過(guò)濾前后比較(第一組)
圖7 三角面過(guò)濾前后比較(第一組)
圖8 自動(dòng)紋理映射結(jié)果(第一組)
圖9 紋理映射結(jié)果細(xì)節(jié)(第一組)
圖10 輸入圖片(第二組)
圖11 稀疏點(diǎn)云重建(第二組)
圖12 第一次過(guò)濾前后比較(第二組)
圖13 三角面過(guò)濾前后比較
圖4 ~圖9為華為榮耀7i手機(jī)所拍攝的紀(jì)念石,記為第一組數(shù)據(jù)。圖4 表示第一組數(shù)據(jù)為手機(jī)拍攝紀(jì)念石的43 張圖片。圖5 表示第一組數(shù)據(jù)進(jìn)行稀疏點(diǎn)云重構(gòu)后的結(jié)果,圖6 表示稠密點(diǎn)云重構(gòu)后的結(jié)果和第一次過(guò)濾(即點(diǎn)云過(guò)濾)的結(jié)果,圖7 為第二次過(guò)濾(即三角面片過(guò)濾)的結(jié)果,圖8、圖9所示為自動(dòng)紋理映射生成的結(jié)果。圖10~圖15 為大疆精靈4 無(wú)人機(jī)所拍攝的場(chǎng)景,記為第二組數(shù)據(jù)。圖10 表示無(wú)人機(jī)拍攝的15 張圖片,圖11 表示第二組數(shù)據(jù)進(jìn)行稀疏點(diǎn)云重構(gòu)后的結(jié)果,圖12 為第一次過(guò)濾(即點(diǎn)云過(guò)濾)的結(jié)果,圖13 為第二次過(guò)濾(即三角面片過(guò)濾)的結(jié)果,圖14、圖15為自動(dòng)紋理生成的結(jié)果。可以看到PMVS 生成的結(jié)果在作為輸入數(shù)據(jù)的圖像是有較復(fù)雜環(huán)境下的圖片時(shí),會(huì)生成較多不屬于主觀目標(biāo)物體的點(diǎn)云數(shù)據(jù),如圖6(a)和圖12(a)所示,在進(jìn)行過(guò)濾后如圖6(b)和圖12(b)所示。第一組設(shè)置的作為閾值的標(biāo)準(zhǔn)差倍數(shù)為4,第二組設(shè)置作為閾值的標(biāo)準(zhǔn)差倍數(shù)為12,這樣選取的原則是視稠密點(diǎn)云輸出的結(jié)果離群點(diǎn)的數(shù)量和結(jié)構(gòu)來(lái)決定的。具體優(yōu)化數(shù)據(jù)如表2所示。
圖14 自動(dòng)紋理映射結(jié)果
圖15 紋理映射結(jié)果細(xì)節(jié)
表2 點(diǎn)云過(guò)濾前后結(jié)果
使用Poisson 表面重建來(lái)對(duì)點(diǎn)云重構(gòu)出模型,執(zhí)行泊松重構(gòu)的時(shí)候命令行參數(shù)設(shè)置degree值為4和設(shè)置depth 值為11,所以會(huì)多出很多數(shù)據(jù)豐富模型,也會(huì)存在一些冗余的數(shù)據(jù)。
表3 三角面過(guò)濾前后結(jié)果
通過(guò)圖7(a)和圖13(a)可以看到泊松重構(gòu)出來(lái)的模型有較多的冗余數(shù)據(jù)。在進(jìn)行三角面過(guò)濾后如圖7(b)和圖13(b)所示,第一組設(shè)置的作為閾值的標(biāo)準(zhǔn)差倍數(shù)為2,第二組設(shè)置作為閾值的標(biāo)準(zhǔn)差倍數(shù)為3.5。這樣選取的原則是視Poisson 重構(gòu)生成的結(jié)果的結(jié)構(gòu)來(lái)決定的。具體優(yōu)化數(shù)據(jù)如表3所示。
根據(jù)表2 和表3 可知,第一組數(shù)據(jù)點(diǎn)云過(guò)濾的濾除率約為5.4%,第二組點(diǎn)云濾除率約為0.07%;第一組三角面過(guò)濾的濾除率約為1.9%,第二組三角面過(guò)濾的濾除率約為0.3%。實(shí)驗(yàn)結(jié)果表明,二次過(guò)濾后的結(jié)果能有效過(guò)濾掉三維重構(gòu)過(guò)程中稠密點(diǎn)云結(jié)果中的離群點(diǎn)和過(guò)濾掉Poisson 重構(gòu)結(jié)果中的多余面片。由圖9 和圖15 可以看出自動(dòng)紋理映射也可以較為準(zhǔn)確的體現(xiàn)完整真實(shí)物體的表面。實(shí)驗(yàn)結(jié)果與其他三維重建方法[17~19]比較而言,模型結(jié)果明顯少了空洞和不規(guī)則球體以及邊緣的冗余面片。觀測(cè)效果更好。
本文實(shí)現(xiàn)了一種使用常見(jiàn)可移動(dòng)單目相機(jī)所拍攝的序列圖像的三維場(chǎng)景重建的方法,實(shí)驗(yàn)中使用的設(shè)備是手機(jī)相機(jī)或者無(wú)人機(jī)攜帶的相機(jī),可以讓沒(méi)有專業(yè)硬件設(shè)備的人群也可以進(jìn)行目標(biāo)三維重構(gòu)。實(shí)驗(yàn)結(jié)果證明:本文的三維重建方法很好的重構(gòu)出較為逼真的三維場(chǎng)景,并且能較好體現(xiàn)場(chǎng)景或者物體的表面。