CN110765795A - 二维码识别方法、装置及电子设备 - Google Patents
二维码识别方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110765795A CN110765795A CN201910907003.6A CN201910907003A CN110765795A CN 110765795 A CN110765795 A CN 110765795A CN 201910907003 A CN201910907003 A CN 201910907003A CN 110765795 A CN110765795 A CN 110765795A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- code image
- key point
- deconvolution
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 127
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 claims description 54
- 230000004927 fusion Effects 0.000 claims description 23
- 238000013527 convolutional neural network Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 11
- 238000002372 labelling Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Toxicology (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了二维码识别方法、装置及电子设备,该方法包括:获取二维码图像;利用关键点检测网络确定二维码图像中的每一个关键点的位置,关键点检测网络为神经网络;基于每一个关键点的位置,确定二维码图像中的数据区域的位置;从数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。提升在复杂识别情况下的二维码识别率,并且提升二维码的识别的鲁棒性。
Description
技术领域
本申请涉及二维码领域,具体涉及二维码识别方法、装置及电子设备。
背景技术
二维码作为一种信息载体,广泛用于移动支付、定位等领域。目前通常采用的对二维码进行的识别方式为:定位图像中的二维码,采用角点和线段检测算法检测二维码中的线段、角点等,根据检测到的线段、角点,确定二维码中的数据区域位置,从数据区域获取二维码编码信息,对二维码编码信息进行解码,得到作为二维码识别结果的字符串。
然而,在诸如二维码部分区域被遮挡、二维码部分区域磨损的复杂识别情况下,通过角点和线段检测算法检测二维码中的线段、角点的准确性较低或检测不到二维码中的线段、角点,导致无法准确地确定二维码图像中的数据区域,无法获取二维码的完整的二维码编码信息而得到二维码识别结果。
发明内容
为克服相关技术中存在的问题,本申请提供一种二维码识别方法、装置、电子设备。
根据本申请实施例的第一方面,提供一种二维码识别方法,包括:
获取二维码图像;
利用关键点检测网络确定所述二维码图像中的每一个关键点的位置,所述关键点检测网络为神经网络;
基于所述每一个关键点的位置,确定所述二维码图像中的数据区域的位置;
从所述数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。
根据本申请实施例的第二方面,提供一种二维码识别装置,包括:
二维码图像获取单元,被配置为:获取二维码图像;
关键点确定单元,被配置为利用关键点检测网络确定所述二维码图像中的每一个关键点的位置,所述关键点检测网络为神经网络;
数据区域确定单元,被配置为基于所述每一个关键点的位置,确定所述二维码图像中的数据区域的位置;
识别结果生成单元,被配置为从所述数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。
本申请实施例提供的二维码识别方法、装置,实现了利用关键点检测网络准确地确定二维码图像中的每一个关键点的位置。根据二维码图像中的关键点在二维码图像中的位置,准确地确定二维码图像中的数据区域的位置,从而,从数据区域获取完整的二维码编码信息并且对二维码编码信息进行解码,得到二维码识别结果。提升在复杂识别情况下的二维码识别率,并且提升二维码的识别的鲁棒性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的二维码识别方法的流程图;
图2示出了利用关键点检测网络确定关键点的位置的一个流程图;
图3示出了二维码图像的示意图;
图4示出了本申请实施例提供的二维码识别装置的结构框图;
图5示出了本申请实施例提供的电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请实施例提供的二维码识别方法的流程图,该方法包括:
步骤101,获取二维码图像。
在本申请中,采集到的图像包括二维码图像。在进行二维码识别之前,首先由终端上的摄像头采集包括二维码的图像。二维码为包括二维码编码信息的图像,二维码也可称之为二维码图像。
在本申请一些实施例中,可以采用边缘检测算法Sobel算法、Canny算法检测在采集到的图像中的二维码图像的边缘,确定采集到的图像中的二维码图像占据的区域,然后,根据确定的采集到的图像中的二维码图像占据的区域,从采集到的图像中提取出二维码图像,从而,获取二维码图像。
在另一些实施例中,获取二维码图像包括:利用二维码检测网络确定采集到的图像中的二维码图像占据的区域,二维码检测网络为神经网络;基于确定的区域,从采集到的图像中提取出二维码图像。
从而,利用二维码检测网络确定采集到的图像中的二维码图像占据的区域,准确地确定二维码图像占据的区域。
在本申请中,可以利用二维码检测网络确定二维码图像占据的区域。在利用二维码检测网络确定二维码图像占据的区域之后,可以基于确定出的二维码图像占据的区域,从采集到的图像中提取出二维码图像。
在本申请中,二维码检测网络包括卷积神经网络。二维码检测网络中的卷积神经网络可以用于:提取采集到的图像的与二维码图像占据的区域相关的特征;基于提取的特征,生成多个检测信息。每一个检测信息分别属于一个检测框。检测信息包括:检测框的坐标信息、检测框的得分。检测框的形状可以为矩形。检测框的得分指示检测框占据的区域为二维码图像占据的区域的概率。检测框的坐标信息包括:检测框的每一个角点在采集到的图像中的坐标。对于每一个检测框,可以根据检测框的坐标信息,确定检测框占据的区域。
在本申请中,二维码检测网络中的卷积神经网络可以为采用FPN(FeaturePyramid Network)架构的卷积神经网络。在采用FPN架构的卷积神经网络中,对于每一个检测框,可以计算出检测框的多个相对得分,根据该检测框的多个相对得分,得到检测框的得分。
在本申请中,二维码检测网络中可以包括二维码图像区域确定单元。在得到多个检测信息之后,二维码图像区域确定单元可以基于得分最高的检测框占据的区域,确定二维码图像占据的区域。在二维码检测网络的精度较高的情况下,通常得分最高的检测框占据的区域为二维码图像占据的区域。换言之,得分最高的矩形检测框为二维码图像的轮廓。可以将得分最高的检测框占据的区域直接作为二维码图像占据的区域。
二维码图像区域确定单元也可以根据二维码图像的边界区域中的像素的特征,确定二维码图像在上、下、左、右中的一个或多个方向上的边界,同时,结合二维码图像为矩形图像、二维码图像的尺寸等特征,可以确定二维码图像占据的区域,从而,在得分最高的检测框包围二维码图像并且得分最高的检测框占据的区域略大于二维码图像占据的区域的情况下,确定二维码图像占据的区域。
在本申请中,在利用二维码检测网络确定采集到的图像中的二维码图像占据的区域之前,可以预先以深度学习方式对二维码检测网络中的卷积神经网络进行训练。
在本申请中,用于对二维码检测网络进行训练的每一个训练样本为一个包括二维码的图像。对于每一个作为训练样本的包括二维码的图像,可以对作为训练样本的包括二维码的图像进行标注,得到作为训练样本的包括二维码的图像的标注信息。作为训练样本的包括二维码的图像的标注信息可以为二维码的角点在作为训练样本的包括二维码的图像中的坐标。
在本申请中,在每一次对二维码检测网络中的卷积神经网络的训练过程中,分别将多个作为训练样本的包括二维码的图像输入到二维码检测网络中训练该二维码检测网络。每个训练样本输入到二维码检测网络后,该二维码检测网络可以得到多个预测出的检测信息。预测出的检测信息包括:预测出的检测框的坐标信息、预测出的检测框的得分。可以利用预先定义的损失函数计算出指示预测出的得分最高的检测框的坐标信息与训练样本的标注信息的差异量的损失函数值,根据计算出的损失函数值,对二维码检测网络中的卷积神经网络的网络参数进行调整。
步骤102,利用关键点检测网络确定二维码图像中的每一个关键点的位置。
在本申请中,对于二维码图像中的每一个关键点,关键点的位置可以利用坐标表示。
在本申请中,关键点可以为二维码图像中的位置探测图形、定位图形等二维码图像中的用于定位的图形中的点。
例如,二维码图像中的探测图形用于定位二维码的位置。在一些实施例中,二维码图像的关键点包括:二维码图像中的三个位置探测图形中的每一个位置探测图形的中心点。
在本申请中,关键点检测网络为神经网络。关键点检测网络可以包括卷积神经网络。关键点检测网络中的卷积神经网络用于针对每一个关键点,从二维码图像中提取出与关键点相关的特征,根据提取出的与关键点相关的特征,预测关键点的位置。
在利用关键点检测网络确定二维码图像中的每一个关键点的位置之前,可以预先以深度学习方式对关键点检测网络中的卷积神经网络进行训练。
在本申请中,用于对关键点检测网络中的卷积神经网络进行训练的每一个训练样本为一个二维码图像。可以对每一个作为训练样本的二维码图像中的每一个关键点的位置进行标注,得到作为训练样本二维码图像的标注信息。作为训练样本的二维码图像的标注信息可以包括:作为训练样本的二维码图像中的每一个关键点在作为训练样本的二维码图像中的坐标。在利用作为训练样本的二维码图像对关键点检测网络中的卷积神经网络进行训练的过程中,每一次将一个作为训练样本的二维码图像输入到关键点检测网络,得到预测出的多个关键点的坐标。然后,计算预先定义的损失函数的损失函数值,损失函数值指示预测出的多个关键点的坐标和标注的二维码的多个关键点的坐标之间的差异量,根据计算出的损失函数值,更新关键点检测网络中的卷积神经网络的网络参数。
在本申请中,在利用关键点检测网络确定二维码图像中的每一个关键点的位置时,可以将二维码图像输入到关键点检测网络,由关键点检测网络中的卷积神经网络针对每一个关键点,从二维码图像中提取出与关键点相关的特征,根据提取出的特征,预测关键点的位置,然后,输出关键点的位置。从而,利用关键点检测网络确定二维码图像中的每一个关键点的位置。
在一些实施例中,利用关键点检测网络确定二维码图像中的每一个关键点的位置包括:对二维码图像进行特征提取,得到目标特征图;基于目标特征图,生成每一个关键点对应的热力图;基于每一个关键点对应的热力图,确定每一个关键点的位置,每一个关键点对应的热力图包括该关键点在二维码图像中的每一个预测位置对应的概率。
在本申请中,关键点检测网络可以包括卷积神经网络。关键点检测网络用于:对二维码图像进行特征提取,得到目标特征图;基于目标特征图,生成每一个关键点各自对应的热力图;基于每一个关键点各自对应的热力图,确定每一个关键点的位置。
例如,所有关键点包括:二维码图像中的三个位置探测图形中的每一个位置探测图形的中心点。利用关键点检测网络对二维码图像进行特征提取,得到目标特征图;基于目标特征图,生成每一个位置探测图形的中心点各自对应的热力图;基于每一个位置探测图形的中心点各自对应的热力图,确定每一个位置探测图形的中心点的位置。
在本申请中,关键点检测网络中的卷积神经网络包括卷积处理单元。卷积处理单元包括一个或多个卷积层。在对二维码图像进行特征提取时,可以利用卷积处理单元对二维码图像进行卷积处理,以提取二维码图像的与二维码图像中的关键点的位置相关的特征,得到目标特征图。
在本申请中,每一个关键点各自对应一个热力图。关键点对应的热力图包括关键点在二维码图像中的每一个预测位置各自对应的概率。对于每一个预测位置,预测位置对应的概率指示预测位置为关键点在二维码图像中的实际位置的概率。每一个预测位置分别利用一个坐标表示。
在本申请中,关键点检测网络可以包括用于生成每一个关键点各自对应的热力图的关键点热力图生成单元。关键点热力图生成单元的输入为目标特征图,关键点热力图生成单元基于目标特征图,生成每一个关键点各自对应的热力图。
在本申请中,关键点检测网络可以包括用于基于每一个关键点各自对应的热力图,确定每一个关键点的位置的关键点位置确定单元。
在本申请中,对于每一个关键点,关键点位置确定单元可以将关键点对应的热力图中对应的概率最大的预测位置确定为关键点在二维码图像中的位置。
在本申请中,关键点热力图生成单元可以为关键点检测网络中的卷积神经网络中的用于生成每一个关键点各自对应的热力图的卷积层。
在一些实施例中,关键点包括:二维码图像中的位置探测图形的角点。
在本申请中,对于二维码图像中的每一个位置探测图形,可以将位置探测图形的每一个角点均分别作为一个关键点。关键点的数量可以为12个。
在本申请中,在利用关键点检测网络确定二维码图像中的每一个关键点的位置之前,可以预先以深度学习方式对关键点检测网络中的卷积神经网络进行训练。
在本申请中,用于对关键点检测网络中的卷积神经网络进行训练的每一个训练样本为一个二维码图像。可以对每一个作为训练样本的二维码图像中的每一个关键点的位置进行标注,得到作为训练样本二维码图像的标注信息。作为训练样本的二维码图像的标注信息可以包括:作为训练样本的二维码图像中的每一个角点在作为训练样本的二维码图像中的坐标。
例如,关键点为二维码图像中的位置探测图形的角点。对于二维码图像中的每一个位置探测图形,将位置探测图形的每一个角点均分别作为一个关键点。关键点的数量为12个。作为训练样本的二维码图像的标注信息可以包括:作为训练样本的二维码图像中的每一个位置探测图形的角点在二维码图像中的坐标。
在利用作为训练样本的二维码图像对关键点检测网络中的卷积神经网络进行训练的过程中,每一次将一个作为训练样本的二维码图像输入到关键点检测网络,得到预测出的多个关键点的坐标。然后,计算预先定义的损失函数的损失函数值,损失函数值指示预测出的多个关键点的坐标和标注的二维码的多个关键点的坐标之间的差异量,根据计算出的损失函数值,更新关键点检测网络中的卷积神经网络的网络参数。
在一些实施例中,对二维码图像进行特征提取,得到目标特征图包括:利用卷积处理单元对二维码图像进行卷积处理,得到第一特征图;利用反卷积处理单元对第一特征图进行反卷积处理,得到第二特征图;将第二特征图作为目标特征图。
在本申请中,关键点检测网络中的卷积神经网络可以包括卷积处理单元和反卷积处理单元。可以利用卷积处理单元和反卷积处理单元,生成目标特征图。
例如,关键点检测网络中的卷积神经网络可以为采用FPN(Feature PyramidNetwork)架构的卷积神经网络。采用FPN架构的卷积神经网络包括卷积处理单元和反卷积处理单元。利用采用FPN架构的卷积神经网络中的卷积处理单元对二维码图像进行卷积处理,得到第一特征图。利用采用FPN架构的卷积神经网络中的反卷积处理单元对第一特征图进行反卷积处理,得到第二特征图;将第二特征图作为目标特征图。
在本申请中,当卷积处理单元包括多个卷积层时,在卷积处理单元对二维码图像进行卷积处理的过程中,第一个卷积层的输入为二维码图像,对于卷积处理单元中的每一个卷积层,该卷积层对该卷积层的输入进行卷积,得到该卷积层输出的特征图。第一个卷积层对二维码图像进行卷积,得到第一个卷积层输出的特征图,第二个卷积层的输入为第一个卷积层输出的特征图,第二个卷积层对第一个卷积层输出的特征图进行卷积,得到第二个卷积层输出的特征图,以此类推,最后一个卷积层输出的特征图作为第一特征图。第一特征图作为反卷积处理单元中的第一个反卷积层的输入。
在本申请中,当反卷积处理单元包括多个反卷积层时,在反卷积处理单元对第一特征图进行反卷积处理的过程中,对于反卷积处理单元中的每一个反卷积层,该反卷积层对该反卷积层的输入进行反卷积,得到该反卷积层输出的特征图。第一个反卷积层对卷积处理单元中的最后一个卷积层输出的特征图即第一特征图进行反卷积,得到第一个反卷积层输出的特征图,第二个反卷积层的输入为第一个反卷积层输出的特征图,第二个反卷积层对第一个反卷积层输出的特征图进行反卷积,得到第二个反卷积层输出的特征图,以此类推。反卷积处理单元中的最后一个反卷积层输出的特征图作为第二特征图即目标特征图,目标特征图作为关键点热力图生成单元的输入。
在本申请中,关键点热力图生成单元可以基于反卷积处理单元中的最后一个反卷积层输出的特征图,输出每一个关键点各自对应的热力图。
在本申请中,反卷积处理单元可以恢复在利用卷积处理单元对二维码图像进行卷积处理过程中丢失的细粒度特征。从而,利用更为丰富的特征对每一个关键点的位置进行预测,更加精确地预测每一个关键点的位置,相应的,最终确定的每一个关键点的位置更加精确。
在一些实施例中,反卷积处理单元中的第一个反卷积层的输入为第一特征图。反卷积处理单元中的每一个反卷积层可以分别对应卷积处理单元中的一个卷积层。利用反卷积处理单元对第一特征图进行反卷积处理,得到第二特征图包括:对于反卷积处理单元中的每一个反卷积层,将反卷积层输出的特征图与反卷积层对应的卷积层输出的特征图进行特征融合,得到反卷积层对应的融合特征图,其中,对于反卷积处理单元中的除了最后一个反卷积层之外的每一个反卷积层,反卷积层对应的融合特征图作为反卷积层的下一个反卷积层的输入;将反卷积处理单元中的最后一个反卷积层输出的特征图与最后一个反卷积层对应的卷积层输出的特征图进行特征融合,得到最后一个反卷积层对应的融合特征图;将最后一个反卷积层对应的融合特征图作为第二特征图。
在利用反卷积处理单元对第一特征图进行反卷积处理得到第二特征图的过程中,首先将第一特征图输入到反卷积处理单元中的第一个反卷积层,第一个反卷积层对第一特征图进行反卷积,得到第一个反卷积层输出的特征图。将第一个反卷积层输出的特征图与第一个反卷积层对应的卷积层输出的特征图进行特征融合,得到第一个反卷积层对应的融合特征图,将第一个反卷积层对应的融合特征图作为第二个反卷积层的输入。
第二个反卷积层对第一个反卷积层对应的融合特征图进行反卷积,得到第二个反卷积层输出的特征图。将第二个反卷积层输出的特征图与第二个反卷积层对应的卷积层输出的特征图进行特征融合,得到第二个反卷积层对应的融合特征图,将第二个反卷积层对应的融合特征图作为第三个反卷积层的输入。依次类推,将最后一个反卷积层输出的特征图与最后最后一个反卷积层对应的卷积层输出的特征图进行特征融合,得到最后一个反卷积层对应的融合特征图。最后一个反卷积层对应的融合特征图作为第二特征图即目标特征图。
请参考图2,其示了利用关键点检测网络确定关键点的位置的示例流程图。
在图2中,示出了关键点检测网络中的卷积处理单元中的多个层、反卷积处理单元中的多个层。卷积处理单元包括:卷积层1、卷积层2、卷积层3,卷积层4。卷积层1为卷积处理单元中的第一个卷积层,卷积层4为卷积处理单元中的最后一个卷积层。反卷积处理单元包括反卷积层1、反卷积层2、反卷积层3。反卷积层1为反卷积处理单元中的第一个反卷积层,反卷积层3为反卷积处理单元中的最后一个反卷积层。
卷积层1的输入为二维图图像。卷积层1对二维码图像进行卷积,得到卷积层1输出的特征图。卷积层2的输入为卷积层1输出的特征图,卷积层2对卷积层1输出的特征图进行卷积,得到卷积层2输出的特征图。卷积层3的输入为卷积层2输出的特征图,卷积层3对卷积层2输出的特征图进行卷积,得到卷积层3输出的特征图。卷积层4的输入为卷积层3输出的特征图,卷积层4对卷积层3输出的特征图进行卷积,得到卷积层4输出的特征图。
卷积层4输出的特征图为第一特征图。卷积层4输出的特征图作为反卷积层1的输入。反卷积层1对卷积层4输出的特征图进行反卷积,得到反卷积层1输出的特征图。反卷积层2的输入为反卷积层1输出的特征图,反卷积层2对反卷积层1输出的特征图进行反卷积,得到反卷积层2输出的特征图。反卷积层3的输入为反卷积层2输出的特征图,反卷积层3对反卷积层2输出的特征图进行反卷积,得到反卷积层3输出的特征图。
反卷积处理单元中的最后一个反卷积层即反卷积层3输出的特征图可以作为关键点热力图生成单元的输入。关键点热力图生成单元基于最后一个反卷积层即反卷积层3输出的特征图,输出每一个关键点各自对应的热力图。关键点热力图生成单元可以为关键点检测网络中的卷积神经网络中的用于生成每一个关键点各自对应的热力图的卷积层。
关键点可以为二维码图像中的位置探测图形的角点。对于二维码图像中的每一个位置探测图形,将位置探测图形的每一个角点均分别作为一个关键点。关键点的数量可以为12个。关键点热力图生成单元可以输出12个关键点中的每一个关键点在二维码图像中的坐标。
在图2中,通过虚线示出反卷积层与卷积层之间的横向连接。当反卷积层与卷积层之间具有横向连接时,则每一个反卷积层各自对应一个卷积层。反卷积层输出的特征图的尺寸可以与反卷积对应的卷积层输出的特征图的尺寸相同。反卷积层1对应卷积层4,反卷积层2对应卷积层3,反卷积层3对应反卷积层2。
当反卷积层与卷积层之间具有横向连接时,对于除了最后一个反卷积层之外的每一个反卷积层,反卷积层对作为反卷积层的输入的特征图进行反卷积,得到反卷积层输出的特征图,然后,将反卷积层输出的特征图与反卷积层对应的卷积层输出的特征图进行特征融合,得到反卷积层对应的融合特征图,将反卷积层对应的融合特征图作为反卷积层的下一个反卷积层的输入。
将反卷积层1输出的特征图与卷积层4输出的特征图进行特征融合,得到反卷积层1对应的融合特征图,将反卷积层1对应的融合特征图作为反卷积层2的输入。
将反卷积层2输出的特征图与卷积层3输出的特征图进行特征融合,得到反卷积层2对应的融合特征图,将反卷积层2对应的融合特征图作为反卷积层3的输入。
对于最后一个反卷积层即反卷积层3,将反卷积层3输出的特征图与卷积层2输出的特征图进行特征融合,得到反卷积层3对应的融合特征图,将反卷积层3对应的融合特征图作为目标特征图,目标特征图作为关键点热力图生成单元的输入。
步骤103,基于每一个关键点的位置,确定二维码图像中的数据区域的位置。
在本申请中,关键点可以为二维码图像中的位置探测图形、定位图形等二维码图像中的用于定位的图形中的点。在确定每一个关键点的位置之后,可以确定关键点所在的用于定位的图形在二维码图像中的位置。
由于二维码图像中的位置探测图形、定位图形、数据区域、格式信息区等二维码的组成部分之间的相对位置是固定的,因此,在确定关键点所在的用于定位的图形在二维码图像中的位置之后,可以确定二维码图像中的除了用于定位的图形之外的其他的图形和区域的位置。
请参考图3,其示出了二维码图像的示意图。
在图3中,示出了二维码图像中的位置探测图形、定位图形、数据区域、格式信息区等对象。
例如,关键点可以为二维码图像中的位置探测图形的角点。对于二维码图像中的每一个位置探测图形,位置探测图形的每一个角点均分别作为一个关键点。在确定每一个位置探测图形的角点的位置之后,可以首先确定每一个位置探测图形在二维码图像中的位置。然后,根据每一个位置探测图形与二维码图像中的数据区域固定的相对位置,确定二维码图像中的数据区域的位置。
步骤104,从数据区域获取二维码编码信息,以及对二维码编码信息进行解码,得到二维码识别结果。
在本申请中,在确定二维码图像中的数据区域的位置之后,可以从数据区域获取二维码编码信息。
在二维码图像中的数据区域中,每一个像素分别对应一个二进制数。例如,对应于二进制数0的像素值为0,对应于二进制数1的像素值为255。当将一个像素的像素值设置为0时,则该像素为白像素,该像素可以表示一个二进制数0。当将一个像素的像素值设置为255时,则该像素为黑像素,该像素可以对应一个二进制数1。
在二维码图像的生成过程中,为了使得黑像素的数量与白像素的数量较为均衡例如黑像素的数量与白像素的数量的比例接近1:1,使用八种掩码中的一种掩码对二编码图像中的像素对应的原始的二进制数进行异或处理。二编码图像中的像素对应的原始的二进制数是在对字符串进行编码之后得到的。
因此,为了从数据区域中获取二维码编码信息,需要首先确定在生成二维码图像时采用的掩码。在生成二维码图像时采用的掩码可以从二维码图像中的格式信息区获取到。利用在生成二维码图像时采用的掩码对二维码图像中的像素对应的二进制数进行异或处理,可以得到二维码图像中的每一个像素对应的原始的二进制数。可以根据二维码图像中的数据区域中的每一个像素对应的原始的二进制数,生成二维码编码信息。然后,可以对二维码编码信息进行解码,得到作为二维码识别结果的字符串。
在一些实施例中,从数据区域获取二维码编码信息包括:将二维码图像中的数据区域划分为多个网格区域;确定多个网格区域中的每一个网格区域对应的编码值;基于每一个网格区域对应的编码值,生成二维码编码信息。
在计算网格区域对应的编码值时,对于每一个网格区域,可以计算该网格区域内的对应的二进制数为0的像素的第一数量和对应的二进制数为1的像素的第二数量,将第一数量和第二数量中的较大的数量对应的二进制数作为该网格区域对应的编码值。
对于一个网格区域,当该网格区域内的对应的二进制数为0的像素的第一数量大于对应的二进制数为1的像素的第二数量时,则该网格区域对应的编码值为0。
对于一个网格区域,当该网格区域内的对应的二进制数为0的像素的第一数量小于对应的二进制数为1的像素的第二数量时,则该网格区域对应的编码值为1。
在得到每一个网格区域各自对应的编码值之后,可以根据每一个网格区域各自对应的编码值,生成二维码编码矩阵。然后,利用在生成二维码图像时采用的掩码对编码矩阵中的编码值进行异或处理,得到二维码编码信息。可以对二维码编码信息进行解码,得到作为二维码识别结果的字符串。
请参考图4,其示出了本申请实施例提供的二维码识别装置的结构框图。二维码识别装置包括:二维码图像获取单元401,关键点确定单元402,数据区域确定单元403,识别结果生成单元404。
二维码图像获取单元401被配置为:获取二维码图像;
关键点确定单元402被配置为:利用关键点检测网络确定所述二维码图像中的每一个关键点的位置,所述关键点检测网络为神经网络;
数据区域确定单元403被配置为基于所述每一个关键点的位置,确定所述二维码图像中的数据区域的位置;
识别结果生成单元404被配置为从所述数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。
在一些实施例中,二维码图像获取单元401包括:
提取模块,被配置为:利用二维码检测网络确定采集到的图像中的二维码图像占据的区域,以及基于确定的区域,从所述图像中提取出所述二维码图像。
在一些实施例中,所述关键点检测网络用于:对所述二维码图像进行特征提取,得到目标特征图;基于目标特征图,生成每一个关键点对应的热力图;基于每一个关键点对应的热力图,确定每一个关键点的位置,每一个关键点对应的热力图包括所述关键点在所述二维码图像中的每一个预测位置对应的概率。
在一些实施例中,所述关键点包括:所述二维码图像中的位置探测图形的角点。
在一些实施例中,对所述二维码图像进行特征提取,得到目标特征图包括:利用卷积处理单元对所述二维码图像进行卷积处理,得到第一特征图;利用反卷积处理单元对所述第一特征图进行反卷积处理,得到第二特征图;将所述第二特征图作为所述目标特征图。
在一些实施例中,利用反卷积处理单元对所述第一特征图进行反卷积处理,得到第二特征图包括:对于所述反卷积处理单元中的每一个反卷积层,将反卷积层输出的特征图与反卷积层对应的卷积层输出的特征图进行特征融合,得到反卷积层对应的融合特征图,其中,每一个反卷积层分别对应卷积处理单元中的一个卷积层,对于除了最后一个反卷积层之外的每一个反卷积层,反卷积层对应的融合特征图作为反卷积层的下一个反卷积层的输入;将反卷积处理单元中的最后一个反卷积层输出的特征图作为所述第二特征图。
在一些实施例中,识别结果生成单元404包括:
编码信息生成模块,被配置为:将所述数据区域划分为多个网格区域;确定所述多个网格区域中的每一个网格区域对应的编码值;基于每一个网格区域对应的编码值,生成所述二维码编码信息。
在一些实施例中,编码信息生成模块包括:
编码值生成子模块,被配置为:对于所述每一个网格区域,计算所述网格区域内的对应的二进制数为0的像素的第一数量和对应的二进制数为1的像素的第二数量,将第一数量和第二数量中的较大的数量对应的二进制数作为所述网格区域对应的编码值。
图5是本实施例提供的一种电子设备的结构框图。电子设备500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述方法。
电子设备500还可以包括一个电源组件526被配置为执行电子设备500的电源管理,一个有线或无线网络接口550被配置为将电子设备500连接到网络,和一个输入输出(I/O)接口558。电子设备500可以操作基于存储在存储器532的操作系统,例如WindowsServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由电子设备执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种二维码识别方法,其特征在于,所述方法包括:
获取二维码图像;
利用关键点检测网络确定所述二维码图像中的每一个关键点的位置,所述关键点检测网络为神经网络;
基于所述每一个关键点的位置,确定所述二维码图像中的数据区域的位置;
从所述数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。
2.根据权利要求1所述的方法,其特征在于,所述关键点包括:所述二维码图像中的位置探测图形的角点。
3.根据权利要求1或2所述的方法,其特征在于,获取二维码图像包括:
利用二维码检测网络确定采集到的图像中的二维码图像占据的区域,所述二维码检测网络为神经网络;
基于确定的区域,从所述图像中提取出所述二维码图像。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,利用关键点检测网络确定所述二维码图像中的每一个关键点的位置包括:
对所述二维码图像进行特征提取,得到目标特征图;
基于目标特征图,生成每一个关键点对应的热力图;
基于每一个关键点对应的热力图,确定每一个关键点的位置,每一个关键点对应的热力图包括所述关键点在所述二维码图像中的每一个预测位置对应的概率。
5.根据权利要求4所述的方法,其特征在于,所述对所述二维码图像进行特征提取,得到目标特征图包括:
利用卷积处理单元对所述二维码图像进行卷积处理,得到第一特征图;利用反卷积处理单元对所述第一特征图进行反卷积处理,得到第二特征图;将所述第二特征图作为所述目标特征图。
6.根据权利要求5所述的方法,其特征在于,所述利用反卷积处理单元对所述第一特征图进行反卷积处理,得到第二特征图包括:
对于所述反卷积处理单元中的每一个反卷积层,将反卷积层输出的特征图与反卷积层对应的卷积层输出的特征图进行特征融合,得到反卷积层对应的融合特征图,其中,反卷积处理单元中的第一个反卷积层的输入为所述第一特征图,每一个反卷积层分别对应卷积处理单元中的一个卷积层,对于所述反卷积处理单元中的除了最后一个反卷积层之外的每一个反卷积层,反卷积层对应的融合特征图作为反卷积层的下一个反卷积层的输入;
将所述反卷积处理单元中的最后一个反卷积层对应的融合特征图作为所述第二特征图。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述从所述数据区域获取二维码编码信息包括:
将所述数据区域划分为多个网格区域;
确定所述多个网格区域中的每一个网格区域对应的编码值;
基于每一个网格区域对应的编码值,生成所述二维码编码信息。
8.根据权利要求7所述的方法,确定所述多个网格区域中的每一个网格区域对应的编码值包括:
对于所述每一个网格区域,计算所述网格区域内的对应的二进制数为0的像素的第一数量和对应的二进制数为1的像素的第二数量,将第一数量和第二数量中的较大的数量对应的二进制数作为所述网格区域对应的编码值。
9.一种二维码识别装置,其特征在于,所述装置包括:
二维码图像获取单元,被配置为:获取二维码图像;
关键点确定单元,被配置为利用关键点检测网络确定所述二维码图像中的每一个关键点的位置,所述关键点检测网络为神经网络;
数据区域确定单元,被配置为基于所述每一个关键点的位置,确定所述二维码图像中的数据区域的位置;
识别结果生成单元,被配置为从所述数据区域获取二维码编码信息,以及对所述二维码编码信息进行解码,得到二维码识别结果。
10.一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的方法。
11.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907003.6A CN110765795B (zh) | 2019-09-24 | 2019-09-24 | 二维码识别方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907003.6A CN110765795B (zh) | 2019-09-24 | 2019-09-24 | 二维码识别方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765795A true CN110765795A (zh) | 2020-02-07 |
CN110765795B CN110765795B (zh) | 2023-12-12 |
Family
ID=69329884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910907003.6A Active CN110765795B (zh) | 2019-09-24 | 2019-09-24 | 二维码识别方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765795B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402228A (zh) * | 2020-03-13 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置和计算机可读存储介质 |
CN111598917A (zh) * | 2020-07-15 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 数据嵌入方法、装置、设备及计算机可读存储介质 |
CN111950318A (zh) * | 2020-08-12 | 2020-11-17 | 上海连尚网络科技有限公司 | 一种二维码图像的识别方法、设备及存储介质 |
CN112560606A (zh) * | 2020-12-02 | 2021-03-26 | 北京经纬恒润科技股份有限公司 | 挂车角度识别方法及装置 |
CN114330400A (zh) * | 2020-10-12 | 2022-04-12 | 珠海格力电器股份有限公司 | 二维码图像处理方法、系统、装置、电子设备及存储介质 |
WO2023274097A1 (zh) * | 2021-06-28 | 2023-01-05 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6281928B1 (en) * | 1998-05-13 | 2001-08-28 | Chuo Hatsujo Kabushiki Kaisha | Positional detector device for a vehicular license plate |
CN104636701A (zh) * | 2014-12-12 | 2015-05-20 | 浙江工业大学 | 一种基于图像修复的激光二维码识别方法 |
CN104766037A (zh) * | 2015-03-20 | 2015-07-08 | 中国联合网络通信集团有限公司 | 一种二维码的识别方法及设备 |
CN108027972A (zh) * | 2015-07-30 | 2018-05-11 | 北京市商汤科技开发有限公司 | 用于对象跟踪的系统和方法 |
CN109815770A (zh) * | 2019-01-31 | 2019-05-28 | 北京旷视科技有限公司 | 二维码检测方法、装置及系统 |
CN110163193A (zh) * | 2019-03-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机可读存储介质和计算机设备 |
-
2019
- 2019-09-24 CN CN201910907003.6A patent/CN110765795B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6281928B1 (en) * | 1998-05-13 | 2001-08-28 | Chuo Hatsujo Kabushiki Kaisha | Positional detector device for a vehicular license plate |
CN104636701A (zh) * | 2014-12-12 | 2015-05-20 | 浙江工业大学 | 一种基于图像修复的激光二维码识别方法 |
CN104766037A (zh) * | 2015-03-20 | 2015-07-08 | 中国联合网络通信集团有限公司 | 一种二维码的识别方法及设备 |
CN108027972A (zh) * | 2015-07-30 | 2018-05-11 | 北京市商汤科技开发有限公司 | 用于对象跟踪的系统和方法 |
CN109815770A (zh) * | 2019-01-31 | 2019-05-28 | 北京旷视科技有限公司 | 二维码检测方法、装置及系统 |
CN110163193A (zh) * | 2019-03-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (3)
Title |
---|
朱新如: "复杂成像条件下的 QR 码自动识别" * |
燕雨薇等: "二维码技术及其应用综述" * |
程曙光: "基于卷积神经网络的QR码定位算法研究" * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402228A (zh) * | 2020-03-13 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置和计算机可读存储介质 |
CN111402228B (zh) * | 2020-03-13 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置和计算机可读存储介质 |
CN111598917A (zh) * | 2020-07-15 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 数据嵌入方法、装置、设备及计算机可读存储介质 |
CN111950318A (zh) * | 2020-08-12 | 2020-11-17 | 上海连尚网络科技有限公司 | 一种二维码图像的识别方法、设备及存储介质 |
CN114330400A (zh) * | 2020-10-12 | 2022-04-12 | 珠海格力电器股份有限公司 | 二维码图像处理方法、系统、装置、电子设备及存储介质 |
CN114330400B (zh) * | 2020-10-12 | 2023-12-08 | 珠海格力电器股份有限公司 | 二维码图像处理方法、系统、装置、电子设备及存储介质 |
CN112560606A (zh) * | 2020-12-02 | 2021-03-26 | 北京经纬恒润科技股份有限公司 | 挂车角度识别方法及装置 |
CN112560606B (zh) * | 2020-12-02 | 2024-04-16 | 北京经纬恒润科技股份有限公司 | 挂车角度识别方法及装置 |
WO2023274097A1 (zh) * | 2021-06-28 | 2023-01-05 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110765795B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765795B (zh) | 二维码识别方法、装置及电子设备 | |
US10762376B2 (en) | Method and apparatus for detecting text | |
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
US9530071B2 (en) | Hierarchical interlinked multi-scale convolutional network for image parsing | |
CN110288069B (zh) | 二维码生成和解析的方法、装置、设备及可读存储介质 | |
EP3079100B1 (en) | Image processing apparatus, image processing method and computer readable storage medium | |
JP4901676B2 (ja) | ナンバープレート情報処理装置及びナンバープレート情報処理方法 | |
CN116311214B (zh) | 车牌识别方法和装置 | |
CN106326802A (zh) | 二维码校正方法、装置及终端设备 | |
CN112381092B (zh) | 跟踪方法、装置及计算机可读存储介质 | |
CN111797642B (zh) | 条形码识别方法及终端 | |
CN112183542A (zh) | 基于文本图像的识别方法、装置、设备和介质 | |
CN111739029A (zh) | 基于深度学习卷积神经网络的电铲斗齿脱落检测方法 | |
CN114758145B (zh) | 一种图像脱敏方法、装置、电子设备及存储介质 | |
CN112052702A (zh) | 一种识别二维码的方法和装置 | |
CN111353429A (zh) | 基于眼球转向的感兴趣度方法与系统 | |
CN115797336A (zh) | 光伏组件的故障检测方法、装置、电子设备和存储介质 | |
CN111507119B (zh) | 标识码识别方法、装置、电子设备及计算机可读存储介质 | |
CN113228105A (zh) | 一种图像处理方法、装置和电子设备 | |
CN109523570A (zh) | 运动参数计算方法及装置 | |
CN112308062B (zh) | 一种复杂背景图像中的医疗影像访问号识别方法 | |
CN112434698A (zh) | 字符识别方法、装置、电子设备及存储介质 | |
CN111428707A (zh) | 图形识别码的识别方法、装置、存储介质及电子设备 | |
CN113343965A (zh) | 图像倾斜矫正方法、装置及存储介质 | |
CN113705430B (zh) | 基于检测模型的表格检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |