特征,特征不變性,尺度空間與圖像金字塔


博客:blog.shinelee.me | 博客園 | CSDN

特征

在計算機視覺領域,特征是為了完成某一特定任務需要的相關信息。比如,人臉檢測中,我們需要在圖像中提取特征來判斷哪些區域是人臉、哪些區域不是人臉,人臉驗證中,我們需要在兩個人臉區域分別提取特征,來判斷他們是不是同一個人,如下圖所示,深度神經網絡最終得到一個128維的特征用於識別等任務,圖片來自Openface

Openface-face-identification-workflow

常用的特征包括:圖像灰度or灰度、直方圖、梯度、邊緣、紋理、矩、SIFT、深度學習特征等等。以關鍵點特征為例,關鍵點指的是可以穩定出現的特殊點,如角點、局部極值點等,如上圖中人臉中眼鼻口處的關鍵點,先檢測圖像中的關鍵點,然后在以該點為中心的鄰域范圍內提取信息,作為該點的特征描述。關鍵點特征的好處在於,關鍵點可以穩定復現同時其特征描述聚焦在關鍵點鄰域內,對遮擋、形變等有很好魯棒性。以SIFT描述子為例,其將關鍵點周圍的梯度統計直方圖作為該點的特征,如下圖所示,圖片來自鏈接

SIFT descriptor

不同的特征適用范圍也不同,有些特征對光照敏感,有些特征對形變敏感,需要根據任務場景選擇適合的特征——適合的才是最好的,不是什么時候都要上牛刀。如果任務場景簡單,比如明確知道光照條件不變、人臉基本正面且表情妝容沒有變化,可能直接使用灰度或梯度進行模板匹配就可以識別了,但如果場景復雜,光照可能變化、表情可能變化、人臉角度也不確定,那么為了完成任務,選取的特征就需要有較好的適應性,這就要談到特征不變性

特征不變性

Invariant local features

以上圖為例,左右兩圖中玩具車的姿態不同、大小不同、圖像亮度不同,對應局部(圖中黃色小塊)在各自圖中的絕對位置不同、大小不同、方向不同、灰度不同,為了實現配准,就需要在局部提取的特征具有某些不變性,才能夠匹配上。

  • 幾何不變性(geometric invariance):平移,旋轉,尺度……
  • 光度不變性(photometric invariance):亮度,曝光……

圖像預處理通過對輸入圖像進行歸一化(最大最小值歸一化、均值方差歸一化、直方圖均衡化等),能在一定程度上做到對亮度或光照魯棒。此外,在設計特征提取算法時,通過考慮相對信息和統計信息(比如梯度、直方圖等),降低對灰度(顏色)絕對值的敏感度,可以進一步做到對亮度或光照魯棒

通過使用局部窗口內的像素信息和相對位置信息局部特征一般都能做到平移無關。要做到旋轉無關,則需要將窗口以某個主方向對齊后再提取局部特征,如圖中傾斜的黃色小塊,主方向可以是窗口內最集中的梯度方向。

接下來,講述一下如何做到尺度無關

尺度空間

尺度,可以通過地圖的比例尺來理解,如下圖所示,如果以100米為單位進行觀測(稱為圖100),箭頭處有一個角點A,如果以5米為單位進行觀測(成為圖5),則A附近多了一個凹陷B,而這個凹陷B在圖100中是看不見的,為什么呢?尺度空間理論認為是被平滑掉了,即低尺度下可以看清細節,高尺度下細節會被平滑掉只剩下更“宏觀”的特征,因此可知

  • 特征是有尺度的,在某個尺度下B是關鍵點(圖5中),但在更大的尺度下可能就不是了(圖100中)
  • 需要在對應的尺度下提取特征,既然B僅在圖5的尺度下是關鍵點,其特征自然需要在圖5的尺度下提取

map scale

如果兩幅圖像的尺度不同該如何匹配?圖100和圖5中的A是同一個點,但因為尺度不同,鄰域差異很大,在各自的鄰域中提取的特征自然不同,為了讓它們能匹配上,需要對圖5構建尺度空間,獲得不同尺度下的表達,具體怎么做呢?保持圖5圖像尺寸不變,不斷(高斯)平滑,直到B處的凹陷平滑沒了(與圖100相似),達到與圖100相近的尺度,圖100中在A鄰域內(比如\(10 \times 10\))提取特征(比如SIFT),圖5中在A鄰域內(\(200 \times 200\))提取特征,兩者在各自圖像中提取的SIFT特征長度相同(將領域划分成同樣數量的子區域,然后在子區域中統計梯度直方圖,某種程度上講是對鄰域窗口的歸一化后再提取特征),這樣就可以匹配上了。

平滑類似如下過程,最下面一行為原始信號,每一行對應一個尺度:
scale Gaussian smooth

一般來講,在沒有先驗知識的情況下,對兩幅圖像分別在每個尺度上檢測關鍵點並提取特征,總有某些關鍵點及其特征正好來自相同的尺度,如果它們恰好可以匹配上,則圖像1和圖像2匹配,反之,如果所有關鍵點都配不上,則圖像1和圖像2不匹配。

小結一下:尺度空間,是在信號長度不變的情況下(如上圖\(f(x)\)\(f^t(x)\)),通過(高斯)平滑,獲得信號在不同尺度下的表達,然后使用尺度對應大小的窗口進行觀測和提取特征。因為獲得了原始信號在所有尺度下的特征,這些特征在整體上做到了尺度無關——因為原始信號各種尺度的特征都有了。

圖像金字塔

尺度空間中,不同尺度下觀測窗口的像素尺寸是不同,還有另外一種情況,保持觀測窗口大小不變,讓圖像尺寸發生變化。以人臉檢測為例,通常訓練結束后,方法中用到的濾波器、卷積核的參數和尺寸就固定了,因此提取到的特征只適用於檢測像素大小在某個范圍內的人臉,超出這個范圍的人臉就檢測不出來了。但是,在沒有先驗知識的情況下,輸入圖像中人臉的像素大小是未知的,不同輸入圖像中人臉的像素尺寸也可能不同,怎么辦?這是就要用到圖像金字塔,如下圖所示,使用RCNN檢測人臉,圖像中的人臉有大有小,通過構建圖像金字塔來檢測,圖片來自鏈接

FZwrE4.png

構建圖像金字塔,是為了獲得圖像在不同尺寸(不同分辨率)下的表達,通過不斷重復 平滑+下采樣 的過程(也有通過插值Resize),獲得了不同像素尺寸的人臉圖像,其中只要有與網絡適配的人臉就可以被檢測出來。

小結一下:圖像金字塔,是在保持觀測窗口不變的情況下,獲得輸入圖像在不同尺寸(分辨率)下的表達,在不同尺寸上提取到的特征在整體上做到了尺寸(分辨率)無關。實際使用中,一般采用2倍下采樣,即金字塔中圖像長寬逐層折半。

細心的讀者可能已經發現,尺度空間和圖像金字塔存在着某種關聯,有種一體兩面的感覺,實際上兩者可以聯合在一起使用,我們以后再談。

總結

本文的重點在於講述 幾種特征不變性以及實現特征不變性的途徑,對尺度空間和圖像金字塔只是做了直觀的介紹,后面會單獨寫文章詳細講解。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM