熊治國 周恒旭 馮煜升



本文引用格式:熊治國,周恒旭,馮煜升.基于CNN的機器人環境點云分類研究[J].自動化與信息工程,2023,44(2):16-21.
XIONG Zhiguo, ZHOU Hengxu,?FENG Yusheng. Research on point cloud classification of robot environment based on CNN[J]. Automation & Information Engineering, 2023,44(2):16-21.
摘要:為解決目前三維點云識別算法存在訓練模型計算量較大、算法網絡結構復雜的問題,進行基于卷積神經網絡(CNN)的機器人環境點云分類研究。首先,在機器人仿真環境中搭建家庭相關物品模擬服務場景,并使用模擬三維激光雷達生成環境點云;然后,將環境點云聚類分割出單個物體的點云簇;接著,利用二維投影法將三維點云數據轉化為二維圖像信息;最后,利用數據增強技術擴展數據集,并結合改進的LeNet-5卷積神經網絡訓練識別模型,得到相較于經典的LeNet-5模型更高的精度。實驗結果表明,將環境點云先分割成單個物體,再進行分類識別是可行的,并具有一定的應用價值。
關鍵詞:機器人環境理解;激光點云;數據增強;卷積神經網絡;物體分類
中圖分類號:TP242??????????????文獻標志碼:A??????????文章編號:1674-2605(2023)02-0004-06
DOI:10.3969/j.issn.1674-2605.2023.02.004
Research on Point Cloud Classification of Robot Environment Based on CNN
XIONG Zhiguo??ZHOU Hengxu??FENG Yusheng
(School of Aviation, Beijing Institute of Technology,?Zhuhai 519000,?China)
Abstract:?To solve the problems of large training model computation and complex algorithm network structure in current 3D point cloud recognition algorithms, a research on point cloud classification in robot environments based on convolutional neural networks (CNN) is conducted. Firstly, build a simulation service scenario for household related items in a robot simulation environment, and use a simulated 3D LiDAR to generate environmental point clouds; Then, the environmental point cloud is clustered and segmented into point cloud clusters of individual objects; Next, the 2D projection method is used to convert the 3D point cloud data into 2D image information; Finally, by utilizing data augmentation technology to expand the dataset and combining it with the improved LeNet-5 convolutional neural network to train the recognition model, higher accuracy was obtained compared to the classic LeNet-5 model. The experimental results indicate that it is feasible to segment the environmental point cloud into a single object before recognition, and it has certain application value.
Keywords: robot environment understanding; laser point cloud; data enhancement; convolutional neural network; object classification
0 引言
復合機器人對周圍環境的理解是實現智能化的基礎,也是實現其他高級功能的前提條件。智能復合機器人需要傳感器加持來實現具體功能,如PR2機器人利用二維激光雷達(light detection and ranging, LiDAR)實現即時定位與地圖構建(simultaneous localization and mapping, SLAM);利用深度攝像頭
實現物體檢測[1]等。基于LiDAR的機器人成像系統廣泛應用于視覺測量、檢測、分類識別、引導和自動化裝配等領域[2]。在利用LiDAR進行機械臂避障的過程中[3],三維環境信息經地面分割、體素網格濾波、點云語義分割和包圍盒提取后,可得到完整的避障所需信息,同時分割后的點云簇具有分類識別物體的特征信息。
近些年,利用深度學習進行點云處理和物體識別成為研究熱點[4-6],主要分為基于點云圖的算法和基于鳥瞰圖的算法2大類。其中,基于點云圖的算法結合卷積神經網絡(convolutional neural network, CNN)提出一種在三維空間中與點云順序無關的算子[7]。文獻[8]將CNN用于三維體素化后的點云匹配,證明深度學習具有較強的點云特征提取能力。文獻[9]利用深度學習進行3D點云的目標檢測,但對遠距離稀疏點云的檢測效果不佳。文獻[10]利用圖卷積網絡對點云數據進行分類,在標準數據集上取得良好的效果,但模型較為復雜,需要大量調試網絡參數。文獻[11]提出一種融合CNN和多重參考系模型(multiple reference frame, MRF)的點云分割方法,操作復雜。基于鳥瞰圖的算法先將點云數據轉換為鳥瞰圖,再利用RCNN、Fast RCNN、Faster RCNN、YOLO和SSD等算法[12-18]進行目標檢測。
綜上所述,一方面,使用大型深度學習網絡直接處理點云或點云鳥瞰圖時,對數據集和算力的要求較高,部署階段需壓縮模型。考慮到二維圖像的深度學習算法更加成熟穩定,較小的網絡結構也能實現良好的識別效果,且家庭服務場景中的物體種類有限,故先將單個物體的三維點云簇通過不同角度投影得到多角度圖像,再進行深度學習構建物體分類識別模型是一種可行的策略。相較于輸入完整的點云,點云投影圖像可靈活地進行分類處理,通用性強。另一方面,因為二維圖像不含景深信息,若僅使用二維圖像需要大量訓練才能實現語義理解。若利用三維雷達獲取點云數據,經過處理形成單個物體的點云簇[3],可避免從單一視角理解復雜景深環境信息的特點,解決不同景深下的物體相互遮擋造成的語義理解難題。
本文針對復合機器人對家庭服務場景存在的理解難題,首先,基于前期工作[3]將仿真環境中家庭服務場景的點云處理成單個物體的點云簇,并通過投影法將物體的三維圖像轉化為二維圖像;然后,利用數據增強技術擴充圖像數據形成數據集;最后,利用數據集對卷積神經網絡模型進行訓練,并通過不斷調整網絡參數來提高準確率,從而達到準確分類識別物體的效果。
1 場景搭建和物體點云獲取
本文通過CoppeliaSim機器人仿真軟件進行智能復合機器人的家庭服務場景搭建。家庭服務場景為常見的室內非結構場景,主要包括衣柜、沙發、椅子、盆栽、桌子、人等6類,如圖1所示。
為獲取家庭服務場景的激光點云數據,在仿真環境中采用模擬的VLP-16三維激光雷達傳感器插件進行仿真,利用CoppeliaSim的遠程API與Python通信,獲取復合機器人三維激光雷達的點云單幀數據,并保存為.ply格式文件,經MATLAB可視化后如圖2所示。
2 數據集制作
利用文獻[3]的方法,在包含各類物體的環境點云基礎上,首先,利用基于橫截面積的算法對環境點云數據進行地面分割,將大面積的地面點云分離,避免聚類時出現干擾;然后,采用體素網格濾波算法對環境點云進行壓縮,以減少點云數據量,便于后續算法聚類;最后,采用改進的基于密度的噪聲應用空間聚類(density-based spatial clustering of applications with noise, DBSCAN)算法對分割壓縮后的環境點云進行單個物體點云的聚類分割,將家庭服務場景的單幀點云數據聚類分割成6個點云簇,即6個不同類別物體,其中人的點云簇如圖3所示。
通過不同角度將6類物體的三維點云簇投影,每類物體獲得80幅二維投影圖像。由每類物體80幅圖像形成的數據集數據數量較少,訓練的識別模型魯棒性不強。本文通過縮小放大、旋轉(45°、90°、180°、270°)、像素平移、翻轉(水平、垂直)、明亮度改變和添加噪聲(椒鹽、高斯)等方法對圖像進行數據增強,使1幅圖像衍生出132幅圖像,6類物體的數據集共有63 360幅圖像。數據增強后的人點云投影圖集如圖4所示。
3 卷積神經網絡
物體識別問題可視為分類問題。通過機器學習方法將環境點云分割成單個物體點云,故在物體點云投影圖分類后無需再錨框。通過先驗知識和前期的實驗積累,在經典的LeNet-5卷積神經網絡模型的基礎上設計圖像分類模型,并根據數據集和圖像大小、圖像中物體的分辨率和外觀屬性,調整LeNet-5卷積神經網絡的池化方式、卷積核大小,增大全連接層的神經元個數和層數,如圖5所示。
改進的LeNet-5卷積神經網絡包含3個卷積層、3個池化層、2個全連接層和1個Softmax層。其中,Softmax層用于分類預測。
4 實驗
4.1 算法實施過程
物體分類識別算法流程如圖6所示。
首先,將數據集中的圖像轉換成64×64像素的小圖像,并獲取所有圖像的路徑名,存放到對應的圖像路徑列表中,同時將有圖像的標簽存放到標簽列表中;然后,對圖像路徑列表和標簽列表打亂處理,并將亂序的列表分為2部分,一部分用來訓練,另一部分用來測試;接著,將圖像進行解碼操作,生成圖像batch(批),對訓練變量聲明;最后,將圖像batch輸入到改進的LeNet-5卷積神經網絡進行訓練,保存訓練后的模型。
4.2 評價指標
本文選擇的模型評價指標為誤差損失和精度。誤差損失越低,精度越高,模型性能越佳。
誤差損失采用交叉熵計算,如公式(1)所示。
式中:x為輸入,p為真實分布,q為模型的預測分布。
精度(ACC)是真實標簽值與模型預測值的差的平方和,如公式(2)所示。
式中:y為真實標簽值,為模型預測值。
4.3 模型訓練及對比分析
模型訓練的硬件環境:英特爾I5-8300H處理器、英偉達GTX1050Ti顯卡和500 GB固態內存;軟件環境:Python3.6.5、tensorflow1.8.0、cuda9.0和cudnn7.6.5。訓練參數設置:BATCH_SIZE為32,MAX_STEP為6?000,learning_rate為0.000?001,激活函數為ReLU函數。訓練過程誤差損失的變化如圖7所示。
由圖7可知,在不斷訓練過程中,誤差損失由1.8降低至0.2,說明模型訓練輸出不斷接近真實標簽值。
訓練過程精度的變化如圖8所示。
由圖8可知,在不斷訓練過程中,精度不斷提高,在訓練步數為6 000時,精度接近0.98。
為進一步測試改進的LeNet-5卷積神經網絡性能,將該網絡模型與經典的LeNet-5網絡模型進行對比測試。對比測試采用相同的數據集,設置相同的訓練步數,重復進行3次訓練,誤差損失結果如表1所示,精度結果如表2所示。
由表1可知,2種網絡模型的誤差損失相差不大,平均數值較小,說明2個網絡模型都進行了有效的反饋學習和網絡參數的自動調整。
由表2可知,改進的LeNet-5卷積神經網絡模型相較于經典的LeNet-5模型,精度明顯提升。
編寫Python和GUI界面,載入訓練后的分類模型,使用未經過訓練的圖像作為推理測試。以盆栽植物點云為例,測試效果如圖9所示。
改進的LeNet-5卷積神經網絡模型正確識別了盆栽植物(標簽為zhiwu),置信度為0.905。作為對比,同樣的圖像利用經典的LeNet-5網絡模型進行訓練預測,測試效果如圖10所示。
經典的LeNet-5網絡模型對盆栽植物的置信度為0.449,說明對于點狀成型的特征圖片,經典的LeNet-5模型難以有效分類識別。
5 結論
本文利用改進的LeNet-5卷積神經網絡對單物體點云二維圖像進行分類識別,相較于經典的LeNet-5網絡模型具有更高的精度。同時驗證了卷積神經網絡可用于點云的二維圖像識別,相較于完整的物體直觀圖像信息,物體點云圖像包含物體特征信息較少,識別難度較大,需要改進網絡結構以提高識別精度。本文在研究過程中,使用了數據增強技術對數據進行擴充,提高了訓練模型的魯棒性,為后續復合機器人進行更高級的功能開發提供基礎條件。
參考文獻
[1] BOHREN J, RUSU R B, JONES?E G, et al. Towards autonomous robotic butlers: lessons learned with the PR2[C]//?2011 IEEE International Conference on Robotics and Automa-tion. IEEE, 2011:5568-5575.
[2] 盧榮勝,史艷瓊,胡海兵.機器人視覺三維成像技術綜述[J].激光與光電子學進展,2020,57(4):9-27.
[3] 周恒旭,何志敏,周燕.面向機械臂避障的非結構場景感知研究[J].機械與電子,2020,38(9):74-80.
[4] 俞斌,董晨,劉延華,等.基于深度學習的點云分割方法綜述[J].計算機工程與應用,2020,56(1):38-45.
[5] 張佳穎,趙曉麗,陳正.基于深度學習的點云語義分割綜述[J].激光與光電子學進展,2020,57(4):28-46.
[6] 許安寧.基于深度學習的三維點云語義分割方法綜述[J].長江信息通信,2021,34(1):59-62.
[7] QI C R, SU H, MO K, et al. PointNet: deep learning on point sets for 3D?classification and segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,?2017:652-660.
[8] 梁振斌,熊風光,韓燮,等.基于深度學習的點云匹配[J].計算機工程與設計,2020,41(6):1689-1693.
[9] 敖建鋒,蘇澤鍇,劉傳立,等.基于點云深度學習的3D目標檢測[J].激光與紅外,2020,50(10):1276-1282.
[10] 王旭嬌,馬杰,王楠楠,等.基于圖卷積網絡的深度學習點云分類模型[J].激光與光電子學進展,2019,56(21):56-60.
[11] 蔣騰平,王永君,張林淇,等.融合CNN和MRF的激光點云層次化語義分割方法[J].測繪學報,2021,50(2):215-225.
[12] GIRSHICK R, DONAHUE J, DARRELL?T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[J].IEEE Computer Society, 2013.
[13] GIRSHICK?R. Fast R-CNN[C]//Proceedings of the IEEE Inter-national Conference on Computer Vision,?2015:1440-1448.
[14] REN S, HE K, GIRSHICK?R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//?Advances in Neural Information Processing Systems,?2015:91-99.
[15] REDMON J, DIVVALA S, GIRSHICK?R, et al. You only look once: unified, real-time object detection[C]//Proceedings of the IEEE Conference?on Computer Vision and Pattern Recogni-tion,?2016:779-788.
[16] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE Conference on Compu-ter Vision?and Pattern Recognition,?2017:7263-7271.
[17] REDMON J, FARHADI?A. YOLOv3: an incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[18] LIU W, ANGUELOV D, ERHAN?D, et al. SSD: single shot multibox detector[C]//European Conference on Computer Vision. Springer, Cham, 2016:21-37.
[19] 魏溪含,涂銘,張修鵬著.深度學習與圖像識別:原理與實踐[M].北京:機械工業出版社, 2019.
作者簡介:
熊治國,男,1977年生,博士,副教授,主要研究方向:無人機飛行控制。E-mail: xiongzhiguo416@163.com
周恒旭(通信作者),男,1992年生,碩士,助教,主要研究方向:機器人智能控制等。E-mail: 1281859757@qq.com