一种二维码检测系统及方法与流程

文档序号:18741655发布日期:2019-09-21 01:50阅读:404来源:国知局
一种二维码检测系统及方法与流程

本发明涉及二维码检测领域,更具体的说,涉及一种二维码检测系统及方法。



背景技术:

全自动印刷品质量检测系统是一种基于视觉在线的检测系统,大多数通过摄像机在线扫描印品图像,然后送至内存通过图像处理软件处理,结果与标准数据比较,找出两者之间的差异并分析产生误差原因,进而重新设计参数,更好的提高印刷质量。

印刷品的依托物为二维码,快速准确的定位和识别二维码成为印刷质量检测的首要任务。目前可以使用GPU和CPU进行二维码的定位及识别,但是CPU作为通用计算机的处理核心,必须具备处理各式各样千奇百怪的指令要求的能力,并且因为要处理来自多个设备的请求,它必须拥有随时中止目前的运算转而进行其他运算,完成后再从中断点继续当前运算的能力。所以CPU的通用能力增强而计算效率就会减弱。而GPU虽然精通于大量的重复运算,但是功耗很大。



技术实现要素:

有鉴于此,本发明提供一种二维码检测系统及方法,以解决在进行二维码的定位及识别时,CPU的计算效率较低以及GPU的功耗较大的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种二维码检测系统,包括:

二维码定位模块,用于依据传送二维码的设备的运动速度,来确定出所述二维码的运动距离,依据所述运动距离,定位出所述二维码所在的位置;

二维码采集模块,用于依据所述二维码所在的位置,采集所述位置的图像;

现场可编程逻辑门阵列FPGA芯片,用于从所述图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。

优选地,所述FPGA芯片用于从所述图像中检测得到二维码时,具体用于:

提取所述图像中的二维码定位信息;

将所述图像拆分为多个建议窗口;

对所述二维码定位信息进行卷积操作;其中,将所述建议窗口映射到最后一卷积层;

将经过卷积操作后的数据进行池化操作,以从所述图像中定位到二维码位置和位于所述二维码中的福码的位置。

优选地,所述FPGA芯片用于对所述二维码进行二维码识别,得到二维码的具体内容时,具体用于:

依据定位到的二维码位置,对所述二维码进行识别,得到二维码信息;

依据定位到的福码的位置,对所述福码进行识别,得到福码信息;

将所述二维码信息和所述福码信息汇总得到所述二维码的具体内容。

优选地,所述FPGA芯片用于依据定位到的福码的位置,对所述福码进行识别,得到福码信息时,具体用于:

依据定位到的所述福码的位置,从所述图像中提取出所述福码;

对提取出的所述福码进行识别,得到所述福码信息。

优选地,还包括二维码剔除模块;

所述FPGA芯片,还用于将所述二维码的具体内容与预设二维码内容作比较,若不一致,发出二维码剔除指令至所述二维码剔除模块;

所述二维码剔除模块,用于对所述二维码执行废品剔除操作。

优选地,所述二维码采集模块包括多个摄像单元;

每一所述摄像单元,用于同步或异步依据不同的所述二维码所在的位置,采集每一所述位置的图像。

优选地,所述FPGA芯片用于从所述图像中检测得到二维码之前,还用于:

对所述图像进行图像预处理操作;所述图像预处理操作包括图像格式转换和图像压缩中的至少一种。

一种二维码检测方法,应用于上述的FPGA芯片,所述二维码检测方法包括:

从二维码采集模块采集的图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。

优选地,所述从二维码采集模块采集的图像中检测得到二维码,包括:

提取所述图像中的二维码定位信息;

将所述图像拆分为多个建议窗口;

对所述二维码定位信息进行卷积操作;其中,将所述建议窗口映射到最后一卷积层;

将经过卷积操作后的数据进行池化操作,以从所述图像中定位到二维码位置和位于所述二维码中的福码的位置。

优选地,所述对所述二维码进行二维码识别,得到二维码的具体内容,包括:

依据定位到的二维码位置,对所述二维码进行识别,得到二维码信息;

依据定位到的福码的位置,对所述福码进行识别,得到福码信息;

将所述二维码信息和所述福码信息汇总得到所述二维码的具体内容。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种二维码检测系统及方法,本发明中使用FPGA芯片从所述图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。由于FPGA芯片属于硬件,在运行简单且重复性高的任务时,FPGA计算能力很强。并且,FPGA的编程和优化都是直接在硬件层面进行,能耗会低很多。即通过使用FPGA芯片进行二维码定位和识别,能够降低能耗和提高计算效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种二维码检测系统的结构示意图;

图2为本发明实施例提供的另一种二维码检测系统的结构示意图;

图3为本发明实施例提供的一种应用于二维码检测系统的二维码定位方法的方法流程图;

图4为本发明实施例提供的又一种应用于二维码检测系统的二维码定位方法的方法流程图;

图5为本发明实施例提供的再一种应用于二维码检测系统的二维码定位方法的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前可以使用GPU和CPU进行二维码的定位及识别,但是CPU作为通用计算机的处理核心,必须具备处理各式各样千奇百怪的指令要求的能力,并且因为要处理来自多个设备的请求,它必须拥有随时中止目前的运算转而进行其他运算,完成后再从中断点继续当前运算的能力。所以CPU的通用能力增强而计算效率就会减弱。而GPU虽然精通于大量的重复运算,但是功耗很大。基于此,提出了本发明实施例。

具体的,本发明实施例提供了一种二维码检测系统,该二维码检测系统用于对二维码定位和识别。参照图1,二维码检测系统可以包括:

二维码定位模块101,用于依据传送二维码的设备的运动速度,来确定出所述二维码的运动距离,依据所述运动距离,定位出所述二维码所在的位置;

二维码采集模块103,用于依据所述二维码所在的位置,采集所述位置的图像;

现场可编程逻辑门阵列FPGA芯片102,用于从所述图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。

其中,二维码定位模块101包括增量编码器和传感器,增量编码器转动轮周长204mm,脉冲为2500个,每个脉冲为0.082mm,脉冲代表了平台运动速度。传送二维码的平台运行后通过传感器计算脉冲个数,来判断运行距离,进而判断二维码所在区域,可以锁定图像采集位置。

二维码采集模块103可以包括多个摄像单元;

每一所述摄像单元,用于同步或异步依据不同的所述二维码所在的位置,采集每一所述位置的图像。摄像单元采集的图像包括完整的二维码。

具体的,摄像单元可以是多目摄像头,支持1-8个互补金属氧化物半导体CMOS摄像头,FPGA芯片102中的图像采集模块1021根据图像采集位置触发CMOS摄像头同步或者异步采集图像,并分别通过千兆网口与FPGA芯片102中的图像采集模块1022相连,图像采集模块1021将大量图像送至FPGA芯片102中的图像处理模块1022。

需要说明的是,通过FPGA编程,可以更改FPGA的每个单元的运算逻辑和单元之间的连接方式,这种架构使得FPGA计算能力很强,尤其是在运行简单且重复性高的任务。同时FPGA的编程和优化都是直接在硬件层面进行,能耗会低很多,所以这种硬件使得深度神经网络的训练时间很适宜。

图像处理模块1022获取到大量的图像之后,对所述图像进行图像预处理操作;所述图像预处理操作包括图像格式转换和图像压缩中的至少一种。

图像处理模块1022对图像进行图像预处理操作之后,将图像输出至二维码检测模块1023,二维码检测模块1023用于对图像中的二维码进行定位,然后输出至二维码识别模块1024,得到二维码识别结果,通过结果输出模块1025输出。

可选的,在本实施例的基础上,参照图2,还包括二维码剔除模块104;

所述FPGA芯片102,还用于将所述二维码的具体内容与预设二维码内容作比较,若不一致,发出二维码剔除指令至所述二维码剔除模块104;

所述二维码剔除模块104,用于对所述二维码执行废品剔除操作。

具体的,本实施例中设定了二维码剔除模块104,用于对不合格的二维码执行剔除操作,FPGA芯片102于将所述二维码的具体内容与预设二维码内容作比较,若不一致,则通知二维码剔除模块104执行废品剔除操作。其中,预设二维码内容是该二维码对应的正确的二维码内容。废品剔除操作可以是使用剔废装置剔除废品,如扫码机扫描上错误二字,或者吹风机把不合格的二维码吹送至废品区,并且同时报警灯报警。

二维码检测系统使用供电模块105为二维码采集模块103、FPGA芯片102、二维码定位模块101和二维码剔除模块104供电。

本实施例中使用FPGA芯片102从所述图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。由于FPGA芯片102属于硬件,在运行简单且重复性高的任务时,FPGA计算能力很强。并且,FPGA的编程和优化都是直接在硬件层面进行,能耗会低很多。即通过使用FPGA芯片102进行二维码定位和识别,能够降低能耗和提高计算效率。并且,在印刷机高速运行中,采用FPGA触发多目摄像头采集图像,能够保证无漏采和无漏剔。

可选的,在上述任一实施例的基础上,参照图3,所述FPGA芯片102用于从所述图像中检测得到二维码时,具体用于:

S11、提取所述图像中的二维码定位信息。

具体的,二维码的四个边角中,有三个角设置有定位信息,从图像中提取出该特征,并作为深度学习模型,如卷积神经网络的输入。

其中,卷积神经网络的构建过程包括:

1、首先了解图像定位的指标;

指标分别包括:

1)单图运算的推理时间;

2)单图像运算内存占用量;

3)单图图像的时间消耗;

4)多图并行处理的时间消耗;

5)运算量与推理时间之间存在近似线性关系。

2、搭建深度学习框架,具体包括:

一,安装基础库

二,安装统一计算设备架构Cuda;

三,安装某些依赖库如opencv boost Cudnn

四,安装卷积神经网络框架Caffe。

3、样本制作、标记、预处理,配置网络参数和训练。

具体的,以ZFnet为网络结构构造分类器,正向输入图片数据,通过计算交叉嫡Softmax函数计算各类的概率,根据标定类,正向最大化某一图片所在的类的似然概率可能过推导,通过反向计算后一层对前一层进行梯度求导和由此得出模型各层的最佳权重。

在得到深度学习模型,如卷积神经网络之后,将提取的所述图像中的二维码定位信息输出卷积神经网络即可。

S12、将所述图像拆分为多个建议窗口。

S13、对所述二维码定位信息进行卷积操作;其中,将所述建议窗口映射到最后一卷积层。

用RPN(RegionProposal Network)生成建议窗口(proposals),每张图像生成N个建议窗口。

具体的,运用RPN把一张图像分解成大量的建议窗口,每个建议窗口拉伸形成的图像都会单独通过卷积神经网络CNN提取特征,实际上建议窗口会大量重叠,所以只在最后的卷积层feature map上,加入建议窗口,使得在此之前的CNN运算得以共享,使建议窗口数量大大减少,质量也有本质的提高。

S14、将经过卷积操作后的数据进行池化操作,以从所述图像中定位到二维码位置和位于所述二维码中的福码的位置。

其中,二维码图像中包括福码,通过本实施例可以同时识别到二维码和福码的位置。福码是一种改良的二维码,具有防复制和无边界的特性。

具体的,通过池化层RoI pooling层使每个RoI生成固定尺寸的特征映射feature map。利用Softmax Loss(探测分类概率)和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合预测,进而可以定位到二维码位置和位于所述二维码中的福码的位置,以及定位成功的概率。

可选的,在本实施例的基础上,参照图4,所述FPGA芯片102用于对所述二维码进行二维码识别,得到二维码的具体内容时,具体用于:

S21、依据定位到的二维码位置,对所述二维码进行识别,得到二维码信息;

S22、依据定位到的福码的位置,对所述福码进行识别,得到福码信息;

S23、将所述二维码信息和所述福码信息汇总得到所述二维码的具体内容。

可选的,在本实施例的基础上,所述FPGA芯片102用于依据定位到的福码的位置,对所述福码进行识别,得到福码信息时,具体用于:

S31、依据定位到的所述福码的位置,从所述图像中提取出所述福码;

S32、对提取出的所述福码进行识别,得到所述福码信息。

二维码识别模块1024可根据二维码检测模块1023获得的码位置并根据码类别调用相应码的识读算法进行解码,获得码值传递到下一结果输出模块1025。

具体的,根据二维码检测模块1023获得的码位置,提取相应的图像数据,对图像数据进行灰度化、图像增强、二值化等必要的图像处理,然后根据码类别调用相应的识读算法,进行解码,即二维码识别采用二维码识别算法,福码识别采用福码识别算法,识别得到结果后,将结果传输给结果输出模块1025。

本实施例,采用深度学习模型实现图像中二维码的定位和福码的定位,提高了定位效率。另外,对二维码和福码采用不同的识别算法识别,能够快速定位多种类型的码制。并且提高识别准确率和效率。

可选的,在上述二维码检测系统的实施例的基础上,本发明的另一实施例提供了一种二维码检测方法,应用于上述的FPGA芯片,所述二维码检测方法包括:

从二维码采集模块采集的图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。

进一步,所述从二维码采集模块采集的图像中检测得到二维码,包括:

提取所述图像中的二维码定位信息;

将所述图像拆分为多个建议窗口;

对所述二维码定位信息进行卷积操作;其中,将所述建议窗口映射到最后一卷积层;

将经过卷积操作后的数据进行池化操作,以从所述图像中定位到二维码位置和位于所述二维码中的福码的位置。

进一步,所述对所述二维码进行二维码识别,得到二维码的具体内容,包括:

依据定位到的二维码位置,对所述二维码进行识别,得到二维码信息;

依据定位到的福码的位置,对所述福码进行识别,得到福码信息;

将所述二维码信息和所述福码信息汇总得到所述二维码的具体内容。

进一步,依据定位到的福码的位置,对所述福码进行识别,得到福码信息,包括:

依据定位到的所述福码的位置,从所述图像中提取出所述福码;

对提取出的所述福码进行识别,得到所述福码信息。

本实施例中使用FPGA芯片102从所述图像中检测得到二维码,并对所述二维码进行二维码识别,得到二维码的具体内容。由于FPGA芯片102属于硬件,在运行简单且重复性高的任务时,FPGA计算能力很强。并且,FPGA的编程和优化都是直接在硬件层面进行,能耗会低很多。即通过使用FPGA芯片102进行二维码定位和识别,能够降低能耗和提高计算效率。并且,在印刷机高速运行中,采用FPGA触发多目摄像头采集图像,能够保证无漏采和无漏剔。

需要说明的是,本实施例中FPGA的工作过程,请参照上述实施例中的相应说明,在此不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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