一种可识别二维码图像生成方法、装置、设备及存储介质与流程

    专利查询2022-08-10  128



    1.本发明实施例涉及人工智能技术领域,尤其涉及一种可识别二维码图像生成方法、装置、设备及存储介质。


    背景技术:

    2.随着现代社会的发展,二维码技术作为物联网的核心感知技术和互联网的重要信息入口,已逐步渗透到国民经济和社会活动的各个领域,成为我国实体经济的重要组成部分和全球新兴信息产业竞争的重要战略重点。
    3.除此之外,二维码也被运用到各种票据中,例如发票、车票、收据等。在票据管理上,传统票务管理依靠人工、人力成本较高,效率低,而且票据比较多,在任务繁忙的时候,传统方法需要人力熬夜加班,甚至都无法完成指标,因此,为了节省成本,提升效率,通过计算机系统录入票据信息就显得尤为重要。
    4.目前,在生产领域针对二维码识别方面已有大量开源库,例如zbar、zxing等,识别过程也相对简单,仅需要通过扫描成图片形式,经过检测算法将其截取出来,再用这些开源算法识别即可。此外,还可以使用商业软件的扫码识别功能,直接扫码即可。但是,在扫描过程中,可能会造成图片像素丢失,另外,图片中会存在表格线和二维码区域重叠的情况等等,这些问题往往导致二维码识别成功率不能满足现代社会对高效信息的需求。
    5.因此,如何生成可供识别的清晰二维码图像是当前亟待解决的技术问题。


    技术实现要素:

    6.本发明实施例提供了一种可识别二维码图像生成方法、装置、设备及存储介质,能够生成二维码识别成功率更高的二维码图像。
    7.第一方面,本发明实施例提供了一种可识别二维码图像生成方法,包括:
    8.将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;
    9.将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;
    10.将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    11.第二方面,本发明实施例还提供了一种可识别二维码图像生成装置,包括:
    12.训练模块,用于将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;
    13.测试模块,用于将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;
    14.生成模块,用于将待处理的二维码图像输入目标网络模型,生成可识别的二维码
    图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    15.第三方面,本发明实施例还提供了一种计算机设备,包括:
    16.一个或多个处理器;
    17.存储装置,用于存储一个或多个程序;
    18.所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于实现本发明任意实施例中所述的可识别二维码图像生成方法。
    19.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的可识别二维码图像生成方法。
    20.本发明实施例提供了一种可识别二维码图像生成方法、装置、设备及存储介质,首先将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;然后将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;最后将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。利用上述技术方案,能够生成二维码识别成功率更高的二维码图像。
    附图说明
    21.图1为本发明实施例一所提供的一种可识别二维码图像生成方法的流程示意图;
    22.图2为本发明实施例一所提供的一种可识别二维码图像生成方法中的训练集二维码图像示意图;
    23.图3为本发明实施例一所提供的一种搭建好的网络模型的结构示意图;
    24.图4为本发明实施例一所提供的一种可识别二维码图像生成方法中的模型训练过程中的结果展示图;
    25.图5为本发明实施例一所提供的一种可识别二维码图像生成方法中的生成器损失值迭代图;
    26.图6为本发明实施例一所提供的一种可识别二维码图像生成方法中的模型训练过程中输出的二维码图像的二维码识别成功率结果示意图;
    27.图7为本发明实施例一所提供的软件二维码图像通过目标网络模型处理前和处理后对应的图像示意图;
    28.图8为本发明实施例一所提供的支付二维码图像通过目标网络模型处理前和处理后对应的图像示意图;
    29.图9为本发明实施例一所提供的一种可识别二维码图像生成方法中的识别成功率结果示意图;
    30.图10为本发明实施例二所提供的一种可识别二维码图像生成装置的结构示意图;
    31.图11为本发明实施例三所提供的一种计算机设备的结构示意图。
    具体实施方式
    32.下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些
    实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
    33.应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
    34.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
    35.需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
    36.需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
    37.本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
    38.实施例一
    39.图1为本发明实施例一所提供的一种可识别二维码图像生成方法的流程示意图,该方法可适用于在原始二维码图像无法识别时,生成原始二维码图像对应的可识别二维码图像的情况,以使生成的可识别二维码图像的二维码识别成功率提升,该方法可以由可识别二维码图像生成装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在终端设备上,在本实施例中终端设备包括但不限于:计算机设备。
    40.如图1所示,本发明实施例一提供的一种可识别二维码图像生成方法,包括如下步骤:
    41.s110、将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型。
    42.其中,训练集二维码图像可以为用于模型训练的图像集,训练集二维码图像可以为单通道的灰度图。
    43.具体的,所述训练集二维码图像包括多张模糊二维码图像以及多张清晰二维码图像,所述清晰二维码图像与所述模糊二维码图像一一对应。
    44.其中,清晰二维码图像中的二维码可以识别,模糊二维码图像中的二维码难以识别,一张清晰二维码图像对应一张模糊二维码图像,清晰二维码图像与其对应的模糊二维码图像中的二维码为同一个二维码。其中,将清晰二维码图像打上标签可以作为标签图像。
    45.在本实施例中,不限定以何种方式生成或获取训练集二维码图像。可选的,训练集二维码图像可以采用qrcode开源库经过一系列图像处理后生成。
    46.进一步的,所述训练集二维码图像的生成过程包括:模拟真实二维码图像生成清晰二维码图像;将所述清晰二维码图像通过仿射变换得到形变二维码图像;将所述形变二维码图像添加扰动得到具有干扰的形变二维码图像;将所述具有干扰线的形变二维码图像进行模糊处理得到模糊二维码图像。
    47.在一个实施例中,可以通过如下步骤生成训练集二维码图像:
    48.步骤1、模拟真实二维码图像包含的文本信息,生成相似的字符串。
    49.示例性的,增值税发票二维码的信息格式可以概括为:

    01,01|04|10,12位数字,8位数字,0-9位数字或小数点(金额),8位数字(日期),20位数字,4位数字或字母’,根据此格式在对应位置随机填充内容,模拟增值税发票二维码包含的信息,使用随机填充的字符串数据,生成清晰的黑色二维码图像,并扩充周围的空白边界。
    50.步骤2:通过仿射变换使二维码内容区域产生小幅度旋转,模拟二维码图像存在倾斜角度的情况,得到形变二维码图像。
    51.示例性的,旋转角度在[-8
    °
    ,8
    °
    ]之间随机选择,真实拍摄影像大多数旋转角度较小,所以在选择角度时为小角度赋予更大权重,角度越大权重越小。定义仿射变换矩m:
    [0052][0053]
    其中,α可以标识旋转角度,(cx,cy)可以标识旋转中心。放射变换的过程可以表示为:
    [0054][0055]
    其中,x表示输入图像的横坐标,y表示输入图像的纵坐标,x'表示输出图像的横坐标,y'表示输出图像的纵坐标。
    [0056]
    步骤3、对形变二维码图像添加扰动得到噪声影像。
    [0057]
    示例性的,在形变二维码图像上添加椒盐噪声,其中,在形变二维码图像的背景区域添加偏深度噪点,在形变二维码图像的内容区域添加偏浅色噪点。此外,在形变二维码图像的随机位置添加若干条斜线,其中,线宽可以在[1-4]之间随机选取。
    [0058]
    步骤4、对噪声影像进行模糊处理。
    [0059]
    示例性的,对噪声影像采用高斯滤波,卷积核k在[3,5,7]中随机选择,高斯滤波的具体操作包括:用一个模板扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
    [0060]
    其中,对于k=(2n 1)*(2n 1)尺寸的滤波核,像素点p(x,y)在滤波之后的值可表示为:
    [0061][0062]
    需要说明的是,滤波核尺寸越大,影像越模糊。
    [0063]
    其中,高斯滤波函数定义如下:
    [0064][0065]
    其中,(xc,yc)表示模板中心坐标,即坐标系原点。σ表示高斯分布的标准差,代表数
    据的离散程度,在(1,3)之间随机选择。σ越小,权重分布越偏向于中心点,越能保留图像原有清晰度。
    [0066]
    图2为本发明实施例一所提供的一种可识别二维码图像生成方法中的训练集二维码图像示意图。如图2所示,第一排图像为模糊二维码图像,第二排图像为清晰二维码图像。
    [0067]
    优选的,搭建好的网络模型可以为一种qrnet-gan网络模型,搭建好的网络模型可以由生成器和判别器两个部分组成。
    [0068]
    其中,多个已训练模型可以为通过训练集二维码图像对搭建好的网络模型进行训练后,得到的多个具有不同权重的网络模型。
    [0069]
    进一步的,所述搭建好的网络模型包括生成器以及判别器;所述生成器包括多个跨步的卷积块、多个残差块以及多个转置卷积块,所述每个残差块由卷积层、归一化层以及包含修正线性单元的激活层组成;所述判别器包括多个卷积块和多个全连接层,所述相邻两个卷积块中添加归一化层以及包含修正线性单元变体的激活层组成。
    [0070]
    图3为本发明实施例一所提供的一种搭建好的网络模型的结构示意图,如图3所示,搭建好的网络模型可以包括生成器和判别器。
    [0071]
    在本实施例中,生成器可以使用残差结构来实现。如图3所示,示例性的,生成器可以包含2个跨步的卷积块、9个残差块resblocks和2个转置卷积块。其中,跨步卷积块的步长可以为2,每个残差块可以由卷积层、归一化层instancenorm和包含修正线性单元relu的激活层组成,并在每个残差块中的第一个卷积层之后添加随机失效dropout层。此外,生成器使用全局跳跃连接resout,以使生成器学习输入图像的残差矫正。
    [0072]
    其中,生成器使用先下采样,后上采样的卷积处理方式对输入的图像进行处理。
    [0073]
    如图3所示,示例性的,判别器可以由6个卷积块以及2个全连接层组成,其中,相邻两个卷积块中添加归一化层和修正线性单元变体leakyrelu的激活层。
    [0074]
    在本实施例中,搭建好的网络模型还可以包括优化器,用于搭建好的网络模型的训练过程。优选的,优化器可以选用adam优化器。
    [0075]
    进一步的,所述搭建好的网络模型还包括优化器,所述优化器用于在所述生成器以及所述判别器进行训练的过程中,基于所述生成器的损失值以及所述判别器的对抗损失值,通过优化目标函数对所述生成器的权重以及所述判别器的权重进行优化。
    [0076]
    在每次进行模型训练过程中,可以计算出生成器的损失值以及判别器的对抗损失值,进而可以基于所述生成器的损失值以及所述判别器的对抗损失值通过优化器中的优化目标函数对网络模型进行优化。
    [0077]
    在本实施例中,通过训练集二维码图像对搭建好的网络模型进行训练时,需要将训练集二维码图像分成多个批次,分批输入网络模型中进行训练。模型训练时,生成器的训练和判别器的训练是交替进行的,生成器在训练时,判别器需要固定,判别器训练时,可以将生成器固定。
    [0078]
    具体的,所述将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型,包括:将一个批次的二维码图像数据输入搭建好的网络模型中,通过预设训练策略对网络模型进行训练;输入下一个批次的二维码图像数据,重新执行所述预设训练策略,直到所述训练集二维码图像全部输入完成,得到多个已训练模型,每个已训练模型所包括的判别器和生成器对应的权重不同;其中,所述预设训练策略包括:对所述判别器进行
    第一预设次数的训练后,将所述判别器的权重固定;对所述生成器进行第二预设次数的训练后,将所述生成器的权重固定。
    [0079]
    在本实施例中,可以按照预设次数对进行迭代训练,可选的,将学习率均初始化为10-4
    。示例性的,每一次迭代训练可以使用100张数据进行训练,前150循环学习率保持不变,后150循环学习率下降到0,每个批次的二维码图像数据的数量可以设置为1。
    [0080]
    遍历整个训练集二维码图像进行训练,示例性的,训练过程可以包括如下步骤:
    [0081]
    步骤1、获取一个批次的二维码图像数据。
    [0082]
    步骤2、对判别器进行5次训练。
    [0083]
    步骤3、将判别器的权重固定,对生成器进行1次训练。
    [0084]
    步骤4、将生成器的权重固定,将判别器设为可训练,循环步骤到步骤3,之歌整个训练集二维码图像遍历结束。
    [0085]
    进一步的,所述生成器的训练过程包括:对模糊二维码图像依次进行下采样、上采样以及残差操作,得到生成二维码图像,所述残差操作包括将所述模糊二维码图像与所述模糊二维码图像的残差矫正取平均值;其中,在所述生成器的训练过程中,通过预设损失函数得到所述生成器的损失值,并根据所述生成器的损失值通过优化目标函数调整所述生成器的权重。
    [0086]
    其中,生成器的层次结构如下:
    [0087]
    1)通过1层卷积核为7
    ×
    7、步长为1的卷积变换,保持输入的模糊二维码图像的尺寸不变。
    [0088]
    2)将1)的结果进行两次卷积核为3
    ×
    3、步长为2的卷积操作,实现两次下采样效果。
    [0089]
    3)经过9层残差块,残差块中间带有随机失效层的两次卷积操作。
    [0090]
    4)进行1)-2)的逆操作,进行两次上采样,再执行一个卷积操作。
    [0091]
    5)将1)的输入即模糊二维码图像与4)的输出即残差矫正后的图像加在一起取平均值,完成一次残差操作。
    [0092]
    可以理解的是,生成器使用全局跳跃连接,得到可识别的生成二维码图像,生成器的输入与输出具有相同的尺寸。在使用残差操作时,将输入的模糊二维码图像与残差矫正后的图像一起取平均值,可以防止生成器的返回值的值域过大的问题。
    [0093]
    在本实施例中,预设损失函数可以为预先设置的计算生成器和判别器的损失值的函数。其中,生成器的损失值可以由对抗性损失和内容损失两部分组成,预设损失函数可以表示为内容损失和对抗损失的组合,预设损失函数的表达式如下:
    [0094]
    l=l
    gan
    λl
    x
    [0095]
    其中,λ表示惩罚因子,l
    gan
    表示生成器的对抗性损失函数,l
    x
    表示内容损失函数。
    [0096]
    在本实施例中,生成器的对抗性损失函数的计算公式如下:
    [0097][0098]
    其中,g表示生成器,pz表示训练集二维码图像中的模糊二维码图像的合集,g(z)表示生成器输出的生成二维码图像,d(g(z))表示判别器输出的模糊二维码图像的真实概率值。
    [0099]
    在本实施例中,内容损失函数的计算公式如下:
    [0100][0101]
    其中,ib表示输入的模糊二维码图像,表示生成器输出的生成二维码图像,is表示输入的清晰二维码图像,w表示图像的宽度,h表示图像的高度。
    [0102]
    进一步的,所述判别器的训练过程包括:将生成二维码图像以及清晰二维码图像成对输入所述判别器中,得到每张生成二维码图像对应的真实概率值;根据所述真实概率值,通过预设对抗损失函数得到所述判别器的对抗损失值;其中,在所述判别器的训练过程中,根据所述判别器的对抗损失值通过优化目标函数调整所述判别器的权重。
    [0103]
    其中,真实概率值可以为0-1之间的任意数值,真实概率值越大表征生成器输出的生成二维码图像越真实。
    [0104]
    其中,判别器的层次结构顺序如下:
    [0105]
    1)通过4次下采样卷积,将输入图像的尺寸变小。
    [0106]
    2)经过两次尺寸不变的1
    ×
    1卷积,将通道压缩。
    [0107]
    3)经过两个全连接网络,生成判别结果。
    [0108]
    在本实施例中,预设对抗损失函数可以为预先设置的用于计算判别器的对抗损失值的函数。预设对抗损失函数的计算公式如下:
    [0109][0110]
    其中,d表示判别器,pr表示训练集二维码图像中的清晰二维码图像的合集,pz表示训练集二维码图像中的模糊二维码图像的合集,g(z)表示生成器输出的生成二维码图像,d(g(z))表示判别器输出的模糊二维码图像的真实概率值,d(x)表示判别器输出的清晰二维码图像的真实概率值。
    [0111]
    在本实施例中,优化目标函数的目标为将判别器的权重最大化,将生成器的权重最小化。优化目标函数的公式如下:
    [0112][0113]
    其中,d表示判别器,g表示生成器,pr表示训练集二维码图像中的清晰二维码图像的合集,pz表示训练集二维码图像中的模糊二维码图像的合集,d(x)表示判别器输出的清晰二维码图像的真实概率值,d(g(z))表示判别器输出的模糊二维码图像的真实概率值。
    [0114]
    可以理解的是,对于判别器而言,代表对真实图像的期望,即d(x)为1,而生成二维码图像越来越接近于0,d(g(z))=0,所以目标函数会增大。对于生成器而言,代表对生成二维码图像的期望,也就是d(g(z))趋向于1,因为真实标签为1,所以使得目标函数减小。
    [0115]
    s120、将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像。
    [0116]
    其中,测试集二维码图像可以为单通道的灰度图,测试集二维码图像可以用于对
    已训练模型的测试。示例性的,可以将真实场景下对扫描件中二维码区域截取的87张图像作为测试集二维码图像。
    [0117]
    在本实施例中,多个已训练模型输出的二维码图像可以通过已训练模型中的生成器生成。
    [0118]
    此处,对已训练模型对输入的测试集二维码图像进行处理后输出二维码图像的过程不做赘述。
    [0119]
    s130、将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    [0120]
    其中,待处理的二维码图像可以为需要输入到目标网络模型中进行处理的二维码图像,待处理的二维码图像可以为包括待识别二维码的图像。
    [0121]
    在本实施例中,得到多个已训练模型输出的二维码图像后,可以将二维码图像上的二维码通过解码算法进行解码识别,得到二维码图像对应的二维码识别成功率,将输出二维码识别成功率最高的二维码图像的已训练模型作为目标网络模型。
    [0122]
    其中,将待处理的二维码图像输入目标网络模型中后,可以通过目标网络模型中的生成器输出可识别的二维码图像。
    [0123]
    本发明实施例一提供的一种可识别二维码图像生成方法,首先将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;然后将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;最终将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。利用上述方法,能够有效提升二维码图像的二维码识别成功率。
    [0124]
    图4为本发明实施例一所提供的一种可识别二维码图像生成方法中的模型训练过程中的结果展示图。如图4所示,经过不断的训练学习,能够达到消除干扰线、补全被遮挡区域像素点的效果,虽然干扰线不能完全被消除,但可以提高对二维码的解析成功率。
    [0125]
    图5为本发明实施例一所提供的一种可识别二维码图像生成方法中的生成器损失值迭代图,如图5所示,第50代迭代训练时生成器的损失值达到最小值之后趋于稳定。
    [0126]
    图6为本发明实施例一所提供的一种可识别二维码图像生成方法中的模型训练过程中输出的二维码图像的二维码识别成功率结果示意图。由图6可知,随着训练迭代次数的增加,二维码图像的二维码识别成功率在第50代处达到饱和,在50代之后,二维码图像的二维码识别成功率开始下降,这是由于训练时间过长会导致网络模型出现对训练数据过拟合的情况。
    [0127]
    图7为本发明实施例一所提供的软件的二维码图像通过目标网络模型处理前和处理后对应的图像示意图;图8为本发明实施例一所提供的支付二维码图像通过目标网络模型处理前和处理后对应的图像示意图。由图7和图8的结果可以看出,无论是模糊还是受干扰线影响,二维码图像经过目标网模型处理后得到的图像更为清晰,有利于下一步的二维码解析。
    [0128]
    图9为本发明实施例一所提供的一种可识别二维码图像生成方法中的识别成功率结果示意图,如图9所示,二维码图像通过目标网络模型处理前和处理后得到的图像对应的
    二维码识别成功率结果。由图9可知,不同二维码图像通过目标网络模型处理后生成的二维码图像的二维码识别成功率都得到了一定程度的提升,其中,zxing的二维码图像识别成功率提升了大约15%;zbar的二维码图像识别成功率提升了大约20%;微信软件的二维码图像识别成功率提升了大约12%;支付宝软件的二维码图像识别成功率提升了18%。
    [0129]
    实施例二
    [0130]
    图10为本发明实施例二所提供的一种可识别二维码图像生成装置的结构示意图,该装置可适用于该方法可适用于在原始二维码图像无法识别时,生成原始二维码图像对应的可识别二维码图像的情况,其中该装置可由软件和/或硬件实现,并一般集成在计算机设备上。
    [0131]
    如图10所示,该装置包括:训练模块110、测试模块120以及生成模块130。
    [0132]
    训练模块110,用于将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型;
    [0133]
    测试模块120,用于将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;
    [0134]
    生成模块130,用于将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    [0135]
    在本实施例中,该装置首先通过训练模块110将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型;然后通过测试模块120将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;最后通过生成模块130将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    [0136]
    本实施例提供了一种可识别二维码图像生成装置,能够生成二维码识别成功率更高的二维码图像。
    [0137]
    进一步的,所述搭建好的网络模型包括生成器以及判别器;所述生成器包括多个跨步的卷积块、多个残差块以及多个转置卷积块,所述每个残差块由卷积层、归一化层以及包含修正线性单元的激活层组成;所述判别器包括多个卷积块和多个全连接层,所述相邻两个卷积块中添加归一化层以及包含修正线性单元变体的激活层组成。
    [0138]
    在上述优化的基础上,所述搭建好的网络模型还包括优化器,所述优化器用于在所述生成器以及所述判别器进行训练的过程中,基于所述生成器的损失值以及所述判别器的对抗损失值,通过优化目标函数对所述生成器的权重以及所述判别器的权重进行优化。
    [0139]
    进一步的,所述训练集二维码图像包括多张模糊二维码图像以及多张清晰二维码图像,所述清晰二维码图像与所述模糊二维码图像一一对应,所述训练集二维码图像的生成过程包括:
    [0140]
    模拟真实二维码图像生成清晰二维码图像;
    [0141]
    将所述清晰二维码图像通过仿射变换得到形变二维码图像;
    [0142]
    将所述形变二维码图像添加扰动得到具有干扰线的形变二维码图像;
    [0143]
    将所述具有干扰的形变二维码图像进行模糊处理得到模糊二维码图像。
    [0144]
    进一步的,所述训练集二维码图像包括多个批次的二维码图像数据,相应的,所述将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型,包括:
    [0145]
    将一个批次的二维码图像数据输入搭建好的网络模型中,通过预设训练策略对网络模型进行训练;
    [0146]
    输入下一个批次的二维码图像数据,重新执行所述预设训练策略,直到所述训练集二维码图像全部输入完成,得到多个已训练模型,每个已训练模型所包括的判别器和生成器对应的权重不同;
    [0147]
    其中,所述预设训练策略包括:对所述判别器进行第一预设次数的训练后,将所述判别器的权重固定;对所述生成器进行第二预设次数的训练后,将所述生成器的权重固定。
    [0148]
    进一步的,所述生成器的训练过程包括:对模糊二维码图像依次进行下采样、上采样以及残差操作,得到生成二维码图像,所述生成二维码图像为所述模糊二维码图像与所述二模糊维码图像数据的残差矫正后的图像的平均值;
    [0149]
    其中,在所述生成器的训练过程中,通过预设损失函数得到所述生成器的损失值,并根据所述生成器的损失值通过优化目标函数调整所述生成器的权重。
    [0150]
    进一步的,所述判别器的训练过程包括:将生成二维码图像以及清晰二维码图像成对输入所述判别器中,得到每张生成二维码图像对应的真实概率值;根据所述真实概率值,通过预设对抗损失函数得到所述判别器的对抗损失值;
    [0151]
    其中,在所述判别器的训练过程中,根据所述判别器的对抗损失值通过优化目标函数调整所述判别器的权重。
    [0152]
    上述可识别二维码图像生成装置可执行本发明任意实施例所提供的可识别二维码图像生成方法,具备执行方法相应的功能模块和有益效果。
    [0153]
    实施例三
    [0154]
    图11为本发明实施例三所提供的一种计算机设备的结构示意图。如图11所示,本发明实施例三提供的计算机设备包括:一个或多个处理器41和存储装置42;该计算机设备中的处理器41可以是一个或多个,图11中以一个处理器41为例;存储装置42用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如本发明实施例中任一项所述的可识别二维码图像生成方法。
    [0155]
    所述计算机设备还可以包括:输入装置43和输出装置44。
    [0156]
    计算机设备中的处理器41、存储装置42、输入装置43和输出装置44可以通过总线或其他方式连接,图11中以通过总线连接为例。
    [0157]
    该计算机设备中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一所提供的可识别二维码图像生成方法对应的程序指令/模块(例如,附图10所示的一种可识别二维码图像生成装置中的模块,包括:训练模块110、测试模块120以及生成模块130)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中的可识别二维码图像生成方法。
    [0158]
    存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至
    少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
    [0159]
    输入装置43可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
    [0160]
    并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:
    [0161]
    将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;
    [0162]
    将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;
    [0163]
    将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    [0164]
    实施例四
    [0165]
    本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行可识别二维码图像生成方法,该方法包括:
    [0166]
    将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;
    [0167]
    将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;
    [0168]
    将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。
    [0169]
    可选的,该程序被处理器执行时还可以用于执行本发明任意实施例所提供的可识别二维码图像生成方法。
    [0170]
    本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
    [0171]
    计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于
    由指令执行系统、装置或者器件使用或者与其结合使用的程序。
    [0172]
    计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(radio frequency,rf)等等,或者上述的任意合适的组合。
    [0173]
    可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
    [0174]
    注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

    技术特征:
    1.一种可识别二维码图像生成方法,其特征在于,所述方法包括:将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。2.根据权利要求1所述的方法,其特征在于,所述搭建好的网络模型包括生成器以及判别器;所述生成器包括多个跨步的卷积块、多个残差块以及多个转置卷积块,所述每个残差块由卷积层、归一化层以及包含修正线性单元的激活层组成;所述判别器包括多个卷积块和多个全连接层,所述相邻两个卷积块中添加归一化层以及包含修正线性单元变体的激活层组成。3.根据权利要求2所述的方法,其特征在于,所述搭建好的网络模型还包括优化器,所述优化器用于在所述生成器以及所述判别器进行训练的过程中,基于所述生成器的损失值以及所述判别器的对抗损失值,通过优化目标函数对所述生成器的权重以及所述判别器的权重进行优化。4.根据权利要求1所述的方法,其特征在于,所述训练集二维码图像包括多张模糊二维码图像以及多张清晰二维码图像,所述清晰二维码图像与所述模糊二维码图像一一对应,所述训练集二维码图像的生成过程包括:模拟真实二维码图像生成清晰二维码图像;将所述清晰二维码图像通过仿射变换得到形变二维码图像;将所述形变二维码图像添加扰动得到具有干扰线的形变二维码图像;将所述具有干扰的形变二维码图像进行模糊处理得到模糊二维码图像。5.根据权利要求1所述的方法,其特征在于,所述训练集二维码图像包括多个批次的二维码图像数据,相应的,所述将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型,包括:将一个批次的二维码图像数据输入搭建好的网络模型中,通过预设训练策略对网络模型进行训练;输入下一个批次的二维码图像数据,重新执行所述预设训练策略,直到所述训练集二维码图像全部输入完成,得到多个已训练模型,每个已训练模型所包括的判别器和生成器对应的权重不同;其中,所述预设训练策略包括:对所述判别器进行第一预设次数的训练后,将所述判别器的权重固定;对所述生成器进行第二预设次数的训练后,将所述生成器的权重固定。6.根据权利要求5所述的方法,其特征在于,所述生成器的训练过程包括:对模糊二维码图像依次进行下采样、上采样以及残差操作,得到生成二维码图像,所述生成二维码图像为所述模糊二维码图像与所述二模糊维码图像数据的残差矫正后的图像的平均值;其中,在所述生成器的训练过程中,通过预设损失函数得到所述生成器的损失值,并根据所述生成器的损失值通过优化目标函数调整所述生成器的权重。
    7.根据权利要求5所述的方法,其特征在于,所述判别器的训练过程包括:将生成二维码图像以及清晰二维码图像成对输入所述判别器中,得到每张生成二维码图像对应的真实概率值;根据所述真实概率值,通过预设对抗损失函数得到所述判别器的对抗损失值;其中,在所述判别器的训练过程中,根据所述判别器的对抗损失值通过优化目标函数调整所述判别器的权重。8.一种可识别二维码图像生成装置,其特征在于,所述装置包括:训练模块,用于将训练集二维码图像输入搭建好的网络模型中进行模型训练得到多个已训练模型;测试模块,用于将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;生成模块,用于将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。9.一种计算机设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于执行权利要求1-7任一项所述的可识别二维码图像生成方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的可识别二维码图像生成方法。

    技术总结
    本发明公开了一种可识别二维码图像生成方法、装置、设备及存储介质。所述方法包括:将训练集二维码图像输入搭建好的网络模型中进行模型训练,得到多个已训练模型;将测试集二维码图像分别输入所述多个已训练模型,得到所述多个已训练模型输出的二维码图像;将待处理的二维码图像输入目标网络模型,生成可识别的二维码图像,所述目标网络模型为所述多个已训练模型中输出的二维码图像对应的二维码识别成功率最高的已训练模型。利用该方法,能够生成二维码识别成功率更高的二维码图像。成二维码识别成功率更高的二维码图像。成二维码识别成功率更高的二维码图像。


    技术研发人员:杨飞 胡兴
    受保护的技术使用者:京北方信息技术股份有限公司
    技术研发日:2022.02.21
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-6082.html

    最新回复(0)