曾安,羅琳,潘丹,冼志恒,江旭,冼鈺倫,4,劉立程
(1. 廣東工業大學計算機學院,廣州 510006;2. 廣東技術師范大學電子與信息學院,廣州 510665;3. 廣州市卉通農業科技有限公司,廣州 511450;4. 廣州市智卉光田農業科技有限責任公司,廣州 511430;5. 廣東工業大學信息工程學院,廣州 510006)
植物表型是在植物生長發育過程中,受基因型與環境因素動態作用形成的一組物理、生理和生化性狀,可用來直觀反映植物的生長狀況[1]。構成植物表型性狀的植物器官通常包括根、葉、莖和果實等,其中葉器官構成了大多數植物的主要性狀[2]。因此,為了獲取更詳細的器官水平或植物部位的信息,需要將植物分割成單個器官。成像技術具有無損檢測、高通量處理和多特征測量的優勢,圖像傳感和分析技術的進步為高通量表型分析提供了新的思路,也促進了器官水平的高精度表型分析[3]。此前,基于二維圖像的計算機視覺、傳統機器學習和深度學習技術是解決植物分割問題的重要技術手段。然而,基于二維圖像的植物器官分割方法較難處理葉片之間的重疊和遮擋問題。
近年來基于三維點云的植物三維重建和器官分割逐步成為現代農業信息技術研究的熱點問題[4]。ELNASHEF等[5]提出了一種基于張量(一階和二階)的分割算法,實現了植物點云的莖葉分割,并通過一種基于密度的空間聚類算法(density-based spatial clustering of applications with noise,DBSCAN)對單個葉片進行分割。朱超等[6]針對當前三維點云分割方法難以精確分割玉米植株頂部新葉的問題,提出了一種基于點云骨架和最優傳輸距離的玉米點云莖葉分割方法。LIU等[7]基于多視圖立體(multi-view stereo,MVS)方法重建出油菜三維點云,擴展了現有的歐幾里德距離和譜聚類算法,并使用迭代方法實現油菜點云器官的分割。林承達等[8]為實現田間作物群體點云數據中單個植株對象的完整提取與分割以完成作物個體表型參數的自動測量,該研究提出一種田間作物柱體空間聚類分割方法。彭程等[9]基于機器人獲取的單株完整番茄點云,利用拉普拉斯收縮的骨架提取算法獲取植株骨架,對骨架進行修正后分解為莖稈和葉片子骨架,實現莖稈葉柄分割;再通過基于區域生長的Mean Shift 聚類方法對葉片和葉柄進行分割。然而,上述點云分割算法大多需要憑借經驗設置合理的閾值參數,于是,它們的應用會因分割過程中繁瑣費力的參數調整而受到限制;同時,在應對空間結構復雜的植物器官分割任務時,它們依然面臨較大挑戰。
近年來,隨著深度學習技術的發展,基于深度學習的植物點云器官分割成為一項可行的前沿研究。目前的三維點云分割方法主要分為基于多視圖的方法[10-12],基于體素化的方法[13-14]和基于點的方法[15-17]。如NI等[12]基于Mask R-CNN 模型從二維圖像中分割出單個成熟的藍莓,并將實例掩碼投影到三維點云上以建立 2D-3D 對應關系,實現分割單個藍莓點云以獲得漿果數量、單個漿果體積和漿果成熟度等性狀。然而多視圖的方法對投影角度和遮擋情況比較敏感,并且投影步驟會不可避免地會導致點云的幾何結構信息損失。JIN等[14]基于不同生長階段的玉米植株激光雷達數據,提出了一種基于體素的卷積神經網絡(voxel-based convolutional neural network,VCNN)模型,用于玉米植株點云的莖葉分類和分割。此類體素化的方法通常將無序的原始點云進行體素化,然后再使用標準的3D 卷積進行體素級別的分割。而體素化步驟本身會引入離散化誤差和信息丟失,并且通常輸入高分辨率的體素網格也意味著高內存資源和計算成本。基于點的方法直接操作不規則的點云數據,能夠在點級別上進行分類和分割。如GONG L[17]設計了Panicle-3D 網絡模型,利用制作的稻穗點云數據集進行訓練,實現稻穗和稻稈的分割。WU等[18]改進了 PointNet 模型,用于在地面激光掃描數據中分離樹葉和木質成分。
目前阻礙深度學習技術應用于植物點云分割的主要因素包括3個方面:1)點云數據是非結構化、不規則和無序的;2)缺乏有標注的植物三維點云數據集,目前常見3D 點云分割數據集包括Stanford 大型室內場景RGB-D數據集S3DIS[19],以及應用于自動駕駛的戶外大規模點云數據集KITTI[20];3)在點級別上難以同時實現植物器官語義分割和實例分割,無法有效分離出莖、葉器官和單片葉片。為了解決上述問題,該文首先搭建出一套低成本的多視角圖像采集平臺,用來采集植株多個角度的二維圖像,結合運動恢復結構(structure from motion,SFM)算法進行三維重建[21]以構造彩葉芋三維點云數據集。基于彩葉芋點云數據集,該文提出了一種基于三維點云的植物多任務分割網絡(a multi-task segmentation network for plant on 3D point cloud,MT-SegNet)執行兩項任務:預測點的語義類別并將點嵌入到高維向量中,以便通過類似的嵌入將點聚類到相同實例中。在該網絡中,針對以往池化操作在聚合鄰域點特征時導致的信息丟失問題,該文設計出一種多頭注意力池化模塊(multihead attentive pooling module,MAPM),能自動學習重要的鄰域點特征和捕捉到點之間的特征依賴關系。最后,使用多值條件隨機場(multi-value conditional random field,MV-CRF)模型結合語義標簽和實例標簽進行多任務的聯合優化,最終實現莖-葉的語義分割和葉的實例分割。
本研究以廣州市某花卉培養基地的175 株彩葉芋作為試驗對象,每株彩葉芋的葉片數量為 3~7 片,葉片在莖上高度位置不一且葉片大小不均。為了獲取高精度的二維圖像,該文搭建了一個專門用于采集二維圖像數據的圖像采集平臺,該平臺主要包括以下4個部分。該文利用Python 程序控制3個攝像頭進行拍攝,每個攝像頭拍攝60 張二維圖像,全部保存為JPG 格式,都設置為相同的分辨率。該圖像采集平臺的組成如下所示:
1)框架:包括白色的背景板和在光線不足的時候進行補光的LED 燈管設備;
2)支架:用來固定攝像頭的位置;
3)圓形轉盤:放置彩葉芋植株,讓植株隨著轉盤在特定的運動軌跡上旋轉;
4)攝像頭:選用3個800 萬像素的攝像頭等間距地固定在支架上。為了保證平臺的穩定性,整個拍攝過程都將攝像頭設置為自動對焦模式,同時保證攝像頭各參數在拍攝過程中保持不變。
該文將得到的多張不同角度的二維圖像輸入三維建模軟件RealityCapture 中,使用運動恢復結構(structure from motion,SFM)算法[22]和多視角立體集群算法(cluster multi view stereo,CMVS)算法[23]進行三維重建。為了更好的可視化,進行了網格和紋理處理。接著,使用顏色濾波去除標簽紙、泥土等與植物部分無關的點。受環境因素、采集設備等的限制,點云數據不可避免地受到噪聲的干擾。造成點云噪聲的原因歸結為兩種:離群點和噪聲點[24]。噪聲主要分布于葉片的表面周圍,主要來源于葉片表面反光和相互遮擋等原因造成的特征點匹配錯誤而產生的錯誤點。為了去除噪聲,同時由于點云數據密度不規則需要平滑,對下采樣后的彩葉芋點云使用統計濾波去除點云中的噪聲。為了提高精度和計算效率,結合體素濾波對植物點云進行降采樣以降低原始點云密度。最后,該文利用三維點云處理軟件CloudCompare[25]中的分割工具進行人工標注。其中,語義標注是將點云中的每個點都標注為葉(Leaf)、莖(Stem)或者非植物(NonPlant)這三類中的一類,而實例標注是將不同葉片標注為不同的實例。該文對通過上述方式獲得的點云數據進行一系列旋轉、縮放和加入高斯噪聲等數據增強操作后,得到總共包含3 300個彩葉芋點云樣本的數據集,并將其按照2:1 的比例分為訓練集和測試集。
該文方法屬于兩階段模型:首先通過重疊的3D 窗口掃描彩葉芋點云,將其分塊輸入植物點云多任務分割網絡MT-SegNet 中獲得每個點vj的語義預測和實例嵌入結果;作為后處理步驟,將MT-SegNet 中獲得的語義預測和實例嵌入結果同時輸入到MV-CRF 中結合語義標簽和實例標簽進行聯合優化,它引入對語義和目標本身的約束,不斷調整目前的分割結果。
每個點云塊中的每個點由一個九維(9D)向量表示,包括xyz坐標和rgb顏色信息,以及每個點相對于所在點云塊的位置坐標分別將這些點云塊輸入網絡中用于模型訓練,每個塊中的點云都將被網絡單獨分割,最后將從各個點云塊的語義預測結合起來得到一個完整的分割結果。如圖1 所示,MT-SegNet 采用帶有跳躍連接的編碼器-解碼器架構,可用來單獨作為一個語義分割網絡。它主要由3個模塊組成:多頭注意力池化模塊、下采樣模塊和上采樣模塊。輸入點云(N,D)首先經過一個多層感知機(multilayer perceptron,MLP)層提取每個點的特征.該文設置點云的點數N為1 024,特征維度D為9。然后使用4個編碼層來減少點的數量,同時增加每個點的特征維度,其中每個編碼層都包含一個多頭注意力池化模塊和一個下采樣模塊。點云以四倍的速率下采樣,也就是每層后僅保留 25% 的點,即(N→N/4→N/16→N/64→N/256),同時增加每個點的特征維數,即(32→64→128→256→512)。之后,使用4個解碼層將點云的點數恢復為N,其中每個解碼層包括一個上采樣模塊和MLP 層,通過跳躍連接融合來自解碼器階段的高級特征和編碼器階段對應尺度的低級特征。通過一個全連接(fully connected layers,FC)層后,MTSegNet 分成兩個不同的分支,分別執行兩項任務:預測3D 點的語義類別和將這些點嵌入到高維特征向量中,從而方便將這些點聚類為對象實例。最終網絡輸出N×C1和N×C2 的矩陣,其中C1 為類別數,C2 為實例嵌入的維數,分別設置為3 和32。

圖1 MT-SegNet 網絡架構圖Fig.1 Architecture of a multi-task segmentation network for plant on 3D point cloud (MT-SegNet)
1.3.1 多頭注意力池化模塊
為避免使用最大池化、平均池化等操作而引起的鄰域特征信息丟失問題,該文引入多頭注意力池化模塊(multi-head attentive pooling module,MAPM)來自動聚合鄰域點的特征,模塊結構圖如圖2 所示。它能夠通過自動學習的方式獲取到一組鄰域點特征的注意力分數,作為權重與每個點特征相乘再求和得到聚合特征。然后將加權得到的特征輸入殘差模塊進一步提取深度的聚合特征,并采用多頭注意力機制聚合不同的注意力池化模塊(attentive pooling module,APM)提取到的特征信息,進一步提高網絡的特征學習能力。

圖2 多頭注意力池化模塊MAPM 結構圖Fig.2 Structure of the multi-head attentive pooling module (MAPM)
將全局特征Fi輸入殘差模塊進一步提取深度聚合特征,其中殘差連接表示為MLP(x)+x,MLP 由兩個共享的MLP 層帶著BatchNorm(BN)歸一化層和ReLU 激活函數組合而成。最后將多個頭的輸出特征進行拼接,式如(4)所示。式中m代表當前的注意力頭部編號,M是注意力頭的個數,本文設置為4。
1.3.2 下采樣模塊
1.3.3 上采樣模塊
本研究的所有試驗均在AMD EPYC 7 302 16-Core Processor CPU、主頻3.00 GHz,NVIDIA GeForce RTX 3 090 GPU 的 64 位服務器上進行,服務器運行在Linux CentOS 8 系統下,運算平臺為CUDA-Toolkit 11.1,采用Cudnn 8.0.5 作為網絡的GPU 加速庫,深度學習框架為Pytorch,版本為1.8.1。在試驗中,網絡訓練的批量大小batch size 全部設置為16,初始學習率設置為0.001,網絡模型的訓練迭代次數epoch 設為50,每 20個epoch 學習率降低50%。訓練過程采用基于動量的隨機梯度下降優化算法用于優化網絡,設置動量為 0.9,權重衰減系數為 0.000 5。
MT-SegNet 分成兩個獨立的分支,分別執行兩個任務:預測3D 點的語義標簽和創建點的實例嵌入,所以MT-SegNet 的損失是其兩個分支損失之和。
針對語義分割任務,該文對所提出的植物分割網絡的性能在點級別進行了評估。使用常用的語義類別的交并比(IoU)、準確率(P)、召回率(R)和F1 分數作為評估指標。針對實例分割任務,該文使用平均準確率(mean precision,mP)、平均召回率(mean recall,mR)、平均實例覆蓋率(mean coverage,mC)和平均加權實例覆蓋率(mean weighted coverage,mWC)在實例級別和點級別上評估該任務。
該文基于構建的彩葉芋點云數據集,在語義分割任務中評估了MT-SegNet 的獨立語義分割性能以及使用MV-CRF 進行聯合優化的分割性能,并與其他主流的深度學習點云分割網絡進行了對比。其中PointNet[15]、PointNet++[16]、DGCNN[26]、PointWeb[27]只能進行語義分割。JSIS3D[28]、ASIS[29]、JSNet[30]是雙功能的分割網絡,可同時進行語義分割和實例分割。該文對以上文獻算法實現后基于評估指標在彩葉芋點云測試集上的語義分割結果進行定量對比分析,對比方法結果如表1 所示。

表1 不同深度學習網絡語義分割性能的比較Table 1 Comparison of the semantic segmentation performance of proposed method with different deep learning networks %
從表中可以看出,該文提出的模型在IoU、P、R和F1 分數平均值分別達到了84.54%、93.64%、91.39%、92.48%,在大多數情況下都實現了最佳的語義分割性能。與雙功能網絡ASIS、JSNet 相比,該文方法(MT-SegNet +MV-CRF)實現了多任務分割的同時保持了最佳的語義分割效果。另外,表1 的結果表明,在所有分割網絡中,莖的準確率一般都低于其他兩種。這種現象可能有兩個原因:1)莖部的復雜空間結構使其比葉子更難被分割;2)莖的點數遠小于葉的點數,每個預測錯誤的點對莖的分割精度影響相對比較大。
葉的語義分割中,如何精確地定位莖和葉片之間的連接邊界是提高植物分割精度的關鍵。圖3 顯示了該文方法在不同的植物生長周期內選擇的彩葉芋點云分割可視化結果。在彩葉芋點云3 號中,可見葉片與莖的連接處能夠定位出來,顯示出良好的分割結果。且它能靈敏的檢測到新長出來的小葉和即將凋謝的葉片并把它們分割出來,如圖3 所示,成功檢測出彩葉芋點云1、2 號中主莖中分叉處新長出的小葉和彩葉芋點云4 號中與盆混為一體的即將枯萎的葉片。

圖3 彩葉芋植株點云語義分割的可視化結果示例Fig.3 Example of visualization results for semantic segmentation of colored-leaf taro point clouds,
該文使用IoU 閾值為0.5 下的mP、mR、mC 和mWC來評估實例分割性能,將Mean-Shift 聚類算法應用于MTSegNet 的實例嵌入方法稱為MT-SegNet+Mean-Shift,將使用多值條件隨機場模型進行聯合優化的方法稱為MTSegNet+MV-CRF。并與現有的雙功能深度學習網絡ASIS、JSNet 和JSIS3D 的分割結果進行了定量比較,在彩葉芋點云測試數據集上的葉實例分割結果如表2 所示。

表2 本文網絡與其他網絡的實例分割性能比較Table 2 Comparison of the instance segmentation performance of proposed network with other networks %
試驗結果表明,MT-SegNet 在內的兩種模型在彩葉芋點云的葉實例分割中的定量衡量指標都達到70%以上,在葉上面展示出了良好的實例分割性能。另外,MTSegNet+MV-CRF 方法的實例分割指標值mP、mR 與MT-SegNet+Mean-Shift 方法相比提高了約3個百分點,表明使用多值條件隨機場模型優化能夠顯著提高實例分割的性能。葉實例分割的最大難點是葉的重疊問題,圖4 中展示了在葉片數較多且容易發生葉片之間的覆蓋重疊情況下,彩葉芋點云葉實例分割的可視化結果。雖然在莖、葉和重疊葉片的交界處仍然存在部分錯誤分割的點,但彩葉芋點云的全部葉片和莖都被幾乎完整地分割為單個實例,可見其在一些葉片覆蓋比較嚴重的彩葉芋點云植株中也能取得較好的分割效果。

圖4 彩葉芋植株點云實例分割的可視化結果示例Fig.4 Example of visualization results for instance segmentation of colored-leaved taro point clouds
該文設計了單獨的消融試驗來驗證MT-SegNet 中的模塊對植物分割任務的有效性,包括下采樣中的位置編碼模塊以及多頭注意力池化模塊和殘差模塊,試驗結果如表3 和表4 所示。從表3 和表4 可以看出添加其中的任何一個模塊都會提高網絡的分割性能。

表3 彩葉芋點云語義分割的消融試驗分析Table 3 Ablation experimental analysis of semantic segmentation of point clouds of colored-leaved taro plants %

表4 彩葉芋點云實例分割的消融試驗分析Table 4 Ablation experimental analysis of instance segmentation of point clouds of colored-leaved taro plants %
從A2、A4 對比結果可見,其中添加多頭注意力池化模塊對網絡分割性能的提升比較明顯,其語義分割指標IoU、P、R和F1 分數的平均值分別都提高2個百分點左右,實例分割指標mP、mR、mC 和mWC 值的增長幅度為5~9個百分點。多頭注意力池化模塊能根據學習到的注意力權重,捕捉到鄰域點之間的重要特征并進行加權聚合得到全局特征,從而有效提升了語義分割和實例分割性能。從A1、A4 對比結果中可見,其次對MTSegNet 比較重要的是位置編碼模塊,該模塊對空間中三維點位置編碼,網絡能夠學習到植物點云的局部幾何結構信息。從表中可以看出,語義分割指標值IoU 提高1.37個百分點,實例分割指標mR 提高8個百分點左右。從A3、A4 結果中可見,當添加殘差模塊時,網絡的4個語義分割指標的平均值都提高了1個百分點左右,實例分割指標mC 和mWC 提高了4個百分點左右,對網絡的分割性能影響最小。
基于完整的MT-SegNet 網絡即A4 版本,該文研究了鄰域的設置用于確定每個中心點周圍的局部鄰域大小對網絡性能的影響。當設置不同的鄰域K時,該網絡的語義分割和實例分割評估指標值的變化表5 所示。隨著局部鄰域K的增大,其語義分割指標平均的IoU、P、R和F1 分數以及實例分割指標mP、mR、mC 和mWC 值先是提高,然后隨著波動而下降,當K設置為16 時,語義分割和實例分割的精度均達到最高。當鄰域設置較小(如K=4)時,網絡可能無法捕獲足夠的上下文信息進行預測,而當鄰域設置過大(如K=64)時,這其中可能包含一些距離中心點很遠且相關性較低的點,不可避免地在處理過程中引入過多的噪聲,導致計算成本升高且降低網絡的準確率。

表5 不同鄰域K 設置下對MT-SegNet 網絡性能的定量分析Table 5 Quantitative analysis of MT-SegNet performance under different neighborhood K settings %
植物點云的器官分割在實現無損、高通量自動化表型測量中具有重要意義。聚焦現代農業應用中植物器官分割存在的挑戰性問題,本文針對不同生長環境下培育的彩葉芋植株,首先搭建數據采集平臺獲得多角度的二維圖像,通過三維重建得到植株的三維點云。然后進行點云預處理以生成干凈的彩葉芋三維點云數據,并通過人工標注、數據增強等步驟,最終獲得包含3 300個彩葉芋點云的數據集。然后,本文提出了一個雙功能的植物分割網絡MT-SegNet,其分為兩個分支,執行兩項任務:預測點的語義標簽及將點嵌入到高維的特征向量中,從而便于將這些點聚類為實例。
在MT-SegNet 中,本文提出一種基于注意力機制的多頭注意力池化模塊,能自動學習到重要的鄰域點特征和捕捉鄰域之間的特征依賴關系。它為每個鄰域點特征學習得到一個注意力權重,然后加權聚合得到有利于提高分割性能的全局特征。最后結合語義標簽和實例標簽,使用MV-CRF 進行多任務的聯合優化,最終實現彩葉芋三維點云的莖葉語義分割和葉的實例分割。在語義分割和實例分割任務中,本文方法的語義分割指標平均的交并比、準確率、召回率和F1 分數分別達到84.54%、93.64%、91.39%、92.48%,實例分割指標平均準確率、平均召回率、平均實例覆蓋率和平均加權實例覆蓋率分別達到88.10%、78.44%、76.24%、76.93%。試驗結果表明,與現有方法相比,本文方法在彩葉芋點云測試數據集上達到了最佳的分割性能。
此外,MT-SegNet 也有一定的局限性。網絡的性能與數據集的大小呈正相關,與二維圖像的采集和標注相比,現實中點云的采集和標注耗時且容易出錯。當新葉被莖包裹時,往往無法正確標記類別,植物各個部分的邊緣標記模糊也是造成分割錯誤的原因之一。未來將重點關注以下方面,首先,使用不同的3D 成像和重建工具收集更高精度的植物三維點云數據,并將更多的植物種類引入到數據集中。其次,為了降低數據標注中的人工成本,可以考慮使用模擬器合成數據的方法來幫助增加植物三維點云數據進行網絡訓練。最后,設計出更適合處理3D 植物結構的深度學習網絡模型以進一步提升植物三維點云分割的效果和效率,滿足農業應用中特定場景的實時需求。