APP下载

基于多模态数据和粒子滤波器的移动机器人目标跟踪方法

2024-02-29

计算机测量与控制 2024年2期
关键词:跟踪目标移动机器人滤波器

李 强

(江苏安全技术职业学院,江苏 徐州 221000)

0 引言

移动机器人是一种能自动完成任务的机械设备,可以按照事先设定好的程序执行任务。它具备感知环境、决策规划和执行行动的能力,能够通过传感器获取周围环境的信息,并利用算法进行数据处理和决策。目标检测与跟踪是移动机器人的主要工作内容之一,目标跟踪是利用视频或图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标的位置。从建模方式上看,目标跟踪算法可划分为生成性和判别性两种,从被跟踪对象的个数上看,可划分为单个和多个目标。目标跟踪是图像处理、机器学习、优化等多学科交叉融合的一种新方法,是实现更高层次图像理解任务的先决条件。在复杂场景下,由于目标受多种因素影响,使移动机器人对目标跟踪的精度和效率降低。为此,对移动机器人的目标跟踪进行研究。

从现阶段机器人目标跟踪方法的研究情况来看,文献[1]提出了基于自适应随动机构的机器人目标跟踪方法。利用YOLOv3对多个目标进行定位,并将其定位结果与三维坐标解相结合,以达到对多个目标的实时追踪。文献[2]提出了基于遗传迭代和模糊控制的机器人目标跟踪方法。以采摘机器人作为处理对象,在机器人视觉系统和控制系统的设计上引入遗传迭代算法,通过对图像处理过程和机械执行末端动作过程进行优化,确定目标的跟踪结果。文献[3]方法针对小型移动机器人因跟踪目标速度快而导致跟踪精度低的问题,提出一种基于ROS的移动机器人目标跟踪优化方法。通过建立足部动力学模型预测移动位置,结合滤波器跟踪算法实现目标跟踪优化。文献[4]方法利用ORB算法和Kalman 预测器改进Camshift 算法,通过ORB算法匹配预测区域与目标区域,降低背景干扰,采用Kalman 滤波作为预测机制,初始化Camshift 算法,结合ORB算法和Kalman更新预测器参数,实现对目标的稳定跟踪,文献[5]方法根据目前移动机器人在目标跟踪中存在的难点问题,设计基于视觉的目标跟踪框架,采用深度学习中的卷积神经网络实现目标跟踪。然而上述目标跟踪方法在实际运行过程中存在明显的跟踪误差问题。

多模态数据指的是由两种或两种以上模态组成的数据,而粒子滤波器是一种基于蒙特卡罗算法的递推滤波器,通过对随机事件的加权后验概率进行描述,实现对含噪音和残缺数据的动力系统状态估计,适用于任意的状态空间。基于上述分析,提出了基于多模态数据和粒子滤波器的移动机器人目标跟踪方法,以期能够提升移动机器人的目标跟踪精度和效率。

1 移动机器人目标跟踪方法设计

粒子滤波器在视觉处理领域得到广泛应用,但由于移动机器人目标跟踪存在的问题较为复杂,粒子滤波器在实际目标跟踪过程中会产生粒子衰退现象,在实际应用中,由于噪声的存在,不仅会导致对粒子权值的描述不精确,而且还会导致粒子的分散度不断降低,从而无法确保目标跟踪效果[3]。在移动机器人目标跟踪方法的设计中,综合应用多模态数据和粒子滤波器,利用多模态数据解决粒子滤波器单独使用中存在的粒子退化问题,提高移动机器人目标的跟踪效果。

1.1 多模态数据提取方法设计

1.1.1 采集移动机器人目标多模态数据

根据多模态数据的定义,利用移动机器人内置的多个视觉传感器设备获取多个视角的目标图像数据,得出多模态数据的采集结果。移动机器人目标多模态数据采集原理如图1所示。

图1 移动机器人目标多模态数据采集原理图

按照图1所示的原理,得出移动机器人对目标的数据采集结果,其中,左侧视角得出目标数据采集结果为:

(1)

式中,f为成像焦距,θleft为移动机器人左侧成像设备与成像目标之间的角度,即左侧视角下的成像角,(x,y)为移动机器人跟踪目标的实际位置数据,h为移动机器人跟踪目标成像的深度坐标,其计算公式为:

(2)

式中,L和d分别对应的是左右两端成像位置之间的距离以及视差,将式(2)的计算结果代入到式(1)中,即可得出跟踪目标左侧模态数据的采集结果。同理可以得出右侧视角下的模态数据采集结果:

(3)

其中:θright为右侧视角下的成像角。按照上述方式可以得到跟踪目标所在区域所有位置的成像结果,即多模态数据的初始采集结果。

1.1.2 移动机器人目标多模态数据预处理

移动机器人目标初始多模态数据预处理的目的是保证数据的采集质量,为目标的检测与跟踪提供满足要求的数据支持[4]。移动机器人目标多模态数据的预处理包括畸变校正、图像匹配/融合、去噪、增强等步骤,多模态数据畸变的产生是由于光线通过成像设备产生的不规则折射,其目的是保证多模态数据像点的实际位置与理想位置一致,初始多模态数据的畸变校正处理结果可以表示为:

(4)

其中:δxr、δxt和δyr、δyt分别为径向畸变和切向畸变在水平和竖直方向上的分量,其计算公式如下:

(5)

式中,κradial1、κradial2和κradial3均为径向畸变系数,κtangential1和κtangential2表示的是切向畸变系数,r为镜头半径。通过式(4)和式(5)的联立,即可完成对初始度模态数据的畸变校正处理,将数据的畸变校正处理结果幅值给初始多模态数据[5]。采用局部立体匹配的方式对两视角的模态采集数据进行匹配融合,以匹配点为中心建立窗口。利用图像中相邻像素点具有相同的特性,通过图像中的邻域像素来刻画图像中的当前匹配点,从而降低了图像中出现的离群点的错配问题。该方法使用相似度度量函数,对两幅图像中的像素点进行相似度度量,并以最近的像素点作为最好的匹配点[6]。局部立体匹配算法是以局部窗口中的邻域像素为基础,假设参考图中一待匹配点的坐标为(xmate,ymate),以该点为中心在其周围选择一个尺寸为J×K的视窗做为支撑范围。为了降低由于离群点所引起的误配,利用极线限制原理,对左右两视角的模态数据采集结果进行分别校正,寻找数据之间的视差,在目标图像中建立与参考图像等大小的窗口,并在视差范围内选择最佳匹配点[7]。由此得出多模态数据的融合结果为:

(6)

按照上述流程,得出多模态数据的融合处理结果,保证能够在同一数据中反映出待跟踪目标的全部信息。多模态数据去噪处理的目的是降低无关因素对目标跟踪结果造成的影响。为了能够在完全去除噪声信号的同时,最大程度地保留多模态数据中的有效信息,采用均值滤波与高斯滤波相结合的方式进行多模态数据的去噪处理,均值滤波方法采用域平均方法,将各像素的灰度值取若干像素的平均值,从而达到去噪的目的[8]。高斯滤波是将输入阵列中的每个像素点与高斯核心作卷积,并将其结果作为输出像素的一种简单、快速的线性光滑降噪方法。通过均值滤波与高斯滤波处理,得出的多模态数据去噪处理结果为:

(7)

其中:Mx,y表示均值滤波窗口中心与图像像素点重合时,窗口内的所有像素点集合,Npixel为多模态数据量,λ(s,v)为卷积模板系数,s和v分别为长度系数和宽度系数,按照上述方式将多模态数据的去噪处理结果赋值给初始数据[9]。在此基础上,采用形态学处理的方式实现对多模态数据的增强处理,通过形态学操作来减轻噪声对图像的干扰,然后采用图像分割算法将前景目标从场景中提取出来。在数学中,构建几何模型是分析形态学处理的基础,形态学处理中膨胀和腐蚀操作是最基本的形态学处理,它们被广泛地应用在运动目标检测中[10]。采用膨胀和腐蚀算法,可以使检测到的前景目标更加完整,并且能够消除部分背景中的干扰信息。多模态数据的膨胀与腐蚀处理过程可以描述为:

(8)

1.1.3 提取移动机器人目标多模态数据特征

以移动机器人的多模态数据预处理结果为研究对象,从边缘、颜色、纹理等多个方面提取数据特征,为目标的检测与识别提供参考[12]。移动机器人目标的边缘特征用来描述目标的基本结构,在边缘特征的提取过程中,首先将目标多模态数据均匀分割成多个模块,采用[-1,0,1]的离散微分模板计算每个模块内像素在水平和垂直方向上的梯度矢量,计算公式如下:

(9)

利用式(9)的求解结果,得出多模态数据中任意像素位置处梯度大小和方向特征的提取结果为:

(10)

按照上述方式可以得出多模态数据中所有像素位置的梯度大小与方向的特征提取结果,最终将所有的特征分量进行融合,即可得出边缘特征的提取结果:

(11)

颜色特征是一种更直接,更容易观察的视觉特性[13]。由于多模态数据所包含的环境、背景、物体以及其他与颜色相关的事物,都与颜色相关,具有良好的抗干扰能力。在RGB颜色空间内,构建目标的颜色直返图,在任意像素点位置上,颜色分布特征的提取结果为:

(12)

式中,fi()和W分别为核函数和核带宽,fKronecker delta()为Kronecker delta函数,γ为归一化常数,Q表示的是多模态数据对应直方图的颜色索引。另外移动机器人目标纹理特征的提取结果为:

(13)

其中:E(x,y)和g分别为多模态数据的能量分量和灰度均值。综合边缘、颜色和纹理3个方面,得出移动机器人目标特征的最终提取结果为:

τ=ϖ1τgradient+ϖ2τcolour+ϖ3τtexture

(14)

式中,ϖ1、ϖ2和ϖ3对应的是边缘特征、颜色特征以及纹理特征的融合权重值。按照上述流程,完成对移动机器人目标的特征提取任务。

1.2 利用多模态数据特征和粒子滤波器检测机器人目标

以提取的多模态数据特征为分析对象,构建粒子滤波器,通过粒子初始化、粒子更新、粒子扩散、粒子退化等环节,实现对移动机器人跟踪目标的检测。移动机器人目标多模态数据范围内,粒子滤波器的连接结构[15]如图2所示。

图2 多模态数据范围内粒子滤波器连接结构图

在移动机器人目标检测过程中,单个粒子滤波器的运行流程如图3所示。

图3 粒子滤波器运行流程图

粒子滤波器通过一组带权粒子样本集对后验概率密度进行估计,并不断更新粒子样本集以及粒子权值,从而实现了对目标状态的准确估计。粒子滤波器中目标跟踪模型状态方程为:

Υt=Ψ(Υt-1,Φt-1,Κt-1)

(15)

式中,Υt-1为t-1时刻的目标状态,Φt-1为t-1时刻的控制输入,Κt-1为t-1时刻的过程噪声。

粒子滤波通过对粒子运动模型进行建模,提取粒子特征,定义粒子与目标之间的相似性测度,并对下一帧粒子集进行预测,根据粒子集的候选区域,利用相似性测度,实现对目标的定位。在经过一段时间的追踪之后,再将更多的粒子抛到最后一帧,从而提高了跟踪的鲁棒性[16]。在粒子滤波器运行过程中,首先对用于检测目标的粒子进行初始化,在已知先验概率分布的情况下,得到初始采样粒子集。移动机器人目标跟踪工作的目标多模态数据逐帧计算过程中,需要求解各个粒子的重要性权值,该参数决定了粒子的扩散和更新情况,粒子重要性权值的求解结果为:

(16)

(17)

其中:NL为粒子数量,若式(17)的计算结果低于阈值C0,则进行粒子重采样操作,将权值大的粒子分解为多个粒子,替换权值小的粒子,否则无需进行粒子重采样操作,重采样后,所有粒子的权重是相同的。目标检测工作中,粒子滤波器的执行过程也是粒子的寻优过程,将多模态数据范围内粒子距离中心粒子的平均距离作为多样性测度,研究粒子在高似然区域内的粒子数目,并结合粒子数目,对其数目进行控制,最终将粒子数目降低至一定的临界值,进而利用减少的粒子进行粒子扩散,提高粒子的多样性[18]。粒子滤波器执行过程中的粒子扩散原理如图4所示。

图4 粒子滤波器的粒子扩散原理图

多模态数据范围内粒子的扩散行为可以量化描述为:

(18)

(19)

将式(16)和式(18)的计算结果代入到式(19)中,即可得出目标状态的预测估计结果[19]。按照上述方式可以得出多模态数据区域内所有粒子状态的预测估计结果,将Pt(i)最大值对应的候选粒子作为当前时刻移动机器人目标的检测结果。

1.3 实现移动机器人目标跟踪

由于机器人以及目标处于实时移动状态,因此需要利用采集的多模态数据和粒子滤波器对目标的实时位置进行更新,从而实现对目标的跟踪。移动机器人在t+1时刻对目标的跟踪结果为:

(20)

式中,max[]为最大值求解函数,pt+1为目标跟踪节点。同理可以得出机器人移动状态下对目标实时位置的跟踪结果,通过多跟踪点的融合,即可输出移动机器人跟踪得出的目标移动路线为:

rtarget={pt,pt+1,pt+2,…}

(21)

在实际的移动机器人目标跟踪过程中,由于多模态数据的支持,因此在粒子滤波器执行过程中基本不会出现大批量粒子退化的情况,因此在此次研究中未考虑粒子退化的情况[20]。另外,在移动机器人视野范围内存在的目标存在不唯一的情况,此时需要对多目标进行跟踪,根据多个目标模态数据的采集结果,扩大粒子滤波器的扩散与搜索范围,对跟踪目标对应粒子进行分类,重复上述操作得出各个粒子对应目标的跟踪结果,由此便可得出移动机器人多目标的跟踪结果,并最终以可视化的形式输出。

2 跟踪性能仿真

为验证设计的基于多模态数据和粒子滤波器的移动机器人目标跟踪方法的跟踪性能,采用白盒测试与对比测试相结合的方式,设计仿真测试,白盒测试的基本原理是提前设置移动机器人跟踪目标的实时位置,以此作为仿真跟踪结果,判断设计方法输出的跟踪结果是否与设置数据一致,从而反应设计方法跟踪性能的测试结果。而对比测试的基本原理则是:选择多个现有的目标跟踪方法作为仿真的对比方法,在相同的仿真场景下,对同一目标进行跟踪,将对比方法得出的跟踪数据作为仿真的对比项,以此验证设计方法在跟踪性能方面的优势。

2.1 选择移动机器人样机

此次仿真选择MIR型自主移动机器人作为执行对象,该移动机器人能够实现自主移动,主要用于对道路交通与安全的监测。选择的移动机器人样机以IR2110作为驱动电机,移动机器人样机内部装设了超声传感器,能够检测出前方是否存在障碍物并进行躲避,避免移动机器人在移动过程中出现碰撞情况。为了保证移动机器人能够成功接收移动指令与目标跟踪指令,在移动机器人中内置无线收发MODEM芯片,可连接到计算机的RS232接口。从几何形态方面来看,移动机器人的整机高度为1.7 m,为满足多模态数据的采集工作,设置两个视觉传感器设备,传感器的设置高度为1.5 m,两传感器之间的间隔距离为0.2 m,移动机器人的最大移动速度为35 km/h。在仿真开始前,首先需要规划并控制移动机器人的移动路线,保证移动机器人的跟踪目标在移动机器人的视野范围内。

2.2 搭建目标跟踪仿真环境

分别从移动机器人、跟踪目标的实际移动环境和设计目标跟踪方法的运行环境两个方面,通过Matlab软件构建移动机器人模型,并将摄像头、激光雷达、声音传感器等添置至机器人模型中,根据接收到的多模态数据信息,通过粒子滤波器对目标进行定位和跟踪。此次仿真选择某市郊区的空旷马路作为移动机器人和跟踪目标的移动环境,设置的跟踪目标为车辆,根据马路中行驶车辆的数量,生成单目标场景和多目标场景,其中,单目标场景中只存在1辆车,而多目标场景中的车辆数量为2。为满足移动机器人的目标跟踪要求,要求车辆的行驶速度不高于30 km/h。基于多模态数据和粒子滤波器的移动机器人目标跟踪方法采用DM6446评估板作为粒子滤波跟踪算法实现的嵌入式平台。DM6446是一种以DaVinci技术为基础的下一代嵌入式处理器,是为了适应高效音视频处理及编解码需要而设计的,采用了ARM9+DSP的二核架构,拥有较高的外设控制能力及数据运算能力。

2.3 输入粒子滤波器运行参数

为保证移动机器人目标跟踪方法中粒子滤波器的正常运行,设置粒子滤波器中的初始粒子数量为200个,粒子滤波器通过增加粒子数来提高算法的跟踪性能。在粒子滤波器运行过程中,设置粒子的初始权值和正则化参数分别为0.1和0.01。将上述运行参数的设置结果输入到目标跟踪方法的运行程序中,完成参数的设置与输入工作。

2.4 生成移动机器人目标跟踪任务

针对单目标和多目标两个仿真场景,通过控制目标车辆的行驶参数,确定跟踪目标的实际移动位置,以此作为移动机器人的目标跟踪任务。部分目标跟踪任务的生成情况如表1所示。

表1 移动机器人目标跟踪任务表

仿真中,单目标场景与多目标场景的仿真环境相同,在该环境中构建坐标系,获取跟踪目标的实时位置坐标,以此作为判定移动机器人目标跟踪精度的比对标准。

2.5 描述跟踪性能测试仿真过程

在仿真开始前,利用编程工具对设计的基于多模态数据和粒子滤波器的移动机器人目标跟踪方法进行编码,保证主测计算机能够直接运行对应的目标跟踪程序。同时启动移动机器人及其内部的传感器设备,将目标跟踪程序切换至运行状态,启动跟踪目标车辆引擎。通过多模态数据采集与分析、粒子滤波等步骤,得出单目标和多目标场景下输出的目标跟踪结果。移动机器人目标跟踪方法在单目标仿真场景下的目标跟踪结果如图5所示。

图5 移动机器人目标跟踪结果输出

按照上述方式可以得出目标运行过程中任意时刻的目标跟踪结果。仿真中设置的对比方法包括:基于自适应随动机构的机器人目标跟踪方法(文献[1]方法)和基于遗传迭代和模糊控制的机器人目标跟踪方法(文献[2]方法),按照上述方式,在相同的仿真环境下完成对比方法的开发,得出相应的目标跟踪结果。

2.6 设置跟踪性能量化测试指标

此次仿真分别从跟踪精度和跟踪效率两个方面测试设计方法的跟踪性能,跟踪精度的测试指标为跟踪误差,其数值结果为:

(22)

其中:(xtrack,ytrack)和(xreality,yreality)分别为移动机器人输出的目标跟踪结果以及跟踪车辆目标的实际位置,计算得出跟踪误差越小,证明对应方法的跟踪精度越高。另外,跟踪效率的量化测试指标设置为跟踪平均更新时延,该指标的测试结果为:

(23)

其中:ti和tt-1分别为第i和第i-1次的更新时间,nrenew为目标跟踪结果的更新时间。计算得出跟踪平均更新时延取值越小,证明对应方法的跟踪效率越高。

2.7 跟踪性能仿真结果与分析

2.7.1 单目标跟踪性能

通过相关数据的统计,得出单目标场景下,移动机器人目标跟踪方法的跟踪精度性能测试结果,如表2所示。

表2 单目标场景下移动机器人目标跟踪精度测试数据表

将表1和表2中的数据代入到式(22)中,得出基于自适应随动机构的机器人目标跟踪方法和基于遗传迭代和模糊控制的机器人目标跟踪方法的平均跟踪误差为10.75 m和6.50 m,而设计基于多模态数据和粒子滤波器的移动机器人目标跟踪方法跟踪误差的平均值为1.13 m。另外,通过式(23)的计算,得出单目标场景下跟踪效率的测试结果,如图6所示。

图6 单目标场景下移动机器人跟踪效率测试结果

从图6中可以直观地看出,与基于自适应随动机构的机器人目标跟踪方法和基于遗传迭代和模糊控制的机器人目标跟踪方法相比,设计基于多模态数据和粒子滤波器的移动机器人目标跟踪方法的跟踪平均更新时延更短,即跟踪效率更高。

2.7.2 多目标跟踪性能

在多目标跟踪仿真场景下,统计移动机器人输出的目标跟踪结果,得出反映目标跟踪精度性能的测试结果,如图7所示。

图7 多目标场景下移动机器人目标跟踪精度测试结果

从图7中可以看出,设计方法在x和y方向上的跟踪误差均低于其他两种方法,通过式(22)的计算,得出基于自适应随动机构的机器人目标跟踪方法、基于遗传迭代和模糊控制的机器人目标跟踪方法和设计方法的平均跟踪误差分别为19.8、11.8、2.2 m。利用式(23)计算得出多目标场景下的目标跟踪效率结果,如图8所示。

图8 多目标场景下移动机器人目标跟踪效率结果

通过对图8中数据的分析,得出基于自适应随动机构的机器人目标跟踪方法、基于遗传迭代和模糊控制的机器人目标跟踪方法和设计方法的跟踪平均更新时延分别为7.6、6.8、1.8 s。

3 结束语

目标跟踪技术在军用和民用领域均具有重大的应用价值。在实际应用中,目标跟踪方法的优劣也会影响到跟踪结果的稳定性与精确性。在此次研究中,在多模态数据和粒子滤波器的支持下,实现对移动机器人目标跟踪方法的设计,从仿真结果中可以看出,设计方法的跟踪精度达到预期效果,可以应用到实际项目工作中。

猜你喜欢

跟踪目标移动机器人滤波器
移动机器人自主动态避障方法
核相关滤波与孪生网络相结合的目标跟踪算法
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于图割理论的尺度自适应人脸跟踪算法
基于Twincat的移动机器人制孔系统
连续同色调背景下运动目标自适应跟踪
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于卡尔曼和图像信息量的Mean Shift改进跟踪算法