馬保建 鄢金山 王 樂 蔣煥煜,3
(1.浙江大學(xué)生物系統(tǒng)工程與食品科學(xué)學(xué)院, 杭州 310058; 2.新疆理工學(xué)院機(jī)械電氣工程學(xué)院, 阿克蘇 843100;3.浙江省農(nóng)業(yè)智能裝備與機(jī)器人重點(diǎn)實(shí)驗(yàn)室, 杭州 310058)
近年來,紅棗的種植面積和產(chǎn)量逐年增加,但在棗園的管理過程中,棗樹的春季修剪(集中在1—3月)仍以人工作業(yè)為主[1]。棗樹的春季修剪通過去除多余或過長的樹枝控制樹形結(jié)構(gòu),達(dá)到增加紅棗產(chǎn)量的目的[2]。隨著棗樹的種植模式向矮化密植方向發(fā)展,并且其樹形結(jié)構(gòu)主要包括小冠疏層形和開心形結(jié)構(gòu),這種樹形結(jié)構(gòu)為機(jī)械化修剪作業(yè)提供了可能性[3]。目前,棗樹修剪機(jī)械的研制還處于探索階段,劉玉冬[4]研制的仿形修剪裝置對矮化密植棗樹進(jìn)行整株幾何修剪,達(dá)到了粗剪的目的,但錯(cuò)剪、漏剪較嚴(yán)重。而采用自動(dòng)選擇性修剪方式可以極大提高剪枝效率并且能夠避免大量有用枝條被誤剪,從而提高果樹產(chǎn)量[5-6]。
對于自動(dòng)選擇性修剪研究的關(guān)鍵部分是果樹的枝干識別[7]。近年來對于果樹枝干識別的研究取得較大進(jìn)展。文獻(xiàn)[8-12]主要是針對果樹的主干進(jìn)行識別分割,而對于果樹修剪枝識別并未涉及。
MAJEED等[13]利用SegNet深度學(xué)習(xí)網(wǎng)絡(luò)對單主干蘋果樹的樹枝和樹干進(jìn)行識別,為自動(dòng)壓枝機(jī)器人研制提供依據(jù),同時(shí)對比分析去背景與未去背景蘋果樹枝干的分割精度,結(jié)果表明去除復(fù)雜背景后的蘋果樹枝干分割精度得到提升。FERNANDES等[14]利用實(shí)例分割算法Mask R-CNN對樹形較簡單的葡萄樹潛在的修剪點(diǎn)進(jìn)行識別,并結(jié)合圖論算法最終確定枝條的修剪位置。KARKEE等[15]通過搭建的視覺系統(tǒng)獲取無葉單主干蘋果樹的點(diǎn)云信息,利用20幀點(diǎn)云重建其三維模型,結(jié)合特定的鄰域規(guī)則對枝干進(jìn)行分割,修剪枝識別精度為77%,該研究的重建過程較復(fù)雜,并且識別精度需進(jìn)一步提高。BOTTERILL等[16]利用多視圖幾何的方法重建葡萄樹枝干三維模型,結(jié)合SVM算法識別葡萄樹枝條的修剪位置,同時(shí)進(jìn)行了田間試驗(yàn),結(jié)果表明修剪一棵葡萄樹需要2 min。雖然文獻(xiàn)[13-16]對果樹樹枝識別分割進(jìn)行了探索,但是主要集中在國外單主干的蘋果樹和樹形較簡單的葡萄樹方面,而對于我國樹形結(jié)構(gòu)較復(fù)雜的開心形棗樹修剪枝識別有待深入研究。
本文利用RGB-D深度相機(jī)搭建的感知平臺(tái)獲取休眠期矮化密植開心形棗樹的枝干彩色點(diǎn)云信息,并根據(jù)距離閾值去除復(fù)雜的棗樹背景,以消除復(fù)雜背景對棗樹枝干識別的影響,結(jié)合語義分割網(wǎng)絡(luò)對去背景的棗樹圖像進(jìn)行分割,探討不同天氣情況下枝干識別準(zhǔn)確率。然后提取修剪枝的掩膜并對其二值化,依據(jù)二值圖計(jì)算各連通域面積去除噪聲,同時(shí)對連通域標(biāo)記,提取修剪枝骨架,最后確定修剪枝數(shù)量,并建立修剪枝數(shù)量真實(shí)值與預(yù)測值的相關(guān)性,以期為提取修剪枝長度參數(shù)并依據(jù)其長度進(jìn)一步確定剪枝點(diǎn)位置提供依據(jù)。
試驗(yàn)場地位于浙江省義烏市星凱農(nóng)場大棚內(nèi),大棚的主要目的是防止梅雨季節(jié)對棗樹開花和結(jié)果的影響,且棚內(nèi)無人工光源,在其內(nèi)種植的棗樹為5~6年生矮化密植開心形樹形結(jié)構(gòu),由二次枝(修剪枝)和主干組成(圖1a),樹高為1.8~2.2 m,株距為1.5 m,行距為1.8 m。利用前期研究搭建的系統(tǒng)平臺(tái)[17]距離棗樹主干1.1~1.3 m的位置獲取棗樹的枝干信息,如圖1b所示(拍攝于2020年1月)。在2020年1—3月和2021年1—3月期間,獲取不同光照條件下(晴天、陰天、夜間、遮光)休眠期的棗樹枝干彩色點(diǎn)云(圖1c~1e)。晴天時(shí),數(shù)據(jù)采集時(shí)間為08:30—11:30,夜間采集時(shí)間為19:00—21:30,采集矮化密植開心形棗樹彩色點(diǎn)云圖像共1 032幅。
由于彩色點(diǎn)云是由RGB圖像和深度圖像通過深度相機(jī)內(nèi)部參數(shù)的映射關(guān)系得到,因此利用深度信息即距離閾值為1.2 m(圖2b,為顯示清楚對其渲染)去除復(fù)雜的棗樹背景(圖2a),得到其前景圖像(圖2c)。棗樹前景圖像采用Labelme軟件[18]人工標(biāo)注,標(biāo)注完成后得到每幅圖像的json格式數(shù)據(jù)(圖2d),然后把數(shù)據(jù)變換成PASCAL VOC數(shù)據(jù)集格式,并獲取對應(yīng)的掩膜圖像,圖2e中綠色標(biāo)簽為主干、紅色標(biāo)簽為修剪枝、其余部分為背景,將標(biāo)注完的1 032幅前景棗樹圖像,按照比例8∶2分為訓(xùn)練集和驗(yàn)證集(隨意選擇825幅圖像用于模型訓(xùn)練,207幅圖像用于測試),用于模型的有監(jiān)督訓(xùn)練。
圖2 數(shù)據(jù)集構(gòu)建過程Fig.2 Process of dataset construction
本研究需要從復(fù)雜棗樹樹形結(jié)構(gòu)中準(zhǔn)確地識別出修剪枝,修剪枝和樹干的顏色特征沒有差異,但是在幾何特征上存在一定的區(qū)別(大部分主干都朝一個(gè)方向,而修剪枝以一定傾斜角度分布在主干兩側(cè)),因此,利用數(shù)據(jù)驅(qū)動(dòng)的方式學(xué)習(xí)棗樹枝干之間幾何特征的差異。CHEN等[19]利用DeepLabV3深度學(xué)習(xí)模型對部分有遮擋的蘋果樹(V型結(jié)構(gòu))主干進(jìn)行分割,并取得較好的結(jié)果,而DeepLabV3+深度學(xué)習(xí)模型[20]在DeepLabV3框架[21]基礎(chǔ)上增加了解碼結(jié)構(gòu),進(jìn)一步提升圖像的語義分割精度,在PASCAL VOC 2012數(shù)據(jù)集挑戰(zhàn)中取得了良好的結(jié)果。因此,利用DeepLabV3+模型對棗樹的枝干進(jìn)行分割。DeepLabV3+整體模型框架是一個(gè)帶空洞卷積的編碼-解碼結(jié)構(gòu),如圖3所示,其中不同的顏色代表不同的特征,該模型利用了空洞卷積金字塔池化機(jī)制(ASPP)進(jìn)行多尺度的學(xué)習(xí)圖像語義特征。為了得到參數(shù)量較少以及較好的分割模型,利用MobileNet V2和ResNet-50特征提取網(wǎng)絡(luò)[22-23]分別對棗樹圖像特征提取,得到圖像的高語義信息特征和低語義信息特征。在模型編碼階段,利用并行的空洞卷積金字塔池化(包括1×1卷積層、不同膨脹率的3×3卷積層和全局平均池化層)對高語義信息進(jìn)一步提取,并把提取的特征圖融合在一起,經(jīng)過一個(gè)1×1卷積層調(diào)整融合特征圖的通道數(shù)并輸出到模型解碼階段,輸出的特征圖利用雙線性差值的方法上采樣4倍,然后與低語義信息特征經(jīng)1×1卷積層提取的特征融合在一起,最后利用3×3卷積層和簡單的上采樣層完成模型解碼過程,實(shí)現(xiàn)圖像的語義分割。
圖3 DeepLabV3+分割過程Fig.3 Segmentation process of DeepLabV3+
為了進(jìn)一步提升模型訓(xùn)練效率,減少訓(xùn)練時(shí)間,利用數(shù)據(jù)集(VOC12+SBD)的預(yù)訓(xùn)練模型,共享權(quán)重參數(shù),對模型進(jìn)行微調(diào)。具體步驟:①利用預(yù)訓(xùn)練權(quán)重對DeepLabV3+模型進(jìn)行初始化。②凍結(jié)特征提取網(wǎng)絡(luò)的權(quán)值,并設(shè)置學(xué)習(xí)率為0.02對后端網(wǎng)絡(luò)進(jìn)行訓(xùn)練。③改變學(xué)習(xí)率為0.002,對整個(gè)模型的權(quán)值參數(shù)進(jìn)行微調(diào)訓(xùn)練。經(jīng)過多次試驗(yàn),最后確定DeepLabV3+模型的訓(xùn)練參數(shù),如表1所示。DeepLabV3+模型訓(xùn)練計(jì)算機(jī)處理器為Intel Core i7-6700,內(nèi)存為24 GB,以及NVIDIA 12 GB 1080Ti GPU,操作系統(tǒng)為Ubuntu 18.04。軟件包括CUDA 10.0、CUDNN 9.1和 Python 3.7,模型訓(xùn)練利用的深度學(xué)習(xí)框架為Pytorch 1.3。
表1 模型訓(xùn)練主要參數(shù)Tab.1 Main training parameters of model
在實(shí)現(xiàn)開心形棗樹語義分割之后,進(jìn)一步利用圖像形態(tài)學(xué)的方法提取修剪枝條的骨架,以便后期提取修剪枝條長度參數(shù)。首先提取棗樹修剪枝的掩膜并進(jìn)行灰度化處理,采用最大類間方差法(Otsu)對棗樹灰度圖像二值化處理,利用8鄰域方式對二值圖像進(jìn)行連通域標(biāo)記,計(jì)算每個(gè)連通域面積,面積小于200個(gè)像素即被判定為噪聲點(diǎn)并去除,大于該值則保留,同時(shí)對去噪后的連通域隨機(jī)配色,最后利用文獻(xiàn)[24]提出的骨架算法對修剪枝骨架進(jìn)行提取,該方法在提取骨架過程中,不僅速度快,無毛刺生成而且細(xì)化后的骨架線連通性好[25]。算法迭代過程2個(gè)步驟為:
(1)遍歷修剪枝所有前景像素點(diǎn)(其中1代表前景,0代表背景),x1~x9像素位置分布如圖4所示。滿足像素點(diǎn)標(biāo)記為刪除點(diǎn)的條件為
圖4 x1像素點(diǎn)8鄰域分布Fig.4 Eight-adjacent neighborhood of x1 pixel
式中,N(x1)表示與中心像素點(diǎn)x1臨近的8個(gè)像素中前景像素的個(gè)數(shù);S(x1)表示按照順時(shí)針從x2~x9~x2過程中出現(xiàn)0~1累計(jì)次數(shù)總和。
(2)與步驟(1)相似,不斷循環(huán)此步驟,直到?jīng)]有滿足條件的像素點(diǎn)為止,結(jié)果輸出修剪枝的骨架。對符合以下條件的修剪枝前景像素點(diǎn)也標(biāo)記為刪除點(diǎn)。
利用像素準(zhǔn)確率(Pixel accuracy,PA)、交并比(Intersection-over-union,IoU)、平均像素準(zhǔn)確率(Mean pixel accuracy,mPA)、平均交并比(Mean intersection-over-union,mIoU)對模型進(jìn)行評估。
同時(shí),還利用決定系數(shù)(R2)和均方根誤差(RMSE)對在不同天氣情況下提取的修剪枝骨架個(gè)數(shù)進(jìn)行分析。
不同特征提取網(wǎng)絡(luò)(MobileNet V2和ResNet-50)的DeepLabV3+模型在訓(xùn)練集和驗(yàn)證集上的損失值曲線,如圖5所示。模型迭代訓(xùn)練100次后已收斂,利用MobileNet V2網(wǎng)絡(luò)的DeepLabV3+模型的損失值在訓(xùn)練集和驗(yàn)證集(MobileNet v2-val)分別是0.21和0.20,而ResNet-50網(wǎng)絡(luò)的損失值在訓(xùn)練集和驗(yàn)證集(ResNet-50-val)分別是0.16和0.17,并且比MobileNet V2特征提取網(wǎng)絡(luò)收斂速度更快,表明該特征提取網(wǎng)絡(luò)具有更好的性能,同時(shí)也表明DeepLabV3+模型在訓(xùn)練過程中沒有出現(xiàn)過擬合現(xiàn)象。
圖5 DeepLabV3+模型損失值曲線Fig.5 Loss curves of DeepLabV3+ model
利用不同的特征提取網(wǎng)絡(luò)對DeepLabV3+模型訓(xùn)練,得到不同的訓(xùn)練權(quán)重,分別在整個(gè)驗(yàn)證數(shù)據(jù)集上(訓(xùn)練過程中沒有出現(xiàn)過的數(shù)據(jù))測試,結(jié)果表明:利用基于ResNet-50網(wǎng)絡(luò)作為特征提取的DeepLabV3+模型在驗(yàn)證集上的性能表現(xiàn)優(yōu)于基于MobileNet V2作為特征提取網(wǎng)絡(luò)的模型,如表2所示。同時(shí)也對比了另外一個(gè)語義分割PSPNet模型[26]在驗(yàn)證集上的性能表現(xiàn),該模型與DeepLabV3+模型一樣也采用了空間金字塔池化層對圖像進(jìn)行多尺度特征學(xué)習(xí),在圖像分割任務(wù)中也有較高的分割精度,因此利用該模型與本文模型做對比。PSPNet模型對輸入的棗樹前景圖像利用MobileNet V2或ResNet-50網(wǎng)絡(luò)提取其特征,在特征圖上利用空間金字塔池化模塊(4層金字塔結(jié)構(gòu))多尺度收集圖像的語義信息,最后把特征網(wǎng)絡(luò)提取的特征與金字塔模塊提取的特征融合在一起,并再經(jīng)過一個(gè)卷積層輸出圖像的分割結(jié)果。而該模型最高的mPA和mIoU均低于DeepLabV3+模型的結(jié)果。
表2 在驗(yàn)證集上的性能評估Tab.2 Performance evaluation on validation dataset
利用DeepLabV3+模型得到的語義分割結(jié)果,如圖6所示,其中圖6a為不同天氣(晴天、陰天、夜間)情況下的棗樹前景圖像,圖6b為棗樹圖像的真實(shí)標(biāo)簽,圖6c、6d為利用不同特征提取網(wǎng)絡(luò)的分割結(jié)果。其中紅色代表?xiàng)棙湫藜糁?,綠色代表?xiàng)棙涞闹鞲伞T趫D6c的分割結(jié)果中,有部分棗樹主干被錯(cuò)誤分割為修剪枝,而且部分修剪枝沒有被完全分割。在圖6d的分割結(jié)果中有較小的修剪枝和噪聲被識別,盡管在真實(shí)標(biāo)簽中這些都被標(biāo)注為背景信息。
圖6 不同天氣條件下的棗樹分割結(jié)果Fig.6 Segmentation results of jujube tree under different environments
進(jìn)一步分析棗樹主干、修剪枝和背景的分割精度,對于棗樹主干的識別結(jié)果PA和IoU高于修剪枝的識別結(jié)果,如圖7所示。原因在于:①修剪枝相對于主干較細(xì)和短小,分割難度更大。②在棗樹前景圖像中,主干的像素多于修剪枝的像素,在訓(xùn)練過程中,被網(wǎng)絡(luò)學(xué)到更多的語義特征信息。③由于開心形棗樹樹形結(jié)構(gòu)復(fù)雜,在圖像真實(shí)標(biāo)簽標(biāo)注過程中,有些枝條不能被準(zhǔn)確判斷為是主干還是修剪枝引起歧義判斷(藍(lán)色圓圈內(nèi)),如圖8所示,也會(huì)對網(wǎng)絡(luò)模型訓(xùn)練過程造成影響。對于提高修剪枝的識別精度,可以通過進(jìn)一步規(guī)范或統(tǒng)一棗樹的樹形結(jié)構(gòu)(在保證棗樹產(chǎn)量時(shí),統(tǒng)一棗樹主干的數(shù)量,同時(shí)使主干往同一方向生長,避免主干之間過多的交叉重疊)和增加訓(xùn)練數(shù)據(jù)集來解決。
圖8 歧義標(biāo)注Fig.8 Ambiguous annotation
同時(shí),為了分析不同天氣條件下對棗樹枝干分割結(jié)果的影響,后續(xù)又構(gòu)建了3種天氣下的數(shù)據(jù)集(60棵棗樹),包括晴天、陰天和夜間各20棵棗樹數(shù)據(jù)。不同天氣情況下識別精度如圖9所示。其中晴天的mPA略高于陰天和夜間,而夜間mIoU略高于晴天和陰天。結(jié)果表明DeepLabV3+深度學(xué)習(xí)模型對自然環(huán)境條件下的棗樹分割具有很好的魯棒性。
圖9 3種典型天氣下的分割精度Fig.9 Segmentation accuracy under three weather conditions
棗樹修剪枝骨架提取過程如圖10所示。同時(shí)把棗樹主干標(biāo)記配色RGB為(0,0,0),然后和提取的修剪枝骨架進(jìn)行與運(yùn)算,處理得到的結(jié)果如圖11所示。為了分析不同天氣對骨架提取的影響,利用2.3節(jié)所構(gòu)建的60棵棗樹數(shù)據(jù)集,對不同天氣下的棗樹進(jìn)行修剪枝骨架提取,以確定修剪枝個(gè)數(shù),并與真實(shí)修剪枝數(shù)量進(jìn)行相關(guān)性分析,如圖12所示。結(jié)果表明,晴天時(shí)修剪枝決定系數(shù)高于陰天和夜間,同時(shí)晴天時(shí)的均方根誤差相比于陰天和夜間也最小。原因在于:①晴天時(shí)修剪枝的分割精度略高于陰天和夜間。②夜間獲取的點(diǎn)云數(shù)據(jù)噪聲最大,導(dǎo)致更多修剪枝粘連在一起,使得修剪枝預(yù)測值與真實(shí)值差距較大。
圖10 修剪枝骨架提取過程Fig.10 Process of skeleton extraction
圖11 修剪枝識別和骨架提取Fig.11 Example of identification of pruning branch and skeleton extraction
圖12 不同光照條件修剪枝預(yù)測值與真實(shí)值Fig.12 Analysis between predicted and ground truth values under different conditions
(1)利用RGB-D相機(jī)搭建的視覺系統(tǒng)獲取棗樹枝干信息,并建立了開心形棗樹前景圖像數(shù)據(jù)集,利用語義分割網(wǎng)絡(luò)能夠較準(zhǔn)確分割自然環(huán)境下的復(fù)雜樹形結(jié)構(gòu)的棗樹枝干,在DeepLabV3+分割模型中棗樹主干、修剪枝2個(gè)類別的像素準(zhǔn)確率(PA)和交并比(IoU)分別為90.36%和80.98%、 80.34%和66.69%。通過規(guī)范粗放式的棗園管理以及擴(kuò)增訓(xùn)練數(shù)據(jù)集的數(shù)量,可進(jìn)一步提高修剪枝的分割準(zhǔn)確率。
(2)與PSPNet模型相比,基于ResNet-50特征提取網(wǎng)絡(luò)的DeepLabV3+模型分割結(jié)果較好,利用該模型分析了不同天氣下對棗樹枝干分割結(jié)果,表明該模型在自然環(huán)境下具有很好的魯棒性。
(3)晴天時(shí)修剪枝骨架提取的數(shù)量與真實(shí)值的決定系數(shù)最高,R2為 0.869 9,并且均方根誤差也最小,為1.161 8。為研究利用骨架線提取修剪枝長度參數(shù)并依據(jù)其長度進(jìn)一步確定剪枝點(diǎn)位置提供數(shù)據(jù)基礎(chǔ)。