孫令翠,馮輝宗,朱世宇
(1. 重慶工程學(xué)院計算機與物聯(lián)網(wǎng)學(xué)院,重慶 400056; 2. 重慶郵電大學(xué)自動化學(xué)院,重慶 400065)
一般情況下,很難辨識細微個體間的微小差異,對局部特征進行定義較為困難,會耗費大量的精力,因此細粒度圖像識別存在一定的難度。而現(xiàn)階段由于深度學(xué)習(xí)技術(shù)的發(fā)展,在圖像識別領(lǐng)域獲取了巨大成功,導(dǎo)致越來越多的特征可以通過卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn),不過該方法需要先收集圖像數(shù)據(jù),這一步驟非常耗時,仍然有優(yōu)化和改進的余地。其次,若直接在細粒度圖像數(shù)據(jù)集中進行卷積神經(jīng)訓(xùn)練,則會因為缺乏數(shù)據(jù)樣本,從而致使過擬合現(xiàn)象發(fā)生,降低模型精度。
所以,文本提出一種基于遷移學(xué)習(xí)的細粒度圖像快速識別方法,通過較少的訓(xùn)練數(shù)據(jù),在不借助其它標(biāo)注信息的情況下,只憑借種類標(biāo)簽即可實現(xiàn)分類任務(wù),使用遷移學(xué)習(xí)中的給定目標(biāo)域以及源域,利用類內(nèi)數(shù)據(jù)集作為載體,利用卷積神經(jīng)網(wǎng)絡(luò)模型預(yù)訓(xùn)練,最后以多層感知器模型解決分類問題,實現(xiàn)圖像快速識別。相比常規(guī)識別方法只能在不同領(lǐng)域中對差別較大的圖像進行識別,所提方法可以精準(zhǔn)識別同類圖像。
在遷移學(xué)習(xí)中給定無標(biāo)記目標(biāo)域以及標(biāo)記源域,它們的數(shù)據(jù)分布()以及()不同,即()≠()。通過對學(xué)習(xí),實現(xiàn)數(shù)據(jù)分布的自適應(yīng)是遷移學(xué)習(xí)中最經(jīng)常使用的辦法,此方法是假設(shè)目標(biāo)域以及源域數(shù)據(jù)概率的分布不同,利用一些變換直接把不相同數(shù)據(jù)分布之間的距離拉近。
所有領(lǐng)域的自適應(yīng)為:假設(shè)以及特征空間是相同的,即=,同時,類別空間也一樣,=。不過兩個域的邊緣分布是不同的,即()≠()。而遷移學(xué)習(xí)目標(biāo)是通過標(biāo)記數(shù)據(jù)對分類器學(xué)習(xí),從而預(yù)測目標(biāo)域的標(biāo)簽。
(,)=()
(1)
式中:代表變換矩陣,代表源域以及目標(biāo)域所合并數(shù)據(jù),代表矩陣,具體公式為
(2)
式中:代表源域樣本的個數(shù),代表目標(biāo)域樣本的個數(shù)。
(3)
(4)
遷移學(xué)習(xí)需要以龐大數(shù)據(jù)集作為載體,通過卷積神經(jīng)網(wǎng)絡(luò)模型進行預(yù)訓(xùn)練,實現(xiàn)高精度分類。該模型結(jié)構(gòu)中,其全連接層和卷積層作為展示功能使用,softmax分類器存在于全連接層中,訓(xùn)練是通過正向傳播以及反向調(diào)節(jié)完成操作的。在網(wǎng)絡(luò)處理中,類訓(xùn)練樣本所設(shè)定的個數(shù)是,因此,單向輸入的樣本能夠表示成((),()),()以及()代表樣本中已經(jīng)被標(biāo)記的類別。運用數(shù)字1代表目前層,此層輸入的特征向量能夠利用-1代表,輸出的特征向量能夠利用代表,另外,在該結(jié)構(gòu)中,滑動濾波器權(quán)值以及偏置為與。所有層的輸入特征具體公式為
=(),=-1+
(5)
一般情況下,(·)代表sigmoid函數(shù)。而樣本集{(,),…,((),())}中樣本個數(shù)是個,卷積神經(jīng)網(wǎng)絡(luò)的模型代價函數(shù)為
(6)
(7)
(8)
式中:代表學(xué)習(xí)速率,?表示迭代因子。利用殘差作為代價,通過分析計算實驗函數(shù)偏導(dǎo),從而使誤差達到最小,以此完成全部模型的設(shè)計,并且確保所構(gòu)建模型的訓(xùn)練質(zhì)量。在最底部的全連接層中,相應(yīng)的標(biāo)簽可以利用多值完成展示。然后把輸入至測試中,憑借softmax的分類器編程,從而估計處于不同的分類結(jié)果概率,且通過=(=|)代表最終分類結(jié)果。
通過上述的softmax分類器函數(shù)可以得到多次感知機(MLP)分類模型,具體如圖1所示。
圖1 多層感知機模型
多層感知機的數(shù)據(jù)輸入,是通過卷積神經(jīng)網(wǎng)絡(luò)在細粒度圖像數(shù)據(jù)集中所得到的特征,輸入層相應(yīng)的是細粒度分類數(shù)據(jù)集中的類別數(shù),再通過softmax函數(shù)的概率p作為輸出層,就能夠獲取全部類別識別預(yù)測概率值。
在對圖像識別的過程中,上述細粒度模型要解決多分類的問題,類別d能夠獲取O個不同的數(shù)值,設(shè)定Stanford Dogs的識別任務(wù)中d∈{1,2,3,…,120}。通過softmax函數(shù)變換模式,以此獲得所有圖像種類的預(yù)測概率,具體公式為
(9)
式中:代表輸出層第個神經(jīng)元輸入,代表模型預(yù)測的概率。
一般利用獨特的編碼代表目標(biāo)類別,該編碼形式把正確類別置1,而其它類別置0,而對于的識別任務(wù),對應(yīng)目標(biāo)的類別編碼是:(1,0,0,…,0),…,(0,0,0,…),長度是120維向量。利用損失函數(shù)實現(xiàn)有效編碼,能夠獲得損失函數(shù)的具體公式為
(10)
在損失函數(shù)中添加權(quán)重的衰減項,能夠獲取正則化項,以此可以得到具體公式為
(11)
式中:代表訓(xùn)練集中的數(shù)據(jù)數(shù)目,代表網(wǎng)絡(luò)權(quán)重參數(shù)。
將預(yù)測正確率當(dāng)成模型的性能度量指標(biāo),具體正確率的公式為
(12)
式中:代表目標(biāo)實際標(biāo)簽,()代表模型的預(yù)測結(jié)果數(shù)值。
針對上述獲取的損失函數(shù),利用遷移學(xué)習(xí)將損失函數(shù)值達到最小化,再通過梯度下降來迭代權(quán)重,以此進行更新,從而找出近似解完成最優(yōu)圖像識別。利用梯度一階矩以及二階矩的估計,動態(tài)調(diào)整全部參數(shù)學(xué)習(xí)率,具體的權(quán)重迭代結(jié)果如下所示:
假設(shè)處于時刻時,目標(biāo)函數(shù)相對于參數(shù)一階導(dǎo)數(shù)是,具體公式為
=*-1+(1-)*
(13)
(14)
然后通過計算,可以得到具體公式為
(15)
(16)
最終獲得梯度的更新方法,具體公式為
(17)
最后通過不同梯度實現(xiàn)靜動態(tài)個體的參數(shù)調(diào)整,以此即可實現(xiàn)圖像的細粒度識別。
為了驗證本文細粒度圖像識別方法是否能夠達到實際應(yīng)用標(biāo)準(zhǔn),采用靜態(tài)與動態(tài)圖像進行識別對比分析,提升實驗樣本的多樣化,從而能夠更加有效地驗證方法的適用性。本實驗主要是通過攝像機拍攝方式獲得目標(biāo)樣本,樣本中共有1000張圖片,靜動態(tài)圖像各500張。實驗中,為了保證實驗結(jié)果的準(zhǔn)確性與有效性,采用Matlab軟件對實驗數(shù)據(jù)與圖像進行處理。
在細粒度圖像識別實驗中,靜動態(tài)圖像各隨機選取一張,其中,靜態(tài)圖像中目標(biāo)包括菠蘿與鳳梨;動態(tài)圖像中目標(biāo)包括老虎、獅子以及狗。利用本文方法分別對目標(biāo)圖像進行識別,觀察是否能區(qū)分這些圖像中的細小差異,具體如圖2所示。
圖2 細粒度圖像識別結(jié)果
通過觀察圖2能夠看出:在靜態(tài)實驗圖像識別中,本文方法可以明確地將菠蘿與鳳梨進行識別,并以標(biāo)注框信息方式進行識別結(jié)果標(biāo)注,能夠準(zhǔn)確識別出菠蘿與鳳梨?zhèn)€體,細粒度圖像分類后清晰地保留了二者的表面信息,菠蘿葉子邊緣呈現(xiàn)鋸齒形狀,而鳳梨葉子光滑,以此作為識別依據(jù);在動物圖像中,同樣對狗、老虎、獅子進行了有效識別,并能夠正確標(biāo)注名稱。相比之下,靜態(tài)圖像識別效果要優(yōu)于動態(tài)圖像,這是因為抓拍運動個體,難免會出現(xiàn)重影、模糊等問題,導(dǎo)致圖像邊緣不清,少量目標(biāo)像素被分割為背景從而影響圖像識別效果。
為了驗證本文方法的迭代速度是否能夠滿足現(xiàn)實需要,對拍攝的1000張圖像進行識別,通過迭代周期和識別精度,得到本文方法的迭代速度,迭代速率結(jié)果如圖3所示。
圖3 細粒度圖像識別迭代速率
通過觀察圖3能夠看出,靜態(tài)圖像的迭代周期相比于動態(tài)圖像要少,當(dāng)?shù)芷跒?次時,其已經(jīng)能夠?qū)o態(tài)圖像實現(xiàn)完全識別,而動態(tài)圖相關(guān)則需要迭代周期達到11次時才能實現(xiàn)對圖像的完全識別,表示能夠在相同時間內(nèi)識別出更多的靜態(tài)圖像,且在同一迭代周期內(nèi),靜態(tài)圖像的識別精度也略微高于動態(tài)圖像,迭代速度也較為理想。這是因為遷移學(xué)習(xí)法可以通過計算獲得龐大的數(shù)據(jù)載體,從而利用卷積神經(jīng)網(wǎng)絡(luò)的模型完成預(yù)訓(xùn)練,以此能夠估計處于不同的分類結(jié)果概率,實現(xiàn)圖像快速分類識別。
為了進一步驗證本文方法的有效性,將圖像識別精度作為實驗指標(biāo),驗證其對靜態(tài)圖像與動態(tài)圖像的識別精度,結(jié)果如表1所示。
表1 圖像識別精度
分析表1中的數(shù)據(jù)可知,采用本文方法對靜態(tài)圖像與動態(tài)圖像進行識別時,識別精度均高于90%,識別精度較高。相比較之下,靜態(tài)圖像的識別精度高于動態(tài)圖像,其識別精度最高值為96.3%,這是由于動態(tài)圖像中影響因素較多,會對識別結(jié)果造成一定程度的影響,但是動態(tài)圖像的識別精度同樣能夠達到較高的水準(zhǔn),充分說明該方法的識別效果較好。
本文提出基于遷移學(xué)習(xí)的細粒度圖像快速識別方法,以龐大的數(shù)據(jù)作為載體,實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的模型預(yù)訓(xùn)練,解決細粒度分類效率低、精度差問題,最終通過梯度一階矩以及二階矩完成識別。實驗結(jié)果表明,本文方法分類精度、效率都達到理想結(jié)果,方法適用性高,但是相比之下,動態(tài)圖像識別效果要低于靜態(tài)圖像,這是因為無法精準(zhǔn)分析其細節(jié)特征,所以未來將引入監(jiān)督學(xué)習(xí)方法,保留和補全圖像邊緣細節(jié),以提升識別精度。