1冠字号码区域定位
人民币在扫描过程中,难免会发生倾斜,为了得到没有倾斜的冠字码,在进行其他操作前,需要对得到的图像进行倾斜校正。如图4所示,CIS采集的人民币图像中不含有纸币区域的灰度值为255,利用灰度梯度变化可以很容易找到纸币的四条边缘(图4a)。通过霍夫变换得到边缘对应的角度后,可以通过图像旋转去除人民币图像的扫描倾斜(图4b)。由于扫描时纸币的正反和朝向不同,如图5所示,冠字码可能出现在扫描图像的四个位置。为了快速确定纸币的朝向从而找出冠字码区域位置,我们提出一种基于降分辨率和模板匹配的扫描朝向判断方法。给定一幅经过旋转校正的人民币扫描图像,我们提取该图像两侧大小为W×H的区域作为朝向检测区域。将该区域分辨率降为(W/5)×(H/5),然后和储存的四个方向的朝向检测低分辨率模板做匹配,共能得到八个匹配结果,最匹配的结果即对应此时人民币的扫描朝向(图6)。本文根据扫描图像中人民币的大小设检测区域的宽度W为350个像素,高度H为670个像素。由于冠字号码在人民币图像中的位置固定,得到人民币边缘和扫描朝向后,我们可以通过先验知识确定冠字号码的大致区域,如图7a所示。
2冠字号码区域二值化
由于灰度冠字码图像受到复杂背景和圆圈的影响,直接从灰度图像中提取冠字码十分困难,我们首先将得到的冠字号码区域二值化,然后从二值化的结果中提取单个冠字码字符。
2.1占空比的二值化方法
通过对第2节得到的冠字号码区域做水平和垂直方向投影,我们可以进一步得到更加精确的冠字码区域,如图7a矩形框所示。通过观察发现,每张人民币的冠字码字符笔画在精确定位的区域内所占空间比例几乎相同,由于冠字码相对背景的灰度值较低,我们认为处在直方图低P(t)比例的像素点为冠字码字符笔画,而其余区域为背景。由于采集到的人民币图像大小相同,对应的冠字码所占像素比例也相同,通过对采集到的冠字码区域进行估计。
2.2基于笔画宽度的二值化方法
不同人民币图像冠字码字符的宽度几乎是一致的,而且字符笔画的灰度值比背景的灰度值低。根据字符笔画的这两个特点,我们提出了一种基于笔画宽度的二值化方法。对于图像中的一个像素点i,如果以其为中心、一半笔画宽度r为半径的区域R内,所有像素点的灰度值都小于其在d角度邻接区域Kd内像素的值,则认为该像素属于字符笔画。本文中,Kd为区域R邻接的d角度方向相反的四个像素点。基于笔画宽度的二值化方法结果见图7d。
2.3块间对比度的二值化方法
块间对比度二值化[5]方法主要利用了字符笔画上像素点的灰度值低于背景像素灰度值的特性。对于图像中的每个像素点i,求以其为中心、半径为W的图像块的均值,然后和与该块邻接的四个方向上同样大小的图像块均值作对比,如果该像素点对应的块均值比d方向上相邻的两个图像块的均值都低,则认为该像素属于d方向的字符笔画。块对比度二值化方法利用笔画宽度信息,可以有效抑制圆圈、褶皱以及污损对图像二值化造成的影响,其结果如图7f所示。为了得到更好的字符分割结果,我们将基于占空比和块间对比度的二值化方法进行了融合,当前像素点只有同时被两个二值化方法认为是字符笔画时,它才被赋值为1,否则为0,融合结果见图7g。
2.4后处理
通过后处理操作可以进一步优化二值化结果。首先,由于冠字码字符的大小较大,二值化结果中面积小于三个像素的连通区域被认为是背景区域。其次,我们将得到的二值化冠字码图像做水平和垂直方向投影,投影结果外的图像区域为背景。最后,我们利用八方向运算模板[7](如图9所示)去除分割结果中字符笔画的单像素毛刺。后处理结果见图7h。
2.5冠字码字符提取
从二值图像中提取单个冠字码字符分为水平方向和垂直方向定位两个步骤。水平方向定位确定每个字符的左右边缘,垂直方向定位则寻找字符的上下边缘。由于每张人民币图像中冠字码字符宽度和水平间隔都基本相同,我们首先利用冠字码字符分布的先验知识给出水平方向的粗定位结果,然后分别计算每个字符的水平质心。根据质心对字符的左右边缘进行偏移调整,同时去掉字符笔画与水平边缘的空隙。重复以上两个操作直到字符边缘位置不再发生变化,就可以得到精确的字符左右边缘。由于在图像分割结果中,字符笔画的上下边缘可能粘连被误判为前景的圆圈和背景纹理,而且冠字码字符的高度不一致,垂直方向的字符定位比水平方向复杂很多。本文使用一种基于局部灰度对比度[6]的边缘定位方法。首先,我们假设每个字符的高度为冠字码字符串水平方向的投影高度,从而得到字符的候选垂直边缘。然后根据每个字符垂直方向的质心分别对上下边缘的位置y进行调整。针对每条边缘(上边缘或下边缘),我们计算其上下ω个像素范围内的局部灰度对比度,最大局部对比度的位置即对应字符最优的垂直边缘。字符的上下边缘分别用Vt和Vb表示,Ct和Cb分别为上下边缘的局部灰度对比度,最优边缘的搜索范围W=[y-ω,y+ω],Avgt和Avgb为候选边缘垂直方向宽度为字符宽度、高度为H的邻域灰度均值。ε是大于0的常数,确保公式(8)和公式(10)的分母不为0。本文中,搜索范围ω为5个像素,H取值10。
3实验及讨论
3.1冠字码区域二值化结果
我们对上文中提出的三种二值化方法和传统的Otsu二值化方法[8]进行了测试和分析。性能评价标准采用国际文档图像二值化竞赛DIBCO2011[9]中的召回率、精度、F准则F-Measure、峰值信噪比PSNR(PeakSignaltoNoiseRatio)、距离倒数失真度量DRD(DistanceReciprocalDistor-tionMetric)和误判惩罚度量MPM(Misclassifica-tionPenaltyMetric)。实验结果见表1。从实验结果可以看出,针对含有复杂背景的人民币冠字码图像,基于占空比和块间对比度的二值化方法比基于笔画宽度的方法性能更好,这两种方法融合的结果经过后处理操作,召回率可以达到82.55%,精度达到92.74%。基于块间对比度的二值化方法利用图像块的均值判断当前像素点是否属于字符笔画,比需要逐像素对比灰度值的使用笔画宽度的分割方法更为鲁棒,可以抗一定的噪声干扰,结果也更加准确。上文中三种针对字符区域的二值化方法性能都明显优于传统的Otsu方法。
3.2冠字码字符提取结果
为了测试识别预处理算法提取单个字符的性能,我们标定了500张扫描的人民币图像,包含5000个冠字码字符。这些人民币图像含有大量的背景纹理和圆圈,同时受到采集光照变化和污损的影响。本文参用三个标准来评价字符提取的准确度,分别为传统的重叠度量BOM(BasicOverlapbasedMetric)、基于阈值的重叠度量TOM(ThresholdedOverlapbasedMetric)[10]和ICDAR重叠度量IC-DARmetric[11]。这里TOM方法的阈值T设置为0.75,即当单个字符召回率(精度)为75%时,则认为找到该字符。其中,图像的二值化采用了基于占空比和块间对比度相结合的方法。我们分别计算每张图像的BOM、TOM和ICDARmetric,最终的提取结果为所有图像提取单个字符准确度的平均值。如表2所示,依赖于精确的图像分割和鲁棒的字符边缘定位,我们获得了很高的提取精度。在实验中,我们发现二值化结果对字符提取的影响非常大,特别是当字符周围残留的背景纹理较多时,则很难定位字符的边缘。
4结束语
本文针对复杂条件下的人民币冠字码识别,提出了一套完整的预处理方案,其中包括纸币图像采集、边缘检测、倾斜校正、扫描朝向判断、冠字码区域定位和二值化以及字符提取等操作,并对三种不同类型的文字区域二值化方法进行了比较和分析。实验结果表明,对含有复杂背景纹理、光照变化和污损的人民币图像,我们的识别预处理方法可以准确高效地提取冠字码单个字符,为后续的识别做准备。在今后的研究中,我们将尝试跳过单个字符提取,直接利用字符串识别技术识别冠字码字符串。
作者:冯博远 任明武 张煦尧 杨静宇 单位:南京理工大学计算机科学与工程学院 中国科学院自动化研究所