劉景賀 任彥彪 薛巖 郭曉麗 徐龍 夏菲 郜園園
關鍵詞:花卉識別;ResNet152;AlexNet;MobileNet_v3;界面操作
0 引言
花卉的作用涉及藥用,觀賞,凈化空氣,經濟生產等多方面,花卉種類識別的研究與探索具有重要意義。例如,在花卉農業(yè)領域,人們經常需要對花卉種類進行分類處理,常見的花卉分類方法依照其外部形態(tài)、生長特性、觀賞部位、栽培方式等方面進行區(qū)分。
傳統的花卉識別方法將花卉圖像進行圖像分割,利用其他手段將特征部位摳除。首先,它過于依賴花卉的分割效果。其次,它在很大程度上依賴于人機交互。因而需要消耗大量的人力物力,且無法做到快速檢測和準確檢測。近年來,隨著機器學習的發(fā)展,人們對花卉識別技術進行進一步的研究與探索。在圖像分割技術上,Saitoh等人[1]提出一種能自動進行花卉圖片分割的技術。有效地解決了先驗色彩信息問題,但限制了花卉在圖中的位置,需要人工矯正。Chai等人[2]提出了一種花卉圖像聯合分割算法,取得了較好的分割效果。在花卉分類技術上,Lee等人[3]提出一種花卉分類技術,對花卉色彩和形狀有較好的提取效果。
近年來,基于卷積神經網絡(Convolutional NeuralNetwork)的花卉識別方法得到發(fā)展。在卷積網絡中,避免了傳統識別算法中的復雜的特征提取和數據重建過程[4],取得了較好成果。AlexNet網絡是卷積神經網絡中的一種經典網絡。2012年,Krizhevsky 等人[5]提出的深度網絡結構AlexNet,在圖像分類中取得了很大突破。AlexNet獲得了2012 年大規(guī)模視覺識別挑戰(zhàn)賽(ImageNetLarge Scale Visual Recogition Challenge,ILSVRC)的冠軍,并且引發(fā)了研究深度網絡結構的熱潮。2018年,王爽[6]利用AlexNet 進行遷移學習進行花卉分類,正確率達到90.85%,之后對花卉數據庫繼續(xù)迭代訓練并進行網絡微調,正確率達到94.37%。在2016 年,He 提出殘差網絡( Residual Network,ResNet)[7],一種深層卷積神經網絡結構,在模型深度加大時,用于解決網絡退化現象,可以提升網絡深度。2020年,袁晨暉[8]提出基于改進ResNet 的深度遷移學習方法,通過模型遷移和深度特征抽取,減小了數據集間內容差異對遷移學習特征識別力的影響。在MNIST 和CIFAR-10 數據集上進行實驗,準確率分別達到97.98%和90.45%。
本文重點研究ResNet、MobileNet V3、AlexNet 三種模型的分類效果,提出一種基于ResNet152的準確快速識別花卉種類的分類方法。
1 數據集介紹
實驗中采用的花卉數據集大小為47 770,共24個花卉種類,分別是鬼針草、桔梗,石龍芮、全葉馬蘭、婆婆納、三葉草、旋覆花、繡球小冠花、狗尾草、一年蓬、劍葉金雞菊、濱菊、射干、三角梅、馬鞭草、油菜花、蒲公英、兩色金雞菊、全緣金光菊、藍薊、曼陀羅、諸葛菜、千屈菜、狼尾草。其中石龍芮樣本個數為1 770,其他樣本數均為2 000。按照8∶2的比例劃分訓練集和測試集,通過測試集來驗證模型的準確度。如圖1 所示。
2模型搭建
傳統的卷積神經網絡易出現梯度消失或退化問題。為解決這兩個問題,2015年微軟實驗室提出了Resnet網絡。該網絡采用residual結構(殘差結構),搭建超過1 000層的網絡結構,丟棄dropout,使用了Batch Normalization進行加速訓練。ResNet152中使用的殘差結構如圖2所示。
該殘差結構能夠減少參數量和運算量,在該殘差結構當中,主分支使用了三個卷積層,分別是1×1,3×3,1×1。第一個1x1的卷積層用來壓縮channel維度,第二個1x1的卷積層用來還原channel維度。
(1) 輸入層是尺寸為224×224×3的待識別的花卉圖片。
(2) conv1是7×7的卷積層,步長為2,輸出大小為112×112。
(3) conv2_x是3×3的最大池化下采樣操作,步長為2,使用了3層殘差層,3層卷積層,分別是1×1,3×3,1×1。輸出大小為56×56。
(4) conv3_x,使用了8層殘差層,3層卷積層,分別是1×1,3×3,1×1。輸出大小為28×28。
(5) conv4_x,使用了36層殘差層,3層卷積層,分別是1×1,3×3,1×1。輸出大小為14×14。
(6) conv5_x,使用了3層殘差層,3層卷積層,分別是1×1,3×3,1×1。輸出大小為14×14。
(7) 最后是平均池化下采樣操作和全連接層。可以通過使用softmax函數來確定,它是一個對于輸入和節(jié)點進行激活的函數,它可以將24種輸出值轉換為范圍在[0,1]的概率分布,從而進行分類。
3 AlexNet,MobileNet_V3,ResNet152,網絡模型的性能指標對比
AlexNet,MobileNet_V3,ResNet152,網絡訓練過程的曲線圖如圖3、圖4、圖5所示,熱力圖如圖6所示。當epochs達到15時,三個網絡的Training Accuracy曲線均趨于飽和。當epochs達到5時,Validation Accura?cy曲線便開始在0.95附近上下波動;Training Accuracy 曲線和Validation Accuracy曲線在epochs由0到30的過程中變化均低緩。當epochs 達到10 時,Trainingloss曲線趨于飽和,在epochs由10到30的過程中變化低緩,稍微有向下變化的趨勢。Validation loss曲線在epochs由0變化到30的過程中先下降后上升,然后波動,最終在0.22附近徘徊。盡管三種模型的四條曲線變化趨勢并不明顯,但Resnet152的Validation loss曲線波動更為低緩,平滑。
分別對模型的收斂速度、模型效率、模型精度、召回率、模型分數進行分析。
3.1 收斂速度
是否收斂是評價一個網絡模型好壞的重要指標,三個網絡模型均未出現收斂抖動現象,最終都會收斂,其中ResNet152的收斂速度最快,在Epochs達到13 時,能夠呈現穩(wěn)定的收斂狀態(tài)。比另外兩個模型要快2個epochs。同樣收斂的情況下,收斂速度越快說明網絡模型越好。
3.2 模型大小
網絡模型的大小決定著是否有利于后期的小程序或者App開發(fā),網絡模型所占的內存越小越有利于后期的開發(fā)。三個網絡模型的大小均為9475KB,適合在移動端進行進一步開發(fā)使用。
3.3 模型效率
模型的效率事關后期開發(fā)的小程序或者app的識別速度,效率越高,識別速度越快,越有利于提升用戶的體驗感。識別速度由快到慢的排列順序分別為:MobileNet_V3>ResNet152>AlexNet,MobileNet_V3 識別每張圖片所需時間最短,僅需0.17 s便可識別一張圖片,Resnet152識別一張圖片的速度為0.18秒。
4 界面化
4.1實現環(huán)境
實現環(huán)境基于深度學習框架TensorFlower2.3 ;硬件環(huán)境采用AMD Ryzen 5 4600H with Radeon Graph?ics,3.00 GHz,GPU 采用NVIDIA GeForce 顯卡,16GB 內存,4 GB 顯存。采用Windows 10 操作系統,Pycharm 編譯環(huán)境和Python3.7 語言,使用了pyqt5,pillow,opencv-python,matplotlib。每次試驗運行30 輪(epochs),采用ReLU激活函數。
4.2識別過程
加載初始圖片,將圖片的高度變成400,在界面上方便顯示,然后將圖片變成224×224的大小,因為模型接收的參數是224×224,然后將224×224的圖片轉換成數組,輸入到模型中得到結果,在界面上進行顯示。如圖7所示,通過界面化操作進行花卉識別。
5 結束語
對比AlexNet,MobileNet_V3,ResNet152 三個網絡模型的各項指標以及實驗統計了ResNet152對24種花卉的評估結果,突出了ResNet152的優(yōu)良性能,在今后的研究工作中,將繼續(xù)對ResNet152進行優(yōu)化提高其性能,比如識別準確率,模型效率,模型大小,模型識別速度等指標,并進行花卉識別小程序的開發(fā),進而做出實質性成果。