來源:機(jī)器學(xué)習(xí)AI算法工程 本文約6200字,建議閱讀10+分鐘 本文為你介紹不同的機(jī)器視覺特征提取方法及其區(qū)別。 目錄一、SIFT(尺度不變特征變換) 先對幾個概念和問題做一個解釋:
1. 識別物體,最關(guān)鍵的因素是梯度(SIFT/HOG),梯度意味著邊緣,這是最本質(zhì)的部分,而計算梯度,自然就用到灰度圖像了,可以把灰度理解為圖像的強(qiáng)度。 2. 顏色,易受光照影響,難以提供關(guān)鍵信息,故將圖像進(jìn)行灰度化,同時也可以加快特征提取的速度。
平面上任意兩條線,經(jīng)過仿射變換后,仍保持原來的狀態(tài)(比如平行的線還是平行,相交的線夾角不變等)。
局部特征從總體上說是圖像或在視覺領(lǐng)域中一些有別于其周圍的地方;局部特征通常是描述一塊區(qū)域,使其能具有高可區(qū)分度;局部特征的好壞直接會決定著后面分類、識別是否會得到一個好的結(jié)果。 一、SIFT(尺度不變特征變換)1.1 SIFT特征提取的實質(zhì) 在不同的尺度空間上查找關(guān)鍵點(特征點),并計算出關(guān)鍵點的方向。SIFT所查找到的關(guān)鍵點是一些十分突出、不會因光照、仿射變換和噪音等因素而變化的點,如角點、邊緣點、暗區(qū)的亮點及亮區(qū)的暗點等。 1.2 SIFT特征提取的方法 a. 構(gòu)建DOG尺度空間: 1.3 SIFT特征提取的優(yōu)點 a. SIFT特征是圖像的局部特征,其對旋轉(zhuǎn)、尺度縮放、亮度變化保持不變性,對b. 視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性; c. 獨特性(Distinctiveness)好,信息量豐富,適用于在海量特征數(shù)據(jù)庫中進(jìn)行快速、準(zhǔn)確的匹配; d. 多量性,即使少數(shù)的幾個物體也可以產(chǎn)生大量的SIFT特征向量; e. 高速性,經(jīng)優(yōu)化的SIFT匹配算法甚至可以達(dá)到實時的要求; f. 可擴(kuò)展性,可以很方便的與其他形式的特征向量進(jìn)行聯(lián)合; g. 需要較少的經(jīng)驗主義知識,易于開發(fā)。 1.4 SIFT特征提取的缺點 a. 實時性不高,因為要不斷地要進(jìn)行下采樣和插值等操作; b. 有時特征點較少(比如模糊圖像); c. 對邊緣光滑的目標(biāo)無法準(zhǔn)確提取特征(比如邊緣平滑的圖像,檢測出的特征點過少,對圓更是無能為力)。 1.5 SIFT特征提取可以解決的問題 目標(biāo)的自身狀態(tài)、場景所處的環(huán)境和成像器材的成像特性等因素影響圖像配準(zhǔn)/目標(biāo)識別跟蹤的性能。而SIFT算法在一定程度上可解決: a. 目標(biāo)的旋轉(zhuǎn)、縮放、平移(RST) b. 圖像仿射/投影變換(視點viewpoint) c. 光照影響(illumination) d. 目標(biāo)遮擋(occlusion) e. 雜物場景(clutter) f. 噪聲 近來不斷有人改進(jìn),其中最著名的有 SURF(計算量小,運算速度快,提取的特征點幾乎與SIFT相同)和 CSIFT(彩色尺度特征不變變換,顧名思義,可以解決基于彩色圖像的SIFT問題)。二、HOG(方向梯度直方圖)2.1 HOG特征提取的實質(zhì) 通過計算和統(tǒng)計圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征。Hog特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識別中,尤其在行人檢測中獲得了極大的成功。 2.2 HOG特征提取的方法 a. 灰度化; b. 采用Gamma校正法對輸入圖像進(jìn)行顏色空間的標(biāo)準(zhǔn)化(歸一化),目的是調(diào)節(jié)圖像的對比度,降低圖像局部的陰影和光照變化所造成的影響,同時可以抑制噪音的干擾; c. 計算圖像每個像素的梯度(包括大小和方向),主要是為了捕獲輪廓信息,同時進(jìn)一步弱化光照的干擾; d. 將圖像劃分成小cells(例如6*6像素/cell); e. 統(tǒng)計每個cell的梯度直方圖(不同梯度的個數(shù)),即可形成每個cell的descriptor; f. 將每幾個cell組成一個block(例如3*3個cell/block),一個block內(nèi)所有cell的特征descriptor串聯(lián)起來便得到該block的HOG特征descriptor。 g. 將圖像image內(nèi)的所有block的HOG特征descriptor串聯(lián)起來就可以得到該image(你要檢測的目標(biāo))的HOG特征descriptor了。這個就是最終的可供分類使用的特征向量了。 如果對上述純文字理解困難,可以參考文章: 2.3 HOG特征提取特點 a. 由于HOG是在圖像的局部方格單元上操作,所以它對圖像幾何的和光學(xué)的形變都能保持很好的不變性,這兩種形變只會出現(xiàn)在更大的空間領(lǐng)域上。 b. 在粗的空域抽樣、精細(xì)的方向抽樣以及較強(qiáng)的局部光學(xué)歸一化等條件下,只要行人大體上能夠保持直立的姿勢,可以容許行人有一些細(xì)微的肢體動作,這些細(xì)微的動作可以被忽略而不影響檢測效果。因此HOG特征是特別適合于做圖像中的人體檢測的。 三、SIFT和HOG的比較共同點:都是基于圖像中梯度方向直方圖的特征提取方法
筆者曾做過一個自然場景分類的實驗,發(fā)現(xiàn)SIFT的準(zhǔn)確率比HOG高,而如果檢測像人這種剛性的object,HOG的表現(xiàn)要比SIFT好。四、SIFT/HOG與神經(jīng)網(wǎng)絡(luò)特征提取的比較眾所周知,隨著深度學(xué)習(xí)的發(fā)展,通過神經(jīng)網(wǎng)絡(luò)提取特征得到了廣泛的應(yīng)用,那么,神經(jīng)網(wǎng)絡(luò)提取的特征與傳統(tǒng)的SIFT/HOG等特征提取方法有什么不同呢? 4.1 神經(jīng)網(wǎng)絡(luò)提取到的特征 我們知道,對于一副圖像,像素級的特征沒有任何價值,而如果特征是一個具有結(jié)構(gòu)性(或者說有含義)的時候,比如摩托車是否具有車把手,是否具有車輪,就很容易把摩托車和非摩托車區(qū)分,學(xué)習(xí)算法才能發(fā)揮作用。 這就是神經(jīng)網(wǎng)絡(luò)每層提取到的特征。由于是通過神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)到了,因此也是無監(jiān)督的特征學(xué)習(xí)過程(Unsupervised Feature Learning) 。直觀上說,就是找到make sense的小patch再將其進(jìn)行combine,就得到了上一層的feature,遞歸地向上learning feature。在不同object上做training是,所得的edge basis 是非常相似的,但object parts和models 就會completely different了。 4.2 傳統(tǒng)特征提取方法與神經(jīng)網(wǎng)絡(luò)特征提取的比較 觀點1:傳統(tǒng)特征提取方法的研究過程和思路是非常有用的,因為這些方法具有較強(qiáng)的可解釋性,它們對設(shè)計機(jī)器學(xué)習(xí)方法解決此類問題提供啟發(fā)和類比。有部分人認(rèn)為(也有部分人反對)現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)與這些特征提取方法有一定類似性,因為每個濾波權(quán)重實際上是一個線性的識別模式,與這些特征提取過程的邊界與梯度檢測類似。同時,池化(Pooling)的作用是統(tǒng)籌一個區(qū)域的信息,這與這些特征提取后進(jìn)行的特征整合(如直方圖等)類似。通過實驗發(fā)現(xiàn)卷積網(wǎng)絡(luò)開始幾層實際上確實是在做邊緣和梯度檢測。不過事實上卷積網(wǎng)絡(luò)發(fā)明的時候,還沒有這些特征提取方法。 那么提出兩個問題:(1)現(xiàn)在流行的特征學(xué)習(xí)方法siamese或triplet等結(jié)構(gòu)是否缺失了什么?(2)雖然CNN可以挖掘patch里面包含的信息并建立對于復(fù)雜幾何和光照變化的不變性,但是這種學(xué)習(xí)到的不變性是否過度依賴于數(shù)據(jù)而無法有效泛化到真實匹配場景中所遇到的影像之間的復(fù)雜變化呢? 可以參考以下知乎話題,查看更多觀點: 五、其他傳統(tǒng)特征提取的方法(SURF、ORB、LBP、HAAR)SURF、ORB、LBP可以參考文章: https://link.jianshu.com/?t=http://lib.csdn.net/article/opencv/41913 5.1 SURF 前面提到SITF的缺點是如果不借助硬件加速或?qū)iT的圖像處理器很難達(dá)到實現(xiàn),所以人們就要想辦法對SITF算子進(jìn)行改進(jìn),SURF算子便是對SIFT的改進(jìn),不過改進(jìn)之后在算法的運行時間上還是沒有質(zhì)的飛躍。后面要介紹的ORB特征描述算子在運行時間上才是一種質(zhì)的飛躍。 5.2 ORB ORB特征描述算法的運行時間遠(yuǎn)優(yōu)于SIFT與SURF,可用于實時性特征檢測。ORB特征基于FAST角點的特征點檢測與描述技術(shù),具有尺度與旋轉(zhuǎn)不變性,同時對噪聲及透視仿射也具有不變性,良好的性能使得用ORB在進(jìn)行特征描述時的應(yīng)用場景十分廣泛。
5.3 LBP LBP(Local Binary Pattern),局部二值模式是一種描述圖像局部紋理的特征算子,具有旋轉(zhuǎn)不變性與灰度不變性等顯著優(yōu)點。LBP特征描述的是一種灰度范圍內(nèi)的圖像處理操作技術(shù),針對的是輸入源為8位或16位的灰度圖像。LBP特征是高效的圖像特征分析方法,經(jīng)過改進(jìn)與發(fā)展已經(jīng)應(yīng)用于多個領(lǐng)域之中,特別是人臉識別、表情識別、行人檢測領(lǐng)域已經(jīng)取得了成功。LBP特征將窗口中心點與鄰域點的關(guān)系進(jìn)行比較,重新編碼形成新特征以消除對外界場景對圖像的影響,因此一定程度上解決了復(fù)雜場景下(光照變換)特征描述問題。 5.4 HAAR 人臉檢測最為經(jīng)典的算法Haar-like特征+Adaboost。這是最為常用的物體檢測的方法(最初用于人臉檢測),也是用的最多的方法。 具體細(xì)節(jié)可以參考文章: https://link.jianshu.com/?t=http://blog.csdn.net/xizero00/article/details/46929261 再附一個Haar和HOG比較的問題: https://link.jianshu.com/?t=http://blog.csdn.net/DuinoDu/article/details/51981327 1. SIFT / HOG 不同點:SIFT提取的關(guān)鍵點是角點,HOG提取的是邊緣特征。 2. 傳統(tǒng)特征提取 / CNN特征提取不同點:傳統(tǒng)特征提取方法的檢測算子一般是人為設(shè)計好的,是經(jīng)過大量的先驗知識總結(jié)得到的;CNN特征提取相當(dāng)于在訓(xùn)練一個個filter(過濾器、卷積核),這些filter相當(dāng)于傳統(tǒng)特征提取方法中的檢測算子。因此,CNN特征提取是利用神經(jīng)網(wǎng)絡(luò)的自主學(xué)習(xí)得到的。 |
|