陳迎亮, 李大威,b
(東華大學 a.信息科學與技術學院,b.數(shù)字化紡織服裝技術教育部工程研究中心, 上海 201620)
點云數(shù)據(jù)是描述三維目標表面的一系列三維點坐標,其以離散的形式保留了原始的物件空間信息,是三維場景建模與理解的首要數(shù)據(jù)形式[1-2]。點級分割是三維點云數(shù)據(jù)處理中重要的研究方向之一。類似于圖像的像素級分類任務,點云的點級分割可分為語義分割和實例分割[3]。語義分割是指將點云中的每個點劃分到其所屬的語義可解釋類別中;實例分割是在語義分割的基礎上對語義類別下的所有實例級個體進行劃分。在三維物體點云的處理中兼顧語義分割和實例分割將是一個很大的挑戰(zhàn)。
深度學習[4]簡化了傳統(tǒng)分割方法的調(diào)參復雜和數(shù)據(jù)普適性問題,能兼顧多分割任務并且能夠達到可觀的預測準確率,因此在自然語言處理[5]、語音識別[6]、遙感技術[7]等方面得到廣泛應用。由于三維點云具有無序性、不均勻性和稀疏性[8],因此深度學習中的卷積運算無法直接應用于點云分割。早期的點云深度學習分割方法主張對點云進行體素化[9-11]處理,以增強點云的有序性和規(guī)則性,然后將卷積擴展到三維,實現(xiàn)圖像深度學習方法向點云深度學習方法的遷移。然而,體素化受分辨率和計算量限制,很難在現(xiàn)有的GPU硬件訓練框架下提升訓練效果。部分學者[12-13]將點云投影到二維平面,先用二維圖像的深度學習方法進行分割,再投影回點云中使用基于投票決策的方式進行三維點云的間接分割。該策略的結(jié)果受點云復雜度、投影角度和投影圖像分割效果的綜合影響,難以在復雜點云上取得滿意的效果。
目前,基于體素化與投影的方法都不可避免地損失了原始點云的部分細節(jié),因此,研究人員開始探索直接在點云的單點級別上進行深度學習。Qi等[8]提出的PointNet網(wǎng)絡是首個實現(xiàn)端到端分類與分割的點級別深度學習語義分割網(wǎng)絡,它通過多層感知器(multi-layer perceptron,MLP)對點的局部特征進行提取,通過最大值池化將局部特征聚合為全局特征。后續(xù)的Pointnet++[14]網(wǎng)絡在PointNet網(wǎng)絡基礎上引入下采樣和多尺度融合,以增強對點云局部特征的提取效果。Li等[15]提出PointCNN網(wǎng)絡,對輸入點進行X-卷積運算,得到與順序無關的特征,能夠較好地解決點云的無序性問題。Wang等[16]提出SGPN(similarity group proposal network)網(wǎng)絡,通過記錄點對不同特征的差異形成相似矩陣從而進行點的聚合,該網(wǎng)絡是第一個直接進行點云實例分割的深度學習網(wǎng)絡。Wang等[17]基于PointNet++的基本框架提出ASIS(associatively segmenting instances and semantics)網(wǎng)絡,該網(wǎng)絡用1個簡單的雙通路框架同時實現(xiàn)了對點云的語義分割與實例分割。Zhao等[18]在ASIS網(wǎng)絡的基礎上,使用PointConv模塊改進ASIS網(wǎng)絡中的特征提取部分,并設計了復雜的雙通路融合模塊,提出了JSNet網(wǎng)絡,該網(wǎng)絡在一些大型3 D數(shù)據(jù)集上提高了分割的準確率,取得較好的分割效果。大場景下的點云數(shù)據(jù)一般通過激光雷達掃描獲得,然后由主流的深度學習網(wǎng)絡將點云數(shù)據(jù)分塊輸入網(wǎng)絡進行訓練,而PartNet[19]等物體數(shù)據(jù)集中單一物件點云的點數(shù)較少,通常在降采樣后將整個物體作為網(wǎng)絡的輸入。將上述點云深度學習網(wǎng)絡直接應用于單一物件時的分割效果明顯下降。這是因為,目前主流的聯(lián)合分割網(wǎng)絡難以有效學習物件點云的幾何多樣性特征,尤其是無法降低點云曲率較大處、崎嶇細節(jié)處的分類錯誤率。
為解決這些問題,提出物體點云語義和實例分割網(wǎng)絡(semantic and instance segmentation network, SISN),該網(wǎng)絡由廣義的編解碼過程前端和語義與實例特征融合后端構(gòu)成,可實現(xiàn)多類別物件點云的語義與實例聯(lián)合分割。SISN將動態(tài)圖卷積子模塊作為網(wǎng)絡的基本單元應用在網(wǎng)絡結(jié)構(gòu)的前端編碼器和解碼器中,可實現(xiàn)感受野的增強和對幾何多樣性的有效學習。在語義與實例特征的融合子模塊中,搭建兩條帶有全連接一維卷積的單向信息交叉支路,并在支路末端實現(xiàn)信息融合,可增強語義與實例分割任務的內(nèi)在關聯(lián),并促進特征學習。
動態(tài)圖卷積點云聯(lián)合分割網(wǎng)絡SISN的架構(gòu)如圖1(a)所示。將含有N個點、C0維初始特征的點云作為輸入,初始特征包含空間坐標(x,y,z)、顏色(r,g,b)、法向量(nx,ny,nz)信息,故C0=9。首先,對輸入點云進行特征編碼。在編碼器過程中共進行4次獨立的特征提取,特征層用灰色表示。每次特征提取分兩步進行:一是在特征空間上對先前的特征點進行最遠點采樣,二是動態(tài)圖卷積[20]。動態(tài)圖卷積操作主要由兩次邊卷積運算和特征拼接操作組成,最后使用一維卷積調(diào)整特征長度,如圖1(b)所示。特征編碼器并不對語義和實例特征進行區(qū)分,只負責完成從小到大的多尺度特征信息提取。其次,對特征編碼進行解碼。分為語義流與實例流2個支路,分別進行語義特征解碼和實例特征解碼,得到語義解碼特征Fdesm和實例解碼特征Fdins。在解碼中同樣分兩步進行:一是對特征圖進行基于特征空間插值的上采樣,二是動態(tài)圖卷積。然后,將2條支路的解碼特征輸入融合模塊進行語義特征和實例特征的交叉融合,如圖1(c)所示。最后,語義流通過Softmax[21]輸出語義分割標簽從而完成語義分割,在實例流的特征空間上通過均值漂移聚類(mean shift)[22]將聚類后的特征點劃分為不同實例并對應到原始點云上渲染輸出。
圖1 SISN的網(wǎng)絡架構(gòu)Fig.1 The network architecture of SISN
在網(wǎng)絡的編碼器部分和雙支路解碼器部分,頻繁使用動態(tài)圖卷積模塊進行點云的深度特征提取與聚合,如圖2所示。
圖2 動態(tài)圖卷積操作示意圖Fig.2 A demonstration of the dynamic graph convolution
eij=xi-xij
(1)
(2)
同一實例類包含的點必定屬于同一語義類,而不同語義類的點必定屬于不同實例類。由此先驗知識可知:語義分割任務與實例分割任務之間是有內(nèi)在關聯(lián)的,因此適當對語義流與實例流的特征進行融合有利于提高語義與實例雙分割網(wǎng)絡的精度。圖1(c)是網(wǎng)絡的語義與實例特征融合模塊的內(nèi)部展示,在特征解碼得到N×128的語義流特征Fdsem和N×128實例流特征Fdins后,在雙通路結(jié)構(gòu)上搭建兩條帶有全連接一維卷積的單向信息交叉支路,在每條支路末端與主通路的連接處直接通過特征圖相加實現(xiàn)信息融合。交叉融合后雙通路再各自通過1次獨立的動態(tài)圖卷積得到語義與實例特征融合模塊的輸出Fdsem與Fdins。式(3)與(4)分別表示語義通路和實例通路的融合過程,其中D(·)表示一次動態(tài)圖卷積運算。
Fsem=D(Fdsem+f(Fins))
(3)
Fins=D(Fdins+f(Fdesm))
(4)
語義與實例特征融合模塊的輸出為更高級的N×C語義特征信息Fsem與N×5的實例特征信息Fins,其中C為數(shù)據(jù)集中語義類的個數(shù)(采用的PartNet數(shù)據(jù)集C=38)。Fsem之后使用Softmax完成點云的點級別語義分割,F(xiàn)ins之后使用均值漂移聚類算法根據(jù)實例端的輸出特征對點云進行點級別的實例分割。使用不同顏色渲染表示語義分割結(jié)果中不同類別的點,對于實例分割結(jié)果,點云中不同的顏色表示不同的實例。
在SISN的雙通路模塊中,語義流和實例流的信息交互通過簡單的一維卷積來實現(xiàn)。這種簡單而有效的機制,既不同于ASIS網(wǎng)絡通過對實例特征進行K近鄰來提取鄰域信息,從而進行語義與實例特征交互的方式,也不同于JSNet網(wǎng)絡通過注意力模塊和均值模塊來實現(xiàn)實例特征與語義特征的融合的機制。
在輸入網(wǎng)絡的所有類別的物件點云中,語義類的總個數(shù)是確定的,因此語義分割使用經(jīng)典的交叉熵損失函數(shù),如式(5)所示,其中,N為總的點數(shù),C為數(shù)據(jù)集中語義類的個數(shù),p(xi=j)為點xi為j類的概率,q(xi=j)為將點xi預測為j類的概率。而實例的個數(shù)是不確定的,因此不同輸入點云的實例個數(shù)是不一樣的。實例分割使用實例損失監(jiān)督策略,以多個損失的加權(quán)共同監(jiān)督實例分割訓練,如式(6)所示,其中α,β,γ為損失的權(quán)重參數(shù)。Ls用于使屬于相同實例個體的點聚集,以及在高維特征空間內(nèi)使同一實例的點間距離變小,如式(7)所示,其中,I為本訓練批次(Batch)標簽中的實例個數(shù),Ni為實例i中點的個數(shù),μi為屬于實例i的點在高維特征空間中的均值,ej為點j的特征向量,δv為邊界閾值,‖·‖1表示l1范數(shù)計算,[x]+=max(0,x)。Ld用于使不同實例個體的點在特征空間中相互排斥,以實現(xiàn)更加準確的實例分割,如式(8)所示,其中2δd表示兩個不同實例個體的最近距離。Lreg為正則化損失,用于緩解過擬合并使網(wǎng)絡的分割注意力在點云表面保持平衡,提高泛化能力,如式(9)所示。
(5)
Linstance=αLs+βLd+γLreg
(6)
(7)
(8)
(9)
選用PartNet數(shù)據(jù)集中的8種物件(包、椅子、顯示器、耳機、帽子、刀、剪刀、垃圾桶),共38個物件子語義類(如椅背、椅面、椅腿等)進行語義與實例分割性能測試,并與ASIS和JSNet方法進行對比。輸入的物件點云特征信息包括空間坐標、顏色信息和法向量。在數(shù)據(jù)集中每個原始物件有10 000個點,鑒于點數(shù)太多會占據(jù)計算資源,延長訓練時間,對于提高分割性能的實際意義不大,因此采用最遠點采樣的方法將點數(shù)降采樣到4 096再作為輸入。此外,為驗證本文方法對不同類型點云的泛化性能,將本文網(wǎng)絡與其他兩種網(wǎng)絡在包含3個品種共546個植株單體的植物點云數(shù)據(jù)集上進行語義分割與實例分割性能對比,其中,語義類劃分為莖稈和葉片兩類共6種,而實例標簽則為葉片語義中的每個單獨葉片。
使用NVIDIA GeForce RTX 2080Ti顯卡進行網(wǎng)絡訓練。訓練過程中,設置每批次訓練數(shù)據(jù)為8,學習率為0.001,訓練輪次為100;最小化損失的優(yōu)化算法使用Adam優(yōu)化器,實例損失的權(quán)重參數(shù)設置為α=β=1以及γ=0.001。PartNet數(shù)據(jù)集中的訓練集有6 864個物件,測試集有1 688個物件。植物點云數(shù)據(jù)集中的訓練集有364個植株點云,測試集有182個植株點云。
對于語義分割任務,計算每種物件所包含的語義類的準確率P、召回率R、分數(shù)F1和交并比IIoU(intersection over union, IoU)。準確率反映分類正確的點數(shù)在網(wǎng)絡預測結(jié)果中的占比,如式(10)所示。召回率反映該語義類分類正確的點數(shù)在真實標簽的該類總點數(shù)中的占比,如式(11)所示。交并比反映每個語義類的預測區(qū)域與其實際區(qū)域的重合程度,如式(12)所示。
(10)
(11)
(12)
式中:NTP為網(wǎng)絡預測正確的點數(shù);NFP為將其他類的點錯預測為當前語義類的點數(shù);NFN為將當前語義類錯預測為其他語義類的點數(shù)。
分數(shù)F1為準確率和召回率的調(diào)和平均數(shù),如式(13)所示。
(13)
使用CmCov和CmWCov來評價實例分割的結(jié)果,定義如下:
(14)
(15)
(16)
式中:G為屬于某個語義類的真實實例標簽的區(qū)域集合;P為網(wǎng)絡預測出的所有實例區(qū)域的集合;Gm為標簽中第m個實例的點集;Pn為預測中第n個實例的點集。除點級別評價指標外,還有實例級的評價指標,如平均準確率Pmean和平均召回率Rmean,其定義如下:
(17)
(18)
式中:|NTPi|為網(wǎng)絡預測出的屬于語義類i且IIoU>50%的實例個數(shù);|Pi|為預測出的屬于語義類i的實例個數(shù);|Gi|為語義類i的真實標簽中的實例個數(shù)。
SISN對PartNet數(shù)據(jù)集中每種物件的語義分割定量結(jié)果如表1所示,對每種物件的實例分割定量結(jié)果如表2所示。由表1和2可知,SISN對顯示器和剪刀的語義和實例分割準確率P較高。主要原因有兩點:(1)不同的顯示器個體、剪刀個體的類內(nèi)形狀差異較小,且這兩種物件的語義部件之間的差異明顯,如顯示器分為屏幕和底座兩部分,剪刀柄一般為圓環(huán)狀,剪刀頭一般為長尖狀;(2)顯示器和剪刀物件中包含的實例個體偏少,客觀上減少了實例分割出現(xiàn)誤差的可能。SISN網(wǎng)絡對耳機和包的分割準確率P和交并比IIoU較低,主要原因有兩點:(1)不同耳機的形狀差異較大,如有的耳機沒有麥克風;(2)包和耳機物件中包含的實例個數(shù)多于語義類,更易發(fā)生誤分割,比如包有2個提手、耳機有2個耳罩。
表1 SISN對PartNet物件語義分割的定量結(jié)果Table 1 Quantitative results of semantic segmentation of PartNet objects by SISN %
表2 SISN對PartNet物件實例分割的定量結(jié)果Table 2 Quantitative results of instance segmentation of PartNet objects by SISN %
SISN對植物點云數(shù)據(jù)集的語義分割和實例分割全類別定量試驗結(jié)果分別如表3和4所示。植物數(shù)據(jù)集較為規(guī)整、類別較少,不同類別點集特征區(qū)分相對明顯,故在植物點云數(shù)據(jù)集上的整體分割效果較好,大部分指標在80%以上。
表3 SISN對植物點云數(shù)據(jù)集語義分割的全類別定量結(jié)果
表4 SISN對植物點云數(shù)據(jù)集實例分割的全類別定量結(jié)果
將SISN的結(jié)果與當前流行的雙功能分割網(wǎng)絡ASIS與JSNet分別在PartNet數(shù)據(jù)集和植物點云數(shù)據(jù)集上進行對比。試驗時保持3種網(wǎng)絡試驗條件基本一致,輸入的訓練與測試點云完全相同,結(jié)果如表5和6所示。由表5和6可知,SISN在多個指標上取得較好的結(jié)果。
表5 3種網(wǎng)絡的語義分割平均定量對比
表6 3種網(wǎng)絡的實例分割平均定量對比
3種網(wǎng)絡在PartNet數(shù)據(jù)集上的語義定性結(jié)果對比如圖3所示,圖中紅色實線框表示語義分割有誤。由圖3可知,ASIS網(wǎng)絡未能分割出帽飾語義類,將剪刀握柄部分的一些點誤分割為刀面,將顯示器主體的部分點誤分割為底座,對桶的上表面也分割錯誤。JSNet網(wǎng)絡將帽飾(羽毛)誤分類為帽沿,將剪刀刀柄上的部分點誤分割為刀面,將顯示器底座的部分點誤分割主體,對桶的上半部分也分割錯誤。而SISN在不同語義類的邊界處分割正確。這些結(jié)果說明SISN有效增強了對語義幾何多樣性特征的學習,通過動態(tài)圖卷積充分提取了每個點的局部鄰域的信息,因此能有效學習到每個語義類別下的點深度特征,減少誤分割。
圖3 SISN、ASIS和JSNet網(wǎng)絡在PartNet數(shù)據(jù)集上的語義分割定性結(jié)果對比Fig.3 Qualitative semantic comparison among SISN, ASIS and JSNet on the PartNet dataset
3種網(wǎng)絡在PartNet數(shù)據(jù)集上的實例定性結(jié)果對比如圖4所示,圖中紅色實線框表示實例分割有誤,虛線框是將對應的紅色實線框放大顯示。由圖4可知,ASIS網(wǎng)絡的預測結(jié)果將包的背帶中間弧度大的區(qū)域預測為新的實例類別,將耳機的左發(fā)聲單元預測為2個實例。JSNet網(wǎng)絡對包的背帶與側(cè)片連接處分割錯誤,將耳機的頭梁部分預測為更多的實例。在椅子物件中:ASIS網(wǎng)絡在椅面邊緣的實例分割上存在分散的錯誤(少數(shù)紫色雜點),這些雜點被錯誤地分割為新的椅面實例;JSNet網(wǎng)絡對椅背的邊緣存在分割錯誤,將部分點識別成新的實例(綠色點)。SISN則沒有這些誤分割情況, 在物件點云的實例分割的細節(jié)方面明顯優(yōu)于ASIS網(wǎng)絡和JSNet網(wǎng)絡。這些現(xiàn)象說明SISN可以增強對點云中局部不平坦區(qū)域細節(jié)的學習, 在動態(tài)圖卷積中通過局部鄰域圖的構(gòu)建,充分學習到了點的局部特征信息,有效增強了對點云實例幾何多樣性特征的學習。
圖4 SISN、ASIS和JSNet網(wǎng)絡在PartNet數(shù)據(jù)集上的實例分割定性結(jié)果對比Fig.4 Qualitative instance comparison among SISN, ASIS and JSNet on the PartNet dataset
3種網(wǎng)絡在植物點云數(shù)據(jù)集上的語義定性結(jié)果對比如圖5所示。由圖5可知,SISN有效增強了對語義幾何多樣性特征的學習,特別是增強了對植物結(jié)構(gòu)中不平坦細節(jié)的正確分類。而ASIS網(wǎng)絡與JSNet網(wǎng)絡對細節(jié)部分存在語義分類錯誤,如JSNet網(wǎng)絡將植物樣本2的主莖稈底部分類為另一種植物的莖稈,ASIS網(wǎng)絡誤分類了葉片和莖稈尖端的一些點。
圖5 SISN、ASIS和JSNet網(wǎng)絡在植物點云數(shù)據(jù)集上的語義分割定性結(jié)果對比Fig.5 Qualitative semantic comparison among SISN, ASIS and JSNet on the plant dataset
3種網(wǎng)絡在植物點云數(shù)據(jù)集上的實例定性結(jié)果對比如圖6所示。由圖6可知,SISN有效增強了對點云實例幾何多樣性特征的學習,特別是增強了葉片與葉片之間、葉片與莖稈之間連接點的分割準確性??傮w而言:ASIS網(wǎng)絡對邊緣點的高層次特征學習不夠,對葉片與葉片粘連的邊緣點存在一定的分類難度;JSNet網(wǎng)絡則對莖稈的頂端存在分割錯誤;而SISN在實例分割的細節(jié)上明顯優(yōu)于ASIS網(wǎng)絡和JSNet網(wǎng)絡。
圖6 SISN、ASIS和JSNet網(wǎng)絡在植物點云數(shù)據(jù)集上的實例分割定性結(jié)果對比Fig.6 Qualitative instance comparison among SISN,ASIS and JSNet on the plant dataset
剝離試驗是指將網(wǎng)絡中的某個模塊去除或替換為其他模塊,以驗證該模塊的有效性和優(yōu)越性。通過2組剝離試驗分別驗證動態(tài)圖卷積模塊和語義與實例特征融合模塊的有效性與合理性。第1組,將圖1(a)標準網(wǎng)絡結(jié)構(gòu)中的動態(tài)圖卷積全部替換為深度相同的全連接一維卷積,即剝離動態(tài)圖卷積模塊;第2組,剝離圖1(c)標準網(wǎng)絡結(jié)構(gòu)中的藍色部分,即去除語義流與實例流之間通過一維卷積進行的信息交流支路。
剝離網(wǎng)絡與標準網(wǎng)絡的定量結(jié)果對比如表7所示。由表7可知:剝離動態(tài)圖卷積模塊后,網(wǎng)絡的性能明顯下降,特別是語義分割的準確率下降了8.1個百分點,說明點的局部鄰域圖能更好地提取局部特征信息,可提高深度網(wǎng)絡對物件點云的分割效果;剝離語義與實例特征融合模塊的交叉支路后,網(wǎng)絡在語義分割后與實例分割后定量結(jié)果下降2.2~3.5個百分點。由此說明,語義流和實例流的信息交互可顯著提高語義分割和實例分割的結(jié)果。
表7 剝離試驗的定量結(jié)果Table 7 Quantitative results for ablation test %
SISN較好地完成了3D物件點云的語義與實例聯(lián)合分割任務。通過動態(tài)圖卷積,網(wǎng)絡可以充分提取3D物件的幾何特征;語義特征與實例特征的交叉融合,使得網(wǎng)絡可在這兩個分割任務上相互輔助,從而提高分割的精度。PartNet數(shù)據(jù)集和植物點云數(shù)據(jù)集上的定性與定量試驗結(jié)果表明,與ASIS網(wǎng)絡和JSNet網(wǎng)絡相比,SISN對物件點云的分割效果更優(yōu)。未來準備將SISN遷移至更復雜的物體點云分割任務,并計劃引入諸如注意力機制等更有效的特征提取模塊,使之在所有類型的物體點云上都能進行準確的語義和實例分割。