ResNet模型在智能岩石勘测小车上的应用研究

2023-06-25 14:03喻飞根刘科
现代信息科技 2023年8期

喻飞根 刘科

摘  要:文章以实现地质勘探无人化和岩石分类智能化为目标,设计出用于地质勘探现场的具有岩石分类功能的智能导航小车系统。该系统分为小车模块和岩石分类模块两部分,小车模块利用ROS平台进行开发,得到勘探区域环境数据后,利用SLAM算法生成栅格地图并进行路径规划来获得全局最优路径,最后小车自动导航至该地点并获得该区域的岩石图片。岩石分类模块采用深度学习技术对岩石图片进行分类,基于Softmax分类器和ResNet101神经网络模型,建立岩石分类模型。

关键词:岩石分类;SLAM算法;自动导航;ResNet模型;Softmax

中图分类号:TP242    文献标识码:A  文章编号:2096-4706(2023)08-0088-05

Abstract: Aiming at realizing unmanned geological exploration and intelligent rock classification, this paper designs an intelligent navigation car system with rock classification function for the situation of geological exploration. The system is divided into two parts of the car module and the rock classification module. The car module is developed by using the ROS platform. After obtaining the environmental data of the exploration area, the SLAM algorithm is used to generate a grid map and carry out path planning to obtain the global optimal path. Finally, the car automatically navigates to the location and obtains the rock pictures of the area. The rock classification module uses deep learning technology to classify rock pictures, and establishes a rock classification model based on Softmax classifier and ResNet101 neural network model.

Keywords: rock classification; SLAM algorithm; automatic navigation; ResNet model; Softmax

0  引  言

在地質学中,对采集的岩石样本进行识别与分类是十分重要的研究内容,专家学者通常运用如下几类方法对地质勘探过程中发现的岩石样本进行类别判断,它们分别是重磁地震等传统物理试验方法、数学统计分析方法和采用深度学习技术建立岩石识别分类模型的智能学习分析方法等[1]。

随着计算机和人工智能的发展,各种新技术被逐步应用到社会生产生活的方方面面,例如人脸识别[2]、布匹瑕疵度识别等,这些新技术的应用提高了人们生产生活的效率,促进了社会经济的发展。同时新技术也使得地质考察的工作模式产生了巨大的变革,岩石分类是地质考察工作中的重要研究内容,本文所使用的基于深度学习的岩石图像分类模型,提高了传统岩石辨别的速度,保证了岩石分类的准确性。

此外,机器人技术的进步也给我们的日常生活带来了极大的便利,可以帮助我们完成很多复杂的工作[3]。同时由于在进行野外地质勘探过程中会遇到到各种复杂的环境,对勘探人员的人身安全有很大的潜在威胁,因此可以通过智能移动机器人的自主行进功能,完成勘探区域的地质信息采集和岩石的分类,实现智能小车的自主勘探功能,加速勘探无人化进程。

本文重点研究基于深度学习的岩石图像识别模型和具有自动导航[4]及自主行进功能的ROS智能小车[5],设计实现出具有岩石分类和自主勘测功能的小车系统,探索实现地质勘探智能化无人化的方式,提高岩石分类的准确度并最大限度保证研究人员人身安全。

1  智能岩石勘测小车系统设计

1.1  系统总体设计

智能岩石勘测小车首先需要使用激光雷达获取环境数据,然后利用网络将数据传送给主机的SLAM节点进行处理得到栅格地图,并利用A*算法来实现小车的路径规划,从而实现自主行进功能。系统设计时将相机放置在小车上,在其到达目的地后进行岩石图像的采集,并将数据通过网络传送到具备岩石分类能力的主机结点。根据现有小车系统的功率和主控制器的计算能力,低功率小车控制器无法完成图像分类、路径规划和SLAM绘图等功能[6]。利用ROS系统的分布式特点,在框架设计中将小车控制器和高性能计算机都配置为ROS节点,利用ROS节点间发布和订阅消息或服务的方式,实现无线网络环境下节点之间的异步通信,从而使车载系统能够以较低端的控制器完成更多的功能,保证任务的实时进行。小车在行驶过程中所生成的栅格地图、相机所拍摄到的画面以及最后图片的分类结果均可在ROS提供的Rivz可视化工具中展现。基于上述描述所设计的ROS小车系统的总体框架如图1所示。

1.2  小车系统硬件设计方案

本文搭建的ROS小车主要由装有ROS系统的主板、舵机控制器、激光雷达和摄像头组成。主板是小车的大脑,主要负责将采集到的数据进行初步处理并将相应的数据发布到ROS网络中,同时订阅主机节点发布的小车运动决策相关的数据并控制舵机驱动器完成小车行进动作;激光雷达负责周围环境特征点距离的测量;摄像头负责采集周围环境的视频数据;底座控制平台负责执行主控板传输下来的线速度和角速度控制指令[7]。ROS小车的硬件连接方式如图2所示。

1.3  系统软件总体设计

从我们的需求来看,在实现岩石分类功能之前,要先完成小车的实时定位和地图构建,所设计的系统的整体软件流程如图3所示。在小车启动时先完成小车系统的初始化操作,并将系统的每个节点都注册到ROS网络,以订阅和发布相关数据。在实时测绘部分,操作员需要手动控制小车在测试区自由行驶,同时通过激光雷达扫描周围环境,并使用主机的SLAM节点订阅相关数据,然后使用Gmapping算法生成栅格地图。勘探人员将校准要测量的位置,使得小车能自动行驶到该点。此后,系统将从现场摄像机采集的视频流中获取待识别的岩石图片,主机的岩石分类模块节点将订阅图片数据并得到该图片的分类结果。最后,通过Rviz节点显示生成的栅格地图以及捕获的图片和识别结果。

1.4  岩石数据预处理及分类模块

岩石图片数据预处理模块完成对采集到的原始图片数据进行数据清洗、图像增强和数据扩充等工作,为后面模型的特征提取和结果分类提供较为优质的数据。数据预处理模块应尽可能解决原始数据存在的各种问题,例如图片分辨率不一、图片数据量较小、不同类别数据数量分布不均匀以及可能对结果产生影响的一些噪声等。

在岩石图像分类部分,利用ResNet神经网络和Softmax分类器建立一个岩石分类模型,然后在飞桨(PaddlePaddle)提供的AI Studio平台上完成前文所介绍的岩石数据集的模型参数训练,得到一个可以用于岩石分类的的模型。后期运行时,在对小车采集到的图片数据进行预处理后,将优质图片作为模型的输入并由模型自动计算出分类结果。

2  智能岩石勘测小车系统实现

2.1  数据集来源与图像预处理

本文使用的岩石样本数据集来源于第九届“泰迪杯”数据挖掘挑战赛的B题,该数据集包含了315张岩石样本图片[8],图4展示了数据集中的部分岩石样本。从图片的纹理来看,不同的图片之间存在着明显的差异,在整个数据集存在两种不同的图片分辨率,分别是4 096×3 000和2 448×

2 048。数据集中各类别图片数量的分布如下:灰色细砂岩18张、灰黑色泥岩30张、黑色煤21张、浅灰色细砂岩85张、灰色泥质粉砂岩46张、深灰色粉砂质泥岩40张和深灰色泥岩75张,可见各类别数据分布不是很均匀。

为了解决图片分辨率不一致和数量分布不均匀的问题,我们先对图片进行切割分块以扩充数据样本,通过将图片数据强制转换为3字节,使用Python内置库中的reverse函数将图片的每一行数据进行颠倒反转一次;其次根据“Height/Width *= 2”的计算公式来扩大图像尺寸,增加部分反向写入以实现对称的镜像效果;接着使用Python的Image类中的翻转transpose函数对图像进行图片的左右翻转。通过上述的切割、颠倒和镜像等方法处理岩石数据集,最后得到训练样本62 265张,测试样本7 000张,此类方法使得数据集得到一定的扩充,能很好解决上述数据分布不均匀的问题。

2.2  神經网络分类模型设计

在岩石图像分类部分,首先对图片进行图像校正与变换、图像增强等图像预处理操作,其次对系统所使用的神经网络进行设计调整[9],模型的主网络结构参考了由残差模块堆叠得到的ResNet101结构。神经网络模型的总体设计方案如图5所示,采用了101层的深度残差网络的堆叠结构,在网络的全连接层使用了Softmax分类器进行分类。训练得到的图像特征提取模型可以得到2 048维特征向量,同时由于数据集给出了7类岩石样本,所以要将输出层节点数调整为7个节点来实现岩石分类的输出功能,在将不同类别的图片送入到分类器后,系统输出该图片所属类别以及分类正确的概率,并以此评估该模型性能[10]。

2.3  岩石图片分类模型训练

在构建好网络模型后,需要将预处理好的数据放入网络进行训练,使得模型尽量拟合真实场景。本文的岩石图像分类模型训练是在百度公司的AI Studio人工智能学习平台上进行的,该平台为开发者提供了功能强大的线上训练环境、免费GPU算力及存储资源。本文的训练环境如表1所示,AI Studio提供的GPU的配置如图6所示。

经过一段时间的训练,训练出的模型逐渐收敛,图7是训练过程中模型的Loss和acc的变化情况,从图中可以看出Loss在训练到1 000轮左右的时候就已经接近最小值0.006 654,达到收敛状态,除此之外,acc的值也逐步稳定在0.91以上。

2.4  ROS自动导航小车实现

本系统通过对ROS机器人套件的组装拼接,搭建出如图8所示的ROS智能小车,作为最终系统的实物形态。为配合硬件功能,在软件方面,需要配置好主板需要的操作系统和应用环境,安装TurtleBot3及依赖包并编译好TurtleBot3的源码。智能小车通过激光雷达扫描周围环境得到相应的点云数据,以此估计出小车在勘探区域内的位置,并利用最基本的建图算法Gmapping来形成一个二维的栅格地图。在此基础上借由构建良好的二维栅格地图来规划出由起始点至终结点的最佳全局路线。在行进的过程中,若小车突然遇到了障碍物,系统必须提前做好路径规划准备,以有效的方式躲避障碍物。

3  智能岩石勘测小车功能测试

3.1  岩石图像分类功能测试

在进行岩石图像分类测试时,首先利用图9左侧的三类图片作为模型测试数据,将这三类图像送入模型中进行计算,最终输出这类图片所属类别以及分类正确的概率,实验结果如图9右侧所示。可以看出训练模型分类正确的准确率达到了90%左右,区间波动在[0.86,0.93]之间,同时由于模型训练的数据集经过数据增强操作,使得数据集更加多样丰富,大大提高了模型的泛化性和鲁棒性。

接着对该模型进行整体评估,得到如图10所示的运行结果,从结果中可以看出岩石分类总体准确率达到 0.916 58,图片的平均预测时间为24 ms,说明该模型智能分类效果较好,能满足基本的识别准确率要求。

3.2  ROS自动导航小车功能测试

在对岩石勘测小车进行自动导航测试时,首先打开小车的电源开关使得小车进入预启动阶段,输入操作命令使之运行小车对应的功能包节点,其次使用键盘上的方向按键来控制小车的移动方向,智能岩石勘测小车在勘测区域移動过程中,使用激光雷达传感器实时扫描小车周围的环境信息并自动实现小车的自我定位,最后系统会通过Gmapping算法构造出勘测区域的二维栅格地图。在建图过程中可实时将地图数据发布到ROS网络中,系统的Rviz节点订阅该数据并在界面中显示。在获得勘测区域的栅格地图后,由研究人员手动确定需要勘探的地点,智能岩石勘测小车会自动导航到该地点,并可由摄像头获得该地点的岩石图片数据,完成岩石分类功能。图11是小车建立的实验区域栅格图和自动导航的效果,图12是在Rviz界面中展示的岩石分类结果。

4  结  论

本文的智能岩石勘测小车系统是计算机技术和人工智能技术在地质岩石探勘领域的应用,该系统以图像分类、SLAM算法和ROS框架为核心基础,通过将ROS小车的实时地图构建、自动导航等功能与岩石分类模型结合起来,完整地实现野外勘测过程的无人化,保证人员安全的同时也提高了勘测的效率和岩石分类的准确性。从对智能岩石勘测小车系统的测试结果来看,岩石分类模型的准确率在90%左右,岩石样本的推理可在24 ms内完成,该模型具有良好的鲁棒性和实时性,较好解决了岩石分类问题。与此同时小车自动导航功能比较完备,可在地图区域内多地点之间行进自主导航,基本实现了勘探区域内勘测操作的无人化。

参考文献:

[1] 张野,李明超,韩帅.基于岩石图像深度学习的岩性自动识别与分类方法 [J].岩石学报,2018,34(2):333-342.

[2] Sun Y,Wang X,Tang X.Deep learning face representation by joint identification-verification [J].Advances in Neural Information Processing Systems 27 (NIPS 2014) .Montreal:MIT,2014:1988-1996.

[3] 李阳.基于ROS系统移动机器人SLAM算法研究与实现 [D].西安:西安工程大学,2018.

[4] Ribeiro D,Mateus A,Miraldo P,et al. A real-time deep learning pedestrian detector for robot navigation [C]//IEEE International Conference on Autonomous Robot Systems and Competitions.Coimbra:IEEE,2017:165-171.

[5] 田宇.基于机器人操作系统的智能移动小车目标识别研究 [J].软件工程,2021,24(8):11-15.

[6] 梁双,倪晓昌,董娇玲,等.基于激光雷达的SLAM算法综述 [J].信息与电脑:理论版,2022,34(3):59-61.

[7] 詹润哲,姜飞.基于ROS与深度学习的移动机器人目标识别系统 [J].电子测试,2018(15):70-71+64.

[8] 冯震,潘锦涛,陈相贺.基于深度学习的岩石样本分类研究 [J].信息与电脑:理论版,2021,33(9):71-73.

[9] 葛昊.基于深度学习的图像分类方法研究 [D].成都:电子科技大学,2020.

[10] 万磊,佟鑫,盛明伟,等.Softmax分类器深度学习图像分类方法应用综述 [J].导航与控制,2019,18(6):1-9+47.

作者简介:喻飞根(1999—),男,汉族,湖南岳阳人,本科在读,研究方向:机器人与计算机视觉;通讯作者:刘科(1979—),男,汉族,湖北荆州人,讲师,博士,研究方向:智能机器人技术。