對於兩幅不同角度拍攝圖像,不考慮光學成像相關信息,僅認為兩幅圖像是通過某一種平面映射(如仿射變換)相關聯。使用該模型對兩幅圖像配准方法如下:
1 特征檢測與匹配
1)使用任意特征點檢測算法分別檢測出兩幅圖像上得顯著特征點(如 Harris 角點,SIFT,SURF等);
2)使用特征點描述算法對兩幅圖像特征點生成具體描述信息(如 BRIEF,SIFT, SURF等);
3)使用特征點匹配算法對兩幅圖像特征點進行匹配(如 Brute force matching,Fast approximate nearest neighbors matching);
4)保留部分特征點匹配度較高匹配點,作為圖像配准基本輸入信息;
2 二維幾何變換
1)平移(translation)
設 為變換前坐標,
為變換后坐標,
為平移向量,平移變換可表示為
,
使用矩陣表示為 ,令
,
,
,
,
其中 為齊次坐標表達,平移變換可簡化為
;
2)平移+旋轉(rotation)
在平移基礎上加入旋轉被稱為剛體運動(rigid body motion)或者歐幾里得變換(euclidean transformation),該變換前后歐式距離保持不變;
而單獨平移變換不僅歐式距離保持不變,同時線條方向等均保持不變。
向量 繞原點旋轉
后為
,以下給出兩者之間的關系:
如上圖所示,有 ,
將 帶入得
,得到了向量
繞原點旋轉
后的表達式。
添加平移分量得 ,使用矩陣表示為
,其中
。
3)相似變換(similarity transform)
在平移與旋轉基礎上添加縮放變換則構成了相似變換,相似變換使得變換前后點間距離發生變化,但保持角度不變。
相似變換可表達為 。
4)仿射變換(affine transform)
放射變換不改變平行性質,但不再保持角度不變,可表示為 。
5)透視變換(perspective transform)
透視變換不再保持平行性質,但保持直線性質。透視變換需要使用齊次坐標表示為 ,
變換后轉換為非齊次坐標為 。
3 圖像配准
假設兩幅圖像特征點之間存在以上以上5種變換關系中任意一種變換 A,變換前后可表示為 。
由於已知點對集 ,可以通過重新改寫表達式求解 A,改寫如下:
將矩陣 A 改寫為列向量 ,構造矩陣
,構造向量
,
變換 可被改寫為
,其中 a 為未知量,使用最小二乘法求解線性方程組可以得到最佳變換矩陣 A。
如何兩幅圖像特征點之間得變換為仿射變換,使用以上方案求解最佳變換矩陣是合理的;但如果兩幅圖像間變換為相似變換或者剛體變換,以上方案則存在參數冗余。
下面首先來分析各種變換的參數情況:
1)平移變換僅依賴平移向量 ,故其參數為
,觀察公式
可知平移變換為線性變換。
2)剛體變換在依賴平移向量基礎上增加了旋轉角度 ,故其參數為
;觀察公式
可知,
剛體變換不是線性變換;若將參數修改 ,可以認為該變換是關於變量
的線性變換。
3)相似變換依賴參數可表示為 ,其變換矩陣可改寫為
,該變換是關於變量
的線性變換。
這里使用 1 + a 而不使用 a,是因為當該參數無變換時,該變換矩陣為單位矩陣!
4)仿射變換變換矩陣可表示為 ,其依賴參數為
,該變換為線性變換。
5)透視變換矩陣可表示為 ,其依賴參數為
,觀察公式
可知該變換為非線性變換。
使用變換參數 p,兩幅圖像間特征點變換關系可表達為 , 其中
,
;變換后向量與匹配向量平方和最小化即為最優解,表達如下:
,
對於平移,剛體(使用參數 ),相似及仿射變換,
為線性變換函數,下面以相似變換為例給出推導:
, 當輸入向量
改變
時,利用線性近似可得:
,寫成矩陣為
,
其中 為變換矩陣
關於變量
的雅可比矩陣。
當變量 p 從 增加到
,輸入值
增加到
,
得 ,因此
描述了點對間得運動關系。
所描述的點對間的運動與實際點對間的運動差越小則表示變換模型越合理,因此,最小化平方和可改寫為:
,公式中僅 p 為未知量,展開公式如下:
,
使 即可求得最小平方和,得到線性方程組
,可求解 p。
4 非線性變換
由於受到鏡頭畸變以及成像角度影響,匹配點間的變換關系一般都無法使用簡單線性關系表示,可以首先利用簡單線性變換求得一個初始變換參數,
然后根據初始變換參數使用迭代方法求得精確變換關系。
在二維幾何變換中,剛體變換參數為 時為非線性變換。使用參數
或
可將該變換視為線性變換,
由於滿足 ,所以參數 a,b 並非獨立參數,線性變換求解的結果也不一定滿足關系
,
但可以將線性變換結果作為初始參數值 ,將其轉換為非線性參數
,
使用迭代算法(Levenberg Marquardt)即可求得最優解。具體如下:
1)第一次迭代前,參數 ,該值為線性變換的結果;
2)使用初始值求解更精確的變換參數 ,根據線性近似有
,
,由於
已知,為 x 經過參數
線性變換的結果,
令 ,進一步改寫為
,
對於所有匹配點,最小化 即為一次更好的迭代結果,
展開公式得 , 其中
線性變換與匹配點直接的差值向量,
為變換參數 p 在
點的雅可比矩陣,以上量均為已知量;
進一步整理 ,該函數的未知量為
,最小化函數可轉換為求解如下線性方程組:
,同時可估計本次迭代后誤差值;
3)使用 進行第二次迭代,其中
為第一次迭代的結果,
為
點經過
變換后的結果,重復 2)即可得到下一個迭代值,
估計第二次迭代后變換誤差值,比較相鄰兩次迭代的變換誤差可知是否得到一個更好的收斂值,同時也可以根據變換誤差值決定何時終止迭代。
參考資料 Computer Vision: Algorithms and Applications Richard Szeliski
Computer Graphics with OpenGL Donald Hearn & M. Pauline Baker & Warren R. Carithers