李忠勤, 宋虎虎, 周海超
(黑龍江科技大學(xué) 電氣與控制工程學(xué)院, 哈爾濱 150022)
特征點(diǎn)提取一直是圖像特征匹配研究領(lǐng)域的重點(diǎn),而Surf算法是圖像特征點(diǎn)提取的常見方法之一。毛克樂[1]提出一種基于改進(jìn)Surf和Delaunay三角剖分圖像匹配算法,解決了Surf引起的顏色成分信息丟失和特征點(diǎn)過于密集問題。吳清輝[2]利用DAISY算法生成的描述子替代Surf算法中描述子的方法提高了模板匹配算法精度與實時性。徐瑞瑞等[3]提出了SurfGPU算法,其像元精度提取準(zhǔn)確率比Surf算法提高了7%。徐啟文等[4]提出一種動態(tài)閾值的方法,通過縮小特征點(diǎn)提取區(qū)域的方法實現(xiàn)特征匹配。戴雪梅等[5]給出一種結(jié)合ORB與Surf的SURF-ORB算法,實現(xiàn)了特征點(diǎn)匹配速度快和準(zhǔn)確率高的效果。劉強(qiáng)[6]指出一種長距離特征點(diǎn)拼接提取算法,提高了邊緣檢測效率。黃易豪等[7]采用Gabor濾波與對比度受限的自適應(yīng)直方圖均衡算法相結(jié)合,以增強(qiáng)圖像與分割圖像,提升了特征點(diǎn)的識別率。羅興潮等[8]提出用RANSAC算法篩選匹配點(diǎn),使Surf特征點(diǎn)匹配具有較高的精度與計算效率。彭明君等[9]采用局部差異二值(LDB)描述子描述特征點(diǎn)區(qū)域,有效提高了特征點(diǎn)提取效率,以及圖像拼接的快速性和成功率。
基于上述分析,對于邊緣光滑物體的圖像,Surf算法提取特征點(diǎn)能力較弱,學(xué)者們并沒有給出很好的解決方法??紤]到區(qū)域生長算法具有分割圖像特征區(qū)域的能力,筆者擬結(jié)合區(qū)域生長算法與Surf算法,即Surf-RGA算法,用于圖像特征點(diǎn)提取,以提取籃球表面LOGO及線條等特征點(diǎn)為例,借助Matlab軟件實現(xiàn)圖像仿真實驗,驗證所提方法的正確性及可行性。
區(qū)域生長算法是一種將性質(zhì)接近的像素點(diǎn)集聚在一起的圖像分割方法[10]。文中選取了常見的斯伯丁籃球,籃球表面具有邊緣光滑的特點(diǎn),可滿足仿真實驗條件。
傳統(tǒng)區(qū)域生長算法是通過鼠標(biāo)手動選取種子點(diǎn),由于完全依賴實驗人員主觀意愿選擇,致使種子點(diǎn)的選取具有主觀性,圖像分割效果較差;同時,手動選取種子點(diǎn)費(fèi)時費(fèi)力,圖像分割效果較差,不連通區(qū)域無法被分割出來[11],如圖1所示。
圖1 分割較差圖像Fig. 1 Poorly segmented images
基于此,對區(qū)域生長算法進(jìn)行改進(jìn),采用局部平均值判斷法,將預(yù)處理后的整個圖像分成 3×3矩陣形式,產(chǎn)生9個區(qū)域。最后,計算每個矩陣區(qū)域內(nèi)像素點(diǎn)的平均值Q,并選取均值最大的矩陣J。
Qi=xi/9,i=1,2,…,9,
J=max{Qi},i=1,2,…,9,
式中:xi——第i個區(qū)域像素點(diǎn)值;
Qi——第i個區(qū)域像素點(diǎn)平均值;
J——均值最大的矩陣。
將矩陣J作為中心點(diǎn),由此開始向鄰域生長,該方法便可實現(xiàn)種子點(diǎn)自動選取,獲得效果較好的分割圖像,如圖2所示。
圖2 分割較好圖像Fig. 2 Well segmented image
Surf算法是對兩組圖像進(jìn)行特征點(diǎn)描述與匹配的方法[12],其算法穩(wěn)定性較好且運(yùn)算快,算法流程如圖3所示。
圖3 Surf算法流程Fig. 3 Surf algorithm flow
(1)
將式(1)寫成矩陣形式,即
且
f(X)=f(X(0))+?f(X(0))TΔX+
(2)
因此,
G(X(0))即為f(x1,x2)在X(0)點(diǎn)處的Hessian矩陣,運(yùn)用Surf算法處理一個圖像f(x,y)時,其Hessian矩陣為
為驗證Surf-RGA算法可行性,在Matlab 2019a軟件平臺下進(jìn)行仿真實驗,仿真過程見圖4。
圖4 實驗仿真流程Fig. 4 Experimental simulation process
為使實驗圖像具有說服性,選擇兩種不同色彩且圖標(biāo)位置不同的籃球圖像,如圖5所示。
圖5 原始圖像Fig. 5 Original image
根據(jù)仿真實驗流程,灰度化處理輸入的圖像,轉(zhuǎn)換為無色彩的灰度圖像,中值濾波去除噪聲,如圖6所示。
圖6 去噪后圖像Fig. 6 Image after denoising
設(shè)定區(qū)域生長的閾值為28、種子點(diǎn)的循環(huán)次數(shù)為12,循環(huán)次數(shù)表示種子點(diǎn)個數(shù),經(jīng)過區(qū)域生長改進(jìn)算法處理的圖像,如圖7所示。
由圖7可見,圖像表面帶有雜點(diǎn),這是由于拍攝圖片表面曝光的影響。為解決此影響,將區(qū)域生長的閾值設(shè)為28和10,設(shè)置種子點(diǎn)的循環(huán)次數(shù)為13和12,得到清晰圖像如圖8所示。其為圖像特征點(diǎn)提取提供便利。
圖7 未改正分割圖像Fig. 7 Uncorrected segmented image
為去除經(jīng)過區(qū)域生長改進(jìn)算法處理的圖像噪聲影響,在Surf算法之前,采用最大值法將圖像預(yù)處理,如圖9所示。
圖8 改正后分割圖像Fig. 8 Segmented image after correction
圖9 最大值法處理后圖像Fig. 9 Image processed by maximum method
此時,由式(2)可知,圖9中圖像的高斯卷積為f(x,y),其Hessian矩陣為
圖像經(jīng)過高斯濾波后的Hessian矩陣表述為
由于圖像的相鄰像素在離散型數(shù)字分析計算過程中,有一階導(dǎo)數(shù)灰度差公式為
Lx=L(x+1,y)-L(x,y),
二階導(dǎo)數(shù)為
此時,Hessian矩陣的判別式為
detH=LxxLyy-LxyLxy。
為提高運(yùn)算速度,引入盒式濾波器,同時為了消除此過程產(chǎn)生的誤差,添加參數(shù)γ,文中γ=0.9,則有
detH=LxxLyy-(γLxyLxy)2,
即
detH=LxxLyy-(0.9LxyLxy)2。
detH取得局部極大值時,程序自動將當(dāng)前點(diǎn)與周圍鄰域內(nèi)其他更亮或更暗的點(diǎn)進(jìn)行比較,由此來定位特征點(diǎn)的位置。
對特征點(diǎn)主方向的確定,同樣,計算Harr小波特征總和mω,由于圖像特征點(diǎn)區(qū)域已經(jīng)分割,因此,以90°扇形將特征點(diǎn)的圓形鄰域分成四個區(qū)域,分別統(tǒng)計四個區(qū)域內(nèi)Harr小波特征總和mω之后,選取Harr小波特征值最大的扇形方向θ作為該特征點(diǎn)的主方向,特征總和的計算公式為
θω=ω,
θ=θω|max{mω),
式中:mω——ω方向Harr小波特征總和;
ω——45°、135°、225°、315°;
θω——ω方向特征點(diǎn)所在角度;
θ——特征的主方向角度。
因此,可得特征點(diǎn)方向生成示意圖,如圖10所示。Surf算法處理結(jié)果如圖11所示。
圖10 特征點(diǎn)方向生成示意Fig. 10 Generation of feature point directions
圖11 Surf算法處理后圖像Fig. 11 Images processed by Surf algorithm
為方便對比分析Surf算法與Surf-RGA算法提取圖像特征點(diǎn)的能力,實驗將沒有經(jīng)過區(qū)域生長處理的原圖像單獨(dú)進(jìn)行Surf算法處理,如圖12所示。
圖12 Surf算法對原始圖像處理Fig. 12 Surf algorithm for original image processing
為避免選取圖像的偶然性,又隨機(jī)選取10組不同角度的籃球圖像進(jìn)行驗證,特征點(diǎn)數(shù)量數(shù)據(jù)對比結(jié)果如表1所示。
表1 特征點(diǎn)數(shù)量數(shù)據(jù)對比
由表1可知,在算法演算過程中,可能陷入局部最優(yōu)解,因此,排除表1中圖像12異常數(shù)據(jù)。圖像分別經(jīng)過Surf-RGA算法與Surf算法處理后,特征點(diǎn)提取數(shù)量明顯不同,前者中圖像特征點(diǎn)提取數(shù)量明顯提高至原來的多倍,特征點(diǎn)增加率的平均值約達(dá)到了420.69%。
為了更直觀比較特征點(diǎn)變化,將圖像表面特征點(diǎn)待識別提取區(qū)域按由簡單到復(fù)雜排列,特征點(diǎn)數(shù)量變化折線如圖13所示。
圖13 特征點(diǎn)數(shù)量變化Fig. 13 Number of feature points changes
由圖13可知,從橫軸上比較,在圖像表面特征點(diǎn)待識別提取區(qū)域由簡單到復(fù)雜的過程中,Surf算法提取的特征點(diǎn)數(shù)量逐漸增多,呈現(xiàn)遞增趨勢;Surf-RGA算法提取特征點(diǎn)數(shù)量雖然表現(xiàn)出起伏不平,但是整體上呈現(xiàn)遞增的趨勢。從縱軸來看,Surf-RGA折線位于Surf折線上方,兩者特征點(diǎn)提取能力Surf-RGA方法明顯優(yōu)于Surf算法。
(1)文中提出了一種基于Surf與區(qū)域生長相結(jié)合的Surf-RGA特征點(diǎn)匹配算法,用于處理邊緣光滑圖像特征點(diǎn)提取能力弱的問題,通過在Surf算法中引入?yún)^(qū)域生長算法,自動種子點(diǎn)的選取,提高了特征點(diǎn)提取精度,剔除邊緣光滑,增強(qiáng)了特征點(diǎn)提取能力。
(2)Surf-RGA算法在特征點(diǎn)提取數(shù)量能力方面優(yōu)于Surf算法,特征點(diǎn)增加率平均值達(dá)到了420.69%,有效提高了特征點(diǎn)提取能力,更加有利于實現(xiàn)圖像特征匹配,具有一定的現(xiàn)實意義。