特徵與描述子

影像關鍵點

想像你和朋友從略為不同的角度拍攝同一棟建築,然後試著找出你照片中的哪個像素對應到對方照片中的哪個像素。逐一比對每個像素是徒勞的,因為一片平坦的藍天像素和其他上千個天空像素看起來一模一樣。你真正需要的,是少數幾個獨特的地標,例如旗桿的尖端或窗戶的轉角,這些位置你能在兩張照片中都自信地指出來,並說「這是同一個實體位置」。影像關鍵點正是這樣的地標:影像中一個小而獨特、可重複偵測的位置,能作為比對、追蹤與重建的穩定錨點。

更精確地說,關鍵點是由偵測器(detector)所選出、對局部影像結構(如角點或斑點)強烈反應的一個點(通常還帶有尺度與方向,有時是一個橢圓區域)。好的關鍵點具備四項性質。可重複性(repeatability):即使影像經過旋轉、尺度變化、視角位移或光照改變,仍能在同一個實體位置被找到。獨特性(distinctiveness):其周圍的影像區塊夠豐富,足以與其他關鍵點區分。局部性(locality):它只依賴一個小鄰域,因此能在遮擋與雜亂背景下存活。精確性(accuracy):其位置能被精確定位,往往達到次像素(sub-pixel)精度。

關鍵點只是故事的一半。偵測器決定有趣的點在哪裡;接著由獨立的描述子(descriptor,如 SIFT、SURF、ORB 等)將每個關鍵點周圍區塊的外觀編碼成向量或二進位字串,使兩個關鍵點能以數值方式比較。這套「先偵測再描述」的流程是傳統運動恢復結構(structure-from-motion)、視覺 SLAM、全景拼接與物件辨識的骨幹。平坦區域與直邊不適合當關鍵點:平坦區域在每個方向都模稜兩可,而位於直邊上的點可以沿著邊滑動而外觀不變(這就是孔徑問題,aperture problem),因此偵測器刻意尋找外觀在兩個獨立方向都會改變的角點與斑點。

現代深度學習產生了學習式的關鍵點偵測器與描述子,例如 SuperPoint、D2-Net、R2D2 與 DISK,常以聯合方式訓練,並搭配 SuperGlue 或 LightGlue 等學習式比對器。在極端視角與光照變化下,它們可能遠比手工設計的偵測器更穩健,而端到端系統有時甚至完全跳過顯式關鍵點。即便如此,關鍵點這個抽象概念仍居核心地位,因為它稀疏、可解釋且具幾何意義,而這正是下游幾何運算(三角測量、姿態估計)所需要的。

別把偵測器和描述子搞混:「找到一個角點」(偵測)與「編碼這個角點長什麼樣」(描述)是兩個獨立步驟,且可自由搭配(例如用 FAST 關鍵點配 SIFT 描述子)。許多初學者的錯誤都源於拿不同方法算出的描述子互相比較。

又称
interest pointfeature pointsalient point