周祖鵬,張曉東,甘良棋
(桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西 桂林 541000)
基于無人機(jī)的易控性,以無人機(jī)為載體從不同的方位對目標(biāo)進(jìn)行航拍獲取圖像。為圖像的重建提供來源。三維重構(gòu)技術(shù)一直是模式識別領(lǐng)域的研究熱點和應(yīng)用熱點[1]。傳統(tǒng)的重建技術(shù)有非接觸式三維重建、接觸式三維重建、基于圖像的三維重建等,其中作為非接觸式三維信息采集技術(shù),基于主動結(jié)構(gòu)光建模[2]可以提供一定的點云數(shù)據(jù),但是相對較少的點云數(shù)量不能完全描述被測目標(biāo)的所有特性。基于圖像的立體視覺方法可以重建出完整的三維模型[3],但由于圖像采集的局限性和成像環(huán)境的復(fù)雜等因素,三維模型的成像傾向于區(qū)域空洞或局部信息丟失?;诠鈭鱿鄼C(jī)提供的單次拍攝深度估計的功能,雖然可以進(jìn)行實時的場景三維重建,但是其估算的深度精度仍然有限[4],所以其重建結(jié)果不太理想。
通過控制無人機(jī)從不同位置拍攝的圖像,搭建圖像采集模塊保存圖像。利用自標(biāo)定的方法計算相機(jī)的內(nèi)參,然后由不同方向角度拍攝的圖像提取圖像的特征點。經(jīng)常使用到的算法有SIFT 及其變型算法,通常情況下,在不加入圖像融合的情況下,所拍攝的每幅圖像可能受到外界干擾,導(dǎo)致缺少圖像部分信息缺失,從而會降低圖像信息的利用率。所以在基于這一理論,在重構(gòu)中加入圖像融合這一部分,在實際應(yīng)用目標(biāo)下將相關(guān)信息最大合并的基礎(chǔ)上減少了圖像輸出的不確定度,增強(qiáng)系統(tǒng)的可靠性。利用空間坐標(biāo)公式計算出點空間坐標(biāo)。最后使用OPENGL 顯示點云三維模型,經(jīng)過三角剖分,紋理貼圖最終獲得目標(biāo)的三維模型。這種重建技術(shù)對于小范圍地圖重建[5],三維位置信息獲取,安防技術(shù)等方面都有很大的作用。主要通過相機(jī)自標(biāo)定技術(shù)和特征點匹配算法,結(jié)合圖像拼接技術(shù),通過三維點云重建[6]技術(shù),恢復(fù)室外場景的三維模型。
采用普通的光學(xué)攝像頭作為無人機(jī)的視覺傳感器來采集圖像。首先搭建無人機(jī)圖像采集平臺,在地面站規(guī)劃好無人機(jī)的飛行路徑,當(dāng)無人機(jī)飛到目標(biāo)處時,對目標(biāo)環(huán)繞飛行。在航拍圖像的無線傳輸中,需要利用地面基站的DJGO 的“航拍信息處理模塊”來傳輸航拍圖像,其內(nèi)部關(guān)系,如圖1 所示。
圖1 圖像航拍系統(tǒng)的內(nèi)部關(guān)系Fig.1 Internal Relationship of the Image Aerial System
利用MFC 搭建圖像采集系統(tǒng),無人機(jī)實體模型和可視化窗口,如圖2、圖3 所示。
圖2 四旋翼無人機(jī)Fig.2 Quadrotor UAV
圖3 無人機(jī)圖像采集平臺Fig.3 Image Acquisition of UAV Platform
相機(jī)的圖像信息可以通過相機(jī)參數(shù)產(chǎn)生與三維物體有關(guān)的幾何信息。攝像機(jī)標(biāo)定是一種計算針孔攝像機(jī)模型參數(shù)的方法[7]。自標(biāo)定的原理是根據(jù)相機(jī)模型通過投影變換得到的投影方程,反映出二維圖像上的點到三維空間對應(yīng)的關(guān)系,基于Kruppa 方程進(jìn)行自標(biāo)定,求得相機(jī)內(nèi)參。通過提高基礎(chǔ)矩陣和極點的精度,提高重建的穩(wěn)定性。其基本原理如下:
那些具有特殊屬性并且具有一些結(jié)構(gòu)意義的圖像部分通常被稱為圖像特征點[8]。這里我們選用SIFT 算子對圖像對進(jìn)行特征點檢測與匹配。兩幅視圖存在通過對極幾何一幅圖像上的點可以確定另外一幅圖像上的一條直線,這里可以用相機(jī)基本矩陣F 表示,根據(jù)極線約束可知,圖像匹配點必須在極線上。在相機(jī)1 的像素坐標(biāo)系與相機(jī)2 的像素坐標(biāo)系的對應(yīng)點存在如下關(guān)系:
將矩陣展開后可得:
式中:x′和x—兩幅圖像的任意一對匹配點,每一組匹配點都給出一個F 的線性方程,由于f 的秩是2,則f 的自由度為7,所以至少通過7 組匹配點可以確定F。當(dāng)n>7 組匹配點,可以根據(jù)最小二乘法確定f。
基于SIFT 特征點的提取,描述,通過特征點的匹配,找到兩幅圖像中匹配點的位置,進(jìn)一步使用圖像中的匹配點得到兩幅圖像的變換矩陣H。根據(jù)對極幾何原理可知,對于平面靶標(biāo)上一點在不同的圖像坐標(biāo)系中的關(guān)系如下:
當(dāng)平面靶標(biāo)有四個點對或更多的時候,可求解H 矩陣,根據(jù)前面計算的H 矩陣,就可以利用變換公式x′=Hx 計算變換以后的坐標(biāo)x′和在原有的圖像中的像素坐標(biāo)x。
由于在映射過程中,x 的坐標(biāo)不是整數(shù),所以為了獲得對應(yīng)的像素值,必須要對像素值進(jìn)行插值,這里我們采用雙線性插值法。首先在u 方向上進(jìn)行兩次線性插值,然后在v 方向上進(jìn)行一階線性插值。
在建立適當(dāng)?shù)哪P椭?,就需要求解H 的參數(shù)來獲得兩幅圖像之間的變換關(guān)系。
式中:x′和y′—基圖像的橫坐標(biāo)和縱坐標(biāo),x 和y—要求的圖像橫縱坐標(biāo)。將上列式子寫成矩陣的形式可以得到如下結(jié)果:
采取基于特征的圖像配準(zhǔn)方法?;谔卣鞯呐錅?zhǔn)方法對于圖像中出現(xiàn)的光照不一致,旋轉(zhuǎn)、仿射等變換等具有很好的魯棒性[9]。在圖像融合過程中,需要對縫合線進(jìn)行處理。本節(jié)采用加權(quán)平均法處理拼接縫隙問題。
式中:I1(x,y),I2(x,y)—待融合的兩幅圖像;I12(x,y)—加權(quán)融合后的圖像。K=d1/(d1+d2),式中d1d2—重合區(qū)域的點左邊界和右邊界的距離。
通過特征點的匹配以后,緊接著要獲取空間三維坐標(biāo),假設(shè)兩幅圖像上的一對匹配點m1(u1,v1,1)T和m2(u2,v2,1)T,則由二維圖像素點與三維點之間的映射關(guān)系可得:
式中:P1,P2—對應(yīng)圖的投影矩陣;M—空間三維坐標(biāo);K1,K2—比例系數(shù)。將上述得到的三維空間點導(dǎo)入OpenGL 中,用坐標(biāo)點的繪制方法重建場景的三維圖像。
實驗流程圖,如圖4 所示。在傳統(tǒng)的三維重建過程中沒有加入圖像拼接融合這一部分,將圖像拼接融合算法用于圖像三維重建中,如圖5 所示,以此來能夠很好地整合多源圖像間的冗余和互補(bǔ)信息,改善了光照不均勻造成的匹配性漸暈現(xiàn)象以及光學(xué)中心的不期望運動引起的視覺效應(yīng)所造成的錯誤匹配和徑向失真。圖像融合就是利用冗余性來增強(qiáng)在某一源中不清晰的特性,利用互補(bǔ)性來彌補(bǔ)在某個傳感器所缺失的信息。其結(jié)果是將多源圖像中的信息都綜合到融合結(jié)果中去,以增強(qiáng)和優(yōu)化后續(xù)的顯示和處理過程。
使用像素級圖像融合方法中的加權(quán)平均法,就是直接對源圖像對應(yīng)像素灰度值進(jìn)行加權(quán)平均融合處理。對于源圖像A,B,F(xiàn)為它們的融合結(jié)果,其加權(quán)平均融合過程如下式:
式中:(i,j)—源圖像像素點的位置坐標(biāo)位置;w1和w2—加權(quán)因子。從公式可以看出該方法在一定程度上提高了融合的計算速度。
圖4 實驗流程圖Fig.4 Experimental Flow Chart
同時在圖像三維重建中加入圖像拼接融合將加入圖像融合前后的重建結(jié)果進(jìn)行對比,主要觀察融合前后特征點檢測和匹配點對個數(shù),進(jìn)一步分析加入圖像融合前后的特征匹配率大小,
從以上表1 可以看出,加入圖像融合之后,重建的目標(biāo)信息更加豐富全面,特征點匹配率大大提高。圖中建筑物的各個形貌特征在加入圖像融合之后,能夠較大程度上還原圖像特征。
表1 加入圖像融合前后的重建結(jié)果Tab.1 Adding Reconstruction Results Before and After Image Fusion
利用相機(jī)自標(biāo)定方法,無人機(jī)從不同角度拍攝的室外和室內(nèi)圖片,如圖5 所示。實驗硬件為無人機(jī)和平臺電腦,軟件平臺為Visual Studio 和Opencv。
圖5 兩組不同角度拍攝的圖片F(xiàn)ig.5 Pictures Taken at Two Different Angles
利用SIFT 算法對這兩幅圖進(jìn)行特征點提取,特征點檢測到有2470 個,如圖6 所示。
圖6 特征點提取與匹配Fig.6 Feature Point Extraction and Matching
通過SIFT 特征點提取獲得上述兩幅圖的特征點坐標(biāo),然后導(dǎo)入Matlab 求取兩幅圖像之間的變換矩陣H。在這里我選取5對匹配點,通過計算得到H的結(jié)果為:
將基于SURF、SIFT 與Opencv 自帶的Stitcher 類的拼接三種算法進(jìn)行對比,從算法的運行時間、效率以及結(jié)果綜合評估三種算法的融合結(jié)果,如圖7 所示。從以上的圖7 和表2 可以看出,三種不同的方法拼接的結(jié)果中,基于SIFT 算法的圖像拼接速度更快,及其拼接結(jié)果圖像顯示邊緣處理無明顯的畸變,融合比較平整。
圖7 三種不同拼接方法的實驗結(jié)果Fig.7 Experimental Results of Three Different Splicing Methods
表2 三種拼接方法的對比Tab.2 Comparison of Three Stitching Methods
將拼接后的圖像所得的匹配點空間坐標(biāo)利用OpenGL 驅(qū)動,用三角剖分的的繪制方法重建場景的三維圖像,實驗結(jié)果,如圖8、表3 所示。
圖8 三種不同方法重建結(jié)果Fig.8 Three Different Methods of Reconstruction Results
表3 三種不同拼接方法重建效果對比Tab.3 Comparison of Reconstruction Effects of Three Different Stitching Methods
結(jié)合以上表圖,可以看出基于Stitcher 類融合的三維重建的效果稍差于SURF 類,綜合算法運行時間和重建效果,SIFT 類圖像融合的重建的單位時間匹配率率高于SURF 類的,其重建的完整度較其他兩種算法更好。綜合考慮,基于SIFT 類圖像融合的進(jìn)行三維重建有效的提高運行效率。
通過無人機(jī)為載體,通過無人機(jī)的控制航拍同一目標(biāo)的不同角度的照片,為三維重建提供可靠圖像來源。結(jié)合圖像拼接融合技術(shù)和OpenGL 進(jìn)行目標(biāo)的三維重建,相比傳統(tǒng)的三維重構(gòu)技術(shù),本方法可有效獲取視場多角度的圖像信息,能夠較為全面的獲取接近真實的三維場景模型。此方法一定可滿足小范圍內(nèi)室內(nèi)外環(huán)境三維重建??捎糜诘匦蔚孛部睖y和災(zāi)區(qū)探測[10]等,具有很大的現(xiàn)實意義。當(dāng)然當(dāng)圖像數(shù)量增多時,對算法的穩(wěn)定性也會要求的更高。如何在更多圖像的基礎(chǔ)上進(jìn)行重構(gòu)以及效率的提高也是今后要研究的方向。