条形码检测模型的训练方法、装置及条形码检测方法、装置与流程

    专利查询2022-07-09  138



    1.本发明属于机器视觉技术领域,尤其涉及一种条形码检测模型的训练方法、装置及条形码检测方法、装置。


    背景技术:

    2.条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符,包括一维条形码(一维码)和二维条形码(二维码)。随着智能化工业生产需求的不断提高,智能制造系统的复杂性不断增加,利用一维码和二维码对工业产品及零部件进行标识,实现对产品及零部件的生成追踪,装配管理,生命周期维护等已经成为自动化工业的行业标准。同时,二维码在仓储物流、文件管理、票务信息存储和处理等方面的应用使得这些领域的便捷性有了显著提升。
    3.与民用条形码不同,工业条形码的应用环境通常较为复杂,例如存在失真、模糊、磨损、对比度低、无静止区、噪声干扰严重等问题,导致常规的检测定位方法无法满足其需求。
    4.基于深度学习的检测定位方法在鲁棒性、准确率方面都优于常规的检测定位方法,然而,基于深度学习训练模型时则需要规模较大的训练数据,同时该方法实施起来对硬件要求也较高。


    技术实现要素:

    5.本发明提供了一种条形码检测模型的训练方法、装置及条形码检测方法、装置,可以解决或者至少部分解决上述技术问题。
    6.为此,本发明采用以下技术方案:
    7.第一方面,提供了一种条形码检测模型的训练方法,包括:
    8.获取第一样本数据,所述第一样本数据包括第一数量的带有条形码图形的条形码图片,所述条形码图形包括一维码和/或二维码;
    9.获取第二样本数据,所述第二样本数据包括第二数量的不带有条形码图形的背景图片;
    10.基于所述第一样本数据和所述第二样本数据,生成第三样本数据,所述第三样本数据包括第三数量的训练数据,所述训练数据由所述条形码图形和所述背景图片组合得到,所述第三数量大于所述第二数量和第一数量;
    11.基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,训练得到条形码的检测模型。
    12.可选地,所述基于所述第一样本数据和所述第二样本数据,生成第三样本数据,包括:
    13.分别裁剪所述第一数量的条形码图片,得到所述条形码图片中的条形码图形;
    14.对裁剪得到的条形码图形进行几何图像变化操作,得到所述几何图像变化操作后
    的条形码图形;
    15.将所述几何图像变化操作后的条形码图形分别随机贴到所述第二数量的背景图片上,生成所述第三数量的训练数据。
    16.可选地,所述基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,训练得到条形码的检测模型,包括:
    17.基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,对于每一批次的第三样本数据,依次经过特征提取、特征融合、目标预测、损失计算和参数更新等阶段,逐步调整模型参数,训练得到所述条形码的检测模型。
    18.可选地,在所述特征提取阶段,提取得到所述第三样本数据的特征图。
    19.可选地,在所述特征融合阶段,输入至卷积神经网络中的特征图大小分别缩小为第一尺寸大小、第二尺寸大小和第三尺寸大小。
    20.可选地,在所述目标预测阶段,对所述特征融合阶段得到的数据进行预测,分别得到所述第三样本数据中条形码图形的中心点的横坐标、中心点的纵坐标、宽、高和旋转角度。
    21.可选地,所述几何图像变化操作包括翻转、旋转、缩放、模糊、加噪、彩色转换和随机擦除中的至少一种。
    22.第二方面,提供了一种条形码检测方法,包括:
    23.获取待检测的目标图片;
    24.基于如上所述的方法训练得到的条形码的检测模型,检测所述目标图片中的条形码,若存在则输出条形码的位置和类别。
    25.第三方面,提供了一种条形码检测模型的训练装置,包括:
    26.第一获取单元,用于获取第一样本数据,所述第一样本数据包括第一数量的带有条形码图形的条形码图片,所述条形码图形包含一维码和/或二维码;
    27.第二获取单元,用于获取第二样本数据,所述第二样本数据包括第二数量的不带有条形码图形的背景图片;
    28.生成单元,用于基于所述第一样本数据和所述第二样本数据,生成第三样本数据,所述第三样本数据包括第三数量的训练数据,所述训练数据由所述条形码图形和所述背景图片组合得到,所述第三数量大于所述第二数量和第一数量;
    29.模型训练单元,用于基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,训练得到条形码的检测模型。
    30.第四方面,提供了一种条形码检测装置,包括:
    31.图片获取模块,用于获取待检测的目标图片;
    32.条形码检测模块,用于基于如上所述的方法训练得到的条形码的检测模型,检测所述目标图片中的条形码,若存在则输出条形码的位置和类别。
    33.与现有技术相比,本发明实施例具有以下有益效果:
    34.本发明实施例提供的一种条形码检测模型的训练方法、装置及条形码检测方法、装置,仅需要少量的第一样本数据(第一数量的条形码图片)和便于获取的第二样本数据,即可获得大量的、高质量的第三样本数据(第三数量的训练数据),基于该数据训练得到的条形码检测模型的通用性强、鲁棒性高,准确率高、检测速度快,适合多种不同工业场景下
    读码定位,可以对工业常用的任意角度的qrcode、data matrix二维码与一维码进行定位和识别。
    附图说明
    35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
    36.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。
    37.图1和图2为本实施例提供的条形码检测模型的训练方法的方法流程图;
    38.图3为本实施例提供的条形码检测方法的方法流程图;
    39.图4为本实施例提供的条形码检测模型的训练装置的组成单元图;
    40.图5为本实施例提供的条形码检测装置的组成模块图;
    41.图6为本实施例提供的检测模型的网络结构图;
    42.图7为一维码或二维码目标框表示图;
    43.图8为数据集的示意图;
    44.图9为多个正常的目标图片;
    45.图10~图19为不同目标图片的检测效果示意图。
    具体实施方式
    46.为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
    47.请参阅图1至图19所示。
    48.如图1~图3所示,本实施例提供了一种条形码检测模型的训练方法和条形码检测方法,具有对数据依赖量少、生成数据质量高、模型通用性强、鲁棒性高等优点,用于解决现有技术中的一维码或二维码依赖数据规模大、通用性差、鲁棒性低等问题。具体地,如图1所示,条形码检测模型的训练方法包括以下步骤:
    49.s11、获取第一样本数据,所述第一样本数据包括第一数量的带有条形码图形的条形码图片,所述条形码图形包括一维码和/或二维码;可选地,一个条形码图形可以包括一个或多个一维码,或者包括一个或多个二维码,也可以同时包括一个或多个一维码以及一个或多个二维码。
    50.s12、获取第二样本数据,所述第二样本数据包括第二数量的不带有条形码图形的背景图片;
    51.s13、基于所述第一样本数据和所述第二样本数据,生成第三样本数据,所述第三样本数据包括第三数量的训练数据,所述训练数据由所述条形码图形和所述背景图片组合得到,所述第三数量大于所述第二数量和第一数量;可选地,组合得到的训练数据可以包括:一维码和背景图片的组合数据,二维码和背景图片的组合数据,或者一维码、二维码和背景图片的组合数据。
    52.s14、基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,训练得到条形码的检测模型。
    53.在步骤s11中,第一样本数据仅需要包括少量的条形码图片,条形码图片中的条形码图形可以是带旋转角度的,也可以是不带旋转角度的。具体地,收集第一样本数据后,可以对条形码图形的矩形框进行标注,然后根据标注信息对每个条形码图形进行裁剪,生成数据集,如图8所示。
    54.步骤s12~s13的目的为生成大量的训练数据,即第三样本数据。需要说明的是,第二样本数据相对于第一样本数据更容易获取,例如可以使用工业相机拍摄图片或者网络爬虫抓取图片等手段,以获得背景图片。在步骤s13中,通过将条形码图形和背景图片组合,可以获得大量(即第三数量)的训练数据。然后经过步骤s14,可以顺利训练得到条形码的检测模型。
    55.如图2所示,作为本实施例的一种可选实施方式,步骤s13具体包括以下步骤:
    56.s131、分别裁剪所述第一数量的条形码图片,得到所述条形码图片中的条形码图形;
    57.s132、对裁剪得到的条形码图形进行几何图像变化操作,得到所述几何图像变化操作后的条形码图形;
    58.s133、将所述几何图像变化操作后的条形码图形分别随机贴到所述第二数量的背景图片上,生成所述第三数量的训练数据。
    59.其中,所述几何图像变化操作包括翻转、旋转、缩放、模糊、加噪、彩色转换和随机擦除中的至少一种。需要说明的是,在进行几何图像变化操作时,可以随机选择翻转、旋转、缩放、模糊、加噪、彩色转换和随机擦除中的至少一种进行操作。
    60.需要说明的是,本实施例不仅可以使用第三样本数据进行模型训练,还可以选择原始的第一样本数据对模型进行训练。
    61.对于步骤s133,在随机贴的过程中,随机生成预粘贴的位置,计算和已粘贴区域的iou(图像交并比)最大值max_iou,若max_iou《0.1(表示和已粘贴区域不重复或者重复率较低)则粘贴到该位置,并记录该位置的条形码信息。
    62.进一步地,如图6所示,检测模型的网络结构包括特征提取、特征融合和目标预测三部分。因此,步骤s14可以包括以下步骤:
    63.基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,对于每一批次的第三样本数据,依次经过特征提取、特征融合、目标预测、损失计算和参数更新等阶段,逐步调整模型参数,训练得到所述条形码的检测模型。
    64.具体地,在所述特征提取阶段,提取得到第三样本数据的特征图。
    65.进一步地,在所述特征融合阶段,输入至卷积神经网络中的特征图大小分别缩小为第一尺寸大小、第二尺寸大小和第三尺寸大小,所述特征图为所述第三样本数据经过所
    述特征提取阶段提取得到的。例如,第一尺寸(宽或高)为目标图像尺寸的16分之一,第二尺寸为32分之一,第三尺寸为64分之一,可以降低模型规模,提高检测效率。
    66.进一步地,如图7所示,本实施例在所述目标预测阶段,对所述特征融合阶段得到的数据进行预测,分别得到所述第三样本数据中条形码图形的中心点的横坐标x、中心点的纵坐标y、宽w、高h和旋转角度θ。相比于现有技术,本实施例预测的目标框的描述增加有旋转角度θ,因此可以对工业常用的任意角度的qrcode、data matrix二维码与一维码进行定位和识别。
    67.具体地,在目标预测阶段,对条形码数据进行聚类分析,网络结构设计3个head,每个head有4个锚框,预测的目标框的描述增加有旋转角度θ。
    68.模型的计算量计算公式为:
    [0069][0070]
    其中,c
    l
    中的c表示卷积核的个数,表示第层卷积;k表示卷积核的大小,例如,具体的卷积核的大小可以表示为k*k、3*3等;n表示网络有n个卷积层;fw表示特征图的宽;fh表示特征图的高。
    [0071]
    作为本实施例的一种具体应用场景,假如检测模型为yolo v5,对于输入的待检测的目标图片,该待检测的目标图片的参数为wxh(其中,w为目标图片的宽,h为目标图片的高),本实施例模型中,输入至卷积神经网络的特征图大小缩小为w/8*h/8(表征w缩小为原来的八分之一,h缩小为原来的八分之一)、w/16*h/16和w/32*h/32,可以提高检测速度。
    [0072]
    进一步地,本实施例将现有的预测的目标框的描述(x,y,w,h),修改为(x,y,w,h,θ),即增加了图像的旋转角度θ描述,具备对带有旋转角度的二维码和一维码的检测能力。
    [0073]
    具体地,该网络结构可检查qrcode、data matrix二维码、一维码三种类型的常用码,每一层目标预测模块包含4种不同规模的锚框,因此该模块的输出维度为:
    [0074]
    4*(x,y,w,h,θ,conf,p
    dm
    ,p
    qr
    ,p
    barcode
    )=36
    [0075]
    其中,x,y,w,h,θ分别代表框的中心点坐标(x,y),宽w,高h和旋转角度θ,有无条形码的置信度conf,属于dm,qr和一维码的概率分别为p
    dm
    ,p
    qr
    ,p
    barcode

    [0076]
    进一步地,模型的损失函数为:
    [0077]
    loss=λ
    coord
    ∑loss(xy) λ
    coord
    ∑loss(wh) λ
    conf
    ∑loss(con f) λ
    cls
    ∑loss(cls) λ
    angle
    ∑loss(θ)
    [0078]
    其中,loss(xy)表示模型预测码的中心点损失,loss(wh)表示模型预测码的宽、高的损失,loss(conf)表示模型预测的是否是码的置信度损失,loss(cls)表示模型预测的类别损失,loss(θ)表示模型预测角度的损失。
    [0079]
    具体地,模型的优化器可以选用adam优化算法,momentum:0.937,初始化学习率0.01,训练数据规模50万张图片,训练90轮后停止。
    [0080]
    请参阅图3所示,本实施例提供的条形码检测方法,包括以下步骤:
    [0081]
    s21、获取待检测的目标图片;
    [0082]
    s22、基于如上所述的训练方法训练得到的条形码的检测模型,检测所述目标图片中的条形码,若存在则输出条形码的位置和类别(例如一维码或二维码)。
    [0083]
    具体地,通过模型对所述待检测的目标图片进行特征提取,通过目标预测获得大量的候选二维码或一维码目标候选框;然后利用非极大值抑制算法从候选框中删除冗余的候选框,设定合适的阈值τ,输出候选框的置信度conf_i》τ的目标框。
    [0084]
    作为本实施例的试验结果,如图9所示,提供了多个正常的目标图片,利用本实施例提供的条形码检测方法对这些目标图片进行检测,其检测效果如图10~图19所示。
    [0085]
    本实施例提供的一种条形码检测方法,仅需要少量的第一样本数据(第一数量的条形码图片),即可获得大量的、高质量的第三样本数据(第三数量的训练数据);基于该数据训练得到的条形码检测模型的通用性强、鲁棒性高,适合多种不同工业场景下读码定位,可以对工业常用的任意角度的qrcode、data matrix二维码与一维码进行定位和识别,具有检测速度快、通用性高和检测准确率高等优点。
    [0086]
    如图4所示,在本技术的另一实施例中,提供了一种条形码检测模型的训练装置,可用于实现上述的条形码检测模型的训练方法,具体包括:
    [0087]
    第一获取单元11,用于获取第一样本数据,所述第一样本数据包括第一数量的带有条形码图形的条形码图片,所述条形码图形包含一维码和/或二维码;
    [0088]
    第二获取单元12,用于获取第二样本数据,所述第二样本数据包括第二数量的不带有条形码图形的背景图片,所述第二数量大于所述第一数量;
    [0089]
    生成单元13,用于基于所述第一样本数据和所述第二样本数据,生成第三样本数据,所述第三样本数据包括第三数量的训练数据,所述训练数据由所述条形码图形和所述背景图片组合得到,所述第三数量大于所述第二数量;
    [0090]
    模型训练单元14,用于基于所述第三样本数据和所述第三样本数据中的条形码图形的目标框,训练得到条形码的检测模型。
    [0091]
    由于具体如何实现条形码检测模型的训练方法已在上述阐明,此处不再赘述。与现有技术相比,本实施例提供的条形码检测模型的训练装置,仅需要少量的初始样本数据,即可获得大量的、高质量的训练样本数据,具有标注数据少、生成训练数据质量高、训练得到的定位模型检测准确率高、速度快等优点。
    [0092]
    如图5所示,在本技术的另一实施例中,还提供了一种条形码检测装置,具体包括:
    [0093]
    图片获取模块21,用于获取待检测的目标图片;
    [0094]
    条形码检测模块22,用于基于如上所述的训练方法训练得到的条形码的检测模型,检测所述目标图片中的条形码,若存在则输出条形码的位置和类别(例如一维码或二维码)。
    [0095]
    由于具体如何实现条形码检测模型的训练方法和实现条形码检测方法已在上述阐明,此处不再赘述。与现有技术相比,本实施例提供的条形码检测装置,仅需要少量的初始样本数据,即可获得大量的、高质量的训练样本数据,具有标注数据少、生成训练数据质量高、训练得到的定位模型检测准确率高、速度快等优点。
    [0096]
    以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
    转载请注明原文地址:https://tc.8miu.com/read-3522.html

    最新回复(0)