魯元平 羅志聰
摘要:隨著人類活動范圍的不斷擴張,生態(tài)環(huán)境的惡化,蛇類的生存環(huán)境受到威脅。為實現(xiàn)對蛇類的準確識別,輔助蛇類研究者對蛇類的識別與保護,通過對現(xiàn)有的解決方案進行分析,提出采用遷移學習方法對10種蛇類進行訓練識別。首先對現(xiàn)有數(shù)據(jù)集進行數(shù)據(jù)增強,從而讓訓練模型更好地收斂,采用基于Squeezenet模型具有更好的識別率,識別率達到了85.71%,效果良好。并對訓練好的模型進行加載,網(wǎng)絡模型識別耗時2.69s,有著更好實時性,同時還能保證識別精度,節(jié)省硬件資源,提升了模型的可移植性。
關(guān)鍵詞: 遷移學習; Squeezenet模型; 蛇類; 圖像識別
中圖分類號:TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)07-0012-03
Abstract: With the continuous expansion of human activities, the deterioration of the ecological environment, the living environment of snakes is threatened.In order to realize the accurate identification of snakes and assist the snake researchers in the identification and protection of snakes, this paper proposes to adopt the transfer learning method to train and identify 10 kinds of snakes by analyzing the existing solutions.Firstly, the existing data set was enhanced to promote better convergence of the training model. With the adoption of the Squeezenet model, the recognition rate reached 85.71%, with good effect.It takes 2.69s to identify the network model, which ensures better real-time performance, ensures recognition accuracy, saves hardware resources, and improves the portability of the model.
Key words:transfer learning; squeezenet model; snakes; image recognition
我國擁有十分豐富的蛇類資源,有200多種蛇類,其中我國南方地區(qū)的蛇類占我國蛇類種數(shù)的88%左右[1]。蛇類作為自然系統(tǒng)中的次級消費者,在生態(tài)系統(tǒng)中發(fā)揮著維系生態(tài)系統(tǒng)的能量流動和物質(zhì)循環(huán)的重要作用。目前我國蛇類研究人員非常匱乏,且尚未有針對蛇類研究的公開數(shù)據(jù)集,在科研領(lǐng)域,蛇類圖像識別仍然是一個比較開放性的問題。近年來,隨著人類活動范圍的不斷擴張,蛇類的生存環(huán)境受到了巨大威脅,蛇類圖像識別對保護物種多樣性和維持生態(tài)平衡更具意義。James Alex對蛇類特征進行手工分類,構(gòu)建了6中印度常見蛇類的特征數(shù)據(jù)庫,并采用貝葉斯網(wǎng)絡等13種分類器進行蛇類識別,效果良好[2]。Amir Amiza等人對22種馬來西亞常見蛇類進行顏色和邊緣方向的特征提取,并采用最近鄰分類器取得了89.22%的準確率[3]。浙江大學付永欽通過采集和收集蛇類圖像,建立了包含銀環(huán)蛇、竹葉青蛇、舟山眼鏡蛇、尖吻蝮、王錦蛇、黃金蟒、玉斑麗蛇、紅尾蚺、紅脖頸槽蛇和鉤盲蛇等10種中國常見蛇類共計10336幅圖像的CHINESESNAKES蛇類圖像數(shù)據(jù)集,對蛇類圖像分類問題進行了研究,設(shè)計了BRC卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),其在CHINESESNAKES蛇類圖像數(shù)據(jù)集上的分類準確率達到了89.061%[4]。近年來,深度學習和人工智能在圖像識別領(lǐng)域越來越受歡迎,而傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks, CNN)不僅訓練時間長,而且需要大量的訓練樣本[5]。因此,在訓練樣本較少的情況下,采用遷移學習進行圖像識別,可以提高整體的識別性能。本文基于Squeezenet模型對10種蛇類進行圖像識別,該模型不僅網(wǎng)絡參數(shù)量相較Alexnet模型減少50倍左右,而且有著更快的識別速度,有更好的可移植性,對于快速識別蛇類意義重大,有利于蛇類研究者對蛇類的快速識別與保護。
1 Squeezenet網(wǎng)絡結(jié)構(gòu)
1.1 Squeezenet模型
Squeezenet是由Landola提出的輕量級網(wǎng)絡結(jié)構(gòu),與Alexnet相比較而言,其結(jié)構(gòu)內(nèi)的參數(shù)更少,模型也更小,但是卻有著和Alexnet相當?shù)淖R別精確度,且模型縮小50倍左右[6]。Squeezenet模型有2個卷積層、Fire模塊(Squeezenet的核心)、兩個最大池化層(max-pooling)和一個全局平均池化層(GAP,Global Average Pooling)以及最后的softmax函數(shù)[7]。Fire module結(jié)構(gòu)如圖1所示,該結(jié)構(gòu)主要由squeeze層和expand層構(gòu)成。其中squeeze層開創(chuàng)性地將3*3的卷積核替換為1*1的卷積核,減少了特征通道數(shù)。除此之外,squeeze層的輸出是expand層的輸入,且expand層中不僅有1*1的卷積核,還有3*3的卷積,圖像經(jīng)過兩種卷積后,有concat進行操作輸出。特征圖在經(jīng)過Fire Module結(jié)構(gòu)后,圖片的尺寸不會改變,但是由于經(jīng)過了1*1的卷積核后,其參數(shù)量減少了很多,這也是Squeezenet相較Alexnet減少50倍左右的根本原因。Squeezenet模型結(jié)構(gòu)圖如圖1所示。
1.2 池化層
池化層又稱下采樣層或欠采樣層,其目的就是對輸入特征圖進行壓縮,降低網(wǎng)絡模型的計算復雜度,在一定程度上能夠抑制過擬合現(xiàn)象的發(fā)生,提高模型的容錯率[8]。輸入的圖像經(jīng)卷積層輸出相應的特征圖,由于輸出的特征圖過大,會導致后續(xù)的計算量復雜,因此根據(jù)圖像的靜態(tài)特征,在卷積神經(jīng)網(wǎng)絡中引入池化層,降低計算復雜度。常見的池化方式有平均池化和最大池化,計算如下:
2 蛇類數(shù)據(jù)集
本文使用的數(shù)據(jù)集包含10種蛇類的圖片信息,所有的圖片統(tǒng)一處理為227*227*3(3為彩色圖片的顏色通道),此次實驗中對數(shù)據(jù)集以訓練集:驗證集=8:2的比例進行了劃分,最后每種蛇類隨機挑選100張作為測試集。由于現(xiàn)有的蛇類數(shù)據(jù)集樣本數(shù)量較少,且不同類別之間還存在數(shù)量不均等的情況,為了防止出現(xiàn)網(wǎng)絡過擬合嚴重和泛化效果差等現(xiàn)象,對蛇類數(shù)據(jù)集圖像進行數(shù)據(jù)增強處理,如對圖像進行旋轉(zhuǎn),從而增加樣本數(shù)量。其中泥蛇的數(shù)據(jù)集原始樣本只有139張,而最多的銀環(huán)蛇數(shù)據(jù)集樣本有836張,樣本的之間數(shù)量差距過大會導致所訓練出的模型無法遷移到測試集進行準確測試。因此,為了解決該問題,數(shù)據(jù)集樣本較少的圖片進行數(shù)據(jù)增強處理(此次實驗樣本中的赤鏈蛇、侏儒響尾蛇、泥蛇、烏梢蛇和劍紋帶蛇)。
3 實驗及結(jié)果分析
3.1 實驗環(huán)境
實驗采用的是具有六核AMD Ryzen5 1600x Six-Core的CPU且裝備有8G內(nèi)存的計算機,軟件平臺是Windows版的Matlab R2019b。
3.2 結(jié)果分析
雖然對蛇類數(shù)據(jù)集進行擴充和數(shù)據(jù)增強,但是數(shù)據(jù)集樣本仍然是小樣本,不適合從零開始訓練樣本,因此本文為了解決樣本數(shù)量過少的問題,采用遷移學習的方式訓練模型。本文采用的模型為Alexnet模型和Squeezenet模型,對原始數(shù)據(jù)樣本和擴充數(shù)據(jù)樣本進行訓練和驗證,本次實驗數(shù)據(jù)集原始樣本總共為4171張,擴充后的數(shù)據(jù)集樣本為5543張,將訓練集:驗證集=8:2的比例進行劃分。訓練模型參數(shù)設(shè)置:學習率為0.00001,每次輸入模型的批尺寸(Bachisize)為50,驗證頻數(shù)為500,訓練周期為30個epoch,并使用隨機梯度下降動量(SGDM)優(yōu)化器作為訓練選項。其中批尺寸是Alexnet模型和Squeezenet模型進行迭代訓練時處理圖片的數(shù)量,批尺寸越大,整個網(wǎng)絡的收斂速度也就越快,其訓練的時間也更短,但是會占用更多的GPU顯存,因此需要根據(jù)計算機的配置來進行相應的設(shè)定。學習率的設(shè)定也影響著網(wǎng)絡的收斂,其取值過大會導致?lián)p失函數(shù)(Loss)不穩(wěn)定,取值過小會導致網(wǎng)絡收斂速度過慢或過擬合現(xiàn)象的發(fā)生。如表是Alexnet和Squeezenet兩種模型在數(shù)據(jù)集擴充前后的性能比較:
從表1和表2中可以看出,擴充數(shù)據(jù)集后,雖然訓練時間更長了,模型也更大了,但是兩種模型的準確率都得到了提升,其中Alexnet模型擴充數(shù)據(jù)集后,識別率提高了3.72%,Squeezenet模型識別準確率提高了6.9%,因此擴充數(shù)據(jù)集能夠在一定程度上提高識別準確率。除此之外,Squeezenet模型在兩種數(shù)據(jù)集模式下,依然保持著相較Alexnet模型更好的性能,在實際應用中有更好的移植性,對硬件資源的要求更低,其服務器可以在同一時間處理更多的數(shù)據(jù),提高了工作效率。
本文最終選取Squeezenet模型對10種蛇類圖像進行識別,此次實驗主要對比擴充數(shù)據(jù)集前后模型的收斂速度,圖中實線為訓練集,虛線為測試集,橫縱為迭代次數(shù),縱軸為損失函數(shù)。從圖3和圖4中可以看出,數(shù)據(jù)集擴充以后,模型的收斂速度更快。原始數(shù)據(jù)在300個epoch開始收斂,而擴充后的數(shù)據(jù)集在200個epoch就已經(jīng)開始收斂了。
擴充后的數(shù)據(jù)集在Squeezenet模型中訓練好后,將訓練好的模型進行加載,識別測試集中的圖片,測試集中每種蛇類有100張測試圖片。在加載模型下的識別速度為2.69s,所得混淆矩陣如圖5:
圖5中class1-10依次為斑背響尾蛇、赤鏈蛇、侏儒響尾蛇、泥蛇、菜花蛇、銀環(huán)蛇、烏梢蛇、劍紋帶蛇、銀環(huán)蛇和竹葉青,其中橫軸為準確率,縱軸為召回率。由于竹葉青顏色鮮艷且單一,其識別率最高,為97%。識別率較低的有三種蛇類,分別為菜花蛇、銀環(huán)蛇和烏梢蛇,由于這三種蛇類花紋較復雜,且銀環(huán)蛇和烏梢蛇有著比較相似的特征,導致識別率偏低。
4 結(jié)語
Squeezenet模型和Alexnet模型在同等條件下,Squeezenet始終保持著相對明顯的優(yōu)勢,訓練時間更短,模型也更小,能夠節(jié)約更多的硬件資源,并提升工作效率,同時也利于移植到小型硬件中,便于開發(fā)。擴充數(shù)據(jù)集能夠在一定程度上促進收斂,提高識別準確率。加載基礎(chǔ)模型能夠更快地獲得識別準確率,且分類效果良好,能夠在實際應用中實現(xiàn)更快更好地分類,滿足蛇類識別應用中的可靠性和實用性的要求。與此同時,在不損失數(shù)據(jù)集特征的情況下,如何提高蛇、銀環(huán)蛇和烏梢蛇的識別率是下一步亟待解決的問題。
參考文獻:
[1] 張樂,陶明寶,陳鴻平,等.常用蛇類藥材鑒別研究進展[J].中國實驗方劑學雜志,2017,23(4):222-227.
[2] James A P,Mathews B,Sugathan S,et al.Discriminative histogram taxonomy features for snake species identification[J].Human-Centric Computing and Information Sciences,2014,4(1):1-11.
[3] Felzenszwalb P F,Girshick R B,McAllester D,et al.Object detection with discriminatively trained part-based models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.
[4] 付永欽.基于深度學習的蛇類圖像分類問題研究[D].杭州:浙江大學,2019.
[5] 謝小紅,李文韜.基于遷移學習的圖像分類訓練方法研究[J].信息與電腦(理論版),2020,32(7):53-55.
[6] Iandola F N,Han S,Moskewicz M W,et al.SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size[EB/OL].2016.
[7] 李坤倫,魏澤發(fā),宋煥生.基于SqueezeNet卷積神經(jīng)網(wǎng)絡的車輛顏色識別[J].長安大學學報(自然科學版),2020,40(4):109-116.
[8] 張偉. 基于深度卷積神經(jīng)網(wǎng)絡自學習特征的地表覆蓋分類研究[D].北京:中國科學院大學,2017.
【通聯(lián)編輯:唐一東】