使用非特制靶标实现线结构光平面标定

2021-03-23 15:45潘海鸿王耀玮徐大斌李睿亮
光学精密工程 2021年1期
关键词:云集靶标标定

潘海鸿,王耀玮,徐大斌,李睿亮,陈 琳

(广西大学机械工程学院,广西南宁530000)

1 引 言

检测技术在管控产品质量的过程中扮演着重要的角色,随着现代工业制造技术的不断发展,对于检测技术提出的要求也越来越高[1-2]。线结构光测量系统作为一种非接触式检测手段,在近几年取得了突飞猛进的发展,目前已经广泛地应用于三维重建、三维测量及无损缺陷检测中。线结构光测量系统主要由计算机、相机和线结构光光源组成,检测效率高、精度高、量程大[3-4]。该系统的测量精度与相机标定、结构光平面标定有着直接的联系[5]。

近年来对结构光平面标定方法的研究有很多。陈等[6]设计出一种三维立柱阵列靶标,将结构光投影在立柱端面上,再根据不同立柱之间的旋转、平移矩阵以及端面光条坐标完成线结构光平面标定,相对误差为0.57%。Liu等[7]提出使用球形靶标,利用空间圆锥和空间球交会的方法进行光平面标定,精度约为0.09 mm。Wei等[8]提出的三维平行线靶标,利用已知等距平行线求取平面消隐线的原理完成光平面标定,精度约为0.12 mm。这些方法都需要制作特制的三维靶标完成结构光平面标定。Xu[9]等利用六轴机器人将线结构光投影在标记点上,基于机器人的手眼标定算法构造并求解多次标定方程组,最后使用最小二乘法对该标定方程组进行优化,标定精度大约为0.2 mm。这种方法需要使用六轴机器人且需要对机器人各关节的转角值进行正逆运动学求解,从而增加了标定复杂度。有些研究者提出使用二维靶标完成标定。Wang[10]等使用平面棋盘格靶标,不断变换机器人姿态的同时进行拍照,共计在6个姿态下拍摄16张照片,再利用手眼矩阵以及相机参数完成结构光平面标定。这种方法仅使用棋盘格上的88个角点坐标完成标定,标定精度大约为0.4 mm。Li等[11]将结构光投影在棋盘格靶标边缘,通过改变激光器与相机的相对距离以及激光的投影方向,增加拟合点的数量,并使用RANSAC算法提升标定精度,标定精度约为0.25 mm。邱[12]等使用平面靶标,拍摄22~28张靶标照片,利用三线共面条件和结构光直线方程完成结构光平面标定,精度为0.1 mm。

上述标定方法需要制作二维或三维的特制靶标,增加了标定的复杂度。在缺少特制靶标的情况下,如何实现结构光平面的高精度标定成为一个急需解决的问题。为此,本文基于立体视觉原理和平面拟合算法提出一种结构光平面标定方法。该方法使用简易靶标(如工作中的易得物品)获取多组靶标姿态下线结构光平面上的点云集,利用拟合算法拟合多组点云集完成结构光平面方程的参数标定。对5种不同尺寸工件进行测量,验证了所提出标定方法的可行性。

2 线结构光测量系统与模型

线结构光测量系统主要由相机以及激光器组成。激光器投射一条线结构光在被测物体上,再由相机进行图像采集,如图1所示。其中点P为线结构光上一点,它在相机坐标系Oc-XcYcZc下的坐标为(xc,yc,zc)。点P在相机成像平面上映射的像点为p,其像素坐标系坐标为(u,v),图像坐标系下坐标为(x,y)。

图1 结构光测量系统模型Fig.1 Model of structural light measurement system

根据相机的成像原理,其成像模型为小孔成像模型,则有:

式中:dx,dy分别为图像x和y方向单位像素的物理距离;(u0,v0)为图像中心在像素坐标系下的坐标;f为相机的焦距。因被测物体上点P在线结构光平面Axc+Byc+Czc+D=0上,得到:

联立式(1)与式(2)可以得到线结构光投影在被测物体上的任意点P(xc,yc,zc)位置,如下:

综上所述,若已知相机的内外参数以及线结构光平面参数A,B,C,D,通过式(3)可求出线结构光投影在被测物体上任意一点的坐标。

3 立体视觉法标定结构光平面

3.1 立体视觉原理

基于立体视觉获取相机坐标系下任意点坐标的原理如图2所示,系统由相机1和相机2组成。

图2 视差法求解空间坐标Fig.2 Parallax method for spatial coordinates

线结构光在靶标上的投影记为线段S,点P为线结构光投影S上一点,它在相机1坐标系O1-X1Y1Z1下的坐标为(xc,yc,zc),对应像点在相机1图像坐标系下的坐标为P1(x1,y1),在相机2图像坐标系下的像点坐标为P2(x2,y2)。

根据相似三角形原理可得:

式中:b为两个相机之间的基线距离,左右视差d=x1−x2。

计算线结构光在靶标上投影点P在左相机坐标系O1-X1Y1Z1下的坐标,即有:

3.2 立体视觉法标定步骤

(1)将线结构光投影在靶标上,使用公式(5)计算出线结构光投影在靶标上形成的点云集C1;

(2)调整靶标至另一位姿,计算点云集C2;

(3)不断调整靶标姿态直至获取k(建议k>10)个点云集Ck。因点云集C1至Ck中的点都处于同一个结构光平面上,拟合所有点云得到结构光平面。

结构光平面拟合过程如下:

最后,根据式(6)计算拟合值a0,a1,a2得到:

式中n为所用拟合平面的离散点云个数。由此确定结构光平面。

4 实 验

4.1 实验平台与测试

搭建验证所提出标定方法的测试平台,测量系统由计算机、两台CCD相机、滤光片和线结构光光源组成,如图3(a)所示。计算机CPU型号为Intel(R)Core(TM)i7-8750H,工作频率为2.20 GHZ;两台相机型号均为映美精DFK33GP⁃006,分辨率为2 592×1 944 pixel,帧率为14帧/秒;线结构光发生器型号为富喆FU650AB100-GC16。将结构光测量系统安装在六轴机器人上,如图3(b)所示,相机及激光器接通电源。相机镜头前安装滤光片以减少环境光的影响,所拍摄照片通过网线传输至计算机。

其中,相机1的内参矩阵为:

相机2的内参矩阵为:

相机1与相机2的外参矩阵为:

相机标定结果通常使用重投影误差进行评估,重投影误差是指根据标定结果所计算的像点理论值与像点实际值之间的误差,本系统的平均重投影误差为0.081 pixel。由于拍摄距离大约为200 mm,在这个拍摄距离下,由重投影误差计算相机系统的误差大约为0.008 6 mm。

实验测试1:使用人体手臂充当靶标,将手臂置于结构光平面上(图4)获得点云(使用蓝色标出点云),采用3.2节中的标定步骤,调整靶标姿态20次,获取k=20个点云集(共计13 689个点),使用式(7)拟合出的平面方程系数,拟合出结构光平面方程1为:

实验测试2:使用304钢板充当靶标,将它放置在结构光平面上(图5),调整靶标姿态20次,使用20个点云集共计14 315个点进行拟合,使用式(7)拟合出的平面方程2为:

图4 使用手臂充当靶标Fig.4 Using arm as target

图5 使用304钢板充当靶标Fig.5 Using 304 steel plate as target

无论是使用人体手臂还是使用304钢板充当靶标,所得到的结构光平面方程的系数值非常相近。这是因为在实验过程中,结构光平面相对于相机位置并未发生改变,表明采用非特制靶标能够标定结构光平面系数。

4.2 标定精度验证

以制造精度为0.01 mm,边长为50,45,40,35和30 mm 5种正方形工件为测试对象(图6),验证由304钢板充当靶标所标定的结构光平面方程2的测试精度。

图6 五种尺寸的正方形工件Fig.6 Square work pieces of five sizes

图7 工件尺寸测量Fig.7 Workpiece dimension measurement

精度实验测试过程如下:将结构光投影在所测量工件的边缘处,记所投影工件尺寸的标称值为N,计算此时形成的两个特征点Q1和Q2的坐标(图7),分别为(x1,y1,z1),(x2,y2,z2),并计算Q1与Q2之间的距离此时工件边缘与线结构光已经重合,可认为测量误差E=|D−N|。

对这5种尺寸的工件均测量5次,获得Q1和Q2在相机坐标系下的坐标见表1,将每次测量后计算的D值与工件尺寸标称值N进行比较,结果见表2。

表1 不同工件的Q1,Q2坐标测量结果Tab.1 Measurement results for Q1 and Q2 coordinates of different workpieces

表2 工件尺寸D与误差的计算结果Tab.2 Calculation values of workpiece size D and error(mm)

因坐标精度取决于激光条纹的亚像素提取精度,亚像素提取算法的精度极限约为0.16 pix⁃el[13],所以Q1,Q2的提取精度也为0.16 pixel。本文中拍摄距离大约为200 mm,则相机的空间分辨率约为0.16×200/f≈0.02 mm,由表2可知各工件的尺寸测量结果与工件实际尺寸的误差均在0.1 mm以内,总体平均误差约为±0.056 mm,由此可以认为该方法的标定精度满足系统的理论测量精度。此外,在测量30,35,40和45 mm工件时,即使测量工件尺寸发生变化,测量工件的相对误差也一直在0.12%~0.15%内,未发生明显变化;在测量50 mm工件时,测量相对误差降为0.12%;5次测量的平均标准差为0.046 83。这些结果表明标定方法具有较好的可重复性与稳定性。

5 结 论

为解决线结构光平面标定需要使用特制靶标的问题,本文基于立体视觉原理提出一种使用非特制靶标的线结构光平面标定方法。在相机坐标系下搭建出线结构光测量系统,建立线结构光标定数学模型。该方法利用立体视觉原理获取线结构光投影在靶标上的点云集,使用拟合算法对点云集进行平面拟合获得线结构光平面的系数,最终完成平面标定。使用人体手臂和304钢板充当靶标,利用该方法完成结构光平面标定。最后,利用304钢板所标定平面测量5种正方形工件尺寸进行标定精度验证,实验结果表明该方法的测试精度约为±0.056 mm,相对误差约为0.15%,能够满足使用要求。

猜你喜欢
云集靶标标定
蓝营大咖云集
“百灵”一号超音速大机动靶标
云山图
使用朗仁H6 Pro标定北汽绅宝转向角传感器
纳米除草剂和靶标生物的相互作用
围攻云集品风波的背后
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
复杂场景中航天器靶标的快速识别
船载高精度星敏感器安装角的标定
精英云集