概述
特征提取是計算機視覺中的一個重要主題。不論是SLAM、SFM、三維重建等重要應用的底層都是建立在特征點跨圖像可靠地提取和匹配之上。特征提取是計算機視覺領域經(jīng)久不衰的研究熱點,總的來說,快速、準確、魯棒的特征點提取是實現(xiàn)上層任務基本要求。
特征點是圖像中梯度變化較為劇烈的像素,比如:角點、邊緣等。FAST(Features from Accelerated Segment Test)是一種高速的角點檢測算法;而尺度不變特征變換SIFT(Scale-invariant feature transform)仍然可能是最著名的傳統(tǒng)局部特征點。也是迄今使用最為廣泛的一種特征。特征提取一般包含特征點檢測和描述子計算兩個過程。描述子是一種度量特征相似度的手段,用來確定不同圖像中對應空間同一物體,比如:BRIEF(Binary Robust IndependentElementary Features)描述子??煽康奶卣魈崛摪韵绿匦裕?/p>
(1)對圖像的旋轉(zhuǎn)和尺度變化具有不變性;(2)對三維視角變化和光照變化具有很強的適應性;(3)局部特征在遮擋和場景雜亂時仍保持不變性;(4)特征之間相互區(qū)分的能力強,有利于匹配;(5)數(shù)量較多,一般500×500的圖像能提取出約2000個特征點。
近幾年深度學習的興起使得不少學者試圖使用深度網(wǎng)絡提取圖像特征點,并且取得了階段性的結(jié)果。圖1給出了不同特征提取方法的特性。本文中的傳統(tǒng)算法以ORB特征為例,深度學習以SuperPoint為例來闡述他們的原理并對比性能。

圖1 不同的特征提取方法對比
傳統(tǒng)算法—ORB特征
盡管SIFT是特征提取中最著名的方法,但是因為其計算量較大而無法在一些實時應用中使用。為了研究一種快速兼顧準確性的特征提取算法,Ethan Rublee等人在2011年提出了ORB特征:“ORB:An Efficient Alternative to SIFT or SURF”。ORB算法分為兩部分,分別是特征點提取和特征點描述。ORB特征是將FAST特征點的檢測方法與BRIEF特征描述子結(jié)合起來,并在它們原來的基礎上做了改進與優(yōu)化。其速度是SIFT的100倍,是SURF的10倍。Fast特征提取從圖像中選取一點P,如圖2。按以下步驟判斷該點是不是特征點:以P為圓心畫一個半徑為3 pixel的圓;對圓周上的像素點進行灰度值比較,找出灰度值超過 l(P)+h 和低于 l(P)-h 的像素,其中l(wèi)(P)是P點的灰度, h是給定的閾值;如果有連續(xù)n個像素滿足條件,則認為P為特征點。一般n設置為9。為了加快特征點的提取,首先檢測1、9、5、13位置上的灰度值,如果P是特征點,那么這四個位置上有3個或3個以上的像素滿足條件。如果不滿足,則直接排除此點。

圖2 FAST特征點判斷示意圖上述步驟檢測出的FAST角點數(shù)量很大且不確定,因此ORB對其進行改進。對于目標數(shù)量K為個關鍵點,對原始FAST角點分別計算Harris響應值,,然后根據(jù)響應值來對特征點進行排序,選取前K個具有最大響應的角點作為最終的角點集合。除此之外,F(xiàn)AST不具有尺度不變性和旋轉(zhuǎn)不變性。ORB算法構建了圖像金字塔,對圖像進行不同層次的降采樣,獲得不同分辨率的圖像,并在金字塔的每一層上檢測角點,從而獲得多尺度特征。最后,利用灰度質(zhì)心法計算特征點的主方向。作者使用矩來計算特征點半徑范圍內(nèi)的質(zhì)心,特征點坐標到質(zhì)心形成一個向量作為該特征點的方向。矩定義如下:

計算圖像的0和1階矩:

則特征點的鄰域質(zhì)心為:

進一步得到特征點主方向:

描述子計算BRIEF算法計算出來的是一個二進制串的特征描述符,具有高速、低存儲的特點。具體步驟是在一個特征點的鄰域內(nèi),選擇n對像素點pi、qi(i=1,2,…,n)。然后比較每個點對的灰度值的大小。如果I(pi)》 I(qi),則生成二進制串中的1,否則為0。所有的點對都進行比較,則生成長度為n的二進制串。一般n取128、256或512。另外,為了增加特征描述符的抗噪性,算法首先需要對圖像進行高斯平滑處理。在選取點對的時候,作者測試了5種模式來尋找一種特征點匹配的最優(yōu)模式(pattern)。

圖3 測試分布方法最終的結(jié)論是,第二種模式(b)可以取得較好的匹配結(jié)果。
深度學習的方法—SuperPoint
深度學習解決特征點提取的思路是利用深度神經(jīng)網(wǎng)絡提取特征點而不是手工設計特征,它的特征檢測性能與訓練樣本、網(wǎng)絡結(jié)構緊密相關。一般分為特征檢測模塊和描述子計算模塊。在這里以應用較為廣泛的SuperPoint為例介紹該方法的主要思路。該方法采用了自監(jiān)督的全卷積網(wǎng)絡框架,訓練得到特征點(keypoint)和描述子(descriptors)。自監(jiān)督指的是該網(wǎng)絡訓練使用的數(shù)據(jù)集也是通過深度學習的方法構造的。該網(wǎng)絡可分為三個部分(見圖1),(a)是BaseDetector(特征點檢測網(wǎng)絡),(b)是真值自標定模塊。(c)是SuperPoint網(wǎng)絡,輸出特征點和描述子。雖然是基于深度學習的框架,但是該方法在Titan X GPU上可以輸出70HZ的檢測結(jié)果,完全滿足實時性的要求。

圖4 SuperPoint 網(wǎng)絡結(jié)構示意圖下面分別介紹一下三個部分:BaseDetector特征點檢測:首先創(chuàng)建一個大規(guī)模的合成數(shù)據(jù)集:由渲染的三角形、四邊形、線、立方體、棋盤和星星組成的合成數(shù)據(jù),每個都有真實的角點位置。渲染合成圖像后,將單應變換應用于每個圖像以增加訓練數(shù)據(jù)集。單應變換對應著變換后角點真實位置。為了增強其泛化能力,作者還在圖片中人為添加了一些噪聲和不具有特征點的形狀,比如橢圓等。該數(shù)據(jù)集用于訓練 MagicPoint 卷積神經(jīng)網(wǎng)絡,即BaseDetector。注意這里的檢測出的特征點不是SuperPoint,還需要經(jīng)過Homographic Adaptation操作。

圖5 預訓練示意圖特征檢測性能表現(xiàn)如下表:

圖 6 MagicPoint 模型在檢測簡單幾何形狀的角點方面優(yōu)于經(jīng)典檢測器真值自標定:Homographic Adaptation 旨在實現(xiàn)興趣點檢測器的自我監(jiān)督訓練。它多次將輸入圖像進行單應變換,以幫助興趣點檢測器從許多不同的視點和尺度看到場景。以提高檢測器的性能并生成偽真實特征點。

圖7 Homographic Adaptation操作Homographic Adaptation可以提高卷積神經(jīng)網(wǎng)絡訓練的特征點檢測器的幾何一致性。該過程可以反復重復,以不斷自我監(jiān)督和改進特征點檢測器。在我們所有的實驗中,我們將Homographic Adaptation 與 MagicPoint 檢測器結(jié)合使用后的模型稱為 SuperPoint。

圖8 Iterative Homographic AdaptationSuperPoint網(wǎng)絡:SuperPoint 是全卷積神經(jīng)網(wǎng)絡架構,它在全尺寸圖像上運行,并在單次前向傳遞中產(chǎn)生帶有固定長度描述符的特征點檢測(見圖 9)。該模型有一個共享的編碼器來處理和減少輸入圖像的維數(shù)。在編碼器之后,該架構分為兩個解碼器“頭”,它們學習特定任務的權重——一個用于特征檢測,另一個用于描述子計算。大多數(shù)網(wǎng)絡參數(shù)在兩個任務之間共享,這與傳統(tǒng)系統(tǒng)不同,傳統(tǒng)系統(tǒng)首先檢測興趣點,然后計算描述符,并且缺乏在兩個任務之間共享計算和表示的能力。

圖 9 SuperPoint DecodersSuperPoint 架構使用類似VGG編碼器來降低圖像的維度。編碼器由卷積層、通過池化的空間下采樣和非線性激活函數(shù)組成。解碼器對圖片的每個像素都計算一個概率,這個概率表示的就是其為特征點的可能性大小。描述子輸出網(wǎng)絡也是一個解碼器。先學習半稠密的描述子(不使用稠密的方式是為了減少計算量和內(nèi)存),然后進行雙三次插值算法(bicubic interpolation)得到完整描述子,最后再使用L2標準化(L2-normalizes)得到單位長度的描述。最終損失是兩個中間損失的總和:一個用于興趣點檢測器 Lp,另一個用于描述符 Ld。我們使用成對的合成圖像,它們具有真實特征點位置和來自與兩幅圖像相關的隨機生成的單應性 H 的地面實況對應關系。同時優(yōu)化兩個損失,如圖 4c 所示。使用λ來平衡最終的損失:

實驗效果對比:

圖10 不同的特征檢測方法定性比較

圖 11 檢測器和描述符性能的相關指標
結(jié)論
在特征檢測上,傳統(tǒng)方法通過大量經(jīng)驗設計出了特征檢測方法和描述子。盡管這些特征在光照變化劇烈,旋轉(zhuǎn)幅度大等情況下還存在魯棒性問題,但仍然是目前應用最多、最成熟的方法,比如ORB-SLAM使用的ORB特征、VINS-Mono使用的FAST特征等都是傳統(tǒng)的特征點。深度學習的方法在特征檢測上表現(xiàn)了優(yōu)異的性能,但是:(1)存在模型不可解釋性的問題;(2)在檢測和匹配精度上仍然沒有超過最經(jīng)典的SIFT算法。(3)大部分深度學習的方案在CPU上運實時性差,需要GPU的加速。(4)訓練需要大量不同場景的圖像數(shù)據(jù),訓練困難。本文最后的Homograpyhy Estimation指標,SuperPiont超過了傳統(tǒng)算法,但是評估的是單應變換精度。單應變換在并不能涵蓋所有的圖像變換。比如具有一般性質(zhì)的基礎矩陣或者本質(zhì)矩陣的變換,SurperPoint表現(xiàn)可能不如傳統(tǒng)方法。
原文標題:特征提取:傳統(tǒng)算法 vs 深度學習
文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
計算機視覺
+關注
關注
9文章
1715瀏覽量
47703 -
計算模塊
+關注
關注
0文章
18瀏覽量
6385 -
深度學習
+關注
關注
73文章
5603瀏覽量
124605
原文標題:特征提?。簜鹘y(tǒng)算法 vs 深度學習
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
傳音相關研究成果入選計算機視覺頂會CVPR 2026
上海計算機視覺企業(yè)行學術沙龍走進西井科技
使用代理式AI激活傳統(tǒng)計算機視覺系統(tǒng)的三種方法
淘寶圖片搜索接口開發(fā)實戰(zhàn):從 CNN 特征提取到商品匹配(附避坑手冊 + 可復用代碼)
STM32計算機視覺開發(fā)套件:B-CAMS-IMX攝像頭模塊技術解析
大電流起弧過程中電弧聲壓/超聲波信號的特征提取與故障診斷
易控智駕榮獲計算機視覺頂會CVPR 2025認可
工業(yè)計算機的重要性
自動化計算機經(jīng)過加固后有什么好處?
自動化計算機的功能與用途
工業(yè)計算機與商用計算機的區(qū)別有哪些
工業(yè)計算機如何設計用于沖擊和振動
利用邊緣計算和工業(yè)計算機實現(xiàn)智能視頻分析
一文帶你了解工業(yè)計算機尺寸
計算機網(wǎng)絡入門指南
計算機視覺中不同的特征提取方法對比
評論