畢 松 隗朋峻 劉仁學
(北方工業大學電氣與控制工程學院,北京 100041)
隨著國內人工成本的快速增長,現有以人工作業為主的種植和管理模式,已成為制約草莓產業發展的重要因素之一。提高生產過程的自動化和智能化程度,能夠有效降低草莓生產過程的人力需求。
采摘作業是草莓生產過程中人力需求集中的環節,因此采摘作業自動化能夠有效降低草莓生產過程的人力需求。果實自動采摘的基礎是能夠穩定的獲得草莓目標空間位置,自然環境存在光照強度變化、果實重疊、枝葉遮擋等干擾因素,因此在自然環境下草莓目標識別、定位與空間姿態估計是草莓自動采摘裝備的關鍵技術。
自然環境獲得的草莓圖像存在背景變化、果實光照不均、枝葉遮擋、果實重疊等干擾因素,識別和定位草莓目標受到國內外相關領域專家的關注。在自然環境下草莓目標的識別研究方面,趙世達[1]設計了基于圖像對比度分析的草莓識別方法;謝志勇等[2]基于Lab顏色空間模型和Hough圓變換設計了成熟草莓識別方法;CAO等[3]利用Lab顏色模型的灰色圖像提取草莓并計算位置、方向和形狀;XU等[4]基于圖像HOG特征和SVM分類器完成草莓目標檢測;劉小剛等[5]基于伽馬變換增強的圖像實現了夜間草莓識別;李鑫[6]使用CaffeNet網絡完成了成熟草莓目標的檢測;張繼成等[7]提出一種基于深度殘差學習的草莓識別方法,解決了自然狀態下成熟草莓存在背景干擾、信息丟失情況下的草莓目標識別問題;GE等[8]基于DCNN解決了由于枝葉遮擋引起的果實檢測不準確問題;YU等[9]基于Mask R-CNN提高了非結構環境下水果的檢測精度;王雪光等[10]基于K均值聚類算法實現了成熟草莓的識別;陳軍等[11]使用目標輪廓長寬比區間窗口來提高草莓識別準確率;侯貴洋等[12]使用顏色識別和特征識別結合的方法計算草莓質心坐標;胡慶勝等[13]基于Mask R-CNN解決了復雜環境下草莓目標識別率低的問題。
自然環境下草莓目標識別存在識別精度和速度較低、易受背景干擾的問題。對圖像中草莓區域的識別精度較低,不利于草莓姿態識別和采摘點定位。
在自然環境下果實目標定位研究方面,房愛青等[14]基于單目視覺結合測距傳感器提高了視覺定位精度;張凱良等[15]使用圖像結合激光測距有效檢測了長圓錐形草莓的果軸;郭峰等[16]通過計算草莓二值化圖像的慣性主軸來判斷草莓姿態;JIN等[17]利用點云數據獲得的葡萄簇和水平-棚架環境特征實現采摘點定位策略;ZHONG等[18]基于主果枝檢測實現了自然環境下荔枝采摘點的檢測;張勤等[19]融合深度信息和顏色特征實現了無遮擋情況下果實采摘點識別;麥春艷等[20]設計了基于點云的果實三維球體形狀提取和質心計算方法;劉德兒等[21]使用改進的YOLACT算法分割臍橙果實,外形擬合后得到其相機坐標系下的采摘點;姬麗雯等[22]利用R-FCN目標檢測網絡結合雙目視覺實現成熟無遮擋草莓的檢測及定位;羅陸鋒等[23]根據目標質心坐標和葡萄簇邊緣信息確定采摘點;王丹丹等[24]提出基于平滑輪廓對稱軸法的蘋果目標采摘點定位方法;司永勝等[25]建立面積特征結合極線幾何實現了圓形果實的定位。
上述方法根據空間幾何原理估計草莓目標的坐標和采摘點,但缺少對草莓目標三維空間位姿分析,從而不能為采摘設備的末端提供精準采摘姿態信息。
目前草莓識別定位的局限性體現在:只能識別到圖像中草莓的大概位置,無法獲得草莓目標的準確區域;空間定位方法不完整,無法獲得草莓的位姿,僅有采摘點信息使采摘動作的準確性和靈活性受限,采摘效率降低。
本文設計基于圖像和深度信息估計草莓位姿從而實現草莓定位的方法。首先,基于成熟草莓目標的圖像特征先驗信息,設計草莓目標預定位方法,獲得圖像中潛在的草莓區域。其次,基于圖像目標識別網絡進一步定位圖像中的草莓目標,由于卷積神經網絡定位目標區域不夠具體,無法準確獲取框選區域中草莓所屬的像素區域。因此在草莓目標區域中利用語義分割網絡對草莓目標進行語義分割,從而在自然圖像中獲得草莓的準確像素區域。再次,通過草莓區域點云信息和草莓的形態特性完成草莓位姿的估計并根據草莓位姿提取草莓的采摘點。最后,基于本文方法獲得的采摘點在大族Elfin-10機器人平臺完成自然環境下高架基質栽培方式的草莓采摘實驗。
本文方法主要由4部分組成:自然圖像草莓區域分割、草莓目標可采摘性識別、草莓位姿估計、采摘動作生成,方法結構如圖1所示。

圖1 方法整體結構圖
首先,在自然圖像草莓區域分割模塊中,以優化的對草莓顏色適應性較高閾值對圖像進行閾值分隔獲得草莓圖像區域預定位;基于預定位結果利用訓練好的圖像目標識別網絡對圖像中草莓區域進行快速定位;利用訓練好的圖像分割網絡提取精確的草莓目標區域并提取圖像目標區域形狀特征。其次,在草莓目標可采摘性識別模塊中,使用提取出的圖像區域形狀特征對草莓的可采摘性進行識別。然后,在草莓位姿估計模塊中,基于草莓區域的點云數據和草莓的可采摘性結果估計草莓位姿和采摘點空間位置坐標;最后,在采摘動作生成模塊中,基于計算得到的采摘點序列計算最短采摘路徑并控制機器人完成采摘作業。
本文設計了自然環境下草莓目標點云的精確分割方法,精確分割的草莓目標點云可為后續的草莓位姿估計提供數據基礎。首先,在HSV空間對草莓目標進行預定位,確定圖像中草莓目標潛在區域;其次,利用圖像目標識別模型,在預定位結果基礎上檢測草莓位置區域;再次,利用語義分割網絡在草莓位置區域圖像基礎上對草莓區域進行像素分割;使用像素分割后的草莓目標區域圖像提取特征進行草莓的成熟性判斷;最后,使用成熟草莓的草莓目標區域圖像在深度數據中匹配獲得草莓目標點云。自然環境圖像草莓區域點云分割的方法流程如圖2所示。

圖2 草莓區域點云分割流程圖
(1)目標預定位
溫室環境下高架基質草莓目標顏色與背景差異較大,與背景相比其飽和度較高,色度范圍較大。由于溫室環境下,光照、紋理等參數變化范圍較大,設置較大的色度和飽和度區間有助于提高圖像中草莓區域預分割效果。因此在HSV色彩空間中,同時使用S通道閾值目標顏色分割可較好地完成草莓目標的預定位。利用區域形態學操作完成孔洞填充,去除圖像噪聲后,獲得草莓圖像預定位。
(2)識別模塊
完成對草莓目標的預定位處理后,需要對草莓目標進行目標定位和檢測。YOLO系列網絡是單階段網絡,在檢測速度上有天然的優勢,與農業智能裝備應用更加適配;YOLO v3相較于之前版本的YOLO,采用了多尺度檢測的策略,可以檢測更小的目標,適用于草莓小目標;相較于之后的YOLO版本,YOLO v3網絡在結構上更加輕量化,在同時都滿足目標識別準確度需求的情況下,推理速度更快。因此,本文使用YOLO v3標準網絡構造識別模塊。
首先,計算每個預定位目標區域的質心,以區域質心作為中心剪裁圖像并使用識別模塊從原始圖像中搜索草莓目標。對于預定位過程中正確找到的草莓目標區域,網絡會輸出草莓目標的預測位置以及置信度;對于預定位過程中誤識別的區域,網絡無輸出,同時也代表著此區域無草莓,不再參與后續流程的計算。
(3)分割模塊
由于目標識別網絡輸出的圖像中,既包含草莓目標又包含目標附近的背景,因此無法確定獲取草莓目標區域,該問題將導致后續基于點云分析的草莓目標空間定位誤差較大,因此利用語義分割方法獲得草莓目標像素級分割結果,為草莓姿態識別提供有效的三維點云數據。將目標圖像輸入到分割模塊之前,對圖像進行預處理,以保證整個草莓都能被輸入到分割模塊之中。
(4)成熟性分析
獲得草莓目標的區域分割圖像后,應對草莓的成熟性做出分析,以完成后續對成熟草莓目標點云的分割。成熟草莓與未成熟草莓的區域目標圖像如圖3所示。

圖3 成熟草莓與未成熟草莓目標區域圖像
草莓的成熟與否在成熟區域特征上有明顯差異。如圖3所示,成熟草莓圖像的凸包面積在區域目標圖像中,占比較大且較為集中;未成熟草莓圖像的凸包面積,在區域目標圖像中占比較小。區域目標圖像是由識別模塊輸出區域經填補后等比縮放至固定尺寸,再由草莓目標分割模塊確定圖像中草莓區域,因此利用目標區域和草莓區域進行成熟度評價時圖像尺度具有一致性。因此,設S1為草莓目標區域凸包像素面積,S2為目標圖像像素面積,以F1=S1/S2作為草莓的成熟區域度特征。在未成熟草莓分割圖像中,背景噪聲會對草莓真實區域造成一定干擾(如圖3b中黃色圈所示),因此在計算目標區域面積時,通過圖像形態學操作去除圖像中的細小碎塊區域后,再計算圖像的目標區域面積和凸包。通過對464幅草莓樣本圖像的分析,獲取其目標區域并計算區域度特征,特征數據F1的箱型圖如圖4所示。

圖4 草莓類別分布箱型圖
從圖4可以觀察到未成熟草莓的區域度特征分布集中度較高,均分布在0.08左右。而成熟草莓的區域度較為分散,從最小值0.18到最大值0.72均有分布,相對集中在0.35~0.50區間。因草莓樣本的多樣性及其品質的隨機性,所得數據中有個別離群點(紅色十字),但圖中數據分布仍能反映出可通過區域度特征閾值方法成功區分成熟草莓與未成熟草莓。當把閾值設定在0.2時,對成熟草莓分類的準確率為96.03%,對未成熟草莓分類的準確率為91.67%,滿足實際場景的應用需求。
(5)點云分割
成熟草莓中,以草莓目標精確分割區域為索引,結合配準的深度信息矩陣,計算草莓區域的點云數據,獲得精確分割的草莓目標區域點云數據。為了去除點云數據在獲取階段受到環境干擾導致的誤差,需要對點云數據進行預處理。本文使用雙邊濾波方法對草莓目標點云區域進行濾波去噪,雙邊濾波算法通過使用當前數據點與臨近點的距離權重和臨近點沿當前點法向量的投影權重來修正當前采樣中心點的位置,從而達到保持點云數據原特征的目的。
自然生長條件下草莓空間位姿估計是獲取草莓采摘點的前提,本文設計了基于草莓幾何體形態的中心位姿線估計方法。完整草莓的幾何體形狀近似一個錐形,因此在點云空間中可把完整草莓曲面看作半個圓錐面。估計草莓的位姿就是從點云提取的半個錐面曲面中估計完整錐面的長軸向量。本文設計的草莓位姿估計方法,以每個數據點為中心,相鄰點為鄰域擬合平面,依次計算每一個數據點的平面法向量。以數據點坐標為射線起點,數據點法向量方向為射線方向,構造射線,把每一條射線看作圓錐曲面與圓錐中心長軸向量的連線。尋找所有射線之間的交點作為潛在的草莓位姿點,最終對潛在草莓位姿點濾波后使用最小二乘法進行直線擬合,作為草莓的空間位姿向量。具體流程如圖5所示。

圖5 完整草莓位姿估計流程圖
(1)生成z軸方向一致的表面法向量
由于草莓位姿方向和圓錐中心線方向一致且在圓錐內部,為了獲取草莓位姿數據點的潛在區域,需要先獲取目標點云曲面每一個點的法向量。對于平滑去噪后目標點云數據中的每個數據點使用最小二乘法來擬合局部平面,并確定中心數據點的平面法向量。具體過程如下:
平面方程的一般表達為
Ax+By+Cz+D=0 (C≠0)
(1)
則有
(2)
記a0=-A/C,a1=-B/C,a2=-D/C,那么
z=a0x+a1y+a2
(3)

(4)
求解線性方程組(4),可得到a0、a1、a2,則z=a0x+a1y+a2。令D=1,解得參數A、B、C,故得到參考點的法向量N(A,B,C)。
為了符合圓錐體長軸向量在圓錐內部的特性,z軸遠點設置一個基準點,把每個法向量的方向都與此基準點進行比較,以保證每個數據點的法向量z軸分量指向圓錐內部。法向量方向確定的具體方法如下:
設基準點坐標為P0(x0,y0,z0),待判斷方向的數據點為P1(x1,y1,z1),點P1的法向量為N1(A1,B1,C1),則數據點指向基準點方向向量為Pk(x1-x0,y1-y0,z1-z0),因此
(5)
(2)點云質心分區
對于保留了完整草莓曲面的無遮擋情況草莓,由于圓錐體沿中心線截面左右對稱,草莓目標點云也基本符合左右對稱的性質。因此,以草莓目標區域圖像的質心坐標標定出的點云數據點為原點,x軸、y軸方向把草莓曲面分為4個區域,如圖5點云質心分區結果所示,4個區域內點云數據法向量的x和y方向應指向圓錐體中心方向。
(3)位姿交點計算
為了找到圓錐的長軸向量,將點云劃分為4個區域后,依次以每個數據點為起點,數據法向量方向為射線方向生成射線。在質心分區的區域1、2、3、4之間互相尋找射線交點,作為潛在的草莓位姿點。草莓位姿交點的軸向示意圖如圖6所示。

圖6 草莓位姿交點軸向示意圖
如圖6所示,三維空間中計算目標曲面射線交點的推導過程如下:
設數據點a的空間坐標為Pa,由a擬合的局部平面法向量為v1,射線L1以點Pa為原點沿v1方向的長度為t1,則L1的表達式為
L1(t1)=Pa+v1t1
(6)
設數據點b的空間坐標為Pb,由b擬合的局部平面法向量為v2,射線L2以點Pb為原點沿v2方向的長度為t2,則L2的表達式為
L2(t2)=Pb+v2t2
(7)
若兩射線在空間中存在交點,則交點滿足
Pa+v1t1=Pb+v2t2
(8)
等式兩邊叉乘v2,有
(v1×v2)t1=(Pb-Pa)×v2
(9)
等式兩邊再點乘v1×v2,得
t1(v1×v2)·(v1×v2)=[(Pb-Pa)×v2]·
(v1×v2)
(10)
解得
(11)
同理可得
(12)
式(11)、(12)中,Det為Determinant的縮寫,表示行列式的數值。
兩射線之間最短距離D=|(Pb-Pa)·(v2×v1)|2,當D=0時,兩射線相交。由于傳感器采樣精度原因,和草莓幾何體與標準圓錐體的偏差,精確相交很少出現,需要設定一個范圍,達到設定的范圍D<|ξ|,則認為兩直線相交,本文選取的范圍為ξ=0.001。
(4)錯誤位姿點剔除
由于深度相機受本身的精度和環境干擾等影響,初步計算得到的位姿交點會存在離群點等難以反映草莓真實位姿,會對后續的位姿估計造成干擾。因此,需要剔除錯誤的位姿點以及離群點數據。本文以位姿點數據質心為中心,r為半徑,剔除位姿點數據。
對于N(N≥3)個位姿點(xi,yi,zi)(i=1,2,…,N),設其質心點為Pc(xc,yc,zc),則x-z平面內,計算數據點到質心的距離為
(13)
當d>r時,位姿點被剔除,d≤r時,位姿點保留。
(5)空間位姿估計
對去除離群點和錯誤點后的位姿點數據使用最小二乘方法進行直線擬合,把直線擬合的向量作為草莓的空間位姿。推導過程如下:
空間直線的點向式方程為
(14)
(m,n,p)為直線方程的方向向量;(x0,y0,z0)為直線上一個點坐標,對方程進行等價轉換得
(15)
其中
k1=m/pb1=x0-mz0/p
k2=n/pb2=y0-nz0/p
于是空間直線就可看作由上面兩個平面相交得到,因此對空間直線擬合就是對這兩個平面方程擬合,方程的殘差平方和為
(16)
根據最小二乘法擬合原理,使殘差平方和最小得出模型中的參數,求得
(17)
(6)遮擋草莓位姿估計
成熟草莓中,除了有無遮擋的完整草莓,還有被枝葉不同程度遮擋的草莓。由于自然環境中的枝葉遮擋,得到的點云并不能完整反映草莓曲面情況,無法使用上述完整草莓位姿估計的方法。因此需要根據遮擋草莓情況,設計針對遮擋草莓的位姿估計方法。要實現遮擋草莓的位姿估計,則需要首先對草莓目標是否被遮擋做出判斷。成熟草莓中,遮擋草莓與未遮擋草莓如圖7所示。

圖7 成熟草莓的遮擋情況示例
圖7a為成熟且未遮擋草莓,草莓目標區域輪廓基本為凸形,草莓目標區域面積與凸包面積相近;圖7b為成熟但存在部分遮擋草莓,草莓目標區域輪廓多為凹形且存在非連通的多個目標區域情況,草莓目標區域面積小于凸包面積;因此,在提出了成熟區域度特征F1的基礎上,提出草莓的遮擋區域度特征F2。設草莓目標區域面積為S3,草莓目標區域凸包面積為S1,則遮擋區域度特征F2=S3/S1。本文使用目標成熟區域度特征F1、目標遮擋區域度特征F2作為區分草莓是否遮擋的判斷依據,基于SVM構造成熟草莓遮擋情況分類器判別草莓遮擋情況。對全部成熟草莓樣本提取特征值,特征分布及分類結果如圖8所示。
根據圖8可知,成熟未遮擋草莓特征值F2在0.9~1.0區間較為集中,成熟且遮擋草莓的特征值F2多分布在0.6~0.9區間,與未遮擋草莓相比其分布相對分散。遮擋草莓與未遮擋草莓在F1-F2特征平面可被一條分界線成功分開,其混淆矩陣如表1所示。

表1 成熟草莓遮擋類型判斷SVM模型混淆矩陣
根據表1可知,SVM模型的準確率為92.69%、精確率為93.67%、召回率為96.1%,基于精確率和召回率的調和平均值為94.87%。
草莓是否被遮擋的判別流程算法偽代碼為:
Algorithm草莓遮擋識別方法
Input:草莓目標區域圖像
Output:草莓是否被遮擋
function草莓遮擋識別
圖像區域二值化 ∥獲得區域屬性
圖像輪廓檢測 ∥尋找目標輪廓邊緣
凸包輪廓檢測 ∥尋找輪廓凸包邊緣
計算目標區域面積、輪廓凸包面積 ∥提取草莓目標特征值
分類器檢測 ∥將特征值輸入分類器
return分類器檢測結果
end
遮擋草莓的位姿估計流程如圖9所示。

圖9 遮擋草莓位姿估計流程圖
根據圖9目標點云可知,由于遮擋位置的隨機性,遮擋草莓曲面點云并不完全符合沿圓錐中心線左右對稱,無法使用針對完整草莓目標的點云質心分區步驟來劃分區域,但是未遮擋部分草莓點云也一定程度上擬合了不完整的圓錐表面。因此,去掉在完整草莓位姿估計方法中的質心分區步驟,直接使用所有曲面數據點兩兩計算射線交點,獲取到所有潛在的草莓位姿點之后,對離散位姿點進行剔除,使用最小二乘法對剩余的位姿點做直線擬合,將擬合出的直線作為草莓空間位姿向量。
(7)采摘點獲取
草莓采摘點根據本文方法獲取的草莓位姿得到,如圖10所示。

圖10 采摘點獲取示意圖
設位姿數據質心點空間坐標為Pc(xc,yc,zc),草莓曲面點云數據y方向最大值為hmax、最小值為hmin、草莓高h=hmax-hmin,位姿估計向量經歸一化后為p=(,,)。
對于無遮擋草莓,根據圖10a可知,位姿點質心處沿位姿方向向上,垂直距離3h/4處作為采摘點Ph(xh,yh,zh),則Ph為
(18)
對于遮擋草莓,根據圖10b所示,由于遮擋情況較復雜且無法預知遮擋部位,無法通過點云信息估計完整草莓高,故將h替換為hk計算采摘點,本文中設hk=0.03 m。
為了驗證本文提出的草莓位姿估計和采摘點定位方法的準確性和魯棒性,在訓練、測試自然圖像草莓目標分割模塊和草莓可采摘性識別模塊性能的基礎上,進一步估計果實的位姿和采摘點,在實際機器人系統上測試并驗證本文所提方法的有效性。
采用Intel RealSense D415作為圖像采集設備,RGB傳感器使用卷簾快門,最大分辨率為1 920像素×1 080像素,視場為69°×42°;深度傳感器使用紅外結構光技術,深度視野為65°×40°,最高深度輸出分辨率為1 280像素×720像素,最高輸出幀率為90 f/s。
數據采集地位于北京市昌平區萬德草莓種植園,該草莓種植園的種植方式為溫室大棚環境下的A架種植,平均行間距為2 m,受光照、種植波次等因素影響,草莓的生長和成熟狀況也存在一定差異性,數據集包含了多種拍攝角度和位置的圖像數據,具有較強代表性。本文構造了包含上述情況的樣本集,樣本集數量為2 000幅,其中1 600幅用作訓練,400幅用作測試,使用Matlab R2021b環境下的Image Labeler工具進行草莓目標區域標注。訓練平臺為Intel Core i9-9900K CPU 3.60 GHz,Nvidia Quadro P4000 GPU,32 GB RAM。
2.2.1自然環境圖像草莓區域點云分割實驗
在測試數據中,選用了不同環境條件下,以及不同成熟程度、不同遮擋情況下的草莓圖像來評估草莓目標區域分割模塊的性能,測試結果如圖11所示。

圖11 不同條件下草莓區域分割測試結果
對于弱光照條件下的草莓目標區域點云分割測試結果,得到了正確的草莓目標區域并精準分割目標點云。對于有枝葉遮擋的情況,本文設計的點云分割模塊獲得了合理的預測結果,還原了圖像中草莓所屬的像素區域,并成功獲得遮擋草莓的目標點云。對于強光照射情況,模塊也表現出了較好的分割能力,沒有受到光斑的影響。對于強光照射且有枝葉遮擋的條件下,模塊的分割結果仍較為準確。從以上測試結果看,本文設計的方法對溫室環境下圖像的草莓目標點云分割具有較好的適應性。
2.2.2自然環境下草莓位姿估計實驗
對不同遮擋情況下的草莓目標點云進行位姿估計實驗,實驗結果如圖12所示。

圖12 不同遮擋條件下草莓位姿估計測試結果
根據圖12可知,本文設計的草莓位姿估計方法受非結構性環境干擾因素較小。對于無遮擋草莓,本文方法成功估計出未遮擋的完整草莓位姿;對于從輕微到較嚴重程度的遮擋,基于本文設計的位姿估計方法,也能根據已知點云信息,較合理估計出遮擋草莓的位姿;對于較密集草莓,可知通過完整草莓質心分區這一步驟,可以成功剔除不屬于該草莓的點云區域并檢測出真實草莓的真實位姿。
設機器人采摘末端中心對準草莓上方莖時的空間位置Pr(xr,yr,zr)為真實采摘參考點,機器人采摘末端中心對準草莓最下端時的空間位置Pd(xd,yd,zd),草莓的真實位姿向量Vr=Pd-Pr,歸一化后Vr=Vr/‖Vr‖=(u,v,w),本文方法估計的位姿向量為p=(,,);則位姿估計誤差為
(19)
其中
(20)
(21)
(22)
式中ex——x軸方向估計誤差
ey——y軸方向估計誤差
ez——z軸方向估計誤差
e——位姿估計綜合誤差
圖12中草莓位姿估計值及其誤差如表2所示。

表2 草莓位姿估計值及其誤差
根據圖12和表2中數據可知,本文提出的方法在無遮擋、遮擋以及果實密集情況下均能準確地計算位姿。其中,對于無遮擋草莓和較密集草莓,位姿
估計平均誤差為4.03%;對于不同程度的遮擋草莓,位姿估計平均誤差為9.06%;根據估計位姿獲取采摘點數據,真實采摘點Pr(xr,yr,zr)與估計采摘點Ph(xh,yh,zh)對比如表3所示。

表3 采摘點估計值及其誤差
由表3可知,本文設計的采摘點獲取方法可以較準確地估計草莓采摘點位置。在x方向上的平均誤差為2.57 mm,最大誤差為4.3 mm;在y方向上的平均誤差為1.83 mm,最大誤差為3.1 mm;在z方向上的平均誤差為2.45 mm,最大誤差為4.9 mm;采摘點的x、y、z方向綜合誤差為2.3 mm,符合實際應用場景需求,可以為草莓采摘機器人系統提供指導。
經分析,誤差主要來源于采摘點參考值的測量和相機系統。首先,采摘點參考值由機器人采摘末端中心點確定,關節和采摘末端的結構精度會導致最終測定值存在累計誤差。其次,本文采用的相機獲取深度信息原理為紅外結構光,環境干擾也會對深度信息的精度造成誤差。
在實驗數據的采集地北京市昌平區萬德草莓種植園,將本文方法應用在大族El-fin10機器人平臺上,進行了算法的實際采摘測試。算法運行的硬件平臺為Intel i9-9900K CPU,Nvidia Quadro P4000 GPU,軟件平臺為Win10 環境下的Matlab 2021b,對草莓園9號棚中的500個草莓進行實驗,最終成功識別草莓空間位姿找到草莓目標位置并驅動機械手到達果莖位置完成采摘動作的有463個,采摘成功率為92.6%,單草莓平均計算耗時約為92 ms,在把機械臂的運行速度設置在中速時,單個草莓采摘動作的執行平均耗時約為5.7 s,符合草莓采摘的實際情況和需求。經分析,部分草莓采摘失敗的原因主要有:待采摘草莓與傳感器距離過近,低于傳感器深度最小獲取距離,導致無法成功獲取草莓目標曲面點云;待采摘草莓與傳感器距離過遠,導致點云分辨率下降,曲面與真實情況差異較大,導致計算出的采摘點偏離真實值過多;目標被遮擋的過于嚴重,獲得的點云信息無法擬合出草莓空間位姿,進而無法獲得采摘點。
真實采摘測試場景如圖13所示。如圖13a所示,采摘機器人在觀察視角姿態獲取到圖像數據和深度信息后,通過本文設計的方法對當前視野中的草莓目標進行采摘點估計。由圖13b可知,測試場景包含了未成熟草莓、成熟未遮擋草莓以及成熟遮擋情況的草莓。對于遮擋情況草莓,采摘機器人對準草莓目標并運動到草莓莖處,完成草莓采摘動作。對于無遮擋草莓,算法給出了準確的草莓采摘點空間坐標位置,指引機器人完成了對草莓目標的對準以及采摘動作。機器人運動過程如圖14所示。

圖13 真實場景測試

圖14 機器人運動過程
由實際場景采摘實驗的結果可以看出,本文設計的方法可以準確地估計出成熟草莓的空間位置坐標,且對于遮擋較為嚴重的草莓,也能做出較為合理的采摘點估計,指引采摘機器人完成采摘動作。
使用草莓顏色和飽和度信息對草莓目標進行預定位,并結合卷積神經網絡對草莓目標完成精確區域點云分割;基于草莓目標區域圖像,完成對草莓目標的成熟性判斷和是否遮擋判斷;基于分割得到的目標點云,對草莓進行位姿估計和采摘點估計。實驗結果表明:本文方法的完整草莓位姿估計平均誤差為4.03%、遮擋草莓位姿估計平均誤差為9.06%,采摘定位綜合誤差為2.3 mm,該方法可以估計出不同遮擋條件下的成熟草莓并成功提取草莓采摘點,指引草莓采摘機器人完成草莓采摘動作。