摘要:為實(shí)現(xiàn)休眠期棗樹選擇性修剪,針對自動化剪枝過程中棗樹枝干識別與參數(shù)提取困難的問題,提出一種基于實(shí)例分割神經(jīng)網(wǎng)絡(luò)的枝干識別與參數(shù)自動提取的方法。首先,通過前期搭建的視覺系統(tǒng)獲取2個(gè)角度下的點(diǎn)云,并基于骨架點(diǎn)重建完整的棗樹點(diǎn)云,利用CloudCompare V 2.11軟件對棗樹三維點(diǎn)云進(jìn)行手工標(biāo)注,構(gòu)建帶語義信息的棗樹點(diǎn)云數(shù)據(jù)集,將標(biāo)注完的376棵棗樹,按照8∶2的比例分為訓(xùn)練集和驗(yàn)證集;其次,結(jié)合JSNet實(shí)例分割網(wǎng)絡(luò)對棗樹點(diǎn)云進(jìn)行分割,同時(shí)對比分析不同自然環(huán)境對實(shí)例分割精度的影響;最后,提出棗樹修剪枝直徑和長度參數(shù)自動提取的方法。試驗(yàn)結(jié)果表明:休眠期棗樹主干的分割精度為96%,而修剪枝的分割精度為77%,并且不同自然環(huán)境對分割精度影響較小。棗樹修剪枝的直徑擬合值與實(shí)際測量值誤差范圍在2 mm以內(nèi),且其長度擬合值與實(shí)際值的誤差范圍在1 cm以內(nèi),為后續(xù)準(zhǔn)確確定棗樹剪枝點(diǎn)的位置提供數(shù)據(jù)依據(jù)。
關(guān)鍵詞:休眠期棗樹;實(shí)例分割;深度學(xué)習(xí);三維點(diǎn)云;修剪枝
中圖分類號:S225.93; TP391" " " 文獻(xiàn)標(biāo)識碼:A" " " 文章編號:2095?5553 (2024) 10?0054?07
Extraction method of pruning parameters of dormant jujube tree
based on instance segmentation
Ma Baojian1, Chen Bangbang1, Li Xuezhi1, Jiang Huanyu2
(1. College of Mechanical and Electrical Engineering, Xinjiang Institute of Technology, Aksu, 843100, China;
2. College of Biosystems Engineering and Food Science, Zhejiang University, Hangzhou, 310058, China)
Abstract: In order to achieve selective pruning of dormant jujube tree, the identification and parameter extraction method of pruning branches of dormant jujube tree was proposed based on instance segmentation neural network, in view of the difficulty of extracting pruning parameters in automatic pruning process. Firstly, point cloud from two angles were obtained through the vision system built earlier, and a complete point cloud of date tree was reconstructed based on skeleton points. The three?dimensional point cloud of date tree was manually labeled by CloudCompare V 2.11 software, and dataset of date tree with semantic information was constructed. The labeled 376 trees were divided into training and validation dataset according to the ratio of 8∶2, and then instance segmentation of dormant jujube tree was carried out by JSNet neural network. The influence of different natural environment for the segmentation accuracy was analyzed. Secondly, the fitting calculation method for diameter and length parameters of pruning branches was proposed. The experimental results showed that the segmentation accuracy of jujube tree trunk was 96%, and that of pruning branches was 77%, which was less affected by the natural environment. The relative error between the diameter fitting result and the actual value was less than 2 mm, and the error between the length value and actual measurement value was less than 1 cm, which provided a basis for the accurate determination of the location of pruning point of jujube tree.
Keywords: dormant jujube tree; instance segmentation; deep learning; three?dimensional point cloud; pruning branches
0 引言
冬季果樹修剪通過去除多余的樹枝控制樹形結(jié)構(gòu)以達(dá)到增加后期產(chǎn)量的目的[1]。傳統(tǒng)的修剪是以人工修剪為主,但是人工剪枝過程靠自身的經(jīng)驗(yàn),隨意性較強(qiáng),并且用工成本高,勞動強(qiáng)度大,修剪效率低。而機(jī)械化的整株幾何修剪主要針對帶葉果樹的粗剪,由于錯(cuò)剪、漏剪比較嚴(yán)重,不適合休眠期果樹的精確剪枝[2]。而機(jī)器人修剪是一種選擇性修剪的方式,通過視覺定位剪枝點(diǎn)引導(dǎo)機(jī)械臂到達(dá)目標(biāo)位置完成修剪作業(yè),可以提高剪枝效率并且避免大量有用枝條被誤剪,從而提高果樹產(chǎn)量[3]。對于修剪機(jī)器人重要的一步是對于果樹修剪枝的識別與參數(shù)自動提取,為后續(xù)剪枝點(diǎn)的定位提供依據(jù)。
在非結(jié)構(gòu)化的果園環(huán)境中,準(zhǔn)確識別出果樹的枝干信息比較困難,利用傳統(tǒng)的算法對復(fù)雜背景下果樹枝干進(jìn)行識別,提出的算法通用性不強(qiáng)且處理過程比較繁瑣[4]。近幾年,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,許多學(xué)者利用該技術(shù)對果樹枝干進(jìn)行識別。馬保建等[5]利用語義分割網(wǎng)絡(luò)DeepLab V3+對去除背景的棗樹圖像進(jìn)行分割,得到棗樹的主干和修剪枝的像素,然后提取其修剪枝的骨架,為后續(xù)剪枝點(diǎn)的準(zhǔn)確定位提供依據(jù)。Fourie等[6]利用圖卷積神經(jīng)網(wǎng)絡(luò)對空間結(jié)構(gòu)一致的無葉葡萄樹進(jìn)行枝干識別,確定需要修剪的葡萄樹枝。Fernandes等[7]基于不同層數(shù)(50、101)的ResNet特征提取網(wǎng)絡(luò)的Mask R-CNN深度學(xué)習(xí)模型對于采集的休眠期葡萄樹圖像進(jìn)行樹干和樹枝(藤條)的分割,結(jié)合圖方法確定主干和樹枝的連接點(diǎn),利用連接點(diǎn)和樹枝上的節(jié)點(diǎn)確定潛在的修剪位置。同樣地,You等[8]利用Mask R-CNN模型對休眠期的U型櫻桃樹枝干圖像進(jìn)行實(shí)例分割,依據(jù)側(cè)枝與樹干間的連接點(diǎn)估計(jì)剪枝所需的固定偏移量,在田間試驗(yàn)驗(yàn)證了可靠性,最終實(shí)現(xiàn)了58%的修剪成功率。雖然基于深度學(xué)習(xí)的方法對果樹的枝干分割結(jié)果較好,但是缺少枝干的空間位置信息,后續(xù)需要進(jìn)一步結(jié)合深度信息確定剪枝點(diǎn)位置。
從點(diǎn)云中分割出果樹枝干能夠得到其空間信息,但大部分研究集中在利用傳統(tǒng)算法進(jìn)行果樹主干的識別,對于自動剪枝所需的修剪枝識別方法研究較少[9]。例如,Karkee等[10]對獲取的20幅單主干休眠期蘋果樹點(diǎn)云利用ICP(Iterative Closest Point,ICP)算法重建一棵完整的蘋果樹,然后利用鄰域規(guī)則分析其骨架,最后識別出主干和修剪枝,其中修剪枝的識別精度達(dá)到了77%。Elfiky等[11]獲取單主干蘋果樹前后2幅點(diǎn)云并利用幾何特征進(jìn)行配準(zhǔn)得到完整的蘋果樹,利用RANSAC算法對主干進(jìn)行擬合,并結(jié)合聚類算法識別出修剪枝,蘋果樹的主要修剪枝識別準(zhǔn)確率為96%。You等[12]利用圖方法分析U型櫻桃樹的三維點(diǎn)云數(shù)據(jù),將其分為主干、支撐桿、頂枝和側(cè)枝4類,然后對29棵櫻桃樹的骨架進(jìn)行分析,結(jié)果表明平均分類精度為70%。Fu等[13]對重建的休眠期棗樹點(diǎn)云進(jìn)行骨架提取,結(jié)合圖算法識別主干和樹枝,在此基礎(chǔ)上粗略確定剪枝位置。以上對于果樹修剪枝識別的研究采用的是傳統(tǒng)的算法或者特定的規(guī)則,不僅通用性不強(qiáng),而且設(shè)計(jì)的算法復(fù)雜度較高。隨著深度學(xué)習(xí)在三維點(diǎn)云領(lǐng)域已經(jīng)取得了較大的進(jìn)展,開始有相關(guān)學(xué)者利用深度學(xué)習(xí)方法對果樹修剪枝點(diǎn)云進(jìn)行識別,但是相關(guān)的文獻(xiàn)較少。Ma等[14]對重建的休眠期棗樹點(diǎn)云利用SPGNet神經(jīng)網(wǎng)絡(luò)識別出修剪枝,并利用聚類算法提取出單個(gè)修剪枝,而對于修剪枝參數(shù)的自動提取方法有待進(jìn)一步研究。
目前,對休眠期棗樹枝干點(diǎn)云參數(shù)自動提取主要存在的問題:(1)棗樹枝干的空間分布復(fù)雜且有部分遮擋;(2)自然條件下棗樹修剪枝識別困難;(3)棗樹點(diǎn)云不易標(biāo)注且沒有公開的數(shù)據(jù)集。針對以上問題,構(gòu)建帶語義信息的休眠期棗樹三維點(diǎn)云,結(jié)合點(diǎn)云深度實(shí)例分割網(wǎng)絡(luò)對棗樹枝干進(jìn)行實(shí)例分割,并探究不同光照情況對枝干分割準(zhǔn)確率的影響。在識別出單個(gè)棗樹修剪枝的基礎(chǔ)上,提出修剪枝點(diǎn)云直徑和長度參數(shù)的提取方法,為后續(xù)棗樹剪枝點(diǎn)的準(zhǔn)確定位提供依據(jù)。
1 材料與方法
1.1 修剪枝參數(shù)提取過程
休眠期棗樹修剪枝點(diǎn)云參數(shù)自動提取的過程包括棗樹點(diǎn)云的獲取與三維重建、點(diǎn)云數(shù)據(jù)預(yù)處理與歸一化、點(diǎn)云數(shù)據(jù)標(biāo)注、棗樹枝干點(diǎn)云的實(shí)例分割和修剪枝參數(shù)提取五個(gè)部分(圖1)。
本文的試驗(yàn)場地在浙江義烏星凱家庭農(nóng)場的棗園,棗樹樹齡為5年,為便于后期管理,棗樹定植為開心形結(jié)構(gòu)。首先在3種不同光照環(huán)境下,通過前期搭建的視覺系統(tǒng)獲取2個(gè)角度下的點(diǎn)云,并基于骨架點(diǎn)重建完整的棗樹點(diǎn)云。在晴天時(shí),數(shù)據(jù)采集時(shí)間為8:30—11:30和14:00—17:00,夜間采集時(shí)間為19:00—21:30,采集了752幅棗樹點(diǎn)云(每棵棗樹2幅點(diǎn)云)。由于采集的點(diǎn)云數(shù)據(jù)存在大量的噪聲需進(jìn)行降噪處理,然后重建其完整三維彩色點(diǎn)云,總共重建得到376棵棗樹,為了后續(xù)數(shù)據(jù)的處理,對點(diǎn)云進(jìn)行下采樣和歸一化。其次利用CloudCompare V 2.11軟件對棗樹枝干點(diǎn)云進(jìn)行手工標(biāo)注,確保每個(gè)點(diǎn)都有屬于自己的語義信息,然后利用以深度學(xué)習(xí)框架TensorFlow為基礎(chǔ)的深度學(xué)習(xí)網(wǎng)絡(luò)對棗樹枝干進(jìn)行實(shí)例分割。最后,對修剪枝點(diǎn)云進(jìn)行參數(shù)(長度和直徑)自動提取。
1.2 棗樹點(diǎn)云標(biāo)注
通過對棗樹點(diǎn)云下采樣、歸一化預(yù)處理過程之后,對單棵棗樹點(diǎn)云進(jìn)行人工標(biāo)注。目前主流的點(diǎn)云標(biāo)注工具主要是針對自動駕駛領(lǐng)域點(diǎn)云數(shù)據(jù)進(jìn)行標(biāo)注,而且安裝過程比較復(fù)雜,需要很多依賴庫。本文利用開源且安裝方便的CloudCompare V2.11軟件對棗樹點(diǎn)云進(jìn)行標(biāo)注(圖2)。
如圖2(a)所示,具體流程如下:(1)激活棗樹點(diǎn)云,點(diǎn)擊Edit工具至Segment選項(xiàng),選擇棗樹的修剪枝或主干并保存;(2)選擇手動分割完成的修剪枝,通過Edit到Scalar fields,在其中的選項(xiàng)卡中選擇Add constant SF輸入其標(biāo)簽符號(label),定義修剪枝的label為1,點(diǎn)云的數(shù)據(jù)為([x,y,z,r,g,b,1]),如圖2(b)所示;同樣的定義主干的label為2,點(diǎn)云的數(shù)據(jù)為([x,y,z,r,g,b,2]),這樣修剪枝和主干的一次標(biāo)注過程就完成了,然后對剩余棗樹的修剪枝和主干依次標(biāo)注,直至所有數(shù)據(jù)都有屬于自己的標(biāo)簽;(3)對于標(biāo)注完的所有帶標(biāo)簽的單個(gè)數(shù)據(jù),需要最后合并成為一個(gè)整體的棗樹點(diǎn)云數(shù)據(jù),通過選擇全部人工分割好的修剪枝和主干,選擇Merge Multiple clouds功能進(jìn)行合并操作,同時(shí)保存數(shù)據(jù)類型為ply格式,并獲取對應(yīng)的三維點(diǎn)云掩膜,圖2(b)中綠色標(biāo)簽為主干、紅色標(biāo)簽為修剪枝。將標(biāo)注完的376棵棗樹,按照8∶2的比例分為訓(xùn)練集和驗(yàn)證集(隨機(jī)選擇300棵棗樹點(diǎn)云用于模型訓(xùn)練,76棵棗樹用于驗(yàn)證測試),用于模型有監(jiān)督的訓(xùn)練。
1.3 點(diǎn)云實(shí)例分割模型
JSNet深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)[15]是一個(gè)實(shí)例和語義分割結(jié)合的直接用于處理無序三維點(diǎn)云的模型,其包括4個(gè)主要模塊:編碼器模塊、兩個(gè)平行的解碼器模塊結(jié)構(gòu)(一個(gè)是提取每個(gè)點(diǎn)的語義信息用于語義分割任務(wù),另一個(gè)是用于實(shí)例分割任務(wù))、特征融合模塊(Point Cloud Feature Fusion,PCFF)和聯(lián)合分割模塊(Joint Instance and Semantic Segmentation,JISS)。為了兼顧點(diǎn)云細(xì)節(jié)特征更好地提取以及減小計(jì)算機(jī)GPU資源消耗,在編碼器模塊中,利用單個(gè)PointNet++網(wǎng)絡(luò)層[16]和3個(gè)PointConv網(wǎng)絡(luò)層[17]的融合網(wǎng)絡(luò)對棗樹點(diǎn)云進(jìn)行特征提取。同樣地,解碼器模塊由3個(gè)PointConv網(wǎng)絡(luò)層和單個(gè)PointNet++網(wǎng)絡(luò)層構(gòu)成。PCFF模塊采用上采樣方式融合解碼器模塊中的最后3個(gè)層([Na×128],[Nb×128]和[Nc×256],其中[Na]、[Nb]和[Nc]分別代表不同的點(diǎn)云數(shù)量,而128和256表示點(diǎn)云的特征數(shù)量)的特征,并輸出尺寸大小為[Na×128]的融合特征。JISS模塊對提取的語義特征和實(shí)例特征進(jìn)一步的相互融合,以優(yōu)化語義和實(shí)例分割的結(jié)果。JISS模塊通過1維卷積將語義特征矩陣轉(zhuǎn)化到實(shí)例特征空間,并與實(shí)例分割的[Na×128]特征進(jìn)行融合,然后經(jīng)Mean平均值函數(shù)和Sigmoid激活函數(shù)操作以后得到[Na×256]特征,然后經(jīng)過2次1維卷積操作輸出結(jié)果。JSNet網(wǎng)絡(luò)輸入的點(diǎn)云尺寸大小為[Na×9]的數(shù)據(jù),經(jīng)過編碼器之后得到數(shù)量和特征大小為[Ne×512]數(shù)據(jù)。利用平行結(jié)構(gòu)的解碼器得到尺寸大小為[Na×128]的點(diǎn)云,并采用PCFF模塊融合最后3個(gè)層的特征信息,本文只利用了網(wǎng)絡(luò)模型的實(shí)例分割模塊,經(jīng)過JISS模塊進(jìn)一步融合兩個(gè)平行模塊的特征得到點(diǎn)云數(shù)量與特征量大小為[Na×K]的特征數(shù)據(jù)(K表示特征量大小),最后采用Mean?shift算法[18]對融合特征進(jìn)行聚類得到棗樹修剪枝點(diǎn)云的實(shí)例分割結(jié)果(圖3)。具體的點(diǎn)云聚類過程:(1)隨機(jī)選擇點(diǎn)云中的一個(gè)點(diǎn)作為中心點(diǎn),查尋距離中心點(diǎn)一定閾值范圍內(nèi)的所有點(diǎn)的集合;(2)計(jì)算中心點(diǎn)到閾值內(nèi)點(diǎn)的所有向量并相加得到一個(gè)向量值,中心點(diǎn)沿著該向量值進(jìn)行移動,得到新的中心點(diǎn);(3)迭代以上步驟,使得向量值很小直到收斂,把迭代過程中遇到的點(diǎn)云歸為一個(gè)簇也就是一類點(diǎn)云,如果在迭代過程中當(dāng)前簇和已經(jīng)存在的簇的中心距離小于規(guī)定閾值,就把兩個(gè)簇合并為一個(gè),也就是歸為一類;(4)重復(fù)以上步驟直到所有修剪枝點(diǎn)云都被遍歷標(biāo)記。
1.4 網(wǎng)絡(luò)訓(xùn)練與測試
JSNet網(wǎng)絡(luò)使用了深度學(xué)習(xí)Tensorflow框架,直接將棗樹點(diǎn)云送入網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。在訓(xùn)練過程中,使用ADAM優(yōu)化器和隨機(jī)梯度下降(SGD)來優(yōu)化隨時(shí)間變化的學(xué)習(xí)速率。在模型訓(xùn)練中,權(quán)重衰減為0.000 1,動量衰減設(shè)置為0.9。利用SGD方法更新神經(jīng)網(wǎng)絡(luò)各層的權(quán)重值。經(jīng)過多次網(wǎng)絡(luò)的訓(xùn)練試驗(yàn),確定JSNet網(wǎng)絡(luò)訓(xùn)練的超參數(shù),如表1所示。
本研究所有的試驗(yàn)都在Intel i7-6700 CPU以及NVIDIA 1080 Ti GPU的Ubuntu 16.04操作系統(tǒng)上進(jìn)行。在網(wǎng)絡(luò)測試階段,步長設(shè)置為1,且Mean?shift算法中的偏移閾值設(shè)置為0.6,對棗樹修剪枝點(diǎn)云進(jìn)行聚類,最終實(shí)現(xiàn)棗樹實(shí)例分割結(jié)果。
1.5 修剪枝參數(shù)提取
在分割出棗樹修剪枝之后,自動提取修剪枝的直徑與長度參數(shù),具體流程如下。
1) 對單個(gè)棗樹修剪枝點(diǎn)云歸一化處理,建立其協(xié)方差矩陣并進(jìn)行奇異值的分解,得到特征值以及對應(yīng)的特征向量,依據(jù)最大特征值對應(yīng)的向量即可確定修剪枝點(diǎn)云的主方向,計(jì)算如式(1)~式(4)所示。
[X=1mi=1mXi] (1)
[Xi=Xi-X] (2)
[X=[X1,…,Xi]]" "[i=1,2,…m] (3)
[H=XXT=Ur2UTr] (4)
式中: [Xi]——修剪枝點(diǎn)云的數(shù)據(jù)集,且[Xi∈Rn],[Rn]為可測集;
[X]——m個(gè)修剪枝點(diǎn)云數(shù)據(jù)集的均值;
[m]——進(jìn)行歸一化處理的修剪枝點(diǎn)云的數(shù)據(jù)集個(gè)數(shù);
[Xi]——修剪枝點(diǎn)云數(shù)據(jù)集樣本的均值;
[X]——修剪枝點(diǎn)云的樣本均值集合;
[H]——協(xié)方差矩陣;
[XT]——樣本均值集合的旋轉(zhuǎn)矩陣;
[Ur]——分解矩陣。
2) 沿著主方向?qū)π藜糁M(jìn)行切段處理,結(jié)合形心法求取每段的兩個(gè)端面中心坐標(biāo)([xc],[yc]),計(jì)算如式(5)和式(6)所示。
[xc=i=1NxiN] (5)
[yc=i=1NyiN] (6)
式中: [xi、yi]——每段修剪枝點(diǎn)云兩端面上的橫坐標(biāo)與縱坐標(biāo);
N——修剪枝點(diǎn)云分段的數(shù)量。
3) 利用中心坐標(biāo)值計(jì)算此段點(diǎn)云的方向向量,并在該方向上進(jìn)行投影,對投影后的點(diǎn)云結(jié)合最小二乘法進(jìn)行圓擬合,得到此段修剪枝的半徑值,依據(jù)該值進(jìn)行圓柱擬合。
4) 對所有圓柱半徑值求平均,利用該平均值計(jì)算得到修剪枝點(diǎn)云的直徑[D],計(jì)算如式(7)所示。
[D=2×i=1mRiN] (7)
式中: [Ri]——每段點(diǎn)云待擬合圓柱的半徑值;
5) 利用圓柱端面的中心點(diǎn)坐標(biāo)集合,進(jìn)行曲線擬合,得到修剪枝的擬合曲線長度[L]值,計(jì)算如式(8)、式(9)所示。
[Li=xci-xci-12+yci-yci-12] (8)
[L=i=1mLi] (9)
式中: [xci]、[yci]——第i段修剪枝點(diǎn)云分段端面處的中心點(diǎn)坐標(biāo)值;
[xci-1]、[yci-1]——第i段修剪枝點(diǎn)云分段另一個(gè)端面處的中心點(diǎn)坐標(biāo);
[Li]——每段點(diǎn)云擬合的長度。
1.6 評價(jià)指標(biāo)
利用精確率[Precision](P)、召回率[Recall](R)和[F1-score](F)評價(jià)點(diǎn)云實(shí)例分割網(wǎng)絡(luò)的分割精度,計(jì)算如式(10)~式(12)所示。
[P=TPTP+FP×100%] (10)
[R=TPTP+FN×100%] (11)
[F=2PRP+R] (12)
式中: TP——棗樹點(diǎn)云被正確分類;
FN——棗樹點(diǎn)云被錯(cuò)誤分類;
FP——被錯(cuò)誤劃分為其他類別。
2 試驗(yàn)結(jié)果與分析
2.1 棗樹點(diǎn)云分割結(jié)果
本研究利用JSNet神經(jīng)網(wǎng)絡(luò)訓(xùn)練了棗樹點(diǎn)云數(shù)據(jù)500個(gè)回合,訓(xùn)練時(shí)的損失曲線在前100個(gè)回合下降明顯并趨于穩(wěn)定,最后的Loss值為0.03,整個(gè)網(wǎng)絡(luò)訓(xùn)練的時(shí)間大約5 h。在測試集上,預(yù)測單棵棗樹點(diǎn)云所需平均時(shí)間為85 ms。在76棵棗樹測試集中隨意選擇了8棵棗樹進(jìn)行可視化結(jié)果,其中預(yù)測結(jié)果與真實(shí)值上下一一對應(yīng),如圖4所示。通過觀察發(fā)現(xiàn),棗樹點(diǎn)云錯(cuò)誤分割主要原因有以下幾個(gè)方面:(1)修剪枝被錯(cuò)誤分割,一個(gè)修剪枝被識別為兩個(gè);(2)主干被識別為修剪枝或修剪枝被錯(cuò)誤識別為主干;(3)有些小枝條的修剪枝(歧義枝)被錯(cuò)誤識別。
如表2所示,棗樹主干分割精度(96%)高于修剪枝(77%),主要原因在于:(1)在標(biāo)簽制作過程中,把所有棗樹主干歸為一類,減少了類別數(shù)量;(2)主干的點(diǎn)云數(shù)量總體多于修剪枝數(shù)量且主干的幾何特征比較容易區(qū)別(主干一般都是方向朝上);(3)修剪枝較細(xì)且錯(cuò)綜復(fù)雜的分布在主干上,識別難度較大。但總體上JSNet神經(jīng)網(wǎng)絡(luò)模型能夠?qū)棙湫藜糁c(diǎn)云進(jìn)行準(zhǔn)確識別分割。進(jìn)一步分析了不同光照環(huán)境下對棗樹枝干點(diǎn)云實(shí)例分割結(jié)果的影響,構(gòu)建3種不同光照條件下總共30棵棗樹點(diǎn)云,其中晴天、陰天和夜間各10棵棗樹數(shù)據(jù)。其中晴天時(shí)棗樹枝干的平均分割精度(87%)與陰天(86.5%)和夜間(86%)之間的差值較小,表明JSNet網(wǎng)絡(luò)對不同光照環(huán)境下的棗樹點(diǎn)云分割具有較好的魯棒性。
2.2 修剪枝參數(shù)提取結(jié)果
由于棗樹修剪枝有一定程度的彎曲,如果對其直接進(jìn)行圓柱擬合誤差較大,本文提出一種對修剪枝分段求解的思路,先求修剪枝點(diǎn)云每段圓柱的直徑,然后計(jì)算平均值(該值為修剪枝直徑參數(shù))。在對修剪枝圓柱擬合的過程中,切段數(shù)量對擬合結(jié)果有一定的影響,為了得到合適的數(shù)值,隨機(jī)選擇5個(gè)修剪枝點(diǎn)云進(jìn)行擬合,試驗(yàn)發(fā)現(xiàn)當(dāng)選擇切段數(shù)量為20時(shí),直徑參數(shù)擬合值基本不再發(fā)生變化(圖5),因此選擇該值作為圓柱擬合時(shí)的切段數(shù)量。最后又選擇10個(gè)棗樹修剪枝點(diǎn)云進(jìn)行擬合試驗(yàn)(圖6),自動提取結(jié)果與實(shí)際測量進(jìn)行對比。
由表3可知,擬合結(jié)果與實(shí)際測量值相對誤差在2 mm以內(nèi)。在修剪枝點(diǎn)云長度擬合時(shí),切片數(shù)量的多少對長度擬合結(jié)果有影響。為了得到切片合適的數(shù)量,同樣選擇5個(gè)修剪枝進(jìn)行切片處理。當(dāng)修剪枝切片數(shù)目為15時(shí),擬合參數(shù)值基本趨于穩(wěn)定,且擬合值和測量值之間的誤差最?。▓D7)。最后也選擇10個(gè)修剪枝點(diǎn)云進(jìn)行長度擬合(圖8),試驗(yàn)結(jié)果表明,自動擬合值與人工測量值的誤差范圍在1 cm以內(nèi)(表4)。
3 結(jié)論
1) 針對休眠期棗樹剪枝過程中枝干識別較難的問題,構(gòu)建棗樹三維點(diǎn)云數(shù)據(jù)集,結(jié)合深度學(xué)習(xí)網(wǎng)絡(luò)JSNet對棗樹點(diǎn)云進(jìn)行實(shí)例分割,并提出修剪枝參數(shù)自動提取方法。
2) 本方法對修剪枝的分割精度為77%,而且主干的分割精度為96%,并分析不同自然環(huán)境對分割精度的影響。后續(xù)可以通過擴(kuò)增休眠期棗樹點(diǎn)云數(shù)據(jù)集或結(jié)合更好的深度學(xué)習(xí)實(shí)例分割模型,進(jìn)一步提高修剪枝的分割精度。
3) 在棗樹點(diǎn)云實(shí)例分割的基礎(chǔ)上,對修剪參數(shù)自動提取。修剪枝直徑擬合結(jié)果與實(shí)際值的相對誤差在2 mm以內(nèi),而其長度擬合值與人工測量值的誤差范圍在1 cm以內(nèi),為后續(xù)剪枝點(diǎn)的自動定位提供依據(jù)。
參 考 文 獻(xiàn)
[ 1 ] 付昱興, 李承明, 朱江, 等. Alpha?shape算法構(gòu)建棗樹點(diǎn)云三維模型[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2020, 36(22): 214-221.
Fu Yuxing, Li Chengming, Zhu Jiang, et al. Three?dimensional model construction method and experiment of jujube tree point cloud using Alpha?shape algorithm [J]. Transactions of the Chinese Society of Agricultural Engineering, 2020, 36(22): 214-221.
[ 2 ] 鄭永軍, 江世界, 陳炳太, 等. 丘陵山區(qū)果園機(jī)械化技術(shù)與裝備研究進(jìn)展[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2020, 51(11): 1-20.
Zheng Yongjun, Jiang Shijie, Chen Bingtai, et al. Review on technology and equipment of mechanization in hilly orchard [J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(11): 1-20.
[ 3 ] Zahid A, He L, Zeng L, et al. Development of a robotic end?effector for apple tree pruning [J]. Transactions of the ASABE, 2020, 63(4): 847-856.
[ 4 ] Tabb A, Medeiros H. Automatic segmentation of trees in dynamic outdoor environments [J]. Computers in Industry, 2018, 98: 90-99.
[ 5 ] 馬保建, 鄢金山, 王樂, 等. 基于語義分割的矮化密植棗樹修剪枝識別與骨架提取[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2022, 53(8): 313-319.
Ma Baojian, Yan Jinshan, Wang Le, et al. Method for detection and skeleton of pruning branch of jujube tree based on semantic segmentation for dormant pruning [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(8): 313-319.
[ 6 ] Fourie J, Bateman C, Hsiao J, et al. Towards automated grape vine pruning: Learning by example using recurrent graph neural networks [J]. International Journal of Intelligent Systems, 2021, 36(2): 715-735.
[ 7 ] Fernandes M, Scaldaferri A, Fiameni G, et al. Grapevine winter pruning automation: On potential pruning points detection through 2D plant modeling using grapevine segmentation [J]. arxiv preprint arxiv: 2106. 04208, 2021.
(下轉(zhuǎn)第 68頁)
(上接第 59頁)
[ 8 ] You A, Parayil N, Krishna J G, et al. An autonomous robot for pruning modern, planar fruit trees [J]. arxiv preprint arxiv: 2206. 07201, 2022.
[ 9 ] Verbiest R, Ruysen K, Vanwalleghem T, et al. Automation and robotics in the cultivation of pome fruit: Where do we stand today? [J]. Journal of Field Robotics, 2021, 38(4): 513-531.
[10] Karkee M, Adhikari B, Amatya S, et al. Identification of pruning branches in tall spindle apple trees for automated pruning [J]. Computers and Electronics in Agriculture, 2014, 103: 127-135.
[11] Elfiky N M, Akbar S A, Sun J, et al. Automation of dormant pruning in specialty crop production: An adaptive framework for automatic reconstruction and modeling of apple trees [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2015: 65-73.
[12] You A, Grimm C, Silwal A, et al. Semantics?guided skeletonization of sweet cherry trees for robotic pruning [J]. arxiv preprint arxiv: 2103. 02833, 2021.
[13] Fu Y, Xia Y, Zhang H, et al. Skeleton extraction and pruning point identification of jujube tree for dormant pruning using space colonization algorithm [J]. Frontiers in Plant Science, 2022, 13.
[14] Ma B, Du J, Wang L, Jiang H, Zhou M. Automatic branch detection of jujube trees based on 3D reconstruction for dormant pruning using the deep learning?based method [J]. Computers and Electronics in Agriculture. 2021, 190.
[15] Zhao L, Tao W. JSNet: Joint instance and semantic segmentation of 3D point clouds [C]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(7): 12951-12958.
[16] Qi C R, Yi L, Su H, et al. Pointnet++: Deep hierarchical feature learning on point sets in a metric space [J]. Advances in Neural Information Processing Systems, 2017, 30.
[17] Wu W, Qi Z, Fuxin L. Pointconv: Deep convolutional networks on 3D point clouds [C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019: 9621-9630.
[18] Comaniciu D, Meer P. Mean shift: A robust approach toward feature space analysis [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 603-619.