李政浩
圖像分類是計算機視覺研究與許多專業領域的重要研究對象。良好的圖像分類器能夠針對特定的分類需求,快速準確的對某類圖像進行分類,從而解決特定領域的特定問題。
當下,隨著數據的爆炸增長,圖像分類器在需要保證精度的同時,也需要擁有較快的速度。因此,實踐中通常對大量圖像進行粗分類后,然后再將粗分類結果作為新的數據集,再次進行細分類,以提高總分類速度。
本文探究了一種基于BP 神經網絡的圖像粗分類方法。通過反向傳播算法,逐層傳播誤差。依據相似的圖像擁有相似的直方圖這一原理構建圖像粗分類器,對圖像樣本進行快速的分類。實驗結果表明,基于此方法搭建的神經網絡非常穩健,在四分類問題中,最終分類準確率能夠達到約70%,能夠勝任圖像粗分類任務的需求。
神經網絡由多層神經元構成,通常包含輸入層、隱藏層與輸出層。每層由多個神經元構成,每層神經元的輸入值有如下表示:

圖1 不同圖像對應的直方圖
神經元的本質為一個非線性可導激活函數,本文采用的激活函數為Sigmoid 函數,通常使用表示,表達式如公式1,導數表達式如公式2:

根據如上神經元定義,當激活函數選用Sigmoid 函數時,即能夠得到如下表示:

通過網絡前向傳播,最終便可得到輸出層的輸出值。
在有監督學習中,對于給定的輸入值,數據中擁有已知的正確輸出值。即需要神經網絡在整個數據集上的誤差最小。此時,需要引進損失函數。
損失函數是一類能夠反映輸出值與目標值差異的非線性可導函數。常用的損失函數有均方誤差、絕對值誤差、指數損失等,本文使用了平方差,表示如下:

使用C 表示損失函數;y 表示輸出層神經元的目標輸出值。
通過計算誤差在不同參數上的敏感度,從而對誤差進行調整,即可對權重以及偏置的差異進行調整。使用偏導數表示權重或偏置的差異程度,以權重為例,通過鏈式求導法則,能夠得到代價C 對權重的敏感度表示如下:

同理,能夠分別得到代價函數對偏置、上一層神經元輸出以及上一層神經元權重的敏感度。
至此,誤差即可從輸出層通過隱藏層傳播到輸入層,經過多次訓練,即可將網絡的輸出值趨向于某個穩健參數。
圖像直方圖是圖像的特征之一。通過統計不同灰度像素值點的個數,從而得到圖像在不同灰度權重的大小。
由圖1 可見,相似圖像的直方圖形狀也較為相似,不同類別的圖像直方圖差異也較大。
相似的圖像擁有相似的直方圖,因為一類圖像中相同的色彩比例相似。依據這一原理,便能夠根據圖像的直方圖形狀判斷圖像是否屬于一類。
本文訓練集選用了四類風景圖像,包含了海灘、森林、沙漠、夕陽圖像各550 張。該問題為圖像的四分類問題。針對此問題,構建了一個三層全連接網絡模型。其中,輸入層包含了768 個神經元;單個隱藏層包含了30 個神經元;輸出層包含了4 個神經元。
在訓練過程中,學習率為0.7,初始權重與偏置隨機選用,神經元激活函數選用Sigmoid 函數,誤差函數選用均方誤差。
本文依據相似圖像擁有相似直方圖這一原理,構建了三層全連接神經網絡,輸入層有768 個神經元,分別對應圖像紅綠藍通道0~255 灰度歸一直方圖的值;隱藏層具有30 個神經元;輸出層有4個神經元,對應四類輸出結果。
實驗結果表明,基于此方法的分類器分類速度非常快,10 000 次前向傳播,在本機環境下僅耗時約0.25s。在訓練1 000 輪后,最終得到的分類準確率能夠達到約70%,能夠勝任圖像粗分類的需求。
本文探究了基于BP 神經網絡的圖像分類器。介紹了神經網絡以及BP 傳播算法。通過該方法得到的分類器,能夠在保證一定精度的同時,對圖像進行快速的分類。
基于BP 全連接神經網絡的圖像分類器,具有速度快的特點。使用圖像的直方圖作為圖像分類依據,在加快速度的同時,也增加了圖像對平移、旋轉、縮放的抗噪能力。