NAO机器人自主目标跟踪算法研究

2018-01-05 02:01潘峥嵘张玉阳
自动化与仪表 2017年8期
关键词:差法差分法差分

潘峥嵘,张玉阳,朱 翔

(兰州理工大学 电气工程与信息工程学院,兰州730050)

NAO机器人自主目标跟踪算法研究

潘峥嵘,张玉阳,朱 翔

(兰州理工大学 电气工程与信息工程学院,兰州730050)

针对目前应用最广的新型仿人形NAO机器人,如何应用于动态背景条件下并对运动目标进行自主检测跟踪,对此该文采用了一种基于三帧差分法和Camshift算法相结合的目标跟踪方法。首先通过SURF算法对相邻两帧图像背景进行匹配,变换到静态背景条件下,再通过三帧差分法检测运动目标;之后将目标运动信息融合到Camshift算法颜色概率分布直方图的计算中,实现目标自动识别跟踪并排除与目标颜色相似的背景干扰。试验表明,NAO机器人能够对运动目标进行自主跟踪。

NAO机器人;动态背景;SURF算法;Camshift算法;目标跟踪

让机器具有自动感知能力是人类多年以来的梦想。自信号处理理论和计算机技术出现以来,人们就开始尝试采用摄像机获取环境的视频信息,并使用计算机对其进行处理,从而形成一门新兴的学科——机器视觉[1]。

机器视觉是机器人通过摄像机采集周围环境信息,通过对信息的处理,来进行下一步的决策,最终完成任务。采集的信息包括目标的颜色、大小、位置等。在实际情况中,机器视觉会受到各种因素的干扰,例如目标形状、大小的变化,以及背景中光照条件的变化,还有目标被遮挡等问题[2]。因此,如何选择合适的图像处理方式,削弱外界变化给机器视觉带来的影响,是目前要解决的问题。另外,机器人要完成识别和跟踪任务所采用的检测跟踪算法需要满足实时性的要求,而机器人硬件改进的空间比较小,因此,对于机器人视觉处理算法的设计需要不断改进[3]。

1 NAO机器人简介

NAO机器人是一款由Aldebaran Robotics公司开发的机器人,是仿人机器人科研、竞赛领域内使用最广泛的机器人之一[4]。NAO的视觉系统摄取的图像是获取周围环境信息最主要的方式,采集到的图像中包括目标颜色、位置等,都是NAO进行决策时必不可少的。如图1所示,NAO机器人拥有2个摄像头,分布在机器人的头部,摄像头视角随着机器人的运动以及头部的扭动而变化。摄像头输出格式为 YUV422,分辨率为 640×480,帧率为 30 帧/s,焦距类型为固定焦距,焦距范围为30 cm至无限大。

图1 NAO机器人视觉系统Fig.1 NAO robot vision system

2 目标跟踪算法设计

2.1 动态背景匹配

目前针对静态背景下的目标检测技术相对成熟,主要算法有背景差法、光流法、帧差法等。但是NAO机器人在跟踪特定目标时是不断运动的,因此目标背景也是在不断变化的,帧差法和Camshift算法无法适用于动态背景条件[5-7]。为了解决这一问题,需要对动态背景进行匹配,转化为静态背景条件再对目标进行跟踪,因此采用了SURF算法和仿射变换。动态背景匹配分为4个步骤:

步骤1提取特征点

SURF算法采用近似的Hessian矩阵行列式的局部最大值来定位特征点的位置[8]。假设图像I(x,y)在点(x,y)处尺度为 σ 的 Hessian 矩阵 H(x,y;σ)为

为了将模版与图像的卷积转化成盒子滤波运算,需要对高斯二阶微分算子进行近似和简化。使用Dxx,Dxy,Dyy表示模版与图像卷积的简化结果,最终得到Hessian矩阵的最简化公式为

式中:Dxx,Dxy,Dyy可由积分图得到。当Hessian 行列式的局部值最大时,即为特征点。

步骤2构建特征描述符

提取2幅图像的特征点后,还需要对其建立特征描述,以便于确定2幅图像中每个点的位置关系。

步骤3快速特征匹配

SURF算法采用的是最近领域匹配方法。首先计算待匹配图像上特征点的特征向量到参考图像上所有特征点特征向量的欧氏距离,获得一个距离集合,然后通过对距离集合进行比较得到最小欧氏距离d1和次最小欧式距离d2,即:

步骤4仿射变换

仿射变换代表的是2幅图像之间的一种映射关系。图像的仿射变换通常使用2×3的矩阵来表示。

即:

因此,由式(8)可以看出只要3对匹配点对就可以求得M。

2.2 运动目标跟踪

在将动态背景转换为静态背景后就可以使用三帧差分法和Camshift算法对运动目标进行检测与跟踪[9-10]。

Camshift算法是对Meanshift算法的改进,能够自动调节搜索窗口的大小来跟踪视频中尺寸变化的目标,但是这是一种半自动跟踪算法,需要手动标定跟踪目标[11-13]。Camshift算法只是依据目标的色彩信息来进行跟踪,当目标与背景颜色接近时,会导致跟踪目标丢失[14]。

针对以上Camshift算法出现的问题,本文采用了将三帧差分法与Camshift算法相结合的方法。在帧差法检测出的运动区域内对目标采用Camshift算法跟踪,能够实现自动跟踪运动目标,能够排除背景中与目标颜色相似的干扰因素[15]。目标跟踪实现步骤为

步骤1取第n-1帧、第n帧、第n+1帧图片;

步骤2第n-1帧和第n帧做灰度差得到图片diff_1,第n帧和第n+1帧做灰度差得到图片diff_2;

步骤3对图片diff_1和diff_2进行二值化,之后对得到的二值图进行腐蚀和膨胀处理;

步骤4对处理后的二值图进行“与”操作,得到运动目标;

步骤5运行Camshift算法,将帧差法得到的运动目标信息加入到颜色分布直方图的计算中。

3 试验结果及分析

本试验是在 Aldebaran-SDK-VC90、CMake 2.6、VisualStudio2008、OpenCV2.4.13、Python2.6、Windows 10(x86)环境下进行的。本文视频取自NAO机器人摄像头拍摄的视频图像,图像大小为320×240,帧率为30帧/s,跟踪目标为绿颜色的棒球。

试验目的是使NAO机器人在目标跟踪时能够适应动态背景环境,能够对运动的小球进行自主跟踪。试验内容包括两部分:第一部分是背景匹配之后的帧间差分法和传统的帧间差分法的对比;第二部分是融合了帧差分法信息的Camshift算法和传统Camshift算法的对比。

3.1 试验第一部分

帧间差分法在静态背景环境下能够很好地检测出运动目标,但在动态背景环境下进行直接差分会产生背景轮廓,对前景目标的提取产生干扰。

SURF算法特征点匹配结果如图2所示,在视频流中选取连续的三帧图片 image1、image2和image3,以 image2 为参考图像,图 2(a)为图 image1和图image2的特征点匹配结果,图2(b)为图image2和图image3的特征点匹配结果。

图2 动态背景匹配结果Fig.2 Dynamic background match results

表2为通过特征点匹配分别得到的3组匹配点对,通过式(6),我们可以求得第一帧和第二帧仿射变换矩阵M1,第二帧和第三帧仿射变换矩阵M2。通过下面结果可以看出变换矩阵M1和M2相等,是因为NAO机器人在搜索目标时摄像头在进行匀速运动,导致相邻2帧图像背景之间的位移相同。

表2 SURF特征点匹配点对Tab.2 SURF feature point match point pairs

通过上文的仿射矩阵对image1和image3进行仿射变换,最终得到仿射变换的图像如图3所示,其中图 3(a)为 image1 的校正结果,图 3(b)为image3的校正结果。

在动态背景的目标跟踪中,对背景的匹配是非常重要的,在图4中,分别用了直接帧间差分法和本文的帧间差分方法对运动目标进行检测。图4(c)使用的直接差分方法,图 4(a)和图 4(b)是直接从视频流中截取的相邻的2张图片,没有经过仿射变换。从图4(c)可以看出除了运动目标的轮廓外,还具有明显的背景轮廓,这种情况对于后期的前景目标提取具有很大的干扰,而图 4(d)和图 4(e)是经过了仿射变换,对背景进行了匹配,通过帧间差分后得到图 4(f),从图 4(f)可以看出在检测到运动目标轮廓的同时背景干扰也比较小。由此可以看出,动态背景下的运动目标识别直接帧间差分会产生大量的干扰,而背景匹配后再进行帧间差分可以很好地解决这个问题。

图3 Image1和image2校正结果Fig.3 Image1 and image2 correction results

图4 直接帧差法和背景匹配后的帧差法对比Fig.4 Comparison of frame difference method and background matching after direct frame difference method

进行动态背景匹配后的三帧差分法处理结果如图5所示,图5(a)是image1和image2差分结果,图 5(b)是 image2 和 image3 差分结果。在图 5(b)和图5(d)中边缘具有明显的空白区域,这是因为对image1和image3做仿射变换后产生的无图像区域,再用帧差法后会产生白色空洞。为了解决这个问题,将中间帧做为模版,对第一帧和第三帧做仿射变换,这样产生的空白区域在2幅图的不同位置,通过对差分结果做“与”运算,就可以得到运动目标信息。

图5 三帧差分法处理结果Fig.5 Three-frame difference method to deal with the results

3.2 试验第二部分

启动NAO机器人后,头部的舵机带动摄像头进行360°运动目标扫描,在用帧差法检测到运动的小球后,将运动区域信息传递给Camshift算法,启动Camshift算法对小球进行跟踪,实现对运动目标的自主检测跟踪[16]。

在该试验中将本文算法和传统的Camshift算法做了对比,图 6 中的(a)、(b)是传统 Camshift算法目标跟踪截取的图片,(c)、(d)是本文算法截取的图片,从对比中可以看出,小球在经过颜色相近区域时检测目标会放大到背景颜色区域,甚至会丢失目标。本文算法中,Camshift算法在融合了帧差法检测出的目标区域后能够很好的对目标进行跟踪,能够在一定程度上排除相同背景颜色的干扰。

图6 传统Camshift算法和本文算法对比Fig.6 Comparison of traditional Camshift algorithm and algorithm

NAO机器人目标跟踪结果在上位机的显示如图7所示,其中图7(a)为小球的颜色直方图模型,图7(b)和(c)为机器人在目标检测过程中随机截取的2帧图片。

图7 NAO机器人目标跟踪Fig.7 NAO robot target tracking

4 结语

本文采用了一种三帧差分法和Camshift算法相结合的运动目标检测方法,同时加入了基于SURF算法的图像匹配,使该方法能够在动态背景环境下检测出运动的目标。试验表明NAO机器人检测、识别和跟踪整个过程的反应时间缩短,能够适应动态背景环境,能够在一定程度上解决目标形变和遮挡的问题,在简单背景下能够得到良好的跟踪效果。

[1] Sage K,Young S.Security applications of computer vision[J].IEEE Aerospace and Electronic SystemsMagazine,1999,14(4):19-29.

[2] 焦建彬,叶齐祥,韩振军,等.视觉目标检测与跟踪[M].北京:科学出版社,2016:111-138.

[3] 宗鹏程.基于NAO机器人的视觉目标检测与跟踪[D].北京:华北电力大学,2015.

[4] Simon X.Yang.Fast-moving target tracking based on mean shift and frame-difference methods[J].Journal of Systems Engineering and Electronics,2011(4):587-592.

[5] 朱明,高文,郝志成.机载光电平台的目标跟踪技术[M].北京:科学出版社,2016:74-95.

[6] 杨杰,穆平安,戴曙光.一种改进Camshift算法的研究[J].计算机应用与软件,2014,31(2):167-170.

[7] 谭艳,王宇俊.一种结合背景差分的改进CamShift目标跟踪方法[J].西南师范大学学报:自然科学版,2016,41(9):120-125.

[8] 陈杏源,郑烈心,裴海龙.基于Camshift和SURF的目标跟踪系统[J].计算机工程与设计,2016,37(4):902-906.

[9] Q Zhong,J Zhao,C Tong.Motion planning of humanoid robot based on embedded vision[J].Review of Computer Engineer Studies,2015(2):35-38.

[10]Patrick Benavidez,Mo Jamshidi.Mobile robot navigation and target tracking system[C]\Proc.of the 2011 6th International Conference on System of Systems Engineering,201:299-304.

[11]Tomas Vojir,Jana Noskova,Jiri Matas.Robust scaleadaptive mean-shift for tracking[J].Pattern Recognition Letters,2014(49):250-258.

[12]Afef Salhi,Ameni Yengui Jammoussi.Object tracking system using camshift,meanshift and kalman filter[J].World Academy of Science,Engineering and Technology,2012(64):674-679.

[13]Milan Sonka,Vaclav Hlavac,Roger Boyle.Image Processing,Analysis,and Machine Vision[M].Cengage Learning,2014:1-8.

[14]Ning,L Zhang,D Zhang.Robust mean-shift tracking with corrected background-weighted histogram[J].IET Computer Vision,2012(6):62-69.

[15]X.An,J.Kim,Y.Han.Optimal colour-based mean shift algorithm for tracking objects[J].IET Computer Vision,2014(6):235-244.

Research on Autonomous Target Tracking Algorithm for NAO Robot Computer Engineering and Applications

PAN Zheng-rong,ZHANG Yu-yang,ZHU Xiang

(College of Electrical and Information Engineering,Lanzhou University of Technology,Lanzhou 730050,China)

According to a new type of humanoid NAO robot,how to apply it to the dynamic background conditions and track the moving target,a target tracking method based on the three-frame difference method and Camshift algorithm was proposed.Firstly,the SURF algorithm was used to transform the moving background to a static background,and then the moving target was detected by the three-frame difference method.Then,the target motion information was fused into the Camshift algorithm to calculate the color probability distribution histogram.It can automatically identify the moving target and eliminate the same color of background interference.Experiments show that the NAO robot can track moving targets autonomously.

NAO robot;dynamic background;speed-up robust features(SURF)algorithm;Camshift algorithm;target tracking

TP751.1

A

1001-9944(2017)08-0012-05

10.19557/j.cnki.1001-9944.2017.08.004

2017-03-17;

2017-05-19

潘峥嵘(1964—),男,学士,教授,研究方向为计算机控制、智能检测与控制;张玉阳(1989—),男,硕士研究生,研究方向为图像处理。

猜你喜欢
差法差分法差分
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
二维粘弹性棒和板问题ADI有限差分法
基于时空域交错网格有限差分法的应力速度声波方程数值模拟
例谈“定比点差法”在解几问题中的应用
数列与差分
基于有限差分法的双臂关节柔性空间机器人智能递阶控制策略
基于动态差法的交通量监测技术应用
基于有限差分法的边坡治理数值分析
基于有限差分法的边坡治理数值分析