年秋慧,王英杰,李聰旭
(1.中國鐵道科學研究院集團有限公司研究生部,北京 100081;2.中國鐵道科學研究院集團有限公司電子計算技術研究所北斗中心,北京 100081)
傾斜攝影技術是當前主流的攝影測量技術,其通過在無人機上搭載五個不同角度的傳感器,以實現(xiàn)對空間內(nèi)實體對象的采集及虛擬化展示[1]。采用傾斜影像可實現(xiàn)對地物的長、寬、面積及角度等的測量,也可進行紋理的采集等。在鐵路領域,傾斜攝影技術可應用于鐵路全線虛擬化基礎設施實景展示以及線路周邊安全隱患排查等方面,具有十分重要的意義[2]。
然而,由于傾斜影像受到光線、旋轉(zhuǎn)角度、清晰度、視角等多方面因素的影響,匹配的準確性存在一定的誤差。當前的匹配算法多是基于正射影像進行匹配,而對于傾斜影像的匹配誤差較大。如SIFT(尺度不變特征算法)具有尺度不變的特性,對光線、旋轉(zhuǎn)角度、圖像尺度縮放等能保持較高的匹配率[3],但是對于遙感影像計算方法復雜、耗時較大。SURF(加速穩(wěn)健特征算法)[4]對SIFT的算法中的高斯差分卷積運算進行處理,通過矩陣判別式的值實現(xiàn)對極值的查找,但是對于圖像邊緣信息的處理仍無法較好的保留。KAZE算法[5]將非線性擴散濾波引入,通過建立非線性尺度空間提高了圖像匹配的準確度,但是運行效率較低。AKAZE算法(加速KAZE 算法)[6]加入了 FED 算法(Fast Explicit dif?fusion),提高了運行效率,較好地保留了圖像的輪廓信息,但是對于結(jié)果的準確度而言,AKAZE算法弱于SIFT算法[7]。
在上述匹配算法的基礎上,許多學者提出了改進算法。完文韜等人[8]基于傳統(tǒng)SIFT算法,將SIFT算子結(jié)構化由局部轉(zhuǎn)變?yōu)槿?,用準歐氏距離代替歐氏距離,實現(xiàn)了異源影像的高精度配準。黃春鳳等人[9]基于SURF算法提取特征點,采用雙向匹配算法和隨機抽樣一致(RANSAC)算法對特征點二次優(yōu)化和去噪處理,使圖像具有較高的匹配精度。羅宇等人[10]在原有KAZE算法基礎上,對求解線性非尺度空間的迭代步長進行了重新修正,提高了特征匹配率。宋偉等人[11]利用AKAZE算法構造非線性尺度空間,利用LATCH描述符對獲取的特征點進行描述,采用比值提純法進行粗匹配結(jié)果進行過濾,得到精確的匹配結(jié)果。但是,上述改進算法針對傾斜影像仍無法獲得較高的準確率,需研究更適合于傾斜影像的匹配算法。
通過研究發(fā)現(xiàn),AKAZE算法可以很好地保留圖像的邊緣信息,但是圖像匹配的準確率較低;而SIFT算法匹配效果好,不受光線、旋轉(zhuǎn)角度的影響,但是對邊緣信息處理不能很好的保留。因此,本文將AKAZE算法和SIFT算法結(jié)合,利用AKAZE算法對圖像的輪廓信息進行保留,然后利用SIFT描述符穩(wěn)定性及重投影誤差小等優(yōu)點進行關鍵點選取,最后采用RANSAC算法對特征點進行優(yōu)化,實現(xiàn)對傾斜影像的匹配。具體算法流程如圖1所示。
圖1 算法流程圖
首先對兩幅待匹配圖像進行讀取,分別基于AKAZE算法建立尺度空間,在保留邊緣信息的基礎上實現(xiàn)無用細節(jié)的刪除和新的細節(jié)的查找,完成圖像的特征檢測。然后基于SIFT算法對匹配圖像的關鍵點進行提取和描述,篩選出特征性較強的點,對篩選后的特征點進行梯度幅值和方向的確定,使其具有旋轉(zhuǎn)不變性,保證圖像的匹配精度。最后對影像進行匹配,并采用RANSAC算法將錯誤匹配點進行去除,最終完成影像匹配。
構建尺度空間的過程中,其實是在不斷去除細節(jié)過程的同時不能引進新的錯誤細節(jié)特征。
非線性擴散公式為:
式中,C(x,y,t)為傳導函數(shù),傳導函數(shù)值的大小將影響圖像的結(jié)構。傳導函數(shù)C(x,y,t)可以采用如下形式表示:
式中,Lumσ表示高斯平滑圖像;?Lumσ表示Lumσ的梯度。函數(shù)G2表示優(yōu)先保留寬度較大的區(qū)域,即對圖像的內(nèi)部區(qū)域進行平滑的同時,也對邊緣信息進行保留。γ表示控制擴散程度的對比度參數(shù),由| ?Lumσ|的直方圖決定,在合理范圍內(nèi),γ越小,邊界信息保留的越多。
FED算法是采用不同時間步長的一種簡便高效的算法。算法實施較為簡單,任何顯式格式都可以通過推導時間步長、消除舍入誤差,完成其他顯式格式至FED的轉(zhuǎn)換[12]。因此,本文采用FED對傾斜影像進行濾波處理。
AKAZE是由k組(0,1,…,k-1)層及其每組的p個子層(0,1,…,p-1)來構建尺度空間。每層(T1,T1+p,T1+2p,…,T1+np)的第一個圖像通過對前一個層的最后一幅圖像進行重采樣和邊緣檢測,并將tcp與對比參數(shù)γ進行相乘得到。即
ti為擴散時間,通過對上一組圖像進行平滑處理,以此來得到下一組影像,并且尺度參數(shù)σi與時間ti存在映射關系,則σi與ti映射表達關系為:
然后,使用FED方法在每一級內(nèi)創(chuàng)建尺度圖像Ti:
式中,n為周期時長;χ為步長大小,且χ1,χ2,…,χn中步長最大值為χmax(χmax=0.25);χj為第j步的步長。
在非線性尺度空間中,首先應對每一幅圖像進行關鍵點的提取,計算每一幅圖像的Hessian矩陣,通過Hessian矩陣求解尺度空間的極值。對Hessian矩陣進行二階求導,即可得到局部極值點的位置。
其中,Hxx為尺度空間水平方向上的二階導數(shù);Hxy為二階繼續(xù)偏導數(shù);Hyy為尺度空間垂直方向上的二階導數(shù)。
對關鍵點采用高斯差分LoweD G進行極值(包括極大值與極小值)檢測[3]。高斯差分檢測極值時,圖像的方向變化和縮放不影響關鍵點的選取。如圖2所示,對某一關鍵點進行極值檢測時,應選取以下極值點進行比較:(1)同尺度空間下相鄰的八個極值點;(2)與待檢測關鍵點所在的尺度空間相鄰的尺度空間上的9×2個極值點,對應點的選擇具體如圖2所示。圖中五角星為待檢測關鍵點,圓形為對應點。通過對特征點周圍的26個像素點進行比較,確定關鍵點是否為極值點。
圖2 特征點極值檢測
最后為了得到更加準確的匹配結(jié)果,對關鍵點進行篩選。首先剔除低對比度的關鍵點,將DOG算子D進行二階泰勒級數(shù)展開,通過求導得到最大值或最小值點,使得D(x)在最大(?。┲迭c上具有最大值。然后剔除圖像邊緣位置的關鍵點,將D轉(zhuǎn)換成Hessian矩陣,得到兩個特征值α、β,通過設定閾值k(k是通過建立關鍵點的像素值灰度直方圖,選取波谷值作為閾值),使得,將大于等于的關鍵點(即邊緣點)剔除,完成關鍵點的優(yōu)化。
對關鍵點進行描述時為了保證圖像的旋轉(zhuǎn)不變性,首先需指定每一個關鍵點的方向,對每一個關鍵點鄰域的梯度幅值和方向進行計算。
然后采用特征描述子對關鍵點進行描述。特征描述子分為浮點型特征矢量描述子(SIFT、SURF)和二進制字符串特征描述子(BRIEF、ORB、BRISK)[14]。首先計算 16×16 鄰域內(nèi)的相對方向和大小,按大小和空間高斯分布對4×4窗口進行梯度方向直方圖的計算,并繪制所有方向的梯度累計值。然后將16個直方圖連接到一個128維的特征描述符中,形成一個具有128維的梯度[15-16]。
對于關鍵點的匹配,應在關鍵點空間中找到圖像的相似區(qū)域,通過采用LOW方法[3]實現(xiàn)。
首先建立包含有序的歐幾里得距離的集合E={e1,e2,…,en}。e1為任意一個候選點的匹配距離,e2為第二近鄰匹配距離,并設置閾值T的大小。若滿足e1/e2 實驗平臺采用 CPU 為 Intel(R)core(TM)i7-8700 CPU@3.2GHz處理器,Windows10 64位操作系統(tǒng),開發(fā)軟件采用Spyder和Opencv,編程采用Python實現(xiàn)。選取某車站影像圖進行測試,對圖像進行模糊變化(采用高斯模糊,模糊半徑1~8,如圖 3(a)所示)、旋轉(zhuǎn)變化(0°、30°、60°、90°、120°、150°、180°,如圖 3(b)所示)、亮度變化(亮度-100~100,步長 20,如圖3(c)所示)、視角變化(垂直翻轉(zhuǎn)60°~-60°,步長 20,如圖3(d)所示)及尺度變化(縮放系數(shù) 1~2,步長 0.2,如圖 3(e)所示),圖3為部分匹配結(jié)果。 圖3 影像匹配結(jié)果 為了判斷影像匹配的精確度,采用準確率及召回率對實驗結(jié)果進行分析。 準確率可采用如下方式表示: 召回率可采用如下方式表示: 其中,T表示理論匹配點數(shù)量;T′為實際匹配點數(shù)量。采用加權調(diào)和平均數(shù)對匹配結(jié)果進行統(tǒng)計,加權調(diào)和平均數(shù)越大,整體匹配效果越好。 本文對SIFT、SURF、KAZE、AKAZE以及本文算法進行實驗。經(jīng)統(tǒng)計分析,算法的準確率、召回率以及加權調(diào)和平均值Fscore分別如表1、表2、表3所示。 表1 算法準確率比較 表2 算法召回率比較 表3 加權調(diào)和平均值Fscore比較 由表1可以看出,模糊變化、旋轉(zhuǎn)變化和亮度變化對于算法匹配的準確率影響較低,而視角變化和尺度變化對于匹配的準確率影響較大;同時,可以看到,本文采用的算法準確率優(yōu)于其他算法。同時,根據(jù)表3可以看出本文采用的算法加權調(diào)和平均值最大。由表4關鍵點提取時間可以看到,AKAZE算法優(yōu)于本文算法,但是結(jié)合表4其他結(jié)果對算法進行比較,本文算法略優(yōu)于AKAZE算法。 表4 其他指標比較 傾斜攝影測量技術是智能鐵路信息化展示的重點技術之一,對未來的鐵路建設具有著重要的作用。將AKAZE和SIFT融合后的算法應用于鐵路不同時期當中,對不同時期鐵路沿線的周邊環(huán)境及設施進行對比分析,可極大減少巡檢人員的工作量,也為鐵路規(guī)劃提供了方向。 本文對傳統(tǒng)匹配算法在傾斜影像匹配中存在的不足進行了分析,采用將AKAZE算法和SIFT算法的優(yōu)勢結(jié)合,形成一種新的匹配算法,該算法可以保證圖像的局部精度,對邊緣信息進行較好的保留,同時也可在旋轉(zhuǎn)、縮放等條件下仍保證很好的匹配效果。本文通過實驗驗證了算法可行性并已應用于鐵路生產(chǎn)安全監(jiān)測中。但是,受天氣環(huán)境(如多云、季節(jié)變化)等外界不確定因素影響,實際傾斜攝影影像匹配效果會比實驗影像匹配結(jié)果低,可對算法進行進一步研究。5 結(jié)果分析與應用
5.1 結(jié)果分析
5.2 算法應用
6 結(jié)論