CN115630660B - 基于卷积神经网络的条码定位方法和装置 - Google Patents

基于卷积神经网络的条码定位方法和装置 Download PDF

Info

Publication number
CN115630660B
CN115630660B CN202211660866.6A CN202211660866A CN115630660B CN 115630660 B CN115630660 B CN 115630660B CN 202211660866 A CN202211660866 A CN 202211660866A CN 115630660 B CN115630660 B CN 115630660B
Authority
CN
China
Prior art keywords
bar code
horizontal frame
frame
predicted
positioning model
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.)
Active
Application number
CN202211660866.6A
Other languages
English (en)
Other versions
CN115630660A (zh
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.)
Hubei Kaileshi Tongda Technology Co ltd
Original Assignee
Hubei Kaileshi Tongda 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 Hubei Kaileshi Tongda Technology Co ltd filed Critical Hubei Kaileshi Tongda Technology Co ltd
Priority to CN202211660866.6A priority Critical patent/CN115630660B/zh
Publication of CN115630660A publication Critical patent/CN115630660A/zh
Application granted granted Critical
Publication of CN115630660B publication Critical patent/CN115630660B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Electromagnetism (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Toxicology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种基于卷积神经网络的条码定位方法和装置。所述方法包括:采集多个包含物品条码的图像,形成原始数据集;对原始数据集中的图像进行预处理,形成模型的训练集;基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型;使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。采用本方法能够提高条码定位的效率和准确率。

Description

基于卷积神经网络的条码定位方法和装置
技术领域
本申请涉及图像处理技术领域,特别是涉及一种基于卷积神经网络的条码定位方法和装置。
背景技术
条码作为标签码的一种,主要由平行的不同宽度的黑色条纹和白色条纹在一个方向上交替排列组成,条码的形式简单,可打印在平面材料上,因而广泛应用在工业、物流、仓储管理等行业中。
传统技术中,主要采用传统视觉技术对条码进行定位。然而传统的视觉技术方法需要手动设定条码特征,并且对于条码尺寸不同、角度多变、以及数量多样的情况,条码定位的准确率及效率都很低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高条码定位准确率和效率的基于卷积神经网络的条码定位方法和装置。
第一方面,本申请提供了一种基于卷积神经网络的条码定位方法,所述方法包括:
采集多个包含物品条码的图像,形成原始数据集;
对所述原始数据集中的图像进行预处理,形成模型的训练集;
基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型;
使用所述训练后的条码定位模型对待预测的包含条码的图像进行预测,得到所述待预测的包含条码的图像中条码的位置。
在其中一个实施例中,所述对所述原始数据集中的图像进行预处理,形成模型的训练集,包括:
对每一所述图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件;
采用最小包络法确定包含所述旋转框的水平框,并根据所述标注文件得到所述旋转框与所述水平框之间的相对位置参数;
所述原始数据集中的图像、所述水平框以及所述旋转框与所述水平框之间的相对位置参数,构成模型的训练集。
在其中一个实施例中,所述采用最小包络法确定包含所述旋转框的水平框,并根据所述标注文件得到所述旋转框与所述水平框之间的相对位置参数,包括:
获取包含所述旋转框的水平框;所述旋转框的顶点均位于所述水平框内且所述水平框为包含所述旋转框的四边形方框中面积最小的四边形方框;
基于所述旋转框对所述水平框的框线的分割结果,确定所述旋转框与所述水平框之间的相对位置参数。
在其中一个实施例中,所述原始数据集中的图像包含多个条码;
所述对所述原始数据集中的图像进行预处理,包括:
对所述图像中的每一条码分别进行目标框选,形成每一所述条码各自对应的旋转框,并针对每一所述条码各自对应的旋转框确定相应的水平框和标注文件;
基于所述标注文件,确定每一所述旋转框与对应的水平框之间的相对位置参数。
在其中一个实施例中,所述基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型,包括:
将所述训练集中的图像、所述水平框以及所述旋转框和所述水平框之间的相对位置参数输入至所述条码定位模型中,得到估计水平框和估计相对位置参数;
将所述条码定位模型输出的所述估计水平框和所述估计相对位置参数,与输入所述条码定位模型的所述水平框和所述相对位置参数进行比较,以构建损失函数;
根据所述损失函数,计算所述条码定位模型输出的所述估计水平框和所述估计相对位置参数的损失值,并将所述损失值反向传播以更新所述条码定位模型中的参数,执行对所述条码定位模型的训练;
重复所述对所述条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
在其中一个实施例中,所述基于卷积神经网络构建的条码定位模型包括主干卷积网络、特征金字塔网络以及检测头网络;
所述将所述训练集中的图像、所述水平框以及所述旋转框和所述水平框之间的相对位置参数输入至所述条码定位模型中,得到估计水平框和估计相对位置参数,包括:
使用所述主干卷积网络对所述旋转框和所述水平框中的特征信息进行提取,得到提取结果;
使用所述特征金字塔网络对所述提取结果进行多尺度特征提取,得到多尺度特征提取结果;
将所述多尺度特征提取结果输入至所述检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
在其中一个实施例中,所述使用所述训练后的条码定位模型对待预测的包含条码的图像进行预测,得到所述待预测的包含条码的图像中条码的位置,包括:
基于所述训练后的条码定位模型,得到所述待预测的包含条码的图像对应的预测相对位置参数和预测水平框;
基于所述预测相对位置参数和所述预测水平框,确定所述待预测的包含条码的图像中条码的位置。
在其中一个实施例中,所述基于所述预测相对位置参数和所述预测水平框,确定所述待预测的包含条码的图像中条码的位置,包括:
将所述预测水平框进行非极大值抑制处理,得到目标水平框;
基于所述预测相对位置参数和所述预测水平框,得到预测旋转框的每一顶点的位置信息,并对所述预测旋转框进行非极大值抑制处理,得到目标旋转框;
基于所述目标水平框和所述目标旋转框,确定所述待预测条码图像中条码的位置。
在其中一个实施例中,所述方法还包括:
基于不同的增强参数,对所述旋转框进行数据增强处理,得到多个增强旋转框;
将每一所述增强旋转框和所述旋转框输入条码定位模型中,以对所述条码定位模型进行训练,得到训练后的条码定位模型。
第二方面,本申请提供了一种基于卷积神经网络的条码定位装置,所述装置包括:
图像采集模块,用于采集多个包含物品条码的图像,形成原始数据集;
数据预处理模块,用于对所述原始数据集中的图像进行预处理,形成模型的训练集;
模型训练模块,用于基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型;
条码定位模块,用于使用所述训练后的条码定位模型对待预测的包含条码的图像进行预测,得到所述待预测的包含条码的图像中条码的位置。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述基于卷积神经网络的条码定位方法和装置,通过采集包含物品条码的图像,并对图像进行预处理,从而可以减少对图像中无用信息的获取,为提升条码定位的效率和准确率奠定基础。通过基于卷积神经网络构建条码定位模型,并使用训练集对条码定位模型进行训练,可以更新条码定位模型中的参数,从而使得条码定位模型的预测结果更加准确。通过将待预测的包含条码的图像输入训练后的条码定位模型中,可以得到准确的预测相对位置参数和预测水平框,从而提高条码定位的效率和定位的准确率。
附图说明
图1为一个实施例中基于卷积神经网络的条码定位方法的应用环境图;
图2为一个实施例中基于卷积神经网络的条码定位方法的流程示意图;
图3为一个实施例中基于卷积神经网络的条码定位装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于卷积神经网络的条码定位方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104先采集多个包含有物品的条码的图像,采集到的图像称为原始数据集。服务器104再对原始数据集中所包含的图像进行预处理,从而可以得到用于进行模型训练的训练集数据。服务器104基于卷积神经网络构建用于确定图像中条码位置的条码定位模型,再将训练集数据输入至构建的条码定位模型中,对条码定位模型进行训练,从而得到训练后的条码定位模型。服务器104将待预测的包含条码的图像输入至训练后的条码定位模型中进行预测,从而可以得到待预测的包含条码的图像中条码所在的位置。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于卷积神经网络的条码定位方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,采集多个包含物品条码的图像,形成原始数据集。
其中,物品条码的图像指的是包含有物品的条码的图像。条码指的是条形码,是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条和白条排成的平行线图案,根据条形码,可以得到物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息。原始数据集是包含了采集到的所有图像的集合。
可选地,服务器先确定拍摄图像的相机,并确定摆放的多个相同或不同品类的物品所处环境的拍摄光源,再根据拍摄光源,确定相机的拍摄参数和与摆放的物品之间的相对位置参数。服务器按照拍摄参数和相对位置参数对相机进行参数调整后,可以得到处于目标状态的相机,再使用处于目标状态的相机对物品条码进行拍摄采集,其中,需采集图像的物品是按照使得各物品的条码均被完整拍摄的目标姿态摆放的。服务器采集到多个具有物品条码的图像后,从而可以得到用于模型训练的原始数据集。
步骤204,对原始数据集中的图像进行预处理,形成模型的训练集。
其中,预处理指的是对图像中的条码进行框选,确定框选出的包含条码的旋转框的位置,同时还使用最小包络法确定可包含旋转框的水平框。
可选地,服务器通过对原始数据集所包含的图像中的条码进行框选,可以确定包含条码的旋转框的位置,并使用最小包络法确定包含旋转框的水平框,从而完成对图像的预处理,得到用于进行模型训练的训练集。
步骤206,基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型。
其中,卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络还具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。
条码定位模型是能够对图像或者视频中的物体进行识别,检测出物体所在位置,并且可以对移动的物体进行追踪的模型。条码定位模型可以在输入训练集之前的任一时间构建。
训练后的条码定位模型是对条码定位模型进行训练后的模型,在条码定位的结果上,训练后的条码定位模型比条码定位模型更加准确。
可选地,服务器使用包含卷积计算且具有深度结构的前馈神经网络构建条码定位模型,并将预处理得到的训练集数据输入至构建完毕的条码定位模型,以利用原始数据集中的图像、旋转框的标注文件以及旋转框与水平框之间的相对位置参数条对条码定位模型进行训练,从而得到用于对物品的条码进行定位的训练后的条码定位模型。
步骤208,使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。
其中,待预测的包含条码的图像指的是需要对图像中的条码进行定位的图像。
可选地,服务器将需要对条码进行定位的待预测的包含条码的图像输入至训练后的条码定位模型中,使用训练后的条码定位模型对待预测的包含条码的图像进行定位预测,从而得到待预测的包含条码的图像中条码所在的位置。
上述基于卷积神经网络的条码定位方法中,通过采集包含物品条码的图像,并对图像进行预处理,从而可以减少对图像中无用信息的获取,为提升条码定位的效率和准确率奠定基础。基于卷积神经网络构建条码定位模型,并使用训练集对该条码定位模型进行训练,可以更新条码定位模型中的参数,从而使得条码定位模型的预测结果更加准确。通过将待预测的包含条码的图像输入训练后的条码定位模型中,可以得到准确的预测相对位置参数和预测水平框,从而提高条码定位的效率和定位的准确率。
在一个实施例中,对原始数据集中的图像进行预处理,形成模型的训练集,包括:
对原始数据集中每一图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件。
采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数。
原始数据集中的图像、图像中条码的旋转框对应的水平框、以及旋转框与水平框之间的相对位置参数,构成模型的训练集。
其中,框选指的是沿着物品的条码的外围,例如通过条码四周的顶点将物品的条码进行框选。旋转框是框选之后得到的包含该条码的四边形方框。标注文件是保存了旋转框的顶点位置信息的文件。
最小包络法是对给定的多边形任意做矩形包络,并计算出该包络矩形的面积。通过旋转对称轴,并以旋转后的对称轴作矩形包络,如此重复直到轴旋转90°为止,可以得到多个包络矩形,再确定所有包络矩形中面积最小的包络矩形。水平框表示所有包络矩形中面积最小的且在图像中处于水平状态的包络矩形框。
相对位置参数指的是水平框和水平框包围的旋转框之间相对的各顶点的位置信息。例如,在同一坐标系中,水平框四个顶点的位置信息分别是A、B、C以及D,水平框所包围的旋转框的四个顶点的位置信息分别为a、b、c以及d,则A、B、C以及D与a、b、c以及d之间就是相对位置信息。进一步说,根据相对位置参数,可以计算旋转框将水平框分割后四条边的边长以及水平框被分割前四条边的边长,再通过计算分割后的边长与分割前的边长的比值以及旋转框面积与水平框面积的比值,可以得到每一旋转框对应的旋转参数。
可选地,服务器或软件沿着条码的外围顶点进行框选,从而得到每一图像中的条码对应的旋转框,然后使用最小包络法确定旋转框对应的水平框。服务器再基于标注文件中的数据,得到旋转框与对应的水平框之间的相对位置参数,根据相对位置参数,计算旋转框将水平框分割后四条边的边长以及水平框被分割前四条边的边长,再通过计算分割后的边长与分割前的边长的比值以及旋转框面积与水平框面积的比值,从而得到旋转框对应的旋转参数。
本实施例中,通过使用最小包络法计算包含旋转框的水平框,可以减少计算的时间,提升获取数据的速度,从而提升条码定位的速率。
在一个实施例中,采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数,包括:
获取包含旋转框的水平框。
基于旋转框对水平框的框线的分割结果,确定旋转框与水平框之间的相对位置参数。
可选地,服务器以将图像中条码的对应的旋转框全部包围的四边形方框中面积最小且处于水平状态的四边形方框为水平框,旋转框的四个顶点分别位于水平框的四条边上将水平框的四条边分割,服务器再根据分割结果确定水平框与旋转框之间的相对位置参数。
本实施例中,通过确定条码框分割水平框的结果,从而可以得到准确地相对位置参数,以对条码定位模型进行训练。
在一个实施例中,原始数据集中的图像包含多个条码。对原始数据集中的图像进行预处理,包括:
对图像中的每一条码分别进行目标框选,形成每一条码各自对应的旋转框,并针对每一条码各自对应的旋转框确定相应的水平框和标注文件。
基于标注文件,确定每一旋转框与对应的水平框之间的相对位置参数。
其中,框选指的是沿着物品的条码的外围,将物品的条码进行框选。旋转框是框选之后得到的四边形框。标注文件是保存了旋转框的顶点位置信息的文件。
相对位置参数指的是水平框和水平框包围的旋转框之间相对的各顶点的位置信息。进一步说,根据相对位置参数,可以计算旋转框将水平框分割后四条边的边长以及水平框被分割前四条边的边长,再通过计算分割后的边长与分割前的边长的比值以及旋转框面积与水平框面积的比值,可以得到每一旋转框对应的旋转参数。
可选地,服务器在处理包含多个条码的图像时,通过沿着每一条码四周的顶点,分别将每一条码进行框选,从而可以得到每一条码各自对应的旋转框,然后使用最小包络法确定每一旋转框对应的水平框。服务器再基于标注文件中的数据,得到每一个旋转框与对应的水平框之间的相对位置参数,并根据相对位置参数计算每一旋转框将对应的水平框分割后四条边的边长以及水平框被分割前四条边的边长,再通过计算分割后的边长与分割前的边长的比值以及旋转框面积与水平框面积的比值,从而得到每一旋转框对应的旋转参数。
在本实施例中,通过将图像中的每一条码分别进行框选,可以过滤到图像中无用的信息,从而为提升条码定位和准确率奠定基础。
在一个实施例中,基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型,包括:
将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数。
将条码定位模型输出的估计水平框和估计相对位置参数,与输入条码定位模型的水平框和相对位置参数进行比较,以构建损失函数。
根据损失函数,计算条码定位模型输出的估计水平框和估计相对位置参数的损失值,并将损失值反向传播以更新条码定位模型中的参数,执行对条码定位模型的训练。
重复对条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
其中,估计水平框和估计相对位置参数是对图像中条码位置的预测数据,主要用于与真实的水平框和相对位置参数进行差异比较。
损失函数是计算预测数据与真实数据之间差异值的函数。例如,计算估计水平框和估计相对位置参数这两个预测数据,与水平框和相对位置参数这两个真实数据之间的差异,也就是损失值。
可选地,服务器将基于图像得到的关于条码位置的真实数据,即原始数据集中的图像、水平框以及旋转框与水平框之间的相对位置参数,输入至构建的条码定位模型中,使用条码定位模型进行预测运算,得到估计水平框和估计相对位置参数。服务器再基于估计水平框、估计相对位置参数,以及输入至条码定位模型中的水平框以及相对位置参数,构建对应的损失函数,根据损失函数来计算估计水平框和估计相对位置参数这两个预测数据,与水平框和相对位置参数这两个真实数据之间的损失值,然后将损失值反向传播给条码定位模型,以更新条码定位模型中的参数。服务器通过对卷条码定位模型的多次迭代训练和参数更新,直至训练收敛,从而可以得到训练后的条码定位模型。
本实施例中,通过根据水平框和相对位置参数对条码定位模型进行训练,可以更新条码定位模型中的参数,从而使训练后的条码定位模型的预测结果更加准确。
在一个实施例中,基于卷积神经网络构建的条码定位模型包括主干卷积网络、特征金字塔网络以及检测头网络。
将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数,包括:
使用主干卷积网络对旋转框和水平框中的特征信息进行提取,得到提取结果。
使用特征金字塔网络对提取结果进行多尺度特征提取,得到多尺度特征提取结果。
将多尺度特征提取结果输入至检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
其中,主干卷积网络可以采用Resnet(残差神经网络)系列的卷积网络,也可以采用EffcientNet(高效网络)系列的卷积网络。特征金字塔网络是一种旨在提高准确率和速度的特征提取器,可以对最底层的特征进行向上采样,并与该底层特征进行融合,得到高分辨率、强语义的特征,即可以加强特征的提取。检测头网络主要用于进行特征划分。
多尺度特征提取是在不同尺度下对图像进行特征采样,从而采集到可以完成不同任务的特征。
可选地,服务器将采集到的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型后,利用条码定位模型中的主干卷积网络对旋转框和水平框中的信息进行提取,得到特征信息的提取结果,再使用特征金字塔网络对主干卷积网络得到的提取结果,从不同尺度下进行特征采样,从而采集到不同尺度下的特征提取结果,最后服务器使用检测头网络将得到的多尺度特征提取结果划分为相同大小的网格,可以得到估计水平框和估计相对位置参数。估计水平框主要通过偏移量进行表征,表征结果为, x=s x ·σ( tx)、 y=s y ·σ( ty)、 w=s w ·e tw 以及 h=s h ·e th σ(·)是激活函数,取值范围为[0,1]; txtytw以及 th、为条码定位模型预测的相关值,表示经过训练学习得到的偏移值; s x s y s w 以及 s h 表示缩放系数,初始缩放系数通过随机设置,条码定位模型经过训练学习会对缩放系数进行更新; xy表示估计水平框的中心坐标, wh分别表示估计水平框的宽度和长度。
本实施例中,通过多尺度特征提取,可以从不同尺度对图像进行分解,使得图像的特征信息能够在不同的尺度下得到不同程度的表达,有利于理解图像的细节,充分提取图像的特征信息。
在一个实施例中,使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置,包括:
基于训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框。
基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置。
其中,待预测的包含条码的图像指的是需要对图像中的条码进行定位的图像。预测水平框和预测相对位置参数是用于获取图像中条码的定位结果的信息。
可选地,服务器将需要对条码进行定位的待预测的包含条码的图像输入至训练后的条码定位模型中,使用训练后的条码定位模型对待预测的包含条码的图像进行预测,从模型的输出得到待预测的包含条码的图像所对应的预测水平框和预测相对位置参数。服务器再根据得到的预测相对位置参数和预测水平框,对待预测的包含条码的图像中条码所在的位置进行计算,从而得到图像中条码的位置。
本实施例中,通过将待预测的包含条码的图像输入条码定位模型中,可以得到准确的预测相对位置参数和预测水平框,从而根据训练好的条码定位模型,对待预测的图像中的条码进行定位,由于条码定位模型经过训练之后精度较高,并且能够根据输入的数据快速得到预测结果,因此能够提高条码定位的效率和定位的准确率。
在一个实施例中,基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置,包括:
将预测水平框进行非极大值抑制处理,得到目标水平框。
基于预测相对位置参数和预测水平框,得到预测旋转框的每一顶点的位置信息,并对预测旋转框进行非极大值抑制处理,得到目标旋转框。
基于目标水平框和目标旋转框,确定待预测条码图像中条码的位置。
其中,非极大值抑制处理是使用非极大值抑制算法来抑制非极大值的目标,去掉冗余目标,从而搜索出局部极大值的目标,找到最优目标。非极大值抑制处理也可以理解为对预测水平框和预测旋转框进行筛选,从而得到最接近真实值的目标水平框和目标旋转框。
可选地,服务器使用条码定位模型得到预测水平框和预测相对位置参数后,再对预测水平框进行非极大值抑制处理,去掉预测水平框中的冗余部分,从而搜索到最接近真实值的目标水平框。服务器还根据得到的预测相对位置参数和预测水平框,得到预测旋转框的四个顶点的位置信息,同时也采用非极大值抑制算法对预测旋转框进行抑制处理,去掉预测旋转框中的冗余部分,从而搜索到最接近真实值的目标旋转框。服务器再根据得到的目标水平框和目标旋转框,从而可以确定图像中条码所在的具体位置。
本实施例中,通过使用非极大值抑制处理方式对预测水平框和预测旋转框进行处理,可以去掉预测水平框和预测旋转框中的冗余部分,从而加快条码定位的效率。
在一个实施例中,基于卷积神经网络的条码定位方法还包括:
基于不同的增强参数,对旋转框进行数据增强处理,得到多个增强旋转框。
将每一增强旋转框和旋转框输入条码定位模型中,以对条码定位模型进行训练,得到训练后的条码定位模型。
其中,增强参数指的是在进行增强处理时,对数据处理的程度。例如,使用调整图像的明暗度时,将亮度调暗10%和将亮度调暗20%属于一种增强处理方式中的两种不同增强参数,同时所带来增强效果也不同。
数据增强处理的方式包括随机裁剪、随机改变条码框的颜色或者明暗度、随机翻转、随机擦除、增加噪声以及模糊处理。
可选地,服务器通过采用随机裁剪、随机改变条码框的颜色或者明暗度、随机翻转、随机擦除、增加噪声以及模糊处理中的一项或者多项增强处理方式对旋转框进行数据增强处理,并且在每一数据增强处理中,对数据进行增强处理的程度可以相同也可以不同。数据增强处理执行完毕之后,服务器再将得到的增强旋转框和旋转框一起输入至条码定位模型中,对条码定位模型进行训练,从而得到训练后的条码定位模型。
本实施例中,通过对旋转框进行数据增强处理,可以增加条码定位模型训练的数据量,从而使模型学到数据背后的规律,以输出正确的数据。
本申请还提供一种应用场景,该应用场景应用上述的基于卷积神经网络的条码定位方法。具体地,该基于卷积神经网络的条码定位方法在该应用场景的应用如下:
首先,选取拍摄物品的条码图像的相机,根据拍摄现场的光照条件对应地布置拍摄光源,再根据拍摄的光源确定相机本身的参数和相对于物品的相对位置参数,从而得到处于目标状态的相机。使用处于目标状态的相机拍摄得到的每一张图像中,每一物品上的条码可以被完整地拍摄到。图像采集完毕后,再对每一图像中每一条码进行框选,得到条码的旋转框,并使用最小包络法确定可以包围旋转框的最小水平框,和旋转框与水平框之间的相对位置参数。
其次,采用随机裁剪、随机改变条码框的颜色或者明暗度、随机翻转、随机擦除、增加噪声以及模糊处理中的一项或者多项增强处理方式对旋转框进行增强处理,以增加旋转框的数据量,得到多个增强旋转框。再将采集到的图像、增强旋转框、水平框以及相对位置参数输入至由主干卷积网络、特征金字塔网络以及检测头网络构建的条码定位模型中,利用条码定位模型中的主干卷积网络对增强旋转框和水平框中的信息进行提取,得到特征信息的提取结果,再使用特征金字塔网络从不同尺度下对提取结果进行特征采样,从而采集到不同尺度下的特征提取结果,最后服务器使用检测头网络将得到的多尺度特征提取结果划分为相同大小的网格,从而得到估计水平框和估计相对位置参数。基于输出的估计水平框和估计相对位置参数、输入的水平框以及相对位置参数,构建损失函数,并使用损失函数计算估计水平框和估计相对位置参数的损失值,再将损失值反向传播给条码定位模型,以更新条码定位模型中的参数,重复训练直至训练收敛,从而得到训练后的条码定位模型。
然后,将拍摄的待预测的包含条码的图像输入至训练后的条码定位模型中,使用训练后的条码定位模型对待预测的包含条码的图像中的条码进行定位运算,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框,并根据预测相对位置参数和预测水平框,确定预测旋转框每一顶点的位置信息。使用非极大值抑制算法分别对预测旋转框和预测水平框进行非极大值抑制处理,去掉冗余的目标,筛选出最接近真实值的目标旋转框和目标水平框。最后,根据得到的目标旋转框和目标水平框,确定待预测的包含条码的图像中条码所在的位置。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于卷积神经网络的条码定位方法的基于卷积神经网络的条码定位装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于卷积神经网络的条码定位装置实施例中的具体限定可以参见上文中对于基于卷积神经网络的条码定位方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种基于卷积神经网络的条码定位装置,包括:
图像采集模块302,用于采集多个包含物品条码的图像,形成原始数据集。
数据预处理模块304,用于对原始数据集中的图像进行预处理,形成模型的训练集。
模型训练模块306,用于基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型。
条码定位模块308,用于使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。
在其中一个实施例中,数据预处理模块包括:
条码框选单元,用于对每一图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件。
第一数据获取单元,用于采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数。
训练集确定单元,用于原始数据集中的图像、水平框以及旋转框与水平框之间的相对位置参数,构成模型的训练集。
在其中一个实施例中,第一数据获取单元包括:
水平框获取子单元,用于获取包含旋转框的水平框。
第一相对位置参数获取子单元,用于基于旋转框对水平框的框线的分割结果,确定旋转框与水平框之间的相对位置参数。
在其中一个实施例中,数据预处理模块包括:
第二数据获取单元,用于对图像中的每一条码分别进行目标框选,形成每一条码各自对应的旋转框,并针对每一条码各自对应的旋转框确定相应的水平框和标注文件。
第二相对位置参数获取子单元,用于基于标注文件,确定每一旋转框与对应的水平框之间的相对位置参数。
在其中一个实施例中,模型训练模块包括:
数据输入单元,用于将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数。
损失函数构建单元,用于将条码定位模型输出的估计水平框和估计相对位置参数,与输入条码定位模型的水平框和相对位置参数进行比较,以构建损失函数。
模型训练单元,用于根据损失函数,计算条码定位模型输出的估计水平框和估计相对位置参数的损失值,并将损失值反向传播以更新条码定位模型中的参数,执行对条码定位模型的训练。
训练后的条码定位模型获取单元,用于重复对条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
在其中一个实施例中,数据输入单元包括:
特征信息提取子单元,用于使用主干卷积网络对旋转框和水平框中的特征信息进行提取,得到提取结果。
多尺度特征提取子单元,用于使用特征金字塔网络对提取结果进行多尺度特征提取,得到多尺度特征提取结果。
图像划分子单元,用于将多尺度特征提取结果输入至检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
在其中一个实施例中,条码定位模块包括:
预测数据获取单元,用于基于训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框。
条码定位单元,用于基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置。
在其中一个实施例中,条码定位单元包括:
目标水平框获取子单元,用于将预测水平框进行非极大值抑制处理,得到目标水平框。
目标旋转框获取子单元,用于基于预测相对位置参数和预测水平框,得到预测旋转框的每一顶点的位置信息,并对预测旋转框进行非极大值抑制处理,得到目标旋转框。
条码定位子单元,用于基于目标水平框和目标旋转框,确定待预测条码图像中条码的位置。
在其中一个实施例中,基于卷积神经网络的条码定位装置还包括:
数据增强单元,用于基于不同的增强参数,对旋转框进行数据增强处理,得到多个增强旋转框。
训练后的条码定位模型获取单元,用于将每一增强旋转框和旋转框输入条码定位模型中,以对条码定位模型进行训练,得到训练后的条码定位模型。
上述基于卷积神经网络的条码定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储物品条码的图像、原始数据集、旋转框、水平框、相对位置参数、条码定位模型、训练后的条码定位模型、待预测的包含条码的图像、预测相对位置参数、预测水平框以及预测的包含条码的图像中条码的位置数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于卷积神经网络的条码定位方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
采集多个包含物品条码的图像,形成原始数据集。对原始数据集中的图像进行预处理,形成模型的训练集。基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型。使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对每一图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件。采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数。原始数据集中的图像、水平框以及旋转框与水平框之间的相对位置参数,构成模型的训练集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取包含旋转框的水平框。基于旋转框对水平框的框线的分割结果,确定旋转框与水平框之间的相对位置参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对图像中的每一条码分别进行目标框选,形成每一条码各自对应的旋转框,并针对每一条码各自对应的旋转框确定相应的水平框和标注文件。基于标注文件,确定每一旋转框与对应的水平框之间的相对位置参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数。将条码定位模型输出的估计水平框和估计相对位置参数,与输入条码定位模型的水平框和相对位置参数进行比较,以构建损失函数。根据损失函数,计算条码定位模型输出的估计水平框和估计相对位置参数的损失值,并将损失值反向传播以更新条码定位模型中的参数,执行对条码定位模型的训练。重复对条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
使用主干卷积网络对旋转框和水平框中的特征信息进行提取,得到提取结果。使用特征金字塔网络对提取结果进行多尺度特征提取,得到多尺度特征提取结果。将多尺度特征提取结果输入至检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框。基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将预测水平框进行非极大值抑制处理,得到目标水平框。基于预测相对位置参数和预测水平框,得到预测旋转框的每一顶点的位置信息,并对预测旋转框进行非极大值抑制处理,得到目标旋转框。基于目标水平框和目标旋转框,确定待预测条码图像中条码的位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于不同的增强参数,对旋转框进行数据增强处理,得到多个增强旋转框。将每一增强旋转框和旋转框输入条码定位模型中,以对条码定位模型进行训练,得到训练后的条码定位模型。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
采集多个包含物品条码的图像,形成原始数据集。对原始数据集中的图像进行预处理,形成模型的训练集。基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型。使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对每一图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件。采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数。原始数据集中的图像、水平框以及旋转框与水平框之间的相对位置参数,构成模型的训练集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取包含旋转框的水平框。基于旋转框对水平框的框线的分割结果,确定旋转框与水平框之间的相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对图像中的每一条码分别进行目标框选,形成每一条码各自对应的旋转框,并针对每一条码各自对应的旋转框确定相应的水平框和标注文件。基于标注文件,确定每一旋转框与对应的水平框之间的相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数。将条码定位模型输出的估计水平框和估计相对位置参数,与输入条码定位模型的水平框和相对位置参数进行比较,以构建损失函数。根据损失函数,计算条码定位模型输出的估计水平框和估计相对位置参数的损失值,并将损失值反向传播以更新条码定位模型中的参数,执行对条码定位模型的训练。重复对条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
使用主干卷积网络对旋转框和水平框中的特征信息进行提取,得到提取结果。使用特征金字塔网络对提取结果进行多尺度特征提取,得到多尺度特征提取结果。将多尺度特征提取结果输入至检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框。基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将预测水平框进行非极大值抑制处理,得到目标水平框。基于预测相对位置参数和预测水平框,得到预测旋转框的每一顶点的位置信息,并对预测旋转框进行非极大值抑制处理,得到目标旋转框。基于目标水平框和目标旋转框,确定待预测条码图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于不同的增强参数,对旋转框进行数据增强处理,得到多个增强旋转框。将每一增强旋转框和旋转框输入条码定位模型中,以对条码定位模型进行训练,得到训练后的条码定位模型。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
采集多个包含物品条码的图像,形成原始数据集。对原始数据集中的图像进行预处理,形成模型的训练集。基于卷积神经网络构建条码定位模型,并将训练集中的数据输入条码定位模型进行训练,得到训练后的条码定位模型。使用训练后的条码定位模型对待预测的包含条码的图像进行预测,得到待预测的包含条码的图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对每一图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件。采用最小包络法确定包含旋转框的水平框,并根据标注文件得到旋转框与水平框之间的相对位置参数。原始数据集中的图像、水平框以及旋转框与水平框之间的相对位置参数,构成模型的训练集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取包含旋转框的水平框。基于旋转框对水平框的框线的分割结果,确定旋转框与水平框之间的相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对图像中的每一条码分别进行目标框选,形成每一条码各自对应的旋转框,并针对每一条码各自对应的旋转框确定相应的水平框和标注文件。基于标注文件,确定每一旋转框与对应的水平框之间的相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将训练集中的图像、水平框以及旋转框和水平框之间的相对位置参数输入至条码定位模型中,得到估计水平框和估计相对位置参数。将条码定位模型输出的估计水平框和估计相对位置参数,与输入条码定位模型的水平框和相对位置参数进行比较,以构建损失函数。根据损失函数,计算条码定位模型输出的估计水平框和估计相对位置参数的损失值,并将损失值反向传播以更新条码定位模型中的参数,执行对条码定位模型的训练。重复对条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
使用主干卷积网络对旋转框和水平框中的特征信息进行提取,得到提取结果。使用特征金字塔网络对提取结果进行多尺度特征提取,得到多尺度特征提取结果。将多尺度特征提取结果输入至检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框。基于预测相对位置参数和预测水平框,确定待预测的包含条码的图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将预测水平框进行非极大值抑制处理,得到目标水平框。基于预测相对位置参数和预测水平框,得到预测旋转框的每一顶点的位置信息,并对预测旋转框进行非极大值抑制处理,得到目标旋转框。基于目标水平框和目标旋转框,确定待预测条码图像中条码的位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于不同的增强参数,对旋转框进行数据增强处理,得到多个增强旋转框。将每一增强旋转框和旋转框输入条码定位模型中,以对条码定位模型进行训练,得到训练后的条码定位模型。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于卷积神经网络的条码定位方法,其特征在于,所述方法包括:
采集多个包含物品条码的图像,形成原始数据集;
对每一所述图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件;
获取包含所述旋转框的水平框;所述旋转框的顶点均位于所述水平框内且所述水平框为包含所述旋转框的四边形方框中面积最小的四边形方框;
基于所述旋转框对所述水平框的框线的分割结果,确定所述旋转框与所述水平框之间的相对位置参数;所述相对位置参数是指所述旋转框与所述水平框之间相对应的各顶点的位置信息;
所述原始数据集中的图像、所述水平框、所述旋转框与所述水平框之间的相对位置参数,构成模型的训练集;
基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型;所述条码定位模型包括主干卷积网络、特征金字塔网络以及检测头网络;所述主干卷积网络用于提取所述训练集中旋转框和水平框的特征信息,得到提取结果;所述特征金字塔网络用于对所述提取结果执行多尺度特征的提取,得到多尺度特征提取结果;所述检测头网络用于对所述多尺度特征提取结果进行划分处理;
基于所述训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框;
基于所述预测相对位置参数和所述预测水平框,确定所述待预测的包含条码的图像中条码的位置;所述条码的位置通过使用非极大值抑制方式对预测得到的预测水平框和预测旋转框的处理所得到,所述预测旋转框由所述预测水平框所确定。
2.根据权利要求1所述的方法,其特征在于,所述旋转框是指包含所述条码的四边形方框。
3.根据权利要求1所述的方法,其特征在于,所述标注文件是包括所述旋转框的顶点位置信息的文件。
4.根据权利要求1所述的方法,其特征在于,所述原始数据集中的图像包含多个条码;
所述对每一所述图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件,包括:
对所述图像中的每一条码分别进行目标框选,形成每一所述条码各自对应的旋转框,并针对每一所述条码各自对应的旋转框确定相应的水平框和标注文件;
所述针对每一所述条码各自对应的旋转框确定相应的水平框和标注文件之后,包括:
基于所述标注文件,确定每一所述旋转框与对应的水平框之间的相对位置参数。
5.根据权利要求1所述的方法,其特征在于,所述基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型,包括:
将所述训练集中的图像、所述水平框以及所述旋转框和所述水平框之间的相对位置参数输入至所述条码定位模型中,得到估计水平框和估计相对位置参数;
将所述条码定位模型输出的所述估计水平框和所述估计相对位置参数,与输入所述条码定位模型的所述水平框和所述相对位置参数进行比较,以构建损失函数;
根据所述损失函数,计算所述条码定位模型输出的所述估计水平框和所述估计相对位置参数的损失值,并将所述损失值反向传播以更新所述条码定位模型中的参数,执行对所述条码定位模型的训练;
重复所述对所述条码定位模型的训练直至训练收敛,得到训练后的条码定位模型。
6.根据权利要求5所述的方法,其特征在于,所述基于卷积神经网络构建的条码定位模型包括主干卷积网络、特征金字塔网络以及检测头网络;
所述将所述训练集中的图像、所述水平框以及所述旋转框和所述水平框之间的相对位置参数输入至所述条码定位模型中,得到估计水平框和估计相对位置参数,包括:
使用所述主干卷积网络对所述旋转框和所述水平框中的特征信息进行提取,得到提取结果;
使用所述特征金字塔网络对所述提取结果进行多尺度特征提取,得到多尺度特征提取结果;
将所述多尺度特征提取结果输入至所述检测头网络中进行划分处理,得到估计水平框和估计相对位置参数。
7.根据权利要求1所述的方法,其特征在于,所述多尺度特征提取是在不同尺度下对图像进行特征采样。
8.根据权利要求1所述的方法,其特征在于,所述基于所述预测相对位置参数和所述预测水平框,确定所述待预测的包含条码的图像中条码的位置,包括:
将所述预测水平框进行非极大值抑制处理,得到目标水平框;
基于所述预测相对位置参数和所述预测水平框,得到预测旋转框的每一顶点的位置信息,并对所述预测旋转框进行非极大值抑制处理,得到目标旋转框;
基于所述目标水平框和所述目标旋转框,确定所述待预测的包含条码的图像中条码的位置。
9.根据权利要求1至8任意一项所述的方法,其特征在于,所述方法还包括:
基于不同的增强参数,对所述旋转框进行数据增强处理,得到多个增强旋转框;
将每一所述增强旋转框和所述旋转框输入条码定位模型中,以对所述条码定位模型进行训练,得到训练后的条码定位模型。
10.一种基于卷积神经网络的条码定位装置,其特征在于,所述装置包括:
图像采集模块,用于采集多个包含物品条码的图像,形成原始数据集;
数据预处理模块,用于对每一所述图像中的条码进行目标框选,并对框选出的包含条码的旋转框进行标注,得到标注文件;获取包含所述旋转框的水平框;所述旋转框的顶点均位于所述水平框内且所述水平框为包含所述旋转框的四边形方框中面积最小的四边形方框;基于所述旋转框对所述水平框的框线的分割结果,确定所述旋转框与所述水平框之间的相对位置参数;所述相对位置参数是指所述旋转框与所述水平框之间相对应的各顶点的位置信息;所述原始数据集中的图像、所述水平框、所述旋转框与所述水平框之间的相对位置参数,构成模型的训练集;
模型训练模块,用于基于卷积神经网络构建条码定位模型,并将所述训练集中的数据输入所述条码定位模型进行训练,得到训练后的条码定位模型;所述条码定位模型由主干卷积网络、特征金字塔网络以及检测头网络所构建;所述主干卷积网络用于提取所述训练集中旋转框和水平框的特征信息,得到提取结果;所述特征金字塔网络用于对所述提取结果执行多尺度特征的提取,得到多尺度特征提取结果;所述检测头网络用于对所述多尺度特征提取结果进行划分处理;
条码定位模块,用于基于所述训练后的条码定位模型,得到待预测的包含条码的图像对应的预测相对位置参数和预测水平框;基于所述预测相对位置参数和所述预测水平框,确定所述待预测的包含条码的图像中条码的位置;所述条码的位置通过使用非极大值抑制方式对预测得到的预测水平框和预测旋转框的处理所得到,所述预测旋转框由所述预测水平框所确定。
CN202211660866.6A 2022-12-23 2022-12-23 基于卷积神经网络的条码定位方法和装置 Active CN115630660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211660866.6A CN115630660B (zh) 2022-12-23 2022-12-23 基于卷积神经网络的条码定位方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211660866.6A CN115630660B (zh) 2022-12-23 2022-12-23 基于卷积神经网络的条码定位方法和装置

Publications (2)

Publication Number Publication Date
CN115630660A CN115630660A (zh) 2023-01-20
CN115630660B true CN115630660B (zh) 2023-04-07

Family

ID=84910256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211660866.6A Active CN115630660B (zh) 2022-12-23 2022-12-23 基于卷积神经网络的条码定位方法和装置

Country Status (1)

Country Link
CN (1) CN115630660B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117774986B (zh) * 2024-02-27 2024-05-07 中国测绘科学研究院 一种智能网联汽车高精度地图厘米级定位方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892301B1 (en) * 2015-03-05 2018-02-13 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
CN109165538A (zh) * 2018-07-18 2019-01-08 北京飞搜科技有限公司 基于深度神经网络的条形码检测方法及装置
CN111597845A (zh) * 2019-02-20 2020-08-28 中科院微电子研究所昆山分所 一种二维码检测方法、装置、设备及可读存储介质
CN114186576A (zh) * 2021-11-09 2022-03-15 苏州斯普锐智能系统股份有限公司 条码的定位和解码装置、方法、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886060A (zh) * 2019-02-21 2019-06-14 苏州天准科技股份有限公司 一种基于深度学习的条码区域定位方法
CN110188720A (zh) * 2019-06-05 2019-08-30 上海云绅智能科技有限公司 一种基于卷积神经网络的目标检测方法及系统
CN110298266B (zh) * 2019-06-10 2023-06-06 天津大学 基于多尺度感受野特征融合的深度神经网络目标检测方法
CN113298169B (zh) * 2021-06-02 2024-03-01 浙江工业大学 一种基于卷积神经网络的旋转目标检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892301B1 (en) * 2015-03-05 2018-02-13 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
CN109165538A (zh) * 2018-07-18 2019-01-08 北京飞搜科技有限公司 基于深度神经网络的条形码检测方法及装置
CN111597845A (zh) * 2019-02-20 2020-08-28 中科院微电子研究所昆山分所 一种二维码检测方法、装置、设备及可读存储介质
CN114186576A (zh) * 2021-11-09 2022-03-15 苏州斯普锐智能系统股份有限公司 条码的定位和解码装置、方法、电子设备和存储介质

Also Published As

Publication number Publication date
CN115630660A (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
Jam et al. A comprehensive review of past and present image inpainting methods
CN110738207B (zh) 一种融合文字图像中文字区域边缘信息的文字检测方法
CN109214366B (zh) 局部目标重识别方法、装置及系统
CN111462120B (zh) 一种基于语义分割模型缺陷检测方法、装置、介质及设备
CN107784288B (zh) 一种基于深度神经网络的迭代定位式人脸检测方法
CN111127631B (zh) 基于单图像的三维形状和纹理重建方法、系统及存储介质
EP3905194A1 (en) Pose estimation method and apparatus
CN111680678B (zh) 目标区域识别方法、装置、设备及可读存储介质
CN111242026B (zh) 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法
CN115239644B (zh) 混凝土缺陷识别方法、装置、计算机设备和存储介质
CN109165654B (zh) 一种目标定位模型的训练方法和目标定位方法及装置
CN115630660B (zh) 基于卷积神经网络的条码定位方法和装置
CN114241141B (zh) 光滑物体三维重建方法、装置、计算机设备和存储介质
CN116012432A (zh) 立体全景图像的生成方法、装置和计算机设备
CN114782417A (zh) 基于边缘强化图像分割的风机数字孪生特征实时检测方法
CN114359228A (zh) 物体表面缺陷检测方法、装置、计算机设备和存储介质
Shit et al. An encoder‐decoder based CNN architecture using end to end dehaze and detection network for proper image visualization and detection
CN111191584B (zh) 一种人脸识别方法及装置
Chawla et al. Classification of computer generated images from photographic images using convolutional neural networks
CN114170231A (zh) 基于卷积神经网络的图像语义分割方法、装置及电子设备
CN115719414A (zh) 基于任意四边形回归的目标检测与精确定位方法
CN115311296B (zh) 数据生成、图像识别方法及计算机存储介质和终端设备
CN116612474B (zh) 对象检测方法、装置、计算机设备及计算机可读存储介质
Dalai et al. Modified U-Net based 3D reconstruction model to estimate volume from multi-view images of a solid object
CN115984583B (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
GR01 Patent grant
GR01 Patent grant