鄧 玲,張 軍,周 寬
(天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津 300222)
紅外目標分類是紅外圖像處理研究的一個重要分支,但是紅外圖像相對于可見光圖像存在成像質(zhì)量差、分辨率低、信息單一等問題,導(dǎo)致紅外目標分類識別出現(xiàn)許多難點問題。目前,對紅外目標進行有效分類的文章較少,為了實現(xiàn)對紅外圖像目標的識別分類,首先需要對紅外目標進行特征提取[1],特征提取可以定義為從特征選擇階段生成的特征中提取一組新特征的過程[2],常用的特征提取方法有梯度直方圖(HOG)[3-5]、局部二進制模型(LBP)[6-8]、基于局部強度差異直方圖(HLID)[9]、梯度位置-方向直方圖(GLOH)[10-11]等,這些方法能對紅外目標的紋理、亮度以及外形輪廓等特征進行提取,但這些研究都只能對紅外目標的某單一特征進行表示,雖然能取得一定效果,但是提取的特征信息不全面,且不能多角度、全方位對紅外目標進行不同類型的特征提取。
傳統(tǒng)的圖像分類需要經(jīng)過一系列步驟,其中核心步驟是數(shù)據(jù)預(yù)處理、特征提取、降維并分類。通常圖像預(yù)處理過程復(fù)雜,處理效果也不盡理想,直接導(dǎo)致后續(xù)算法難以有效提取到目標的特征屬性,其最后的特征表達與分類效果都不盡樂觀。在可見光領(lǐng)域,由于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[12-13]具有強大的特征提取能力,在目標識別、檢測和分類任務(wù)上表現(xiàn)良好,它不僅能逐層抽取圖像特征,獲得圖像的深層次語義特征和結(jié)構(gòu)特征,還能通過并行學(xué)習(xí)的方式提高網(wǎng)絡(luò)效率。在簡化模型方面,通過獲取局部感受野、權(quán)重調(diào)參、降維等策略,有效減少了訓(xùn)練參量,訓(xùn)練效率明顯提升。在抑制過擬合方面,卷積神經(jīng)網(wǎng)絡(luò)效果亦佳。而對目標識別和分類時,模型可以直接讀取圖像數(shù)據(jù),避免了復(fù)雜的前期處理,端到端的操作使得卷積神經(jīng)網(wǎng)絡(luò)效率極高。卷積神經(jīng)網(wǎng)絡(luò)作為圖像分類領(lǐng)域一種快速且高效的方法,在圖像分類問題上得到了廣泛的應(yīng)用[14],也迅速成為研究熱點。
受到遷移學(xué)習(xí)(transferring learning)[15]的啟發(fā),本研究提出用于紅外圖像分類的遷移改進模型(transferring improvement model,TIM)。先用可見光數(shù)據(jù)集作為源域數(shù)據(jù)集,對模型進行預(yù)訓(xùn)練,再對模型進行知識遷移、訓(xùn)練、迭代改進,訓(xùn)練后的模型能準確提取紅外目標特征,實現(xiàn)紅外目標分類。
所謂遷移學(xué)習(xí),就是把一個領(lǐng)域的模型在源域?qū)W習(xí)到的知識,應(yīng)用于新的相關(guān)領(lǐng)域進行求解,并在新的領(lǐng)域得到良好的表現(xiàn)和應(yīng)用。具體過程為:先訓(xùn)練好一個卷積神經(jīng)網(wǎng)絡(luò)模型,接著通過對已訓(xùn)練好的模型進行知識遷移,遷移模型時保持原卷積層的整體結(jié)構(gòu)不變,只對權(quán)重、偏置值、學(xué)習(xí)率等參數(shù)進行微調(diào);根據(jù)目標域圖像的特征,設(shè)計一個新的全連接層,與進行過微調(diào)的卷積神經(jīng)網(wǎng)絡(luò)共同組成新的模型,用目標域的紅外數(shù)據(jù)集對新模型進行再次訓(xùn)練、修改,模型穩(wěn)定后進行測試、驗證,以完成紅外目標的特征提取、檢測、識別、分類等任務(wù)。遷移學(xué)習(xí)必須找到源域和目標域的特征關(guān)系,用共同特征將源域和目標域聯(lián)系起來,實現(xiàn)知識遷移,并且將在源域?qū)W習(xí)到的知識應(yīng)用于目標域;還必須利用源域和目標域的不同特征修改全連接層,完成目標域的新任務(wù),實現(xiàn)知識遷移。
遷移學(xué)習(xí)能很好地解決如何從可見光源域?qū)⒅R遷移到紅外目標域并應(yīng)用的問題,解決了這2 種異類數(shù)據(jù)之間的知識遷移問題[16]。可見光圖像的特征和紅外圖像特征相同點為:目標的邊緣輪廓大體一致,故可將適用于可見光圖像分類的模型遷移用于紅外圖像的分類。不同點為:2 類圖像的紋理特征、色彩特征、特征復(fù)雜度不一致,分類任務(wù)也不同,因此需要新的全連接層實現(xiàn)分類,其具體實現(xiàn)過程如下:
(1)給定一個可見光圖像數(shù)據(jù)集,作為源域數(shù)據(jù)集,預(yù)訓(xùn)練一個分類模型為A,并把預(yù)訓(xùn)練模型中的卷積網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)作為紅外目標域訓(xùn)練模型的初始參數(shù)[17-19]。
(2)給出目標域紅外圖像對應(yīng)的分類任務(wù),遷移可見光圖像分類模型,結(jié)合紅外圖像的特征,設(shè)計一個新的全連接層,與預(yù)訓(xùn)練模型A 中的卷積層一起構(gòu)成紅外圖像分類的模型B,幫助提高紅外圖像在目標域的分類效果。紅外圖像分類遷移學(xué)習(xí)模型如圖1所示。
圖1 紅外圖像分類遷移學(xué)習(xí)模型
在人工智能迅速崛起的時代,深度學(xué)習(xí)是目前解決圖像分類最主流也最高效的方法。2014 年,VGG-Net和Inception-Net 首次應(yīng)用于ILSVRC 分類挑戰(zhàn)賽[20],并取得巨大成功。此后,眾多研究者開始對這2 種網(wǎng)絡(luò)進行深入研究,并將其應(yīng)用至各個領(lǐng)域,盡管VGG-Net 結(jié)構(gòu)簡單,但其參數(shù)量高達140 M,網(wǎng)絡(luò)計算量大,運行成本高。相較于Alex-Net、VGG-Net,Inception-v3 模型的參量大大減少,僅有500 萬參數(shù)。該模型共有11 個Inception 模塊,共計46 層,在增加了網(wǎng)絡(luò)寬度的同時,可有效降低網(wǎng)絡(luò)維度,并對特征提取功能進行了強化[21]。Inception-v3 具有良好的性能,完全可以遷移應(yīng)用至紅外圖像處理領(lǐng)域。
Inception-v3 網(wǎng)絡(luò)在Image Net 源域數(shù)據(jù)集上能夠?qū)W習(xí)到一張圖像的基本信息,如基本結(jié)構(gòu)和邊緣輪廓等,因此可以將Inception-v3 模型預(yù)訓(xùn)練得到的提取圖像邊緣等通用特征的權(quán)重參數(shù)作為分類網(wǎng)絡(luò)的初始權(quán)重。本實驗先將訓(xùn)練好的Inception-v3 模型進行遷移,再將模型學(xué)習(xí)到的權(quán)重作為紅外目標分類模型的初始權(quán)重,利用模型中間的隱含層對紅外圖像特征分層學(xué)習(xí),使模型更好地對紅外目標進行特征提取。在瓶頸層后訓(xùn)練新的全連接層及Softmax 層,使全連接層準確提取訓(xùn)練集的目標特征,構(gòu)建出一個能對不同格式的紅外目標圖像進行高精度分類的卷積神經(jīng)網(wǎng)絡(luò)。
現(xiàn)有紅外數(shù)據(jù)集有限,難以訓(xùn)練出較好的分類模型,因此考慮遷移模型,遷移過來的模型可以共享原卷積層的參數(shù),只需對頂層結(jié)構(gòu)進行重新設(shè)計,故可以大量節(jié)省模型搭建和訓(xùn)練的時間,而把重點放在模型重構(gòu)、改進上,這樣不僅能實現(xiàn)特定的分類任務(wù),還能使模型得到更廣泛的應(yīng)用?;谶w移學(xué)習(xí)的紅外圖像分類模型重構(gòu)過程如下:
(1)選定紅外圖像訓(xùn)練的樣本集合{x(1),x(2)…,x(n)}。
(2)初始化權(quán)重、偏置值等網(wǎng)絡(luò)參數(shù),正向讀取樣本數(shù)據(jù)。正向傳播的計算式為
式中:z 為輸出;i 為神經(jīng)元的值;xi為輸入;wi為權(quán)重;b 為偏置值。
(3)計算其損失函數(shù),并將損失函數(shù)最小化。
(4)計算輸出結(jié)果和真實值之間的誤差,進行反向傳播,重新調(diào)整算法參數(shù)。反向傳播公式為
式中:θ 代表參數(shù)(權(quán)重或偏置);α 為學(xué)習(xí)率,初始學(xué)習(xí)率設(shè)為0.001。
(5)迭代完成,結(jié)束模型重構(gòu);若迭代未完成,返回(3)繼續(xù)調(diào)優(yōu)。
由于缺少全連接層對圖片的全局信息分析,圖片的局部特征也沒有經(jīng)過整合,因此需要在模型最后使用全連接層整合圖像局部特征,然而使用過多的全連接層難以避免過擬合問題,故本實驗只使用一層全連接層,并使用dropout 方法降低過擬合。
除了對模型進行遷移,修改參數(shù)使其適用于紅外圖像的處理,本文還對遷移后的模型進行了改進。
在Inception-v3 模型中,將7×7 的卷積核分解為2 個 1×7 和 7×1 的一維卷積核,將 3× 3 的卷積核分解為1×3 和3×1 的卷積核,這類變換削減了大量深層參數(shù)并拓寬了網(wǎng)絡(luò)寬度,非對稱的拆分結(jié)構(gòu)使得模型能處理更豐富的圖片特征。但由于本實驗使用的是紅外圖像,圖像的信息量比較單一,圖片位深度僅為8,溫度越高的地方其亮度特征越明顯,并且紅外圖像沒有可見光那么多的紋理特征,顏色信息也較單一,當特征不夠豐富時,Inception-v3 模型中一些濾波器的卷積核實際上是冗余的;還有一部分神經(jīng)元未發(fā)揮作用,處于未激活狀態(tài),故改進的模型將冗余卷積核和未激活神經(jīng)元刪除,這樣做的目的是為了給模型瘦身,進而提高模型訓(xùn)練效率和訓(xùn)練速度。實驗用迭代的方式對網(wǎng)絡(luò)進行了刪減,改進的模型迭代過程如圖2 所示,先固定遷移后的網(wǎng)絡(luò)結(jié)構(gòu),再確定冗余部分和未激活部分,最后重新訓(xùn)練修改后的網(wǎng)絡(luò),并驗證網(wǎng)絡(luò)分類的準確度。假設(shè)實驗輸出的準確率為Acc,需要達到的準確率閾值為T,若Acc <T,則繼續(xù)迭代,修改網(wǎng)絡(luò)參數(shù)并訓(xùn)練;若Acc >T,則說明修改有效,停止迭代。實驗結(jié)果表明,刪除冗余卷積核和未激活神經(jīng)元對提升網(wǎng)絡(luò)運行速度有一定幫助。
大多數(shù)基于Inception-v3 的遷移學(xué)習(xí)模型的算法都只能識別.jpg 格式的圖片。本實驗為了提高模型的適用性,增加了.png 格式的數(shù)據(jù)類型,故需要對訓(xùn)練程序進行修改,使修改后的模型能同時對2種格式的圖片做標簽,并能同時對2 種格式的圖片進行分類。
圖2 改進的模型迭代過程
本實驗采用的數(shù)據(jù)集為俄亥俄州立團隊的紅外圖像數(shù)據(jù)庫(OTCBVS benchmark dataset)[22-23],該數(shù)據(jù)庫包含了多種紅外圖像,含有12 個子數(shù)據(jù)集,一些科研人員和學(xué)生以該紅外圖像數(shù)據(jù)集為基準,作為相關(guān)算法的測試對象,如對紅外目標進行檢測和識別,進而驗證所提算法的可行性與準確性。本實驗選取的部分數(shù)據(jù)集為數(shù)據(jù)庫中的第12 個子數(shù)據(jù)集,以戶外運動場景為主,涵蓋了各種形式的紅外目標,如:馬、車、無人機、犀牛、持槍械的軍人、交錯目標、足球場目標等,用于測試和評估基于遷移學(xué)習(xí)的紅外圖像分類算法。部分紅外圖像數(shù)據(jù)集如圖3 所示。
圖3 部分紅外圖像數(shù)據(jù)集
數(shù)據(jù)預(yù)處理的過程即tfrecord 文件的生成,具體過程為:先將訓(xùn)練集保存在不同目錄下,分為7 組,每組圖片500 張,將訓(xùn)練數(shù)據(jù)隨機打亂,增強網(wǎng)絡(luò)的泛化能力,并給打亂后的紅外圖像打標簽。再將不同大小、不同格式的紅外目標圖像分別轉(zhuǎn)化為模型需要的格式,存放在tfrecord 文件里,此文件用于訓(xùn)練時對圖片自動調(diào)用。最后保存每個圖片的絕對路徑,輸出各圖片的分類labels,將分類名稱保存為字典格式。
實驗設(shè)備為Intel(R)-Core(TM)i3-6100 CPU@3.70 GHz,操作系統(tǒng)為ubuntu 16.04,操作環(huán)境為Tensorflow+python3.5+jupyter。
訓(xùn)練過程中選擇俄亥俄州立團隊的紅外圖像數(shù)據(jù)集,訓(xùn)練集與測試集的比例為4 ∶1,初始learning rate 設(shè)為 0.001,batch 設(shè)為 100,epoch 為 150。loss 值使用交叉熵損失函數(shù),先將函數(shù)求導(dǎo),再利用式(3)得到交叉熵損失函數(shù)的計算值。
式中:q(k)為期望類別概率;p(k)為模型預(yù)測類別概率;L 為損失值。
在使用Softmax 層對紅外目標進行分類時,Softmax層要先讀取來自全連接層的數(shù)據(jù),其具體的分類網(wǎng)絡(luò)如圖4 所示。
圖4 分類網(wǎng)絡(luò)
式中:W 為權(quán)重,所有W 構(gòu)成一個權(quán)重矩陣;bias 為偏置值;x 為全連接層的輸入;Z 為全連接層的輸出;wj為第j 類圖像的特征權(quán)重,包含圖像每維特征的重要信息。
式(5)的計算最終得到類別k 的概率,即準確率p。簡單來說,模型的分類結(jié)果經(jīng)過Softmax 層直接映射為概率,正如分類模型圖右邊得到的即為各個類別的概率,概率最高的為當前正確識別的概率,其他概率為誤分類概率,概率之和為1。
實驗以紅外圖像作為數(shù)據(jù)集,以Inception-v3 模型作為基礎(chǔ)框架,取得了良好的分類效果。為了使模型更加適用于紅外圖像分類,提出對模型的卷積核進行改進,改進前后的模型對比如表1 所示。
從表1 中可以看出,模型改進后訓(xùn)練耗時明顯縮短,說明提出的迭代法刪除冗余卷積核和未激活神經(jīng)元使網(wǎng)絡(luò)的運行速度得到提升。而分類精度和識別耗時基本不變,這是因為改進前后的模型都能學(xué)習(xí)到目標所有特征,故在驗證時分類精度和識別耗時基本不變。
表1 模型對比
本實驗的遷移改進模型(transferring improvement model)能實現(xiàn)對不同格式的紅外圖像進行分類,例如car 和weapon people 為.jpg 格式的圖像,其余圖像則為.png 格式,對于2 種不同的圖像數(shù)據(jù),分類精度均高達98%以上。在改進的遷移學(xué)習(xí)模型中,前端深度卷積層已取得良好預(yù)訓(xùn)練效果,改進后的模型收斂速度較快,耗時短,并能迅速尋找到全局最優(yōu)解,在相同的訓(xùn)練數(shù)據(jù)集和迭代次數(shù)下,網(wǎng)絡(luò)運行效率得到提高。部分實驗結(jié)果如圖5 所示。
圖5 部分實驗結(jié)果
最終模型分類結(jié)果如表2 所示。第1 行和第1 列{0,1,2,3,4,5,6} 分別對應(yīng) {car,horse,quadrocopter,rhino,soccer people,walking people,weapon people }這7組紅外目標,黑色表格表示對當前目標的分類精度,表示最優(yōu)結(jié)果,其余表格表示誤分類為其他目標的概率。由表可知,就單一分類而言,模型能對不同的紅外目標進行準確分類,誤分類為其他目標的概率極低;且由于目標特征明顯,數(shù)據(jù)樣本相對合理,整體平均分類精度達到99.4%,說明改進的模型在紅外圖片分類上表現(xiàn)良好。
表2 最終模型分類結(jié)果 %
在訓(xùn)練過程中,模型的準確率逐漸升高,損失值逐漸降低,這是卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力逐漸提高的結(jié)果。模型運行變化如圖6 所示。
圖6 模型運行變化
為了驗證遷移學(xué)習(xí)算法的有效性,查閱了近年來有關(guān)紅外圖像分類的文獻,其中張秋實等[24]利用圖像融合的方法對紅外圖像的分類做了闡述,其在紅外+可見光融合的模型上最高分類精度為88.7%;邵保泰[25]的紅外超分辨率成像及小目標分類研究,F(xiàn)LIR 數(shù)據(jù)集的分類精度為93%;國外的Gundogdu 等[26-27]利用神經(jīng)網(wǎng)絡(luò)(CNN)和前饋神經(jīng)網(wǎng)絡(luò)(FCFFNN)做了一系列紅外圖像分類研究,在FFCNN 模型上的分類精度為88.75%。各模型對比結(jié)果如表3 所示,其列出了各種紅外圖像分類模型的精度,經(jīng)過對比,本文的TIM 模型在紅外圖像上的分類效果更好,較之前的分類算法的精度有所提高,其平均分類精度達到99.4%,并能實現(xiàn)對不同格式的紅外圖像進行高效分類。
表3 各模型對比結(jié)果
針對紅外圖像質(zhì)量差、分辨率低、信息單一、特征提取較難等問題,利用遷移學(xué)習(xí)的原理構(gòu)建紅外目標分類識別算法,完成了對Inception-v3 模型的遷移,利用俄亥俄州立團隊的紅外圖像數(shù)據(jù)庫對模型進行訓(xùn)練、驗證。實驗結(jié)果驗證了遷移模型的可行性,最后根據(jù)紅外目標信息單一等特性,剔除卷積核中獲取顏色信息和復(fù)雜紋理特征的冗余核和模型的未激活神經(jīng)元,進一步給模型瘦身,提高模型工作效率。改進的模型可以對紅外目標進行準確分類,工作效率也明顯提升,實現(xiàn)了紅外目標的自動分類。但由于模型未能應(yīng)用至具體硬件平臺,故其還未能實現(xiàn)實時拍攝紅外目標并對其進行分類,下一步將優(yōu)化模型,利用GPU 來加快訓(xùn)練速度,并研究其如何與硬件平臺相連接,實現(xiàn)實時紅外圖像的分類。