surf演算法應用工業檢測之二(原理詳解)
surf演算法用畫素的海塞矩陣來描述一副影象的特徵點,因此我們後續的講解中都是圍繞怎麼計算影象的海塞矩陣和怎麼篩選和匹配求出的特徵點來講解,怎麼實現模式搜尋和影象匹配。海塞矩陣的數學公式如下:
以上公式就是對每乙個畫素點求出乙個海賽矩陣,對於x方向和y方向的二階偏導。特徵點要具備尺度無關性(這樣做的目的就是進一步篩選那些關鍵點,在不同尺度下都達到要求的點,才列為關鍵點),所以在計算海賽矩陣以前,要對影象進行高斯濾波,得到不同尺度的影象。並且計算不同尺度下的影象特徵點。什麼是不同尺度的影象呢?通俗理解就是,乙個影象場景對人眼來講,不同遠近模糊程度不同,遠的較為模糊,近的較為清楚。這樣的話,我們可以通過對一副影象場景進行高斯濾波來模擬一副的不同尺度。
不同尺度的影象得到,通過高斯濾波,高斯濾波在二維空間的定義為:
公式2.2
圖2.1 matlab中影象表示
在二維空間中,這個公式生成的曲面的
等高線是從中心開始呈正態分佈的
同心圓。分布不為零的畫素組成的
卷積矩陣與原始影象做變換。每個畫素的值都是周圍相鄰畫素值的
加權平均
。原始畫素的值有最大的高斯分布值,所以有最大的權重,相鄰畫素隨著距離原始畫素越來越遠,其權重也越來越小。這樣進行模糊處理比其它的均衡模糊濾波器更高地保留了邊緣效果。
其中,是正態分佈的標準差,
值越大,影象越模糊(平滑
)。r為模糊半徑,模糊半徑是指模板元素到模板中心的距離。如二維模板大小為
m*n,則模板上的元素
(x,y)
對應的高斯計算公式為:
公式2.3
通過以上公式我們可以計算出不同σ值下,不同大小的高斯模板。
下圖是5*5的高斯模板卷積計算示意圖。高斯模板是中心對稱的。
圖2.2
圖2.3
以上代表不同尺度因子σ去不同值的結果。由此得到不同尺度的影象,如圖2.3
影象尺度不同實際就是影象的模糊程度不同,就像一副影象在人眼中表示遠近不同,越近越清楚,越遠越模糊。所以用高斯濾波可以很好的模擬不同尺度的同一幅影象。
SURF檢測演算法
surf 演算法,全稱是 speeded up robust features,是針對sift演算法的基礎上進行的改進。最核心的內容是確定hession矩陣,hession矩陣其實就是影象中畫素座標x y對高斯濾波函式求解得到的偏導矩陣。a.影象中某個畫素點hessian矩陣 即每乙個畫素點都可以求...
特徵檢測演算法 SURF
reference surf 演算法,全稱是 speeded up robust features。該運算元在保持 sift 運算元優良效能特點的基礎上,同時解決了 sift 計算複雜度高 耗時長的缺點,對興趣點提取及其特徵向量描述方面進行了改進,且計算速度得到提高。具體步驟為 1 構造hessia...
特徵檢測 SURF演算法原始碼收集
前言 1 googlecode 原始碼位址1 2 googlecode 原始碼位址2 3 c 版原始碼 4 matlab版原始碼 5 opencv版原始碼 英文注釋 6 opencv版原始碼 中文注釋 1 surf wikipedia 2 surf原 翻譯 pdf 3 影象區域性不變性特徵與描述 p...