黃明輝,程 忠
(長安大學工程機械學院,陜西 西安 710064)
經過多年的快速發(fā)展,2019 年中國成為世界最大的蘋果生產國,蘋果種植面積和產量均占世界50%以上。目前,我國蘋果采摘作業(yè)仍主要依靠人工完成,但隨著中國城鎮(zhèn)化的發(fā)展,農業(yè)從業(yè)人口急劇減少,人工成本大大增加,給蘋果產業(yè)的快速發(fā)展帶來了不利影響[1]。因此,應用采摘機器人實現(xiàn)蘋果的自動化采摘是必然趨勢。近年來,計算機視覺技術已經被廣泛地應用于農業(yè)自動化生產中[2],視覺系統(tǒng)是采摘機器人的重要組成部分,利用視覺系統(tǒng)對目標蘋果進行識別與定位,是機器人進行采摘任務的關鍵環(huán)節(jié)之一,要想實現(xiàn)采摘機器人的高效采摘必須實現(xiàn)對目標蘋果的準確、快速識別與定位。
目前,許多學者對蘋果的目標識別和定位方法進行了研究。曹春卿等[3]通過融合YOLOv3 和雙目視覺算法,實現(xiàn)了多種自然場景下蘋果的精準識別和三維定位。趙德安等[4]提出一種基于YOLO 深度卷積神經網絡的復雜背景下機器人采摘蘋果的定位方法,采用優(yōu)化的YOLOv3 深度卷積神經網絡定位蘋果,實現(xiàn)了復雜環(huán)境下的蘋果識別與定位。張恩宇等[5]提出了一種SSD 深度學習算法與U 分量閾值分割法相結合的方法,取得了較好的識別效果。上述方法在高性能平臺上都能較為準確地識別出不同場景下的蘋果目標,但需要大量的計算能力,難以在算力資源有限的嵌入式設備上進行快速、準確的識別與定位。
蘋果采摘機器人識別與定位系統(tǒng)常部署在算力資源有限的嵌入式設備上,為了實現(xiàn)在算力資源有限的嵌入式設備上對目標蘋果進行快速、準確的識別與定位,本文提出了一種蘋果采摘機器人目標識別與定位方法,對YOLOv4 進行輕量化改進,使用MobileNet V3 替換原有的CSPDarknet53 主干網絡,減少模型的計算量,并結合ZED 雙目相機與定位算法構建一種準確、快速的蘋果采摘機器人目標識別與定位方法。
蘋果目標識別與定位的總體實現(xiàn)方法如圖1 所示,首先,進行蘋果數(shù)據(jù)集的收集與處理,并使用數(shù)據(jù)集進行模型訓練,對蘋果的特征進行提取;其次,通過改進的YOLOv4 網絡模型實現(xiàn)蘋果的目標檢測;最后,對ZED 相機進行標定與校正,并通過立體匹配算法獲取視差圖,得到蘋果目標的三維坐標,從而實現(xiàn)蘋果目標的識別與定位。
圖1 總體實現(xiàn)方法
由于果園中蘋果生長的自然環(huán)境較為復雜,為了提高蘋果識別與定位的準確性,在收集蘋果數(shù)據(jù)集時需要考慮以下幾種狀況:樹葉對蘋果的遮擋、枝干對蘋果的遮擋、混合遮擋、果實之間的重疊、不同時間與不同角度的蘋果圖像、順光與逆光角度下的蘋果圖像等[6]。本文針對上述幾種狀況,共收集蘋果數(shù)據(jù)集1 600 幅,部分數(shù)據(jù)集樣本如圖2 所示。對數(shù)據(jù)集進行處理,將蘋果圖片統(tǒng)一轉化為jpg 格式,使用LabelImg 標注工具對數(shù)據(jù)集中每張圖片進行標注,將蘋果標注為英文單詞apple,并保存標注后生成的XML 格式文件。最后將數(shù)據(jù)集按照8∶1∶1 劃分為訓練集、驗證集和測試集。
圖2 蘋果樣本圖像
YOLOv4 算法[7]的檢測精度高,在實時檢測模型中具有領先地位。在網絡結構中,YOLOv4 在上代版本的基礎上主要進行了三大改進:1)將主干網絡從Darknet53 替換為CSPDarknet53,作為特征提取網絡,增強了特征提取的能力;2)采用空間金字塔池化模塊SPP(Spatial Pyramid Pooling)結構,在最后一個特征層的輸出中進行四個不同尺度的最大池化處理,有效提高了感受野,能夠提取出最顯著的上下文特征;3)將特征金字塔網絡FPN(Feature Pyramid Network)修改為路徑聚合網絡PANet(Path Aggregation Network),在FPN 的自底向上結構中加入自頂向下結構,進一步提取和融合特征信息。
雖然YOLOv4 算法的檢測精度高,但算法本身的總參數(shù)量大,由于蘋果采摘機器人常使用嵌入式設備進行任務部署,算力資源有限,影響模型的檢測速度,難以滿足實時性要求。因此,為了有效提高模型的運行速度,本文對YOLOv4模型進行輕量化改進。
MobileNet V3[8]模型是谷歌針對嵌入式設備提出的一種輕量級的神經網絡模型。本文將YOLOv4原有的CSPDarknet53 網絡替換為MobileNet V3,作為特征提取的主干網絡。MobileNet V3 使用特有的bneck 結構進行特征提取,提高了網絡對于特征通道的敏感程度;同時,在深層網絡中使用性能更好的h_swish 激活函數(shù),代替?zhèn)鹘y(tǒng)計算耗時較長的swish 激活函數(shù),減少了網絡的計算量。改進后的網絡結構圖如圖3 所示,在進行蘋果目標檢測時,首先,輸入像素大小為416×416 的圖像,并采用尺度為52×52×40、26×26×112、13×13×160 的特征圖作為有效特征層。其次,將13×13×160 層輸入SPP 層進行最大池化處理,增大感受野,提高檢測精度。最后,將三個特征層輸入PANet 模塊,進一步提取和融合特征信息,并通過Yolo Head 得到預測結果[9-10]。
圖3 改進后的YOLOv4網絡結構圖
本文用平均精度(AP)來評價模型檢測精度的好壞,如公式(1)所示。并使用FPS 評價模型的檢測速度。
式中,P為精確率,R為召回率。
ZED雙目相機是通過左右相機的視差圖來計算深度信息的[9],測距原理如圖4 所示。假設左右兩個成像平面共面、光軸平行,兩成像點只在x坐標軸上存在偏移。某個目標點M的深度Z可由公式(2)計算。
圖4 相機測距原理
其中,f為焦距,B為兩相機的基線距離,xl、xr分別為M點在左、右兩個圖像中像素點的橫坐標,xl-xr為視差值,Ml、Mr是M點在左、右相機成像平面中對應的成像點,Ol、Or是左、右相機的光心。由公式可以看出,深度Z的變化與基線成正比,與視差成反比。
由公式(2)計算出的是圖像中某個目標點的深度值,若計算出圖像中所有像素點的深度值就可以得到一幅深度圖,通過ZED 相機采集的一幅深度圖如圖5所示。深度圖是以灰度圖的方式展現(xiàn)的,圖中灰度值的范圍為0~255,深度圖像中越白的地方代表著灰度值越大,也代表著距離越近[10]。
圖5 ZED相機獲取深度圖
為了獲取像素坐標和世界坐標系下的坐標變換關系,需對相機進行標定,獲取相機的內外參數(shù)。本文使用的相機為ZED 雙目相機,其在生產過程中已預先對參數(shù)進行了專業(yè)標定和校準,通過查閱設備的官方網站,查詢到通過A P I 函數(shù)getCameraInformation()可獲取相機的標定參數(shù),調用API函數(shù)即可得到相機的標定參數(shù),如表1 所示。
表1 ZED雙目相機標定參數(shù)
本文提出的模型訓練在Ubuntu 18.04 操作系統(tǒng)、GPU為NVIDIA GeForce RTX 3050的計算機上進行,并配置了Cuda 11.3、Cudnn 8.2.1、Pytorch 1.10.2、Python 3.6 等。模型測試平臺除上述高性能計算機外,還配置了一臺搭載了Cuda 10.2、Cudnn 8.0.0 的嵌入式平臺NVIDIA Jetson TX2。
設置訓練輪次為200 輪,初始學習率為0.01,處理批次大小為32,使用的是Adam 優(yōu)化算法,記錄訓練過程中的損失值(Loss),得到改進的YOLOv4 模型訓練的Loss 曲線,如圖6 所示??梢钥闯觯琇oss 曲線在訓練輪次達到140次左右趨于收斂。
圖6 改進后訓練的Loss曲線
模型訓練后,得到模型權重文件的大小以及在測試集上的AP值,模型性能分析如表2所示。
表2 模型性能分析
由表2 可知,雖然改進后的YOLOv4 模型的平均精度較原模型降低了2.95%,但模型的大小降低了79%。其中,部分蘋果目標識別結果如圖7 所示,可以看出,采用改進的YOLOv4 模型對上述不同狀況蘋果目標的整體識別精度較好,存在誤檢與漏檢的情況很少。因此,改進的YOLOv4 模型更適合部署在算力有限的嵌入式設備中進行蘋果采摘任務。
圖7 蘋果目標識別結果
通過改進的YOLOv4 算法獲取蘋果的類別和邊界框坐標后,還需要通過相機獲取蘋果到相機的真實距離。為了驗證ZED 相機對蘋果目標定位的可靠性,在嵌入式平臺NVIDIA Jetson TX2 上進行ZED雙目相機測距實驗,部分實驗效果如圖8 所示。在嵌入式平臺上使用改進的YOLOv4 算法后,平均檢測速度為15 FPS 左右,優(yōu)于改進前的6 FPS。因此,改進的YOLOv4 算法能夠更好地進行蘋果采摘任務。同時,通過多次測距實驗求平均值的方式獲取的測距誤差在0.02 m 以內,可以有效地獲取蘋果目標的距離信息。
1)本文對采摘機器人的目標識別與定位方法進行了研究。在目標識別方面,以YOLOv4 網絡模型為基礎,對YOLOv4 進行輕量化改進,使用MobileNet V3 作為特征提取的主干網絡。改進后模型的平均檢測精度為87.32%,模型的大小為53.76 MB,較改進前大小降低了79%,更適合部署在算力有限的嵌入式設備中進行蘋果采摘任務。
2)采用ZED 相機結合測距算法,在嵌入式平臺上進行了蘋果目標定位實驗。ZED 雙目相機的測距誤差可控制在0.02 m 以內,同時改進的YOLOv4 算法的平均檢測速度為15 FPS 左右,能夠滿足蘋果采摘任務的實時性要求。