基于图像分析的螺纹钢尺寸测量方法∗
2021-06-16陈亚军丁圆圆范彩霞康晓兵
陈亚军丁圆圆范彩霞康晓兵
(西安理工大学信息科学系,陕西 西安710048)
螺纹钢作为现代化生产中重要的工业材料,在建筑、机械、交通、运输等行业都有着广泛应用[1-2]。近年来,随着需求量的大幅度增加,对螺纹钢的生产速度和检测都有了更高要求,若螺纹钢的尺寸不符合要求,将被视为不合格品,如不及时检测出,将会造成巨大损失。在我国冶金工业中,螺纹钢生产厂对螺纹钢线径的控制监测主要是采用人工检测控制法[3],这种测量方法是随机抽样检测,不能实时检测,且精确度不高,检测速度慢,无法保证合格率。因此,对螺纹钢尺寸的测量算法研究有着很强的现实意义。
当前,国内外基于图像分析和机器视觉技术对工件、产品或物品的视觉尺寸测量成为一种趋势,广泛应用在钢铁生产[4-5]、零件加工[6]、飞机制造[7]、汽车制造[8]等工业以及农业领域[9]。但目前针对基于机器视觉及图像分析技术的螺纹钢视觉检测算法研究较少,有一些主要是针对含螺纹工件及螺纹钢的传统测量。国内罗红宇等人发明了一种锚杆、螺纹专用测径装置[10],可通过读取标尺刻度获得待测螺纹钢直径;陈炳生等人研发了一种带肋钢筋特征尺寸测量仪[11],能够直接准确测量带肋钢筋完整的内径、上下横肋外径的投影尺寸;王超等人研究了一种钢筋直径专用测量工具[12],可准确测出钢筋直径;饶志敏等人开发了一种基于图像处理技术的螺纹参数非接触实时测量系统[13],该研究对我们有一定的借鉴作用,但其研究是针对传统丝杠螺纹进行测量的,且测量的尺寸中不包含横肋与轴线的夹角,实验结果也仅展示了外径的测量结果和误差分析;景敏设计了一种基于机器视觉的螺纹参数综合测试系统[14],并在之后提出了基于改进Sobel模板的螺纹几何误差测量系统[15]。国外,Gadelmawla等人设计了一种能够测量大多数常见类型螺纹的非接触式测量系统[16];Sergey Kosarevsky和Viktor Latypov提出了一种利用霍夫变换自动提取螺纹特征和参数的方法[17];Barbara Szymanik等人结合主动热成像技术和多频涡流方法实现了对钢筋混凝土结构中钢筋的检测和检查[18];Halima Begum等人提出了一种利用电磁波雷达无损测量钢筋混凝土结构中钢筋直径的方法[19]。然而,以上文献大部分不是针对螺纹钢的尺寸测量,主要是针对含螺纹的工件尺寸测量;有些文献也是基于传统技术,并不是基于图像分析的无接触测量技术。这些文献对螺纹钢的尺寸测量有一定借鉴意义,但尺寸测量不全面、不完善。
本文针对螺纹钢形状相对复杂、尺寸非接触测量难的问题,提出了基于图像分析的螺纹钢尺寸测量方法,可实现螺纹钢内径、外径、横肋间距、横肋高度等主要参数的视觉测量,保证螺纹钢的加工精度,为实现基于机器视觉技术在线检测螺纹钢尺寸打下良好基础。
1 螺纹钢尺寸测量要求及原理
图1所示是常见的螺纹钢图像,可看到其含有纵肋与月牙形的横肋。本文主要针对单根螺纹钢实现基于图像分析技术的内外径、横肋高度、横肋与轴线夹角、横肋间距等尺寸的测量,并根据测量结果计算出螺纹钢的截面积。
图1 螺纹钢图像
图2是螺纹钢的外形尺寸示意图及需要测量的尺寸需求。在获取螺纹钢图像的基础上,对图像做一定的预处理;提出基于普通边缘检测、亚像素边缘检测和图像投影法共3种尺寸测量方法;利用实际尺寸测量法、简易单相机标定法将所计算出的图像尺寸的像素数换算为实际物理尺寸。经与螺纹钢尺寸国家标准(GB 1499.2-2007)进行比对,最终确定计算结果的准确性。
图2 螺纹钢尺寸示意图
如图3所示,本文提出的基于图像分析技术的螺纹钢尺寸测量方法的主要算法流程如下。
图3 基于图像分析的螺纹钢尺寸测量方法流程图
2 图像获取与预处理
2.1 图像获取
实验所用的螺纹钢图像由机器视觉实验室的面阵CCD相机视觉采集平台采集。在采集螺纹钢图像时,调整相机高度,使得螺纹钢在背景的占比尽可能大,尽可能清晰;将螺纹钢和背景白板放置在履带上,调整位置,使螺纹钢尽量在相机镜头中间区域;调整光源,使得光照条件尽可能均衡。分别以白板、1 cm和2 cm棋盘标定靶为背景进行拍摄,每隔45°采集一幅螺纹钢图像(其中必须含有纵肋和横肋的正面图像)。
图4 螺纹钢侧面图像
图5 测量用1 cm×1 cm棋盘格标定靶
2.2 图像预处理
图像预处理具体按照图6进行。
图6 预处理步骤
①图像灰度化。方法:加权平均法。即用R、G、B的值加权平均[20]。由于人眼对绿色敏感度最高,红色次之,蓝色最低,故按式(1)对图像进行灰度化。
②滤波去噪。方法:空域中值滤波,此步去除孤点噪声[21],使用的邻域大小为3×3。图7是经过图像灰度化及滤波去噪后的螺纹钢图像。
图7 中值滤波结果
③图像分割。为获得螺纹钢尺寸测量的有用区域,必须对预处理后的图像进行分割[22]。方法:迭代阈值法,具体过程如下(设一幅图像的像素总数为n,灰度级数为L):
(a)选择图像灰度最大值与最小值的平均值作为初始估计值T0。
(b)用T0将图像分割为R1和R2两部分,R1由灰度值在范围[0,Ti]内的像素组成,R2由灰度值在范围[Ti+1,L-1]内的像素组成。区域R1和R2的灰度均值μ1和μ2计算公式如下:
式中:i和ni分别表示第i个灰度级和其对应灰度级的像素个数。
(c)根据下式计算新阈值Ti+1:
图像分割结果如图8所示。
图8 迭代阈值法分割结果
④数学形态学处理。此步骤用于解决分割后的螺纹钢图像中螺纹钢区域存在小孔洞问题。图9是最终预处理后的螺纹钢图像。
图9 预处理最终结果
3 基于图像分析的螺纹钢尺寸测量方法
3.1 像素精度尺寸测量方法
首先,提出一种像素级精度的尺寸测量方法,实现对螺纹钢尺寸的测量。图10所示的各尺寸分别是:内径d1,外径d,横肋间距l,横肋与轴线夹角β。在图10所示的螺纹钢图像中,背景区域像素值为1,螺纹钢区域像素值为0。
图10 像素级尺寸测量示意图
本方法具体尺寸的测量步骤如下:
外径:横向扫描图10,获取图10中值为0点的行号信息并记录,用其中的最大行号值与最小行号值之差再加1作为螺纹钢外径像素数。
内径:获取图10中值为0点的行号信息,选择一处上谷底点,从上往下逐行扫描进行是0判断,从0开始累加直至不符合条件,最终的累加值为螺纹钢内径像素数。
横肋间距:获取计算外径时求得的值为0点的行号值最小值,对该行所有0值点进行判断,符合条件的为波峰点,保存波峰点的列号值,用相邻两波峰点的列号的差加1作为横肋间距像素数。
横肋与轴线夹角:获取图11(图11为螺纹钢边界放大图)中波峰点与波谷点的行号值与列号值,分别求对应波峰、波谷点行号与列号的差值,用前者差值与后者差值相比得到横肋与轴线夹角的正切函数值,最后再求该值的反函数即为横肋与轴线的夹角(计算横肋与轴线夹角的正切函数值前,需对行号、列号的差值进行单位换算,计算结果见表8、表9)。
螺纹钢的截面积的计算采用如式(5)所示的含内外径参数的公式求得,具体如下:
式中:S表示螺纹钢的截面积,d1、d分别表示螺纹钢内径、外径。基于上文提出的尺寸测量与计算办法,像素精度的螺纹钢尺寸测量结果如表1所示。
图11 横肋与轴线夹角计算图
表1 像素级螺纹钢尺寸测量结果单位:像素
3.2 亚像素精度尺寸测量方法
前面提出的方法是像素级精度的,下面提出亚像素精度尺寸测量方法,此方法在图10基础上进行。
3.2.1 亚像素边缘检测
亚像素边缘检测方法[23-24]是在经典的边缘检测方法上发展而来的,首先用经典边缘检测方法找到单像素精度的边缘像素点,然后将这些像素点周围的灰度值作为补充信息,使被检测图像的边缘定位于更精确的位置[25]。
鉴于Canny是一种优化的边缘检测算子[26-27],具有比较好的信噪比和检测精度,故本文采用Canny边缘检测方法先进行像素精度的螺纹钢轮廓边缘提取。
正式学习一般是以课程通知为时间节点,对教学课件、课堂作业、相关资源、配套实验展开探究式学习活动,获得对某一主题的整体学习和认知。在线教学就是要把教学目标转换成学习者的学习活动,能够以工作任务和实际问题为导向,建立各种学习情境和智慧课堂,仿真真实工作情境,让学习者去处理有关设计、生产、制造、管理、服务等一线实际问题。“小立课程,大作工夫”,充分发掘学习者的学习习惯、学习路径和学习效能的特征,对于不同情境的内容设置力求精练、完整,内容呈现节奏张弛有度、有松有紧,实现侧重于技术应用与“职业”相重合的“专业”教育。
本文提出的亚像素精度尺寸测量方法,采用的是插值亚像素边缘检测方法。其优势在于计算量较小,计算速度快,适合将来螺纹钢尺寸的实时在线测量。其原理和步骤如图12所示。
图12 亚像素边缘检测流程
其中,R(x,y)计算方式见式(6),(X,Y)计算方式见式(7)、(8):
式(6)中,(x,y)是边缘点的像素坐标。式(7)、(8)中,R(m-1,n),R(m,n),R(m+1,n)是沿梯度图像R(x,y)的x方向上取的三点,R(m,n-1),R(m,n),R(m,n+1)是沿梯度图像R(x,y)的y方向上取的三点。
图13是Canny边缘检测的结果;图14是基于插值法的亚像素边缘检测结果。
图13 Canny边缘检测结果
图14 亚像素边缘检测结果
3.2.2 尺寸测量计算
分别将螺纹钢上下两边界区域取出,再单独对两条边界用K-means算法分两类进行聚类,得到螺纹钢上、下边界质心位置的最大、最小值(螺纹钢下边界质心位置的最大、最小值:Omax、Omin,上边界质心位置的最大、最小值:Umax、Umin)。这里可求出螺纹钢的内径、外径以及横肋高度,具体计算方式如下:
表2是亚像素精度尺寸测量结果。
表2 亚像素精度的螺纹钢尺寸测量结果 单位:像素
3.3 图像投影法尺寸测量
3.3.1 边界跟踪
在3.2.1小节Canny边缘检测和插值法亚像素边缘检测的基础上,继续做边界跟踪,从而能够得到更加连续的螺纹钢边界。边界跟踪思路:从图像中的一个边缘点“现在点”出发,再用跟踪准则检查“现在点”的邻点,满足这种跟踪准则的像素点被接受成为新的边缘点“现在点”,并做上记号,以此跟踪出图像物体的边界[28]。边界跟踪包括以下3个步骤:
②确定适合的边界搜索准则和判别准则。
③确定搜索的终止条件。
图15是边界跟踪的结果。
图15 边界跟踪结果
3.3.2 图像投影法测量方法
图像投影法的思路是对螺纹钢上下两条边界做水平方向上的投影,如图16所示,将得到a、b、c、d四点,求出a、b、c、d四点的值,则有:外径=|a-d|,内径=|b-c|,上螺纹横肋高度=|a-b|,下螺纹横肋高度=|c-d|。
图16 投影法测量原理示意图
3.3.3 图像投影法计算结果
①在3.3.1边界跟踪结果基础上利用图像投影法计算所得到的尺寸测量结果如表3所示。
表3 图像投影法螺纹钢尺寸测量结果-边界跟踪单位:像素
②在3.2.1亚像素精度边缘检测基础上利用图像投影法得到的尺寸测量结果如表4所示。
表4 图像投影法螺纹钢尺寸测量结果-亚像素边缘检测单位:像素
4 物理尺寸换算及结果分析
4.1 物理尺寸换算
4.1.1 实际尺寸测量换算法
在需测量的各个尺寸中,螺纹钢外径最容易人工测量。本文通过千分尺对螺纹钢的外径进行测量,对每条肋所对的外径均测量3次,得到45个数据。对这45组数求均值作为标定用的实际物理尺寸参考,求得换算比例。由此换算比例,换算出其他尺寸的物理尺寸。测得的45组螺纹钢外径数值如表5(单位:mm)。
表5 45组外径测量值
求得平均值为23.5604 mm。
4.1.2 简易单相机标定法
在图像采集时,单独采集了1 cm、2 cm棋盘格标定靶和以1 cm、2 cm棋盘格标定靶为背景的螺纹钢图像。对标定靶及以标定靶为背景的图像进行裁剪。裁剪时,沿着图像上棋盘格的边界线进行,以保证裁剪区域内的棋盘格完整,方便统计物理尺寸。其中,1 cm棋盘格的裁剪尺寸为6 cm×3 cm,即共裁剪6×3个完整的棋盘格;2 cm棋盘格的裁剪尺寸为6 cm×4 cm,即共裁剪3×2个完整的棋盘格。获取裁剪后图像的像素尺寸并求其平均值。用求得的均值作为对应像素尺寸,通过已知裁剪图像的物理尺寸,得到像素尺寸与实际物理尺寸的换算比例。
经统计,1 cm标定靶共裁剪图像14幅,裁切后的图像大小如表6(单位:像素),求得平均大小为:1051.3571429像素×521.0714像素;2 cm标定靶共裁剪图像16幅,裁切后的图像大小如表7(单位:像素),求得平均大小为:1055.5625像素×521.0714像素。
用表6和表7求得的平均像素大小除以其实际的物理尺寸,再求二者均值,用此均值作为最终的像素尺寸与物理尺寸的换算比例。求得的最终均值为17.4775,即表示实际的1 mm代表17.4775个像素。
表6 1 cm标定靶像素尺寸
表7 2 cm标定靶像素尺寸
4.1.3 物理尺寸换算结果
用4.1.1小节实际尺寸测量换算法进行换算,得到的物理尺寸如表8所示。
表8 尺寸换算结果1
用4.1.2小节简易单相机标定法进行换算,得到的物理尺寸如表9所示。
表9 尺寸换算结果2
表8中,由于方案一下的外径是通过千分尺多次测量再取平均得到,最具有真实性,因此,以该值作为真实基准值。根据表8,方案二的结果最偏离真实基准值,分析其原因在于:该方法通过聚类后,螺纹钢上下边界质心位置的最大最小值直接相减易受到边界极值影响。方案三(2)的结果最接近真实基准值,分析其原因在于:投影法利用了统计原理,其结果是一个统计结果,受极值影响小;此外,亚像素边缘检测更进一步提高了精度。
此外,表8、表9的结果显示,实际尺寸测量换算法与简易单相机标定法下的结果有一定偏差,分析其原因在于:简易单相机标定法中,通过标定靶的像素尺寸与其已知的实际物理尺寸来获取换算比例;然而,由于在获取图像时,标定靶的位置与螺纹钢的位置不在同一水平面(螺纹钢被放置在标定靶上方),标定靶与相机的距离同螺纹钢与相机的距离有螺纹钢半径之差,从而导致所拍摄标定靶图像中的1 mm比实际中螺纹钢直径处的1 mm所代表的像素数稍少,因此,根据简易单相机标定法进行换算的结果比通过实际尺寸测量换算法得到的结果整体稍偏大。若在实验初期图像获取阶段,考虑这一影响因素,则该偏差将会被减小,表8、表9的数据将趋于一致。
4.2 结果对比
为了进一步验证方法的有效性,根据文献[13]的计算方法进行了外径的仿真实验,所得结果见表10。表10同时列出了本文方法所得结果。取实际尺寸测量法中,方案一下的结果作为真实基准值。结果显示,除了方案二的结果外,文献[13]的结果与真实基准值的偏离距离最大,也即误差最大。分析其原因在于:文献[13]所得方法需选择合适顶点建立直线模型,点的选择将直接影响计算结果;此外,建立直线模型所用顶点数过少,因而易导致误差较大。
表10 与文献[13]的结果对比
4.3 结果分析
由三种测量方案得到的结果可知,两种相机标靶情况下,三种方法得到的尺寸测量结果比较接近,但有一定差别。与螺纹钢尺寸国家标准(GB 1499.2-2007)对比,发现三种方法测得的内外径、横肋间距及方案三下测得的横肋高度均在允许的偏差范围内;仅横肋与轴线的夹角不在允许的偏差范围内,但误差较小。
此外,由于本文的测量是在实验室现有的面阵相机机器视觉采集平台的普通CCD相机镜头下实现的,如果换成平行光源及工业测量用镜头,同时考虑标定靶的放置位置,测量精度将会进一步提高。
5 结论
本文提出了适用于热轧带肋螺纹钢的三种基于图像分析的尺寸测量算法,实现了对螺纹钢表面较复杂的形状尺寸的测量。实验结果表明,除个别尺寸有较小误差,但多数尺寸均在误差范围内。因此,本文提出的算法是合理的,有较强实用性。本次实验结果受实验室现有硬件条件影响,如果测量用的光源换成平行光源,相机镜头换成更专业的测量用镜头,螺纹钢尺寸的测量精度会更加准确。
总之,本文提出的基于图像分析技术的螺纹钢表面尺寸测量方案可行,后期工作主要在于搭建更高精度的视觉系统硬件平台,实现基于机器视觉技术的更高精度的螺纹钢尺寸测量。此外,考虑到未来应用中的实时性问题,一方面可继续对当前已有的算法进行优化精简,以及进行程序指令集的优化手段来提高程序效率;另一方面,可考虑用更好性能的CPU,在提高计算精度的同时提高计算速度。