魯萍萍 梅 雪(南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院 江蘇 南京 211800)
目前,無(wú)人機(jī)航拍已經(jīng)運(yùn)用于各種地面的勘察工作。然而,無(wú)人機(jī)飛行高度較低和無(wú)人機(jī)搭載相機(jī)焦距的受限,導(dǎo)致無(wú)人機(jī)獲取的圖像視野較小,難以拍攝到完整的目標(biāo)區(qū)域。為了獲取完整的目標(biāo)區(qū)域信息,需要通過拼接多幅視角不同的圖像以擴(kuò)大無(wú)人機(jī)圖像視野,從而更好地理解地面狀況[1]。
無(wú)人機(jī)圖像拼接已經(jīng)得到越來(lái)越多的關(guān)注,其中圖像配準(zhǔn)成為關(guān)鍵問題,目前已經(jīng)有一些基于特征的代表性配準(zhǔn)技術(shù)。David Lowe于計(jì)算機(jī)視覺國(guó)際會(huì)議ICCV上發(fā)表尺度不變特征變換SIFT算法,并完善了SIFT,實(shí)現(xiàn)了圖像的良好匹配[2]。但由于SIFT提取的圖像特征為128維,在圖像匹配過程中消耗了很多時(shí)間并占用大量?jī)?nèi)存。Ke等[3]針對(duì)SIFT特征維數(shù)太大的問題提出了PCA-SIFT算法,利用PCA對(duì)特征進(jìn)行降維,一定程度地縮短了匹配時(shí)間。Bay等[4]在SIFT的基礎(chǔ)上提出了加速穩(wěn)健特征SURF算法,將特征降成64維,在實(shí)現(xiàn)良好匹配效果的基礎(chǔ)上大大減少了匹配時(shí)間降低了內(nèi)存占用率。之后各種基于特征的改進(jìn)配準(zhǔn)算法被提出[5-9]。文獻(xiàn)[5-9]配準(zhǔn)算法在準(zhǔn)確率和快速性上已經(jīng)取得了一定的成就,但都是基于整張圖像做匹配處理,添加了未重疊區(qū)域中的誤匹配噪聲。
無(wú)人機(jī)拼接圖像中除了重疊部分的其他區(qū)域,我們希望減少匹配點(diǎn)數(shù)量以縮短時(shí)間和提高匹配正確率?;谶@種思想,本文基于SURF配準(zhǔn)算法,結(jié)合PCA降維與K-means聚類提出了一種改進(jìn)的子區(qū)域配準(zhǔn)算法。首先給出無(wú)人機(jī)圖像拼接的流程。其次提出了改進(jìn)的匹配算法,采用PCA對(duì)SURF提取的64維特征再次降維,在降維的基礎(chǔ)上用K-means聚類算法對(duì)每幅航拍圖像特征值進(jìn)行分類。通過計(jì)算拼接與待拼接圖像類別的相似性,選取兩幅圖像相似性最大的區(qū)域進(jìn)行匹配。最后采用FLANN粗匹配[10]與RANSAC剔除誤匹配[11],通過圖像融合實(shí)現(xiàn)無(wú)人機(jī)航拍圖的拼接。本文利用三組無(wú)人機(jī)航拍圖像進(jìn)行了拼接仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的SURF匹配算法相比,本文算法在提高拼接效果基礎(chǔ)上也提高了拼接速度。
無(wú)人機(jī)航拍圖像一般為一系列有重疊的圖像,圖像拼接是將這些有重疊的圖像融合成一幅廣視角圖。由于無(wú)人機(jī)體積比較小,自穩(wěn)定性和抗風(fēng)能力差,雖然裝有自動(dòng)駕駛與增穩(wěn)陀螺,但是在拍照的過程中不可避免地會(huì)出現(xiàn)傾斜、抖動(dòng),相機(jī)本身也存在鏡頭的幾何畸變。所以首先要對(duì)無(wú)人機(jī)圖像進(jìn)行去噪處理、幾何校正、重采樣等預(yù)處理[12]。無(wú)人機(jī)圖像拼接的流程分為預(yù)處理、特征提取、特征配準(zhǔn)和圖像融合。本文采用的具體算法流程如圖1所示。在特征提取過程中,采用傳統(tǒng)的SURF算法,并構(gòu)建64維特征描述符;在特征配準(zhǔn)過程,采用改進(jìn)的匹配方法,結(jié)合FLANN匹配與RANSAC剔除誤匹配;在特征融合部分,采取漸入漸出平均加權(quán)融合方法。
圖1 圖像拼接算法流程
由于無(wú)人機(jī)拍攝時(shí)高度較低,拍攝間隔時(shí)間短,無(wú)人機(jī)航拍圖像大多清晰度高,變形較大且圖像間重復(fù)率較高,亮度變化小。目前對(duì)無(wú)人機(jī)航拍圖的圖像配準(zhǔn)多采用SIFT和SURF算法[13-15]。相比于SIFT,SURF構(gòu)成的特征維數(shù)少,但準(zhǔn)確率和快速性還需要提高。因此,本文針對(duì)SURF算法又做了進(jìn)一步改進(jìn)。改進(jìn)的配準(zhǔn)流程如圖2所示。
圖2 改進(jìn)的圖像配準(zhǔn)流程
SURF算法過程分為四步:建立尺度空間、尋找特征點(diǎn)、計(jì)算特征點(diǎn)主方向、生成描述符。
SURF算法在保持原圖像尺寸不變的情況下采用不同大小的箱式濾波器建立圖像的尺度空間。通過計(jì)算Hessian矩陣局部最大值以尋找特征點(diǎn)的位置和尺度因子。選定特征點(diǎn)的鄰域,通過統(tǒng)計(jì)各特征點(diǎn)鄰域內(nèi)Haar小波的響應(yīng)值以確定主方向[16]。
生成描述符,即生成圖像每個(gè)特征點(diǎn)的特征向量。選取以特征點(diǎn)為中心的方形鄰域,邊長(zhǎng)為20s(s為特征點(diǎn)所在的尺度),旋轉(zhuǎn)方形鄰域的方向至特征點(diǎn)的主方向。將方形區(qū)域劃分為16個(gè)子區(qū)域(5s×5s),統(tǒng)計(jì)子區(qū)域內(nèi)每個(gè)像素的Haar小波特征,計(jì)算每個(gè)子區(qū)域內(nèi)水平方向小波特征和∑dx,水平方向小波特征絕對(duì)值的和∑d|x| ,垂直方向小波特征和∑dy,垂直方向小波特征絕對(duì)值的和∑d|y|,其中水平方向和垂直方向都是相對(duì)于主方向而言的[17],如圖3所示。
圖3 構(gòu)造描數(shù)子
每個(gè)子區(qū)域生成4維的特征描述符(∑dx,∑d|x|,∑dy,∑d|y|),每個(gè)特征點(diǎn)對(duì)應(yīng)生成16×4=64維特征描述符,其中i對(duì)應(yīng)特征點(diǎn)的序號(hào)。因此可用若干個(gè)64維的向量去描述一幅圖像。
但是由于SURF算子在生成描述符時(shí)過度依賴特征點(diǎn)周圍的鄰域特征,導(dǎo)致鄰域內(nèi)某些不重要的特征也被考慮進(jìn)來(lái),由此增大了特征提取的噪聲。
主成分分析法PCA算法是一種在較大樣本中抽取重要數(shù)據(jù)以降噪和去除冗余的數(shù)據(jù)處理方法。介于SURF在特征提取時(shí)有可能提取某些不重要的特征,我們結(jié)合了PCA剔除某些在特征提取過程中對(duì)圖像匹配貢獻(xiàn)不大的特征,以提高圖像匹配的精確度與速度。
但在降維過程中為了防止數(shù)據(jù)的失真,需要找到使原始信息最大保存的映射方法。對(duì)于航拍圖的特征向量矩陣,更大的分散度才能使得原始信息保存最大化。同時(shí),特征向量矩陣中的特征值存在冗余和錯(cuò)誤值,需要減小篩選后每個(gè)樣本中數(shù)據(jù)維度的相關(guān)性以及增大方差。
航拍圖經(jīng)過SURF提取特征后得到特征描述符 (xi1,xi2,…,xi64),i對(duì)應(yīng)特征點(diǎn)的序號(hào)。PCA-SURF將特征描述符(xi1,xi2,…,xi64)進(jìn)行降維,篩選除去m個(gè)特征,使選取的特征最大保留原始圖像信息。
PCA-SURF選取特征過程如下:
1) 樣本圖的所有特征描述符為(xi1,xi2,…,xi64),i=1,2,,…,k,其中i為對(duì)應(yīng)特征點(diǎn)的序號(hào),k為特征點(diǎn)總個(gè)數(shù)。假設(shè)提取所有特征描述符中前64組數(shù)據(jù)組成一個(gè)64行64列的矩陣A,則:
2) 計(jì)算矩陣A64×64每一行數(shù)據(jù)的均值Mi:
(1)
式中:i對(duì)應(yīng)矩陣A的行號(hào),i=1,2,…,64。同時(shí)將矩陣A每一行所有數(shù)據(jù)減去該行的均值,得到Y(jié)ij:
Yij=xij-Mi
(2)
式中:i、j分別為該數(shù)據(jù)所在矩陣A的行號(hào)和列號(hào),i=1,2,…,64,j=1,2,…,64。由此得到進(jìn)行零均值化處理后的新矩陣B。
3) 構(gòu)建協(xié)方差矩陣c:
(3)
4) 得到協(xié)方差矩陣c的特征值λi與特征向量ei,并給特征值和特征向量排序,選取前m個(gè)最大的特征值,即選取64維樣本中對(duì)應(yīng)于m維的航拍圖像特征數(shù)據(jù),并找到前m個(gè)最大的特征值對(duì)應(yīng)的特征向量,組成投影變換矩陣P。
5) 將拼接圖與待拼接圖的所有64維描述符按照對(duì)應(yīng)變換P投影至m維空間,得到去除冗余和錯(cuò)誤的新描述符xi=(xi1,xi2,…,xim),i=1,2,…,k。其中i為對(duì)應(yīng)特征點(diǎn)的序號(hào),m為特征描述符降維后的維數(shù)k為特征點(diǎn)總個(gè)數(shù)。
由此,航拍圖的特征描述符由64維降維成m維,去除了特征描述符中冗余信息以及錯(cuò)誤信息。雖然降維使得特征提取消耗更多的時(shí)間,但是由于特征描述符變少,也使得特征匹配的速度更快,且匹配率更高。
考慮到航拍圖中參考圖與待拼接圖重合部分較大,并且兩幅圖重合部分的特征描述符相差不大,本文采用K-means聚類對(duì)圖像進(jìn)行分類,并提取兩幅圖的相似區(qū)域進(jìn)行匹配。
K-means聚類算法是一種經(jīng)典的事先確定聚類個(gè)數(shù)的無(wú)監(jiān)督聚類方法。本文針對(duì)無(wú)人機(jī)航拍圖像采用K-means聚類算法,對(duì)每幅圖的特征描述符進(jìn)行無(wú)監(jiān)督分類。其中航拍圖像每個(gè)特征點(diǎn)對(duì)應(yīng)的特征描述符為一個(gè)一維的數(shù)組Xi。因此一幅圖所有特征點(diǎn)的特征描述符為Ti(Xi1,Xi2,…,xij),其中i表示圖像序列號(hào),j表示圖像特征點(diǎn)序列號(hào)。以兩幅圖為例,參考圖所有特征點(diǎn)的特征描述符為T1,待拼接圖所有特征點(diǎn)的特征描述符為T2。兩幅圖相似區(qū)域選取流程如圖4所示。
圖4 相似區(qū)域選取流程
通過K-means聚類算法對(duì)無(wú)人機(jī)航拍圖的特征描述符進(jìn)行分類,本文分為4類,因此Ti矩陣被分為4組矩陣,分別設(shè)為ti1、ti2、ti3、ti4,其中i為圖像序號(hào)。選取相鄰兩幅圖像的4組矩陣,以兩幅圖為例,圖像對(duì)應(yīng)的矩陣為(t11、t12、t13、t14)(對(duì)應(yīng)圖4中參考圖的4種圖形)和(t21、t22、t23、t24)(對(duì)應(yīng)圖4中待拼接圖的4種圖形),每一類tij的類均值為mij,其中i為圖像序列號(hào),j為類別號(hào)。分別比較t11和t21、t11和t22、…、t14和t24的類均值差dmn,其中m為第一張圖對(duì)應(yīng)的類別號(hào),n為第二張圖對(duì)應(yīng)的類別號(hào),每一類對(duì)應(yīng)的類均值差分別為:
d11=|m11-m21|;d12=|m11-m22|;…;d14=|m11-m24|;
?
d41=|m14-m21|;d42=|m14-m22|;…;d44=|m14-m24|
(4)
比較得到dmn中的最小值,假設(shè)d11最小,則t11與t21最相似,由此可以得到所有鄰近圖最相似的兩部分。
針對(duì)鄰近圖最相似的兩部分,采用FLANN粗匹配,再采用RANSAC剔除誤匹配以縮小誤匹配數(shù)量。實(shí)驗(yàn)結(jié)果證明,在匹配前先采用K-means聚類縮小圖像對(duì)應(yīng)的區(qū)域可以減少誤匹配數(shù)量,且減小了匹配時(shí)間。
由于傳統(tǒng)的SURF算法很大依賴于關(guān)鍵特征周圍的鄰域特征,降低了圖像匹配的準(zhǔn)確率,同時(shí)SURF算法采用64維特征描述符,在匹配過程中占用了大量的內(nèi)存,并增加了匹配時(shí)間。本文通過在SURF過程中加入PCA算法,對(duì)特征進(jìn)行降維,并在匹配前,利用K-means對(duì)兩幅圖像進(jìn)行分類選擇圖像重復(fù)性較大的區(qū)域,剔除了大多數(shù)的誤匹配點(diǎn),這樣使得圖像拼接更加準(zhǔn)確和快速。分別利用傳統(tǒng)的SURF算法和改進(jìn)的拼接算法對(duì)圖5中三組無(wú)人機(jī)拍攝的待拼接圖做了實(shí)驗(yàn)。為了探尋圖像相似度的大小對(duì)本文算法的影響,圖5中的三組待拼接圖分別為不同相似度的圖像組。圖5中第一組實(shí)驗(yàn)圖像相似度較?。坏诙M實(shí)驗(yàn)圖像相似度較高且相似度干擾小,即相似度高的圖像部分對(duì)應(yīng)真實(shí)世界坐標(biāo)中的同一物體;第三組實(shí)驗(yàn)圖像相似度高且干擾大,即相似度高的圖像部分不一定對(duì)應(yīng)真實(shí)世界坐標(biāo)中的同一物體。
(a) 第一組圖
(b) 第二組圖
(c) 第三組圖圖5 三組待拼接航拍圖
實(shí)驗(yàn)在Visual Studio 2013平臺(tái)上結(jié)合OPEN CV的視覺庫(kù),采用C++算法語(yǔ)言對(duì)圖5中三組待拼接圖進(jìn)行了拼接實(shí)驗(yàn)。
用傳統(tǒng)SURF算法與本文改進(jìn)算法對(duì)圖5中的三組無(wú)人機(jī)航拍圖做拼接比較,圖6、圖7、圖8分別表示每組實(shí)驗(yàn)中傳統(tǒng)算法與改進(jìn)算法對(duì)圖像拼接效果的對(duì)比。表1表示三組實(shí)驗(yàn)中傳統(tǒng)算法與改進(jìn)算法對(duì)匹配準(zhǔn)確率以及拼接速度的影響對(duì)比。
(a) 傳統(tǒng)算法拼接結(jié)果圖(左圖)與細(xì)節(jié)圖(右圖)
(b) 改進(jìn)算法拼接結(jié)果圖(左圖)與細(xì)節(jié)圖(右圖)圖6 第一組拼接結(jié)果比較
(a) 傳統(tǒng)算法拼接結(jié)果圖(左圖)與細(xì)節(jié)圖(右圖)
(b) 改進(jìn)算法拼接結(jié)果圖(左圖)與細(xì)節(jié)圖(右圖)圖7 第二組拼接結(jié)果比較
(b) 改進(jìn)算法拼接結(jié)果圖(左圖)與細(xì)節(jié)圖(右圖)圖8 第三組拼接結(jié)果比較
表1 傳統(tǒng)拼接算法與改進(jìn)拼接算法比較
圖5、圖6、圖7顯示,傳統(tǒng)的SURF拼接算法錯(cuò)位情況(圖5(a)右圖,圖6(a)右圖與圖7(a)右圖)明顯比改進(jìn)的拼接算法(圖5(b)右圖,圖6(b)右圖與圖7(b)右圖)嚴(yán)重。結(jié)果表明改進(jìn)的拼接算法匹配率更高,能很好改善圖像拼接效果,且對(duì)不同相似度的圖像拼接有較好的魯棒性。
表1顯示,針對(duì)不同相似度的圖像組,本文改進(jìn)的拼接算法減少了匹配對(duì)數(shù),顯著提高了正確匹配率。因此,結(jié)合降維與聚類的改進(jìn)算法剔除了大部分的誤匹配特征點(diǎn)。同時(shí),三組實(shí)驗(yàn)中傳統(tǒng)SURF算法與本文改進(jìn)算法拼接時(shí)間的比較,表明改進(jìn)的拼接算法有效縮短了圖像拼接時(shí)間。
實(shí)驗(yàn)表明,該算法針對(duì)無(wú)人機(jī)航拍圖的拼接具有較好效果,能顯著提高航拍圖正確匹配率,有效減少圖像拼接的時(shí)間,且很好地改善了圖像拼接的錯(cuò)位情況,該算法對(duì)不同相似度的圖像組有很好的魯棒性。
本文提出了一種基于無(wú)人機(jī)圖像拼接的改進(jìn)配準(zhǔn)算法,適用于無(wú)人機(jī)的圖像拼接,提高了圖像匹配精度的同時(shí)也減小了匹配時(shí)間。在圖像預(yù)處理和圖像融合部分采用傳統(tǒng)的方法,對(duì)于圖像配準(zhǔn)做了改進(jìn)。在特征提取部分采用PCA-SURF算法,將圖像對(duì)應(yīng)的特征描述符降維,方便減小匹配時(shí)間。對(duì)于圖像匹配部分,采用K-means先對(duì)圖像特征描述符分類,用類均值衡量類別相似度,選擇相似性較大的部分做區(qū)域匹配。該方法相比于傳統(tǒng)SURF拼接算法增大了正確匹配率,縮短了拼接時(shí)間,且對(duì)不同相似度的圖像組有較好的魯棒性。最后,給出無(wú)人機(jī)圖像拼接的結(jié)果圖,結(jié)果表明,本文提出的算法可以較好實(shí)現(xiàn)無(wú)人機(jī)的圖像拼接。
[1] 余淮,楊文. 一種無(wú)人機(jī)航拍影像快速特征提取與匹配算法[J]. 電子與信息學(xué)報(bào), 2016, 38 (3) : 509- 516.
[2] Lowe D G.Distinctive image features from scale2 invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91- 110.
[3] Ke Y, Sukthankar R. PCA-SIFT: A More Distinctive Representation for Local Image Descriptors[C]// Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on. IEEE, 2004:506- 513.
[4] Bay H, Tuytelaars T, Gool L V. SURF: speeded up robust features[C]// European Conference on Computer Vision. Springer-Verlag, 2006:404- 417.
[5] Chen L, Liu J, Cao L. Image Matching by Affine Speed-Up Robust Features[C]// Proceedings of the SPIE, MIPPR 2011:Pattern Recognition and Computer Vision.2011,8004.
[6] Bu F,Qiu Y H,Liu J,et al. Improved bidirectional image registration based on Randon-SIFT[J].Journal of Computational Information Systems,2012,8(12):4997- 5004.
[7] 張東,余朝剛. 基于特征點(diǎn)的圖像拼接方法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2016, 25 (3) : 107- 112.
[8] 董強(qiáng),劉晶紅,王超,等.基于改進(jìn)BRISK的圖像拼接算法[J]. 電子與信息學(xué)報(bào), 2017, 39 (2) : 444- 450.
[9] 賈銀江,徐哲男,蘇中濱,等.基于優(yōu)化SIFT算法的無(wú)人機(jī)遙感作物影像拼接[J].農(nóng)業(yè)工程學(xué)報(bào),2017,33(10):123- 129.
[10] Andoni A, Indyk P. Near-Optimal Hashing Algorithms for Approximate Nearest Neighbor in High Dimensions[J]. Communications of the Acm, 2006, 51(1):459- 468.
[11] Martin A F,Robert C B. Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J].Communications of the ACM,1981,24 (6):381- 395.
[12] 狄穎辰,陳云坪,陳瑩瑩,等.無(wú)人機(jī)圖像拼接算法綜述[J].計(jì)算機(jī)應(yīng)用,2011, 31 (1) : 170- 174.
[13] Sun Shujuan, Zeng Zhe. UAV image mosaic based on adaptive SIFT algorithm[C]// International Conference on Geoinformatics, Kaifeng, China: IEEE, 2013: 1- 7.
[14] Bi J, Mao W, Gong Y. Research on image mosaic method of UAV image of earthquake emergency[C]// International Conference on Agro-Geoinformatics. IEEE, 2014:1- 6.
[15] 韓天慶, 趙銀娣, 劉善磊,等. 空間約束的無(wú)人機(jī)影像SURF特征點(diǎn)匹配[J]. 中國(guó)圖象圖形學(xué)報(bào), 2013, 18(6):669- 676.
[16] Zhou W, Li H, Lu Y,et al.SIFT match verification by geometric coding for large-scale partial-duplicate web image search[J].Acm Transactions on Mutimedia Computing Communications & Applications,2013,9(1):319- 339.
[17] Bradski G,Kaehle A.學(xué)習(xí)OpenCV[M].于仕琪,譯.北京:清華大學(xué)出版社,2009.