基于激光三角法的旋转水下物体三维重建方法

文档序号:25526233发布日期:2021-06-18 20:15阅读:183来源:国知局
基于激光三角法的旋转水下物体三维重建方法

本发明属于计算机视觉三维重建技术领域,涉及一种基于激光三角法的水下物体三维重建方法。



背景技术:

随着计算机视觉领域的不断发展,三维重建成为了研究的重点,三维重建技术就是要在计算机中真实地重建出物体表面的三维虚拟模型,把真实场景刻画成符合计算机逻辑表达的数学模型,相比于二维图像,三维模型能够提供物体的深度数据,从而能够全方位的展现物体特性,这种模型可以对文物保护、生物研究、建筑设计、临床医学等研究起到辅助的作用。

在所有的三位重建方法中,基于线结构扫描的方法具有测量范围较广、测量效率高、结构简单等优点,在工程测量领域前景广泛。除此之外,水下目标三维探测作为海洋研究及开发中的非常重要的一项技术,受到各国科研机构和政府的重视。传统的水下目标探测技术以声学测量为主,但是声学测量技术因其固有的物理特性使其较难满足实时高精度水下目标的三维探测及重构的任务。而以光学测量技术为基础的水下光电探测技术集合了当前高速发展的计算机视觉技术、激光技术、数字图像处理技术、电子与信号处理技术等,同时应用范围也越来越广。常规的激光三角法以线结构光平移扫描完成物体表面数据采集,考虑到仪器在水底移动不便,以及常见的激光扫描设置为一端是相机一端是激光器,由于仪器精密原因可能会导致光心与旋转轴无法重合,现在亟需研发一种可以通过旋转轴标定来去除误差的线结构光旋转扫描的方法。



技术实现要素:

本方法针对当前线结构光扫描采用平移横向扫描,根据仪器移动不便时无法完成物体表面扫描的局限性,提出了基于激光三角法的旋转水下物体三维重建的方法,该方法通过围绕旋转轴旋转来旋转扫描物体,并结合新提出的一种算法使得相机光心与旋转轴通过标定完成重合。

基于线结构光旋转扫描的水下三维重建的方法,其特征是包括以下步骤:

s1.水下相机参数标定

将相机(1)与激光器(2)分别通过支架(3)固定在转轴(4)上,首先保持相机(1)与激光器(2)在拍摄过程中相对位置保持不变;然后从不同角度拍摄标定板,标定相机的内参、外参以及畸变参数;

s2.转轴标定

进行转轴标定,将相机坐标系下的物体表面三维坐标转到转轴坐标系;

(k1)固定标定板,相机绕转轴旋转,拍摄一组连续的照片;

(k2)求得相机光心在标定板坐标系下的三维坐标:

p=r*pw+t(1)

pw=r-1(p-t)(2)

p表示相机光心在相机坐标系的三维坐标,pw表示相机光心在标定板坐标系下的三维坐标;r表示旋转矩阵,t表示平移矩阵,均通过s1的标定而得到;因此公式1即pw经过旋转、平移之后得到p;

因为相机光心在相机坐标系下的坐标为原点,所以公式2进一步表示为公式3:

pw=r-1*(-t)(3)

(k3)定义转轴坐标系:以第一帧时刻的转轴坐标系为绝对转轴坐标系,其他时刻为相对转轴坐标系;根据不同时刻下光心的位置拟合出一个空间圆,确定出圆心和半径;并定义圆心和相机光心的连线为x轴,空间圆所在平面的法向量为y轴,根据叉乘确定z轴;

(k4)旋转轴坐标系定义在标定板坐标系时的关系:

旋转矩阵r,平移矩阵t可以通过相机标定得到,r'和t'就可以通过公式(2)求得;

pw=r-1(p-t)(2)

(k5)转轴坐标系定义在标定板坐标系时的关系:

转轴坐标系是定义在标定板坐标系下的,可以通过三维空间几何坐标变换矩阵求得:

设原相机坐标系oxyz的原点为(0,0,0),新的转轴坐标系o’x’y’z’原点在原相机坐标系下的坐标为(x0,y0,z0),相对原坐标系其单位坐标矢量为:

u′x=(u′x1,u′y1,u′z1)

u′y=(u′x2,u′y2,u′z2)

u′z=(u′x3,u′y3,u′z3)

将标定板坐标系下的坐标转换成新的转轴坐标系下的坐标,可由以下两步完成,第一步,平移标定板坐标系,使其原点与转轴坐标系的原点(x0,y0,z0)重合;

平移矩阵为:

第二步,利用前述单位坐标矢量构造坐标旋转矩阵

有了从原相机坐标系到标定板坐标系的旋转矩阵r和平移矩阵t,又有了从标定板坐标系到转轴坐标系的旋转矩阵r1和平移矩阵t1,就可得到从相机坐标系变换到转轴坐标系的旋转矩阵r2和平移矩阵t2,从而完成物体表面三维点从相机坐标系到旋转轴坐标系的转换,从而将相机的光心假设在旋转轴中心,完成旋转轴标定;

s3.水下激光平面标定:进行水下拍摄时,首先开启激光线,取激光线上任意两点的像素坐标(u1,v1)、(u2,v2);根据从归一化平面坐标系转换到像素坐标系的公式(4)、(5),反向求得两点在归一化坐标系下的坐标:

其中,u为像素横坐标,v为像素纵坐标,cx,cy表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,(xc,yc,zc)表示相机坐标系下的坐标,为归一化坐标系下的横坐标,为归一化坐标系下的纵坐标,fx和fy是相机在x、y方向的焦距;

通过公式(6)和(7)可以得到归一化平面坐标系坐标;

通过s1的标定,得到的旋转矩阵r和平移矩阵t是从标定板坐标到相机坐标系的外参,

[xc,yc,zc]t表示激光线上的点在相机坐标系下的坐标,[xw,yw,zw]t表示激光线上的点在的世界坐标系下的坐标,r是旋转矩阵,t是平移向量;

所以可以得到从相机坐标系->标定板坐标系的转换

因为标定板平面在世界坐标系下的zw=0,所以公式(9)等号右侧中,旋转矩阵的逆矩阵第三行与右侧矩阵相乘后为0,即:

r31*xc+r32*yc+r33*zc–(r31*tx+r32*ty+r33*tz)=0(10)

公式(10)即标定板平面在相机坐标系下的平面方程,

令r31=a,r32=b,r33=c,d=(r31*tx+r32*ty+r33*tz),该平面方程可简化为:

axc+byc+czc+d=0(11)

根据小孔成像原理:

其中,x′是物理平面上的横坐标,y′是物理平面上的纵坐标,fx和fy是相机在x、y方向的焦距,得到:

将公式(14)、(15)代入公式(11)所示的标定板平面在相机坐标系下平面方程中:

得到

又由公式(12)、(13)的变形:

得到:

将公式(6)、(7)得到的归一化坐标系下坐标代入,可得:

因此求得zc即可通过公式(6)、(7)分别求出xc和yc,得到前述步骤提取的激光线像素点在相机坐标系下的三维坐标,通过多个点的三维坐标就可以拟合出激光平面在相机坐标系下的平面方程:

a1xc+b1yc+c1zc+d=0(21)

s4.水下图像采集和处理:

打开相机和激光器,使其一直处于开启状态,由于相机与线激光器设置在旋转轴上,每旋转一个间隔角度,相机拍摄到一张线激光打在待重建物体的照片,从而实现了旋转扫描;提取图片中激光线上所有点的像素坐标;

再利用水下相机折射模型进行矫正:

假设n为水的折射率,u为相机原点到玻璃界面的距离,(xc,yc,zc)为相机坐标系下的真实点的三维坐标,(xv,yv,zv)为水下折射的虚点坐标,两者之间的关系使用以下关系表示:

xc=xv(22)

yc=yv(23)

将上述关系式代入公式(21)激光平面在相机坐标系下的平面方程,从而得到物体在激光线上的点在相机坐标系下的三维坐标;再旋转扫描物体整个前表面,从而得到物体前表面在相机坐标系下的三维坐标;

s5.水下激光旋转扫描三维成像

坐标变换需要做的是将同一物体点在多个视角下对应的像素点进行关联,选择第一帧的转轴坐标系为世界坐标系,将其他帧的转轴坐标系转换到第一帧转轴坐标系中,变换到第一帧转轴坐标系下;

当仪器绕y轴进行旋转时,

假设从x-z平面变换到x’-z’坐标系,可以通过分量形式来求旋转矩阵:

x=x’cosθ+z’sinθ(25)

z=-x’sinθ+z’cosθ(26)

转换成矩阵的形式:

通过s2的转轴标定步骤可以得到相机坐标系与相对应的转轴坐标系之间的平移向量t2,因此可以通过其他帧的平移向量t2与公式(25)所示的旋转矩阵将每一帧图像统一到第一帧图像的坐标系下;从而对步骤s4得到的物体表面真实点三维坐标实现了拼接;

s6.点云重建

将物体表面真实点三维坐标转换为点云数据并进行点云填充,完成物体表面三维重建。

本发明将单个相机与单个激光器组成摄像装置用于图像采集。摄像装置的激光发射器和相机的位置相对固定。本发明使用所描述的摄像模块,在旋转扫描状态下,对目标物体采集图像图像采集的过程中,激光发射器一直处于开启状态,然后根据采集的图像序列,使用本发明提出的旋转轴标定方法,对图像中的目标物体进行三维重建。

本发明所提出的基于激光三角法的旋转水下物体三维重建方法,实现了对目标物体静止状态下的高精度三维重建,该方法简化了物体横向扫描的复杂流程,使得在水下能更便易的完成物体的旋转扫描,并提出了水下相机折射模型和旋转轴标定方法,解决了水下折射问题和并因相机光心不在旋转轴中央和相机可能架构不标准导致的重建效果不好的问题,使得三维重建效果更精确,从重建效果上来看,相较于一些稀疏重建的structurefrommotion,本发明所达到的三维点云重建效果能够直接实现稠密重建,避免了因稀疏重建加上采样方法导致的误差较大的问题,对于较大范围的水下场景也能实现精准重建。

附图说明

图1是本发明方法的流程图。

图2是本发明涉及的摄像设备的形态示意图。

其中,1是相机,2是激光器,3是支架,4是水下云台。

图3是本发明步骤(k4)中,旋转轴坐标系定义在标定板坐标系时的关系示意图。

图4是本发明步骤(k5)中,转轴坐标系定义在标定板坐标系时的关系示意图。

图5是本发明步骤s5中,水下激光旋转扫描三维成像过程中当仪器绕y轴进行旋转时的示意图。

具体实施方式

基于线结构光旋转扫描的水下三维重建的方法,如图1所示,包括以下步骤:

s1.水下相机参数标定

如图2所示,将相机1与激光器2分别通过支架3固定在转轴4上,首先保持相机1与激光器2在拍摄过程中相对位置保持不变;然后从不同角度拍摄标定板,标定相机的内参、外参以及畸变参数;

s2.转轴标定

因为仪器做工精度以及设计原因,相机的光心并不在转轴上或者相机放置歪斜会导致y轴产生歪斜,所以进行转轴标定,将相机坐标系下的物体表面三维坐标转到转轴坐标系;

(k1)固定标定板,相机绕转轴旋转,拍摄一组连续的照片;

(k2)求得相机光心在标定板坐标系下的三维坐标:

p=r*pw+t(1)

pw=r-1(p-t)(2)

p表示相机光心在相机坐标系的三维坐标,pw表示相机光心在标定板坐标系下的三维坐标;r表示旋转矩阵,t表示平移矩阵,均通过s1的标定而得到;因此公式1即pw经过旋转、平移之后得到p;

因为相机光心在相机坐标系下的坐标为原点,所以公式2进一步表示为公式3:

pw=r-1*(-t)(3)

(k3)定义转轴坐标系:以第一帧时刻的转轴坐标系为绝对转轴坐标系,其他时刻为相对转轴坐标系;根据不同时刻下光心的位置拟合出一个空间圆,确定出圆心和半径;并定义圆心和相机光心的连线为x轴,空间圆所在平面的法向量为y轴,根据叉乘确定z轴;

(k4)旋转轴坐标系定义在标定板坐标系时的关系,如图3所示,

旋转矩阵r,平移矩阵t可以通过相机标定得到,r'和t'就可以通过公式(2)求得;

pw=r-1(p-t)(2)

(k5)转轴坐标系定义在标定板坐标系时的关系,如图4所示,

转轴坐标系是定义在标定板坐标系下的,可以通过三维空间几何坐标变换矩阵求得:

设原相机坐标系oxyz的原点为(0,0,0),新的转轴坐标系o’x’y’z’原点在原相机坐标系下的坐标为(x0,y0,z0),相对原坐标系其单位坐标矢量为:

u′x=(u′x1,u′y1,u′z1)

u′y=(u′x2,u′y2,u′z2)

u′z=(u′x3,u′y3,u′z3)

将标定板坐标系下的坐标转换成新的转轴坐标系下的坐标,可由以下两步完成,第一步,平移标定板坐标系,使其原点与转轴坐标系的原点(x0,y0,z0)重合;

平移矩阵为:

第二步,利用前述单位坐标矢量构造坐标旋转矩阵

有了从原相机坐标系到标定板坐标系的旋转矩阵r和平移矩阵t,又有了从标定板坐标系到转轴坐标系的旋转矩阵r1和平移矩阵t1,就可得到从相机坐标系变换到转轴坐标系的旋转矩阵r2和平移矩阵t2,从而完成物体表面三维点从相机坐标系到旋转轴坐标系的转换,从而将相机的光心假设在旋转轴中心,完成旋转轴标定;

s3.水下激光平面标定:进行水下拍摄时,首先开启激光线,取激光线上任意两点的像素坐标(u1,v1)、(u2,v2);根据从归一化平面坐标系(即z坐标为1的坐标系)转换到像素坐标系的公式(4)、(5),反向求得两点在归一化坐标系下的坐标:

其中,u为像素横坐标,v为像素纵坐标,cx,cy表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,(xc,yc,zc)表示相机坐标系下的坐标,为归一化坐标系下的横坐标,为归一化坐标系下的纵坐标,fx和fy是相机在x、y方向的焦距;

通过公式(6)和(7)可以得到归一化平面坐标系坐标;

通过s1的标定,得到的旋转矩阵r和平移矩阵t是从标定板坐标到相机坐标系的外参,

[xc,yc,zc]t表示激光线上的点在相机坐标系下的坐标,[xw,yw,zw]t表示激光线上的点在的世界坐标系下的坐标,r是旋转矩阵,t是平移向量;

所以可以得到从相机坐标系->标定板坐标系的转换

因为标定板平面在世界坐标系下的zw=0,所以公式(9)等号右侧中,旋转矩阵的逆矩阵第三行与右侧矩阵相乘后为0,即:

r31*xc+r32*yc+r33*zc–(r31*tx+r32*ty+r33*tz)=0(10)

公式(10)即标定板平面在相机坐标系下的平面方程,

令r31=a,r32=b,r33=c,d=(r31*tx+r32*ty+r33*tz),该平面方程可简化为:

axc+byc+czc+d=0(11)

根据小孔成像原理:

其中,x′是物理平面上的横坐标,y′是物理平面上的纵坐标,fx和fy是相机在x、y方向的焦距,得到:

将公式(14)、(15)代入公式(11)所示的标定板平面在相机坐标系下平面方程中:

得到

又由公式(12)、(13)的变形:

得到:

将公式(6)、(7)得到的归一化坐标系下坐标代入,可得:

因此求得zc即可通过公式(6)、(7)分别求出xc和yc,得到前述步骤提取的激光线像素点在相机坐标系下的三维坐标,通过多个点的三维坐标就可以拟合出激光平面在相机坐标系下的平面方程:

a1xc+b1yc+c1zc+d=0(21)

s4.水下图像采集和处理:

打开相机和激光器,使其一直处于开启状态,由于相机与线激光器设置在旋转轴上,每旋转一个间隔角度,相机拍摄到一张线激光打在待重建物体的照片,从而实现了旋转扫描;提取图片中激光线上所有点的像素坐标;

再利用水下相机折射模型进行矫正,因为设备需要在水下工作,所以需要进行水密加工,将相机密封在防水壳内,当光透过玻璃平面发生了“水和玻璃”界面、“玻璃和空气”两次折射,但是由于本发明采用的防水壳玻璃厚度较小,对折射现象影响很小,因此不考虑玻璃平面的折射,只考虑水和空气之间的折射。假设n为水的折射率,h为相机原点到玻璃界面的距离,(xc,yc,zc)为相机坐标系下的真实点的三维坐标,(xv,yv,zv)为水下折射的虚点坐标,两者之间的关系使用以下关系表示:

xc=xv(22)

yc=yv(23)

将上述关系式代入公式(21)激光平面在相机坐标系下的平面方程,从而得到物体在激光线上的点在相机坐标系下的三维坐标;再旋转扫描物体整个前表面,从而得到物体前表面在相机坐标系下的三维坐标;

s5.水下激光旋转扫描三维成像

坐标变换需要做的是将同一物体点在多个视角下对应的像素点进行关联,选择第一帧的转轴坐标系为世界坐标系,将其他帧的转轴坐标系转换到第一帧转轴坐标系中,变换到第一帧转轴坐标系下;

当仪器绕y轴进行旋转时,

假设从x-z平面变换到x’-z’坐标系,可以通过分量形式来求旋转矩阵:

x=x’cosθ+z’sinθ(25)

z=-x’sinθ+z’cosθ(26)

转换成矩阵的形式:

通过s2的转轴标定步骤可以得到相机坐标系与相对应的转轴坐标系之间的平移向量t2,因此可以通过其他帧的平移向量t2与公式(25)所示的旋转矩阵将每一帧图像统一到第一帧图像的坐标系下;从而对步骤s4得到的物体表面真实点三维坐标实现了拼接;

s6.点云重建

将物体表面真实点三维坐标转换为点云数据并进行点云填充,完成物体表面三维重建。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1