Computer Science and Application
Vol.06 No.01(2016), Article ID:16897,7 pages
10.12677/CSA.2016.61007

Multi-Bar Code Recognition Algorithm Based on SM2 Encryption and Decryption of the Motion of the Video Stream

Chuncai Wang1, Yuanyuan Sun2, Zhe Li3

1Department of Science and Technology, Changchun University of Science and Technology, Changchun Jilin

2Engineering Research Department, Changchun WHY-E Science and Technology Co. Ltd., Changchun Jilin

3Software Development Apartment, Jilin ZhenCai Information and Technology Co. Ltd., Changchun Jilin

Received: Jan. 6th, 2016; accepted: Jan. 28th, 2016; published: Feb. 1st, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

The delineation of the bar code from the whole image area and the bar code identification based on multi-movement, i.e. the removal of the blur by the motion, is a difficulty on how to quickly and effectively find the barcode for recognition and location. In this paper, we studied the multi-bar code recognition technology based on the SM2 encryption and decryption of the motion of the video stream. First of all, the paper discusses the motion image deblurring techniques, positioning the one-dimensional bar code segmentation technology—the segmentation of single row codeword in the bar code symbols. This paper mainly uses the method of template matching to locate barcode segmentation and adopts 8-direction template for barcode matching. Secondly there will be distortions of bar code due to the movement, and there is a need to be corrected and be identified, with the decoding according to the principle of identification, the statistics of width of black and white modules, getting empty sequences, and the foundation of the codeword table for the codeword sequence. Because the amount of information stored in the barcode is lacking, we need to query the database to obtain related barcode origin, the date and the information which can be traced back, use the country’s dense SM2 encrypting sensitive information, and identify the bar code at the end of the encryption of sensitive information in the back stage. Experimental results show that the recognition algorithm has excellent performance, significantly improves the recognition rate of the bar code, and meets the requirements of the actual use in the product storage stage.

Keywords:Barcode Location, Barcode Recognition, Country Administration Announce SM2 Encryption and Decryption, Template Match, One-Dimension Barcode

基于国密SM2加解密的视频流的运动的多条码识别算法研究

王春才1,孙媛媛2,李哲3

1长春理工大学,计算机科学技术学院,吉林 长春

2长春市万易科技有限公司,工程研究中心,吉林 长春

3吉林真才信息技术有限公司,软件产品研发部,吉林 长春

收稿日期:2016年1月6日;录用日期:2016年1月28日;发布日期:2016年2月1日

摘 要

从整幅图像中圈定条码区域和基于运动的多条码识别即是去除运动造成的模糊一直以来是国内的难点,如何快速有效对条码进行定位与识别。本文研究了基于国密SM2加解密的视频流的运动的多条码识别技术。首先探讨了运动图像去模糊技术,一维条码的定位分割技术,即在条码中分割出单行码字符号的图像,本文主要采用模板匹配方法对条码进行定位分割,采用8个方向的模板对条码进行匹配;其次由于运动条码会存在扭曲,需要进行矫正、进行识别,根据条码的识别原理译码,统计各黑白模块宽度,获取条空序列,然后查找码字表获得码字序列,由于一维条码存储信息量少,需要查询数据库进行关联获得条码的产地、日期等可以追溯到的敏感信息,采用国密的SM2对敏感信息加密,最后在追溯查询阶段对敏感信息进行解密识别出条码。实验结果表明,该识别算法具有优秀的性能,显著地提高了条码的识别率,在产品入库阶段满足了实际使用的要求。

关键词 :条码定位,条码识别,国密加解密,模板匹配,一维条码

1. 引言

条码识别技术是20世纪中期发展起来的一种自动识别技术,它是集条码理论、光电技术、计算机技术、通信技术、条码印制技术为一体的高新技术。条码技术与EDI和集装箱技术共同成为国际贸易的三大技术。条码最早出现在20世纪40年代,但得到实际应用和发展是在70年代。1973年美国统一编码协会(UCC)建立了UPC条码系统,实现了UPC码制标准化。1977年欧洲共同体在UPC-A码基础上制定出欧洲物品编码EAN-13和EAN-8码,签署了“欧洲物品编码”协议备忘录,并正式成立了欧洲物品编码协会(EAN)。现在,条码技术在各个国家和地区都已得到普遍应用,而且正在快速地向世界各地推广,其应用领域也越来越广泛,并逐步渗透到许多技术领域。条码技术,它是集编码、符号表示、印刷、识别、数据采集和处理于一身的技术,是数据采集技术和自动识别技术的一个重要组成部分。条码技术解决了计算机应用中数据采集的瓶颈,实现了信息的快速、准确获取和传输。80年代中期,我国一些高等院校、科研部门及出口企业开始将条码技术的研究和推广应用逐步提到议事日程中。1988年12月28日,经国务院批准,国家技术监督局成立了“中国物品编码中心”,其主要任务是研究、推广条码技术,统一组织、开发、协调和管理我国的有关条码技术的工作。经过20多年的迅速发展,条码技术已经广泛地应用在交通运输、商业、制造业、仓储、金融业、医疗卫生、运输业等行业中的多个领域。其中,零售业是我国条码技术最先广泛应用的领域。近年来,随着物流行业的飞速发展,条码技术的应用也从起步阶段走向快速发展的阶段[1] 。

条码技术的核心内容是利用光电扫描或图像釆集设备识读条码符号,从而实现机器的自动识别,并快速准确地将信息录入到计算机进行数据的处理,以达到自动管理的目的。用光电扫描原理是利用条形码的光学特性——当光照射到黑条上时,光对黑条的吸收率高,其反射率则最低;而白条对光的吸收率最低,反射率最高,从而根据接收到的反射光强'弱来识读条形码[2] 。目前国内外研究较多是基于数字图像处理的条码识别,即利用计算机强大的图像处理能力编写相应的条码图像识读算法程序对采集到的条码图像进行译码识别,与传统的用条码识读器硬件进行检测相比,软件检测具有更大的灵活性和较低的成本,因此具有很大的发展潜力[3] - [5] 。

一维条码具有可靠性高、成本低、速度快、应用面广,但随着现代社会的不断发展和高新科技的不断进步,信息量也出现了爆炸式的增长,数据的可靠性、安全性以及如何使条码在有限的几何空间内表示更多更复杂的信息,越来越成为最迫切的需求。传统的一维条码受信息密度较低、信息容量较小、没有错误校正能力、需依赖数据库等限制,显然已经难以满足人们的需求。目前对于静态图像、单个条码的识别技术较为成熟,但是多条码定位(从整幅图像中圈定条码区域)和运动条码识别(主要工作是去除运动造成的模糊)在国内尚属技术难题。

2. 运动图像去模糊

关于图像的迭代去模糊算法是一个基于最大后验概率(MAP)的迭代去模糊算法,该算法的流程如下:

步骤一:首先输入模糊图像B,初始化模糊核K;

步骤二:利用模糊图像B初始化清晰图像I;

步骤三:利用计算模糊核K,利用计算清晰图像I,并分别用新得到的计算值代替原来的K和I;

步骤四:计算K和I变化率,当趋于收敛时,终止计算,执行步骤五;否则执行步骤三;

步骤五:输出清晰图像I和模糊核K。

运动模糊图像去模糊是图像恢复领域的重要研究课题。由于在获取图像信息的过程中出现了相对的运动,这时所得到的图像中会存在某种程度的模糊。尽管目前有多种图像去模糊的方法,但大部分方法计算复杂、速度缓慢、不能处理较大的模糊核、恢复出来的图像带有振铃效应、需要多幅图像或者辅助的硬件设备等缺点。

提出了关于运动图像的迭代去模糊算法,该算法是一个基于最大后验概率(MAP)的迭代去模糊算法。该算法主要由两部分构成,模糊核的估计和清晰图像的恢复,根据贝叶斯理论,建立了一个求最大后验概率(MAP)的问题,并将其转化为求最小能量问题,设定迭代次数,通过迭代方法计算模糊核和清晰图像,最后可以得到令人满意的恢复图像。进而对迭代去模糊算法做了如下一些改进,对自然图像的约束做了改进,使用高斯分布对自然图像的重尾分布进行拟合,算法实现起来比较简单,而且对振铃效应和噪声都能较好的抑制,降低了算法的复杂性。对模糊核的计算做了改进,采用Landweber迭代方法求解,Landweber迭代方法容易理解,且迭代方法简单,可操作性强,见图1

3. 条码定位

条码定位,也即条码分割,是自动条码识别系统的第一步,其效果直接影响到识别率。当背景中出现相似的纹理噪声,或环境光照不均匀、条码扭曲、条码区域有污染划痕等都可能影响定位的效果。另外,由于绕Z轴旋转所导致的条码扭曲,由于其轮廓不再呈矩形状,给定位也带来一定困难。国内外很

Figure 1. The effect image before and after deblurring

图1. 去模糊前后效果图

多学者提出了有关条形码定位的方法,比如基于纹理特性[6] 、文献[6] 基于多通道Gabor滤波技术,讨论了对平整和弯曲表面的条形码定位均具有旋转不变性的监督和非监督方法,缺点是计算特征图像比较耗时,文献中实验大约需32 s,且特征分类约需3 s,显然不适于实时应用。利用图像分块[7] 、文献[7] 提出的算法是先将图像分成32*32的小块,确定每个小块中平行线的角度值,然后将具有类似角度值的小块组合在一起构成条码区域,该算法思路清晰,但经实验发现对有些图像中的条码区域不能完整地提取出来。使用离散余弦变换(Discrete Cosine Transform, DCT) [8] 、文献[8] 提出在DCT域的一种快速定位一维条形码的方法,首先应用DCT的性质区分条码区域和其他文本,使用形态学操作平滑检测的条形码区域,利用提取出的区域特征检测原图像中条形码的位置和方位,由于算法中用到的权重矩阵系数不能自适应确定,故算法缺乏鲁棒性。采用大津法确定的阈值图像边缘检测图像定位条码时间0.13 s [9] 、文献[9] 应用数学形态学方法利用sobel算子和形态学算子进行条码定位在不同方向的边缘上能检测到、模板匹配[10] 等,为成功实现1D多条码的定位,本文采用去模糊算法结合模板匹配。根据不同的搜索方向构造8个不同方向的模板。选取水平0度、45度、90度、135度、180度、225度、270度、315度长度相同的八个方向尺寸一定的模板,在具有条码的目标图像中搜索与模板具有相同尺寸或者等比例放大或者等比缩小、方向和图像的子图,通过相关行分析找到与模板图像关联程度最大的区域,确定其中心的坐标位置并截取图像,确定条码区域。

4. 条码识别

理想条件下的条码识别包括码字分割、译码,在各种复杂条件,如光照不均、低对比度、边缘模糊、倾斜扭曲、污染破损、背景噪声干扰等情况下,准确定位并识别出条码信息。具体包括如下步骤见图2

1) 扭曲矫正

条码图像的扭曲可分为线性扭曲和非线性扭曲。对于线性扭曲的图像,可以选取条码的四个顶点作为控制点,采用仿射变换或双线性变换等多项式模型实现空间变换,完成条码图像的矫正。对于非线性扭曲的情况,就需要提高模型的阶次,利用高次多项式模型进行逼近,变换中要求的控制点的个数和计算量也随之增加,而EAN-13条码中可作为控制点的特征点个数有限。

2) 条码译码

译码首先要统计各黑白模块宽度,获取条空序列,然后查找码字表,经解码、纠错译出所编码的信息。统计模块宽度,即确定条空边界位置,也即条码的二值化。对于清晰无损的条码,经典的二值化算法基本都能达到很好效果,对于条码图像曝光不足等导致的低对比度以及边缘模糊、条码区域黑色噪声污染等情况。对于这类条码图像的处理,先通过对图像进行增强恢复图像,采用滤波去除噪声,找到最佳的阈值,再进行二值化,见图3

Figure 2. The flowchart of barcode recognition

图2. 条码识别流程图

Figure 3. One-dimension barcode translation code

图3. 一维条码译码

5. 条码加解密

本文采用国密算法SM2引用文献[11] [12] 对识别的一维码进行加密,采用随机数生成器生成自己的私钥,使用国密局公布的算法流程计算可以公开的公钥,在对识别出的一维码进行公钥加密,以便保护一维码中的敏感数据;在解密操作中,采用私钥解密出敏感数据,进行条码的真正识别,见图4图5

6. 实验结果与讨论

6.1. 条码识别实验结果

图6图7

本文采用了大华高清网络摄像头对条码进行定位识别,利用了网络摄像头的sdk函数进行视频的监控及捕捉帧多条码频图像,在室内每10 s动态采集100帧的多条码的不同方向无遮挡的多条码数据,选取了10帧变化差异比较大的数据,经过试验结果见表1

表1可见,边缘检测算子和提取边缘线方法的识别的一维码正确识别率50%,本文使用的方法的正确识别率90%。采用本文方法对室内的带有一维码的相关书籍及物品进行识别。其中12个方向不同的条码在方向条码之间距离不均时,12个条码有一次识别出8个条码,有四个方向的条码相差距离较近时,使用此方法没有识别出距离相近的四个条码,由于模板的选取的方向不是能够覆盖所有的方向,存在找不到条码的情况,这种方法仍需要增加条码的模板数量,进一步增大识别的准确度,但是耗费的时间也会进一步增大,目前采用的这种既保证实时性又保证准确度不致下降的识别时间是1.3 s。

6.2. 实验结论

从实验结果可以看出,基于国密SM2加解密的视频流的运动的多条码识别算法研究应用到了产品的入库阶段,可以实时识别多个不同方向的条码,为了避免条码的敏感信息泄露,同时对存到数据库的敏感信息使用国密算法进行加密,在译码阶段的关联数据库信息进行解密还原需要相应的入库敏感信息,其中条码定位识别阶段是关键,采用的八个方向尺寸一定的模板、匹配、定位,在具有条码的目标图像

Table 1. Identify comparison of ten barcode results

表1. 多条码识别比较结果

Figure 4. Sensitive information encryption

图4. 敏感信息加密

Figure 5. Sensitive information decryption

图5. 敏感信息解密

Figure 6. Two barcodes original image

图6. 两个条码原图

Figure 7. Two barcodes location recognition image

图7. 两个条码定位识别图

中搜索与模板具有相同尺寸或者等比例放大或者等比缩小、方向和图像的子图,通过相关行分析找到与模板图像关联程度最大的区域,确定其中心的坐标位置并截取图像,确定条码区域。目前可以达到实时性要求,基本上可以满足产品入库的要求。

基金项目

科技部科技型中小企业创新基金项目(13C26212201281)吉林省科技型中小企业创新基金项目(SC201201015)吉林省科技计划项目(20140519020JH)。

文章引用

王春才,孙媛媛,李哲. 基于国密SM2加解密的视频流的运动的多条码识别算法研究
Multi-Bar Code Recognition Algorithm Based on SM2 Encryption and Decryption of the Motion of the Video Stream[J]. 计算机科学与应用, 2016, 06(01): 58-64. http://dx.doi.org/10.12677/CSA.2016.61007

参考文献 (References)

  1. 1. 张闯. 条码识别技术研究及其在产品流水线上的应用[D]: [硕士学位论文]. 上海: 东华大学, 2013: 1-6.

  2. 2. Joseph, E. and Pavlidis, T. (1991) Wave Form Recognition with Application to Bar Codes. 1991 IEEE In-ternational Conference on Decision Aiding for Complex Systems, Charlottesville, 13-16 October 1991, 129-134.

  3. 3. 张宁. 基于摄像方式的二维条码识别算法的研究[D]: [硕士学位论文]. 南京: 南京理工大学, 2013: 1-63.

  4. 4. 雷海军, 林毅锋, 罗小江, 沈伟鹏. 电表图像中多条码的定位与识别[J]. 湖南工程学院学报(自然科学版), 2014, 24(3): 1-4.

  5. 5. 闫锡鹏. 快递邮件分拣条形码图像分析[D]: [硕士学位论文]. 上海: 华东理工大学, 2014.

  6. 6. Fowlkes, C., Belongie, S., Chung, F., et al. (2004) Spectral Grouping Using the Nystrêm Method. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26, 214-255. http://dx.doi.org/10.1109/TPAMI.2004.1262185

  7. 7. Ersahin, K., Cumming, I.G. and Yedlinm, J. (2010) Classification of Polarimetric SAR Data Using Spectral Graph Segmentation and Partitioning. IEEE Transactions on Geoscience and Remote Sensing, 48, 164-174. http://dx.doi.org/10.1109/TGRS.2009.2024303

  8. 8. Anfinsen, S.N., Jenssen, R. and Eltoft, T. (2009) Spectral Clustering of Polarimetric SAR Data with Wish Art-Derived Distance Measures. http://earth.esa.int/workshops/polin-sar2007 /papers/140_anfinsen.pdf

  9. 9. 吴昕生, 邓军. 利用提取边缘线的方法定位条形码[J]. 计算机应用学报, 2010, 30(5): 1246-1250.

  10. 10. Yang, J., Peng, Y.N. and Lin, S.M. (2001) Similarity between Two Scattering Matrices. Electronics Letters, 37, 193- 194. http://dx.doi.org/10.1049/el:20010104

  11. 11. 国家密码管理局. SM2椭圆曲线公钥密码算法[Z]. 国家密码管理局, 2010: 1-30.

  12. 12. 赵春平. Openssl编程手册[M]. 无锡: 江南计算技术研究所: 1-60.

期刊菜单