基于免疫算法的交通标志分割摘要:针对现有道路交通标志图像分割算法中实时性和鲁棒性较差的问题,提出一种基于免疫算法和RGB颜色空间的交通标志图像分割新方法。该方法先用RGB颜色空间将交通标志从实景图中定位出来,利用免疫算法快速搜索的机理,对已定位的图像进行阈值T寻优,并用该阈值T分割图像。实验结果表明,该算法与基于遗传算法的图象分割算法相比较,具有较好的鲁棒性和实时性,且适用于不同光照条件下的交通标志图像分割。关键词:交通标志;免疫算法;颜色空间;图像分割;最优阈值中图分类号:TP391.41文献标识代码ATrafficSignsSegmentationBasedonImmuneAlgorithmAbstractSomeexistingtrafficsignsgraphicsegmentationalgorithmsareweakinperformreal-timeandrobust.Accordingtothoseproblems,thispaperpresentsanewalgorithmofthetrafficsignssegmentationbasedonimmunealgorithmRGBcolorspace.ThemethodusesRGBcolorspacetolocatetheimageoftrafficsignsformthetrafficsignsimagingfigure,anduseimmunealgorithmtosearchfortheoptimizationthresholdTtosplitthelocatedimage.Theexperimentalresultsshowthat,comparedwiththealgorithmofgenetic-basedtrafficsignssegmentation,thealgorithmpresentsinthispaperperformmoreperfectlyinrobustandreal-time,andappliestotrafficsignssegmentationinvarieslightconditions.KeywordsTrafficsigns;Immunealgorithm;colorspace;Tmagesegmentation;Optimalthreshold0引言道路交通标志识别(TrafficSignRecognition,TSR)是智能交通系统(IntelligentTransportationSystem,ITS)研究领域中尚未解决的难题之一,也是难度较大的实时图形识别问题之一[1]。道路交通标志识别大概可以分为两个步骤:交通标志分割和交通标志识别。如何从图像中快速、准确的获取交通标志的位置,是交通标志识别的关键,也是本文所要研究的内容。目前交通标志的定位与分割主要从其颜色和形状两方面来研究。文献[2]首先对灰度图像中圆形的几何边界进行提取,进而结合圆形路标中几何形状的特点,检测圆形路标,该方法的鲁棒性较好,但步骤较为复杂。文献[3]介绍了一种基于颜色的交通标志检测与提取的快速方法,然而该方法的阈值T是人为确定的,不具有普遍性。文献[4]先在YIO空间进行分割,滤除一部分不需要的信息,然后在此基础上利用多特征融合来进行交通标志的精确定位。文献[5]提出将归一化的RGB空间转换到HSI空间,得到各分量阈值实现分割。文献[6]提出将RGB空间转换到CIE空间,用颜色模型EIECAM97从CIE空间中提取色调、色度和亮度。由于HSI、CIE空间的各分量是独立的,能较好地解决光照问题,但空间的转换是非线性的,且计算量较大,影响了实时性。文献[7]利用遗传算法优化最大类间方差法,使得阈值选取的效率大大提高,但遗传算法存在一定的局限性,容易得到局部最优阈值。交通标志图像的采集、分割与识别是在车辆的行驶过程中进行的,需要实时提供给驾驶员相应的信息,这就使得交通标志图像分割要有较快的速度。本文将免疫算法和RGB颜色空间相结合,提出一种基于免疫算法的交通标志分割新方法。该方法先用不需要空间转换的RGB颜色空间定位交通标志,利用免疫算法快速搜索的机理,对已定位的图像进行阈值T寻优,并用该阈值T分割图像。实验结果表明,该算法与基于遗传算法的图象分割算法相比较,具有较好的鲁棒性,且实时性较好。1基于颜色特征的交通标志图像检测1.1RGB颜色空间模型RGB颜色空间模型是目前最常用的颜色模型之一,它用红(R)、绿(G)、蓝(B)三原色的亮度来定量表示颜色。该模型也称为加色混色模型,根据三基色原理,用基色光单位来表示光的量,则在RGB色彩空间中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:)()()(BbGgRrF(1)RGB颜色模型可以用空间直角坐标系中的一个单位正方体来表示,如图1所示。任何一种颜色在RGB颜色空间中都可以用三维空间的一个点来表示。各颜色的取值范围是:R:0~255;G:0~255;B:0~255,归一化后各颜色的取值范围均为0~1之间。在RGB颜色空间中,当R、G、B三基色的亮度值都为零时,即原点处,则显示黑色。当三基色的亮度达到最高值时,则显示白色。连接黑色与白色的对角线是亮度等量的三基色混合而成的灰色线。位于坐标轴上的三顶点分别为红色、绿色和蓝色。另外三个顶点分别表示黄色、青色和品红色。R白品红青绿G(1,0,0)红(0,1,0)B(0,0,1)蓝灰色线B黑黄QOP图1RGB颜色空间立体图1.2交通标志图像检测颜色是交通标志的显著特征,本文以指示交通标志为研究对象,其特征为蓝色底、白色边和白色图案。在RGB颜色空间中,蓝色坐标为B(0,0,1),如图1所示,我们可以在点B(0,0,1)附近找到一个曲面OPQ,将RGB颜色空间分为蓝色区域Blue和非蓝色区域Nblue。相应的,我们可以将图像分为蓝色像素K1和非蓝色像素K2两大类。在RGB颜色空间中,设彩色图像的特征向量为TxxxX),,(321,则蓝色像素的判别规则为:NbluexxxKXBluexxxKX),,(,),,(,32123211(2)基于RGB颜色空间的交通标志定位算法步骤如下:1)读入彩色图片信息;2)确定曲面OPQ,将RGB颜色空间分为蓝色区域Blue和非蓝色区域Nblue;3)由式(2)判定图像的各个像素是否为蓝色像素,计算每行蓝色像素的数量Blue_y,确定蓝色像素最多所在行MaxY,按一定规则进行递增和行递减,得到在图像Y方向上首次出现蓝色像素的位置Y1和最后出现蓝色像素的位置Y2;4)同理可得在图像X方向上首次出现蓝色像素X1和最后出现蓝色像素的位置X2;5)由matlab语句“Plate=I(Y1:Y2,X1:X2,:);”定位交通标志图像。由上述方法计算得(Y1,Y2,X1,X2)=(73,149,188,278)(以图4为例)。由matlab语句“Plate=I(Y1:Y2,X1:X2,:);”将交通标志图像定位出来,如图2所示。图2交通标志定位图2基于免疫算法的交通标志图像分割2.1免疫算法简介2.1.1免疫算法基本原理免疫算法(ImmuneAlgorithm)IA[8]是模仿人体免疫系统,基于免疫网络模型,提出的免疫优化算法。免疫算法是一种力图有选择、有目的地利用待求解问题中的一些特征信息或知识来求解问题的算法。免疫算法分为全免疫(FullImmunity)和目标免疫(TargetImmunity)两种类型,二者分别对应于生命科学中的非特异性免疫和特异性免疫。其中,全免疫是指群体中每个个体在遗传算子作用后,对其每一环节都进行一次免疫操作的免疫类型,主要应用于个体进化的初始阶段;目标免疫则是指进行遗传操作后,经过一定判断,个体仅在作用点处发生免疫反应的一种类型,应用于群体进化的全过程,是免疫操作的一个基本算子。在实际的操作过程中[9],首先对所求解的问题(这里视为抗原,Antigen)进行分析,从中提取出的最基本的特征信息(即疫苗,Vaccine);其次,对此特征信息进行处理,转化为求解问题的一种方案(根据该方案得到的各种解的集合称为基于上述疫苗所产生的抗体,Antibody);最后,将此方案转化成免疫算子以实施具体的操作。2.1.2免疫算法的基本步骤1)随机产生初始父代种群;2)根据先验知识抽取疫苗;3)计算个体聚合适应度,若当前群体中包含最佳个体(聚合适应度最大),则算法停止运行并输出结果;否则继续;4)对于目前的第K代父本种群Ak进行选择、交叉操作,得到种群Bk;5)对Bk进行变异操作,得到种群Ck;6)对Ck进行免疫操作,得到新一代父本Ak+1,转至第三步。初始化抽取育苗聚合适应度计算条件判断结束选择、交叉和变异免疫操作更新群体NY图3免疫算法流程图2.1.3免疫算法亲和度和聚合适应度的计算亲和度计算在免疫算法中最复杂的计算是亲和度计算。一般情况下,亲和度的计算公式如下所示:kktA11g(3)其中kAg是抗原g和抗体K之间的亲和度,kt抗原和抗体K的结合强度。kAg的值在0和1之间,kAg=0表示抗体与抗原理想结合,得到最优解。该公式也可以用于计算抗体和抗体之间的亲和度。结合强度计算结合强度kt按海明距离计算:LiiiiiagabagabD1,0,1,(4)抗体浓度计算抗体浓度是指抗体在群体中与其相似抗体所占的比重,即:NiCi的抗体数和的亲和度大于与抗体(5)其中为亲和度常数,一般取0.9≤≤1。聚合适应度计算聚合适应度是抗体的适应度与浓度均衡评价的结果:)*exp(*'iCkfitnessfitness(6)聚合适应度'fitness实质是对抗体适应度进行修正。式(6)中k为负数,本文取k=-0.8。2.2基于免疫算法的交通标志图像分割基于免疫算法的交通标志图像分割方法步骤如下:STEP1编码:由于交通标志图像的灰度值在0~255之间,28=256,所以采用8位二进制的编码方式表示各个染色体。STEP2种群初始化:随机产生规模为n的初始种群,种群规模过大,计算量增加影响算法效率;种群规模过小,则有可能过早收敛,得不到全局最优解。本文选取种群规模N=10,最大繁殖代数100。STEP3个体适应度计算:个体适应度用于衡量个体的优劣,适应度函数设计的好坏直接影响算法的优劣。这里采用最大类间方差[10]作为适应度函数:211200)(*)(*uuwuuwf(7)其中w0为前景点数占图像比例,u0为前景平均灰度;w1为背景点数占图像比例,u1为背景平均灰度,u为图像的总平均灰度:1100**uwuwu(8)STEP4抗体亲和度和浓度计算:用式(3)计算抗体亲和度,用式(5)计算抗体浓度。STEP5聚合适应度计算:利用式(6)计算抗体聚合适应度。STEP6选择:从当前种群中选择优良的个体(聚合适应度较高的个体),复制到下一代新种群中,舍弃聚合适应度较低的个体。STEP7交叉:交叉运算采用单点交叉的方法,先根据交叉概率cross_rate=0.3对群体进行随机配对,其次随机选择交叉点位置,最后交换配对染色体之间的相应基因。STEP8变异:先按照变异概率随机确定个体基因变异的位置,然后将变异点的基因值取反。STEP9终止条件:当算法执行到最大迭代次数或群体中的最高适应度值max(fitness’)连续20代不变时,算法停止运行,对具有最高适应度值的个体进行解码,即可求得最佳分割阈值T。STEP10:用最佳分割阈值T分割图像,并对分割后的图像进行相应的处理。3实验过程与结果分析指示交通标志实景图是在不同光照条件下采集的,处理的图片是大小为480*360像素的RGB彩色图片,同时由光度测量仪测量不同气候条件下采集图片时的光度值。在MATLAB7.0平台上进行仿真实验。选取光度值为225lux和21600lux的交通标志实景图作为实验图片,如图4(a)、5(a)所示。用本文方法分割结果如图4(c)、5(d)所示。由1.2节的方