張海軍,鐘向陽(yáng),陳映輝
(1.廣東省山區(qū)特色農(nóng)業(yè)資源保護(hù)與精準(zhǔn)利用重點(diǎn)實(shí)驗(yàn)室 廣東 梅州 514015;2.嘉應(yīng)學(xué)院 計(jì)算機(jī)學(xué)院,廣東 梅州 514015;3.嘉應(yīng)學(xué)院 數(shù)學(xué)學(xué)院,廣東 梅州 514015)
三維重建是利用計(jì)算機(jī)技術(shù)建立客觀世界的虛擬化模型的一種方法,其應(yīng)用廣泛,包括手術(shù)醫(yī)療、航天科技、娛樂(lè)游戲等方面.進(jìn)行3D重建通常面臨一些相關(guān)的問(wèn)題:①需要較深的理論基礎(chǔ)實(shí)現(xiàn)2D與3D的互映射;②需要基于大量的數(shù)據(jù)進(jìn)行特征點(diǎn)的提取及降維等操作,所以運(yùn)算量較大.因而使用常規(guī)方法難以實(shí)現(xiàn)有效的3D重建,需要探索新的有效的方法.如使用連續(xù)平面圖即2D圖序列,提取主特征信息,還有基于稀疏點(diǎn)進(jìn)行3D構(gòu)建,基于特征點(diǎn)分層的構(gòu)建[1-2],之后又有了基于稠密特征的稱(chēng)為點(diǎn)云的3D構(gòu)建,如區(qū)域擴(kuò)展立體特征對(duì)稠密匹配法[3].然而傳統(tǒng)的方法主要有如下不足:首先,對(duì)目標(biāo)圖像的質(zhì)量要求高,因而對(duì)拍攝設(shè)備要求也高;其次,因目標(biāo)圖像質(zhì)量高,所以運(yùn)算量大,運(yùn)算時(shí)間長(zhǎng),對(duì)計(jì)算能力的要求也非常高,常規(guī)設(shè)備難以達(dá)到或運(yùn)算速度過(guò)慢;再次,對(duì)于普通目標(biāo)對(duì)象容易受環(huán)境因素的影響,如光照、明暗、強(qiáng)度,是否遮擋和不同視角拍攝等;另外,因?yàn)闂l件的限制,難以用較高端的拍攝工具,用常規(guī)的相機(jī)或移動(dòng)手機(jī)相機(jī)拍攝.為此,本文探討并實(shí)現(xiàn):(1)可基于不同類(lèi)型不同質(zhì)量的圖形的重建,即適用于不同的場(chǎng)景;(2)對(duì)光照、亮度、圖像明暗度和清晰度等具有較強(qiáng)的魯棒性的重建;(3)可以基于較少的圖片完成重建,計(jì)算量較少,運(yùn)算效率高;(4)因而本文方法適用范圍大,除了質(zhì)量高的圖片,也非常適合普通設(shè)備如用手機(jī)移動(dòng)終端相機(jī)拍攝的場(chǎng)景的重建.
為此研究稠密化重建稀疏性特征多圖像3D構(gòu)建實(shí)現(xiàn),主要原理流程為:首先,利用拍攝的多樣本圖像進(jìn)行檢測(cè)與提取,獲取2D特征點(diǎn);其次,利用相機(jī)的自標(biāo)定,創(chuàng)建特定的矩陣Ρn投影;再次,結(jié)合獲取的2D圖像特征點(diǎn),通過(guò)標(biāo)定Ρn矩陣進(jìn)行逆投影從而生成稀疏3D特征空間點(diǎn);最后,通過(guò)一致性鄰域擴(kuò)展生成稠密點(diǎn)集,借助濾波操作完成精確3D目標(biāo)模型構(gòu)建,研究流程的實(shí)現(xiàn)如圖1所示.
圖1 稠密化重建稀疏性特征多圖像3D構(gòu)建實(shí)現(xiàn)流程圖
利用限制幾何約束,采集樣本圖像集n幅,表示為{I1,I2,…,In},基于每幅圖像利用Harris角點(diǎn)檢測(cè)和SIFT特征檢測(cè)實(shí)現(xiàn)特征點(diǎn)的有效提取.
為了精確地重建3D目標(biāo)點(diǎn),首先匹配多幅圖像對(duì)應(yīng)的特征點(diǎn)對(duì),然后通過(guò)三角測(cè)量把3D特征點(diǎn)變換為3D點(diǎn),并用幾何約束求精度,先建立3D點(diǎn)到2D點(diǎn)的映射方程為:
λijxij=PiXj
(1)
(2)
式中:K為內(nèi)參矩陣,∝為非零伸縮因子條件下相等,Ω*為絕對(duì)曲面映射圖,估計(jì)內(nèi)參求出Ki,估計(jì)PE反向投影即逆映射2D點(diǎn)集實(shí)現(xiàn)3D場(chǎng)景X重建.
利用式(1),設(shè)W3m×n為測(cè)量矩陣,并使W=λijxij,展開(kāi)得:
(3)
即W可表示為運(yùn)動(dòng)矩陣P3m×4與空間目標(biāo)模型X4×n矩陣的積,設(shè)λ1j=1,對(duì)各圖像估計(jì)求得基本矩陣F1j和極值點(diǎn)e1j, 從而得:
(4)
再對(duì)W進(jìn)行SVD.
通過(guò)式(3),用絕對(duì)二次曲面Ω*約束實(shí)現(xiàn)線性變換HX運(yùn)算,對(duì)運(yùn)動(dòng)矩陣P作逆變換PH-1[5-7]運(yùn)算,得到:
W=PX=PH-1HX=PEXE
(5)
式中:H為4×4的非奇異單應(yīng)矩陣,PE為投影矩陣,XE為目標(biāo)模型.對(duì)于自標(biāo)定算法,設(shè)內(nèi)參矩陣K為:
(6)
式中:fx和fy為焦距,s為傾斜因子,u0和v0為主點(diǎn)坐標(biāo),定義具有射影空間不變性的模型為[8-9]:
朱虹則在《走進(jìn)全域旅游新時(shí)代》一文中提出,全域旅游發(fā)展的特性在于:管理的統(tǒng)籌性、產(chǎn)業(yè)的優(yōu)勢(shì)性、發(fā)展的融合性、供給的豐富性、服務(wù)的便利性和目標(biāo)的共享性。
(7)
(8)
設(shè)參考面的投影矩陣為P1=[1|0],得:
(9)
(10)
以:
(11)
(12)
基于式(11)得3D模型,再用面片重建[10-12]稠密點(diǎn)云.
對(duì)3D曲面的小區(qū)域矩形化逼近得面片如p,包括中心坐標(biāo)c(p),法向量n(p),光心O(Ii),有可視p投影的2D參照?qǐng)D像R(p),通過(guò)如下運(yùn)算[13-15]生成種子面片集:
(13)
2)使法方向和p到O(Ii)的方向間的夾角小于預(yù)設(shè)值t,統(tǒng)計(jì)出可見(jiàn)圖集V(p):
(14)
3)把最優(yōu)圖像作為參考圖:
(15)
式中:h(p,I,J)為光度差異度.
4)計(jì)算圖像灰度互相關(guān),把具有相似性約束的圖賦給V*(p):
V*(p)={I|I∈V(p),h(p,I,R(p))≤α}
(16)
5)作深度數(shù)量約束|V*(p)|≥γ,得種子面片p為:
(17)
基于相關(guān)約束實(shí)現(xiàn)鄰近區(qū)域擴(kuò)展成稠密面片集[16-19]:
C(p)={Ci(x′,y′)|p∈Qi(x,y),|x-x′|+|y-y′|=1}
(18)
再優(yōu)化,即刪除基于如下條件的面片p′:
|c(p)-c(p′)·n(p)|+|c(p)-c(p′)·n(p′)|<2ρ1
(19)
n(p′)←n(p),R(p′)←R(p),V(p′)←V*(p)
(20)
光線交點(diǎn)即中心c(p′),在V(p′)集由灰度一致性值得V*(p′),進(jìn)一步優(yōu)化并增加光束化直線式限制,更新V*(p′),直到生成結(jié)果集.
擴(kuò)展完鄰域后,對(duì)擴(kuò)展后的面片集進(jìn)行濾波,首先,基于可見(jiàn)一致性約束,即基于式
(21)
去掉不正常面片,g*(p)為光度相異均值,然后基于下式
|V*(p)|<γ
(22)
也可確定可刪除的異常面片.最后,去掉與其8個(gè)鄰域內(nèi)的面片數(shù)的比小于0.25的面片塊.
Windows 7, Visual Studio 2015, OpenCV 3.0; Intel(R)Core(TM)i7-2630QMCPU@2.0GHz, RAM8GB, NVIDIA Quadro 4000.
傳統(tǒng)的重建方法主要有基于樹(shù)鄰居的重建和基于圖鄰居的重建,但它們要求圖像數(shù)量多、質(zhì)量高,因而運(yùn)算量大,用時(shí)較長(zhǎng),而本文方法可以利用少量以及普通質(zhì)量的圖像,計(jì)算量更小,用時(shí)更短,特別適合利用普通相機(jī)拍攝的常規(guī)和少量的圖像,重建出質(zhì)量較高的模型,具體過(guò)程為:①對(duì)多個(gè)不同的目標(biāo)分別從側(cè)面、正面及環(huán)繞等角度,以定長(zhǎng)和變長(zhǎng)距離等方式分別拍攝到20、30和50幅圖像;②基于目標(biāo),利用Harris及SIFT提取特征;③自標(biāo)定微型攝像機(jī)參數(shù)并求出Pn;④計(jì)算相關(guān)量:焦距,表示為f,旋轉(zhuǎn)矩陣,表示為R,3×3維r1…r9,平移矩陣,表示為Τ,3×1維t1…t3,可得詳細(xì)數(shù)據(jù);⑤利用得到的相關(guān)量對(duì)2D特征點(diǎn)逆映射成3D點(diǎn),進(jìn)一步得到稀疏的面片種子;⑥再基于相關(guān)約束條件實(shí)現(xiàn)鄰近區(qū)域擴(kuò)展生成稠密面片集,濾波成精確的3D模型;最后,重建的目標(biāo)與真實(shí)三維物體較接近,可視性較高,相關(guān)過(guò)程和結(jié)果如圖2所示.
圖2 相關(guān)過(guò)程及結(jié)果圖
另外,通過(guò)實(shí)驗(yàn)得出對(duì)通過(guò)不變焦距方式采集的目標(biāo)進(jìn)行重建的3D模型比對(duì)通過(guò)變焦距方式采集的目標(biāo)的重建模型效果更好,而且不同的光照強(qiáng)度和遮擋對(duì)重建的模型也有較大的影響.不變焦距采樣目標(biāo)的樣圖如圖3所示,重建的模型集如圖4所示;變焦距采樣目標(biāo)的樣圖及重建的模型集如圖5所示.
圖3 不變焦距采樣目標(biāo)的樣圖
圖4 重建后的3D模型集
圖5 變焦距采樣目標(biāo)的樣圖及重建后的3D模型集
本文實(shí)現(xiàn)了真實(shí)3D模型的重建,通過(guò)自標(biāo)定微型攝像機(jī)參數(shù)建立投影矩陣,對(duì)2D點(diǎn)逆映射成3D點(diǎn),通過(guò)擴(kuò)展和濾波,由稀疏至稠密,生成精確3D目標(biāo)模型.同傳統(tǒng)方法相比,本文方法具有如下優(yōu)勢(shì):(1)可基于不同類(lèi)型不同質(zhì)量的圖形的重建,即適用于不同的場(chǎng)景,如本文利用普通移動(dòng)手機(jī)相機(jī)拍攝的圖片也獲得了質(zhì)量較高的重建模型;(2)對(duì)光照、亮度、圖像明暗度和清晰度等具有較強(qiáng)的魯棒性;(3)可以基于較少的圖片完成重建,計(jì)算量較少,運(yùn)算效率高;(4)傳統(tǒng)的重建方法主要有基于樹(shù)鄰居的重建和基于圖鄰居的重建,它們對(duì)圖像的質(zhì)量要求較高,運(yùn)算量大,用時(shí)較長(zhǎng),而本文方法適用范圍大,除了質(zhì)量高的圖片,也非常適合普通設(shè)備如用手機(jī)移動(dòng)終端相機(jī)拍攝的場(chǎng)景的重建;(5)實(shí)驗(yàn)結(jié)果表明構(gòu)建的3D模型接近真實(shí),同時(shí)通過(guò)實(shí)驗(yàn)發(fā)現(xiàn):采集圖像時(shí)要多角度、無(wú)遮檔,定長(zhǎng)焦距比變長(zhǎng)焦距效果好等.總之,三維重建難度大、復(fù)雜性高以及計(jì)算量大,今后將進(jìn)一步探索和研究,如基于集群以提高并行度、基于再稠密化以獲得更大精度等.