图像五值化与基于三值图像的车牌识别(4)
2011-01-02 20:57
357 查看
张忠义
海口愚佬会教育科技有限公司
全文下载 www.yulaohui.com/color5_2/
(2) 小跨是一个预设的大于1但不大于大跨的数值。
(3) 隔行是一个预设的算法加速属性,值为真、假。
(4) 预处理:如果隔行属性为真,则置遍历加速终值为1,否则,置遍历加速终值为小跨。
(2) 通过隔行属性与对小垮的设置,可以放弃图像二分之一图像行、图像三分之二图像行,图像四分之三图像行,… , 的定位,提高定位效率。当然,放弃太多图像行,在图像质量较差,干扰严重的情况下会影响车牌定位的正确性。这需要在定位效率与定位正确性之间寻求平衡。
(3) 字符横向分割是指:在图像行上,针对图像的定位0点沿五字符间隔中线分别向上、向下在一定限值内利用色宽与绕开检测车牌底色宽度。所谓向上,即是回溯。这是基于大小跨进行图像加速遍历的重要保证,尽管大跨向前,但通过回溯也可以返回去查找。所谓向下,确保了局部逐行,做到大跨同时能兼顾局部查找。
(2) 如果大循环当前值超过大跨,则大循环结束,否则,置大循环当前值为图像列遍历初值,继续(3);
(3) 如果图像列遍历当前值超过图像列遍历终值,则置大循环当前值加小跨为新的大循环当前值,转向(2),否则置图像行遍历当前值为0,继续(4);
(4) 如果图像行遍历当前值超过图像行遍历终值则转向(9),否则,继续(5);
(5) 如果是定位候选点则继续(6),否则,将图像行遍历当前值横移至非定位候选点所在色段的右端点,如果右端点的下绕开宽度大于0,则在图像行增量方向上继续增加下绕开宽度,否则,在图像行增量方向上加1,转向(4);
(6) 如果定位候选点具有下绕开则在行增量方向增加下绕开宽度,转向(4),否则,继续(7);
(7) 将定位候选点所在色段右端点设为循环终点,如果定位候选点色宽大于预设字符最大宽度则置循环起点为色宽减字符最大宽度,否则置循环起点为定位候选点,车牌底色等于循环起点的值,循环当前值作为五字符定位0点,循环(8),循环结束后将循环终值加1且置为图像行遍历当前值,转向(4);
(8) 从五字符最小宽度开始至五字符最大宽度止,循环当前值作为五字符当前宽度,循环进行字符分割,如果可以进行字符分割则得到一个候选车牌定位;
(9) 在图像列增量方向上加大跨,转向(3)。
(1) 隔行属性为假
循环初值为1,小循环终值为2,按照所述图像加速遍历可以得到下列执行顺序
1,21,41,…,3,23,43,……,19,39,59,……,2,22,42,…,4,44,64,…,20,40,60,…
(2) 隔行属性为真
小循环初值为1,小循环终值为1,按照所述图像加速遍历可以得到下列执行顺序
1,21,41,…,3,23,43,……,19,39,59,……
即隔行属性为真时,偶数行没有执行,放弃了图像的二分之一图像行。
仅针对单一噪点去噪,原因是:一般情况下,需要识别的车牌字符,其宽度大多在8-16像素点之间,或者为了适应更大的范围,可以是6-20像素点之间。否则,或者图像中车牌太小,以致很难识别,或者图像除车牌信息外,其他信息太少。在这样的字符宽度前提下,字符笔划一般都会大于一个像素点。因此,去除单一噪点不会影响对图像中车牌的定位,也不会影响后续的字符识别。
因此,红色作为扩展值对五字符定位不产生影响。
本方法引入广义阻断式色深,以解决白牌和黑牌的字符分割与车牌定位问题。
广义阻断式色深是将灰按照黄的处理方式处理,即:
(1) 在定位候选点标记与阻断标记时将灰按照黄的处理方式处理;
(2) 计算色深时,将灰作为黄处理,累加到黄的阻断式黄深上;
(3) 其他不变。
(2) 测试运动图像,效果一般,原因仍然是部分运动图像颜色不清晰,相邻各像素R、G、B值差异较大,与从运动图像获取的R、G、B值被过度压缩相关。
(3) 测试手机拍摄的约3000张各种光照情况下的车牌图像,包括白天和晚上(未使用闪光灯)拍摄的图像。测试包括图像五值化表现、三值化转化效果,按分割反推进行车牌定位的成功率,字符识别成功率。总体效果良好,截止五字符的识别率在90%以上。对于不能识别的图像,程序具有放弃功能。图像问题集中在晚上环境灯光,如果是偏黄色的暖光,容易对蓝牌产生较多的黄色似干扰,导致车牌定位失败。
(4) 在 Intel Celeron processor 1.4GHz 处理器下,对手机拍摄照片240×320大小,截止五字符定位和识别时间约为100毫秒,其中图像五值化及三值化转化耗时约为60毫秒。
表面上看,车牌识别率98%比车牌识别率90%要高,显示前者功能更强,能正确识别更多的车牌。但是实际上这是没有意义的。因为:
(1) 首先,程序没有验证识别结果正确的机制。识别结果都需要人工复视。识别率的本质是人的识别率。即识别率98%或90%都是人的识别率。既然需要人工复视,那么发现其中2%错误和发现其中10%错误,对人来说是没有差异的,都不能节省人工。
(2) 尽管识别率98%的程序比识别率90%的程序看似更强,但是,两者都不能对余下的2%和10%的图像进行放弃。就是说,两者都对余下2%和10%的车牌图像进行了识别,这些识别被人工复视为错误。即前者错误率是2%,后者错误率是10%。因此,对程序来说,98%和90%是正确率,而不是识别率。可以说,只要程序没有图像放弃功能,程序的识别率都是100%。通常所称识别率,更准确地说应该是识别正确率。
(3) 如果不进行人工复视,即使识别正确率达到99%,在图像总数足够大的情况下,也会出现大量的错误。这样的车牌识别程序也没有应用价值。好比验钞机,不在人工复视情况下,错误率哪怕是1%都没有应用价值。与车牌识别相比,验钞机具有一定的放弃率,错误率为0。
在车牌识别领域,识别率之误的严重性已到了阻碍技术进步的程度,因此,要进一步提高车牌识别率就必须纠正关于车牌识别率的错误认识。
严格说来,车牌识别率是建立正确率、错误率、放弃率三者的基础上。
(1) 放弃率:程序无法识别的图像数 / 程序已识别的全部图像数×100 %
(2) 错误率:程序识别错误的图像数 / 程序已识别的全部图像数×100 %
(3) 正确率:程序识别正确的图像数 / 程序已识别的全部图像数×100 %
(4) 识别率:正确率 /(正确率+错误率)×100 %
其中,正确率、错误率、放弃率三者的关系是:正确率+错误率+放弃率 = 100 % 。放弃率、错误率是相互制约的,放弃率的提高总伴随着错误率的下降,和正确率、识别率的提高。对于车牌识别而言,讨论放弃率、讨论错误率更具有实际的工程意义。
车牌识别的最终目标是要做到错误率为0,放弃率尽量小。只有这样,车牌识别才能替代人工,做到自动化。在错误率为0的情况下,哪怕放弃率为20%,人工的工作量也仅需针对放弃的20%图像复视。这也比错误率2%,正确率98%,放弃率0的效果好。此种情况下,人工的工作量是全部100%的图像。因为,在全部图像里,人工并不知道哪些识别是正确的,哪些是错误的。所谓98%是人工复视后得到的,在人工复视前,全部图像的正确率究竟是多少,程序无法判断。
对于车牌识别,要提高车牌识别正确率,关键是要能区分字符Q和0,字符D和0,字符B和8等。
在三值图像中,字符Q,字符D,字符B,其位于角上的信息不容易被丢弃,或呈现为中间“灰”,或呈现为字符色。在区划的多特征模板匹配方法下,由于考虑了中间“灰”,字符识别的精度可以更高。而基于二值图像的字符识别,字符Q,字符D,字符B,其位于角上的信息容易被丢弃,没有可以用于提高字符识别精度的中间状态,字符识别的精度受限于此。
综上所述,图像五值化的意义是确保图像三值化的质量,为后续字符识别和车牌定位奠定基础。区划的多特征模板匹配方法的意义是确保字符识别正确,尽量减小最终车牌识别的错误率。基于三值图像按分割反推进行车牌定位的意义在于确保车牌不漏,尽量减小车牌识别的放弃率。从而使车牌识别的正确率有可能走向100%,实现车牌识别自动化,做到节省人工,提高车牌识别效率。因此,图像五值化和基于三值图像的车牌识别应用前景良好。
致谢 在此,谨向通过“车牌识别群”参与图像五值化讨论的老师们、同学们、同行们致谢。
全文完。
谢谢。
海口愚佬会教育科技有限公司
全文下载 www.yulaohui.com/color5_2/
7.5 图像加速遍历
基于上述步骤的图像遍历是逐行的图像遍历,是低效的,为了降低处理器负荷,必须要有更高效的图像遍历方式。7.5.1 大小跨机制
(1) 大跨是一个预设的与图像中常出现的字符高度相关的数值。(2) 小跨是一个预设的大于1但不大于大跨的数值。
(3) 隔行是一个预设的算法加速属性,值为真、假。
(4) 预处理:如果隔行属性为真,则置遍历加速终值为1,否则,置遍历加速终值为小跨。
7.5.2 加速原理
(1) 通过纵向加速,快速到达五字符所在图像行。纵向加速是通过大小跨结合实现的。大跨的目的提高效率,小跨的目的确保图像遍历的性质不变。大小跨方法的实质是改变执行顺序,以快速到达五字符所在图像行。(2) 通过隔行属性与对小垮的设置,可以放弃图像二分之一图像行、图像三分之二图像行,图像四分之三图像行,… , 的定位,提高定位效率。当然,放弃太多图像行,在图像质量较差,干扰严重的情况下会影响车牌定位的正确性。这需要在定位效率与定位正确性之间寻求平衡。
(3) 字符横向分割是指:在图像行上,针对图像的定位0点沿五字符间隔中线分别向上、向下在一定限值内利用色宽与绕开检测车牌底色宽度。所谓向上,即是回溯。这是基于大小跨进行图像加速遍历的重要保证,尽管大跨向前,但通过回溯也可以返回去查找。所谓向下,确保了局部逐行,做到大跨同时能兼顾局部查找。
7.5.3 图像加速遍历步骤
(1) 将图像高减预设最小字符宽度乘字符扁平系数设为图像列遍历终值,将图像宽减最小五字符宽度设为图像行遍历终值,置1为小循环初值,遍历加速终值为小循环终值,步进为1,置小循环当前值为大循环初值,循环(2);(2) 如果大循环当前值超过大跨,则大循环结束,否则,置大循环当前值为图像列遍历初值,继续(3);
(3) 如果图像列遍历当前值超过图像列遍历终值,则置大循环当前值加小跨为新的大循环当前值,转向(2),否则置图像行遍历当前值为0,继续(4);
(4) 如果图像行遍历当前值超过图像行遍历终值则转向(9),否则,继续(5);
(5) 如果是定位候选点则继续(6),否则,将图像行遍历当前值横移至非定位候选点所在色段的右端点,如果右端点的下绕开宽度大于0,则在图像行增量方向上继续增加下绕开宽度,否则,在图像行增量方向上加1,转向(4);
(6) 如果定位候选点具有下绕开则在行增量方向增加下绕开宽度,转向(4),否则,继续(7);
(7) 将定位候选点所在色段右端点设为循环终点,如果定位候选点色宽大于预设字符最大宽度则置循环起点为色宽减字符最大宽度,否则置循环起点为定位候选点,车牌底色等于循环起点的值,循环当前值作为五字符定位0点,循环(8),循环结束后将循环终值加1且置为图像行遍历当前值,转向(4);
(8) 从五字符最小宽度开始至五字符最大宽度止,循环当前值作为五字符当前宽度,循环进行字符分割,如果可以进行字符分割则得到一个候选车牌定位;
(9) 在图像列增量方向上加大跨,转向(3)。
7.5.4 图像加速遍历实例
为了能地理解图像加速遍历,取大跨值20,小跨值2,现结合一实例说明图像加速遍历的过程:(1) 隔行属性为假
循环初值为1,小循环终值为2,按照所述图像加速遍历可以得到下列执行顺序
1,21,41,…,3,23,43,……,19,39,59,……,2,22,42,…,4,44,64,…,20,40,60,…
(2) 隔行属性为真
小循环初值为1,小循环终值为1,按照所述图像加速遍历可以得到下列执行顺序
1,21,41,…,3,23,43,……,19,39,59,……
即隔行属性为真时,偶数行没有执行,放弃了图像的二分之一图像行。
7.6 单一噪点去除
可以在图像预处理时先对三值图像进行单一噪点去除。噪点是指图像点的相邻八邻点同值,图像点与相邻八邻点异值。去除单一噪点的方法是用相邻八邻点的值替代图像点的值。仅针对单一噪点去噪,原因是:一般情况下,需要识别的车牌字符,其宽度大多在8-16像素点之间,或者为了适应更大的范围,可以是6-20像素点之间。否则,或者图像中车牌太小,以致很难识别,或者图像除车牌信息外,其他信息太少。在这样的字符宽度前提下,字符笔划一般都会大于一个像素点。因此,去除单一噪点不会影响对图像中车牌的定位,也不会影响后续的字符识别。
7.7 对红色的处理
有可能为了识别图像中红色交通信号、红色交通标识,图像三值化时需要将红色作为一种新的中间状态保留。可将红色视同三值的灰,按有关灰的处理方式处理。因此,红色作为扩展值对五字符定位不产生影响。
7.8 广义阻断式色深
由于中国车牌识别可能需要识别白牌和黑牌。白牌和黑牌的底色在光照影响下不会在三值图像里全部表现为蓝或黄,部分底色会表现为灰。因此,其色深计算,以及根据色深进行字符分割都将会受到影响。本方法引入广义阻断式色深,以解决白牌和黑牌的字符分割与车牌定位问题。
广义阻断式色深是将灰按照黄的处理方式处理,即:
(1) 在定位候选点标记与阻断标记时将灰按照黄的处理方式处理;
(2) 计算色深时,将灰作为黄处理,累加到黄的阻断式黄深上;
(3) 其他不变。
8 结束语
8.1 测试效果
(1) 测试标清图像,效果一般,原因是部分标清图像颜色不清晰,各像素倾向灰色。(2) 测试运动图像,效果一般,原因仍然是部分运动图像颜色不清晰,相邻各像素R、G、B值差异较大,与从运动图像获取的R、G、B值被过度压缩相关。
(3) 测试手机拍摄的约3000张各种光照情况下的车牌图像,包括白天和晚上(未使用闪光灯)拍摄的图像。测试包括图像五值化表现、三值化转化效果,按分割反推进行车牌定位的成功率,字符识别成功率。总体效果良好,截止五字符的识别率在90%以上。对于不能识别的图像,程序具有放弃功能。图像问题集中在晚上环境灯光,如果是偏黄色的暖光,容易对蓝牌产生较多的黄色似干扰,导致车牌定位失败。
(4) 在 Intel Celeron processor 1.4GHz 处理器下,对手机拍摄照片240×320大小,截止五字符定位和识别时间约为100毫秒,其中图像五值化及三值化转化耗时约为60毫秒。
8.2 应用前景
车牌识别的意义在于自动识别。目前车牌识别程序都没有自动判断识别结果是否正确的功能。车牌识别的正确性都需要人工复视。比如车牌识别率90%只是表示已识别的100张车牌图像中有90个被人工复视为正确的车牌。表面上看,车牌识别率98%比车牌识别率90%要高,显示前者功能更强,能正确识别更多的车牌。但是实际上这是没有意义的。因为:
(1) 首先,程序没有验证识别结果正确的机制。识别结果都需要人工复视。识别率的本质是人的识别率。即识别率98%或90%都是人的识别率。既然需要人工复视,那么发现其中2%错误和发现其中10%错误,对人来说是没有差异的,都不能节省人工。
(2) 尽管识别率98%的程序比识别率90%的程序看似更强,但是,两者都不能对余下的2%和10%的图像进行放弃。就是说,两者都对余下2%和10%的车牌图像进行了识别,这些识别被人工复视为错误。即前者错误率是2%,后者错误率是10%。因此,对程序来说,98%和90%是正确率,而不是识别率。可以说,只要程序没有图像放弃功能,程序的识别率都是100%。通常所称识别率,更准确地说应该是识别正确率。
(3) 如果不进行人工复视,即使识别正确率达到99%,在图像总数足够大的情况下,也会出现大量的错误。这样的车牌识别程序也没有应用价值。好比验钞机,不在人工复视情况下,错误率哪怕是1%都没有应用价值。与车牌识别相比,验钞机具有一定的放弃率,错误率为0。
在车牌识别领域,识别率之误的严重性已到了阻碍技术进步的程度,因此,要进一步提高车牌识别率就必须纠正关于车牌识别率的错误认识。
严格说来,车牌识别率是建立正确率、错误率、放弃率三者的基础上。
(1) 放弃率:程序无法识别的图像数 / 程序已识别的全部图像数×100 %
(2) 错误率:程序识别错误的图像数 / 程序已识别的全部图像数×100 %
(3) 正确率:程序识别正确的图像数 / 程序已识别的全部图像数×100 %
(4) 识别率:正确率 /(正确率+错误率)×100 %
其中,正确率、错误率、放弃率三者的关系是:正确率+错误率+放弃率 = 100 % 。放弃率、错误率是相互制约的,放弃率的提高总伴随着错误率的下降,和正确率、识别率的提高。对于车牌识别而言,讨论放弃率、讨论错误率更具有实际的工程意义。
车牌识别的最终目标是要做到错误率为0,放弃率尽量小。只有这样,车牌识别才能替代人工,做到自动化。在错误率为0的情况下,哪怕放弃率为20%,人工的工作量也仅需针对放弃的20%图像复视。这也比错误率2%,正确率98%,放弃率0的效果好。此种情况下,人工的工作量是全部100%的图像。因为,在全部图像里,人工并不知道哪些识别是正确的,哪些是错误的。所谓98%是人工复视后得到的,在人工复视前,全部图像的正确率究竟是多少,程序无法判断。
对于车牌识别,要提高车牌识别正确率,关键是要能区分字符Q和0,字符D和0,字符B和8等。
在三值图像中,字符Q,字符D,字符B,其位于角上的信息不容易被丢弃,或呈现为中间“灰”,或呈现为字符色。在区划的多特征模板匹配方法下,由于考虑了中间“灰”,字符识别的精度可以更高。而基于二值图像的字符识别,字符Q,字符D,字符B,其位于角上的信息容易被丢弃,没有可以用于提高字符识别精度的中间状态,字符识别的精度受限于此。
综上所述,图像五值化的意义是确保图像三值化的质量,为后续字符识别和车牌定位奠定基础。区划的多特征模板匹配方法的意义是确保字符识别正确,尽量减小最终车牌识别的错误率。基于三值图像按分割反推进行车牌定位的意义在于确保车牌不漏,尽量减小车牌识别的放弃率。从而使车牌识别的正确率有可能走向100%,实现车牌识别自动化,做到节省人工,提高车牌识别效率。因此,图像五值化和基于三值图像的车牌识别应用前景良好。
致谢 在此,谨向通过“车牌识别群”参与图像五值化讨论的老师们、同学们、同行们致谢。
全文完。
谢谢。
相关文章推荐
- 图像五值化与基于三值图像的车牌识别(2)
- 图像五值化与基于三值图像的车牌识别(3)
- 图像五值化与基于三值图像的车牌识别(1)
- 车牌识别中一种新的直接基于彩色图像的二值化简化方法
- 数字图像处理:基于MATLAB的车牌识别项目 标签: 图像处理matlab算法 2017-06-24 09:17 98人阅读 评论(0)
- 我的毕设 图像处理 基于ARM车牌识别
- 车牌识别中一种新的直接基于彩色图像的二值化简化方法
- 数字图像处理:基于MATLAB的车牌识别项目
- 基于三值图像的车牌识别测试程序发布
- 基于海康监控的图像识别设计
- 自动人脸识别基本原理 --基于静态图像的识别算法(一)特征脸补充知识 PCA
- 基于模板匹配的车牌识别系统实例
- 【Vuforia】基于Vuforia增强现实开发(一)之识别图像播放声音
- 基于Vuforia的Hololens图像识别
- 基于深度学习的图像识别进展:百度的若干实践
- 基于深度学习的图像文字识别
- [转]基于OpenCV的PHP图像人脸识别技术
- 基于深度残差学习的图像识别Deep Residual Learning for Image Recognition
- [译]基于深度残差学习的图像识别
- 基于TensorFlow的MNIST(手写图像识别)的一点经验