APP下载

基于机器学习的NAO机器人检测跟踪

2016-06-07孙翔侃白宝兴

关键词:目标检测

孙翔侃,白宝兴

(长春理工大学 计算机科学技术学院,长春 130022)



基于机器学习的NAO机器人检测跟踪

孙翔侃,白宝兴

(长春理工大学计算机科学技术学院,长春130022)

摘要:为了解决对人形NAO机器人的检测跟踪问题,提出了一种机器学习与特征匹配相结合的方法。向梯度直方图(Histogram of Oriented Gradient)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,在行人检测中取得了较好的效果。将其应用于人形NAO机器人的检测跟踪,并结合AdaBoost算法通过机器学习的方法,从大量的训练样本中自动抽取HOG特征并建立级联分类器,利用分类器找出视频帧中含有机器人目标的区域,并在此基础上利用SURF (Speed Up Robust Features)特征匹配方法与模板图像进行特征匹配,以提高目标识别的正确率。实验结果表明,该方法对NAO机器人在室内光线无遮挡的情况下取得了稳定的跟踪效果。

关键词:目标检测;方向梯度直方图;AdaBoost分类器;SURF特征匹配

目标检测跟踪是计算机视觉领域的重要研究方向,在智能化交通系统、智能监控系统等方面有着广泛的应用。基于特征的检测方法是找到一种特征能够较好的描述目标物体,并且尽量不受背景光照因素的影响。方向梯度直方图特征(Histogram of Oriented Gradient,HOG)[1]是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,在行人检测中取得了较好的效果[2,3]。本文将其应用于人形机器人NAO的检测跟踪,并结合AdaBoost算法[4]通过机器学习的方法,从大量的训练样本中自动抽取HOG特征并建立分类器,利用分类器找出视频帧中含有机器人目标的区域,并在此基础上利用SURF(Speed Up Robust Features)特征[5]与模板图像进行特征匹配,以提高目标识别的正确率。

1 训练集生成

Kuranov[6]等人提到他们使用了5000个人脸正面图像作为正样本,3000个非人脸图像作为负样本用来进行训练,而所用的5000个人脸正面图像是由1000个原始图像派生出来的。考虑到NAO机器人的特殊性,只采集少量NAO机器人正面全身图像,并由这些原始原始图像派生出所需的正样本图像即可。本文采集了20张NAO机器人正面站立姿势图像作为正样本原始图像。考虑到NAO机器人整体高度和宽度的比例,图像大小设置为32×48。并准备了5300张与目标无关的背景图像作为负样本,图像大小设置为640×480。利用opencv_createsamples使每一张原始正样本图像与背景图像中随机选取的一张进行结合,在以背景图片为底建立的笛卡尔坐标系上,合成过程中通过改变正样本图像相对于背景图像在水平方向和垂直方向上的旋转角度利用原始正样本图像生成4800张包含检测目标的训练集。

2 分类器生成

2.1方向梯度直方图特征提取

方向梯度直方图(HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,由Dalal[1]提出。HOG方法是在图像的局部细胞单元上进行处理,它对图像的几何或者光学变化都能保持很好的不变性[2]。HOG特征提取主要过程[1]如下:

(1)提取视频中每一帧图像,并将其由RGB图像变换为灰度图像。

(2)计算图像中所有点的梯度值。

(3)对每个细胞单元建立相应的梯度直方图。梯度直方图方向可取0~180度或0~360度范围内。实验中采用0~180度无符号方向角度范围,并将其平均分成9个通道。直方图的建立过程是将细胞单元中每一个像素点根据其梯度对应的角度范围进行加权投票的过程,其中权值可以用梯度幅度来表示。

(4)将细胞单元合成块,块对应的直方图是由细胞单元的直方图合成得到的。块与块之间可以重叠。实验中用到的块的类型为矩形块,其中每块含有2×2个细胞单元,每个细胞单元含有8×8个像素。一个矩形块可由每块所含的细胞单元数,细胞单元所含的像素点数和每个细胞单元所含的直方图通道数来描述。

(5)对块的HOG特征向量归一化。归一化是针对每一个块进行的,实验中所使用的归一化函数为:

2.2AdaBoost分类器

AdaBoost(adaptive boosting)算法是由Freund 和Schapire[4]提出的一种改进的Boosting迭代算法。Boosting算法的核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器按一定权重集合起来,构造一个更强的最终分类器[7]。常用的AdaBoost算法有Discrete AdaBoost,Real AdaBoost,LogitBoost和Gentle AdaBoost[7]。这四种算法总体结构相似,其学习方法基于n个训练样本集(x1,y1),...,(xn,yn)且xi∈Rk,yi∈{}-1,1。xi是作为输入的相关特征向量,yi是分类器判断结果输出的标记。在实验中xi就是一个HOG特征。而输出的+1,-1表示所输入的样本是否完全包含目标。AdaBoost算法训练数据集中的每个样本,并赋予每个样本一个权重,这些权重构成了一组向量。首先将样本的权重都初始化为相等值。在此样本分布下训练出一弱分类器并计算该分类器的错误率。而在第二次训练中,对于第一次分类错误的样本,将其对应的权重加大;而对于第一次分类正确的样本,使其权重降低。在新的权重向量计算出来后又开始下一轮迭代。AdaBoost算法会不断地重复训练和调整权重的过程,直到弱分类器的数目达到用户指定要求为止。

2.3级联分类器

级联分类器(Cascade of Classifiers)是一个退化决策树,每一层级的分类器可让大部分目标样本通过,而排除一部分非目标样本[8]。一旦某一级分类器排除了某个样本,那么该样本就被判定为负,不再进一步处理。在实验中级联分类器的每一级的弱分类器都使用AdaBoost算法训练,其最小命中率设为0.995即允许排除0.5%的正样本,而最大错误率设为0.5,即允许去除50%的非机器人样本。

3 SURF特征匹配

3.1特征检测

SURF特征是一种尺度不变特征,该算法由Herbert Bay[5]等人提出。SURF算法首先计算每个像素的Hessian矩阵,该矩阵测量一个函数的局部曲率,其定义如下:

该矩阵的行列式给出曲率的强度,定义角点为具有较高局部曲率的图像点。该矩阵可以使用不同σ尺度的拉普拉斯高斯核进行计算,因此Hessian矩阵变为:H(x,y,σ)。当Hessian的值同时在空间域和尺度域上达到局部最大值是,就认为找到了尺度不变特征。实验中通过使用SurfFeatureDetector的对象实例来获取一副图像的SURF特征,并保存为KeyPoint类型的向量集。

3.2特征描述子

SURF描述子将特征点周围较大范围内应用如图的简单核。

图1 简单核

左边的核测量水平方向的局部强度差dx,右边的核测量垂直方向的差dy。用于提取描述子向量的区域尺寸定义为特征尺度因子的20倍。方形区域被分为4×4大小的子区域,并计算5×5范围内的dx和dy响应。对所有响应求和,对每个子区域得出四个描述子值:

因为存在4×4共16个子区域,所以共有64个描述子值。通过使用SurfDescriptionExtractor对象实例的compute方法基于特征检测得到的向量计算出描述子值。

3.3特征匹配

用SURF方法获得参考图像和待配准图像的特征点后,进行特征匹配。实验中使用BFMatcher对象实例NORM_L2方法对两幅图像的SURF特征描述子进行匹配并返回所匹配的特征数量,并与预设的阈值进行比较以判断两幅图像的相似度,进而判断识别区域是否包含NAO机器人。

4 质心跟踪

在目标被检测出来之后,通过计算矩形目标区域的质心,以实现对目标的跟踪定位。具体计算方法如下:其中(x,y)为矩形目标区域左上角坐标,h和w分别表示矩形区域的高与宽。在跟踪时在窗口中显示跟踪位置。

5 实验分析

实验利用生成的训练集分别以Discrete Adaboost,Real AdaBoost,LogitBoost和Gentle Ada-Boost这四种方法训练基于HOG特征的级联分类器,且保证层级相同,实验中使用由NAO机器人摄像头所录制的视频进行测试。通过测试15层的级联分类器在测试中可以在大多数情况下识别站立运动的NAO机器人目标,但是会检测到一些不包含目标的错误窗口。而随着层级数的增加分类器扔能对站立的NAO机器人目标正确识别,但是对运动的NAO机器人特别是包含一些动作的情况分类器不能正确识别。我们的目的是在NAO机器人站立的情况下且有一些简单动作的情况下也能识别跟踪目标。所以将分类器层级数设为15级。不同的层级分类器的正确识别率如表1所示。

表1 四种AdaBoost方法不同层级分类器正确识别率

比较检测跟踪效果得出通过Discrete Adaboost算法训练得到的分类器的对于包含一些细微动作的检测跟踪效果略好于其通过他三种算法训练得到的分类器,但存在错误识别。在此基础上再利用SURF特征匹配以拒绝错误的识别情况。如图2所示,左边图像未使用SURF特征匹配,右边为使用SURF特征匹配效果。

图2 SUEF特征匹配使用前后效果对比图

将用分类器所检测出的区域图像与模板图像进行匹配将所得到的相似度值与预设阈值进行比较,相似度大于阈值的判断为是目标,小于阈值的判断为非目标。实验中阈值设定为20时效果较好,将正确识别率提升至88.7%。对NAO机器人的跟踪结果如图3所示。

图3 NAO机器人跟踪效果图

6 结论

本文主要通过使用行人检测中经常使用的HOG特征与AdaBoost算法相结合的方法应用于类人型机器人的检测,并在此检测基础上结合SURF特征匹配的方法将通过分类器检测出的区域与模板图像进行匹配进一步提高了目标识别的正确率,实现了对两个机器人的同时识别跟踪,达到了实验预期。

参考文献

[1]N Dalal,B Triggs. Computer vision and pattern recognition[C].IEEE Conference on Computer Vision and Pattern Recognition,San Diego,CA,USA,2005.

[2]F Suard,A Rakotomamonjy,A Bensrhair,et al. Intelligent vehicles symposium[C].IEEE Conference on Intelligent Vehicles Symposium,Tokyo,2006.

[3]朱文佳.基于机器学习的行人检测关键技术研究[D].上海:上海交通大学,2008.

[4]Y Freund,R Schapire. A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119-139.

[5]H Bay,T Tuytelaars,L Van Gool. SURF:Speeded Up Robust Features[J].Computer Vision and Image Understanding,2008,110(3):404-417.

[6]Alexander Kuranov,Rainer Lienhart,Vadim Pisarevsky. Pattern recognition[C].In DAGM 25th Pattern Recognition Symposium,Berlin,2003.

[7]Y Freund,R E Schapire. Experiments with a new boosting algorithm[C].Proceedings of the Thirteenth International Conference,San Francisco,1996.

[8]Paul Viola,Michael J Jones. Computer vision and pattern recognition[C]. IEEE Conference on Computer Vision and Pattern Recognition,Kauai,HI,2001.

Detection and Tracking of NAO Based on Machine Learning

SUN Xiangkan,BAI Baoxing
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)

Abstract:To detect and track the NAO robot,a method of combing machine learning and feature matching was proposed. Histograms of Oriented Gradient(HOG)feature is a descriptor which is used for object detection in computer vision and image processing. HOG descriptors outperform existing feature sets for human detection. The HOG feature sets was used to detect the NAO robot. A method of combining AdaBoost algorithm and HOG features created a cascade classifier. The cascade classifier was used to detect the NAO robot. In order to improve the right rate of recognition,SURF(Speed Up Robust Features)algorithm was used to compare the region of interest and the template,the region of interest was obtained by the cascade classifier. By matching the two pictures,to determine whether the region of interest contains the target. In the experiment,two NAO robots were tracked. The experimental results show that the tracking and recognition of NAO performed steadily on indoor lights without any shelter conditions.

Key words:NAO detection;HOG;AdaBoost classifier;SURF feature matching

中图分类号:TP391.41

文献标识码:A

文章编号:1672-9870(2016)02-0116-04

收稿日期:2015-10-08

作者简介:孙翔侃(1990-),男,硕士研究生,E-mail:sxk1990ly@126.com

通信作者:白宝兴(1953-),男,教授,博士生导师,E-mail:bxbai@cust.edu.cn

猜你喜欢

目标检测
多视角目标检测与跟踪技术的研究与实现
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于视频监控的运动图像检测算法研究
基于背景建模法的运动目标检测
基于P3电位的目标检测研究
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现