适用于轮式机器人的单目视觉行人跟踪方法

2019-07-29 07:32石祥滨张德园
沈阳航空航天大学学报 2019年3期
关键词:单目轮式行人

石祥滨,周 正,张德园

(沈阳航空航天大学 计算机学院,沈阳,110136)

实现自动跟踪行人运动,可有效提升服务机器人的智能化程度,扩展其应用范围,如服务机器人伴随客户提供服务,智能拍摄机器人跟踪拍摄演员,购物机器人跟随顾客驮运商品等应用场景。其中,视觉行人跟踪是机器人跟踪行人运动的基础,但仍面临挑战:行人尺度变化、形变和运动模糊;环境中光照变化、物体遮挡和目标相似等问题都会导致漂移甚至跟踪失败的情况发生。而行人跟踪算法的准确度直接影响轮式机器人的运动轨迹,是机器人能否有效完成跟踪任务的关键因素。

机器人行人跟踪是指机器人借助传感器定位行人,并通过自主运动追踪行人。Aguirre[1]等提出使用粒子滤波[2]和激光人腿检测结合的方式跟踪行人,但激光雷达价格昂贵,用途单一。Chen[3]等人提出使用结合颜色特征的和卡尔曼滤波[4]双目视觉机器人行人跟踪方法,但双目相机标定复杂,计算量大。随着微软kinect相机的问世,使用深度相机的机器人成为主流[5-7],如Pan等人设计的机器人原型使用压缩跟踪算法[5],Basso等人提出使用深度点云聚类的方法实现跟踪[6]。但是深度相机造价仍然较高,不利于降低硬件成本。

视觉行人跟踪是指在连续图片序列中持续对目标行人进行预测定位,主要可分为生成式算法和判别式算法。生成式算法着眼于目标本身,如Cam-Shift[8]、粒子滤波[2]等,但无法有效应对快速运动、颜色相近等情况。判别式算法通过训练分类器来区分目标和背景,如Z.Kalal等提出的TLD算法[9](Tracking Learning Detection)和Heriques等提出的KCF算法[10](Kernelized Correlation Filters),但在处理尺度变化和目标丢失后恢复等问题时效果较差。近年来深度学习也被成功应用于跟踪领域[11-13],如王乃岩等提出的DLT算法[11](Deep Learning Tracking)和David.H等提出的GOTURN算法[12](Generic Object Tracking Using Regression Networks),但受制于硬件性能无法在精度和速度上达到平衡。

综上,为提高行人跟踪精度,本文提出基于SSD[13](Single Shot MultiBox Detector)目标检测的、使用行人位置状态和颜色特征融合匹配的行人跟踪算法FFTD(Feature Fusion Tracker based on Detector)。为降低成本,本文使用单目相机作为机器人视觉系统,并给出了轮式机器人在单目视觉下跟踪行人运动的方法。

1 总体框架

本文系统框架如图1所示。单目相机获取图像,计算机首先检测画面中行人,手动或根据预设值自动选择跟踪目标,提取行人位置状态和颜色特征,加权融合得到目标模型,通过在候选目标中相似度匹配的方式实现行人跟踪;最后通过已知尺度信息计算行人与机器人的位置关系,据此发布轮式底盘的运动控制指令,实现机器人跟踪行人运动。

图1 本文框架图

2 行人跟踪

为提高跟踪精度,本文使用检测跟踪的方式,选用SSD算法[14]作为行人检测算法,在此基础上,提取目标位置状态和颜色特征并融合,在下一帧图像中通过候选目标与目标相似度匹配的方式实现行人跟踪。

2.1 行人位置状态

行人运动可近似看作一个动态线性系统,本文计算候选目标框与预测目标框的交并比获得位置相似度。采用卡尔曼滤波器预测t帧时刻目标行人状态[4]。公式(1)、(2)分别为系统状态方程和观测方程

xt=Axt-1+But-1+wt

(1)

zt=Hxt-1+vt

(2)

其中,xt=(px,pv,vx,vy)T,表示t时刻行人位置状态,由图像中行人中心点坐标和中心点在x轴方向和y轴方向的速度组成。A和H分别表示转移矩阵和观测矩阵,wt和vt分别表示服从正态分布的状态和系统噪声。将行人在单位时间间隔内运动近似看成匀速运动,可得转移矩阵A,根据状态方程和观测方程关系得到观测矩阵H。根据t-1帧时目标行人的位置状态输入xt-1,计算目标行人在t帧时的预测位置状态xt,得到预测目标框,计算预测目标框与候选目标框的交并比,得到位置状态相似度。

2.2 行人颜色特征

本文使用颜色直方图计算候选目标与目标的颜色相似性。为降低肤色、背景等相似区域和小部分遮挡的干扰,根据人体比例结构统计值截取躯干部位图像进行相似性计算。然后将图像从RGB空间转换到HSV空间,将表示亮度信息的V通道予以去除,可在一定程度上减弱光照变化对颜色特征的影响。计算颜色直方图并归一化,本文使用巴氏距离计算目标与候选目标的颜色直方图相似性,如公式(3)所示

(3)

其中,Htar和Hcan分别为目标与候选目标图像块的颜色直方图向量,N代表直方图bin数。依次计算候选目标框与上一帧目标框截取部分的颜色距离,距离越小,该候选目标与目标的颜色相似度越高。

2.3 候选目标匹配

位置状态相似度在行人快速运动或多人交错的情况下有效性降低,颜色特征相似度在目标行人与非目标行人穿颜色相同衣物时效果变差,因此将两种相似度加权平均得到公式(4)

(4)

公式(4)中,整体相似度Sm作为当前帧候选目标的匹配标准,A1和A2为权重,其中位置状态权重A1=1/N,N表示检测帧数间隔,当行人丢失后重新检测到时,其在图像中位置状态可能发生跳跃式变化,因此使用帧数间隔N降低融合时位置相似度的有效性。颜色特征权重A2=(1-|Mtar-Mcan|/Mtar),M表示目标框的宽高比,当行人蹲下或坐下时,目标框尺度变化导致颜色特征变化,使用目标框的宽高比变化降低融合时颜色相似度的有效性。可得当前帧候选目标与目标的相似度集合,见公式(5)

Starget=max{S1,S2,S3…SM}≥Sthreshold

(5)

若候选目标m在集合中相似度最高且满足最低阈值Sthreshold,则可判定为目标,使用当前帧目标行人的位置状态和颜色特征分别更新卡尔曼滤波器和颜色直方图,用于在下一帧检测结果中继续匹配目标。否则不更新目标模型,直接进入下一帧进行匹配。跟踪算法如表1所示。

表1 FFTD行人跟踪算法

3 机器人跟踪行人运动

在实现图像平面行人跟踪后,需进一步获取行人与机器人的位置关系,用于计算轮式底盘的运动控制指令,使机器人跟踪行人运动。

3.1 机器人与行人相对位置估计

由于单目相机无法直接获取距离信息,本文给出一种使用目标已知尺度信息的单目测距方法来获取行人与机器人的位置关系。相机成像过程在理想状态下满足小孔成像模型,当相机光轴与水平地面平行时,行人呈正常站姿,相机安装于机器人的中心位置,误差允许范围内相机和机器人可视为同一点,可得图2的单目测距模型。

图2 单目测距模型

行人距离相机光心Oc的距离为D,Px表示行人中心点与图像中轴的像素偏差。由于行人身高在运动过程中具有良好的旋转不变性,所以本文选择行人身高H作为位置估计的已知尺度信息,则可得到行人在以相机光心为原点的坐标系中的坐标(Dx,Dy),分别如公式(6)、(7)所示

Dx=Hf/h

(6)

Dy=PxDx/f

(7)

在公式(6)和公式(7)中,f表示相机像素焦距,在对相机标定后从内参矩阵中获得[15]。行人像素高度h可由检测跟踪算法获得。

3.2 控制机器人轮式底盘运动

获得相对位置后,需要控制机器人距离行人远时加速,近时减速。机器人与行人可近似视为运动平面上的两点,由图2可知行人与相机光心的距离D和行人偏离相机光轴的角度α,见公式(8)、(9)

(8)

α=arctan(Dy/Dx)

(9)

本文系统使用线速度与角速度对机器人轮式底盘进行运动控制。当机器人与行人实际距离D与期望距离Dgoal的差值d超出线速度反应阈值dthreshold时,线速度linear.x增加;当角度α超出角速度反应阈值αthreshold时,角速度angular.z增加。反之,当距离D或角度α低于反应阈值时,底盘减速,如公式(10)、(11)所示

(10)

(11)

Alinear和Aangular分别表示轮式底盘的线速度和角速度的加速因子,Dlinear和Dangular分别表示机器人到达与行人的期望位置时,底盘线速度和角速度的减速因子。

4 实验

本文首先在公共数据集上对行人跟踪算法进行实验,随后进行行人单目测距实验,最后在室内环境下进行机器人跟踪行人运动实验。

4.1 行人跟踪算法实验

实验选择OTB(Visual Tracker Benchmark)数据集[16-17]进行测试,选用OTB-50[15]和OTB-100[16]中5个测试视频(Human2、Human7、David3、Jogging、BlurBody)进行实验。测试视频中跟踪目标为行人,拍摄角度与涉及的跟踪影响因素适用于机器人跟踪行人运动的应用环境。选用近年来效果优秀,具有代表性的5种开源跟踪算法(CT、TLD、CSK、KCF、GOTURN)作为对比,其中CT[18]是压缩感知类跟踪算法,TLD是在线学习的检测跟踪算法,CSK[19]和KCF是相关滤波类跟踪算法的代表作,GOTURN是第一个速度达到100FPS的深度学习跟踪算法。本文将从定性和定量两方面对实验结果进行分析。

图3为跟踪算法在测试视频序列上的效果图。其中行人自身变化主要包括形变、尺度变化和运动模糊等因素:以Human2为例,目标挥手、下蹲等动作导致形变,仅有本文中FFTD算法跟踪准确,其他算法均出现漂移甚至跟踪失败的情况。Human7中,行人走向远方尺度发生变化,最后仅有检测跟踪的TLD算法和本文中的FFTD算法可有效跟踪目标。在BlurBody中,由于人体运动和拍摄抖动,存在严重的运动模糊,但行人位置状态和颜色特征未发生剧烈变化,视频结束时,只有FFTD算法和GOTURN算法可以保持有效跟踪,其它算法均跟踪失败。环境因素主要包括遮挡、光照变化和相似目标等:David3中,经过4次完全遮挡,仅有KCF算法和FFTD算法可以有效跟踪目标。以BlurBody为例,FFTD算法对不同房间的光照变化具有较好的鲁棒性。以Jogging为例,画面中存在相似目标且经过遮挡,使用融合目标位置状态和颜色特征的FFTD算法仍可以有效跟踪目标。

图3 测试视频跟踪结果样例

本文使用准确率曲线图(Precision plots)和成功率曲线图(Success plots)对跟踪算法实验结果进行定量分析。其中精确度以跟踪算法的跟踪框中心位置与目标实际中心位置的偏差为评价标准,成功率是以跟踪算法预测的目标框和标注得到的真实目标框的交并比作为评价标准。跟踪速度上以FPS为评价标准。实验结果如图4和表2所示。

从图4和表2结果可知,本文中FFTD算法在跟踪准确度和成功率上均具有明显优势,其中平均准确度相比TLD算法有26%的提升,平均成功率相比KCF算法有18%的提升,在跟踪速度方面,FFTD算法不具有优势,和同样是深度学习的GOTURN算法速度相似,但精度却有较大提高。在机器人跟踪行人运动的应用环境下,FFTD算法速度虽无法达到实时,但已经满足机器人的运动控制频率要求。

图4 平均准确度和平均成功率曲线图

跟踪算法CTDFTCSKGOTURNKCFTLDFFTD平均准确度19.3%26.2%39.8%42.7%53.6%53.3%79.3%平均成功率17.8%26.4%36.4%41.9%55.3%60.7%78.1%FPS63.618.2281.439.5137.4913.6411.28

4.2 机器人跟踪行人运动实验

在进行单目测距实验时,轮式机器人上单目相机光轴与水平地面平行,行人呈正常站立姿势,站在机器人3米至5米的距离范围内,对机器人与行人之间的直线距离测量共计100次,测距结果均值和误差如表3所示:

表3 单目相机目标行人测距结果

根据表3可知:在3 m至5 m范围内,考虑到机器人跟踪行人运动是连续动态的,单目相机对目标行人距离测量结果的精度可以满足系统的要求。

机器人跟踪行人运动实验在实验室自主研发的服务机器人平台上验证,机器人视觉系统采用罗技C270单目相机与CMOS传感器,最大分辨率为1024*768;机载计算机mini PC为机器人控制系统上位机,配置coreI5处理器,4G内存;控制系统下位机采用Arduino UNO;机器人底盘采用二轮差速驱动结构。系统软件开发环境为Ubuntu14.04,使用机器人操作系统ROS-Indigo和OpenCV3.4进行开发。轮式机器人平台如图5所示。

图5 轮式机器人平台

在地面平整光滑的室内走廊环境中进行跟踪实验,设置距离阈值为3m,手动选择目标行人后开始跟踪,为直观反应实验效果,使用ROS中提供的可视化工具Rviz,通过坐标系变换,在机器人里程计坐标系下绘制行人和轮式机器人的运动轨迹。

图6中A线为行人运动轨迹,B线为轮式机器人运动轨迹,可看出本文中单目视觉跟踪系统可以使轮式机器人有效跟踪行人运动。当距离行人较远时,轮式底盘速度增加,较近时速度降低。当行人位置未超出机器人运动反应阈值时,机器人保持原位姿,行人位置超出阈值时,机器人开始跟踪运动。图7为机器人跟踪行人运动样例。

图6 目标行人和轮式机器人运动轨迹图

图7 机器人跟踪样例图

无障碍物情况下,针对行人在相机视野中消失后重现的情况,FFTD算法可以在行人重新出现时再次捕获行人并继续跟踪;当行人距离机器人较近时,行人的横向快速移动可能导致在相机视野左右两侧消失的情况,机器人根据行人消失方向减速转动寻找目标;当目标人体存在部分遮挡时,可能会造成机器人对行人的距离估计存在偏差,但不影响轮式机器人对行人方向的判断和跟踪运动。

5 结论

针对轮式机器人在单目视觉下跟踪行人运动时,传统跟踪算法存在无法有效应对行人自身变化和环境变化的问题,本文提出在检测算法基础上融合行人位置状态和颜色特征,对候选目标进行匹配的行人跟踪算法,具有跟踪精准、鲁棒性强的优点。给出了单目视觉下使用先验尺度信息获取行人位置,并据此控制机器人跟踪行人运动的方法。通过相关实验结果证明了本文方法的有效性,实现了轮式机器人在单目视觉下有效跟踪行人运动。

猜你喜欢
单目轮式行人
基于单目视觉车距测量方法综述
毒舌出没,行人避让
轮式装备抢救抢修车
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
路不为寻找者而设
两轮式随动支撑装置控制系统设计
基于单目视觉的仓储物流机器人定位方法探讨
高通过性轮式无人机平台诞生记
单目SLAM直线匹配增强平面发现方法
我是行人