米汤 袁杰
摘 要: 针对仅采用CamShift算法对目标快速移动或者受到遮挡物干扰导致目标跟踪失败的问题,提出一种专家知识的CamShift移动目标跟踪算法。构建硬件平台以及基于程序编写算法设计方法,同时采用专家知识对移动机器人的运动参数进行控制决策。分别在移动目标部分被遮挡及存在外界环境干扰时,该方法均能够实现可靠及高效跟踪效果。通过试验,基于专家知识的CamShift算法移动目标跟踪方法对运动目标部分遮挡、目标再现具有更强的鲁棒性。
关键词: 移动机器人; 目标跟踪; CamShift算法; 专家知识; 程序编写; 硬件平台
中图分类号: TN820.4?34 文献标识码: A 文章编号: 1004?373X(2018)22?0009?05
Abstract: As the CamShift algorithm has the problem of target tracking failure caused by the fast moving of the target or occlusion interference, an expert knowledge based CamShift algorithm is proposed for moving target tracking. The hardware platform is established, and the algorithm design method based on programming is compiled. The control decision for motion parameters of the mobile robot is made based on expert knowledge. A reliable and high effective tracking effect can be realized by the method in both of the cases that the moving target is partially occluded and there exists ambient interference. The test results show that the moving target tracking method using expert knowledge based CamShift algorithm has strong robustness for reemerging or partially occluded moving targets.
Keywords: mobile robot; target tracking; CamShift algorithm; expert knowledge; programming; hardware platform
移动目标跟踪技术[1]被广泛应用于图像处理、模式识别、智能视频监控、自动控制及计算机等诸多领域。Mean?Shift算法[2]具有无需参数、快速模式匹配的特性,由Comaniciu等学者引入到目标跟踪领域[3]并广泛应用。通过改进的快速高斯变换对多维图像来提高Mean?Shift算法的速度;文献[4]针对尺度空间的Mean?Shift算法实现了核函数宽带实时变化时对目标跟踪,有良好的效果。但是针对这两种算法都缺乏一定的模型更新,当移动目标有一定量尺度变化时,会导致对目标跟踪失效。为了解决上述问题,提出CamShift算法[5],其是采用一种基于视频图像中移动物体的颜色核的目标特征来达到目标跟踪的目的,以颜色直方图为目标特征,结合Mean?Shift算法,有效地利用梯度方向特征来减少特征匹配时间,从而实现快速目标定位[6]。针对复杂的背景环境,结合专家知识[7]的CamShift算法可以很好地实现目标跟踪效果,实时性高,并通过实验进行了验证。
Mean?Shift算法是指一个迭代计算均值漂移的步骤,通过计算出第一个点的均值漂移,并以此值为漂移的起点,计算出下一点的均值漂移,以此类推直到满足所要求的停止条件,利用颜色核为直方图作为移动目标特征的描述,采用Bhattacharyya系数作为相似性度量标准。目标跟踪定位算法[8]过程如下:
4) 重复式(6)的计算,直到[y1-y<ξ],[ξ]为预设大于0的正数,最后得到在当前帧的目标位置。
针对图像分割的问题,Comaniciu提出Mean?Shift算法用于发现空间和颜色交接点的簇[l,u,v,x,y]。其中[l,u,v]表示颜色,[x,y]表示空间位置。Mean?Shift算法的矢量迭代计算值到簇中心位置不再改变。在Mean?Shift算法迭代过程中,部分簇可能会产生合并现象。图1a)为Mean?Shift算法分割前图像。初始化时,在视频窗口触摸运动目标,可通过封闭的轮廓演变成目标边界,将轮廓紧紧包围目标区域,从而可以获得目标分割作用,如图1b)所示。
CamShift算法是一种对Mean?Shift算法的一个改进,其优点是当目标大小发生变化时,CamShift算法还可以继续跟踪目标,而传统的Mean?Shift算法几乎做不到这点。CamShift算法利用目标的颜色直方图作为特征,在视频图像中找到运动目标所在的位置和大小,在下一帧视频图像中,用移动目标当前的位置和大小来初始化搜索窗口,重复以上过程就可以实现对目标的连续跟踪。
5) 判断搜索窗口中心位置与移动目标质心位置相匹配是否收敛,若否,返回步骤4)继续计算搜索窗口中心位置,直至收敛;若是,则得到目标图像当前帧中的位置和大小,返回步骤1),重新获取下一帧的图像,并利用当前所得的目标位置和大小转到步骤3),在新的图像帧中再次进行搜索。
3.1 产生式规则知识表达
结合移动机器人所处的环境,输入量为移动机器人距离移动目标的距离信息,输出量为移动机器人行走的角速度和线速度。根据移动目标位置,可分为左,中,右3个方位,根据移动目标的距离远近将移动目标方位DireObjective的论域划分为{LJ,LZ,LY,CJ,CZ,CY,RJ,RZ,RY,N}。其中:L,C,R分别表示左、中、右;N表示没有移动目标,取模糊论域为[-20,20]。将输出变量移动机器人的线速度V论域划分为{LV,MV,HV,NV}。其中:L,M,H分别表示低速、中速、高速;NV表示停止运行,数值范围为[0,1]。将输出变量机器人角速度Angle论域划分为{LBAngle,LZAngle,CAngle,RZAngle,RBAngle,NAngle }分别表示为左转大角度、左转小角度、不旋转角度、右转小角度、右转大角度、无转角、数值范围为[0°,180°]。
3.2 根据专家知识实践获取部分规则
对人工驾驶的实践经验和专家知识规则的理论知识进行总结,得到移动机器人控制的4条基本思想规则:
1) IF移动目标左偏,移动机器人角速度逆时针;
2) IF移动目标右偏,移动机器人角速度顺时针;
3) IF移动目标较远,移动机器人速度快;
4) IF移动目标较近,移动机器人速度慢。
移动机器人具体的左转、右转,速度快、速度慢,由CamShift算法得到的移动目标位置信息决定。以下只列出部分制定的规则,如表1所示。
4.1 构建移动机器人平台
实验平台的硬件由Andriod手机(APP)、蓝牙模块、Arduino控制板、直流电机驱动模块、电源模块组成,系统框图如图2所示。
Arduino控制板的主控制器采用ARRR芯片,其接口电路图如图3所示。
其中,蓝牙模块采用HC?05,其TX引脚与主控制器的RX引脚(0引脚)相连。Andriod控制版将Andriod手机(APP)采集的运动目标在视频窗口中x和y坐标的信息通过蓝牙模块传输到主控制器中。获知追踪目标的方位信息后,通过专家知识制定控制策略,由主控制器3,4,6,7引脚给直流电机驱动模块5,7,10,12输入引脚相应的高低电平信号,再由直流电机驱动模块2,3,13,14输出引脚控制直流电机的运动和停止,主控制器的10,11引脚输入角速度和线速度(PWM信号)给直流电机驱动模块6,1输入引脚调节移动机器人的转角和速度。Andriod手机(APP)部分程序如图4所示。
4.2 实验跟踪过程与分析
为了验证算法的实时性,本文实验使用网球进行跟踪试验。初始跟踪时,需要对移动目标进行手动选择,则相应的移动目标实时位置信息如图5所示。运动目标在无障碍情况下,采用Mean?Shift算法、CamShift算法以及基于专家知识的CamShift算法都可以实现很好的跟踪效果。
当目标移动过快或者受到严重遮挡时,如图6a)中第47帧所示。若采用Mean?Shift算法、CamShift算法跟踪目标容易丢失,而基于专家知识的CamShift算法通过专家知识制定的控制策略,如表1中第1条规则针对第47帧这种情况输出高的线速度和左转大角速度使移动目标始终在视频图像搜索窗口的范围内,从而得到移动机器人始终跟随移动目标。
当移动目标消失视频窗口以外,如图6b)中第92帧所示,若采用Mean?Shift算法、CamShift算法以及基于专家知识的CamShift算法结果都是跟踪失败,但是基于专家知识的CamShift算法则记录最后一次消失点那一时刻帧的图像,并将此帧图像作为CamShift算法的输入,等待目标再次出现在视频窗口中,根据专家知识制定的控制规则使移动机器人继续跟踪运动目标。如图6c)中105,113,127,142帧所示,得到很好的跟踪效果。
实验验证了对快速移动或者受到部分遮挡干扰时,通过CamShift算法得到移动目标的运行状态和当前时刻目标方位,结合专家知识制定的控制规则对移动目标能够进行有效的跟踪。
CamShift算法在复杂的背景下对移动目标进行实时跟踪,由Andriod手机视频图像搜索窗口得到移动目标位置信息,通过蓝牙模块将移动目标在视频窗口x和y的坐标实时数据传输到Arduino主控制器中,由专家知识控制规则控制移动机器人运动和转动,以实现移动目标始终在视频图像搜索窗口内,保证运动目标在运动过程中的一致性和连续性。同时采用基于程序编写算法,有效地克服外界环境的干扰,提高了运动目标跟踪的可靠性。在一些干扰目标和部分遮挡的情况下可以实现对移动目标进行实时跟踪。
本文采用基于CamShift算法對移动目标的实时追踪。当目标处于全部遮挡的情况下,移动机器人没有采集到运动目标的信号,从而等待目标出现。在实际问题中多数不一定会再次出现移动机器人的视频窗口,因此下一步需要对算法进行进一步的优化设计,将对运动目标的轨迹进行预测。
参考文献
[1] WU Dapeng, CHENG Weiping, YU Shenglin. Camshift object tracking algorithm based on inter?frame difference and motion prediction [J]. Opto?electronic engineering, 2010, 37(1): 55?60.
[2] WU Yanhai, XIE Xiamin, HAN Zishuo. Research on target tracking algorithm based on particle filter and mean?shift [J]. Applied mechanics & materials, 2013, 457?458: 1050?1053.
[3] KARASULU B, KORUKOGLU S. Moving object detection and tracking in videos [M]. New York: Springer, 2013: 7?30.
[4] 王丽佳,贾松敏,王爽,等.采用改进Mean Shift算法的移动机器人行人跟踪[J].光学精密工程,2013,21(9):2364?2370.
WANG Lijia, JIA Songmin, WANG Shuang, et al. Person tracking of mobile robot using improved Mean Shift [J]. Optics and precision engineering, 2013,21(9): 2364?2370.
[5] 张丽媛,梁凤梅.改进的Camshift目标跟踪算法的研究[J].科学技术与工程,2014,14(13):231?235.
ZHANG Liyuan, LIANG Fengmei. The research of improved Camshift object tracking algorithm [J]. Science technology and engineering, 2014, 14(13): 231?235.
[6] 曹义亲,程威,黄晓生.关于视频图像运动目标跟踪识别仿真研究[J].计算机仿真,2017,34(1):191?196.
CAO Yiqin, CHENG Wei, HUANG Xiaosheng. Simulation research on tracking and recognition of moving objects in video images [J]. Computer simulation,2017, 34(1): 191?196.
[7] MALYUK A, MILOSLAVSKAYA N. Information security and expert′s knowledge autoformalization [J]. Procedia computer science, 2016, 88: 288?293.
[8] 梁超,史东承.基于运动估计的CamShift移动目标跟踪算法[J].吉林大学学报(工学版),2013,43(z1):169?172.
LIANG Chao, SHI Dongcheng. An CamShift moving target tracking algorithm based on motion estimation [J]. Journal of Jilin University (Engineering and technology edition), 2013,43(S1): 169?172.
[9] 刘士荣,孙凯,张波涛,等.基于改进CamShift算法的移动机器人运动目标跟踪[J].华中科技大学学报(自然科学版),2011,39(z2):223?226.
LIU Shirong, SUN Kai, ZHANG Botao,et al. Mobile robot moving object tracking based on modified Camshift algorithm [J]. Journal of Huazhong University of Science and Technology (Natural science), 2011, 39(S2): 223?226.
[10] 侯明正,冯子亮,刘艳丽,等.光照变动条件下基于图切割算法的运动目标跟踪[J].光电子·激光,2012,23(5):986?992.
HOU Mingzheng, FENG Ziliang, LIU Yanli, et al. Moving target tracking based on image cutting under illumination?variant condition [J]. Journal of optoelectronics·laser, 2012, 23(5): 986?992.
[11] 商临峰,邢科义,甘友谊.信标模式机动目标跟踪数据实实时时处理[J].控制理论与应用,2012,29(1):59?63.
SHANG Linfeng, XING Keyi, GAN Youyi. Real?time processing of tracking data of maneuvering target in beacon?mode [J]. Control theory & applications, 2012, 29(1): 59?63.