APP下载

手持线激光扫描视频三维重建中的运动线提取算法

2016-08-05童晓冲卢学良安子阁孙阔原

计算机应用与软件 2016年7期
关键词:条纹摄像机坐标系

韩 硕 童晓冲 卢学良 安子阁 孙阔原

(信息工程大学地理空间信息学院 河南 郑州 450001)



手持线激光扫描视频三维重建中的运动线提取算法

韩硕童晓冲*卢学良安子阁孙阔原

(信息工程大学地理空间信息学院河南 郑州 450001)

摘要为解决目前三维扫描设备结构复杂、价格偏高、操作繁琐等问题,设计一种利用手持线激光运动扫描物体的视频三维重建方案,并针对视频中运动激光平面提取的难点问题,提出有效的解决方法。该方法基于每个像元邻近时刻视频帧中灰度信息的变化序列,内插出激光条纹边界过该像元的时刻,使用时间空间变换方法求解过每个像元的激光条纹所处的光平面,再利用结构光测量原理逐像素获取扫描物体表面的三维结构信息。使用该方法实现的视频激光扫描,可以方便地对多次扫描结果进行点云融合,有效地避免单次扫描造成的点云漏洞,且较传统结构光扫描过程中的线特征提取方法(曲线拟合法、Hessian矩阵方法等),具有获得的点云更加均匀规整、密度更高等特点,有利于后期点云数据的处理。

关键词线激光视频序列三维点云结构光测量

0引言

基于结构光的三维测量能够快速、非接触地获取被测目标的三维信息[1],该技术通过投影仪向被测物体投射一定编码的光栅条纹,然后获取变形的光栅图像,完成物体的三维测量工作。以激光三角测量原理为基础的线激光三维测量技术以大量程、速度快、效率高等优势[3],在实际应用中越来越受到青睐。目前大多数线激光三维测量系统依靠精密的机械传动装置控制激光器移动扫描被测物体,利用摄像机拍摄的视频帧,通过光条中心提取算法提取二维图像中激光条纹的中心坐标[4],利用相关的几何关系求解三维坐标。杨培[5]通过在机器人手臂末端安装线激光视觉传感器,利用立体视觉方法计算出目标物体的三维坐标数据。刘国文等[6]采用一个旋转平台,保持摄像机和激光器不动,完成三维测量工作。Banerjee[7]将线激光器安装在一个可旋转的扫描头装置上,利用一个微控制步进电机移动进行测量工作。通过分析现有系统的特点,主要存在下面几个方面的问题:

(1) 大部分系统都需借助复杂硬件系统的几何约束,其适用性、简易性存在一定限制。

(2) 在扫描工作中,由于激光光条宽度不同、光照不均匀及待测物体表面反射率的差异等原因,难以准确、有效地获取条纹中心坐标,并且采用光条中心获取的点云数据,更易受噪声影响[8]。

(3) 多次扫描得到的点云数据需要通过点云匹配方法才能进行配准。

为了克服传统线激光测量的缺陷,本文设计了一套方案,立足常规设备,经过简单的场景设置,在桌面上即可快速搭建系统,手持线激光器代替步进电机驱动,无需匀速运动,即可通过对视频拍摄数据的处理获得扫描物体的三维数据。在该方案中,针对视频中运动线构成的激光平面提取难点,提出一种有效的解决方法,其核心思想是根据每个像元邻近时刻视频帧中灰度信息的变化序列内插出每个视频像元对应的激光平面时刻,并使用时间空间变换求解过该像元所在的激光平面方程,最后采用结构光测量原理获得物体表面均匀的点云数据。

1桌面系统搭建与问题分析

1.1桌面系统搭建

该方法所需设备包括一个线激光发射器、一台CCD摄像机、两块平面板(或者桌面的夹角)以及打印的标定纸。选择平坦桌面作为实验场地,安置摄像机并固定,尽量保证被测物体处于像片中心,将平板H置于地面上作为试验工作台,平板V置于平面H后方作为参考板,系统构成如图1所示。

图1 桌面系统结构

1.2三维重建方法

选定参考坐标系,利用张正友标定法,标定出摄像机内外参数矩阵、畸变系数[9]。线激光发射器经透镜投射出一个激光平面,与被测物体相交形成激光条纹,由于物体表面形状的调制,激光条纹发生变形,借助平面H、V所在的平面方程,求出变形激光条纹所在的光平面方程,利用三角测量原理计算被测物体表面点的三维坐标[10,11]。

求解平面H、V所在平面方程方法类似,以水平面H为例进行说明,其求解过程如下:

(1) 设置参考坐标系OH-XHYHZH的坐标原点在水平面H上的棋盘格的左上角,OH-XHYH与桌面平行,ZH垂直桌面向上。根据摄像机标定步骤,求出摄像机坐标系与参考坐标系OH-XHYHZH的位置关系 。

(2) 设平面H的法向量nH=(0,0,10)T,可求出平面H的法向量在摄像坐标系下的方向为nHC(nx,ny,nz)。参考坐标系原点OH(0,0,0)在摄像机坐标下坐标为(Tx,Ty,Tz)。则平面H的平面方程可由下式计算得:

nx(x-Tx)+ny(y-Ty)+nz(z-Tz)=0

(1)

化简得:

a1x+b1y+c1z+1=0

(2)

同理可以求出平面V在摄像机参考坐标系下的平面方程为:

a2x+b2y+c2z+1=0

(3)

如图2所示,Oc-XcYcZc为摄像机坐标系,Oc是摄像机的镜头中心,点S是线激光的发射源,即线激光发射器,阴影部分表示红色激光平面。平面W为像平面,平面H为水平工作台平面,平面V作为参考平面。手持线激光发射器按照一个固定扫描被测物体,摄像机拍摄整个扫描过程。

图2 几何原理

图2为激光器扫描过程中某一瞬时t时线激光的扫描姿态,红色阴影部分表示激光平面,AB、BC、CD、DE、EF、FG为激光平面与场景的交线即为激光条纹,P为场景中物体上的一点,它在像平面上所对应的像点为p。像点p在摄像机坐标系下的坐标为(x,y,z),则对应的光线束方程参数形式表示为:

(4)

式中(p,m,n)为光线束的方向向量。

设定参考行r1、r2、r3(如图2中虚线所示)与激光条纹相交于x1、x2、x3。假设平面V、H在摄像机坐标系下的位置已知,利用xi对应光线束与平面V、H相交,求得参考点在摄像机坐标系下对应的三维坐标,根据求出的参考点坐标,采用最小二乘拟合激光平面在摄像机坐标系下的平面方程:

axc+byc+czc+d=0

(5)

联立方程式(4)、式(5),则物体表面点P的三维坐标就可以得到解算。分别对不同时刻下线激光对目标物体的扫描情况进行解算,即可获得目标物体的三维信息。

其核心思想是将传统的以条纹为基础的数据获取转变成以像素为基础的数据获取,其具体步骤包括:

(1) 利用已知像元尺寸、摄像设备焦距和像主点坐标的情况下,求出所有像元的光线束方向。

(2) 设置阈值确定激光条纹左右边界,计算像元a(i,j)(代表i行,j列像元)在整个视频序列中进入激光条纹右边界时间t1、离开激光条纹在左边界时间t2,通过时间内插求解出在时间t1、t2时激光平面方程(以下简称时间内插法)。

1.3关键问题与分析

线激光三维重建方法中相机标定方法,几何原理比较成熟,其最关键的问题是光平面的求解。现有的线激光三维扫描测量系统,通过求解激光条纹中心点坐标(以下简称光条中心法)拟合对应的激光平面方程,利用已知的光线束方向与激光平面相交求物体表面点的三维坐标。由于激光器发射的线激光并非理想的激光平面,在扫描时刻,与物体表面相交形成的激光条纹往往有若干像素,且激光光强分布不均匀,对于没有物体遮挡的激光条纹部分如图2中的AC、FG部分,通过光条中心提取算法,如hessian矩阵法[12]、高斯拟合法[13,14]等,可以高精度提取激光条纹中心坐标。但对于物体上的激光条,定位中心的难度随着物体表面的复杂程度急剧上升,且效率较低。另外,在本实验采用的手持激光器扫描物体的过程中,扫描的速度难以有效进行控制,按照传统激光条纹提取方法,必定会导致获得的点云数据分布不均匀,难以保证建模效果。

下文围绕视频数据中运动线构成的激光平面提取问题展开讨论。

2视频中激光平面提取方法

2.1确定激光条纹边界

图3 激光条纹与平面相交

为了重建三维模型,必须获得逐个激光平面在摄像机坐标系下的平面方程。激光平面并非理想的平面,而是具有一定厚度,与平面H、V相交将产生四条明显的直线v1、v2、h1、h2,如图3所示。

图4 视频立方体

对视频进行如下处理:把视频每帧按照顺序在k方向进行层叠(由于利用的是红色激光,默认处理的红色通道),如图4所示,x,y表示每帧像素的行列号,k表示视频帧序列,每个小方块的值为图像坐标系中每个像元在相应帧中对应的灰度值。

随着激光平面扫过物体,每个像素点a(i,j)都有自己对应的灰度变化信息,即从起初的最小值(没有激光扫过)变化到最大值(像素点在激光条纹内),激光扫过之后又回到原始的最小值。对任意像元其变化总如图5所示。

在高中物理教学中,教师们经常会碰到学生的学习情绪不稳定、学生成绩时上时下的现象.这是由于学生在物理学习的过程中遇到困惑或者是失败造成的.教师在物理教学的过程中应该时刻关注学生学习情绪的变化,帮助学生们不断地获得成功的学习经验,有利于建立他们的自信心,对物理学习保持高涨的情绪.教师在备课过程中,要结合学生实际的学习情况选择相应的教学内容,切不可为了教学进度而忽略学生的学习进程,选择适度的作业和试题,做到因材施教,让学生尝到学习物理成功的乐趣,树立学生的自信心.

图5 像元ai,j灰度值随帧序列的变化情况

对任意给定的像素a(i,j),我们定义vmax作为它整个视频扫描序列中的灰度最大值。

vmax(i,j)=max{v(x,y,t)}

(6)

其中v(x,y,t)表示时间为t(即为第t帧)时位置为第x行y列的像素灰度值。

此时,需要设置一个动态阈值vb=σ×vmax来确定激光条纹的边界,σ的选择将在第三节讨论。

选定参考行与激光条纹左右边界相交,以右边界第k帧为例,设参考行为r,在参考行上一定存在两像元满足v(r,j,k)>vb、v(r,j+1,k)

(7)

同理第k+1帧所在的激光条纹右边界所在的位置为:

(8)

由于无法从遮挡区域的像素获得任何的深度信息,同时为了减少计算量提高计算的效率,选择一阈值I0,做如下判断:

2.2计算激光边界进入和离开像元时间

激光条纹边界进入指定像元,其灰度变化信息如图5的前半部分,在整个视频扫描序列中一定存在两帧k和k+1使得v(i,j,k)≤vmid,v(i,j,k)>vmid。由于两帧之间相隔时间很短,可以认为两帧之间的运动是匀速的,利用时间内插可求出激光条纹边界进入像元ai,j的时间t1,其表达式如下:

(9)

激光条纹边界离开指定像元,其灰度变化如图5的后半部分,在整个视频扫描序列中一定存在两帧p和p+1使得v(i,j,p)>vmid,v(i,j,p+1)≤vmid,利用时间内插可求出激光条纹边界离开像元a(i,j)的时间t1,其表达式如下:

(10)

2.3激光平面计算

在整个扫描图像序列中选择参考行,利用式(7)、式(8)求出参考行与激光条纹右边界在第k帧和k+1帧的交点坐标j1、j2,利用式(9)求出每个像元与激光条纹边右边界相交的时间t1,求解出激光条纹在时间t1时边界的亚像素坐标:

y=(1-(t1-k))·j1+(t1-k)·j2

(11)

根据求出的激光条纹右边界的V1、H1上的三点像素坐标,求出对应的光线束方程,分别于平面V和H相交,即得到三点在摄像机坐标系下的坐标。已知过空间不在同一条直线上的三点可以拟合一个平面,求得激光条纹右边界在时间t1时刻下的平面方程为π(t1)。

与求激光右边界所在平面方程类似,我们可以求出激光条纹左边界在时间t2时的平面方程π(t2)。

2.4三维点云数据获取

为减少计算量,根据物体在视频图像中的尺寸,设置感兴趣区域,对每帧图像进行尺寸裁剪,计算出给定像元ai,j的光线束方程。根据已求出的激光条纹左右边界的平面方程,利用射线平面相交,即可解出该光线束所对应的三维点坐标。对左右边界平面上一系列的点进行相同的处理,即可获得两个点云数据集data1、data2,由于每个像素对应的的光线束不变,取两点云数据的平均值作为该点的三维坐标,通过多次扫描就可以有效提高点云数据的精度。

3实验与分析

本实验用以搭建简易桌面系统的实验设备:包括卡片相机(三星蓝调,带摄像功能)、激光器(LS610),摄像机的相关参数如表1所示。

表1 相机参数

实验数据:将一个机器人模型放在实验平台P上,扫描前拍摄一张图片作为背景图片如图6所示。手持线激光发射器从左到右尽可能以匀速扫描物体,摄像机同步记录扫描过程。利用数字减影法,将获取的每帧图像减去背景图像,获取红色激光条纹。

图6 背景图像

采用张正友标定法获得相机参数如表2所示。

表2 标定结果

其平移单位为mm。

将全部帧像素值加载到影像立方体中,选取像平面上的像元a(i,j)(i=130,j=165)为例进行说明,其在整个扫描序列中灰度随时间(视频帧)变化如图7所示。

图7 像元灰度变化曲线

横轴为时间即为视频的帧数,竖轴为灰度。由图7可知,像元a(i,j)在整个视频序列中灰度最大值。分别取σ为0.3、0.5、0.7、0.9,其显示效果如图8所示。

图8 不同阈值显示效果

通过对比发现,如果σ选择过小,激光条纹边界就会过宽,实验更易受到噪声干扰,导致提取出很多错误点。如果σ选择过大,激光条纹将过窄,利用左右边界提取点云数据也就失去了意义,而且当σ>0.9时提取的结果将出现更多地噪声点。因此,该文选择σ=0.5进行实验。利用式(9)、式(10)求得t1=16.398964、t2=18.500000。

已知同一时刻灰度值相同的点一定位于同一像平面上,选择第10、第100、第470行作为参考行与激光条纹相交,利用式(7)、式(8) 参考行与激光条纹右边界和左边界的交点结果如表3所示。

表3 参考点坐标

平面H、V平面方程已求出,利用射线平面相交求出参考行与激光条纹边界左右边界3交点在摄像机坐标系下的坐标,求出左右边界对应的激光平面方程分别为:

0.0101x+0.0155y-0.0122z-1=0

0.0097x+0.0150y-0.0121z-1=0

为验证本方法的有效性,分别利用高斯曲线拟合法、Hessian矩阵法和本方法在同等条件下获得点云数据,其有关信息如表4所示。

表4 三种方法对比

将背景图像图6颜色信息赋给点云数据,其显示效果如图9所示。

图9 三种方法实验效果

局部放大如图10所示。

图10 局部放大效果图

通过对比发现:在实际应用中,利用高斯曲线拟合提取光条中心,算法简单、点云提取速度快,但如果激光光条灰度分布不严格对称,会使求得的极值点发生偏离实际光条中心的情况,导致提取到许多错误点;Hessian矩阵法虽能高精度提取激光条纹中心坐标,但图像的每个点至少需要与二维高斯模板做5次高斯卷积[15],其运算量大,且仅适合文献[6-8]带机械传动装置的情况,而且同高斯拟合法一样,受激光器移动速度和摄像机帧率的限制,获得的点云数据存在明显的缝隙。相反,本文以像元为出发点,利用每个像元光线束与激光平面相交获得点云数据,实验结果表明该方法对物体表面反射率及噪声的影响不敏感,其点云质量无论其密度还是分布,都较传统的光条中心法有明显的提高。

传统的机械传动装置只能沿着固定的方向进行扫描测量,由于物体自身遮挡等原因,一次扫描存在大量的点云空洞。手持线激光器以任意的方向多次扫描,可以获得摄像机某一视角下最大数量的点云。以一个网球为例,在同一视角下,改变扫描方向进行两次扫描,对两次获得的点云数据进行融合,其效果如图11所示。

图11 多次扫描网球效果图

4结语

近年来随着3D打印技术的兴起,使用简单廉价的设备获取桌面物体的三维模型数据,为3D打印机提供数据支持,利用本方法进行三维测量工作,通过实验显示出良好的效果,具有广阔的应用前景。目前,仍如有如下局限:

(1) 多次扫描获取的点云融合成最终的点云时所选的融合策略,本文只是简单地对多次扫描的数据求平均值,没有考虑点云之间的权值分配问题。

(2) 对于生成的点云数据精度,目前尚缺乏具体的评定指标;在以后的工作中,针对具体的问题还需进行更深一步的研究。

参考文献

[1] Fu Yanjun,Wang Yonglong,Wan Meiting,et al.Three-dimensional profile measurement of the blade based on surface structured light[J].Optik-International Journal for Light and Electron Optics,2013,124(18):3225-3229.

[2] 孙宇臣,葛宝臻,张以谟.物体三维信息测量技术综述[J].光电子·激光,2004(2):248-254.

[3] 李波.结构光三维物体面形测量与重建技术研究[D].哈尔滨理工大学,2007.

[4] 冀光强.基于线结构光扫描的水下三维重建技术[D].中国海洋大学,2013.

[5] 杨培,徐滨士,吴林.基于结构光三维视觉的再制造工件的测量及重建[J].焊接学报,2005,26(8):12-15.

[6] 刘国文,闫达远.一种基于线结构光的三维视觉曲面测量方法[J].光学技术,2005,31(4):554-556.

[7] Banerjee S,Dutta S,Biswas P K,et al.A low-cost portable 3D laser scanning system with aptness from acquisition to visualization[C]// Digital Heritage International Congress (DigitalHeritage),2013.IEEE,2013:185-188.

[8] Liu Z M,Deng W Y,Lou X P.Extraction algorithm of light stripes center in the measurement system of structured light[J].Journal of Beijing Institute of Machinery,2009(1):42-45.

[9] 李彩林.基于结构光的手持式摄影扫描系统关键技术研究[D].武汉大学,2011.

[10] 沈杭锦,吴以凡,张桦,等.基于动态参数控制的结构光三维扫描系统[J].杭州电子科技大学学报,2013(6):53-56.

[11] 高世一,杨凯珍.变边限高斯拟合提取激光条纹中心线方法的研究[J].仪器仪表学报,2011,32(5):1132-1137.

[12] Steger C.An unbiased detector of curvilinear structures[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,1998,20(2):113-125.

[13] 孙盼庆,杨永跃,何亮亮.一种改进的高斯拟合法在光带中心提取中的应用[J].电子设计工程,2012,20(13):179-181.

[14] Lukás J,Fridrich J,Goljan M,et al.Detecting digital image forgeries using sensor pattern noise-art.no.60720Y[J].Proceedings of SPIE-The International Society for Optical Engineering,2006,6072:362-372.

[15] 王春艳.激光测量中光条关键技术研究[D].吉林大学,2014.

收稿日期:2015-08-14。国家自然科学基金项目(41201392)。韩硕,硕士生,主研领域:计算机视觉与三维重建。童晓冲,副教授。卢学良,硕士生。安子阁,本科。孙阔原,硕士生。

中图分类号TP391

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.07.036

MOVING LINE EXTRACTION ALGORITHM IN 3D RECONSTRUCTION OF HANDHELD LINE LASER SCANNING VIDEO

Han ShuoTong Xiaochong*Lu XueliangAn ZigeSun Kuoyuan

(InstituteofGeospatialInformationSurveyingandMapping,InformationEngineeringUniversity,Zhengzhou450001,Henan,China)

AbstractIn order to solve the problems of current 3D scanning equipment such as complex structure,higher price and complicated operations,we designed a 3D reconstruction scheme for the video of movingly scanning objects with handheld line laser,and proposed an effective solution aimed at the difficult problem of moving laser plane extraction in video.Based on the variation sequence of grey information in video frame at adjacent time of each pixel,the method interpolates the time the laser stripe boundary passing through this pixel,and calculates the light plane where the laser stripe of each pixel is on using time and space transform method,then it uses structure light measurement principle to acquire the 3D structure information of scanning object surface pixel by pixel.The video laser scanning implemented with this method can conveniently carry out point cloud integration on multiple scanning results,this effectively avoids the point cloud holes caused by single scanning process,and compared with the line feature extraction methods in traditional structure light scanning process such as the curve fitting method and the Hessian matrix method,etc.,the point cloud data obtained by this method has the features of more uniform and regular,higher density,etc.,which is conducive to point cloud data processing in later stage.

KeywordsLine laserVideo sequence3D point cloudStructure light measurement

猜你喜欢

条纹摄像机坐标系
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
解密坐标系中的平移变换
坐标系背后的故事
基于重心坐标系的平面几何证明的探讨
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
如何消除和缓解“摄像机恐惧症”
条纹,条纹,发现啦