《武汉工程大学学报》  2012年06期 65-68   出版日期:2012-06-30   ISSN:1674-2869   CN:42-1779/TQ
复杂光照条件下钢坯字符检测方法


0引言  字符区域能否正确的检测出来是钢坯字符识别系统中十分关键的一步[1].在生产线上,由CCD相机得到的图像中包含了许多信息,如图1所示.定位检测就是将钢坯断面字符区域从图片中切割出来.与普通字符检测不同的是,钢坯字符目标是动目标,位置的不确定性使得很难固定窗口大小.同时,环境的多变性也让目标检测变得十分复杂.图1复杂光照条件下的钢坯图像
Fig.1Complex illumination of billet image  常用的字符检测方法有许多种,其中比较好的方法有:1字符边缘的检测提取[2-5];2水平灰度变化特征[6];3神经网络[7-10];4彩色分割[11-14]等.上述方案中,方案1的边缘检测可以快速的处理图像,不过会遗漏很多细节部分的信息;方案2很难适应复杂场景变化的图像,几乎很难提取字符信息;方案3的计算时间长,数据量大满足不了实时性的要求;方案4对于颜色比较接近的钢坯字符而言(对比度低的图像),很难做到统一、有效地提取字符.  视频内容分析的最终目标是捕获兴趣区域的描述证据,这些描述证据依照人类视觉系统的分析,尽可能的表达出目标特征.针对在复杂场景中检测出目标区域这一问题,采用多次分割方法分割图像,并通过有效的聚类和投影特性来自适应区分兴趣区域和非兴趣区域.1多次最大类间方差分割方法  最大类间方差算法的目标是在直方图中寻找图像的最佳分割阈值[15-16].当类间方差最大时,此时的阈值便为最佳阈值,即可最大化的区分背景与前景.最大类间方差算法和直方图有着密切的关系,直方图的分布形式会影响它的计算.当处理场景复杂图像时,图像的直方图信息就不会出现“双峰”的情况,即背景与前景信息有明显的区分.此时,会出现多个波峰交替出现的情况,根据原有方法的计算,得出的阈值会偏向于较大波峰处,从而存在较大差异.以下提出的基于多次最大类间方差分割方法可以避免这一现象,较好的完成分割任务.其原理是多次利用最大类间方差分割方法,对于每次小于阈值门限的像素置0,直到判断出分割图像中包含字符信息.  可以看出,多次分割的终止条件是整个分割方法的核心.在复杂场景下的钢坯端面字符检测中,由于现场环境干扰,使用一般的多级分割无法检测出字符区域.因此对多级分割算法加入聚类连通域的方法去噪,改进算法如下:  (1)计算最大类间方差得出最佳阈值,小于阈值门限的像素置0,大于则保留原像素不变.然后用聚类连通域的方法对分割后的二值图做连通域标记,同时统计各个连通域面积、宽度和高度.为避免复杂光照造成的影响,根据先验知识,将连通域个体宽度或者高度过大的连通域点集灰度置为0.由此得到新的灰度图像(S1).  (2)判断是否满足多级分割的终止条件,如果不满足将S1返回步骤1,直到满足多级分割终止条件为止.2钢号字符提取2.1钢坯端面有无字符判定  根据钢厂需要,钢坯两个端面只有一端有字符,而钢坯在生产线上的位置是不确定的,所以由相机得到的钢坯图像有可能是包含字符的钢坯端面,也有可能呈现无字符端面.上述提出的改进最大类间方差分割算法对图像进行多级分割,粗略统计图像可能存在的字符兴趣区域个数.由实验对比发现,钢坯空白端面有的会呈现出凸凹不平,造成伪字符目标区域个数较多的情况(数量大于5);有的空白端面因为比较平整,字符目标区域个数较少(1个字符目标区域)甚至没有.而由先验知识已知,待识别的钢坯端面上字符分两行(钢坯号和钢种号),由此判定过多或者过少字符目标区域的钢坯端面为无字符端面.2.2钢坯端面垂直字符的判断  由于生产线上钢坯位置不固定性,CCD照相机得到的钢坯字符图像往往存在90°旋转问题,这会影响钢坯的端面字符识别.  对于钢坯90°端面图像旋转校正的具体步骤如下:  (1) 使用多级分割方法得到每一级的二值分割图;  (2) 统计水平方向上所有255像素点总数(totalrow),同时统计水平方向上255像素点的行数(countrow),计算出水平方向上的平均255像素数量(Averagerow),即: A1=totalrow/countrow;  (3) 统计垂直方向上所有255像素点总数(totalcol),同时统计垂直方向上255像素点的列数(countcol),计算出垂直方向上的平均255像素数量(Averagecol),即:A2=totalcol/countcol;  (4)在水平方向和垂直方向上比较平均255像素数量的大小.当水平方向上的平均255像素数量小于垂直方向上的255像素数量时,此二值图需要90°顺时针旋转,在得到旋转获得的新二值图后再进行后续字符识别处理;反之,此二值图无需旋转,可直接进入后续字符识别处理.2.3钢坯字符定位  当背景复杂时,此时所需要的最佳阈值和最大类间方差便有可能失去直接联系,即在直方图上,背景的像素概率密度掩盖了目标区域的像素概率密度,使最大类间方差算法失效.所以分割图像前需要通过图像平滑的方法,保证目标区域信息不减弱的同时有效的简化图像,确保了最大类间方差算法的可行性.  上述采用多次最大类间方差的方式,多次循环寻找最佳阈值,终止条件为判断是否满足水平/垂直聚类条件.终止条件的设定是能否找到最佳阈值的关键因素.在所获得的最佳二值图像中,钢坯字符区域的连通域会排列成线性趋势,如图2所示的方框区域,把这种和水平线角度偏差不大的归结为水平聚类,同理可归纳垂直聚类,聚类这些大小,左右间距相近的连通域数组(number(x)),通过比较(number(x))选出最佳值,就可以完成分割与定位.第6期洪汉玉,等:复杂光照条件下钢坯字符检测方法
武汉工程大学学报第34卷
图2最佳阈值的二值图
Fig.2Binary image with optimal threshold具体聚类步骤为:  (1)对第一次最大类间方差分割的二值图像进行区域合并,记录连通域的几何、位置、像素属性,并标记为0;  (2)依次使标记为0的连通域作为模版,对图像进行排序扫描(以绝对距离最小为排序准则),如果连通域的几何、位置、像素属性与模版相比在规定范围内,聚类此连通域,使number(x)加1,并使其标记为1,然后更新模版,继续循环(2)步;  (3)以聚类连通域数组为原则,把number(x)≥4的集合进行排序,使最大数组number(x)赋值给number1;  (4)对第二次最大类间方差分割的二值图进行步骤(1),把最后的最大数组number(x)赋值给number2;  (5)比较number1与number2,如果number1<number2,则把number2赋值给number1,然后进行步骤(4),反之终止最大类间方差,输出相应的分割阈值与定位坐标,在简化图上保留定位区域和大于分割阈值的像素,其它像素至零.3实验结果与分析  为了验证上述钢坯字符检测算法的可靠性与适应性,在线采集了复杂场景下的钢坯号字符图像进行了实验,其中包括:倒立字符、90度旋转字符、粘连及模糊字符、残缺字符等复杂情况.上述算法均是在VC++6.0的环境下实现的,进行了复杂钢坯端面字符分割、字符标定和筛选工作、以及字符检测对比等实验,如图3、4、5所示.图3多次分割图
Fig.3Multistage segmentation image从图3可以看出,复杂场景下的钢坏字符图像被逐次分割,背景和目标区域可以很好的被分离出来。在经过特征去噪、标定侯选区域、筛选侯选区域的处理后,字符区域会被完整的提取出来,如图4所示.与传统投影方法相比,该字符提取方法能够避免复杂光照的影响,充分利用字符连通域的聚类和几何比例特征对生产线的钢坏字符图像进行实时提取.如图5所示,传统投影方法[17]基本不能检测出字符区域,本文提出的字符检测方法却能很好的定位出钢坏字符.图4字符提取结果
Fig.4Result of character extraction图5检测结果比较
Fig.5Comparison of detection results4结语  根据重轨生产线钢坯字符识别这一技术难题,提出了一种有效的钢坯字符定位检测算法.采用基于最大类间方差的多次分割方法,利用有效的聚类处理和字符特征对复杂生产线场景下的字符进行定位检测.实验结果表明,该字符检测方法准确率高,能够较好地适应复杂多变的复杂环境,具有一定的稳定性和适应性,满足重轨生产线钢坯字符识别[18]的需求.