文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.10.032
中文引用格式:张子洋,孙作雷,曾连荪. 视觉追踪机器人系统构建研究[J].电子技术应用,2016,42(10):123-126,130.
英文引用格式:Zhang Ziyang,Sun Zuolei,Zeng Liansun. The construction of visual tracking robot[J].Application of Electronic Technique,2016,42(10):123-126,130.
0 引言
机器视觉是一种利用视觉传感器与计算机实现人的视觉功能的技术,它从采集的图像中提取信息并进行处理和理解[1],处理后的结果用于机器人决策和控制。视觉追踪是对移动目标的识别和对其移动属性(如方向、速度、轨迹、加速度等)的持续获取,然后对获取的图像序列进行目标提取和检测,从而通过深入的分析和理解,达到对移动目标的行为的理解。视觉追踪的本质就是对机器人获取的视觉图片进行合理利用,快速地对图像信息进行处理,以便最快地为决策控制提供反馈信息,从而构成视觉追踪的整个闭环系统[2]。而视觉追踪机器人要实现的功能包括[3]:先通过摄像机获取目标的方位信息,核心控制器通过相关算法判断机器人下一步该如何移动,再将这些控制信号送给机器人移动的执行元件的驱动器,使之能追踪目标物。
1 硬件平台
视觉追踪技术作为计算机视觉领域的热门课题之一,所需硬件要具备视觉部件摄像头、与上位机通信的硬件模块(如WiFi天线、蓝牙等)和灵活的移动控制模块。此外,为实现避障,除了单目摄像头之外,通常还会引入激光、红外线传感器等。Rovio WowWee机器人(如图1),作为一款成本低而功能相对完善的玩具机器人,十分适合移动机器人的视觉追踪及导航算法的研究。其摆臂前端的摄像头数据通过无线连接实时传回上位机,同时,3个全向轮确保了其运动的灵活性,下端的红外传感器可以用于避障。本文将基于Rovio构建视觉追踪移动机器人系统。
2 通信与景物辨识
2.1 数据通信
Rovio可以接入互联网,也可工作在Adhoc模式,在此模式下机器人的IP固定,通过Socket依托TCP/IP链路向机器人发送官方API文档所指定的HTTP请求[4],机器人收到请求后产生动作并返回数据。整个流程如图2所示。
图像采集模块是机器人进行视觉追踪的重要组成部分,该模块获取当前图像并提供保存接口,提供了离线处理数据的能力。为避免机器人与物体产生碰撞,使用红外传感器设计一简单接口来实现检测障碍物功能,根据传感器返回数据结构使用8 bit的信息量来存储信息,Bit0存储LED灯的开关状态,Bit1存储IR传感器的开关状态,Bit2存储IR检测是否有障碍的状态,0表示无,1表示有,分别定义3个检测码:(1<<0)、(1<<1)、(1<<2),用检测码与用户接口的传感器获取的数据进行位与操作,所获取结果即可作为传感器检测结果,如表1所示。
传感器返回信息显示此时IR打开,有障碍物。使用IR障碍物检测码检测结果为1,表示有障碍物。
系统中的传感器数据包括:3个轮子的方向、电机编码器信息、电池状态、摆臂位置、相机亮度、分辨率、帧率和WiFi信号强度等信息。
2.2 目标识别与追踪
追踪部分引入Tracking-Learning-Detection(TLD)追踪算法[5],基于其在线追踪机制,追踪机器人所采集的每一帧图像,处理追踪结果并送入控制算法模块。TLD的追踪器、检测器和机器学习之间关系如图3所示。
TLD在对视频中未知物体的长时间跟踪有突出的优势,“未知物体”指的是任意物体,通过选定追踪的目标来初始化TLD,“长时间跟踪”意味着对算法的实时性要求,而在追踪中物体的消失再出现,光线、背景变化以及目标的遮挡给追踪提出了很大的挑战,单独使用追踪器或检测器显然无法胜任这样复杂多变的工作,故TLD算法提出将追踪器与检测器结合,同时引入在线的机器学习来提高准确度。
2.2.1 追踪器
追踪器的作用是跟踪连续帧间的运动,当物体可见时跟踪器才会起作用,基于光流法的跟踪器由前一帧已知目标位置估计当前帧的目标位置,所产生的运动轨迹为学习模块提供正样本。追踪点的选择依据FB(forward-backward consistency)误差[6]筛选出误差最小的部分点作为最佳追踪点,如图4所示,然后根据这些点的坐标变化计算t+1帧目标包围帧的位置和尺度大小。
2.2.2 检测器
检测器使用的级联分类器对图像元样本进行分类,级联分类器共分为3个级别[5]:图像元方差分类器(Patch Variance Classifier),计算图像元像素灰度值的方差,如果图像块与目标图像块之间的方差(一般取灰度值计算)小于50%(经验值),那么就拒绝这些图像块,此分类器将去除大量背景图像块;集成分类器(Ensemble Classifier),由N个基分类器组成,图像元样本经平滑滤波后取13对随机点比较得到二进制码,随后依据各基分类器输出的后验概率结果平均,如果其值大于0.5,则接收并送入下一级分类器;最近邻分类器(Nearest Neighbor Classifier),经过前两级分类器,至此大约剩余50个图像元,计算新样本的相对相似度,如大于0.6,则认为这是正样本并添加到目标模型。图像元和相似度描述如下:
Sr取值在[0,1]之间,值越大代表相似度越高,最后取值最高样本作为结果输出。
2.2.3 P-N学习
P-N学习[5]是一种半监督的机器学习算法,针对检测器对样本分类时产生的两种错误提供了两种“专家”进行纠正:P专家(P-expert),针对分类为负样本的样本,检出漏检的正样本;N专家(N-expert),针对分类为正样本的样本,改正误检的正样本。
图像元样本是用不同尺寸扫描窗(scanning grid)对图像进行逐行扫描,每个位置形成一个包围框(bounding box),包围帧所确定的图像区域称为一个图像元,图像元进入机器学习的样本集即目标模型M成为一个样本,扫描产生的样本是未标签样本,需要用分类器确定其分类标签。每一帧图像内目标最多只出现在一个位置;相邻帧间目标的运动是连续的,连续帧的位置可以构成一条较平滑的轨迹。P专家的作用是寻找数据在时间上的结构性,它利用追踪器的结果预测物体在t+1帧的位置。如果这个位置(图像元)被检测器分类为负,P专家就把这个位置改为正。也就是说P专家要保证物体在连续帧上出现的位置可以构成连续的轨迹。N专家的作用是寻找数据在空间上的结构性,它把检测器产生的和P专家产生的所有正样本进行比较,选择出一个最可信的位置,保证物体最多只出现在一个位置上,把这个位置作为TLD算法的追踪结果。同时这个位置也用来重新初始化追踪器。其结构如图5所示。
3 跟随控制
由图像目标追踪可得目标于图像中的准确位置,通过控制算法对机器人进行控制,从而使得目标一直处于相机图像中部位置,进而实现完整的视觉伺服功能。
图像追踪模块追踪到目标,通过TLD算法对目标缩放的估测能力[5]估计出目标的前后移动;通过图像中目标的像素坐标变化估计出目标的左右移动趋势,并使用PID控制对此作出定量反馈。
离散PID控制算法[7]为:
图像逐帧追踪所得的目标信息与目标期望位置的误差送入PID控制器,进而对移速进行实时控制,较好的实现定量控制,对不同误差值作出不同反馈。考虑到所选平台的运动特性,现制定一种适用于本系统的控制策略。机器人前后运动依据追踪目标的尺度缩放,左右运动依据实际值与期望像素坐标值的误差值进行PID控制,最终完成对任意给定目标的视觉伺服任务,流程如图6所示。
本文基于机器人全向轮的运动特性构建出运动控制模型如下:
由图8可知:
由式(6)、式(7)可得机器人逆运动学方程:
因此机器人中心速度到轮子转速的转换方程为:
4 实验
本文使用3个实验验证所提软硬件系统的可行性,代码在github上开源,代码主页:https://github.com/sunzuolei/wowwee。
4.1 基于红外的避障
机器人在Adhoc模式下会发射无线信号,通过无线网卡连接到机器人后即可开始使用该驱动。当检测到障碍物时,机器人左转;当未检测到时,机器人前进,本实验视频可通过脚注中地址查看。
4.2 追踪指定颜色标记
先对机器人相机进行配置,然后获取一帧图像并显示,如图 9所示,对获取图像过滤并追踪前方出现的粉色域(图9中显示为灰色),找出图像中粉色方块,遍历找出最大的,并在其上打上X字符(如图9 (b)中X符),然后将其显示出来。
4.3 追踪指定目标
通过在机器人前期采集图像中框选感兴趣的目标,可验证机器人对人脸[8]、校园卡和水壶等物体的目标追踪能力,如图10所示,本实验视频可通过脚注中地址查看。
对走廊中标志物及人体后背的跟踪结果如图11所示,可见在一定的光照变化及目标运动的条件下,机器人的跟随效果可以达到较好的效果,初步验证了所提方案的可行性。
5 结论
本文所构建的视觉追踪软硬件系统在日常环境中可实时识别并跟随目标移动,在实验平台上验证了所提系统的可行性,且误差控制在可接受范围内,对伺服机器人的研究具有一定参考价值。
参考文献
[1] 倪受东,刘洋,袁祖强.机器人视觉伺服综述[J].机床与液压,2007,35(9):227.
[2] 罗金梅.移动目标视觉追踪系统设计与实现[D].成都:电子科技大学,2012.
[3] 卢光青,史金飞.视觉追踪机器人实时控制系统的设计[J].中国制造业信息化,2009,38(17):49.
[4] WowWeeGroup.API specification for rovio[Z].2008.
[5] KALAL Z,MIKOLAJCZYK K,MATAS J.Tracking-learning-detection[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(7):1409-22.
[6] KALAL Z,MIKOLAJCZYK K,MATAS J.Forward-backward error:automatic detection of tracking failures[C].Proceedings of the Pattern Recognition(ICPR),2010 20th International Conference on,2010:2756-9.
[7] 刘金琨.先进PID控制MATLAB仿真(第三版)[M].北京:电子工业出版社,2010.
[8] KALAL Z,MIKOLAJCZYK K,MATAS J.Face-TLD:tracking-learning-detection applied to faces[C].Proceedings of the Image Processing(ICIP),2010 17th IEEE International Conference on,2010:3789-92.