張 勤 龐月生 李 彬
(1.華南理工大學機械與汽車工程學院, 廣州 510641;2.華南理工大學自動化科學與工程學院, 廣州 510641)
機器人采摘可降低種植成本、提高生產(chǎn)率、減輕工人勞動強度、保證果實質(zhì)量,且適時采摘是未來的發(fā)展方向[1-5]。由于番茄串采摘環(huán)境復雜、品種多樣且個體差異較大,開發(fā)通用、穩(wěn)定、精確的番茄串視覺定位方法,引導機械臂以合適姿態(tài)完成采摘,是實現(xiàn)智能采摘的重要環(huán)節(jié),也是實現(xiàn)無損、安全、高效、連續(xù)采摘的重要保證。
動態(tài)變化的非結(jié)構(gòu)化作業(yè)環(huán)境、果梗纖細且姿態(tài)多樣、傳感器精度不足等因素,增加了采摘點定位和果梗姿態(tài)預測的難度,所以現(xiàn)有的智能采摘設備在采摘效率、識別準確率和穩(wěn)定性等方面遠低于人工采摘,無法滿足商業(yè)化應用需求。
近年來,數(shù)字圖像處理和神經(jīng)網(wǎng)絡廣泛應用于采摘點的識別與定位中,加速了采摘機器人的產(chǎn)業(yè)化進程[6-10]。現(xiàn)有的果梗采摘點定位方法主要分為兩類,第1類基于圖像處理技術,根據(jù)果實顏色、形狀或紋理等基本特征定位采摘點。JI等[11]基于顏色特征2R-G-B識別番茄果實與輔助標記,將擬合的果梗曲線與輔助標記邊緣的交點作為采摘點,采摘成功率為88.6%。LUO等[12-13]基于顏色特征分割葡萄串,根據(jù)果梗與果實的約束關系定位采摘點,準確率88.33%,平均耗時0.346 7 s。馮青春等[14]基于黃瓜的形狀特征和HIS空間閾值提取黃瓜輪廓,并從黃瓜輪廓頂部提取采摘點,定位精度達到2 mm。梁喜鳳等[15]基于果梗骨骼線角點定位番茄串采摘點位置信息,成功率為90%。熊俊濤等[16]基于HIS空間對荔枝果實和果梗進行分割,利用Hough直線擬合確定有效的果梗采摘區(qū)域,通過連續(xù)處理多幀圖像定位采摘點,深度誤差小于6 cm。YOSHIDA等[17]利用顏色和點云特征識別番茄串采摘點,單幀圖像耗時1 s,難以滿足實時采摘要求。多特征融合比單特征識別方法魯棒性更強,但兩者都容易受光照變化和障礙物遮擋的影響,對環(huán)境依賴性強、通用性差且檢測性能不穩(wěn)定。此類方法多數(shù)要求果實與果梗的顏色、形態(tài)單一,相對位置固定。
第2類基于神經(jīng)網(wǎng)絡識別果實或果梗,基于顏色或形狀等特征對識別結(jié)果進一步處理定位采摘點,神經(jīng)網(wǎng)絡的應用極大地提升了采摘點識別定位的速度和精度。陳燕等[18]基于改進YOLO v3與雙目立體視覺對荔枝串預定位,處理速度為22 f/s,最大定位絕對誤差為36 mm。YU等[19]提出了R-YOLO用于識別并估計草莓生長姿態(tài),根據(jù)邊界框軸線旋轉(zhuǎn)角度計算采摘點,平均識別率為94.43%,采摘成功率為84.35%。XU等[20]基于改進的Mask R-CNN識別距離相機最近的番茄串作為采摘目標,準確率為93.76%,單幀圖像處理時間為0.04 s。寧政通等[21]基于改進Mask R-CNN與顏色特征分割葡萄果梗并定位采摘點,單幀圖像耗時4.9 s。KALAMPOKAS等[22]基于回歸卷積神經(jīng)網(wǎng)絡識別葡萄串果梗,結(jié)合識別結(jié)果的形狀和邊緣特征定位采摘點,深度定位誤差10 mm,算法速率為8.3 f/s。張勤等[23]基于YOLO v4與果梗顏色特征,融合深度信息分割果梗,番茄串采摘點定位成功率為 93.83%,單幀圖像耗時54 ms。番茄串果梗纖細且顏色與枝葉相似,背景噪聲復雜,受光照變化影響大,難以精確分割;番茄串形態(tài)差異大,果實與果梗之間無固定位置關系,作業(yè)環(huán)境復雜,增加了預測果梗姿態(tài)的難度;采摘過程中植株晃動,經(jīng)濟型深度相機精度不足和深度缺失,難以精確識別定位采摘點;由于果梗姿態(tài)多變,即使成功定位采摘點,也會由于剪刀的剪切姿態(tài)和干涉等問題造成采摘失敗?,F(xiàn)有的研究主要側(cè)重于采摘點的精確定位,忽略了果實的可采摘性和生長姿態(tài)多樣化的問題,造成“看到采不到”的現(xiàn)象,影響了采摘成功率和效率,限制了番茄串采摘機器人在實際中的廣泛應用。
針對上述問題,本文提出基于實例分割的串番茄視覺定位與采摘姿態(tài)估算方法?;赮OLACT實例分割算法[24]的實例特征標準化和掩膜評分機制,輸出番茄串的掩膜和ROI,保證果梗掩膜的連續(xù)性,過濾大量背景噪聲實現(xiàn)果梗粗分割,基于果梗掩膜信息和ROI位置關系匹配可采摘果梗;其次,通過細化算法和膨脹操作對可采摘果梗進行精細分割,提取果梗骨骼線、定位采摘點圖像坐標,降低光照和背景噪聲對分割果梗的影響;基于果梗深度信息填補法與坐標系轉(zhuǎn)換,融合深度信息定位采摘點空間坐標;通過果梗幾何特征,識別果梗關鍵點預測果梗姿態(tài),估算采摘姿態(tài),引導機械臂以合適的姿態(tài)完成采摘。
為解決非結(jié)構(gòu)化種植環(huán)境下,番茄串采摘點識別定位、果梗姿態(tài)預測的問題,提出基于實例分割的串番茄視覺定位與采摘姿態(tài)估算方法,方法流程如圖1所示。
圖1 基于實例分割的番茄串視覺定位與采摘姿態(tài)估算方法Fig.1 Method for visual positioning and picking pose estimation of tomato clusters based on instance segmentation
數(shù)據(jù)采集地點為廣東省某農(nóng)業(yè)技術推廣中心數(shù)字設施館水培區(qū),數(shù)據(jù)集包含4個品種的番茄串圖像,分別為以色列紅、金玲瓏、粵科達202和鴻海HH10,每個品種的圖像分別為1 307、2 942、1 065、1 206幅;上述圖像使用不同設備、在不同時間段、從不同角度和不同光照條件下進行拍攝,相機與番茄串之間的距離為0.4~1.2 m,圖像尺寸均為 1 280像素×720像素;每個品種按20∶3進行劃分,然后匯總為訓練集和測試集。測試集中的果梗數(shù)量為949,可采摘果梗數(shù)量為797,用于測試模型的識別準確率。
使用開源標注工具LabelMe[25]對數(shù)據(jù)集進行標注,共有2個標注類別,其中“stem”為果梗,“tomato”為成熟番茄串,其余部分均視為“背景”。圖2為以色列紅番茄串標注示例,分別使用多邊形和矩形標注果梗和成熟番茄串,有效減少數(shù)據(jù)標注時間。為了提高模型的魯棒性和防止訓練過程中模型過擬合,標注完成后對訓練集進行數(shù)據(jù)集增強,主要操作包括鏡像、旋轉(zhuǎn)、模糊、調(diào)節(jié)亮度和對比度等,增強后訓練集圖像總數(shù)為15 311幅。對4個品種的番茄串圖像數(shù)據(jù)進行訓練,能夠有效增強番茄串和果梗識別定位的魯棒性,滿足該模型對不同番茄品種的適應性。
圖2 數(shù)據(jù)標注示例Fig.2 Example of data annotation
2.1.1基于YOLACT的 ROI識別與果梗粗分割
YOLACT實例分割算法屬于單階段模型,在保持高質(zhì)量分割的同時有效地減少計算成本,具有速度快、精度高的優(yōu)點,能夠快速識別番茄串與果梗ROI,有利于在復雜背景中分割果梗輪廓。采用殘差網(wǎng)絡(Residual network 101, ResNet101)和特征金字塔網(wǎng)絡(Feature pyramid network, FPN)作為特征提取網(wǎng)絡訓練番茄串和果梗的檢測模型,ResNet基于殘差模塊(Residual blocks)允許信息在不同深度之間流動,使得網(wǎng)絡能夠更好地提取圖像特征,有助于提高模型的分割精度,具有更快的模型訓練速度。
如圖3所示,將圖像調(diào)整為550像素×550像素后輸入特征提取網(wǎng)絡,提取番茄串和果梗的重要特征;預測模塊對特征提取網(wǎng)絡輸出的重要特征進行整合與利用,由預測頭分支輸出各類候選框的類別置信度及位置信息、原型掩膜的掩膜系數(shù);原型網(wǎng)絡分支輸出原型掩膜;原型掩膜和相應的掩膜系數(shù)進行組合得到番茄串和果梗的掩膜;后處理模塊通過非極大值抑制、掩膜過濾、裁剪和二值化處理得到最終的掩膜結(jié)果與ROI。
圖3 基于實例分割的番茄串視覺定位方法Fig.3 Method for visual positioning of tomato clusters based on instance segmentation
由于番茄串果梗纖細且種植環(huán)境復雜,為了能夠提取完整的果梗輪廓,在后處理模塊通過降低掩膜精度對果梗進行粗分割,使果梗掩膜覆蓋果梗輪廓,保證果梗的連續(xù)性;后續(xù)通過細化算法與形態(tài)學操作精確提取果梗輪廓,保證采摘點的識別定位精度和果梗姿態(tài)預測的可靠性。將識別結(jié)果存儲于容器vector〈ROI〉Result,ROI包含下列參數(shù):x、y、w、h、confidence、category_id;其中(x,y)為ROI左上角頂點坐標,w和h分別為ROI的寬和高;confidence為預測框置信度;category_id為0時表示果梗ROI,為1時表示番茄串ROI,果梗ROI與果梗掩膜一一對應。
2.1.2基于ROI位置和掩膜信息匹配可采摘果梗
由于識別結(jié)果中番茄串和果梗ROI數(shù)量不同,且位置具有隨機性,需要進行匹配確定可采摘果梗,后續(xù)只處理可采摘果梗從而提高算法效率。主要依據(jù)為:①判斷果梗掩膜是否連續(xù),剔除部分可見區(qū)域較小、不利于提取果梗輪廓的番茄串。②果梗與果實的ROI位置關系。對識別結(jié)果進行分析,假設果梗和番茄串ROI的左上角頂點坐標分別為(xi,yi)、(xj,yj),Result[i]和Result[j]分別表示當前處理的果梗ROI和番茄串ROI(后文不再重述),具體步驟為:
(1)基于輪廓檢測判斷果梗掩模是否連續(xù),若果梗掩膜不連續(xù)則剔除Result[i]。
(2)將Result內(nèi)剩余的ROI按x坐標值由小到大進行排序。
(3)判斷ROI是否有交集:if(Result[i]∩Result[j]≠0 &&yi 在步驟(3)中使果梗ROI下邊框向下偏移0.15hi,番茄串ROI上邊框向上偏移0.15hj,增強該方法對不同果梗長度的適應性。 2.2.1基于細化算法和膨脹操作的果梗精細分割 由于原始果梗掩膜存在番茄果實、植株主干或葉子等背景噪聲,為了精確提取果梗輪廓,提高采摘點識別定位精度與穩(wěn)定性,去除背景噪聲的步驟為: (1)基于ZHANG等[26]快速并行細化算法提取原始果梗骨骼線。 (2)基于果梗ROI長寬比確定ROI中心線Lmid的取值 (1) (3)求取原始果梗掩膜圖在第Lmid行(或列)像素值非零點的總數(shù),即果梗掩膜寬度L(單位:像素),如圖4紅色線段所示。 圖4 果梗掩膜寬度Fig.4 Mask width of stem (4) 對原始果梗骨骼線進行膨脹操作,獲得新的果梗掩膜:膨脹操作內(nèi)核形狀為MORPH_ELLIPS,以果梗掩膜寬度L為參數(shù)調(diào)整內(nèi)核尺寸。 (5)對新果梗掩膜進行細化處理提取果梗骨骼線。 2.2.2基于果梗深度信息填補的采摘點定位 首先計算果梗骨骼線圖第Lmid行(或列)中第1個像素非零的點(xc,yc),設定(xi+xc,yi+yc) 為采摘點圖像坐標(Px,Py),其中xi和yi分別為果梗ROI左上角頂點的坐標值,然后融合配準后的深度圖信息精確提取采摘點的深度Pz。由于深度相機獲取細小物體的深度信息時誤差較大且不穩(wěn)定,導致某些像素點丟失深度,為保證采摘點圖像坐標(Px,Py)深度的可靠性,提出果梗深度信息填補法。設圖像坐標點(u,v)的深度為d(u,v)(單位:mm): (1)新果梗掩膜上所有滿足0 (2) (2)提取點(Px,Py)的原始深度doriginal。 (3)統(tǒng)計果梗掩膜寬度L上所有像素點的深度d(u,v),記所有滿足0 (3) (4)選取最優(yōu)采摘點深度Pz (4) 步驟(3)中通過計算線段的平均深度L作為采摘點的平均深度,即使采摘點原始深度異?;騺G失,可以使用采摘點平均深度daverage_2填補原始深度doriginal,以保證采摘點的定位精度和可靠性。 由于番茄串果梗姿態(tài)各異,機械臂以固定姿態(tài)采摘時存在采摘效率低、植株或果實損壞等問題。為了避免采摘過程中末端執(zhí)行器與果實或植株主干發(fā)生干涉,導致植株晃動劇烈影響識別定位和采摘,需要在實施采摘任務前對果梗生長姿態(tài)進行預測,從而引導機械臂以適合的姿態(tài)靠近果梗,提高采摘成功率和效率,保證果實質(zhì)量。 如圖5所示,以果梗骨骼線圖上的采摘點(綠色圓點)圖像坐標(xc,yc)為中心,分別向骨骼線兩端各拓展10個像素值非0點,如圖5中虛線框所示。記拓展后所得的上端點和下端點的圖像坐標分別為(x1,y1)和(x2,y2),以兩端點構(gòu)成的直線斜率近似代替采摘點處的果梗切線斜率,果梗的傾斜角θ計算式為 圖5 果梗骨骼線與采摘點處切線Fig.5 Skeleton of stem and tangent line at picking point (5) 根據(jù)果梗的傾斜角θ預測垂直生長的果梗,經(jīng)過現(xiàn)場試驗表明,當果梗傾斜角滿足θ∈([4π/9, π/2]∪[-π/2,-4π/9]),可判斷果梗為垂直生長,否則按如下方法繼續(xù)預測果梗姿態(tài):首先基于八鄰域端點檢測算法快速提取果梗的關鍵點,即果梗骨骼線的上端點和下端點圖像坐標(xu,yu)和(xd,yd),其中yu 圖6 番茄串采摘機器人結(jié)構(gòu)Fig.6 Structure of tomato cluster harvesting robot1.移動平臺 2.收納筐 3.末端執(zhí)行器 4.機械臂 5.深度相機 6.機械臂控制器 γ=atan2(yd1-yu1,xd1-xu1) (γ∈(-π,π]) (6) 通過γ的取值預測果梗相對于植株主干的生長姿態(tài)。 2.4.1采摘姿態(tài)估算 由于番茄串果梗木質(zhì)化使其含有大量不易剪斷的纖維,若果梗未被剪斷,機械臂拖拽果梗會損傷番茄植株;番茄串生長姿態(tài)各異,如果末端執(zhí)行器以固定角度進行剪切,靠近目標時容易與果梗或果實發(fā)生干涉,同時干擾了視野中已識別的可采摘目標,導致植株晃動,嚴重影響番茄串的識別定位和采摘。因此選擇適合采摘目標生長特點的剪切姿態(tài)是成功采摘的關鍵。 如圖5所示,通過采摘點處的近似切線計算果梗的剪切角β(逆時針為正方向,單位:rad);機械臂初始狀態(tài)末端執(zhí)行器剪切平面與地面平行,剪切角β=0,如圖5中藍色虛線所示。由于受果實重力的影響,大部分果梗的生長姿態(tài)為斜向下彎曲或垂直的狀態(tài),可以通過果梗傾斜角θ判斷果梗被果實壓彎的方向,剪切角計算式為 (7) 式中θs為變量(單位:rad),用于調(diào)節(jié)末端執(zhí)行器的剪切平面(圖5藍色線段)與果梗切線(圖5黃色線段)的夾角,滿足不同的農(nóng)藝需求和應用場景。但對于不同品種的番茄串,由于果梗直徑、硬度、強度、果實重量不同等因素,有部分果梗為斜向上生長,如按式(7)計算剪切角,此時剪切平面與果梗切線平行,無法成功剪切果梗,或剪切后無法夾持番茄串,導致采摘失敗。此時需要引入果梗和番茄串ROI的左上角頂點坐標 (xi,yi)、(xj,yj),以及ROI對應的寬度wi、wj,判斷番茄串和果梗ROI的相對位置,剪切角計算式為: 當θ≥0時 (8) 當θ<0時 (9) 為了保證夾剪一體的末端執(zhí)行器夾持穩(wěn)定性,充分發(fā)揮末端執(zhí)行器的容錯性,選擇切割強度最大的剪切姿態(tài),如圖5所示,即末端執(zhí)行器的剪切平面與果梗切線垂直,此時θs=π/2。 2.4.2采摘機器人系統(tǒng) 番茄串采摘機器人主要由工業(yè)控制計算機、可升降移動平臺、L515型深度相機(Intel RealSense)、Aubo-i5機械臂、末端執(zhí)行器和收納筐組成,如圖6所示。 2個深度相機對稱安裝于機械臂坐標系X軸線上,分別用于識別軌道兩側(cè)的番茄串;機械臂的工作半徑為886.5 mm,末端執(zhí)行器為夾持和剪切一體設計,最大開口寬度為23 mm,可剪切直徑5 mm以內(nèi)的果梗。機器人通過視覺識別系統(tǒng)實時獲取圖像,輸出采摘點位置和果梗姿態(tài)信息,控制各個組成模塊的協(xié)調(diào)運行,機械臂通過果梗姿態(tài)自主調(diào)節(jié)剪切姿態(tài)完成采摘;移動平臺通過識別磁條與RFID實現(xiàn)自動導航與上下軌道,能夠自動切換采摘方向并調(diào)節(jié)高度,實現(xiàn)對雙側(cè)番茄串的智能化采摘。 2.4.3手眼坐標轉(zhuǎn)換 (10) 手眼標定測試中,重復標定誤差控制在1 mm以內(nèi),為機械臂提供準確的采摘點位置信息。采摘過程中,機械臂根據(jù)果梗姿態(tài)預測結(jié)果γ和果梗傾斜角θ,即根據(jù)果梗生長方向,選擇合適的姿態(tài)接近果梗,避免與植株或果實發(fā)生干涉;將采摘任務進行分解并分段規(guī)劃采摘路徑,同時利用剪切角β調(diào)整末端執(zhí)行器的剪切姿態(tài),引導機械臂以合適的姿態(tài)完成采摘[28]。 Windows 10(64位)系統(tǒng)下使用Anaconda3創(chuàng)建訓練環(huán)境,Python版本為3.7.13,配備AMD Ryzen 5 1400處理器、16 GB運行內(nèi)存、GPU為GeForce GTX 1080Ti,使用構(gòu)建的數(shù)據(jù)集訓練模型;訓練結(jié)束后將模型文件轉(zhuǎn)換成深度學習模型開放格式(Open neural network exchange, ONNX),基于C++部署該模型至采摘機器人系統(tǒng)并測試,開發(fā)環(huán)境為AMD Ryzen 5 1400處理器、8 GB運行內(nèi)存、GeForce RTX2060 GPU、Qt Creator 4.11.0、VS2017、CUDA 10.2,Opencv-Contrib-4.5.4。 3.2.1模型識別準確率 為了測試模型對番茄串和果梗ROI的識別準確率,以召回率、預測精度作為主要評價指標。為了驗證模型的分割精度,以平均交并比(Mean intersection over union, mIOU)作為評價指標。試驗過程中以重疊系數(shù)[29]評估模型的ROI識別準確率,重疊系數(shù)表示預測框與實際目標框之間的重疊比例,計算式為 (11) 式中AT——實際目標框區(qū)域 AD——預測框區(qū)域 在試驗中設定重疊系數(shù)大于0.5時,目標被正確識別。對第1節(jié)構(gòu)建的測試集進行識別與統(tǒng)計,識別結(jié)果如表1所示,得到該模型對番茄串的預測精度和召回率分別為97.67%和98.89%,對果梗的預測精度和召回率分別為98.83%和98.00%;得到平均交并比為69.04%。圖像分辨率為1 280像素×720像素時,算法處理速率達到21 f/s。 表1 模型識別結(jié)果Tab.1 Model recognition results 3.2.2采摘點識別成功率 使用同一模型對不同品種、不同姿態(tài)的番茄串進行采摘點識別定位,如圖7所示。圖7中紅色箭頭表示采摘點搜索方向,綠色圓點表示采摘點,若采摘點落入果梗輪廓內(nèi)則采摘點識別定位成功。測試集中可采摘果梗實例測試結(jié)果如表2所示,以色列紅、金玲瓏、粵科達202和鴻海HH10番茄串的采摘點識別成功率分別為98.20%、98.94%、97.25%和97.89%,不同品種的番茄串采摘點平均識別成功率為98.07%。試驗結(jié)果表明,提出方法對不同品種番茄串采摘點的識別定位成功率和速度能夠滿足采摘需求。 表2 測試集采摘點識別成功率Tab.2 Picking point recognition accuracy of test set 3.2.3采摘點圖像坐標定位精度 試驗地點位于廣東省某農(nóng)業(yè)技術推廣中心數(shù)字設施館水培區(qū)。為了確定采摘點的定位精度,從粵科達202品種中選取20串可采摘番茄,其中包含不同光照條件和不同姿態(tài)的果梗實例。機器人運動至指定位置后,對每串番茄連續(xù)拍攝6幀圖像(1 280像素×720像素)并識別定位采摘點,同時保存拍攝的彩色圖與深度圖,使用文獻[23]方法進行采摘點定位精度測試。 設最佳采摘點圖像坐標為果梗ROI第Lmid行(或列)與果梗中軸線的交點,記為(Ox,Oy)。算法識別的采摘點與最佳采摘點之間的誤差Δe計算式為 (12) 其中 ex=|Ox-Px| (13) ey=|Oy-Py| (14) 式中ex——采摘點在行方向上的偏差 ey——采摘點在列方向上的偏差 按照2.2.2節(jié)的方法提取采摘點的原始深度doriginal與平均深度daverage_2,當兩者均為非零值時,采摘點平均深度與原始深度的誤差ε計算式為 ε=doriginal-daverage_2 (15) 分別記錄每串番茄的6次采摘點識別定位結(jié)果,如圖8所示,其中圖8a記錄了采摘點處平均深度誤差的平均值和標準差,可知采摘點處平均深度誤差ε為±6 mm,證明當采摘點原始深度異?;騺G失時,可以采用平均深度代替原始深度。由于文獻[23]方法的番茄串檢測模型和數(shù)據(jù)集差異,有4串番茄未能成功識別,因此圖8b僅統(tǒng)計了16組數(shù)據(jù)。由圖8可知,提出方法和文獻[23]方法的采摘點圖像坐標最大定位誤差分別為3像素和10像素,平均定位誤差分別為0.84像素和3.62像素,其中輸入圖像中果梗直徑為7~15像素,與文獻[23]方法相比,采摘點平均定位精度提高76.80個百分點。此外,提出的方法對同一幀圖像連續(xù)進行10次采摘點識別定位,每次輸出的采摘點坐標(Px,Py,Pz)均為定值,表明該方法的定位精度和穩(wěn)定性能夠滿足采摘需求。 圖8 采摘點定位誤差分布Fig.8 Picking point error 3.2.4番茄串視覺定位與果梗分割性能對比試驗 為驗證提出方法的有效性,將該方法與文獻[23]提出的方法進行對比試驗,圖9為兩種方法對不同形態(tài)的番茄串處理結(jié)果,藍色圓點為文獻[23]方法識別結(jié)果,綠色圓點為提出方法的識別結(jié)果。當番茄串背景環(huán)境復雜或光照不穩(wěn)定時,文獻[23]方法通過深度分割算法,隨機選取聚類中心進行K-means聚類分割果梗,魯棒性較差,難以精確、穩(wěn)定地定位采摘點圖像坐標和深度。如圖10所示,文獻[23]方法在相同條件下對試驗2中的番茄串重復識別,分割果梗時存在較多背景噪聲且聚類結(jié)果不穩(wěn)定,導致采摘點定位誤差較大。 圖10 文獻[23]方法重復識別試驗Fig.10 Repeated recognition of reference[23] method 試驗結(jié)果表明,在相同場景下提出的方法具有更高的準確率和穩(wěn)定性,能夠準確分割果梗并提取果梗骨骼線,有利于精確定位采摘點和預測果梗姿態(tài)。 3.2.5采摘方法對比試驗與誤差分析 以往的采摘方法,基于番茄串和果梗ROI位置關系,將番茄串生長姿態(tài)分為向左、向右和垂直生長3個類別,經(jīng)常出現(xiàn)果梗姿態(tài)預測錯誤的情況,且末端執(zhí)行器只有3個對應的采摘姿態(tài),容易與果實、果?;蛑仓曛鞲砂l(fā)生干涉,存在“看到采不到”的現(xiàn)象(方法1)。提出的采摘方法不局限于3種采摘姿態(tài),機械臂通過估算的果梗姿態(tài)自主調(diào)節(jié)剪切姿態(tài),以合適的姿態(tài)靠近果梗,避免發(fā)生干涉(方法2)。 基于同一個番茄串檢測模型,使用方法1和方法2,對不同果梗姿態(tài)的番茄串進行采摘試驗,試驗對象為1壟粵科達202番茄和1壟鴻海HH10番茄。采摘機器人在軌道上運行,通過視覺識別系統(tǒng)實時控制機器人移動,識別到可采摘目標后機器人觸發(fā)制動指令,重新獲取最新一幀圖像并識別定位采摘點;機器人根據(jù)采摘點與果梗姿態(tài)信息調(diào)整采摘姿態(tài),規(guī)劃采摘路徑,采摘完成后或連續(xù)3次采摘失敗,機器人繼續(xù)向前運動,重復上述步驟實現(xiàn)連續(xù)采摘,使用方法2采摘粵科達202番茄串過程如圖11所示。 圖11 番茄串采摘過程Fig.11 Action sequence of tomato cluster harvesting 兩種方法的采摘試驗結(jié)果如表3所示,方法1的采摘成功率為82.98%,平均采摘效率(成功采摘的番茄串總數(shù)量與采摘動作總次數(shù)的比值)為55.71%。方法2的采摘成功率為98.15%,平均采摘效率為86.89%;相比于方法1,采摘成功率提高15.17個百分點,平均采摘效率提高31.18個百分點。采摘試驗過程中,采摘失敗通常會導致番茄植株劇烈晃動,嚴重影響后續(xù)的番茄串識別定位和采摘。圖12為方法2采摘失敗案例,試驗過程中為了限制機械臂的運動范圍,對獲取的圖像進行裁剪。由于該番茄串處于圖像的頂部被裁剪區(qū)域,因此番茄串在距離相機較遠時才進入識別范圍,此時部分果梗被番茄植株主干遮擋,且相機成像平面與果梗平面不平行時,相機深度缺失、誤差較大,使采摘點定位存在較大偏差,導致采摘失敗。 表3 采摘試驗結(jié)果Tab.3 Results of picking test 圖13為不同果梗姿態(tài)的剪切角,以末端執(zhí)行器剪切刀刃中點為參考點,如圖13a黃色標記所示,設果梗采摘點與參考點的相對距離為深度誤差Δd;試驗過程中選擇切割強度最大的剪切姿態(tài),即末端執(zhí)行器的剪切平面與果梗切線垂直,如圖13b所示,設末端執(zhí)行器剪切平面與果梗切線正方向(指向植株主干的方向為正方向)的夾角為α;若剪切平面垂直于果梗切線,即α=90°,此時剪切角誤差為0°,剪切角誤差評價指標Δα計算式為 圖13 不同果梗姿態(tài)的剪切角Fig.13 Cutting angles of different stems Δα=α-90° (16) 對方法2中成功采摘的番茄串進行深度誤差與剪切角誤差分析,誤差分布結(jié)果如圖14、15所示,深度誤差Δd為±4 mm,剪切角誤差Δα為±6°。誤差來源主要包括深度相機測量誤差、手眼標定誤差、采摘點圖像坐標定位誤差、移動平臺振動、試驗場地排氣扇和采摘過程使植株產(chǎn)生晃動等。試驗結(jié)果表明,使用方法2進行采摘試驗,即使采摘點識別定位和果梗姿態(tài)預測存在一定誤差,高容錯率的末端執(zhí)行器依然能夠成功采摘番茄串。 圖14 采摘點深度誤差分布Fig.14 Distribution of picking point depth value error 圖15 剪切角誤差分布Fig.15 Distribution of shear angle error 考慮番茄串果實生長姿態(tài)的多樣性和可采摘性,基于實例分割提出番茄串的視覺定位與采摘姿態(tài)估算方法。通過果梗的粗分割、精細分割以及深度信息的填補、融合,精確定位采摘點;基于果梗關鍵點預測果梗姿態(tài),并根據(jù)果梗姿態(tài)確定適合采摘的末端執(zhí)行器采摘姿態(tài),有效提高了采摘成功率。研究和試驗結(jié)果表明,該方法對4個品種的番茄串采摘點平均識別成功率為98.07%,采摘點圖像坐標最大定位誤差為3像素,深度誤差為±4 mm,相對于果梗的剪切角誤差為±6°,成功識別后采摘成功率為98.15%,圖像分辨率為1 280像素×720像素時算法處理速率達到21 f/s。與現(xiàn)有的同類方法相比,采摘點圖像坐標定位精度提高76.80個百分點,采摘成功率提高15.17個百分點,采摘效率提高31.18個百分點。該研究以番茄串采摘為例提出的視覺定位與姿態(tài)預測方法,同樣適用于其他串收果實的采摘。2.2 采摘點定位方法
2.3 果梗姿態(tài)預測方法
2.4 采摘姿態(tài)與采摘方法
3 試驗
3.1 模型訓練與部署
3.2 番茄串視覺定位方法性能試驗
4 結(jié)束語