第四章 特徵點擷取與對應
4.2 彩色碼
Harris 演算法計算過程裡所得的X 、Y分別為影像在 x 方向和 y 方向 的梯度,如(4.3)、(4.4)式,對每一個影像點來說,梯度向量∇I可以表示為 (4.10)式。有了梯度向量,我們可以很容易計算出梯度向量的方向,也就是 梯度向量∇I的餘切函數,如(4.11)式。
( , ) ( I, I) I X Y
x y
∇ = = ∂ ∂
∂ ∂ (4.10)
cot x
y
I θ = ∇I
∇ y
I x I
∂
∂
∂
= ∂ / (4.11)
-1 0 1 -2 0 2 -1 0 1 -1 -2 -1
0 0 0 1 2 1
(d) (e)
圖 4.4 (a)原始影像 (b)做∂ ∂I/ x後的影像 (c)做∂ ∂I/ y後的影像 (d)Sobel operator Gx (e)Sobel operator Gy
從圖 4.4(b)和 4.4(c)可以看到原始影像中 x 方向和 y 方向的梯度變化,
這種效果其實和 Sobel operator 的結果非常類似,Sobel operator 常用於邊 的偵測。
如此一來,利用 Harris 演算法,我們不但能夠擷取影像的特徵點,也
可得到每一像素周圍灰階變化的情形和方向,分析周圍灰階的改變,可作 為特徵點對應的線索,若場景點M 分別投影在左右影像的點 、m',則 、
'可視為一組對應的特徵點,理論上 、m'周圍的灰階變化強度和方向應 該相去不遠,這個線索將是特徵點對應的重要依據。
m m
m m
若影像點位於邊與邊的交點,或者是邊或線上,這些點通常會有較大 的灰階變化且梯度方向也較明顯,和 Harris 演算法相同,為了避免雜訊的
影響,也必須設適當的門檻值,在這裡只保留
2 2
y I x I
∂ +∂
∂
∂ 大於 10 的影像點。
圖 4.5 以不同顏色代表不同的梯度方向
刪除影像灰階變化較不明顯和可能為雜訊的點後,便可針對梯度向量 的方向進行分析,利用(4.11)式計算梯度向量的餘切函數後,我們將所有的 梯度方向歸納為八類,如圖(4.5),按反時針的順序依次為 、 、 、
、 、 、 、 ,其中中間灰色的部分為 x 方向梯度與 y 方向梯度值皆小於 10 的區域,由於此區域中灰階變化並不明顯,或是雜 訊本身影響了梯度計算,使得我們無法判別梯度方向;以 的區域為例,
它代表的意義是 y 方向的梯度大於 10 且 y 方向梯度和 x 方向梯度的比值大 於 3.2,也就是說 y 方向的灰階變化比 x 方向明顯,此時像素周圍灰階分佈 由上至下呈現深到淺;以 的區域為例,梯度向量的長度大於 10 且 x 方向梯度和 y 方向梯度的比值需小於-0.3,大於-3.2,此時像素周圍灰階分 佈由上至下呈現深到淺、由左至右呈現淺到深的變化,如此我們可用不同
°
0 45° 90°
°
135 180° 225° 270° 315°
° 90
° 135
的顏色代表梯度方向的改變。
利用 Harris 演算法擷取圖 4.6(a)的特徵點,再用圖(4.5)的結果對這些 特徵點的梯度方向分類,可得圖 4.6(b),觀察圖中的梯度變化或顏色改變,
我們可以發現同一個邊或線上的點,其梯度向量之方向及顏色都很相似,
由於每一個特徵點其灰階變化和梯度方向不盡相同,在特徵點的對應上,
利用本節的方法加以分析將可順利找出對應的特徵點,這樣的方法我們稱 之為彩色碼(color code)。
(a) (b) 圖 4.6 (a)原圖 (b)將影像梯度方向分類
圖 4.7 (a)特徵點四周的八個 3×3 小視窗 (b)以彩色碼代表每個視窗中的梯度方向
在 Harris 演算法擷取特徵點的同時,每一個像素的梯度方向也被計算 出來,我們在特徵點的四周建立八個 3×3 的視窗,如圖 4.7(a),每一個小 視窗包含九個像素,由於每一個像素對應一個梯度方向,我們可以找出這
小視窗裡相對多數的梯度方向代表整個視窗的梯度方向,這樣一來,特徵 點其四周八個小視窗的梯度方向可以用彩色碼表示,如圖 4.7(b)。
(a) (b)
(c) (d) (e)
圖 4.8 (a)左影像 (b)右影像 (c)左右影像紅色圓圈特徵點之彩色碼 (d)左影像橘 色圓圈特徵點之彩色碼 (e)右影像橘色圓圈特徵點之彩色碼
以實際的室內場景為例,圖 4.8(a)是左影像、圖 4.8(b)為右影像,橘色 圓圈和紅色圓圈分別是兩組對應的特徵點,紅色圓圈之特徵點皆擁有相同 的彩色碼,如圖 4.8(c),左影像橘色圓圈和右影像橘色圓圈之特徵點經過 量化梯度方向之後,彩色碼的分佈分別為圖 4.8(d)和圖 4.8(e),由圖可知彩 色碼有兩個方向不同,借由彩色碼的比對,可用於特徵點的比對。
分析目前各種特徵點擷取演算法,樣板比對在找出特徵點後,必須對 每一組候選點都計算相關係數(correlation),Zheng[1]在找出特徵點後,對 每一組候選點計算對應強度(strength of the match),兩者都需要額外的計算
,而彩色碼可由 Harris 計算過程中的梯度方向產生,若利用彩色碼的概念 在特徵點的對應上,將能獲得快速且正確的對應。