吳鵬程 李暉 王鳳聰
摘? 要:針對點云的三維模型識別方法缺乏局部空間特征,從而影響3D模型的類識別的問題,提出一種基于殘差模塊的卷積神經(jīng)網(wǎng)絡三維模型識別方法。通過引入殘差模塊,構建深層神經(jīng)網(wǎng)絡增強點云模型的局部信息,提高物體的識別精度。同時,采用了一種獲取多尺度局部空間信息的策略,加快了模型的推理能力。實驗證明,算法識別準確率達到了91.5%,加快了模型的推理速度,可應用于對點云模型識別有實時性要求的場景,如:流水線上物體的檢測等。
關鍵詞:三維模型識別;卷積神經(jīng)網(wǎng)絡;實時性
中圖分類號:TP391.4? ? 文獻標識碼:A? 文章編號:2096-4706(2023)07-0093-05
Abstract: Aiming at the problem that the 3D model recognition method of point cloud lacks local spatial features, which affects the class recognition of 3D model, a convolution neural network 3D model recognition method based on residual module is proposed. By introducing the residual module, a deep neural network is constructed to enhance the local information of the point cloud model and improve the object recognition accuracy. At the same time, a strategy of acquiring multi-scale local spatial information is adopted to accelerate the reasoning ability of the model. The experimental results prove that the recognition accuracy of the algorithm reaches 91.5%, which speeds up the reasoning speed of the model. And it can be applied to scenes that require real-time point cloud model recognition, such as object detection on the pipeline.
Keywords: 3D model recognition; convolution neural network; real time
0? 引? 言
隨著互聯(lián)網(wǎng)的突飛猛進,信息成為人們認識世界所不可或缺的一種工具,其獲取、處理以及應用均取得了快速的發(fā)展。在生活中,相比于其他形式,圖像所傳達的信息更加豐富與具體。因此,人們獲取的絕大部分信息都來自所觀察到的圖片。伴隨著三維成像技術的日益發(fā)展,人們對機器視覺系統(tǒng)的需求也不再停留于二維圖像,對圖像信息的提取、對象識別的精度提出了更高的要求。隨著科學技術的不斷進步,人們發(fā)現(xiàn)二維圖像并不能表征識別對象的深度信息,當然也就無法對其進行全方位的識別。三維圖形識別能夠提取物體表面以及對視點變化較為明顯的三維特征,從而更全面地感知現(xiàn)實世界,獲取更加深層的信息,被廣泛應用于醫(yī)療、軍事、航空航天等領域。隨著無人駕駛汽車、智慧城市、智慧醫(yī)療以及工業(yè)檢測等多個領域的快速發(fā)展,三維目標識別技術逐漸滲透生活的各個角落。相較于傳統(tǒng)的2D圖像識別,其更加準確、智能以及全方位。以3D數(shù)據(jù)作為信息內(nèi)容的形式變得越來越重要。相信在不遠的將來,物體的3D數(shù)據(jù)的應用將使用為3D數(shù)據(jù)制作的一些分類算法,去實現(xiàn)特定的目標任務。例如,在混亂的環(huán)境中的機器人導航或基于增強現(xiàn)實的智能用戶界面等。
近年來,隨著3D采集技術以及各種傳感器的廣泛應用,3D模型的種類以及數(shù)量與日俱增,這對于基于卷積神經(jīng)網(wǎng)絡(CNNs)的方法來說是個好消息,因為這些方法目前的性能嚴重依賴于大量數(shù)據(jù)的可用性。當前,需要迫切解決的問題就是如何提升3D模型的識別精度。三維模型識別獲得了大量研究人員的青睞,為了解決以上問題,大量的研究工作應運而生,主要包括兩大類,其中一類是基于傳統(tǒng)的研究方法,研究人員利用已有的先驗知識手工設計特征描述符去預測三維模型的類別,如熱核描述符[1]、三角區(qū)域描述符[2]等。此類方法并不適合處理大規(guī)模數(shù)據(jù)集的場景,無法獲取3D模型的高層語義,缺乏泛化能力。
由于深度學習框架的優(yōu)越性能,尤其是在分類、識別等方面所表現(xiàn)出的卓越能力,使得將深度學習框架應用到目標識別中成為可能,并且已經(jīng)在自然語言處理、機器人、圖像識別、醫(yī)學等領域獲得了突破性進展。隨著傳感器相機的日益普及,3D模型的數(shù)量以及總類與日俱增,對于機器視覺系統(tǒng)的研究也不再局限于二維空間圖像,人們對于信息的提取以及識別的精度提出了更高的要求。在機器學習領域,三維圖像識別的研究吸引了大量研究人員的關注。現(xiàn)有的基于深度學習的3D模型識別方法主要分為三大類:基于直接處理點云的神經(jīng)網(wǎng)絡的方法、基于體像素的方法以及基于多視圖的方法。基于多視圖的方法[3,4],這類方法首先需要對三維數(shù)據(jù)進行不同視角投影轉(zhuǎn)換為二維數(shù)據(jù),其優(yōu)勢在于可以直接使用經(jīng)典二維的深度學習框架,具備成熟的理論以及技術支持,同時,融合多方向的視角投影信息來獲取3D模型的類別信息進行分類識別。其本質(zhì)仍然是基于二維圖像數(shù)據(jù)的處理,其并沒有考慮3D模型的空間結構信息以及存在著多個視圖特征信息冗余的問題,這顯然并不是一種理想的處理三維數(shù)據(jù)的方法?;隗w像素的方法[5-8],這類方法將不規(guī)則的原始點云數(shù)據(jù)劃分為規(guī)則的3D體像素數(shù)據(jù),該方法的優(yōu)點在于可以直接利用三維卷積神經(jīng)網(wǎng)絡去提取三維體像素數(shù)據(jù)上的特征。經(jīng)過體像素化之后的三維模型分辨率低,在丟失模型局部細節(jié)信息的同時,還會占用大量的內(nèi)存空間。因此,這也不是所期待的解決方案。當前,3D模型識別的主流方法[9-16]是通過使用神經(jīng)網(wǎng)絡來處理點云數(shù)據(jù)。PointNet[17]利用多層感知機(Multi-layer Perception, MLP)來提取點的局部特征,通過最大匯聚聚合點的特征,以此來解決點云的排列無序性的特點。PointNet為研究人員打開了神經(jīng)網(wǎng)絡處理點云數(shù)據(jù)的大門,成了該領域的開山之作,對于后續(xù)的研究具有非常重要的參考價值。PointNet++[18]在PointNet的基礎上,從不同的層次去提取局部空間信息,提高了識別的精度。多層次的提取信息導致模型的推理速度非常耗時,存在改進空間。Kd-Network[19]通過構建kd-trees對在它們上的點云的細分來共享這些轉(zhuǎn)換的參數(shù),提高了模型的推理速度。以上方法在提取局部空間信息過程中都引入了內(nèi)部點云的空間信息,這些信息對于3D模型識別而言,顯然是冗余的。
由于點的不規(guī)則性,如何提取點云的局部特征仍然面臨著很大的挑戰(zhàn)。在提取點云的高層語義的同時,往往意味著網(wǎng)絡模型復雜度的提升;同時,如何提取關鍵點用于模型識別,也是一個關鍵的問題?;诖祟悊栴},本文旨在探究一種神經(jīng)網(wǎng)絡模型學習3D點云模型的局部特征,增強網(wǎng)絡的類識別能力,減少計算機的工作效率,提高模型的時效性。本文的主要貢獻和創(chuàng)新點有:在網(wǎng)絡中引入殘差模塊加深模型深度,充分挖掘3D模型所隱藏的高級語義信息;提出了一種新的提取局部空間信息的策略,網(wǎng)絡的推理速度得到了明顯提升。
1? 點網(wǎng)
三維模型由空間中的一組無序點集? 構成,其中n為輸入點的數(shù)目,ni為任意采樣點,其中每個點ni表示為(x, y, z, nx, ny, nz),即三維坐標加上各個方向上的法向量信息。本文提出的深度網(wǎng)絡(點網(wǎng))的輸出為所有k個候選類輸出k個分數(shù),其中k=40。
1.1? 點網(wǎng)的殘差模塊
對于一個理想的3D模型識別算法而言,不但要捕捉目標全局空間信息,還要充分挖掘其局部信息,二者相互配合。為了挖掘3D模型所包含的深層次信息,本文構建了一個類似于殘差網(wǎng)絡的模塊,在加深網(wǎng)絡層次結構的同時,也可以利用殘差網(wǎng)絡的特性,避免梯度消失的問題,提高模型的泛化能力。網(wǎng)絡結構如圖1所示。
首先對Maxpooling獲得的全局特征進行復制n份,然后將全局特征與局部特征進行拼接,其計算公式為:
式中,h(n)表示局部特征,C表示復制操作,g(x)表示全局特征,加號表示拼接操作。通過實驗證明,這種方法很有效,如表1所示。盡管理論證明隨著MLP層數(shù)的擴充,其特征會無限接近原始特征,但由于維度的限制,顯然其并不能充分地提取點云的局部細粒度信息,而通過殘差模塊搭建深層次的網(wǎng)絡結構,能更充分地提取點云更加深層次的局部細粒度信息,從而提高類的識別精度。
1.2? 點網(wǎng)
本文在殘差模塊的基礎上構建了點網(wǎng)(Residual Level Point Network, RPN)結構,如圖2所示。
圖中n為初始值點云的數(shù)量,首先經(jīng)過一個變換矩陣,確保點云經(jīng)歷了剛性變換之后,不改變點云圖形的語義標記。然后將經(jīng)過變換后的點云通過MLP進行升維處理,通過Maxpool操作,聚合點的特征;將提取的全局特征通過殘差模塊進行拼接,獲取深層的點云信息,再次通過Maxpool、MLP,最終通過一個Softmax函數(shù),輸出k類的分數(shù),其中k=40。計算公式為:
其中, 和h表示常規(guī)的MLP網(wǎng)絡,C表示復制操作,Max表示Maxpool,S表示Softmax。
對于MLP網(wǎng)絡,將點云的原始特征進行升維,計算公式為:
式中, 表示非線性激活函數(shù)——ReLU(),B表示批歸一化操作,C表示卷積,s×1表示卷積核大小,θ表示可學習的參數(shù)。
對于轉(zhuǎn)換矩陣(圖2中input transform模塊),直接將其預測的仿射變換矩陣作用于輸入點的坐標,以此確保點云通過剛性變換之后的不變性。該微型網(wǎng)絡由點的獨立特征提取、最大匯聚以及全連接層等基本模塊構成,類似于殘差級點網(wǎng)。
通過插入一個對齊網(wǎng)絡去預測特征變換矩陣,對齊來自不同輸入點云的特征。由于特征空間中的變換矩陣維數(shù)要遠比空間變換矩陣的維數(shù)高,因此,通過在Softmax訓練損失中添加一個正則化項去降低優(yōu)化的難度。約束特征變換矩陣接近一個正交矩陣:
其中,M是特征對齊矩陣。正交變換可以確保輸入不丟失信息。通過添加正則化項,使得模型優(yōu)化過程變得更加穩(wěn)定,提高模型的性能。
2? 多尺度空間信息
RPN模型缺乏點云的局部空間信息。由于點云數(shù)據(jù)呈現(xiàn)空間分布的特性,空間信息的丟失顯然會影響網(wǎng)絡對于3D模型的識別能力。因此,本文采用逐層次地去獲取點云數(shù)據(jù)的空間信息,即提取多尺度的局部空間信息(MSG)策略。
提取多尺度空間信息的思想很簡單。與卷積神經(jīng)網(wǎng)絡的原理類似,先從小的鄰域中提取數(shù)據(jù)的局部特征,然后通過不斷堆疊,逐步地擴大感受野。具體來說,首先通過空間的距離度量將點集劃分為k個局部區(qū)域,然后將這些局部特征進一步分組成更大的單元,并經(jīng)過處理以產(chǎn)生更高層次的特征。重復這個過程,直到得到整個點集的特征。
首先,需要解決以下兩個主要的問題:一是如何劃分點集,二是如何去抽象出點集的局部特征。由于劃分的點集必須通過跨分區(qū)產(chǎn)生共同的結構,可以借鑒卷積中的設置,即共享特征學習的權重。本文選擇殘差級點網(wǎng)作為局部特征學習器,為了防止局部信息的冗余,僅在最后一層使用殘差模塊。其次,如何生成點集的重疊分區(qū)仍然是一個關鍵的問題。與固定步長掃描空間的卷積神經(jīng)網(wǎng)絡相比,采用最遠點采樣(FPS)算法在輸入點集中去尋找合適的質(zhì)心,利用輸入數(shù)據(jù)與歐式距離去共同決定局部接受域,因此更加有效。在歐幾里得空間中,定義每個分區(qū)為一個包含質(zhì)心位置以及尺度的鄰域球。
本實驗共使用了三層的層次結構,對于每一層而言,都是由多個集合的抽象層次構成,如圖3所示。對于每一層而言,點云被處理和抽象,以產(chǎn)生一個具有更少點云的新集合。采樣層、分組層和點網(wǎng)層共同組成了集合的抽象層次。采樣層利用FPS算法從輸入數(shù)據(jù)中選擇一組點作為局部區(qū)域的質(zhì)心。分組層則通過球查詢的方法去尋找“近鄰”點以構造局部區(qū)域。點網(wǎng)層使用一個mini殘差點網(wǎng)將局部區(qū)域模式編碼為特征向量。
對于每一個集合的抽象層次的輸入都采用來自N個具有d維向量的坐標和X維點特征的點的矩陣K作為輸入;同時,以一個具有d維向量坐標和新的? 維的特征向量的K′矩陣作為輸出,以此來總結局部上下文信息。
2.1? 采樣層
對于輸入點集 ,使用迭代的最遠點采樣(Farthest Point Sampling, FPS)算法去挑選點的子集? 。這樣? 就是距離集合? 的距離最遠的點。在保持質(zhì)心數(shù)量一致的前提下,最遠點采樣相較于隨機抽樣能更好地覆蓋整個點集。
2.2? 分組層
該層的輸入為N×(d+X)的點集和一組大小為K的質(zhì)心坐標,輸出是為大小? 的點集組,其中每組對應一個局部區(qū)域,K為是質(zhì)心點鄰域內(nèi)的點數(shù),其取值不固定,即在不同組中的取值會發(fā)生變化。后續(xù)的點網(wǎng)層能夠?qū)㈧`活數(shù)量的點數(shù)轉(zhuǎn)換為固定長度的局部區(qū)域特征向量。
為了確保固定的區(qū)域尺度,本實驗使用球查詢的方法去查找位于目標點半徑內(nèi)的所有點,并設置了點數(shù)量K的上限。這與尋找固定數(shù)量的相鄰點的查詢方法K近鄰搜索不同。球查詢的方法使得局部區(qū)域特征在空間上更加具有通用性,這對于需要局部模型識別的任務而言尤其重要。
2.3? 點網(wǎng)層
該層的輸入是數(shù)據(jù)大小為? 的? 個局部區(qū)域。輸出數(shù)據(jù)大小為 。通過質(zhì)心以及質(zhì)心領域的局部特征去提取輸出中的每個局部區(qū)域。
2.4? 一個重要的改進策略
利用上述MSG方案去提取模型空間結構的點云信息,在一定程度上造成了空間信息的冗余,增加了模型運行的時間。為了解決該問題,提出了一個重要的改進策略。在進行層次提取之前,先進行點的碰撞檢測,濾除掉被近景點云遮擋的點。如圖4所示,圖中近景點云會遮擋遠景點云,將遠景點云定義為“無效點”,這類點對分類結果無影響,但會降低模型的推理速度。通過碰撞檢測之后,極大地減少了無效點的數(shù)量,這類點對于分類識別而言意義不大,同時有效地提高了計算機的處理效率;保留了點云模型表面的關鍵點,這些關鍵點在分類識別任務中承擔了至關重要的角色。因此,經(jīng)過碰撞檢測之后并不會影響類型識別的準確率,反而提高了計算機運行的效率。
3? 實驗結果與分析
3.1? 實驗環(huán)境
本實驗所使用的數(shù)據(jù)集是由普林斯頓大學(Princeton University)公開的標準數(shù)據(jù)集ModelNet-40[20]。該數(shù)據(jù)集包含12 311個CAD(computer-aided design)模型,其中訓練模型9 843個,測試模型2 468個,共40個類別。
實驗環(huán)境為Linux Ubuntu 16.04操作系統(tǒng)、Python 3.6、CUDA 10.1、Pytorch 1.6.0。
3.2? 網(wǎng)絡參數(shù)設置
本實驗使用基于動量的隨機梯度下降算法(Stochastic Gradient Descent, SGD)來優(yōu)化網(wǎng)絡,各參數(shù)設置如表2所示。
3.3? 實驗總結與分析
點云數(shù)據(jù)碰撞檢測前后對比圖如圖5所示,左圖是在MeshLab中觀察到的原始點云圖像(包含1萬多個點),右圖是經(jīng)過碰撞檢測之后采樣的點云圖像(包含1 024個點)。對比兩幅圖像可以看出,經(jīng)過碰撞檢測之后,點云的數(shù)量明顯減少的同時,仍能保留物體關鍵點的信息。
本實驗的評估指標為三維模型識別準確率和模型的運行時間。實驗結果如表3所示,相比于PointNet識別率提高了2.3%,加入的殘差級模塊作為對MLP的補充,融合了局部信息與全局信息,提取了更深層次特征;其次通過融合點云的空間信息,并對點云進行碰撞檢測,減少了無效點的數(shù)量,提高了類的識別精度,運行效率較PointNet++提高了近1/4。
4? 結? 論
本文構建了一種基于殘差級點網(wǎng)的三維模型識別方法,通過殘差模塊能提取到更深層次的點云局部信息,增強了網(wǎng)絡對于模型的識別能力;其次,提出了多尺度提取空間信息的策略,在提取空間信息的同時,加快網(wǎng)絡的推理能力。
對于分類而言,可通過跨模態(tài)融合的方式去提升識別的精度,即通過對3D點云進行2D紋理渲染,進一步提升模型的識別度,避免因為模型的點云結構類似而出現(xiàn)誤識別的現(xiàn)象,這也是非常值得關注的方向。但該類方法最關鍵的問題在于如何去解決3D點云與2D圖像的一致性問題。
參考文獻:
[1] SUN J,OVSJANIKOV M,GUIBAS L. A Concise and Provably Informative Multi-Scale Signature Based on Heat Diffusion [J].Computer Graphics Forum,2009,28(5):1383-1392.
[2] OSADA R,F(xiàn)UNKHOUSER T,CHAZELLE B,et al. Shape Distributions [J].ACM Transactions on Graphics,2002,21(4):807-832.
[3] SU H,MAJI S,KALOGERAKIS E,et al. Multi-View Convolutional Neural Networks for 3D Shape Recognition [J/OL].arXiv:1505.00880 [cs.CV].(2015-05-05).https://arxiv.org/abs/1505.00880.
[4] FENG Y F,ZHANG Z Z,ZHAO X B,et al. GVCNN:Group-View Convolutional Neural Networks for 3D Shape Recognition [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake:IEEE,2018:264-272.
[5] MATURANA D,SCHERER S. VoxNet:A 3D Convolutional Neural Network for Real-Time Object Recognition [C]//2015 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS).Hamburg:IEEE,2015:922-928.
[6] 楊軍,王亦民.基于深度卷積神經(jīng)網(wǎng)絡的三維模型識別 [J].重慶郵電大學學報:自然科學版,2019,31(2):253-260.
[7] 楊軍,王順,周鵬.基于深度體素卷積神經(jīng)網(wǎng)絡的三維模型識別分類 [J].光學學報,2019,39(4):314-324.
[8] KLOKOV R,LEMPITSKY V. Escape from Cells:Deep Kd-Networks for the Recognition of 3D Point Cloud Models [C]//2017 IEEE International Conference on Computer Vision(ICCV).Venice:IEEE,2017:863-872.
[9] BRONSTEIN M M,BRUNA J,LECUN Y,et al. Geometric Deep Learning:Going beyond Euclidean Data [J].IEEE Signal Processing Magazine,2017,34(4):18-42.
[10] WANG Y,SUN Y B,LIU Z W,et al. Dynamic graph CNN for learning on Point Clouds [J/OL].arXiv:1801.07829 [cs.CV].(2018-01-24).https://arxiv.org/abs/1801.07829.
[11] ZHANG K G,HAO M,WANG J,et al. Linked Dynamic Graph CNN:Learning on Point Cloud Via Linking Hierarchical Features [J/OL].arXiv:1904.10014 [cs.CV].(2019-04-22).https://arxiv.org/abs/1904.10014.
[12] CHEN C,F(xiàn)RAGONARA L Z,TSOURDOS A. GAPNet:Graph Attention Based Point Neural Network for Exploiting Local Feature of Point Cloud [J/OL].arXiv:1905.08705 [cs.CV].(2019-05-21).https://arxiv.org/abs/1905.08705.
[13] LIU X H,HAN Z Z,LIU Y-S,et al. Point2Sequence:Learning the Shape Representation of 3D Point Clouds with an Attention-Based Sequence to Sequence Network [J/OL].arXiv:1811.02565 [cs.CV].(2019-05-21).https://arxiv.org/abs/1811.02565v2.
[14] LI Y Y,BU R,SUN M C,et al. PointCNN:Convolution on X-Transformed Points [C]//Neural Information Processing Systems.Montréal:Curran Associates,2018:820-830.
[15] XU Y F,F(xiàn)AN T Q,XU M Y,et al. SpiderCNN:Deep Learning on Point Sets with Parameterized Convolutional Filters [J/OL].arXiv:1803.11527 [cs.CV].(2018-03-30).https://arxiv.org/abs/1803.11527v3.
[16] ATZMON M,MARON H,LIPMAN Y. Point Convolutional Neural Networks by Extension Operators [J].ACM Transactions on Graphics (TOG),2018,37(4):1-12.
[17] QI C R,SU H,KAICHUN M,et al. PointNet:Deep Learning on Point Sets for 3D Classification and Segmentation [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu:IEEE,2017:77-85.
[18] QI C R,YI L,SU H,et al. PointNet++:Deep Hierarchical Feature Learning on Point Sets in a Metric Space [J/OL].arXiv:1706.02413 [cs.CV].(2017-06-07).https://arxiv.org/abs/1706.02413.
[19] KLOKOV R,LEMPITSKY V. Escape from Cells:Deep Kd-Networks for the Recognition of 3D Point Cloud Models [C]//2017 IEEE International Conference on Computer Vision (ICCV).Venice:IEEE,2017:863-872.
[20] WU Z R,SONG S R,KHOSLA A,et al. 3D ShapeNets:A Deep Representation for Volumetric Shapes [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Boston:IEEE,2015:1912-1920.
作者簡介:吳鵬程(1994.11—),男,漢族,四川廣安人,碩士研究生在讀,研究方向:基于點云模型的識別方法研究;李暉(1968.09—),女,漢族,山東蓬萊人,教授,博士,研究方向:網(wǎng)絡通信與信號處理、信息安全、自然語言處理;王鳳聰(1997.02—),男,漢族,山東聊城人,碩士研究生在讀,研究方向:基于圖像的目標檢測方法研究。