1. 程式人生 > >影象拼接演算法總結(一)

影象拼接演算法總結(一)

影象的拼接技術包括三大部分:特徵點提取與匹配、影象配準、影象融合。
1、基於SRUF 的特徵點的提取與匹配
為了使拼接具有良好的精度和魯棒性,同時又使其具有較好的實時性,本實驗採用SURF 演算法完成影象序列特徵點的提取。
SURF 演算法又稱快速魯棒特徵,借鑑了SIFT 中簡化近似的思想,將DoH 中的高斯二階微分模板進行了近似簡化,使得模板對影象的濾波只需要進行幾個簡單的加減法運算,並且這種運算與濾波模板的尺寸無關。實驗證明,SURF 演算法較SIFT 在運算速度上要快3 倍左右,綜合性能要優於SIFT 演算法。
SURF 特徵點提取與描述主要包含4 個步驟:
1)檢測尺度空間極值。
2)精煉特徵點位置。
3)計算特徵點的描述資訊。

4)生成描述特徵點的特徵向量。

SURF的匹配演算法是通過計算兩個特徵點藐視運算元之間的歐式距離得到的,即找出與特徵點描述符pi歐式距離最近和次近的兩個鄰居特徵點描述符qi'和qi'',然後計算pi與qi'以及pi與qi'' 兩組描述符之間歐式距離的比值r。如果比值r小於規定閾值規則視為匹配成功,(pi,qi')點對則為影象序列中的一對匹配點,否則匹配失敗。這種匹配方法簡便快捷,但是會差生誤匹配。在影象配準模組會使用RANSAC進行誤匹配點的篩選。

2、影象配準

影象配準是一種確定待拼接影象間的重疊區域以及重疊位置的技術,它是整個影象拼接的核心。本節採用的是基於特徵點的影象配準方法,即通過匹配點對構建影象序列之間的變換矩陣,從而完成全景影象的拼接。

變換矩陣H求解是影象配準的核心,其求解的演算法流程如下。

1)檢測每幅影象中特徵點。

2)計算特徵點之間的匹配。

3)計算影象間變換矩陣的初始值。

4)迭代精煉H變換矩陣。

5)引導匹配。用估計的H去定義對極線附近的搜尋區域,進一步確定特徵點的對應。

6)重複迭代4)和5)直到對應點的數目穩定為止。

設影象序列之間的變換為投影變換

可用4組最佳匹配計算出H矩陣的8 個自由度引數hi=( i=0,1,...,7),並以此作為初始值。

為了提高影象配準的精度,本節採用RANSAC演算法對影象變換矩陣進行求解與精煉,達到了較好的影象拼接效果。RANSAC演算法的基本原理可通過圖9-1來描述。


圖9-1:RANSAC演算法

RANSAC演算法的思想簡單而巧妙:首先隨機地選擇兩個點,這兩個點確定了一條直線,並且稱在這條直線的一定範圍內的點為這條直線的支撐。這樣的隨機選擇重複數次,然後,具有最大支撐集的直線被確認為是樣本點集的擬合。在擬合的誤差距離範圍內的點被認為是內點,它們構成一致集,反之則為外點。根據演算法描述,可以很快判斷,如果只有少量外點,那麼隨機選取的包含外點的初始點集確定的直線不會獲得很大的支撐,值得注意的是,過大比例的外點將導致RANSAC演算法失敗。在直線擬合的例子中,由點集確定直線至少需要兩個點;而對於透視變換,這樣的最小集合需要有4個點。

圖9-1中藍色點屬於內點(正確點),而第紅色點屬於外點(偏移點)。此時用最小二乘法擬合這組資料,實際的最佳擬合直線是那條穿越了最多點數的藍色實線。

3、影象合成

根據影象間變換矩陣H,可以對相應影象進行變換以確定影象間的重疊區域,並將待融和影象對映到到一幅新的空白影象中形成拼接圖。需要注意的是,由於普通的相機在拍攝照片時會自動選取曝光引數,這會使輸入影象間存在亮度差異,導致拼接後的影象縫合線兩端出現明顯的明暗變化。因此,在融和過程中需要對縫合線進行處理。進行影象拼接縫合線處理的方法有很多種,如顏色插值和多解析度樣條技術等,本節採用了快速簡單的加權平滑演算法處理拼接縫問題。該演算法的主要思想是:影象重疊區域中畫素點的灰度值Pixel 由兩幅影象中對應點的灰度值Pixel_L和_R加權平均得到,即Pixel=k×Pixel_L+(1-k)× Pixel_R,其中k是可調因子。圖9-2為加權平滑演算法圖。


圖9-2:加權平滑演算法

通常情況下0<k<1,即在重疊區域中,沿影象1向影象2的方向,k由1漸變為0,從而實現重疊區域的平滑拼接。為使影象重疊區域中的點與兩幅影象建立更大的相關性,令k=d1/(d1+d2),其中d1,d2分別表示重疊區域中的點到兩幅影象重疊區域的左邊界和右邊界的距離。即使用公式Pixel = ×Pixel_L + ×Pixel_R進行縫合線處理。