时间:2024-05-04
沈成龙,王笑梅,王 晨
(上海师范大学,上海 200030)
随着技术的发展,字符自动识别技术广泛应用于车牌识别、书籍文字识别、票据识别以及邮寄地址自动识别等领域。作为不可再生资源,纸币蕴含丰富的历史信息和文化底蕴。民国时期,因较为明显的无政府状态,纸币发行量大且种类丰富,收藏较多,部分保存较为完整。开发民国纸币自动识别系统可以辅助博物馆的民国纸币研究、减少纸币的流失与损坏,实现其科学化、数字化管理。目前,国内外针对钱币的研究主要集中于现代流通货币以及中国古代的硬币。包括使用支持向量机和卷积神经网络的方法识别人民币序列号[1,2];利用纸币的RGB颜色信息识别人民币面值[3];采用模板匹配的方法识别美元序列号[4];借助深度学习方法识别欧元硬币的年份[5];采用基于多尺度PCA和SVM相结合的方法识别古钱币钱文[6]等。
冠字号码是纸币的唯一编码,隐含着印刷批次、数量等信息,对钱币的追踪与辨识有着重要的价值。目前,常用的纸币冠字号码检测方法主要有:1)基于位置先验信息的检测[2~11]。利用现代流通货币冠字号码位置相对固定的特点,建立坐标轴,依据每种纸币冠字号码的坐标位置进行定位、提取。2)基于投影法的检测[2,9-11]。在图像上,自左至右,按列扫描像素点的灰度值并累加,依据其水平方向上的累加和分布特征确定其左右边界;同理,确定其上下边界。然而,民国纸币种类繁多,留存时间跨度较大,多数纸币存在褶皱、破损、污迹等情况且不同时期和银行发行的纸币冠字号码位置存在较大差异,使用位置先验信息或投影法提取字符较为困难。
字符分割是识别的基础,其分割精度将直接影响识别结果。常见分割方法有:1)间隙法[3]。利用字符间的空白间隙分割字符。2)投影法[9-11][12-15]。字符投影后,依据其投影间隙与字符投影特征的不同分割字符。3)连通区域法[16]。将每个字符视为一个连通区域,通过连通区域位置确定分割字符边界。因防伪需要,民国纸币多数纸币纹理色彩与冠字号码字符相似度较高,分离背景后的字符图像粘连情况较为普遍,使用空白区域、连通区域方法或常用的字符投影分割法无法有效分割字符。
为提高提取与分割精度,本文提出一种民国纸币冠字号码提取与分割算法。利用冠字号码颜色特征提取字符区域,采用逐差与滑动窗口投影法分割字符。经实验验证,本文提出的算法能够有效的识别种类繁多的民国纸币,对于纸币破损、污迹、褶皱有较好的鲁棒性。
字符提取是实现冠字号码分割的前提,只有准确定位字符位置才能有效的实现字符分割与识别。因不同种类的民国纸币冠字号码相对位置存在较大差异且纸币存在褶皱、污损情况,基于位置先验信息和投影法定位[2][7~11]的现代流通纸币字符提取方法难以实现民国纸币字符的提取。民国纸币冠字号码字符颜色较为单一且字符之间相距较小,本文采用基于颜色特征与形态学的方法提取民国纸币冠字号码。首先使用字符区域的颜色特征过滤图像色彩,提取二值图像,再对图像进行去噪、形态学处理,利用连通区域形状测量提取字符区域。
民国纸币字符颜色有红色与黑色两种,但背景颜色复杂且占据字符区域80%左右。为准确识别颜色,需要建立恰当的色彩空间。用于定位的色彩空间包括HSV(Hue Saturation Value)、HIS(Hue Intensity Saturation)、RGB(Red Green Blue)等[21~23],因使用HSV和HIS空间需转换色彩空间,运算量较大,使用RGB彩色空间操作简单且效果较好,本文采用在RGB空间中完成字符图像的色彩过滤。
在提取字符过程中,考虑到黑色冠字号码字符出现的频度相对很小,论文重点研究红色冠字号码。分析RGB颜色空间可知,红色冠字号码在R(红色)通道中数值通常较大,在G(绿)、B(蓝)通道相对较小。冠字号码字符的色彩纯度与纸币背景有较强的相关性,故对R通道中像素点值的大小排序,选取较大的像素点值的均值作为最大值,确定各颜色通道的阈值。
设民国纸币图像大小为Μ*Ν,R通道中,坐标(m,n)处的灰度值为xi,升序排列为x1≤x2≤x3≤…≤xM*N,选取的最大值比例为θ,则R通道中色彩的最大值为Rmax,定义为
(1)
设R通道的色彩过滤强度系数为α,G、B通道中色彩过滤强度系数分别为β、γ,则R、G、B通道的阈值Thr、Thg、Thb定义如下:
Thr=α*Rmax
(2)
Thg=β*Rmax
(3)
Thb=γ*Rmax
(4)
设R、G、B通道的像素点值分别为RI、GI、BI,则色彩过滤后,纸币图像各点的像素点值I(i,j)定义如下
(5)
对含有冠字号码字符的原图,可获得色彩过滤后的二值图像,如图1(b)所示。其中,白色为字符区域,黑色为背景区域。因纸币背景颜色信息较为复杂,单纯依靠颜色特征处理后的图像仍存在较多噪声干扰,难以确定冠字号码区域。
民国纸币中的冠字号码颜色并非纯色,且不同种类、不同光照下,冠字号码图像区域的字符色彩纯度差别较大,色彩过滤后的图像存在伪字符区域以及噪声,为精确选定字符区域,论文采用基于形态学的字符提取算法,其算法流程如下所示。
1)图像去噪。如图1(b)所示,使用颜色特征过滤后的图像含有较多噪声,为减少噪声干扰,提升定位的准确度,论文采用维纳滤波去噪。
2)构建连通区域。考虑到纸币冠字号码区域的字符呈水平排列且字符间水平间隔较小的特点,论文利用矩形算子在图像水平方向膨胀,以消除冠字号码的区域间隔,使字符之间形成连通区域,便于冠字号码轮廓提取。如图1(c)所示。
3)连通区域筛选。为减小计算量,降低计算成本,便于冠字号码字符的快速提取,需删除面积较小的连通区域,经实验测定,删除连通区域面积的阈值设为3500效果最佳。
4)冠字号码提取。逐个计算图像中各连通区域的长、宽、以及长宽比,借助冠字号码区域的尺寸特征提取冠字号码。结果如图1(d)所示。
图1 冠字号码字符提取实验结果图
经实验验证,基于RGB颜色特征与形态学的提取算法,提取民国纸币冠字号码区域的准确度为99.3%,能够较好的完成字符区域提取。
纸币字符分割的目的是将冠字号码区域的字符分割为多个单一字符,便于后期处理、识别。因民国纸币背景图案复杂、存在污迹、褶皱、磨损等情况,常用的纸币冠字号码分割算法划分的准确率较低。为提高分割精度,论文提出一种基于中位数的自适应二值图像算法分离背景图案,利用逐差与滑动窗口投影法分割字符。
字符分割过程中,为提升分割效果,常使用二值图像的方法分离纸币背景。常用二值图像的方法包括:硬阈值方法,设置阈值,大于阈值置1,其它置0。Otsu法(大津法),将图像分为前景与背景两部分,利用最大类间方差进行分割。对包含冠字号码的原图处理结果如图2(b)(c)所示。
图2 冠字号码图像二值算法效果图
纸币因其防伪特性含有较多龙纹,且不同纸币,龙纹存在较大差别,为提升分离效果,论文提出一种基于中位数的自适应二值算法。将彩色的字符区域转为灰度图像,并将图像像素点的灰度值升序排列,计算中位数,结合强度因子确定阈值,构成二值图。
设字符区域图像大小为W*H,坐标(w,h)处的灰度值为xc_i,则字符图像像素点灰度值升序排列如式(6)所示
xc_1≤xc_2≤xc_3≤…≤xc_W*H
(6)
(7)
设字符分割强度为α,设定阈值Te
Te=α*Me
(8)
将图像中像素点值小于阈值的部分视为字符图像置1,其它视为背景图像置0,对包含冠字号码的原图处理结果如图2(d)所示(α=0.85),有效地提高了分割效果。
分离背景后的字符图像噪声较多,如图3(b)所示。为减少噪声干扰,论文采用颜色反转、形态学处理、连通区域筛选的方法消除噪声,效果如图3(c)所示。因去除噪声后的字符图像笔画粗细分布不均、连接不紧密,分割界限不明显,为便于区分字符,提升分割效果,论文使用形态学方法在垂直方向膨胀字符。如图3(d)所示。
图3 字符图像预处理结果图
投影法即统计某一坐标方向的像素点数,分为水平投影和垂直投影两种。因纸币冠字号码区域字符笔画粗细分布不均、存在褶皱、破损、污迹等因素干扰,在对字符区域逐行(列)投影时,投影波形图存在跳变、缺失、毛刺较多的问题,如图4(a)所示。为解决这一问题,论文提出滑动窗口投影法,通过统计相邻处多个像素点值以减小噪声对整体投影结果的影响,并设置阈值消除微弱噪声。其基本思想为:沿水平(垂直)方向以一定的步长滑动窗口,在滑动过程中,统计窗口区域内的像素点的像素和,若像素和大于设定的阈值,则将其作为对应点的投影值。
设冠字号码图像大小为Μ×Ν,Ρ(i,j)表示第i行,第j列的像素值,step为步长,水平方向窗口大小为plevel*qlevel,阈值为Thlevel_projection,则水平方向投影定义如下
P(j+step)level
从制种生产开始到种子收割装袋入库的各个生产环节都要严格防止生物学混杂和机械混杂,对于田间杂株做到发现一株除掉一株。在母本授粉结束后20 d即可抢晴天收割,先割父本,后收母本,并安排专人、固定专用收获工具和晒场,避免种子混杂,确保种子质量。
(9)
其中j+step∈[1,N],Thlevel_projection∈N+(正整数)。
依式(9)处理后(step=8Thlevel_projection=20),字符投影波形较为平滑、毛刺减少、波峰与波谷分界较为明显。如图4(b)所示,滑动窗口投影法能够较好的实现字符水平分布特征的提取。
图4 字符水平方向投影图
投影后的冠字号码图像,因纸币背景状况和各种干扰因素较为复杂,水平投影图像仍有粘连现象且部分图片波形毛刺较多,为更精确实现字符分割,论文采用一种基于逐差法的字符分割算法,依据波形先验信息实现字符分割,其详细步骤如下:
1)计算逐差。设字符水平投影值Ρ(i),长度Llevel,则水平方向投影逐差为P(2)-Ρ(1),P(i+1)-Ρ(i),…,P(Llevel)-P(Llevel-1)。
2)检测拐点。由水平投影波形图可知,波形上升点均不小于零,下降点均不大于零,拐点处前后两相邻点差值异号或一处为零。为增强算法健壮性,算法正序检测上升点,逆序检测下降点。设图像上升点为Pup,则其定义如下
Pup(i)=
(10)
同理,图像下降点Pdown为
Pdown(i)=
(11)
3)筛选拐点。依先验知识,从相邻上升点宽度差、相邻最大值点宽度差、上升点与相对应最大值点的高度差三个维度筛选。下降点同理。同时,为减少对分割点的错分、漏分、误分,算法合并筛选后的上升点、下降点,去重排序后,作为候选拐点。
4)确定分割点。自左至右,依次对拐点作差,依据字符宽度,确定分割点。
5)字符分割修正。为更均匀的分割相邻字符,算法检测字符的字尾分割点与下一个字符的字首分割点,若不同,取其均值作为共同分割点。同时,依据分割点间的整体宽度信息,消除多余分割点。
使用逐差法与滑动窗口投影的字符分割算法分割的冠字号码区域结果集(部分)如图5所示。
图5 冠字号码分割结果示意图(部分)
该字符分割算法能够有效解决因字符图像污迹、褶皱而引起的字符投影粘连、缺失等问题,较好的实现字符分割,经试验验证,字符分割精度为98.5%。
本文对复杂背景下民国纸币冠字号码进行提取与分割,共选取154张民国纸币测试。实验采用的开发平台配置为:Windows 10 Pro(64-bit)操作系统,主频2.50GHz 的Inter(R) Core(TM)i5-7200处理器,8.00GB内存。冠字号码提取、分割程序使用MATLAB R2018b开发。
经实验验证。论文提出的民国纸币冠字号码提取与分割技术能够有效的提取与分割字符。提取阶段,154张纸币,有效提取字符153张;分割阶段,共划分出字符1006张,去掉错分、漏分、多分,分割出有效字符991张,提取、分割精度依次为99.3%、98.5%。计算耗时约0.443s,基本满足实时性要求。
论文解决了不同类型民国纸币冠字号码的提取与分割问题。采用基于色彩特征与形态学的提取方法,解决纸币在种类繁多、存在破损、污迹等条件下的字符提取问题。使用基于中位数的自适应阈值二值算法分离背景解决字符在图像背景颜色复杂条件下字符的分离问题。利用逐差与滑动窗口投影法分割单个字符,解决字符在粘连情况下的分割问题。在民国纸币数据集上的实验结果表明,该方法能够有效的实现民国纸币图像上冠字号码的提取与分割,具备较强的泛化能力。
尽管论文的民国纸币提取与分割技术在现有数据集上有较好的提取与分割效果,然而考虑到民国纸币种类丰富,有特殊纸币存在的可能,后期将集中于民国纸币收集、算法泛化性的提升。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!