天天看點

系統性綜述:特征點檢測與比對

系統性綜述:特征點檢測與比對

作者丨夢寐mayshine@知乎(已授權)

編輯丨極市平台

導讀

本文先從圖像特征開始介紹,後分點闡述特征子和描述子的相關分類及特點,最後以圖像展示了特征比對的關系,完整的叙述了整個模組化過程中特征點檢測與比對的知識。​

一、圖像特征介紹

1、圖像特征點的應用

  • 相機标定:棋盤格角點陰影格式固定,不同視角檢測到點可以得到比對結果,标定相機内參
  • 圖像拼接:不同視角比對恢複相機姿态
  • 稠密重建:間接使用特征點作為種子點擴散比對得到稠密點雲
  • 場景了解:詞袋方法,特征點為中心生成關鍵詞袋(關鍵特征)進行場景識别
系統性綜述:特征點檢測與比對

2、圖像特征點的檢測方法

  • 人工設計檢測算法:sift、surf、orb、fast、hog
  • 基于深度學習的方法:人臉關鍵點檢測、3D match點雲比對
  • 場景中的人工标記點:影視場景背景簡單的标記,特殊二維碼設計(快速,精度低)
系統性綜述:特征點檢測與比對

3、圖像特征點的基本要求

  • 差異性:視覺上場景上比較顯著點,灰階變化明顯,邊緣點等
  • 重複性:同一個特征在不同視角中重複出現,旋轉、光度、尺度不變性
系統性綜述:特征點檢測與比對

二、特征檢測子

1、Harris 角點檢測(早期,原理簡單,視訊跟蹤,快速檢測)

夢寐mayshine:角點檢測(2) - harris算子 - 理論與Python代碼

​​https://zhuanlan.zhihu.com/p/90393907​​

系統性綜述:特征點檢測與比對
  • 動機:特征點具有局部差異性
  • 以每個點為中心取一個視窗,例如,5×5/7×7的像素,描述特征點周圍環境
  • 此點具有差異性->視窗往任意方向移動,則周圍環境變化較大->具有局部差異性
  • 最小二乘線性系統一階泰勒展開(消除重複項)
  • 加和符号:表示視窗内每個像素
  • w:表示權重,權值1或者以點為中心的高斯權重(離點越近權重越大)
  • I:表示像素,RGB/灰階
  • u,v:視窗移動的方向
  • H:harris矩陣,由兩個方向上的梯度建構而成
  • 圖像梯度:
  • Harris矩陣:
  • Harris矩陣H 的特征值分析
  • 兩個特征值反映互相垂直方向上的變化情況,分别代表變化最快和最慢的方向,特征值大變化快,特征值小變化慢
  • λ1 ≈ λ2 ≈ 0, 兩個方向上變化都很小,興趣點位于光滑區域
  • λ1 > 0 , λ2 ≈ 0 ,一個方向變化快,一個方向變化慢,興趣點位于邊緣區域
  • λ1 , λ2 > 0 , 兩個方向變化都很快,興趣點位于角點區域(容易判斷)
系統性綜述:特征點檢測與比對
系統性綜述:特征點檢測與比對
  • Harris角點準則代替矩陣分解:
  • 反映特征值情況,trace為迹
  • k的值越小,檢測子越敏感
  • 隻有當λ1和λ2同時取得最大值時,C才能取得較大值
  • 避免了特征值分解,提高檢測計算效率
  • 非極大值抑制(Non-maximal Suppression) 選取局部響應最大值,避免重複的檢測
  • 算法流程:
  • 0)濾波、平滑,避免出現階躍函數
  • 1)計算圖像水準和垂直方向的梯度
  • 2)計算每個像素位置的Harris矩陣
  • 3)計算每個像素位置的Harris角點響應值
  • 3+)非極大值抑制
  • 4)找到Harris角點響應值大于給定門檻值且局部最大的位置作為特征點
  • 檢測結果:
系統性綜述:特征點檢測與比對

2、基于LoG的多尺度特征檢測子

  • 動機:Harris角點檢測不具有尺度不變性,讓特征點具有尺度不變性
系統性綜述:特征點檢測與比對
  • 解決方法:尺度歸一化LoG算子,處理尺度的變化
  • LoG算子:Lindeberg(1993)提出Laplacian of Gaussian (LoG)函數的極值點對應着特征點
  • 尺度空間:
系統性綜述:特征點檢測與比對
  • LoG算子[1]形式:高斯濾波性質:卷積->求拉普拉斯算子==求拉普拉斯算子->卷積 其中 是LoG算子
  • 尺度歸一化LoG[2](使得具有可比性=匯率):其中 是尺度歸一化LoG算子
  • 不同尺度下的LoG響應值不具有可比性
  • 建構尺度空間,同時在位置空間和 尺度空間尋找歸一化LoG極值(極大 /極小)點作為特征點
  • 不同尺度下
系統性綜述:特征點檢測與比對
  • LoG特征檢測算法流程
  • 1)計算不同尺度上的尺度歸一化LoG函數值
  • 2)同時在位置和尺度構成的三維空間上尋找 尺度歸一化LoG的極值點
  • 3)進行非極大值抑制,減少重複檢測 (去除備援、保持穩定性)
  • 檢測結果:效果好,LoG計算量大
系統性綜述:特征點檢測與比對

3、基于DoG的多尺度特征檢測子(SIFT)——穩定和魯棒

  • LoG可以由DoG近似:Lowe(2004)提出歸一化LoG近似等價于相鄰尺度的高斯差分(DoG)
  • 高斯空間:
  • 高斯差分DoG:相鄰的空間做差,極點處對應特征點
  • 尺度空間的建構
  • 階數:O=3 (octave=階,每階圖像尺寸減少一半,階數高->運算量大->尺度變化大)
  • 每階有效差分數:S=3(每個階内劃分數)
  • 每階層數:N=S+3
  • 高斯空間
  • 高斯差分
  • 有效差分
  • 任意設定
系統性綜述:特征點檢測與比對
系統性綜述:特征點檢測與比對
系統性綜述:特征點檢測與比對
  • 特征點位置的确定:
  • 1)尺度空間和圖像空間上:3*3視窗,26個鄰域,找極值點比其他都要大DoG,LoG找極大值或極小值
  • 2)橫軸向代表離散位置,縱軸代表DoG響應值,在極值點鄰域内求二階函數的極值=準确像素位置
系統性綜述:特征點檢測與比對
  • 亞像素特征點位置的确定
  • x:
  • f(x):
  • x0:
  • 任務:在x0附近近似一個二階函數,求二階函數極值得到更準确的亞像素極值位置
系統性綜述:特征點檢測與比對
  • 矩陣的表達-1階
系統性綜述:特征點檢測與比對
  • 矩陣的表達-2階
系統性綜述:特征點檢測與比對
  • 極值點有可能是邊緣點,->除去邊緣點:DoG在邊緣處值較大,需要避免檢測到邊緣點
  • 計算主方向:通過統計梯度直方圖的方法确定主方向,使算法具有旋轉不變性
系統性綜述:特征點檢測與比對
  • SIFT特征檢測流程:旋轉不變性、尺度不變性、亮度 變化不變性,對視角變化、仿射變換有一定程度的穩定性
  • 1)計算圖像尺度空間:
  • 2)DoG極值點檢測與定位:保留 的特征點
  • 3)邊緣點去除:
  • 4)計算主方向
  • 5)生成描述子
  • 6)檢測結果
系統性綜述:特征點檢測與比對

4、快速特征點檢測方法:——實時性要求高

  • FAST特征點[3]:Feature from Accelerated Segment Test
  • 1)以候選點p為圓心建構一個離散圓
  • 2)比較圓周上的像素與p點像素值
  • 3)當有連續的n個像素值明顯亮于或者暗于p時,p被檢測為特征點,例Fast9,Fast12
  • 特性:通過檢測局部像素灰階變化來确認特征點的位置,速度快,SIFT的100倍;不具有尺度和旋轉不變性
  • 流程:
  • 檢測:
系統性綜述:特征點檢測與比對
  • Oriented FAST (ORB)
  • 擷取尺度不變性:建構圖像金字塔,在金字塔 每一層上檢測關鍵點
  • 擷取旋轉不變性 :通過灰階質心法(Intensity Centroid) 确定圖像主方向
  • 圖像塊B上的矩定義為:
  • 圖像塊B的質心定義為 :
  • 計算方向角 :
  • 檢測結果:
系統性綜述:特征點檢測與比對

三、特征描述子

特征描述子 Feature Descriptor

  • 每個特征點獨特的身份認證
  • 同一空間點在不同視角的特征點具有高度相似的描述子
  • 不同特征點的的描述子差異性盡量大
  • 通常描述子是一個具有固定長度的向量

特征支援區域

  • 主方向:進行旋轉并重新插值
  • 特征尺度:影響支援區域的大小
系統性綜述:特征點檢測與比對

1、基于直方圖的描述子

(1)用于微小運動的描述子 [4](e.g.相鄰兩幀視訊)

  • 定義:以特征點為中心的矩形區域内所有像素的灰階值作為描述子
  • 特性:适用于微小變化的圖像對 圖像存在明顯的旋轉、尺度、光照和透視變換時不穩定
系統性綜述:特征點檢測與比對

(2)Sift描述子——旋轉主方向

  • 定義:根據主方向對支援區域進行旋轉,并通過雙線性插值重構
  • 特性:圖像歸一化處理,去除光照變化
系統性綜述:特征點檢測與比對
  • 統計局部梯度資訊流程:
  • 1)将區域劃分成4x4的block ;
  • 2)每個block内統計梯度方向 的直方圖(高斯權重梯度作為系數)
系統性綜述:特征點檢測與比對

(2)Sift描述子——生成描述子

系統性綜述:特征點檢測與比對

(2)Sift描述子——歸一化處理

  • 處理方式
  • 1)門限處理-直方圖每個方向的梯度幅值不超過0.2
  • 2)描述子長度歸一化
  • 特性:歸一化處理提升了特征點光度變化的不變性
  • SIFT描述子變種:PCA-SIFT/SURF

(3)GLOH描述子[5]:Gradient Location-orientation Histogram

  • 一共有1+2x8=17 個blocks
  • 每個blocks計算16個方向的直方圖
  • 描述子共16x17=272維
  • 通過PCA可以降維到128
系統性綜述:特征點檢測與比對

(4)DAISY描述子[6]:每個圓的半徑對應高斯的尺度

系統性綜述:特征點檢測與比對

2、基于不變性的描述子

3、二進制描述子——BRIEF

  • 描述子形式:描述向量由N個0或者1組成 N=128,256,512
  • 描述子特性:生成速度快(漢明距離),比對效率高 ,簡單有效;不具有旋轉不變性
  • 描述子流程:
  • 1)圖像進行如高斯濾波預處理——去除噪聲
  • 2)在支援區域内随機采樣N對大小5×5的patch
  • 3)比較patch内像素和的大小,并保留結果構成特征向量 $\tau(p;x,y)=\left\{ \begin{aligned} 1, \ \ \ \ ifp(x)<p(y) \\ 0, \ otherwise \end{aligned} \right.$ p(x),p(y)是履歷在x,y處的patch< section>
系統性綜述:特征點檢測與比對

四、特征比對

計算兩幅圖像中特征描述子的比對關系

系統性綜述:特征點檢測與比對

1、距離度量

歸一化互相關,1 ->非常比對,0->不比對

系統性綜述:特征點檢測與比對

2、比對政策

最近鄰:加了距離限制,防止孤立點

系統性綜述:特征點檢測與比對

3、高效比對

系統性綜述:特征點檢測與比對

4、特征比對驗證

系統性綜述:特征點檢測與比對
系統性綜述:特征點檢測與比對
系統性綜述:特征點檢測與比對

參考

  1. T. Lindeberg. Detecting salient blob-like image structures and their scales with a scalespace primal sketch: A method for focus-of-attention. International Journal of Computer Vision, 11(3):283–318, Dec. 1993.
  2. T. Lindeberg. Feature detection with automatic scale selection. International Journal of Computer Vision, 30(2):79–116, Nov. 1998.
  3. E. Rosten and T. Drummond. Fusing points and lines for high performance tracking. In IEEE International Conference on Computer Vision (ICCV), 2005.
  4. Scharstein, D. and Szeliski, R. (2002). A taxonomy and evaluation of dense two-framestereo correspondence algorithms. International Journal of Computer Vision, 47(1):7–42.
  5. Mikolajczyk, K. and Schmid, C. (2005). A performance evaluation of local descriptors.IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(10):1615–1630.
  6. S. Winder and M. Brown. Learning local image descriptors. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2007.

本文僅做學術分享,如有侵權,請聯系删文。

▲長按關注公衆号