钟佩甫,刘二林,翟文强
(兰州交通大学机电工程学院,兰州 730070)
近年来,计算机视觉技术在各行各业的应用越来越广泛,能够产生类似人类视觉的功能,可以对物体进行快速的定位和识别,准确度较高,使用方便,目前广大国内外学者在相关领域进行了大量研究。高速列车车号识别的流程包括图像预处理、车号定位、字符分割和字符识别等重要环节,而车号定位是车号识别的前提和基础,定位的准确性和实时性直接决定着后续的识别结果[1]。因此,车号定位对于车号识别来说尤为重要。传统的射频技术对机车、货车车号识别的方法已经无法满足高速列车车号的识别要求,况且目前对高速列车车号定位和识别的研究还比较少。目前应用较多的一些定位方法有深度学习方法[2]、数学形态学法[3-4]、BP神经网络方法[5]、灰度投影法[6]、特征提取法[7]、模板概率密度函数法[8]、相邻像素差异值法[9]。这些方法的优点和缺点比较明显,但有些方法存在定位精度低或计算复杂性较大等问题,应用到高速列车车号定位中具有不确定性。近年来,图像处理中数学形态学的应用已经成为图像处理研究的重要领域,将其与投影法相结合应用到高速列车车号定位研究中有重大意义。因此本文提出了一种基于数学形态学和投影法的高速列车车号快速定位方法,利用数学形态学方法和投影法相结合准确定位出车号位置。该方法具有准确率高、速度快、鲁棒性好的特点。
数学形态学以膨胀、腐蚀为基础,结合在一起可构成为开、闭运算。形态学主要是为了获得更完美的目标区域,可以去除干扰,平滑边界,邻域连通,填补空洞。
X为目标图像,Y为结构元素。X被Y膨胀写作X⊕Y,⊕为膨胀运算符,膨胀运算定义为:
X被Y膨胀的过程可以解释为:Y的映像位移a,映射平移后X与Y的映像相交不为空集,Y的原点组成的集合,就是膨胀元素的集合。
X被Y腐蚀写作XΘY,腐蚀的运算符号记为Θ,腐蚀运算定义为:
用Y对X进行腐蚀的过程可以解释为,X位移a,Y依然完全包括在X中Y的原点所组成的集合。
开运算就是先对目标图像进行腐蚀操作,之后再进行膨胀操作;闭运算就是先对目标图像进行膨胀操作,之后再进行腐蚀操作。在整个膨胀和腐蚀运算过程中使用的结构元素可以相同。开运算符记作“∘”,X用Y来开启为X∘Y,公式如下:
开运算的作用:消除较小噪声,可以分离相连或相近的物体,在较大物体形状不明显被改变的情况下平滑边界。闭运算的记为“·”,X用Y来闭合为X·Y公式为:
闭运算的作用是填充物体内部小缺口,连接相邻轮廓,在物体的形状和面积不明显被改变的情况下平滑边界。
高速列车车号定位流程主要包括车号图像预处理、车号图像粗定位和车号图像精确定位,如图1所示。
图1 车号定位流程图
根据数字图像处理原理,采集的高速列车车号图像,先对彩色图像进行压缩减小运算量、再进行灰度化处理、图像去噪、图像增强等一系列处理,以便缩小和优化图像数据,以便后续能够准确获取车号位置。
车号彩色图像分为3个分量R、G、B,分别显示出红绿蓝等各种颜色,图像灰度化就是将3个分量相等的过程。灰度值越大的像素值比较亮,反之比较暗。对车号彩色图像压缩后再进行灰度化处理,彩色图像灰度化常用的方法有最大值法、加权平均值法和平均值法等[10]。
(1)最大值法。求出R、G、B三个分量的最大值,将此值分别赋值给3个分量,3个分量的值都等于最大值,即:
这种方法得到的图像像素值较大,灰度图像亮度较高高,图2(a)所示为最大值法处理后的图像。
图2 常用的灰度化方法
(2)加权平均值法。对R、G、B三个分量给一定的权值加权平均,即:
R、G、B的权值分别为wR、wG、wB,一情况下,权值不同得到的灰度图像不同。由于人眼对绿色的最为敏感,红色次之,对蓝色的敏感性最低,因此使将得到较易识别的灰度图像[11]。一般得到的灰度图像效果最好的3个值分别为0.3、0.59、0.11,图2(b)所示为加权平均值法处理后的图像。
(3)平均值法。R、G、B三个分量值等于其和的平均值。即:
这种方法产生的灰度图像相对比较柔和,相当于加权平均值法中一种特殊的取值,3个权值都为0.333,图2(c)所示为平均值法处理后的图像。
由上述分析和处理的图像可知,采取加权平均值法可得到比较理想的结果。
对车号定位系统来说,采集的车号图像在受到光照、天气、传输等情况的影响下,存在车号图像的质量不高,所以需要图像增强技术提高图像质量。图像增强主要解决由于车号图像的灰度级范围较小造成的对比度较低的问题,目的就是将输出图像的灰度级放大到一定的程度,使得图像中的细节看起来更加分明。图像对比度增强有几种常用的方法,如线性变换、分段线性变换、直方图正规化、局部自适应直方图均衡化等。在图像中,如果大部分像素点的像素值都集中在高灰度值和低灰度值的区间范围内,则可以通过对比度拉伸来扩大灰度范围的区间,从而提高图像对比度。以上常规算法效果不是很好,本文应用了一种自适应的对比度增强算法,可以对不同状况下的车号图像处理达到自适应增强的目的,有利于后续车号定位处理。图3所示为图像增强前后的对比。
图3 图像增强前后对比
高速列车车号图像在采集和传输过程中容易产生噪声,常用的图像滤波算法有中值滤波、高斯滤波和均值滤波等方法。这些方法尽管可以很好地去除噪声,但是使车号图像边缘和号字符的边缘变得模糊。而双边滤波具有双重滤波作用,它在很好地保持轮廓的边缘特征的同时能消除噪声。因此,采用双边滤波进行去噪处理。图4所示为采用不同方法去噪的图像对比。
车号粗定位,是指针对预处理之后的车号灰度图像,再进行二值化、滤波、数学形态学处理、区域筛选等操作,以优化和简化图像数据,缩小车号所在范围,获得车号最终候选区域,便于之后准确定位车号。
图4 图像去噪不同方法对比
在图像处理中,图像二值化的主要意图使图像中数据量大大减少,减小计算量。图像二值化的原理为:用特定的方法选取某个灰度值T作为阈值,像素灰度值小于T的设成0,即黑色,大于T设成255,即白色,整个图像呈现出黑白两种效果。假如f(x,y)为输入图像,二值化处理后输出图像为g( )x,y,二值化基本原理如下:
其中,阈值如何选取是二值化处理的关键。Otsu算法,可以通过选取某个阈值,使亮度不同的背景和前景达到最佳的分离状态。Otsu方法又叫最大类间差方法(大律法),通过统计整个图像的直方图性来实现全局阈值T的自动选取。Otsu算法对车号图像进行阈值分割,该算法计算过程简单,是一种常用的阈值分割的稳定算法。
4.2.1 图像滤波处理
形态学滤波是利用形态学运算的优良特性,主要采用形态学闭运算、开运算进行滤波处理。形态学滤波时,可以选择不同方向、大小、形状的结构元素达到不同的效果。二值化后的图像还存在多种噪声点和大量的非车号区域,利用噪声处与结构元素的明显差异应用形态学闭运算、开运算保留那些与结构元素相吻合的部分,去除背景或目标内的噪声。根据高速列车车号字符特征可以看出,每个字符间距相对较小,先进行膨胀运算可以将车号字符部分连接起来,再进行腐蚀运算处理,将连接不起来的非车号候选区域进行清除,图5(a)所示为滤波处理后的车号图像。
4.2.2 获取连通区域
滤波处理后的车号图像,还不具备车号连通区域的特点,部分区域内部还有孔洞,以及形状不规则、存在小噪声点,与近似白色矩形区域的车号候选区域有较大的差距。单纯膨胀运算或腐蚀运算会改变目标的大小,而闭、开运算可以更好地保持目标的形状和大小。利用膨胀、腐蚀、开运算和闭运算的优良特性,选取合适的结构元素,获取更标准的车号候选区域,经过一系列形态学运算处理获得车号白色连通区域即为候选区域,如图5(b)所示。
4.2.3 去除非车号区域
车号候选区域中存在大量白色非车号区域,根据车号先验知识将这些不符合车号区域面积范围和长宽比例的非车号矩形区域去掉,减少车号候选区域数目,粗略定位出车号位置,以减小后续处理的运算量,图5(c) 所示为去除部分小区域的车号候选区域,图5(d) 所示为去除所有非车号区域得到最终车号区域。可见只剩下反映车号特征的区域,减少了背景对后续区域分析的干扰。
图5 形态学处理
找出最终车号区域轮廓左上点和右下点或者左下点和右上点,获得外接矩形对角线顶点标定车号位置,获取粗定位车号图像,如图6所示。
图6 定位车号
在以上运算的基础上,结合投影法和车号字符先验特征去除无关车号字符,确定车号左右边界,从而精确地定位车号区域。首先通过垂直投影从左往右对粗定位车号图像进行逐列扫描,将每一列的值相加,得到一维函数g(xi)。使二维函数转变为一维函数,如下所示:
根据车号先验知识得知,车号由6个阿拉伯数字组成,其在垂直方向投影的间距基本是恒定的,跟非车号字符区域差距比较明显,车号字符位于粗定位车号的左侧、中间或者右侧区域,通过垂直投影,利用车号字符区域波谷-波峰-波峰密集特点定位车号字符左边界或右边界,最终获取精确车号图像,如图7所示。
图7 获取车号图像
本文对高速列车车号定位方法进行研究,利用数学形态学方法和投影法相结合准确定位出车号位置。数学形态学抗噪声能力强,但获得的候选连通区域中存在大量伪车号区域,通过形态学运算筛选出车号区域,即车号区域的粗定位。对粗定位的车号区域的二值图像进行行列扫描,得到垂直投影和水平投影,通过水平投影分析判断车号的上、下边界是否正确,通过垂直投影分析确定车号的左右边界,从而获取精确的车号区域。