识别码识别方法、装置、计算机设备和存储介质与流程

文档序号:16856857发布日期:2019-02-12 23:25阅读:380来源:国知局
识别码识别方法、装置、计算机设备和存储介质与流程

本申请涉及识别码技术领域,特别是涉及一种识别码识别方法、装置、计算机设备和存储介质。



背景技术:

随着计算机信息技术的发展,出现了识别码技术,识别码技术的发展使得人们的生活更加方便快捷。如,通过识别码乘车、通过识别码支付、通过识别码运行小程序等这些方便快捷的生活方式都离不开识别码技术的支持。

传统的识别码的识别方式,对整张待识别图片进行采样及解码等操作。如图1所示,整张待识别图片可能很大,而识别码只占整张图片很小的一部分;或者如图2所示,整张待识别图片可能存在很多干扰信息。这都将使得整个识别过程耗费大量的时间用于非识别码区域的识别。因此,识别效率低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种识别效率高的识别码识别方法、装置、计算机设备和存储介质。

一种识别码识别方法,所述方法包括:

获取待检测图片;

检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;

根据所述目标信息对所述目标码进行采样,得到采样图像;

对所述采样图像进行解码,得到与所述识别码对应的识别结果。

一种识别码识别装置,所述装置包括:

图片获取模块,用于获取待检测图片;

目标检测模块,用于对所述待检测图片中的识别码进行目标检测,得到待识别码信息;

采样模块,用于对所述目标码进行采样,得到采样图像;

解码模块,用于对所述采样图像进行解码,得到对所述待检测图片中所述识别码的识别结果。

一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取待检测图片;

检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;

根据所述目标信息对所述目标码进行采样,得到采样图像;

对所述采样图像进行解码,得到与所述识别码对应的识别结果。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待检测图片;

检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;

根据所述目标信息对所述目标码进行采样,得到采样图像;

对所述采样图像进行解码,得到与所述识别码对应的识别结果。

上述识别码识别方法、装置、计算机设备和存储介质,获取待检测图片;检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;根据所述目标信息对所述目标码进行采样,得到采样图像;对所述采样图像进行解码,得到与所述识别码对应的识别结果。由于在获取到待检测图片后,并不是直接对整张待检测图片进行采样、解码等操作,而是先对整张图片进行检测,得到针对识别码的检测结果,该检测结果包括与识别码对应的目标码的目标信息。然后,再针对该目标码进行采样、解码等操作。如此,可以降低待检测图片中非识别码的干扰,提高识别码的识别效率。

附图说明

图1为一大图小码的示例图片;

图2为一存在较多干扰的图片示例图;

图3为一实施例中识别码识别方法的应用环境图;

图4为一实施例中识别码识别方法的流程示意图;

图5为一示例中原图及对原图进行转发压缩及多次转发压缩的对比图;

图6为一示例中对目标码进行双线差值的结果与图像超分辨率重建结果的对比图;

图7为传统方式与一实施例中得到的采样图像的对比图;

图8为一实施例中识别码识别方法中采用的盒子网络的结构示意图;

图9为两个具体实施例中识别码识别方法的效果与传统方案效果的对比图;

图10为另外两个具体实施例中识别码识别方法的效果与传统方案效果的对比图;

图11为一具体实施例的流程示意图;

图12为一实施例中识别码识别装置的结构框图;

图13为一实施例中计算机设备的内部结构图;

图14为另一实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的识别码识别方法,可应用于识别码的识别引擎中,该识别引擎可以通过扫描识别码或通过设置待识别图片的方式启动。其应用环境如图3所示。其中,扫描设备302与计算机设备304进行通信。可以通过扫描设备302采集待检测图片,并将待检测图片发送至计算机设备304,计算机设备304获取待检测图片;检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;根据所述目标信息对所述目标码进行采样,得到采样图像;对所述采样图像进行解码,得到与所述识别码对应的识别结果。计算机设备304可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。计算机设备304还可以是服务器,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图4所示,提供了一种识别码识别方法,该方法可运行于图3中的计算机设备304。该识别码识别方法包括以下步骤:

s402,获取待检测图片。

待检测图片是包括识别码的图片。可以通过扫描或拍摄照片的方式获取待检测图片;还可以通过对已存储在本地的、或联网浏览的图片进行设置的方式,将该图片设置为待检测图片,从而确定该待检测图片。

待检测图片可以是一张较大的图片,而识别码在该待检测图片中所占比例较小,即大图小码的情况。对于这种大图小码情况下的待检测图片,将更大程度上提高针对待检测图片中识别码的识别效率。

s404,检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息。

识别码可以是二维码、一维码(也可以称为条形码)、小程序码、pdf417条码等码格式对应的码。其中,pdf417条码是一种高密度、高信息含量的便携式数据格式。该pdf417条码可以用于实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读。

目标码是通过检测的方式检测到的、认定为识别码的码。可以理解地,该认定为识别码的码与实际的识别码可以不完全重合,但目标码与识别码的交并比应该大于预设值,该预设值不小于0.5。当目标码与识别码的交或比为1时,检测到的目标码与识别码完全重合;可以理解地,目标码可能与实际的识别码并不完全重合。

目标信息可以为目标码在待检测图片中的位置信息,也可以直接为目标码的图像信息,该图像信息可以是指目标码的每个像素点的信息。

检测所述待检测图片中的识别码得到检测结果的方式,可以通过目标检测算法将识别码作为目标进行检测,得到包括与识别码对应的目标码的目标信息的检测结果。该目标检测算法可以通过神经网络实现。如,可以采用dpm模型(discretephasemodel,离散相位模型)。

s406,根据所述目标信息对所述目标码进行采样,得到采样图像。

在本实施例中,无需对整张待检测图片进行采样,只需要对检测得到的目标码信息对应的目标码进行采样即可,如此,得到的采样图像能够在很大程度上降低非识别码区域的干扰。

采样的方式包括按照1:1的比例进行原图采样,也可以包括按照1:n的比例进行上采样,还以可以包括按照n:1的比例进行下采样。如4:1的1/4下采样,4个像素点取一个点,或16:1的1/16下采样,16个像素点取一个点。

s408,对所述采样图像进行解码,得到与所述识别码对应的识别结果。

在对目标码采样之后,可以通过解码器对采样得到的采样图片进行解码,得到与该目标码对应的识别码所对应的识别结果。解码器可以包括一维码解码器、二维码解码器、小程序码解码器、pdf417条码解码器等。识别码对应的识别结果为对目标码进行解码得到的解码结果。如,当识别码为二维码时,解码结果可以包括二维码所携带的信息;当识别码为小程序码时,解码结果可以包括小程序码对应的小程序信息。

可以理解地,对于一个目标码对应的采样图像,可以包括不同采样比例的多个图片。如,采样图像可以包括一个1:1的原图,一个1:2的上采样图,一个4:1的下采样图。又如,采样图像可以包括一个1:1的原图,一个4:1的下采样图,一个16:1的下采样图。

上述识别码识别方法获取待检测图片;检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;根据所述目标信息对所述目标码进行采样,得到采样图像;对所述采样图像进行解码,得到与所述识别码对应的识别结果。由于在获取到待检测图片后,并不是直接对整张待检测图片进行采样及解码操作,而是先对整张图片进行检测,得到针对识别码的检测结果,该检测结果包括与识别码对应的目标码的目标信息。然后,再针对该目标码进行采样及解码操作。如此,可以降低待检测图片中非识别码的干扰,提高识别码的识别效率。

从通过将经过多次转发压缩的图像设置为待检测图像的场景中,选择30%识别失败的案例进行分析,发现识别失败的案例中存在70%的案例,是由于识别码太小而又被压缩导致解码失败,最终使得识别失败。如图5所示,由于流量等因素限制,用户在转发图像时往往需要进行图像的压缩,经过多次转发压缩的图像,其分辨率较低,通过原图采样和向下采样的方式,在后续解码过程中将导致解码失败,最终使得识别失败。

在其中一实施例中,所述根据所述目标信息对所述目标码进行采样,得到采样图像,包括:当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码进行上采样,得到采样图像。

分辨率条件可以是分辨率小于预设值,如,分辨率小于300dpi*300dpi,或400dpi*400dpi等,其中dpi表示每英寸点数。分辨率条件也可以是分辨率在预设范围内,如,分辨率大于200dpi*200dpi小于300pdi*300pdi,或分辨率大于180dpi*200dpi小于400dpi*400dpi等。上采样是在原有图像像素的基础上在像素点之间插入新的元素,从而使得到的采样图像相比原有图像更清晰。一般地,可以采用插值算法插入新的元素。

基于本实施例的识别码识别方法,需要在目标码满足分辨率条件时,才根据所述目标信息对所述目标码进行上采样,得到采样图像。如此,一方面,可以避免分辨率不满足分辨率条件的情况,如分辨率已经足够大的情况,仍然进行上采样,而造成资源浪费。另一方面,还可以更适用于通过将经过多次转发压缩的图像设置为待检测图像的场景。从而,基于本实施例的识别码识别方法,能够在保证识别码的识别效率的基础上,节约系统资源。

在其中一实施例中,当所述目标码的分辨率小于预设值时,根据所述目标信息对所述目标码进行上采样,得到采样图像。如此,对分辨率较小的目标码进行上采样,减少因为分辨率较低而使得识别效率下降的因素,从而提高识别码的识别效率。

对应地,可以在当所述目标码的分标率大于另一预设值时,根据目标信息对目标码进行下采样,得到采用图像。可以理解地,该另一预设值大于上述预设值,如此将分辨率过大的目标码进行下采样,减少需要识别的像素点数量,从而提高识别码的识别效率。

可以理解地,可以在当目标码的分辨率在该预设值与另一预设值之间时,根据目标信息对目标码进行1:1原图采样。如此,使得分辨率合适的目标码无需进行上采样或下采样的操作。

需要说明的是,基于本实施例的识别码识别方法,根据目标码的分辨率确定采样方式,无需对目标码进行各种方式的采样,且得到的采样图像的数量较少。该采样方式包括上采样、下采样及原图采样。该采样图片的数量可以为预设数量,该预设数量最少可以为1。如此,可以减少采样的时间,并减少解码的采样图像的数量,从而提高识别码的识别效率。

在其中一实施例中,所述获取待检测图片的步骤,包括以下两种方式中的任意一种:

(1)、通过设置图片的方式获取待检测图片;

(2)、通过扫描的方式获取待检测图片。

通过设置图片的方式获取待检测图片,可以通过预设指令将预设图片设置为待检测图片。该预设图片可以是当前显示的图片,也可以是最近存储或显示的图片。当前显示的图片可以是本地图片,也可以是联网浏览的图片;最近显示的图片可以是本地图片,也可以是联网浏览的图片。该预设指令可以是通过功能菜单进行设置,也可以通过预设动作将预设图片设置为待检测图片。如,通过在屏幕上划圈的动作将最近显示的图片设置为待检测图片。可以理解地,预设动作不仅可以是在屏幕上划圈、划预设图案等在屏幕上的屏幕操作动作,还可是按下预设按钮等按钮动作,还可以是屏幕操作动作与按钮动作结合。

需要说明的是,通过设置图片的方式获取待检测图片区别于通过扫描的方式获取待检测图片。通过设置图片的方式获取待检测图片的方式,一般是可以获取到一张图片,因此,在对该一张图片的识别码进行识别时,需要保证该图片的分辨率,从而提高识别码的识别效率。

通过扫描的方式获取待检测图片,可以是通过扫码设备扫描识别码得到待检测图片,或通过摄像设备采集识别码的图像得到待检测图片。通过扫描的方式可以获取到多张图片。由于可以联合多张图片进行识别码的识别,因此,该多张图片的分辨率的要求可以相对低一些,且同时可以保证识别码的识别效率,从而提高识别码识别的适用性。

在其中一实施例中,若通过设置图片的方式获取待检测图片,则采用第一分辨率,检测所述待检测图片中的识别码得到检测结果;若通过扫描的方式获取待检测图片,则采用第二分辨率,检测所述待检测图片中的识别码得到检测结果;所述第一分辨率大于所述第二分辨率。

如此,保证通过设置图片的方式获取待检测图片对应的目标码的分辨率,大于通过扫描的方式获取待检测图片对应的目标码的分辨率,从而可以在保证两种方式的识别效率的基础上,提高识别码识别的适用性。

在其中一具体实施例中,由于通过设置图片的方式获取待检测图片的方式,对于精度要求高、耗时长,为了提高识别效率第一分辨率可以为400dpi*400dpi。而对于通过扫描的方式获取待检测图片的方式中,第二分辨率可以为300dpi*300dpi。

在其中一实施例中,若通过设置本地图片设置图片的方式获取待检测图片,则所述根据所述目标信息对所述目标码进行采样,得到采样图像,包括:当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码进行上采样,得到采样图像。

由于通过设置图片的方式获取待检测图片,相较于通过扫描的方式获取待检测图片,需要更高的分辨率,因此,在本实施例中,在通过设置图片的方式获取待检测图片的情况下,若目标码满足分辨率条件,则根据所述目标信息对所述目标码进行上采样,得到采样图像。如此,保证在通过设置图片的方式获取待检测图片的情况下,采样图片的分辨率,从而提高识别码的识别效率。

在其中一实施例中,所述根据所述目标信息对所述目标码进行上采样,得到采样图像,为:根据所述目标信息对所述目标码中每相邻的四个像素点进行双线性插值,得到采样图像。

即在本实施例中,上采样中采用的差值算法可以为双线性差值算法。双线性差值是有两个变量的插值函数的线性插值扩展。双线性差值的方式可以在两个方向分别进行一次线性插值。对目标码中每相邻的四个像素点在两个方向上分别进行一次线性插值,得到双线性差值的结果,如此提高采样图像的准确性定,降低解码难度,从而提高识别码的识别效率。

在其中一实施例中,所述根据所述目标信息对所述目标码进行上采样,得到采样图像,为:基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像。

即根据所述目标信息、基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像。在本实施例中,通过图像超分辨率重建技术实现对所述目标码的上采样,得到采样图像。图像超分辨率重建技术是指利用一组低质量、低分辨率图像(或运动序列)的目标码,来生成一幅高质量、高分辨率图像的采样图像。如此,可以提高采样图像的质量及分辨率,从而提高识别码的识别效率。

一般地,如图6所示,基于图像超分辨率重建技术对所述目标码进行上采样的方式,相较于根据所述目标信息对所述目标码中每相邻的四个像素点进行双线性插值的方式,得到采样图像的分辨率更高。

进一步地,为了进一步保证上采样的准确性,从而提高识别效率。可以通过神经网络模型,基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像。神经网络模型可以为深度神经网络模型、卷积神经网络模型及循环神经网络等,如可以是fsrcnn(fastregion-basedconvolutionalnetwork,快速区域基础卷积神经网络),shufflenet(重组通道网络,一种轻量即神经网络),densenet(密集网络)等网络。更进一步地,由于识别码的纹理比较简单,该基于图像超分辨率重建技术对所述目标码进行上采样的神经网络模型可以为轻量型神经网络模型。在该轻量型神经网络模型的训练过程中,损失函数与识别成功率相关,如,当识别成功率大于预设值时模型达到最优。相较于损失函数与psnr(peaksignaltonoiseratio,峰值信噪比)相关的实施方式,其模型较小,可以节约运行时间,从而可进一步提高识别码的识别效率。

在其中一实施例中,所述神经网络模型的隐藏层中、与所述目标码的边缘区域对应的权重大于预设值。

神经网络模型包括输入层、输出层及连接在输入层和输出层之间的隐藏层。隐藏层的数量可以不少于1。该隐藏层中可以包括目标码的各特征区域对应的权重。由于识别码这种对象,对于边缘区域是否清晰与识别效率强相关,神经网络模型的隐藏层中、与目标码边缘区域对应的权重大于预设值,可以提高边缘区域的清晰度。该预设值可以为各区域权重的平均值,也可以为一固定值,还可以为根据预设方式确定的值,预设方式包括对预设区域对应的权值进行加权求和或求平均值等方式。如此,提高边缘区域的清晰度,从而可以提高识别效率。

在其中一具体实施例中,可以通过在训练该神经网络的过程中,计算损失函数时,采用边缘检测算法,如sobel(索贝尔算子)边缘检测算法,提取目标码的边缘信息,并对边缘区域对应的权重适当提高,使得神经网络模型的隐藏层中、与所述目标码的边缘区域对应的权重大于预设值,从而提高识别效率。

在其中一具体实施例中,通过与所述目标码的边缘区域对应的权重大于预设值的神经网络模型,进行上采样,得到的采样图像,与传统方式得到的采样图像的对比,如图7所示。通过与所述目标码的边缘区域对应的权重大于预设值的神经网络模型,进行上采样,得到的采样图像的清晰度明显大于传统方式得到的采样图像,如,在传统方式得到的图像中用矩形框框出的部分。从而,通过与所述目标码的边缘区域对应的权重大于预设值的神经网络模型,进行上采样,得到采样图像的方式,可以使得识别码的识别效率得到提升。

在其中一实施例中,在训练所述神经网络模型之前,对训练样本中的目标码的标签区域进行过滤。

识别码中可能存在一些没有实质解码意义的信息,如二维码的中心区域可能有标签(logo)。为了减少解码过程中的干扰,可以对训练样本中的标签区域进行滤除,滤除的方式可以通过获取标签区域位置,然后根据标签区域位置将标签区域设置为空白的形式进行滤除,也可以通过人工方式抠除。由于能够降低解码过程中的干扰,能够提高解码效率,从而可以提高识别码的识别效率。

在其中一具体实施例中,采用密集网络作为网络原型,在保证识别率的前提下精简网络,最终模型大小为13k(千字节,kilobyte),对于识别码为100dpi*100dpi的待检测图片,耗时为6ms(毫秒)。

在其中一实施例中,所述检测结果还包括识别码类型。所述对所述采样图像进行解码,得到与所述识别码对应的识别结果,包括:根据所述识别码类型对所述采样图像进行解码,得到与所述识别码对应的识别结果。

其中,识别码类型可以包括二维码、一维码(也可以称为条形码)、小程序码、pdf417条码等。由于每种类型的识别码可以分别对应一种解码器,在不确定识别码类型的情况下,需要通过各种类型的解码器,分别进行解码,将解码成功的解码器对应的解码结果作为最终的解码结果。如,一维码通过一维码解码器进行解码,二维码通过二维解码器解码,小程序码通过小程序解码器解码,pdf417条码通过pdf417条码解码器解码。因此,基于本实施例的识别码识别方法,在解码之前确定识别码类型,在解码时只需要通过识别码类型对应的解码器进行解码即可,而无需各个解码器均进行解码,从而可以进一步提高解码效率。

为了进一步提高检测待检测图片中的识别码的检测效率,在其中一实施例中,通过神经网络模型,检测所述待检测图片中的识别码得到检测结果。

神经网络模型可以为cnn(卷积神经网络),rcnn(regionswithcnnfeatures,区域卷积神经网络),fastrcnn(fastregionswithcnnfeatures,快速区域卷积神经网络),fasterrcnn(fasterregionswithcnnfeatures,更快速区域卷积神经网络)等。通过神经网络模型可以得到更为准确的检测结果,从而可以提高识别码的识别效率。

为了更加适用于移动场景,即方便在移动终端使用,该神经网络模型可以采用ssd(singleshotmultiboxdetector,单发多盒检测)算法。进一步地,可以在ssd算法的基础上基于hcnet(高并发卷积神经网络)进行改进,利用ncnn框架(腾讯开源深度学习框架)中对深度可分离卷积结构(depthwiseseparableconvolution)的良好实现,将网络残差中所有3x3卷积都改造成深度可分离卷积结构,并选择多次实验中一个较小的网络系数。如此,使得该神经网络模型更小,耗费时间更少,从而进一步提高识别码的识别效率。需要说明的是,基于本实施例的方案,最终在imagenet(图像网络)上预训练的boxnet(盒子网络)基础网络大小只有3m(兆),其检测结果中排在第一位的检测结果的准确率,及top-1准确率达到56%,算法效果与alexnet(亚历克斯网络)相同,而alexnet的模型大小近200m的,且计算量大十倍以上。在其中一具体实施例中,boxnet的结构示意图如图8所示,将三通道300dpi*300dpi的图像进行卷积,得到4个80通道的38dpi*38dpi的图像;继续进行卷积操作,得到8个160通道的19dpi*19dpi的图像;继续进行卷积操作,得到4个320通道的10dpi*10dpi的图像;继续进行卷积操作得到3个80通道的10dpi*10dpi的图像;继续进行卷积操作,最终得到该图像网络。

在对盒子网络进行进一步量化,如,若通过设置图片的方式获取待检测图片,则采用第一分辨率,检测所述待检测图片中的识别码得到检测结果;若通过扫描的方式获取待检测图片,则采用第二分辨率,检测所述待检测图片中的识别码得到检测结果;所述第一分辨率大于所述第二分辨率。最终,基于ssd算法的盒子模型,在量化16位后,模型大小为500k,检测单帧耗时只需15ms。

进一步地,所述神经网络模型的训练过程中使用的正样本对应的目标码与识别码的交并比大于预设值。

由于不完整的识别码被检测出来并不能解码,识别码的检测相较于普通的目标检测,对完整性的要求更高。因此,在训练过程中,正样本中的识别码需要更严格的保证其完整性;在进行数据增强样本采样时,需要对正样本中最小对象覆盖进行严格限制,采样图像中的目标码需要尽量包含整个识别码。

在本实施例中,通过将训练过程中,正样本对应的目标码与识别码的交并比,设置为大于预设值的方式,提高正样本对应的目标码与识别码的交并比。该交并比可以是正样本中对应的目标码和识别码的交集与并集的比值,即正样本中对应的目标码和识别码的交集,与目标码和识别码的并集的比值。该交集与该并集的比值可以是交集的面积与并集的面积的比值,也可以是交集的像素点的数量与并集的像素点的数量的比值。如此,提高识别码的完整性在神经网络模型中对应的权值,从而提高识别码的识别效率。

在其中一实施例中,所述对所述采样图像进行解码,得到与所述识别码对应的识别结果,包括:对所述采样图像进行二值化处理,得到二值化图像;解码所述二值化图像,得到与所述识别码对应的识别结果。

二值化处理是将采样图像上的像素点的灰度值设置为两个值中的一个,该两个值可以为0或255,如此得到的二值化图像将呈现出明显的黑白效果。二值化的方式可以包括混合二值化、快速窗口二值化及自适应二值化等方式。由于本申请的目的是进行识别码的识别,而识别码的识别可以仅涉及黑白图像的识别。因此在解码之前进行二值化处理,可以提高在解码时的解码效率,从而提高识别码的识别效率。

在其中一具体实施例中,首先,通过扫描的方式获取待检测图片。然后通过神经网络模型,检测所述待检测图片中的识别码得到检测结果,所述神经网络模型的训练过程中使用的正样本对应的目标码与识别码的交并比大于预设值。最后,根据所述目标信息对所述目标码进行采样,得到采样图像;并对所述采样图像进行解码,得到与所述识别码对应的识别结果。在进一步的具体实施例中,根据所述目标信息对所述目标码进行采样,得到采样图像,包括:当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码中每相邻的四个像素点进行双线性插值,得到采样图像。这两个具体实施例的效果与传统识别方式的对比图,如图9所示。基于前一具体实施例的方案,识别码识别时,在降低较小解码成功率的情况下,单帧平均耗时减少了大约150%,因此,其识别效率高于传统方案。基于后一具体实施例的方案,在比前一具体实施例增加较少单帧耗时的情况下,将解码成功率由32%左右提升到36%左右。

在另一具体实施例中,首先,通过设置图片的方式获取待检测图片。然后通过神经网络模型,检测所述待检测图片中的识别码得到检测结果,所述神经网络模型的训练过程中使用的正样本对应的目标码与识别码的交并比大于预设值。最后,根据所述目标信息对所述目标码进行采样,得到采样图像;并对所述采样图像进行解码,得到与所述识别码对应的识别结果。在进一步的具体实施例中,根据所述目标信息对所述目标码进行采样,得到采样图像,包括:当所述目标码满足分辨率条件时,根据所述目标信息、基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像。这两个具体实施例的效果与传统识别方式的对比图,如图10所示。基于前一具体实施例的方案,识别码识别时,在降低较小解码成功率的情况下,单帧平均耗时减少了大约150%,因此,其识别效率高于传统方案。基于后一具体实施例的方案,在比前一具体实施例增加较少单帧耗时的情况下,将解码成功率由70%左右提升到90%左右。

在其中一具体实施例中,如图11所示,在获取待检测图片之后,检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息检及识别码类型;该识别码类型包括二维码、一维码及小程序码。当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码进行上采样,得到采样图像。然后,对采样图像进行二值化处理,得到二值化图像;该二值化处理包括混合二值化、快速窗口二值化及自适应二值化。最后,通过与识别码类型对应的解码器对二值化图像进行解码。由于在采样之前,检测识别码,得到包括目标码信息及识别码类型的检测结果,因此在采样、二值化的过程中,无需对整张待采样图像进行处理,同时,解码时只需要采用与识别码类型对应的解码器进行解码,因此,可以提高识别码的识别效率。

应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图12所示,提供了一种运行于图3中的计算机设备304的识别码识别装置,包括:

图片获取模块202,用于获取待检测图片;

目标检测模块204,用于检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;

采样模块206,用于根据所述目标信息对所述目标码进行采样,得到采样图像;

解码模块208,用于对所述采样图像进行解码,得到与所述识别码对应的识别结果。

上述识别码识别装置,获取待检测图片;检测所述待检测图片中的识别码得到检测结果,所述检测结果包括与所述识别码对应的目标码的目标信息;根据所述目标信息对所述目标码进行采样,得到采样图像;对所述采样图像进行解码,得到与所述识别码对应的识别结果。由于在获取到待检测图片后,并不是直接对整张待检测图片进行采样、解码等操作,而是先对整张图片进行检测,得到针对识别码的检测结果,该检测结果包括与识别码对应的目标码的目标信息。然后,再针对该目标码进行采样、解码等操作。如此,可以降低待检测图片中非识别码的干扰,提高识别码的识别效率。

在其中一实施例中,所述采样模块,用于当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码进行上采样,得到采样图像。

在其中一实施例中,所述图片获取模块,用于通过设置图片的方式获取待检测图片;所述采集模块,用于当所述目标码满足分辨率条件时,根据所述目标信息对所述目标码进行上采样,得到采样图像。

在其中一实施例中,所述采样模块,用于当所述目标码的分辨率小于预设值时,根据所述目标信息对所述目标码进行上采样,得到采样图像。

在其中一实施例中,所述采样模块,用于根据所述目标信息对所述目标码中每相邻的四个像素点进行双线性插值,得到采样图像;

在其中一实施例中,所述采样模块,用于根据所述目标信息、基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像。

进一步地,通过神经网络模型,基于图像超分辨率重建技术对所述目标码进行上采样,得到采样图像;所述神经网络模型的隐藏层中、与所述目标码的边缘区域对应的权重大于预设值。

在其中一实施例中,该装置还包括过滤模块,所述过滤模块,用于在训练所述神经网络模型之前,对训练样本中的目标码的标签区域进行过滤。

在其中一实施例中,所述图片获取模块,用于通过设置图片的方式获取待检测图片。

在其中一实施例中,所述图片获取模块,用于通过扫描的方式获取待检测图片。

在其中一实施例中,所述图片获取模块,用于通过设置图片的方式获取待检测图片;所述目标检测模块,用于采用第一分辨率,检测所述待检测图片中的识别码得到检测结果。

在其中一实施例中,所述图片获取模块,用于通过扫描的方式获取待检测图片;所述目标检测模块,用于采用第二分辨率,检测所述待检测图片中的识别码得到检测结果。

其中,所述第一分辨率大于所述第二分辨率。

在其中一实施例中,所述检测结果还包括识别码类型;

所述解码模块,用于根据所述识别码类型对所述采样图像进行解码,得到与所述识别码对应的识别结果。

在其中一实施例中,所述装置还包括二值化模块;

所述二值化模块,用于对所述采样图像进行二值化处理,得到二值化图像;

所述解码模块,用于解码所述二值化图像,得到与所述识别码对应的识别结果。

在其中一实施例中,所述目标检测模块,用于通过神经网络模型,检测所述待检测图片中的识别码得到检测结果;所述神经网络模型的训练过程中使用的正样本对应的目标码与识别码的交并比大于预设值。

在一个实施例中,提供了一种计算机设备,该计算机设备可以为服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种识别码识别方法。

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

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

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述识别码识别方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述识别码识别方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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