Computer Science and Application
Vol. 08  No. 10 ( 2018 ), Article ID: 27237 , 6 pages
10.12677/CSA.2018.810169

Two-Dimensional Code Recognition Algorithm Based on Neural Network

Tongqing Xu, Haoliang Zhang, Guofeng Liu, Haojun Zhao, Enze Zhang, Can Zhang

State Grid Jiangsu Electric Power Co., Ltd. Nanjing Power Supply Branch, Nanjing Jiangsu

Received: Oct. 6th, 2018; accepted: Oct. 17th, 2018; published: Oct. 24th, 2018

ABSTRACT

This paper mainly designs a recognition algorithm of incomplete two-dimensional codes. By designing a neural network with memory ability, the mapping relationship between incomplete two-dimensional codes and cable information is established. Thus, when two-dimensional codes are incomplete due to external reasons, the corresponding cable information can be read. In this algorithm, dynamic Lyapunov function is used to memorize pixel information of two-dimensional code by the state change of each neural network node. Firstly, image information of two-dimensional code is transmitted to two-dimensional code recognition module by two-dimensional code scanning device. Then, two-dimensional code image is transformed into a binary pixel matrix as a neural network. Next, the connection weights between neurons are trained by pixel matrix of source two-dimensional code to get corresponding weight matrix. Then, after the pixel matrix of incomplete two-dimensional code is input, neuron nodes adjust the state values until change of neuron state values is less than threshold value. Finally, cable information corresponding to the source two-dimensional code is read out from database.

Keywords:Two-Dimensional Code Recognition, Neural Network, Cable Operation and Maintenance

基于神经网络的二维码识别算法

徐同庆,张昊亮,刘国峰,赵浩君,张恩泽,张璨

国网江苏省电力有限公司南京供电分公司,江苏 南京

收稿日期:2018年10月6日;录用日期:2018年10月17日;发布日期:2018年10月24日

摘 要

本文主要设计一种残缺二维码的识别算法,通过设计具备记忆能力的神经网络,建立残缺二维码与电缆信息的映射关系,从而在二维码因外界原因出现残缺的时候,能够读取与之对应的电缆信息。该算法中的神经网络采用动力学的Lyapunov函数,利用每个节点的状态变化记忆源二维码的像素信息,首先,利用二维码扫描装置,将二维码的图像信息传递给二维码识别模块;然后,将二维码图像转化为二值像素矩阵,作为神经网络的输入;接下来,利用源二维码的像素矩阵训练神经网络各个神经元之间的连接权值,得到相应的权值矩阵;随后,输入残缺二维码的像素矩阵之后,各神经元节点不断调整状态值,直到各神经元状态值的变化小于阈值之后,停止调整;最后,将神经元状态值矩阵对应源二维码的电缆信息,从数据库中读取出来。

关键词 :二维码识别,神经网络,电缆运维

Copyright © 2018 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/

1. 引言

电网的可靠性影响着城市建设和发展的速度。其中,电缆下地是城市化建设的重要环节,也是提升供电可靠性的重要方法之一,因为地下电力电缆相比架空导线而言,不占地面空间,有专门的电缆隧道或通道,既不影响城市美观,又可避免风雨、雷电、污秽等自然灾害造成的影响,能够有效保障电能安全、稳定的供应。

为了目前电力地下电缆运维存在的问题,电力运维部门为每条电缆添加二维码,以此便于获取电缆信息数据,提升运维效率。此时,能否准确识别二维码成为获取电缆信息数据的关键问题。

目前,在二维码识别方面已经有较多研究成果 [1] - [7] 。文献 [1] 详细介绍了移动巡检系统的总体结构及系统组成,并描述了移动巡检系统的操作流程。文中所提巡检系统能够简化巡检工作流程,显著提高巡检的质量和效率。文献 [2] 就二维码尺寸联同钢管表面粗糙程度、钢管直径、二维码标刻深度等因子对二维码识别率的影响关系作了实证。文献 [3] [4] [5] 针对复杂条件下二维码识别技术在工业现场的应用研究与开发进行了深入研究,同时对图像采集、处理以及识别算法进行了深入的研究。除此之外,广东电网有限公司为解决手工录入数据、修改数据出错率较高的问题,利用二维码技术基于Android平台的移动终端作为开发环境,设计并实现基于Android移动终端的二维码识别系统。考虑了识别的速度、容错性以及通用性等方面的特性 [6] 。文献 [7] [8] [9] 针对设备巡检工作对企业业务的影响,搭建技术设备巡检平台和相应的分析、编解码方法。

然而,由于电缆所处的环境容易造成二维码的残缺,因此,亟需设计相应的二维码识别方法,提升残缺二维码的读取能力。针对上述问题,本文设计了基于神经网络的二维码识别算法(TDCRN,Two Dimensional Code Recognition algorithm based on Neural network),该算法中的神经网络采用动力学的Lyapunov函数,利用每个节点的状态变化记忆源二维码的像素信息,首先,利用二维码扫描装置,将二维码的图像信息传递给二维码识别模块;然后,将二维码图像转化为二值像素矩阵,作为神经网络的输入;接下来,利用源二维码的像素矩阵训练神经网络各个神经元之间的连接权值,得到相应的权值矩阵;随后,输入残缺二维码的像素矩阵之后,各神经元节点不断调整状态值,直到各神经元状态值的变化小于阈值之后,停止调整;最后,将神经元状态值矩阵对应源二维码的电缆信息,从数据库中读取出来。最后,通过实验验证了TDCRN算法有效性。

2. 问题模型

2.1. 问题描述

电力电缆铺设方式主要有电缆明沟、直埋和穿管,具有分布广、不可视等特点,同时,电缆沟内环境通常比较恶劣,电缆上面没有统一的挂牌标识,或已经破坏脱落,部分沟道内的电缆敷设十分混乱。在现场排查时需要反复探查。目前电缆采用塑料喷印标识牌或者铝制标识牌,塑料喷印标识牌容易褪色,造成电缆无法辨识,铝制标识牌容易被氧化腐蚀。

对地下电力电缆的管理以及维护工作难度较大,在日常维护抢修工作中,现有生产管理系统数据,只能提供大致数据,作用有限。缺乏精准的系统展示功能的情况下,对于不可见的地下电力设备资产的统计及分布,维护及巡查,成为了班组电力地下资产运行维护工作的难点及“痛处”,新的运维方式成为供电部门的迫切需求。为此,电力运维部门为每条电缆添加二维码,而残缺二维码识别问题成为影响电缆信息获取的重要原因。

2.2. 问题处理流程

针对残缺二维码识别遇到的问题,设计了基于神经网络的二维码识别算法,主要包括:神经网络训练流程和残缺二维码识别流程。具体处理流程见图1图2

Figure 1. Training process of neural network

图1. 神经网络训练流程

Figure 2. Recognition process of incomplete two-dimensional code

图2. 残缺二维码识别流程

步骤101:初始化权值矩阵。

步骤102:遍历源二维码。

步骤103:将图像传给二维码识别模块。

步骤104:将二维码转换为像素矩阵。

步骤105:将像素矩阵传递给神经网络。

步骤106:调整各神经元的连接权值。

步骤107:神经网络收敛,转步骤107;否则,转步骤106。

步骤108:将权值矩阵与数据库存储的权值矩阵求和,存储到数据库。

步骤109:源二维码遍历完成,则转步骤110;否则,转步骤102。

步骤110:权值矩阵训练完成。

步骤201:扫描二维码。

步骤202:将图像传给二维码识别模块。

步骤203:将二维码转换为像素矩阵。

步骤204:将像素矩阵传递给神经网络。

步骤205:调整各神经元的状态值。

步骤206:神经网络收敛,转步骤107;否则,转步骤105。

步骤207:将神经元状态矩阵对应源二维码的电缆信息,从数据库读出。

3. 基于神经网络的二维码识别算法

3.1. 神经网络动力学模型

将二维码图像转换为二值像素(黑为0,白为1),每个像素 X i 与一个神经元关联 V i ,神经元之间的连接权值为 W i j ,其连接结构见图3,该神经网络采用动力学的Lyapunov函数:

Figure 3. Neural network structure

图3. 神经网络结构

E = 1 2 i = 1 n j = 1 n W i j V i V j i = 1 n I i V i

3.2. 参数更新方法

神经元更新方法:

W i j = s = 1 n ( 2 v i s 1 ) ( 2 v j s 1 )

每个二维码的像素信息,对应一个权值矩阵和一组神经元状态信息。

神经元更新方法:对于任意神经元 V i ,将所有其他神经元的值作为输入值,计算加权求和(权值为 W i j , i j ),如果该值大于或等于0,则输出1。否则,输出0。

神经元更新顺序:随机选择一个神经元并更新它,然后再随机选择另一个神经元并更新它,一直这样更新直到系统处于稳定状态(Lyapunov能量函数的值可以不断下降,最终停在一个极小值,从而使神经网络达到一个稳定状态,即如果更新一次网络后发现没有神经元继续变化,就表示网络已经收敛,可以停止更新状态。)此时,各神经元的状态值对应残缺二维码源码关联的电缆信息,完成对残缺二维码的识别。

3.3. 神经网络结构

其中, X i 为二维码像素, V i 为神经元节点, Y i 为输出(残缺二维码存储的信息), W i j 为神经元之间的连接权值,二维码的数量和神经元数量之比在0.138之下。

4. 实验分析

首先,将源二维码图像转换为灰度二值矩阵,作为神经网络的输入数据,利用Lyapunov能量函数训练权值矩阵,权值矩阵初始值可设为全0。随后,将残缺二维码转化为灰度二值矩阵,利用权值矩阵,不断调整灰度二值矩阵,直至Lyapunov能量函数收敛为止,得到与源二维码相似的灰度二值矩阵,从而获取原二维码对应的电缆信息数据,本文采用的是MySQL数据库。源二维码经过神经网络训练之后,能够准确独处不同程度的残缺二维码(见图4)关联的电缆信息,效果较为理想。但是,当污损面积超过15%,识别率会逐渐下降。

(a) (b)

Figure 4. Two dimensional code. (a) Source two-dimensional code; (b) Incomplete two-dimensional code

图4. 二维码。(a) 源二维码;(b) 残缺二维码

5. 结束语

针对残缺二维码识别问题,本文设计了基于神经网络的二维码识别算法(TDCRN),有效提高了残缺电缆二维码的识别能力,从而提升了电力运维人员获取各条电缆的信息的能力。TDCRN算法,将二维码像素信息与神经元状态信息建立关联,各神经元的状态值对应残缺二维码源码关联的电缆信息,用以完成对残缺二维码的识别。同时,采用动力学的Lyapunov函数控制神经网络的训练和收敛,能够有效提升神经网络收敛速度和记忆能力。

基金项目

国网江苏省电力有限公司重点科技项目资助(项目编号:J2018066)。

文章引用

徐同庆,张昊亮,刘国峰,赵浩君,张恩泽,张 璨. 基于神经网络的二维码识别算法
Two-Dimensional Code Recognition Algorithm Based on Neural Network[J]. 计算机科学与应用, 2018, 08(10): 1552-1557. https://doi.org/10.12677/CSA.2018.810169

参考文献

  1. 1. 罗智海, 罗政. 基于二维码识别的移动终端巡检系统[J]. 数字传媒研究, 2018, 35(4): 56-59.

  2. 2. 王文娟, 张成挺, 徐培富. 基于二维码技术的管道识别标识设计[J]. 自动化与仪器仪表, 2018, 2018(7): 99-101.

  3. 3. 董玉华, 张荣辉, 苏孝雨. 复杂条件下二维码识别技术在工业现场的应用研究[J]. 智能计算机与应用, 2018, 8(2): 151-154.

  4. 4. Zhang, B.S., Ren, K., Xing, G.L., et al. (2016) SBVLC: Secure Barcode Based Visible Light Communication for Smartphones. IEEE Transactions on Mobile Computing, 15, 432-446. https://doi.org/10.1109/TMC.2015.2413791

  5. 5. Amirfakhrian, M. and Mafikandi, H. (2016) Approximation of Parametric Curves by Moving Least Squares Method. Applied Mathematics and Computation, 283, 290-298. https://doi.org/10.1016/j.amc.2016.02.039

  6. 6. 李文航, 钟业荣, 阮伟聪. 基于Android平台的二维码识别系统设计[J]. 自动化与仪器仪表, 2017(6): 147-149.

  7. 7. 刘兆银. 二维码在广电设备巡检中的开发应用[J]. 有线电视技术, 2018(7): 105-107.

  8. 8. 刘夏, 陈明锐. 二维码在企业的应用[J]. 计算机系统应用, 2013, 22(5): 14-17.

  9. 9. 许辉. 二维条码QR码的分析和编解码设计[D]: [硕士学位论文]. 北京: 北京邮电大学, 2008.

期刊菜单