陳迎亮, 李大威,b
(東華大學 a.信息科學與技術學院,b.數字化紡織服裝技術教育部工程研究中心, 上海 201620)
點云數據是描述三維目標表面的一系列三維點坐標,其以離散的形式保留了原始的物件空間信息,是三維場景建模與理解的首要數據形式[1-2]。點級分割是三維點云數據處理中重要的研究方向之一。類似于圖像的像素級分類任務,點云的點級分割可分為語義分割和實例分割[3]。語義分割是指將點云中的每個點劃分到其所屬的語義可解釋類別中;實例分割是在語義分割的基礎上對語義類別下的所有實例級個體進行劃分。在三維物體點云的處理中兼顧語義分割和實例分割將是一個很大的挑戰。
深度學習[4]簡化了傳統分割方法的調參復雜和數據普適性問題,能兼顧多分割任務并且能夠達到可觀的預測準確率,因此在自然語言處理[5]、語音識別[6]、遙感技術[7]等方面得到廣泛應用。由于三維點云具有無序性、不均勻性和稀疏性[8],因此深度學習中的卷積運算無法直接應用于點云分割。早期的點云深度學習分割方法主張對點云進行體素化[9-11]處理,以增強點云的有序性和規則性,然后將卷積擴展到三維,實現圖像深度學習方法向點云深度學習方法的遷移。然而,體素化受分辨率和計算量限制,很難在現有的GPU硬件訓練框架下提升訓練效果。部分學者[12-13]將點云投影到二維平面,先用二維圖像的深度學習方法進行分割,再投影回點云中使用基于投票決策的方式進行三維點云的間接分割。該策略的結果受點云復雜度、投影角度和投影圖像分割效果的綜合影響,難以在復雜點云上取得滿意的效果。
目前,基于體素化與投影的方法都不可避免地損失了原始點云的部分細節,因此,研究人員開始探索直接在點云的單點級別上進行深度學習。Qi等[8]提出的PointNet網絡是首個實現端到端分類與分割的點級別深度學習語義分割網絡,它通過多層感知器(multi-layer perceptron,MLP)對點的局部特征進行提取,通過最大值池化將局部特征聚合為全局特征。后續的Pointnet++[14]網絡在PointNet網絡基礎上引入下采樣和多尺度融合,以增強對點云局部特征的提取效果。Li等[15]提出PointCNN網絡,對輸入點進行X-卷積運算,得到與順序無關的特征,能夠較好地解決點云的無序性問題。Wang等[16]提出SGPN(similarity group proposal network)網絡,通過記錄點對不同特征的差異形成相似矩陣從而進行點的聚合,該網絡是第一個直接進行點云實例分割的深度學習網絡。Wang等[17]基于PointNet++的基本框架提出ASIS(associatively segmenting instances and semantics)網絡,該網絡用1個簡單的雙通路框架同時實現了對點云的語義分割與實例分割。Zhao等[18]在ASIS網絡的基礎上,使用PointConv模塊改進ASIS網絡中的特征提取部分,并設計了復雜的雙通路融合模塊,提出了JSNet網絡,該網絡在一些大型3 D數據集上提高了分割的準確率,取得較好的分割效果。大場景下的點云數據一般通過激光雷達掃描獲得,然后由主流的深度學習網絡將點云數據分塊輸入網絡進行訓練,而PartNet[19]等物體數據集中單一物件點云的點數較少,通常在降采樣后將整個物體作為網絡的輸入。將上述點云深度學習網絡直接應用于單一物件時的分割效果明顯下降。這是因為,目前主流的聯合分割網絡難以有效學習物件點云的幾何多樣性特征,尤其是無法降低點云曲率較大處、崎嶇細節處的分類錯誤率。
為解決這些問題,提出物體點云語義和實例分割網絡(semantic and instance segmentation network, SISN),該網絡由廣義的編解碼過程前端和語義與實例特征融合后端構成,可實現多類別物件點云的語義與實例聯合分割。SISN將動態圖卷積子模塊作為網絡的基本單元應用在網絡結構的前端編碼器和解碼器中,可實現感受野的增強和對幾何多樣性的有效學習。在語義與實例特征的融合子模塊中,搭建兩條帶有全連接一維卷積的單向信息交叉支路,并在支路末端實現信息融合,可增強語義與實例分割任務的內在關聯,并促進特征學習。
動態圖卷積點云聯合分割網絡SISN的架構如圖1(a)所示。將含有N個點、C0維初始特征的點云作為輸入,初始特征包含空間坐標(x,y,z)、顏色(r,g,b)、法向量(nx,ny,nz)信息,故C0=9。首先,對輸入點云進行特征編碼。在編碼器過程中共進行4次獨立的特征提取,特征層用灰色表示。每次特征提取分兩步進行:一是在特征空間上對先前的特征點進行最遠點采樣,二是動態圖卷積[20]。動態圖卷積操作主要由兩次邊卷積運算和特征拼接操作組成,最后使用一維卷積調整特征長度,如圖1(b)所示。特征編碼器并不對語義和實例特征進行區分,只負責完成從小到大的多尺度特征信息提取。其次,對特征編碼進行解碼。分為語義流與實例流2個支路,分別進行語義特征解碼和實例特征解碼,得到語義解碼特征Fdesm和實例解碼特征Fdins。在解碼中同樣分兩步進行:一是對特征圖進行基于特征空間插值的上采樣,二是動態圖卷積。然后,將2條支路的解碼特征輸入融合模塊進行語義特征和實例特征的交叉融合,如圖1(c)所示。最后,語義流通過Softmax[21]輸出語義分割標簽從而完成語義分割,在實例流的特征空間上通過均值漂移聚類(mean shift)[22]將聚類后的特征點劃分為不同實例并對應到原始點云上渲染輸出。

圖1 SISN的網絡架構Fig.1 The network architecture of SISN
在網絡的編碼器部分和雙支路解碼器部分,頻繁使用動態圖卷積模塊進行點云的深度特征提取與聚合,如圖2所示。

圖2 動態圖卷積操作示意圖Fig.2 A demonstration of the dynamic graph convolution

eij=xi-xij
(1)

(2)

同一實例類包含的點必定屬于同一語義類,而不同語義類的點必定屬于不同實例類。由此先驗知識可知:語義分割任務與實例分割任務之間是有內在關聯的,因此適當對語義流與實例流的特征進行融合有利于提高語義與實例雙分割網絡的精度。圖1(c)是網絡的語義與實例特征融合模塊的內部展示,在特征解碼得到N×128的語義流特征Fdsem和N×128實例流特征Fdins后,在雙通路結構上搭建兩條帶有全連接一維卷積的單向信息交叉支路,在每條支路末端與主通路的連接處直接通過特征圖相加實現信息融合。交叉融合后雙通路再各自通過1次獨立的動態圖卷積得到語義與實例特征融合模塊的輸出Fdsem與Fdins。式(3)與(4)分別表示語義通路和實例通路的融合過程,其中D(·)表示一次動態圖卷積運算。
Fsem=D(Fdsem+f(Fins))
(3)
Fins=D(Fdins+f(Fdesm))
(4)
語義與實例特征融合模塊的輸出為更高級的N×C語義特征信息Fsem與N×5的實例特征信息Fins,其中C為數據集中語義類的個數(采用的PartNet數據集C=38)。Fsem之后使用Softmax完成點云的點級別語義分割,Fins之后使用均值漂移聚類算法根據實例端的輸出特征對點云進行點級別的實例分割。使用不同顏色渲染表示語義分割結果中不同類別的點,對于實例分割結果,點云中不同的顏色表示不同的實例。
在SISN的雙通路模塊中,語義流和實例流的信息交互通過簡單的一維卷積來實現。這種簡單而有效的機制,既不同于ASIS網絡通過對實例特征進行K近鄰來提取鄰域信息,從而進行語義與實例特征交互的方式,也不同于JSNet網絡通過注意力模塊和均值模塊來實現實例特征與語義特征的融合的機制。
在輸入網絡的所有類別的物件點云中,語義類的總個數是確定的,因此語義分割使用經典的交叉熵損失函數,如式(5)所示,其中,N為總的點數,C為數據集中語義類的個數,p(xi=j)為點xi為j類的概率,q(xi=j)為將點xi預測為j類的概率。而實例的個數是不確定的,因此不同輸入點云的實例個數是不一樣的。實例分割使用實例損失監督策略,以多個損失的加權共同監督實例分割訓練,如式(6)所示,其中α,β,γ為損失的權重參數。Ls用于使屬于相同實例個體的點聚集,以及在高維特征空間內使同一實例的點間距離變小,如式(7)所示,其中,I為本訓練批次(Batch)標簽中的實例個數,Ni為實例i中點的個數,μi為屬于實例i的點在高維特征空間中的均值,ej為點j的特征向量,δv為邊界閾值,‖·‖1表示l1范數計算,[x]+=max(0,x)。Ld用于使不同實例個體的點在特征空間中相互排斥,以實現更加準確的實例分割,如式(8)所示,其中2δd表示兩個不同實例個體的最近距離。Lreg為正則化損失,用于緩解過擬合并使網絡的分割注意力在點云表面保持平衡,提高泛化能力,如式(9)所示。
(5)
Linstance=αLs+βLd+γLreg
(6)
(7)
(8)
(9)
選用PartNet數據集中的8種物件(包、椅子、顯示器、耳機、帽子、刀、剪刀、垃圾桶),共38個物件子語義類(如椅背、椅面、椅腿等)進行語義與實例分割性能測試,并與ASIS和JSNet方法進行對比。輸入的物件點云特征信息包括空間坐標、顏色信息和法向量。在數據集中每個原始物件有10 000個點,鑒于點數太多會占據計算資源,延長訓練時間,對于提高分割性能的實際意義不大,因此采用最遠點采樣的方法將點數降采樣到4 096再作為輸入。此外,為驗證本文方法對不同類型點云的泛化性能,將本文網絡與其他兩種網絡在包含3個品種共546個植株單體的植物點云數據集上進行語義分割與實例分割性能對比,其中,語義類劃分為莖稈和葉片兩類共6種,而實例標簽則為葉片語義中的每個單獨葉片。
使用NVIDIA GeForce RTX 2080Ti顯卡進行網絡訓練。訓練過程中,設置每批次訓練數據為8,學習率為0.001,訓練輪次為100;最小化損失的優化算法使用Adam優化器,實例損失的權重參數設置為α=β=1以及γ=0.001。PartNet數據集中的訓練集有6 864個物件,測試集有1 688個物件。植物點云數據集中的訓練集有364個植株點云,測試集有182個植株點云。
對于語義分割任務,計算每種物件所包含的語義類的準確率P、召回率R、分數F1和交并比IIoU(intersection over union, IoU)。準確率反映分類正確的點數在網絡預測結果中的占比,如式(10)所示。召回率反映該語義類分類正確的點數在真實標簽的該類總點數中的占比,如式(11)所示。交并比反映每個語義類的預測區域與其實際區域的重合程度,如式(12)所示。
(10)
(11)
(12)
式中:NTP為網絡預測正確的點數;NFP為將其他類的點錯預測為當前語義類的點數;NFN為將當前語義類錯預測為其他語義類的點數。
分數F1為準確率和召回率的調和平均數,如式(13)所示。
(13)
使用CmCov和CmWCov來評價實例分割的結果,定義如下:
(14)
(15)
(16)
式中:G為屬于某個語義類的真實實例標簽的區域集合;P為網絡預測出的所有實例區域的集合;Gm為標簽中第m個實例的點集;Pn為預測中第n個實例的點集。除點級別評價指標外,還有實例級的評價指標,如平均準確率Pmean和平均召回率Rmean,其定義如下:
(17)
(18)
式中:|NTPi|為網絡預測出的屬于語義類i且IIoU>50%的實例個數;|Pi|為預測出的屬于語義類i的實例個數;|Gi|為語義類i的真實標簽中的實例個數。
SISN對PartNet數據集中每種物件的語義分割定量結果如表1所示,對每種物件的實例分割定量結果如表2所示。由表1和2可知,SISN對顯示器和剪刀的語義和實例分割準確率P較高。主要原因有兩點:(1)不同的顯示器個體、剪刀個體的類內形狀差異較小,且這兩種物件的語義部件之間的差異明顯,如顯示器分為屏幕和底座兩部分,剪刀柄一般為圓環狀,剪刀頭一般為長尖狀;(2)顯示器和剪刀物件中包含的實例個體偏少,客觀上減少了實例分割出現誤差的可能。SISN網絡對耳機和包的分割準確率P和交并比IIoU較低,主要原因有兩點:(1)不同耳機的形狀差異較大,如有的耳機沒有麥克風;(2)包和耳機物件中包含的實例個數多于語義類,更易發生誤分割,比如包有2個提手、耳機有2個耳罩。

表1 SISN對PartNet物件語義分割的定量結果Table 1 Quantitative results of semantic segmentation of PartNet objects by SISN %

表2 SISN對PartNet物件實例分割的定量結果Table 2 Quantitative results of instance segmentation of PartNet objects by SISN %
SISN對植物點云數據集的語義分割和實例分割全類別定量試驗結果分別如表3和4所示。植物數據集較為規整、類別較少,不同類別點集特征區分相對明顯,故在植物點云數據集上的整體分割效果較好,大部分指標在80%以上。

表3 SISN對植物點云數據集語義分割的全類別定量結果

表4 SISN對植物點云數據集實例分割的全類別定量結果
將SISN的結果與當前流行的雙功能分割網絡ASIS與JSNet分別在PartNet數據集和植物點云數據集上進行對比。試驗時保持3種網絡試驗條件基本一致,輸入的訓練與測試點云完全相同,結果如表5和6所示。由表5和6可知,SISN在多個指標上取得較好的結果。

表5 3種網絡的語義分割平均定量對比

表6 3種網絡的實例分割平均定量對比
3種網絡在PartNet數據集上的語義定性結果對比如圖3所示,圖中紅色實線框表示語義分割有誤。由圖3可知,ASIS網絡未能分割出帽飾語義類,將剪刀握柄部分的一些點誤分割為刀面,將顯示器主體的部分點誤分割為底座,對桶的上表面也分割錯誤。JSNet網絡將帽飾(羽毛)誤分類為帽沿,將剪刀刀柄上的部分點誤分割為刀面,將顯示器底座的部分點誤分割主體,對桶的上半部分也分割錯誤。而SISN在不同語義類的邊界處分割正確。這些結果說明SISN有效增強了對語義幾何多樣性特征的學習,通過動態圖卷積充分提取了每個點的局部鄰域的信息,因此能有效學習到每個語義類別下的點深度特征,減少誤分割。

圖3 SISN、ASIS和JSNet網絡在PartNet數據集上的語義分割定性結果對比Fig.3 Qualitative semantic comparison among SISN, ASIS and JSNet on the PartNet dataset
3種網絡在PartNet數據集上的實例定性結果對比如圖4所示,圖中紅色實線框表示實例分割有誤,虛線框是將對應的紅色實線框放大顯示。由圖4可知,ASIS網絡的預測結果將包的背帶中間弧度大的區域預測為新的實例類別,將耳機的左發聲單元預測為2個實例。JSNet網絡對包的背帶與側片連接處分割錯誤,將耳機的頭梁部分預測為更多的實例。在椅子物件中:ASIS網絡在椅面邊緣的實例分割上存在分散的錯誤(少數紫色雜點),這些雜點被錯誤地分割為新的椅面實例;JSNet網絡對椅背的邊緣存在分割錯誤,將部分點識別成新的實例(綠色點)。SISN則沒有這些誤分割情況, 在物件點云的實例分割的細節方面明顯優于ASIS網絡和JSNet網絡。這些現象說明SISN可以增強對點云中局部不平坦區域細節的學習, 在動態圖卷積中通過局部鄰域圖的構建,充分學習到了點的局部特征信息,有效增強了對點云實例幾何多樣性特征的學習。

圖4 SISN、ASIS和JSNet網絡在PartNet數據集上的實例分割定性結果對比Fig.4 Qualitative instance comparison among SISN, ASIS and JSNet on the PartNet dataset
3種網絡在植物點云數據集上的語義定性結果對比如圖5所示。由圖5可知,SISN有效增強了對語義幾何多樣性特征的學習,特別是增強了對植物結構中不平坦細節的正確分類。而ASIS網絡與JSNet網絡對細節部分存在語義分類錯誤,如JSNet網絡將植物樣本2的主莖稈底部分類為另一種植物的莖稈,ASIS網絡誤分類了葉片和莖稈尖端的一些點。

圖5 SISN、ASIS和JSNet網絡在植物點云數據集上的語義分割定性結果對比Fig.5 Qualitative semantic comparison among SISN, ASIS and JSNet on the plant dataset
3種網絡在植物點云數據集上的實例定性結果對比如圖6所示。由圖6可知,SISN有效增強了對點云實例幾何多樣性特征的學習,特別是增強了葉片與葉片之間、葉片與莖稈之間連接點的分割準確性。總體而言:ASIS網絡對邊緣點的高層次特征學習不夠,對葉片與葉片粘連的邊緣點存在一定的分類難度;JSNet網絡則對莖稈的頂端存在分割錯誤;而SISN在實例分割的細節上明顯優于ASIS網絡和JSNet網絡。

圖6 SISN、ASIS和JSNet網絡在植物點云數據集上的實例分割定性結果對比Fig.6 Qualitative instance comparison among SISN,ASIS and JSNet on the plant dataset
剝離試驗是指將網絡中的某個模塊去除或替換為其他模塊,以驗證該模塊的有效性和優越性。通過2組剝離試驗分別驗證動態圖卷積模塊和語義與實例特征融合模塊的有效性與合理性。第1組,將圖1(a)標準網絡結構中的動態圖卷積全部替換為深度相同的全連接一維卷積,即剝離動態圖卷積模塊;第2組,剝離圖1(c)標準網絡結構中的藍色部分,即去除語義流與實例流之間通過一維卷積進行的信息交流支路。
剝離網絡與標準網絡的定量結果對比如表7所示。由表7可知:剝離動態圖卷積模塊后,網絡的性能明顯下降,特別是語義分割的準確率下降了8.1個百分點,說明點的局部鄰域圖能更好地提取局部特征信息,可提高深度網絡對物件點云的分割效果;剝離語義與實例特征融合模塊的交叉支路后,網絡在語義分割后與實例分割后定量結果下降2.2~3.5個百分點。由此說明,語義流和實例流的信息交互可顯著提高語義分割和實例分割的結果。

表7 剝離試驗的定量結果Table 7 Quantitative results for ablation test %
SISN較好地完成了3D物件點云的語義與實例聯合分割任務。通過動態圖卷積,網絡可以充分提取3D物件的幾何特征;語義特征與實例特征的交叉融合,使得網絡可在這兩個分割任務上相互輔助,從而提高分割的精度。PartNet數據集和植物點云數據集上的定性與定量試驗結果表明,與ASIS網絡和JSNet網絡相比,SISN對物件點云的分割效果更優。未來準備將SISN遷移至更復雜的物體點云分割任務,并計劃引入諸如注意力機制等更有效的特征提取模塊,使之在所有類型的物體點云上都能進行準確的語義和實例分割。