APP下载

基于人工神经网络的避障算法实践探索*

2023-06-06严嘉浩

智库时代 2023年16期
关键词:掩码移动机器人激光雷达

严嘉浩

(浙江同济科技职业学院)

随着机器人在不用应用领域的蓬勃发展,人们的生产生活中出现了各类功能多样的通用型或专用型机器人,部分机器人的工作区域跟操作人员或者普通人出现的位置可能出现较多重合,因此,机器人在场地内运动时需要避开人体的移动轨迹,即实现机器人对人体的避障运动。

机器人运动中实现对人体避障的检测方式有基于激光雷达的[1]、基于超声测距的[2]、基于带深度信息的视觉方案的[3],也有纯视觉方案的[4],以上方案在不同方面或者程度上具有一定局限性,主要有传感器成本较高、算法较为复杂、对机器人所处环境有一定要求(例如纯视觉方案的机器人避障算法不能良好处理强光或弱光环境),因此,本文提出了一种基于视觉和激光雷达方案的机器人避障算法,通过基于DFANet[5]的图像语义分割算法得到分割掩码后,将其与单线激光雷达测得的数据融合,将代表人体移动位置的信息写入机器人运动路径规划模块,最终实现机器人在预设场景中的避障行驶。

一、基于神经网络的图像语义分割算法

(一)图像语义分割

图像语义分割[6]一直是医学图像、自动驾驶领域的研究热点。在图像处理的粒度上图像分割可归为两种不同类别:一类是将图片中所有像素点归为可解释的对象,即为语义分割,比如将图片中出现的全部人体标记为“人体”,所有出现的“人”都属于同一个标签;二是实例分割[7],即将图片中的某类标注为不同子标签,例如,在某张图片中出现多个人体,将他们标记成不同颜色的单个个体,但其所属大类标签依然为“人体”。

(二)基于DFANet 的图像语义分割算法

虽然目前语义分割网络结合多尺度图像的输入,引入了金字塔结构[8]、残差结构[9]、级联特征融合等方式,在图像理解方面取得了相当高的准确率,但其具有的网络结构较深、参数过多的特点使得语义分割模型的训练较慢,并且在特定领域,尤其是自动驾驶方面,因为其前向推理速度较慢,它们的落地依然有着一定局限。因此,本文使用基于DFANet 的图像语义分割算法,以轻量级骨干网为基础,使用子网聚合和子阶段聚合的方式进行特征的聚合区分,大幅减少了模型参数量但仍能获取足够的感受野,在模型前向推理速度和图像分割性能上取得了两者的平衡。DFANet 的轻量级骨干网使用Xception[10]模块作为主要结构,并为取得最大的感受野在其尾部加入全连接注意力模块;子阶段聚合模块通过融合了不同粒度的特征表示,将尺寸相同的各层结果组合,可以提供高层结构细节信息和感受野的传递。最后通过卷积和上采样构成的解码器得到不同粒度的图像分割结果。

(三)模型优化

由于本文算法最终部署在Nvidia Jetson TX2 上,其为英伟达公司推出的一款嵌入式AI计算设备,其算力、功耗受限,前向推理能力弱,如直接运行基于DFANet 的图像语义分割算法,则其FPS 有限,因此需要对基于DFANet 的语义分割算法进行在部署端,即在边缘计算设备Nvidia Jetson TX2 上的模型加速。本文使用针对英伟达图形处理单元的高性能深度学习推理优化器和运行时加速库TensorRT作为模型优化方式,其优化原理可分为对网络模型的裁剪和数据精度校准:对网络模型的裁剪可分成在垂直方向上调整网络(将卷积层、偏置层、激活函数层融合)、在水平方向上调整网络(将输入参数相同和进行操作相同的过程融合)以及减少concat 拼接层;数据精度校准的含义为在模型训练时采用精度稍高的FP32 或FP16,部署后推理时采用精度相对较低的FP16 或INT8量化精度。

(四)结果分析

本文使用的训练平台为单卡3080,测试平台及边缘计算平台为Nvidia Jetson TX2,cuda-10.2,cuDnn-8.4,TensorRT 8.5,PyTorch 1.0.0,训练及测试数据集来源于cityscapes[11],图像尺寸1024*512。实验结果如表1 所示,使用网络模型裁剪+数据精度校准方式比在TX2 上直接使用PyTorch 框架进行分割快52%,并且平均IOU 基本没有损失。在cityscapes 数据集中,mIOU(class)表示在19 类小类别上的分割精度,mIOU(category)表示大类上的分割精度,如汽车、自行车为2 种小类别,但其对应的大类都为车。

表1 模型优化结果(1024×512 分辨率)

二、基于人工神经网络的避障算法实现

本文基于人工神经网络的避障算法基于机器人操作系统(Robot Operating System,ROS)实现,ROS 的产生是为了解决机器人内部各结构之间的沟通协调问题,以实现机器人对环境的感知并最终完成机器人预定的整体功能,其核心思想是将机器人的不同软件功能做成不同的节点(node),不用节点间通过通信协议互相传递消息,并且其节点可全部位于同一台主机,也可分布于不同机器之上。

基于人工神经网络的避障算法软件总体设计如图1 所示,主要分为环境传感器、图像分割模块、数据融合模块等与传感器相关的信息处理部分,及与机器人运动相关的代价地图、全局/局部路径规划模块及运动控制模块。

图1 软件总体设计

算法的整体流程为:在已经建立起所需要的环境地图后,在rviz 中使用2d Navigation Goal 设定移动机器人的目的点,或者在不方便使用可视化界面使用鼠标选取目的点时,可以在程序中创建节点以发布action 消息(在ROS 机器人操作系统中,消息分为topic 话题、service服务、action 动作3 种基本类型);在此期间移动机器人通过搭载的单线激光雷达获取与周围环境的测距信息,并将计算得到的LaserScan 消息发布到sensor话题中;同时机器人搭载的RGB摄像头获取尺寸为1920*1080的图像并将其发布到camera 话题;数据融合模块通过同时订阅sensor 及camera 话题,获取其上的消息,将其中的激光雷达数据跟单目视觉摄像头数据进行处理后,得到环境中人体的位置及移动速度,将其包装成People 消息发布到对应的人体话题;局部代价地图中的social_navigation_layer 通过订阅人体话题,使用高斯分布调整人体周围的代价,在全局代价地图的基础上获得局部代价地图,引导移动机器人的局部路径规划,将机器人所需要的运动控制信息发布到cmd_vel 话题;最终与边缘计算平台Nvidia Jetson TX2 物理连接的下位机Teensy,通过订阅cmd_vel 话题得到机器人所需要的运动控制消息,最终通过控制其引脚上的电平实现对移动机器人方向舵机和油门的控制。

软件总体设计中的图像分割模块即为运行在Nvidia Jetson TX2 上经优化的基于DFANet 的图像语义分割算法,其调用opencv 将获取的图像resize 为1024*512 尺寸,输出结果为与输入尺寸一致1024*512 分辨率的分割掩码,其掩码包括需要区分的人体、地面(可行驶区域)等。

本文的数据融合模块主要处理来自图像分割模块的掩码信息及来自单线激光雷达的数据。由于本位需要获得信息为人体在场景中的精确位置信息,单独的图像分割得到的人体位置掩码或者单独的激光雷达数据并不能提供我们所需要的信息,因此,需要将人体分割掩码及激光雷达数据作对齐处理。本文实现的操作为:在该帧时间中获取雷达数据,将人体分割掩码存在的区间按照标定转换至极坐标空间,在此区间内的雷达探测数据标记为测得的距离人体精确信息,最后将人体位置信息发送到人体消息话题以供其他模块使用。

社会活动导航层是本文实现的根据人体位置信息实现避障的主要规划器,其为局部代价地图上本文设计的一个插件,主要通过订阅人体消息话题,以高斯分布的方式调整在场景中出现的人体周边代价,其代价随人体移动方式而变化,例如当人体静止时,其周围高斯代价分布为圆形;当人体朝某个方向运动时,人体运动方向上的高斯代价将会增加。社会活动导航层的设置使得移动机器人的运动过程能尽量避免影响场景中的人体活动。

本文中基于人工神经网络的避障算法实现了场景中视觉信息的读取,使用优化后的基于DFANet 图像语义分割算法得到人体分割掩码,将其与单线激光雷达数据对齐获得人体位置信息,在局部代价地图中添加社会活动导航层,设置人体周围的高斯代价,使移动机器人的运动尽量远离人体的移动趋势方向,最终实现了移动机器人在已拥有地图信息情况下在场景中的避人避障运动,到达指定目标点。

三、进一步研究

由于本文使用的图像分割方式是图像语义分割而并不是实例分割,因此当场景中出现多个人体时,会将其标签为同一类,在将掩码与单线激光雷达的数据结合获取人体位置与速度信息时,只能将图像中连续的人体归为同一个个体进行运动轨迹的预测,因此在嵌入式平台的视觉传感器获取到的图像中出现重叠人体时,机器人的避障轨迹并不能得到良好规划。因此,本文后续将使用实例分割算法,使分割得到的人体能被标记成不同个体,从而更准确估计多人场景中的人体运动路径,完成机器人在多人场景中的避障行驶。

四、结语

随着科技的不断发展,人类生活中出现了越来越多且功能不同的机器人,并且机器人在人的活动场所出现得越来越频繁,已影响到人类的正常工作和生活。为了使机器人在场所中的运动过程中尽量不对人产生干扰,需要对机器人的运动轨迹作出调整,使其不干扰人类的正常活动。本文使用激光雷达和基于神经网络的图像分割算法实现了机器人对人体的良好规避,具有广泛的应用前景。

【相关链接】

浙江同济科技职业学院(Zhejiang Tongji Vocational College of Science and Technology),简称同济学院,位于浙江省杭州市,是一所由浙江省水利厅举办的公办全日制普通高等院校,浙江省唯一一所水利类职业院校,2014 年入选全国水利教育示范院校,是全国水利高等职业教育示范院校、水利部首批水利行业高技能人才培养基地、全国文明单位。

浙江同济科技职业学院前身是1959 年成立的浙江水电技工学校和1984 年成立的浙江水利职工中等专业学校。1996 年3 月,浙江水电技工学校和浙江水利职工中等专业学校联合办学。2007 年经浙江省人民政府批准正式更名为浙江同济科技职业学院。

猜你喜欢

掩码移动机器人激光雷达
手持激光雷达应用解决方案
移动机器人自主动态避障方法
法雷奥第二代SCALA?激光雷达
低面积复杂度AES低熵掩码方案的研究
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
基于布尔异或掩码转算术加法掩码的安全设计*
基于Twincat的移动机器人制孔系统
基于掩码的区域增长相位解缠方法
基于掩码的AES算法抗二阶DPA攻击方法研究