1. 程式人生 > >低層次(基於畫素之間的)特徵提取概述

低層次(基於畫素之間的)特徵提取概述

低層次(基於畫素之間的)特徵提取概述

2013年12月18日 13:33:52 松子茶 閱讀數:7298更多

所屬專欄: 特徵提取

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/utimes/article/details/17319769

背景引言

本節主要介紹提取低層次特徵資訊的方要方法。在有些情形下,這些資訊對理解圖是足夠的。但是,低層次特徵提取函式的目的通常是為更高階分析提供資訊。用於邊界,角點和運動提取的方法,非常具有Robustness以及效能特久所必備的特性。

基本概述

低層次特徵是不需要任何形狀/空間關係的資訊就可以從影象中自動提取的基本特徵,如:常用地閾值方法就是作為點處理的一種低層次特徵提方式。所有低層次方法都可以應用於高層次特徵提取,從而在影象中找到形狀。眾所周知,我們可以從漫畫家所描繪的畫像識別人,這就是我們瞭解的第一種低層次特徵,稱之"edge detection"。它的目的要是要製作一個線圖。有些技術比較基礎,有些技術比較先進,我們瞭解其中一些最受歡迎的方法。一階檢測運算元相於一階微分法,二階邊緣檢測運算元相當於高一階微分處理。邊緣檢測的另一種形式稱相位一致性(phase congruency).其次,我們也考慮到一下角點檢測,檢測線條因高曲率而急轉折處的那些點,看作是區域性特徵提取技術,以及更先進的方法將其擴充套件到對區域性區域/興趣塊進行檢測。本節由一階、二階邊緣檢測運算元,其它邊緣檢測運算元,相位一致性和區域性特徵檢測這幾部分具體內容組成。

一階邊緣檢測運算元

基於邊緣檢測的分析不易受整體光照強度變化的影響,許多影象理解方法都以邊緣為基礎。邊緣檢測強調的是影象對比度。檢測對比度即亮度上的差別,可以增強影象中的邊界特徵,這些邊界出現正是影象亮度上的差別。目標邊界實際上是亮度級的階梯變化,而邊緣是階梯變化的位置。可以使用一階微分使邊緣變化增強檢測邊緣位置,除當輸入掃訊號沒有發生變化。

亮度變化可能通過對相鄰點進行差分處理來增強。對水平方向上的相鄰點進行差分處於是可以檢測垂直方向上的亮度變化,通常被稱為水平邊緣檢測運算元(horizontal edge detector).因為其差分值為零,所以水平運算元尋不會顯示水平方向的亮度變化。同時,需要一個垂直邊緣檢測運算元對垂直方向上的相鄰點進行差分處理,這樣可以確定水平方向上,而不是垂直方向上的亮度變化,因而垂直邊緣檢測運算元檢測的是水平邊緣。常見一階邊緣檢測運算元如下所述:

Sobel邊緣檢測運算元

Sobel運算元是兩個Prewitte模板中心畫素的權重取2倍的值。是由向量方式確定邊緣的兩個mask組成的。Sobel運算元的這個通用形式縮合了一條座標軸上最優平滑和另一條座標軸上的最優差分。換而言之,Sobel 運算元有兩個,一個是檢測水平邊緣的 ;另一個是檢測垂直邊緣的 。它對於象素的位置的影響做了加權,可以降低邊緣模糊程度,因此效果更好。

 

由於Sobel運算元是濾波運算元的形式,用於提取邊緣,可以利用快速卷積函式, 簡單有效,因此應用廣泛。更為詳細知識,請參考博文【特徵提取】差分近似影象導數運算元之Sobel運算元

Canny邊緣檢測運算元

Canny邊緣運算元由三個主要目標形成:第一、無附加響應的最優檢測,即不失去重要的邊緣,不應有虛假的邊緣;第二實際邊緣與檢測到的邊緣位置之間的偏差最小;第三、減少單邊緣的多重響應而得到單響應。這一點被第一個目標是減少噪聲響應。第二個目標是正確性,即要在正確位置檢測到邊緣。第三個目標限制的是單個邊緣點結於亮度變化定位。Canny指出高斯運算元對影象平滑處理是最優的。

 

更為詳細知識,請參考博文【特徵提取】影象函式二階導數過零點之Canny邊緣檢測運算元

二階邊緣檢測運算元

一階邊緣檢測的前提是微分處理可以使變化增強,而且影象亮度在特徵邊界處存在變化。處理程如下圖所示:

圖a影象資料的橫截圖,圖b所示的一階邊緣檢測的結果f'(x) = df/dx 是一個峰值,表示圖a所示訊號f(x)的變化比例最大。另外還可以採用高階導數;應用於同樣的橫截圖資料,圖c所示的導數f"(x) = df'(x)/dx,當訊號的變化比例最大時其值也最大,而當變化比例為常數時其值為0。在一階導數的峰值位置變化比例為常數。這就是二階導數過零點位置,並在此位置變正負符號。由此可知,除了一階微分以外,另一個方法是應用二階微分,並在二階資訊裡找到過零點。

Laplacian運算元

Laplacian運算元是一個實現二階微分的模板。二階微分可以利用兩個相鄰一階微分的差值來近似。如果將原始影象通過拉普拉斯變換後增強了影象中灰度突變處的對比度,使影象中小的細節部分得到增強並保留了影象的背景色調,使影象的細節比原始影象更加清晰。基於拉普拉斯變換的影象增強已成為影象銳化處理的基本工具。如下圖所示:

 

更為詳細知識,請參考博文【特徵提取】差分近似影象導數運算元之Laplace運算元

Marr-Hildreth運算元

Marr-Hildreth方法也是利用高斯濾波。理論上,需要一幀影象,它是影象高斯運算元與影象進行卷積計算後的二階微分。Marr-Hildreth運算元的一個優點是賽馬場能夠給出封閉的邊緣邊界,而Canny運算元不能。另一個優點是它能夠避免延後Threshold的遞迴計算。更為詳細知識,請參考博文【特徵提取】Marr-Hildreth邊緣檢測器

LoG運算元

Laplacian of Gaussian計算可以利用高斯差分來近似,其中差分是由兩個高斯濾波與不同變數的卷積結果求解獲得。從兩個平滑運算元的差分得出的是二階邊緣檢測。圖下所示,在1-D空間,不同變數的兩個高斯分佈相減形成一個一維運算元,其橫截面圖與LoG運算元的形狀是一樣的。

更為詳細知識,請見參考博文【特徵提取】LOG運算元

DoG運算元

高斯函式的差分是可以通過將影象與高斯函式進行卷積得到一幅影象的低通濾波結果,即去噪過程,這裡的Gaussian和高斯低通濾波器的高斯一樣,是一個函式,即為正態分佈函式。同時,它對高斯拉普拉斯LoG的近似,在某一尺度上的特徵檢測可以通過對兩個相鄰高斯尺度空間的影象相減,得到DoG的響應值影象。如下圖所示:

 

關於DoG運算元更為詳細知識,請見參考博文【特徵提取】DOG運算元

其它邊緣檢測運算元

邊緣檢測方法有許多。很顯然,任何實現在計算成本和效率都要有折中。在有些情況下,很難判斷Canny和Marr-Hilderth運算元相關的複雜性。這一定程度在於影象本身。即:很少影象影象不含一些不利的noise。這些情形都需要要讓邊緣檢測運算元來處理。而且,找到形狀後,經常需要提取許多低層次次資訊,以便根據資訊是否用來判斷是用於更加精確的形狀檢測處理。

SUSAN運算元源於一個只想找出邊緣方法,由於除了邊緣,還可以用於找到corner並在儲存結構的情形下減少影象noise,實質上,SUSAN處理是最小核相似區,主要累計以核為中心的模板各個成分之間的差質.更為詳細知識,請見參考博文【特徵提取】SUSAN運算元。此運算元還含有一個利用非極大值亦制計算邊緣方向的方法。其優點是簡便,因為處理簡單,而且可以找到時其他特徵型別擴充套件。

相位一致性

邊緣檢測運算元的比較研究突出了它們的一些內在問題:不完全整Contour,Threshold選擇和noise響應問題。當局部光照變化,選擇單個閾值值通常不能用於影象中的所有區域。我們將發現其中有些問題可以在高層次上得到處理,因為高層次處理時形狀提取可以調節部分資料而屏棄假的資訊。

相位一致性(phase congruency)方法是一個特徵檢測運算元,它有兩個主要優點:第一,可以檢測大範圍的特;第二、對區域性和平滑光照變化具有不變性。正如其名,它是基於相位(即時間)考慮的頻域處理。圖下所示是顯示檢測出的1-D特徵,其中特徵是實線。

圖(a)所示的是有noise階梯函式,圖(b)所示的是峰值。通過Fouier變換分析,任何函式都是由不同頻率的sina波控制疊加而成的。就階梯函式而言,各個頻率(圖(a)中的虛線)都在同一時間上產生多種變化,疊加起來成為邊緣。同樣地,峰值是各個頻率在同一時間達到峰值而產生的;圖(b)中實線表示峰值,虛線表示其中一些組成的頻率。這表明,為了找到我們相要的特徵,可以確定一些同時發生事件點:這就是相位一致性。 通過一般化處理,一個三角形波由峰值和谷值組成:相位一致性意味組成訊號的峰值各谷值是完全一致。圖(a)所示的組成sina波是這樣得到的,對一個階梯(step)進行Fouier變換,然後根據其幅度和相位麥乳精確定那些sina波。

這兩個優點其實就是一致性檢測具有區域性對比度不變性:即使階梯邊緣強度變小,sina波不斷疊加,其變化位置不變。在影象中,這意味著即使我們變化對比度,仍然可要檢測邊緣。如圖下所示。

圖中影象右下方的建築特在Canny運算元影象中沒有被檢測到,而在相味一致性方法圖中顯示得很清楚。如查對度再次變化,那麼canny運算元引數也要重新的進行調整優化。而相位一致性方法不存在類似問題。

定位特徵提取

通過測量特殊的影象特徵來得到區域性特徵是傳統的方法。其主要局部曲率的峰值(即:角點),利用角點來分析影象。以及一些最新方法,利用基於區域或影象塊(SIFT,SURF)的分析來提高效能。首先,我們先介紹一些經典的運算元檢測方法。

Trajkovic運算元檢測

Trajkovic運算元角點提取方法存在價值是在角點提取的效果上,它優於同時期的其他角點(如Moravec角點,Harris角點)提取方法,同時,從演算法的執行速度角度而言,它比同是期的其他角點提取方法要快很多。Trajkovic在速度方面的表現於決定它能夠應用對實時要求比較高的系統中。但是Trajkovic也有缺點是它不具備旋轉不變性,對噪聲比較敏感,對對角點的響應值比較大等。對於這些缺點也會有相應的方法,但不能完全的解決這些缺點。Trajkovic運算元計算角點量是在一個小的圓形視窗內,並且考慮了所有通過圓心的直線,即計算了每一個可能的方向上的灰度值變化程度。更為詳細知識,請見參考博文【特徵提取】影象角點檢測之Trajkovic運算元

Moravec檢測器

Moravec的原理就是通過滑動二值矩形視窗尋找灰度變化的區域性最大值。Moravec角點檢測演算法是最早的角點檢測演算法之一,雖然該演算法有很多缺點而且實用性也很差,但是它是很多演算法的基礎,

該演算法將角點定義為具有低“自相關性”的。演算法會檢測影象的每一個畫素,將畫素周邊的一個鄰域作為一個視窗,並檢測這個視窗和周圍其他視窗的相關性。這種相關性通過兩個視窗間的平方差之和(SSD)來衡量,SSD值越小則相似性越高。如果畫素位於平滑影象區域內,周圍的視窗都會非常相似。如果畫素在邊緣上,則周圍的視窗在與邊緣正交的方向上會有很大差異,在與邊緣平行的方向上則較為相似。而如果畫素是各個方向上都有變化的特徵點,則周圍所有的視窗都不會很相似。Moravec會計算每個畫素視窗和周圍視窗的SSD最小值作為強度值,取區域性強度最大的點作為特徵點。更為詳細知識,請見參考博文【特徵提取】Moravec檢測器

Harris檢測器

Harris角點檢測器的優點是對二維平移和旋轉,少量光照變化,少量視角變化都不每感,而且其計算其很小。另一方面,當有較大變化,視角變化以及對比鮮明的劇烈變化時,它就失去了原先的不變性。從經典的Harris角點檢測方法不難看出,該演算法的穩定性和k有關,而k是個經驗值,不好把握,浮動也有可能較大。鑑於此,改進的Harris方法直接計算出兩個特徵值,通過比較兩個特徵值直接分類,這樣就不用計算Harris響應函數了。另一方面,我們不再用非極大值抑制了,而選取容忍距離:容忍距離內只有一個特徵點。該演算法首先選取一個具有最大最小特徵值的點(即:max(min(e1,e2)),e1,e2是harris矩陣的特徵值)作為角點,然後依次按照最大最小特徵值順序尋找餘下的角點,當然和前一角點距離在容忍距離內的新角點唄忽略。更為詳細知識,請見參考博文【特徵提取】Harris角點檢測

區域/影象塊分析:尺度不變特徵變換(SIFT)

SIFT演算法主要包括兩個階段,一個是SIFT特徵的生成,即從多幅影象中提取對尺度縮放、旋轉、亮度變化無關的特徵向量;第二階段是SIFT特徵向量的匹配。SIFT方法中的低層次特徵提取是選取那些顯特徵,這些特徵具有影象尺度(特徵大小)和旋轉不變性,而且對光照變化也具有一定程度的不變性。此外,SIFT方法還可以減少由遮擋、雜亂和噪聲所引起的低提取概率。更為詳細知識,請見參考博文【影象分析】尺度不變特徵變換(SIFT)特徵提取分析

區域/影象塊分析:SURF

引入尺度不變的特徵,主要的思想是每個檢測到的特徵點都伴隨著對應的尺寸因子。當我們想匹配不同影象時,經常會遇到影象尺度不同的問題,不同影象中特徵點的距離變得不同,物體變成不同的尺寸,如果我們通過修正特徵點的大小,就會造成強度不匹配。

為了解決這個問題,提出一個尺度不變的SURF特徵檢測,在計算特徵點的時候把尺度因素加入之中。SURF與SIFT演算法相似,SIFT演算法比較穩定,檢測特徵點更多,但是複雜度較高,而SURF要運算簡單,效率高,運算時間短一點。第一、SURF演算法是對SIFT演算法加強版,同時加速的具有魯棒性的特徵。第二、標準的SURF運算元比SIFT運算元快好幾倍,並且在多幅圖片下具有更好的魯棒性。SURF最大的特徵在於採用了harr特徵以及積分影象integral image的概念,這大大加快了程式的執行時間。為了實現尺度不變性的特徵點檢測與匹配,SURF演算法則先利用Hessian矩陣確定候選點,然後進行非極大抑制,計算複雜度降低多了。更為詳細知識,請見參考博文【影象分析】SURF特徵提取分析

參考資料

[1] Feature Detection (Computer Vision) From Wikipedia, the free encyclopedia.

[2] Richard Szeliski,"Computer Vision:Algorithms and Applications", Microsoft Research, 2010.