CN111950318A - 一种二维码图像的识别方法、设备及存储介质 - Google Patents

一种二维码图像的识别方法、设备及存储介质 Download PDF

Info

Publication number
CN111950318A
CN111950318A CN202010807076.0A CN202010807076A CN111950318A CN 111950318 A CN111950318 A CN 111950318A CN 202010807076 A CN202010807076 A CN 202010807076A CN 111950318 A CN111950318 A CN 111950318A
Authority
CN
China
Prior art keywords
dimensional code
image
preset
code image
determining
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.)
Pending
Application number
CN202010807076.0A
Other languages
English (en)
Inventor
徐伟
陈晓磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN202010807076.0A priority Critical patent/CN111950318A/zh
Publication of CN111950318A publication Critical patent/CN111950318A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本说明书实施例公开了一种二维码图像识别的方法、设备及存储介质。方法包括:获取目标图像;利用图像定位模型,确定所述目标图像中包含的待识别二维码区域;基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息;根据所述位置信息和标准定位信息,确定校正参数;根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像;对所述校正后的二维码图像进行识别。

Description

一种二维码图像的识别方法、设备及存储介质
技术领域
本申请涉及图像识别技术领域,尤其涉及一种二维码图像的识别方法、设备及存储介质。
背景技术
在日常生活中,二维码因其有信息容量大、容错性强、成本低等优点,已经成为人们最为便捷的信息传播手段之一,被广泛应用在电子商务、产品溯源等各个领域。
二维码是用某种特定的几何图形按一定规律在平面分布组成黑白相间的图形以记录数据符号信息。在实际应用中一些实际场景,如光照,拍摄角度,距离,环境等,会影响二维码区域的最终成像效果,进而也会影响对二维码的识别。
因此,如何在复杂背景下,高效准确定位出二维码区域对提高二维码的识别率尤为重要。
发明内容
本说明书实施例提供一种二维码图像的识别方法、设备及存储介质,用于提高二维码图像的识别率。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种二维码图像的识别方法,包括:
获取目标图像;
利用图像定位模型,确定所述目标图像中包含的待识别二维码区域;所述待识别二维码区域中包含待识别二维码图像;所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的;
基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息;
根据所述位置信息和标准定位信息,确定校正参数;所述标准定位信息为预设二维码图像模板中位置探测图形的位置信息;
根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像;
对所述校正后的二维码图像进行识别。
本说明书实施例提供的一种二维码图像的识别设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述二维码图像的识别方法。
本说明书实施例提供的一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述二维码图像的识别方法。
本说明书一个实施例实现了能够达到以下有益效果:通过图像定位模型确定出目标图像中的待识别二维码区域,并根据待识别二维码区域中的位置探测图形的位置信息对目标图像中的待识别二维码图像进行校正,然后对校正后的二维码图像进行识别,进而可以提高二维码图像的识别率。
并且,利用根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的图像定位模型对目标图像进行待识别二维码区域的定位,可提高定位精度以及速度。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种二维码模板的结构示意图;
图2为本说明书实施例提供的一种二维码图像的识别方法在实际应用场景中的示意图;
图3为本说明书实施例提供的一种二维码图像的识别方法的流程示意图;
图4为本说明书实施例提供的一种二维码图像的识别方法的流程示意图;
图5为本说明书实施例提供的一种二维码图像定位模型的训练方法的流程示意图;
图6为本说明书实施例提供的一种二维码图像标注信息的示意图;
图7为本说明书实施例提供的对应于图3的一种二维码图像的识别装置的结构示意图;
图8为本说明书实施例提供的对应于图5的一种二维码图像定位模型的训练装置的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
实际应用中,二维码通常是基于预设的二维码模板生成的,图1为本说明书实施例提供的一种二维码模板的结构示意图,如图1所示,二维码模板中通常可以包括:位置探测图形101、校正图形102、辅助定位图形103、格式信息104、数据和纠错码字105、版本信息106中全部或者部分内容。
其中,位置探测图形101:用于二维码的定位,对每个二维码来说,位置都是固定存在的,只是大小规格会有所差异,位置探测图形101中黑白间隔的矩形块可用于进行图像处理的检测。二维码模板中还可以在位置探测图形附近设置位置探测图形分隔符,用于将位置探测图形与二维码中其他部分进行分隔。
校正图形102:主要用于二维码形状的校正,尤其是当二维码印刷在不平坦的表面,或者拍照时发生畸变等;实际应用中,根据二维码尺寸的不同,校正图形的个数也可以不同。
辅助定位图形103:通常会位于两个位置探测图形之间,由黑白相间的格子组成,这些小的黑白相间的格子就类似坐标轴,在二维码上定义了网格,可辅助对二维码的定位。
格式信息104:表示该二维码的纠错级别,可以分为L、M、Q、H。
数据和纠错码字105:使用黑白的二进制网格编码内容,通常8个格子可以编码一个字节,纠错码字用于修正二维码损坏带来的错误。
版本信息106:即二维码的规格,通常每一版本符号比前一版本每边增加4个模块。
在实际应用中二维码模板还可以根据实际需求进行设定,例如还可以将二维码模板设置为圆形、三角形等多种形状,其包含的内容也可以根据实际需要进行设定,本说明书实施例中对此不作具体限定。
现有技术中,在用户使用终端识别二维码图像的过程中,为保证能够识别到该图像中的二维码通常需要将终端靠近或者对准该二维码图像,并且,当二维码图像所处的环境比较复杂时,例如,当二维码图像不在终端的正前方时,可能因为角度问题造成不能识别该二维码的情况;又如,当二维码图像距离终端较远,呈现在终端中的图像不足以使终端识别出图像中二维码的情况等等,这些都可能会造成二维码不能被识别。为了解决现有技术中的缺陷,本方案给出了以下实施例:
图2为本说明书实施例提供的一种二维码图像的识别方法在实际应用场景中的示意图。本说明书实施例提供的二维码图像的识别方法不仅可以应用于目标图像中包含一个二维码图像的场景,还可以应用于目标图像中包含多个二维码图像的场景。
如图2所示,假设货架1中存放有若干物品2,每个物品2都设置有表示物品信息的二维码图像3,摄像头4采集货架1中物品图像,通过识别图像中的二维码图像对货架中物品进行统计。
通常情况下采集的物品图像5中可以包含多个二维码图像,并且由于物品2与摄像头4的相对位置不同,多个二维码图像在该物品图像5中呈现的样式也会不同,例如,距离摄像头较远的二维码图像在该物品图像中显示的较小,并且由于拍摄角度的问题,该物品图像中显示的二维码会存在一定的变形。
本说明书实施例中利用图像定位模型6,确定该物品图像中包含的多个二维码区域7,并对每个二维码区域7进行校正,得到校正后的二维码图像8,再对校正后的二维码图像8进行识别,得到识别结果9,可有效识别图像中的二维码图像,可提高二维码的识别率。
需要说明的是,上述内容仅是对本说明书实施例中的方法可应用的场景的一种示例性说明,在实际应用中本说明书实施例中的方法可应用于多种场景,例如扫码支付、识别终端接收到的图像信息等等,本说明书实施例中对具体的应用场景不作限定。
接下来,将针对说明书实施例提供的一种二维码图像的识别方法结合附图进行具体说明:
图3为本说明书实施例提供的一种二维码图像的识别方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图3所示,该流程可以包括以下步骤:
步骤302:获取目标图像。
实际应用中,用于识别二维码的执行主体可以获取目标图像,该执行主体可以是支持二维码识别的各种电子设备,包括但不限于智能手机、平板电脑、计算机等等。目标图像可以是通过执行主体采集的图像,也可以是执行主体本地保存的图像,本说明书实施例中对目标图像的获取方式不作限定。
为减少干扰信息对二维码图像识别的影响,还可以对获取的目标图像进行预处理,例如,对目标图像进行灰度调整、去噪等处理。
步骤304:利用图像定位模型,确定所述目标图像中包含的待识别二维码区域;所述待识别二维码区域中包含待识别二维码图像;所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的。
本说明书实施例中可以利用预先训练的图像定位模型对获取到目标图像进行二维码区域的定位,从目标图像中确定待识别的二维码区域。
其中,多任务级联卷积神经网络模型可以由多个卷积神经网络层构成,通过多个网络层的协同工作实现对目标图像中二维码区域的快速准确定位,进而可以保证定位的效率以及准确性。
实际应用中,该多任务级联卷积神经网络模型可以包括Pnet(Proposal Network,建议网络)层、Rnet(Refine Network,完善网络)层以及Onet(Output Network,输出网络)层;Pnet层用于尽可能多的获取待识别图像中的二维码区域;Rnet层用于将Pnet层获取到的二维码区域进行筛选和/或调整,提高二维码区域定位的精确性;Onet用于对Rnet层的输出结果进一步优化,将待识别图像中的待识别二维码区域标记出来,具体的,可以采用定位框的形式将待识别二维码区域框选出来。
步骤306:基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息。
本说明书实施例中,利用图像定位模型确定的待识别二维码区域通常是目标图像中包含待识别二维码图像的区域,其中,二维码图像通常是基于二维码图像模板生成的,如图1所示,二维码图像模板中可以包含用于二维码的定位的位置探测图形,该位置探测图形可以分别位于模板的左上方、右上方和左下方。在实际应用中位置探测图形的具体位置、数量以及设定形状均可以根据实际需求进行设定,本说明书实施例中不作具体限定。
步骤308:根据所述位置信息和标准定位信息,确定校正参数;所述标准定位信息为预设二维码图像模板中位置探测图形的位置信息。
预设二维码模板可以是生成目标图像中二维码图像的模板,而实际应用中,二维码图像模板的尺寸大小、形状样式等特征通常是处于高识别率的范围,可理解为,采用二维码图像模板生成的二维码图像,在不进行任何形变时,通常是可以被准确识别的。
本说明书实施例中,模板中的位置探测图形也会存在于目标图像中的二维码图像中,并且位置探测图形的在二维码图像中的相对位置是不变的,因此,可以根据目标图像中位置探测图形在二维码中的位置信息和位置探测图形在预设二维码图像模板中的位置信息,确定目标图像中的二维码图像与预设二维码图像模板的映射关系,通过该映射关系可以使目标图像中的二维码图像具有与预设二维码图像模板相同的尺寸大小、形状样式等特征。本说明书实施例中可以用校正参数表示该映射关系。
步骤310:根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像。
本说明书实施例中校正参数可用于对目标图像中的待识别二维码图像进行校正,使目标图像中的待识别二维码图像尽量还原为预设二维码图像模板的尺寸大小、形状样式等,以提高二维码的识别率。
步骤312:对所述校正后的二维码图像进行识别。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图3中的方法,通过图像定位模型确定出目标图像中的待识别二维码区域,并根据待识别二维码区域中的位置探测图形的位置信息对目标图像中的待识别二维码图像进行校正,然后对校正后的二维码图像进行识别,进而可以提高二维码图像的识别率。
并且,利用根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的图像定位模型对目标图像进行待识别二维码区域的定位,可提高定位精度以及速度。
基于图3的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,步骤304中利用图像定位模型,确定所述目标图像中包含的待识别二维码区域,具体可以包括:
将所述目标图像输入所述图像定位模型,得到至少一个候选二维码区域;
确定每个所述候选二维码区域的置信度;
将所述置信度最大的所述候选二维码区域确定为所述待识别二维码区域。
本说明书实施例中在利用图像定位模型确定待识别二维码区域的过程中,图像定位模型可以为每个目标图像的二维码区域定位出至少一个候选二维码区域,还可以计算每个候选二维码区域的置信度,将置信度最大的候选二维码区域确定为目标图像中的二维码区域。其中,置信度可以理解为候选二维码区域为符合要求的二维码区域的概率。
实际应用中,目标图像输入图像定位模型,可以得到标记有定位框的目标图像,定位框中的区域可以理解为待识别二维码区域。
考虑到目标图像中可能存在多个需要识别的二维码,也就会存在多个待识别二维码区域,仅以候选二维码区域的置信度来确定二维码区域可能并不能准确定位到目标图像中的二维码区域,因此,为提高二维码区域定位的准确性,所述将所述置信度最大的所述候选二维码区域确定为所述二维码区域,具体可以包括:
根据所述置信度,确定所述候选二维码区域之间的交并比;
将所述交并比大于预设交并比阈值的所述候选二维码区域划分至同一集合,得到多个集合;
对于每个所述集合,将所述置信度最大的所述候选二维码区域确定为所述待识别二维码区域。
本说明书实施例中,该交并比可以理解为两个候选二维码区域的重叠度,具体的交并比可以等于两个候选二维码区域的交集区域与该两个候选二维码区域的并集区域的商。本实施例中,两个候选二维码区域的交并比越大可以说明该两个候选二维码区域的重叠度越高。
图像定位模型在对目标图像进行定位的过程中,为尽可能的标记出目标图像中的所有待识别二维码区域,可能会对同一个待识别二维码区域标记多个定位框,每个定位框表示一个候选二维码区域。实际应用中,当多个候选二维码区域聚集在一个位置时,可表示该位置存在一个待识别二维码区域,为提高定位的准确性,需要将一些重叠的候选二维码区域删除,因此,本说明书实施例中可以利用候选二维码区域之间的交并比删除重叠度较高的候选二维码区域。
为确定出目标图像中每个二维码区域对应的候选二维码区域,可以根据交并比,对候选二维码区域进行分组,将交并比大于预设交并比阈值的候选二维码区域划分至同一集合。由于候选二维码区域交并比在一定程度上表示了候选二维码区域的重叠度,当两个候选二维码区域的重叠度较高时,可以认为这两个候选二维码区域是对应于同一个二维码的,因此,可以将交并比大于预设交并比阈值的候选二维码区域划分至同一集合,可以理解为同一集合的候选二维码区域对应目标图像中的同一个二维码。
在确定了分组集合之后,可以将每个集合中所述置信度最大的候选二维码区域确定为目标图像中的待识别二维码区域,进而可以准确标记出目标图像中的多个待识别二维码区域。
本说明书实施例中,为保证可以定位出目标图像中不同尺寸大小的待识别二维码区域,还可以在目标图像的基础上,对目标图像进行预设规则的放缩,得到一系列的目标图像,将该一系列的目标图像输入图像定位模型进行二维码区域的定位。具体的,在将所述目标图像输入所述图像定位模型之前,还可以将所述目标图像按照预设规则进行放缩,得到若干个检测图像;将检测图像输入图像定位模型。
本说明书实施例中的图像定位模型可以是基于多任务级联卷积神经网络模型训练得到的,其可以包括卷积层、连接层和输出层。作为另一种实施方式,本说明书实施例步骤304利用图像定位模型,确定所述目标图像中包含的待识别二维码区域,具体可以包括:
将所述目标图像按照预设规则进行放缩,得到若干个检测图像;
将所述检测图像输入到所述图像定位模型中的卷积层,得到第一数量的第一候选二维码区域;
根据所述第一候选二维码区域截取所述目标图像,得到第一辅助图像;
将所述第一辅助图像输入到所述图像定位模型中的连接层,得到第二数量的第二候选二维码区域;所述第二数量小于所述第一数量;
根据所述第二候选二维码区域截取所述目标图像,得到第二辅助图像;
将所述第二辅助图像输入到所述图像定位模型中的输出层,得到所述待识别二维码区域。
其中,所述将所述检测图像输入到所述图像定位模型中的卷积层,得到第一数量的第一候选二维码区域,具体可以包括:
将所述检测图像按照第一预设尺寸输入到所述卷积层进行卷积运算,得到置信度大于预设置信度的所述检测图像的若干个第一候选二维码区域;
对所述若干个第一候选二维码区域进行非极大值抑制处理,得到所述第一数量的第一候选二维码区域。
其中,根据所述第一候选二维码区域截取所述目标图像,得到第一辅助图像,具体可以包括:
根据所述预设规则以及所述卷积层的卷积运算,确定所述检测图像与所述目标图像的尺寸对应关系;
根据所述尺寸对应关系,确定所述第一候选二维码区域在所述目标图像中对应的图像区域;
截取所述第一候选二维码区域在所述目标图像中对应的图像区域,得到所述第一辅助图像。
本说明书实施例中可以利用图像定位模型中的卷积层尽可能将目标图像中的可能的二维码区域都标记出来,再利用连接层以及输出层对候选二维码区域进行删选和/或调整,最终可以得到准确的二维码图像的定位结果。作为一个具体的实施例,该卷积层也可以理解为前述Pnet层,连接层可以理解为前述Rnet层,输出层可以理解为前述Onet层。本说明书实施例中图像定位模型采用多层级联的方式处理目标图像,也可提高处理速度。
实际应用中,图像定位模型可采用轻量级框架,使其可应用于各种终端,例如,手机、平板电脑、扫码器等,并且其是可完成分类、回归等多个任务的综合性模型。
考虑到实际应用中受外界环境等因素的影响,目标图像中的待识别二维码可能存在各种形态,例如,变形、弯曲、模糊不清楚等,为使图像定位模型可以准确定位出各种形态的二维码,本说明书实施例中所述二维码图像训练样本可以包括:
采用预设参数对包含二维码图像的物体进行图像采集得到的样本图像,所述预设参数包括预设倾斜角度、预设光照强度、预设曝光度、预设快门时间、预设光圈尺寸中至少一种参数。
其中,倾斜角度可以理解为被采集图像所在平面与图像采集设备的镜头所在平面的夹角,也可以理解为被采集图像的中心轴线与镜头的中心轴线之间的夹角,被采集图像为在镜头拍摄范围内的图像。例如,当用户使用移动终端进行扫码识别时,当移动终端的镜头位于二维码图像的正上方时,可以认为此时的倾斜角度为0度;假设码图像的位置是固定的,移动该终端使其围绕该二维码图像旋转,移动过程中镜头与二维码图像会存在一定的夹角,随着旋转度数的增加,镜头所在平面与二维码图像所在平面的夹角度数也会增加,可以理解为倾斜角度变大,当镜头的中心轴线与二维码图像的中心轴线垂直时,可以认为此时的倾斜角度为90度。
实际应用中,可以利用样本采集装置获取不同倾斜角度的样本图像。其中样本采集装置可以包括镜头模组、镜头支架、连杆、样本支架、包含二维码图像的样本,镜头支架用于固定镜头模组,样本支架用于固定样本,连杆用于连接镜头支架与样本支架,在连杆与镜头支架的连接处和/或连杆与样本支架的连接处还可以设置带有角度标尺的旋转组件,通过该旋转组件,可以改变镜头模组与样本之间的夹角,进而可以采集到不同倾斜角度的样本图像。
本说明书实施例中,可以采用倾斜角度较大的训练样本训练神经网络模型得到图像定位模型,进而提高图像定位模型的适用范围,使图像定位模型可以对通常的图像定位工具不能定位的图像进行定位,也可在一定程度上提高二维码图像的识别率。例如,可选择采集倾斜角度为第一预设角度至第二预设角度的样本图像,其中第一预设角度可以为0度,第二预设角度为80度。需要说明的是,预设角度可以根据实际需求进行设定,本说明书实施例中不作具体限定。
考虑到实际应用中,图像可能处于不同明亮程度的环境中,本说明书实施例中还可以采集处于不同光照强度下的图像作为样本图像。
其中,光照强度可以为图像所处环境中光照强度,该光照强度可以表示光照的强弱,可以以单位面积上所接受可见光的能量来量度,其可简称照度,单位勒克斯(Lux或Lx)。通常情况下,光照强度可以使用照度计进行测量,夏季在阳光直接照射下,光照强度可达6万~10万lx,没有太阳的室外可为0.1万~1万lx,夏天明朗的室内可为100~550lx,夜间满月下可为0.2lx,白炽灯每瓦大约可发出12.561x的光。
本说明书实施例中可以采集处于预设光照强度范围的图像作为样本图像,例如将图像置于预设光照强度范围为第一预设光照强度为0.2lx到第二预设光照强度为6万lx的环境中采集样本图像。
本说明书实施例中还可以采集不同曝光度的图像作为训练样本,其中曝光度可以用曝光值来表示,与镜头的快门时间、光圈尺寸等相关,通常快门速度越低,光圈越大,通光时间和面积就越大,即曝光值大。实际应用中,当曝光度较大或较小时,均会影响图像的清晰度,也会影响对二维码图像的定位。本说明书实施例中可采用一些曝光度较大或较小的图像作为训练样本,来提高图像定位模型的泛化能力,减少曝光度对图像定位的影响,进而可以对更多不同曝光度的图像进行二维码区域的定位。
实际应用中,可以采用预设倾斜角度、预设光照强度、预设曝光度、预设快门时间、预设光圈尺寸中一种预设条件完成样本采集,也可以采用多种预设条件组合的方式进行,例如将在倾斜角度为a度,光照强度为b1x,曝光度c EV(Exposure Value,曝光值)的条件下采集的图像作为样本图像。需要说明的是,在实际应用中,预设参数可以根据实际需要进行设定,本说明书实施例中对具体的参数设定不作限定,只要能够满足需求即可。
为获取更丰富的训练样本,本说明书实施例中所述二维码图像训练样本可以包括:
采集纸质的二维码图像得到的图像、采集电子产品屏幕中显示的二维码图像得到的图像、采集被塑封处理后的二维码图像得到的图像中至少一种图像。
考虑到实际应用中二维码图像存在形式的多样性,本说明书实施例中的训练样本可以是通过采集纸质版的二维码图像得到的图像,例如,一些卖方将自己的收款码打印在纸上,买方可以通过扫描该收款码向卖方支付相应金额等等。并且由于纸质图像随着使用时间的加长,可能会存在不同程度的磨损,清晰度将会降低,因此,本说明书实施例中还可以采集不同清晰度的纸质图像作为训练样本,以便图像定位模型可以适用于更多的场景。
实际应用中,为减少对纸质二维码图像的磨损,通常会将纸质二维码图像利用塑料透明薄膜进行塑封,本说明书实施例中还可以采集被塑封处理的二维码图像作为训练样本,例如,可以从不同角度采集被塑封处理的二维码图像,还可以采集塑封薄膜中存在折痕的二维码图像等等。
实际应用中,二维码图像还可能直接显示在电子终端的屏幕中,二维码图像的清晰度与屏幕的分辨率、终端自身屏幕亮度以及屏幕所处外界环境光线强度有一定的关系,本说明书实施例中还可以采集处于不同状态的电子终端的屏幕中的二维码图像作为训练样本。
为获取更丰富的训练样本,本说明书实施例中,还可以利用现有图像数据库中的图像,或者利用网络爬虫爬取网络中的图像等方式采集训练样本。
本说明书实施例中,步骤304所述确定所述目标图像中包含的待识别二维码区域之后,还可以包括:
判断所述待识别二维码区域的置信度是否大于或者等于预设置信度。
实际应用中,二维码区域的置信度在一定程度上也可以反映该二维码区域中的二维码图像可被识别的概率,当二维码区域的置信度较低时,也可以表示该二维码区域中的二维码图像可被识别的概率较低,为了减少资源浪费,本说明书实施例中可以对置信度大于或者等于预设置信度的二维码区域进行后续的校正以及识别处理,对于置信度小于预设置信度的二维码区域可直接结束对其进行后续处理。
本说明书实施例中,步骤306中基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息,具体可以包括:
基于所述待识别二维码区域的图像信息,确定所述位置探测图形;
根据所述位置探测图形,确定关键点的位置坐标;所述关键点至少包括所述位置探测图形的中心点、所述位置探测图形的角点中至少一种。
为方便计算,本说明书实施例中可以采用位置探测图形的点的位置信息来表征该位置探测图形的位置信息,具体的,可以将中心点、角点等作为关键点,用于表征位置探测图形的位置信息。其中,角点可以理解为位置探测图形中相邻两边的交点。
本说明书实施例中位置探测图形可以是规则的多边形,具体的可以包括矩形。
本说明书实施例中,步骤308中根据所述位置信息和标准定位信息,确定校正参数,具体可以包括:
将所述关键点的位置坐标按照预设顺序排列,得到关键点位置矩阵;
将所述预设二维码图像模板中标准关键点的位置坐标按照所述预设顺序排列,得到标准关键点位置矩阵;
根据所述关键点位置矩阵与所述标准关键点位置矩阵,得到校正矩阵;所述校正矩阵用于表示所述关键点位置矩阵与所述标准关键点位置矩阵之间的映射关系。
为准确定位二维平面图像中的信息,通常选择至少三个点来定位该平面,因此,本说明书实施例中二维码图像中可以包括至少三个关键点,实际应用中三个关键点通常不位于同一条直线上。
其中,预设顺序可以是指对不同位置的关键点的排序,以上述图1中所示的二维码图像模板为例,假设本实施例中的二维码图像是基于该模板生成的,该二维码图像中会在左上角、右上角、左下角分别设置位置探测图形;计算相邻两位置探测图形中角点之间的距离,将距离最大的角点确定为关键点,即可以得到左上角位置探测图形的关键点为该位置探测图形的左上角的角点,右上角位置探测图形的关键点为该位置探测图形的右上角的角点,左下角位置探测图形的关键点为该位置探测图形的左下角的角点;相应的,可以将二维码图像模板中左上角位置探测图形的左上角的角点确定该位置探测图像的标准关键点,将右上角位置探测图形的右上角的角点确定该位置探测图像的标准关键点,将左下角位置探测图形的左下角的角点确定该位置探测图像的标准关键点;进一步将得到的关键点以及标准关键点的坐标按照预设顺序进行排列,如按照左上角、右上角、左下角的顺序进行排列,可以得到关键点位置矩阵以及标准关键点位置矩阵。
本说明书实施例中,上述根据所述关键点位置矩阵与所述标准关键点位置矩阵,得到校正矩阵,具体可以包括:
根据公式[P Q]T=[R S],得到校正参数T;
其中,R为所述标准关键点的位置坐标中的横坐标;Q为所述标准关键点的位置坐标中的纵坐标;P为所述关键点的位置坐标中的横坐标;Q为所述关键点的位置坐标中的纵坐标;[P Q]为由所述关键点的位置坐标构成的关键点位置矩阵;[R S]为由所述标准关键点的位置坐标构成的标准关键点位置矩阵。
在实际应用中,二维码图像可以理解为其是在由模板得到的标准二维码图像的基础上进行了放缩、平移、旋转等变换得到的,为了实现对二维码区域的矫正对齐,可以根据仿射变换公式形式,得到转换矩阵。
仍以上述二维码图像中左上角、右上角、左下角分别设置位置探测图形为例,本实施例中关键点与标准关键点之间可以存在以下线性关系:
Figure BDA0002629528590000171
其中,(r1,s1)、(r2,s2)、(r3,s3)分别为标准定位图形中左上角、右上角、左下角的位置探测图形对应的标准关键点坐标;(p1,q1)、(p2,q2)、(p3,q3)分别为二维码图像中左上角、右上角、左下角的位置探测图形对应的关键点坐标;
将其表示为矩阵形式,可得到
Figure BDA0002629528590000172
进一步可得到关键点位置矩阵与标准关键点位置矩阵的关系:
[R S 1]=[P Q 1]T;其中,T为校正矩阵。
在实际应用中,为方便计算,通常二维坐标关系[P Q]T=[R S]的基础上增加一个维度,得到[R S 1]=[P Q 1]T,因此,由上述过程可以得到校正矩阵T。
需要说明的是,上述内容仅是为更清楚的说明本实施例的内容进行的举例说明,在实际应用中,关键点的设置、关键点的数量以及矩阵中关键点的排序等均可根据实际需要进行设定,本说明书实施例中不作具体限定。
本说明书实施例中校正矩阵可以包括仿射变换的矩阵,其可以包括平移矩阵、旋转矩阵、缩放矩阵、剪切矩阵中至少一种矩阵。
为适应更多形态的二维码图像的校正,本说明书实施例中还可以利用透视变换对二维码图像进行校正。
本说明书实施例中,步骤310根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像,具体可以包括:
确定所述关键点的位置坐标;
基于所述校正矩阵,得到所述关键点的位置坐标对应的校正后的关键点的位置坐标;
将所述关键点的像素赋值到所述校正后的关键点处;
基于所述校正后的关键点的像素进行灰度插值运算,得到校正后的二维码图像。
由于待识别二维码图像是由二维码图像模板生成的,位置探测图形的相对位置是固定的,因而可以利用校正矩阵对待识别图像进行校正后可以得到近似于二维码图像模板的校正图像,可以以关键点处的像素为基准,进行灰度插值运算,得到校正后的二维码图像。其中,灰度插值运算可以采用向前映射法、向后映射法、最近邻插值、三次卷积法、双线性插值法等算法。
本说明书实施例中校正矩阵可以是平移矩阵、旋转矩阵、缩放矩阵、剪切矩阵中一种矩阵,还可以是多种矩阵的组合形式。例如,对于存在倾斜角度的待识别二维码图像,可以利用旋转矩阵对其进行校正,若该图像的尺寸较小,还可以在利用旋转矩阵对其进行校正后再利用缩放矩阵对其进行放大处理,使其尺寸接近于模板尺寸,此过程中校正矩阵可以理解为旋转矩阵和缩放矩阵的组合。
本说明书实施例中还可以选择包含关键点在内的待识别图像中的任一像素点作为待校正点,利用校正矩阵对其校正,进而完成对待识别图像的校正,还可以将待识别图像中任一像素点处的像素对应的映射到校正后的图像的相应像素处,完成对图像的校正。其中,为提高校正的准确性,可采用上述的灰度插值运算对像素进行映射处理。
为了更清楚的说明本说明书实施例中的方案,基于上述内容,本说明书实施例还提供了上述方法的整体流程图,图4为本说明书实施例提供的一种二维码图像的识别方法的流程示意图,如图4所示,该流程可以包括:
步骤402:获取目标图像;
步骤404:将所述目标图像进行预处理,得到目标图像的图像金字塔;
步骤406:将得到的目标图像的图像金字塔作为一系列检测图像;
步骤408:将得到的检测图像输入图像定位模型得到标记有定位框的目标图像,其中定位框用于框取目标图像中的待识别二维码区域;
步骤410:判断所述待识别二维码区域的置信度是否大于或等于预设置信度;
步骤412:若所述待识别二维码区域的置信度小于预设置信度,则结束对该待识别二维码区域的识别;
步骤414:若所述待识别二维码区域的置信度大于或等于预设置信度,则确定待识别二维码区域中用于定位的关键点与标准关键点之间的对应关系;
步骤416:根据所述对应关系,确定校正矩阵;所述校正矩阵用于将待识别二维码区域中的待识别二维码图像校正为接近二维码图像模板样式的图像;
步骤418:对校正后的二维码图像进行识别。
本说明书实施例还提供了一种二维码图像定位模型的训练方法,可应用于图3所示的二维码图像的识别方法中。
图5为本说明书实施例提供的一种二维码图像定位模型的训练方法的流程示意图,步骤304中所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的,具体可以包括:
步骤502:获取二维码图像训练样本;
步骤504:对所述二维码图像训练样本进行标注,得到标注样本;所述标注样本中的标注信息包括所述二维码图像训练样本中二维码区域的位置探测图形的位置信息、所述二维码区域的定位框的位置信息中至少一种;
图6为本说明书实施例提供的一种二维码图像标注信息的示意图,如图6所示,位置探测图形601的位置信息可以以关键点602的形式表示,具体的,还可以以关键点602的位置坐标表示。其中,关键点602可以是位置探测图形的角点,具体的,图6中以左上角位置探测图形的左上角的角点坐标表示左上角位置探测图形的关键点,以右上角位置探测图形的右上角的角点坐标表示右上角位置探测图形的关键点,以右下角位置探测图形的右下角的角点坐标表示右下角位置探测图形的关键点。
定位框603用于框选图像中的二维码区域,定位框603的位置信息可以以标定点604的形式表示,图6中定位框603为矩形,其可以以4个标定点604表示,具体的,还可以以标定点的标定坐标表示。
实际应用中,在二维码图像的周边通常会存在小部分的空白区域,用于区分二维码图像与该二维码图像所处环境,本说明书实施例中的标定点604可位于该空白区域,具体的,可以选择空白区域中沿预设方向距离位置探测图像中关键点602为预设距离的点为标定点604,还可以根据标定点604得定位框603,二维码图像包含于定位框603中。
例如,假设图6中左上角位置探测图像的关键点的坐标为(x1,y1),可以将位于空白区域中坐标为(x1-a,y1+a)的点作为定位框的一个标定坐标点;同理,假设右上角位置探测图像的关键点的坐标为(x2,y2),可以将位于空白区域中坐标为(x2+a,y2+a)的点作为定位框的第二个标定坐标点;假设左下角位置探测图像的关键点的坐标为(x3,y3),可以将位于空白区域中坐标为(x3-a,y3-a)的点作为定位框的第三个标定坐标点;这里假设定位框为矩形,根据已知的三个标定坐标点就可以确定出定位框的第四个标定坐标点,进而可以用确定出的四个标定坐标点表示该定位框。
在实际应用中,还可以根据灰度值确定二维码图像周边的空白区域,例如,通常二维码图像是由黑白像素点按照一定的规则组成的,而空白区域通常是由一种像素点组成,可以利用此两者的像素差异识别出空白区域,进而在空白区域中设置定位框。其中,定位框还可以二维码图像边界为基准,由距离该边界为预设距离的点构成定位框。
需要说明的是,图6中仅是对标注信息的一种示意,在实际应用中,二维码图像的形状可以是矩形、圆形、多边形等多种样式,定位框的形状以及定位框标定点的数量也可以是多种,位置探测图像的形状、样式、数量也可以是多种多样的,这些都可根据实际需求进行设定,本说明书实施例中对此不作具体限定。步骤506:将所述标注样本输入多任务级联卷积神经网络模型,得到训练结果;
步骤508:判断所述训练结果是否满足预设要求,得到判断结果;
步骤510:若所述判断结果表示所述训练结果满足预设要求,则结束对所述多任务级联卷积神经网络模型的训练,得到所述图像定位模型。
本实施例中的方法,利用训练样本训练多任务级联卷积神经网络模型得到满足要求的二维码图像定位模型,以便实现对目标图像待识别二维码区域的定位。
并且,本实施例中可以在二维码图像周边的空白区域中设置定位框,借助计算机模型的自学习能力,得到的二维码图像定位模型可以从二维码图像的整体布局特征识别出二维码区域,利用定位框进行标定,从而可以在对位置探测图形识别之前完成二维码区域的定位。从原理上来看,本实施例中的方案,通过用4个定位点进行标定的方式,训练模型对二维码进行定位,实际上借鉴了人类视觉识别二维码的原理,大致可以理解为,具有黑白相间的斑块状图像,四周又具有空白间隙的图像,通常是二维码。本实施例中并未采用图像中的位置探测图形而完成二维码区域的定位,可以理解为,本说明书实施例中可以识别出图像中的位置探测图形之前,就可以完成二维码区域的定位,因此可提高二维码区域定位的速度,进一步提高二维码图像的识别效率。如上述本说明书实施例中二维码图像训练样本,可以包括:采用预设参数对包含二维码图像的物体进行图像采集生成训练样本,其中,所述预设参数包括预设倾斜角度、预设光照强度、预设曝光度、预设快门时间、预设光圈尺寸中至少一种参数。
实际应用中,预设参数可以根据实际需要进行设定,为使训练后的二维码图像定位模型可以对多种场景的二维码图像进行定位,可以将预设参数设置较宽的区间范围,还可以预设比例获取区间范围内的图像。
例如,预设倾斜角度的区间为[0,80]度,通常情况下0度至30度之间的图像定位成功率较高,为使二维码图像定位模型可以应对更宽的倾斜角度,可以选取较多数量的30度至80度之间的训练样本,例如,可以按照10度为阶梯,倾斜角度在[0,80]度范围的样本数量按照1:1.5:2:3:3.5:3.5:4:4.5的比例进行选取。
实际应用中,预设光照强度可以设置在光感度ISO为50至3200的范围;预设曝光度可以设置在-4至+4EV的范围;预设快门时间可以设置在1/4000至30秒的范围;预设光圈尺寸可以以光圈系数F进行设定,可以设置为F2.8至F16的范围。需要说明的是,预设参数具体数据可以根据需要进行设定,本实施例中不作具体限定。
并且,现有技术中,通常对于倾斜角度在0度至45度、光感度在200至2600、曝光度在-2至+2、快门时间在1/3000至1秒、光圈系数在F8至F16的二维码图像的识别概率较高,而对于在较大倾斜角度、较高或较低的光感度以及曝光度、曝光度、快门时间、光圈尺寸等特征条件下拍摄得到的二维码图像,大部分是不易或者无法识别的。而采用本说明书实施例中的训练方法,选择较宽特征范围的样本进行模型训练,使该模型可以定位出现有技术中无法或者较低概率成功定位的二维码区域,也可提高二维码的识别率。
本说明书实施例中,步骤504中对所述训练样本进行标注,得到标注样本,具体可以包括:
将所述二维码图像训练样本进行人工标注,得到第一标注样本;所述第一标注样本中包括定位框,所述定位框用于指示所述二维码图像训练样本中的二维码区域;
获取选择框;所述选择框用于在所述第一标注样本中框取图像;
将所述选择框置于所述第一标注样本中的若干个不同位置,得到对应的若干个第二标注样本;
计算每个所述第二标注样本中所述选择框与所述定位框的重叠度;
将所述重叠度在第一预设范围的第二标注样本确定为正样本;
将所述重叠度在第二预设范围的第二标注样本确定为负样本;
将所述重叠度在第三预设范围的第二标注样本确定为中间样本;其中,第一预设范围内的重叠度大于第三预设范围内的重叠度,第三预设范围内的重叠度大于第二预设范围内的重叠度;
利用所述正样本、负样本以及中间样本训练神经网络模型。
在实际应用中,还可以利用标注工具进行图像标注,例如图片标注工具labellmg等。
本说明书实施例中还可以采用标注工具与人工标注相结合的方式得到标注样本,具体的,可以按照预设比例采用标注工具与人工标注的方式对采集的样本图像进行标注。
本说明书实施例中多任务级联卷积神经网络模型可以包括卷积层、连接层和输出层,步骤506中将所述标注样本输入多任务级联卷积神经网络模型,得到训练结果,具体可以包括:
将所述标注样本按照第一预设尺寸输入卷积层,得到第一训练结果;
确定所述第一训练结果中的定位框的位置信息,利用回归策略对所述定位框进行修正,得到修正后的定位框;
基于所述修正后的定位框,对所述第一训练结果进行修正,得到连接层训练样本;
将所述连接层训练样本输入所述连接层,得到第二训练结果;
确定所述第二训练结果中关键点的位置信息;所述关键点至少包括所述定位图形的中心点、所述定位图形的角点中至少一种;
基于所述关键点的位置信息,训练所述输出层。
在实际应用中,还可以利用标注样本分别同时或非同时训练卷积层、连接层和输出层,得到满足预设性能的二维码图像定位模型。
基于同样的思路,本说明书实施例还提供了上述识别方法对应的装置。图7为本说明书实施例提供的对应于图3的一种二维码图像的识别装置的结构示意图。如图7所示,该装置可以包括:
目标获取模块702,用于获取目标图像;
定位模块704,用于利用图像定位模型,确定所述目标图像中包含的待识别二维码区域;所述待识别二维码区域中包含待识别二维码图像;所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的;
位置信息确定模块706,用于基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息;
校正参数确定模块708,用于根据所述位置信息和标准定位信息,确定校正参数;所述标准定位信息为预设二维码图像模板中位置探测图形的位置信息;
校正模块710,用于根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像;
识别模块712,用于对所述校正后的二维码图像进行识别。
基于同样的思路,本说明书实施例还提供了上述训练方法对应的装置。图8为本说明书实施例提供的对应于图5的一种二维码图像定位模型的训练装置的结构示意图。如图8所示,该装置可以包括:
样本获取模块802,用于获取二维码图像训练样本;
样本标注模块804,用于对所述二维码图像训练样本进行标注,得到标注样本;所述标注样本中的标注信息包括所述二维码图像训练样本中二维码区域的定位图形的位置信息、所述二维码区域的定位框的位置信息中至少一种;
模型训练模块806,用于将所述标注样本输入多任务级联卷积神经网络模型模型,得到训练结果;
结果判断模块808,用于判断所述训练结果是否满足预设要求,得到判断结果;
模型确定模块810,用于若所述判断结果表示所述训练结果满足预设要求,则结束对所述多任务级联卷积神经网络模型的训练,得到所述图像定位模型。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
本说明书实施例提供的一种二维码图像的识别设备,可以包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述二维码图像的识别方法。
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读存储介质,其上存储有计算机程序,该程序被处理执行时可实现如上述二维码图像识别的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (13)

1.一种二维码图像的识别方法,其特征在于,包括:
获取目标图像;
利用图像定位模型,确定所述目标图像中包含的待识别二维码区域;所述待识别二维码区域中包含待识别二维码图像;所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的;
基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息;
根据所述位置信息和标准定位信息,确定校正参数;所述标准定位信息为预设二维码图像模板中位置探测图形的位置信息;
根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像;
对所述校正后的二维码图像进行识别。
2.根据权利要求1所述方法,其特征在于,所述利用图像定位模型,确定所述目标图像中包含的待识别二维码区域,具体包括:
将所述目标图像输入所述图像定位模型,得到至少一个候选二维码区域;
确定每个所述候选二维码区域的置信度;
将所述置信度最大的所述候选二维码区域确定为所述待识别二维码区域。
3.根据权利要求2所述方法,其特征在于,所述将所述置信度最大的所述候选二维码区域确定为所述待识别二维码区域,具体包括:
根据所述置信度,确定所述候选二维码区域之间的交并比;
将所述交并比大于预设交并比阈值的所述候选二维码区域划分至同一集合,得到多个集合;
对于每个所述集合,将所述置信度最大的所述候选二维码区域确定为所述待识别二维码区域。
4.根据权利要求1所述方法,其特征在于,所述二维码图像训练样本包括:
采用预设参数对包含二维码图像的物体进行图像采集得到的样本图像,所述预设参数包括预设倾斜角度、预设光照强度、预设曝光度、预设快门时间、预设光圈尺寸中至少一种参数。
5.根据权利要求1所述方法,其特征在于,所述二维码图像训练样本包括:
采集纸质的二维码图像得到的图像、采集电子产品屏幕中显示的二维码图像得到的图像、采集被塑封处理后的二维码图像得到的图像中至少一种图像。
6.根据权利要求1所述方法,其特征在于,所述确定所述目标图像中包含的待识别二维码区域之后,还包括:
判断所述待识别二维码区域的置信度是否大于或者等于预设置信度。
7.根据权利要求1所述方法,其特征在于,所述基于所述待识别二维码区域的图像信息,确定所述待识别二维码图像中位置探测图形的位置信息,具体包括:
基于所述待识别二维码区域的图像信息,确定所述位置探测图形;
根据所述位置探测图形,确定关键点的位置坐标;所述关键点至少包括所述位置探测图形的中心点、所述位置探测图形的角点中至少一种。
8.根据权利要求7所述方法,所述其特征在于,所述根据所述位置信息和标准定位信息,确定校正参数,具体包括:
将所述关键点的位置坐标按照预设顺序排列,得到关键点位置矩阵;
将所述预设二维码图像模板中标准关键点的位置坐标按照所述预设顺序排列,得到标准关键点位置矩阵;
根据所述关键点位置矩阵与所述标准关键点位置矩阵,得到校正矩阵;所述校正矩阵用于表示所述关键点位置矩阵与所述标准关键点位置矩阵之间的映射关系。
9.根据权利要求8所述方法,其特征在于,所述根据所述关键点位置矩阵与所述标准关键点位置矩阵,得到校正矩阵,具体包括:
根据公式[P Q]T=[R S],得到校正矩阵T;
其中,R为所述标准关键点的位置坐标中的横坐标;Q为所述标准关键点的位置坐标中的纵坐标;P为所述关键点的位置坐标中的横坐标;Q为所述关键点的位置坐标中的纵坐标;[P Q]为由所述关键点位置矩阵;[R S]为所述标准关键点位置矩阵。
10.根据权利要求9所述方法,其特征在于,所述根据所述校正参数对所述待识别二维码图像进行校正,得到校正后的二维码图像,具体包括:
确定所述关键点的位置坐标;
基于所述校正矩阵,得到所述关键点的位置坐标对应的校正后的关键点的位置坐标;
将所述关键点的像素赋值到所述校正后的关键点处;
基于所述校正后的关键点的像素进行灰度插值运算,得到校正后的二维码图像。
11.根据权利要求1所述方法,其特征在于,所述图像定位模型是根据二维码图像训练样本对多任务级联卷积神经网络模型进行训练得到的,具体包括:
获取二维码图像训练样本;
对所述二维码图像训练样本进行标注,得到标注样本;所述标注样本中的标注信息包括所述二维码图像样本中二维码区域的位置探测图形的位置信息、所述二维码区域的定位框的位置信息中至少一种;
将所述标注样本输入所述多任务级联卷积神经网络模型,得到训练结果;
判断所述训练结果是否满足预设要求,得到判断结果;
若所述判断结果表示所述训练结果满足预设要求,则结束对所述多任务级联卷积神经网络模型的训练,得到所述图像定位模型。
12.一种二维码图像的识别设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1~11任一权利要求所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~11任一权利要求所述的方法。
CN202010807076.0A 2020-08-12 2020-08-12 一种二维码图像的识别方法、设备及存储介质 Pending CN111950318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010807076.0A CN111950318A (zh) 2020-08-12 2020-08-12 一种二维码图像的识别方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010807076.0A CN111950318A (zh) 2020-08-12 2020-08-12 一种二维码图像的识别方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111950318A true CN111950318A (zh) 2020-11-17

Family

ID=73332314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010807076.0A Pending CN111950318A (zh) 2020-08-12 2020-08-12 一种二维码图像的识别方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111950318A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112766012A (zh) * 2021-02-05 2021-05-07 腾讯科技(深圳)有限公司 二维码图像的识别方法、装置、电子设备及存储介质
CN112989864A (zh) * 2021-03-11 2021-06-18 北京骑胜科技有限公司 图形码损坏的识别方法、设备、存储介质、程序产品
CN113065374A (zh) * 2021-04-01 2021-07-02 支付宝(杭州)信息技术有限公司 一种二维码识别方法、装置及设备
CN113095104A (zh) * 2021-05-08 2021-07-09 山东新一代信息产业技术研究院有限公司 一种缺损二维码定位方法
CN113128246A (zh) * 2021-03-25 2021-07-16 维沃移动通信有限公司 信息处理方法、装置和电子设备
CN113128247A (zh) * 2021-05-17 2021-07-16 阳光电源股份有限公司 一种图像定位标识验证方法及服务器
CN113438152A (zh) * 2021-08-26 2021-09-24 北京海誉动想科技股份有限公司 二维码处理方法与装置
CN113591967A (zh) * 2021-07-27 2021-11-02 南京旭锐软件科技有限公司 一种图像处理方法、装置、设备及计算机存储介质
CN113935909A (zh) * 2021-09-22 2022-01-14 南方电网深圳数字电网研究院有限公司 一种二维码校正识别方法及装置
CN114139564A (zh) * 2021-12-07 2022-03-04 Oppo广东移动通信有限公司 二维码检测方法、装置、终端设备及检测网络的训练方法
CN114454617A (zh) * 2022-01-19 2022-05-10 湖南视比特机器人有限公司 喷码总系统
CN115375625A (zh) * 2022-07-25 2022-11-22 北京数美时代科技有限公司 一种二维码检测解码方法、系统、电子设备及介质
CN115618905A (zh) * 2022-10-13 2023-01-17 江苏艾凯艾国际标准认证有限公司 一种汽车制造零部件的追溯管理方法及系统
CN115630663A (zh) * 2022-12-19 2023-01-20 成都爱旗科技有限公司 一种二维码识别方法、装置及电子设备
CN117151136A (zh) * 2023-08-14 2023-12-01 浙江安吉智电控股有限公司 多个二维码的识别方法、装置、电子设备以及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108389316A (zh) * 2018-03-02 2018-08-10 北京京东尚科信息技术有限公司 自动售货方法、装置和计算机可读存储介质
CN109145927A (zh) * 2017-06-16 2019-01-04 杭州海康威视数字技术股份有限公司 一种对形变图像的目标识别方法及装置
US20190188530A1 (en) * 2017-12-20 2019-06-20 Baidu Online Network Technology (Beijing) Co., Ltd . Method and apparatus for processing image
CN109993019A (zh) * 2019-04-15 2019-07-09 苏州国芯科技股份有限公司 基于连通域分析的二维码识别方法、系统及设备和介质
CN110033002A (zh) * 2019-04-19 2019-07-19 福州大学 基于多任务级联卷积神经网络的车牌检测方法
CN110046529A (zh) * 2018-12-11 2019-07-23 阿里巴巴集团控股有限公司 二维码识别方法、装置及设备
CN110765795A (zh) * 2019-09-24 2020-02-07 北京迈格威科技有限公司 二维码识别方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145927A (zh) * 2017-06-16 2019-01-04 杭州海康威视数字技术股份有限公司 一种对形变图像的目标识别方法及装置
US20190188530A1 (en) * 2017-12-20 2019-06-20 Baidu Online Network Technology (Beijing) Co., Ltd . Method and apparatus for processing image
CN108389316A (zh) * 2018-03-02 2018-08-10 北京京东尚科信息技术有限公司 自动售货方法、装置和计算机可读存储介质
CN110046529A (zh) * 2018-12-11 2019-07-23 阿里巴巴集团控股有限公司 二维码识别方法、装置及设备
CN109993019A (zh) * 2019-04-15 2019-07-09 苏州国芯科技股份有限公司 基于连通域分析的二维码识别方法、系统及设备和介质
CN110033002A (zh) * 2019-04-19 2019-07-19 福州大学 基于多任务级联卷积神经网络的车牌检测方法
CN110765795A (zh) * 2019-09-24 2020-02-07 北京迈格威科技有限公司 二维码识别方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
燕雨薇等: "二维码技术及其应用综述", 《智能计算机与应用》, vol. 9, no. 5, 30 September 2019 (2019-09-30), pages 2 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112766012B (zh) * 2021-02-05 2021-12-17 腾讯科技(深圳)有限公司 二维码图像的识别方法、装置、电子设备及存储介质
CN112766012A (zh) * 2021-02-05 2021-05-07 腾讯科技(深圳)有限公司 二维码图像的识别方法、装置、电子设备及存储介质
CN112989864A (zh) * 2021-03-11 2021-06-18 北京骑胜科技有限公司 图形码损坏的识别方法、设备、存储介质、程序产品
CN112989864B (zh) * 2021-03-11 2024-06-07 北京骑胜科技有限公司 图形码损坏的识别方法、设备、存储介质、程序产品
CN113128246A (zh) * 2021-03-25 2021-07-16 维沃移动通信有限公司 信息处理方法、装置和电子设备
CN113065374A (zh) * 2021-04-01 2021-07-02 支付宝(杭州)信息技术有限公司 一种二维码识别方法、装置及设备
CN113065374B (zh) * 2021-04-01 2023-10-27 支付宝(杭州)信息技术有限公司 一种二维码识别方法、装置及设备
CN113095104A (zh) * 2021-05-08 2021-07-09 山东新一代信息产业技术研究院有限公司 一种缺损二维码定位方法
CN113128247A (zh) * 2021-05-17 2021-07-16 阳光电源股份有限公司 一种图像定位标识验证方法及服务器
CN113128247B (zh) * 2021-05-17 2024-04-12 阳光电源股份有限公司 一种图像定位标识验证方法及服务器
CN113591967A (zh) * 2021-07-27 2021-11-02 南京旭锐软件科技有限公司 一种图像处理方法、装置、设备及计算机存储介质
CN113591967B (zh) * 2021-07-27 2024-06-11 南京旭锐软件科技有限公司 一种图像处理方法、装置、设备及计算机存储介质
CN113438152A (zh) * 2021-08-26 2021-09-24 北京海誉动想科技股份有限公司 二维码处理方法与装置
CN113935909A (zh) * 2021-09-22 2022-01-14 南方电网深圳数字电网研究院有限公司 一种二维码校正识别方法及装置
CN114139564A (zh) * 2021-12-07 2022-03-04 Oppo广东移动通信有限公司 二维码检测方法、装置、终端设备及检测网络的训练方法
CN114139564B (zh) * 2021-12-07 2024-05-07 Oppo广东移动通信有限公司 二维码检测方法、装置、终端设备及检测网络的训练方法
CN114454617A (zh) * 2022-01-19 2022-05-10 湖南视比特机器人有限公司 喷码总系统
CN115375625A (zh) * 2022-07-25 2022-11-22 北京数美时代科技有限公司 一种二维码检测解码方法、系统、电子设备及介质
CN115618905A (zh) * 2022-10-13 2023-01-17 江苏艾凯艾国际标准认证有限公司 一种汽车制造零部件的追溯管理方法及系统
CN115618905B (zh) * 2022-10-13 2023-12-12 东莞市生海科技有限公司 一种汽车制造零部件的追溯管理方法及系统
CN115630663A (zh) * 2022-12-19 2023-01-20 成都爱旗科技有限公司 一种二维码识别方法、装置及电子设备
CN117151136A (zh) * 2023-08-14 2023-12-01 浙江安吉智电控股有限公司 多个二维码的识别方法、装置、电子设备以及介质

Similar Documents

Publication Publication Date Title
CN111950318A (zh) 一种二维码图像的识别方法、设备及存储介质
CN112949564B (zh) 一种基于深度学习的指针式仪表自动读数方法
CN110163198B (zh) 一种表格识别重建方法、装置和存储介质
CN106447721B (zh) 图像阴影检测方法和装置
CN111738262A (zh) 目标检测模型训练、检测方法、装置、设备及存储介质
US20190378300A1 (en) Target, Method, and System for Camera Calibration
CN111311556B (zh) 手机缺陷位置识别方法及设备
CN110929664B (zh) 图像识别方法以及装置
CN107862235B (zh) 二维码的位置定位方法、装置及终端设备
Vitoria et al. Automatic flare spot artifact detection and removal in photographs
CN111612834A (zh) 生成目标图像的方法、装置及设备
CN116343228A (zh) 一种水表智能读数方法及系统
CN111325717A (zh) 手机缺陷位置识别方法及设备
CN110991520A (zh) 一种生成训练样本的方法以及装置
CN114037992A (zh) 仪表示数识别方法、装置、电子设备及存储介质
CN109190662A (zh) 一种基于关键点回归的车辆三维检测方法、系统、终端和存储介质
CN113435557B (zh) 一种二维码生成、解码、识别方法、装置及设备
CN117911668A (zh) 药品信息识别方法及装置
CN115830604A (zh) 面单图像矫正方法、装置、电子设备及可读存储介质
CN113808033A (zh) 图像文档校正方法、系统、终端及介质
CN112907612A (zh) 一种条形码区域定位的方法和图像的矩形区域拟合的方法
CN112907745A (zh) 一种数字正射影像图生成方法及装置
CN110990647A (zh) 数据处理方法以及装置
CN112036398B (zh) 一种文本校正方法及其系统
CN110717969A (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