本發明屬于目標定位技術領域,特別涉及了一種基于圖像匹配的目標快速精確定位方法。
背景技術:
偵察機、導彈、無人機等在執行任務時,需要精確定位重要目標,目標定位的精度和效率直接決定任務的成敗。現有的目標定位方式大多采取幾何式定位方式和圖像匹配定位方式。幾何式定位精度受飛行器自身導航系統及幾何量測信息的精度影響,導致目標定位誤差較大。圖像匹配定位通過將飛行器拍攝目標得到的實測圖像與機載參考圖像進行匹配獲取目標點的精確位置信息。隨著圖像匹配技術的深入研究,開展利用快速圖像匹配輔助目標進行快速精確定位對目標快速精確定位發展具有重要意義。
目前,國內外基于特征的快速圖像匹配算法研究比較多,如在2004年davidg.lowe提出sift算法,sift算法的優點為對圖像尺度不同、亮度不同和旋轉不同的圖像拼接效果較好以及抗噪聲能力強的特點,成為了應用范圍普遍的流行算法。2006年herbertbay等提出surf算法,這種算法提取的特征具有平移、縮放、旋轉的不變性,并且對光照、仿射及投影差異也有相對較好的魯棒性。隨著對特征點匹配速度的要求提高,2011年ethanrublee在文獻中提出orb算法,2012年alexandrealahi等人在文獻中提出freak算法。freak算法模擬人類視網膜的成像特性來進行采樣點的設置和對應點對的選擇,利用掃視搜索進行特征向量的匹配,是一種二進制描述子,具有穩定的性能,相對于sift、surf算法更具魯棒性,并且計算過程要遠快過這二者,但是它不具備尺度不變性,在圖像間場景存在大小尺度差異的狀況下,圖像間特征點的匹配對的準確度較低。
技術實現要素:
為了解決上述背景技術提出的技術問題,本發明旨在提供一種基于圖像匹配的目標快速精確定位方法,利用快速目標提取算法、快速圖像匹配算法和目標高精度定位算法對目標進行快速精確定位,提高目標定位的實時性和精確度。
為了實現上述技術目的,本發明的技術方案為:
一種基于圖像匹配的目標快速精確定位方法,包括以下步驟:
(1)采用fast算法對目標實測圖像進行特征點檢測;
(2)采用freak算法對步驟(1)獲取的特征點進行描述和匹配;
(3)采用ransac算法對步驟(2)得到的匹配結果進行處理,剔除誤匹配點,提取目標有效像素;
(4)采用surf算法分別對提取目標后的實測圖像和參考圖像進行特征點檢測;
(5)采用freak算法對步驟(4)獲取的特征點進行描述和匹配;
(6)采用ransac算法對步驟(5)得到的匹配結果進行處理,剔除誤匹配點,計算單應性矩陣;
(7)根據步驟(3)提取出的目標有效像素和步驟(6)計算的單應性矩陣,獲取目標點在參考圖像中的精確位置。
進一步地,步驟(1)的過程為,定義一圓形區域,以目標實測圖像中的任意一點為該圓形區域的圓心p,將圓心p處的灰度值分別與鄰域內16個像素點的灰度值進行比較:
|m-pi|>δd,1≤i≤16
上式中,m為圓心p處的灰度值,pi為p點鄰域內第i個點的灰度值,δd為預設閾值;若滿足上式的p點鄰域內的像素點個數大于n,則將p點視為特征點,n為預設值。
進一步地,步驟(2)的具體步驟如下:
a、采用freak算法對特征點進行描述:
上式中,f為特征點的freak描述符,n為特征向量數,
b、對特征點的freak描述符進行降維:
b1、建立矩陣d,矩陣d每行代表一個freak描述符;
b2、計算矩陣d每一列的方差,首先將方差值最大的一列保存到矩陣d’中,然后計算其他列與該方差值最大列的協方差,再將協方差值最小的一列保存到矩陣d’中;
b3、將保留的兩列從矩陣d中刪除,然后返回步驟b2,直至矩陣d’的維度達到預設維度;
c、計算特征點的方向:
上式中,g為特征點的采樣點對集合,m為g中采樣點對數,po為g中的一個點對,
d、根據特征點的freak描述符和特征點方向進行特征匹配。
進一步地,步驟(3)的具體步驟如下:
a、從匹配點集合s中隨機選擇s個特征點;
b、利用s個匹配點擬合出一個模型q;
c、對于集合s中剩余的匹配點,計算每個匹配點與模型q的距離,距離超過閾值的特征點視為局外點,距離未超過閾值的特征點視為局內點;
d、將上述步驟迭代k次后,將包含局內點數目最多的模型qk作為擬合結果;
e、將集合s中不滿足模型qk的匹配點剔除,從而提取出目標有效像素。
進一步地,步驟(4)的具體步驟如下:
ⅰ、設i(x,y)表示圖像,x表示圖像中某一點,尺度為σ的hessian矩陣:
上式中,
ⅱ、用框狀濾波器與圖像i(x,y)的卷積dxx、dxy、dyy代替lxx、lxy、lyy,得到hessian矩陣的近似矩陣happrox,計算矩陣happrox的行列式:
det(happrox)=dxxdyy-(ωdxy)2
上式中,ω是為補償近似所產生的誤差而設定的權重系數;
ⅲ、將矩陣happrox的行列式最大的像素點作為特征點;
ⅳ、計算特征點的主方向:
以特征點為中心,計算半徑為6σ的鄰域內的點在x、y方向的haar小波響應,haar小波邊長取4σ,對x、y方向的響應值進行因子為2σ的高斯加權,得到水平和垂直方向上的方向分量dx、dy;然后,以特征點為中心,張角為π/3的扇形滑動,計算扇形窗口w內的dx、dy的累加值:
將mw最大對應的扇形窗口w的θw作為特征點的主方向:
進一步地,在步驟(6)中,計算單應性矩陣的步驟:
ⅰ、設單應性矩陣h的內部參數:
則:
其中,x'、y'、z'=1和x、y、z=1分別為兩幅圖像上的像素點;
ⅱ、隨機選擇4對匹配點估計h中的8個參數:
iii、重復步驟ⅱ,得到若干矩陣h,將所有特征點代入下式,將滿足下式的特征點數最多所對應的矩陣h作為最終的單應性矩陣:
上式中,t為預設閾值。
采用上述技術方案帶來的有益效果:
本發明采用fast特征檢測結合freak特征描述的方式,能夠快速地對目標實測圖像序列進行匹配,采用ransac算法能夠對匹配得到的特征點進行有效的錯誤剔除,從而精確提取出待定位目標;采用surf特征檢測結合freak特征描述的方式,能夠快速地對大視角下的目標實測圖像和機載參考圖像進行匹配,采用ransac算法能夠獲取目標實測圖像與機載參考圖像之間的單應性矩陣,最后結合目標提取結果,在機載參考圖像中精確定位目標。
本發明能夠極大地減小目標定位誤差,同時,本發明能夠極大地提升目標定位的速度和效率,滿足目標定位的實時性要求和高精度要求。
附圖說明
圖1是本發明的整體流程圖;
圖2是本發明中快速目標提取算法的流程圖;
圖3是本發明中快速圖像匹配算法的流程圖;
圖4是本發明中目標高精度定位算法的流程圖。
具體實施方式
以下將結合附圖,對本發明的技術方案進行詳細說明。
一種基于圖像匹配的目標快速精確定位方法,如圖1所示,包括三個部分:快速目標提取算法、快速圖像匹配算法和目標高精度定位算法。
(一)快速目標提取算法(如圖2所示)
(1)采用fast算法對目標實測圖像進行特征點檢測
定義一圓形區域,以目標實測圖像中的任意一點為該圓形區域的圓心p,將圓心p處的灰度值分別與鄰域內16個像素點的灰度值進行比較:
|m-pi|>δd,1≤i≤16
上式中,m為圓心p處的灰度值,pi為p點鄰域內第i個點的灰度值,δd為預設閾值;若滿足上式的p點鄰域內的像素點個數大于n,則將p點視為特征點,n為預設值。在本實施例中,n=9。
(2)采用freak(fastretinakeypoint,快速視網膜關鍵點)算法對步驟
(1)獲取的特征點進行描述和匹配
freak描述符采樣點的分布與視網膜感受域的結構相似,特征點的位置為中心點,采樣點分布在特征點為圓心的多層同心圓上,且每層同心圓上的采樣點妘分布,每個采樣點又作為其他圓的圓心。與中心特征點間隔越小,采樣點越密集;與中心特征點間隔越大,采樣點越零散。層數越多,特征向量描述能力越強,計算量越大。
每個采樣點需要進行高斯平滑以去除噪聲,周圍圓的半徑代表高斯核函數的半徑。freak描述符的形成是通過采樣點對的強度比較結果級聯組成,屬于二進制比特串。設f是某特征點的freak描述符,則:
上式中,n為特征向量數,
為了保證算法的實用性,在圖像匹配中需要針對信息量較大的維度實行保留,細節信息不會嚴重影響圖像匹配的效果。通過以下步驟從圖像數據中篩選高信息量的維度:
a、建立矩陣d,矩陣d每行代表一個freak描述符;
b、計算矩陣d每一列的方差,首先將方差值最大的一列保存到矩陣d’中,然后計算其他列與該方差值最大列的協方差,再將協方差值最小的一列保存到矩陣d’中;
c、將保留的兩列從矩陣d中刪除,然后返回步驟b,直至矩陣d’的維度達到預設維度。
計算特征點的方向:
上式中,g為特征點的采樣點對集合,m為g中采樣點對數,po為g中的一個點對,
(3)采用ransac算法對步驟(2)得到的匹配結果進行處理,剔除誤匹配點,提取目標有效像素
ransac(randomsampleconsensus)算法,又稱隨機抽樣一致算法,是一種有效去除噪聲影響,估計模型的方法。具體步驟如下。
a、從匹配點集合s中隨機選擇s個特征點;
b、利用s個匹配點擬合出一個模型q;
c、對于集合s中剩余的匹配點,計算每個匹配點與模型q的距離,距離超過閾值的特征點視為局外點outliers,距離未超過閾值的特征點視為局內點inliers;
d、將上述步驟迭代k次后,將包含局內點數目最多的模型qk作為擬合結果;
e、將集合s中不滿足模型qk的匹配點剔除,從而提取出目標有效像素。
集合s中的特征點數目通常較大,從中任選s個數據點的組合會很大,導致上面操作的運算量較大。通常情況下,只要保證模型估計需要的s個點都是局內點的概率足夠高即可。因此設α為集合s中inliers的比例,z為進行k次選取后,至少有一次選取的s個點都是inliers的概率。則有:
z=1-(1-αs)k
其中,1-αs表示一次選取都不是inliers的概率,(1-αs)k表示k次選取中沒有一次都是inliers的概率,則有:
k=log(1-z)/log(1-αs)
這里z一般要求滿足大于95%即可。
(二)快速圖像匹配算法(如圖3所示)
(1)采用surf(speededuprobustfeature,快速魯棒特征)算法分別對提取目標后的實測圖像和參考圖像進行特征點檢測
surf算法是對sift算法的一種改進,主要是在算法的執行效率上,比sift算法來講運行更快,作為sift算法的加速版,surf算法在適中的條件下完成兩幅圖像中物體的匹配基本實現了實時處理,其快速的基礎為積分圖像haar求導。
hessian矩陣是surf算法的核心,為了方便運算,假設函數f(x,y),hessian矩陣h是由函數f(x,y)偏導數組成:
h矩陣判別式為:
判別式的值是矩陣h的特征值,可以利用判定結果的符號將所有點分類,根據判別式取值正負,來判別該點是或不是極值點。在surf算法中,針對圖像i(x,y)中一個像素點x(x,y),位于x處的σ尺度上對應的hessian矩陣表達式為:
上式中,
高斯函數常用來做尺度空間的計算,但實際運算中,必須將其離散化并做裁剪,這就改變了復雜的模板,得到僅需若干矩形方塊形成的模板。鑒于lowe在用dog近似log時獲得的成功,bay等提出將這種近似更擴展一步,直接用框狀濾波器近似高斯的二階偏導。用簡化后近似的模板處理積分圖像時,由于是簡單矩形代替了復雜的偏導,運算量與模板的尺寸不相互影響,這就很大程度上減少了運算時間,提高了效率。經過實驗表明這種框狀濾波的近似并沒有降低卷積模板的性能。將上述改變后的模板與圖像卷積結果用dxx、dxy、dyy代換lxx、lxy、lyy可得近似hessian矩陣happrox的行列式方法:
det(happrox)=dxxdyy-(ωdxy)2
其中,ω為權重系數,主要用來平衡近似誤差,在本實施例中取0.9。根據上式計算原圖像x點的響應值,再將對應全部的像素點進行逐個處理,就能夠獲得相應σ上的響應結果。
surf算法引入了框狀濾波模板和積分圖像的概念,用不同大小的模板同原始圖像在不同方向上做卷積,從而多尺度空間構建完成。尺度空間的最底層由9×9的模板濾波輸入得到,對應二階高斯濾波σ=1.2,此時近似模板的尺度s=σ=1.2。尺度空間的首層是最初始尺度的近似模板同圖像做卷積計算結果而來,同理,使用調整尺寸的方式保持模板慢慢增大,之后的尺度層就是在這種情況下用每個尺寸同目標卷積便可形成。每兩個距離最近的模板尺寸之差都固定為偶數個像素,從而保證了模板尺寸的奇數性和其中心像素的存在。每4個模板為1階(octave)。每1階要進行4次濾波,第1階中相鄰的模板尺寸相差6個像素,上1階第2次濾波模板的大小將作為下1階最初濾波模板的大小,在第2階中后1階濾波模板較前1階的大小總是增大12,同理第3層每次增加24,以此類推,一般取4階數就足夠了。surf算法對于每1個像素點的非極大值抑制要在3×3×3的三維立體空間中進行,與該點上1個尺度對應的9個點、下1個尺度層對應的9個點以及自身周圍鄰域8個點共26個點比較,只有在達到最大或最小的條件下才選擇為特征點,極大值被選定后,采用三維線性插值法得到亞像素級的特征點,同時也去除那些值小于一定閾值的點,最終確定特征點的位置及尺度。
以特征點為中心,計算半徑為6σ(σ為特征點所在的尺度值)的鄰域內的點在x、y方向的haar小波(haar小波邊長取4σ)響應,計算出圖像在haar小波的x和y方向上的響應值之后,對兩個值進行因子為2σ的高斯加權,加權后的值分別表示在水平和垂直方向上的方向分量dx、dy。harr特征值反應了圖像灰度變化的情況,那么這個主方向就是描述那些灰度變化特別劇烈的區域方向。接著,以特征點為中心,張角為π/3的扇形滑動,計算窗口w內的harr小波響應值dx、dy的累加值:
將mw最大對應的扇形窗口w的θw作為特征點的主方向:
(2)采用freak算法對獲取的特征點進行描述和匹配
該步驟余上文(一)中的步驟(2)一致,此處不再贅述。
(3)采用ransac算法對匹配結果進行處理,剔除誤匹配點,計算單應性矩陣
設單應性矩陣h的內部參數:
則:
其中,x'、y'、z'=1和x、y、z=1分別為兩幅圖像上的像素點;
隨機選擇4對匹配點估計h中的8個參數:
多次選擇匹配點,得到若干矩陣h,將所有特征點代入下式,將滿足下式的特征點數最多所對應的矩陣h作為最終的單應性矩陣:
上式中,t為預設閾值。
(三)目標高精度定位算法(如圖4所示)
設提取的目標有效像素為p(x,y),目標實測圖像與機載參考圖像之間匹配后利用ransac算法計算得到的像素點對應單應性矩陣為h,則目標在參考圖中對應的像素坐標為:
q(x,y)=h·p(x,y)
式中,q(x,y)為由目標有效像素經單應性矩陣映射得到的在參考圖中的像素坐標,利用該像素坐標即可對目標進行精確定位。
實施例僅為說明本發明的技術思想,不能以此限定本發明的保護范圍,凡是按照本發明提出的技術思想,在技術方案基礎上所做的任何改動,均落入本發明保護范圍之內。