基于最小二乘法拟合平面的激光平面度检测
2023-10-25刘明言杜万和杨敬辉
刘明言,杜万和,杨敬辉,
(1. 上海第二工业大学资源与环境工程学院,上海 201209;2. 上海第二工业大学智能制造与控制工程学院,上海 201209)
1 引言
十二线激光投线仪又可称为激光标线仪,可在三维空间内提供3组激光平面,共12条线,且水平线和铅锤线是互成90度夹角的激光投射线[1]。激光投线仪已经在土建工程、消防工程和装潢施工等方面均都有广泛应用[4]。其单个激光头的工作原理为利用激光发射器产生的激光光束,经过表面为镜面的锥形的反射,形成360°的激光水平面。其中对单个激光头发射出平面上激光线的水平度是否合格是激光标线仪组装前的重要工序,目前该工序使用较为传统的检测方法,参照使用目前国内校准方法的行业标准JB/T11665—2013[2],在同一平面上,激光线透射过4个使用经过经纬仪校准过水平的550 mm平行光管,成像在目标刻度板上,人工观察四个方向上内置的标准刻度板,通过转动放置激光头的载物台上的微调手轮,调整3条激光线到刻度线零点,使其XY方向上保持水平,并对比第4条激光线在刻度板上偏差的距离是否在标准范围之内。显然,传统的人工检测方法存在人为主观误差、检测效率低、检测精度低等缺点,导致检测结果有误差。
针对传统的检测方法的缺点以及现有的生产条件下,谢文静[3]等提出基于平行光管测角及机器视觉测量的激光投线仪自动检测系统,使用CMOS工业相机采集光管内的图片并运用图像处理的检测方法,提取激光线中心采用灰度重心法的亚像素定位技术与基准线做对比,实现调整。陈寒松[6]等采用线阵 CCD 实现光线位置的快速检测,并改进激光投线仪的机芯结构,搭建了一套使用PID 控制算法控制伺服电机的光线校准系统。刘盼盼[7]等使用由550mm平行光管组成的激光投线仪的多维校准系统,该系统采用高分辨率CMOS工业相机采集数字图像,通过图像处理技术实现对激光线偏移精度的量化,提高了校准激光水平线和铅锤线的平均精度。在平面度检测领域,刘思远[8]等利用光学三角法获取扫描点的坐标,使用最小二乘法计算平面度误差,并在机械零件制造领域应用于测量镶块模具的平面度,对比接触式检测方法获得平面度精度误差小于20 μm的结果。刘许亮[9]等利用点激光测量的方式,获取被测件的连续坐标数据,使用最小二乘法对数据点进行拟合平面分析,并用非线性误差补偿进行优化计算出平面度,提高了测量精度,减少了检测时间,但没有有效地去除噪声数据。综上所述,在激光投线仪检测领域已有使用图像处理方式,获取激光线中心点,并与其水平相对的CCD相机所获取到的图像进行位置对比,计算偏差角度,但此方法并没有脱离传统人工检测的检测方法,无法测量空间坐标系下激光线的整体平面度。在机械工件检测领域,多使用最小二乘法拟合平面计算表面的平面度fLSM=d1-d2,其中d1和d2为距离基准面最远点的两个数据点到基准平面的距离。
针对以上问题,本文提出使用CCD工业相机采集光管内图像后,对采集到的空间内激光投射线图像进行图像处理,用图像滤波剔除干扰噪声点,并且针对有效像素点在空间坐标系内进行坐标转换,提出使用总体最小二乘估计方法拟合出最优的、无偏的三维空间内激光投射基准平面,与零件表面平面度不同,激光投射线的平面度,由图像中有效数据点的点与基准平面的方差表示。同时使用线性回归模型,探究经过平行光管入射后,激光投射线的平面度在不同位置上平面度的变化规律,并按照厂内对激光头的合格标准,模拟空间激光平面偏差20''的拟合平面,以此作为评判激光头投射线的合格标准。本文的研究在现有的检测装置的基础上,可计算激光线的平面度,从三维空间的角度提出一种激光线平面度的合格标准,将平面度检测从机械零件平面的检测拓展到激光投射线的平面度检测。
2 激光投射线平面度检测系统
2.1 激光投射线产生角度偏差原理
激光头是激光投线仪的核心部件,其中激光头所发射的激光线的平面度极为关键,结构如图1所示。内部的激光发射器激发出的平行的激光光束,经过与锥形镜面的反射,产生与激光光束成夹角的激光投射线,每个经过反射的激光线连接成最终的激光投射平面。
图1 激光头出射原理示意图
因为激光头内锥形镜面的生产加工过程中,无法保证镜面锥形的平整度,导致某个或几个方向激光发射器与棱镜之间出现微小的角度偏差,经过一定距离的传播,会使光线偏离激光的基准水平面,最终影响激光投射线整体的平面度,致使激光头质量不合格。
激光头的激光投射线误差是指,水平360°激光平面在分划板上偏离分划板零点的最大夹角。将待测激光头放置到检测台的中心位置,以激光头为中心,调节激光头下方的二维角位台,使其转动X和Y轴方向,使三个平行光管内的激光投射线接近分划板零点位置,待相机采集到的激光投射线画面稳定后,读取激光Di。然后将平行光管内的焦距L(单位:mm)代入公式,计算得到水平激光投射线的误差角度θ(单位:s):
2.2 检测系统的搭建及平面度检测流程
检测台的结构包括经纬仪水平矫正过的4根处于同一水平面的平行光管、放置激光头的角位台(可手动调节XY方向角度),每根光管的摆放位置相隔90°距离待测激光头500mm,如图2所示,其中平行光管焦距为550mm,在焦点处内置长2mm的分化刻度板,最小刻度为0.1mm;后置500万像素的CCD工业相机(共4个),通过Gige千兆网口与千兆交换机连接与电脑主机进行信号传输,电脑终端可采集4个平行光管内激光投射线投影在分划板上的图像。
图2 激光头来料入库检测台示意图
平面度检测算法流程如图3所示,首先针对校准好的平行光管内的分化刻度板做骨架提取,识别并记录分划板的中心坐标。然后将点亮的激光头发射的激光线调整至所有相机的可视范围内;其次,为了避免杂光对其平面度计算的影像,进行图像滤波处理及特征提取,分割出激光线的轮廓及确定主激光线条的所在像素位置,再对其进行空间位置内的坐标转换;最后,根据最小二乘法计算拟合的基准平面方程,并计算平面度,从而评判激光线质量的好坏。
图3 平面拟合算法流程图
3 激光平面度计算模型
3.1 分划板刻度线提取处理
对分划板定标时要关闭激光,并用均匀温和光线照亮分划板。其目的是提取分划板图像中的刻度线,以便确定每一个平行光管采集的图像中分划板线对的间距(像素值表示)及中心线的坐标值,标定每一根采样管的初始值。采用了自适应二值化、腐蚀、直线霍夫变换等图像处理方法。
针对获取到的刻度板图像,先转化为灰度图,并且阈值分割将灰度图转化为二值图,此处选择的阈值大小为90,选取最大面积的连通区域,将二值图像的形态学骨架特征选取特征元素B,此处因为是刻度线,故选用直线lines特征元素,对X进行连续腐蚀和开运算来求得。设S(X)表示X的骨架,Sn(X)为X的第n个骨架子集,则刻度板图像的骨架表达式为
式中,Sn(X)是图像X的第n个子集骨架,表示图像腐蚀运算符号,表示将X连续腐蚀n次,直到成空集前的最后一次。表示图像的开运算符号,表示用已经腐蚀过n次的图像X与特征元素B进行开运算。
从Sn(X)中区分出水平刻度线和竖直刻度线,经对其角度进行判断,设degn为第n个骨架的角度,若degn>a°,则为竖直刻度线,用SVn(X)表示,若degn>a°,则为水平刻度线,用SHn(X)表示。其中,设定a=15,遍历所有刻度线,取最长的竖直刻度线SHmax(X)和最长的水平刻度线SVmax(X),记录交点坐标(u0i,v0i)(i为相机编号)。骨架提取后的分划板刻度线图如图4所示。
图4 骨架提取后的分划板刻度线图
3.2 图像坐标转换
建立空间坐标系,以(0,0,0)即相机视野范围内分划板中点为对称中点,设每个方向上的激光线距离到对称中点的距离设为D。以每个分划板中心交点(u0i,v0i)为坐标原点,对区域内的像素点(uj,vj)进行坐标转换,引入转为相对与原点的位置坐标(xij,yij,zij),以下使用四个方向的像素图像坐标。
方向1坐标:
方向2坐标:
方向3坐标:
方向4坐标:
通过上述转化,将所有相机获取到的有效像素点(xij,yij,zij)变为点云坐标。
3.3 激光图象处理及提取特征
激光线提取时,得到了每一采样图像中激光线的中心线位置坐标,以此与对应的采样管的初始值做比较便可得到激光线的偏差值。关闭分划板上的光源,打开激光头,在黑暗条件下采集激光投射线图像,如图5a所示。对其进行RGB三通道分离,因激光投射线为绿色,故选择G通道的图像,如图5b所示,并转化成灰度图像。由于传播光光路可能出现噪声污染,并影响采集到的激光图像的质量,所以选用中值滤波的方法,选取由一个边长为2×Radius的正方形内的像素组成掩码,除去图像的噪声点,如图5c所示。再使用自适应二值化,选择亮区域即激光线有效区域,如图5d所示。由于分划板上的刻度线阴影会对提取激光线的质量造成影响,所以使用最小外接矩形作为激光线的选择区域,如图5e所示。经骨架提取后进行直线拟合,获取激光中心线,如图5f所示。
图5 图像处理后的激光线图
对二值化后的激光线有效区域内的像素点(uj,vj)进行坐标转换,转为以激光头位置为原点的点云坐标(xij,yij,zij)。并记录中心线与分划板原点的距离,以此表示一个方向上激光线与分划板中心之间的偏差值。
3.4 基于最小二乘法的平面拟合
经过推导,将求解的a,b,c带入平面方程z=ax-+by+c,从而计算出激光线拟合的最佳平面方程。
3.5 平面度计算方法
先将采集到的所有激光投射线的图像生成三维坐标系下的点云数据,并使用最小二乘法拟合平面的方法拟合出平面方程z=ax+by+c,图像内激光投射线的每个有效像素点到拟合平面的距(n为有效像素点个数),分划板一个最小刻度表示为θmm,最小刻度像素距离为dθ,并计算所有有效像素点到拟合平面的平均距离davg,计算公式为
最终,定义激光投射线平面度σ,表示方法为
4 实验结果与数据分析
在可采集范围内,放置合格的标准激光头,将采集到的4个方向上激光投射线的图像,经过滤波处理剔除噪点后,将有效像素点经过空间坐标转换后,带入到三维点云空间内,得到所有像素点的xyz坐标,再利用最小二乘法拟合得到激光基准平面的平面方程z=0.003x-0.026y+455.085,如图6所示。
图6 拟合基准平面的三维图
通过调整激光头摆放角度连续均匀地改变其X和Y轴方向的角度,记录每次平移后四个平行光管中激光投射线的中心线在分化板上到零点的总距离,以及经计算的拟合平面的平面度σ20,如图7所示。
图7 标准平面度与激光中心线距零点距离的关系图
最终拟合得到标准平面度与激光中心线距零点距离的关系方程为
4.1 实验结果
本文使用上述检测结构,每个分划板的实际视野大小为±1°,放置一个待测激光头于检测位置,手动调节其角度,使每个平行光管内的分划板都可看到清晰的激光投射线,相机采集到的图像经过图像处理后,如图8所示。
图8 4个方向采集到的实时画面
为了验证测量激光头平面度检测的稳定性,使用同一个偏差角度小于20''的合格激光头,在可视范围内体调节其摆放角度,将获取到的有效像素点经空间坐标转换,使4个方向的激光投射线带入到点云坐标系中,连续检测10次,记录每次检测计算的实际测量的平面度σ和标准平面度σ20,以及四个平行光管中提取到的激光投射线中心线在分化板上到零点的总距离ΔD,每次的检测结果为平面度差值即σ20-σ,结果为正数则都判定为合格激光线,若为负数则判定为不合格激光线,结果见表1。
表1 同一个激光头的平面度检测实验数据表
为了测试平面度评判标准对激光平面度检测的准确性,使用多组不同的经过人工检测后的激光头,利用上述方法测得的平面度计算结果与耗时数据见表2。
表2 不同激光头的平面度检测实验数据表
4.2 数据分析
对照实验结果表明,由表1可以看出,使用平面度指标针对同一个激光头进行不同位置的检测,得到的结果一致,重复检测的一致性良好,也验证本算法实现了在激光投射线不调整至刻度板零点,在视野范围内检测激光线平面度的可行性。并且通过前5组数据可以看出,在相同位置的检测结果稳定性更强,平面度差值浮动更小。
由表2可以看出,通过平面度检测激光投射线的水平平面度,合格的激光头的标准差σ20-σ的值大于0,且人工测量实际偏差角度小于20″。不合格的激光头的标准差σ20-σ,且人工测量实际偏差角度大于等于20″,这些数据表明该检测方法的准确性良好。由于取得有效像素点的数量不同,导致耗时会略有不同,平均耗时在1s以内。
5 结束语
本研究旨在开发一种针对具有平面特征对象的检测算法。采用平行光管的采图结构,结合骨架提取和滤波算法对获得的刻度板和激光图像进行处理。随后,运用最小二乘法在点云空间内对有效像素点进行平面拟合,并求解计算出每次测量的标准平面。通过计算平面度对激光线质量进行判定,并取得了令人满意的检测结果。
在提取激光有效像素点的过程中,通过滤除偏离激光主线较远的点,减少生成标准平面的平面度误差,从而提高了激光平面度检测的精度。本文提出的基于最小二乘法平面拟合的检测方法,只需要在保证所有结构经过经纬仪校准水平的前提下,每个方向可以采集到激光投射线的图像,无需将激光投射线全部调节至刻度板同一位置即可进行检测。相较于传统方法,检测效率得到了极大的提高。
该测量方法提出了一种新的激光投射线质量检测标准,从单一观测对比对向激光线偏差角度扩展到将激光投射线拟合成一个平面整体评判出射质量。这种方法可用于激光头来料入库检测,也可为激光头生产厂商提供新的检测标准。目前采样结构只能从4个方向采集图像,如果增加更多方向上的激光线采集图像,将使得空间平面内的有效像素点更加全面,从而更加精细地评判360°方向上的激光平面,这也是后续研究的方向。