APP下载

基于线结构光和单应性的点云获取方法

2018-10-08,,

浙江工业大学学报 2018年5期
关键词:条纹控制点标定

,,

(1. 浙江工业大学 计算机科学与技术学院,浙江 杭州 310023;2. 浙江工业大学 国际学院,浙江 杭州 310023)

点云获取作为一项基础技术,常被应用于逆向工程[1-3]、测绘遥感[4-6]、工业测量[7-8]、体感技术[9]和农业[10-12]等领域.

点云获取方法分为主动式和被动式两类,其中主动式方法主要分为结构光法、飞行时间法和激光散斑法,被动式方法主要基于立体视觉的原理,利用视差求解测量点的深度信息[13].一般地,基于立体视觉的点云获取方法需要进行图像间的特征点匹配,因此不适用于表面特征点较少或难以匹配的被测物[14].飞行时间法需要对激光脉冲的往返时间进行高精度的计时,对设备的要求较高[15].而基于线结构光的点云获取方法作为一种主动式、非接触的测量方法,具有无破坏性、精度高、实时性好和抗干扰能力强等优点[16-17],因而被广泛采用.

1 传统的线结构光测量方法

传统的基于线结构光的测量系统,需要事先完成相机标定,得到相机内外参数和畸变信息.内部参数表示了相机坐标系和图像坐标系之间的映射关系,外部参数表示了世界坐标系和相机坐标系之间的映射关系.然后令线结构光投射被测物,令相机采集光条纹图像,根据线结构光和相机的空间几何关系进行建模.现有方法主要依据两种模型,即三角测量模型[18-19]和透视投影模型[19-20].

结合相机的内外参数和建模得到的空间几何关系,确定光条纹的二维图像和被测物的三维坐标之间的映射关系,从而计算出被测物表面的三维点云.

1.1 相机标定

基于标定物的相机标定方法,需要已知尺寸的标定物作为参照.常用的标定物有等间距实心圆阵列图案[20]、国际象棋盘图案[21]等.利用张正友标定法[22]或其他方法可以求解相机内外参数.除了这类方法,还有相机自标定法[23]、主动视觉相机标定法[24]等.

尽管现在相机在出厂时已经内置了去畸变的方法,但是由于传统的线结构光测量模型的精度需要,必须求解理想图像平面与实际图像平面之间的变换关系[25],因此相机标定步骤对于传统的线结构光测量方法是必不可少的.一般地,相机标定只考虑对相机成像影响最大的径向畸变[26],所得到的畸变矩阵与相机镜头实际的物理特性难以做到完全吻合.

1.2 三角测量模型

线结构光的三角测量模型如图1所示.

图1 线结构光的三角测量模型Fig.1 Triangulation model of linear sturctured light

基于相机的小孔成像模型[27],某测量点Pw(xw,yw,zw)在图像中的投影为点Pi(xi,yi).该测量点的三维坐标为

(1)

式中:d为线结构光光源与镜头中心的距离;θ为线结构光投射方向与相机光轴的夹角;f为镜头的焦距.

1.3 透视变换模型

线结构光的透视投影模型如图2所示.

图2 线结构光的透视投影模型Fig.2 Perspective projection model of linear structured light

某测量点Pw(xw,yw,zw)经过相机内外参数的变换,在图像平面中映射为点Pi(xi,yi),此时Pw,Pi,相机光心Oc三点共线.因为Pw也是光平面中的一点,该测量点的三维坐标为

(2)

式中:λ为比例系数;A为相机的内部参数;R,T分别为从世界坐标系到相机坐标系的旋转矩阵和平移矢量,即相机的外部参数;a,b,c,d分别为光平面方程的4 个系数.

2 基于单应性的点云获取方法

传统的线结构光测量方法对于相机标定精度非常敏感.根据传统测量模型的特点,对于标定物的测量误差或其他因素导致的相机标定误差,将在测量结果中被迅速放大[28].为此,笔者提出了一种不需要相机标定的点云获取方法.该方法不经过相机坐标系,以单条线结构光投射被测物,直接计算光平面在图像坐标系与世界坐标系之间的映射关系,从而将光条纹的二维图像变换为三维坐标.

2.1 4 个控制点的设置

为了计算线结构光光平面在坐标系之间的映射关系,需要在光平面中设置4 个控制点,并获取这4个控制点在世界坐标系中的空间坐标和在图像坐标系中的像素坐标.

笔者利用2 块相互平行且与线结构光投射方向垂直的平板,在空间中设置所需的4 个控制点.令线结构光线段分别投射至这2 块平板,空间中将产生2 条相互平行且不等长的光条纹线段,如图3(a)所示.令这2 条光条纹线段的共计4 个端点为控制点,以其中1 个控制点为世界坐标系原点,线结构光扫描方向为世界坐标系x轴方向,光条纹线端方向为y轴方向,线结构光投射方向为z轴方向,建立三维世界坐标系.根据刻度尺测量得到的光条纹长度、平板间的距离和线结构光的投射距离等信息,计算出这4 个控制点的空间坐标.令相机以固定视角分别采集得到这2 条光条纹线段的图像,对其进行中心线提取操作后,提取4 个端点,从而获得这4 个控制点在图像中的像素坐标.

另一个十分有效的方法是基于Dewar[29]和West[30]等的“拉丝法”.如图3(b)所示,在空间中设置4 条平行的细丝,并令它们垂直于光平面,为方便后续计算,可令其构成1 个矩形.线结构光投射在这4 条细丝上将产生4 个光点,并被相机同时捕捉,由此得到4 个控制点的像素坐标.与双平面法类似,以某一光点为世界坐标系原点,根据刻度尺测量得到的空间中4 条细丝的间距等信息建立三维坐标系,并由此确定4 个控制点的空间坐标.

图3 4 个控制点的设置Fig.3 Arrangement of four control points

2.2 单应性的计算

在计算机视觉领域,对于空间中同一平面,以不同视角观察所得到的两张图像,它们之间的映射关系被称为单应性(Homography).

对于线结构光光平面,假设其可见,它在相机中所成的图像与其空间中的正视图能够被1 个单应矩阵联系起来,即对于光平面中的任意一点,其在图像中投影点的像素坐标(x1,y1)与其在空间中正视图的坐标(x2,y2)应满足

(3)

式中:H为单应矩阵,它是1 个3×3的矩阵;h11,h12等为H的元素.如果令其乘以任意一个非零比例因子,原有的单应性不会受到影响,因此一般令矩阵右下角的元素h33=1以实现归一化[31].在单应矩阵的9 个元素中,有8 个元素能够自由取值,即1 个单应矩阵具有8 个自由度.

式(3)写成非齐次形式为

(4)

由式(4)可知:每一个控制点的像素坐标和空间坐标可以提供关于所求单应矩阵元素的2 个方程.为了计算所求单应矩阵的唯一解,即为了求解8 个未知数,至少需要4 个控制点提供8 个方程.利用2.1节方法,在空间中设置4 个控制点,并获得它们的空间坐标和像素坐标,代入式(4),并以直接线性变换(DLT)[31]或奇异值分解(SVD)[32]等算法,计算所求单应矩阵.

2.3 深度信息的获取

令线结构光投射于被测物表面,利用相机在适当位置采集光条纹图像,该图像可以被看作是光平面在相机中所成的像,且光平面与被测物相交,截交线(Line of section)即是光条纹.

图4 利用单应性获取深度信息示意图Fig.4 Illustration of acquiring depth information using homography

根据事先在光平面中设置的4 个控制点,计算将相机采集到的光平面斜视图变换为正视图的单应矩阵,并校正图像中的透视失真,如图4所示.变换后的光条纹图像与被测物真实的截面图为放缩关系,且放缩变换的比例因子可由控制点间的像素长度与实际长度计算得到.然后根据之前建立的三维坐标系,确定此时光平面的位置,从而将光平面正视图联系到三维坐标系,并将光条纹上的点转换成空间坐标.

2.4 相机位置的选取

相机的位置和朝向决定了它所能采集到的光平面的范围,如图5所示(为了效果更好,给光平面添加了网格),图5中4 个标记点表示以2.1节中双平面法在空间中光平面上设置的4 个控制点.如果令相机光轴与线结构光投射方向较平行,则可以采集到较大范围的光平面,这在测量过程中体现为量程较大.但是因为相机分辨率的限制,量程越大,测量精度越低.相反地,如果令相机光轴与线结构光投射方向较垂直,则量程变小,测量精度变高.

图5 相机位置的选取Fig.5 Options of camera’s position

因此,对于不同的测量需求,可以适当改变相机的位置和朝向,以达到测量范围与测量精度之间的平衡.因相机移动,使其与光平面的相对位置发生改变,所以需要根据4 个控制点在新视角下所成像的像素坐标重新计算单应矩阵.

2.5 线结构光扫描方式

经过之前的工作,可以将线结构光在被测物表面的光条纹还原为被测物的深度信息.为了获得更完整的点云数据,需要令线结构光扫描被测物.一般地,如图6所示,有4 种扫描方式:1) 固定相机,平移线结构光;2) 固定相机,旋转线结构光;3) 固定两者的相对位置,一起平移;4) 固定两者的相对位置,一起旋转.

对于1 个N帧的待测图像序列,图6(a,b)需要计算N个单应矩阵,效率较低.而图6(c,d)因为相机与线结构光光平面的相对位置没有发生改变,所以只需计算1 个单应矩阵.另外,图6(b,d)因为在空间中进行了旋转操作,所以需要利用极坐标系进行适当的坐标修正.例如笔者实验中采用投影仪作为线结构光的光源,可以看作是以图6(b)进行线结构光扫描.

图6 线结构光扫描方式Fig.6 Methods of scanning by linear structured light

3 实验结果

实验采用MP-CL1型投影仪作为线结构光的光源.因为单应性的计算和应用均不需要对相机进行内外参数的标定,在测量过程中只需保持投影仪与相机的相对位置不变,对相对位置本身没有要求,所以实验中使用普通智能手机和三脚架进行图像采集.

3.1 精度测试

为验证笔者方法的有效性,实验中分别以球体、圆柱体和长方体为被测物进行精度测试.实验环境和点云获取结果如图7所示.

图7 精度测试实验及结果Fig.7 Precision testing and results

得到点云数据后,分别对各个物体的点云进行拟合,计算出物体在空间中的位置,然后以物体的实际尺寸对点云进行误差分析,结果如表1所示.实验证明:即使测量过程中使用刻度尺或平面稍不平整,产生了较大误差,但是笔者方法所得到的结果仍然具有较高的精度,即笔者方法具有较强的鲁棒性.

3.2 点云获取实验

依据笔者方法,分别对苹果、香蕉和盆栽进行点云获取实验.实验环境和点云获取结果如图8所示.由于遮挡问题,一次扫描只能得到被测物的部分点云.因此需要适当移动被测物或扫描系统以获得多组数据,经点云配准可以得到关于被测物的更完整的点云.

表1 表面点云获取实验的误差Table 1 Errors of the point cloud acquisition

图8 点云获取实验及结果Fig.8 Experiment of point cloud acquisition and results

4 结 论

提出了一种基于单应性视角变换的点云获取方法.利用单条线结构光投射出光平面,通过单应性将光条纹图像直接变换为被测物截面图,从而读出被测物的深度信息.实验证明了该方法的有效性.相比传统线结构光测量方法,笔者方法的主要优点:1) 不需要相机标定.因为单应性的计算和应用与相机的内外参数无关.求解单应矩阵,即可不经过相机坐标系,完成从图像坐标系到世界坐标系的直接映射.2) 适用范围广.通过调整相机位置,可以按需求进行测量范围和测量精度间的取舍.3) 鲁棒性强.笔者方法原理简洁,容错性强.即使使用较粗糙的器材仍然能够达到可观的精度,可用于以低成本快速搭建三维点云获取系统.

猜你喜欢

条纹控制点标定
顾及控制点均匀性的无人机实景三维建模精度分析
使用朗仁H6 Pro标定北汽绅宝转向角传感器
谁是穷横条纹衣服的人
CT系统参数标定及成像—2
CT系统参数标定及成像—2
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
NFFD控制点分布对气动外形优化的影响
基于MATLAB 的CT 系统参数标定及成像研究
ECAS下线检测及标定系统开发