基于机器视觉的金属表面压纹字符检测
2021-07-31郁岩
郁 岩
(江苏安全技术职业学院 机械工程学院,江苏 徐州 221000)
0 引 言
轮胎、轴承、钢材、模具等工业产品出厂前被印制了一些产品字符,其内容记录着产品的重要信息,所以准确、高效地识别压纹字符是企业智能化制造必须满足的基本要求[1]。因此,如何快速识别产品上的字符信息已成为企业向信息化发展的掣肘。
压纹字符相较于其他印刷字符而言更加立体,且字符与其背景之间无色差[2]。因此用于识别压纹字符的算法与识别其他光学字符的算法相比存在明显区别。本文重点探究光学字符识别(OCR)中对图像单个字符分割和分割后的训练集学习识别任务[3]。
1 实验平台搭建
本次实验平台由相机支架、大恒MER500黑白相机、日本COMPUTAR 25 mm焦距镜头、OPT同轴光源、LINGD2001-T型光源控制器和PC机组成[4],待识别字符是在环形铸件表面用模具直接冲压形成的字符,如图1所示。相机固定在被测物的正上方,光源由固定支架夹持,保证通过同轴光源半透半返的光线垂直且均匀的照射在零件表面。被测零件置于实验平台下方,通过VisionPro软件采集图像。
图1 待测零件上表面
2 压纹字符识别
压纹字符是利用模具直接在零件表面冲压形成的字符,所以字符周围的颜色和背景区域的颜色无差别,因此实验采用15°环形角度光源采集图像[5]。
2.1 图像校正
金属压纹字符呈圆周状分布在环形区域内,不利于后期的字符识别。为了使环形区域内的压纹字符呈水平方向排列,需对图像进行校正,如图2所示。
图2 极坐标转换
图2(a)为环形区域,图2(b)为转换后的矩形区域。环形区域的顶点A、B、C、D分别对应转换后矩形区域的顶点A、B、C、D。设P点为环形区域中的像素点,空间坐标为(x, y),矩形区域与其对应的点是P',空间坐标为(x', y'),变换中心为点O(xO, yO)。
环形区域内P点在极坐标系中的角度值β3计算如下:
ROP的长度计算公式为:
P'空间坐标(x',y')由极坐标变换得到:
因点P'的空间坐标(x',y')一般为实数,所以只能插值获得点P'的灰度值。图3(a)表示输出图像中某一像素已被变换回输入图像中,但经转换后该像素的中心点处于与之相邻的4个像素的中心点之间,且为非整数位置。算法采用最近邻域插值法,首先对变换后的像素中心的数据取整处理,从而确定在4个相邻像素点中心位置和该坐标最近的一个,接着把该像素的灰度值当作输出图像中相对应像素点的灰度值,如图3(b)所示。
图3 插值法计算
2.2 优化处理
为减少图像处理时的数据量,对极坐标变换后的图像进行二值化处理,即利用IPOneImage工具中的量化算法进行处理[6],如图4(a)所示。此算法减少了图像背景的数据,使得目标轮廓更加突出,大大提高了识别效率[7]。但图像二值化处理后灰度级分布不均匀,所以还需对二值化图像进行均衡化处理,如图4(b)所示。
图4 字符图像优化处理
3 实验结果分析
建立一个字符训练数据集,如图5所示。本训练集由一些特征向量的范例和已知字符种类组成,训练集的字符包含油污、缺角、压纹较浅、表面锈斑等工况,还包含实际工况采集图像时,出现噪声、图像强度不均匀等现象[8-9]。通常情况下获得变化的训练集比较困难,所以在图像处理时采取一些措施对已收集的字符范例进行拓展训练,本训练集也经过了人为处理。
图5 部分训练集样本
图6列举了被测零件的部分压纹字符在4种工况下利用OCR和训练集集合算法分割字符,图6(c)被润滑油侵蚀过,图像质量最差,只有微小的边缘信息,此时人为将预先定义的良品压纹字符加入训练集中,图中可以看出,SSE字符被准确分割出来,且蓝色的矩形紧贴字符边缘。
图6 被测零件部分压纹字符
4 结 语
从实验运行结果来看,OCR和训练集集合算法可以在复杂的工况下分割压纹字符,此算法不仅可以对较浅的压纹进行识别,还能适应多油、锈斑等复杂条件下的检测,大大提高了传统OCR字符识别的准确率,且算法响应速度更快。