席 芮 姜 凱 張萬枝 呂釗欽 侯加林
(1.山東農(nóng)業(yè)大學(xué)機(jī)械與電子工程學(xué)院, 泰安 271018; 2.山東省農(nóng)業(yè)裝備智能化工程實(shí)驗(yàn)室, 泰安 271018;3.昆士蘭大學(xué)化工學(xué)院, 布里斯班 4066)
馬鈴薯是世界主要糧食作物之一,對(duì)保證世界食品安全和穩(wěn)定具有重要作用。中國作為世界上馬鈴薯種植面積最大(占世界種植面積的30%)、產(chǎn)量最高(占世界總產(chǎn)量的24%)的國家[1],馬鈴薯產(chǎn)業(yè)的機(jī)械化水平越來越高,例如馬鈴薯播種機(jī)械化[2-4]、馬鈴薯收獲和耕作機(jī)械化[5-7]、馬鈴薯分級(jí)和殘膜回收機(jī)械化[8-9]等。馬鈴薯種薯的切塊目前主要是由人工完成,存在勞動(dòng)強(qiáng)度大、效率低、費(fèi)用高等問題。隨著人工成本的增加和勞動(dòng)力的減少,馬鈴薯種薯的自動(dòng)切塊問題亟待解決。其中,馬鈴薯芽眼的準(zhǔn)確識(shí)別是實(shí)現(xiàn)種薯自動(dòng)切塊的關(guān)鍵。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)視覺技術(shù)在農(nóng)業(yè)領(lǐng)域得到廣泛應(yīng)用[10-18],但關(guān)于馬鈴薯芽眼識(shí)別的研究卻相對(duì)較少。文獻(xiàn)[19]利用動(dòng)態(tài)閾值及歐氏距離分割馬鈴薯芽眼,在彩色空間中芽眼識(shí)別準(zhǔn)確率為62%,在灰度空間中芽眼識(shí)別準(zhǔn)確率為89%,將兩者結(jié)合得到的準(zhǔn)確率為96%。文獻(xiàn)[20]提出了基于色彩飽和度三維幾何特征的馬鈴薯芽眼識(shí)別技術(shù),芽眼的總體識(shí)別率為91.48%,平均運(yùn)行時(shí)間為2.68 s。文獻(xiàn)[21]利用混沌系統(tǒng)優(yōu)化K均值算法,實(shí)現(xiàn)了馬鈴薯芽眼的快速分割,優(yōu)化后算法的分割準(zhǔn)確率為98.87%,平均運(yùn)行時(shí)間為1.109 s。
上述識(shí)別方法主要根據(jù)顏色、輪廓和紋理等提取目標(biāo)的淺層特征,特征提取具有盲目性和不確定性,普適性較差[22-23],且無法實(shí)現(xiàn)對(duì)性能和速度的同時(shí)兼顧。相比于傳統(tǒng)方法,深度學(xué)習(xí)技術(shù)是直接由數(shù)據(jù)驅(qū)動(dòng)的特征及其表達(dá)關(guān)系的自我學(xué)習(xí)[24],可以克服傳統(tǒng)方法的不足,已成功應(yīng)用于農(nóng)業(yè)領(lǐng)域[25-28]。Faster R-CNN[29]作為主流框架之一,在農(nóng)作物檢測(cè)方面得到廣泛應(yīng)用。文獻(xiàn)[30]利用一種融合FPN的Faster R-CNN方法實(shí)現(xiàn)了復(fù)雜背景下棉田雜草的高效識(shí)別,識(shí)別準(zhǔn)確率為95.5%,識(shí)別時(shí)間為0.09 s。文獻(xiàn)[31]提出了基于Faster R-CNN的田間西蘭花幼苗圖像檢測(cè)方法,準(zhǔn)確率91.73%。文獻(xiàn)[32]利用Faster R-CNN對(duì)玉米冠層進(jìn)行識(shí)別,識(shí)別率達(dá)92.9%,平均檢測(cè)時(shí)間為0.17 s。
本文提出一種基于改進(jìn)Faster R-CNN模型的馬鈴薯芽眼識(shí)別方法。利用高斯降權(quán)函數(shù)對(duì)Faster R-CNN中的NMS算法進(jìn)行優(yōu)化,并在訓(xùn)練過程中加入采用優(yōu)化NMS算法的OHEM技術(shù),以提高馬鈴薯芽眼的識(shí)別效果。
圖像采集系統(tǒng)如圖1所示,包括CCD相機(jī)、環(huán)形燈、步進(jìn)電機(jī)、馬鈴薯和計(jì)算機(jī)。CCD相機(jī)型號(hào)為凌云LBAS-GE60-17C,分辨率為3 072像素×2 048像素。步進(jìn)電機(jī)步距角為0.9°,馬鈴薯在步進(jìn)電機(jī)的帶動(dòng)下旋轉(zhuǎn)。馬鈴薯每轉(zhuǎn)動(dòng)180°,CCD相機(jī)采集1幅圖像,每個(gè)馬鈴薯共采集2幅圖像。
圖1 圖像采集系統(tǒng)Fig.1 Image acquisition system1.CCD相機(jī) 2、3、4、7、8.環(huán)形燈 5.步進(jìn)電機(jī) 6.馬鈴薯 9.計(jì)算機(jī)
試驗(yàn)樣本為900個(gè)馬鈴薯,共采集1 800幅圖像。將圖像分辨率壓縮至400像素×500像素,以提高處理效率。為豐富圖像數(shù)據(jù)集,更好地提取馬鈴薯芽眼特征,提高模型的泛化能力,采用數(shù)據(jù)增強(qiáng)技術(shù)對(duì)馬鈴薯數(shù)據(jù)集進(jìn)行擴(kuò)展。分別對(duì)采集的馬鈴薯圖像進(jìn)行水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、亮度增強(qiáng)和減弱、色度增強(qiáng)和減弱、添加高斯噪聲及運(yùn)動(dòng)模糊。數(shù)據(jù)增強(qiáng)的結(jié)果如圖2所示。數(shù)據(jù)增強(qiáng)后,數(shù)據(jù)集中共有16 200幅圖像。圖像標(biāo)注為PASCAL VOC[33]數(shù)據(jù)集標(biāo)準(zhǔn)格式,此格式在Faster R-CNN中適用。從16 200幅圖像中隨機(jī)選取11 880幅圖像作為訓(xùn)練集,1 440幅圖像作為驗(yàn)證集,剩余2 880幅圖像作為測(cè)試集,訓(xùn)練集、驗(yàn)證集、測(cè)試集之間無重疊。
圖2 數(shù)據(jù)增強(qiáng)結(jié)果Fig.2 Results of data augmentation
圖3 Faster R-CNN框架Fig.3 Architecture of Faster R-CNN
Faster R-CNN模型由區(qū)域候選網(wǎng)絡(luò)(Region proposal network, RPN)和Fast R-CNN(Fast region convolutional neural network)網(wǎng)絡(luò)兩部分組成,其框架如圖3所示。模型對(duì)任意尺寸的輸入圖像(P×Q),首先將其縮放至固定尺寸M×N(M≤1 000像素,N=600像素),然后送入基礎(chǔ)網(wǎng)絡(luò)以提取特征映射。RPN和Fast R-CNN共享此特征映射,有效縮短了目標(biāo)識(shí)別的時(shí)間。本文中,選取殘差網(wǎng)絡(luò)中的ResNet-50作為基礎(chǔ)網(wǎng)絡(luò)提取圖像特征。殘差網(wǎng)絡(luò)的提出是為了解決隨著網(wǎng)絡(luò)加深而產(chǎn)生的梯度消失和網(wǎng)絡(luò)退化問題。在殘差網(wǎng)絡(luò)中,ResNet-50是應(yīng)用最廣泛的網(wǎng)絡(luò)之一,具體結(jié)構(gòu)可參照文獻(xiàn)[34]。在訓(xùn)練前,先將ResNet-50在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練,以初始化其參數(shù),然后在自己的數(shù)據(jù)集上進(jìn)行遷移學(xué)習(xí)和微調(diào)。本文采用近似聯(lián)合訓(xùn)練的方式對(duì)Faster R-CNN進(jìn)行訓(xùn)練。
RPN網(wǎng)絡(luò)是一個(gè)全卷積網(wǎng)絡(luò),作用于ResNet-50中Res4f卷積層產(chǎn)生的特征圖上。在RPN網(wǎng)絡(luò)中,首先采用3×3的窗口在特征圖上滑動(dòng)實(shí)現(xiàn)候選區(qū)域的提取,并映射成1 024維的特征向量。以每個(gè)滑動(dòng)窗口的中心為基準(zhǔn)點(diǎn),生成一系列不同尺寸和比例的錨框。根據(jù)數(shù)據(jù)集中芽眼的尺寸,設(shè)置錨框尺寸為(64, 128, 256),比例為(1∶1, 1∶2, 2∶1)。隨后,特征映射被送入2個(gè)并聯(lián)的1×1的卷積層,分別用于分類和回歸。利用Softmax函數(shù)執(zhí)行二分類任務(wù),對(duì)錨框進(jìn)行前景或背景的判斷,僅將與標(biāo)注框的交并比(IOU)大于0.7的錨框作為前景,并通過回歸層計(jì)算錨框的偏移量,得到候選框的初始位置。隨后進(jìn)行NMS抑制,輸出高品質(zhì)區(qū)域候選框用于Fast R-CNN網(wǎng)絡(luò)的分類檢測(cè)。
基礎(chǔ)網(wǎng)絡(luò)產(chǎn)生的特征映射和RPN產(chǎn)生的高品質(zhì)區(qū)域候選框一同作為Fast R-CNN網(wǎng)絡(luò)的輸入,經(jīng)過ROI池化產(chǎn)生固定尺寸的候選框特征映射,隨后送入ResNet-50的剩余層實(shí)現(xiàn)分類和回歸[35],輸出目標(biāo)類別和更加精確的檢測(cè)框。
圖4 算法流程圖Fig.4 Flow chart of algorithm
NMS算法的流程如圖4a所示,B={b1,b2,…,bi,…}為初始檢測(cè)框的集合,S={s1,s2,…,si,…}為初始檢測(cè)框?qū)?yīng)的得分(置信度);Nt為NMS算法中的閾值,Nt=0.4;Ot為改進(jìn)NMS算法中的判別參數(shù),Ot=0.3;D為最終檢測(cè)框的集合,D初始為空集。NMS算法開始于一系列帶有相應(yīng)置信度的檢測(cè)框,找出置信度最高的檢測(cè)框M,將其從集合B移除至集合D中。計(jì)算集合B中剩余檢測(cè)框與M的交并比(IOU),如果IOU大于等于Nt,則將其從集合B中剔除。對(duì)集合B中的其余檢測(cè)框,重復(fù)執(zhí)行以上操作,直至B為空。NMS算法剔除了所有與M交并比大于Nt的相鄰檢測(cè)框,被剔除的檢測(cè)框中很有可能包含目標(biāo),造成目標(biāo)的漏識(shí)別,進(jìn)而影響馬鈴薯芽眼的識(shí)別性能。針對(duì)此問題,本文提出一種基于改進(jìn)Faster R-CNN的馬鈴薯芽眼識(shí)別方法,對(duì)Faster R-CNN的NMS算法進(jìn)行優(yōu)化,如圖4b所示。利用高斯降權(quán)函數(shù)f(IOU(M,bi)),對(duì)IOU 大于等于Nt的相鄰檢測(cè)框的置信度作降權(quán)處理。將降權(quán)后的置信度si與判別參數(shù)Ot進(jìn)行比較,si大于等于Ot時(shí),bi從集合B移除至集合D中;si小于Ot時(shí),bi從集合B中剔除。
高斯降權(quán)函數(shù)定義為
(1)
其中IOU(M,bi)為M和bi的交并比,σ=0.6。由式(1)可知,檢測(cè)框bi與M的重疊程度越高,其權(quán)重被衰減得越明顯;重疊程度較低時(shí),檢測(cè)框的權(quán)重基本不受影響。
此外,在訓(xùn)練過程中加入采用優(yōu)化NMS算法的OHEM[36]技術(shù),自動(dòng)選擇難分辨樣本用于反向傳播,增強(qiáng)模型對(duì)難分辨樣本的學(xué)習(xí)能力。傳統(tǒng)的OHEM技術(shù)中,將檢測(cè)框的損失值從高到低排序,然后利用NMS算法選擇損失值較大的64個(gè)檢測(cè)框用于反向傳播,更新網(wǎng)絡(luò)參數(shù)。然而, NMS算法剔除了所有與當(dāng)前檢測(cè)框交并比大于Nt的相鄰檢測(cè)框,被剔除的檢測(cè)框中很有可能包含目標(biāo),造成目標(biāo)的漏識(shí)別,進(jìn)而影響馬鈴薯芽眼的識(shí)別性能。為更好地解決冗余檢測(cè)框的問題,將優(yōu)化NMS算法加入到OHEM技術(shù)中,執(zhí)行圖4b中的步驟,直到選擇出64個(gè)符合要求的檢測(cè)框。
試驗(yàn)所用臺(tái)式計(jì)算機(jī)處理器為Intel Core i7-9700K 3.6 GHz,內(nèi)存為32 GB,配備NVIDIA GeForce RTX 1080Ti GPU加速試驗(yàn)進(jìn)程。試驗(yàn)運(yùn)行環(huán)境為Windows 10(64位)操作系統(tǒng),VS2017版本,Python 3.5.2版本,以Tensorflow(1.13.1版本)為后端的Keras框架(2.1.6版本),配備CUDA 10.0版本并行計(jì)算架構(gòu)與cuDNN 7.6版深層神經(jīng)網(wǎng)絡(luò)加速庫。
采用精度P(Precision)和召回率R(Recall)作為馬鈴薯芽眼識(shí)別的評(píng)價(jià)指標(biāo)。計(jì)算公式為
(2)
(3)
(4)
式中TP——正確識(shí)別的馬鈴薯芽眼數(shù)量
FP——誤識(shí)別的馬鈴薯芽眼數(shù)量
FN——漏識(shí)別的馬鈴薯芽眼數(shù)量
F1——平衡精度(P)和召回率(R)的度量,%
4.3.1定量分析
為驗(yàn)證改進(jìn)Faster R-CNN方法的有效性,將其與改進(jìn)前的方法在測(cè)試集上進(jìn)行芽眼識(shí)別結(jié)果的比較,具體的定量識(shí)別結(jié)果如表1所示。由表1可知,改進(jìn)Faster R-CNN識(shí)別精度為96.32%,召回率為90.85%,F(xiàn)1為93.51%。相比于改進(jìn)前的算法,精度提升了4.65個(gè)百分點(diǎn),召回率提升了6.76個(gè)百分點(diǎn),F(xiàn)1提升了5.79個(gè)百分點(diǎn)。平均單幅圖像的識(shí)別時(shí)間為0.183s,與改進(jìn)前相同。因此,本文提出的改進(jìn)Faster R-CNN可在不增加運(yùn)行時(shí)間的同時(shí),顯著提升馬鈴薯芽眼的識(shí)別性能。召回率改善的原因在于Faster R-CNN中的NMS算法將所有與M交并比大于Nt的檢測(cè)框都剔除,而這些被剔除的檢測(cè)框中,很有可能包含芽眼。改進(jìn)Faster R-CNN方法對(duì)NMS算法進(jìn)行優(yōu)化,利用高斯降權(quán)函數(shù)對(duì)滿足條件檢測(cè)框的得分進(jìn)行衰減,而不是全部置零,在一定程度上減少了芽眼的漏識(shí)別現(xiàn)象。精度提升的原因在于改進(jìn)Faster R-CNN在訓(xùn)練過程中加入采用優(yōu)化NMS算法的OHEM技術(shù),增強(qiáng)了模型對(duì)難例的學(xué)習(xí)能力,從而減少了芽眼的誤識(shí)別現(xiàn)象。此外,改進(jìn)Faster R-CNN方法僅僅通過優(yōu)化NMS算法提升識(shí)別性能,并沒有使模型增加任何超參數(shù),模型的浮點(diǎn)運(yùn)算數(shù)(Floating point operations, FLOPs)沒有增加,運(yùn)行時(shí)間不變。
表1 芽眼識(shí)別結(jié)果和比較Tab.1 Experimental results of two methods
為進(jìn)一步驗(yàn)證本文提出方法的有效性,將其與文獻(xiàn)[19-21]中的傳統(tǒng)方法進(jìn)行比較,在同一硬件設(shè)備和測(cè)試集上的識(shí)別結(jié)果如表2所示。由表2可知,本文提出的改進(jìn)Faster R-CNN方法無論從識(shí)別性能還是運(yùn)行時(shí)間上,都明顯優(yōu)于文獻(xiàn)[19-21]中的算法。
表2 與傳統(tǒng)算法的比較Tab.2 Comparison with results of traditional algorithm
4.3.2特征圖分析
圖5 卷積神經(jīng)網(wǎng)絡(luò)的可視化Fig.5 Visualization of CNNs
為更好地理解卷積神經(jīng)網(wǎng)絡(luò)的行為和芽眼的提取過程,將特征提取的部分中間過程進(jìn)行可視化。為方便表示,經(jīng)過卷積層濾波的所有輸出特征映射被統(tǒng)一到固定尺寸,對(duì)于每一層的輸出,只顯示前32個(gè)通道的結(jié)果。輸入圖像經(jīng)過ResNet-50中卷積層Conv1、Res3d和Res5c的濾波,輸出特征映射的灰度圖和彩色圖如圖5所示。經(jīng)過第1層卷積Conv1輸出的特征映射和原圖相似度較高,細(xì)節(jié)清晰,幾乎包含了原圖的所有信息。隨著網(wǎng)絡(luò)層數(shù)的加深,輸出的特征映射變得越來越抽象,深層卷積網(wǎng)絡(luò)輸出的特征映射中,關(guān)于原圖的信息越來越少,關(guān)于目標(biāo)的信息越來越多[37]。經(jīng)過ResNet-50中多層卷積網(wǎng)絡(luò)的共同操作,馬鈴薯芽眼的特征可以被有效地提取出來。
4.3.3定性分析
馬鈴薯芽眼的識(shí)別結(jié)果如圖6所示。圖6a為只含芽眼的樣本識(shí)別結(jié)果,可以看出,本文提出的改進(jìn)算法能夠完全正確地識(shí)別出芽眼;圖6b為帶有機(jī)械損傷、蟲眼和破皮的樣本(用紅色框標(biāo)出),圖6c為其識(shí)別結(jié)果??梢钥闯?,本文提出的改進(jìn)算法對(duì)機(jī)械損傷、蟲眼、破皮等干擾因素有較強(qiáng)的魯棒性。
圖6 改進(jìn)Faster R-CNN方法的識(shí)別結(jié)果Fig.6 Recognition results of potato buds with improved Faster R-CNN
綜上可知,本文所提出的改進(jìn)Faster R-CNN方法對(duì)馬鈴薯芽眼的識(shí)別性能有顯著提升,能夠?qū)崿F(xiàn)芽眼的有效識(shí)別,且不增加額外的運(yùn)行時(shí)間,滿足實(shí)時(shí)處理的要求,可為種薯的自動(dòng)切塊奠定基礎(chǔ)。
馬鈴薯種薯的自動(dòng)切塊在實(shí)際生產(chǎn)過程中,涉及二維圖像芽眼識(shí)別、種薯三維重建、控制部分和種薯切塊等部分。在二維圖像中完成芽眼識(shí)別后,將芽眼區(qū)域的位置信息映射到三維重建后的種薯圖像中,完成空間位置的芽眼定位。控制系統(tǒng)根據(jù)芽眼的空間位置控制刀具,完成種薯的切塊。
本文對(duì)種薯自動(dòng)切塊的前期工作——芽眼識(shí)別進(jìn)行了研究分析。芽眼的準(zhǔn)確識(shí)別是實(shí)現(xiàn)種薯自動(dòng)切塊必不可少的一步,對(duì)種薯的切塊品質(zhì)有著決定性作用。本研究可為后期自動(dòng)切塊奠定基礎(chǔ),提供有益參考。
(1)提出了一種基于改進(jìn)Faster R-CNN模型的識(shí)別方法。試驗(yàn)結(jié)果表明,改進(jìn)的方法可以顯著提高馬鈴薯芽眼的識(shí)別效果。
(2)對(duì)Faster R-CNN中的NMS算法進(jìn)行優(yōu)化,利用高斯降權(quán)函數(shù)對(duì)IOU 大于等于Nt的相鄰檢測(cè)框的置信度作降權(quán)處理,并在訓(xùn)練過程中加入采用優(yōu)化NMS算法的OHEM技術(shù),自動(dòng)選擇難分辨樣本用于反向傳播,增強(qiáng)模型的魯棒性,使馬鈴薯芽眼識(shí)別的精度達(dá)到96.32%,召回率達(dá)到90.85%,F(xiàn)1達(dá)到93.51%,單幅圖像的平均運(yùn)行時(shí)間為0.183 s。
(3)基于改進(jìn)Faster R-CNN模型的識(shí)別方法可以實(shí)現(xiàn)對(duì)馬鈴薯芽眼的有效識(shí)別,且不增加額外的運(yùn)行時(shí)間,滿足實(shí)時(shí)處理的需求,可為馬鈴薯種薯自動(dòng)切塊中的芽眼識(shí)別提供借鑒。