肖海鴻 徐煥良 馬仕航 陳 玲 王江波 王浩云
(1.華南理工大學自動化科學與工程學院, 廣州 510641; 2.南京農(nóng)業(yè)大學人工智能學院, 南京 210095;3.中國移動通訊集團上海有限公司, 上海 200060; 4.塔里木大學植物科學學院, 阿拉爾 843300)
點云因其數(shù)據(jù)量小、表現(xiàn)能力強,被廣泛應用于三維數(shù)據(jù)處理[1]。真實世界的點云數(shù)據(jù)通常是使用激光雷達(Lidar)、激光掃描儀(Laser scanner)或低成本的RGB-D相機采集得到,由于受遮擋、視角限制和傳感器分辨率等因素的影響,導致獲取到的點云數(shù)據(jù)存在不完整的情況。因此,點云數(shù)據(jù)的補全研究具有重要意義。植物葉片是植物外在形態(tài)的重要組成部分,同時也是植物進行生理功能運作的主要器官[2],對植物葉片存在的遮擋進行有效的生成補全,將對植物表型研究起到積極的推動作用。
三維形狀補全一直是圖形學和視覺領域的一個重要研究問題。KAZHDAN等[3]利用泊松重建方法對物體表面存在的孔洞進行補全,但是這類方法存在補全面積小的特點。MITRA等[4]基于對稱性的概念,利用幾何物體的對稱性特點完成補全,但是這類方法存在補全質(zhì)量低的特點。LI等[5]采用3D模型數(shù)據(jù)庫中檢索對象來替換實際三維物體,將檢索到的模型與輸入數(shù)據(jù)進行對齊和縮放,實現(xiàn)高質(zhì)量的真實物體虛擬表示,從而達到補全目的。王浩云等[6]采用粒子群算法將輸入的局部蘋果點云與通過反演得到模型庫中的點云模型進行空間匹配,并利用遺傳算法尋找最優(yōu)蘋果模型代替實際輸入點云作為補全結(jié)果,但是這類方法存在迭代尋優(yōu)速率慢的特點。初夢苑等[7]提出了基于視頻的錯幀補全方法補全奶牛軀干中缺失區(qū)域的點云數(shù)據(jù)。隨著深度學習在三維領域取得的快速進展,基于深度學習方法的三維形狀補全也受到了越來越多研究人員的關注。QI等[8]提出了第一個直接作用于點云數(shù)據(jù)的深度學習框架PointNet,可以實現(xiàn)三維模型的分類、分割和室內(nèi)場景的語義分割。因為多層感知機具有簡單且表示能力強的特點,YUAN等[9]和MANDIKAL等[10]進行了基于多層感知機的三維點云模型重建,利用最大池化函數(shù)(Max pooling)聚焦全局特征,采用解碼器設計完成點云補全。YANG等[11]提出了一種基于折疊的解碼器實現(xiàn)點云的補全,ZHAO等[12]提出了一種基于自動編碼器結(jié)構(gòu)的3D點膠囊網(wǎng)絡,來實現(xiàn)稀疏點云的重建??娪纻サ萚13]借助于生成對抗網(wǎng)絡框架,提出了一種自動修復補全三維點云形狀的神經(jīng)網(wǎng)絡結(jié)構(gòu),該方法以編碼器-解碼器結(jié)構(gòu)作為神經(jīng)網(wǎng)絡的生成器,神經(jīng)網(wǎng)絡判別器則用于判斷真實的完整點云形狀數(shù)據(jù)和生成器生成的完整點云形狀數(shù)據(jù)。TCHAPMI等[14]提出了一種樹結(jié)構(gòu)網(wǎng)絡TopNet,其中樹中每個節(jié)點嵌入一個節(jié)點的定義元素,建立點云上的任意結(jié)構(gòu)或拓撲模型,相較于獨立的點處理,該方法考慮了點之間的關系,實現(xiàn)點云的補全。羅開乾等[15]提出了一種基于多分支結(jié)構(gòu)的點云補全網(wǎng)絡,采用編碼器對點云的全局特征和局部特征進行提取。SARMAD等[16]提出了一種結(jié)合強化學習代理控制生成對抗網(wǎng)絡(Generative adversarial networks,GAN)進行點云的生成補全方法。XIE等[17]引入了一種體素網(wǎng)格來正則化無序點云作為數(shù)據(jù)的中間表示,并利用3D-CNN進行特征提取和中間數(shù)據(jù)生成,再通過體素網(wǎng)格逆向生成點云結(jié)構(gòu)實現(xiàn)點云補全。為了降低由多層感知機引起的結(jié)構(gòu)損失,GROUEIX等[18]提出的AtlasNet和LIU等[19]提出的MSN網(wǎng)絡通過估計參數(shù)表面的元素集合來恢復三維模型的完整點云。
傳統(tǒng)點云補全方法存在補全面積小、補全質(zhì)量低和迭代尋優(yōu)速率慢等特點,基于深度學習的點云補全方法雖然取得了一定的研究進展,但是代理控制極為困難,GAN生成具有不穩(wěn)定性,體素網(wǎng)格數(shù)據(jù)計算量大且分辨率低。因此,本文以綠蘿葉片為試驗對象,提出一種基于多尺度特征提取模塊結(jié)合點云金字塔解碼器(Multi-scale feature extraction model with point cloud pyramid decoder,MSF-PPD)的葉片點云補全網(wǎng)絡。
基于MSF-PPD的葉片點云補全網(wǎng)絡結(jié)構(gòu)如圖1所示,網(wǎng)絡以殘缺葉片點云作為輸入,利用多尺度特征提取模塊對點云進行特征提取,并對提取的不同深度特征信息進行融合。其次,通過點云金字塔解碼器模塊進行多階段點云生成預測,最終實現(xiàn)葉片點云補全任務。
多尺度特征提取模塊對點云的特征提取是受PointNet網(wǎng)絡的啟發(fā),沿用其多層感知機提取點云特征的思想,移除了PointNet特征提取模塊中的旋轉(zhuǎn)矩陣網(wǎng)絡(T-Net),相較于PointNet僅采用頂層的特征表示,網(wǎng)絡改進為高低維全局特征的融合表達。其特征提取模塊網(wǎng)絡層參數(shù)如圖2所示。
網(wǎng)絡以遮擋葉片點云N×3作為輸入,通過卷積神經(jīng)網(wǎng)絡對點云進行特征提取。其中Conv1_64表示卷積層,輸入通道數(shù)為1,輸出通道數(shù)為64;BatchNorm_64表示輸入批歸一化層的特征數(shù)量為64(其他類同);ReLU表示激活函數(shù);步長默認為1;通過多層感知機將點云升維至64、128、256、512、1 024維。為了加速網(wǎng)絡的收斂,網(wǎng)絡在卷積層后添加批歸一化層(Batch normalization,BN)。為了增加網(wǎng)絡層之間的非線性關系,在歸一化層后添加修正線性激活函數(shù)(Rectified linear unit function,ReLU)。
為了解決點云的無序性問題,利用對稱函數(shù)對升維點云進行全局特征提取。通過對稱函數(shù)將不同維度提取的特征進行最大池化,分別得到1×64、1×128、1×256、1×512和1×1 024的全局特征,為了對局部特征進行更好的感知,采取高低維特征融合方法,將不同維度的全局特征累加得到1×1 984的多尺度深度特征,作為點云金字塔解碼器的輸入。
點云金字塔解碼器是受特征金字塔網(wǎng)絡(Feature pyramid networks,F(xiàn)PN)[20]的啟發(fā),借鑒其自下向上的特征維度生成和自上向下的補充增強思想。FPN最早是用于解決目標檢測中的小目標檢測問題,且取得效果顯著。本文的點云金字塔解碼器是將提取的多尺度深度特征進行多階段點云生成補全的過程,其流程圖如圖3所示。
點云金字塔解碼器先將融合特征向量1×1 986經(jīng)過多層感知機(Multi-layer perceptron,MLP)進行特征提取,得到1×1 024、1×512、1×256共3個特征向量。首先,將特征向量1×256經(jīng)過多層感知機輸出分辨率為64×3的第1階段補全點云。其次,將特征向量1×512經(jīng)過卷積、激活和疊加操作輸出分辨率為128×3的第2階段補全點云。最后,將特征向量1×1 024經(jīng)過卷積、激活和疊加操作輸出分辨率與完整點云點數(shù)相同的第3階段補全點云M×3。經(jīng)過3個階段的補全輸出,生成的點云由粗略逐漸變?yōu)榫?,最終實現(xiàn)葉片點云補全任務。
MSF-PPD網(wǎng)絡利用倒角距離(Chamfer distance, CD)評價生成點云和真實點云之間的差異程度,數(shù)值越小,表明生成點云和真實點云之間的相似程度越高,補全質(zhì)量越好。倒角距離公式為
(1)
式中P1、P2——生成點云和真實點云的點集
m、n——點云P1和P2中的點
dCH——生成點云和真實點云之間的差異值,數(shù)值越小,表示補全質(zhì)量越高
點云金字塔解碼器是一個多階段的點云生成補全過程,因此MSF-PPD網(wǎng)絡的損失函數(shù)是多階段聯(lián)合損失的線性組合函數(shù)。由于每個階段生成點云的分辨率不同,因此在衡量每個階段生成點云和真實點云之間的誤差時,輸入真實點云的分辨率應該與對應階段生成點云的分辨率一致,本文通過迭代最遠點采樣算法(IFPS)[21]對真實點云進行下采樣處理,實現(xiàn)不同分辨率真實點云的輸入要求。本文提出的損失函數(shù)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——權(quán)重參數(shù)
Loss為多個階段的生成點云和真實點云之間的誤差總和,數(shù)值越小,表明補全質(zhì)量越高。
綠蘿葉片的外形呈上窄下寬的卵圓形,葉片外形由葉形、葉尖、葉基和葉緣的邊界輪廓組成,由于葉片厚度較小,構(gòu)建仿真葉片模型時可以忽略不計,葉片外形參數(shù)方程為[22-24]
(3)
其中
(4)
式中tx1——X方向葉形干擾函數(shù)
ty1——Y方向葉基正弦變形函數(shù)
ty2、ty3——Y方向葉尖兩側(cè)線性變形函數(shù)
xQ——X方向參數(shù)
yQ——Y方向參數(shù)
zQ——Z方向參數(shù)
abs()——絕對值函數(shù)
h——長度系數(shù)
b——寬度系數(shù)
ax——葉形變形指數(shù),對葉片外形主要是對葉寬造成影響
dy——比例造型指數(shù),影響葉片最寬點位置
at——葉尖變形指數(shù),控制葉尖部分長度變化
ab——葉基變形指數(shù),控制葉基部分長度變化
ut——葉尖造型指數(shù),控制葉尖部分寬高比
ub——葉基造型指數(shù),控制葉基部分寬高比
xb——葉片沿X方向在Z軸的彎曲幅度
yb——葉片沿Y方向在Z軸的彎曲幅度
u、v——自變量參數(shù)
其中h、b、ax、dy、at、ab、ut、ub、xb、yb為曲面參數(shù)方程的10個內(nèi)部模型參數(shù)。
根據(jù)該曲面參數(shù)方程構(gòu)建葉片仿真模型,通過控制參數(shù)方程的自變量取值得到包括12 743個仿真葉片模型的模型庫,并將其離散成包含2 048個點的仿真葉片點云數(shù)據(jù),通過迭代最遠點采樣算法統(tǒng)一下采樣為512個點,構(gòu)成仿真葉片點云數(shù)據(jù)集。
為了評估補全模型對真實綠蘿葉片的補全效果,試驗以花卉市場常見的青葉綠蘿為試驗對象,采用Kinect v2相機獲取綠蘿葉片點云。本試驗將從2方面對綠蘿葉片進行點云采集:通過Kinect v2相機對離體綠蘿葉片進行完整葉片點云獲取,根據(jù)點云的坐標屬性實現(xiàn)單片點云分割,采用包圍盒和IFPS算法對點云進行精簡;通過Kinect v2相機對自然遮擋狀態(tài)下的葉片點云進行采集,利用K-means算法對遮擋葉片進行點云分割得到單片點云,并采用包圍盒和IFPS算法進行點云精簡,然后獲取對應編號的完整離體葉片點云。其數(shù)據(jù)采集流程如圖4所示。試驗共采集完整葉片點云52片,自然遮擋狀態(tài)下葉片點云50片,共102片點云。
試驗硬件環(huán)境為AMD Ryzen 5 1600 Six-core Processor CPU,主頻3.20 GHz;NVIDIA GeForce RTX 2080 Ti GPU;操作系統(tǒng)為Ubuntu18.04。深度學習環(huán)境為CUDA10.0、cuDNN7.5.0、Tensorflow1.14.0、Pytorch1.2.0、Python3.6.8。
試驗將仿真葉片點云數(shù)據(jù)集劃分為訓練集和驗證集,其中11 467片仿真葉片作為補全網(wǎng)絡模型訓練的訓練集,使用Adam作為網(wǎng)絡模型訓練的優(yōu)化器,其中學習率為0.000 1,迭代次數(shù)為101,批尺寸(Batchsize)為12,剩下的1 276片仿真葉片作為衡量網(wǎng)絡對仿真葉片補全性能的驗證集,并利用現(xiàn)有補全方法與本文方法進行對比分析。試驗將Kinect v2相機獲取的52片綠蘿葉片完整點云和自然遮擋狀態(tài)下獲取的50片葉片點云作為測試集,用來衡量網(wǎng)絡對真實葉片的補全性能。試驗對驗證集從2方面進行網(wǎng)絡補全結(jié)果評估:在不同殘缺比例情況下的補全結(jié)果分析;在不同點數(shù)稀疏情況下的插值補全結(jié)果分析。對測試集也從2方面進行結(jié)果評估:對52片完整點云進行不同殘缺比例的補全結(jié)果分析;對在自然遮擋狀態(tài)下的50片葉片點云進行補全結(jié)果分析。
由于點云是無序的,為了評價生成點云和真實點云之間的差異程度,本文采用最小匹配距離(Minimun matching distance,MMD)[25]來計算兩個點云之間的相似程度,數(shù)值越低,點云越相似,補全質(zhì)量越好。最小匹配距離的計算公式為
(5)
其中
(6)
式中dCD——倒角距離函數(shù)
dEMD——地球移動距離函數(shù)
dMMD——最小匹配距離
D——距離函數(shù),表示地球移動距離函數(shù)或倒角距離函數(shù)
M——生成點云中點的數(shù)量
x——點云P2中的點
φ——映射函數(shù)
3.4.1不同殘缺比例情況下仿真葉片補全結(jié)果分析
試驗以驗證集的1 276片仿真葉片作為試驗對象,由于葉片一般遮擋情況在20%左右, 因此試驗按照20%、30%、40%的比例做隨機殘缺,利用MSF-PPD補全網(wǎng)絡進行補全,補全結(jié)果通過Open3D[26]進行可視化,如圖5所示。試驗以最小匹配距離作為評價標準,評估自動編碼器(Auto encoder,AE)、潛在空間生成式對抗神經(jīng)網(wǎng)絡(Latent-space generative adversarial networks,L-GAN)[1]和本文方法對不同殘缺比例葉片的補全性能,其補全結(jié)果如圖6所示。
由圖5可知,葉片在不同殘缺比例情況下,本文方法有很好的補全效果,表明本文方法具有較強的魯棒性。由圖6可知,在相同的殘缺比例情況下,最小匹配地球移動距離(MMD-EMD)略高于最小匹配倒角距離(MMD-CD),這是因為MMD-CD更關注點云的整體結(jié)構(gòu)相似性,而MMD-EMD更關注點云的局部細節(jié)相似性,為實現(xiàn)補全的葉片整體結(jié)構(gòu)與原始葉片一致,本文采用倒角距離作為損失函數(shù)進行訓練。根據(jù)圖6可知,在殘缺比例為20%和30%情況下,3種補全方法的補全效果相差不大,且本文方法在20%和30%殘缺比例情況下的補全結(jié)果誤差相差較小,當殘缺比例為40%時,本文方法的補全結(jié)果誤差增加速度更為明顯,但其最小匹配距離相較于另2種方法的補全誤差仍然較低,對殘缺葉片補全效果最優(yōu)。綜上分析可知,在殘缺比例為20%和30%的情況下,補全結(jié)果較為穩(wěn)定,試驗結(jié)果表明,本文方法能夠?qū)Σ煌瑲埲北壤娜~片進行高效、準確的補全。
3.4.2不同點數(shù)稀疏情況下仿真葉片插值補全結(jié)果分析
以驗證集的仿真葉片作為試驗對象,分別對完整葉片點云進行下采樣64、128、256點作為網(wǎng)絡輸入,利用MSF-PPD補全網(wǎng)絡對稀疏點云進行插值補全,補全結(jié)果如圖7所示。試驗以最小匹配距離作為補全評價標準,評估AE、L-GAN和本文方法對不同點數(shù)稀疏情況下的插值補全效果,其補全結(jié)果如圖8所示。
由圖7可知,補全網(wǎng)絡能夠?qū)Σ煌c數(shù)稀疏情況下的葉片進行較好的均勻插值補全。當采樣點數(shù)較少時,插值補全的效果依然很好,表明網(wǎng)絡結(jié)構(gòu)具有較強的魯棒性。根據(jù)圖8可知,當驗證集葉片在不同稀疏情況下時,3種方法對稀疏點云插值補全的效果都較好,其最小匹配距離都較低,其最大值均不超過0.006 0。當葉片在相同的稀疏情況下時,相較于AE和L-GAN,本文方法的補全定量分析誤差更低,補全效果更好,表明本文方法能夠?qū)c云非常稀疏情況下的葉片進行較好的插值補全。
3.4.3不同殘缺比例情況下的綠蘿葉片補全結(jié)果分析
以測試集52片完整葉片點云作為試驗對象,分別按照20%、30%、40%比例做隨機殘缺,利用訓練好的MSF-PPD網(wǎng)絡模型進行補全,補全結(jié)果通過Open3D進行可視化,結(jié)果如圖9所示。試驗以最小匹配距離作為評價標準對殘缺葉片補全結(jié)果進行定量分析,結(jié)果如表1所示。
由圖9可得,在殘缺比例為40%的情況下,補全結(jié)果仍然較為完整,證明本文方法在葉片殘缺較多的情況下,仍然具有較強的補全性能。由表1可知,MMD-CD和MMD-EMD在不同殘缺比例情況下的數(shù)值略高于驗證集定量分析結(jié)果,這是因為測試集和驗證集的葉片內(nèi)部點云分布存在不一致,導致測試集計算誤差略高于驗證集,但是整體補全效果仍然較好,測試集的綠蘿葉片內(nèi)部點云是通過Kinect v2相機獲取,而驗證集的仿真葉片內(nèi)部點云分布是利用間隔距離進行離散和迭代采樣得到。但是從整體結(jié)果看,MMD-CD和MMD-EMD仍然較低,在誤差允許范圍內(nèi)。試驗結(jié)果表明,本文方法能夠?qū)Σ煌瑲埲北壤闆r下的真實葉片進行高效、完整的補全。
表1 不同殘缺比例情況下的葉片補全結(jié)果定量分析Tab.1 Quantitative analysis of leaf complementation with different mutilation ratios
3.4.4在自然遮擋狀態(tài)下的葉片補全結(jié)果分析
以測試集中50片自然遮擋狀態(tài)下的綠蘿單片葉片作為試驗對象,利用訓練好的MSF-PPD網(wǎng)絡模型對自然遮擋的葉片進行補全。試驗選取其中一組遮擋葉片補全結(jié)果通過Open3D進行可視化,如圖10所示。試驗以最小匹配距離作為評價標準對自然遮擋狀態(tài)下的葉片補全結(jié)果進行定量分析,結(jié)果如表2所示。
由圖10可知,葉片7在遮擋較為嚴重的情況下,其補全結(jié)果仍然較為完整,說明MSF-PPD補全網(wǎng)絡在葉片遮擋較多的情況下,仍然具有較強的魯棒性。由表2可知, MMD-CD和MMD-EMD數(shù)值較低,在誤差允許范圍內(nèi)。試驗結(jié)果表明,本文提出的MSF-PPD網(wǎng)絡能夠?qū)υ谧匀徽趽跚闆r下的葉片進行高效、完整的補全。
表2 50片遮擋葉片補全結(jié)果定量分析Tab.2 Quantitative analysis of 50 occluded leaf complementation results
針對葉片存在遮擋的問題,本文提出了基于MSF-PPD網(wǎng)絡結(jié)構(gòu)的葉片點云補全方法。通過曲面參數(shù)方程構(gòu)建仿真葉片模型庫作為網(wǎng)絡訓練的數(shù)據(jù)集,驗證集補全試驗結(jié)果表明,網(wǎng)絡既能對一定程度的葉片遮擋進行有效的補全,也能在葉片點云稀疏情況下進行精準的插值補全。測試集補全試驗結(jié)果表明,本文方法能夠?qū)ψ匀徽趽鯛顟B(tài)下的真實葉片進行生成補全,并獲得了較好的補全效果。