APP下载

基于机器视觉的汽车零部件检测系统设计

2020-09-15袁纵青徐惠钢

仪表技术与传感器 2020年8期
关键词:字符识别冲孔字符

袁纵青,徐惠钢,谢 启

(1.常熟理工学院电气与自动化工程学院,江苏常熟 215500;2.中国矿业大学信息与控制工程学院,江苏徐州 221008)

0 引言

汽车零部件的质量极其关键,实施汽车零部件的追溯制度[1-2]很重要。常用的汽车零部件追溯是采用直接在产品上压印字符的方法,由此对零部件的相关信息进行标识。因此,大量的零件表面字符信息需要被识读。对于零件表面字符信息的识读,传统的方法是直接采用人工的方式,通过人眼读取然后手动输入计算机。这种方式检测效率低、劳动强度大且容易出现错检或漏检等问题,不能满足流水作业以及自动化生产发展的需求。为了适应自动化生产的需要,将机器视觉技术引入到汽车零部件检测中,用于识别汽车零部件的产品型号、日期等信息。同时,利用该技术可实现相关加工工艺质量的检测,实现对冲孔直径的检测,该技术具有非接触、精度高以及便于自动化管理的特点。

本课题要实现对零部件的字符和冲孔直径的检测。针对这两个检测项,本文设计了一套基于机器视觉的零部件检测系统,进行线上自动检测,并将检测信息保存到数据库中。

1 检测系统总体方案设计

本系统硬件部分主要由4个部分组成:工业相机、光学镜头、光源、伺服电机等构成的图像采集装置;气缸夹爪、位置传感器、伺服电机构成的不良品分拣装置;传送带、简单限位载具等构成的运料装置;数据采集卡、工控机等构成的信息采集和软件处理装置。图1为系统的整体3D模型图。软件部分主要包含了图像采集模块、运动控制模块、图像处理模块和数据存储模块。

图1 系统整体3D模型图

1.1 检测系统硬件设计

(1)图像采集装置设计:由于字符在不同型号零件的分布位置不同,综合考虑相机的视野范围不够大和成本问题,设计了CCD检测机构。该机构由伺服电机及丝杆装置构成,相机可自由在丝杆上移动,可以针对不同型号的零件确定拍照位置。由于零件字符是压印的,通过对比实验选择了VC75-W型号的同轴光源安装在CCD检测机构上。感应器被安装在传送带的一侧,当感应器感应到产品时,触发相机拍照。设计的图像采集装置如图2所示。

图2 图像采集装置

(2)不良品分拣装置:当零件冲孔不合格时需要将其从流水线上取下,因为传送带是移动的,为了得到不合格产品的准确位置信息,需要计算传送带的移动距离,可以根据伺服电机的脉冲数来得到不合格零件在传送带上移动的距离,当零件到达指定位置时,气缸夹爪抓取不合格零件,通过伺服电机及丝杆装置放到不良品箱中。设计的不良品分拣装置如图3所示。

图3 不良品分拣装置

1.2 检测系统软件设计

检测系统在启动后,需要先进行系统硬件参数和软件参数的初始化,然后由上料端上料,当零件达到检测工位时感应器触发相机进行图像采集,采集完成后传输至本地计算机进行图像处理,分别对字符和冲孔进行检测,将检测结果保存到数据库中,总体的流程如图4所示。

图4 检测系统软件流程图

2 冲孔检测

由于零件与传送带有着较明显的对比度,对于冲孔的检测,先使用阈值分割方法,再利用像素点面积特征和圆度特征来提取冲孔区域。

(1)

式中T为灰度阈值。

图5所示为采集的零件图像的灰度直方图,经实验验证,当选取灰度阈值T=180,可以将目标区域和背景区域分离。阈值分割完成后,计算连通域的个数,设每个连通域的像素点面积为area(i),其中:(i=1,2,3,…,n),根据大量实验,当area(i)∈[16 000,20 000]时,可将冲孔区域以及一些干扰区域筛选出来。然后通过计算上述筛选区域的圆度[3]可以将冲孔区域提取出来,圆度的计算公式如式(2)所示。

(2)

式中:C为圆度;F为区域面积;rmax为区域中心到轮廓点的最大值。

图5 零件灰度直方图

设筛选区域的圆度为circularity(i),其中:(i=1,2,…,n),经大量实验验证,当圆度circularity(i)>0.9时,可以将冲孔区域提取出来,如图6所示为提取的冲孔区域。

图6 提取的冲孔区域

由于冲压的孔不是完全意义上的圆形,所以需要将冲孔的边缘进行拟合。拟合前,需要获取冲孔区域边缘信息,在分析几种常用的边缘检测算子之后,选取Canny边缘检测算子检测冲孔区域的边缘。由于对冲孔直径的检测不需要太高的精度,所以提取像素级别的边缘,如图7所示。最后,使用最小二乘法将边缘轮廓拟合成圆,将边缘轮廓上的点到拟合圆的距离相加,使求得的距离之和最小,如式(3)所示,由此计算出冲孔的直径为2ρ,当直径超过产品零件允许误差时,就会被系统判定成不合格品,由不良品分拣装置夹出。

(3)

式中:(a,b)为拟合圆的圆心坐标;ρ为拟合圆的半径;(ri,ci)为边缘轮廓上的点。

图7 像素级别边缘提取

3 字符检测

传统的字符检测需要经过图像预处理、字符定位、字符分割、字符识别操作完成,其流程如图8所示。

图8 传统字符识别方法流程图

本系统采用基于CTPN模型[4-5]的定位和基于CRNN模型[6-7]的字符识别方法,将自然场景下的文本检测应用到特定的汽车零部件检测场景中,去除了图像预处理和字符分割等步骤,相比于传统的检测方法,简化了处理流程。新的识别处理流程如图9所示。

图9 本系统使用的字符识别处理流程图

3.1 基于CTPN的字符定位

由于在采集图像时可能会出现字符被产品塑料件遮挡、产品摆放倾斜问题,此外,零件型号多,字符在零件上的分布情况比较复杂,本系统使用文献[8]自然场景下的文本检测方法,使用CTPN模型进行零件字符区域的定位。

CTPN模型利用了RNN(循环神经网络)和CNN(卷积神经网络)的无缝结合来提高检测精度。其中,CNN用来提取深度特征,RNN用于序列的特征识别,二者无缝结合,在检测效果上鲁棒性更好。它的步骤如下:

(1)采用VGG16的前5个Conv Stage进行特征提取,得到大小为W×H×C的conv5特征映射。然后在conv5上做3×3的滑动窗口得到一个长度为3×3×C的特征向量。

(2)将特征输入到一个双向的LSTM中,得到一个W×256的输出,再将这个结果输入到一个512维的全连接层。

(3)通过分类或线性回归可以得到3个输出:2k vertical coordinates(表示选择框的高度和中心的y轴的坐标)、2k scores(表示k个anchor的类别信息,说明其是否为字符)、k side-refinement(表示选择框的水平偏移量)。使用非标准极大值抑制算法滤除多余的文本框。

由于要检测16种型号零件,选取每种型号1 000张图片制作数据集,在数据集上对VGG-Net进行训练,训练所用的平台为Ubuntu18.04系统,用训练好的模型进行测试,测试效果如图10所示,在图10(a)字符被塑料件遮挡(零件A)、图10(b)产品色差较大且倾斜(零件B)的情况下有良好的定位效果。

(a)字符被塑料件遮挡

(b)产品色差大且倾斜图10 测试效果图

3.2 基于CRNN的字符识别

字符区域定位成功后,传统的方法需要将字符分割出来,然后再进行识别,使得处理流程相对复杂。

CRNN是一种基于深度学习的端到端的识别方法,不需要显示加入文字切割,它将文字识别转化为序列学习问题,对图像尺度不同、文本长度不同的文本识别具有良好的准确率。CRNN的网络架构由卷积层、循环层和转录层构成。卷积层用于提取每个输入图像的特征序列,在卷积网络之后构建了一个循环网络,用于对卷积层输出的特征序列的每一帧进行预测。最后,通过转录层将循环网络的每帧预测转化为标签序列。具体的操作:将输入的图像归一化为100×32高度的字符串图像,然后基于7层CNN(一般使用VGG16)提取特征图,把特征图按列切分(Map-to-Sequence),再将每列的512维特征输入到两层各256单元的双向LSTM进行分类。在训练过程中,通过基于联结时序分类(connectionist temporal classification,CTC)损失函数实现字符位置与类标的近似对齐,输出不定长的序列结果。

经过CTPN模型实现字符定位成功后,输出的是检测文本框的位置信息和文本的概率,在进行字符识别时是进行字符串图像的识别,将不同型号零件对应位置识别到的字符串信息保存到数据库中。设图像中一共有n个文本框,其左上角顶点分别为{(x1,y1),(x2,y2),…,(xn,yn) },检测顺序按照文本框的左上角纵坐标y1,y2,…,yn从大到小排序,若yi=ym=…=yn,则将xi,xm,…,xn对应的字符串图像按照从小到大的顺序识别,识别结果为result1,result2,…,resultn(n为正整数),将检测到的字符信息保存到数据库中。

本系统选取16种型号零件,每种型号1 000张图片,按照Synth90数据集的格式制作数据集。在Ubuntu18.04系统下使用GPU进行加速训练。用训练好的模型进行测试,测试结果如图11和图12所示,字符串1、字符串2、字符串3分别是两款零件截取的字符串图像,检测结果如图11(d)、图12(d)所示,可以看出对于字符遮挡和对比度不高的压印字符,CRNN模型具有良好的识别效果。

图11 产品A检测结果

图12 产品B检测结果

4 现场验证

由于本系统需要检测的汽车零件共有16种型号,为了验证本系统的检测效果,进行了现场验证。由于冲孔类型一致,对于冲孔的检测,选择6种型号零件进行测试,每个冲孔用千分尺测量5次直径并取平均值;用检测系统测量6种型号零件的直径,结果对比如表1所示。由表1可知,使用检测系统测量的直径与用千分尺测量的直径真值误差很小,检测精度较高,满足企业的检测要求。对于零件字符的检测,每种型号选择100个零件进行测试,测试结果表明,字符的识别正确率达到了96%,取得了良好的检测效果。通过查询保存的零件数据信息,可以提高对产品的监管力度。

表1 冲孔测量结果 mm

5 结束语

本系统实现了图像采集、图像处理、信息保存的整个流程。经测试,本系统稳定性好,可扩展性强,检测效率明显超越了人工的方法,有着较高的检测准确率,基本满足工业的生产需求,达到了预期的目标。

猜你喜欢

字符识别冲孔字符
冲孔灌注桩在深基坑支护中的应用及施工质量控制
水中栈桥搭设及平台冲孔灌注技术探讨
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
汽车铝合金防撞梁复合冲孔工艺开发
融合字符及字符排列特征的铭牌识别方法
一种基于OpenCV的车牌识别方法
落料冲孔复合模刃口尺寸计算