白萌萌,景軍鋒,章為川,孫久銳
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
角點(diǎn)是圖像極其重要的局部特征,主要應(yīng)用于圖像處理及計(jì)算機(jī)視覺領(lǐng)域。角點(diǎn)檢測(cè)是計(jì)算機(jī)視覺中一個(gè)極其重要的任務(wù)[1],主要應(yīng)用于目標(biāo)識(shí)別[2]、圖像配準(zhǔn)[3]、三維重建[4]等。角點(diǎn)可以定義為具有低自相似性的點(diǎn),也可以定義為圖像強(qiáng)度在大多方向上顯著變化的點(diǎn)[5]。同時(shí)角點(diǎn)也可以定義為邊緣輪廓上局部曲率極大值點(diǎn)或輪廓方向上急劇變化的點(diǎn)[6]。根據(jù)定義,現(xiàn)有的圖像角點(diǎn)檢測(cè)方法大致可分為3類:基于灰度的方法,基于模板的方法和基于輪廓的方法。
基于灰度的方法是通過分析圖像像素值及像素之間的灰度變化直接從輸入圖像中提取角點(diǎn)。文獻(xiàn)[7]在Moravec算法的基礎(chǔ)上提出了經(jīng)典的Harris角點(diǎn)檢測(cè)算法,該算法通過局部自相關(guān)矩陣來構(gòu)建角點(diǎn)響應(yīng)函數(shù)(corner response function,CRF)。文獻(xiàn)[8]提出了一種基于多方向多尺度結(jié)構(gòu)張量積的圖像角點(diǎn)檢測(cè)算法。文獻(xiàn)[9]用二階廣義(各向同性和各向異性)高斯方向?qū)?shù)濾波器得到不同角點(diǎn)的解析表達(dá)式來檢測(cè)角點(diǎn)。
基于模板的方法是通過比較圖像塊和預(yù)先定義好的模型的匹配程度來檢測(cè)角點(diǎn)。文獻(xiàn)[10]提出 最小核值相似區(qū)(smallest univalue sengment assimilating nucleus,SUSAN)算法。該算法采用一種近似圓形模板,模板內(nèi)部每個(gè)圖像像素點(diǎn)和模板中心像素點(diǎn)的灰度值作比較進(jìn)而檢測(cè)角點(diǎn)。文獻(xiàn)[11]用各向異性高斯方向?qū)?shù)濾波器[12]推導(dǎo)得到L型、Y型、X型和星形的角點(diǎn)解析表達(dá)式來檢測(cè)角點(diǎn)。
基于輪廓的方法通過邊緣檢測(cè)器從輸入圖像中提取邊緣特征,并分析輪廓上像素點(diǎn)的曲率信息來檢測(cè)角點(diǎn)。曲率尺度空間技術(shù)(curvature scale space,CSS)[13]廣泛用于基于輪廓的方法。首先用多尺度高斯濾波器平滑曲線,然后計(jì)算光滑曲線上每個(gè)點(diǎn)的曲率,將多尺度空間下的曲率極值點(diǎn)作為最終角點(diǎn)。但現(xiàn)有的CSS角點(diǎn)檢測(cè)器對(duì)曲線上的局部變化和噪聲非常敏感,且不容易選擇合適的高斯尺度因子[14]。為了解決上述問題,文獻(xiàn)[15]提出了CPDA離散曲率估計(jì)技術(shù),它不涉及任何曲線點(diǎn)位置的導(dǎo)數(shù),也不需要選擇合適的高斯尺度因子。文獻(xiàn)[16]提出利用平面曲線梯度相關(guān)矩陣 (gradient correlation matrices,GCM)進(jìn)行角點(diǎn)檢測(cè),只需計(jì)算平面曲線的一階導(dǎo)數(shù),降低噪聲影響。文獻(xiàn)[17]基于Gabor濾波器虛部對(duì)邊緣輪廓上像素點(diǎn)在多方向的幅值響應(yīng)檢測(cè)角點(diǎn),提高了角點(diǎn)的檢測(cè)精度、定位精度和噪聲魯棒性。還有許多其他技術(shù),主方向角度差[18]、三角形理論[19]、拉普拉斯尺度空間[20]、邊緣輪廓上基于近似離散曲率計(jì)算(approximation discrete curvature calculation,ADCC)[21-22]的角點(diǎn)檢測(cè)方法。文獻(xiàn)[23]提出基于多尺度曲率乘積技術(shù)(multi-scale curvature product,MSCP)的角點(diǎn)檢測(cè)算法,該算法可以增強(qiáng)角點(diǎn)的曲率,抑制噪聲,并且可以提高角點(diǎn)的定位精度。
CPDA離散曲率估計(jì)技術(shù)沒有考慮如何準(zhǔn)確檢測(cè)相鄰角點(diǎn)。 文獻(xiàn)[24]提出了一種新的角點(diǎn)離散曲率解析表達(dá)式,分析了其在END、STAIR和L等3個(gè)角點(diǎn)模型上的曲率特性并以此來檢測(cè)角點(diǎn),發(fā)現(xiàn)CPDA角點(diǎn)檢測(cè)算法中弦長(zhǎng)的設(shè)定無(wú)法準(zhǔn)確檢測(cè)相鄰角點(diǎn),導(dǎo)致在有噪聲的情況下檢測(cè)結(jié)果優(yōu)于無(wú)噪聲。現(xiàn)有的基于CPDA的角點(diǎn)檢測(cè)方法主要存在3個(gè)問題:①無(wú)法準(zhǔn)確檢測(cè)相鄰角點(diǎn);②難以選取3個(gè)合適的弦長(zhǎng);③角點(diǎn)檢測(cè)速度較慢。
為了解決上述問題,利用參數(shù)對(duì)比實(shí)驗(yàn)得到一個(gè)可以準(zhǔn)確檢測(cè)相鄰角點(diǎn)的弦長(zhǎng),然后選擇該弦長(zhǎng)對(duì)應(yīng)的角度閾值,候選角點(diǎn)通過與曲率閾值和角度閾值比較去除弱角點(diǎn)和假角點(diǎn)得到最終角點(diǎn)。
CPDA角點(diǎn)檢測(cè)算法中因3個(gè)弦長(zhǎng)的選取在面對(duì)不同的檢測(cè)情況時(shí)具有一定的隨機(jī)性,更加劇了CPDA角點(diǎn)檢測(cè)算法的檢測(cè)性能不穩(wěn)定性,而且其在運(yùn)行時(shí)間上要慢于經(jīng)典的角點(diǎn)檢測(cè)算法。為克服CPDA角點(diǎn)檢測(cè)算法因3個(gè)弦長(zhǎng)選取而導(dǎo)致的檢測(cè)性能不穩(wěn)定,本文提出利用單一弦長(zhǎng)進(jìn)行角點(diǎn)曲率估計(jì)。首先利用大量參數(shù)選擇對(duì)比實(shí)驗(yàn),借助漏檢點(diǎn)數(shù)、偏移量、誤檢點(diǎn)數(shù)、正確角點(diǎn)數(shù)作為評(píng)判依據(jù),對(duì)CPDA角點(diǎn)檢測(cè)算法進(jìn)行單弦長(zhǎng)的選取,結(jié)合相對(duì)應(yīng)的最佳角度閾值與曲率閾值,進(jìn)行角點(diǎn)的判斷,如圖1所示。
(a)漏檢點(diǎn)數(shù)
(b)偏移量
(c)誤檢點(diǎn)數(shù)
(d)正確角點(diǎn)數(shù)圖 1 弦長(zhǎng)選擇Fig.1 Chord length selection
圖1中,利用曲率閾值在0.00∶0.01∶0.35;弦長(zhǎng)在1∶1∶30;角度閾值在135∶1∶190三者同時(shí)變化的60 480個(gè)數(shù)據(jù)的實(shí)驗(yàn)下得到的基于不同弦長(zhǎng)的CPDA角點(diǎn)檢測(cè)算法的檢測(cè)性能比較,經(jīng)過綜合分析,弦長(zhǎng)13為選擇的最優(yōu)弦長(zhǎng)。該弦長(zhǎng)在圖1(a)和圖1(c)中在漏檢點(diǎn)數(shù)和誤檢點(diǎn)數(shù)上具有競(jìng)爭(zhēng)優(yōu)勢(shì),并且在圖1(b)中定位偏移量也是極小,故該弦長(zhǎng)是可以準(zhǔn)確檢測(cè)相鄰角點(diǎn)的最佳弦長(zhǎng),與該弦長(zhǎng)相對(duì)應(yīng)的角度閾值為161o。本文提出的角點(diǎn)檢測(cè)算法的步驟如下:
1) 利用Canny邊緣檢測(cè)器從邊緣圖像中提取邊緣曲線,并且用小尺度高斯核平滑曲線,以此來消除量化噪聲和瑣碎細(xì)節(jié);
2) 使用最優(yōu)單弦長(zhǎng),將該弦長(zhǎng)通過曲率計(jì)算公式進(jìn)行曲率估計(jì),獲得曲線上各像素點(diǎn)的曲率;
3) 利用曲率閾值,與所得曲線上各像素點(diǎn)的曲率進(jìn)行比較,若該像素點(diǎn)的曲率大于曲率閾值,則記為候選角點(diǎn);
4) 曲線上某些直線部分像素點(diǎn)的曲率會(huì)大于曲率閾值,會(huì)造成角點(diǎn)的誤檢。因此再利用角度閾值進(jìn)行判斷,若候選角點(diǎn)的角度大于角度閾值,則將該候選角點(diǎn)去除,得到最終角點(diǎn)。
選取Canny邊緣檢測(cè)器的高低閾值時(shí),考慮到閾值過高會(huì)使提取到的邊緣信息變少,閾值過低則會(huì)檢測(cè)到虛假邊緣,因此選取灰度圖像Block圖和Lab圖,其標(biāo)準(zhǔn)角點(diǎn)數(shù)分別為59、249,在[0.00,1.00)設(shè)置8個(gè)區(qū)間對(duì)其檢測(cè),進(jìn)行Canny邊緣檢測(cè)器的閾值選取。通過檢測(cè)的正確角點(diǎn)數(shù)、誤檢點(diǎn)數(shù)、偏移量、漏檢點(diǎn)數(shù)和運(yùn)行時(shí)間來選取最合適的閾值,檢測(cè)結(jié)果如表1、2所示,其中“—”代表數(shù)據(jù)無(wú)意義。
表1 不同閾值對(duì)Block圖角點(diǎn)檢測(cè)的準(zhǔn)確性指標(biāo)Tab.1 The accuracy index of different detectors for Block image corner detection
表2 不同閾值對(duì)Lab圖角點(diǎn)檢測(cè)的準(zhǔn)確性指標(biāo)Tab.2 The accuracy index of different detectors for Lab image corner detection
從表1、2的檢測(cè)結(jié)果綜合分析得出,在Canny閾值取值不同時(shí),對(duì)灰度圖像Block圖、Lab圖的檢測(cè)結(jié)果差別較大。其中閾值為[0.10,0.15)時(shí),2幅灰度圖像的檢測(cè)的正確角點(diǎn)數(shù)最接近標(biāo)準(zhǔn)角點(diǎn)數(shù),且誤檢點(diǎn)數(shù)、偏移量、漏檢點(diǎn)數(shù),運(yùn)行時(shí)間在[0.00,1.00)的8個(gè)取值區(qū)間中綜合性能最佳,因此本文選取Canny邊緣檢測(cè)器的閾值為[0.10,0.15)。
實(shí)驗(yàn)是在計(jì)算機(jī)配置為Intel(R) Xeon(R) Gold 5118 CPU @ 2.30 GHz處理器、128 GB內(nèi)存的Windows平臺(tái)上基于Matlab編程實(shí)現(xiàn)。對(duì)比分析中,Canny邊緣檢測(cè)器的閾值設(shè)置為[0.10,0.15),最優(yōu)單弦長(zhǎng)為13,角度閾值為161°。
為了進(jìn)一步比較這5種檢測(cè)器對(duì)灰度圖像檢測(cè)的優(yōu)劣,將正確角點(diǎn)數(shù)、誤檢點(diǎn)數(shù)、偏移量、漏檢點(diǎn)數(shù)和運(yùn)行時(shí)間作為評(píng)價(jià)指標(biāo),分別選用本文提出的算法檢測(cè)器、FAST檢測(cè)器[25]、GCM檢測(cè)器[16]、ANDD檢測(cè)器[11]和CPDA檢測(cè)器[14],選取2幅具有標(biāo)準(zhǔn)角點(diǎn)數(shù)的灰度圖像:Checkerboard 圖和Lab圖,對(duì)其進(jìn)行角點(diǎn)檢測(cè),其標(biāo)準(zhǔn)角點(diǎn)數(shù)分別為48、249。檢測(cè)結(jié)果分別如表3、4以及圖2所示。其中表3、4是不同檢測(cè)器分別對(duì)Checkerboard圖、Lab圖角點(diǎn)檢測(cè)的準(zhǔn)確性指標(biāo),圖2是不同檢測(cè)器下對(duì)Checkerboard圖、Lab圖的角點(diǎn)檢測(cè)結(jié)果。
表3 不同檢測(cè)器對(duì)Checkerboard圖角點(diǎn)檢測(cè)的準(zhǔn)確性指標(biāo)Tab.3 The accuracy index of different detectors for Checkerboard image corner detection
表4 不同檢測(cè)器對(duì)Lab圖角點(diǎn)檢測(cè)的準(zhǔn)確性指標(biāo)Tab.4 The accuracy index of different detectors for Lab image corner detection
對(duì)表3和圖2(a)的檢測(cè)結(jié)果分析,本文算法檢測(cè)器檢測(cè)的正確角點(diǎn)數(shù)49個(gè),是所有檢測(cè)器中最接近標(biāo)準(zhǔn)角點(diǎn)數(shù)48的檢測(cè)器。而且其誤檢點(diǎn)數(shù)、運(yùn)行時(shí)間都優(yōu)于其他4種算法檢測(cè)器。本文算法檢測(cè)器的漏檢點(diǎn)數(shù)與ANDD檢測(cè)器相同,但運(yùn)行時(shí)間僅有1.175 s遠(yuǎn)遠(yuǎn)低于ANDD檢測(cè)器的11.028 s。綜合表3和圖2(a)的數(shù)據(jù)分析,對(duì)于Checkerboard圖的檢測(cè),本文算法檢測(cè)器的性能最佳。
從表4和圖2(b)的檢測(cè)結(jié)果分析得出,本文算法檢測(cè)器的偏移量在本文比較的檢測(cè)器中最低,運(yùn)行速度僅次于GCM檢測(cè)器,但漏檢點(diǎn)數(shù)遠(yuǎn)低于GCM檢測(cè)器,并且正確角點(diǎn)數(shù)僅次于ANDD檢測(cè)器,檢測(cè)準(zhǔn)確率較高。本文算法檢測(cè)器的誤檢點(diǎn)數(shù)遠(yuǎn)低于ANDD、FAST檢測(cè)器。綜合表4和圖2(b)的數(shù)據(jù)得出,對(duì)于Lab圖的角點(diǎn)檢測(cè),本文算法檢測(cè)器的綜合性能最佳。
(a)Checkerboard圖及其角點(diǎn)檢測(cè)
(b)Lab圖及其角點(diǎn)檢測(cè)圖 2 不同檢測(cè)器對(duì)Checkerboard圖和Lab圖的角點(diǎn)檢測(cè)結(jié)果Fig.2 The corner detection results of Checkerboard diagram and Lab diagram by different detectors
本文提出的算法針對(duì)CPDA角點(diǎn)檢測(cè)算法的不足做出了改進(jìn)。為實(shí)現(xiàn)角點(diǎn)的準(zhǔn)確檢測(cè),利用大量參數(shù)選擇對(duì)比實(shí)驗(yàn)下的最優(yōu)單弦長(zhǎng)和角度閾值檢測(cè)角點(diǎn)。由實(shí)驗(yàn)結(jié)果可知,本文提出的算法檢測(cè)器的檢測(cè)精度要高于其他4個(gè)檢測(cè)器,提高了角點(diǎn)檢測(cè)的準(zhǔn)確率和速度,相較于CPDA角點(diǎn)檢測(cè)算法具有更好的檢測(cè)性能,與現(xiàn)有的基于邊緣輪廓的角點(diǎn)檢測(cè)算法相比,具有更好的角點(diǎn)檢測(cè)準(zhǔn)確率和穩(wěn)定性。這為目標(biāo)的重建、跟蹤、識(shí)別等處理奠定了基礎(chǔ),具有廣泛的應(yīng)用前景。