高夢圓, 馬雙寶, 董玉婕, 林 巍, 何 毅
(武漢紡織大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,湖北武漢 430073)
蘋果營養(yǎng)豐富,含有大量礦物質(zhì)、維生素以及膳食纖維,深受人們喜愛。因此,華北、西北地區(qū)以及更多地區(qū)成為了蘋果的主產(chǎn)區(qū)。在農(nóng)業(yè)生產(chǎn)中,由于蘋果采摘過程的復(fù)雜性,采摘作業(yè)需要耗費(fèi)大量勞動(dòng)人力,蘋果的采摘工作約占據(jù)整個(gè)生產(chǎn)工作量的40%。為了加快農(nóng)業(yè)生產(chǎn)的高效快速發(fā)展,推動(dòng)蘋果生產(chǎn)的智能化發(fā)展,利用蘋果采摘機(jī)器人來代替人工采摘具有重大的現(xiàn)實(shí)意義和廣闊的應(yīng)用前景。
蘋果采摘機(jī)器人主要由視覺檢測模塊、機(jī)械結(jié)構(gòu)設(shè)計(jì)和運(yùn)動(dòng)控制3個(gè)部分組成,主要采用機(jī)械臂對(duì)其進(jìn)行采摘。如何快速準(zhǔn)確對(duì)果園的蘋果進(jìn)行檢測是蘋果采摘機(jī)器人的技術(shù)關(guān)鍵。對(duì)果園中蘋果的視覺檢測效果受諸多因素的影響:現(xiàn)場環(huán)境的光照變化劇烈;果實(shí)之間的差異性較大;果實(shí)之間存在相互遮擋重疊狀況;果樹枝干、樹葉對(duì)果實(shí)的遮擋;對(duì)蘋果采摘機(jī)器人硬件設(shè)備的計(jì)算要求高,系統(tǒng)設(shè)計(jì)復(fù)雜。上述問題成為蘋果采摘機(jī)器人的視覺檢測研究的主要障礙。
目前,對(duì)蘋果機(jī)器人視覺檢測識(shí)別方面的研究工作取得了一定的進(jìn)展。Fan等提出了以灰度為中心的RGB顏色,利用K-Means聚類算法分割蘋果的技術(shù),該技術(shù)能有效對(duì)果園蘋果圖像進(jìn)行實(shí)時(shí)分割。Liu等利用顏色空間進(jìn)行候選區(qū)域的提取,再利用HOG特征對(duì)候選區(qū)域的蘋果進(jìn)行檢測與定位,在速度和精度上取得很好的檢測效果。張春龍等采用HSV顏色空間對(duì)綠色蘋果進(jìn)行顏色特征提取,并利用支持向量機(jī)(SVM)分類器進(jìn)行分類,有效實(shí)現(xiàn)了青色蘋果的識(shí)別與定位。廖崴等利用RGB顏色空間和Ostu算法將果實(shí)和樹葉從背景中分割,利用灰度和紋理特征構(gòu)建隨機(jī)森林分類器,識(shí)別蘋果果實(shí)與樹葉,并利用霍夫圓對(duì)蘋果邊緣進(jìn)行擬合,在自然光照下對(duì)蘋果進(jìn)行有效識(shí)別。
隨著人工智能技術(shù)的興起,以深度學(xué)習(xí)為基礎(chǔ)的目標(biāo)檢測技術(shù)在蘋果檢測中開始得到應(yīng)用。彭紅星等采用Resnet-101網(wǎng)絡(luò)代替SSD模型中的VGG-16網(wǎng)絡(luò),并利用遷移學(xué)習(xí)訓(xùn)練方法對(duì)4種不同水果進(jìn)行檢測。武星等提出了輕量化同構(gòu)殘差快串聯(lián)的特征提取網(wǎng)絡(luò),采用多種目標(biāo)損失函數(shù)的改進(jìn)YOLOv3模型,對(duì)果園中遮擋、重疊情況的蘋果取得很好的檢測。在此基礎(chǔ)上,李大華等利用YOLOv3網(wǎng)絡(luò)對(duì)環(huán)境中的蘋果目標(biāo)區(qū)域進(jìn)行檢測,并采用顏色空間進(jìn)行閾值分割,得到蘋果的準(zhǔn)確位置信息。岳有軍等采用Mask RCNN模型對(duì)果園的蘋果進(jìn)行檢測并提取蘋果的像素區(qū)域。雖然上述方法針對(duì)果園的蘋果檢測在實(shí)時(shí)性和魯棒性上取得了很好的檢測效果,但是模型參數(shù)量大,對(duì)蘋果采摘機(jī)器人的計(jì)算資源消耗過多,對(duì)蘋果果實(shí)的檢測只是采用矩形框進(jìn)行包圍檢測,并未對(duì)蘋果的邊緣和形狀信息進(jìn)行有效預(yù)測。
針對(duì)上述研究中存在問題,本研究提出了以實(shí)例分割網(wǎng)絡(luò)Mask RCNN模型作為蘋果采摘機(jī)器人視覺定位與檢測模型。該模型能準(zhǔn)確預(yù)測采摘果實(shí)的邊緣和形狀信息,但是模型參數(shù)量大,檢測速度慢,難以達(dá)到采摘機(jī)器人實(shí)時(shí)檢測要求。針對(duì)此問題,在Mask RCNN基礎(chǔ)上將主干網(wǎng)絡(luò)改為適用于移動(dòng)端的Mobilenetv3網(wǎng)絡(luò)模型,為了增強(qiáng)語義信息,使模型對(duì)適應(yīng)復(fù)雜的果園環(huán)境具有較強(qiáng)的魯棒性,采用SPP網(wǎng)絡(luò)對(duì)特征圖進(jìn)行語義增強(qiáng),采用空洞卷積增加特征圖的感受野和上下文的語義信息。
試驗(yàn)數(shù)據(jù)采集地位于山東臨沂市沂水縣四十里鎮(zhèn)。選取紅蘋果、青蘋果和奶油蘋果3種不同的蘋果樹進(jìn)行取樣拍攝,拍攝時(shí)間為06:00—16:00,試驗(yàn)選用海康威視、手機(jī)等移動(dòng)端采集設(shè)備進(jìn)行圖像采集,拍攝條件包括遠(yuǎn)距離和近距離、不同角度光照度、果葉和枝干的遮擋、果實(shí)之間重疊、不同成熟期果實(shí)的果實(shí)混雜(圖1),共采集500幅圖像。試驗(yàn)數(shù)據(jù)采用隨機(jī)裁剪、縮放、平移、翻轉(zhuǎn)、顏色擾動(dòng),加入馬賽克數(shù)據(jù)增強(qiáng)后為35 000幅,對(duì)數(shù)據(jù)進(jìn)行隨機(jī)抽取,選用28 000幅為訓(xùn)練數(shù)據(jù)集,3 500 幅為測試數(shù)據(jù)集,3 500幅為驗(yàn)證數(shù)據(jù)集,比例為 8 ∶1 ∶1。使用Labelme軟件人工對(duì)采集蘋果圖像中蘋果的邊界區(qū)域進(jìn)行標(biāo)注,其余為背景,生成json文件。
Mask RCNN網(wǎng)絡(luò)是He等在Faster RCNN網(wǎng)絡(luò)模型基礎(chǔ)上添加了Mask網(wǎng)絡(luò)預(yù)測分支來對(duì)檢測模型進(jìn)行改進(jìn),其網(wǎng)絡(luò)結(jié)構(gòu)見圖2。從圖2可以看出,該網(wǎng)絡(luò)模型由特征提取網(wǎng)絡(luò)(ResNet-101)、特征金字塔(feature pyramid network)、區(qū)域建議網(wǎng)絡(luò)(research proposal network)、ROIAlign層以及網(wǎng)絡(luò)預(yù)測(類別、邊界框、掩碼)分支組成。
原始Mask RCNN模型采用Resnet-101網(wǎng)絡(luò)作為主干特征提取網(wǎng)絡(luò),該網(wǎng)絡(luò)能夠有效提取特征并在實(shí)際檢測中取得很好的檢測效果,但是網(wǎng)絡(luò)層數(shù)過多,模型參數(shù)量龐大,在進(jìn)行特征提取過程中計(jì)算參數(shù)量大,需要占用過多采摘機(jī)器人硬件檢測資源,耗費(fèi)較長時(shí)間,導(dǎo)致檢測速度過慢。由于農(nóng)業(yè)蘋果采摘工作量大,在進(jìn)行蘋果定位檢測時(shí)需要具有較高實(shí)時(shí)性以便快速進(jìn)行農(nóng)業(yè)生產(chǎn)工作,因此需要改進(jìn)模型參數(shù)量提高檢測速度。Howard等提出了致力于嵌入式開發(fā)的輕量化網(wǎng)絡(luò)Mobilenetv3(圖3),使用深度可分離卷積代替標(biāo)準(zhǔn)卷積模塊,并將擠壓(squeeze)和激勵(lì)(excitation)2種輕量級(jí)的注意力機(jī)制引入線性瓶頸結(jié)構(gòu)(圖4)。
相對(duì)于傳統(tǒng)卷積操作,采用深度可分離卷積可明顯降低模型運(yùn)算參數(shù)量。如對(duì)輸入樣本的尺寸為(行數(shù))×(列數(shù))×(通道數(shù))的向量,采用×的卷積核進(jìn)行標(biāo)準(zhǔn)的卷積運(yùn)算,得到通道的輸出向量,需要計(jì)算量的參數(shù)量為
=。
(1)
若采用深度可分離卷積進(jìn)行相同的操作,需要的計(jì)算量為
=+。
(2)
2種運(yùn)算下參數(shù)量的比值為
(3)
由上式可知,當(dāng)輸入向量通道數(shù)遠(yuǎn)大于卷積核尺寸時(shí),2種方式卷積運(yùn)算的參數(shù)量比值與卷積核的尺寸幾乎成平方反比關(guān)系。假設(shè)卷積核的尺寸為3時(shí),若采用深度可分離卷積可將計(jì)算的參數(shù)量減少為原來的1/9。由此可見,采用深度可分離卷積可大大降低模型參數(shù)量,提高檢測速度。
MobilenetV3網(wǎng)絡(luò)另一改進(jìn)之處在于引入了注意力機(jī)制,該機(jī)制由擠壓模塊(squeeze block)和激勵(lì)模塊(excitation block)組成(圖4)。利用擠壓模塊將輸入的多通道矩陣壓縮成一維向量,然后通過可訓(xùn)練的權(quán)重與一維向量進(jìn)行乘法運(yùn)算實(shí)現(xiàn)激勵(lì),通過誤差反向傳播調(diào)整權(quán)重值來篩選需要的特征,其中擠壓模塊的運(yùn)算公式為
(4)
式中:為輸出特征向量;為輸入矩陣第個(gè)通道特征;為擠壓函數(shù);為二維特征圖的行坐標(biāo);為二維特征圖的列坐標(biāo)。
擠壓后的向量采用進(jìn)入全連接網(wǎng)絡(luò),輸入層和輸出層的神經(jīng)元個(gè)數(shù)相同,采用ReLu激活函數(shù),激勵(lì)操作采用Sigmoid函數(shù)進(jìn)行運(yùn)算,其表達(dá)式為
=(,)=ReLu[(,)]=ReLu[Sigmoid()]。
(5)
式中:為激勵(lì)函數(shù);為全連接層;為輸出特征值;、為全連接層權(quán)重值;ReLu、Sigmoid為激活函數(shù)。
最后,采用Scale運(yùn)算將輸出向量與原始特征圖的矩陣相乘,獲得施加權(quán)重的特征圖,以增強(qiáng)有效特征,去除或衰減無效特征,使得到的特征更加具有表達(dá)性,其表達(dá)式為
(6)
Mask RCNN模型在Faster RCNN模型存在3個(gè)網(wǎng)絡(luò)預(yù)測分支,造成模型精度下降,采用SPP網(wǎng)絡(luò)結(jié)構(gòu)模型特征圖進(jìn)行語義增強(qiáng),網(wǎng)絡(luò)結(jié)構(gòu)見圖5。SPP結(jié)構(gòu)位于主干網(wǎng)絡(luò)與RPN網(wǎng)絡(luò)之間,將輸入的特征圖采用不同的池化操作轉(zhuǎn)變?yōu)椴煌叨忍卣鲌D,然后再將特征圖進(jìn)行維度疊加,使通道進(jìn)行融合,增強(qiáng)網(wǎng)絡(luò)的魯棒性,加快模型推理速度。
Mask RCNN模型采用語義分割分支對(duì)圖像的掩碼進(jìn)行預(yù)測,將原始輸入圖像壓縮至7×7大小的特征圖進(jìn)行像素的預(yù)測,會(huì)導(dǎo)致圖像特征信息的丟失。采用空洞卷積模塊增加特征圖的感受野,獲取更加豐富的上下文語義信息來提高對(duì)圖像中小尺度物體的檢測??斩淳矸e結(jié)構(gòu)見圖6。
從圖6可以看出,相對(duì)于普通卷積,利用深度可分離卷積不僅大大擴(kuò)寬特征圖的感受野,而且網(wǎng)絡(luò)的計(jì)算量沒有增加。
Mask RCNN模型訓(xùn)練的損失由2個(gè)部分組成:RPN網(wǎng)絡(luò)損失和最終模型的多分支輸出預(yù)測損失,其表達(dá)式示為
=+。
(7)
式中:包含矩形框內(nèi)物體的分類損失以及矩形框的位置損失,其表達(dá)式為
(8)
(9)
(10)
模型輸出的分支網(wǎng)絡(luò)中回歸損失與分類損失與RPN網(wǎng)絡(luò)相同,掩碼損失采用二分類的交叉熵?fù)p失函數(shù),其表達(dá)式為
(11)
試驗(yàn)選用AMD Ryzen 7 3750H CPU,2.3 GHZ主頻,16 GB運(yùn)行內(nèi)存,GeForce GTX1660Ti GPU,操作系統(tǒng)為Ubuntu 18.04。設(shè)置模型初始學(xué)習(xí)率為0.000 1,動(dòng)量因子為0.001,權(quán)重衰減系數(shù)設(shè)置為0.000 1,動(dòng)量因子為0.9,batch_size設(shè)置為8,模型RPN網(wǎng)絡(luò)層產(chǎn)生的Anchor大小設(shè)置為(16,32,64,128,256),非極大抑制系數(shù)設(shè)置為0.3,訓(xùn)練迭代次數(shù)設(shè)置為100。
選取準(zhǔn)確率(P)、平均檢測精度(mAP)、召回率(R)作為模型檢測的評(píng)價(jià)指標(biāo)。
采用相同的訓(xùn)練集、驗(yàn)證集以及測試集分別在主干網(wǎng)絡(luò)Resnet-101、Resnet-50、Mobilenetv3以及改進(jìn)網(wǎng)絡(luò)上訓(xùn)練,4種模型訓(xùn)練損失以及驗(yàn)證損失見圖7。
從圖7可以看出,改進(jìn)后的Mask RCNN網(wǎng)絡(luò)模型訓(xùn)練損失值變化波動(dòng)比較平緩,幅值下降較快,反映了網(wǎng)絡(luò)特征提取能力更強(qiáng),模型泛化能力更好,更能適應(yīng)果園復(fù)雜的訓(xùn)練環(huán)境。Resnet101網(wǎng)絡(luò)雖然誤差曲線波動(dòng)較小,但是損失值較慢,反映了網(wǎng)絡(luò)特征提取能力弱于改進(jìn)后的網(wǎng)絡(luò)。采用Resnet50和Mobilentv3網(wǎng)絡(luò)損失值波動(dòng)變化大,下降緩慢,模型泛化能力弱。改進(jìn)后的Mask RCNN模型在RPN網(wǎng)絡(luò)分類預(yù)測損失上比Rest101、Resnet50以及Mobilenetv3網(wǎng)絡(luò)分別下降了40.62、58.77、617.34百分點(diǎn),在RPN網(wǎng)絡(luò)上預(yù)測框的損失分別下降了52.22、226.34、294.93百分點(diǎn),在輸出網(wǎng)絡(luò)上分類損失分別下降了75.32、73.30、337.64百分點(diǎn),回歸損失分別下降了32.24、226.94、635.37百分點(diǎn),掩碼損失分別下降了10.38、71.91、237.94百分點(diǎn),模型的總損失分別下降了23.33、54.24、303.35百分點(diǎn)。
為了進(jìn)一步驗(yàn)證采用實(shí)例分割網(wǎng)絡(luò)能有效作為蘋果采摘機(jī)器人視覺處理模塊,采用YOLOv4、Faster RCNN以及改進(jìn)Mask RCNN模型對(duì)同一測試數(shù)據(jù)對(duì)比,檢測效果見圖8。從圖8可以看出,雖然YOLOv4、Faster RCNN模型能有效對(duì)遮擋、不同拍照角度、不均勻光照的果園蘋果進(jìn)行有效的檢測,但是只是采用矩形框粗略地對(duì)果園蘋果進(jìn)行定位,難以提取蘋果的邊緣和形狀信息,對(duì)機(jī)械臂采摘作業(yè)會(huì)造成一定的偏差。采用實(shí)例分割模型不僅能對(duì)蘋果區(qū)域進(jìn)行矩形框包圍,而且能采用不同顏色的掩碼準(zhǔn)確分割目標(biāo)的像素區(qū)域位置,很好地滿足蘋果采摘機(jī)器人視覺要求。
從表1可以看出,改進(jìn)后的Mask RCNN模型對(duì)蘋果果園果實(shí)檢測時(shí)在準(zhǔn)確率方面比采用Resnet101網(wǎng)絡(luò)、Resnet50網(wǎng)絡(luò)、Mobilenetv3網(wǎng)絡(luò)分別提高了3.84、10.42、27.08百分點(diǎn);在召回率上比采用Mobilenetv3網(wǎng)絡(luò)提高了6.66百分點(diǎn),比Resnet50提高了4.28百分點(diǎn),比Resnet101網(wǎng)絡(luò)下降了0.91百分點(diǎn);在mAP方面,比Resnet101網(wǎng)絡(luò)提高了3.30百分點(diǎn),比Resnet50提高了26.56百分點(diǎn),比Mobilenetv3網(wǎng)絡(luò)提高了21.56百分點(diǎn)。
表1 不同模型性能對(duì)比 %
從表2可以看出,改進(jìn)后的模型比采用主干網(wǎng)絡(luò)為Resnet101、Resnet50的網(wǎng)絡(luò)參數(shù)量分別下降了62.03%、46.24%,比Mobilenetv3參量稍微提高了0.83%。在檢測速度方面,比Resnet101網(wǎng)絡(luò)提高了4幀/s的檢測速度,與Resnet50檢測速度相同,比Mobilenetv3少3幀/s。
表2 模型權(quán)重對(duì)比
為檢驗(yàn)改進(jìn)后的模型對(duì)不同種類的蘋果果實(shí)進(jìn)行識(shí)別檢測,在果實(shí)遮擋、光照充足、光照不足、遠(yuǎn)距離檢測4種常見自然條件下的果園進(jìn)行測試,試驗(yàn)檢測效果見圖9。
為了進(jìn)一步驗(yàn)證改進(jìn)后的模型性能,對(duì)模型的參數(shù)量、權(quán)重文件以及檢測速度進(jìn)行對(duì)比,結(jié)果見表2。
從圖9可以看出,改進(jìn)后的模型不僅能有效對(duì)遮擋的果實(shí)進(jìn)行檢測,而且對(duì)光照充足和不足、遠(yuǎn)距離拍攝采樣的圖片也能進(jìn)行有效識(shí)別,表明該網(wǎng)絡(luò)在復(fù)雜的果園環(huán)境下對(duì)多目標(biāo)的果實(shí)檢測能夠進(jìn)行有效檢測,具有較強(qiáng)的魯棒性。
本研究為了準(zhǔn)確對(duì)蘋果果園的果實(shí)進(jìn)行有效檢測,提出了基于Mask RCNN的檢測模型,為了減少模型參數(shù)量,主干網(wǎng)絡(luò)采用Mobilenetv3網(wǎng)絡(luò)代替Resnet101網(wǎng)絡(luò)。該模型采用深度可分離卷積代替普通卷積,大大減少模型參數(shù)量,并采用通道注意力機(jī)制加強(qiáng)模型特征提取能力。為了增強(qiáng)語義信息,采用SPP網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行加強(qiáng),并采用空洞卷積增強(qiáng)特征圖的感受野,使模型泛化能力更強(qiáng)。
采用數(shù)據(jù)集進(jìn)行模型的驗(yàn)證,在準(zhǔn)確率方面比采用Resnet101網(wǎng)絡(luò)、Resnet50網(wǎng)絡(luò)、Mobilenetv3網(wǎng)絡(luò)分別提高了3.84、10.42、27.08百分點(diǎn);在召回率上比采用Mobilenetv3網(wǎng)絡(luò)提高了6.66百分點(diǎn),比Resnet50提高了4.28百分點(diǎn),比Resnet101網(wǎng)絡(luò)下降了0.91百分點(diǎn);在mAP方面,比Resnet101網(wǎng)絡(luò)提高3.30百分點(diǎn),比Resnet50提高了26.56百分點(diǎn),比Mobilenetv3網(wǎng)絡(luò)提高了21.56百分點(diǎn)。模型參數(shù)方面,改進(jìn)后的參數(shù)量將為2.43×10,模型的檢測速度提高為9幀/s。本研究提出的改進(jìn)Mask RCNN模型在精度提升的情況下,模型參數(shù)量大幅降低,檢測速度有所提升,不僅能判斷出蘋果的位置,而且能對(duì)邊緣和形狀信息進(jìn)行預(yù)測,更加滿足采摘和機(jī)器人的實(shí)際應(yīng)用場景。