基于激光点标定和机器视觉的门窗洞尺寸测量

2022-07-09 01:41郑晓昱周惠兴王舜吕燕楠赵亢李昂
科学技术与工程 2022年15期
关键词:像素点阈值边缘

郑晓昱, 周惠兴,2*, 王舜, 吕燕楠, 赵亢, 李昂

(1.北京建筑大学机电与车辆工程学院, 北京 100044; 2.北京市建筑安全监测工程技术研究中心, 北京 100044; 3.北京建筑大学土木与交通工程学院, 北京 100044; 4. 北京六建集团有限责任公司, 北京 100143)

建筑行业的尺寸测量是依据行业内的验收标准,借助测量工具对施工现场进行测量,从而得到真实测量数据的一个过程[1]。在房屋的实际验收中,门窗洞尺寸的测量是整体室内测量非常重要的一个环节,超过允许范围的误差都会影响门窗的正常安装,影响门窗的正常使用。在实际工程应用中,测量房屋的尺寸都是采用人工测量的方式进行,采用卷尺或激光传感器作为工具进行测量。

近些年机器视觉不断发展,应用的场景已经从工业生产线扩张到建筑行业的施工测量中,与传统人工测量相比,视觉测量技术精度更高,受各种因素干扰影响小。杨桂华[2]等提出了一种算法将基于形状的模板匹配和金字塔搜索算法相结合,实现了对芯片引脚尺寸和缺陷的测量。刘斌等[3]针对丝网印刷样板种类和样式多,采用了一种由粗到细的测量测量策略,通过统计每一类待测目标模板的信息,按照统计出来的信息设置不同的阈值,提高了测量精度。丁凌等[4]提出了一种采用机器视觉技术的电池尺寸测量系统,通过电机控制工业摄像头沿着电池的边缘进行尺寸测量。涂伟等[5]提出了一种桥梁挠度动态测量方法,采用相机拍照测量基准靶标来搭建桥梁挠度实时测量系统。周俊杰等[6]提出了基于Zernike矩的磨损边缘检测算法,从亚像素的视角出发提高了加工刀具磨损量系统的测量精度。孙亮等[7]建立了一种基于机器视觉的大型球墨铸铁管直径测量系统,提出了一种基于领域灰度值差异的边缘检测方法。曹鹏勇等[8]建立了标准齿轮模型得到了齿轮得参考点云,再将齿轮目标点云和参考点云配准后获得齿廓偏差。

综上所述,机器视觉技术已经广泛地运用在测量领域,从原来在工业生产线上对工件进行缺陷检测和尺寸测量,扩展到日常生活中对不同物体的尺寸测量。针对实际场景中对于门窗洞的尺寸测量,提出一种基于激光点标定的视觉测量方法,通过计算两个激光点间的图上距离和实际距离之比,得到图上每个像素点对应的物理世界的尺寸,通过图像处理算法求出门窗洞的图上尺寸,便可测量得到门窗洞在物理世界中的实际尺寸,并且该方法能够实现在不同视距下对门窗洞的尺寸进行测量。在测量算法上,针对拍摄到的实际照片,先采用模板匹配的方法找出激光点和门窗洞的两个顶点的位置,再采用结合了大津算法的Canny算子检测出门窗洞的边缘,之后采用霍夫直线检测计算得到边缘直线表达式,通过四条直线表达式便可求出门窗洞四条边的图上距离,根据两个激光点标定得到的图像世界与物理世界的标尺,便可求出门窗洞的实际尺寸。最后通过在不同视距下的多组实验验证测量方法的误差和稳定性。

1 测量原理

在实际的工程应用中,测量门窗洞的尺寸都是用卷尺或激光测距器作为工具,测量时对门窗洞高度和长度的测量采用三次测量取平均值的方法。这种测量方法简单,快速,但这种方法也存在用局部测量数据表示整体测量结果、测量精度不高、位置高的地方测量不方便等问题。

为了提高测量门窗洞尺寸的速度和精度,本文提出了一种结合激光点标定和机器视觉的方法来测量门窗洞的尺寸。首先将两个激光传感器放置在摄像头的两侧,摄像头正对墙面进行拍摄。打在墙面上两个激光点间的实际距离就是两个激光测距块间的实际距离,通过图像处理算法可以计算出两个激光点间和门窗洞四条边的图上距离,通过已知的两个激光点间的实际距离和图上距离的比值,就可以计算出图上每个像素点在物理世界的实际尺寸,之后就能测量出门窗洞四条边的实际尺寸。本文采用双激光点标定图像世界与物理世界关系的原理如图1所示。

矩形DEFG代表的是进行测量的基准墙面,矩形NOPQ代表的是基准墙面上需要进行尺寸测量的门窗洞,矩形HJKI代表的是摄像头B的视场范围也就是摄像头在图1中所示视距下能够拍摄到照片的视野范围。

图1 测量原理Fig.1 Measurement principle

激光测距块A和C分别放置在摄像头B的两侧,打到基准墙面上的激光点位置分别是L和M,当摄像头和激光测距块系统正对基准墙面进行测量时,有关系式

LAC=LLM

(1)

式(1)中:LAC为激光测距块A和C之间的实际距离;LLM为激光测距块打在墙面上点L和M之间的实际距离。

图像的最小单位是像素点,激光点L和M在图像上是多个像素点组成的圆形像素块,通过数学方法计算找出激光点L和M在图上的像素块中心,之后就能检测出两个激光点之间的图上距离DLM。

通过两个激光点间的图上距离和实际距离,便可以计算出图上每个像素点的实际物理尺寸,再通过图像处理算法计算得到待测门窗洞NOPQ四条边的图上距离,就可以通过激光标定得到的标尺计算得到待测门窗洞NOPQ四条边的实际距离。计算公式为

(2)

式(2)中:比例系数I为实际距离与图上距离的比值,也就是图上每个像素点在物理世界中的实际尺寸;DLM为两个激光点间的图上距离;LLM为两个激光点间的实际距离。DNO、DOP、DPQ、DQN为门窗洞NOPQ四条边的图上距离;LNO、LOP、LPQ、LQN为的是门窗洞NOPQ四条边缘待测的实际距离。

2 测量算法

检测两个激光点间距离和待测门窗洞四条边的长度,采用的测量算法如图2所示。

图2 测量算法程序框图Fig.2 Block diagram of measurement algorithm

2.1 摄像头标定

摄像头在拍摄照片的时候会存在畸变,导致物理世界中的直线在图像中出现偏移。为了不使测量精度受畸变影响,采用张氏算法来矫正摄像头的畸变。张氏算法不同于以往的方法需要复杂且精度高的相机标定模块,只需要以打印出来的棋盘格纸为标定物,在不同视角不同视距下拍摄各种带有棋盘格照片,以这些照片为基准便可矫正摄像头的畸变[9]。

张氏算法矫正摄像头畸变的过程如下:

(1)从不同的角度和视距拍摄一组已经尺寸的棋盘格图像。

(2)检测图像中棋盘格交叉处的点,得到这些点的像素坐标作为标定的基准点,而且棋盘格纸中黑白格的大小已知,全部交叉点的物理坐标也就已知。

(3)根据标定角点物理坐标值和像素坐标值的关系,求解出内参矩阵、外参矩阵和畸变参数。

(4)通过求出的内参矩阵、外参矩阵和畸变参数便可矫正摄像头的畸变,矫正过畸变的摄像头拍摄的实验照片如图3所示。

图3 矫正畸变后拍摄的照片Fig.3 Photos taken after correction of distortion

本文研究对象是图3中的门洞,不同于窗洞,门洞的上下部分的特征不一致,在算法上需要针对不同特征分别处理,优先设计测量门洞尺寸的算法,所设计的整体算法简化之后便可应用在窗洞的尺寸测量上。

2.2 自适应阈值图像分割

图像分割的目的是将图像中待识别或者测量物体的边缘特征从整体图像中提取出来[10]。图像分割最简单直接的方式就是图像二值处理,先将拍摄到的图像转换为灰度图,再通过计算设定一个灰度值限,高于该值的灰度设为黑色,低于该值的灰度设为白色,最终显示的图像就只有黑白两种特征,便于后续检测边缘特征。

本文中拍摄的图像存在光照不均匀的问题,若采用传统的全局阈值算法,无法找出一个合适的全局阈值来分割整体图像。故从图像的局部区域出发,依据每个像素点领域范围内的不同像素块的亮度值来确定该点上的阈值,将该阈值作为图像分割的参考阈值。

先对像素点(x,y)周围3×3区域内九个像素点根据高斯函数按照他们离中心点(x,y)的距离采用亮度加权运算,得到像素点(x,y)局部领域块亮度的高斯加权和,该值便可作为像素点(x,y)二值化的阈值限。

计算出像素点(x,y)分割的阈值限后再用处理图像,公式为

(3)

式(3)中:dst(x,y)为二值分割后的亮度值;src(x,y)为原图中的亮度值;T(x,y)为像素点(x,y)领域亮度的高斯加权和,并作为二值化处理的阈值限。二值分割处理后如图4所示。

图4 自适应阈值Fig.4 Adaptive threshold

2.3 模板匹配

模板匹配是一项定位模板图片在待匹配图片中位置的技术[11]。为了消除实际拍摄照片中门洞以外的物体干扰后续的测量,采用模板匹配可以定位激光点和门窗洞上方两个顶点的图上坐标,便于后续检测门洞的边缘特征和边缘直线表达式,激光点的模板匹配过程如图5所示。

首先将带有激光点的图像作为模板图像,随后从待匹配图像的左上方开始切割出一块与模板图像相同大小的图像,计算该区域两个图像之间的标准平方差,公式为

图5 模板匹配Fig.5 Template matching

(4)

式(4)中:T(x,y)为该点模板图像的亮度值;I(x,y)为该点待匹配图像的亮度值;R(x,y)为该点两个图像的标准平方差。

之后再将模板图像从左上方到右下方每次移动一个像素单位的距离,计算每个位置的标准平方差,计算得到的标准平方差越趋近0,则表示该位置的匹配度更好,标准平方差最小的位置就是模板图片在待匹配图像中的位置。

模板匹配只是找出模板图像在待匹配图像中的匹配区域,之后还需要进一步检测出激光点的位置。抓住激光点的颜色和亮度特征,便可检测出激光点中心的坐标。门洞左上角和右上角的模板匹配过程与激光点一致,最后抓住二值化图像中门洞角边缘黑白分割的特征,检测出门洞左上方和右上方交点的像素坐标。

2.4 基于大津算法的Canny边缘检测

在实际测量应用中,门洞的底部情况总是比较复杂,会存在杂物的干扰,直接采用模板匹配的方法很难找到门洞底部的角点。在模板匹配找到门洞上部的两个顶点之后,便以这两个顶点为基准,对图像进行边缘处理,检测出边缘直线表达式。检测直线的算法必须在已识别出边缘的图像上使用,基于大津算法的Canny边缘算法过程如下:

(1)应用高斯模糊去除噪声,平滑图像。像素点(x,y)的亮度值为f(x,y),那么模糊处理后的亮度值将变为

(5)

式(5)中:σ2表示亮度的平均值。

(2)计算每个像素点水平、垂直和对角线方向的梯度值,梯度表示灰度值的变化程度和方向,计算公式为

(6)

(7)

式(6)中:Gx(x,y)为水平方向上的梯度值;Gy(x,y)为竖直方向上的梯度值;G(x,y)为梯度值的大小;θ为梯度值的方向。

(3)非最大值抑制的目的是将较宽的边缘筛选成一个像素点宽,它通过比较局部梯度从而保留局部最大梯度,同时去除其他较小的梯度值。

(4)传统的Canny算法需要人工输入高低阈值限来识别边缘,为了提高边缘检测的准确率和速度,本文中采用大津算法来计算高低阈值限。

大津法又被称为最大类间方差法,通过计算得到的阈值限将图像转化成前景和背景,计算两个部分间灰度值对应的最大类间方差值,类间方差值最大时的阈值就是确定高低阈值限的阈值[12],类间方差的计算公式为

w0+w1=1

(8)

u=w0u0+w1u1

(9)

g=w0(u0-u)2+w1(u1-u)2

(10)

式中:w0表示前景像素点个数占总像素点个数的比例;w1表示背景像素点个数占总像素点个数的比例;u0表示前景像素平均灰度值;u1表示背景像素平均灰度值;u表示图像总平均灰度值;g表示最终得到的类间方差。

(5)高低阈值限计算确定后,Canny算法的边缘识别是通过与高低阈值限进行比较来确定的。高于高阈值限的像素点就是边缘,低于低阈值限的就不是边缘,处于高低阈值限间的,若与边缘像素点邻接,也可以被认定为是边缘。

边缘检测出来的图像如图6所示。

图6 基于大津算法的Canny边缘检测算法Fig.6 Canny edge detection algorithm based on Otsu algorithm

2.5 霍夫直线检测

霍夫变换的原理是将直线从图像空间中的表达式变换到参数空间中的表达式,之后在参数空间中统计最大值,从而检测出边缘直线[13]。

在图像空间中直线的表达式为

y=kx+b

(11)

式(11)中:k表示直线的斜率;b表示截距。

在以k为横坐标、b为纵坐标的坐标系中,图像空间中的直线就变成了一个点,点就变成了一条直线,就把检测直线的问题转化为在参数空间中寻找交点。

霍夫直线检测就是先从边缘图像中提取识别出来的边缘上的众多点,再将这些点转化为参数空间中的多条直线,多条直线必定会相交于多个交点,统计每个交点经过的直线数量,最多直线经过的交点坐标即为图像空间中霍夫变换检测出来的直线参数,从而可以检测出边缘直线的表达式。

2.6 尺寸测量

采用上述的算法计算出门洞四条边的直线表达式,最终求出门洞四个顶点的图上坐标。两个激光点的图上坐标通过模板匹配方式求得,最终效果如图7所示。

图7 尺寸测量Fig.7 Size measurement

3 实验验证

采用1 300万像素的摄像头,拍摄分辨率为3 840×2 880的照片,在3 m视距以内,拍摄的图像中每个像素的尺寸都小于1 mm。摄像头的两端分别固定两个激光测距传感器作为实际测量的标定物。摄像头和两个激光传感器的控制都是通过树莓派来实现的,相比于电脑,树莓派体积小,重量轻,便于在实际的环境中应用。

所拍摄照片的门洞长为1 470 mm,高为2 413 mm,在1 500、2 000、2 500、3 000 mm视距下对其进行测量,1 500 mm视距下的测量结果如表1所示。

表1 1 500 mm视距测量结果Table 1 1 500 mm line-of-sight measurement results

分析上表数据可得在1 500 mm视距下门洞尺寸测量的平均误差为2.34 mm,最大误差小于4 mm。不同视距下测量结果的误差如表2所示。

上述实验结果表明,本文所提出的激光点标定的测量方法测量的平均误差为2.62 mm,最大误差小于5 mm。

表2 多个视距下的测量误差Table 2 Measurement error at multiple viewing distances

4 结论

提出了一种结合激光点标定和机器视觉的测量方法,克服了传统标定方法测量时需要在不同视距下重复标定的缺点,利用两个激光点间实际距离不变的特性,实现在不同的视距下实现对门窗洞进行测量。

针对实际拍摄的照片中杂物较多,光照不均匀的问题,提出了一种结合了模板匹配和自适应边缘检测的算法,在复杂的图像中检测出待测的门洞尺寸。通过实验验证,整体测量系统的测量平均误差为2.62 mm,最大误差小于5 mm,可以应用在实际的测量之中。

猜你喜欢
像素点阈值边缘
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
基于局部相似性的特征匹配筛选算法
改进小波阈值对热泵电机振动信号的去噪研究
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
一张图看懂边缘计算
在边缘寻找自我