張皓婷李明李敏閆鳳祝鵬
(1.內(nèi)蒙古農(nóng)業(yè)大學(xué)園藝與植物保護(hù)學(xué)院,內(nèi)蒙古 呼和浩特 010018;2.內(nèi)蒙古農(nóng)業(yè)大學(xué)職業(yè)技術(shù)學(xué)院,內(nèi)蒙古 包頭 014095)
番茄是人們?nèi)粘I钪兄匾氖卟?,是我國蔬菜?shí)現(xiàn)周年生產(chǎn)和供應(yīng)最主要的設(shè)施蔬菜之一[1]。番茄營養(yǎng)豐富,不僅含有豐富的維生素,還可以作為水果食用。隨著人工智能的發(fā)展,高效準(zhǔn)確地檢測(cè)番茄果實(shí)以識(shí)別定位、機(jī)械采摘、計(jì)數(shù)和估產(chǎn),是對(duì)減少人力投入而必需解決的問題。機(jī)器學(xué)習(xí)[2]是人工智能研究的重要分支,其通過算法讓機(jī)器可以從外界輸入的大量數(shù)據(jù)中學(xué)習(xí)到規(guī)律,從而進(jìn)行識(shí)別判斷[3];目前被廣泛的應(yīng)用在多個(gè)領(lǐng)域中,特別是在計(jì)算機(jī)視覺方面,機(jī)器學(xué)習(xí)利用深層次的神經(jīng)網(wǎng)絡(luò)從視頻或圖像中自動(dòng)提取目標(biāo)特征,將目標(biāo)與非目標(biāo)區(qū)分開來,檢測(cè)出特定目標(biāo)[4],其高效地解決了圖像的分類和識(shí)別、目標(biāo)跟蹤和檢測(cè)、語義分割等任務(wù),且具有非常高的精度。對(duì)基于Faster R-CNN算法番茄果實(shí)目標(biāo)檢測(cè)進(jìn)行研究和運(yùn)用,在目標(biāo)檢測(cè)中能夠有效區(qū)分目標(biāo)特征與非目標(biāo)特征,提高目標(biāo)檢測(cè)效率。本試驗(yàn)設(shè)計(jì)基于Faster R-CNN網(wǎng)絡(luò)模型對(duì)番茄果實(shí)的識(shí)別,對(duì)番茄果實(shí)重疊、遮擋而造成的圖像難以分割的問題進(jìn)行分析,盡可能提高準(zhǔn)確率與檢測(cè)效率,以期實(shí)現(xiàn)機(jī)器學(xué)習(xí)對(duì)作物的識(shí)別和預(yù)測(cè)結(jié)果,實(shí)現(xiàn)技術(shù)在設(shè)施番茄果實(shí)識(shí)別方面的應(yīng)用,達(dá)到省時(shí)省人力目的。因此,用該算法識(shí)別番茄果數(shù)具有重要的研究價(jià)值和意義,并可為豐富和優(yōu)化設(shè)施番茄栽培生產(chǎn)提供一定的參考。
供試作物為草莓番茄;拍攝設(shè)備為手機(jī)和相機(jī);試驗(yàn)平臺(tái)是在Win10操作系統(tǒng)下完成。
試驗(yàn)番茄幼苗5月6日定植,種植密度為27700株·hm-2;在番茄苗期、結(jié)果前期、結(jié)果中期和結(jié)果后期分別進(jìn)行圖像采集。采集照片2000張,精心挑選出1002張各個(gè)時(shí)期的番茄果實(shí)樣本。數(shù)據(jù)采集:拍攝時(shí)間2021年6月11日—8月10日13∶00—16∶00,光線良好。采集圖像的原始尺寸為3120像素×4128像素,圖像存儲(chǔ)格式為JPG。
數(shù)據(jù)處理:首先進(jìn)行裁剪處理,由于原始拍攝圖像尺寸為3120像素×4128像素,遠(yuǎn)大于正常深度學(xué)習(xí)訓(xùn)練圖像的大小,因此將原始圖像進(jìn)行裁剪,裁剪后的圖像尺寸為780像素×1032像素。制作VOC格式的數(shù)據(jù)集:使用LabelImg標(biāo)注工具對(duì)精選出的樣本數(shù)據(jù)進(jìn)行標(biāo)注;該數(shù)據(jù)集是番茄目標(biāo)檢測(cè)的一個(gè)數(shù)據(jù)集,自制的VOC格式數(shù)據(jù)集中只包含1種帶標(biāo)簽的待測(cè)目標(biāo),共有1002張訓(xùn)練圖像和668張測(cè)試圖像;分別將xml文件和xml對(duì)應(yīng)圖片存放在Annotations和JPEGImages文件夾中,Main文件夾開始為空,在數(shù)據(jù)集同級(jí)目錄新建test.py生成4個(gè)txt文件。運(yùn)行test.py后會(huì)在Main生成4個(gè)txt文件,至此,自制的VOC格式的數(shù)據(jù)集準(zhǔn)備完畢。
圖1 標(biāo)注番茄圖像和數(shù)據(jù)集建立
使用Faster R-CNN算法得出訓(xùn)練過程數(shù)據(jù),使用詳解PyTorch可視化工具visdom(一)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和圖形繪制。
本試驗(yàn)采用的測(cè)試標(biāo)準(zhǔn)為平均準(zhǔn)確率均值(Mean Average Precision,mAP);計(jì)算所有待測(cè)目標(biāo)的AP均值,即
mAP∶mAP=1/20∑k=120APk
人們雖然可以通過眼睛主觀判斷番茄果實(shí)和類型,但由于人力有限,識(shí)別費(fèi)時(shí)費(fèi)力,也對(duì)采摘機(jī)器人的自主采摘與收獲沒有任何幫助。圖像處理技術(shù)的持續(xù)發(fā)展和不斷突破已應(yīng)用在各個(gè)領(lǐng)域,同時(shí)農(nóng)業(yè)領(lǐng)域也漸漸取得許多可觀的進(jìn)展;人們只需采集番茄果實(shí)的圖像數(shù)據(jù),預(yù)處理數(shù)據(jù),提取特征并將信息送至分類器進(jìn)行訓(xùn)練并獲取模型參數(shù),就可以使用生成的模型來識(shí)別檢測(cè)番茄果實(shí)及其類別[5]。機(jī)器學(xué)習(xí)中的深度學(xué)習(xí)[6]是人工智能的典型代表,其廣泛應(yīng)用于各個(gè)領(lǐng)域,特別是在計(jì)算機(jī)視覺領(lǐng)域,可以精準(zhǔn)又高效地解決圖像分類與識(shí)別、目標(biāo)跟蹤與檢測(cè)、語義分割等任務(wù)。應(yīng)用深度學(xué)習(xí)技術(shù)不僅可以節(jié)約時(shí)間和人力成本,還可以實(shí)時(shí)判斷,并減少一些損失。利用深度學(xué)習(xí)中的Faster R-CNN神經(jīng)網(wǎng)絡(luò)自動(dòng)提取目標(biāo)特征,使得精準(zhǔn)檢測(cè)目標(biāo)和訓(xùn)練模型可預(yù)測(cè)結(jié)果。
番茄果實(shí)識(shí)別是基于機(jī)器學(xué)習(xí)技術(shù)的目標(biāo)檢測(cè),是從視頻或圖像數(shù)據(jù)中檢測(cè)特定目標(biāo)。在目標(biāo)檢測(cè)過程中能否根據(jù)所提取的特征區(qū)分特定目標(biāo)與非特定目標(biāo)是成功或失敗的關(guān)鍵[4]。
在番茄圖像的識(shí)別過程中,需要先進(jìn)行預(yù)處理,再用圖片標(biāo)注工具labelImg標(biāo)注出圖像目標(biāo)區(qū)域,為番茄果實(shí)的圖像特征提取做準(zhǔn)備,最后通過機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練獲得模型參數(shù)。在具體方式實(shí)現(xiàn)中利用Faster R-CNN網(wǎng)絡(luò)模型提取目標(biāo)特征,以獲得準(zhǔn)確的檢測(cè)結(jié)果。Faster R-CNN網(wǎng)絡(luò)模型運(yùn)行番茄圖像檢測(cè)結(jié)構(gòu)如圖2。
圖2 Faster R-CNN運(yùn)行流程
此次采集的番茄圖像制作的數(shù)據(jù)集,可在網(wǎng)絡(luò)模型中訓(xùn)練并預(yù)測(cè)結(jié)果。目前,許多學(xué)者對(duì)該技術(shù)進(jìn)行了研究,這些技術(shù)的實(shí)現(xiàn)與應(yīng)用,既可以節(jié)約時(shí)間和精力,又可以實(shí)時(shí)做出判斷。因此,用機(jī)器學(xué)習(xí)的方法來識(shí)別番茄果實(shí)具有重要的研究價(jià)值和意義。
使用Faster R-CNN網(wǎng)絡(luò)模型對(duì)番茄果實(shí)圖像隨機(jī)樣本進(jìn)行訓(xùn)練,獲取訓(xùn)練過程中的準(zhǔn)確率及其他相關(guān)數(shù)據(jù),并對(duì)試驗(yàn)中采集的圖像制作的數(shù)據(jù)集做訓(xùn)練和預(yù)測(cè)。樣本數(shù)據(jù)單次運(yùn)行結(jié)束如圖3。
圖3 Faster R-CNN運(yùn)行過程圖像
通過Faster R-CNN網(wǎng)絡(luò)模型對(duì)隨機(jī)樣本數(shù)據(jù)集的運(yùn)行訓(xùn)練、測(cè)試和驗(yàn)證,獲取番茄數(shù)據(jù)集的真實(shí)數(shù)據(jù)。樣本多次訓(xùn)練運(yùn)行結(jié)果如圖4,通過多次訓(xùn)練樣本得到該網(wǎng)絡(luò)模型初步數(shù)據(jù)。
圖4 Faster R-CNN訓(xùn)練數(shù)據(jù)圖像
基于Faster R-CNN算法的標(biāo)注結(jié)果和測(cè)試結(jié)果圖見圖5、圖6。通過運(yùn)行得出數(shù)據(jù)結(jié)果,并對(duì)檢測(cè)出的番茄果實(shí)數(shù)與實(shí)際生產(chǎn)測(cè)得的數(shù)據(jù)進(jìn)行了比較。由圖5、圖6可知,由于Faster R-CNN算法模型本身精準(zhǔn)率較高,基于Faster R-CNN算法運(yùn)行的番茄數(shù)據(jù)集的測(cè)試直觀效果較好,運(yùn)行速度快、識(shí)別準(zhǔn)確性較高;與實(shí)際生產(chǎn)過程中測(cè)得的番茄結(jié)果數(shù)相比只有嚴(yán)重遮擋和嚴(yán)重重疊的果實(shí)存在檢測(cè)數(shù)量上的差別,總體來說可作為其他指標(biāo)測(cè)定的基礎(chǔ)。
圖5 標(biāo)記結(jié)果圖
圖6 測(cè)試結(jié)果圖
通過運(yùn)行后得出的數(shù)據(jù),對(duì)實(shí)際生產(chǎn)中隨機(jī)采集的番茄樣本數(shù)據(jù)多次訓(xùn)練的檢測(cè)結(jié)果準(zhǔn)確率進(jìn)行了比較;Faster R-CNN網(wǎng)絡(luò)模型在開始訓(xùn)練之前進(jìn)行參數(shù)的初始化,學(xué)習(xí)率(lr)設(shè)為0.001,rpn_Batch size為訓(xùn)練計(jì)算損失函數(shù)時(shí)IOU閾值大于0.7記為正樣本(1),小于0.3則記為負(fù)樣本(0),計(jì)算rpn的損失函數(shù),Batch size可以設(shè)置的較大。roi分類是在RPN階段區(qū)分前景和背景的,roi回歸是RPN階段初步調(diào)整。本文運(yùn)行的網(wǎng)絡(luò)中學(xué)習(xí)率(lr=0.001)設(shè)為0.001,Batch size為64,dropout參數(shù)設(shè)為0.5。參數(shù)設(shè)置如下表1所示。
表1 部分參數(shù)設(shè)置
訓(xùn)練過程rpn計(jì)算損失函數(shù)時(shí)曲線圖見圖7;訓(xùn)練過程roi計(jì)算損失函數(shù)時(shí)曲線圖見圖8。
圖7 rpn分類損失與回歸損失曲線圖
圖8 roi分類損失與回歸損失曲線圖
由于Faster R-CNN的網(wǎng)絡(luò)模型是2步檢測(cè)算法,該網(wǎng)絡(luò)的損失函數(shù)分為4個(gè)部分,4個(gè)損失的總和就是最終的損失率;即訓(xùn)練結(jié)果得出損失率0.233929117;訓(xùn)練過程是不斷地反向傳播,更新參數(shù)的。經(jīng)過對(duì)數(shù)據(jù)集在該網(wǎng)絡(luò)模型上多次訓(xùn)練的分類回歸,發(fā)現(xiàn)在實(shí)際生產(chǎn)中隨機(jī)采集樣本的番茄果實(shí)樣本數(shù)據(jù)檢測(cè)的損失曲線高度一致,且總損失率幾乎相同;由數(shù)據(jù)可知,同一模型訓(xùn)練多次的回歸損失函數(shù)值幾近相同,且目前訓(xùn)練的損失率相對(duì)其他學(xué)者的損失率較小。
Faster R-CNN網(wǎng)絡(luò)模型中mAP的計(jì)算主要流程:運(yùn)行/tools下的test_net.py文件;test_net.py文件調(diào)用/lib/fast_rcnn/test.py文件中的test_net函數(shù)進(jìn)行檢測(cè);在test_net函數(shù)檢測(cè)完成后調(diào)用/lib/datasets/pascal_voc.py中的evaluate_detections函數(shù)計(jì)算mAP。經(jīng)過運(yùn)行,結(jié)果如圖9所示。
圖9 訓(xùn)練過程中測(cè)試集mAP變化圖
從圖9可以看出,F(xiàn)aster R-CNN網(wǎng)絡(luò)訓(xùn)練完成后測(cè)試集的mAP值為0.908824;經(jīng)過多次運(yùn)行最初在實(shí)際生產(chǎn)隨機(jī)采集的番茄樣本數(shù)據(jù)中的番茄果實(shí)圖像進(jìn)行訓(xùn)練、測(cè)試和驗(yàn)證該模型的準(zhǔn)確率,得到的mAP值在0.908824~0.908895范圍浮動(dòng),即可得出測(cè)試集的檢測(cè)準(zhǔn)確率近似為90.89%。綜上得出,運(yùn)行Faster R-CNN網(wǎng)絡(luò)模型時(shí),損失函數(shù)下降速度快、變化幅度小,測(cè)試準(zhǔn)確率曲線先減小,然后上下波動(dòng),再趨于平緩;Faster R-CNN網(wǎng)絡(luò)模型檢測(cè)番茄果實(shí)的損失率及準(zhǔn)確率曲線波動(dòng)幅度小,且Faster R-CNN網(wǎng)絡(luò)具有較高的測(cè)試準(zhǔn)確率。初步運(yùn)用Faster R-CNN網(wǎng)絡(luò)模型訓(xùn)練番茄果實(shí)圖像樣本數(shù)據(jù)檢測(cè)方面,模型準(zhǔn)確率約為90.89%,檢測(cè)效果較好,可為后續(xù)測(cè)算提供支持。
王菽裕等[7]利用基于圖像的牦牛目標(biāo)檢測(cè)方法,將現(xiàn)代技術(shù)和傳統(tǒng)畜牧業(yè)結(jié)合起來,利用深度學(xué)習(xí)下的Faster R-CNN進(jìn)行牦牛目標(biāo)檢測(cè),實(shí)驗(yàn)結(jié)果及數(shù)據(jù)分析發(fā)現(xiàn),該方法平均檢測(cè)牦牛的精度在測(cè)試集可以到達(dá)83.3%,圖像處理速率為毫秒級(jí)別,相較傳統(tǒng)的人工牦牛計(jì)數(shù)的方式,在準(zhǔn)確率和處理速率上均得到了巨大的提高。熊龍燁[8]構(gòu)建了以Darknet53為特征提取網(wǎng)絡(luò)的YOLO v3分類識(shí)別模型,該改進(jìn)模型對(duì)于不同類型的柑橘果實(shí)平均識(shí)別準(zhǔn)確率達(dá)86.42%,與原模型相比準(zhǔn)確率和檢測(cè)速度均有提高。Liu等[9]在YOLO v3的基礎(chǔ)上提出了一個(gè)密集的體系結(jié)構(gòu),可以更加精準(zhǔn)地匹配番茄,該模型的檢測(cè)識(shí)別準(zhǔn)確率達(dá)到94.58%??梢钥闯?,檢測(cè)不同的物體和使用不同的網(wǎng)絡(luò)模型,準(zhǔn)確率也不盡相同;本試驗(yàn)結(jié)果表明,基于Faster R-CNN網(wǎng)絡(luò)模型對(duì)番茄果實(shí)的檢測(cè)識(shí)別與其他學(xué)者研究相比準(zhǔn)確度較高,在訓(xùn)練過程和預(yù)測(cè)過程中的結(jié)果和各項(xiàng)數(shù)據(jù)的顯著性較優(yōu)。本次試驗(yàn)利用機(jī)器學(xué)習(xí)下的Faster R-CNN網(wǎng)絡(luò)模型進(jìn)行番茄果實(shí)目標(biāo)檢測(cè)法測(cè)試直觀效果較好,識(shí)別準(zhǔn)確性較高,平均檢測(cè)準(zhǔn)確率為90.89%?;谏疃葘W(xué)習(xí)網(wǎng)絡(luò)模型在對(duì)物體進(jìn)行目標(biāo)檢測(cè)時(shí)體現(xiàn)出不同的檢測(cè)效果,一些學(xué)者認(rèn)為,不同算法和不同采集圖像數(shù)據(jù)的條件下具有不同的識(shí)別效果,主要受到復(fù)雜環(huán)境的影響;本研究在番茄圖像中存在較多的果數(shù)重疊、莖葉遮擋環(huán)境方面造成的影響與前面學(xué)者觀點(diǎn)一致,但本研究認(rèn)為,不同模型在目標(biāo)檢測(cè)過程中,還可能與待測(cè)物體是否處于靜止?fàn)顟B(tài)和待測(cè)物體本身大小有一定關(guān)系;在此次試驗(yàn)中Faster R-CNN網(wǎng)絡(luò)模型的檢測(cè)準(zhǔn)確率可能受自制的數(shù)據(jù)集在其環(huán)境中運(yùn)行擬合性低、番茄圖像中存在較多果數(shù)重疊、莖葉遮擋和圖像分割等多方面影響,后續(xù)試驗(yàn)中有待進(jìn)一步改善和提高。
本文提出的基于Faster R-CNN算法在番茄果實(shí)檢測(cè)方面,由于使用的Faster R-CNN算法模型本身精準(zhǔn)率較高,基于Faster R-CNN算法運(yùn)行的番茄數(shù)據(jù)集的測(cè)試直觀效果較好,經(jīng)過對(duì)數(shù)據(jù)集在Faster R-CNN網(wǎng)絡(luò)上多次訓(xùn)練的分類回歸,發(fā)現(xiàn)識(shí)別檢測(cè)訓(xùn)練的損失曲線高度一致,且總損失率幾乎相同,同一模型訓(xùn)練多次的回歸損失函數(shù)值近似相同,模型準(zhǔn)確率為90.89%,識(shí)別準(zhǔn)確性較高;目前采集的數(shù)據(jù)中存在果實(shí)遮擋和重疊問題,對(duì)識(shí)別檢測(cè)數(shù)量上存在一定誤差,總體來說可作為其他指標(biāo)測(cè)定的基礎(chǔ)。隨著機(jī)器學(xué)習(xí)技術(shù)的不斷開發(fā)、改進(jìn)與完善,未來數(shù)據(jù)的增加、拍攝技術(shù)的升級(jí)以及對(duì)重疊部分的優(yōu)化,基于Faster R-CNN算法對(duì)番茄果實(shí)識(shí)別在后續(xù)試驗(yàn)中應(yīng)用會(huì)有新的進(jìn)展,該算法的預(yù)測(cè)精度也將進(jìn)一步提升。