實驗原理
1. SIFT演算法
SIFT是一種找出圖像特徵點的演算法,主要是利用金字塔分層的方式,把計算量相對大的工作在初期步驟完成,使計算量可以降低以方便後續的步驟計算,也提高了SIFT 演算法的效率。SIFT 演算法在資訊量豐富的影像中具有提取大量特徵點且均勻分佈的能力,此演算法提供足夠的能力去完成物件匹配與識別的工作。如下圖所示,我們將圖片上每個pixel的值,與其相鄰之八個pixel之值,乘以高斯分布的數值,將不同σ值之圖片相減,取其高斯差分函數DoG,其公式如下
取其特徵點後,找出極值,然後做不同圖片之特徵點匹配,如下圖1
圖1 |
---|
2. RANSAC 匹配除錯
RANSAC演算法主要是針對拼接時所產生的特徵點匹配錯誤,來進行除錯的工作。主要的方法如下: 首先隨機選擇兩個點,這兩個點會形成一條直線,在這條直線內一定距離的點稱為內群(Inliers)。隨機選擇重複數次後,具有最大內群特徵點群的直線就被認定為採樣的罪是樣本群模式,如圖2。在此樣本群誤差範圍內的特徵點稱為內群(Inliers),反之則稱為離群(Outliers)。
圖3為RANSAC執行,將(左)特徵點中找出最適樣本群模式,(右)圖中藍色點為模式中認定的內群點集,紅色為離群點集。RANSAC演算法最主要是隨機取樣並找出最適合的匹配模式,並把不符合模式的部分予以剔除。
圖2 |
圖3 |
---|