在過去的二十年中,計算機視覺研究已經集中在人工標定上,用於提取良好的圖像特徵。在一段時間內,圖像特徵提取器,如 SIFT 和 HOG 是標準步驟。深度學習研究的最新發展已經擴展了傳統機器學習模型的範圍,將自動特徵提取做爲基礎層。他們本質上取代手動定義的特徵圖像提取器與手動定義的模型,自動學習和提取特徵。人工標定仍然存在,只是進一步深刻到建模中去。web
本博客先從流行的圖像特徵提取SIFT和HOG入手,深刻研究深度學習的特徵工程。網絡
在 1999 年,計算機視覺研究者想出了一種更好的方法來使用圖像的統計數據來表示圖像。它叫作 Scale Invariant Feature Transform(SIFT)。架構
人工特徵提取:SIFT 與 HOG
圖像梯度:機器學習
HOG 和 SIFT 都基於圖像鄰域的兩層表示:首先,將相鄰像素組織成單元,而後將相鄰單元組織成塊。計算每一個單元的方向直方圖,並將單元直方圖矢量鏈接起來,造成整個塊的最終特徵描述符。相鄰像素之間的差值稱爲圖像梯度。學習
SIFT 使用16x16
像素的單元,將其組織成 8 個方向的容器,而後經過4x4
單元的塊分組,使得圖像鄰域的4x4x8=128
個特徵。spa
HOG 論文實驗用矩形和圓形形狀的單元和塊。矩形單元稱爲 R-HOG。最好的 R-HOG 設置爲8x8
像素的 9 個定向倉,每一個分組爲2x2
個單元的塊。圓形窗口稱爲 C-HOG,具備由中心單元的半徑肯定的變量、單元是否徑向分裂、外單元的寬度等。code
圖像歸一化處理:orm
圖像特徵與文字區別很大,其對在天然圖像中出現的照明和對比度的變化多是很是敏感的。例如,在強烈的聚光燈下觀察蘋果的圖像,而不是透過窗戶發出柔和的散射光。即便物體是相同的,圖像梯度也會有很是不一樣的幅度。爲此,計算機視覺中的圖像特徵一般從全局顏色歸一化開始,以消除照度和對比度方差。對於 SIFT 和 HOG 來講,結果代表,只要咱們對特徵進行歸一化,這種預處理是沒必要要的。ci
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 。
深度學習架構提取特徵主要包含卷積、全鏈接層、歸一化層和最大池化層。