陳龍,王浩云,季呈明,孫云曉,徐煥良
(南京農(nóng)業(yè)大學(xué)人工智能學(xué)院,江蘇 南京 210095)
點(diǎn)云數(shù)據(jù)反映一個(gè)物體的空間結(jié)構(gòu),近年來(lái)對(duì)點(diǎn)云數(shù)據(jù)研究比較廣泛的是對(duì)物體進(jìn)行三維建模。劉剛等[1]提出一種基于深度信息分割聚類的草莓冠層結(jié)構(gòu)形態(tài)三維重建算法,三維重建出具有顏色信息的草莓冠層結(jié)構(gòu)形態(tài);Yamamoto等[2]使用Kinect與旋轉(zhuǎn)臺(tái)獲取蘋(píng)果各個(gè)角度的點(diǎn)云數(shù)據(jù),然后通過(guò)點(diǎn)云配準(zhǔn)及貼皮建立蘋(píng)果果實(shí)三維模型;徐勝勇等[3]使用Kinect傳感器獲取不同角度的角果期油菜分枝點(diǎn)云數(shù)據(jù),使用基于KD-tree搜索的最近點(diǎn)迭代算法實(shí)現(xiàn)點(diǎn)云配準(zhǔn),進(jìn)行油菜枝的三維重建。
點(diǎn)云數(shù)據(jù)除了在三維建模研究項(xiàng)目上發(fā)展比較迅速之外,也逐漸應(yīng)用于物體的表型參數(shù)預(yù)測(cè)的研究。王浩云等[4]通過(guò)3D-CNN建立蘋(píng)果高光譜圖像與蘋(píng)果糖度、硬度、含水量的多任務(wù)學(xué)習(xí)模型,提出一種蘋(píng)果高光譜多品質(zhì)參數(shù)同時(shí)檢測(cè)方法;郭彩玲等[5]提出一種獲取蘋(píng)果樹(shù)冠層參數(shù)的方法KD-trees-ICP,用于高精度配準(zhǔn)蘋(píng)果樹(shù)冠層三維點(diǎn)云數(shù)據(jù),獲取較為精準(zhǔn)的蘋(píng)果樹(shù)冠層幾何參數(shù);Su等[6]利用深度圖像和彩色圖像相結(jié)合的方法構(gòu)建馬鈴薯的3D模型,預(yù)測(cè)馬鈴薯的長(zhǎng)度、寬度、厚度和體積參數(shù),預(yù)測(cè)平均絕對(duì)誤差均小于2.4 mm;Pamornnak等[7]通過(guò)Kinect相機(jī)獲取油棕果的RGB信息和深度信息,將深度信息映射到彩色圖像中獲得油棕果的2.5D模型,然后使用體積積分法估測(cè)油棕果的相對(duì)體積并進(jìn)行分級(jí)。
上述方法是將點(diǎn)云數(shù)據(jù)轉(zhuǎn)化為規(guī)則的三維體素網(wǎng)格或圖像集合,然而這會(huì)使數(shù)據(jù)大量增加并忽略數(shù)據(jù)本身之間的關(guān)聯(lián)性。本文提出了一種新的蘋(píng)果外部表型參數(shù)的估算方法,直接把點(diǎn)云作為輸入,通過(guò)橢圓幾何模型建立仿真數(shù)據(jù)模型庫(kù);引入Pointnet網(wǎng)絡(luò)[8],改變網(wǎng)絡(luò)輸出層,使用回歸模型代替原網(wǎng)絡(luò)的分類模型,訓(xùn)練后直接將預(yù)處理后的實(shí)測(cè)點(diǎn)云數(shù)據(jù)遷移到模型中,再進(jìn)行模型參數(shù)微調(diào);通過(guò)5-折交叉驗(yàn)證,用來(lái)彌補(bǔ)實(shí)測(cè)數(shù)據(jù)量少帶來(lái)的過(guò)擬合和泛法能力差等影響,最終得到一個(gè)基于任意角度拍攝到殘缺率較高的點(diǎn)云數(shù)據(jù)條件下,仍然能夠快速、準(zhǔn)確估算出蘋(píng)果外部表型參數(shù)的網(wǎng)絡(luò)模型。
選擇250個(gè)大小均勻、無(wú)明顯缺陷與損傷的陜西紅富士蘋(píng)果,使用美耐特電子數(shù)字顯示不銹鋼高精度游標(biāo)卡尺測(cè)量蘋(píng)果的高度和直徑。選取蘋(píng)果最高點(diǎn)與最低點(diǎn)距離作為高度;每隔30°測(cè)1次直徑,再垂直角度測(cè)另一條直徑,取3個(gè)重復(fù)次共6組數(shù)據(jù)的平均值作為直徑(表1)。
表1 實(shí)測(cè)蘋(píng)果表型參數(shù)Table 1 Measured apple phenotypic parameters
選用谷歌公司發(fā)布的Kinect V2相機(jī)[9],拍攝物距為650 mm時(shí)的正立、倒立、側(cè)面3個(gè)角度的蘋(píng)果,搭建好試驗(yàn)拍攝平臺(tái)后,使用matlab2016b提供處理點(diǎn)云數(shù)據(jù)的基本工具[10],獲取初始點(diǎn)云(圖1-A)。Kinect相機(jī)獲取的初始點(diǎn)云數(shù)據(jù)包含很多噪聲,使用直通濾波法[11]去除噪聲,排除多余的背景信息造成的干擾(圖1-B)。選用最遠(yuǎn)點(diǎn)采樣法[12]繼續(xù)對(duì)點(diǎn)云進(jìn)行采樣處理獲得符合模型輸入格式的精簡(jiǎn)點(diǎn)云(圖1-C)。
圖1 初始點(diǎn)云(A)、直通濾波后點(diǎn)云(B)和最遠(yuǎn)點(diǎn)采樣后點(diǎn)云(C)Fig.1 Original point cloud(A),point cloud after pass through filtering(B)and point cloud after farthest point sampling(C)
本文的技術(shù)路線如圖2所示。利用點(diǎn)云數(shù)據(jù)作為Pointnet網(wǎng)絡(luò)的輸入,對(duì)蘋(píng)果的表型參數(shù)直徑、高度、體積進(jìn)行估算。先測(cè)量蘋(píng)果直徑、高度和體積等表型參數(shù),使用Kinect相機(jī)采集蘋(píng)果點(diǎn)云數(shù)據(jù),并選擇直通濾波和最遠(yuǎn)點(diǎn)采樣法對(duì)原始點(diǎn)云進(jìn)行預(yù)處理。考慮實(shí)測(cè)數(shù)據(jù)量不足,訓(xùn)練模型易產(chǎn)生過(guò)擬合現(xiàn)象,使用橢球曲面方程建立仿真蘋(píng)果模型庫(kù),加入遷移學(xué)習(xí)思想,訓(xùn)練用于遷移的仿真數(shù)據(jù)Pointnet模型,通過(guò)模型遷移到實(shí)測(cè)數(shù)據(jù)中去重新訓(xùn)練實(shí)測(cè)網(wǎng)絡(luò)模型,提高模型預(yù)測(cè)精度。
圖2 蘋(píng)果表型參數(shù)估算技術(shù)路線圖Fig.2 Algorithm for estimating apple phenotypic parameters technology roadmap
2.1.1 Pointnet網(wǎng)絡(luò)原理點(diǎn)云數(shù)據(jù)因具有旋轉(zhuǎn)性和無(wú)序性,很多傳統(tǒng)的點(diǎn)云深度學(xué)習(xí)主要采取2種方法對(duì)數(shù)據(jù)進(jìn)行處理:一種是把點(diǎn)云投影到選定的二維平面,如三視圖角度,同時(shí)還可以融合多種圖像信息,實(shí)現(xiàn)點(diǎn)云數(shù)據(jù)預(yù)處理;另一種是把數(shù)據(jù)劃分到空間依賴的體素,先分割三維空間,再使用3D卷積等方式繼續(xù)處理數(shù)據(jù)。但是這2種方法會(huì)在增加大量不必要數(shù)據(jù)的同時(shí)破壞本身的內(nèi)在不變性。
Qi等[8]提出的Pointnet網(wǎng)絡(luò)直接將點(diǎn)云數(shù)據(jù)作為輸入,在物體分類試驗(yàn)上取得了很好的效果,網(wǎng)絡(luò)對(duì)點(diǎn)云數(shù)據(jù)的無(wú)序性和旋轉(zhuǎn)性得到了很好的處理。模型先對(duì)每個(gè)點(diǎn)進(jìn)行一定程度的特征提取之后,通過(guò)最大池化層提取點(diǎn)云的整體特征;然后引入2次空間變換網(wǎng)絡(luò)解決點(diǎn)云的旋轉(zhuǎn)性問(wèn)題,第1次為3×3的輸入變換網(wǎng)絡(luò)對(duì)空間中的點(diǎn)云進(jìn)行位置調(diào)整,第2次為64×64的特征變換網(wǎng)絡(luò)對(duì)提取出的64維特征進(jìn)行對(duì)齊,即在特征層面對(duì)點(diǎn)云進(jìn)行變換,將所有的輸入點(diǎn)集對(duì)齊到1個(gè)統(tǒng)一的點(diǎn)集空間。
網(wǎng)絡(luò)中的多層感知器(multi-layer perception,MLP)是通過(guò)共享權(quán)重的卷積實(shí)現(xiàn)的,第1層卷積核大小是1×3,之后的每一層卷積核大小都是1×1。經(jīng)過(guò)2個(gè)空間變換網(wǎng)絡(luò)和2個(gè)MLP之后,對(duì)每一個(gè)點(diǎn)提取1 024維特征,經(jīng)過(guò)MAX Pooling構(gòu)成 1×1 024 的全局特征。再經(jīng)過(guò)1個(gè)MLP得到k個(gè)得分。分類網(wǎng)絡(luò)最后銜接的損失函數(shù)是softmax。Pointnet網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 Pointnet網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Pointnet network structure diagram
該模型影響力在于其為點(diǎn)云處理提供了簡(jiǎn)單、高效的特征提取方法,核心思想是設(shè)計(jì)1個(gè)對(duì)稱函數(shù)去融合所有點(diǎn)的信息。模型公式如下:
F({x1,x2,…,xn})≈G(h(x1),h(x2),…,h(xn))
(1)
式中:F為模型目標(biāo);G為設(shè)計(jì)的理想對(duì)稱函數(shù),這里指Max Pooling;h為MLP;x1,x2,…,xn為模型中的每個(gè)點(diǎn)。基本思路是對(duì)點(diǎn)云數(shù)據(jù)中的各個(gè)點(diǎn)使用MLP分別處理,再送入對(duì)稱函數(shù)MAX Pooling層中處理實(shí)現(xiàn)點(diǎn)云排列不變形,通過(guò)簡(jiǎn)單的MLP+MAX Pooling解決點(diǎn)云無(wú)序性與旋轉(zhuǎn)性問(wèn)題。
2.1.2 基于Pointnet蘋(píng)果表型參數(shù)估算模型設(shè)計(jì)引入Pointnet網(wǎng)絡(luò),將輸出層的分類模型改為回歸模型。輸入為全部點(diǎn)云數(shù)據(jù)的集合,表示為1個(gè)m×n×3的二維張量,將點(diǎn)云看成是W和H分為n和3的2D圖像。其中:m指批處理的大小;n代表點(diǎn)云數(shù)量;3對(duì)應(yīng)x、y、z坐標(biāo)。本試驗(yàn)中m為64,點(diǎn)云數(shù)量為 1 024。在此基礎(chǔ)上做卷積,第1個(gè)卷積核大小為[1,3],正好對(duì)應(yīng)1個(gè)點(diǎn),輸出通道數(shù)是64;第2個(gè)卷積核大小是[1,1],數(shù)據(jù)通過(guò)與第1個(gè)T-Net學(xué)習(xí)到的轉(zhuǎn)換矩陣相乘來(lái)對(duì)齊,保證模型對(duì)特定空間轉(zhuǎn)換的不變性。第1個(gè)輸入變換網(wǎng)絡(luò)大小為3×3,通過(guò)多次MLP對(duì)各點(diǎn)云數(shù)據(jù)進(jìn)行特征提取,再用第2個(gè) T-Net 對(duì)特征進(jìn)行對(duì)齊,第2個(gè)特征變換網(wǎng)絡(luò)大小為64×64,在特征的各個(gè)維度上執(zhí)行MAX Pooling操作得到最終64×1 024的全局特征。經(jīng)過(guò)3層全連接層得到64×1維輸出,模型中的MLP除了第1層卷積核大小為1×3,其他都是1×1。網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 基于Pointnet的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Network structure diagrambased on Pointnet
模型的損失函數(shù)如下:
(2)
2.2.1 遷移學(xué)習(xí)原理深度學(xué)習(xí)模型訓(xùn)練需要大量的標(biāo)注數(shù)據(jù),然而在很多領(lǐng)域獲得大數(shù)據(jù)的代價(jià)太大,并且給數(shù)據(jù)添加標(biāo)簽耗時(shí)耗力。遷移學(xué)習(xí)把一個(gè)領(lǐng)域的知識(shí),遷移到另一個(gè)領(lǐng)域,使目標(biāo)領(lǐng)域能夠取得更好的學(xué)習(xí)效果,這樣可以彌補(bǔ)數(shù)據(jù)量不足帶來(lái)的影響。
本試驗(yàn)采用基于模型的參數(shù)遷移學(xué)習(xí)。根據(jù)遷移學(xué)習(xí)領(lǐng)域自適應(yīng)的研究[13-15],以及遷移學(xué)習(xí)過(guò)程中參數(shù)調(diào)整的分析[16-17],試驗(yàn)的實(shí)測(cè)數(shù)據(jù)集相對(duì)較少且實(shí)測(cè)數(shù)據(jù)與仿真數(shù)據(jù)在模型上具有一定的差距,所以將模擬數(shù)據(jù)集上訓(xùn)練好的模型參數(shù)遷移到實(shí)測(cè)數(shù)據(jù)集上時(shí),只保留前幾層卷積層參數(shù)不變,將1個(gè)較小的學(xué)習(xí)率對(duì)模型參數(shù)進(jìn)行微調(diào)重新訓(xùn)練其他層的參數(shù)。在新的數(shù)據(jù)集較小的情況下,考慮到重新訓(xùn)練的模型要防止過(guò)擬合的情況,需要保持原模型網(wǎng)絡(luò)層參數(shù)不變。新的數(shù)據(jù)集與原數(shù)據(jù)集有一定的分布差距,原模型的深層卷積層所學(xué)習(xí)到的高級(jí)特征不能適用于新的數(shù)據(jù),需要在原基礎(chǔ)上重新訓(xùn)練新的參數(shù),但是訓(xùn)練的仿真數(shù)據(jù)模型是基于大量的仿真數(shù)據(jù)集,所以低級(jí)特征的檢測(cè)仍可以適用于新的實(shí)測(cè)數(shù)據(jù)集,新模型的前幾層卷積層參數(shù)并不需要重新訓(xùn)練。
2.2.2 仿真模型庫(kù)的建立遷移學(xué)習(xí)需要大量的數(shù)據(jù)訓(xùn)練用于遷移的模型,為了獲取足夠的數(shù)據(jù)用于訓(xùn)練遷移模型,試驗(yàn)建立了蘋(píng)果仿真模型庫(kù)。從蘋(píng)果外形看,可以把它當(dāng)作是添加了上、下2部分凹陷的橢球構(gòu)成,能夠使用合適的參數(shù)曲面方程變形構(gòu)造出蘋(píng)果的仿真模型。本文采用基于橢球變形的蘋(píng)果果實(shí)造型方法,首先通過(guò)參數(shù)方程生成1個(gè)橢球體曲面,其次對(duì)橢球體的上、下兩端添加2組干擾函數(shù)將橢球體曲面變形為蘋(píng)果外部造型,最終蘋(píng)果外形參數(shù)方程如下:
(3)
式中:Xp、Yp、Zp為生成點(diǎn)的x、y、z軸的坐標(biāo);a、b、c為可調(diào)參數(shù),控制蘋(píng)果模型的3條半軸的長(zhǎng)度;u、v表示方程在豎直和平面上的旋轉(zhuǎn)角度;g(u,v) 為干擾函數(shù),具體表示如下:
(4)
式中:g1(u,v)、g2(u,v)分別是底部干擾函數(shù)與頂部干擾函數(shù),共同組成完整的干擾函數(shù);k1、k2控制橢球面上、下端向內(nèi)部的凹陷程度。試驗(yàn)取0.1作為外形參數(shù)a、b、c的步長(zhǎng);參數(shù)k1設(shè)置的步長(zhǎng)為2;參數(shù)k2設(shè)置的步長(zhǎng)為20。再根據(jù)畸形排除法[18]去除不合實(shí)際的畸形蘋(píng)果。得到的結(jié)果如表2所示。
表2 橢圓方程參數(shù)取值情況Table 2 Parameter values of elliptic equation
根據(jù)表2的參數(shù)取值情況,通過(guò)橢球曲面方程理論上可以生成約500萬(wàn)組參數(shù)組合。經(jīng)過(guò)畸形排除法篩選出來(lái)的非畸形蘋(píng)果模型的參數(shù)組合約為20萬(wàn)組。
根據(jù)參數(shù)方程,計(jì)算生成的仿真蘋(píng)果模型表型參數(shù)值。先控制u、v的大小,然后根據(jù)模型中點(diǎn)的y的最大值與最小值之差作為仿真蘋(píng)果的高度,再?gòu)哪P偷狞c(diǎn)中找到坐標(biāo)為(x,0,0)與(0,0,z)的點(diǎn),2x與2z就是蘋(píng)果模型的2個(gè)直徑,取2個(gè)直徑的平均值作為仿真模型的直徑;最后對(duì)曲面方程進(jìn)行積分得到仿真模型的體積。
2.2.3 基于Pointnet+TL蘋(píng)果表型參數(shù)估算模型設(shè)計(jì)試驗(yàn)主要由數(shù)據(jù)預(yù)處理、仿真數(shù)據(jù)Pointnet模型訓(xùn)練、實(shí)測(cè)數(shù)據(jù)遷移學(xué)習(xí)3個(gè)部分組成,數(shù)據(jù)預(yù)處理部分主要把實(shí)測(cè)數(shù)據(jù)去除背景噪聲并通過(guò)最遠(yuǎn)點(diǎn)采樣方法得到精簡(jiǎn)點(diǎn)云數(shù)據(jù);仿真數(shù)據(jù)Pointnet模型訓(xùn)練如2.1.2節(jié),將仿真數(shù)據(jù)代替實(shí)測(cè)數(shù)據(jù)進(jìn)行訓(xùn)練;在訓(xùn)練好的仿真數(shù)據(jù)模型基礎(chǔ)上,把實(shí)測(cè)數(shù)據(jù)遷移過(guò)去,給1個(gè)較小的學(xué)習(xí)率進(jìn)行微調(diào),經(jīng)過(guò) 5-折交叉驗(yàn)證得到最終的網(wǎng)絡(luò)模型(圖5)。
圖5 基于Pointnet+遷移學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Network structure diagram based onPointnet+transfer learning
2.3.1 蘋(píng)果表型參數(shù)回歸算法評(píng)價(jià)指標(biāo)試驗(yàn)選擇均方根誤差(RMSE)和決定系數(shù)(R2)作為算法回歸效果的評(píng)價(jià)指標(biāo),其計(jì)算公式如下:
(5)
RMSE是真實(shí)值標(biāo)簽與預(yù)測(cè)值的均方誤差的平方根,該指標(biāo)的數(shù)值越大,說(shuō)明模型回歸效果越差,反之效果越好。
(6)
2.3.2 蘋(píng)果表型參數(shù)的估算結(jié)果試驗(yàn)采用TensorFlow框架,使用英偉達(dá)2080Ti顯卡進(jìn)行模型訓(xùn)練,深度學(xué)習(xí)的優(yōu)化算法選用Adam動(dòng)量?jī)?yōu)化算法,批量訓(xùn)練和測(cè)試批次大小為64。
在仿真模型上把通過(guò)控制橢圓方程式生成的12 480組仿真數(shù)據(jù)模型庫(kù)離散成點(diǎn)云數(shù)據(jù),對(duì)模擬數(shù)據(jù)進(jìn)行任意角度切割,獲得50%殘缺率的仿真蘋(píng)果,取11 520組作為訓(xùn)練集,960組作為測(cè)試集,學(xué)習(xí)率設(shè)為0.001,批次大小為64,最大迭代次數(shù)為800,模型網(wǎng)絡(luò)迭代500次后趨于穩(wěn)定。得到模擬數(shù)據(jù)的預(yù)測(cè)模型對(duì)蘋(píng)果的直徑、高度、體積3個(gè)表型參數(shù)的預(yù)測(cè)指標(biāo)RMSE分別為0.696、1.264和4.670,R2分別為0.982、0.956和0.980。表明試驗(yàn)?zāi)P驮谀M數(shù)據(jù)上取得了優(yōu)異的預(yù)測(cè)效果。
試驗(yàn)有250組實(shí)測(cè)蘋(píng)果數(shù)據(jù),每個(gè)數(shù)據(jù)有3個(gè)角度的點(diǎn)云信息,共計(jì) 750組殘缺率約為50%的實(shí)測(cè)數(shù)據(jù)。將得到的模擬數(shù)據(jù)訓(xùn)練好的模型參數(shù)遷移到實(shí)測(cè)數(shù)據(jù)上,用比仿真數(shù)據(jù)小10倍的學(xué)習(xí)率即0.000 1微調(diào)網(wǎng)絡(luò)模型的參數(shù),網(wǎng)絡(luò)訓(xùn)練8 000次后趨于穩(wěn)定,然后通過(guò)5-折交叉驗(yàn)證,將數(shù)據(jù)均分為5份,將每個(gè)子集數(shù)據(jù)分別取1組作為測(cè)試集,其他4組作為訓(xùn)練集,這樣會(huì)得到5個(gè)模型,用這5個(gè)模型測(cè)試集的回歸指標(biāo)平均數(shù)作為結(jié)果,這樣既能在一定程度上避免過(guò)擬合和欠擬合的發(fā)生,又可以在很大程度上保證模型的可靠性。最終預(yù)測(cè)模型對(duì)蘋(píng)果的直徑、高度、體積3個(gè)表型參數(shù)的預(yù)測(cè)指標(biāo)RMSE分別為2.247、2.276 和22.780,R2分別為0.919、0.841和0.927。3組表型參數(shù)的RMSE均在誤差允許的范圍,直徑和體積的預(yù)測(cè)R2均在0.900以上,而高度的R2為0.841,這是因?yàn)樘O(píng)果的外觀不完全均勻,而仿真數(shù)據(jù)分布均勻,實(shí)測(cè)數(shù)據(jù)的高度與仿真點(diǎn)云模型的高度分布差距與直徑和體積相比較大,但仍然在可接受范圍。
將750組實(shí)測(cè)數(shù)據(jù)經(jīng)過(guò)降噪和最遠(yuǎn)點(diǎn)采樣后作為輸入,640組作為訓(xùn)練集,余下的作為測(cè)試集,訓(xùn)練完成后分別估算出訓(xùn)練集對(duì)應(yīng)的蘋(píng)果外部表型參數(shù)直徑、高度和體積,將估算值與實(shí)測(cè)值進(jìn)行線性回歸分析。從圖6可見(jiàn):通過(guò)該算法估算的蘋(píng)果外部表型參數(shù)和實(shí)測(cè)值具有很高的相關(guān)性,雖然高度的估算結(jié)果存在誤差,但誤差穩(wěn)定,估算值的點(diǎn)緊密圍繞在回歸線附近且分布均勻,符合實(shí)際。證明該方法對(duì)從任意角度拍攝的殘缺率達(dá)到50%左右的點(diǎn)云數(shù)據(jù)進(jìn)行表型參數(shù)估算時(shí),仍然能夠保證較高的精度。
圖6 蘋(píng)果直徑(A)、高度(B)和體積(C)的估算結(jié)果Fig.6 The estimation results of apple diameter(A),height(B)and volume(C)
2.3.3 基于不同模型和方法的對(duì)比試驗(yàn)結(jié)果試驗(yàn)比較Pointnet、LPC-GA-PSO[19]、DGCNN[20]+遷移學(xué)習(xí)和Pointnet+遷移學(xué)習(xí)對(duì)實(shí)測(cè)蘋(píng)果的外部表型參數(shù)的估算能力。其中采用Pointnet方法是從750組數(shù)據(jù)中取640組作為訓(xùn)練集,余下的作為測(cè)試集,學(xué)習(xí)率設(shè)為0.000 1,批次大小為64,最大迭代次數(shù)為10 000,由于實(shí)測(cè)數(shù)據(jù)較少,因此做5-折交叉驗(yàn)證。本地點(diǎn)云-遺傳算法-粒子群優(yōu)化(LPC-GA-PSO)算法中粒子群最大迭代次數(shù)設(shè)為200,遺傳算法最大迭代次數(shù)為5,選擇操作采用輪盤(pán)賭法,交叉概率為0.75,變異概率為0.05。動(dòng)態(tài)圖卷積神經(jīng)網(wǎng)絡(luò)DGCNN作為Pointnet網(wǎng)絡(luò)的衍生版本,深化了對(duì)局部點(diǎn)云的信息采集,模型參數(shù)與Pointnet大體相同,只是確定近鄰點(diǎn)數(shù)的超參數(shù)設(shè)為10。Pointnet+遷移學(xué)習(xí)方式如2.3.2節(jié)。試驗(yàn)結(jié)果如表3所示。
表3 不同算法蘋(píng)果表型參數(shù)預(yù)測(cè)模型效果比較Table 3 Comparison of prediction models for apple phenotypic parameters with different algorithms
對(duì)比分析4種方法對(duì)蘋(píng)果外部表型實(shí)測(cè)參數(shù)的估算結(jié)果,Pointnet+遷移學(xué)習(xí)比只用Pointnet網(wǎng)絡(luò)的蘋(píng)果體積、高度和直徑的RMSE略高,而R2增加較多,這是因?yàn)閷?shí)測(cè)數(shù)據(jù)較少,很容易導(dǎo)致模型過(guò)擬合,而通過(guò)在大量的模擬數(shù)據(jù)上訓(xùn)練仿真模型后再遷移到數(shù)量較少的實(shí)測(cè)數(shù)據(jù)上能夠有效解決過(guò)擬合問(wèn)題;Pointnet+遷移學(xué)習(xí)相較于LPC-GA-PSO算法,蘋(píng)果體積、高度和直徑的RMSE略高,而體積和高度的R2增加較多,這是由于實(shí)測(cè)數(shù)據(jù)和用于遷移訓(xùn)練的仿真數(shù)據(jù)分布不同,會(huì)導(dǎo)致試驗(yàn)結(jié)果具有一定的誤差,但這些誤差很小,在允許范圍內(nèi)。Pointnet+遷移學(xué)習(xí)算法相較于LPC-GA-PSO算法,通過(guò)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)點(diǎn)云數(shù)據(jù)的深層特征,使模型對(duì)數(shù)據(jù)的擬合程度和泛化性有了很大的提升。DGCNN+遷移學(xué)習(xí)的各項(xiàng)指標(biāo)都很差,這是因?yàn)镈GCNN作為Poinetnet的衍生版本,添加了邊卷積操作,在動(dòng)態(tài)更新圖的同時(shí),在語(yǔ)義上將點(diǎn)聚合起來(lái)以獲取更深的局部點(diǎn)云信息,然而由于模型過(guò)于復(fù)雜,在處理一般規(guī)模數(shù)據(jù)時(shí),盡管使用了遷移學(xué)習(xí),但模型還是很容易過(guò)擬合。
本文提出的基于點(diǎn)云數(shù)據(jù)的蘋(píng)果表型參數(shù)估算方法,通過(guò)Pointnet和遷移學(xué)習(xí)相結(jié)合,提供了一種在小樣本情況下提高檢測(cè)精度的方法,試驗(yàn)結(jié)果顯示表型參數(shù)直徑、高度、體積的預(yù)測(cè)準(zhǔn)確率較高,模型擬合度也很好。
1)通過(guò)引入Pointnet網(wǎng)絡(luò),修改網(wǎng)絡(luò)的輸出層,使用回歸模型代替原網(wǎng)絡(luò)的分類模型,在實(shí)測(cè)蘋(píng)果點(diǎn)云數(shù)據(jù)差異較大的情況下,建立的模型仍然能很好完成由點(diǎn)云到表型參數(shù)的預(yù)測(cè)。
2)針對(duì)實(shí)測(cè)數(shù)據(jù)采集困難等導(dǎo)致的實(shí)測(cè)數(shù)據(jù)量不足的問(wèn)題,引入遷移學(xué)習(xí)方法,通過(guò)共享網(wǎng)絡(luò)的特征提取層,在訓(xùn)練好的仿真數(shù)據(jù)模型的基礎(chǔ)上,以一個(gè)較小的學(xué)習(xí)率模型參數(shù)遷移到實(shí)測(cè)數(shù)據(jù)模型中,對(duì)模型參數(shù)進(jìn)行微調(diào),實(shí)現(xiàn)對(duì)實(shí)測(cè)數(shù)據(jù)的預(yù)測(cè),避免因?qū)崪y(cè)數(shù)據(jù)不足而導(dǎo)致的模型過(guò)擬合問(wèn)題,增加模型的可信度,提高實(shí)測(cè)數(shù)據(jù)的預(yù)測(cè)精度。
3)在訓(xùn)練仿真模型時(shí),對(duì)輸入的仿真點(diǎn)云進(jìn)行角度切割,輸入殘缺率為50%的數(shù)據(jù),在模型遷移時(shí),遷移的實(shí)測(cè)數(shù)據(jù)為3個(gè)角度下拍攝的殘缺率約為50%的點(diǎn)云數(shù)據(jù),通過(guò)5-折交叉驗(yàn)證,證明該模型對(duì)從任意角度拍攝到的殘缺率達(dá)到50%的點(diǎn)云數(shù)據(jù)仍然能夠達(dá)到較高的估算精度。
基于Pointnet網(wǎng)絡(luò)和遷移學(xué)習(xí)的蘋(píng)果表型參數(shù)估算算法對(duì)于從任意角度拍攝的蘋(píng)果點(diǎn)云數(shù)據(jù)的高度估算效果還有待進(jìn)一步提高,后續(xù)采用Pointnet++對(duì)蘋(píng)果的局部特征進(jìn)行提取,研究在大規(guī)模數(shù)據(jù)的情況下使用Pointnet++和遷移學(xué)習(xí)網(wǎng)絡(luò)對(duì)試驗(yàn)結(jié)果的影響,并進(jìn)一步完善模型多視角點(diǎn)云數(shù)據(jù)的模型估算精度。期待最終的模型能通過(guò)Kinect相機(jī)拍攝到的點(diǎn)云作為輸入,在不損傷蘋(píng)果的前提下獲取該數(shù)據(jù),為以后在大型果園中無(wú)人機(jī)載Kinect相機(jī)快速、精準(zhǔn)測(cè)量蘋(píng)果表型參數(shù)提供可能性。