移动机器人实时目标跟踪系统设计与实现*

2017-12-08 09:03:22赵德超
传感器与微系统 2017年12期
关键词:摄像头滤波器图像

赵德超, 彭 力

(江南大学 物联网工程学院, 江苏 无锡214122)

移动机器人实时目标跟踪系统设计与实现*

赵德超, 彭 力

(江南大学物联网工程学院,江苏无锡214122)

针对单目视觉移动机器人目标跟踪的实时性和鲁棒性要求,提出了基于Kalman滤波器的改进Camshift算法检测和定位目标。将Kalman预测值作为目标初始位置,补偿摄像头和目标相对运动导致的目标在图像中的偏移。在系统“跟丢”后判断目标丢失的原因,根据原因自适应拓展搜索窗口作为Camshift算法的下一帧初始搜索窗口。为了验证改进算法的有效性,自主研制了一种应用该算法的履带式机器人实时目标跟踪系统。实验结果表明:该系统具有很好的鲁棒性和实时性。

目标跟踪; Camshift算法; Kalman滤波器; 搜索窗口

0 引 言

目前,基于视觉的目标跟踪机器人在灾区救援、火星探测、工业领域均具有很大应用前景[1~3]。移动目标跟踪算法有很多,然而目前很多算法是基于分离背景和目标的方式,如背景减除法[4],但是若背景不断快速变化将导致目标跟踪丢失。Daniilidis K[5]提出了采用添加摄像头运动补偿的光流法,实现对背景的过滤,但算法实现复杂,计算量较大且精度受硬件结构的影响。因此,大多基于视觉的目标跟踪机器人利用基于颜色特征的目标跟踪算法[6,7],如Bradski G R[8]提出了的 Camshift算法。但传统Camshift算法容易受到相似颜色背景干扰,目标快速移动导致跟踪丢失和目标丢失后系统可能会无法复原。文献[9,10]提出了多特征融合目标跟踪算法,抑制相似背景干扰。王鑫等人提出了基于粒子滤波的Camshift算法,能够克服相似背景干扰的影响。

本文提出了基于Kalman滤波器预测值作为目标搜索初始值,提高跟踪的实时性和适应快速移动的目标。针对目标跟丢问题,判断目标丢失原因,根据丢失原因自适应扩展搜索窗口,使目标能够再次被定位,提升系统的鲁棒性。设计了一个能够执行目标跟踪任务的履带式机器人实时目标跟踪系统,并验证了算法的有效性。

1 系统结构

自主研制的机器人实时目标跟踪系统平台,分成3层结构模型,分别为应用层、网络层和感知控制层。

感知控制层由Raspberry 3B+模块(内置WiFi,Arduino模块,ANC C230摄像头和多个测距传感器等组成,实现实时图像信息的获取和上传、图像处理结果的获取、传感器信息的采集和小车的运动控制。即将实时采集的视频经压缩后上传至本地视频服务器,并接收上位机处理后的视频信息。控制器结合超声波采集的距离信息和应用层反馈的目标在图像中位置信息,实施相应的控制策略。

网络层由WiFi,Internet和4G网络等目前比较普遍的网络通信构成,可以实现在多种环境下的设备通信,在该网络下应用层和感知控制层可以实现高速稳定的信息交换。

应用层用来接收感知控制层发送的图像信息,并将处理后结果通过网络传输至感知控制层。系统图像处理部分工作在Windows 7下Visual Studio+Opencv平台,运行跟踪算法对图像中的目标进行跟踪,分析目标在图像中的位置信息,将处理结果通过网络层送到感知控制层。其他终端设备如智能手机,Pad等可以通过访问网页的形式实时监控感知控制层上传的视频信息。

在移动跟踪平台搭载嵌入式设备,采用V4l2视频开发框架读取摄像头图像,文中摄像头的图像格式YUV420,将其压缩成JPG格式的图片,上传至本地视频服务器MJPG-Streamer。应用层将从该服务器接口读取视频信息,并将图像处理结果发回至该跟踪平台。平台将融合图像处理结果和测距传感器获取的距离信息,采用双闭环PID控制器调制PWM输出驱动电机,调整跟踪小车的位姿,实现目标实时自动跟踪,并与目标保持设定的位姿关系。

2 运动目标图像跟踪算法

2.1 Camshift算法

Camshift算法是基于HSV颜色模型的颜色直方图的核密度估计算法,其跟踪流程如下:

1)首先手动选择图像中的矩形目标区域,均匀划分目标区域为n个颜色区间构成灰度直方图,得到目标模型的qu概率密度(u=1,2,…,n),表示为

(1)

(2)

(3)

2)根据目标模型的概率密度将下一帧图像进行反向投影,得到概率密度灰度图。将第t-1帧目标中心的位置yt-1和搜索区域作为第t帧搜索窗口的初始中心和区域,计算当前帧的候选目标区域直方图。候选模型的概率密度pu(yt),u=1,2,…,n为

(4)

式中h为核函数窗口大小,决定权重分布,其他参数同式(1)~式(3)。

3)移动窗口的中心到窗口的质心,使窗口中心逐渐逼近目标的中心位置,循环迭代直到最后一次移动的距离小于阈值或者到最大迭代次数为止。设yt(x,y)为第t帧图像的反向投影图在(x,y)处的像素值,x和y变化的范围为搜索窗口范围,分别定义窗口的零阶矩和一阶矩如下

(5)

计算搜索窗口质心

yt(xc,yc)=(M10/M00,M01/M00)

(6)

4)完成目标搜索后,自适应调整搜索窗口的长轴w,短轴l和搜索窗口的旋转角θ,将调整后的搜索窗口作为下一帧初始搜索窗口。

(7)

(8)

(9)

2.2 基于Kalman滤波的改进Camshift目标跟踪

2.2.1 基于Kalman滤波器Camshift跟踪算法

由于均值漂移算法的推导过程中假设了一个目标点在连续两帧中偏移量较小的前提,即偏移量不能超过核函数的带宽[11]。系统的任务决定了目标在图像平面移动快速,传统Camshift跟踪算法可能会跟踪失败。引入Kalman滤波能够很好地解决该问题。目标在图像平面内运动状态方程描述如下

(10)

(11)

本文基于Kalman滤波器的改进的Camshift跟踪算法,对每帧图像得到的当前搜索窗口的位置进行修正,将Kalman滤波器预测值作为下一帧搜索窗口的初始值,有效地克服了在跟踪过程中,目标快速移动部分遮挡和少量相似背景颜色的干扰等问题,Kalman运行例流程如图1所示。

图1 kalman滤波器流程

2.2.2 目标丢失时自适应调整目标搜索窗口大小

当搜索窗口面积Area

对于原因(2),目标从摄像头视觉范围内消失的过程中目标会渐渐地被压扁并且目标中心坐标会逐渐趋近于图像的边缘。判断条件如下

(12)

式中AreaT为目标消失位置窗口面积阈值;cols和rows分别为图像的分辨率;xc,yc分别为目标中心坐标。以上4个不等式分别表示目标从图像x轴和y轴方向消失。调整搜索窗口策略如下

yt+1(xc,yc)=yt(xc,yc)

(13)

式中yt+1和yt分别为下一帧和当前帧初始搜索窗口中心;wt+1和wt分别为下一帧和当前帧初始搜索窗口的宽度;ht+1和ht分别为下一帧和当前帧初始搜索窗口的高度。

排除原因(2)即认为原因(1)导致目标丢失,根据当前帧初始搜索窗口的直方图概率模型、目标模板的Bhattacharyya系数B0和前10帧搜索窗口与模板的Bhattacharyya系数的均值Ba,调整搜索窗口策略如式(14)。如果调整搜索窗口后,仍找不到目标,将保持第一次丢失前搜索窗口位置和大小不变,等待目标再次出现在视野中重新被定位。

(14)

综上,改进的Camshift算法流程如图2所示。

图2 改进的Camshift算法流程

3 实验结果与分析

实验平台为自主研制3层架构模型的机器人实时目标跟踪系统,实物如图3所示。

图3 跟踪平台实物

如图4所示,跟踪带有红色标记的移动小车,用b标识的椭圆框表示基于Kalman滤波最优估计得到的目标位置,用a标识的椭圆框表示基于Camshift跟踪得到的目标位置。从结果中可以看出,利用本文提出的基于Kalman滤波最优估计修正Camshift跟踪位置,能够获得更完美的跟踪状态。

图4 跟踪结果

为了证说明本文设计的Kalman滤波器对目标运动基于速度不变的模型性相比于传统Camshift算法基于位置不变的运动模型的精确性,本文设计了如下实验:目标以100 mm/s的速度垂直于跟踪小车的运动方向做匀速运动。分别计算Kalman滤波器对下一帧预测位置和当前目标的Camshift得到的位置与下一帧实际位置预测误差,定义如下

(15)

式中x'k,y'k分别为第k帧的预测值位置;(xk,yk)为第k帧目标的实际位置;(xc,yc)为图像中心坐标。如图5,给出了Kalman预测位置误差和传统Camshift预测位置误差。

图5 目标位置预测误差

可知,Kalman预测位置误差小于传统Camshift算法。说明基于Kalman滤波器目标位置预测能够更加逼近于实际目标位置,减少迭代次数,从而提升Camshift运算速度及跟踪的实时性。表1给出了系统时间性能指标。

表1 算法实时性能

为了验证改进的算法对快速运动目标的适应性,比较传统Camshift算法和本文提出算法对快速运动目标的跟踪效果,过程如图6和图7。从图中可以看出,传统Camshift算法在跟踪快速移动的目标时,由于相邻两帧图像目标位移过大导致目标跟丢。而改进的算法对目标下一帧窗口位置进行Kalman预测,提高两帧目标的关联性,从而能够跟踪快速移动的目标。

图6 Camshift 算法目标跟踪结果

图7 改进算法目标跟踪结果

图8所示,当目标快速移动超出摄像头拍摄图像的视野,跟踪机器人会根据丢失前对目标运动的预测自适应调整小车的位姿,使目标能够再次出现在摄像头视野内,并再次跟踪目标,提高了系统的鲁棒性。

图8 目标丢失及重新跟踪过程

为了进一步说明所设计的跟踪平台能够有效地跟踪目标,图9和图10给出了目标匀速直线运动和匀速圆周运动,140 s以后目标停止运动三种状态的目标跟踪过程中,跟踪小车与目标的实际距离和图像中目标中心位置偏离图像中间的像素点值(xc-160)。其中xc=cols/z图像的分辨率为rows×cols。跟踪平台的跟踪距离设定值为70 cm,偏离中心位置设定值为0 像素。由图可知,设计的跟踪平台在跟踪不同运动状态的目标过程中,始终能够平滑的调整位姿,实现快速跟踪,且在目标停止运动时,能够快速收敛于设定位姿。

图9 目标直线运动过程中相对位姿

图10 目标圆周运动过程中相对位姿

4 结 论

本文基于自主研制的小车目标跟踪系统,采用提出的基于Kalman滤波的改进的Camshift算法,能够克服目标快速移动部分遮挡和少量相似背景颜色的干扰问题,提出的自适应调整搜索窗口方案能够极大程度提升系统的稳定性和鲁棒性。经实验表明:设计的目标跟踪系统,实时性好,稳定性好,跟踪精度高,能够适应快速移动目标的跟踪。但是当背景有相似颜色干扰时,系统不能很好的区别背景和目标,导致跟踪精度下降或者目标丢失,这也是下一步工作需要解决的问题。

[1] Anderson G T,Tunstel E W,Wilson E W.Robot systemto search for signs of life on Mars[J].IEEE Transactions on Aerospace and Electronic Systems,2007,22(12):23-30.

[2] Ksenia S,John K T.Visual search for an object in a 3D environment using a mobile robot[J].Image vision Comput,2010,114(5):537-547.

[3] 胡桂林,流波峰,何玉成.基于遗传算法的Canny边缘检测算子在配药机器人中的应用[J].传感器与微系统,2013,32(7):141-143.

[4] Bouwmans T.Recent advanced statiscal back ground modeling for foreground detection a systematic survey[J].Recent Patents on Computer Science,2011,4(13):147-176.

[5] Daniilidis K,Krauss C,Hansen M,et al.Real-time tracking of moving objects with an active camera[J].Real-Time Imaging 1998,4(1):3-20.

[6] Kassir M M,Palhang M.A region-based Camshift tracking with a moving camera[C]∥2014 The Second RSI/ISM International Conference on In Robotics and Mechatronics(ICRoM),IEEE,2014:451-455.

[7] 耿盛涛,刘国栋.一种稳健的移动机器人目标跟踪算法[J].传感器与微系统,2011,30(6):112-116.

[8] Bradski G R.Real-time face and object tracking as acomponent of a perceptual user interface[C]∥Proceedingof IEEE Workshop on Applications of Computer Vision,Princeton,NJ,USA,1998, IEEE Computer Society,1998:214-219.

[9] 王 璐,崔益安,苏 虹,等.移动机器人的运动目标实时检测与跟踪[J].计算机工程与应用,2015,15(33):30-33.

[10] 施 滢,高建坡,崔 杰,等.分块多特征自适应融合的多目标视觉跟踪[J].传感器与微系统,2015,34(9):128-131.

[11] 虞 旦,韦 魏.基于单目视觉的移动机器人跟随[J].仪器仪表学报,2010,31(3):659-664.

[12] 徐一鸣,陆 观,顾菊平.基于N-LBP纹理与色度信息的Camshift跟踪算法[J].计算机科学,2015,42(6):313-317.

Designandimplementationofreal-timetargettrackingsystemforrobot*

ZHAO De-chao, PENG Li

(SchoolofIoTEngineering,JiangnanUniversity,Wuxi214122,China)

Aiming at real-time and robustness requirement of target tracking requirement of mobile robot using monocular camera,an improved target tracking Camshift algorithm based on Kalman filter.To compensate the offset of the object appearring in the image sequences caused by camera and object relatively moving,use the Kalman predicted value as target initial position.When the object is lost from the tracking system,analyze the reasons at once.And accordingly,the size of search window is expanded adaptively,which act as the initial search window of next frame of Camshift algorithm.An real-time target tracking system for robot is developed to verify the effectiveness of the proposed algorithm.Experimental results show that the target tracking system using the proposed algorithm is capable of good real-time characteristic,and robustness.

target tracking; Camshift algorithm; Kalman filter; search window

10.13873/J.1000—9787(2017)12—0087—04

TP 242

A

1000—9787(2017)12—0087—04

2016—09—30

国家自然科学基金资助项目(61203147,61374047,61403168)

赵德超(1992-),男,硕士研究生,主要研究方向为智能系统与模式识别,E—mail:254266718@qq.com。彭 力(1967-),男,通讯作者,博士研究生,教授,主要从事视觉传感器网络、人工智能及计算机仿真的研究工作,E—mail:pengli@jiangnan.edu.cn。

猜你喜欢
摄像头滤波器图像
改进的LapSRN遥感图像超分辨重建
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
有趣的图像诗
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
开关电源EMI滤波器的应用方法探讨
电子制作(2018年16期)2018-09-26 03:26:50
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
奔驰360°摄像头系统介绍
遥感图像几何纠正中GCP选取