王 磊
(武汉船舶职业技术学院,湖北武汉 430050)
高校为了方便教学管理,会组织入学新生统一采集图像,以制作各类证件。影响图像采集速度的关键是如何对图像进行有意义的标识。根据调研,现行方法是靠人工根据图像采集人的身份信息来完成图像的数字标识,当需采集图像的人数较多时,工作量巨大,且易发生错误。本文基于数字图像处理与分析技术,对批量图像采集中数字标识自动识别的问题进行了研究。
数字标识识别系统主要是由图像采集、图像预处理、数字目标定位及分割、数字识别等模块构成。图像采集采用常用的数码相机,以较浅的纯色(如浅红色、浅蓝色等)为背景,图像采集人手持特定底色的标识数字放于胸下,为取得较好效果,可辅助一定的光源,照片大小要求在800x600以上。在对数字标识识别之前要根据需要对图像进行预处理,通常图像的预处理包括缩放、增强、去噪等步骤,目的是为目标数字的定位做准备。数字的定位与分割是指在图像中对目标位置进行标记,并将目标数字从复杂的背景中分割出来,根据识别的需要将数字列分成单个字符,数字识别是数字标识自动识别系统的核心功能,由于实际使用条件存在诸多干扰因素,为确保较高的识别率,要求识别算法觉有快速准确的优良特性。
使用数码相机获取的图像分辨率很大,合理的缩小图像可以有效的减少图像处理的时间,且不会影响目标数字的定位识别。图像缩放是图像空间变换中的一种,通过增加或去掉像素来改变图像的尺寸,通常有最近邻插值法、双线性内插法、双三次插值等。双线性插值的核心思想是在图像纵横两个方向分别进行一次线性插值。假设源图像f(x,y)缩放k倍后为图像g(u,v),则源图像与目标图像中得对应点为
已知源图像的点(x1,y1),(x1,y2),(x2,y1),(x2,y2)是包围(x,y)的点相应点的灰度值为:
首先在x方向上进行线性插值:
在方向y上进行线性插值:
g(u,v)就是目标图像点处灰度值。线性插值的结果与插值的顺序无关。首先进行y方向的插值,然后进行x方向的插值,所得到的结果是一样的。
目前进行数字定位的方法有很多,最常见的定位技术主要有基于边缘检测的方法、基于彩色分割的方法、基于数学形态学的定位和基于灰度图像纹理特征分析的方法等[1]。本文根据目标区域颜色明显区别于背景色的特征,采用了根据色彩信息进行粗定位[2][3],然后基于数学形态学处理来精确定位的方法。
经过分分析待处理图像,发现人像背景图像在HSV色彩空间中数字区域背景的色调和饱和度相对稳定(图1),且与非数字区域有很好的区分度,可以作为数字区域定位的图像特征。从待识别图片中随机选取若干图片,对图像中字符区域进行标定,统计标定区域的色调和饱和度的样本均值及样本标准差stdh,stds,建立图像像素色调及饱和度定位的特征空间。色调范围:(-stdh+stdh),饱和度范围:。然后根据像素的是否属于特征空间对图像进行过滤(图2);用矩形区域对二值化后的图像进行形态学闭运算,形成连通的区域(图3);获取源图像中与目标色对应的区域,即为目标区域(图4)。
图1 源图像
图2 色调过滤后的图像
数字区域定位完成后,需要进一步将图像分割成单个数字的形式,以便进一步的识别。本文研究的图像成像质量较高,无外在污染,但目标数字区域存在倾斜的现象,且目标数字区域无明显的边框,经典的图像倾斜校正算法无法取得较好的效果。通过实验,本文选择使用连通域分割法对字符进行分割,并使用数学形态学的方法对其较敏感的字符粘连和不连通进行预先处理。
图3 形态学处理后的图像
图4 目标数字
在对字符分割前,首先要对目标数字区域进行二值化[4],将原始的灰度图像转化成只有黑白色的二值图像,对于一个二元图像f(x,y),设T为阈值,二值化可表示为:
如何选择合适的阈值T是二值化的关键。当T值过小时,可能会增加许多冗余信息,而T值过大又可能会丢失有用信息。常用的二值化方法有Otsu法(大津法)、直方图法等。
经过对目标数字图像仔细研究发现,主要含有三种不同的灰度值,一种是字符接近黑色,一种是主要背景颜色接近白色,还有一种是由于图像倾斜造成的纯白色区域,观察图像的的灰度直方图(图5),发现有三个主要的波峰,所占比例最大的部分应该对应图像中的背景颜色。通过实验,取图像灰度直方图两波谷间所占分量最大的区域左侧波谷处的灰度值作为二值化的全局阈值可以取得良好的效果(图6)。
目标数字图像经二值化及形态学处理后,图像中出现了若干连通区域,这些区域除要分割的数字外还有多个形状各异不规则的连通区域。数字分割算法的基本思想是先对图像进行连通域标记,对标记后的整幅图像进行一次扫描确定和记录各个连通域的上、下、左、右四个边界,计算连通域的高度、宽度、面积、位置等特征值。根据特征的相近程度对连通域进行分类,因为数字的个数是固定的,查询哪一类中元素的个数等于预知的数字的个数,再把其对应的连通域提取出来,即可得到分离的数字。
图5 目标数字区域像素直方图
图6 二值化的目标数字区域
下面是连通域数字分割算法的步骤:
(1)对二值化后的图像做连通域标记;
(2)对每个连通域统计长度、宽度、面积、位置信息等特征;
(3)根据连通域的长宽比,面积、位置等信息进行分类;
(4)查找个数为预知字符数的连通域的类别;
(5)提取该类别中标识所对应的数字。
算法实验效果如图7所示。
图7 分割的目标数字
根据观察,在图采集像时,被采集人手持的数字标识牌普遍向左下倾斜一定的角度(如图8),数字图像倾斜将会对数字识别产生影响,需要对倾斜的数字进行矫正[5]。常用图形倾斜矫正算法有Hough变换、randon变换、基于图像特征点的算法等。经过试验,本文选择使用基于特征点拟合直线的图像倾斜矫正算法。选取每个数字区域首行像素的中点作为特征点,进行直线拟合,根据拟合直线的角度对数字图像进行倾斜矫正,矫正算法采用双线性插值算法。矫正后的数字如图9所示。
图8 目标数字特征点拟合直线
图9 倾斜矫正后的目标数字
5.2.1 结构特征提取
根据对印刷体数字的分析,本文提取4个特征作为数字识别的依据:
(1)数字图像的长宽比例
数字1的长宽比与其它数字有较大差别,其它数字的长宽基本相同,而1的长是宽的2倍以上,因此这一特征可作为判别1的标准。
(2)上横线长度特征
有些数字顶部具有较长的直线,可以使用顶部连续像素的位数作为直线的长度描述(图10),5和7顶部的长横线几乎占据了数字的整个宽度,是所有数字中最大的,可以通过计算顶部直线的长度把5和7同其它数字区别开来。
(3)下横线长度特征
如同上横线长度特征,有些数字的底端具有较长的直线,如数字2和4(图11)底部直线占据了数字宽度的大部分,通过计算底部直线的长度可以有效地区分2和4与其它数字。
(4)轮廓跟踪特征
轮廓跟踪,又叫边缘跟踪,是通过顺序找出边缘点来跟踪图像边界。数字图像轮廓包含非常丰富的数字特征,轮廓也是人眼识别物体的重要特征。在数字的中间作一垂线,垂线和图像边界相交,记录下所有交点,从数字顶端第n个交点处开始轮廓跟踪,先后依次记录跟踪点经过的中垂线与数字的交点,称作n-轮廓跟踪向量(图12),如数字2的2-轮廓跟踪向量为[2 3 6 5 4 1 2],多数数字都具有不同的n-轮廓跟踪向量,因此可以作为分辨数字的有效特征。
5.2.2 结构特征识别算法
人类在观察事物的时候,主要是通过物体的形状、轮廓等特征辨别物体,所以利用数字的外形轮廓特征具有直观、准确的特点。分析各个数字的结构特征可知,通过长宽比可以识别出数字1;通过2-轮廓跟踪向量可以识别出数字2、3、5、6、7。2-轮廓跟踪向量为[2 3 2]的数字有0、4、8、9。这4个数字将通过4-轮廓跟踪向量进行辨别,其中8的4-轮廓跟踪向量为[4 5 4],可以分辨;0和4的4-轮廓向量为[4 1 4],进一步通过4的下横线长度辨别;4和9的4-轮廓跟踪向量都是[4 5 6 1 4],进一步通过4的下横线长度辨别。
图10 数字上横线特征示意图
图11 数字下横线特征示意图
图12 数字2的轮廓跟踪示意图
下面是结构特征识别算法的步骤:
(1)设置标准形态数字的2-轮廓跟踪向量组{[2 3 2];[2 3 6 5 4 1 2];[2 3 4 5 6 1 2];[2 1 4 5 6 3 2];[2 1 6 3 2];[2 3 4 1 2]};
(2)设置标准形态数字的4-轮廓跟踪向量组{[4 1 4];[4 5 6 1 4];[4 5 4]};
(3)获取待识别数字图像;
(4)If数字长度/数字宽度>=2
(5)数字识别为1;
(6)Return;
(7)End
(8)获取数字图像中垂线与数字轮廓边缘的交点集;
(9)对图像进行轮廓跟踪,获取2-轮廓跟踪向量vec2;
(10)If vec2=[2 3 6 5 4 1 2]
(11)数字识别为2;
(12)Return;
(13)Else if vec2=[2 3 4 5 6 1 2]
(14)数字识别为3;
(15)Return;
(16)Else if vec2=[2 1 4 5 6 3 2]
(17)数字识别为5;
(18)Return;
(19)Else if vec2=[2 1 6 3 2]
(20)数字识别为6;
(21)Return;
(22)Else if vec2=[2 3 4 1 2]
(23)数字识别为7;
(24)Return;
(25)Else if vec2=[2 3 2]
(26)转行(30);
(27)Else
(28)转基于面积特征的识别;
(29)End
(30)获取待识别数字图像的4-轮廓跟踪向量vec4
(31)If vec4=[4 1 4]
(32)转行(41);
(33)Else if vec4=[4 5 6 1 4]
(34)转行(49);
(35)Else if vec4=[4 5 4]
(36)数字识别为8;
(37)Return;
(38)Else
(39)转基于面积特征的识别;
(40)End
(41)计算待识别数字图像的下横线长度length;
(42)If length>数字宽度的3/5
(43)数字识别为4;
(44)Return;
(45)Else
(46)数字识别为0;
(47)Return;
(48)End
(49)计算待识别数字图像的下横线长度length;
(50)If length>数字宽度的3/5
(51)数字识别为4;
(52)Return;
(53)Else
(54)数字识别为9;
(55)Return;
(56)End
本文基于MATLAB R2010b平台实现了数字标识自动识别系统,对45幅样本图像进行了处理,基于n-轮廓跟踪向量的结构特征识别方法正确识别44幅,误识1幅,正确识别率为97.78%,表明本系统采用的结构特征能够取得良好的识别效果。
本文根据实际需求,建立了一个人像背景下数字标识自动识别的系统。该系统是由预处理、目标数字定位分割及模式识别三个环节构成。本系统在Matlab 2010平台下实现,对各个阶段算法进行了实验,实验结果表明各算法运行正常,系统取得了很好的识别效果。尽管如此,部分算法依然有改进的空间,可以进一步对各阶段的算法进行优化,提高系统的执行效率和识别精度。
1 廖宇.车牌定位系统中关键技术的研究与实现[J].湖北民族学院学报(自然科学版),2011,29(1):91-95
2 郭大波,陈礼民,卢朝阳等.基于车牌底色识别的车牌定位方法[J].计算机工程与设计,2003,24(5):81-87
3 王洪建.基于HSV颜色空间的一种车牌定位和分割方法[J].仪器仪表学报,2005,26(8):371-373
4 江明,刘辉,黄欢.图像二值化技术的研究[J].软件导刊,2009,8(4):175-177
5 黄新,郝矿荣,窦易文.一种新的字符图像倾斜矫正与分割算法[J].计算机工程与科学,2011,33(1):116-122
6 吴一全,谢静.基于特征点最小距离拟合的文档图像倾斜检测[J].光学技术,2009,35(1):152-156
7 邹星.车牌识别中的图像提取和分割算法[J].重庆工学院学报(自然科学),2009,23(8):19-25
8 陈寅鹏,丁晓青.复杂车辆图像中的车牌定位与字符分割方法[J].红外与激光工程,2004,33(1):29-34