吉文來,趙湘玉,李明峰
(南京工業(yè)大學(xué)測(cè)繪科學(xué)與技術(shù)學(xué)院,江蘇 南京 211816)
無人機(jī)航攝技術(shù)具有低成本、高效率、靈活機(jī)動(dòng)、實(shí)時(shí)獲取高分辨率影像等優(yōu)勢(shì)[1-2],廣泛應(yīng)用于眾多領(lǐng)域。無人機(jī)航拍時(shí)易受大氣條件和外部環(huán)境影響,獲取的影像存在旋轉(zhuǎn)變化、尺度變化等問題,不利于影像配準(zhǔn)等后期數(shù)據(jù)處理工作的進(jìn)行[3-4]。如何提高無人機(jī)影像配準(zhǔn)效率和精度是目前的研究熱點(diǎn),具有重要的研究意義。加速穩(wěn)健特征(speeded up robust features,SURF)算法[5-6]是常用的影像配準(zhǔn)算法,繼承了尺度不變特征轉(zhuǎn)換(scale invariant feature transform,SIFT)算法[7]對(duì)尺度、旋轉(zhuǎn)、視角、光照、噪聲等變化不敏感、穩(wěn)健性好的優(yōu)勢(shì)[8-9],雖然計(jì)算速度相比于SIFT算法快,但其描述符計(jì)算復(fù)雜、耗時(shí)長(zhǎng),難以滿足無人機(jī)影像配準(zhǔn)實(shí)時(shí)性的要求。二進(jìn)制穩(wěn)健尺度不變特征(binary robust invariant scalable keypoints,BRISK)算法[10]是二進(jìn)制特征描述符算法,計(jì)算速度快,具有尺度不變性和旋轉(zhuǎn)不變性,但穩(wěn)健性差,易造成錯(cuò)誤匹配,配準(zhǔn)精度低[11-12]。
為充分發(fā)揮SURF算法和BRISK算法各自的優(yōu)勢(shì),提高無人機(jī)影像配準(zhǔn)效率和精度,本文將SURF算法的特征點(diǎn)檢測(cè)和BRISK算法的特征點(diǎn)描述相結(jié)合,研究無人機(jī)影像特征聯(lián)合提取方法;將雙向匹配法引入特征點(diǎn)精匹配,研究PROSAC雙向匹配算法,并結(jié)合試驗(yàn)區(qū)無人機(jī)影像數(shù)據(jù)驗(yàn)證其可行性。
SURF特征點(diǎn)檢測(cè)算法具有尺度不變性、旋轉(zhuǎn)不變性、光照不變性和抗噪性等優(yōu)勢(shì),檢測(cè)的特征點(diǎn)分布均勻;但SURF特征描述符為64維向量,計(jì)算復(fù)雜、存儲(chǔ)量大、生成速度慢。BRISK特征描述符為二進(jìn)制字符串,計(jì)算簡(jiǎn)單、生成速度快;但BRISK算法在特征點(diǎn)檢測(cè)時(shí)穩(wěn)健性差,構(gòu)建的空間金字塔尺度信息不豐富。因此,根據(jù)SURF算法和BRISK算法的特點(diǎn),提出一種特征聯(lián)合提取(united extraction of features,UEF)方法。該方法利用SURF算法在尺度空間上檢測(cè)特征點(diǎn),采用BRISK算法構(gòu)建特征描述符,UEF方法的實(shí)現(xiàn)流程包括以下5個(gè)步驟。
保持原始影像大小不變,計(jì)算其積分影像,利用不同尺寸的方形濾波器對(duì)該積分影像進(jìn)行濾波,建立不同尺度的空間金字塔,即多尺度空間。在尺度為σ的積分影像I上,定義某點(diǎn)x的Hessian矩陣為
(1)
利用Hessian矩陣計(jì)算金字塔每一層尺度下所有像素點(diǎn)的行列式值。由于SURF算法采用方形濾波器代替高斯濾波器,則式(1)的近似卷積可表示為Dxx、Dxy、Dyy,近似矩陣Happrox的行列式可表示為
Det(Happrox)=DxxDyy-(ωDxy)2
(2)
式中,ω為權(quán)重系數(shù),通常取0.9。
設(shè)定一個(gè)閾值,當(dāng)像素點(diǎn)的近似Hessian行列式值大于閾值時(shí),保留該像素點(diǎn),對(duì)留下的像素點(diǎn)進(jìn)行非極大值抑制。在每個(gè)檢測(cè)點(diǎn)3×3×3的立體鄰域內(nèi),將檢測(cè)點(diǎn)與周圍26個(gè)像素點(diǎn)進(jìn)行比較,如果檢測(cè)點(diǎn)的行列式值最大或最小,則可確定該點(diǎn)為候選特征點(diǎn)。對(duì)尺度空間進(jìn)行插值,精確定位特征點(diǎn)的尺度和位置。
根據(jù)BRISK特征描述符生成原理,定義特征點(diǎn)鄰域范圍內(nèi)的采樣點(diǎn)。假設(shè)有N個(gè)采樣點(diǎn),兩兩組成一對(duì),共有N(N-1)/2組點(diǎn)對(duì)。采樣點(diǎn)對(duì)(pi,pj)經(jīng)高斯濾波后的灰度值分別為I(pi,σi)和I(pj,σj)(σi和σj表示高斯濾波的方差),利用灰度值計(jì)算每一點(diǎn)對(duì)的局部梯度
(3)
利用長(zhǎng)距離采樣點(diǎn)對(duì)集L計(jì)算特征點(diǎn)方向g及旋轉(zhuǎn)角度α。
(4)
(5)
(6)
在特征點(diǎn)提取結(jié)束后,需進(jìn)行特征粗匹配和特征精匹配[13-14]。特征粗匹配一般采用距離比法,但初始匹配點(diǎn)對(duì)存在一對(duì)多匹配現(xiàn)象,因此宜采用雙向匹配法篩選匹配點(diǎn)對(duì),以提高匹配正確率。在特征精匹配中通常采用PROSAC算法,核心是提出質(zhì)量因子判斷匹配點(diǎn)對(duì)的等級(jí)。該方法降低了樣本選擇的隨機(jī)性,加快了運(yùn)算速度,提高了匹配準(zhǔn)確度[15]。因此,本文提出PROSAC雙向匹配算法,即在基于距離比法特征粗匹配的基礎(chǔ)上,通過雙向匹配法和PROSAC算法剔除誤匹配點(diǎn)對(duì),完成特征精匹配,具體流程如圖1所示。
基于距離比法對(duì)求出的特征描述符進(jìn)行特征點(diǎn)粗匹配。對(duì)于參考影像上的某一特征點(diǎn),在待配準(zhǔn)影像上找出與之距離最近點(diǎn)和次近鄰點(diǎn),求解最近距離dm與次近距離dn之比,當(dāng)比值小于閾值T(本文設(shè)為0.7),則認(rèn)為待配準(zhǔn)影像上距離最近的點(diǎn)為匹配點(diǎn)。距離比法的具體公式為
(7)
雙向匹配法是在獲得初始匹配點(diǎn)對(duì)集的基礎(chǔ)上,以待配準(zhǔn)影像為基礎(chǔ),找出參考影像上對(duì)應(yīng)的特征點(diǎn),即反方向求解匹配點(diǎn)對(duì)集,將兩次匹配結(jié)果取交集作為最終匹配點(diǎn)對(duì)集。
采用PROSAC算法進(jìn)行特征匹配點(diǎn)對(duì)篩選,剔除誤匹配點(diǎn)對(duì),具體步驟如下:
(1) 降序排列點(diǎn)對(duì),求解變換矩陣。按照質(zhì)量因子降序排列匹配點(diǎn)對(duì)集,取前n組匹配點(diǎn)對(duì)作為樣本。由于變換矩陣含有8個(gè)未知參數(shù),需從樣本中隨機(jī)選取4組匹配點(diǎn)對(duì),進(jìn)行變換參數(shù)求解,具體公式為
(8)
式中,(x′,y′)為待配準(zhǔn)影像上特征點(diǎn)坐標(biāo);(x,y)為參考影像上特征點(diǎn)坐標(biāo),ai(i=0,1,…,7)為變換參數(shù)。
(2) 判斷內(nèi)點(diǎn)和外點(diǎn)。計(jì)算剩余點(diǎn)對(duì)經(jīng)變換后的投影點(diǎn)與對(duì)應(yīng)匹配點(diǎn)之間的誤差,如果誤差小于閾值,則認(rèn)為該點(diǎn)對(duì)是內(nèi)點(diǎn);反之為外點(diǎn),統(tǒng)計(jì)內(nèi)點(diǎn)數(shù)量。
(3) 更換樣本迭代,求解最優(yōu)變換矩陣。更換4組點(diǎn)對(duì),重復(fù)步驟(1)、(2),當(dāng)內(nèi)點(diǎn)數(shù)量最大時(shí),此時(shí)的變換矩陣為最優(yōu)模型矩陣,內(nèi)點(diǎn)集為正確匹配點(diǎn)對(duì)集。當(dāng)達(dá)到最大迭代次數(shù)時(shí)停止運(yùn)算,輸出變換矩陣和內(nèi)點(diǎn)集。
為驗(yàn)證無人機(jī)影像特征聯(lián)合提取與雙向匹配方法的可行性,選擇某一測(cè)區(qū)的無人機(jī)影像為試驗(yàn)數(shù)據(jù),將SURF算法、BRISK算法與本文算法進(jìn)行試驗(yàn)對(duì)比,從提取特征點(diǎn)數(shù)與提取速度、匹配點(diǎn)對(duì)數(shù)與匹配正確率、算法穩(wěn)健性與配準(zhǔn)時(shí)間3個(gè)方面分析不同算法的性能。
圖2為存在一定重疊度的相鄰無人機(jī)影像。對(duì)兩幅影像分別采用SURF算法、BRISK算法和特征聯(lián)合提取(UEF)算法進(jìn)行特征點(diǎn)提取,統(tǒng)計(jì)不同算法的提取特征點(diǎn)數(shù)、總耗時(shí)和提取速度等數(shù)據(jù),見表1。
指標(biāo)SURFBRISKUEF提取特征點(diǎn)數(shù)/個(gè)645345315907特征點(diǎn)提取總耗時(shí)/ms35329061422特征點(diǎn)提取速度/(ms/個(gè))0.54730.19990.2407
由表1可知:SURF算法提取的特征點(diǎn)數(shù)最多,UEF算法次之,BRISK算法提取的特征點(diǎn)數(shù)最少;BRISK算法提取速度最快,UEF算法次之,SURF算法速度最慢。
提取的特征點(diǎn)數(shù)越多越能反映影像特征信息,提取速度反映提取效率。綜合試驗(yàn)結(jié)果,UEF算法提取的特征點(diǎn)數(shù)多于BRISK算法,提取速度比SURF算法快一倍,整體上優(yōu)于其他兩種算法。
在特征點(diǎn)提取工作的基礎(chǔ)上,采用PROSAC雙向匹配算法進(jìn)行特征點(diǎn)匹配,通過試驗(yàn)分別對(duì)SURF算法、BRISK算法和UEF算法的配準(zhǔn)效果進(jìn)行分析。圖3為不同算法的特征點(diǎn)粗匹配效果圖,可看出經(jīng)過特征點(diǎn)粗匹配后,匹配點(diǎn)對(duì)連線不是所有均保持平行,存在誤匹配點(diǎn)對(duì)。圖4為不同算法的特征點(diǎn)精匹配效果圖,可看出采用PROSAC雙向匹配算法后,誤匹配點(diǎn)對(duì)均得到有效剔除。統(tǒng)計(jì)3種算法的特征匹配點(diǎn)對(duì)數(shù),計(jì)算匹配正確率,見表2。匹配正確率是指精匹配點(diǎn)對(duì)數(shù)與粗匹配點(diǎn)對(duì)數(shù)的比值。
表2 匹配點(diǎn)對(duì)數(shù)與匹配正確率對(duì)比
由表2可知:BRISK算法匹配點(diǎn)對(duì)數(shù)最少,SURF算法次之,UEF算法最多,較多的正確匹配點(diǎn)對(duì)數(shù)有利于求解最優(yōu)變換矩陣,保證配準(zhǔn)精度;UEF算法的匹配正確率達(dá)到98%,高于SURF算法和BRISK算法。
選擇存在旋轉(zhuǎn)變化和尺度變化的無人機(jī)影像數(shù)據(jù),根據(jù)匹配正確率分析SURF算法、BRISK算法及UEF算法的穩(wěn)健性,統(tǒng)計(jì)配準(zhǔn)總耗時(shí),比較不同算法的配準(zhǔn)效率,結(jié)果見表3。
表3 針對(duì)變化影像的不同算法性能對(duì)比
由表3可知:就匹配正確率而言,無論影像是否發(fā)生旋轉(zhuǎn)變化或尺度變化,UEF算法的匹配正確率均高于SURF算法和BRISK算法;在配準(zhǔn)效率方面,UEF算法的配準(zhǔn)時(shí)間介于SURF算法和BRISK算法兩者之間,配準(zhǔn)效率較高。綜合上述分析可知,UEF算法具有穩(wěn)健性好、耗時(shí)短的特點(diǎn),適合處理數(shù)據(jù)量大、存在旋轉(zhuǎn)和尺度變化等問題的無人機(jī)影像。
為提高無人機(jī)影像配準(zhǔn)的準(zhǔn)確性,本文提出了影像特征聯(lián)合提取與雙向匹配方法。試驗(yàn)結(jié)果表明,特征聯(lián)合提取方法具有提取特征信息豐富、提取效率高的特點(diǎn),PROSAC雙向匹配算法有效剔除了誤匹配點(diǎn)對(duì),本文提出的配準(zhǔn)算法在保證配準(zhǔn)效率的前提下匹配正確率高于SURF算法和BRISK算法,對(duì)于數(shù)據(jù)量大、存在旋轉(zhuǎn)和尺度變化等問題的無人機(jī)影像配準(zhǔn)更具有應(yīng)用價(jià)值。