李赫,王玉,范凱,丁兆堂,2
(1.青島農(nóng)業(yè)大學(xué)園藝學(xué)院,山東青島 266109;2.山東省農(nóng)業(yè)科學(xué)院茶葉研究所,山東濟(jì)南 250108)
茶芽檢測(cè)在茶樹(shù)栽培管理和生產(chǎn)加工中具有重要意義:可以為快速判斷茶樹(shù)品種農(nóng)藝性狀提供支持,從而加速茶樹(shù)育種;可以為茶園產(chǎn)量測(cè)定、采收時(shí)間的判斷提供依據(jù);可以為研發(fā)茶葉采摘與加工智能化設(shè)備提供技術(shù)支持。傳統(tǒng)茶芽檢測(cè)方法主要有3種:第1種依靠茶芽顏色和形狀特征來(lái)檢測(cè),主要根據(jù)茶芽和老葉的顏色差異來(lái)區(qū)分茶芽和背景[1];第2種基于傳統(tǒng)機(jī)器學(xué)習(xí)方法檢測(cè)茶芽[2];第3種通過(guò)調(diào)整閾值將茶芽和背景分割以檢測(cè)茶芽[3]。然而在復(fù)雜背景下,傳統(tǒng)茶芽檢測(cè)方法準(zhǔn)確率低、穩(wěn)定性差,很難精準(zhǔn)地檢測(cè)到茶芽。
近年來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法發(fā)展迅速,這為精確定位并檢測(cè)目標(biāo)提供了技術(shù)支持。首先,R-CNN(region-convolutional neural network)作為將深度學(xué)習(xí)應(yīng)用于目標(biāo)檢測(cè)領(lǐng)域的先驅(qū)算法,創(chuàng)新性地將傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)結(jié)合起來(lái),推動(dòng)了目標(biāo)檢測(cè)算法的發(fā)展[4];隨后,研究人員通過(guò)改變網(wǎng)絡(luò)結(jié)構(gòu),提出了SPP Net(spatial pyramid pooling network)[5]、Fast R-CNN[6]、Faster R-CNN[7]、YOLO(you only look once)[8]等目標(biāo)檢測(cè)優(yōu)化算法。但目前將基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)應(yīng)用于茶芽檢測(cè)難度較大,相關(guān)研究較少。
本文提出一種基于Faster R-CNN算法的茶芽檢測(cè)方法,該方法分別使用AlexNet[9]、ResNet50[10]、VGG19[11]3種網(wǎng)絡(luò)模型作為特征提取器提取茶芽特征,通過(guò)比較3種網(wǎng)絡(luò)模型對(duì)茶芽檢測(cè)的準(zhǔn)確率和召回率,篩選出茶芽特征提取能力和泛化能力好、檢測(cè)速度快、綜合性能優(yōu)的網(wǎng)絡(luò)模型。
EOS 6D數(shù)碼相機(jī),佳能(中國(guó))有限公司;iPhone 8p手機(jī),蘋果(中國(guó))有限公司。數(shù)據(jù)分析操作環(huán)境為Windows 10,圖像數(shù)據(jù)分析軟件為MATLAB 2020。
需要采集足夠多的訓(xùn)練圖像[12]。茶芽圖像采集于2019年4月在山東省青島市瑞草園(36°42′N,120°56′E)和山東省日照市御園春(35°29′N,119°29′E)茶園進(jìn)行。使用數(shù)碼相機(jī)(分辨率為5 184像素×3 456像素)和手機(jī)(分辨率為4 512像素×3 008像素)采集茶樹(shù)樹(shù)冠圖像,共拍攝400張,圖像存儲(chǔ)格式為JPEG,拍攝角度和拍攝距離隨機(jī)。將400張圖像按照4∶1劃分,用于訓(xùn)練集和測(cè)試集。拍攝茶芽圖像中,茶芽以外的信息為背景,背景主要包括茶樹(shù)老葉和枝干等。圖1為拍攝的一張茶樹(shù)樹(shù)冠照片。
圖1 茶樹(shù)樹(shù)冠照片F(xiàn)ig.1 A canopy photo of tea tree
為提高檢測(cè)泛化能力,對(duì)采集的圖像從光照、尺度和顏色等方面進(jìn)行數(shù)據(jù)增強(qiáng)處理,包括調(diào)整圖像光照強(qiáng)度,加深圖像顏色,調(diào)整圖像分辨率至730像素×530像素,水平翻轉(zhuǎn)圖像。然后,在MATLAB軟件中使用image labeler 9.2功能對(duì)320張?jiān)鰪?qiáng)處理后的圖像進(jìn)行標(biāo)記,得訓(xùn)練集,其余80張圖像作為測(cè)試集以驗(yàn)證檢測(cè)性能。目標(biāo)標(biāo)簽對(duì)應(yīng)的茶芽類型為一芽一葉或一芽?jī)扇~。圖2為茶樹(shù)樹(shù)冠標(biāo)記處理后的圖像。標(biāo)簽數(shù)據(jù)以MAT格式保存,將它轉(zhuǎn)換為表格數(shù)據(jù)集格式并輸入Faster R-CNN算法中。
圖2 茶樹(shù)樹(shù)冠圖像的標(biāo)記處理Fig.2 Image labeling processing of tea tree’s canopy
利用Faster R-CNN算法進(jìn)行茶芽檢測(cè),主要包括4步處理,分別為特征提取、區(qū)域候選網(wǎng)絡(luò)、感興趣區(qū)域?qū)映鼗头诸惢貧w,基本流程如圖3所示。
圖3 茶芽檢測(cè)方法的基本流程Fig.3 Basic flow of tea bud detection method
1.4.1 特征提取
特征提取器是Faster R-CNN算法的重要組成部分[13],它的性能直接影響目標(biāo)檢測(cè)的性能。選取AlexNet、ResNet50、VGG19 3種性能較優(yōu)的網(wǎng)絡(luò)模型作為特征提取器來(lái)提取圖像特征,得到特征圖。3個(gè)特征提取器包含層的數(shù)量分別為8、50和19。一般來(lái)說(shuō),特征提取器包含層的數(shù)量越少,訓(xùn)練速度越快,特征提取器的性能越好。
1.4.2 區(qū)域候選網(wǎng)絡(luò)
區(qū)域候選網(wǎng)絡(luò)是一個(gè)二分類網(wǎng)絡(luò),負(fù)責(zé)接收特征提取器提取到的特征圖,并將特征圖分為目標(biāo)茶芽與背景,然后使用接近于茶芽尺寸的方框框選出目標(biāo)茶芽。區(qū)域候選網(wǎng)絡(luò)只能粗略區(qū)分目標(biāo)茶芽與背景,無(wú)法對(duì)目標(biāo)茶芽和背景進(jìn)行細(xì)致區(qū)分。
1.4.3 感興趣區(qū)域池化
感興趣區(qū)域池化層可以顯著提高訓(xùn)練和測(cè)試速度、檢測(cè)精度,對(duì)目標(biāo)茶芽和背景進(jìn)行細(xì)致區(qū)分。感興趣區(qū)域池化層從區(qū)域候選網(wǎng)絡(luò)讀取不同區(qū)域的提名,并結(jié)合特征圖進(jìn)行池化操作,從而獲得特征表達(dá)。
1.4.4 分類回歸
分類回歸由全連接層構(gòu)成,可以獲得區(qū)域的精確位置,去除背景,并框選出目標(biāo)茶芽。從感興趣區(qū)域池化層獲得的特征表達(dá)輸入全連接層后被分為兩組,分別進(jìn)行回歸處理和目標(biāo)茶芽與背景的分類處理,從而框選出目標(biāo)茶芽。
使用訓(xùn)練集對(duì)AlexNet、ResNet50、VGG19 3種網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,使用測(cè)試集中的20張圖像進(jìn)行測(cè)試,并在MATLAB 2020軟件中將最大迭代次數(shù)和學(xué)習(xí)率分別設(shè)置為20和0.05。根據(jù)檢測(cè)效果調(diào)整學(xué)習(xí)率,最終確定最大迭代次數(shù)和學(xué)習(xí)率分別為20和0.01。圖4為兩種學(xué)習(xí)率條件下VGG19網(wǎng)絡(luò)模型的茶芽檢測(cè)結(jié)果。從圖4可以看出,學(xué)習(xí)率影響茶芽檢測(cè)效果:學(xué)習(xí)率為0.01時(shí),檢測(cè)到的目標(biāo)茶芽數(shù)量較多,檢測(cè)效果較好。
A.學(xué)習(xí)率為0.05;B.學(xué)習(xí)率為0.01。圖4 不同學(xué)習(xí)率條件下的茶芽檢測(cè)結(jié)果Fig.4 Tea bud detection results under different learning rates注:使用的網(wǎng)絡(luò)模型為VGG19。
為比較AlexNet、ResNet50和VGG19 3種網(wǎng)絡(luò)模型性能,使用準(zhǔn)確率P、召回率R[14]、F1分?jǐn)?shù)S來(lái)評(píng)估。
其中,T為能夠檢測(cè)出茶芽并可確定為茶芽的樣本數(shù)量,F(xiàn)為能夠檢測(cè)出茶芽但確定為非茶芽的樣本數(shù)量,N為不能檢測(cè)出茶芽的樣本數(shù)量。
為進(jìn)一步比較不同茶芽數(shù)量條件下3種網(wǎng)絡(luò)模型的性能,將采集圖像分為3級(jí),第1級(jí)茶芽數(shù)量1~5個(gè),第2級(jí)茶芽數(shù)量6~10個(gè),第3級(jí)茶芽數(shù)量超過(guò)10個(gè)[15]。每一級(jí)使用30張圖像進(jìn)行測(cè)試。
根據(jù)表1,使用ResNet50網(wǎng)絡(luò)模型時(shí),茶芽檢測(cè)準(zhǔn)確率最高,為89.1%,但召回率最低,僅為73.3%。因此,ResNet50網(wǎng)絡(luò)模型不能很好地檢測(cè)茶芽。使用AlexNet網(wǎng)絡(luò)模型時(shí),茶芽檢測(cè)準(zhǔn)確率和召回率都較低,這與AlexNet網(wǎng)絡(luò)模型結(jié)構(gòu)過(guò)于簡(jiǎn)單有關(guān)。使用VGG19網(wǎng)絡(luò)模型時(shí),茶芽檢測(cè)準(zhǔn)確率和召回率都超過(guò)85.0%,可以很好地檢測(cè)茶芽。比較三者的F1分?jǐn)?shù),VGG19的最大,說(shuō)明它的綜合性能最優(yōu)。圖5是VGG19網(wǎng)絡(luò)模型檢測(cè)到的一個(gè)茶芽。
表1 3種網(wǎng)絡(luò)模型的茶芽檢測(cè)結(jié)果Table 1 Tea bud detection results of three network models
圖5 使用VGG19網(wǎng)絡(luò)模型檢測(cè)到的一個(gè)茶芽圖像Fig.5 An image of tea bud detected by VGG19 network model注:方框內(nèi)是檢測(cè)到的一個(gè)茶芽。
由表2可知,隨著茶芽數(shù)量級(jí)別的提高,3種網(wǎng)絡(luò)模型茶芽檢測(cè)準(zhǔn)確率和F1分?jǐn)?shù)都逐漸降低,這說(shuō)明隨著茶芽數(shù)量的增加,使用3種網(wǎng)絡(luò)模型茶芽檢測(cè)綜合性能均下降。其中,VGG19茶芽檢測(cè)準(zhǔn)確率保持在80.0%以上,召回率穩(wěn)定在85.0%以上,F(xiàn)1分?jǐn)?shù)保持在0.850以上,為最優(yōu)網(wǎng)絡(luò)模型。
表2 3種網(wǎng)絡(luò)模型對(duì)不同茶芽數(shù)量的檢測(cè)結(jié)果Table 2 Detection results of three network models for different numbers of tea bud
為比較深度學(xué)習(xí)方法和機(jī)器學(xué)習(xí)方法在茶芽檢測(cè)方面的性能,選擇VGG19網(wǎng)絡(luò)模型為特征提取器,比較Faster R-CNN算法與支持向量機(jī)(SVM)的茶芽檢測(cè)性能,結(jié)果如表3所示。由表3可知,基于Faster R-CNN算法茶芽檢測(cè)準(zhǔn)確率和召回率較高,綜合性能較好。
表3 Faster R-CNN與SVM茶芽檢測(cè)性能比較Table 3 Comparison of tea bud detection performance between Faster R-CNN and SVM
比較了基于Faster R-CNN算法的AlexNet、ResNet50和VGG19 3種網(wǎng)絡(luò)模型對(duì)茶芽的檢測(cè)性能。VGG19茶芽檢測(cè)具有較高的準(zhǔn)確率和召回率,F(xiàn)1分?jǐn)?shù)最高,綜合性能最好。ResNet50茶芽檢測(cè)雖然準(zhǔn)確率最高,但召回率最低,F(xiàn)1分?jǐn)?shù)最低,綜合性能最差。與ResNet50相比,VGG19在茶芽檢測(cè)時(shí)具有較快的運(yùn)行速度,這使得VGG19在訓(xùn)練大型數(shù)據(jù)集時(shí)具有優(yōu)勢(shì)。AlexNet茶芽檢測(cè)準(zhǔn)確率和召回率都較低,性能不突出。對(duì)不同茶芽數(shù)量的圖像檢測(cè)性能比較結(jié)果表明,隨著茶芽數(shù)量的增多,3種網(wǎng)絡(luò)模型的綜合性能均下降,但VGG19茶芽檢測(cè)的F1分?jǐn)?shù)始終保持在0.850以上,進(jìn)一步說(shuō)明它具有良好的綜合性能。綜上所述,VGG19網(wǎng)絡(luò)模型在茶芽檢測(cè)方面綜合性能好,能較好地解決復(fù)雜背景茶芽檢測(cè)準(zhǔn)確率低、穩(wěn)定性差等問(wèn)題。Faster R-CNN算法與SVM算法比較結(jié)果表明,F(xiàn)aster R-CNN算法的茶芽檢測(cè)準(zhǔn)確率和召回率大于SVM算法,這與以往研究結(jié)果一致[17]。因此,深度學(xué)習(xí)可以應(yīng)用于復(fù)雜背景中的茶芽檢測(cè),為茶樹(shù)產(chǎn)量特性評(píng)價(jià)、茶葉采摘與加工智能化機(jī)械設(shè)備研究提供技術(shù)支持。下一步可使用不同的深度學(xué)習(xí)算法或更多的采集數(shù)據(jù)進(jìn)行研究,還可以探索使用多光譜成像或高光譜成像設(shè)備來(lái)擴(kuò)增數(shù)據(jù)質(zhì)量,進(jìn)一步提高檢測(cè)性能。
以Faster R-CNN算法為框架,分別以AlexNet、ResNet50和VGG19網(wǎng)絡(luò)模型為特征提取器對(duì)復(fù)雜背景茶芽圖像進(jìn)行檢測(cè)。結(jié)果表明,使用VGG19的茶芽檢測(cè)準(zhǔn)確率為86.3%,召回率為96.1%,綜合性能最好。表明本文提出的基于Faster R-CNN算法、以VGG19網(wǎng)絡(luò)模型為特征提取器的茶芽檢測(cè)方法可以應(yīng)用于復(fù)雜背景茶芽檢測(cè)。