CN112183148A - 一种批量条码定位方法及识别系统 - Google Patents
一种批量条码定位方法及识别系统 Download PDFInfo
- Publication number
- CN112183148A CN112183148A CN202010987007.2A CN202010987007A CN112183148A CN 112183148 A CN112183148 A CN 112183148A CN 202010987007 A CN202010987007 A CN 202010987007A CN 112183148 A CN112183148 A CN 112183148A
- Authority
- CN
- China
- Prior art keywords
- image
- decoding
- positioning
- barcode
- batch
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Electromagnetism (AREA)
- Toxicology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种批量条码定位方法及识别系统。本发明的批量条码定位方法,连续获取慢速运动场景中的图像,结合多运动目标跟踪方法实现批量条码的准确定位;本发明的批量条码识别系统使用低像素摄像头模块获取含有目标条码的连续多张低像素图像,并通过无线通信模块快速将其传输至定位服务器;定位服务器利用低像素的图像,运行本发明的批量条码的定位方法获取相关坐标位置及解码所需旋转角度;本识别系统也同时获取高像素图像,通过高低像素图像的映射关系,进而快速获取高像素图像中批量条码的相关坐标位置;最后基于高像素图像和解码所需旋转角度快速完成批量条码解码,用户体验极大提高。
Description
技术领域
本发明涉及条码识别领域,具体涉及一种批量条码定位方法及识别系统。
背景技术
条码可用于信息化管理,当存在批量含有条码的产品需要处理时,例如通过批量二维码验证发票信息真伪、利用条码实现仓储系统中货物的批量出库入库等,传统的方法往往是对每个产品上的条码进行一一扫码。该方法存在重复劳动强度高、工作效率低下等问题。同时,随着技术的发展,也出现了批量条码识别的系统。中国专利授权公布号CN206075293 U提出一种多个二维码自动识别的设备,该设备采用多相机拍摄二维码、多进程解析二维码的方法进行批量二维码的自动识别,运行速度较快,但只能识别二维码,不兼顾条形码,且该设备需要根据每款产品定制参数,体积较大,不具备广泛的通用性。中国专利申请公布号CN 110427793 A提出了一种基于深度学习的条码检测方法及其系统,该系统中利用深度卷积神经网络模型定位条码的位置。中国专利申请公布号CN 109740395 A提出了一种深度学习与形状检测相结合的二维码定位方法及系统,这些采用深度卷积神经网络模型技术实现的条形码或者二维码定位方法的准确率都很高,但并未说明如何对批量的条码进行快速定位及解码。
因此,如何实现批量条码在准确被定位的同时,使得识别系统的运行耗时更短,进而提高用户体验的问题亟待解决。
发明内容
本发明要解决的技术问题是:为了解决批量条码快速准确定位及解码问题,本发明提供了一种批量条码定位方法及识别系统。
为实现上述目的,本发明采用的技术方案如下:第一方面,一种批量条码定位方法,包括如下步骤:
步骤1:从慢速运动场景中连续获取目标图像,目标图像是含有批量条码的图像,并构成含有三张图像的图像集;
步骤2:依次使用目标检测方法对图像集中的所有条码进行定位,并获取定位信息所对应的矩形框和中心坐标;
步骤3:若判定当前时刻产生了系统解码需求触发信号,按照步骤4继续执行;若判定当前时刻未产生系统解码需求触发信号,按照步骤6继续执行;
步骤4:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的中心坐标、旋转角度;
步骤5:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小;
步骤6:更新图像集,返回步骤2继续执行。
进一步的,所述步骤1中,所述图像为通过扫码器获取的低像素图像,用于对图像上的条码进行定位。
进一步的,所述步骤4包括以下过程:步骤41,根据步骤2中对图像集中三张图像所获取的信息,以图论进行关联形成每个条码的运动轨迹的最佳匹配;步骤42,利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标、旋转角度。
进一步的,步骤41中以图论进行关联的过程包括:将较先获取的图像中的所有条码对应的中心坐标构建为第一数据图,将较后获取的图像中的所有条码对应的中心坐标构建为第二数据图,所述第一数据图和第二数据图均包括节点和连接节点的边,其中节点代表条码的中心坐标位置,边代表两个节点之间的距离;
将第一数据图和第二数据图中的节点进行匹配:分别计算第一数据图和第二数据图中各个节点与其周围其他节点的相对距离,通过每个节点与周围节点距离的固有关系,完成第一数据图和第二数据图中的节点匹配;当第一数据图和第二数据图中某个节点位于图结构中心,第一数据图和第二数据图均构成关于图结构中心节点的对称图时,将第一数据图的每个节点和第二数据图的任一节点进行匹配,获取多种匹配方式,分别计算多种匹配方式中第一数据图中每个节点到第二数据图中相匹配节点的距离和,距离和最小的匹配方式为最佳匹配方式。
进一步的,步骤42中利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标、旋转角度的过程包括:
(1)构建数据集:获取含有条码的连续四帧图像的集合,获取每个集合中的第一帧图像的R分量数据、第二帧图像的G分量数据、第三帧图像的B分量数据,并将该三帧图像中对应的目标条码按照绝对位置进行叠加,同时将第四帧图像中条码的中心坐标和对应的4个边角的坐标作为当前数据的标注,构建轨迹数据集;
(2)基于卷积神经网络构建深度学习框架,并以所构建的数据集作为输入进行训练,获得可预测慢速运动场景中条码运动轨迹所对应的中心坐标和4个边角的坐标的网络框架;
(3)基于构建的网络框架,分别以最佳匹配的连续三帧图像中各个条码的R、G、B通道叠加构成的图像为输入,预测输出第四帧图像中相应条码的中心坐标和4个边角的坐标,并计算旋转角度。
进一步的,所述步骤5中根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小的方法为:
获取每个运动轨迹所对应的条码在图像集的三张图像中的每个定位信息矩形框的水平长度和垂直长度,并对比每个定位信息矩形框的水平长度,估算下一时刻获取图像中条码的定位信息矩形框的水平长度;对比每个定位信息矩形框的垂直长度,估算下一时刻获取图像中条码的定位信息矩形框的垂直长度。
进一步的,所述步骤6中,更新图像集的具体方法为:去除当前时刻所构成的图像集中的第一张图像,并在获得下一时刻含有多个条码的图像后,构成新的连续三张图像的图像集。
第二方面,本发明还公开了一种批量条码识别系统,包括:
扫码器,用于获取含有多个条码的图像,并将多个条码的图像传输至定位服务器,并根据定位服务器返回的相关位置信息完成多个条码的解码;
定位服务器,用于执行本发明任一种批量条码定位方法的步骤,定位扫码器传输的图像中的多个条码的相关位置,并将这些位置信息返回给所述扫码器。
进一步的,所述扫码器包括:
低像素摄像头模块,在扫码器握持触发信号产生之后会一直处于运行状态,并持续产生含有多个条码的低像素图像,并传输至控制与通信模块;
高像素摄像头模块,用于产生含有多个条码的高像素图像,并传输至高速数据分配模块;
控制与通信模块,用于从低像素摄像头模块获取含有多个条码的低像素图像,运行两帧差分算法检测图像变化,并将变化图像传输至无线通信模块,用于从无线通信模块获取相关坐标位置及解码所需旋转角度,用于从解码模块获取条码的解码信息,用于与高速数据分配模块和显示模块交互;
无线通信模块,用于将所述含有多个条码的低像素图像传输至定位服务器,并从所述定位服务器获取含有多个条码的低像素图像中每个条码的坐标位置及解码所需旋转角度,并将该信息回传至控制与通信模块;
解码模块,由多个解码子模块构成,具有数据存储功能,用于对条码进行解码;
高速数据分配模块,在控制与通信模块控制下,用于从高像素摄像头模块获取含有多个条码的高像素图像,并根据解码子模块数量,采用聚类算法,将分割为多组的条码图像传输到解码模块;
显示模块,用于显示解码触发状态、解码信息。
进一步的,所述扫码器握持触发信号由扫码器左右两侧的薄膜压力传感器阵列产生,用于确定扫码器是否被握持。
进一步的,所述控制与通信模块运行两帧差分算法检测到连续两帧图像无变化时即产生系统解码需求触发信号,并触发高像素摄像头模块启动。
进一步的,所述解码子模块会利用扫码器从定位服务器所获取的条码旋转角度完成条码解码前的旋转。
进一步的,所述显示模块的解码信息包括对条码解码内容的显示和条码在目标图像中的相对位置的显示。
与现有技术相比,本发明具有以下有益效果:本发明的批量条码定位方法,连续获取慢速运动场景中的图像,进行识别预测,实现批量条码的准确定位。本发明的批量条码定位及识别系统在正式执行识别解码批量条码的内容之前,使用低像素摄像头模块获取含有目标条码的多张低像素图像,并通过无线通信模块快速将其传输至定位服务器;定位服务器利用获取的低像素图像,快速运行定位方法获取相关坐标位置及解码所需旋转角度;本发明同时也要采集高像素图像,通过高低像素目标图像的映射关系,进而快速获取目标高像素图像中批量条码的位置信息;这些相关位置处的批量条码会被快速传输至多个解码模块,结合解码所需的旋转角度,加速解码过程,用户体验极大提高。
附图说明
图1为本发明实施例中批量条码定位方法流程示意图。
图2(a)为本发明实施例形成轨迹过程中较先获取图像构成的数据结构图的示意图。
图2(b)为本发明实施例形成轨迹过程中较后获取图像构成的数据结构图的示意图。
图2(c)为本发明实施例形成轨迹过程中较先获取图像构成数据结构图以及较后获取图像构成数据结构图中节点匹配示意图。
图3为本发明实施例估算条码中心坐标的运动过程中,分别获取的连续三帧二维码图像以及分别获取其R、G、B通道叠加后的二维码图像的示意图。
图4为本发明实施例估算条码中心坐标的运动过程中,分别获取的连续三帧条形码图像以及分别获取其R、G、B通道叠加后的条形码图像的示意图。
图5为基于卷积神经网络构建深度学习框架示意图。
图6为本发明实施例中批量条码定位及识别系统结构示意图。
图7为本发明实施例中批量条码定位及识别系统的扫码器结构示意图。
图8(a)为本发明实施例中批量条码定位及识别系统的解码模块的一种实现方式结构图。
图8(b)为本发明实施例中批量条码定位及识别系统中高速数据分配模块和高像素摄像头模块的一种实现方式结构图。
图9为扫码器的示意图。
图10为本发明实施例中批量条码定位及识别系统的整体执行流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,一种批量条码定位方法,包括如下步骤:
步骤1:从慢速运动场景中连续获取三张图像,每张图像含有多个条码(条码包括条形码和二维码,多个条码存在以下情况:一是条形码和二维码,二是条形码或二维码)的图像,构成图像集;即所述图像可以含有多个二维码,或者含有多个条形码,或者多个条形码和二维码的混合。
需要说明的是:本实施例的场景指扫码场景,例如财务人员使用扫码器同时完成多张发票上的二维码的识别以验证发票真伪、仓库管理人员使用扫码器同时完成含有条形码的多个商品的入库;运动指的是扫码器在运动。本实施例转换为慢速运动场景(可以是1米/秒以内的运动速度)的问题,有三个原因:第一,高像素摄像头拍照时,要获取高质量条码图像是需要一定时间完成对焦的;第二,高像素图像物理存储空间占用大,没有低像素图像传输快;第三,在扫码器到达目标条码上方的过程中,由低像素摄像头获取的图像中的条码,由于扫码器的移动,获取的条码可能是无法解码的,但是深度学习技术可以检测出其中的条码坐标位置。
步骤2:依次使用目标检测方法对图像集中的所有条码进行定位,并获取定位信息所对应的矩形框和中心坐标;对条码进行定位的目标检测方法属于现有技术,实现目标检测方法采用能检测定位条码的深度学习网络构建,可根据系统对响应时间的需求选用YOLO、Faster RCNN、SSD等网络框架,所述定位信息框为矩形框。
需要说明的是:这里的目标检测方法如果使用深度学习的方法,那么其对应的数据集中的条码不仅仅是常规的正常可解码条码图像,还应该包括由于运动模糊而形成的无法解码的条码图像。
步骤3:若判定当前时刻产生了系统解码需求触发信号,按照步骤4继续执行;若判定当前时刻未产生系统解码需求触发信号,按照步骤6继续执行;
步骤4:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的中心坐标(cx,cy)、旋转角度θ;
步骤5:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小(lw,lh);
步骤6:更新图像集,返回步骤2继续执行。
作为其中一种实施例,所述步骤1中,所述图像为通过扫码器获取的低像素图像,用于对图像上的条码进行定位。通常低像素图像的分辨率较低,不具备解码功能,只是用于确定条码的坐标位置,所构成的图像所占存储空间很小,进而便于网络快速传输。
作为其中一种实施例,所述步骤4中包括以下过程:步骤41,根据步骤2中对图像集中三张图像所获取的信息,以图论进行关联形成每个条码的运动轨迹的最佳匹配;步骤42,利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标(cx,cy)、旋转角度θ。
其中,步骤41中以图论进行关联的过程包括:
将较先获取的图像中的所有n个条码对应的中心坐标集合U={u1,u2,…,un}构建为第一数据图,将较后获取的图像中的所有n个条码对应的中心坐标集合V={v1,v2,…,vn}构建为第二数据图,所述n为大于等于2的整数(n为1时可直接一对一关联),所述第一数据图和第二数据图均包括节点和连接节点的边,其中节点代表条码的中心坐标位置,边代表数据图中两个节点之间的距离;
将第一数据图和第二数据图中的节点进行匹配:分别计算第一数据图和第二数据图中各个节点与其同一数据图中周围其他节点的相对距离,按照相对距离由小到大的原则构造矩阵和其中fi(ux:uy)和fi(vx:vy)表示同一数据图中节点之间的距离,i∈(1,2,…,n-1)表示任意节点与周边节点共n-1个距离,x,y∈(1,2,…,n)且x≠y,通过每个节点与周围节点距离的固有关系,利用公式完成第一数据图和第二数据图中的节点匹配,其中Fi(u,v)表示第i种矩阵MatrixU与矩阵MatrixV中每两行进行匹配运算时的均方误差和,共有n!种匹配方式;当第一数据图和第二数据图中某个节点位于图结构中心,第一数据图和第二数据图均构成关于图结构中心节点的对称图时,将第一数据图的每个节点和第二数据图的任一节点进行匹配,获取多种匹配方式,分别计算多种匹配方式中第一数据图中每个节点到第二数据图中相匹配节点的距离,构造矩阵其中gi(ux;vy)表示两数据图中成对匹配节点的距离,i∈(1,2,…,n!)表示共n!种完全匹配方式,x,y∈(1,2,…,n),利用公式ε(u,v)=min(G1(u,v),G2(u,v),…,Gn!(u,v)),计算得到距离和最小的匹配方式为最佳匹配方式,其中Gi(u,v)表示矩阵MatrixG中第i行所代表的匹配节点距离的和,距离采用欧式距离进行计算。
一个具体实例中,将较先获取的图像记为第一张图像,将较后获取的图像记为第二张图像,如图2(a)所示,将第一张图像中的所有条码对应的中心坐标构建为一张数据结构图,其中节点ABCDEF代表条码的中心坐标位置,边代表两个节点之间的距离;
如图2(b)所示,在第二张图像中同样检测出所有的条码构成一张数据结构图,同样节点abcdef代表条码的中心坐标位置,边代表两个节点之间的距离。
轨迹匹配关联的核心在于,要使得第一数据图中的ABCDEF分别与第二数据图中的abcdef正确的关联,这里采用了两种匹配方法:第一,由于是扫码器运动,可以认为条码的相对位置是不变的,或者相对位置的变化是很小的,因此可以计算两张数据图中各个节点与其它节点的相对距离。但是当图2(a)图2(b)中的E和e节点位于图像中心,整体构成了对称图时会使得计算失效,所以还要采用第二种方法来进一步匹配;第二,如图2(c),分别计算第一数据图中的每个节点到第二数据图中的所有节点的距离,即A到abcdef的距离,以及BCDEF分别到abcdef的距离,此时,A节点可以和abcdef任一节点匹配并标记abcdef中被匹配的节点,B可以和abcdef中除标记节点以外的任一节点匹配,获取多种匹配关系,计算不同情况的匹配关系下第一数据图的节点到第二数据图对应的节点的总距离,使得总距离和最小时所对应的节点匹配关系即为最佳匹配关联。
另外,步骤42中利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标(cx,cy)、旋转角度θ的过程包括:
(1)构建预测中心坐标运动轨迹所需要的数据集
a.获取慢速运动场景中的含有批量条码的连续多帧图像,以1为步长依次构建包含四张图片的集合。
b.获取含有条码的连续四帧图像的集合,获取每个集合中的第一帧图像的R分量数据、第二帧图像的G分量数据、第三帧图像的B分量数据,并将该三帧图像中对应的目标条码按照绝对位置进行叠加,同时将第四帧图像中条码的中心坐标和对应的4个边角的坐标作为当前数据的标注,构建轨迹数据集;如图3所示从左到右为第一帧二维码图像、第二帧二维码图像、第三帧二维码图像、分别取三帧图像的RGB通道叠加后的二维码图像,如图4所示从左到右为第一帧条形码图像、第二帧条形码图像、第三帧条形码图像、分别取三帧图像的RGB通道叠加后的条形码图像;叠加图像对应的标注输出包括:目标分类、目标第四帧条码图像的中心坐标信息、目标第四帧条码图像的四个边角坐标信息。
(2)构建深度学习模型框架
如图5所示,基于卷积神经网络构建深度学习框架,以残差模块为核心,以softmax变换为输出,以l=CrossEntropyLoss()交叉熵损失函数作为每组坐标预测的损失函数,以五组交叉熵损失函数和为网络框架整体损失函数,并以所构建的数据集作为输入进行训练,获得可直接预测慢速运动场景中条码运动轨迹所对应的中心坐标和4个边角坐标的网络框架。
(3)估算条码中心坐标运动轨迹
基于构建的网络框架,分别以最佳匹配的连续三帧图像中各个条码的R、G、B通道叠加构成的图像为输入,预测输出第四帧图像中相应条码的中心坐标(cx,cy)和4个边角的坐标{(le_to_x,le_to_y),(le_bo_x,le_bo_y),(ri_to_x,ri_to_y),(ri_bo_x,ri_bo_y)};
作为其中一种实施例,所述步骤5中根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小(lw,lh)的方法为:
获取每个运动轨迹所对应的条码在图像集的三张图像中的每个定位信息矩形框的水平长度和垂直长度并对比每个定位信息矩形框的水平长度,利用公式估算下一时刻获取图像中条码的定位信息矩形框的水平长度,对比每个定位信息矩形框的垂直长度,利用公式估算下一时刻获取图像中条码的定位信息矩形框的垂直长度。
作为其中一种实施例,所述步骤6中,更新图像集的具体方法为:去除当前时刻所构成的图像集中的第一张图像,并在获得下一时刻含有多个条码的图像后,构成新的连续三张图像的图像集。
实施例2
如图6所示,一种批量条码识别系统,包括:
扫码器(批量条码扫码器),用于获取含有多个条码的图像,并与定位服务器通信,将含有多个条码的图像传输至定位服务器,并根据定位服务器返回的相关位置信息完成多个条码的解码;
定位服务器(批量条码定位服务器),用于执行实施例1中任一种批量条码定位方法的步骤,定位扫码器传输的图像中的多个条码的相关位置,并将这些位置信息返回给所述扫码器。
作为其中一种实施例,如图7所示,所述扫码器包括:
低像素摄像头模块,在扫码器握持触发信号产生之后会一直处于运行状态,用于产生含有多个条码的低像素图像,并传输至控制与通信模块;低像素摄像头模块产生的低像素图像占用较小的存储空间,便于网络快速传输,也便于服务器端快速执行定位算法完成条码的定位,同时,低像素摄像头模块产生的图像中的多个条码不需要具备解码能力,只需要确定相关位置信息即可;
高像素摄像头模块,用于产生含有多个条码的高像素图像,并传输至高速数据分配模块;高像素摄像头模块产生的高像素图像含有的多个条码,占用存储空间较大,且对数据传输速率有一定要求,因此该数据最后会传输至高速数据分配模块;
控制与通信模块,可以采用常规的FPGA内部逻辑单元构成,用于从低像素摄像头模块获取含有多个条码的低像素图像,运行两帧差分算法检测图像变化,并将变化图像传输至无线通信模块,用于从解码模块获取条码的解码信息,用于与高速数据分配模块和显示模块交互;
无线通信模块,用于将所述含有多个条码的低像素图像传输至定位服务器,并从所述定位服务器获取含有多个条码的低像素图像中每个条码的位置信息,并将该位置信息回传至控制与通信模块;该无线通信模块可根据应用场景中对系统响应时间的要求,结合低像素摄像头模块生成的图像的大小,采用WiFi、蓝牙、Zigbee等无线通信方式;
解码模块,用于对条码进行解码,解码模块既可以使用条码解码专用ASIC芯片构成,也可以使用通用MCU运行软件解码算法进行;
如图8(a)所示的实施方式,解码芯片采用PF5260芯片,采用三颗PF5260芯片,第一PF5260芯片分别连接BANK1和BANK8,第二PF5260芯片连接BANK8,第三PF5260芯片分别连接BANK8和BANK7;所有BANK都属于同一块FPGA芯片,管脚根据功能分配为不同BANK。
高速数据分配模块,在控制与通信模块控制下,用于从高像素摄像头模块获取含有多个条码的高像素图像,如图8(b)高速数据分配模块采用EP4CE6F17C8芯片从摄像头CAMERA获取图像,并根据解码子模块数量,采用聚类算法,将分割为多组的条码图像传输到解码模块;
显示模块,用于显示解码触发状态、解码信息。
本实施例的系统基于低像素图像快速运行批量条码定位方法获取相关位置信息;这些信息通过高低像素目标图像的映射关系,进而快速获取目标高像素图像中批量条码的相关位置信息;随后在高像素图像中利用这些相关位置信息快速完成解码,极大的增加了批量条码识别速度,极大提高用户体验。
作为其中一种实施例,如图9所示,所述扫码器握持触发信号由扫码器左右两侧的薄膜压力传感器阵列1产生,用于确定扫码器是否被使用者握持。
作为其中一种实施例,所述控制与通信模块运行两帧差分算法检测到连续两帧低像素图像无变化时即产生系统解码需求触发信号,该信号通过无线通信模块传输至定位服务器,进而控制定位算法中程序执行流程的变化,同时触发高像素摄像头模块启动。
作为其中一种实施例,所述解码子模块会利用扫码器从定位服务器所获取的条码旋转角度完成条码解码前的旋转。
作为其中一种实施例,所述显示模块的解码信息包括对条码解码内容的显示和条码在目标图像中的相对位置的显示。
如图10,对系统整体执行流程进行说明。
首先系统运行。
对于批量条码扫码器,其低像素摄像头模块在扫码器握持触发信号产生之后会一直处于运行状态,持续产生含有批量条码的低像素图像,这些图像会通过扫码器中运行的两帧差分算法进行变化检测。若检测到图像是变化的,则将其传输至批量条码定位服务器,由于传输的是低像素目标图像,固传输速度极快;若检测到图像是无变化的,则产生系统解码需求触发信号,在该信号被传输至批量条码定位服务器的同时启动高像素摄像头模块,用户在调整生成清晰高像素图像的同时,批量扫码器从批量条码定位服务器获取条码定位和解码所需相关信息,结合高低像素图像映射关系、条码数量、解码子模块数量,采用聚类算法,利用高速数据分配模块将分割成组的条码图像传输至解码子模块,解码子模块利用获取的条码旋转角度θ优化解码过程,更快速完成条码解析及其他工作。
对于批量条码定位服务器,从批量条码扫码器获取含有批量条码的低像素图像,并判定当前服务器是否已经连续获得三张含有批量条码的目标图像。在获得三张目标图像,构成图像集之后,通过接收来自批量扫码器上传的系统解码需求触发信号,运行批量条码定位方法,预测出下一时刻目标图像中批量条码的相关坐标位置和旋转角度等信息,并将其回传至批量扫码器端。
本发明利用低像素摄像头模块成像速度快、成像图像小的优势,实现了既可以通过低速无线通信模块也可以通过高速无线模块快速传输数据,满足大并发场景的性能需求,同时使得服务器端定位多个条码位置的运算速度极大提高。同时解码模块由多个解码子模块共同构成,结合服务器端回传的预先估算的多个条码的坐标位置和旋转角度等信息,并行对高像素摄像头模块获取的图像进行解码,可以使得解码速度成倍提高,进而完成批量条码的快速扫码。本发明的系统由较少的模块组成,利用合理的处理流程,兼顾了装置体积小与扫码速率快的优点。
最后应说明的是:以上各实施例仅仅为本发明的较优实施例用以说明本发明的技术方案,而非对其限制,当然更不是限制本发明的专利范围;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围;也就是说,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内;另外,将本发明的技术方案直接或间接的运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种批量条码定位方法,其特征在于,包括如下步骤:
步骤1:从慢速运动场景中连续获取目标图像,目标图像是含有批量条码的图像,并构成含有三张图像的图像集;
步骤2:依次使用目标检测方法对图像集中的所有条码进行定位,并获取定位信息所对应的矩形框和中心坐标;
步骤3:若判定当前时刻产生了系统解码需求触发信号,按照步骤4继续执行;若判定当前时刻未产生系统解码需求触发信号,按照步骤6继续执行;
步骤4:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的中心坐标、旋转角度;
步骤5:根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小;
步骤6:更新图像集,返回步骤2继续执行。
2.如权利要求1所述的批量条码定位方法,其特征在于,所述步骤1中,所述图像为通过扫码器获取的低像素图像,用于对图像上的条码进行定位。
3.如权利要求1所述的批量条码定位方法,其特征在于,所述步骤4包括以下过程:步骤41,根据步骤2中对图像集中三张图像所获取的信息,以图论进行关联形成每个条码的运动轨迹的最佳匹配;步骤42,利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标、旋转角度。
4.如权利要求3所述的批量条码定位方法,其特征在于,步骤41中以图论进行关联的过程包括:将较先获取的图像中的所有条码对应的中心坐标构建为第一数据图,将较后获取的图像中的所有条码对应的中心坐标构建为第二数据图,所述第一数据图和第二数据图均包括节点和连接节点的边,其中节点代表条码的中心坐标位置,边代表两个节点之间的距离;
将第一数据图和第二数据图中的节点进行匹配:分别计算第一数据图和第二数据图中各个节点与其周围其他节点的相对距离,通过每个节点与周围节点距离的固有关系,完成第一数据图和第二数据图中的节点匹配;当第一数据图和第二数据图中某个节点位于图结构中心,第一数据图和第二数据图均构成关于图结构中心节点的对称图时,将第一数据图的每个节点和第二数据图的任一节点进行匹配,获取多种匹配方式,分别计算多种匹配方式中第一数据图中每个节点到第二数据图中相匹配节点的距离和,距离和最小的匹配方式为最佳匹配方式。
5.如权利要求3所述的批量条码定位方法,其特征在于,步骤42中利用每个运动轨迹估算该轨迹中的条码在下一时刻所对应的中心坐标、旋转角度的过程包括:
(1)构建数据集:获取含有条码的连续四帧图像的集合,获取每个集合中的第一帧图像的R分量数据、第二帧图像的G分量数据、第三帧图像的B分量数据,并将该三帧图像中对应的目标条码按照绝对位置进行叠加,同时将第四帧图像中条码的中心坐标和对应的4个边角的坐标作为当前数据的标注,构建轨迹数据集;
(2)基于卷积神经网络构建深度学习框架,并以所构建的数据集作为输入进行训练,获得可预测慢速运动场景中条码运动轨迹所对应的中心坐标和4个边角的坐标的网络框架;
(3)基于构建的网络框架,分别以最佳匹配的连续三帧图像中各个条码的R、G、B通道叠加构成的图像为输入,预测输出第四帧图像中相应条码的中心坐标和4个边角的坐标,并计算旋转角度。
6.如权利要求1所述的批量条码定位方法,其特征在于,所述步骤5中根据步骤2中对图像集获取的信息,估算出下一时刻获取的图像中每个条码所对应的定位信息矩形框大小的方法为:
获取每个运动轨迹所对应的条码在图像集的三张图像中的每个定位信息矩形框的水平长度和垂直长度,并对比每个定位信息矩形框的水平长度,估算下一时刻获取图像中条码的定位信息矩形框的水平长度;对比每个定位信息矩形框的垂直长度,估算下一时刻获取图像中条码的定位信息矩形框的垂直长度。
7.如权利要求1所述的批量条码定位方法,其特征在于,所述步骤6中,更新图像集的具体方法为:去除当前时刻所构成的图像集中的第一张图像,并在获得下一时刻含有多个条码的图像后,构成新的连续三张图像的图像集。
8.一种批量条码识别系统,其特征在于,包括:
扫码器,用于获取含有多个条码的图像,并将多个条码的图像传输至定位服务器,并根据定位服务器返回的相关位置信息完成多个条码的解码;
定位服务器,用于执行本发明任一种批量条码定位方法的步骤,定位扫码器传输的图像中的多个条码的相关位置,并将这些位置信息返回给所述扫码器。
9.如权利要求8所述的批量条码识别系统,其特征在于,所述扫码器包括:
低像素摄像头模块,在扫码器握持触发信号产生之后会一直处于运行状态,并持续产生含有多个条码的低像素图像,并传输至控制与通信模块;
高像素摄像头模块,用于产生含有多个条码的高像素图像,并传输至高速数据分配模块;
控制与通信模块,用于从低像素摄像头模块获取含有多个条码的低像素图像,运行两帧差分算法检测图像变化,并将变化图像传输至无线通信模块,用于从无线通信模块获取相关坐标位置及解码所需旋转角度,用于从解码模块获取条码的解码信息,用于与高速数据分配模块和显示模块交互;
无线通信模块,用于将所述含有多个条码的低像素图像传输至定位服务器,并从所述定位服务器获取含有多个条码的低像素图像中每个条码的坐标位置及解码所需旋转角度,并将该信息回传至控制与通信模块;
解码模块,由多个解码子模块构成,具有数据存储功能,用于对条码进行解码;
高速数据分配模块,在控制与通信模块控制下,用于从高像素摄像头模块获取含有多个条码的高像素图像,并根据解码子模块数量,采用聚类算法,将分割为多组的条码图像传输到解码模块;
显示模块,用于显示解码触发状态、解码信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987007.2A CN112183148B (zh) | 2020-09-18 | 2020-09-18 | 一种批量条码定位方法及识别系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987007.2A CN112183148B (zh) | 2020-09-18 | 2020-09-18 | 一种批量条码定位方法及识别系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183148A true CN112183148A (zh) | 2021-01-05 |
CN112183148B CN112183148B (zh) | 2022-11-18 |
Family
ID=73955193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010987007.2A Active CN112183148B (zh) | 2020-09-18 | 2020-09-18 | 一种批量条码定位方法及识别系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112183148B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116776909A (zh) * | 2023-08-28 | 2023-09-19 | 四川星点网络技术有限公司 | 一种瓶盖二维码溯源系统 |
CN116882432A (zh) * | 2023-07-11 | 2023-10-13 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5686901A (en) * | 1995-10-10 | 1997-11-11 | Motorola, Inc. | System and method for queuing and batching messages for wireless transmission |
EP1014304A1 (en) * | 1998-12-23 | 2000-06-28 | Xerox Corporation | Method and apparatus for using rotatable templates within look-up tables to enhance image reproduction |
US20040062443A1 (en) * | 2002-10-01 | 2004-04-01 | Jonathan Yen | Extracting graphical bar codes from an input image |
JP2007335933A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体、画像処理装置 |
CN104298953A (zh) * | 2014-10-27 | 2015-01-21 | 苏州睿新捷信息科技有限公司 | 批量条码识别方法及系统 |
WO2018024024A1 (zh) * | 2016-08-01 | 2018-02-08 | 杭州海康威视数字技术股份有限公司 | 一种物流包裹图片处理方法、装置及系统 |
CN108229232A (zh) * | 2016-12-21 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 批量扫描二维码的方法和批量扫描二维码的装置 |
WO2019080818A1 (zh) * | 2017-10-23 | 2019-05-02 | 广东数相智能科技有限公司 | 一种基于条码识别的图书定位方法、电子设备及存储介质 |
CN110263594A (zh) * | 2019-06-25 | 2019-09-20 | 重庆三千一百科技发展股份有限公司 | 批量二维码识别方法 |
CN110347160A (zh) * | 2019-07-17 | 2019-10-18 | 武汉工程大学 | 一种基于双摄像头扫码的自动引导车及其导航方法 |
CN110399760A (zh) * | 2019-07-23 | 2019-11-01 | 广东工业大学 | 一种批量二维码定位方法、装置、电子设备及存储介质 |
CN110532826A (zh) * | 2019-08-21 | 2019-12-03 | 厦门壹普智慧科技有限公司 | 一种基于人工智能语义分割的条码识别装置与方法 |
CN110795955A (zh) * | 2019-07-30 | 2020-02-14 | 广东工业大学 | 一种快速识别多条码的系统及其方法 |
CN111008540A (zh) * | 2019-11-29 | 2020-04-14 | 联想(北京)有限公司 | 一种条码识别方法及设备、计算机存储介质 |
-
2020
- 2020-09-18 CN CN202010987007.2A patent/CN112183148B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5686901A (en) * | 1995-10-10 | 1997-11-11 | Motorola, Inc. | System and method for queuing and batching messages for wireless transmission |
EP1014304A1 (en) * | 1998-12-23 | 2000-06-28 | Xerox Corporation | Method and apparatus for using rotatable templates within look-up tables to enhance image reproduction |
US20040062443A1 (en) * | 2002-10-01 | 2004-04-01 | Jonathan Yen | Extracting graphical bar codes from an input image |
JP2007335933A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体、画像処理装置 |
CN104298953A (zh) * | 2014-10-27 | 2015-01-21 | 苏州睿新捷信息科技有限公司 | 批量条码识别方法及系统 |
WO2018024024A1 (zh) * | 2016-08-01 | 2018-02-08 | 杭州海康威视数字技术股份有限公司 | 一种物流包裹图片处理方法、装置及系统 |
CN108229232A (zh) * | 2016-12-21 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 批量扫描二维码的方法和批量扫描二维码的装置 |
WO2019080818A1 (zh) * | 2017-10-23 | 2019-05-02 | 广东数相智能科技有限公司 | 一种基于条码识别的图书定位方法、电子设备及存储介质 |
CN110263594A (zh) * | 2019-06-25 | 2019-09-20 | 重庆三千一百科技发展股份有限公司 | 批量二维码识别方法 |
CN110347160A (zh) * | 2019-07-17 | 2019-10-18 | 武汉工程大学 | 一种基于双摄像头扫码的自动引导车及其导航方法 |
CN110399760A (zh) * | 2019-07-23 | 2019-11-01 | 广东工业大学 | 一种批量二维码定位方法、装置、电子设备及存储介质 |
CN110795955A (zh) * | 2019-07-30 | 2020-02-14 | 广东工业大学 | 一种快速识别多条码的系统及其方法 |
CN110532826A (zh) * | 2019-08-21 | 2019-12-03 | 厦门壹普智慧科技有限公司 | 一种基于人工智能语义分割的条码识别装置与方法 |
CN111008540A (zh) * | 2019-11-29 | 2020-04-14 | 联想(北京)有限公司 | 一种条码识别方法及设备、计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
孔庆鑫等: "一种复杂背景下QR码校正方法", 《现代计算机》 * |
黎译繁: "《基于二维码识别的快递分拣系统》", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882432A (zh) * | 2023-07-11 | 2023-10-13 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
CN116882432B (zh) * | 2023-07-11 | 2024-03-22 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
CN116776909A (zh) * | 2023-08-28 | 2023-09-19 | 四川星点网络技术有限公司 | 一种瓶盖二维码溯源系统 |
CN116776909B (zh) * | 2023-08-28 | 2023-11-03 | 四川星点网络技术有限公司 | 一种瓶盖二维码溯源系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112183148B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hsu et al. | Ratio-and-scale-aware YOLO for pedestrian detection | |
Hsu et al. | Adaptive fusion of multi-scale YOLO for pedestrian detection | |
EP3857440A1 (en) | Method and apparatus for processing video stream | |
EP3499414B1 (en) | Lightweight 3d vision camera with intelligent segmentation engine for machine vision and auto identification | |
CN112036339B (zh) | 人脸检测的方法、装置和电子设备 | |
CN112446363A (zh) | 一种基于视频抽帧的图像拼接与去重方法及装置 | |
CN110827312B (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN112183148B (zh) | 一种批量条码定位方法及识别系统 | |
CN106845338B (zh) | 视频流中行人检测方法与系统 | |
CN107766864B (zh) | 提取特征的方法和装置、物体识别的方法和装置 | |
CN112201078B (zh) | 一种基于图神经网络的自动泊车停车位检测方法 | |
CN110889387A (zh) | 一种基于多轨迹匹配的实时动态手势识别方法 | |
CN112883955A (zh) | 货架布局检测方法、装置及计算机可读存储介质 | |
WO2017180261A1 (en) | Systems and methods for recognizing an object in an image | |
CN110490022A (zh) | 一种识别图片中的条形码方法及装置 | |
CN112330618B (zh) | 图像偏移检测方法、设备及存储介质 | |
Košcevic et al. | Automatic visual reading of meters using deep learning | |
CN111507119B (zh) | 标识码识别方法、装置、电子设备及计算机可读存储介质 | |
CN113763466A (zh) | 一种回环检测方法、装置、电子设备和存储介质 | |
CN116012675A (zh) | 一种模型训练方法、图像处理方法及电子设备 | |
US20220414375A1 (en) | Image cropping using depth information | |
US20220414374A1 (en) | Reducing a search space for item identification using machine learning | |
CN114898221A (zh) | 一种杆塔倾斜检测方法、装置、电子设备及介质 | |
Guo et al. | UDTIRI: An online open-source intelligent road inspection benchmark suite |
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 |