周祖鵬,張曉東,甘良棋
(桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西 桂林 541000)
基于無人機(jī)的易控性,以無人機(jī)為載體從不同的方位對目標(biāo)進(jìn)行航拍獲取圖像。為圖像的重建提供來源。三維重構(gòu)技術(shù)一直是模式識(shí)別領(lǐng)域的研究熱點(diǎn)和應(yīng)用熱點(diǎn)[1]。傳統(tǒng)的重建技術(shù)有非接觸式三維重建、接觸式三維重建、基于圖像的三維重建等,其中作為非接觸式三維信息采集技術(shù),基于主動(dòng)結(jié)構(gòu)光建模[2]可以提供一定的點(diǎn)云數(shù)據(jù),但是相對較少的點(diǎn)云數(shù)量不能完全描述被測目標(biāo)的所有特性。基于圖像的立體視覺方法可以重建出完整的三維模型[3],但由于圖像采集的局限性和成像環(huán)境的復(fù)雜等因素,三維模型的成像傾向于區(qū)域空洞或局部信息丟失。基于光場相機(jī)提供的單次拍攝深度估計(jì)的功能,雖然可以進(jìn)行實(shí)時(shí)的場景三維重建,但是其估算的深度精度仍然有限[4],所以其重建結(jié)果不太理想。
通過控制無人機(jī)從不同位置拍攝的圖像,搭建圖像采集模塊保存圖像。利用自標(biāo)定的方法計(jì)算相機(jī)的內(nèi)參,然后由不同方向角度拍攝的圖像提取圖像的特征點(diǎn)。經(jīng)常使用到的算法有SIFT 及其變型算法,通常情況下,在不加入圖像融合的情況下,所拍攝的每幅圖像可能受到外界干擾,導(dǎo)致缺少圖像部分信息缺失,從而會(huì)降低圖像信息的利用率。所以在基于這一理論,在重構(gòu)中加入圖像融合這一部分,在實(shí)際應(yīng)用目標(biāo)下將相關(guān)信息最大合并的基礎(chǔ)上減少了圖像輸出的不確定度,增強(qiáng)系統(tǒng)的可靠性。利用空間坐標(biāo)公式計(jì)算出點(diǎn)空間坐標(biāo)。最后使用OPENGL 顯示點(diǎn)云三維模型,經(jīng)過三角剖分,紋理貼圖最終獲得目標(biāo)的三維模型。這種重建技術(shù)對于小范圍地圖重建[5],三維位置信息獲取,安防技術(shù)等方面都有很大的作用。主要通過相機(jī)自標(biāo)定技術(shù)和特征點(diǎn)匹配算法,結(jié)合圖像拼接技術(shù),通過三維點(diǎn)云重建[6]技術(shù),恢復(fù)室外場景的三維模型。
采用普通的光學(xué)攝像頭作為無人機(jī)的視覺傳感器來采集圖像。首先搭建無人機(jī)圖像采集平臺(tái),在地面站規(guī)劃好無人機(jī)的飛行路徑,當(dāng)無人機(jī)飛到目標(biāo)處時(shí),對目標(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ī)實(shí)體模型和可視化窗口,如圖2、圖3 所示。

圖2 四旋翼無人機(jī)Fig.2 Quadrotor UAV

圖3 無人機(jī)圖像采集平臺(tái)Fig.3 Image Acquisition of UAV Platform
相機(jī)的圖像信息可以通過相機(jī)參數(shù)產(chǎn)生與三維物體有關(guān)的幾何信息。攝像機(jī)標(biāo)定是一種計(jì)算針孔攝像機(jī)模型參數(shù)的方法[7]。自標(biāo)定的原理是根據(jù)相機(jī)模型通過投影變換得到的投影方程,反映出二維圖像上的點(diǎn)到三維空間對應(yīng)的關(guān)系,基于Kruppa 方程進(jìn)行自標(biāo)定,求得相機(jī)內(nèi)參。通過提高基礎(chǔ)矩陣和極點(diǎn)的精度,提高重建的穩(wěn)定性。其基本原理如下:

那些具有特殊屬性并且具有一些結(jié)構(gòu)意義的圖像部分通常被稱為圖像特征點(diǎn)[8]。這里我們選用SIFT 算子對圖像對進(jìn)行特征點(diǎn)檢測與匹配。兩幅視圖存在通過對極幾何一幅圖像上的點(diǎn)可以確定另外一幅圖像上的一條直線,這里可以用相機(jī)基本矩陣F 表示,根據(jù)極線約束可知,圖像匹配點(diǎn)必須在極線上。在相機(jī)1 的像素坐標(biāo)系與相機(jī)2 的像素坐標(biāo)系的對應(yīng)點(diǎn)存在如下關(guān)系:

將矩陣展開后可得:

式中:x′和x—兩幅圖像的任意一對匹配點(diǎn),每一組匹配點(diǎn)都給出一個(gè)F 的線性方程,由于f 的秩是2,則f 的自由度為7,所以至少通過7 組匹配點(diǎn)可以確定F。當(dāng)n>7 組匹配點(diǎn),可以根據(jù)最小二乘法確定f。
基于SIFT 特征點(diǎn)的提取,描述,通過特征點(diǎn)的匹配,找到兩幅圖像中匹配點(diǎn)的位置,進(jìn)一步使用圖像中的匹配點(diǎn)得到兩幅圖像的變換矩陣H。根據(jù)對極幾何原理可知,對于平面靶標(biāo)上一點(diǎn)在不同的圖像坐標(biāo)系中的關(guān)系如下:

當(dāng)平面靶標(biāo)有四個(gè)點(diǎn)對或更多的時(shí)候,可求解H 矩陣,根據(jù)前面計(jì)算的H 矩陣,就可以利用變換公式x′=Hx 計(jì)算變換以后的坐標(biāo)x′和在原有的圖像中的像素坐標(biāo)x。
由于在映射過程中,x 的坐標(biāo)不是整數(shù),所以為了獲得對應(yīng)的像素值,必須要對像素值進(jìn)行插值,這里我們采用雙線性插值法。首先在u 方向上進(jìn)行兩次線性插值,然后在v 方向上進(jìn)行一階線性插值。

在建立適當(dāng)?shù)哪P椭螅托枰蠼釮 的參數(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ū)域的點(diǎn)左邊界和右邊界的距離。
通過特征點(diǎn)的匹配以后,緊接著要獲取空間三維坐標(biāo),假設(shè)兩幅圖像上的一對匹配點(diǎn)m1(u1,v1,1)T和m2(u2,v2,1)T,則由二維圖像素點(diǎn)與三維點(diǎn)之間的映射關(guān)系可得:

式中:P1,P2—對應(yīng)圖的投影矩陣;M—空間三維坐標(biāo);K1,K2—比例系數(shù)。將上述得到的三維空間點(diǎn)導(dǎo)入OpenGL 中,用坐標(biāo)點(diǎn)的繪制方法重建場景的三維圖像。
實(shí)驗(yàn)流程圖,如圖4 所示。在傳統(tǒng)的三維重建過程中沒有加入圖像拼接融合這一部分,將圖像拼接融合算法用于圖像三維重建中,如圖5 所示,以此來能夠很好地整合多源圖像間的冗余和互補(bǔ)信息,改善了光照不均勻造成的匹配性漸暈現(xiàn)象以及光學(xué)中心的不期望運(yùn)動(dòng)引起的視覺效應(yīng)所造成的錯(cuò)誤匹配和徑向失真。圖像融合就是利用冗余性來增強(qiáng)在某一源中不清晰的特性,利用互補(bǔ)性來彌補(bǔ)在某個(gè)傳感器所缺失的信息。其結(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)—源圖像像素點(diǎn)的位置坐標(biāo)位置;w1和w2—加權(quán)因子。從公式可以看出該方法在一定程度上提高了融合的計(jì)算速度。

圖4 實(shí)驗(yàn)流程圖Fig.4 Experimental Flow Chart
同時(shí)在圖像三維重建中加入圖像拼接融合將加入圖像融合前后的重建結(jié)果進(jìn)行對比,主要觀察融合前后特征點(diǎn)檢測和匹配點(diǎn)對個(gè)數(shù),進(jìn)一步分析加入圖像融合前后的特征匹配率大小,
從以上表1 可以看出,加入圖像融合之后,重建的目標(biāo)信息更加豐富全面,特征點(diǎn)匹配率大大提高。圖中建筑物的各個(gè)形貌特征在加入圖像融合之后,能夠較大程度上還原圖像特征。

表1 加入圖像融合前后的重建結(jié)果Tab.1 Adding Reconstruction Results Before and After Image Fusion
利用相機(jī)自標(biāo)定方法,無人機(jī)從不同角度拍攝的室外和室內(nèi)圖片,如圖5 所示。實(shí)驗(yàn)硬件為無人機(jī)和平臺(tái)電腦,軟件平臺(tái)為Visual Studio 和Opencv。

圖5 兩組不同角度拍攝的圖片F(xiàn)ig.5 Pictures Taken at Two Different Angles


利用SIFT 算法對這兩幅圖進(jìn)行特征點(diǎn)提取,特征點(diǎn)檢測到有2470 個(gè),如圖6 所示。

圖6 特征點(diǎn)提取與匹配Fig.6 Feature Point Extraction and Matching
通過SIFT 特征點(diǎn)提取獲得上述兩幅圖的特征點(diǎn)坐標(biāo),然后導(dǎo)入Matlab 求取兩幅圖像之間的變換矩陣H。在這里我選取5對匹配點(diǎn),通過計(jì)算得到H的結(jié)果為:

將基于SURF、SIFT 與Opencv 自帶的Stitcher 類的拼接三種算法進(jìn)行對比,從算法的運(yùn)行時(shí)間、效率以及結(jié)果綜合評估三種算法的融合結(jié)果,如圖7 所示。從以上的圖7 和表2 可以看出,三種不同的方法拼接的結(jié)果中,基于SIFT 算法的圖像拼接速度更快,及其拼接結(jié)果圖像顯示邊緣處理無明顯的畸變,融合比較平整。

圖7 三種不同拼接方法的實(shí)驗(yàn)結(jié)果Fig.7 Experimental Results of Three Different Splicing Methods

表2 三種拼接方法的對比Tab.2 Comparison of Three Stitching Methods
將拼接后的圖像所得的匹配點(diǎn)空間坐標(biāo)利用OpenGL 驅(qū)動(dòng),用三角剖分的的繪制方法重建場景的三維圖像,實(shí)驗(yàn)結(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 類,綜合算法運(yùn)行時(shí)間和重建效果,SIFT 類圖像融合的重建的單位時(shí)間匹配率率高于SURF 類的,其重建的完整度較其他兩種算法更好。綜合考慮,基于SIFT 類圖像融合的進(jìn)行三維重建有效的提高運(yùn)行效率。
通過無人機(jī)為載體,通過無人機(jī)的控制航拍同一目標(biāo)的不同角度的照片,為三維重建提供可靠圖像來源。結(jié)合圖像拼接融合技術(shù)和OpenGL 進(jìn)行目標(biāo)的三維重建,相比傳統(tǒng)的三維重構(gòu)技術(shù),本方法可有效獲取視場多角度的圖像信息,能夠較為全面的獲取接近真實(shí)的三維場景模型。此方法一定可滿足小范圍內(nèi)室內(nèi)外環(huán)境三維重建。可用于地形地貌勘測和災(zāi)區(qū)探測[10]等,具有很大的現(xiàn)實(shí)意義。當(dāng)然當(dāng)圖像數(shù)量增多時(shí),對算法的穩(wěn)定性也會(huì)要求的更高。如何在更多圖像的基礎(chǔ)上進(jìn)行重構(gòu)以及效率的提高也是今后要研究的方向。