基于树莓派的六足机器人目标跟踪系统研究*

2022-01-21 00:32留沧海
传感器与微系统 2022年1期
关键词:实时性质心卡尔曼滤波

刘 东, 蒋 刚, 留沧海

(1.西南科技大学 制造科学与工程学院,四川 绵阳 621010;2.成都理工大学 核技术与自动化工程学院,四川 成都 610059;3.制造过程测试技术省部共建教育部重点实验室,四川 绵阳 621010)

0 引 言

六足机器人因其具有较高的承载能力、地形适应能力、运动灵活性、平稳性等特性在诸多领域都有着广泛的应用前景[1]。目前主流的识别与跟踪技术主要有两个问题需要解决,首先,大多数的目标识别与跟踪都是通过摄像头固定于三脚架上进行拍摄[2],因此监控的场景非常局限,如果采用多摄像头拍摄就会使得监控成本大大提高;其次,目标识别与跟踪大多应用于轮式机器人上,如果遇到路面凹凸不平,轮式机器人很难发挥作用[3,4]。为了解决机器人在凹凸不平的路面上稳定运行和视野局限的问题,研究者采用6足式机器人搭载摄像头的方式进行识别与跟踪。当背景是相对复杂的情况下,算法的实时性和准确性的要求在实现上无法得到满意结果[5,6]。在目标识别与跟踪上,许多研究者进行了深入的研究,例如Henriques J F等人在2014年提出经典的核相关滤波(kernelized correlation filtering,KCF)算法,对于相关滤波的求解方面,KCF算法将循环矩阵里独有的傅里叶空间对角化性质简化到非线性空间中求解,进而提升算法的运行效率[7]。Kalal等人提出TLD(tracking-learning-detection)单目标跟踪算法,TLD是一种在视频中对未知运动目标进行长期跟踪的算法结构[8]。纪筱鹏等人提出通过轮廓特征结合Kalman滤波的方式进行运动车辆的跟踪,通过Kalman修正车辆在图像中的质心位置坐标[9]。足式机器人在导航、监控、多机协作、人机交互等领域应用广泛,然而传统跟踪算法准确性较差、鲁棒性不足。

本文设计了一种基于树莓派的六足机器人目标识别与跟踪系统。在室外走廊、碎石路环境下,本文通过六足机器人搭载Kinect高清摄像头对行人和目标六足机器人进行识别与跟踪。

1 系统总体方案

监控场景中存在的目标六足机器人及行人如图1所示。本文系统主要由Kinect V1高清摄像头、树莓派4B,STM32控制器、传感器、舵机驱动板、两台六足机器人组成,其中,Kinect高清摄像头是图像采集模块,树莓派4B为图像处理模块,STM32和舵机驱动板等为控制模块,两台六足机器人中其中一台为载体,另一台为待识别与跟踪的目标六足机器人如图2所示。

图1 监控场景中的目标六足机器人及行人

图2 载体六足机器人和目标六足机器人

系统通过Kinect V1高清摄像头进行环境图像的采集,通过OpenCV进行图像预处理,将预处理结果通过串口通信把图像和质心坐标信息传递给STM32,利用STM32控制舵机驱动板来驱动六足机器人进行跟踪,通过六足机器人检测位置和角度的传感器来采集机器人自身状态,并将状态信息传递回STM32,从而形成闭环控制,完成六足机器人对目标的稳定跟踪。

六足机器人的目标识别与跟踪实验中,采用YOLO v3算法进行目标六足机器人及行人的检测与识别,得到目标跟踪的质心位置信息,结合Kalman滤波来预测和修正当前时刻的位置,实现在室外环境下六足机器人的目标识别与跟踪要求。

2 六足机器人的识别与跟踪

2.1 YOLO v3识别

在 2016 年,刘磊[10]提出了一种基于回归的目标识别算法名为YOLO[11]( you only look once),通过两年的不断发展,在2018年提出了YOLO v3[12]算法。 YOLO v3 网络检测速度快,识别准确率高,相较于YOLO v2算法在检测与识别小物体方面上准确率得到很大提升[13]。YOLO v3借鉴了残差网络结构得到较深的网络层次,并结合多尺度检测,提升了较小物体检测精度。YOLO v3 算法流程中将输入图像归一化为416×416的大小,然后将整张图像划分成13×13 的网格, 如果目标的中心落入其中某一网格中,则该网格负责预测和识别该目标[14],本文共采集6 000张不同环境下的目标六足机器人和行人的RGB图片作为数据库,通过YOLO v3算法训练出一个特征信息良好的识别模型,图3是室外环境下YOLO v3对目标六足机器人及行人的识别效果图。

图3 目标六足机器人及行人的识别效果

2.2 卡尔曼滤波跟踪

卡尔曼滤波被广泛应用于无人机、自动驾驶、卫星导航等领域,卡尔曼滤波算法是一种非常高效的递归滤波算法[15],其核心方程分为状态方程和观测方程,具有计算轻量,实时性高,能够让目标跟踪的定位信息更加准确和高效,卡尔曼滤波的状态方程

Xk=AXk-1+Wk-1

(1)

观测方程

Zk=HXk+Vk

(2)

利用卡尔曼滤波跟踪目标六足机器人及行人,必须先要知道跟踪目标的初始时刻的位置坐标X0=[x0,y0,vx,vy]。(x0,y0)为目标在图像中的质心坐标位置;vx和vy为目标在x轴和y轴方向的初始速度。A为初始化下的状态转移矩阵,H为观测矩阵,W为过程噪声,V为观测噪声。为了对目标实现稳定跟踪,通过卡尔曼滤波算法预测的目标质心位置X2与YOLO v3算法计算出的质心位置X1的差值与设定的阈值T来修正目标在图像中的位置信息[16]。如果X1-X2

3 数据采集与处理

本文通过六足机器人搭载Kinect V1高清摄像头在室外走廊、碎石路等背景下对目标六足机器人及行人进行图片的采集,并将采集到的图片作为原始数据集,目标位于数据图片任意位置且采集角度不固定。

为了提高模型对室外光照强弱、方向变化,阴影遮挡等影响下目标检测的鲁棒性,需要对原始数据集进行数据扩充,常见的数据扩充方法有翻转、角度旋转、缩放和对比度变换等方法。本文通过翻转操作将3 000张原始数据集扩充2倍,最终数据库共有6 000张图片,其中随机选择4 800张作为训练集图片,1 200张作为测试集图片。将所有图片大小进行归一化,通过OpenCV将尺寸大小统一设为416×416并进行人工标注。

本文采用可视化的图像标定工具LabelImg进行标注,通过LabelImg标注软件对不同背景下的目标六足机器人及行人进行人工标注,将图片中目标六足机器人及行人框选出。图4是室外环境下目标六足机器人及行人的标注示意图,标注完成一张图片后会生成相对应的.xml文件,之后利用YOLO v3算法训练数据集,并得到所需的目标识别模型和跟踪过程所需要的位置信息,并将其传入到卡尔曼滤波进行轨迹的预测。

图4 目标六足机器人及行人的标注示意

4 实验验证与分析

实验测试六足机器人在移动过程中对行人及目标六足机器人的跟踪性能,在室外背景复杂度适中的环境下进行,六足机器人和目标六足机器人的运动速度均控制在每帧15个像素以内,行人行走速度控制在0.6 m/s,目标六足机器人和行人在场景中随机运动。软件平台使用PyCharm和OpenCV 3.4.2,深度学习使用TensorFlow框架。

为了使六足机器人的目标识别与跟踪能在室外环境下顺利进行,必须要克服检测时发生的轨迹漂移问题。由于漂移轨迹的特点是首尾两点距离较远,可以通过计算两个端点的欧氏距离,并设置两个端点的欧氏距离不能超过20来屏蔽首次检测出现的轨迹漂移现象,通过改进后的卡尔曼滤波器可以通过预测值准确地修正目标机器人及行人的质心位置以达到稳定跟踪。图5是YOLO v3结合卡尔曼滤波算法在室外环境下对目标六足机器人的第30,60,90,120帧的跟踪结果图和对行人的第20,60,100,140帧的结果。图5(a)是室外走廊下的跟踪结果,图5(b)是室外碎石路下的跟踪结果图,图5(c)是室外行人的跟踪结果。从图5可以看出,当YOLO v3结合Kalman滤波算法出现识别错误时可通过Kalman滤波的预测值进行修正,所以在不影响跟踪实时性的前提下,还保证了跟踪的准确性。

图5 目标六足机器人及行人的跟踪结果

表1对比分析了目标跟踪经典算法(KCF,TLD)与YOLO v3结合Kalman滤波算法的跟踪性能,v1表示在室外走廊下的目标六足机器人,v2表示在室外碎石路下的目标六足机器人,算法的实时性可以用每秒运行的帧数来体现,从表1可以看出YOLO v3结合Kalman滤波算法在实时性上低于KCF算法,但也能满足实时性的跟踪要求,且YOLO v3结合Kalman滤波算法在室外环境下的准确率相较于KCF和TLD算法都有较大的提高。

表1 不同算法下六足机器人的目标跟踪性能

中心位置误差(center location error,CLE)是六足机器人目标跟踪精度的一个重要指标,中心位置误差是指目标跟踪框的中心位置和真实物体跟踪框的中心位置两者之间的欧氏距离的均值。

为了更准确评估三种算法对于六足机器人的目标跟踪性能,对比了在室外环境下目标跟踪经典算法和YOLO v3结合卡尔曼滤波算法跟踪目标六足机器人和行人的中心位置的误差,如表2所示。中心位置误差越小,跟踪结果越准确,从表中可以看出利用卡尔曼滤波的跟踪算法的平均中心位置误差相比于经典跟踪算法的平均中心位置误差要低很多。

表2 不同算法下目标跟踪的中心位置误差(CLE/像素)

5 结束语

六足机器人对环境的极强适应性和稳定性使目标识别与跟踪实验可以在室外相对复杂的环境下进行,本文提出利用 YOLO v3结合卡尔曼滤波实现六足机器人室外环境下的目标识别与跟踪。实验对比分析了经典跟踪算法和利用YOLO v3结合卡尔曼滤波的跟踪算法在准确率、速度、中心位置误差上的影响。在室外环境下进行的六足机器人目标识别与跟踪实验在准确率和鲁棒性上优势明显,但在实时性上相较传统算法略差一些。后续研究将改进算法提高六足机器人目标识别与跟踪的实时性以期提高六足机器人的智能化水平。

猜你喜欢
实时性质心卡尔曼滤波
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
重型半挂汽车质量与质心位置估计
基于无迹卡尔曼滤波的室内定位系统
基于GNSS测量的天宫二号质心确定
脉冲星方位误差估计的两步卡尔曼滤波算法
基于近邻稳定性的离群点检测算法
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
巧求匀质圆弧的质心
计算机控制系统实时性的提高策略