三維點雲具有非常強的空間表達能力,完美保留了原始空間幾何結構,能夠很好地刻畫物體的表面特徵及深度資訊,但同時也具有空間分佈不均,資料散亂無序的特點,給三維點雲資料的處理帶來一定挑戰。三維點雲分類是重要的研究方向之一,分類方法主要有3類:第一類方法透過手工提取特徵[1]實現點雲分類,合適特徵的設計和選取很大程度上依靠經驗和運氣,這種方式無法充分利用點雲資料相關性,極大依賴於先驗知識,精度一般;第二類方法透過將點雲資料投影到二維平面[2]或轉換成三維體素[3]的方式以實現點雲資料的規則化,並作為傳統卷積方式的輸入,這類方法相較於第一類演算法的精度有所提高,但忽略了點雲資料無序、相關的特性,投影過程中實現了資料降維,不可避免地造成部分原始資訊的丟失,同時也會引入額外誤差,體素化的編碼方式十分依賴記憶體且受解析度的限制;第三類方法利用深度神經網路直接處理散亂無序的點雲資料,最大限度保留資料原始資訊,這種方法能夠充分利用點雲資料自身特性,在保持置換不變性的同時也具有良好的分類精度。
文獻[4]開創性地提出了直接處理散亂點雲的深度神經網路PointNet,將點雲資料表示為N×D(N表示點的數量,D表示點的緯度)的形式並引入兩個可學習的空間旋轉矩陣對齊輸入資料和特徵,特徵的學習利用多層感知機(Multi-Layer-Perceptron,MLP),採用maxpooling對稱函式實現點雲置換不變性,PointNet網路取得了89.2%的分類精度。文獻[5]為捕獲點雲的區域性特徵,基於最遠點取樣的方式,將點雲資料劃分為重疊的區域性區域,在區域性區域上應用PointNet,提出了PointNet++模型。該模型透過以距離為度量增強點與點之間的相關性構造區域性特徵,提高了點雲分類精度。文獻[6]受到點雲配準相似性技術的啟發,根據核相關性測量的幾何關係生成一組可學習的點集核心,將區域性高維特徵在鄰域點構成的圖上重複聚合,基於一種核關聯+圖池化的方式提出了KCNet,增強了特徵的魯棒性,聚合了點雲的區域性特徵,提高了分類精度。文獻[7]基於圖卷積在特徵空間中構造圖,並在網路的每一層之後動態更新,採用一種動態的方式提取區域性特徵。網路的核心結構EdgeConv模組利用MLP學習邊特徵,採用maxpooling對稱函式對邊特徵進行聚合。文獻[8]透過引入X-conv運算元提出了PointCNN,類似於空間變換網路,從前一層的資料中取K個點,預測一個K×K大小的變換矩陣(X-transformation),用X矩陣前一層的特徵做變換,然後對變換後的特徵卷積,實現了置換不變性。文獻[9]透過構建自組織對映模擬點雲空間分佈,提出了SO-Net網路模型,提取了點雲的層次化特徵。文獻[10]利用權重函式+核密度估計的方式生成卷積核,提出了PointConv網路模型,同時實現了卷積的平移不變性和排列不變性,其改進網路將PointConv分解為矩陣相乘和1×1的卷積,執行高效且效果良好。文獻[11]基於PointNet提出一種多源資料融合的多尺度PointNet網路模型,同時考慮了點雲的區域性特徵及顏色特徵。文獻[12]透過改變每個點鄰域的大小建立不同的尺度空間,提出了一種多尺度特徵與PointNet結合的網路模型,對點雲的區域性特徵進行了有效提取。文獻[13]採用圖卷積的方式,在PointNet中的兩個旋轉矩陣處插入KNNgraph層,實現對點雲區域性特徵的提取,實驗表明,K取20時精度最好。文獻[14]設計了多尺度區域性區域劃分演算法,提出了MSP-Net,提取了不同層次的點雲特徵。
上述模型在PointNet模型的基礎上進行了擴充套件,對點雲資料的不同特徵提取方法進行了研究,但是,對點雲鄰域中的區域性特徵並沒有充分挖掘,在處理區域性區域點時為了保證置換不變性使得點過於獨立,忽視了點與點之間存在的幾何相關性。本研究在對圖卷積模型進行鄰域資訊提取的基礎上對PointNet模型進行了改進,捕獲層次化的K鄰域特徵。
一、演算法描述
1.1PointNet
PointNet是一種可以直接處理無序點雲資料的深度神經網路,形式化表示如式(1)所示。
1.2圖卷積模型
本文討論的圖模型是基於空間的圖卷積網路[15]。傳統的卷積神經網路將研究物件限制在歐式空間中,規則的資料使得網路執行高效。然而點雲資料不全是規則的,這時候就要考慮到資料與資料之間的相關性,即資料的結構資訊。圖卷積模型如圖2所示。
1.3 本文的深度學習分類網路
為彌補PointNet缺乏對區域性特徵提取的缺陷,利用圖模型在原有網路基礎上層次化構造鄰域圖,顧及點雲的區域性特徵,從而更有效的提高分類精度。網路結構如圖4所示。
二、實驗及分析
2.1實驗資料
本文選用普林斯頓大學的標準公開資料集ModelNet40,共包含12 311個剛性三維CAD模型,來自40個人工物件,其中9 843個模型作為訓練資料,2468個模型作為測試資料。先對資料集做預處理,在每個模型上隨機取樣1024個點降低其解析度並將點座標歸化到單位球區間[-1,1]內,部分原始資料模型如圖6所示,部分原始資料模型對應的降取樣模型如圖7所示。
2.2 實驗環境
本文分類實驗硬體環境為Inter Core I7-9700 + GTX1660 Ti 6G視訊記憶體 + 16G RAM聯想GeekPro桌上型電腦,軟體環境為 Windows1064 + CUDA8.0 + cuDNN5.1 + TensorFlow1.0 + Python3.5。
2.3 實驗引數
為了讓網路學習到平移不變性、旋轉不變性、縮放不變性的多種姿態特徵,同時對抖動和噪聲具有一定的抗干擾能力,透過隨機旋轉資料、新增(0.01,0.05)的高斯噪聲、在[0.8, 1.25]尺度內隨機縮放、在(0.06, 0.18)內隨機抖動、在[-0.1, 0.1]尺度內隨機平移這5種方式對點雲進行資料擴增,增強網路的魯棒性。本文的分類網路中圖卷積部分K取值20。為了防止模型過擬合與梯度彌散問題的出現,本文分類網路全連線層中除最後一層生成C類別分數外其餘各層均設定比例為0.5的dropout層,每一層卷積之後均進行歸一化,網路的啟用函式選用線性整流單元ReLU。對於精度衡量,損失函式採用交叉熵,最佳化演算法使用自適應矩估計最佳化器ADAM,各引數設定如表1所示。
2.4 實驗結果
訓練資料集產生的精度和損失稱為訓練精度和訓練損失,測試資料集產生的精度和損失稱為測試精度和測試損失。精度又包含總體精度()和每一類別精度(),資料量較大,採用分批次處理的形式,兩種精度和損失的計算公式一致,相應計算如式(7)所示。
表2 40個人工物件各自的樣本數及在兩種分類網路中的測試精度
本文的分類實驗在ModelNet40資料集上取得了91.2%的測試總體精度,比PointNet分類實驗高出2.0%,表2中列舉了40個人工物件各自的樣本數及在兩種分類網路中的測試精度,圖7中展示了兩種網路在不同樣本數量下的表現,高於橫軸的點代表在本文分類網路中效果更好,橫軸上的點代表兩種網路分類精度一致,低於橫軸的點表示在PointNet分類網路中精度更高,從圖7可以看出,有23個人工物件在本文的分類網路中取得了更高的識別精度,9個人工物件在PointNet分類網路中識別效果更好,8個人工物件在兩種分類網路中分類精度一致。其中在本文分類網路取得較低識別精度的9個人工物件,樣本數量均小於300,而本文的分類網路在各個數量級別的樣本下識別效果均優於PointNet。利用深度網路進行點雲分類,分類精度一方面取決於訓練樣本數量的大小,另一方面取決於待分類樣本的複雜程度,故圖8中出現了一些在大樣本數量下的單精度差值小於小樣本數量下單精度差值和相同數量樣本下單精度差值不一致的情況。
本文的測試精度變化圖如下圖9(a)所示,測試損失變化圖如下圖9(b)所示。由圖9(a)可以看出,PointNet分類網路的測試精度變化曲線在epoch小於30時出現了大幅度震盪後又逐漸趨於平穩,而本文設計的分類網路測試過程中未出現高幅度震盪,隨著迭代次數的增加逐漸收斂,且測試精度一直高於PointNet網路。圖9(b)中PointNet的網路在epoch小於30時出現了高幅度震盪,epoch次數在50到100之間又出現了小幅度震盪,最後逐漸趨於平穩,而本文的網路未出現大幅度震盪,隨著迭代次數的增加逐漸收斂,且整個過程的測試損失一直小於PointNet網路。結合測試過程中的精度變化和損失變化可以看出本文提出的點雲分類模型從精度和穩定性兩方面均優於PointNet,說明了本文方法在三維點雲資料的分類工作中的可行性,具有一定的價值。
不同的分類網路在Modelnet40資料集上所取得的分類總體精度如表3所示,統計結果來自於原作者發表的論文。透過對比發現,本文設計的分類網路在Modelnet40資料集上取得了良好的精度,比精度較好的DGCNN分類網路低1.7%,仔細研究發現,DGCNN分類網路在使用圖模型時,引入了一種動態的思想,即對每一層的輸出特徵圖在進入下一層時重新計算K鄰域圖模型,在區域性特徵的提取上具有更深層次的感受野,所以總體效果更好,分類精度更高。但是動態更新的的代價是更長的計算時間,其網路收斂速度小於本文的網路結構。
以上對比實驗的結果表明,本文透過構造層次化的K鄰域圖引入區域性特徵的點雲分類網路,測試總體精度和每一類別精度均優於獨立點卷積的PointNet網路,且訓練過程中訓練精度和訓練損失的變化效果比PointNet更好,說明了引入區域性特徵對點雲特徵提取的有效性,有助於提高點雲分類的精度。
三、結束語
針對PointNet模型缺少對點雲資料區域性特徵的提取問題,結合圖卷積模型,在PointNet網路結構每一層輸出的特徵圖上構造K鄰域圖模型,形成一種層次化的網路結構,擴大了分類網路的區域性感受野,有效提取了點雲的區域性特徵,分類實驗在ModelNet40資料集上進行,給出了每一類樣本的測試精度對比,本文方法取得了91.2%的分類精度,分類精度和網路的穩定性均優於PointNet分類網路,證明了本文方法在點雲分類工作中的有效性。
轉載自網路,文中觀點僅供分享交流,不代表本號立場,如涉及版權等問題,請您告知,我們將及時處理。