高夢圓, 馬雙寶, 董玉婕, 林 巍, 何 毅
(武漢紡織大學機械工程與自動化學院,湖北武漢 430073)
蘋果營養豐富,含有大量礦物質、維生素以及膳食纖維,深受人們喜愛。因此,華北、西北地區以及更多地區成為了蘋果的主產區。在農業生產中,由于蘋果采摘過程的復雜性,采摘作業需要耗費大量勞動人力,蘋果的采摘工作約占據整個生產工作量的40%。為了加快農業生產的高效快速發展,推動蘋果生產的智能化發展,利用蘋果采摘機器人來代替人工采摘具有重大的現實意義和廣闊的應用前景。
蘋果采摘機器人主要由視覺檢測模塊、機械結構設計和運動控制3個部分組成,主要采用機械臂對其進行采摘。如何快速準確對果園的蘋果進行檢測是蘋果采摘機器人的技術關鍵。對果園中蘋果的視覺檢測效果受諸多因素的影響:現場環境的光照變化劇烈;果實之間的差異性較大;果實之間存在相互遮擋重疊狀況;果樹枝干、樹葉對果實的遮擋;對蘋果采摘機器人硬件設備的計算要求高,系統設計復雜。上述問題成為蘋果采摘機器人的視覺檢測研究的主要障礙。
目前,對蘋果機器人視覺檢測識別方面的研究工作取得了一定的進展。Fan等提出了以灰度為中心的RGB顏色,利用K-Means聚類算法分割蘋果的技術,該技術能有效對果園蘋果圖像進行實時分割。Liu等利用顏色空間進行候選區域的提取,再利用HOG特征對候選區域的蘋果進行檢測與定位,在速度和精度上取得很好的檢測效果。張春龍等采用HSV顏色空間對綠色蘋果進行顏色特征提取,并利用支持向量機(SVM)分類器進行分類,有效實現了青色蘋果的識別與定位。廖崴等利用RGB顏色空間和Ostu算法將果實和樹葉從背景中分割,利用灰度和紋理特征構建隨機森林分類器,識別蘋果果實與樹葉,并利用霍夫圓對蘋果邊緣進行擬合,在自然光照下對蘋果進行有效識別。
隨著人工智能技術的興起,以深度學習為基礎的目標檢測技術在蘋果檢測中開始得到應用。彭紅星等采用Resnet-101網絡代替SSD模型中的VGG-16網絡,并利用遷移學習訓練方法對4種不同水果進行檢測。武星等提出了輕量化同構殘差快串聯的特征提取網絡,采用多種目標損失函數的改進YOLOv3模型,對果園中遮擋、重疊情況的蘋果取得很好的檢測。在此基礎上,李大華等利用YOLOv3網絡對環境中的蘋果目標區域進行檢測,并采用顏色空間進行閾值分割,得到蘋果的準確位置信息。岳有軍等采用Mask RCNN模型對果園的蘋果進行檢測并提取蘋果的像素區域。雖然上述方法針對果園的蘋果檢測在實時性和魯棒性上取得了很好的檢測效果,但是模型參數量大,對蘋果采摘機器人的計算資源消耗過多,對蘋果果實的檢測只是采用矩形框進行包圍檢測,并未對蘋果的邊緣和形狀信息進行有效預測。
針對上述研究中存在問題,本研究提出了以實例分割網絡Mask RCNN模型作為蘋果采摘機器人視覺定位與檢測模型。該模型能準確預測采摘果實的邊緣和形狀信息,但是模型參數量大,檢測速度慢,難以達到采摘機器人實時檢測要求。針對此問題,在Mask RCNN基礎上將主干網絡改為適用于移動端的Mobilenetv3網絡模型,為了增強語義信息,使模型對適應復雜的果園環境具有較強的魯棒性,采用SPP網絡對特征圖進行語義增強,采用空洞卷積增加特征圖的感受野和上下文的語義信息。
試驗數據采集地位于山東臨沂市沂水縣四十里鎮。選取紅蘋果、青蘋果和奶油蘋果3種不同的蘋果樹進行取樣拍攝,拍攝時間為06:00—16:00,試驗選用海康威視、手機等移動端采集設備進行圖像采集,拍攝條件包括遠距離和近距離、不同角度光照度、果葉和枝干的遮擋、果實之間重疊、不同成熟期果實的果實混雜(圖1),共采集500幅圖像。試驗數據采用隨機裁剪、縮放、平移、翻轉、顏色擾動,加入馬賽克數據增強后為35 000幅,對數據進行隨機抽取,選用28 000幅為訓練數據集,3 500 幅為測試數據集,3 500幅為驗證數據集,比例為 8 ∶1 ∶1。使用Labelme軟件人工對采集蘋果圖像中蘋果的邊界區域進行標注,其余為背景,生成json文件。

Mask RCNN網絡是He等在Faster RCNN網絡模型基礎上添加了Mask網絡預測分支來對檢測模型進行改進,其網絡結構見圖2。從圖2可以看出,該網絡模型由特征提取網絡(ResNet-101)、特征金字塔(feature pyramid network)、區域建議網絡(research proposal network)、ROIAlign層以及網絡預測(類別、邊界框、掩碼)分支組成。

原始Mask RCNN模型采用Resnet-101網絡作為主干特征提取網絡,該網絡能夠有效提取特征并在實際檢測中取得很好的檢測效果,但是網絡層數過多,模型參數量龐大,在進行特征提取過程中計算參數量大,需要占用過多采摘機器人硬件檢測資源,耗費較長時間,導致檢測速度過慢。由于農業蘋果采摘工作量大,在進行蘋果定位檢測時需要具有較高實時性以便快速進行農業生產工作,因此需要改進模型參數量提高檢測速度。Howard等提出了致力于嵌入式開發的輕量化網絡Mobilenetv3(圖3),使用深度可分離卷積代替標準卷積模塊,并將擠壓(squeeze)和激勵(excitation)2種輕量級的注意力機制引入線性瓶頸結構(圖4)。
相對于傳統卷積操作,采用深度可分離卷積可明顯降低模型運算參數量。如對輸入樣本的尺寸為(行數)×(列數)×(通道數)的向量,采用×的卷積核進行標準的卷積運算,得到通道的輸出向量,需要計算量的參數量為
=。
(1)
若采用深度可分離卷積進行相同的操作,需要的計算量為


=+。
(2)
2種運算下參數量的比值為

(3)
由上式可知,當輸入向量通道數遠大于卷積核尺寸時,2種方式卷積運算的參數量比值與卷積核的尺寸幾乎成平方反比關系。假設卷積核的尺寸為3時,若采用深度可分離卷積可將計算的參數量減少為原來的1/9。由此可見,采用深度可分離卷積可大大降低模型參數量,提高檢測速度。
MobilenetV3網絡另一改進之處在于引入了注意力機制,該機制由擠壓模塊(squeeze block)和激勵模塊(excitation block)組成(圖4)。利用擠壓模塊將輸入的多通道矩陣壓縮成一維向量,然后通過可訓練的權重與一維向量進行乘法運算實現激勵,通過誤差反向傳播調整權重值來篩選需要的特征,其中擠壓模塊的運算公式為

(4)
式中:為輸出特征向量;為輸入矩陣第個通道特征;為擠壓函數;為二維特征圖的行坐標;為二維特征圖的列坐標。
擠壓后的向量采用進入全連接網絡,輸入層和輸出層的神經元個數相同,采用ReLu激活函數,激勵操作采用Sigmoid函數進行運算,其表達式為
=(,)=ReLu[(,)]=ReLu[Sigmoid()]。
(5)
式中:為激勵函數;為全連接層;為輸出特征值;、為全連接層權重值;ReLu、Sigmoid為激活函數。
最后,采用Scale運算將輸出向量與原始特征圖的矩陣相乘,獲得施加權重的特征圖,以增強有效特征,去除或衰減無效特征,使得到的特征更加具有表達性,其表達式為

(6)

Mask RCNN模型在Faster RCNN模型存在3個網絡預測分支,造成模型精度下降,采用SPP網絡結構模型特征圖進行語義增強,網絡結構見圖5。SPP結構位于主干網絡與RPN網絡之間,將輸入的特征圖采用不同的池化操作轉變為不同尺度特征圖,然后再將特征圖進行維度疊加,使通道進行融合,增強網絡的魯棒性,加快模型推理速度。

Mask RCNN模型采用語義分割分支對圖像的掩碼進行預測,將原始輸入圖像壓縮至7×7大小的特征圖進行像素的預測,會導致圖像特征信息的丟失。采用空洞卷積模塊增加特征圖的感受野,獲取更加豐富的上下文語義信息來提高對圖像中小尺度物體的檢測。空洞卷積結構見圖6。
從圖6可以看出,相對于普通卷積,利用深度可分離卷積不僅大大擴寬特征圖的感受野,而且網絡的計算量沒有增加。

Mask RCNN模型訓練的損失由2個部分組成:RPN網絡損失和最終模型的多分支輸出預測損失,其表達式示為
=+。
(7)
式中:包含矩形框內物體的分類損失以及矩形框的位置損失,其表達式為

(8)



(9)


(10)
模型輸出的分支網絡中回歸損失與分類損失與RPN網絡相同,掩碼損失采用二分類的交叉熵損失函數,其表達式為

(11)

試驗選用AMD Ryzen 7 3750H CPU,2.3 GHZ主頻,16 GB運行內存,GeForce GTX1660Ti GPU,操作系統為Ubuntu 18.04。設置模型初始學習率為0.000 1,動量因子為0.001,權重衰減系數設置為0.000 1,動量因子為0.9,batch_size設置為8,模型RPN網絡層產生的Anchor大小設置為(16,32,64,128,256),非極大抑制系數設置為0.3,訓練迭代次數設置為100。
選取準確率(P)、平均檢測精度(mAP)、召回率(R)作為模型檢測的評價指標。
采用相同的訓練集、驗證集以及測試集分別在主干網絡Resnet-101、Resnet-50、Mobilenetv3以及改進網絡上訓練,4種模型訓練損失以及驗證損失見圖7。

從圖7可以看出,改進后的Mask RCNN網絡模型訓練損失值變化波動比較平緩,幅值下降較快,反映了網絡特征提取能力更強,模型泛化能力更好,更能適應果園復雜的訓練環境。Resnet101網絡雖然誤差曲線波動較小,但是損失值較慢,反映了網絡特征提取能力弱于改進后的網絡。采用Resnet50和Mobilentv3網絡損失值波動變化大,下降緩慢,模型泛化能力弱。改進后的Mask RCNN模型在RPN網絡分類預測損失上比Rest101、Resnet50以及Mobilenetv3網絡分別下降了40.62、58.77、617.34百分點,在RPN網絡上預測框的損失分別下降了52.22、226.34、294.93百分點,在輸出網絡上分類損失分別下降了75.32、73.30、337.64百分點,回歸損失分別下降了32.24、226.94、635.37百分點,掩碼損失分別下降了10.38、71.91、237.94百分點,模型的總損失分別下降了23.33、54.24、303.35百分點。
為了進一步驗證采用實例分割網絡能有效作為蘋果采摘機器人視覺處理模塊,采用YOLOv4、Faster RCNN以及改進Mask RCNN模型對同一測試數據對比,檢測效果見圖8。從圖8可以看出,雖然YOLOv4、Faster RCNN模型能有效對遮擋、不同拍照角度、不均勻光照的果園蘋果進行有效的檢測,但是只是采用矩形框粗略地對果園蘋果進行定位,難以提取蘋果的邊緣和形狀信息,對機械臂采摘作業會造成一定的偏差。采用實例分割模型不僅能對蘋果區域進行矩形框包圍,而且能采用不同顏色的掩碼準確分割目標的像素區域位置,很好地滿足蘋果采摘機器人視覺要求。

從表1可以看出,改進后的Mask RCNN模型對蘋果果園果實檢測時在準確率方面比采用Resnet101網絡、Resnet50網絡、Mobilenetv3網絡分別提高了3.84、10.42、27.08百分點;在召回率上比采用Mobilenetv3網絡提高了6.66百分點,比Resnet50提高了4.28百分點,比Resnet101網絡下降了0.91百分點;在mAP方面,比Resnet101網絡提高了3.30百分點,比Resnet50提高了26.56百分點,比Mobilenetv3網絡提高了21.56百分點。

表1 不同模型性能對比 %
從表2可以看出,改進后的模型比采用主干網絡為Resnet101、Resnet50的網絡參數量分別下降了62.03%、46.24%,比Mobilenetv3參量稍微提高了0.83%。在檢測速度方面,比Resnet101網絡提高了4幀/s的檢測速度,與Resnet50檢測速度相同,比Mobilenetv3少3幀/s。

表2 模型權重對比
為檢驗改進后的模型對不同種類的蘋果果實進行識別檢測,在果實遮擋、光照充足、光照不足、遠距離檢測4種常見自然條件下的果園進行測試,試驗檢測效果見圖9。

為了進一步驗證改進后的模型性能,對模型的參數量、權重文件以及檢測速度進行對比,結果見表2。
從圖9可以看出,改進后的模型不僅能有效對遮擋的果實進行檢測,而且對光照充足和不足、遠距離拍攝采樣的圖片也能進行有效識別,表明該網絡在復雜的果園環境下對多目標的果實檢測能夠進行有效檢測,具有較強的魯棒性。
本研究為了準確對蘋果果園的果實進行有效檢測,提出了基于Mask RCNN的檢測模型,為了減少模型參數量,主干網絡采用Mobilenetv3網絡代替Resnet101網絡。該模型采用深度可分離卷積代替普通卷積,大大減少模型參數量,并采用通道注意力機制加強模型特征提取能力。為了增強語義信息,采用SPP網絡結構進行加強,并采用空洞卷積增強特征圖的感受野,使模型泛化能力更強。
采用數據集進行模型的驗證,在準確率方面比采用Resnet101網絡、Resnet50網絡、Mobilenetv3網絡分別提高了3.84、10.42、27.08百分點;在召回率上比采用Mobilenetv3網絡提高了6.66百分點,比Resnet50提高了4.28百分點,比Resnet101網絡下降了0.91百分點;在mAP方面,比Resnet101網絡提高3.30百分點,比Resnet50提高了26.56百分點,比Mobilenetv3網絡提高了21.56百分點。模型參數方面,改進后的參數量將為2.43×10,模型的檢測速度提高為9幀/s。本研究提出的改進Mask RCNN模型在精度提升的情況下,模型參數量大幅降低,檢測速度有所提升,不僅能判斷出蘋果的位置,而且能對邊緣和形狀信息進行預測,更加滿足采摘和機器人的實際應用場景。