基于视觉的成捆棒材端面标签漏贴检测与误差测量方法与流程

文档序号:17722016发布日期:2019-05-22 02:14阅读:368来源:国知局
基于视觉的成捆棒材端面标签漏贴检测与误差测量方法与流程

本发明涉及一种物体圆形端面的视觉识别、定位及误差测量的方法,尤其涉及一种成捆棒材端面标签漏贴检测与贴标误差测量方法。



背景技术:

棒材是当前钢铁行业的主要产品,更是工业领域重要的生产加工原材料。不同行业对于棒材的质量要求也是不同的,钢铁行业所生产的棒材规格也是多种多样,为了区分不同种类、规格的棒材,需要为棒材端面粘贴标签,以便于识别棒材的一些基本信息。购货商可以通过标签了解到棒材的直径、长度以及生产炉号、成分、生产日期等信息。

目前,钢厂仍然采用人工的方法对棒材端面进行取标和贴标,这种方法劳动强度大,生产效率低。同时,由于疲劳等因素会造成所粘贴标签的位置精度达不到要求,出现标签漏贴和粘贴效果不佳等现象。现阶段没有适用于成捆棒材端面贴标结果判断和误差测量的方法,只能人眼观察贴标结果和人工测量贴标误差,无法系统的评价贴标的结果和效果。因此,建立一种基于视觉的成捆棒材端面标签漏贴检测与误差测量的方法具有很强的现实意义和应用前景。



技术实现要素:

基于以上原因,本发明旨在提出一种结合成捆棒材端面视觉系统,对成捆棒材端面进行标签漏贴检测及贴标误差测量的方法。

本发明采用的成捆棒材端面视觉系统包括:工业相机1,滤镜2,环形光源3,标定板4和安装有图像存储和处理程序的计算机5。工业相机1水平放置与成捆棒材端面垂直,环形光源3布置于工业相机1的中间位置且和工业相机1的轴线重合,安装有图像存储和处理程序的计算机5与环形光源3、工业相机1通过数据线连接在一起,放置在不遮挡工业相机1的位置,标定板4在标定时放置于工业相机1正前方景深范围之内的成捆棒材整体端面的理论平面位置,滤镜2安装在工业相机1镜头前部。

本发明是根据棒材端面贴标的特点并结合机器视觉提出的一种标签漏贴检测及贴标误差测量的简化方法,对于棒材端面贴标出现的标签漏贴现象,只需要将棒材端面图像和标签图像提取并比较即可得出判断。棒材端面贴标位置误差测量是通过图像识别的棒材的中心坐标与标签的中心坐标的差值来实现。

基于视觉的成捆棒材端面标签漏贴检测与误差测量方法包括如下步骤:

(1)工业相机标定;

(2)贴标前成捆棒材端面的视觉识别与定位;

(3)贴标后标签的识别与定位;

(4)标签漏贴检测;

(5)贴标误差测量。

本发明的有益技术效果包括:

(1)使用工业相机代替人眼完成棒材和标签的识别与标签漏贴检测;

(2)能够获取成捆棒材中每根棒材端面的位置信息,为贴标机器人提供准确的棒材端面中心坐标;

(3)能够获取成捆棒材端面标签漏贴的信息,为贴标机器人提供标签漏贴的棒材端面中心坐标;

(4)能获得成捆棒材端面贴标误差数据。

附图说明

图1是本发明方法采用的成捆棒材端面视觉系统的总体结构示意图;

图2是本发明基于视觉的成捆棒材端面标签漏贴检测与误差测量方法的流程图。

具体实施方式

的成捆棒材为例来介绍本发明,结合附图1-2对本发明做具体描述。

本发明采用的成捆棒材端面视觉系统包括:工业相机1,滤镜2,环形光源3,标定板4和安装有图像存储和处理程序的计算机5。工业相机1水平放置与成捆棒材端面垂直,环形光源3布置于工业相机1的中间位置且和工业相机1的轴线重合,安装有图像存储和处理程序的计算机5与环形光源3、工业相机1通过数据线连接在一起,放置在不遮挡工业相机1的位置,标定板4在标定时放置于工业相机1正前方景深范围之内的成捆棒材整体端面的理论平面位置,滤镜2安装在工业相机1镜头前部。

以直径为60mm的棒材为例来介绍本发明。成捆棒材水平放置,工业相机布置在棒材端面的前部,在系统搭建时对于光源选择非常重要。通过与白炽灯、卤素灯、高频荧光灯、led灯、氙灯的比较,led灯独有的优势显得尤为突出,其优点有:形状的自由度大、使用寿命长、应答速度快、可自由的选择颜色、综合性运转成本低,因此本系统采用环形led光源。

相机的选择是通过被测物体的大小、测量精度、相机与被测物之间的距离等参数来确定的,如本系统测量的成捆棒材端面大约是直径300mm,测量精度0.5mm,相机与棒材端面距离约1000mm。首先估算像素,被测物是直径300mm的圆形,而相机靶面通常为4:3的矩形,为了将物体全部摄入靶面应该以靶面最短边长度为参考,像素应大于300/0.5=600,根据估算的像素可以选择大恒ccd相机mer-125-30um靶面尺寸1/3英寸(4.8×3.6mm),分辨率为1292×964,像元尺寸为u=3.75μm的相机,验证精度t,可根据公式t=u/β计算,其中β=3.6/300为镜头放大率,经计算t=0.31mm满足精度要求;焦距f可以通过公式f=l/(1+1/β)计算,其中l=1000mm,经计算f=11.8mm,可选焦距为12mm的镜头,如大恒tg4z2816fcs镜头。

结合钢厂的生产环境恶劣,并且会有许多工人照明用的电灯,以及白天时的太阳光,这些光线杂乱无章,很有可能会给相机的照明系统带来干扰,因此增加一个滤镜是一个很好的选择,led光源可以制作成一种蓝色,配上相应的滤镜,这样相机就只能接收到led光源发出的绿色频率的光,滤镜会将其他颜色频率的光过滤掉,而干扰源发出的绿色频率的光会有很少一部分进入相机,对相机照明系统的影响可以忽略,这样就避免了干扰。

1.工业相机标定

采用delaunay剖分三角形内插值标定法进行工业相机进行标定,使其完成像素坐标系与世界坐标系的转化,首先制作一个点阵式标定板,将标定板放到棒材端面处,主相机采集标定板图像,设置参数包括标定板上标定点的行数、列数和二值化阈值,对标定板图像进行图像处理,识别标定点,将识别出来的标定点坐标保存,标定及完成。

2.贴标前成捆棒材端面的视觉识别与定位

在对贴标前成捆棒材端面的视觉识别与定位中,由于棒材端面本身颜色为黑灰色,系统在获取成捆棒材端面图像时,安装有图像存储处理程序的计算机3给光源4发送指令,令光源4处于开启状态以便于工业相机1获取图像,图像获取完成时安装有图像存储处理程序的计算机3再次发送指令使光源4关闭,达到节能的目的。

成捆棒材端面的图像处理中棒材端面识别采用hough变换,在matlab中函数imfindcircles就是运用hough变换进行圆形识别的。imfindcircles函数使用时需确定几个参数:

(1)检测圆的半径范围设定,已知棒材直径d、工业相机焦距p和工业相机到成捆棒材端面的距离l,根据rmin=d·p/360l和rmax=d·p/200l,经计算并验证本系统的半径范围设置为[50,90]为佳;

(2)区别背景的设定,有‘bright’与‘dark’之分,本系统设置为‘bright’;

(3)参数‘sensitivity’灵敏度的设定,灵敏度范围在[0,1]之间,灵敏度越大能检测到的圆越多,则错误检测的风险也随之增大,经验证灵敏度为0.95是效果较好;

(4)‘edgethreshold’边缘梯度阈值的设定,其范围在[0,1]之间,边缘梯度阈值越小能检测到的圆越多,随之错误检测也越大,当边缘梯度阈值为0.7时效果最好,即完成成捆棒材端面的视觉识别。

视觉系统中棒材端面中心世界坐标是由x1,y1组成,其中x1,y1可以通过上述圆形识别过程中得到的像素坐标x1,y1,经过相机标定过程中的像素坐标系与坐标系的转换关系可以得到世界坐标系下的值x1,y1;即完成成捆棒材端面的定位。

3.贴标后标签的识别与定位

在对贴标后进行标签的识别与定位中,由于标签本身颜色为白色,系统在获取贴标后的标签图像时安装有图像存储处理程序的计算机3给光源4发送指令,令光源4处于关闭状态,安装有图像存储处理程序的计算机3会给工业相机1发送指令,以获取图像。

在针对成捆棒材端面贴标后的标签的图像处理中,由于圆形标签直径小于成捆棒材的直径,在matlab中函数imfindcircles就是运用hough变换进行圆形识别的参数需要调整,参数设置如下:

(1)检测圆的半径范围的设定,已知标签直径d、工业相机焦距p和工业相机到成捆棒材端面的距离l,根据rmin=d·p/360l和rmax=d·p/200l,经计算并验证本系统的半径范围设置为[40,72]为佳;

(2)区别背景的设定,有‘bright’与‘dark’之分,本系统设置为‘bright’;

(3)参数‘sensitivity’灵敏度的设定,灵敏度范围在[0,1]之间,灵敏度越大能检测到的圆越多,则错误检测的风险也随之增大,经验证灵敏度为0.96是效果较好;

(4)‘edgethreshold’边缘梯度阈值的设定,其范围在[0,1]之间,边缘梯度阈值越小能检测到的圆越多,随之错误检测也越大,当边缘梯度阈值为0.8时效果最好,即完成成捆棒材端面贴标后的标签的视觉识别。

视觉系统中成捆棒材端面的标签中心世界坐标是由x2,y2组成,其中x2,y2可以通过上述圆形识别过程中得到的像素坐标x2,y2,经过相机标定过程中的像素坐标系与坐标系的转换关系可以得到世界坐标系下的值x2,y2;即完成成捆棒材端面标签的定位。

4.标签漏贴检测

在matlab中利用size函数即可读出centers中所包含的个数,并分别对成捆棒材端中圆形识别中拟合出来的圆和贴标后识别出来的标签分别进行计数,此数值即分别为棒材的数量和标签的数量,将两者数值比较做差,得出标签漏贴根数。同时,在函数imfindcircles的返回值centers1,centers2中包含所有拟合出来的圆形的中心坐标和贴标后识别出来的标签的中心坐标,同时使用自定义函数find将两项中心坐标比较,得出标签漏贴棒材的中心坐标,从而实现对成捆棒材端面的标签漏贴判断,即完成基于视觉的成捆棒材端面标签漏贴检测。

自定义的find函数的实现原理是将识别出的棒材中心坐标和标签坐标的x值、y值一一进行做差比较,规定其x方向和y方向的差值均大于50mm,则将其棒材中心根数信息记录,并将棒材循环次数加一,将此组标签中心坐标与下组棒材中心坐标进行比较,直至全部坐标信息比较完成,得出漏贴根数信息。

find函数的matlab代码如下:

5.贴标误差测量

在matlab中函数imfindcircles的返回值centers1,centers2中包含所有拟合出来的圆形的中心像素坐标和贴标后识别出来的标签的中心像素坐标,经过像素坐标系与世界坐标系的转换得到相机坐标系下的值棒材的中心世界坐标x1,y1和贴标后识别出来的标签的中心世界坐标x2,y2,分别对两者中心世界坐标依次做差比较,两者的差值为识别出棒材中心世界坐标的x1,y1与对应识别出来的标签的中心世界坐标x2,y2的误差值,完成基于视觉的成捆棒材端面误差测量。

贴标误差测量的matlab代码如下:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1