一般提取的是邊緣、角,文理等。傳統的圖像特征提取一般分為三個步驟:預處理、特征提取、特征處理;然后在利用機器學習等方法對特征進行分類等操作。
預處理:預處理的目的主要是排除干擾因素,突出特征信息。主要的方法有:圖片標准化(調整圖片尺寸);圖片歸一化(調整圖片重心為0)。
特征提取:利用特殊的特征提取子對圖像進行特征提取,主要有:Harris、SIFT、SURF、LBF、HOG、DPM、ORB。
特征處理:主要目的是為了排除信息量小的特征,減少計算量等:常見的特征處理方法是降維,常見的降維方法有:主成分分析、奇異值分解、線性判別分析;
1、Scale-invarialt feature transform(SIFT):尺度不變特征變換
在不同的尺度空間上查找關鍵點(特征點),並計算出關鍵點的方向。SIFT所查找到的關鍵點是一些十分突出、不會因光照、仿射變換和噪音等因素而變化的點,如角點、邊緣點、暗區的亮點及亮區的暗點等。詳情可參考這。
1.1 優點
(1)SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性;
(2)獨特性(Distinctiveness)好,信息量豐富,適用於在海量特征數據庫中進行快速、准確的匹配;
(3)多量性,即使少數的幾個物體也可以產生大量的SIFT特征向量;
(4)高速性,經優化的SIFT匹配算法甚至可以達到實時的要求;
(5)可擴展性,可以很方便的與其他形式的特征向量進行聯合;
(6)需要較少的經驗主義知識,易於開發。
1.2 缺點
- 實時性不高,因為要不斷地要進行下采樣和插值等操作;
- 有時特征點較少(比如模糊圖像);
- 對邊緣光滑的目標無法准確提取特征(比如邊緣平滑的圖像,檢測出的特征點過少,對圓更是無能為力)。
1.3 可以解決的問題及改進
目標的自身狀態、場景所處的環境和成像器材的成像特性等因素影響圖像配准/目標識別跟蹤的性能。而SIFT算法在一定程度上可解決:
- 目標的旋轉、縮放、平移(RST)
- 圖像仿射/投影變換(視點viewpoint)
- 光照影響(illumination)
- 目標遮擋(occlusion)
- 雜物場景(clutter)
- 噪聲
近來不斷有人改進,其中最著名的有 SURF(計算量小,運算速度快,提取的特征點幾乎與SIFT相同)和 CSIFT(彩色尺度特征不變變換,顧名思義,可以解決基於彩色圖像的SIFT問題)。
2、Speeded Up Robust Features(SURF)
Sift算法的優點是特征穩定,對旋轉、尺度變換、亮度保持不變性,對視角變換、噪聲也有一定程度的穩定性;缺點是實時性不高,並且對於邊緣光滑目標的特征點提取能力較弱。Surf改進了特征的提取和描述方式,用一種更為高效的方式完成特征的提取和描述。Surf在執行效率上有兩大制勝法寶——一個是積分圖在Hessian(黑塞矩陣)上的使用,一個是降維的特征描述子的使用。
3、Histogram of Oriented Gradient(Hog):方向梯度直方圖
通過計算和統計圖像局部區域的梯度方向直方圖來構成特征。Hog特征結合SVM分類器已經被廣泛應用於圖像識別中,尤其在行人檢測中獲得了極大的成功。
3.1 特點
(1)由於HOG是在圖像的局部方格單元上操作,所以它對圖像幾何的和光學的形變都能保持很好的不變性,這兩種形變只會出現在更大的空間領域上。
(2)在粗的空域抽樣、精細的方向抽樣以及較強的局部光學歸一化等條件下,只要行人大體上能夠保持直立的姿勢,可以容許行人有一些細微的肢體動作,這些細微的動作可以被忽略而不影響檢測效果。因此HOG特征是特別適合於做圖像中的人體檢測的。
3.2 SIFT和HOG的比較
共同點:都是基於圖像中梯度方向直方圖的特征提取方法
不同點:SIFT 特征通常與使用SIFT檢測器得到的興趣點一起使用。這些興趣點與一個特定的方向和尺度相關聯。通常是在對一個圖像中的方形區域通過相應的方向和尺度變換后,再計算該區域的SIFT特征。
HOG特征的單元大小較小,故可以保留一定的空間分辨率,同時歸一化操作使該特征對局部對比度變化不敏感。
結合SIFT和HOG方法,可以發現SIFT對於復雜環境下物體的特征提取具有良好的特性;而HOG對於剛性物體的特征提取具有良好的特性。
在自然場景分類中,可以發現SIFT的准確率比HOG高,而如果檢測像人這種目標,HOG的表現要比SIFT好。
4、Oriented FAST and Rotated BRIEF(ORB)
ORB特征描述算法的運行時間遠優於SIFT與SURF,可用於實時性特征檢測。ORB特征基於FAST角點的特征點檢測與描述技術,具有尺度與旋轉不變性,同時對噪聲及透視仿射也具有不變性,良好的性能使得用ORB在進行特征描述時的應用場景十分廣泛。詳細細節可以參考這個和這個。
方向FAST特征點檢測:FAST角點檢測是一種基於機器學習的快速角點特征檢測算法,具有方向的FAST特征點檢測是對興趣點所在圓周上的16個像素點進行判斷,若判斷后的當前中心像素點為暗或亮,將候定其是否為角點。FAST角點檢測計算的時間復雜度小,檢測效果突出。FAST角點檢測為加速算法實現,通常先對回周上的點集進行排序,排序使得其計算過程大大得到了優化。FAST對多尺度特性的描述是還是通過建立圖像金字塔實現的,而對於旋轉不變性即方向的特征則引入灰度質心法用於描述特征點的方向。
BRIEF特征描述:BRIEF描述子主要是通過隨機選取興趣點周圍區域的若干點來組成小興趣區域,將這些小興趣區域的灰度二值化並解析成二進制碼串,將串特征作為該特征點的描述子,BRIEF描述子選取關鍵點附近的區域並對每一位比較其強度大小,然后根據圖像塊中兩個二進制點來判斷當前關鍵點編碼是0還是1.因為BRIEF描述子的所有編碼都是二進制數的,這樣就節省了計算機存儲空間。
5、Local Binary Pattern(LBP):局部二值模式
LBP是一種描述圖像局部紋理的特征算子,具有旋轉不變性與灰度不變性等顯著優點。LBP特征描述的是一種灰度范圍內的圖像處理操作技術,針對的是輸入源為8位或16位的灰度圖像。LBP特征是高效的圖像特征分析方法,經過改進與發展已經應用於多個領域之中,特別是人臉識別、表情識別、行人檢測領域已經取得了成功。LBP特征將窗口中心點與鄰域點的關系進行比較,重新編碼形成新特征以消除對外界場景對圖像的影響,因此一定程度上解決了復雜場景下(光照變換)特征描述問題。
LBP算法根據窗口領域的不同分為經典LBP和圓形LBP兩種。下面分別介紹:
經典LBP:經典LBP算子窗口為3×3的正方形窗口,以窗口中心像素為閾值,將其相鄰8領域像素灰度與中心像素值比較,若中心像素值小於周圍像素值,則該中心像素位置被標記為1,否則為0(顯然這種規則下,對於中心點大於或等於這兩種情況,算法無法區分,后續經過改進引入LBP+與LBP-因子用來區分這兩種情況)。圖像經過這種遍歷操作后,圖像就被二值化了,每一個窗口中心的8鄰域點都可以由8位二進制數來表示,即可產生256種LBP碼,這個LBP碼值可以用來反映窗口的區域紋理信息。LBP具體在生成的過程中,先將圖像划分為若干個子區域,子區域窗口可根據原圖像的尺寸進行調整,而不一定非得為3×3的正方形窗口。一般對於512×640的圖像,子區域窗口區域選取大小為16×16。
圓形LBP:經典LBP用正方形來描述圖像的紋理特征,其缺點是難以滿足不同尺寸和頻率的需求。Ojala等人對經典LBP進行了改進,提出了將3×3的正方形窗口領域擴展到任意圓形領域。由於圓形LBP采樣點在圓形邊界上,那么必然會導致部分計算出來的采樣點坐標不是整數,因此這里就需要對得到的坐標像素點值進行處理,常用的處理方法是最近鄰插值或雙線性插值。
5.1 LBP、SHIF和HOG對比