王 妍 郭 浩 黃 超 安居白
(大連海事大學 遼寧 大連 116026)
SAR因具有全天時、全天候的優(yōu)點而被廣泛應(yīng)用于海冰漂移監(jiān)測研究,海冰漂移跟蹤的精度依賴短時間間隔圖像序列,由于同源SAR衛(wèi)星重訪時間普遍偏長,可以采用非同源SAR構(gòu)建短時間間隔圖像序列。由于非同源SAR之間波段、極化方式、入射角、噪聲水平等都存在差異,導致異源SAR圖像間往往會存在顯著灰度差異。海冰漂移跟蹤的實現(xiàn)依賴于圖像匹配,當目標的特征顯著性偏低,且存在顯著灰度差異時,會給圖像匹配帶來了極大的難度。近年來為了解決SAR圖像海冰匹配的種種問題,國內(nèi)外提出了各種解決方法。
目前圖像匹配多采用基于SIFT描述子的匹配算法[1]。但SIFT特征由于采用高斯濾波會不加甄別地去除重要的圖像細節(jié)和邊緣信息導致海冰特征顯著度進一步降低?;赟IFT改進的SURF算法在SAR圖像匹配中依然存在線性濾波所共有的細節(jié)和邊緣信息丟失問題[2]。Flora等[3]提出了一種SAR-SIFT算法。該算法對斑點噪聲具有魯棒性,不過當存在顯著灰度差異時匹配效果并不好。
針對線性空間濾波固有問題,Alcantarilla等[4]提出了一種基于非線性尺度空間的KAZE特征適用于特征顯著性低的目標的特征提取。Demchev等[5]在此基礎(chǔ)上提出了AKAZE特征描述符用于海冰漂移跟蹤領(lǐng)域。該算法采用非線性擴散濾波可以獲得更多有效的多尺度特征,但是對于灰度差異大的圖像缺乏適應(yīng)性。吳含前等[6-7]在AKAZE算法的基礎(chǔ)上,提出了LDB描述子,提高了灰度差異的適應(yīng)性,但對于灰度差異顯著的非同源SAR圖像匹配時,普遍存在匹配點少,且錯誤匹配點過多的問題[8]。
針對存在顯著性灰度差異的SAR圖像匹配問題,本文提出一種GLDB-AKAZE方法,考慮到LDB描述子對灰度差異適應(yīng)性的固有優(yōu)勢,以及GLOH描述子在匹配主方向判斷上的優(yōu)勢,本文將二者結(jié)合提出GLDB描述子。重點對Mikolajczyk等[9]提出的GLOH特征的關(guān)鍵點鄰接區(qū)域劃分方法進行了改進,由田字格劃分修改為八象限圓格劃分,使灰度差異下主方向計算更加準確。在特征點匹配階段,本文提出一種基于幾何對應(yīng)匹配和灰度差異對應(yīng)匹配的兩步匹配策略。通過實驗對比可以看出,本文算法獲取的圖像特征點匹配點個數(shù)增多,同時有效地抑制了正確的匹配點被剔除現(xiàn)象的發(fā)生,確保匹配精度。
表1列出了三對(共六景,其中1、2為數(shù)據(jù)集1;3、4為數(shù)據(jù)集2;5、6為數(shù)據(jù)集3。)非同源星載SAR海冰場景相關(guān)主要信息,表2列出了兩對(共四景,其中1、2為測試集1;3、4為測試集2。)同源星載SAR海冰場景相關(guān)主要信息。五組數(shù)據(jù)均為SAR海冰圖像都受到一定程度的相干斑噪聲影響,數(shù)據(jù)集1分辨率區(qū)別不大,光照區(qū)別較大,入射角度不同,且極化方式不同,其灰度有較大差異;數(shù)據(jù)集2分辨率區(qū)別較大,光照幾乎沒有區(qū)別,入射角度相似,但極化方式不同,其灰度有較小差異;數(shù)據(jù)集3分辨率沒有區(qū)別,入射角度相似,但光照區(qū)別較大,且極化方式不同,其灰度有較小差異;測試集1與測試集2為同源數(shù)據(jù)分辨率,入射角度、極化方式等幾乎沒有區(qū)別,但兩組圖像的光照都有很大區(qū)別,更適合研究基于灰度差異產(chǎn)生的匹配問題。在預處理階段,進行了幾何校正,5×5的增強Lee濾波去噪(本文分別使用3×3、5×5、7×7、9×9的增強Lee濾波進行去噪,實驗后發(fā)現(xiàn),7×7、9×9的增強Lee濾波去噪后,噪聲依然會匹配影響海冰有效匹配,3×3的增強Lee濾波去噪后模糊了部分邊緣信息丟失有效匹配點),為配合后續(xù)的實驗對比,對部分圖像進行灰度增強處理以及反色處理,并給測試集進行分辨率變換,并依次加椒鹽噪聲、斑點噪聲、高斯噪聲。
表1 非同源SAR海冰圖像信息
表2 非同源SAR海冰圖像信息(測試集
本文提出的GLDB-AKAZE算法主要思想基于AKAZE特征非線性濾波保持海冰的有效特征,然后利用GLDB描述子確定有效的特征主方向,最后通過兩步匹配策略完成配準。本文研究思路如圖1所示。
圖1 技術(shù)路線
考慮到SAR圖像的非顯著性,本文首先基于AKAZE特征非線性濾波最大程度地保留海冰的邊緣信息以及重要的圖像細節(jié)。式(1)為非線性擴散公式:
(1)
式中:div和▽分別是發(fā)散和梯度算子;L是圖像灰度;c表示電導率函數(shù),在本文使用Perona等提出的g2電導率函數(shù)。代碼如下:
int Create_Nonlinear_Scale_Space(const cv::Mat&1mg)
{
if(evolution.size()==0)
{
std::cout<<"--->Error generating the nonlinear scale space!!"< std::cout<<"--->Firstly you need to call KAZE::Allocate_Memory_Evolution()"< return -1; } img.convertTo(evolution[0].Lt,CV 32F,0.005,0.002); Gaussian_2D_Convolution(evolution[0].Lt,evolution[0].Lt,0,0,soffset); Gaussian_2D_Convolution(evolution[0].Lt,evolution[0].Lsmooth,0,0,sderivatives); //現(xiàn)在生成其余的進化等級 for(unsigned int i=1;i { evolution[i].sImg=cv::Mat::zeros(img_width,img_height,CV_32F); evolution[i].cImg=cv::Mat::zeros(img width,img height,CV 32F); Gaussian_2D_Convolution(evolution[i-1].Lt,evolution[i].Lsmooth,0,0, sderivatives); //計算高斯導數(shù)Lx和Ly Image_Derivatives_Scharr(evolution[i].Lsmooth, evolution[i].Lx,1,0); Image_Derivatives_Scharr(evolution[i].Lsmooth,evolution[i].Ly,θ,1); TV Diffusivity(evolution[i].Lsmooth,evolution[i].Lflow,evolution[i].Lx,evolution[i].Ly); //與AOS一起執(zhí)行擴散步驟 AOS_Step_Scalar(evolution[i].t,evolution[i-1].Lt, evolution[i].Lflow,evolution[i].etime evolution[i-1].etime); } return 0; } 從實驗結(jié)果可知,直接將AKAZE算法應(yīng)用于顯著灰度差異的SAR圖像匹配中存在如下問題: (1) 特征點數(shù)量減少,匹配點數(shù)量低。 (2) 匹配點分布過于集中。 (3) 存在大量主方向計算錯誤。 針對直接使用AKAZE算法帶來的問題,本文提出一種新的特征描述符GLDB。該描述符結(jié)合了LDB與GLOH的優(yōu)勢。LDB描述子是一種二值描述子[10],它不僅利用圖像的灰度信息,而且引入了圖像的一階梯度信息,能獲得較高的差異性。GLOH描述子則增加了特征描述子的魯棒性和獨特性。 如圖2所示,LDB使用2個網(wǎng)格內(nèi)的平均灰度以及水平和垂直方向的一階梯度信息來區(qū)分3個圖像塊。加入梯度信息使差異性增強,從而使得配準時會對灰度變化更加敏感,但容易導致主方向錯誤。如圖3所示,本文將海冰SAR圖像劃分為5×5的網(wǎng)格,通過LDB獲得每個圖像塊內(nèi)關(guān)鍵點位置周圍圖像網(wǎng)格的平均灰度和一階梯度。 圖2 3個不同灰度分布的圖像塊的圖例 圖3 使用LDB描述子的灰度分析實例 針對主方向提取問題,本文重點設(shè)計提出八象限圓格劃分提取方法,如圖4所示,將八象限圓格劃分用于關(guān)鍵點特征描述及主方向計算。選用極坐標同心圓,其半徑依次設(shè)為6、11、15。角度方向按照每等分π/4分成8等分,一共形成17個圖像子塊。本文對GLOH進行簡化,在生成梯度直方圖時,只分8個方向,這樣特征向量的維數(shù)為17×8=136,免去了降維環(huán)節(jié),減少對樣本圖像的依賴性。進而有效保證了主方向的提取精度,具體操作過程如下: 1) 通過GLDB描述符可以獲取8個不同方向梯度直方圖,并獲得不同角度下的圖像塊內(nèi)部平均灰度和一階梯度,從而解決了單一使用LDB算法而產(chǎn)生的有關(guān)旋轉(zhuǎn)不變性的問題。 2) 針對17個圖像塊進行步驟1)操作,從而對噪聲有更強的魯棒性。 3) 獲取17個圖像塊中8個方向共計136個方向信息,最終形成本文提出的GLDB描述符。需要指出,由于原始的LDB描述符參數(shù)使用笛卡爾坐標,而GLOH描述符參數(shù)使用極坐標,在進行結(jié)合時通過將圖像映射到極指數(shù)空間的方式將笛卡爾坐標轉(zhuǎn)換為極坐標(代碼如下),進而將通過LDB描述符得到的平均強度和一階梯度轉(zhuǎn)換成8個角度中x軸和y軸上不同的偏移。 pl.dis=sqrt(xypos.x*xypos.x+xypos.y*xypos.y);pl.ang=atan2(xypos.y,xypos.x); 4) 對相鄰區(qū)域塊進行兩兩測試,以判斷是否存在灰度差異變化,公式如下: (2) 式中:Fi∈{Iavg(i),dx(i),dy(i)},Iavg為圖像塊的平均灰度,dx、dy分別為一階梯度信息。 圖4 GLOH描述子的區(qū)域劃分 基于GLDB的AKAZE算法與SIFT算法和AKAZE算法對比如表3所示。從中看出本文方法得到了更多的匹配點并且匹配正確率有了大幅度提升。如表4所示,對于存在顯著灰度差異的圖像,使用GLDB描述子后能獲得較多的待匹配點,但進行RANSAC錯誤點剔除時發(fā)現(xiàn)部分正確匹配點也被剔除,導致特征匹配點偏少。 表3 對數(shù)據(jù)集1原圖的初始匹配結(jié)果 表4 對數(shù)據(jù)集1反色圖像的初始匹配結(jié)果 在特征匹配階段,針對RANSAC[11]的固有錯誤,本文提出一種基于幾何對應(yīng)匹配和灰度差異對應(yīng)匹配的兩步匹配策略。 2.3.1幾何對應(yīng)匹配 本文在初始匹配階段沒有考慮圖像之間的幾何關(guān)系,在匹配階段本文使用幾何約束來選擇幾個候選點,采用M-NCC[12]方法進行匹配。首先選擇一個參考圖像中的矩形窗口將其對應(yīng)于匹配圖像,使用初始匹配獲得的對應(yīng)性,然后使用雙線性將不規(guī)則四邊形重新采樣到與矩形窗口相同大小插值,具體步驟如下: 1) 選擇參考圖像上的特征點,這些特征點在初始匹配中被剔除,預測輸入圖片上的對應(yīng)位置。如圖5所示,其中:P是被匹配的點;P′是與之對應(yīng)的匹配點,由于匹配H可能出現(xiàn)偏移,P′可能不是正確匹配點,因此我們保留距離P點小于n像素的所有點,將其作為數(shù)組{Q1,Q2,…,Qn},計算所有可能點與P之間的M-NCC。 圖5 幾何對應(yīng)匹配(圓圈內(nèi)標記的點為距離P在N像素內(nèi)的點) 2) 使用新匹配和初始匹配重新計算單應(yīng)矩陣,通過計算RMSE進行錯誤匹配剔除。 3) 將保留的匹配和單應(yīng)矩陣作為輸入,重復步驟1)和步驟2),直到正確匹配的數(shù)量不再改變。 2.3.2灰度差異對應(yīng)匹配 針對本文提出的顯著灰度差異問題,本文提出一種基于灰度差值的匹配方法,上述幾何對應(yīng)匹配為了保證正確率,使用了過于嚴格的參數(shù)控制,消除了一些正確的匹配,可能出現(xiàn)正確匹配點已經(jīng)接近相應(yīng)點但未被提取的情況,所以將對其進行補充,提高正確率。具體步驟如下: 1) 選擇可能正確匹配的特征點,并找到其候選匹配點。對經(jīng)初始匹配以及幾何對應(yīng)匹配后剔除的點,根據(jù)圖像像素以及分辨率等因素通過實驗設(shè)定一個新的灰度差值閾值,進行下一次匹配。 2) 以候選點為中心,周圍3×3(5×5、7×7均未產(chǎn)生新的有效匹配點)個特征點的灰度值為一個矩陣,計算每一個點與中心特征點的灰度差絕對值。這使得我們關(guān)注的是灰度的變化,而不是灰度值的增加或者減少。 3) 通過計算矩陣每個方向的期望值,確定其相關(guān)性。根據(jù)RMSE執(zhí)行錯誤匹配剔除。如果RMSE大于1個像素,我們逐個消除誤差最大的點,直到RMSE小于1個像素。之后,計算水平和垂直方向的均方誤差。如果一個點的水平誤差大于1個像素,或者垂直誤差大于1個像素,則該點被刪除。 本文針對非同源SAR海冰圖像匹配時會遇到的三個問題進行驗證與比較。實驗運行在Windows 7系統(tǒng)上,采用英特爾酷睿i7- 6700處理器,主頻為3.40 kHz,內(nèi)存為4 GB,采用Visual Studio 2013和opencv2.4.10進行編程模擬實驗。 本文利用數(shù)據(jù)集1圖像進行實驗,并使用數(shù)據(jù)集2和數(shù)據(jù)集3圖像進行驗證。為了驗證本文提出的GLDB-AKAZE算法的有效性,將實驗結(jié)果分別與SIFT算法和AKAZE算法進行對比。原SIFT算法與AKAZE算法均有匹配點分布過于集中的問題,如圖6所示,AKAZE算法匹配點更集中于圖像中顯著性較強的部分,對周圍相對不夠明顯的區(qū)域缺少匹配點。 圖6 AKAZE算法對數(shù)據(jù)集1的原圖匹配結(jié)果 如圖7和圖8所示,使用GLDB-AKAZE算法進行匹配時,除了對顯著性較強的中間厚冰部分可以進行很好的匹配以外,對旁邊部分不太明顯的薄冰區(qū)域也可以進行很好的匹配,在一定程度上解決了匹配點分布過于集中的問題。本文對3個數(shù)據(jù)集原圖以及灰度增強后的圖像分別進行實驗,其中數(shù)據(jù)集1的圖像尤為明顯,雖然正確匹配點依然集中在厚冰區(qū)域,但是薄冰區(qū)也存在很多正確匹配點。 圖7 GLDB-AKAZE算法對數(shù)據(jù)集1的原圖匹配結(jié)果 圖8 GLDB-AKAZE算法對數(shù)據(jù)集1的原圖和灰度處理圖像匹配 如表5及表6所示,本文將匹配圖像等分,統(tǒng)計每小格正確匹配點數(shù),可以看出GLDB-AKAZE算法匹配的特征點分布更為均勻,對圖像中每個網(wǎng)格內(nèi)的特征點都可以有效匹配。 表5 基于GLDB-AKAZE算法對數(shù)據(jù)集1的原圖進行3×3等分后各區(qū)域正確匹配點統(tǒng)計 表6 基于GLDB-AKAZE算法對數(shù)據(jù)集1的灰度增強圖進行3×3等分后各區(qū)域正確匹配點統(tǒng)計 為了對GLDB-AKAZE算法的灰度適應(yīng)性進行深度探究,在原圖像的基礎(chǔ)上,本文對3組數(shù)據(jù)分別進行灰度增強處理以及顯著性灰度差異變化(反色)處理。如圖9所示,實驗發(fā)現(xiàn)灰度增強后的結(jié)果三種方法均沒有明顯變化,具體情況如下: 1) 數(shù)據(jù)集1灰度增強后,信息增多,但無效信息如噪聲也被增強因此匹配點數(shù)量增多,正確率降低。 2) 數(shù)據(jù)集2灰度增強后喪失了部分信息,匹配點數(shù)量有小幅度地減少,正確率少量降低。 3) 數(shù)據(jù)集3灰度增強后信息增多,且多為有效信息,因此匹配點數(shù)量增多,正確率也有所提高。 (a) 原圖和灰度增強圖(數(shù)據(jù)集1) 針對顯著性灰度差異圖像的匹配,SIFT算法和AKAZE算法均無法進行匹配,如圖10所示。但是改進后的GLDB-AKAZE算法,可以進行匹配,如圖11所示。 圖10 AKAZE算法對數(shù)據(jù)集1的原圖和反色圖像匹配 (a) 原圖和反色圖(數(shù)據(jù)集1) 對于特征點變少以及顯著灰度差異圖像無法匹配等問題,本文分別給出三個數(shù)據(jù)集使用三種算法的兩幅待匹配圖像的特征點個數(shù),匹配點個數(shù)與正確點匹配個數(shù)以及正確率如表7-表9所示。 表7 針對數(shù)據(jù)集1的匹配結(jié)果及分析 表8 針對數(shù)據(jù)集2的匹配結(jié)果及分析 表9 針對數(shù)據(jù)集3的匹配結(jié)果及分析 1) SIFT算法雖然可以得到大量的匹配點,但是大多數(shù)匹配點被噪聲干擾,導致其無法直接應(yīng)用于非同源SAR圖像的匹配問題中。 2) AKAZE算法利用了非線性濾波不會均勻無差別的平滑細節(jié)和噪聲,保留了圖片中更多的有效信息,得到了更多有效的特征點并完成匹配,但特征點數(shù)量較少。 3) GLDB-AKAZE算法得到了更多的匹配點,并且有較高的準確率。 對比表7-表9,同SIFT算法一樣,直接使用AKAZE算法無法適應(yīng)圖片可能會有的顯著灰度差異的問題。而本文提出的GLDB-AKAZE算法得到了更多的特征點與匹配點,并且準確率也有所提升,尤其對于顯著的灰度差異圖像也依然適用。如三組對比實驗結(jié)果,對數(shù)據(jù)集3的實驗中,GLDB-AKAZE算法的準確率對于原圖像和對比度輕微變化的兩幅非同源SAR圖像在分辨率相同的情況下可以達到90%以上,而對數(shù)據(jù)集2這種邊緣信息非常明顯且有效信息更多的圖像,即便分辨率有區(qū)別但準確率依然可以達到95%以上,即便數(shù)據(jù)集1數(shù)據(jù)分辨率高,獲取錯誤信息增多且有一定的分辨率區(qū)別,但是準確率依然可以達到70%以上。 對顯著的灰度差異圖像的極端情況,本文選用反色圖像作為例子進行實驗,也發(fā)現(xiàn)SIFT算法與AKAZE算法準確率幾乎為0,而本文提出的GLDB-AKAZE算法準確率可達50%左右。 為了驗證算法普遍性,本文給出兩組測試數(shù)據(jù)集同源海冰SAR圖像分辨率變換處理后的圖像,如圖12所示,然后依次加椒鹽噪聲、斑點噪聲、高斯噪聲,配準結(jié)果如表10和表11所示。 處理后8 m分辨率數(shù)據(jù) 100 m分辨率數(shù)據(jù)(a) 測試集1 表10 針對測試集1的匹配結(jié)果及分析 表11 針對測試集2的匹配結(jié)果及分析 實驗過程中,分別加椒鹽噪聲0.1、0.3、0.5;斑點噪聲0.1、0.3、0.5;高斯噪聲0.1、0.3、0.5。表10和表11顯示有效匹配最好的為椒鹽0.1,斑點0.1,高斯0.3。 SAR圖像中普遍存在相干斑噪聲,其成像目標顯著度偏低。當圖像對之間存在比較顯著的灰度差異時,采用傳統(tǒng)圖像匹配方法通常會出現(xiàn)無效特征點過多及正確匹配點少等問題。針對存在顯著性灰度差異的圖像匹配問題,本文提出一種GLDB-AKAZE方法,具體成果如下: 1) 提出一種新的特征描述符GLDB,進行初始特征點的提取。GLDB描述符首先利用了LDB描述子對圖像灰度信息的差異性進行描述,然后對關(guān)鍵點鄰接區(qū)域劃分方法進行了改進,由田字格劃分改為八象限圓格劃分,使之更適應(yīng)匹配圖像的灰度變化,并保證了主方向計算的精度。 2) 在特征點匹配階段,提出的兩步再匹配策略。針對灰度問題提出一種基于幾何對應(yīng)匹配和灰度差異對應(yīng)匹配相結(jié)合的兩步匹配策略。 3) 通過與SIFT、SURF和AKAZE等算法進行比較,得出本文算法獲取的圖像特征點匹配點個數(shù)增多,同時有效地抑制了正確的匹配點被剔除現(xiàn)象的發(fā)生,確保匹配點的數(shù)量及匹配的準確率。 在后續(xù)研究中,試圖將本文研究的非同源海冰特征匹配算法應(yīng)用于海冰的追蹤問題中,因為海冰漂移可能造成巨大的經(jīng)濟損失,其中最為人知曉的案例就是鐵達尼號的沉沒,因此對海冰運動進行跟蹤及監(jiān)測非常具有實際意義。在主要由海冰覆蓋的地區(qū)幾乎沒有地面站點,所以遙感衛(wèi)星成為了觀察大范圍海冰的最重要的工具,并且常被用來進行海冰運動跟蹤監(jiān)測。目前海冰漂移跟蹤常用的數(shù)據(jù)為同源數(shù)據(jù),這樣非常具有局限性,同一衛(wèi)星的重訪時間長,最少也需要1天,時間分辨率低。在較長的時間間隔內(nèi),會有很多有效的特征和速度場丟失。但本文提出的非同源數(shù)據(jù)使用多顆衛(wèi)星進行觀察,這樣同地區(qū)短時間隔的特征和速度場更容易獲得,將會提高海冰漂移跟蹤的準確率。而在追蹤過程中,由于光照、入射角等問題,經(jīng)常會得到有顯著灰度差異的圖像,所以后續(xù)將會試圖將本文算法應(yīng)用于海冰漂移跟蹤。2.2 GLDB描述子
2.3 兩步再匹配策略
3 實驗結(jié)果及分析
3.1 匹配點分布過于集中的問題
3.2 顯著性灰度差異圖像匹配效果比較
3.3 匹配點整體偏少問題
3.4 測試集匹配結(jié)果分析
4 結(jié) 語