1. 引言
当今社会,基于图像的视觉检测作为非接触式方法已成为一种新的自动化检测技术,常用的方法包括:激光三角法、双目视觉法、相位法等。其中,激光三角法是一种发展较早的非接触三维测量技术,其具有速度快、精度高、抗干扰能力强、结构简单、维护方便,但是其价格昂贵、产品通用性差,制约着激光测量技术在国内的推广与应用。线结构光视觉传感器因价格低、精度高,使用方便已被广泛应用。
常用视觉传感器标定主要分为传统标定法和直接标定法两种。传统标定法先建立几何成像数学模型,分步求解模型中的未知参数值,最后标定光平面与摄像机的位置关系。直接标定方法先设置标定点,建立亚像素物像索引表,再在物像索引表中查找一一相应的图像坐标,不需要建立几何成像模型。
本文在基于现有直接标定算法的研究基础上,提出了一种基于线纹尺的线结构光视觉传感器直接标定,设计了线纹式的平面靶标与特征点提取算法,通过获取已知三维空间坐标特征点的图像坐标,实现系统的直接标定。
2. 线纹式靶标的标定
2.1. 直接标定法原理
传统摄像机标定的基本方法是基于激光三角法测量,如图1所示。
分别做H1和M1到反射光H0M0上的垂线,得到点B和D,根据三角形相似原理,可以得到如下关系式:
(1)
即:
(2)
即:
(3)
y为被测物体表面高度的变化,x是像点M1和M2之间的相移,a是H0点的成像物距,b是H1点的成像相距。
在实际应用中的传统标定法,为了简化计算,常常忽略相机、线结构光中其他非线性畸变因素,从而标定精度较低,本文使用了不建立几何成像数学模型的直接标定法,直接建立三维空间坐标与图像坐标之间的映射关系,实现系统的直接标定,标定原理如图2所示。
Figure 1. Measurement principle of laser triangulation
图1. 激光三角法测量原理
Figure 2. Principle of direct calibration
图2. 直接标定方法原理
摄像机标定就是从二维图像获取三维信息,利用给定的标定点坐标(X, Y, Z)确定其相应的图像坐标(U,V)。选用4个特征点
,构成一个矩形区域,在像平面的对应点分别为
,缺失的矩形区域内的各像素点通过插值运算法获得,以获得与特征点一一对应的关系,这样建立该矩形区域的物像索引表I。为了确定不同高度的特征点c1、c2,,可在a1、a2所在平面与b1、b2所在平面之间增加标定面,相应特征点的增加,Z轴方向的标定精也随之提高,从而建立精度更高的物像索引表I。在实际测量中,将被测物体表面放置在矩形工作区域内,直接在I中查找对应的图像坐标,就可获得三维空间坐标进而完成测量。
2.2. 线纹靶标特征点的提取
摄像机标定中最常用的平面靶标主要有棋盘靶标、网格靶标和圆点阵列靶标等,本文设计了线纹靶标,由一系列的平行线组成,相邻平行线的间距为1 mm,为保证线结构光与平面靶标上的平行线垂直,在靶标左右两端设置一组对齐刻线用于调整线结构光,如图3所示。进行标定时,将线结构光投射到平面靶标上产生一条光条,光条与平行线相交形成一组交点,平行线之间的间距为1 mm,所得交点的点间距也为1 mm,因此交点即可作为标定所需的特征点 [1] - [10] 。
获取特征点在图像坐标系下的坐标,其步骤如下:
1、提取光条中心
固定线纹尺,开启线结构光,获取如图4(a)的有光条投射靶标图像;关闭线结构光,得到如图4(b)的无光条投射的靶标图像。对两幅靶标图像进行相减,得到如图4(c)所示光条的投射区域。图像坐标系U轴沿光条方向分布,图像坐标系V轴即为光条的宽度,本文设置在10个像素以内,在V轴的列方向用9 × 1的滑窗搜索,设阀值T = 100,计算每一列的灰度和,在进行搜索时,找到每一列滑窗内像素点的灰度和的最大值Max(sum(j)),且Max(sum(j)) > T时,取该滑窗中心点作为该列光条中心点Mj,在V
轴列方向区间设为
,为精确获得第j列光条中心的亚像素V轴坐标Cj,本文采用了灰度重心法 [10] :
(4)
2、提取特征点图像坐标
当已知光条中心V轴坐标点集ΩC时,使用1×4的滑窗逐列搜索图4(b)的点集ΩC,计算滑窗内像素点的灰度和分布曲线,并在灰度和分布曲线中的灰度和波谷,即黑色平行线与光条交点的U轴坐标。在提取过程中,首先对图4(b)采用2 × 2方形模块进行平滑处理。对提取出来的灰度和波谷点重复步骤1中的灰度重心法,提取更为精确的交点U轴坐标。结合步骤1得到的光条中心V轴坐标点集ΩC,即可得到特征点点集ΩP的图像坐标值(U, V),提取结果如图4(d)所示。
3、确定特征点三维空间坐标。
视场左侧的第一行是0刻度线,与光带的交点对应的第一行的x轴坐标是0,依次往右,可从等式(4)获得对应每个交叉点的三维坐标:
(5)
式中,d = 1 mm,
,n为特征点点集ΩP的元素个数。
(a) 有光条图像 (b) 无光条图像 (c) 提取光条 (d) 提取交点
Figure 4. Extraction of feature points
图4. 特征点提取
3. 标定过程及结果
为验证本文的标定方法的有效性,采用自主研发的线纹尺自动检定平台进行验证试验。标定Z轴高度为5 mm,标定X轴宽度为60 mm。
3.1. 标定过程
1、将线结构光视觉传感器安装在线纹尺自动检定平台上,将基于平面靶标制作成的线纹尺固定放置在位移平台的工作台上。开启线结构光视觉传感器,将线结构光投射到线纹尺上产生如图4(a)的光条,为保证光条在线纹尺两端的刻线上的读数一致并保证光条垂直于线纹尺上的平行线,可以调整线纹尺的位置。
2、采集三维空间坐标系XYZ平面上光平面内不同高度的靶标图像,分以下两步:
1) 确定Z轴的0基准面,调整位移平台Z轴的初始位置,使光条落在目标图像索引表的起始位置。
2) 以0.05 mm的步进距离操作位移平台以改变Z轴的位置,并在同一位置上,获取有光条投射和无光条投射两幅靶标图像。
3、提取靶标图像的特征点,得到各个Z轴上的特征点的三维空间X轴坐标和图像坐标值(U,V)坐标值。
4、建立一个二维数组I,确立的图像坐标值(U,V)与三维空间坐标值(X,Z)之间的对应关系。由于Z轴步进距离和相邻平行线间距的限制,相邻特征点元素在二维数组I中可能存在无赋值的元素,使用插值运算进行赋值,本文采用的是基于三角形的三次插值法。
3.2. 实验结果
1、对Z轴高度的精度分析:将线结构光视觉传感器已标定的工作区域分成8个区域,由于量块材料的高反光性,会在实验过程中会产生光斑,测量区域没有使用中间区域。测量时用1.0000 mm的量块放置于工作台划分的区域上,测量高度为量块中心平面与工作台之间的高度差,重复测量多次,实验结果如表1所示。
2、对Z轴宽度的精度分析:在上述标定的工作区域,实验测量点为光条与平行线的交点,重复测量多次,部分实验结果如表2所示。
综合以上实验结果可知,采用文中提出的直接标定新方法标定的线结构光视觉传感器在Z轴、X轴方向上均具有较高的测量精度,Z轴方向的测量误差均值为0.053 mm,X轴方向的测量误差均值为0.180 mm,初步验证了标定方法的有效性。
4. 结束语
本文对平面靶标的直接标定法进行了改进,设计了基于线纹尺的平面靶标与特征点提取算法,不需要建立几何成像数学模型,通过获取已知三维空间坐标特征点的图像坐标,建立亚像素物像索引表,直
Table1. Measurement data in Z axis
表1. Z轴测量数据
Table 2. Measurement data in X axis
表2. X轴测量数据
接在物像索引表中查找相应的图像坐标,得到相应的三维空间坐标实现系统的直接标定。该方法在自主研发的线纹尺标定实验平台上进行了验证,与传统方法相比,它具有更好的灵活性和实用性,易于操作和实现。实验证明,能够满足工业生产与测量的基本需求。