角點是圖像很重要的特征,對圖像圖形的理解和分析有很重要的作用。角點檢測(Corner Detection)是計算機(jī)視覺系統(tǒng)中用來獲得圖像特征的一種方法,廣泛應(yīng)用于運(yùn)動檢測、圖像匹配、視頻跟蹤、三維建模和目標(biāo)識別等領(lǐng)域中,也稱為特征點檢測。
角點通常被定義為兩條邊的交點,更嚴(yán)格的說,角點的局部鄰域應(yīng)該具有兩個不同區(qū)域的不同方向的邊界。而實際應(yīng)用中,大多數(shù)所謂的角點檢測方法檢測的是擁有特定特征的圖像點,而不僅僅是“角點”。這些特征點在圖像中有具體的坐標(biāo),并具有某些數(shù)學(xué)特征,如局部最大或最小灰度、某些梯度特征等。
現(xiàn)有的角點檢測算法并不是都十分的魯棒。很多方法都要求有大量的訓(xùn)練集和冗余數(shù)據(jù)來防止或減少錯誤特征的出現(xiàn)。角點檢測方法的一個很重要的評價標(biāo)準(zhǔn)是其對多幅圖像中相同或相似特征的檢測能力,并且能夠應(yīng)對光照變化、圖像旋轉(zhuǎn)等圖像變化。
近年來提出的角點檢測方法大多是基于灰度圖像的角點檢測。主要分三類:
(1)基于邊緣特征的角點檢測。主要分三個步驟:首先,對圖像進(jìn)行預(yù)分割;然后對預(yù)分割后得到的圖像中邊界輪廓點進(jìn)行順序編碼,得到邊緣輪廓鏈碼;最后,根據(jù)邊緣輪廓鏈碼對圖像中的角點進(jìn)行描述和提取。Wallg和Braday提出了一種基于表面曲率的角點檢測算法。為了改善角點檢測的穩(wěn)定性,首先將圖像和高斯濾波器卷積,然后計算整個圖像的表面曲率,當(dāng)曲率高于一定閾值,并為局部最大值的點被認(rèn)為是候選角點。
(2)基于模板的角點檢測。一般首先建立一系列具有不同角度的角點模板,然后在一定的窗口內(nèi)比較待測圖像與標(biāo)準(zhǔn)模板之間的相似程度,以此來檢測圖像中的角點?;谀0宓姆椒ㄖ饕紤]像素鄰域點的灰度變化,即圖像亮度的變化,將與鄰點亮度對比足夠大的點定義為角點。首先設(shè)計一系列角點模板,然后計算模板與所有圖像子窗口的相似性,以相似性判斷在子窗口中心的像素是否為角點。
(3)基于亮度變化的角點檢測。該算法基于角點相應(yīng)函數(shù)(CRF)對每個像素基于其模板鄰域的圖像灰度計算CRF值,如果大于某一閾值且為局部極大值,則認(rèn)為該點為角點。
當(dāng)然,角點的檢測算法非常之多,僅基于模板的角點檢測算法就有Kitchen-Rosenfeld角點檢測算法、Harris角點檢測算法、KLT角點檢測算法及SUSAN角點檢測算法等,在此不再一一展開介紹。維視圖像從事機(jī)器視覺行業(yè)十?dāng)?shù)年,其XAVIS機(jī)器視覺科研平臺包含近300個優(yōu)異算法,其中就包含多種優(yōu)異的角點檢測算法,這些算法均是從實際工業(yè)項目中積累、優(yōu)化而來,在算法效率、穩(wěn)定性上均處于視覺行業(yè)領(lǐng)先地位。