APP下载

视觉追踪机器人系统构建研究*

2016-12-02张子洋孙作雷曾连荪

电子技术应用 2016年10期
关键词:检测器分类器样本

张子洋,孙作雷,曾连荪

(上海海事大学 信息工程学院,上海201306)

视觉追踪机器人系统构建研究*

张子洋,孙作雷,曾连荪

(上海海事大学 信息工程学院,上海201306)

以低成本机器人Rovio WowWee作为下位机平台,通过上位机编程,实现对单目视觉图像和红外数据的在线解析,辨识指定物体,基于前向回溯一致性误差确定待追踪的点,构建视觉追踪机器人系统;并引入在线学习方法,使用追踪、学习和检测算法框架提升了机器人目标追踪的性能。通过PID对机器人进行伺服控制。三组实验初步验证了所提系统的可行性。实验使用 C++在 Linux下编程实现,并在 Github上开源,对科研及市场应用具有一定参考价值。

视觉追踪;移动机器人;在线学习;PID;开源

0 引言

机器视觉是一种利用视觉传感器与计算机实现人的视觉功能的技术,它从采集的图像中提取信息并进行处理和理解[1],处理后的结果用于机器人决策和控制。视觉追踪是对移动目标的识别和对其移动属性(如方向、速度、轨迹、加速度等)的持续获取,然后对获取的图像序列进行目标提取和检测,从而通过深入的分析和理解,达到对移动目标的行为的理解。视觉追踪的本质就是对机器人获取的视觉图片进行合理利用,快速地对图像信息进行处理,以便最快地为决策控制提供反馈信息,从而构成视觉追踪的整个闭环系统[2]。而视觉追踪机器人要实现的功能包括[3]:先通过摄像机获取目标的方位信息,核心控制器通过相关算法判断机器人下一步该如何移动,再将这些控制信号送给机器人移动的执行元件的驱动器,使之能追踪目标物。

图1 路威机器人

1 硬件平台

视觉追踪技术作为计算机视觉领域的热门课题之一,所需硬件要具备视觉部件摄像头、与上位机通信的硬件模块(如 WiFi天线、蓝牙等)和灵活的移动控制模块。此外,为实现避障,除了单目摄像头之外,通常还会引入激光、红外线传感器等。Rovio WowWee机器人(如图1),作为一款成本低而功能相对完善的玩具机器人,十分适合移动机器人的视觉追踪及导航算法的研究。其摆臂前端的摄像头数据通过无线连接实时传回上位机,同时,3个全向轮确保了其运动的灵活性,下端的红外传感器可以用于避障。本文将基于Rovio构建视觉追踪移动机器人系统。

2 通信与景物辨识

2.1数据通信

Rovio可以接入互联网,也可工作在Adhoc模式,在此模式下机器人的IP固定,通过Socket依托TCP/IP链路向机器人发送官方 API文档所指定的 HTTP请求[4],机器人收到请求后产生动作并返回数据。整个流程如图2所示。

图2 路威机器人与上位机通信

图像采集模块是机器人进行视觉追踪的重要组成部分,该模块获取当前图像并提供保存接口,提供了离线处理数据的能力。为避免机器人与物体产生碰撞,使用红外传感器设计一简单接口来实现检测障碍物功能,根据传感器返回数据结构使用 8 bit的信息量来存储信息,Bit0存储LED灯的开关状态,Bit1存储 IR传感器的开关状态,Bit2存储 IR检测是否有障碍的状态,0表示无,1表示有,分别定义3个检测码:(1<<0)、(1<<1)、(1<<2),用检测码与用户接口的传感器获取的数据进行位与操作,所获取结果即可作为传感器检测结果,如表1所示。

表1 障碍物检测

传感器返回信息显示此时IR打开,有障碍物。使用IR障碍物检测码检测结果为1,表示有障碍物。

系统中的传感器数据包括:3个轮子的方向、电机编码器信息、电池状态、摆臂位置、相机亮度、分辨率、帧率和WiFi信号强度等信息。

2.2目标识别与追踪

追踪部分引入Tracking-Learning-Detection(TLD)追踪算法[5],基于其在线追踪机制,追踪机器人所采集的每一帧图像,处理追踪结果并送入控制算法模块。TLD的追踪器、检测器和机器学习之间关系如图3所示。

图3 TLD框架

TLD在对视频中未知物体的长时间跟踪有突出的优势,“未知物体”指的是任意物体,通过选定追踪的目标来初始化TLD,“长时间跟踪”意味着对算法的实时性要求,而在追踪中物体的消失再出现,光线、背景变化以及目标的遮挡给追踪提出了很大的挑战,单独使用追踪器或检测器显然无法胜任这样复杂多变的工作,故TLD算法提出将追踪器与检测器结合,同时引入在线的机器学习来提高准确度。

2.2.1追踪器

追踪器的作用是跟踪连续帧间的运动,当物体可见时跟踪器才会起作用,基于光流法的跟踪器由前一帧已知目标位置估计当前帧的目标位置,所产生的运动轨迹为学习模块提供正样本。追踪点的选择依据FB(forwardbackward consistency)误差[6]筛选出误差最小的部分点作为最佳追踪点,如图4所示,然后根据这些点的坐标变化计算t+1帧目标包围帧的位置和尺度大小。

图4 前向后向误差

2.2.2检测器

检测器使用的级联分类器对图像元样本进行分类,级联分类器共分为 3个级别[5]:图像元方差分类器(Patch Variance Classifier),计算图像元像素灰度值的方差,如果图像块与目标图像块之间的方差(一般取灰度值计算)小于 50%(经验值),那么就拒绝这些图像块,此分类器将去除大量背景图像块;集成分类器(Ensemble Classifier),由N个基分类器组成,图像元样本经平滑滤波后取13对随机点比较得到二进制码,随后依据各基分类器输出的后验概率结果平均,如果其值大于0.5,则接收并送入下一级分类器;最近邻分类器(Nearest Neighbor Classifier),经过前两级分类器,至此大约剩余 50个图像元,计算新样本的相对相似度,如大于0.6,则认为这是正样本并添加到目标模型。图像元和相似度描述如下:

式中NCC为规范化的相关系数。

正、负最近邻相似度:

相对相似度:

Sr取值在[0,1]之间,值越大代表相似度越高,最后取值最高样本作为结果输出。

2.2.3P-N学习

P-N学习[5]是一种半监督的机器学习算法,针对检测器对样本分类时产生的两种错误提供了两种“专家”进行纠正:P专家(P-expert),针对分类为负样本的样本,检出漏检的正样本;N专家(N-expert),针对分类为正样本的样本,改正误检的正样本。

图像元样本是用不同尺寸扫描窗(scanning grid)对图像进行逐行扫描,每个位置形成一个包围框(bounding box),包围帧所确定的图像区域称为一个图像元,图像元进入机器学习的样本集即目标模型M成为一个样本,扫描产生的样本是未标签样本,需要用分类器确定其分类标签。每一帧图像内目标最多只出现在一个位置;相邻帧间目标的运动是连续的,连续帧的位置可以构成一条较平滑的轨迹。P专家的作用是寻找数据在时间上的结构性,它利用追踪器的结果预测物体在t+1帧的位置。如果这个位置(图像元)被检测器分类为负,P专家就把这个位置改为正。也就是说P专家要保证物体在连续帧上出现的位置可以构成连续的轨迹。N专家的作用是寻找数据在空间上的结构性,它把检测器产生的和P专家产生的所有正样本进行比较,选择出一个最可信的位置,保证物体最多只出现在一个位置上,把这个位置作为TLD算法的追踪结果。同时这个位置也用来重新初始化追踪器。其结构如图5所示。

图5 P-N学习框架

3 跟随控制

由图像目标追踪可得目标于图像中的准确位置,通过控制算法对机器人进行控制,从而使得目标一直处于相机图像中部位置,进而实现完整的视觉伺服功能。

图像追踪模块追踪到目标,通过TLD算法对目标缩放的估测能力[5]估计出目标的前后移动;通过图像中目标的像素坐标变化估计出目标的左右移动趋势,并使用PID控制对此作出定量反馈。

离散PID控制算法[7]为:

式中,kp、ki、kd分别为比例、积分、微分环节系数,k为采样序号,T为采样时间,u(k)为图像目标追踪误差。

图像逐帧追踪所得的目标信息与目标期望位置的误差送入PID控制器,进而对移速进行实时控制,较好的实现定量控制,对不同误差值作出不同反馈。考虑到所选平台的运动特性,现制定一种适用于本系统的控制策略。机器人前后运动依据追踪目标的尺度缩放,左右运动依据实际值与期望像素坐标值的误差值进行 PID控制,最终完成对任意给定目标的视觉伺服任务,流程如图6所示。

图6 目标追踪控制流程

本文基于机器人全向轮的运动特性构建出运动控制模型如下:

第i个轮子在机器人中心坐标系下位置如图7所示,第i轮的辊子及其在轮毂中心坐标系下的运动关系如图8所示。O、O′分别为运动中心及轮子i的旋转轴中心;αi为轮子 i上辊子偏置角,即为辊子与Y′轴夹角;为 O点的速度矢量;为O′点在X′O′Y′中的速度矢量;[viXviYωi]T为 O′点在 XOY中的速度矢量。

图7 第i轮与机器人中心的运动关系

图8 第i轮与辊子运动关系

由图8可知:

由图7可知:

机器人在平面上的运动:

由式(6)、式(7)可得机器人逆运动学方程:

因此机器人中心速度到轮子转速的转换方程为:

本文所使用的机器人 α1=α2=α3=0,θ1=30°,θ2=150°,θ3=270°,l1、l2、l3分别为 3个全向轮到机器人中心的距离,根据 PID控制器输出所需的 vX、vY、ω通过式(10)即可转换到每个轮子的转动角速度,进而对机器人进行速度控制。

4 实验

本文使用3个实验验证所提软硬件系统的可行性,代码在github上开源,代码主页:https://github.com/sunzuolei/wowwee。

4.1基于红外的避障

机器人在Adhoc模式下会发射无线信号,通过无线网卡连接到机器人后即可开始使用该驱动。当检测到障碍物时,机器人左转;当未检测到时,机器人前进,本实验视频可通过脚注中地址查看。

4.2追踪指定颜色标记

先对机器人相机进行配置,然后获取一帧图像并显示,如图9所示,对获取图像过滤并追踪前方出现的粉色域(图9中显示为灰色),找出图像中粉色方块,遍历找出最大的,并在其上打上 X字符(如图9(b)中 X符),然后将其显示出来。

图9 找到方块并做标记

4.3追踪指定目标

通过在机器人前期采集图像中框选感兴趣的目标,可验证机器人对人脸[8]、校园卡和水壶等物体的目标追踪能力,如图10所示,本实验视频可通过脚注中地址查看。

图10 视觉辨识追踪

对走廊中标志物及人体后背的跟踪结果如图11所示,可见在一定的光照变化及目标运动的条件下,机器人的跟随效果可以达到较好的效果,初步验证了所提方案的可行性。

图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-learningdetection[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 InternationalConference 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.

The construction of visual tracking robot

Zhang Ziyang,Sun Zuolei,Zeng Liansun
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306,China)

The low cost robot Rovio WowWee is employed as the slave machine.With the program deployed on the master machine,the monocular image and infrared data are parsed online,then the specified object is recognized,and the potential feature point is selected by valuing forward-backward consistency error,all these above construct the visual tracking robot system.In order to improve the target tracking performance,the online learning approach,Tracking-Learning-Detection(TLD),is involved.Robot servo control uses PID method.Furthermore,three experiments demonstrate the feasibility of the proposed system.All the demos are implemented by programming on Linux with C++,the code,which can be freely use for research,is available on Github.It has a certain reference value for the research and application.

visual tracking;mobile robot;online learning;PID;open source

TP242

A

10.16157/j.issn.0258-7998.2016.10.032

国家自然科学基金项目(61105097,51279098,61401270);上海市教育委员会科研创新项目(13YZ081)

张子洋(1992-),男,硕士,主要研究方向:移动机器人视觉伺服、机器视觉。

孙作雷(1982-),通信作者,男,博士,副教授,主要研究方向:移动机器人导航、多传感器融合、机器学习等,E-mail:szl@mpig.com.cn。

曾连荪(1962-),男,博士,教授,主要研究方向:定位导航系统等。

中文引用格式:张子洋,孙作雷,曾连荪.视觉追踪机器人系统构建研究[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.

猜你喜欢

检测器分类器样本
用样本估计总体复习点拨
基于二次否定剪切选择的入侵检测方法*
推动医改的“直销样本”
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
随机微分方程的样本Lyapunov二次型估计
加权空-谱与最近邻分类器相结合的高光谱图像分类
一种雾霾检测器的研究与设计