1. 程式人生 > >Opencv3筆記34——SURF特徵點檢測

Opencv3筆記34——SURF特徵點檢測

1.演算法概述

SURF(SpeededUp Robust Features)加速版的具體魯棒性的特徵。Bay在2006年首次提出了,SURF是尺度不變特徵變換演算法(SIFT演算法)的加速版。一般來說,標準的SURF運算元比SIFT運算元快了好幾倍。並且在多幅圖片下具有更好的穩定性。SURF最大的特徵在於採用了harr特徵以及積分影象的概念。大大加快了程式的執行時間。SURF可以用於計算機視覺的物體識別以及3D重建中。

2.SURF演算法原理

2.1 構建Hessian矩陣構建高斯金字塔尺度空間

SIFT採用的DOG影象,SURF採用的是Hessian矩陣行列式近似值影象。Hessian矩陣是SURF演算法的核心。在數學中,海森矩陣是一個自變數為向量的實值函式的二階偏導陣列成的方塊矩陣。假設函式

f(z,y),Hessian矩陣H是函式,偏導陣列成。首先看影象中某個畫素點的Hessian矩陣

H(f(x,y))=[2fx22fxy2fxy2fy2]

即每一個畫素點都可以求出一個Hessian矩陣

H矩陣判別式為:

det(H)=2f2fx2y2(2fxy)2
判別式的值是H矩陣的特徵值,可以利用判定結果的符號將所有點分類,根據判別式取值正負,來判別該點是或不是極值點。

在SURF演算法中,用影象畫素

I(x,y)即為函式值f(x,y),選用二階標準高斯函式作為濾波器,通過特定核間的卷積計算二階偏導數,這樣便能計算出H矩陣的三個矩陣元素Lxx,Lyy,Lxy,從而計算出H矩陣。

H(x,σ)=[Lxx(x,σ)Lx,y(x,σ)Lxy(x,σ)Lyy(x,σ)]