邢誠
(武漢大學測繪學院,湖北武漢430079)
無人機超低空攝影是近幾年來較熱門的一個領域,它與傳統(tǒng)數(shù)據(jù)采集方法相比具有以下幾個優(yōu)勢[1-2]:1)機動快速的響應能力;2)平臺構建、維護以及作業(yè)的成本極低;3)高分辨率圖像和高精度定位數(shù)據(jù)獲取能力,增強了后續(xù)處理的可靠性;4)無人機能夠承擔高風險或高科技的飛行任務;5)不必申請空域,國家對千米以下的空域不實行管制.由于上述的諸多優(yōu)勢,基于小型無人機平臺搭建的對地觀測系統(tǒng)已經(jīng)成為世界各國爭相研究的熱點課題,現(xiàn)已逐步從研究開發(fā)階段發(fā)展到實際應用階段.
但是,無人機影像處理方面所遇到的問題是傳統(tǒng)航空攝影測量所未遇見的,影像的處理歸納起來有以下幾個問題[3]:1)影像的傾角過大且無規(guī)律、航向重疊度有時過小,灰度不一致,使得影像匹配難度大、精度低;2)無人機影像像幅小、數(shù)量多,造成工作量大、效率低,需研究高效的、自動化程度高的處理方法;3)飛行航線呈曲線,影像的旁向重疊度不規(guī)則、過小.所以,在影像處理工作進行之前,數(shù)據(jù)預處理——即圖像可用性分析工作就顯得尤為重要.去除不符合要求的圖像,然后對需要補測的區(qū)域進行補攝.
序列影像重疊度分析工作是建立在穩(wěn)定、高效的圖像特征提取和匹配基礎之上的,所以需要利用穩(wěn)定性好、效率高的特征提取、匹配算法進行處理.D.G.Lowe在2004年總結了現(xiàn)有的基于不變量技術的特征檢測方法,并提出了基于尺度空間的、對圖像縮放、旋轉甚至仿射變換均保持不變性的圖像局部特征描述算子——SIFT(scale invariant feature transform)算子[4].但傳統(tǒng) SIFT算法復雜度高、圖像處理時間長,導致工作效率降低.本文提出一種簡化的SIFT算法對無人機影像進行處理,并通過實驗與傳統(tǒng)SIFT算法做出了對比.
SIFT算法不僅具有尺度、旋轉、仿射、視角、光照不變性,對目標的運動、遮擋、噪聲等因素也保持較好的穩(wěn)定性.該算法主要分為以下幾個步驟:
1)建立尺度空間.利用不同尺度的高斯差分核與圖像進行卷積生成高斯差分尺度空間[5-6].
2)尺度空間極值檢測及精確定位極值點.為了尋找尺度空間的極值點,每一個采樣點要和它所有的相鄰點比較,看其是否比它的圖像域和尺度域的相鄰點大或者小,即將當前檢測點與跟它同尺度的8個相鄰點以及上下相鄰尺度對應的9×2個點(共計26個點)進行比較,以確保在尺度空間和二維圖像空間都檢測到極值點.
通過擬和三元二次函數(shù)精確確定關鍵點的位置和尺度[7](達到亞像素精度),同時去除低對比度的關鍵點和不穩(wěn)定邊緣響應點,以增強匹配穩(wěn)定性、提高抗噪能力.
式中:x=(Δx,Δy,Δσ)T為采樣點的位置及尺度的改正數(shù).
3)關鍵點方向分配.利用關鍵點鄰域像素的梯度方向分布特性為每個關鍵點指定方向參數(shù),使算子具備旋轉不變性.
式(2)為計算像點坐標為(x,y)的像素點的梯度大小及方向的公式.其中,所采用的尺度為當前關鍵點所在的尺度.
在實際計算時,在以關鍵點為中心的鄰域窗口內(nèi)采樣,并用直方圖統(tǒng)計鄰域像素的梯度方向.直方圖的峰值代表了該關鍵點處鄰域梯度的主方向,作為該關鍵點的方向.在梯度方向直方圖中,當存在另一個相當于主峰值80%能量的峰值時,則將這個方向認為是該關鍵點的輔方向.一個關鍵點可能會被指定具有多個方向(一個主方向,一個以上輔方向).
4)特征點描述子生成.將坐標軸旋轉為關鍵點的方向,以確保旋轉不變性.對每個關鍵點使用4×4共16個種子點來描述,這樣對于一個關鍵點就可以產(chǎn)生128個數(shù)據(jù),即最終形成128維的SIFT特征向量.此時SIFT特征向量已經(jīng)去除了尺度變化、旋轉等幾何變形因素的影響,再繼續(xù)將特征向量的長度歸一化,則可以進一步去除光照變化影響.
5)特征匹配.利用關鍵點特征向量的歐式距離作為2幅圖像中關鍵點的相似性判定度量:
取基準圖像中的某個關鍵點,并找出其與待匹配圖像中歐式距離最近的前2個關鍵點,在這2個關鍵點中,如果最近的距離除以次近的距離小于某個比例閾值,則接受這一對匹配點.
傳統(tǒng)SIFT算法參數(shù)較多,算法復雜度高,導致處理過程時間很長,所以對于匹配精度要求不高但實時性要求高的任務,可以考慮采用簡化的SIFT算法進行處理,以縮短圖像處理時間.表1中列出的是用SIFT算法對一幅分辨率為768×576的圖像進行處理,每一步驟所需時間,以及對多幅影像進行處理統(tǒng)計得到的每一步驟占總時間的百分比.
表1 SIFT算法各步驟耗時統(tǒng)計Table 1 Time consuming of each step in the SIFT
1.2.1 簡化的SIFT算法
由表1中的統(tǒng)計數(shù)據(jù)可以看出,在傳統(tǒng)SIFT算法中,生成特征向量和特征匹配2步驟占據(jù)了大部分時間,因此可以對這2個過程進行簡化,以縮短處理時間.
首先是解決重復匹配問題.由于在原算法第3步過程中,將相當于主峰值80%能量的方向當作當前關鍵點的輔方向,這樣就增加了特征點的數(shù)量,而且這些方向被指定為輔方向的特征點和具有主方向特征點的坐標是一樣的,這會導致匹配結果發(fā)生重復的現(xiàn)象,同時也增加了計算時間.所以,在改進的算法中不考慮輔方向.
其次,原算法生成的128維特征向量占用時間長,主要是因為在關鍵點方向分配和生成特征向量2個步驟中都進行了關鍵點鄰域直方圖統(tǒng)計,所以在改進算法中考慮將這2步進行簡化.首先按原算法第3步計算關鍵點主方向,高斯加權參數(shù)選擇為當前關鍵點尺度(σ)的1.5倍,即1.5σ,統(tǒng)計 n個方向直方圖,得到直方圖統(tǒng)計量 H={h1,h2,h3,…,hn},計算H中的最大值Hmax并設置為當前關鍵點的方向.尋找到關鍵點主方向的同時,為了加快描述子生成步驟的速度,需要記錄下各像素點梯度信息.然后將關鍵點方向旋轉至主方向,確保旋轉不變性.生成描述算子時,關鍵點鄰域窗口選擇16×16窗口,高斯加權參數(shù)選擇為特征描述向量窗口寬度的一半,統(tǒng)計關鍵點鄰域n個方向的梯度信息(如圖1所示),由此可生成n維特征描述向量,即F={f1,f2,…,fn}.為了去除光照變化的影像,將特征向量進行歸一化處理,即
式中:fN表示歸一化向量,i∈[1,n].
圖1 特征向量統(tǒng)計窗口Fig.1 Statistics of feature vectors
1.2.2 特征向量方向數(shù)
通過對不同情況下大量影像對進行匹配實驗發(fā)現(xiàn),簡化的SIFT算法對縮放、平移等基本圖像變化可保持較好的穩(wěn)定性,但對旋轉或投影變換匹配成功率下降,所以特征方向數(shù)量的確定應以投影變換為參考進行設定.圖2、3是分別對20組垂直旋轉影像對和20組投影變換關系的影像對進行統(tǒng)計得到的結果.由統(tǒng)計結果可以看出當方向數(shù)確定為24的時候可以得到較穩(wěn)定的匹配結果.在各組實驗中,當特征向量方向數(shù)取為24時,均可以得到最高的匹配正確率,所以可以將特征向量方向數(shù)確定為24.
圖2 方向數(shù)與匹配正確率統(tǒng)計結果(影像旋轉90°)Fig.2 The statistics results of the number of the directions and the correctness(rotation with 90°)
圖3 方向數(shù)與匹配正確率統(tǒng)計結果(投影變換)Fig.3 The statistics results of the number of the directions and the correctness(perspective projection)
1.2.3 剔除誤匹配點
由于對SIFT算法進行了簡化,特征點的穩(wěn)定性有所降低,導致匹配結果中誤匹配點過多,所以需要對誤匹配點進行剔除.這里可以采用RANSAC算法[8]對匹配點進行處理,獲取正確的匹配點.實驗表明,通過結合RANSAC算法處理,可以成功剔除誤匹配點,得到正確的匹配點,在一定程度上彌補了簡化算法的不足.
在經(jīng)過RANSAC算法處理后,會刪除較多的誤匹配點,與原算法結合RANSAC算法處理后的結果相比,剩余的匹配點數(shù)量會有所減少,但對于高分辨率無人機影像來說,剩余的匹配點的數(shù)量通常可以滿足后續(xù)圖像處理的要求.簡化算法中,關鍵點的數(shù)量和位置與原算法相同,只是在匹配后刪除了更多的關鍵點,但是并不影像匹配的精度.
航攝像片不僅要覆蓋整個測區(qū),還要求像片間有一定的重疊度[9].一般要求航向重疊度在60% ~65%,不得小于53%;旁向重疊度在30% ~40%,不得小于15%[10].由于無人機穩(wěn)定程度不如有人駕駛飛機,不易操縱,易受高空風力影響,會導致航線漂移,飛行的軌跡不再像傳統(tǒng)的航空攝影沿直線飛行(航線彎曲度≤3%),而呈曲線軌跡.這樣使得拍攝影像的航向重疊度和旁向重疊度都不夠規(guī)則.所以,首先對所獲取的影像重疊度進行分析是十分必要的.
影像重疊度的計算結果可以采用直方圖統(tǒng)計的方式來記錄,即將重疊度按10%一個柱進行統(tǒng)計,檢驗占匹配點數(shù)比例最大的柱代表的重疊度范圍,以確定是否滿足航向重疊度和旁向重疊度的要求(本文以計算航向重疊度為例).重疊度計算示意圖如圖4所示,箭頭代表航線方向,陰影區(qū)域為重疊區(qū).在飛行條件較好的情況下,航線彎曲度很小,所以在計算航向重疊度的時候可以不考慮相鄰相片在y方向上的重疊度,按式(5)計算重疊度;在飛行條件較差的情況下,航線彎曲度可能會偏大,導致航向上相鄰像對在y方向上重疊度較小,這會對后續(xù)數(shù)據(jù)處理造成影響,所以此時應以重疊面積來計算重疊度,式(6)為該種情況下重疊度計算公式.
圖4 像片重疊度計算示意Fig.4 The example for computing the overlapping degree
影像重疊度分析大致可以分為以下幾個步驟:
1)采用簡化的SIFT算法對序列影像中各幅影像進行處理,提取特征描述向量;
2)對提取的特征點集進行特征匹配;
3)用RANSAC算法對匹配結果進行提純;
4)計算航向及旁向方向上相鄰影像間的重疊度;
根據(jù)測圖要求設定影像重疊度閾值,判斷影像是否滿足重疊度要求,對于不滿足重疊度要求影像予以舍棄,對相應的區(qū)域要進行補測.
實驗1主要對簡化的SIFT算法與原算法做出了對比,處理結果如圖5所示.圖5第1列結果為簡化的SIFT處理結果,第2列為原SIFT算法處理結果,第3列是簡化SIFT結合RANSAC的處理結果;第1行影像間關系為任意旋轉,第2行影像間關系為縮放,第3行影像間關系為投影變換;匹配正確率及處理時間如表2所示.
表2 實驗1各行影像匹配正確率及處理時間統(tǒng)計Table 2 The correctness and time consuming results of the images in each row in Test 1
首先采用簡化的SIFT算法對2幅分辨率為1 280×1 920的相鄰影像進行特征提取及匹配,利用這些匹配點對兩幅影像的重疊度進行計算,結果如表3所示,然后用RANSAC算法對匹配點進行提純,除去誤匹配點,利用提純后的這些同名點對兩幅圖像的重疊度進行計算,統(tǒng)計結果如表4所示.利用簡化SIFT與原SIFT分別對單航帶序列影像(10幅影像)進行重疊度的計算以及計算時間統(tǒng)計的對比結果如表5所示.
表3 重疊度計算結果統(tǒng)計(含誤匹配點)Table 3 The results of overlapping degree(outliers included)
表4 重疊度計算結果統(tǒng)計(誤匹配點已除去)Table 4 The results of overlapping degree(outliers removed)
表5 單航帶重疊度計算統(tǒng)計結果Table 5 The results of overlapping degree within a single flight strip
通過實驗1可以看出,簡化的SIFT算法與原SIFT算法相比,匹配結果中誤匹配點數(shù)量增多,匹配正確率下降,尤其對于投影變換關系的影像匹配成功率不高,但處理時間大大減少;在結合RANSAC算法進行處理后,誤匹配點可以被成功剔除,從而得到正確匹配結果,這樣在處理時間上與原SIFT方法相比就更有優(yōu)勢.
通過實驗2可以看出:在未經(jīng)RANSAC算法進行處理前,如表3所示,根據(jù)得到的匹配結果計算得到的重疊度結果存在一定的錯誤,在多個統(tǒng)計區(qū)間都會得到計算結果;經(jīng)過RANSAC算法處理后,如表4所示,刪除了誤匹配點,利用正確的匹配點計算得到的重疊度結果趨于一致,都集中在61% ~70%,得到了正確的重疊度計算結果.
在表5的統(tǒng)計結果中,簡化SIFT所得到的結果是先經(jīng)過RANSAC算法進行過誤匹配點剔除的,原SIFT算法的匹配結果同樣也經(jīng)過了RANSAC算法進行處理.利用提純后的匹配結果對重疊度進行計算,簡化算法和原算法可以得到完全一致的計算結果.
通過與原SIFT算法計算時間進行對比,說明簡化的SIFT算法雖然在匹配成功率上較原SIFT算法有所下降,但處理時間有所減少,而且在結合RANSAC算法后,可以得到正確的匹配結果,與原SIFT算法的計算結果一致,這說明簡化的SIFT算法提高了影像重疊度計算的效率.由于序列影像重疊度計算對匹配點的精度要求并不高,所以簡化的SIFT很適合應用于重疊度計算,可以有效提高數(shù)據(jù)處理的效率.
本文首先介紹了一種簡化的SIFT方法,將該方法與原SIFT方法做出了對比;其次對無人機序列影像的重疊度分析方法做出了說明,并將簡化的SIFT算法結合RANSAC算法應用其中,通過實驗證明了可行性.
[1]孫家炳.遙感原理與應用[M].武漢:武漢大學出版社,2003:2-3.
[2]常慶瑞,蔣平安,周勇,等.遙感技術導論[M].北京:科學出版社,2004:10-11.
[3]王聰華.無人飛行器低空遙感影像數(shù)據(jù)處理方法[D].濟南:山東科技大學,2006:5-6.WANG Conghua.Image data processing methods of UAV low-altitude remote sensing[D].Jinan:Shandong University of Science and Tecnology,2006:5-6.
[4]LOWE D G.Object recognition from local scale-invariant features[C]//International Conference on Computer Vision.Corfu,1999:1150-1157.
[5]KOENDERINK JJ.The structure of images[J].Biological Cybernetics,1984,50:363-396.
[6]LINDEBERG T.Detecting salientblob-like image structures and their scales with a scale-space primal sketch:amethod for focus-of-attention[J].International Journal of Computer Vision,1993,11(3):283-318.
[7]BROWN M A.Multi-image matching using invariant features[D].Vancouver:The University of British Columbia,2005:16-17.
[8]FISHCHLER M A.Random sample consensus:a paradigm for model fitting with application to image analysis and automated cartography[J].Communication Association Machine,1981,24(6):381-395.
[9]李德仁,周月琴,金為銑.攝影測量與遙感概論[M].北京:測繪出版社,2003:12-14.
[10]王佩軍,徐亞明.攝影測量學[M].武漢:武漢大學出版社,2007:16-1.