批量高速二维码视觉检测识别系统

2021-04-12 05:39李建刚黄诗浩郑启强周伯乐
应用光学 2021年2期
关键词:识别率蓝牙二维码

李建刚,黄诗浩,郑启强,杨 鑫,黄 靖,周伯乐

(1.福建工程学院 微电子技术研究中心,福建 福州 350100;2.福建工程学院 工业自动化福建省高校工程研究中心,福建 福州 350118;3.深圳市智致物联科技有限公司,广东 深圳 518116)

引言

二维码能够存储商品的生产数据,如制造日期、原产地等,具有信息容量大、译码可靠性高以及读取速度快等优点,广泛应用于工业、农业、生物医疗检测等领域[1-3]。准确识别二维码所包含的信息对商品数据的高效采集、分类、存储等具有重要的意义。传统识别二维码的方法是通过手持二维码扫描枪或智能手机进行识别,具有速度慢、效率低、误检及漏检等缺点。基于机器视觉的二维码识别具有自动化程度高、速度快等优点,在工业生产、生物检测等领域具有较大的应用价值。

基于机器视觉的二维码识别问题,主要的研究方向是针对不同的应用场景,通过数学算法提高二维码的识别效率。如为了实现复杂背景下二维条码区域的有效定位,文献[4]基于透视N点投影算法,借助李群和李代数之间的局部同构关系,对二维码进行定位识别,识别的稳定性和精确度都比较高,但未见识别时间方面的报道;文献[5]采用传统的Hough 变换纠偏,无法满足复杂背景下的二维码定位工作。文献[6]引入了机器学习和级联过滤的策略提高定位精度,但该方法处理的时间较长,不适用于批量识别检测。文献[7]结合曲面拟合和改进的自适应阈值法,分割图像,有效提升了二维码的识别效率。文献[8]提出一种基于二维码的符号特征寻找满足三层包围关系的连通区域图形,避免了变换校正不确定性等问题,从而达到对二维码的定位,提高识别速度。这些算法均针对特殊的应用场合,能够达到二维码的准确识别,但是引入的算法往往比较复杂,导致二维码的识码时间较长,不适合实时识别二维码的应用场合。

在噪声干扰下的二维码检测方面,文献[9]利用双边滤波消除图像中的背景噪声,提高二维码识别成功率。文献[10]采用图像预处理与中值滤波算法优化了传统二维码识别算法,但在识码速度方面略有不足。文献[11]提出一种基于稀疏表示和字典学习的自适应去噪算法,对每个图像块进行稀疏分解然后训练,能在滤除噪声的同时,保持图像的细节,提高了二维码的识别效率,但实时识别能力较差。文献[12]提出利用窗口系数的改进中值滤波方法,识别二维码,识别率达到100%。文献[13]通过改进的边缘检测方法,具有较强的抗噪声能力,但所消耗的时间随之增加。

综上,针对复杂环境下图像二维码的定位及去除噪声干扰方面,不同的算法可以提高二维码的识别率,但是复杂的算法往往以牺牲识别时间为代价。本文立足于工业实际项目,提出利用蓝牙芯片表面二维码在视场中的几何关系定位二维码感兴趣区域并批量处理识别二维码的方法。开发了基于机器视觉的二维码高速、批量识别系统,记录每个蓝牙芯片上的二维码信息,实现批量蓝牙芯片的快速识别并准确出库与入库,解决实际应用中存在的问题。

1 项目需求分析及系统设计

1.1 项目需求分析

本项目所要识别的二维码被贴在蓝牙芯片上,蓝牙芯片按10×10 的阵列排布于物料盘上,应用机器视觉检测技术识别物料盘中所有的二维码信息,记录每个蓝牙芯片的生产编号,实现批量蓝牙芯片的快速出入库。所设计的二维码识别系统方案如图1 所示,装满蓝牙芯片的物料盘放置在传送带上,当物料盘移动到相机视场时,相机采集图像并由自主开发的检测软件对图像中所有二维码进行识别,并标注出具体的码制正确、码制错误、漏贴以及无法识别的二维码等情况的位置。

图1 二维码识别系统原理图Fig.1 Schematic of two-dimensional code recognition system

本项目需求是快速、批量识别二维码,识别率达到99%以上,还需要考虑光反射等原因造成采集图像不清晰以及图像传感器因长期工作温度过高等原因引起的图像噪声问题。

1.2 批量二维码初定位

依靠目标检测等复杂的算法[14-15]实现二维码的目标定位存在着定位时间过长等缺点,不适用于本项目的实时检测识别二维码特点。本文根据项目自身的特点,设计了一种基于位置几何关系的二维码自动定位方法。其原理如图2 所示。首先通过模板匹配定位图像中物料盘上的两个标志点MP,得到物料盘与像素坐标原点PCO 的相对位置信息;其次根据标志点MP 的位置与每个蓝牙芯片的位置关系,定位每个蓝牙芯片的中心坐标位置,用(1)式和(2)式表示:

图2 芯片二维码自动定位示意图Fig.2 Schematic of automatic locating for two-dimensional code on chip

其中:m,n均为1 至10 内的正整数,m对应于本项目的100 个批量二维码的列数,n对应于行数; Δx、Δy分别为从像素坐标原点PCO 到标志点MP 的横、纵坐标的距离;w1、l1分别为标志点MP 到第1 个二维码横、纵坐标的距离,w2、l2为相邻两个二维码之间横、纵坐标的距离。以蓝牙芯片的中心位置自动生成100 个600×375 像素的蓝牙芯片感兴趣的区域(region of interest,ROI)。最后对每个区域的ROI 进行图像处理与二维码识别,并显示结果。该方法运用在二维码初定位这一步骤,相比于其他的图像定位方法,能节省更多的时间。值得说明的是被测蓝牙芯片必须都放置在物料盘的指定位置(凹槽),且自动生成的ROI 尺寸需设定的足够大。

1.3 噪声分析与图像处理

图像产生噪声的因素有:电路各元器件相互影响、图像传感器长期工作温度过高等,这些噪声主要来源于电子器件产生的热噪声[16-17],热噪声是典型的高斯白噪声。图像噪声如果不经过恰当的方法降低或去除,会给机器解码增加一定的难度,降低识别效率,但是许多图像去噪方法在降低噪声的同时,也使得图像边缘模糊了,导致机器无法正确解码,又或者是不恰当的图像去噪处理导致二维码识别时间过长,影响二维码的识别。

本系统在光源设计部分结合线阵相机的特点,通过多次实验调节光源位置消除了光反射对图像采集质量的影响。同时综合考虑了生产实际中可能产生的噪声对图像质量的影响,在实验的过程中,采用了人为添加高斯噪声对采集到的图像进行了仿真模拟。在识别二维码时首先把采集的彩色图像转化为灰度图像,然后对图像进行二值化处理,将二维码转换成黑白条码,进而转化为二进制信息;再根据二维码的编码规则进行译码和纠错。其工作流程如图3 所示。

图3 系统工作流程图Fig.3 Flow chart of image processing system

1) 获取图像:获取线阵相机采集到的图像;

2) 解码优化:创建二维码模板,设置二维码的极性、二维码码粒个数、二维码模型的类型参数,提高二维码的识别率;

3) 二维码初定位:根据模板匹配定位图像标志点(定位精度为0.704 mm),进而获取图像上的多个ROI 区域;

对于有较大思考价值和讨论空间的学习内容,学生分小组进行合作探究的方法是很好的选择。这样的教学方式把学习的主动权还给了学生,引发了学生主动学习的兴趣,他们在主动思考的过程中得到了更多收获。

4) 图像预处理:对ROI 进行图像预处理:灰度化、均值滤波、对比度增强、形态学分析,提取二维码图像,进一步提高二维码识别率;

5) ROI 循环检测:对每个ROI 进行逐一检测识别;

6) 二维码识别与精准定位:采用基于位置探测图形的方法[18-19],精准定位二维码,由二维码解析库,实现二维码信息识别,并显示二维码信息,框出二维码精准位置。

2 系统测试结果与分析

2.1 二维码检测结果

基于机器视觉的二维码高速批量识别系统,包括显示屏、工控机、工业相机、工业镜头、光源、步进电机、传送带、可移动平台和支架型材等部件。用于显示数据的显示屏是71.67 cm(21.5 寸)的AOC(admiral overseas corporation)智能显示屏,具有可壁挂特性,便于工业现场使用;工控机型号为研祥IPC-710ECO-1816,具有耐高温、防水、防尘等优势;工业镜头型号为Schneider Apo-Componon 4.0-60,像素尺寸为7.04 μm,适用大靶面线扫描相机;工业线扫描相机型号为DALSA LA-GM-08K08A,像素位深8 bit,可采集高速运动物体的图像,所选用的工业镜头与工业线阵相机都具有较强的抗噪声能力,因此去噪方法选用“均值滤波”去噪即可;光源采用长条形LED 灯,照射方向与相机采集方向一致,对高速运动的物体进行补光,获取物体清晰的图像。物料盘放置于可移动平台上,可移动平台固定于传送带上,由可调速步进电机驱动传送带,带动可移动平台移动,实现物体图像的采集。工控机CPU 型号i5-2400,主频3.10 GHz,8 GB 内存,在自主研发软件下进行,图4 是二维码识别系统实验平台。

图4 系统实验平台Fig.4 Experimental platform of system

使用该平台测试得到的一组典型的实验结果如图5 所示。线阵相机采集到图像后,经过二维码初定位、图像处理、二维码精准定位及解码后,将检测结果显示于工程界面。

分析图5 的结果,图中物料盘对角两个方框为定位物料盘的准确位置,区域A 是工程界面用于显示物料盘的检测结果。插图B、C 和D 分别表示机器识别得到的正确的二维码、码制错误的二维码和漏贴的二维码检测结果,其余物料盘中矩形框均代表二维码定位识别成功。

图5 批量识别结果显示Fig.5 Display for batch recognition

图6 单个二维码识别结果显示Fig.6 Display for single two-dimensional code recognition

2.2 系统抗噪声能力

实验采集1800 张蓝牙芯片图像,其中600 张为不添加高斯白噪声的图像,另外1200 张为噪声图像,分两份,每份600 张,分别添加方差0.08 和0.09 的高斯白噪声,每张二维码图像像素大小都为600×375。对1800 张图像进行检测,典型的结果如图7 所示,其中(a)、(b)和(c)为一组,代表无噪声情况下蓝牙芯片二维码的原始图像、定位结果和识别结果;(d)、(e)和(f)为一组,代表在噪声方差为0.08 情况下蓝牙芯片二维码的图像、定位结果和识别结果;(g)、(h)和(i)为一组,代表在噪声方差为0.09 情况下蓝牙芯片二维码的图像、定位结果和识别结果。实验结果显示对噪声方差小于0.09 的情况下,系统能稳定定位并准确识别到蓝牙芯片表面的二维码,当噪声方差大于0.09 时,检测过程算法不能稳定识别二维码。可知系统针对噪声方差小于0.09 的图片具有较强的抗噪能力。一般工业相机产生的噪声是人眼无法看到的,在实际检测识别过程中噪声不会超过方差0.09。定位到二维码图像后,本文采用基于位置探测图形的方法精准定位二维码,原理是定位二维码中的3 个顶点,该方法具有较强的抗噪声能力。

图7 典型图像定位以及检测结果Fig.7 Typical image locating and testing results

2.3 识别率与二维码运动速度的关系

系统采集到的图像是否变形失真,直接影响到基于位置探测图形的二维码定位以及后续的二维码识别。本文所采用的是线阵相机,与面阵相机采集图像的方法不同,其采集的图像成像质量会影响二维码的识别率,该线阵相机最大行频为13 kHz,此参数与线阵相机拍摄速度有关。由于生产线上的物料盘在可移动平台的牵引下处于高速运动的状态,因此物料盘上装载的芯片二维码运动速度与线阵相机的拍摄速度不匹配必然导致采集到的图像存在压缩和拉伸现象。本系统中,二维码的运动速度v与其他参数的关系如(3)式:

其中:n为步进电机的转数;k=0.4 为传动比;Ld为电机每转一圈驱动二维码的移动距离。通过调节步进电机转数进行多次实验,得到系统识别率与二维码运动速度的关系图,如图8 所示。

图8 系统二维码识别率与二维码移动速度关系Fig.8 Relationship between recognition rate and movement speed

由图8 可知,当二维码移动速度未达到267.18 mm/s 时,二维码未能移动到相机拍摄视场中,因此系统对二维码识别率为0;当速度达到267.18 mm/s~274.46 mm/s 范围内,系统开始检测到二维码,但是二维码运动速度慢于线阵相机的拍摄速度,导致图像压缩,部分二维码无法识别;当二维码移动速度达到274.46 mm/s~319.14 mm/s 范围内,系统能较好地检测二维码,该速度区间范围内,对应的图像质量由较小压缩到完整图像再到较小拉伸,该速度区间内,图像存在着较小的变形情况,但不影响系统对二维码的识别;继续加快二维码移动速度,速度在319.14 mm/s~325.82 mm/s 范围内,二维码运动速度比线阵相机拍摄速度快,导致图像存在拉伸现象,识别率开始下降;当二维码移动速度超过325.82 mm/s 后,线阵相机未能定位两个标志点,系统识别率为0。

通过上述分析,为了尽可能地降低图像变形情况,提高系统稳定性,本文折中选取头尾两个识别率为100%的速度平均值,即二维码移动速度为296.8 mm/s。计算机在二维码高速运行状态下,准确识别有无噪声二维码各594 张,无噪声情况下,没检测到的3 张二维码里,其中2 张是漏贴二维码,另外1 张是DM(data matrix)码,码制错误,每个二维码平均定位时间17.8 ms,识别率达到100%;噪声情况下,没检测到的6 张二维码里,其中3 张是漏贴二维码,另外3 张是贴DM 码,每个二维码平均定位时间21.3 ms,识别率达到100%。

2.4 不同算法对比

为了进一步评估系统的优越性,本文实验结果与目前其他二维码识别系统各项指标进行了对比,如表1 所示。

表1 不同算法数据对比Table 1 Comparison of data with different algorithms

从表1 可知,本文实验采集的二维码图片数量较多,能较好地反映系统算法的稳定性。文献[20]算法思想是初定位联合精准定位,而文献[21, 22]跳过初定位,直接精准定位二维码位置;文献[21]定位计算量大并且在旋转角度为0 的情况下识别时间最快达到52 ms,文献[22]采用二值化赋范梯度(BING)和自适应增强支持向量机(AdaBoost-SVM)算法对二维码进行识别,虽然在识别率及识别时间方面有明显的提高,但在工程应用领域其硬件成本较高。本文利用项目本身的特点,采用了几何定位与基于位置探测图形相结合的方法,因此大大缩短了识别时间。

3 结论

本文根据工业实际项目,设计了基于机器视觉的二维码高速批量识别系统。提出了基于位置几何关系的二维码自动定位方法,结合线阵相机图像采集质量和步进电机速率两者的关系,调试出系统二维码识别率最高的系数点,最终实现了对蓝牙芯片二维码的批量、快速识别,解决实际应用中存在的问题。结果显示,在无噪声图像中对每个二维码定位识别的平均时间为17.8 ms;在有噪声图像中对每个二维码定位识别的平均时间为21.3 ms,两种情况下的识别率均为100%,该系统满足实时在线检测需求。目前该系统已经应用于实际生产中,系统经过一段时间测试使用,客户公司反馈该系统识别率大约在99.7%。该数据符合预期目标,取得良好的检测效果,对提高芯片出入库生产线的自动化检测水平具有一定的参考价值。

猜你喜欢
识别率蓝牙二维码
可以吃的二维码
蓝牙音箱的直线之美
二维码
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
提升高速公路MTC二次抓拍车牌识别率方案研究
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
让严肃的二维码呆萌起来
紧急:蓝牙指尖陀螺自燃!安全隐患频出