李海濤,羅維平
基于深度學(xué)習(xí)的棉花品種識別
李海濤,羅維平*
(武漢紡織大學(xué) 機械工程與自動化學(xué)院,湖北 武漢 430200)
棉花作為我國最主要的農(nóng)產(chǎn)品之一,不僅具有不錯的觀賞價值,更重要的還是工業(yè)原料。棉花的花型不同于其他花卉種類,且不同種類其纖維長度還有所差異。為了解決棉花人工區(qū)分效率低的問題,本文基于深度學(xué)習(xí)方法,以棉花原始的圖像數(shù)據(jù)作為研究對象,通過多層網(wǎng)絡(luò)學(xué)習(xí)棉花的特征信息,更加精確區(qū)分不同類型的棉花種類。試驗結(jié)果表明:本文所提出的卷積神經(jīng)網(wǎng)絡(luò)CNN-CSC模型相較于傳統(tǒng)機器學(xué)習(xí)方法識別精度提升大約15%,平均精度達到89.17%,為棉花的自動化管理提供了一種有效的手段。
深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);圖像識別;棉花識別
棉花作為我國最主要的農(nóng)產(chǎn)品之一,其花型美觀,結(jié)實結(jié)絮,具有不錯的觀賞價值。對棉花種類通過人工進行區(qū)分,不僅效率低且識別困難。因此通過計算機技術(shù)輔助識別,成為一種有效的處理方法。目前圖像識別技術(shù)及其相關(guān)理論發(fā)展迅速,圖像識別技術(shù)已成為國際人工智能領(lǐng)域研究最熱點的方向之一[1]。在國內(nèi)外植物信息學(xué)領(lǐng)域中,基于圖像識別技術(shù)對植物進行識別與分類成為研究的熱門。
由于機器學(xué)習(xí)等關(guān)鍵技術(shù)的不斷發(fā)展,近年來我國學(xué)者和研究機構(gòu)在植物信息識別中也取得重大突破。張帥等[2]分別對單一背景和復(fù)雜背景下的植物葉片圖像進行訓(xùn)練和識別,采用CNN+SVM和CNN+Softmax方法,得到單一背景下圖像識別率為91.11%,復(fù)雜背景下圖像識別率為34.38%。袁培森[3]等提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的端到端菊花花型和品種識別系統(tǒng),該系統(tǒng)分為離線和在線兩種階段,識別率達到98%。胡錦濤等[4]提出了一種自動預(yù)測棉花發(fā)育期的深度學(xué)習(xí)模型,通過卷積神經(jīng)網(wǎng)絡(luò)結(jié)合遷移學(xué)習(xí)提高了棉花發(fā)育期識別精度。王見等[5]通過將遷移模型的特征提取與極限學(xué)習(xí)機結(jié)合的方法訓(xùn)練網(wǎng)絡(luò),進行棉花識別研究。在ResNet-50遷移模型準(zhǔn)確率達到93.68%,但在訓(xùn)練過程中出現(xiàn)了過擬合。沈萍等[6],通過基于深度學(xué)習(xí)的方法在ImageNet數(shù)據(jù)集上完成了花卉識別試驗,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比評價識別準(zhǔn)確率提升了10%左右。
當(dāng)下,隨著人工智能領(lǐng)域的興起以及計算機計算能力的提升,深度學(xué)習(xí) (deep learning)技術(shù)在模式識別、自然語言處理以及圖像處理等方向煥發(fā)了強大的活力[7]。深度學(xué)習(xí)具有強大的特征提取能力,深度學(xué)習(xí)框架能夠在有限的樣本數(shù)據(jù)輸入的情況下,獲得更高層次的輸入數(shù)據(jù)信息。目前,深度學(xué)習(xí)仍然是未來研究的熱點之一,通過不斷的研究該技術(shù)將得到更深層次的發(fā)展[8]。
本文以棉花的圖像數(shù)據(jù)作為研究對象,對棉花的不同類型手動分類和標(biāo)注,在此基礎(chǔ)上構(gòu)建棉花數(shù)據(jù)集的卷積神經(jīng)網(wǎng)絡(luò)模型,該卷積神經(jīng)網(wǎng)絡(luò)對棉花花型實現(xiàn)智能識別和分類。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN),作為第一個真正成功地采用多層次結(jié)構(gòu)網(wǎng)絡(luò)的深度學(xué)習(xí)方法,具有對平移、比例縮放、傾斜或其他形式的變形不變性等特點[9]。卷積神經(jīng)網(wǎng)絡(luò)整體架構(gòu)分為4層:第1層是輸入層,第2層為卷積層,第3層為池化層,第4層為全連接層。CNN通過對現(xiàn)有模型訓(xùn)練卷積網(wǎng)絡(luò),從而得出輸入與輸出之間的非線性關(guān)系。
(1)輸入層:將要進行識別的樣本對象作為輸入數(shù)據(jù)傳入卷積神經(jīng)網(wǎng)絡(luò)中,若為圖像輸入時采樣其像素值,進而轉(zhuǎn)換成向量輸入。
(2)卷積層:對輸入數(shù)據(jù)進行特征提取,為得到計算機更容易讀懂的特征。卷積核(filter)是卷積神經(jīng)網(wǎng)絡(luò)中的重要權(quán)重參數(shù),當(dāng)卷積核采用較小的長和寬時,就能提取數(shù)量更多的特征。其具體過程如公式(1)所示:
本文模型采用ReLU函數(shù)作為激活函數(shù)其表達式為公式(2),通過激活函數(shù)使得網(wǎng)絡(luò)具有非線性。與sigmoid等激活函數(shù)相比,ReLU函數(shù)計算量少,反向傳播時梯度不易消失,且Relu函數(shù)使得一部分神經(jīng)元輸出為0,增加了網(wǎng)絡(luò)的稀疏性,能有效緩解模型過擬合發(fā)生。
(3)池化層:池化層一般為下采樣,對通過上一層卷積操作輸入的特征圖進行壓縮,有效減少網(wǎng)絡(luò)中數(shù)據(jù)的計算量,利用最有價值的特征[10]。使得整個網(wǎng)絡(luò)有較好的魯棒性。本文采用最經(jīng)典的池化方法最大池化,其以2x2窗口,步長為2的函數(shù)表示為公式(3)。
(4)全連接層:全連接層一般堆疊在卷積層之后,通過一組權(quán)重參數(shù)將卷積層的輸出與隱藏層聯(lián)系到一起,全連接層本質(zhì)上是一個多層感知器[11],通過級聯(lián)多個變換來實現(xiàn)輸入到輸出的映射。
CNN-CSC模型識別棉花種類的流程如下:第一步加載棉花圖像數(shù)據(jù),第二步對棉花圖像進行預(yù)處理得到227*227像素圖片,第三步將經(jīng)過預(yù)處理后的圖像的RGB三通道像素值轉(zhuǎn)換為tensor形式,第四步將tensor數(shù)據(jù)傳入CNN-CSC模型進行訓(xùn)練,最后根據(jù)模型的分類結(jié)果完成不同棉花種類的識別。
仿真平臺為64為Window10操作系統(tǒng),硬件環(huán)境為內(nèi)存16G,AMD Ryzen 5 5600x 6-Core Processor,GPU NVIDIA GeForce RTX 3070。選用深度學(xué)習(xí)架構(gòu)為tensorflow V2.0框架[12]。
為解決訓(xùn)練數(shù)據(jù)集數(shù)量不足的情況,在圖像預(yù)處理階段采用:亮度隨機變換,隨機翻轉(zhuǎn),對比度隨機變換,隨機剪裁等隨機變換方法來增加訓(xùn)練數(shù)據(jù)集的大小。預(yù)處理后圖像大小為227*227像素。
本文構(gòu)建的棉花種類識別網(wǎng)絡(luò)模型CNN-CSC如圖1所示。該模型包含1個輸入層,卷積層1后接池化層1,卷積層2后接池化層2,卷積層3、4、5后接池化層3,最后接到全連接層和Softmax分類層。每一層網(wǎng)絡(luò)的具體參數(shù)規(guī)格如表1所示,其中輸入層輸入經(jīng)過預(yù)處理后的棉花圖像數(shù)據(jù),像素大小為227*227*3;卷積層作用就是通過卷積操作對輸入圖像進行特征提取。卷積層1共有64個卷積核,卷積核的大小設(shè)定為5*5,卷積核切片步長設(shè)定為1。
經(jīng)過卷積層1后,輸出64維數(shù)據(jù)像素大小為223*223*64;池化層的作用就是一個降采樣的過程,池化層1的卷積核的大小設(shè)定為3*3,卷積核切片步長設(shè)定為2。經(jīng)過池化層1后,輸出64維數(shù)據(jù)像素大小為111*111*64;將池化層1中的數(shù)據(jù)輸入到卷積層2,卷積層2包含128個卷積核,核的大小設(shè)定為3*3,卷積核切片步長設(shè)定為1,使用零填充p=1。經(jīng)過卷積層2后,輸出128維數(shù)據(jù)像素大小為111*111*128;池化層2的卷積核的大小設(shè)定為3*3,卷積核切片步長設(shè)定為2。經(jīng)過池化層2后,輸出數(shù)據(jù)像素大小為55*55*128。卷積層3、4、5均采用256個3*3卷積核,卷積核切片步長設(shè)定為1,使用零填充p=1。池化層3的卷積核的大小設(shè)定為3*3,卷積核切片步長設(shè)定為2。經(jīng)
圖1 棉花種類識別的卷積神經(jīng)網(wǎng)絡(luò)CNN-CSC模型
過池化層3后,輸出數(shù)據(jù)像素大小為27*27*256。使用以此作為全連接層1的輸入;全連接層采用Re LU激活函數(shù),其中全連接層1包括512個神經(jīng)元,全連接層2包括3個神經(jīng)元。
分類層的設(shè)計,根據(jù)識別任務(wù)的具體要求確定softmax分類層中神經(jīng)元數(shù)量,如公式(4)所示。
本文CNN-CSC模型訓(xùn)練集中樣本的種類為3種,所以將分類層神經(jīng)元個數(shù)設(shè)定為3個。全連接層2的輸出數(shù)據(jù)作為softmax分類層的輸入,經(jīng)過softmax分類層后輸出花型種類的概率,最終完成花型種類識別。CNN-CSC模型結(jié)構(gòu)參數(shù)如表1所示。
表1 CNN-CSC模型結(jié)構(gòu)參數(shù)
由于深度學(xué)習(xí)需要大量的高質(zhì)量標(biāo)記數(shù)據(jù),而在本研究棉花數(shù)據(jù)集圖像數(shù)量不足的情況下,采用遷移學(xué)習(xí)預(yù)訓(xùn)練的ImageNet對模型進行初始化。ImageNet項目是目前計算機視覺系統(tǒng)識別中最大的數(shù)據(jù)庫,其中包括大約1500萬張圖像被人工篩選與手動注釋包含2.2萬多個類別。作為一個大型公開數(shù)據(jù)集,其對于初學(xué)者深度學(xué)習(xí)提供了重要的數(shù)據(jù)支撐。首先在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練CNN-CSC模型,屏蔽掉模型的輸出層,訓(xùn)練網(wǎng)絡(luò)剩余的模型參數(shù),最后應(yīng)用到本文的棉花數(shù)據(jù)集上[13]。棉花圖像數(shù)據(jù)集較小,且數(shù)據(jù)相似度不高,重新訓(xùn)練的過程就變得非常關(guān)鍵。在第一次迭代訓(xùn)練中,先固定1-4層的權(quán)重,重新訓(xùn)練第5層;在第二次迭代訓(xùn)練中,固定1-3層的權(quán)重,重新訓(xùn)練4-5層;最后一次迭代訓(xùn)練中,固定1-2層權(quán)重,重新訓(xùn)練3-5層。通過以上迭代訓(xùn)練,能夠在小樣本數(shù)據(jù)集上加速網(wǎng)絡(luò)的收斂過程,并作用于最后棉花種類識別精度的測試。
訓(xùn)練過程步驟如下:
(1)首先系統(tǒng)采用kaiming正態(tài)分布初始化權(quán)重,前向傳播的時候,每一層的卷積計算結(jié)果的方差為1。反向傳播的時候,每一層的繼續(xù)往前傳的梯度方差為1(因為每層會有兩個梯度的計算,一個用來更新當(dāng)前層的權(quán)重,一個繼續(xù)傳播, 用于前面層的梯度的計算。)
(2)每次從訓(xùn)練數(shù)據(jù)采樣一個batch的樣本,對樣本進行預(yù)處理后作為網(wǎng)絡(luò)訓(xùn)練的輸入。
(3)在前向傳播過程中,輸入的訓(xùn)練樣本數(shù)據(jù)經(jīng)過多層卷積層的卷積和池化處理,提取特征向量,將特征向量傳入全連接層中,得出輸出值。
(4)求出目標(biāo)值與實際輸出值之間的偏量e。當(dāng)達到設(shè)定的迭代次數(shù)時,訓(xùn)練完成,否則繼續(xù)進行訓(xùn)練。
(5)在反向傳播過程中,將誤差一層層返回,計算網(wǎng)絡(luò)層中神經(jīng)元的誤差和誤差梯度。
(6)進行權(quán)值更新,然后再進入第二步,循環(huán)訓(xùn)練。
圖2 CNN-CSC的訓(xùn)練流程圖
本文數(shù)據(jù)集共6720張棉花圖像,共分為3種類型:粗絨棉、細絨棉、長絨棉。整個數(shù)據(jù)集中6000張棉花圖像構(gòu)建訓(xùn)練集,360張構(gòu)建驗證集,另外360張構(gòu)建測試集。所有棉花圖像數(shù)據(jù)都根據(jù)其不同類型進行人工標(biāo)注和分類,其中三種類型的棉花的訓(xùn)練集、驗證集和測試集的圖片數(shù)量分別為2000張、120張、120張。
圖3 預(yù)處理后棉花圖像
圖4 特征響應(yīng)圖
系統(tǒng)中dropout參數(shù)設(shè)置為0.25,卷積層初始學(xué)習(xí)率設(shè)置為0.01當(dāng)系統(tǒng)損失在當(dāng)前學(xué)習(xí)率不再下降時將學(xué)習(xí)率手動縮小10倍,迭代次數(shù)設(shè)置為30 000次,當(dāng)使用驗證集驗證系統(tǒng)時每12張圖片比較系統(tǒng)精度并保存模型中的所有參數(shù)。
為了更好地評價該系統(tǒng)在棉花種類識別方面的精度和性能,選擇典型機器學(xué)習(xí)方法支持向量機(SVM)與本文卷積神經(jīng)網(wǎng)絡(luò)進行比較。SVM方法需要手動提取具體圖片的特征,再將提取到的形狀、紋理等特征構(gòu)成分類器的輸入,最后輸入到SVM中完成棉花種類的識別。
測試集在兩種模型中的識別結(jié)果如表2所示,在本系統(tǒng)中棉花種類識別的準(zhǔn)確度達到88.24%,識別精度為89.47%,召回率和F1值分別87.71%和87.97%。相較于SVM方法,系統(tǒng)整體的性能和穩(wěn)定性均明顯提高,其中識別精度大約提升15%。試驗結(jié)果說明本文建立的卷積神經(jīng)網(wǎng)絡(luò)模型在棉花的識別上具有更高的識別精度,能更好完成棉花種類的識別。
本文所使用的方法在識別棉花種類識別上有以下優(yōu)越性:(1)相較于人工特征提取,基于深度學(xué)習(xí)的棉花種類識別方法能夠自動學(xué)習(xí)特征提取的過程,能有效提高模型整體準(zhǔn)確度;(2)基于深度學(xué)習(xí)的方法更容易觀察并獲取棉花圖片中更加細粒度的差別,用于區(qū)分不同的花型;(3)基于深度學(xué)習(xí)的方法在模型訓(xùn)練好后,可以對不同場景條件下(光照、拍攝角度、遮擋等)獲取的樣本都能有效的進行識別。
表2 基于卷積神經(jīng)網(wǎng)絡(luò)CNN-CSC與支持向量機SVM方法識別準(zhǔn)確度對比
本文基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建了一個8層的深度學(xué)習(xí)棉花種類識別系統(tǒng)CNN-CSC,實現(xiàn)了三種棉花花型的識別。首先采集并標(biāo)注棉花花型和類別數(shù)據(jù)集,然后探討棉花圖像預(yù)處理的思路和預(yù)處理的必要性。在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)CNN-CSC模型,通過三次迭代訓(xùn)練有針對性的學(xué)習(xí)棉花圖像的特點,能夠在樣本數(shù)據(jù)不足的情況下,提高網(wǎng)絡(luò)的收斂速度,并作用于最后棉花種類識別精度的測試。并且通過試驗與SVM方法進行對比,證明了在棉花種類的識別方面基于深度學(xué)習(xí)的方法優(yōu)于傳統(tǒng)的機器學(xué)習(xí)分類方法, 證明了深度學(xué)習(xí)方法在棉花種類識別中具有更好的分類性能。
本文所構(gòu)建的8層深度學(xué)習(xí)棉花種類識別系統(tǒng)依然存在不足之處,在數(shù)據(jù)集收集方面本文共有三類棉花種類圖片共6720張,樣本數(shù)據(jù)并不充足無法滿足更加深層的模型需求。后期進一步收集不同場景的棉花圖像擴充數(shù)據(jù)集,能夠有利于提高模型識別性能。同時,研究使用更復(fù)雜、更深層的網(wǎng)絡(luò)模型進行圖像識別會使識別精度得到進一步提高,這也是未來基于深度學(xué)習(xí)方法在植物識別領(lǐng)域的研究方向之一。
[1] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[A]// Proceedings of the IEEE conference on computer vision and pattern recognition[C]. 2016. 770-778.
[2] 張帥, 淮永建. 基于分層卷積深度學(xué)習(xí)系統(tǒng)的植物葉片識別研究[J]. 北京林業(yè)大學(xué)學(xué)報, 2016, 38(09): 108-115.
[3] 袁培森, 黎薇, 任守綱, 等. 基于卷積神經(jīng)網(wǎng)絡(luò)的菊花花型和品種識別[J]. 農(nóng)業(yè)工程學(xué)報, 2018, 34(05): 152-158.
[4] 胡錦濤, 王苗苗, 李濤, 等. 基于深度學(xué)習(xí)的棉花發(fā)育期自動觀測[J]. 安徽農(nóng)業(yè)科學(xué), 2019, 47(11): 237-240 +243.
[5] 王見, 田光寶, 周勤. 基于遷移學(xué)習(xí)的棉花識別[J]. 浙江農(nóng)業(yè)學(xué)報, 2020, 32(08): 1457-1465.
[6] 沈萍, 趙備. 基于深度學(xué)習(xí)模型的花卉種類識別[J]. 科技通報, 2017, 33(03):115-119.
[7] 孫志遠,魯成祥,史忠植,等. 深度學(xué)習(xí)研究與進展[J]. 計算機科學(xué),2016,43(2):1-8.
[8] KIM J, LEE J K, LEE K M. Deeply-recursive convolutional network for image super-resolution[A].Proceedings of the IEEE conference on computer vision and pattern recognition[C]. Las Vegas, NV, SUA: IEEE, 2016. 1637- 1645.
[9] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[J]. Advances in neural information processing systems, 2012, 25 (2) :1097-1105.
[10] Xie G S, Zhang X Y, Yang W. LG-CNN:From local parts to global discrimination for fine-grained recognition[J]. Pattern Recognition, 2017, 71:118-131
[11] Cheng X, Zhang Y, Chen Y. Pest identification via deep residual learning in complexbackground[J]. Computers & amp; Electronics in Agriculture, 2017, 141:351-356
[12] Abirami K Rama, ManojKumar M, Insaf Mohammed, et al. Deep learning based Food Recognition using Tensorflow[J]. Journal of Physics: Conference Series, 2021, 1916(1).
[13] 張建華, 孔繁濤, 吳建寨, 等. 基于改進VGG卷積神經(jīng)網(wǎng)絡(luò)的棉花病害識別模型[J]. 中國農(nóng)業(yè)大學(xué)學(xué)報, 2018, 23(11):161-171.
Cotton Variety Identification based on Deep Learing
LI Hai-tao, LUO Wei-ping
(School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan Hubei 430200, China)
Cotton, as one of the most major agricultural products in our country, not only has a good ornamental value, but also is more important and an industrial raw material. The flower type of cotton is different from those of other floral species, and the fiber lengths of the different species also differ. To solve the problem of low efficiency of artificial discrimination of cotton, in this paper, based on deep learning method, the original image data of cotton is used as a research object to learn the characteristic information of cotton through multi-layer network and distinguish different types of cotton species more precisely. Test results: the cnn-csc model of the convolutional neural network proposed in this paper improves the identification accuracy by approximately 15% and the average accuracy reaches 89.17% compared to traditional machine learning methods, which provides an effective means for automated management of cotton.
deep learning; convolution neural network; image recognition; cotton recognition
TP391
A
2095-414X(2022)04-0022-05
通訊作者:羅維平(1967-),女,教授,研究方向:檢測技術(shù)與智能控制、信號與信息處理,先進技術(shù)工業(yè)制造等.