在過去的二十年中,計算機視覺研究已經集中在人工標定上,用於提取良好的圖像特征。在一段時間內,圖像特征提取器,如 SIFT 和 HOG 是標准步驟。深度學習研究的最新發展已經擴展了傳統機器學習模型的范圍,將自動特征提取作為基礎層。他們本質上取代手動定義的特征圖像提取器與手動定義的模型,自動學習和提取特征。人工標定仍然存在,只是進一步深入到建模中去。
本博客先從流行的圖像特征提取SIFT和HOG入手,深入研究深度學習的特征工程。
在 1999 年,計算機視覺研究者想出了一種更好的方法來使用圖像的統計數據來表示圖像。它叫做 Scale Invariant Feature Transform(SIFT)。
人工特征提取:SIFT 與 HOG
圖像梯度:
HOG 和 SIFT 都基於圖像鄰域的兩層表示:首先,將相鄰像素組織成單元,然后將相鄰單元組織成塊。計算每個單元的方向直方圖,並將單元直方圖矢量連接起來,形成整個塊的最終特征描述符。相鄰像素之間的差值稱為圖像梯度。
SIFT 使用16x16
像素的單元,將其組織成 8 個方向的容器,然后通過4x4
單元的塊分組,使得圖像鄰域的4x4x8=128
個特征。
HOG 論文實驗用矩形和圓形形狀的單元和塊。矩形單元稱為 R-HOG。最好的 R-HOG 設置為8x8
像素的 9 個定向倉,每個分組為2x2
個單元的塊。圓形窗口稱為 C-HOG,具有由中心單元的半徑確定的變量、單元是否徑向分裂、外單元的寬度等。
圖像歸一化處理:
圖像特征與文字區別很大,其對在自然圖像中出現的照明和對比度的變化可能是非常敏感的。例如,在強烈的聚光燈下觀察蘋果的圖像,而不是透過窗戶發出柔和的散射光。即使物體是相同的,圖像梯度也會有非常不同的幅度。為此,計算機視覺中的圖像特征通常從全局顏色歸一化開始,以消除照度和對比度方差。對於 SIFT 和 HOG 來說,結果表明,只要我們對特征進行歸一化,這種預處理是不必要的。
SIFT結構
SIFT 需要相當多的步驟。HOG 稍微簡單,但是遵循許多相同的基本步驟,如梯度直方圖和歸一化。圖 8-6 展示了 SIFT 體系結構。從原始圖像中的感興趣區域開始,首先將區域划分為網格。然后將每個網格單元進一步划分為子網格。每個子網格元素包含多個像素,並且每個像素產生梯度。每個子網格元素產生加權梯度估計,其中權重被選擇以使得子網格元素之外的梯度可以貢獻。然后將這些梯度估計聚合成子網格的方向直方圖,其中梯度可以具有如上所述的加權投票。然后將每個子網格的方向直方圖連接起來,形成整個網格的長梯度方向直方圖。(如果網格被划分為2x2
子網格,那么將有 4 個梯度方向直方圖拼接成一個。)這是網格的特征向量。從這開始,它經過一個歸一化-閾值-歸一化過程。首先,將向量歸一化為單位范數。然后,將單個值剪輯除以最大閾值。最后,再次對閾值向量進行歸一化處理。這是圖像塊的最終 SIFT 特征描述。
基於深度神經網絡的網絡特征提取
SIFT 和 HOG 在定義良好的圖像特征方面走了很久。然而,計算機視覺的最新成果來自一個非常不同的方向:深度神經網絡模型。這一突破發生在 2012 的 ImageNet 挑戰中,多倫多大學的一組研究人員幾乎將前一年的獲獎者的錯誤率減半。他們強調他們的方法是“深度學習”。與以前的神經網絡模型不同,最新一代包含許多層疊在彼此之上的神經網絡層和變換。ImageNet 2012 的獲獎模型隨后被稱為 AlexNet ,其神經網絡有 13 層。之后 IMANET 2014 的獲勝者有 27 層。
從表面上看,疊層神經網絡的機制與 SIFT 和 HOG 的圖像梯度直方圖有很大的不同。但是 AlxNETA 的可視化顯示,前幾層本質上是計算邊緣梯度和其他簡單的操作,很像 SIFT 和 HOG。隨后的層將局部模式組合成更全局的模式。最終的結果是一個比以前更強大的特征提取器。
堆疊層的神經網絡(或任何其他分類模型)的基礎思想不是新的。但是,訓練這種復雜的模型需要大量的數據和強大的計算能力,這是直到最近才有的。ImageNet 數據集包含來自 1000 個類的 120 萬個圖像的標記集。現代 GPU 加速了矩陣向量計算,這是許多機器學習模型的核心,包括神經網絡。深度學習方法的成功取決於大量可用的數據和大量的 GPU 。
深度學習架構提取特征主要包含卷積、全連接層、歸一化層和最大池化層。