摘 要: RoboCup中型组足球机器人在比赛过程中由于受环境光照变化影响,使目标识别率降低。以HSV颜色空间为基础,针对传统BP算法的缺陷,提出了一种改进的BP神经网络算法,利用其良好的分类效果来适应环境光照的变化,对目标作出准确识别。实验结果证明,该方法能有效地提高识别速度,并具有较好的光照鲁棒性。
关键词: 颜色空间;BP神经网络;RoboCup;目标识别
颜色是物体表面的基本特征, 外部世界提供了丰富的颜色信息,因此通过颜色对目标进行识别[1-2]是一种常用的方法。然而,同一颜色在变化环境下所接收到的光照并不完全一样,不同于人眼识别的灵敏性。机器人视觉系统所感知到的目标颜色会随着光照的变化发生颜色畸变,降低识别精度。目前自然光线已经被逐渐引入到RoboCup中型组足球机器人比赛[3]中,因此在自然光照条件下的鲁棒性识别是当今研究的重点。
戚玮玮提出一种基于Gabor滤波器和支持向量机(SVM)的目标识别方法[4],以改善机器人对目标识别不稳定和有效性差的问题。JUNGEL M等人利用颜色阈值法[5]实现物体的识别,并通过参考颜色实现阈值的自动调节,提高了对光照的鲁棒性。本文提出一种基于改进BP神经网络算法,以用于足球机器人视觉系统的目标识别中。
1 颜色空间的选择
颜色空间是表示颜色的一种数学方法,人们用它来指定和产生颜色,使颜色形象化。HSV模型就是一种常用的颜色模型。HSV模型[6]由色调(Hue)、饱和度(Saturation)和亮度(Value)三属性组成,其结构如图1所示。
HSV颜色模型构成的是一个均匀的颜色空间,采用线性的标尺,彩色之间感觉上的距离与HSV颜色模型坐标上点的欧氏距离成正比,与RGB颜色模型相比,HSV模型对应于光线的变化具有一定的不变性。由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,为了便于颜色处理和识别,本文采用HSV颜色空间,它比RGB颜色空间更符合人的视觉特性。
2 BP神经网络简介
BP神经网络是一种多层前馈型网络,网络结构包括输入层、中间层(隐含层)和输出层。其拓扑结构如图2所示。
图2中,xj表示输入层第j个节点的输入,j=1,…,M;wij表示隐含层第i个节点到输入层第j个节点之间的权值;?兹i表示隐含层第i个节点的阈值;?准(x)表示隐含层的激励函数;wki表示输出层第k个节点到隐含层第i个节点之间的权值,i=1,…,q;ak表示输出层第k个节点的阈值,k=1,…,L;?追(x)表示输出层的激励函数;Ok表示输出层第k个节点的输出。
BP算法的基本思想[7]是:学习训练过程由正向信号传输和反向误差传播构成。正向传播时输入样本从输入层进入,经各隐含层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐含层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,以此误差信号作为修正各单元权值的依据。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
3 改进的BP神经网络算法
BP神经网络算法的缺陷是难以确定隐含层和隐节点个数,训练时常会出现收敛慢、震荡和陷入局部极小等问题[8]。本文通过引入附加动量法和自适应学习速率加以改进。
3.1 附加动量法
BP算法实质上是一种简单的最速下降静态寻优算法,在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用有可能滑过这些极小值。该方法是在反向传播法的基础上,在每一个权值(或阈值)的变化上加上一项正比于前次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化。带有附加动量因子的权值和阈值调节方法为:
?驻wij(k+1)=(1-mc)?浊 ?啄i pj+mc?驻wij(k)
?驻bi(k+1)=(1-mc)?浊 ?啄i+mc?驻bi(k)
其中,k为训练次数,mc为动量因子。
3.2 自适应学习速率
一阶梯度法寻优收敛较慢的一个重要原因是?浊(学习速率)不好选择。?浊选得太小,收敛太慢;选得太大,则有可能修正过头,导致震荡甚至发散。通常调节学习速率的准则是:检查权值是否真正降低了误差函数,如果确实如此,则说明所选学习速率小了,可以适当增加一个量;若产生了过调,则应该减少学习速率的值。自适应学习速率的调整方法为:
?浊(k+1)=1.05?浊(k) E(k+1)<E(k)
0.7?浊(k) E(k+1)>1.04E(k)
?浊(k) 其他
其中,E(k)为第k步误差平方和。
3.3 改进的BP神经网络算法
当采用动量法时,可以避免网络陷入局部最小。当采用自适应学习速率时,可以加快网络的收敛速度。因此本文将两种方法结合对基本BP算法进行改进,以弥补不足。
BP算法的执行步骤如下:
(6)当求出了各层各权系数之后,可按给定判别指标判别是否满足要求,如果满足则算法结束;不满足则返回步骤(3)。
4 基于改进BP神经网络算法的目标识别
4.1 识别过程
足球场地主要由绿、橙、白、黑4种颜色构成,由于光线的变化会使得颜色发生偏差,本文的目的就是要在此条件下识别出橙色的球。识别过程分为学习阶段和识别阶段。
在学习阶段,由于通常的彩色图像都是RGB图像,因此首先将图像样本转化到HSV颜色空间,然后将样本数据进行归一化处理,再输入到改进后的BP网络中进行训练,以确定网络的权值和阈值。
在识别阶段,同样将由摄像机所采集到的不同光照下的全向视觉图像先进行颜色空间转换,经归一化处理后再输入到已训练好的网络中,指导输出为1或0(1表示为橙色,0表示为非橙色)。
4.2 网络设计
现有神经网络理论证明,3层前馈神经网络能够以任意精度逼近任意非线性关系,因此本文选用3层神经网络结构。输入层为经预处理后的某一点的颜色值,输入节点为3;隐含层节点数经不断操作调整确定为22个节点;输出以1或0作指导,节点数为1,故网络的整体结构为3-22-1。
5 仿真实验及结果
本足球机器人视觉系统使用的彩色数字摄像机是由加拿大Procilica公司生产的EC655C,摄像机输出的图像分辨率为640×480,帧速率为30 帧/s,图像的输出格式为RGB24。处理图像所采用的计算机为宏基TravelMate3010,CPU主频为1.6 GHz,内存为1.5 GB,在MATLAB7.0中进行仿真实验。
5.1 4种不同目标识别方法的比较
4种不同目标识别方法的比较如表1所示。
从表1的结果可以看出,基本BP算法迭代次数最多,耗时最长;自适应调整学习速率算法和引入动量的算法都有所改善,而新的改进算法最为明显,不仅训练速度大大提高,而且还成功地避免了陷入局部极小值,保证了网络的稳定性。
5.2 不同光照下的识别情况
不同光照下的识别情况如表2所示。
从表2可看出,采用基本BP算法的系统识别率较低,采用了改进BP算法的系统的识别率相比要高一些,而且受光照影响并不大,识别率波动范围小,整体保持在一个稳定水平,说明该方法有很好的光照自适应性。
本文在传统BP算法基础上加以改进,使得网络避免陷入局部最小值,而且收敛速度有了显著提高。将改进后的BP算法应用于足球机器人全向视觉系统的目标识别中,结果显示,该算法识别快速、精准,具有良好的光照自适应能力。
参考文献
[1] NEVES A J R,CORRENTE G,PINHO A J.An omnidirec-tional vision system for soccer robots[C].Proceedings of the EPIA 2007,Lecture Notes in Artificial Intelligence,Berlin,Germany:Springer-Verlag,2007,4874:499-507.
[2] MOHAN S,PETER S.Color learning and illumination vari-ance on mobile robots:a survey[J].Robotics and AutonomousSystem,2009,75(1):1-38.
[3] 洪炳熔,韩学东,孟伟.机器人足球比赛研究[J].机器人,2003,25(4):373-377.
[4] 戚玮玮,栾新,宋大雷,等.一种鲁棒的基于全景视觉的机器人目标识别方法[J].中国海洋大学学报,2011,41(6):109-114.
[5] JUNGEL M,HOFFMANN J,TZSCH M L.A real-time au-to-adjusting vision system for robotic soccer.RoboCup 2003:Robot Soccer World Cup VII,2004:214-225.
[6] 李偲.全自主足球机器人视觉系统的研制[M].青岛:中国海洋大学,2008.
[7] 张国忠.智能控制系统及应用[M].北京:中国电力出版社,2007.
[8] 赵明旺,王杰.智能控制[M].武汉:华中科技大学出版社,2010.