肖海鴻 徐煥良 馬仕航 陳 玲 王江波 王浩云
(1.華南理工大學自動化科學與工程學院, 廣州 510641; 2.南京農業大學人工智能學院, 南京 210095;3.中國移動通訊集團上海有限公司, 上海 200060; 4.塔里木大學植物科學學院, 阿拉爾 843300)
點云因其數據量小、表現能力強,被廣泛應用于三維數據處理[1]。真實世界的點云數據通常是使用激光雷達(Lidar)、激光掃描儀(Laser scanner)或低成本的RGB-D相機采集得到,由于受遮擋、視角限制和傳感器分辨率等因素的影響,導致獲取到的點云數據存在不完整的情況。因此,點云數據的補全研究具有重要意義。植物葉片是植物外在形態的重要組成部分,同時也是植物進行生理功能運作的主要器官[2],對植物葉片存在的遮擋進行有效的生成補全,將對植物表型研究起到積極的推動作用。
三維形狀補全一直是圖形學和視覺領域的一個重要研究問題。KAZHDAN等[3]利用泊松重建方法對物體表面存在的孔洞進行補全,但是這類方法存在補全面積小的特點。MITRA等[4]基于對稱性的概念,利用幾何物體的對稱性特點完成補全,但是這類方法存在補全質量低的特點。LI等[5]采用3D模型數據庫中檢索對象來替換實際三維物體,將檢索到的模型與輸入數據進行對齊和縮放,實現高質量的真實物體虛擬表示,從而達到補全目的。王浩云等[6]采用粒子群算法將輸入的局部蘋果點云與通過反演得到模型庫中的點云模型進行空間匹配,并利用遺傳算法尋找最優蘋果模型代替實際輸入點云作為補全結果,但是這類方法存在迭代尋優速率慢的特點。初夢苑等[7]提出了基于視頻的錯幀補全方法補全奶牛軀干中缺失區域的點云數據。隨著深度學習在三維領域取得的快速進展,基于深度學習方法的三維形狀補全也受到了越來越多研究人員的關注。QI等[8]提出了第一個直接作用于點云數據的深度學習框架PointNet,可以實現三維模型的分類、分割和室內場景的語義分割。因為多層感知機具有簡單且表示能力強的特點,YUAN等[9]和MANDIKAL等[10]進行了基于多層感知機的三維點云模型重建,利用最大池化函數(Max pooling)聚焦全局特征,采用解碼器設計完成點云補全。YANG等[11]提出了一種基于折疊的解碼器實現點云的補全,ZHAO等[12]提出了一種基于自動編碼器結構的3D點膠囊網絡,來實現稀疏點云的重建。繆永偉等[13]借助于生成對抗網絡框架,提出了一種自動修復補全三維點云形狀的神經網絡結構,該方法以編碼器-解碼器結構作為神經網絡的生成器,神經網絡判別器則用于判斷真實的完整點云形狀數據和生成器生成的完整點云形狀數據。TCHAPMI等[14]提出了一種樹結構網絡TopNet,其中樹中每個節點嵌入一個節點的定義元素,建立點云上的任意結構或拓撲模型,相較于獨立的點處理,該方法考慮了點之間的關系,實現點云的補全。羅開乾等[15]提出了一種基于多分支結構的點云補全網絡,采用編碼器對點云的全局特征和局部特征進行提取。SARMAD等[16]提出了一種結合強化學習代理控制生成對抗網絡(Generative adversarial networks,GAN)進行點云的生成補全方法。XIE等[17]引入了一種體素網格來正則化無序點云作為數據的中間表示,并利用3D-CNN進行特征提取和中間數據生成,再通過體素網格逆向生成點云結構實現點云補全。為了降低由多層感知機引起的結構損失,GROUEIX等[18]提出的AtlasNet和LIU等[19]提出的MSN網絡通過估計參數表面的元素集合來恢復三維模型的完整點云。
傳統點云補全方法存在補全面積小、補全質量低和迭代尋優速率慢等特點,基于深度學習的點云補全方法雖然取得了一定的研究進展,但是代理控制極為困難,GAN生成具有不穩定性,體素網格數據計算量大且分辨率低。因此,本文以綠蘿葉片為試驗對象,提出一種基于多尺度特征提取模塊結合點云金字塔解碼器(Multi-scale feature extraction model with point cloud pyramid decoder,MSF-PPD)的葉片點云補全網絡。
基于MSF-PPD的葉片點云補全網絡結構如圖1所示,網絡以殘缺葉片點云作為輸入,利用多尺度特征提取模塊對點云進行特征提取,并對提取的不同深度特征信息進行融合。其次,通過點云金字塔解碼器模塊進行多階段點云生成預測,最終實現葉片點云補全任務。
多尺度特征提取模塊對點云的特征提取是受PointNet網絡的啟發,沿用其多層感知機提取點云特征的思想,移除了PointNet特征提取模塊中的旋轉矩陣網絡(T-Net),相較于PointNet僅采用頂層的特征表示,網絡改進為高低維全局特征的融合表達。其特征提取模塊網絡層參數如圖2所示。
網絡以遮擋葉片點云N×3作為輸入,通過卷積神經網絡對點云進行特征提取。其中Conv1_64表示卷積層,輸入通道數為1,輸出通道數為64;BatchNorm_64表示輸入批歸一化層的特征數量為64(其他類同);ReLU表示激活函數;步長默認為1;通過多層感知機將點云升維至64、128、256、512、1 024維。為了加速網絡的收斂,網絡在卷積層后添加批歸一化層(Batch normalization,BN)。為了增加網絡層之間的非線性關系,在歸一化層后添加修正線性激活函數(Rectified linear unit function,ReLU)。
為了解決點云的無序性問題,利用對稱函數對升維點云進行全局特征提取。通過對稱函數將不同維度提取的特征進行最大池化,分別得到1×64、1×128、1×256、1×512和1×1 024的全局特征,為了對局部特征進行更好的感知,采取高低維特征融合方法,將不同維度的全局特征累加得到1×1 984的多尺度深度特征,作為點云金字塔解碼器的輸入。
點云金字塔解碼器是受特征金字塔網絡(Feature pyramid networks,FPN)[20]的啟發,借鑒其自下向上的特征維度生成和自上向下的補充增強思想。FPN最早是用于解決目標檢測中的小目標檢測問題,且取得效果顯著。本文的點云金字塔解碼器是將提取的多尺度深度特征進行多階段點云生成補全的過程,其流程圖如圖3所示。
點云金字塔解碼器先將融合特征向量1×1 986經過多層感知機(Multi-layer perceptron,MLP)進行特征提取,得到1×1 024、1×512、1×256共3個特征向量。首先,將特征向量1×256經過多層感知機輸出分辨率為64×3的第1階段補全點云。其次,將特征向量1×512經過卷積、激活和疊加操作輸出分辨率為128×3的第2階段補全點云。最后,將特征向量1×1 024經過卷積、激活和疊加操作輸出分辨率與完整點云點數相同的第3階段補全點云M×3。經過3個階段的補全輸出,生成的點云由粗略逐漸變為精細,最終實現葉片點云補全任務。
MSF-PPD網絡利用倒角距離(Chamfer distance, CD)評價生成點云和真實點云之間的差異程度,數值越小,表明生成點云和真實點云之間的相似程度越高,補全質量越好。倒角距離公式為

(1)
式中P1、P2——生成點云和真實點云的點集
m、n——點云P1和P2中的點
dCH——生成點云和真實點云之間的差異值,數值越小,表示補全質量越高
點云金字塔解碼器是一個多階段的點云生成補全過程,因此MSF-PPD網絡的損失函數是多階段聯合損失的線性組合函數。由于每個階段生成點云的分辨率不同,因此在衡量每個階段生成點云和真實點云之間的誤差時,輸入真實點云的分辨率應該與對應階段生成點云的分辨率一致,本文通過迭代最遠點采樣算法(IFPS)[21]對真實點云進行下采樣處理,實現不同分辨率真實點云的輸入要求。本文提出的損失函數Loss計算公式如下
Loss=sdCH(R1,Pgt1)+qdCH(R2,Pgt2)+edCH(R3,Pgt3)
(2)
式中R1——分辨率為64個點的生成點云
R2——分辨率為128個點的生成點云
R3——分辨率為完整點的生成點云
Pgt1——分辨率為64個點的真實點云
Pgt2——分辨率為128個點的真實點云
Pgt3——分辨率為完整點的真實點云
s、q、e——權重參數
Loss為多個階段的生成點云和真實點云之間的誤差總和,數值越小,表明補全質量越高。
綠蘿葉片的外形呈上窄下寬的卵圓形,葉片外形由葉形、葉尖、葉基和葉緣的邊界輪廓組成,由于葉片厚度較小,構建仿真葉片模型時可以忽略不計,葉片外形參數方程為[22-24]
(3)
其中
(4)
式中tx1——X方向葉形干擾函數
ty1——Y方向葉基正弦變形函數
ty2、ty3——Y方向葉尖兩側線性變形函數
xQ——X方向參數
yQ——Y方向參數
zQ——Z方向參數
abs()——絕對值函數
h——長度系數
b——寬度系數
ax——葉形變形指數,對葉片外形主要是對葉寬造成影響
dy——比例造型指數,影響葉片最寬點位置
at——葉尖變形指數,控制葉尖部分長度變化
ab——葉基變形指數,控制葉基部分長度變化
ut——葉尖造型指數,控制葉尖部分寬高比
ub——葉基造型指數,控制葉基部分寬高比
xb——葉片沿X方向在Z軸的彎曲幅度
yb——葉片沿Y方向在Z軸的彎曲幅度
u、v——自變量參數
其中h、b、ax、dy、at、ab、ut、ub、xb、yb為曲面參數方程的10個內部模型參數。
根據該曲面參數方程構建葉片仿真模型,通過控制參數方程的自變量取值得到包括12 743個仿真葉片模型的模型庫,并將其離散成包含2 048個點的仿真葉片點云數據,通過迭代最遠點采樣算法統一下采樣為512個點,構成仿真葉片點云數據集。
為了評估補全模型對真實綠蘿葉片的補全效果,試驗以花卉市場常見的青葉綠蘿為試驗對象,采用Kinect v2相機獲取綠蘿葉片點云。本試驗將從2方面對綠蘿葉片進行點云采集:通過Kinect v2相機對離體綠蘿葉片進行完整葉片點云獲取,根據點云的坐標屬性實現單片點云分割,采用包圍盒和IFPS算法對點云進行精簡;通過Kinect v2相機對自然遮擋狀態下的葉片點云進行采集,利用K-means算法對遮擋葉片進行點云分割得到單片點云,并采用包圍盒和IFPS算法進行點云精簡,然后獲取對應編號的完整離體葉片點云。其數據采集流程如圖4所示。試驗共采集完整葉片點云52片,自然遮擋狀態下葉片點云50片,共102片點云。
試驗硬件環境為AMD Ryzen 5 1600 Six-core Processor CPU,主頻3.20 GHz;NVIDIA GeForce RTX 2080 Ti GPU;操作系統為Ubuntu18.04。深度學習環境為CUDA10.0、cuDNN7.5.0、Tensorflow1.14.0、Pytorch1.2.0、Python3.6.8。
試驗將仿真葉片點云數據集劃分為訓練集和驗證集,其中11 467片仿真葉片作為補全網絡模型訓練的訓練集,使用Adam作為網絡模型訓練的優化器,其中學習率為0.000 1,迭代次數為101,批尺寸(Batchsize)為12,剩下的1 276片仿真葉片作為衡量網絡對仿真葉片補全性能的驗證集,并利用現有補全方法與本文方法進行對比分析。試驗將Kinect v2相機獲取的52片綠蘿葉片完整點云和自然遮擋狀態下獲取的50片葉片點云作為測試集,用來衡量網絡對真實葉片的補全性能。試驗對驗證集從2方面進行網絡補全結果評估:在不同殘缺比例情況下的補全結果分析;在不同點數稀疏情況下的插值補全結果分析。對測試集也從2方面進行結果評估:對52片完整點云進行不同殘缺比例的補全結果分析;對在自然遮擋狀態下的50片葉片點云進行補全結果分析。
由于點云是無序的,為了評價生成點云和真實點云之間的差異程度,本文采用最小匹配距離(Minimun matching distance,MMD)[25]來計算兩個點云之間的相似程度,數值越低,點云越相似,補全質量越好。最小匹配距離的計算公式為
(5)
其中

(6)
式中dCD——倒角距離函數
dEMD——地球移動距離函數
dMMD——最小匹配距離
D——距離函數,表示地球移動距離函數或倒角距離函數
M——生成點云中點的數量
x——點云P2中的點
φ——映射函數
3.4.1不同殘缺比例情況下仿真葉片補全結果分析
試驗以驗證集的1 276片仿真葉片作為試驗對象,由于葉片一般遮擋情況在20%左右, 因此試驗按照20%、30%、40%的比例做隨機殘缺,利用MSF-PPD補全網絡進行補全,補全結果通過Open3D[26]進行可視化,如圖5所示。試驗以最小匹配距離作為評價標準,評估自動編碼器(Auto encoder,AE)、潛在空間生成式對抗神經網絡(Latent-space generative adversarial networks,L-GAN)[1]和本文方法對不同殘缺比例葉片的補全性能,其補全結果如圖6所示。
由圖5可知,葉片在不同殘缺比例情況下,本文方法有很好的補全效果,表明本文方法具有較強的魯棒性。由圖6可知,在相同的殘缺比例情況下,最小匹配地球移動距離(MMD-EMD)略高于最小匹配倒角距離(MMD-CD),這是因為MMD-CD更關注點云的整體結構相似性,而MMD-EMD更關注點云的局部細節相似性,為實現補全的葉片整體結構與原始葉片一致,本文采用倒角距離作為損失函數進行訓練。根據圖6可知,在殘缺比例為20%和30%情況下,3種補全方法的補全效果相差不大,且本文方法在20%和30%殘缺比例情況下的補全結果誤差相差較小,當殘缺比例為40%時,本文方法的補全結果誤差增加速度更為明顯,但其最小匹配距離相較于另2種方法的補全誤差仍然較低,對殘缺葉片補全效果最優。綜上分析可知,在殘缺比例為20%和30%的情況下,補全結果較為穩定,試驗結果表明,本文方法能夠對不同殘缺比例的葉片進行高效、準確的補全。
3.4.2不同點數稀疏情況下仿真葉片插值補全結果分析
以驗證集的仿真葉片作為試驗對象,分別對完整葉片點云進行下采樣64、128、256點作為網絡輸入,利用MSF-PPD補全網絡對稀疏點云進行插值補全,補全結果如圖7所示。試驗以最小匹配距離作為補全評價標準,評估AE、L-GAN和本文方法對不同點數稀疏情況下的插值補全效果,其補全結果如圖8所示。
由圖7可知,補全網絡能夠對不同點數稀疏情況下的葉片進行較好的均勻插值補全。當采樣點數較少時,插值補全的效果依然很好,表明網絡結構具有較強的魯棒性。根據圖8可知,當驗證集葉片在不同稀疏情況下時,3種方法對稀疏點云插值補全的效果都較好,其最小匹配距離都較低,其最大值均不超過0.006 0。當葉片在相同的稀疏情況下時,相較于AE和L-GAN,本文方法的補全定量分析誤差更低,補全效果更好,表明本文方法能夠對點云非常稀疏情況下的葉片進行較好的插值補全。
3.4.3不同殘缺比例情況下的綠蘿葉片補全結果分析
以測試集52片完整葉片點云作為試驗對象,分別按照20%、30%、40%比例做隨機殘缺,利用訓練好的MSF-PPD網絡模型進行補全,補全結果通過Open3D進行可視化,結果如圖9所示。試驗以最小匹配距離作為評價標準對殘缺葉片補全結果進行定量分析,結果如表1所示。
由圖9可得,在殘缺比例為40%的情況下,補全結果仍然較為完整,證明本文方法在葉片殘缺較多的情況下,仍然具有較強的補全性能。由表1可知,MMD-CD和MMD-EMD在不同殘缺比例情況下的數值略高于驗證集定量分析結果,這是因為測試集和驗證集的葉片內部點云分布存在不一致,導致測試集計算誤差略高于驗證集,但是整體補全效果仍然較好,測試集的綠蘿葉片內部點云是通過Kinect v2相機獲取,而驗證集的仿真葉片內部點云分布是利用間隔距離進行離散和迭代采樣得到。但是從整體結果看,MMD-CD和MMD-EMD仍然較低,在誤差允許范圍內。試驗結果表明,本文方法能夠對不同殘缺比例情況下的真實葉片進行高效、完整的補全。

表1 不同殘缺比例情況下的葉片補全結果定量分析Tab.1 Quantitative analysis of leaf complementation with different mutilation ratios
3.4.4在自然遮擋狀態下的葉片補全結果分析
以測試集中50片自然遮擋狀態下的綠蘿單片葉片作為試驗對象,利用訓練好的MSF-PPD網絡模型對自然遮擋的葉片進行補全。試驗選取其中一組遮擋葉片補全結果通過Open3D進行可視化,如圖10所示。試驗以最小匹配距離作為評價標準對自然遮擋狀態下的葉片補全結果進行定量分析,結果如表2所示。
由圖10可知,葉片7在遮擋較為嚴重的情況下,其補全結果仍然較為完整,說明MSF-PPD補全網絡在葉片遮擋較多的情況下,仍然具有較強的魯棒性。由表2可知, MMD-CD和MMD-EMD數值較低,在誤差允許范圍內。試驗結果表明,本文提出的MSF-PPD網絡能夠對在自然遮擋情況下的葉片進行高效、完整的補全。

表2 50片遮擋葉片補全結果定量分析Tab.2 Quantitative analysis of 50 occluded leaf complementation results
針對葉片存在遮擋的問題,本文提出了基于MSF-PPD網絡結構的葉片點云補全方法。通過曲面參數方程構建仿真葉片模型庫作為網絡訓練的數據集,驗證集補全試驗結果表明,網絡既能對一定程度的葉片遮擋進行有效的補全,也能在葉片點云稀疏情況下進行精準的插值補全。測試集補全試驗結果表明,本文方法能夠對自然遮擋狀態下的真實葉片進行生成補全,并獲得了較好的補全效果。