时间:2024-05-04
熊勇刚,刘亚春,成 威,陈邦国
(湖南工业大学机械工程学院,湖南 株洲 412007)
人工智能的快速发展为仿生机器人提供了无限进步可能。目前阶段在机器人智能控制方面的研究应用,主流还是基于传感器反馈和人工手动控制两种方式[1]。韩九强[2]在机器人智能化控制领域,研究方向主要是集中于将视觉识别、深度学习等综合应用多学科内容。通过对图像训练学习,得到一个训练的数据集。然后并对采集到的图像进一步的处理检测,使得能机器人能够自主获得图像中所需要的有用信息[3-5]。能够满足蚱蜢仿生机器人自主识别障碍物信息,并为其路径规划奠定了基础。
为了实现蚱蜢仿生机器人能够自主移动,需要借助于自身的传感系统实时感知、理解环境,并自主完成任务规划、动作控制。视觉系统则是蚱蜢仿生机器人能够实现环境感知的重要手段之一[6]。视觉系统是其自主运行的关键[。运用了人工智能技术使蚱蜢仿生机器人能够对障碍物进行图像获取识别。选择使用视觉传系统,是因为视觉系统具有速度快、信息量大、非接触的优点,所以对蚱蜢仿生器人采用以视觉为主的障碍物识别方法;另外,应用视觉作为识别一个重要原因是,当机器人遇到难以应对的复杂环境时,可以寻求人工帮助。如果采用其它非视觉传感器,则地面监控人员不能直接及时了解现场环境和迅速作出反应[7]。
在图像识别和目标检测方面,使用了Darknet开源项目yolov3算法。在此之前需要对摄像头采集的视频进行处理,使用到了开源计算机视觉库Opencv对视频进行抽帧处理[8-9]。然后通过已经训练的YOLOV3障碍物检测模型,对抽帧图像进行检测。
并且使用到了双目式摄像头,目的是对两个摄像头对两个摄像头进行标定。进而拍摄的图像中的障碍物进行检测的同时,能够获得障碍物的位置信息[10]。
为适应蚱蜢仿生机器人自身小巧、负载低的特征和野外作业时能耗不能太大的特点,并且能够及时传输反馈信号的特点。在视觉系统硬件结构搭建时,采用两个高清摄像头。并且同时对两个摄像头同时获取的图像进行检测,对检测结果进行一个对比,使其检测结果更加准确。硬件的部分结构如图1所示,硬件结构工作流程如图2所示。
图1 硬件结构
图2 硬件结构工作流程
使用双目式摄像头的另一个优点是可以对摄像头进行标定,利用两个摄像头同时拍摄视频,再对拍摄的图像的信息进行处理,可以得到在平面投影的坐标点。从而能够获取图像中障碍物的深度位置信息。双目摄像头的深度距离测量原理[11]如图3所示。
图3 双目摄像头的深度距离测量原理
图中b为两个摄像头的头像中心距离。P点在摄像头1和摄像头2垂直投影的坐标系中。摄像头的焦距为f。空间中任意一点P在左右图像上的成像点横坐标分别为Xl和Xr,而纵坐标相同Y,定义视差D=Xl-Xr,则P到摄像机中心连线的距离Zc为[12]
(1)
为了能够满足在摄像头与云服务器之间的指令和数据传输,使用了4g数据收发模块。能够满足传输摄像头拍摄的视频和云服务器对摄像头发出的开关指令。然后摄像头开始拍摄视频,并将拍摄的视频实时上传云服务器中。
控制指令主要是包有控制摄像头开、关指令,查询摄像头是否在线指令,查看摄像头状态指令。其中控制摄像头的打开的指令为:http://yunfuwuqi:9091/step37/machine_control/?machine_id=${machine_id}&op_camera=${op_camera} 部分指令说明如表1所示。
表1 指令说明
软件系统主要是包含的功能:摄像头的控制部分,主要是能够控制摄像头的开关、以及能够查询摄像头的状态;视频的采集部分,主要是采集视频,并将视频传输到云服务器;图像的预处理部分,主要是对视频抽帧、图像的裁剪;图像数据集的训练部分,主要是运用Darknet开源项目yolov3算法,对采集到的图像进行训练,得到训练集[13]。如图4所示。其工作的流程如图5所示。
图4 软件系统主要的功能
图5 软件系统工作流程
本文是的数据集是通过自己设计的硬件系统进行拍摄的,将拍摄的视频抽帧得到训练集的图像,一共拍摄了三种障碍物样品,每种样品图片数量500张,一共4500张图像进行训练测试数据集。
由于需要获取图片中障碍物的位置坐标,因此使用了LabelImng软件进行标注障碍物[14]。
操作流程为:首先使用该软件打开样本图片,在图片中用矩形框出障碍物的位置,并对三种的障碍物注释上相对应的标签。当对图像进行标记完成后,便会生成图片对应的 XML 文件。XML 文件包含所对应的图片路径、标签和缺陷坐标等信息,然后编写格式转换程序,将 XML 文件转换为包含文件路径、标签和坐标的 TXT 文件[15]。
实验平台先期是在PC电脑上完成的,实验计算机平台的软硬件配置为:操作系统为Ubuntu 16.04.6 LTS,CPU为Intel Core i5-9600K @ 3.70GHz 6CPUs,显卡为NVIDIA GeForce GTX 2080 Ti GPUs 显存容量11GB ,内存16GB,CUDA 版本10.1,CUDNN版本7.6.0。以 Keras深度学习作为框架.并配置 YOLOv3 的运行环境。配置完成后将标定完成后的样本数据集使用 YOLOv3 进行训练。实验训练参数设置如表2所示。训练模型训练的Loss 曲线如图6所示,可以看出,网络迭代到Epoch=40之后,损失值趋于平缓。图7 是模型训练的IOU曲线,IOU曲线代表着算法的定位准确率。从图中可以看出,当训练稳定后,IOU值基本在0.8 以上。
表2 实验训练参数设置
图6 模型训练loss 曲线
图7 IOU曲线
在对三种障碍物数据集进行训练时,均使用 mAP (mean AveragePrecision) 作为评判模型识别的的准确率.mAP 是目标检测中衡量检测精度的常用指标,指的是多个类别的平均准确率的平均值.AP 指的是单个类别的平均准确率,衡量的是模型在某一类别上识别效果的好坏。在训练是设定的AP默认为AP50,即预测框与 ground truth 的IOU 在大于 50% 前提下的单类别的平均准确率.而mAP即为所有AP的平均值.mAP 的值越大表示该模型的总体识别准确率越高[16].三种障碍物的mAP值和Ground-Truth Info值如图8、图9所示
图8 mAP值
图9 Ground-Truth Info值
正在进行结果检测时,是使用没有进行训练的图像,以及三种类型都包含的照片。通过检测识别,图像上只有一种障碍物的识别率准确率在96%以上;三中障碍物都存在的图像识别准确率在90%以上。能够有效的实现障碍物的检测,整体检测结果比较理想。检测识别结果如图10所示。
图10 检测识别结果
本文设计的视觉系统,在硬件上是一个符合蚱蜢仿生机器人仿生的特点。使用到了云服务器有效的减少了本地储存、运算以及本地硬件结构的使用,使得视觉系统整体结构比较小巧,能够很友好的搭载在蚱蜢仿生机器人上;在软件设计上,能够快速的完成对摄像头的控制和对上传的视频进行处理。并且使用 YOLOV3 架构检测障碍物的的类别和位置。检测识别障碍物的准确率高、速度快,为后续做实现自主避障和自动生成路径规划打下了良好的基础。能够快速准确的对障碍物进行识别。
5g时代的到来,实时数据传变得更加快捷。这样系统能更好的适应全天候、全环境。后续需要对数据集进行不断扩展和完善,能够实现全环境下自主识别。使得蚱蜢仿生机器人实现自主运行,智能化控制。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!