APP下载

雷管编码图像中的黏连字符分割

2019-11-26徐望明伍世虔

实验室研究与探索 2019年10期
关键词:雷管字符直方图

徐望明, 陈 光, 伍世虔, 尹 亮

(武汉科技大学 a.信息科学与工程学院; b.教育部冶金自动化与检测技术工程研究中心;c.机器人与智能系统研究院,武汉 430081)

0 引 言

图像处理技术近年来得以广泛应用,将与之紧密相关的工程实践项目引入到工程实践教育中,对培养学生工程实践能力及创新能力至关重要。本文以雷管编码图像识别项目中的黏连字符分割问题为案例,探讨运用图像处理技术来解决实际问题的方案。雷管编码识别项目来自有关部门对雷管使用的终端管控需求。雷管作为一种起爆材料,是国家严格管控的危险物品,一旦流失会危及人民生命及财产安全。为了有效管理雷管的生产及使用,国家有关部门规定每一发雷管在生产时其外壳表面都需印有独一无二的表征其身份的编码[1]。在雷管生产及日常爆破作业中,对雷管编码的记录大多还是采用人工识别和手工抄录的方式。这种传统的工作方式无法满足现代信息化作业的高效和便捷,并且人工抄录还会存在人为因素导致的错误,因此像光学字符识别及车牌识别[2-3]那样将图像处理技术应用在雷管编码自动识别系统中很有必要。

传统的光学字符识别[4-5]技术已经较为成熟,一般是对字符进行图像分割后再进行识别,其中字符分割[6-7]这一步尤为关键,字符分割效果的好坏直接影响着字符识别的准确率。针对字符分割算法人们已经进行了大量研究,其中常见的有:① 垂直投影法[8],对字符区域进行垂直投影,取投影直方图的谷点位置作为字符分割点,处理速度快;② 模板匹配法,将分割和识别结合起来,需要很高的识别准确性才能有效进行字符分割;③ 滴水分割算法[9-10],通过模拟水滴下落的路径对字符进行分割,能在一定程度上克服字符黏连问题;④ 连通区域标记法[11],对字符像素进行连通域标记,在字符倾斜、扭曲时仍能取得较好的分割效果。上述字符分割方法在传统光学字符分割中取得了不错的效果,但在面对复杂工业现实场景时对字符分割的效果并不理想。雷管壳采用金属材料制作,尺寸较小且表面呈圆弧形,因此雷管表面的编码字符不同于常规光学印刷字符和车牌字符,其字符笔划小、间隔近,笔划颜色与背景区分度较低且容易受磨损、划痕和锈迹等噪声干扰,极易出现二值化雷管编码图像中字符黏连的现象,这就导致许多传统的字符分割方法在雷管编码字符分割上无法取得实用的效果。

本文以雷管编码识别为案例,针对识别系统存在的二值化雷管编码图像中字符黏连难以分割的问题,提出了一种基于最优分割路径的黏连字符分割算法,并通过实验验证了其有效性。

1 雷管编码字符区域预处理

由于市面上大多金属雷管表面为深暗色且雷管编码是通过激光蚀刻或机械雕刻而成的,直接用相机拍摄的图像字符区域亮度较暗且对比度较低。因此,本文使用的雷管编码图像采集装置利用两个侧光源进行补光,并对采集到的图像使用限制对比度自适应直方图均衡化法(Contrast Limited Adaptive Histogram Equalization,CLAHE)[12-13]进行增强处理,再通过下式将其转换为单通道灰度图:

f(x,y)=0.299R(x,y)+0.587G(x,y)+

0.114B(x,y)

(1)

式中:R、G、B分别表示图像的红、绿、蓝通道;(x,y)表示图像像素坐标;f是得到的灰度图像。

采用自适应阈值法[14-15]对灰度图像进行二值化。为计算方便,每个像素点处的二值化阈值由高斯平滑响应自适应确定,像素点(x,y)处的高斯平滑响应为

f′(x,y)=w(x,y)⊙f(x,y)

(2)

式中:w(x,y)为一个m×n的高斯滤波器模板;⊙表示图像卷积运算。该点的二值化阈值为

T(x,y)=f′(x,y)+k

(3)

式中,k为计算阈值时的调节参数。本实验中,对于分辨率为1 080×240的输入雷管图像,高斯模板大小取为23×23,调节参数k=7。从而图像二值化结果为

(4)

2 雷管编码黏连字符分割算法

对二值化的雷管编码图像先利用连通域分析法确定单个字符区域和黏连字符区域。单个字符区域无需进一步分割,黏连字符区域需要进一步分割为单个字符区域。后者是本文要解决的主要问题,算法流程如图1所示。

图1 黏连字符分割算法流程

2.1 连通域标记及黏连字符区域提取

为提取雷管编码图像中的黏连编码字符,采用8连通域分析法对二值化图像进行连通域标记,并根据连通域最小外接矩形的宽度、高度及面积等先验条件滤除不符合字符结构特征的连通域。

黏连字符区域主要表现为其宽度明显要比单个标准字符的宽度大。然而,实际雷管可能来自不同生产厂家且其编码蚀刻方式也可能有差异,因此不同雷管编码单个字符宽度也可能不同,无法给定一个通用的字符标准宽度作为参考值,需要根据当前雷管图像估计出其中单个字符的参考宽度。具体方法为:

(1) 计算字符的平均宽度。

(5)

式中:k和wr分别为提取到的雷管编码字符连通区域个数以及相应第r个字符区域的宽度;分母13是雷管编码的总长度(根据我国工业雷管编码的基本规则,雷管编码由13位字符组成)。

进一步地,对以上提取到的所有字符连通区域,当区域宽度大于cW0时(本文实验中取c=1.4),判定该区域为黏连的字符区域;反之,判定其为单个字符区域。

如图2所示,是经以上连通域分析方法提取的雷管编码字符区域,其中包含部分黏连字符区域。

图2 通过连通域分析提取的字符区域(含黏连字符区域)示例

2.2 垂直投影及字符候选分割点检测

不难发现,仅仅使用垂直投影法或滴水分割法很难对上述提取的所有黏连字符区域进行有效分割。本文通过垂直投影不仅提取黏连字符垂直投影直方图,而且提取黏连编码字符的上边界位置和下边界位置,并综合这3种信息进行分析处理,检测出字符候选分割点。

如图3所示,从上到下依次为黏连编码字符的二值图、垂直投影直方图、上边界位置图和下边界位置图,其中为了后面统一使用局部谷底点信息检测候选分割点,下边界位置图的纵坐标等于字符高度减去下边界实际位置高度。由于笔划毛刺和不规则笔划容易产生无效的小谷底,在上述3种图中寻找谷底时,本文实验中设置当谷底附近左右峰高度与谷底高度相差小于0.1h(h为当前字符高度)时,将其视为无效谷底剔除,根据此规则找到的谷底点如图4(a)所示。

(a) 二值图

(b) 垂直投影直方图

(c) 上边界位置图

(d) 下边界位置图

图3 黏连字符二值图、垂直投影直方图和上下边界位置图

图4 从垂直投影直方图和上下边界位置图中寻找局部谷底点

可见,凹进去的位置(谷底)大多为黏连编码字符的分割点,但也会有例外情况发生,比如从图4(a)中可以看到,其中“0”“5”“6”等字符的垂直投影直方图中会在该字符宽度中间处出现谷底,但这些谷底并不是正确的分割点。

针对这个问题,本文结合垂直投影直方图和上下边界位置图,提取谷底的“穿越特性”和“距离特性”来判定找到的谷底是否为黏连字符候选分割点。如图5所示,谷底的“穿越特性”是指以该谷底点进行切分时,分割线穿越字符笔划的次数,用Cn表示;“距离特性”是指以该谷底点进行切分时,分割线与上、下边界交点间的距离,用Dv表示。设h为黏连字符的高度,则判定谷底点为黏连字符候选分割点的条件为:

Cn<3,Dv<0.8h

(6)

对于图4(a)中的谷底点,通过式(6)筛选后得到的候选分割点谷底如图4(b)所示,不难发现其中仍有部分谷底点不是正确的分割点。

图5 谷底点的距离特性和穿越特性示意图

2.3 双向分割路径生成及最优分割路径确定

为了进一步从以上候选分割点中确定真正有效的分割点,本文对所有候选分割点计算一个“可信度”。由于垂直投影直方图和上、下边界图中都有候选分割点,这里将某一候选分割点的可信度定义为该点出现的总次数,并在两个分割点距离很近(比如小于3个像素)时进行合并,合并后的候选分割点取为两者中心且可信度为两者可信度之和。得到所有候选分割点的可信度后,从黏连编码字符的左端向右端寻找,确定一组有效分割点,得到一条分割路径,再从黏连编码字符的右端向左端寻找,确定另一组有效分割点,得到另一条分割路径。选取有效分割点的规则为:

(1) 在距离起点[W0-d,W0+d]的范围内寻找有效分割点,W0为单个字符参考宽度,d为可容许误差参数,这里起点初始化为某一端点,之后为前一找到的有效分割点;

(2) 在[W0-d,W0+d]范围内,优先选取可信度大的候选分割点为有效分割点;

(3) 在[W0-d,W0+d]范围内存在多个可信度相等的候选分割点时,选取离该范围中心最近的候选分割点为有效分割点;

(4) 当前起点沿着寻找方向到字符区域终点的距离小于1.4W0,或在[W0-d,W0+d]范围内不存在候选分割点时,选取过程结束,沿着选取到的这组有效分割点进行字符分割即得一条分割路径。

对于前述黏连字符,分别沿两个方向寻找有效分割点得到两条分割路径,结果如图6所示。

(a) 左端往右端寻找得到的分割路径

(b) 右端往左端寻找得到的分割路径

显然,两者分割结果存在差异,这里通过计算分割路径的方差来确定黏连字符的最优分割路径。分割路径方差计算公式为

(7)

式中:n是沿该分割路径将黏连字符分割后得到的字符个数;Wdr是分割出来的第r个字符的宽度;W0是上文中求得的单个字符参考宽度。

分割路径方差S2值越小,代表该分割路径分割得到的字符宽度与单个字符参考宽度越接近,因此选取方差值较小的分割路径为黏连编码字符最优分割路径。

3 实验结果及分析

本文采集了700幅分辨率为1 080×240的金属雷管编码图像,从中提取出793个双字符黏连的样本和154个多字符(>2个)黏连的样本,分别采用常用的垂直投影分割算法、滴水分割算法和本文提出的算法对这些黏连字符样本进行分割。3种算法对黏连字符分割的正确率统计如表1所示。

表1 不同算法对黏连字符分割的正确率比较 %

另外,图7给出了部分雷管编码图像中字符分割效果对比图。图7(a)从上到下为4幅雷管编码图像,且其中检测到的黏连字符用红色框标记了(绿色标记的是单个字符);图7(b)是垂直投影分割算法效果图,下两幅图中有3处黏连字符分割错误;图7(c)滴水分割算法效果图,第1、2、4幅图像中黏连字符分割错误;图7(d)为本文算法的分割效果图,4幅图中的所有黏连字符均分割正确。

可见,对于现实工业场景中出现的雷管表面生锈、磨损和划痕等造成的不规则黏连字符进行分割时,常用的垂直投影分割算法和水滴分割算法分割效果较差,从而导致最终分割正确率相对较低,而本文算法能够很好的处理这些情况,取得较好分割效果和较高的分割正确率。

4 结 语

本文提出了一种基于最优分割路径的黏连字符分割方法。在图像预处理阶段,使用CLAHE算法对图像进行增强然后使用自适应局部阈值法对图像进行二值化。在此基础上,通过连通域分析法提取黏连字符区域,利用垂直投影不仅获得黏连字符的垂直投影直方图,而且同时得到其上边界位置图和下边界位置图,

(a) 检测到黏连字符的雷管编码图像(红色框)

(b) 垂直投影分割算法效果图

(c) 滴水分割算法效果图

(d) 本文算法分割效果图

并分别寻找这些图中的谷底,定义了“穿越特征”和“距离特性”来确定黏连字符候选分割点。接着优先选取可信度高的候选分割点作为有效分割点,分别从黏连编码字符的左端向右端、右端向左端依据有效分割点得到两条分割路径,最后计算两条分割路径的方差,取方差值较小的分割路径作为黏连字符的最优分割路径。通过实验研究验证了本文算法的有效性,尤其在分割由磨损、划痕和生锈等导致的黏连字符时优于常用的垂直投影分割算法和水滴分割算法。

本文运用图像处理技术来解决了一个实际工程实践项目中的具体问题,可作为图像处理课程相关的工程实践案例供学生参考学习。该案例通过解决工程实践问题将图像处理理论紧密联系实际,有利于提升学生的工程实践能力和创新能力。学生也可在此案例基础上对研究内容进一步拓展,比如研究更有效图像分割方法或完成整个雷管编码图像识别项目。

猜你喜欢

雷管字符直方图
符合差分隐私的流数据统计直方图发布
基于FPGA的直方图均衡图像增强算法设计及实现
低威力导爆管雷管在工程爆破中的优势探析
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
电子雷管在矿业工程爆破中的应用分析
用直方图控制画面影调
中考频数分布直方图题型展示