高 強,潘 俊,洪銳鋒
(廣州民航職業(yè)技術學院 計算機系,廣東 廣州 510403)
機場安檢是保障民航安全飛行的重要環(huán)節(jié),關系著社會穩(wěn)定。當前國際形勢復雜嚴峻,與此同時機場客流量呈爆發(fā)式增長,而且危險品也更加多樣化,這些因素都給安檢的高質量和高效率帶來了極大的挑戰(zhàn)。目前,國內的機場安全檢查危險品識別還依賴于X光機開機員人工識別。由于行李的擺放角度不同及物體的密度、體積不同,危險品的X光機圖像特征千差萬別,即使是同一危險品,在X光機中呈現的圖像也不盡相同,這給開機員準確識別危險品帶來了巨大困難,非常容易出現失誤,進而對民航安全造成隱患。另外,開機員識別危險品圖像屬于典型的重復性任務,長時間高強度、緊張度的工作,開機員大腦、身體都容易疲憊,這對危險品識別的準確率、效率都有很大影響。
在圖像識別領域,卷積神經網絡[1](convolutional neural network,CNN)由于能夠自動學習圖像特征且識別準確率高,在醫(yī)學圖像識別[2]、人眼識別[3]、蝴蝶種類識別[4]、遙感圖像分類[5]以及人臉識別[6-7]、車輛檢測[8-9]、交通標志識別[10]以及物體檢測[11-12]等領域應用廣泛。由于GoogLeNet[13]、AlexNet[14]和ResNet[15]等CNN模型在圖像識別大賽的優(yōu)異表現,許多研究人員將這些模型直接或者改進后應用于相關領域的圖像識別中,如李勇等[16]采用跨連接LeNet-5網絡對人臉表情進行了相關研究。
盡管CNN在不同領域的圖像識別均取得了很好的效果,但在機場安檢危險品領域的研究、應用尚存空白;另外,傳統CNN均假定數據集中各類別圖像數量均衡,在設計模型時,通常只關注模型的識別準確率、實時性,并未考慮數據集的不均衡對識別效果的影響?;诖?,文中提出一種基于GAN數據增強的卷積神經網絡危險品自動識別模型,并和GoogLeNet、AlexNet、ResNet模型的識別效果進行對比,以驗證該模型的有效性。
文中的貢獻如下:
(1)將CNN應用于安檢危險品自動識別,對提升機場安檢智能化水平具有積極意義;
(2)提出一種基于GAN數據增強的卷積神經網絡危險品自動識別模型,解決了數據集不均衡導致識別率低、實時性差的問題。
本節(jié)將詳細闡述基于GAN數據增強的卷積神經網絡危險品自動識別模型。首先描述了利用GAN進行數據增強的實現原理,并利用其實現安檢危險品數據集的均衡化;然后從卷積層、池化層、全連接層及優(yōu)化技術、訓練過程幾個方面介紹CNN模型。
傳統的機器學習識別算法均假定數據集的各類樣本數量相近,但在現實情況中,各類樣本數量并不均衡,通常將數量較多的類稱為多數類,反之稱為少數類。由于傳統的識別算法忽略了數據集中各類樣本數量的不均衡性,識別算法經常偏置向多數類,少數類具有很高的誤識別比例。一般情況下,各類樣本數量不均衡比例超過1∶4,識別算法會因為數據不均衡而無法滿足識別要求。文中采用的危險品數據集各類樣本數量如圖1(a)所示。
由圖1(a)所知,危險品數據集中各類別數量不均衡性較為明顯,因此,在設計卷積神經網絡模型之前,需要對數據集不均衡問題進行處理。
Goodfellow等在2014年提出生成式對抗網絡(generative adversarial networks,GAN)[17]這一深度學習模型。GAN能夠根據已有樣本數據,生成高質量目標數據,可以使得樣本數據得以擴充,彌補訓練樣本數據不足的缺陷,對深度學習具有重大意義。Radford等將GAN和CNN相結合,提出了深度卷積生成對抗網絡DCGAN[18],該模型采用步幅卷積、微步副卷積、批標準化、LRELU等操作,具有訓練過程穩(wěn)定、易收斂及生成樣本多樣性豐富的優(yōu)點,成為目前使用率最高的模型。
文中采用DCGAN實現數據集均衡化,將少數類圖像通過DCGAN網絡進行擴充,以實現訓練樣本數據均衡化。經過DCGAN均衡化后的數據集各類樣本數量如圖1(b)所示。
(b)采用GAN均衡化后的各類危險品數量 圖1 危險品類型及數量
危險品圖像數據集經過GAN進行均衡化處理后,將輸入卷積神經網絡模型進行識別。模型由5個隱藏層構成,前4層是Conv1、Conv2、Conv3和Conv4卷積層,其中每層又分為卷積層(C)、激活層(R)和池化層(P),將Conv4中P4的輸出結果進行扁平化操作后,與第5層全連接層FC5進行連接,最后輸出9類危險品識別概率,其結構如圖2所示。
卷積層:輸入C1的危險品圖像大小為100*100*3。C1、C2使用5*5大小的卷積核,卷積核個數分別為32、64;C3、C4使用3*3大小的卷積核,卷積核個數均為128;C1、C2、C3、C4的卷積移動步長均為1。
圖2 卷積神經網絡模型
激活層:R1、R2、R3和R4均使用ReLU激活函數,該函數將所有負值都變?yōu)?,而正值不變,這種單側抑制操作使得ReLU激活函數具有稀疏激活性和收斂速度快的優(yōu)點。其函數表達式如下:
(1)
池化層:P1、P2、P3和P4均使用核大小為2*2、步長為1的最大值池化操作。
全連接層:FC5以P4扁平化處理的結果作為輸入,其含1 024個神經元;FC5與最后的輸出層output進行全連接,output含有9個神經元。
模型在訓練過程中,經過卷積、池化操作時,圖像特征圖大小變化如表1所示。
表1 各卷積層輸入、輸出特征圖大小
1.3.1 損失函數
模型的損失函數采用交叉熵代價函數。交叉熵代價函數不僅可以克服方差代價函數更新權重過慢的問題,還可以避免梯度消散,其公式如下:
(2)
其中,c為損失值;n為訓練樣本總數;a為神經元的實際輸出;y為期望輸出。
1.3.2 優(yōu)化函數
模型的優(yōu)化函數采用自適應矩估計(adaptive moment estimation,Adam)函數。Adam利用梯度的一階矩估計和二階矩估計動態(tài)調整每個參數的學習率,其收斂速度更快,學習效果更為有效,而且可以糾正其他優(yōu)化技術中存在的學習率消失、收斂過慢或高方差的參數更新導致損失函數波動較大等問題。Adam函數公式如式3~式7所示。
mt=u*mt-1+(1-μ)*gt
(3)
(4)
(5)
(6)
(7)
1.3.3 隨機失活
為了提高泛化能力,降低過擬合風險,模型在全連接層采用dropout隨機失活策略。dropout是一種為防止神經網絡過擬合的正則化方式,它在神經網絡訓練的過程中隨機拋棄隱藏層部分神經節(jié)點的輸出值,在反向傳播更新權值參數時,不需要更新與該節(jié)點相連的權值。dropout的工作原理如圖3所示。
圖3 dropout工作原理
實驗在Dell Precision Tower T7920工作站上進行,采用python3.5+TensorFlow1.6實現卷積神經網絡。工作站配置為CPU:Intel Xeon Silver 4114,10核20線程,主頻2.2 GHz;GPU:NVIDIA Geforce GTX 1080TI,顯存11G;內存64 GB,操作系統:Ubuntu 16.04 LTS(64位)。
為驗證提出模型的有效性,實驗采用的數據集來源于2017公安一所(全國最終版)危險品圖像庫。該數據集包含3 225幅、共計9種類型的危險品圖像,分別為爆炸品、彈藥、鈍器、管制器具、火種、槍支等武器、銳器、危險物品、煙火制品。
將來源于2017公安一所(全國最終版)危險品圖像庫的數據集稱為數據集I(9個類別、3 225幅圖像),將數據集I采用GAN進行均衡化處理后得到的數據集稱為數據集II(9個類別、7 391幅圖像)。數據集I、II均分為訓練集和驗證集。數據集I、II中的危險品圖像如圖4所示。
圖4 數據集I、II中的危險品圖像(部分)
將數據集I、數據II分別輸入文中提出的卷積神經網絡模型進行訓練、驗證,以測試模型的有效性。實驗參數為:訓練集、驗證集分別占80%、20%,批次大小為25,迭代次數為48,dropout參數設置為0.3。
經過48輪次的訓練后,訓練集損失值下降情況、驗證集識別準確率分別如圖5、圖6所示。
圖5 損失值下降
由圖5和圖6可以得出,提出的卷積神經網絡模型在數據集II比數據集I上損失值下降更快、更趨向于0,說明模型在數據集II上具有更好的收斂性,證明了GAN實現數據集均衡化的有效性。另外,在每輪迭代過程中,數據集II的識別準確率均高于數據集I,并且在經過33迭代后,數據集II上的平均識別準確率穩(wěn)定在90.7%,高于數據集I的平均識別準確率57.3%,證明了該卷積神經網絡模型的有效性。
圖6 識別準確率
為了進一步驗證提出的卷積神經網絡模型(myCNN)的有效性,將myCNN與GoogLeNet、AlexNet、ResNet在數據集II上進行識別效果對比實驗,結果如表2所示。
表2 數據集II的識別準確率 %
由表2可知,在數據集II上,myCNN的識別準確率分別比GoogLeNet、AlexNet、ResNet高出5.8%、7.2%和5.4%,進一步證明了myCNN的有效性。
對“基于不均衡數據集的機場安檢危險品自動識別問題”進行了研究,提出了一種基于GAN數據增強的卷積神經網絡模型。該模型針對數量非均衡分布的危險品圖像,能夠準確實現自動識別,為實現危險品自動識別提供了一種方法。下一步將該模型遷移到復雜環(huán)境(如多危險品遮擋、重疊等),并對模型的有效性及產生的新問題進行研究。