谈复杂环境下快递条形码快速检测系统

谈复杂环境下快递条形码快速检测系统

摘要:目前快递条形码检测过程中采用的人工扫码方法效率低,深度学习识别方法需要大量训练数据集,图像处理方法泛化性能较差,并且难以适应复杂场景下的多目标、多角度条形码快速识别。针对上述问题,提出一种基于颜色和形状特征的条形码快速检测方法。首先对包含有多个任意角度放置的快递图像进行下采样和预处理,根据颜色分割和形状特征对图像进行一次检测,提取快递单候选区域,并通过仿射变换对其进行方向校正;然后对摆正后的快递单候选区域进行二次检测,根据颜色分割和形态学处理提取二维码候选区域,并用Zbar解码器对条形码进行解码,实现复杂环境下快递条形码的多目标快速检测。实验结果表明,所开发的条形码检测系统检测速度快、识别率高、抗干扰能力强,可有效检测复杂环境下的快递条形码。

关键词:条形码检测;阈值分割;轮廓检测;形态学处理;仿射变换;均衡化处理

0引言

随着物流运输行业的快速发展,快递件数量呈级数增长,市场对物流快递包裹的分拣效率和准确率提出了更高的要求。通过检测快递件上的条形码可以快速识别快递的各种信息,提高快递分拣的智能化水平[1]。目前条形码的检测方法主要有基于激光扫描的方法、基于图像处理的方法和基于深度学习的方法。基于激光扫描的方法是通过人工利用激光扫描装置识别条形码,这种方法识别准确率高,但效率较低[2-3]。基于图像处理的条形码识别方法是采用图像处理算法自动搜索条形码的位置、从图像中分割出条形码,然后按照条形码的解码方法识别出条形码的信息[4-5]。该方法提高了条形码的识别效率,而且条形码的识别过程不需要人工干预,实现了条形码识别的自动化[6-7]。基于深度学习的条形码识别方法主要是建立深度学习模型,利用大量样本对所建立模型的参数进行训练,利用训练好的模型进行条形码识别,该方法对环境变化有较好的适应性,但是对训练样本的要求较高[1,8]。目前的条形码检测方法中,基于深度学习的方法需要进行大量数据集的采集和标注,并且无法直接实现条形码区域提取之后的方向校正,还需进一步对检测结果进行图像处理,导致检测速度下降。基于图像处理的检测方法不需要采集大量数据集进行标注,但是泛化性较差,难以处理复杂场景下的多目标、多角度条形码区域快速提取。针对这些问题,本文提出一种基于颜色和形状特征的条形码快速检测方法,用于复杂环境下快递条形码的快速多目标检测。

1总体方案设计

快递条形码快速检测系统的总体结构如图1所示。系统主要包括视觉识别模块(相机)、辅助照明模块、主控模型、显示模块和存储模型。主控模块采用STM32控制相机拍摄图像,所拍摄的图像由主控系统按照识别算法进行条形码识别,并将识别后的信息通过USB接口传递给显示模块进行显示,通过存储模块进行检测报表生成和数据存储。照明模块采用LED照明,实现拍摄图像的辅助照明,用于提高图像的拍摄质量,提高条形码识别的速度和精度。

2条形码快速检测算法

本文提出的复杂环境下快递条形码检测算法的流程为:首先根据颜色和形状特征在原图中提取出大面积白色矩形区域作为快递单候选区域,获取该区域的最小外接矩形的位置和大小,通过仿射变换对候选区域进行方向校正,获取竖直或水平放置的快递单候选区域;再对这些候选区域进行黑色条形码的二次检测,定位最终的条形码区域,采用Zbar解码器对其进行解码,提取条形码的信息。算法的主要流程如图2所示。

2.1快递单候选区域定位

快递单候选区域的快速定位主要步骤如下:(1)将原图进行下采样;(2)对下采样之后的图像进行图像预处理,主要包含中值滤波、直方图均衡化;(3)使用Otsu分割算法对直方图均衡化后的图像进行二值化;(4)对二值化后的图进行膨胀和腐蚀操作;(5)进行轮廓检测与轮廓凸包面积计算以及面积排序,取前两大面积的10%作为面积阈值,过滤小面积区域;(6)获取候选区域的最小外接矩形,计算长宽比,过滤长条区域;(7)根据下采样次数,对过滤掉小面积区域和长条区域的快递候选区域的最小外接矩形位置及大小进行参数还原,获取候选区域在原图上的位置;(8)使用仿射变换,将含有角度信息的快递单候选区域进行提取和方向校正,获取竖直或水平放置的白色快递单区域。

2.2有限对比适应性直方图均衡化

由于快递包装的材质有所差异,光线对图像的拍摄质量影响较大。为了减小拍照过程中光线对图像质量的影响,采用有限对比适应性直方图均衡化(ContrastLimitedAdaptiveHistogramEqualization,CLAHE)方法对拍摄的图像进行均衡化处理[9-10]。对快递单图像进行直方图均衡化的结果如图3(a)所示。可以看出,直方图均衡化后改变了图像的对比度,突出了需要求取的白色快递单区域,但是图像阴影部分的颜色也加深了,这不利于后续的颜色分割。为了解决该问题,采用CLAHE方法将整幅图像分成8×8的子块,分别对每一个子块进行直方图均衡化,使每个子块的直方图集中在某一个小区域内,并且对每个小区域采用对比度限幅来克服噪声放大的问题。该方法需要对图像中每个像素计算邻域直方图及对应的变换函数,其算法计算量大、处理时间长。为了提高算法的执行速度,本文在CLAHE方法中使用双线性插值,在图像均衡质量几乎没有下降的前提下算法效率得到极大的提升。本文采用CLAHE方法均衡处理的效果如图3(b)所示。从图3可以看出,使用CLAHE方法均衡化处理后的图像中快递单区域受到的光照影响减小,快递单区域的灰度值得到均衡,增加了对比度,同时背景区域变化不大。

2.3基于颜色和形状特征的快递单候选区域识别

对预处理之后的图像进行形态学处理,通过多次腐蚀膨胀对图像进行去噪处理,使用开闭运算使快递单区域尽量完整且独立。对处理结果进行外轮廓提取,对每个轮廓进行凸包面积计算;按凸包面积大小对所有轮廓进行面积排序,取前两大面积的10%作为阈值过滤小面积区域;获取余下大面积区域的最小外接矩形参数,根据最小外接矩形的长宽比,过滤长条区域。处理过程如图4所示,可以看出该方法能精确地提取快递单所在位置。

2.4快递单候选区方向校正

由于快递放置的随机性,提取到的条形码区域通常具有随机的角度。为了高效提取条形码,需要对其进行方向校正处理,即将快递单调整到正向放置。采用仿射变换(AffineTransform,AT)进行快递单方向的校正处理。AT是一种二维仿射变换,也是一种二维坐标之间的线性变换。AT保持二维图形的“平直性”(即变换后直线还是直线,圆弧还是圆弧)和“平行性”(保持二维图形间的相对位置关系不变,平行线还是平行线)。AT可以通过一系列平移、缩放、翻转、旋转和错切等基本变换的复合来实现。AT在向量空间中进行一次线性变换(乘以一个矩阵A)并加上一个平移(加上一个向量B),变换为另一个向量空间的过程[11-12]。M通常使用2×3的矩阵来表示仿射变换。只要知道3个点仿射变换前后的坐标,就可以计算出转换矩阵M。利用M就可以将图像变换为新的图像。设变换前一个点的坐标为(x,y),变换后坐标为(x',y'),则可用下式计算该点新的坐标:

2.5条形码区域二次定位

在获取经过方向校正的快递候选区域后,再进行一次基于颜色和形状特征的条形码区域提取。取面积最大的区域作为条形码候选区域,对候选区域用Zbar库进行解码,若解码成功,则在快递图像上框选出条形码区域,并输出解码后的数字;若解码失败,则进入剩余的条形码候选区进行解码识别,直到判断完所有候选区域。条形码区域的提取过程如图6所示。

3条形码识别结果与分析

通过将多个快递单随机放置,利用所开发的系统对多个条形码进行识别实验。拍摄的图像如图7所示。可以看出,本文方法能够快速定位到白色的快递单候选区域,并对其进行方向校正;随后进行条形码区域二次定位,并提取出各个条形码;最后将识别出的信息显示在条形码框下,并存储识别信息。识别得到结果如图8所示。

4结语

本文提出了一种基于图像处理的复杂环境下的快递条形码多目标检测方法,开发了条形码快速检测系统。通过实验证明该方法能够有效减小复杂背景给条形码区域带来的影响,能够快速定位所有条形码区域,并进行方向校正和解码;还可以有效提升快递分拣信息管理效率和智能化水平。

作者:王建锋 董学恒 李军 单位:长安大学  道路交通智能检测实验室 陕西省道路交通智能检测与装备工程技术研究中心 陕西硕轩信息科技有限公司