万 琴 李 智 李伊康 葛 柱 王耀南 吴 迪
移动机器人在安防、物流和医疗等领域应用广泛[1-2],其中机器人目标跟随算法引起了广泛关注,但移动机器人目标跟随算法的鲁棒性和实时性仍是亟待解决的关键问题[3-4].
机器人目标跟随算法分为生成式模型方法和检测跟踪方法两大类[5-6].生成式模型主要通过构建目标模型实现跟随,如Yoshimi 等[7]利用视觉传感器获取行人颜色和纹理特征,机器人在视野范围内寻找与之相匹配的区域,融合行人与位置速度信息构建模型,采用基于生成式的目标跟踪算法跟随行人.然而,此类算法关注目标本身,忽略背景信息,经常出现跟踪丢失的情况.
为同时考虑目标与背景信息,检测跟踪方法得到了越来越多的关注,此方法通过构建分类器区分目标及背景,其跟踪效果普遍优于生成式模型方法.余铎等[3]通过快速判别尺度空间切换相关滤波算法与卡尔曼滤波算法实现稳定跟踪.另外,移动机器人在跟随控制过程中常受到背景杂斑、光照变化、目标遮挡、尺度变化等干扰,导致跟随目标丢失.因此传统的检测跟踪方法不适用于移动机器人在复杂多变场景中的目标跟随[2].
基于深度学习的移动机器人目标跟随算法具有鲁棒性强等优势[8].Zhang 等[9]通过基于目标轮廓带采样策略来提高移动机器人跟踪性能,但未对遮挡、行人消失等情况进行处理.Pang 等[10]提出一种基于深度学习的目标检测器,引入卡尔曼滤波来预测目标位置,加入重识别模块处理遮挡问题,但此类算法需先获取精度较高的目标检测结果.鉴于上述问题,JDE (Jointly learns the detector and embedding model)检测模型可用来融合重识别与检测分支[11],提高目标检测精度.YOLO (You only look once) 系列算法则是一类基于JDE 检测模型的一阶段框下的目标检测算法,具有高效、灵活和泛化性能好的优点.
YOLO 算法包括了YOLOV1~ YOLOV7 系列算法以及一系列基于改进YOLO 的目标检测算法.Redmon 等[12]提出YOLO 算法进行目标检测,直接采用回归的方法进行坐标框的检测以及分类,使用一个端到端的简单网络实现坐标回归与分类,能够极大地提升目标的检测速度.此后,YOLO 的网络结构不断优化,已经成为目标检测领域主流的算法.Hsu 等[13]引入比率感知机制,动态调整YOLOV3的输入层长度和宽度超参数,从而解决了长宽比差异较大的问题,能够有效地提高平均跟踪精度.Huang 等[14]引入改进的YOLOV3 模型,此模型将预测尺度从3 个增加到4 个,并使用额外的特征图来提取更多的细节.YOLOV3 的目标位置识别精度较差,在目标分布密集、尺寸差异较大的复杂场景中,检测效果较差.YOLOV4[15]开发了Darknet53目标检测模型,此模型具有更高的网络输入分辨率,网络层参数多,计算复杂度高,对小目标检测效果较差.对此,YOLO-Z[16]提出了一系列不同尺度的模型,提高YOLOV5 检测小目标的性能.Cheng 等[17]提出一种单阶段SSD (Single shot multibox detector) 微小目标检测方法,此方法可提高微小目标检测的实时性,但其使用的两阶段式目标检测器使目标定位精度有所下降.YOLOV6[18]设计了更高效的主干网络和网络层.YOLOV7[19]扩展了高效长程注意力网络,加入了基于级联的模型缩放方法,均可一定程度提高检测精度和推理效率,但由于未引入重识别分支,无法提取浅层特征用于后续跟踪.YOLOX[20]在YOLO 系列的基础上做出了一系列改进,相比于YOLO 系列目标检测算法,其最大的不同是采用了无锚框检测器.而YOLOV1~ YOLOV5采用有锚框的检测器,由于可能会被多个锚框同时检测且与检测框中心存在误差,并不适用于JDE检测模型.因此,采用无锚框的YOLOX 目标检测算法更加适合于JDE 检测模型.
移动机器人检测与跟踪跟随目标的核心问题是其在运动过程中,复杂场景干扰影响其检测精度以及跟随性能.YOLOX 以Darknet53 网络结构为主干,有较高的检测精度,但模型较大、推理速度较慢,不适用于移动机器人实时跟随.在YOLOV5 的网络模型中,虽然网络的特征提取能力随着深度的增加而增强,但下采样次数的增加会导致梯度的消失,这极大影响了移动机器人的检测精度[21].为了提升移动机器人的检测精度,DeepSORT 目标跟踪算法[22]采用卡尔曼滤波更新目标位置,并与当前检测目标关联匹配,但未解决因遮挡跟踪造成的目标丢失问题.Han 等[23]提出PSR (Peak side-lobe rate)目标跟踪算法,引入深度信息来评估跟踪可信度,并可主动检测跟踪丢失目标.但其采用相关滤波法实现目标跟踪,在复杂场景下的跟踪鲁棒性低.可见,改进网络结构的同时引入深度信息,是提升移动机器人检测跟随性能的一种亟待探索的方法.
综上所述,基于YOLO 系列的移动机器人目标跟随算法的鲁棒性强且精度高,但对于变化环境迁移和泛化能力弱,且运行速率低.传统移动机器人目标跟随算法速度快,但是当目标发生形变、尺度变化和严重遮挡等情况时,跟踪过程容易出现目标跟踪丢失.因此,为实现复杂场景下移动机器人稳定跟随目标,本文提出改进YOLOX 的移动机器人目标跟随方法(Improved YOLOX target-following algorithm,IYTFA).主要工作如下:
1) 为提高目标检测精度和速度,提出基于YOLOX-MobileNetV2X 网络 (YOLOX-M2X) 的目标检测算法,使用交叉熵损失、回归损失以及重识别损失函数,共同训练检测与重识别分支.
2)为提高目标预测与更新速率,采用改进的卡尔曼滤波器获取目标跟踪状态.同时加入基于深度直方图的遮挡检测机制,并通过深度概率约束帧间目标匹配,提高遮挡跟踪准确率.
3)在目标跟随过程中,提出基于视觉伺服控制的主动搜寻策略,并在目标消失时引入重识别特征进行跟踪跟随,保证移动机器人稳定跟随目标.
本文内容安排如下: 第1 节介绍IYTFA 算法,包括目标检测部分、目标跟踪部分和目标跟随控制部分;第2 节为实验验证,简要说明移动机器人和深度学习平台,定性、定量分析目标跟踪算法,并进行移动机器人目标跟随实验;第3 节对本文工作进行总结与展望.
IYTFA 移动机器人目标跟随方法的结构框图如图1 所示,主要由目标检测、目标跟踪及目标跟随控制三部分组成.首先,将YOLOX 的主干网络Darknet53 替换为MobileNetV2X,通过获取的RGB 视频序列输入训练完成的MobileNetV2X 网络得到特征图,再将重识别损失函数和检测损失函数分别训练重识别分支及检测分支,从而得到目标检测结果.然后采用改进的卡尔曼滤波器获取跟踪状态,通过轨迹关联实现目标匹配,同时引入遮挡判别机制,如判断目标被遮挡则加入深度概率约束进行遮挡目标跟踪匹配.最后采用基于视觉伺服控制的主动搜寻策略完成移动机器人目标跟随.
图1 本文方法结构框图Fig.1 Structure block diagram of our method
目标检测是移动机器人目标跟随的关键问题,目标检测精度很大程度上决定了移动机器人跟随的稳定性.本文以YOLOX 体系架构为基础进行改进,优化网络结构与损失函数,提高检测实时性.主干网络使用MobileNetV2X 网络,再通过检测分支与重识别分支得到检测结果.
1.1.1 YOLOX-MobileNetV2X 网络
YOLOX 算法[20]将解耦头、数据增强、无锚框以及标签分类等算法与传统的YOLO 算法进行融合,算法泛化能力强,检测小目标精度高.
YOLOX 算法网络主要分为三个部分,分别为主干网络、网络层和预测层.其主干网络采用Darknet53特征提取网络,网络层采用特征金字塔网络,预测层使用了3 个解耦头.输入图片在主干网络部分进行浅层特征提取,输出3 个特征层传入网络层进行深层特征提取,输出分别传入3 个解耦头进行目标检测.但是YOLOX 主干网络通常使用Darknet53网络,存在模型尺寸大、推理速度慢等问题.因此为实现移动机器人实时目标检测,本文提出YOLOXM2X 网络,将YOLOX 主干网络采用轻量级的特征提取网络MobileNetV2X,该网络的卷积核心层是深度可分离卷积层,可将输出的特征图的通道数缩减至一半,并再与原卷积层提取的特征图合并,与仅使用一组深度可分离卷积的MobileNetV2[24]相比,该网络可获得更多特征图的语义信息.
在YOLOX-M2X 网络上,先采用COCO2017训练集训练得到网络参数,再移植至移动机器人平台进行实时检测.COCO2017 数据集是一个可用于图像检测的大规模数据集,包含超过 330×103幅图像(其中 220×103幅是有标注的图像),涵盖150 万个目标及80 个目标类别(行人、汽车、大象等)、91 种材料类别(草、墙、天空等),每幅图像包含5 句语句描述,且有 250×103个带关键点标注的行人.
MobileNetV2X 网络将目标检测时的分类分为7 个阶段,输入图片分辨率为H×W(H为图片高度,W为图片宽度).假设输入特征图表示为RH×W×C,其中H为高度、W为宽度、C为通道数.每个阶段的核心层为瓶颈层,每个阶段的瓶颈层中包括4 个步骤.
在MobileNetV2X 网络中的第7 个阶段得到深层特征图F7R15×15×320,在第1 个阶段得到浅层特征图F1R240×240×15,经网络层后得到检测分支和重识别分支的输入特征图.
1.1.2 目标检测分支及损失函数
为度量目标检测信息和真实目标信息之间的差值,进一步定义损失函数,损失函数值越小则差值越小,训练模型准确度越高.由于MobileNetV2X网络中的目标检测分支包括目标分支、回归分支和分类分支,其对应损失函数由目标损失函数Lobj、回归损失函数Lreg和分类损失函数Lcls三部分组成,总的训练损失函数Ldetection表示为
其中,λ1,λ2和λ3是损失平衡系数.Lobj和Lcls采用二值交叉熵损失函数(Binary cross entropy,BCE),Lreg采用交并比 (Intersection over union,IoU) 损失函数.
在目标检测中,需首先判定预测的目标属于前景或者背景,目标损失函数Lobj采用Focal 交叉熵损失函数度量其与真实值的差值,即
其中,Nobj代表用于计算Lobj损失函数的视频帧目标总个数;ys表示测试样本s的标签,前景标为1,背景标为0;ps表示测试样本s预测为前景的概率.
Lreg回归损失函数使用 IoU 损失函数来度量预测检测框与真实目标框的交并比(面积重叠度).IoU指标范围为[0,1],当面积重叠率越大时,IoU指标数值越大,即
其中,IoU表示当前帧目标预测框和目标真实框的面积重叠率,即交并比.
为评判当前视频帧目标所属的类别与真实值的差值,分类损失函数采用多分类交叉熵损失函数对目标所属类别的预测进行评分,即
其中,Ncls代表用于计算Lcls损失函数的视频帧目标总个数;M表示类别的数量;ydc为符号函数,如果当前视频帧目标d的真实类别等于c,ydc为1,否则取0;pdc为当前帧目标d属于类别c的预测概率.
1.1.3 重识别分支及损失函数
为在目标消失再出现时完成视频连续帧间的目标匹配识别(即目标重识别),在YOLOX-M2X 网络中加入重识别分支提取目标的颜色、纹理等浅层外观特征作为重识别特征.
为评判重识别特征图准确度,定义重识别损失函数,其值越小,表示重识别特征图越准确.并将重识别损失函数Lid定义为
最后,将检测和重识别损失函数相加,同时使用不确定性损失函数[11]来自动平衡检测和重识别损失函数.与单独使用Lid和Ldetection训练模型相比,训练效果得到提升,同时减少了计算复杂度,可达到实时性要求.
首先使用第1 帧检测的目标框初始化目标轨迹及跟踪状态,然后通过改进的卡尔曼滤波器预测下一帧目标位置,最后采用连续帧间的数据关联确定目标跟踪状态.
在当前视频帧下,设t时刻检测到M个目标,i1,···,M,t时刻跟踪N个目标,j1,···,N,每一帧检测及跟踪结果实时更新,则当前t时刻的第i个检测目标状态为xt,i,第j个跟踪目标状态为zt,j.
其中,wt-1和vt分别是过程噪声序列和量测噪声序列,并假设wt-1和vt是均值为0 的高斯白噪声,其方差分别为Qt和Rt,即wt-1~(0,Qt),Vt~(0,Rt).
为详细说明改进卡尔曼滤波器预测与更新的过程,算法1 给出此部分的伪代码.
算法1.改进卡尔曼滤波算法
其中,bi,j为正确关联轨迹集合.在训练数据集上训练网络参数得到余弦距离,并与训练集基准之间的余弦距离进行比较,得到阈值λ.式(7)中,当bi,j小于阈值λ,表示当前帧检测目标i与上一帧跟踪目标j关联,则跟踪正常;当bi,j大于阈值λ,表示未成功关联,则继续判断目标是否遮挡或消失.
跟踪目标由于被遮挡,目标外观会发生显著变化,导致目标特征减少,移动机器人跟踪目标丢失.本文提出一种有效的遮挡处理机制,当判断遮挡发生时,采用深度概率对目标周围区域进行空间约束,并通过最大后验概率(Maximum a posteriori,MAP)关联匹配实现遮挡跟踪.
1)遮挡判断
由于多个目标相互遮挡时,RGB 外观被遮挡,只可从深度信息区分不同遮挡目标,而ZED 相机获取的深度信息为多个遮挡目标中离该相机最近的目标深度信息.因此将目标框在RGB 图中的位置区域映射到深度图中并设定为深度遮挡区域,若判定其他目标进入此区域表示发生遮挡,具体判定如图2 所示.
图2 遮挡前后深度直方图Fig.2 Depth histogram before and after occlusion
目标1 遮挡前深度直方图最大峰值为4 000,目标2 遮挡前深度直方图的最大峰值为2 500,发生遮挡后深度遮挡区域深度直方图最大峰值为2 500,深度直方图的峰值从4 000 下降到2 500.显然,此时目标1 的深度遮挡区域的深度直方图出现新的上升峰值2 500,且小于遮挡前的峰值4 000,则可见目标被遮挡后的深度直方图峰值明显减少.
2)遮挡匹配跟踪
当目标发生遮挡时,通过最大后验概率关联当前帧检测目标与上一帧跟踪目标,可有效解决遮挡跟踪问题.假设所有运动目标之间相互独立,设单个目标轨迹组成为S,似然概率具有条件独立性,则关联遮挡目标的目标函数为
式中,P(zt-1,j) 是所有跟踪目标的先验概率;P(xt,i|zt-1,j)表示当前检测目标属于跟踪目标的条件概率,该条件概率通过检测目标与上一帧跟踪目标框的重叠率计算得到.
设当前帧检测目标xt,i的深度图对应的边界框为b(xt,i),跟踪目标zt-1,j的深度图对应的边界框为b(zt-1,j),通过判断b(xt,i)与b(zt-1,j) 的重叠率来表示跟踪置信度,式(11)用于求目标框的重叠率,即
式中,σ为重叠区域,若C大于σ,表示xt,j与zt-1,j关联匹配.
在获取目标跟踪结果后,选定感兴趣的一个目标作为移动机器人的跟随目标.为使移动机器人实现目标跟随,本文采用基于视觉伺服控制的目标跟随算法,使跟随目标框的中心点保持为视野范围中心点.如目标消失,则移动机器人按照目标运动轨迹进行主动搜索,重新识别目标并使移动机器人继续跟随目标.
1.4.1 基于ZED 相机的移动机器人运动学模型
由于ZED 相机具有成像分辨率高、可获取远距离深度图像等优点,本文采用ZED 相机作为移动机器人视觉传感器,其内参已标定.
假设ZED 相机的镜头畸变小到可以忽略,相机固有参数用针孔模型表示,ZED 相机成像原理图如图3 所示.在图像坐标系Y的跟踪目标坐标为P(xcn,ycn,zcn),zn是从图像坐标和ZED 相机的固有参数中获得
图3 ZED 相机成像图Fig.3 ZED camera imagery
其中,f为相机焦距,b为左右相机基线,f和b是通过先验信息或相机标定得到.其中由极线约束关系,视差d可由左相机中的像素点xl与右相机中的像素点xr对应关系计算得到.
本文算法将移动机器人平台简化为基于ZED相机的两轮差速模型,如图4 所示.图4 中包括世界坐标系G、机器人坐标系PR、ZED 相机坐标系Z和图像坐标系Y.图中,C(x,y) 为移动机器人运动中心点,D为两轮之间的距离,θ为方向角.
图4 基于ZED 相机的两轮差速驱动模型Fig.4 Two-wheel differential drive model based on ZED
其中,R(θQ,θC)表示从世界坐标系Q到ZED 相机坐标系Z旋转矩阵.δd表示在世界坐标系M中,移动机器人与摄像机的距离.
1.4.2 机器人主动控制策略
前述跟踪算法完成目标跟踪,并获取目标跟踪框的深度信息,但直接使用目标跟踪框的深度信息来计算机器人与跟随目标的距离,会引入大量的背景信息.因此需要对目标中心进行重定位,为跟踪区域找到合适的位置,提高机器人跟随精度.
得到精确位置 (x*,y*)后,获取以 (x*,y*) 为中心区域框的4 个顶点坐标,计算中心点和顶点对应深度信息平均值f(t),其值表示为移动机器人与目标的距离.设移动机器人期望到达位置为f*(t),误差e(t) 可定义为
机器人控制变量为Xcontrol[U(t)vt,W(t)wt],vt代表移动机器人的线速度,wt代表移动机器人的角速度,PID 控制器设计为
其中,kP,kI和kD为PID 系数,λ是调整因子.
目标跟随控制部分的结构框图如图5 所示,误差e(t) 为PID 控制器的输入端,实时控制移动机器人角速度和线速度,移动机器人与目标保持一定距离并稳定跟随目标.在跟随过程中如果目标超出移动机器人视野范围,移动机器人会保留消失前最后一帧跟踪目标的重识别特征和位置信息,并朝着目标消失的方向继续运动.若跟踪目标再次出现在视野内,进行目标检测并提取该目标的重识别特征与消失前最后一帧跟踪目标的重识别特征关联匹配,实现跟踪目标重识别即为重检成功,则可实现目标消失后再重识别并稳定跟随目标.
图5 目标跟随器移动控制部分Fig.5 Target follower movement control section
移动机器人目标跟随系统主要包括两个平台:深度学习平台及移动机器人跟随控制平台.深度学习平台GPU 为NVIDIA Geforce RTX2080SUPER,内置软件环境为Ubuntu16.04LTS 系统,通过深度学习平台训练数据集获取YOLOX-M2X 网络参数.移动机器人跟随控制平台重20 kg,可承载50 kg 的额外重量,主要组件包括: ZED 双目相机、车体、NUC机载微型计算机、STM32F103RCT6 底层驱动控制板等,如图6 所示.机器人操作系统为ROS (Robot operating system),ROS 具有良好的开源性和扩展性.移动机器人跟随控制平台主要包括视觉检测模块、目标跟踪及跟随控制模块.视觉检测模块采用ZED 相机获取实时视频序列,并通过深度学习平台训练数据集获取网络参数进行目标检测;移动机器人目标跟踪及跟随控制模块采用两轮差速驱动,移动机器人内部中心位置安装有数字姿态传感器,可检测机器人的加速度、角速度.移动机器人底盘前后端装有两个防跌落传感器,其检测范围为15 cm,通过该模块实现目标稳定跟随.
图6 移动机器人平台Fig.6 Mobile robot platform
为评估本文算法的性能,本文在测试集和移动机器人平台进行了大量的实验.将DeepSORT 算法[22]、CTrack 算法[25]、FairMOT 算法[11]与Realtime MOT 算法[26]等与本文算法在深度学习平台上进行验证,并在MOTchallenge 中的测试集上完成对比实验.1) DeepSORT 算法的最大特点是加入外观信息,借助重识别模型来提取特征,减少目标ID 切换的次数.2) CTrack 算法是基于输入链式跟踪框架,实现端到端联合检测,同时设计了联合注意力模块来突出检测框在回归中的有效信息区域.3) FairMOT 算法是将检测算法和重识别特征进行融合,同时输出检测目标和重识别特征.4) Realtime MOT 算法的创新在于将目标检测环节和外观特征融合在同一网络中,大幅度提升多目标跟踪算法的速率.5)本文跟踪算法的目标检测部分采用基于无锚框的改进YOLOX 检测算法,同时将目标检测和重识别特征融合到轻量化网络中,跟踪部分则采用改进卡尔曼滤波器,可有效提高跟踪实时性.
为直观评估本文算法的性能,对跟踪算法进行定性对比分析实验;为定量分析本文算法性能,在测试集上进行了网络消融实验、不同损失函数对比实验以及不同算法之间的遮挡跟踪对比实验;最后,在移动机器人平台上进行了室内、室外目标跟随实验.
如图7 所示,测试集为公开MOTchallenge 中的测试集中的部分视频序列.表1 给出该测试集的帧率、分辨率、时长等属性.测试集包括大量动态背景,行人姿势变化多,存在无遮挡、遮挡、交叉遮挡等情况.
表1 测试集视频序列Table 1 Test set video sequences
图7 测试集Fig.7 Test set
为验证本文算法的有效性,分别在MOT2008、MOT2002和HT2114 视频序列上,将DeepSORT算法、CTrack 算法、FairMOT 算法和Real-time MOT 算法与本文算法进行目标遮挡跟踪对比实验.图8 是不同算法在MOT2002 视频序列上的跟踪结果,DeepSORT 算法跟踪成功率最低,出现了大量漏检目标.图8 中,Object-1 在第26 帧时处于未遮挡状态,除了DeepSORT 算法外,其余3 种算法均能跟踪目标,但是FairMOT 算法中Object-1 身份ID 由40 变为了60,出现身份ID 信息切换.Object-2 在第326 帧时处于未遮挡状态,Object-2 目标小、模糊且受光照影响,仅有Real-time MOT和本文算法仍能稳定跟踪目标.Object-3 在第2 701 帧时处于新出现的目标和周围物体交叉遮挡状态,DeepSORT算法、CTrack 算法和FairMOT 算法出现跟踪丢失,本文算法较其他4 种算法跟踪效果更好,区分目标与新出现的目标能力较强,具有较好的跟踪鲁棒性.DeepSORT、CTrack、FairMOT和Real-time MOT 均出现一定程度上的漂移.本文采用YOLOX 框架下高性能的MobileNetV2X 特征提取网络及改进的卡尔曼滤波器改善了目标在遮挡、交叉遮挡和完全遮挡的跟踪漂移问题.
图8 本文算法与DeepSORT、CTrack、FairMOT、Real-time MOT 多目标跟踪算法对比分析Fig.8 Comparison and analysis of our algorithm with DeepSORT,CTrack,FairMOT,and Real-time MOT multi-target tracking algorithm
接下来,在实际场景中将本文算法与在测试集中跟踪性能较好的FairMOT 跟踪算法在移动机器人平台上进行对比实验,选用了实验室室内场景、学校食堂场景.图9 为在实验室室内场景的实验结果,图中标注Person ID-x 框为采用本文算法的目标跟踪框,标注Preson_x 框为采用FairMOT 算法的目标跟踪框.由图9 可见,遮挡前以上跟踪算法均能准确跟踪行人.当第122 帧行人Person_2被完全遮挡后,FairMOT 目标跟踪算法身份切换为Person_3,而本文算法仍然能稳定跟踪目标行人ID-3.通过与FairMOT 算法在移动机器人平台上进行对比实验可知,本文算法能有效地解决跟踪目标遮挡问题,能够稳定跟随目标行人.其原因在于本文算法相比于FairMOT 算法加入了深度概率约束,能够有效解决遮挡后身份ID 错误切换问题.
图9 移动机器人平台上FairMOT 算法与本文算法对比实验Fig.9 Comparative experiment of FairMOT algorithm and our algorithm on mobile robot platform
如图10 所示,在学校食堂采集视频序列中进行了目标跟踪实验,同时展示了FairMOT和本文算法的部分跟踪结果.在第10 帧行人ID-1 遮挡了其他目标,如ID-10 被遮挡后本文算法可有效跟踪,而FairMOT 算法将该目标错误跟踪为ID-29,被遮挡的行人ID 发生了变换,可见本文算法相对于FairMOT 算法ID 错误切换较少.分析原因得出,本文算法引入重识别分支,有效解决了遮挡后目标跟踪问题.同时,本文算法能很好地检测Fair-MOT 未检测到的行人,例如第13 帧行人ID-21,得益于改进的YOLOX 目标检测算法良好的检测性能.通过在实际复杂场景中的跟踪结果对比,证明了本文算法在移动机器人平台上具有良好的实时性和准确性,同时也具有很好的鲁棒性.
图10 学校食堂场景中本文算法与FairMOT 算法对比实验Fig.10 Comparative experiment between our algorithm and FairMOT algorithm in school canteen scene
定量分析分为目标检测算法的两组消融实验和在测试集上的跟踪算法对比实验.
2.2.1 目标检测算法消融实验
为验证加入网络和重识别损失函数的有效性,将本文算法与3 种算法进行对比: 1)传统YOLOX网络[20];2)在YOLOX 框架下用MobileNetV2X 代替主干网络;3) 在YOLOX 框架下用MobileNetV2X代替主干网络,再加入重识别损失函数.为定量分析目标检测性能,使用几种常用的评估指标[27],如准确率(Presion)、召回率(Recall)、F1 分数和平均准确率(Mean average precision,mAP)、每秒浮点运算次数(Flops,单位为GHz),结果见表2.
表2 网络消融实验Table 2 The ablation studies of the proposed network
首先,比较算法1) 与算法2)的性能指标,在准确率、召回率、F1 分数、平均准确率相差不大的情况下,每秒浮点运算次数从21.79 GHz 大幅下降到8.65 GHz,可见运算复杂度大幅下降.由于触发器导致的精度损失可以忽略不计,因此在移动机器人平台CPU 计算能力有限的情况下,受计算能力限制的轻量级模型MobileNetV2X 更加适合应用于移动机器人平台.
接着,比较算法2)与算法3)的性能指标: 采用平均绝对误差 (Mean absolute error,MAE)和均方误差 (Mean square error,MSE),在NWPUCrowd和UCF-QNRF 数据集上进行测试[28].在图11中,在2 个主干网络(Darknet53、MobileNetV2X)上分别进行测试.比较不同的损失函数性能,包括L2 损失函数、贝叶斯损失(Bayesian loss,BL) 函数[29]、NoiseCC 损失函数和DM-count 损失函数.从图11 可见,本文的损失函数与其他损失函数相比,Darknet53_MAE 与MobileNetV2X_MAE 指标最低,即本文使用的损失函数训练模型准确度高,其重识别损失函数最后一层权重的梯度不再与激活函数相关,只与输出值和真实值的差值成正比,收敛快.但Darknet53_MSE 与MobileNetV2X_MSE 指标略低于DM-count 损失函数,DM-count损失函数MAE 指标偏高,将MAE 与MSE 指标综合考虑,本文提出的损失函数更加稳定.从以上两组实验对比分析可见,采用MobileNetV2X 网络计算复杂度大大降低,且重识别损失函数收敛快,实时性增强.
图11 不同主干网络的不同损失函数的测试结果Fig.11 Test results of different loss functions for different backbone networks
2.2.2 目标跟踪算法实验
为定量分析目标跟踪算法在不同序列上目标遮挡跟踪效果,选用MOT2008、MOT2002 等6 个视频序列进行对比分析和验证.将本文算法与4 种目标跟踪算法在深度学习平台上测试,并进行对比分析.对比算法包括DeepSORT 算法[20]、FairMOT算法[11]、CTrack 算法[23]和Real-time MOT 算法[24].本文在这些视频序列上测试多目标跟踪准确度(Multiple object tracking accuracy,MOTA)、身份准确率与召回率的调和均值(Identification F-score,IDF1)以及跟踪目标轨迹数量(Mostly tracked,MT)等指标,各项指标数据如表3 所示.MOTA 指标评估算法性能,基准测试范围为 MOTA(-∞,100],当跟踪器的错误数量超过场景中所有物体的数量时,多目标跟踪精度MOTA 为负.IDF1 为正确识别检测真实数量和平均数量之比;MT 为跟踪成功的目标数量在所有跟踪目标中所占的比例;ML 为跟踪失败的目标数量在所有跟踪目标中所占的比例;IDs为单条跟踪轨迹改变目标标号的次数;FPS (Frames per second)表示帧速率,单位为帧/s.表中的符号“↑”表示数值越大对应该符号指标性能越好;符号“↓” 表示数值越小对应该符号的指标性能越好.
表3 各项性能指标Table 3 Each performance index
本文方法分别在6 个数据集上测试,如表3 所示,除本文算法,FairMOT 算法的MOTA、IDF1与MT 指标最好.在MOT2008 数据集上,本文算法除了IDs 指标为591,略差于FairMOT 算法指标543,其余指标均比其他算法好,得益于本网络加入了重识别分支,提高了遮挡跟踪身份匹配率,同时采用改进的卡尔曼滤波器的预测与更新速率.这几种方法的推理速度接近实时视频速率,而本文算法更快,在以上视频序列中,本文算法在MOTS2007数据集中达到了39 帧/s,充分证明YOLOX-M2X网络实时性强,适用于移动机器人目标跟随.综上所述,本文算法跟踪帧速率比其他目标跟踪算法要高,在MOTA 指标、IDF1 指标、MT 指标和ML 指标上均为最优.
为测试本文算法的鲁棒性和实时性,在不同场景下进行了移动机器人目标跟随实验,包括室内场景、室外场景.首先在室内场景中进行目标跟随实验,该室内场景存在旋转门,柜台等障碍物,宣传栏反光,光照变化等影响.如图12 所示,第20 帧之后跟踪目标左转、第23 帧避开柜台、第35 帧跟踪行人穿过旋转门均能实时跟随目标.实验证明,本文算法目标检测及跟随精度高,具有良好的实时性,能够实现实时避障及稳定跟随目标.
图12 室内环境下移动机器人目标跟随实验Fig.12 Experiment of mobile robot target following in indoor environment
然后在室外场景进行目标跟随实验,分别选取走廊及学校道路两种场景进行移动机器人目标跟随实验.在走廊场景中的实验如图13 所示,通过ROS 可视化工具rviz 在地图上记录移动机器人跟随路线,中心区域为移动机器人建立的离线地图,地图中的细线代表移动机器人运动轨迹.跟踪行人识别身份为ID-3.移动机器人锁定跟踪行人ID-3,在锁定目标消失再出现及其他新目标出现时,均能正确跟踪跟随锁定目标.如第35 帧时跟踪目标ID-3 在转弯过程中,快速移动消失在机器人视野范围内,出现目标丢失情况,移动机器人则通过主动搜寻策略,在rviz 界面显示了主动搜寻的轨迹,能在目标消失再出现后继续稳定跟随目标.如第58 帧识别跟踪到新目标行人ID-4和第73 帧识别跟踪到新目标行人ID-5,移动机器人仍能实时锁定跟随目标ID-3.
图13 移动机器人跟随路线图Fig.13 Mobile robot following road map
在校园内进行大范围室外目标跟随的实验如图14 所示,左边地图显示了校园卫星地图,图中曲线表示移动机器人运行轨迹,包括了路面不平、光照变化、行人密集、下坡路段等复杂场景.在该实验过程中,机器人平稳跟随目标约770 m,移动机器人平均速度约为0.42 m/s,总跟随时间长度约为30 min.机器人轨迹上右边的16 幅图像是这些位置对应的移动机器人实时跟随图.第1 段为机器人经过不平路面处,机器人跟踪视野发生抖动,影响了跟踪算法特征网络提取特征,经过不平的路面后,利用主动搜寻和重识别功能,重新捕获到目标并主动跟随.第2 段为机器人受到光照影响,光照对目标的颜色、纹理特征提取影响大,本文YOLOX-MobileNet-V2X 网络引入数据增强,提升了模型的鲁棒性,保证了在光照变化下的移动机器人稳定跟随.在第3段食堂附近出现了众多行人目标,本文算法实时返回跟随行人的位置信息,实现在复杂场景下稳定跟随.第4 段为下坡路面,机器人能够实时控制角速度和线速度,保持与目标相距一段稳定距离跟随.可见,在室外复杂情况下,移动机器人仍能实现稳定地跟随目标.
图14 室外环境下移动机器人目标跟随实验Fig.14 Experiment of mobile robot target following in outdoor environment
本文提出了一种基于改进YOLOX 的移动机器人目标跟随方法,以解决移动机器人在复杂场景中难以稳定跟随目标的问题.针对目标检测实时性低的问题,通过改进YOLOX-M2X 网络实现目标检测;针对复杂情况下目标跟踪问题,提出改进的卡尔曼滤波器结合深度概率信息的方法,确保机器人在遮挡情况下稳定跟踪目标;针对机器人跟踪目标丢失情况,设计了基于视觉伺服控制的目标跟随算法,引入重识别特征主动搜寻目标,实现目标跟随.最后通过在多个测试集上的对比实验以及在移动机器人平台上的室内外实验验证,证明了本文方法的有效性.下一步工作将引入Transformer[30]作为目标检测的整体框架,首先将RGB-D 特征图输入目标检测网络,采用编码器与解码器的架构,然后在网络中提取浅层深度特征图,用此时的深度特征图作为遮挡判断的特征,相比直接使用深度特征,能够提高遮挡判断的准确度,从而进一步提高目标跟随的稳定性.