陳 玲, 許 鋼, 伏娜娜, 胡志鋒, 鄭書展
(安徽工程大學 檢測技術與節(jié)能裝置安徽省重點實驗室,安徽 蕪湖 241000)
隨著3D采集技術的不斷發(fā)展與完善,3D數(shù)據(jù)運用于各個不同的領域中。點云作為一種常用的3D數(shù)據(jù)表達形式,能夠在空間里將原始的幾何信息完整地保留下來,不會產生離散化。作為理解和分析3D場景基礎的點云語義分割[1],更是未來研究的熱點。點云語義分割是區(qū)分點云中的每個點,將點云劃分為一塊塊具有特定語義信息的區(qū)域,在計算機視覺中具有重要研究意義。
隨著卷積神經網絡、深度學習的快速發(fā)展,也推動了點云語義分割技術不斷前進,在不同領域中應用范圍廣泛,比如在無人駕駛、室外建筑物識別[2]和室內機器人定位等領域。近年來,為了解決3D點云不規(guī)則且無序性等問題,許多學者利用深度學習[3]的方法將其轉換為可用于卷積神經網絡處理的規(guī)則結構。在此基礎上Qi等[4]提出了PointNet利用多層感知機學習逐點數(shù)據(jù)提取全局特征,再使用MLP對每個點進行分類,但該方法對局部特征的感知較差。為此Lian等[5]提出了一種高密度的PointNet++,它能夠在不同尺度上提取局部特征;柴玉晶等[6]引入了圖注意力機制增強局部特征的感知能力來更好地學習點云的空間分布;Huang等[7]提出了條件隨機場的方法,認為可在語義分割后期改進物體邊緣的分割效果;Ye等[8]提出了遞歸神經網絡(RNN)進行端到端學習,更好地捕獲點云中的上下文特征并將其合并。但這些方法在融合全局特征和局部特征時會丟失點云豐富的幾何特征和空間密度分布。
為了更好地融合全局特征與局部特征,TAKIKAWA等[9]設計了一個雙流CNN結構,將形狀流與經典流并行處理,這種結構可以在物體邊緣產生更清晰的預測,并且對小物體和瘦物體有更好的性能。但這種方法現(xiàn)用于2D圖像中且未對分割出的物體邊界進行語義信息的提取。綜上所述,在現(xiàn)有的方法中,物體邊緣的分割精度仍有待加強且未能將全局信息及局部信息進行有效融合。為此,本文提出了一種融合語義邊緣檢測的三維點云語義分割算法。在文獻[10]的基礎上引入了注意力機制對點云的邊緣信息能夠有效提取,減少感知歧義,生成精確的語義邊緣。同時設計了一個融合模塊,將語義邊緣檢測網絡得到的邊緣特征和語義分割網絡得到的區(qū)域特征進行有效融合并對其進行優(yōu)化。融合后的網絡改善了語義分割結果中分割目標不明確、邊緣不清晰等缺點,同時對小物體也有更好的分割性能。
目前,在二維圖像中,一些工作利用基于CNN的方法進行邊緣提取與分類。CASENet[11]利用全局嵌套邊緣檢測(HED)網絡[12]增加類別感知的語義信息,將低層和高層特征與多標簽損失函數(shù)相結合進行監(jiān)督學習。在后續(xù)工作中,SEAL網絡[13]通過減少標注過程中不可避免的不對齊導致的訓練標簽噪聲來優(yōu)化CASENet。為解決固定權重融合的局限性,提出一種動態(tài)特征融合(DFF)模型[14],根據(jù)特定的輸入為每個位置推斷出合適的多層次特征融合權重,從而有助于產生更準確的邊緣預測。
與現(xiàn)有工作不同,本文為了對3D點云進行有效的語義邊緣檢測,從2D語義邊緣檢測中借鑒了提取增強特征的思想,對3D點云中的對象進行物體邊界的提取,從而更好地識別三維物體。
對于二維圖像,將邊緣檢測任務和語義分割任務進行聯(lián)合學習,對提升語義分割學習速率、預測精度是一個可取的做法。在Gated-SCNN中,利用了分割和邊緣預測任務之間的對偶性,將邊界信息融入分割CNN中來輔助分割,并引入了雙重損失來細化語義分割和邊緣預測。DecoupleSegNets[15]則是通過對不同監(jiān)督下的主體和邊緣進行解耦,再與相應的兩個正交部分損失函數(shù)將其合并完成最終分割任務。以上兩個網絡都是利用二值邊緣檢測聯(lián)合語義分割來提升性能。而RPCNet[16]是將語義邊緣檢測與語義分割任務進行聯(lián)合學習,識別屬于目標邊界的像素類別,以提高邊緣分割的正確性。
利用類別感知的3D邊緣檢測方法與3D點云語義分割方法進行聯(lián)合學習,兩者的耦合性會更加一致。此外,與以前的工作不同,它將分割和邊緣檢測之間的交互限制在特征和網絡結構的共享上,同時利用了語義分割的全局特征和語義邊緣檢測的邊緣特征之間的密切關系。
如圖1所示,該架構是融合語義邊緣檢測的語義分割網絡整體結構,由兩個主流網絡構成。首先通過一個共同的特征編碼器對點云進行特征提取與編碼,保留完整且相同的點云空間信息,然后經過不同的解碼結構分別得到不同的特征信息。語義分割解碼模塊得到的是語義全局特征,語義邊緣檢測解碼模塊得到的具有語義信息的邊緣特征,為了更好地融合全局特征與邊緣特征,采用融合算法來處理特征合并,以達到最終理想的語義分割結果。
圖1 語義分割網絡整體框架Fig.1 The overall framework of semantic segmentation network
2.2.1 特征提取
為了減少信息的損失,采用直接對點云進行卷積處理的方法,不使用點云的其他中間表示形式。該網絡采用基于核的方法KPConv(Kernel Point Convo-lution)[17]建立骨干網絡,克服了之前卷積方法的局限性。KPConv分為可變卷積核和不變卷積核,文中采用的是不變卷積核,它具有良好的收斂性能。
對于落在球內的點xi,對應于它們特征fi,通過上一步的方法獲得新的特征,最后將特征累加作為點x的特征,即:
以上就是對點云進行特征提取的過程。
2.2.2 編碼器與解碼器
語義分割網絡由編碼器—解碼器構成,如圖2所示,編碼器內表示的是特征提取與編碼部分,語義分割解碼器內表示的是解碼部分。
圖2 語義分割網絡模塊Fig.2 Network module of semantic segmentation
如圖2所示的KP-FCNN是一個全連接的卷積神經網絡,其中編碼部分被設計為基于ResNet[18]網絡結構,其中包含五層卷積網絡,每一層卷積網絡中都由兩個卷積模塊構成,除了第一層由兩個相同的KPConv卷積塊構成,其他每一層都由KPConv和Strided KPConv卷積塊構成。
如圖3所示,KPConv卷積塊代替了每一層中BN(Batch Normalization)和Leaky ReLu Activation的作用,其中BN層主要對點云的分布進行歸一化,使用更大的學習速率使得梯度傳播能夠更穩(wěn)定地進行,增加網絡的泛化能力。ReLu激活函數(shù)的作用是在使用梯度下降法時,會使收斂速度更快。與一般的網絡結構不同,該網絡已經有了網格采樣,因此在每一層新的位置上不需要池化層進行下采樣[19]操作,在網絡結構中使用KPConv卷積提取小區(qū)域的局部特征向量并且稱為“跨步KPConv”,類比圖像中的跨步卷積。編碼器階段主要對點云進行不同尺度的特征提取。
圖3 核點網絡層Fig.3 KPConv network layer
解碼部分使用了最鄰近上采樣來獲得最終的逐點特征。編碼層和解碼層之間的特征使用跳躍連接來傳遞,以上特征被并聯(lián)到上采樣部分通過一維卷積來處理。由以上所述的網絡結構得到了具有語義信息的全局特征,也就是初步語義分割結果。
語義邊緣檢測網絡如圖4所示,編碼器內是與語義分割網絡相同的編碼結構對點云的特征進行提取,語義邊緣檢測解碼器內表示的是對提取的特征增強,捕獲目標的邊緣信息并對其添加語義信息。
圖4 語義邊緣檢測網絡模塊Fig.4 Network module of semantic edge detection
語義邊緣檢測解碼器的輸入與語義分割解碼器的輸入均來自前一級編碼器所使用的五層卷積網絡,該網絡去除了所有的連接層得到了全卷積網絡,去除了第五層的池化操作,避免了高層信息的丟失,增加了感受野,對特征邊緣及小物體進行更好地定位。
為了對提取的不同尺度特征進行增強處理,語義邊緣檢測解碼加入了注意力機制[20]模塊(Attention Block)。如圖4所示,在每一層后加入了注意力機制模塊,且將每一層經過注意力機制模塊提取后的特征加入后一層卷積塊中,多種不同尺度的特征進行提取融合。如圖5所示的注意力機制模塊,將輸入的點云數(shù)量設為N,特征維度為C,通道數(shù)為D。在該模塊內,通過卷積層、全連接層和softmax得到各點之間的權重概率分布,然后對各點特征進行加權處理,得到帶不同點的注意力新特征。
圖5 注意力機制模塊Fig.5 Attention block
H(x)=Wi(x)*Ti(x)+x
在增強特征提取操作后加上一個Deconv layer用于放大特征信息。為了使邊緣輪廓加入語義信息,在以上基本網絡的第五層加入了一個分類模塊,該分類模塊采用一個雙線性上采樣(由K組反卷積層去完成)以產生K個激活邊緣結果(其中K表示語義類別),每個結果的大小都與輸入點云相同。每一層經過反卷積操作得到的輸出結果進行concat融合,隨后使用一個1×1 Conv layer進行特征融合,得出輸出點云大小與輸入點云大小相同的結果。由以上網絡結構得到了具有語義信息的邊緣輪廓特征結果。
融合結構如圖6所示,將語義分割網絡得到的全局特征結果與語義邊緣檢測網絡得到的邊緣特征結果進行融合,將融合后的結果進行分割細化得到最終語義分割結果。
圖6 融合模塊Fig.6 Fusion module
在進行兩路特征融合時,采用加權融合[21]的方式利用兩路信息,其中語義全局特征為A,語義邊緣特征為B,融合后的特征M可表示為
M=W(A+B)?A+(1-W(A+B))?B
其中,W表示為全局特征映射的權值,兩路特征映射的權值之和為1。
為了更好地融合全局和邊緣特征,構建了一個分割細化網絡。該網絡如圖6中分割細化網絡所示,在編碼結構中有五層卷積網絡,除第五層以外,每一層都由KPConv卷積塊和Strided KPConv卷積塊構成,其中各層的通道數(shù)的大小為32。解碼部分同樣使用了最鄰近上采樣來獲得最終的全局特征。使用跳轉連接在編碼和解碼中間層之間傳遞特征并用concat函數(shù)進行融合,將局部特征與全局特征同時考慮,所有特征被并聯(lián)到上采樣部分通過一個1×1卷積進行處理。
Softmax用于多分類過程中,首先將所有預測的結果轉化為非負數(shù),然后對轉換后的結果進行歸一化處理,最后預測邊界的點將具有較大的激活值。采用softmax函數(shù)進行分類處理,得到最終的語義分割結果。
本文模型是將語義邊緣檢測及語義分割進行聯(lián)合學習,故使用了雙重語義損失函數(shù),使網絡具有更好的語義邊界結果。
其中,β是K類點云中非邊緣點的百分比,以解釋樣本數(shù)的偏度。該損失函數(shù)用來監(jiān)督邊緣信息的提取,強迫邊緣檢測部分只學習邊緣信息。
針對語義分割網絡中損失函數(shù)的選取,采用了一個標準的多類別交叉熵損失函數(shù)。假設輸入的一組點云P,具有語義類別K,其損失函數(shù)定義如下:
S3DIS數(shù)據(jù)集包括三個不同建筑中的5個大型室內區(qū)域,每個區(qū)域的面積約為1 900、450、1 700、870和1 100 m2(總共6 020 m2)。這些區(qū)域在以下方面表現(xiàn)出不同的建筑風格和外觀屬性,主要包括辦公區(qū)域、教育和展覽空間,以及會議室、個人辦公室、衛(wèi)生間、開放空間、大堂、樓梯和走廊,同時包含了13類室內場景對象。
采用的評價指標平均交并比(Mean Intersection Over Union,MIOU)為語義分割的標準度量其值為fMIOU表示。計算兩個集合的交集和并集之比,在語義分割的問題中,這兩個集合為真實值(Ground Truth)和預測值(Predicted Segmentation)。這個比例可以變形為正真數(shù)(Intersection)比真正、假負、假正(并集)之和。在每個類上計算IOU(Intersection Over Union),之后平均。
本文的算法實驗系統(tǒng)為Linux16.04,使用的GPU是NVIDIA GTX 1080Ti,運算平臺為CUDA-Toolkit 9.0,深度學習框架為Pytorch,版本號為1.1.0。在模型訓練過程中,使用一個具有動量的梯度下降優(yōu)化器,以0.95的動量和0.01的初始學習速率,去最小化逐點交叉熵損失。學習速率呈指數(shù)下降。將weight_decay設置為0.000 1,batch size設置為4。
該網絡采用的骨干網絡是基于KPConv的算法框架,除了對基本網絡參數(shù)的設置,還要對其他參數(shù)進行一些設置。由于三維場景點云數(shù)量巨大,所選取的數(shù)據(jù)集是室內場景,在隨機采樣時采樣半徑為2 m的球體,并用高斯噪聲[22-23]、隨機縮放和隨機旋轉來增強。輸入的點云被下采樣,設置網格大小為4 cm。在訓練過程中,設置網絡最多需要120個epoch才能收斂,對于分割任務可以生成輸入球形領域的任意個數(shù),若一個epoch為500次優(yōu)化,相當于網絡可以看到2 000個領域球。
4.3.1 S3DIS數(shù)據(jù)集區(qū)域5測試結果
圖7-圖10是S3DIS數(shù)據(jù)集區(qū)域5的語義分割可視化結果,選取了3個場景對語義分割結果進行了對比,并與原始場景和Ground Truth語義分割結果進行了對照。
圖7 原始點云數(shù)據(jù)Fig.7 Cloud data of original points
圖8 真實值Fig.8 True values
圖9 Rigid KPConvFig.9 Rigid KPConv
圖10 本文算法Fig.10 Algorithms used in this paper
將Rigid KPConv算法實驗結果與本文算法實驗結果對比,能夠清晰看到門、墻以及雜物的分割更為精準,同時也減少了誤分割、分割不準確等問題。例如圖7(a)中,算法對門的分割更為清楚,有明顯的輪廓;圖7(b)中,算法對墻上的壁畫和周圍物體的邊界有著較為良好的分割性能;圖7(c)中,算法對墻、門以及書架有了更為清晰的認知能力,同時對小物體也有較好的分割性能。
表1是算法在S3DIS數(shù)據(jù)集區(qū)域5內測試的結果。實驗結果表明與Rigid KPConv算法相比,本文算法在對柱狀物體、門、窗戶等物體有較為良好的分割結果。例如在表1中柱狀物體的fMIOU提高了6%,門的fMIOU提高了11%,對窗戶的fMIOU提高了23%,有著較為良好的分割性能。但仍對椅子、書架這類物體分割性能有稍許欠缺,可能與物體的復雜性有關。
表1 S3DIS數(shù)據(jù)集區(qū)域5上語義分割的詳細MIOU分數(shù)Table 1 Detailed MIOU scores of semantic segmentation in region 5 of S3DIS dataset
由圖7、表1可知融合了語義邊緣檢測的語義分割網絡具有更好的分割性能,對物體的邊緣信息能夠更好地完善。在S3DIS數(shù)據(jù)集區(qū)域5上的實驗結果表明,本文算法較卷積核不變的KPConv算法在語義分割結果精度上提高了4.81%。
4.3.2 消融實驗
為了進一步分析網絡中各因素帶來的影響,通過消融實驗研究加入不同模塊對測試結果的影響。實驗在數(shù)據(jù)集S3DIS區(qū)域5內進行。
如表2所示,測試結果中只考慮語義分割模塊得到的初步語義分割結果分割精度為64.43%,在本文中語義分割網絡采用的是與基于KPConv算法相同的網絡架構,得到的分割精度與Rigid KPConv算法得出的分割精度仍有差距。對于加入語義邊緣檢測任務中來看,在沒有引入注意力機制網絡的情況下,產生了具有語義信息的邊緣輪廓與語義分割模塊得到的結果融合細化,輸出的最終語義分割結果的分割精度為68.90%,fMIOU提高了4.47%;在引入注意力機制網絡后增強了特征信息的同時抑制了非邊緣的語義信息的產生,改進了語義邊緣檢測的性能,得到最終語義分割實驗結果的分割精度為70.21%,fMIOU提高了1.31%,總體提高了5.78%。這表明了語義邊緣檢測模塊及注意力機制網絡對語義分割精度的提高是有效的。
表2 不同模塊的有效性對比Table 2 Comparison of effectiveness of different modules
提出將語義分割網絡及語義邊緣檢測網絡進行聯(lián)合學習,是一種雙流FCN結構。語義分割網絡是對點云數(shù)據(jù)進行初步提取區(qū)域內的全局語義特征信息。在語義邊緣檢測網絡中引入了注意力機制,對點云數(shù)據(jù)中物體的邊緣進行特征提取增強,抑制了非邊緣信息的產生,給邊緣信息賦予了豐富的語義特征信息。然后將兩路網絡得到的語義特征信息進行融合處理,同時對融合結果進行輸出細化。此外,使用了雙重語義損失函數(shù),使網絡產生更好的語義邊界,以此得出最終的語義分割結果。實驗結果表明,融合了語義邊緣檢測的語義分割網絡對物體的邊界分割效果更加清晰明確,改善了邊緣信息模糊的問題,提高了總體分割的精度。在數(shù)據(jù)集S3DIS上驗證了該網絡的有效性,能夠得到較為理想的分割效果。