第二章 特徵點偵測
2.2 SURF 特徵點擷取
SURF 演算法以積分影像的使用簡化影像摺積運算,並透過 Hessian matrix 的應用以簡化的影像遮罩找尋影像特徵,除具備抗旋轉,抗尺度,抗角度以及抗 光源變化的特性外,其較佳的即時運算能力使其更適合於機器人應用,本論文即 以此種方法取得環境影像之資訊,以下各分節詳述其演算方法。
2.2.1 積分影像
積分影像對於 SURF 而言可以說是一種前置步驟,由於 SURF 演算法對影像
圖 2.2 Kinect 彩色影像與深度影像
大量使用遮罩的演算,如計算區域間之關鍵點時以 Box Filter 做 Hessian matrix 的近似計算,這類的運算量大且重複性高,積分影像之運用則能有效降低此問題,
其透過關注區域的四點運算,即可得到區域內的像素值總合。
積分影像𝐼Σ的形成,是將原影像 I 從原點的像素值累加至對應的影像座標,
令一積分影像上座標(u,v),I(u,v)為該影像座標的像素值,則該點積分影像的數 值𝐼Σ(u,v)如式 2.1:
u i
i v i
j v
u I i j
I
0 0
) ,
( (, )
(2.1) 當需要計算原影像上某區塊的像素值總和時,只要以積分影像計算關注之區 域的邊界點即可,如圖 2.3 中藍色區域的邊界點為影像座標 A、B、C、D 四點,
則對應原影像的藍色區域像素總值 K 可由積分影像 A、B、C、D 四點求得:
I(A) I (B) I (C) I (D) K
(2.2)
2.2.2 Fast-Hessian Detector
計算 SURF 的方式是基於 Hessian 矩陣的行列式,找出二次微分的極大與極 小值,Hessian matrix 在 SURF 演算法中被當作偵測器,其在計算時間及精確度 上具有很好的表現,定義於影像平面某點位置 X=(u,v),尺度 σ 的 Hessian matrix H(X,σ)如式 2.3
圖 2.3 影像關注區域之示意圖
B
C A
D (0,0)
) , ( ) , (
) , ( ) , ) (
,
(
X L X
L
X L X
X L H
vv vu
uv uu
(2.3) 其中𝐿𝑢𝑢(𝑋, σ)、𝐿𝑢𝑣(𝑋, σ)、𝐿𝑣𝑢(𝑋, σ)、𝐿𝑣𝑣(𝑋, σ)為 Laplacian of Gaussians (LoG),
是在影像座標 X 對不同方向以高斯二次偏微分之卷積運算的結果。
影像上對不同方向以高斯二次偏微分運算需要被離散化以及裁剪,如圖 2.4(a)左半邊是對影像在 V 方向做高斯二次偏微分,以𝐿𝑣𝑣表示,而圖 2.4(b)左半 邊則是對 UV 方向做高斯二次偏微分,以𝐿𝑢𝑣表示,這樣離散和裁減的結果使得 運算的結果與實際有所偏差,但以 Low 以 LoG 近似運算在特徵點取樣上的成功 應用[16]為參考,[17]將 Hessian matrix 利用 Box Filter 做近似並配合積分影像加 速運算。圖 2.4 中(a)右半邊是以 Box filter 近似 Hessian matrix 對 V 方向的二階偏 微,圖 2.4 中(b)則為對 UV 方向的二階偏微,其中灰色的區域值為零,在不同 方向以 Boxfilter 近似 Hessian matrix 的方式分別以Dvv和Duv來表示。
圖 2.4 Box Filter 近似 Hessian matrix 之影像遮罩[17]
不同濾波器的遮罩大小其對應 Hessian matrix 中不同的尺度(σ),一個 9x9 的 遮罩效果符合尺度σ = 1.2 時的高斯微分同時也是最低的尺度,為了使方形遮罩 的權重保持運算效率上的簡化,以 Hessian 的行列式|L|Luv(1.2)|F|Duu(9)|F
uu(1.2)|F|Duv(9)|F=0.912 ≃ 0.9進一步的去平衡權重,其中|x|F是 Frobenius norm,並且產生式(2.4)的結果。
此外,遮罩響應對應不同的遮罩大小要被正規化,如此以確保在不同遮罩大小下 具有相同的 Frobenius norm。因此,經過測詴,遮罩大小為 27x27 的 Boxfilter 符 合尺度σ 為 3.6 時的情況,以這樣的方式檢測相同影像在不同尺度下的特徵,圖 2.5 表示以不同大小的 Boxfilter 可以用來檢測相同影像在不同尺度下的特徵。
)2
9 . 0 ( )
det(Happrox DxxDyy Dxy
(2.4) 將影像上每個位置 X(u,v)經過遮罩計算後,每個影像平面上座標皆對應一個 經 Hssian matrix 運算之近似值,將影像平面上每一個點與其周圍 8 個點以及相鄰 取樣尺度空間的 18 個點比較(圖 2.6),判斷其是否為極大或極小值,若是,則我 們稱該點為本影像中的一個關鍵點。
2.2.3 描述元
特徵點在連續的影像中要能夠被找到,依賴的是對關鍵點的描述方式,
SURF 先透過哈爾小波響應(Haar-wavelet responses)[17]找出代表關鍵點的主方向,
再利用關鍵點周圍像素的哈爾小波響應統計為關鍵點的描述元。
圖 2.5 SURF 遮罩與尺度關係示意[24]
圖 2.6 影像關鍵點計算之示意圖[16]
2.2.3.1 關鍵點的主方向
首先,SURF 以關鍵點為中心半徑為 6s 的圓型區域計算在 u 以及 v 方向的 哈爾小波響應,其於影像平面之應用是以圖 2.7 做遮罩運算,遮罩的大小則為 4s,
其中 s 代表的是所要檢測的關鍵點所在的尺度大小,如此得到區域內每個點在 u 以及 v 方向的分量,接著再以大小為𝝅/3 圓的區域做統計,每個區域統計得到一 個代表這𝝅/3 圓區域的向量長度以及方向,滑動𝝅/3 圓的位置得到多組區域的向 量,最終,找出一個向量長度最長者作為代表這關鍵點的描述方向,透過關鍵點 主方向的計算,使得 SURF 特徵點具備抗旋轉之特性
2.2.3.2 特徵點描述元
具備描述元之關鍵點即為最終 SURF 演算法所得到之特徵點。SURF 以關鍵 點為中心,以代表其關鍵點的主方向為基準,設立一個邊長大小為 20 倍𝝈(尺度) 方框如圖 2.8,該方框內的區域再區分為 16(4*4)個子區域,計算區域內的哈 爾小波響應是以關鍵點的主方向為基準計算 U(水平)以及 V(垂直)方向之哈爾小 波響應(圖 2.8)。其中 du 稱為水平方向的哈爾小波響應,dv 稱為垂直方向的哈爾 小波響應,每個子區域將其水平、垂直、水平的絕對值以及垂直的絕對值變化量 個別累加的總值作為子區域的描述向量 P。
P=(
du,
dv,
du,
dv) (2.5)
圖 2.7 哈爾小波響應之影像遮罩[24]
圖 2.8 描述元計算之示意圖
圖 2.9 顯示以不同影像做哈爾小波響應後各分量得到的統計之結果,最左邊 的取樣影像為單調色彩的同質影像,其經過哈爾小波響應做描述元的所有分量之 數值都相對的低;而圖 2.9 中間為 U 方向間隔一段距離變換色彩的影像,因此水 平方向的絕對值總合Σ|𝑑𝑢|最為突出;而圖 2.9 最右邊的圖為 U 方向亮度逐漸加 強的影像,因此水平方向以及水平方向Σ𝑑𝑢的絕對值總合的哈爾小波響應Σ|𝑑𝑢| 的數值較大。
描述元的建立以關鍵點為中心 20 倍尺度長的方框劃分 16 個子區域,每個子 區域計算四個維度的資訊,故每個描述元是由維度為 64 之特徵向量所構成。
圖 2.10 顯示實驗室一處以 SURF 特徵點擷取後的結果,其中圓的中心代表特徵 點在影像平面上的位置,而圓的直徑大小代表該特徵點尺度的不同,越大的圓表 示該特徵點是在較大的尺度下所計算出來的結果。