二维码检测方法、装置、设备及存储介质与流程

文档序号:19829957发布日期:2020-02-04 12:18阅读:213来源:国知局
二维码检测方法、装置、设备及存储介质与流程

本公开涉及数据处理技术领域,尤其涉及一种二维码检测方法、装置、设备及存储介质。



背景技术:

二维码是日常生活中常见的一种编码形式,被广泛地用于移动支付、信息获取、用户校验等场景中,故对二维码的精准检测显得非常重要。

相关技术中,一般是通过传统图像算法对图像进行二值化处理,得到图像中二维码的模式信息,进而根据图像中二维码的模式信息,确定图像中二维码的定位符,以实现对图像中二维码的检测定位。但是,当图像内容比较复杂时,很容易出现定位符的误识别或者漏识别,从而造成图像中二维码的检测准确度较低。



技术实现要素:

本公开提供一种二维码检测方法、装置、设备及存储介质,以至少解决相关技术中图像中二维码的检测准确度较低的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种二维码检测方法,包括:获取待检测图像;所述待检测图像中包含有二维码;提取所述待检测图像的图像特征;根据所述待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度;根据所述至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度,确定所述待检测图像中所述二维码的位置信息。

可选地,在获取待检测图像的步骤之后,所述二维码检测方法还包括:对所述待检测图像进行缩放处理,得到设定大小的待检测图像。

可选地,所述提取所述待检测图像的图像特征的步骤包括:将所述待检测图像输入预先训练的特征提取模型,得到所述待检测图像的图像特征;所述预先训练的特征提取模型用于对所述待检测图像进行多次深度可分离卷积操作,输出所述待检测图像的图像特征。

可选地,所述根据所述待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度的步骤包括:将所述预先训练的特征提取模型输出的所述待检测图像的图像特征输入预先训练的二维码检测模型,得到至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度;所述预先训练的二维码检测模型用于从所述待检测图像的图像特征中,筛选出目标图像特征;获取多个预设检测框;根据所述多个预设检测框,对所述目标图像特征进行第一全连接处理,得到至少两个二维码检测框的位置信息;根据所述多个预设检测框,对所述目标图像特征进行第二全连接处理,得到所述检测框内包含所述二维码的置信度。

可选地,所述预先训练的二维码检测模型通过下述方式训练得到:采集多个包含有二维码的样本图像以及对应的二维码的实际位置信息;对所述样本图像进行预处理,得到预处理后的样本图像;所述预处理包括剪切预处理、填充预处理、旋转预处理中的任意一种或多种;将所述样本图像输入所述预先训练的特征提取模型,得到所述样本图像的图像特征;根据所述样本图像的图像特征以及所述二维码的实际位置信息,对待训练的二维码检测模型进行训练,得到训练后的二维码检测模型;获取所述训练后的二维码检测模型的目标误差;当所述目标误差大于或等于预设阈值时,根据所述目标误差调整所述二维码检测模型的网络参数,得到调整后的二维码检测模型,并对所述调整后的二维码检测模型进行反复训练,直至根据训练后的二维码检测模型得到的所述目标误差小于所述预设阈值;若根据训练后的二维码检测模型得到的所述目标误差小于所述预设阈值,将所述训练后的二维码检测模型作为所述预先训练的二维码检测模型。

可选地,所述根据所述至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度,确定所述待检测图像中所述二维码的位置信息的步骤包括:将所述置信度大于预设置信度的二维码检测框的位置信息,作为所述待检测图像中所述二维码的位置信息。

可选地,在确定所述待检测图像中所述二维码的位置信息的步骤之后,所述二维码检测方法还包括:根据所述二维码的位置信息,对所述二维码进行识别,得到对应的二维码识别结果。

根据本公开实施例的第二方面,提供一种二维码检测装置,包括:图像获取单元,被配置为执行获取待检测图像;所述待检测图像中包含有二维码;特征提取单元,被配置为执行提取所述待检测图像的图像特征;信息获取单元,被配置为执行根据所述待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度;信息确定单元,被配置为执行根据所述至少两个二维码检测框的位置信息以及所述二维码检测框内包含所述二维码的置信度,确定所述待检测图像中所述二维码的位置信息。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面的实施方式中的方法。

根据本公开实施例的第四方面,提供一种存储介质,包括:当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面的实施方式中的方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

通过提取包含有二维码的待检测图像的图像特征,并根据提取到的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,进而确定待检测图像中二维码的位置信息;实现了根据待检测图像的图像特征,实时确定待检测图像中二维码的位置信息的目的;综合考虑多个二维码检测框的位置信息以及检测框内包含二维码的置信度,并无需对待检测图像进行二值化处理,从而避免了图像背景的影响以及误识别或者漏识别,使得待检测图像中二维码的位置信息的确定更加准确,从而提高了图像中二维码的检测准确度;同时,无需生成候选区域,从而大大减少了运算量,有效地提高了图像中二维码的检测效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种二维码检测方法的应用环境图。

图2是根据一示例性实施例示出的一种二维码检测方法的流程图。

图3是根据一示例性实施例示出的深度可分离卷积操作步骤的流程图。

图4是根据一示例性实施例示出的得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度的步骤的流程图。

图5是根据一示例性实施例示出的二维码检测模型训练步骤的流程图。

图6是根据一示例性实施例示出的包含有二维码的样本图像的示意图。

图7是根据另一示例性实施例示出的一种二维码检测方法的流程图。

图8是根据一示例性实施例示出的一种二维码检测装置的框图。

图9是根据一示例性实施例示出的一种计算机设备的内部结构图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1为一示例性实施例示出的一种二维码检测方法的应用环境图。参照图1,该应用环境图包括终端110。终端110是具有二维码检测功能的电子设备,该电子设备可以是智能手机、平板电脑或个人计算机等等。图1中以终端110是智能手机为例进行说明,终端110获取用户选择的待检测图像,如图a,待检测图像中包含有二维码;提取待检测图像的图像特征;根据待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及所述检测框内包含二维码的置信度;根据至少两个二维码检测框的位置信息以及检测框内包含二维码的置信度,确定待检测图像中二维码的位置信息,如图a中的二维码中的位置信息。此外,二维码检测方法还可以应用在扫码识别场景、长按识别场景等,具体本公开不做限定。

图2是根据一示例性实施例示出的一种二维码检测方法的流程图,如图2所示,该二维码检测方法用于如图1所示的终端中,包括以下步骤。

在步骤s11中,获取待检测图像;待检测图像中包含有二维码。

其中,二维码是指由布置在白色背景上的正方形网格中的黑色方块组成的编码,可以根据不同的排布方式编码不同的内容,比如点状二维码、环状二维码和辐射状二维码等;在实际场景中,二维码可以是微信公众号二维码、自助点单二维码、收款二维码等。

其中,待检测图像是指包含有二维码的图片,比如包含有微信公众号二维码的图片、包含有自助点单二维码的图片、包含有收款二维码的图片等。

示例性地,在扫码识别场景中,比如扫描包含有微信公众号二维码的图片的场景中,用户打开终端的二维码检测功能,对图片中的二维码进行扫描;即终端通过摄像设备实时采集取景框内显示的图像,并将取景框内显示的图像作为待检测图像。

示例性地,在长按识别场景中,用户通过长按终端显示的包含有二维码的图片,触发终端对图片中的二维码进行识别;在此场景下,将终端显示的包含有二维码的图片,作为待检测图像。

在步骤s12中,提取待检测图像的图像特征。

其中,图像特征用于描述待检测图像的特征信息,比如局部特征信息。

示例性地,终端对待检测图像进行深度可分离卷积操作,得到待检测图像的图像特征;这样,有利于后续根据待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,进而确定待检测图像中二维码的位置信息,无需对待检测图像进行二值化处理,从而避免了图像背景的影响以及误识别或者漏识别,进而提高了图像中二维码的检测准确度。

在步骤s13中,根据待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度。

其中,二维码检测框是指系统认为的二维码所在的方框;二维码检测框的位置信息是指系统认为的二维码的位置信息,一般包括二维码检测框的左上顶点坐标、左下顶点坐标、右上顶点坐标以及右下顶点坐标。

其中,检测框内包含二维码的置信度是指检测框内的信息是二维码的可能性,若检测框内的包含二维码的置信度越大,表示该检测框内的信息是二维码的可能性越大;若检测框内的包含二维码的置信度越小,表示该检测框内的信息是二维码的可能性越小。

需要说明的是,至少两个二维码检测框是指两个二维码检测框或者两个以上二维码检测框,具体本公开不做限定。

示例性地,终端分别对待检测图像的图像特征进行两次全连接操作,一次全连接操作用于获取二维码检测框的左上顶点坐标、左下顶点坐标、右上顶点坐标以及右下顶点坐标,作为二维码检测框的位置信息;另一次全连接操作用于获取二维码检测框内包含二维码的置信度,从而得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;有利于后续综合考虑多个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,以准确确定待检测图像中二维码的位置信息,从而提高了图像中二维码的检测准确度;同时,无需生成候选区域,从而大大减少了运算量,有效地提高了图像中二维码的检测效率。

在步骤s14中,根据至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,确定待检测图像中二维码的位置信息。

其中,待检测图像中二维码的位置信息用于表示二维码在待检测图像中的实际位置,也是通过二维码在待检测图像中的左上顶点坐标、左下顶点坐标、右上顶点坐标以及右下顶点坐标综合确定。

示例性地,终端从二维码检测框的位置信息中,筛选出置信度符合条件的二维码检测框的位置信息,比如置信度最大的二维码检测框的位置信息,作为待检测图像中二维码的位置信息;这样,通过综合考虑多个二维码检测框的位置信息以及检测框内包含二维码的置信度,有利于准确确定待检测图像中二维码的位置信息,从而提高了图像中二维码的检测准确度。

本公开实施例提供的二维码检测方法,通过提取包含有二维码的待检测图像的图像特征,并根据提取到的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,进而确定待检测图像中二维码的位置信息;实现了根据待检测图像的图像特征,实时确定待检测图像中二维码的位置信息的目的;综合考虑多个二维码检测框的位置信息以及检测框内包含二维码的置信度,并无需对待检测图像进行二值化处理,从而避免了图像背景的影响以及误识别或者漏识别,使得待检测图像中二维码的位置信息的确定更加准确,从而提高了图像中二维码的检测准确度;同时,无需生成候选区域,从而大大减少了运算量,有效地提高了图像中二维码的检测效率。

作为本公开一个可选实施方式,步骤s11之后,上述二维码检测方法还包括:对待检测图像进行缩放处理,得到设定大小的待检测图像。

示例性地,终端获取预设的图像缩放文件,根据预设的图像缩放文件,对待检测图像进行缩放处理,得到设定大小的待检测图像;其中,预设的图像缩放文件是一种能够自动将图像缩放成设定大小的图像算法文件。

例如,终端对待检测图像进行缩放处理,得到大小为256×256像素的待检测图像;这样,通过将待检测图像缩放成设定大小,有利于后续对待检测图像进行图像特征提取。

进一步地,在对待检测图像进行缩放处理,得到设定大小的待检测图像之后,还包括:对待检测图像中的各个像素点的像素值进行归一化处理,得到归一化处理后的待检测图像。

示例性地,终端将待检测图像中的各个像素点的像素值拉伸到属于[-1,1]的数值,以对待检测图像中的各个像素点的像素值进行归一化处理,从而得到归一化处理后的待检测图像,便于后续对待检测图像图进行图像特征提取。

作为本公开一个可选实施方式,步骤s12,还可以包括:将待检测图像输入预先训练的特征提取模型,得到待检测图像的图像特征;预先训练的特征提取模型用于对待检测图像进行多次深度可分离卷积操作,输出待检测图像的图像特征。

其中,预先训练的特征提取模型是一种能够有效地提取待检测图像中的图像特征的深度可分离卷积网络模型,比如mobilenet-v1模型;本公开采用的是mobilenet-v1模型,该模型包括多个深度可分离卷积层,各个深度可分离卷积层的输入输出关系如下表1所示:

表1

其中,针对conv1的深度可分离卷积层,输入尺寸128×128×16中的128×128表示输入的图像特征对应的特征图的大小,16表示输入通道数目;输出尺寸64×64×32中的64×64表示输出的图像特征对应的特征图的大小,32表示输出通道数目;其他深度可分离卷积层的输入输出关系也是参照上述解释,具体本公开不再赘述。

其中,每个深度可分离卷积层都是由卷积核参数为3×3×1×m(输入通道数目)的深度卷积操作以及卷积核参数为1×1×m×n(输出通道数目)的点卷积操作完成,并包含了批量归一化操作(batchnormalization)与relu激活操作。比如,针对conv1的深度可分离卷积层,m等于16,n等于32。

示例性地,通过预先训练的特征提取模型对输入的待检测图像进行一次深度卷积操作,并对深度卷积操作后的图像特征进行归一化操作以及激活操作;对归一化操作以及激活操作的图像特征进行一次点卷积操作,并对点卷积操作后的图像特征进行归一化操作以及激活操作,以实现对待检测图像进行一次深度可分离卷积操作;以此类推,可以对待检测图像进行多次深度可分离卷积操作,从而得到待检测图像的图像特征。

例如,参照图3,针对conv1的深度可分离卷积层,终端采用16个卷积核大小为3×3×1的卷积核与对应输入通道的图像特征进行深度卷积操作(depthwiseconv),得到16个图像特征,实现了对输入的图像特征的滤波效果;对深度卷积操作后的图像特征进行bn归一化操作以及relu激活操作,得到16个bn归一化操作以及relu激活操作后的图像特征;采用32个卷积核大小为1×1×16的卷积核分别对16个bn归一化操作以及relu激活操作后的图像特征进行点卷积操作(pointwiseconv),得到32个图像特征;对点卷积操作后的图像特征进行bn归一化操作以及relu激活操作,得到32个bn归一化操作以及relu激活操作后的图像特征。

本公开实施例提供的技术方案中,通过对待检测图像进行多次深度可分离卷积操作,能够有效地对待检测图像进行滤波,使得提取出的图像特征更加准确,进一步提高了提取出的图像特征的准确度;同时,方便后续根据待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,进而确定待检测图像中二维码的位置信息,无需对待检测图像进行二值化处理,从而避免了图像背景的影响以及误识别或者漏识别,进而提高了图像中二维码的检测准确度。

作为本公开一个可选实施方式,如图4所示,步骤s13,包括以下步骤:

在步骤s131中,从待检测图像的图像特征中,筛选出目标图像特征。

其中,目标图像特征是指包含较多信息的图像特征。

示例性地,终端从待检测图像的图像特征中,筛选出靠后的深度可分离卷积层输出的图像特征,作为目标图像特征。

例如,参考上述mobilenet-v1模型,终端将mobilenet-v1模型中的conv7、conv9、conv11、conv13、conv14、conv15、conv16、conv17这8个深度可分离卷积层输出的图像特征,作为目标图像特征。

需要说明的是,conv7、conv9这2个深度可分离卷积层输出的图像特征称为浅层特征。在深度神经网络中,越往后的深度可分离卷积层输出的图像特征的非线性越强,语义信息越高级,但考虑到二维码有较强的规律性,因此使用了更多的浅层(不那么高级)的特征。

在步骤s132中,获取多个预设检测框。

其中,预设检测框用于确定待检测图像中二维码的位置,不同的深度可分类卷积层中,二维码占全图的范围不一样,对应的预设检测框的大小也不一样。

示例性地,终端预先在各个深度可分类卷积层中,生成指定大小的检测框,作为预设检测框。

例如,参考上述mobilenet-v1模型,conv7、conv9、conv11、conv13、conv14、conv15、conv16、conv17这8个深度可分离卷积层都设置有对应的锚点(也称为预设检测框),最小尺度为0.1,最大尺度为0.8;比如,本公开针对conv7、conv9这2个深度可分离卷积层输出的浅层特征,同时引入了两个小尺度的锚点;这样,有利于准确确定待检测图像中二维码的位置,同时提高了对小尺度的二维码的检测效果。

需要说明的是,选取0.1与0.8主要是考虑到二维码占全图的范围,大致在0.1到0.8之间。

在步骤s133中,根据多个预设检测框,对目标图像特征进行第一全连接处理,得到至少两个二维码检测框的位置信息。

在步骤s134中,根据多个预设检测框,对目标图像特征进行第二全连接处理,得到检测框内包含二维码的置信度。

示例性地,终端根据多个预设检测框,生成目标图像特征中的二维码检测框;分别对目标图像特征中的二维码检测框进行第一全连接处理以及第二全连接处理,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度。

本公开实施例提供的技术方案中,结合多个预设检测框,对目标图像特征进行第一全连接处理以及第二全连接处理,有利于得到多个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;方便后续基于多个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,准确确定待检测图像中二维码的位置信息,从而提高了图像中二维码的检测准确度;同时,无需生成候选区域,从而大大减少了运算量,有效地提高了图像中二维码的检测效率。

作为本公开一个可选实施方式,步骤s13,还可以包括:将预先训练的特征提取模型输出的待检测图像的图像特征输入预先训练的二维码检测模型,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;预先训练的二维码检测模型用于从待检测图像的图像特征中,筛选出目标图像特征;获取多个预设检测框;根据多个预设检测框,对目标图像特征进行第一全连接处理,得到至少两个二维码检测框的位置信息;根据多个预设检测框,对目标图像特征进行第二全连接处理,得到检测框内包含二维码的置信度。

其中,预先训练的二维码检测模型是一种能够有效地确定二维码检测框的位置信息以及二维码检测框内包含二维码的置信度的神经网络模型,具体包括两个全连接层。

本公开实施例提供的技术方案中,将预先训练的特征提取模型输出的待检测图像的图像特征输入预先训练的二维码检测模型,并通过预先训练的二维码检测模型输出多个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,使得后续的待检测图像中二维码的位置信息的确定更加准确,从而提高了图像中二维码的检测准确度。

作为本公开一个可选实施方式,如图5所示,预先训练的二维码检测模型可以通过下述步骤训练得到:

在步骤s51中,采集多个包含有二维码的样本图像以及对应的二维码的实际位置信息。

其中,二维码的实际位置信息是指样本图像中二维码的实际位置。

示例性地,基于大数据技术,获取网络上包含有二维码的图像,作为样本图像;并利用zxing、zbar等现有算法的自动检测方式或者人工标注方式,获取样本图像中二维码的实际位置信息。

在步骤s52中,对样本图像进行预处理,得到预处理后的样本图像;预处理包括剪切预处理、填充预处理、旋转预处理中的任意一种或多种。

示例性地,参考图6,图6(a)为原始的样本图像,以随机比例裁剪(crop)出样本图像中包含有二维码的正方形区域,如图6(b)所示;以随机比例将包含二维码的样本图像填充(pad)为正方形,如图6(c)所示;对样本图像进行旋转操作,得到包含有更多角度信息的二维码的图像,并裁剪出该图像中包含有二维码的正方形区域,或者将该样本图像填充为正方形,如图6(d)所示,从而得到预处理后的样本图像。

需要说明的是,还可以对样本图像进行其他方式的预处理,比如去除噪声、增强对比度等。

进一步地,将预处理后的样本图像进行缩放(resize)处理,得到指定大小的样本图像,比如256×256像素;并将样本图像中二维码的实际位置信息进行归一化处理,比如将二维码的原坐标(x,y)分别除以256,得到样本图像中二维码的归一化坐标。这样,可以得到包含有不同二维码目标大小的样本图像与其二维码位置对应的归一化坐标,使得二维码检测模型的训练数据更加丰富。

需要说明的是,一般将二维码目标大小小于16×16像素的样本图像进行删除,以限制二维码检测模型能够检测到的最小二维码的目标大小。

在步骤s53中,将样本图像输入预先训练的特征提取模型,得到样本图像的图像特征。

在步骤s54中,根据样本图像的图像特征以及二维码的实际位置信息,对待训练的二维码检测模型进行训练,得到训练后的二维码检测模型。

在步骤s55中,获取训练后的二维码检测模型的目标误差。

示例性地,计算训练后的二维码检测模型中的第一个全连接层输出的二维码检测框的位置的第一误差,以及第二个全连接层输出的二维码检测框内包含二维码的置信度的第二误差,将第一个全连接层输出的二维码检测框的位置的第一误差,以及第二个全连接层输出的二维码检测框内包含二维码的置信度的第二误差进行加权运算,得到训练后的二维码检测模型的目标误差。

在步骤s56中,当目标误差大于或等于预设阈值时,根据目标误差调整二维码检测模型的网络参数,得到调整后的二维码检测模型,并对调整后的二维码检测模型进行反复训练,直至根据训练后的二维码检测模型得到的目标误差小于预设阈值。

示例性地,当目标误差大于或等于预设阈值时,将目标误差进行反向传播,以对二维码检测模型的全连接层的网络参数进行调整,并对调整后的二维码检测模型进行反复训练。

在步骤s57中,若根据训练后的二维码检测得到的目标误差小于预设阈值,将训练后的二维码检测模型作为预先训练的二维码检测模型。

示例性地,模型训练可以借助caffe,tensorflow等深度学习框架完成。模型训练的损失函数为多检测框损失(multiboxloss),具体来说,对于二维码的分类损失,损失函数为交叉熵损失;对于检测框的定位损失,损失函数为smooth_l1损失;模型训练的优化器采用的是momentum优化器,初始学习率设置为0.1,学习率的下降采用cosine衰减的策略。模型训练的batch大小设置为1024,epoch大小设置为100;模型通过反向传播进行参数更新,当学习率下降为0时,训练即停止,从而得到训练完成的二维码检测模型。

本公开实施例提供的技术方案中,通过对二维码检测模型进行反复训练,有利于提高二维码检测模型输出的二维码检测框的位置信息以及二维码检测框内包含所述二维码的置信度的准确度,使得后续待检测图像中二维码的位置信息的确定更加准确,从而提高了图像中二维码的检测准确度。

作为本公开一个可选实施方式,步骤s14,还可以包括:将置信度大于预设置信度的二维码检测框的位置信息,作为待检测图像中二维码的位置信息。

示例性地,终端将置信度大于0.2的二维码检测框的位置信息,作为待检测图像中二维码的位置信息。

此外,若有多个置信度大于预设置信度,则将置信度最大的二维码检测框的位置信息,作为待检测图像中二维码的位置信息。

本公开实施例提供的技术方案中,将置信度大于预设置信度的二维码检测框的位置信息,作为待检测图像中二维码的位置信息,有利于准确确定待检测图像中二维码的位置信息,从而提高了图像中二维码的检测准确度。

作为本公开一个可选实施方式,步骤s14之后,上述二维码检测方法还包括:根据二维码的位置信息,对二维码进行识别,得到对应的二维码识别结果。

示例性地,终端根据二维码的位置信息,对对应的二维码进行识别,得到二维码所代表的信息,作为对应的二维码识别结果,比如网址、支付链接、下载链接等。

进一步地,终端可以根据得到的二维码识别结果进行相应的操作;比如,终端根据得到的二维码识别结果,从相应的服务器中获取网页资源,进而对该网页资源进行显示;例如,当二维码识别结果为网址时,终端跳转到相应的网页并显示该网页;当二维码识别结果为支付链接时,终端显示相应的支付界面。

作为本公开一个可选实施方式,如图7所示,提供了另一种二维码检测方法,包括以下步骤:

在步骤s71中,获取待检测图像;待检测图像中包含有二维码。

在步骤s72中,对待检测图像进行缩放处理,得到设定大小的待检测图像。

在步骤s73中,将待检测图像输入预先训练的特征提取模型,得到待检测图像的图像特征;预先训练的特征提取模型用于对待检测图像进行多次深度可分离卷积操作,输出待检测图像的图像特征。

在步骤s74中,将预先训练的特征提取模型输出的待检测图像的图像特征输入预先训练的二维码检测模型,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;预先训练的二维码检测模型用于从待检测图像的图像特征中,筛选出目标图像特征;获取多个预设检测框;根据多个预设检测框,对目标图像特征进行第一全连接处理,得到至少两个二维码检测框的位置信息;根据多个预设检测框,对目标图像特征进行第二全连接处理,得到检测框内包含二维码的置信度。

在步骤s75中,将置信度大于预设置信度的二维码检测框的位置信息,作为待检测图像中二维码的位置信息。

在步骤s76中,根据二维码的位置信息,对二维码进行识别,得到对应的二维码识别结果。

本公开实施例提供的二维码检测方法,可以达到以下技术效果:

(1)改进了传统图像算法在二维码检测任务中受背景干扰较大的缺点,同时改进了基于深度学习的双阶段检测方法存在的运算量大,实时性差等缺点;同时通过本方案训练得到的模型,大小仅为1mb,运算量为4亿次,在搭配骁龙855处理器的移动手机上完成一次检测的时间不到10ms,均表现出了上佳的性能。

(2)本方案融入了conv7与conv9这两个浅层特征,引入了两个新的锚点生成器的尺度,在运算量增加有限的情况下,极大地扩展了检测模型对小尺度二维码的检测能力。在本方案采用的数据集中,在二维码大小小于输入尺寸十分之一的样本中,相比不引入conv7与conv9的检测模型,本文模型的召回率提升了超过50%,而误召回率也有显著的改善。

(3)本方案对于其他不同尺度的目标,尤其小尺度目标的检测场景,如人脸检测等,具有较好的通用性与可移植性。

图8是根据一示例性实施例示出的一种二维码检测装置的框图。参照图8,该装置包括图像获取单元810,特征提取单元820,信息获取单元830和信息确定单元840。

图像获取单元810,被配置为执行获取待检测图像;待检测图像中包含有二维码;

特征提取单元820,被配置为执行提取待检测图像的图像特征;

信息获取单元830,被配置为执行根据待检测图像的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;

信息确定单元840,被配置为执行根据至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,确定待检测图像中二维码的位置信息。

本公开实施例提供的二维码检测装置,通过提取包含有二维码的待检测图像的图像特征,并根据提取到的图像特征,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度,进而确定待检测图像中二维码的位置信息;实现了根据待检测图像的图像特征,实时确定待检测图像中二维码的位置信息的目的;综合考虑多个二维码检测框的位置信息以及检测框内包含二维码的置信度,并无需对待检测图像进行二值化处理,从而避免了图像背景的影响以及误识别或者漏识别,使得待检测图像中二维码的位置信息的确定更加准确,从而提高了图像中二维码的检测准确度;同时,无需生成候选区域,从而大大减少了运算量,有效地提高了图像中二维码的检测效率。

作为本公开的一个可选实施方式,上述二维码检测装置还包括图像缩放处理单元,被配置为执行对待检测图像进行缩放处理,得到设定大小的待检测图像。

作为本公开的一个可选实施方式,上述特征提取单元820,还被配置为执行将待检测图像输入预先训练的特征提取模型,得到待检测图像的图像特征;预先训练的特征提取模型用于对待检测图像进行多次深度可分离卷积操作,输出待检测图像的图像特征。

作为本公开的一个可选实施方式,上述信息获取单元830,还被配置为执行将预先训练的特征提取模型输出的待检测图像的图像特征输入预先训练的二维码检测模型,得到至少两个二维码检测框的位置信息以及二维码检测框内包含二维码的置信度;预先训练的二维码检测模型用于从待检测图像的图像特征中,筛选出目标图像特征;获取多个预设检测框;根据多个预设检测框,对目标图像特征进行第一全连接处理,得到至少两个二维码检测框的位置信息;根据多个预设检测框,对目标图像特征进行第二全连接处理,得到检测框内包含二维码的置信度。

作为本公开的一个可选实施方式,上述二维码检测装置还包括模型训练单元,被配置为执行采集多个包含有二维码的样本图像以及对应的二维码的实际位置信息;对样本图像进行预处理,得到预处理后的样本图像;预处理包括剪切预处理、填充预处理、旋转预处理中的任意一种或多种;将样本图像输入预先训练的特征提取模型,得到样本图像的图像特征;根据样本图像的图像特征以及二维码的实际位置信息,对待训练的二维码检测模型进行训练,得到训练后的二维码检测模型;获取训练后的二维码检测模型的目标误差;当目标误差大于或等于预设阈值时,根据目标误差调整二维码检测模型的网络参数,得到调整后的二维码检测模型,并对调整后的二维码检测模型进行反复训练,直至根据训练后的二维码检测模型得到的目标误差小于预设阈值;若根据训练后的二维码检测模型得到的目标误差小于预设阈值,将训练后的二维码检测模型作为预先训练的二维码检测模型。

作为本公开的一个可选实施方式,上述信息确定单元840,还被配置为执行将置信度大于预设置信度的二维码检测框的位置信息,作为待检测图像中二维码的位置信息。

作为本公开的一个可选实施方式,上述二维码检测装置还包括二维码识别单元,被配置为执行根据二维码的位置信息,对二维码进行识别,得到对应的二维码识别结果。

图9是根据一示例性实施例示出的一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种二维码检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本公开还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述二维码检测方法实施例中对应的各个步骤和/或流程。

本公开还提供了一种存储介质,包括:当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述二维码检测方法实施例中对应的各个步骤和/或流程。

本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被计算机运行时,使得计算机执行上述二维码检测方法实施例中对应的各个步骤和/或流程。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1