特徵與描述子

Harris 角點偵測器

角點是兩條邊緣相交之處,它是最可靠的關鍵點,因為它同時被兩個方向釘住。Harris 角點偵測器由 Chris Harris 與 Mike Stephens 於 1988 年發表,把一個簡單直覺形式化:在影像上滑動一個小視窗,看看其內的像素內容變化多少。在平坦區域上,把視窗往任何方向滑都幾乎不變。沿著邊緣,平行於邊緣滑動毫無變化(你分不出自己沿邊在哪),但橫越它滑動則變化很大。在角點處,往任何方向滑動內容都變化很大。角點正是那種在每個位移下外觀都強烈改變的位置。

為了讓這件事可測量,考慮視窗位移一小段時,強度差平方的加權和。用一階泰勒近似展開後可知,這個變化由一個 2×2 矩陣支配,稱為結構張量(structure tensor,或二階矩矩陣),它由視窗內影像梯度與自身的外積、以高斯加權後相加而成。白話說,這個矩陣在整個視窗上累積了水平梯度的平方、垂直梯度的平方,以及水平與垂直梯度的乘積。它的兩個特徵值衡量強度沿兩個主方向變化的強弱:兩個特徵值都小代表平坦區域,一大一小代表邊緣,兩個都大代表角點。

在 1988 年,於每個像素計算特徵值代價高昂,因此 Harris 與 Stephens 定義了一個避開它的角點反應:矩陣的行列式,減去一個小常數乘以其跡的平方。行列式等於兩特徵值之積,跡等於兩者之和,所以只有當兩個特徵值都大時(角點),這個反應才會是大的正值;在邊緣附近為負,在平坦區域則很小。這個經驗常數通常介於 0.04 到 0.06 之間,控制靈敏度。角點便是那些反應既高於門檻、又是局部極大值(經非極大值抑制)的像素。與之密切相關的 Shi-Tomasi 偵測器(「適合追蹤的好特徵」)則直接使用較小的特徵值,這對追蹤往往更穩定。

由於結構張量由梯度建構、並在一個圓形高斯視窗上相加,Harris 反應對旋轉具有不變性(旋轉影像會旋轉特徵向量但不改變特徵值),對加性亮度變化也不變,且在雜訊下表現平緩退化。它的關鍵弱點是不具尺度不變性:在某個縮放層級看似角點的東西,當你放大到足夠程度時看起來會是一條平滑曲線,所以同一個固定視窗在不同尺度會找到不同的點。這個限制直接促成了尺度空間方法,以及同時在尺度與位置上搜尋的 Harris-Laplace 與 SIFT 偵測器。

公式 det(M) - k·trace(M)² 中的常數 k 純屬經驗值,它之所以重要,只是因為能讓你避開特徵值計算。若你直接計算特徵值(Shi-Tomasi),就完全不需要 k。初學者常為調整 k 而苦惱,但其實反應的門檻與視窗大小重要得多。

又称
Harris-Stephens detectorHarris & Stephens corner detector