一种基于旋转台的三维点云拼接重建方法与流程

文档序号:26142842发布日期:2021-08-03 14:27阅读:429来源:国知局
一种基于旋转台的三维点云拼接重建方法与流程

本发明涉及工业机器视觉技术领域,尤其涉及一种基于旋转台的三维点云拼接重建方法。



背景技术:

随着近年来智能制造技术的发展,汽车和3c制造行业、逆向工程、文物保护、质量检测等多个领域对三维测量和识别的需求逐渐增加,传统的二维视觉技术由于缺少一个维度而无法满足该类工序的需求,以结构光投影技术为代表的三维视觉技术应运而生,由该技术制造的设备扫描待测目标后可生成目标的三维点云数据,利用视觉算法处理点云数据可以实现对目标的尺寸测量、识别定位等功能。

三维拼接技术是三维视觉技术的重要组成部分,该技术将目标的多视角点云以某种方式拼接在一起,从而获取完整的目标模型,而三维拼接的速度和精度将直接影响后续点云处理的精度和稳定性。

目前常见的拼接方法是对目标的多视角点云计算特征点,由这些特征点信息利用ransac方法实现点云的粗配准,然后再由icp算法实现点云的精配准,该方法在精度和效率上普遍较低,且对特征较少的目标会产生错误的拼接结果。而一些基于转台的三维拼接方法中对转台位置的标定仍存在一些问题,如标定原理较为理想,标定精度较低等。此外常见的三维表面重建方法为基于泊松重建方法的改进版本,该方法较为复杂且效率较低。

因此,急需一种技术来解决该问题。



技术实现要素:

本发明的目的在于克服上述现有技术的问题,提供了一种基于旋转台的三维点云拼接重建方法,首先借助标定板对转轴直线位置进行标定,然后由标定参数和转台旋转角度通过位姿变换对所有视角点云进行拼接,最后由拼接后点云和每一点的朝向目标外侧的法线构建目标表面函数,通过移动立方体算法提取等值面并实现表面重建功能。

上述目的是通过以下技术方案来实现:

一种基于旋转台的三维点云拼接重建方法,包括如下步骤:

步骤(1)搭建三维拼接重建系统:所述三维拼接重建系统包括3d相机、pc机、驱动器、伺服电机和旋转台,所述3d相机和所述驱动器分别与所述pc机连接,所述伺服电机与所述驱动器连接,所述伺服电机与所述旋转台连接,所述旋转台上用于放置待测物体,所述3d相机用于对所述待测物体进行拍照并传输至所述pc机获取图像和点云数据;

步骤(2)旋转台标定:在所述旋转台表面垂直放置有带有至少一个圆形标志点的标定板,所述标定板可在所述旋转台的驱动下进行同步旋转运动;通过3d相机拍摄所述标定板获取图像数据和对应的点云数据;通过圆识别算法提取所述标定板上圆形标志点的旋转圆心亚像素坐标,并利用插值方法获取对应的圆心三维坐标;对同一圆形标志点的运动轨迹拟合平面和球面方程,联立可求解每个所述圆形标志点旋转中心的三维坐标,对多个旋转中心利用最小二乘法拟合直线参数,则该直线参数即为旋转台标定参数;

步骤(3)点云拼接:通过所述旋转台标定参数和对应的所述旋转台的旋转间隔计算各视角点云间位姿转换关系,实现点云拼接,并完成点云融合;

步骤(4)点云表面重建:对融合后的点云计算法线,构建表面隐式函数,利用最小二乘法求解该函数系数,再由移动立方体算法提取等值面,即实现表面重建功能。

进一步地,所述旋转台呈圆形,且圆心处与所述伺服电机的转轴垂直连接。

进一步地,所述标定板为正方形或长方形,表面设置有至少一个所述圆形标志点。

进一步地,在步骤(2)中,所述通过3d相机拍摄所述标定板获取图像数据和对应的点云数据,具体为:在相机的视野范围内多次旋转所述旋转台,旋转间隔保持一致,所述旋转每旋转一次,所述3d相机即对所述标定板拍照一次,并获取相应的标定板灰度图像和有向点云数据。

进一步地,在步骤(2)中,所述通过圆识别算法提取所述标定板上圆形标志点的旋转圆心亚像素坐标,并利用插值方法获取对应的圆心三维坐标,具体为:由所述圆识别算法提取每张标定板图像上圆形标志点圆心的亚像素坐标,由该亚像素坐标得到相邻4个点的整数像素坐标,同时由这4个像素索引获取有向点云数据中对应点的三维坐标,可利用这4个三维点进行插值以获取高精度的圆心三维坐标。

进一步地,设圆形标志点圆心的亚像素坐标为pc=(uc,vc),该坐标周围相邻的4个整数像素坐标为pc0=(u0,v0)、pc1=(u0+1,v0)、pc2=(u0v0+1)、pc3=(u0+1,v0+1),其中(u0,v0)为pc向下取整坐标。

计算4个整数像素坐标分别与围成的4个矩形区域的面积s0、s1、s2、s3,对应的倒数为w0、w1、w2、w3,由4个整数像素坐标索引在有向点云中找到对应的三维坐标p0、p1、p2、p3,则利用插值方法求得pc坐标为∑wipi/∑wi。

进一步地,在步骤(2)中,所述对同一圆形标志点的运动轨迹拟合平面和球面方程,联立可求解每个所述圆形标志点旋转中心的三维坐标,对多个旋转中心利用最小二乘法拟合直线参数,则该直线参数即为旋转台标定参数,具体为:

设同一圆弧上的圆形标志点坐标为(xi,yi,zi),球心坐标为(x0,y0,z0),半径为r,先对这些点拟合平面,可得平面方程为:

ax+by+cz+1=0,

球方程为:

(x-x0)2+(y-y0)2+(z-z0)2=r2

然后由球心在平面上的约束条件联立球方程和平面方程建立如下方程:

同一个圆弧上至少有3个标志点即可求解上式并得出球心坐标;

对多个球心坐标利用pca拟合直线得到直线方程为p=tn+s,其中直线单位方向向量为n(nx,ny,nz),直线上一点为s(sx,sy,sz);

计算直线上点云坐标均值为:即为s;

计算矩阵为:

对矩阵c进行svd分解,取最大特征值对应的特征向量即为直线的方向向量n。

进一步地,所述点云拼接具体为:

设定n为旋转平台转轴的单位方向向量,s为转轴直线上一点,n和s为步骤(2)中已求解的旋转台标定参数;

假设初始位置处的待拼接目标表面有一点c0,旋转台逆时针旋转θ后对应点为c,3d相机始终朝向c点位置,获取该位置的点云数据,点云拼接就是由每一次旋转后c点位置坐标获取旋转前的c0点位置坐标的过程,这里可通过将c点绕转轴顺时针旋转θ角的轴角(axis-angel)的方式实现拼接功能,如下:

由s(xs,ys,zs),c(xc,yc,zc)得公式:

其中,r(n,θ)为与旋转平台单位法向量和旋转角度θ有关的3×3矩阵,整理可得:

其中r(n,θ)为:

计算即可由c点坐标获取到c0点坐标;

若旋转平台旋转角度间隔为θ°,共旋转m=360/θ-1次,3d相机获取的旋转后的第i片点云为pcbi,拼接后的每片点云为pcai,则:

pcai=r(n,θ)(pcbi-s)+si=0,1,2…m

将所有旋转前的点云组合起来的结果即为点云拼接结果。

进一步地,步骤(4)中所述构建表面隐式函数,利用最小二乘法求解该函数系数,具体为:

所述构建表面隐式函数f(p)为空间中的每一个位置指定一个值(p为空间任一点),当该点位于曲面内部时f(p)<0,位于曲面上时f(p)=0,位于曲面外时f(p)>0。利用旋转前的每一点坐标和对应法向量构建解析表达式,满足f(p)=0的点就构成了物体表面;

对于每个点pi通过函数f(p)的构造,使得:

f(pi+εni)=ε,

f(pi-εni)=-ε,

f(pi)=0,

其中,ε为一个相对于点云尺度很小的正数值,ni为点pi的朝向目标外侧的法向量;

f(p)用一个距离相关的函数的线性组合表示:

其中,是核函数,||a-b||表示a和b点的空间距离;

利用上述公式的约束条件构成线性方程组,利用最小二乘法即可求解出函数系数ai、bi和ci。

有益效果

本发明所提供的一种基于旋转台的三维点云拼接重建方法,相比于传统的旋转台转轴标定方法,本标定方法借助标定板进行标定,操作更加简便,标定精度更高,本文算法具有0.05mm的标定精度;相比于传统的icp配准方法,本方法不需初始配准点云,只利用高精度的标定参数和旋转参数即可获得高精度的拼接效果,效率更高;相比于传统的复杂的泊松重建方法,本文重建方法更简单,且具有良好的重建效果。本发明可实现高分辨率测量物体表面轮廓特征的功能,能对物体进行自动化全视角的三维轮廓测量,拼接重建方法简单、维护方便,不仅适用于一般工作场景需求,而且还适用于快速高精度的应用场合。

附图说明

图1本发明所述一种基于旋转台的三维点云拼接重建方法的旋转平台标定示意图;

图2本发明所述一种基于旋转台的三维点云拼接重建方法的点云拼接示意图;

图3为本发明所述一种基于旋转台的三维点云拼接重建方法的流程图;

图4为本发明所述一种基于旋转台的三维点云拼接重建方法中拼接前两种目标各视角点云图;

图5为本发明所述一种基于旋转台的三维点云拼接重建方法中拼接后两种目标拼接后点云图;

图6为本发明所述一种基于旋转台的三维点云拼接重建方法两种目标表面重建后的网格图。

具体实施方式

下面根据附图和实施例对本发明作进一步详细说明。

如图3所示,一种基于旋转台的三维点云拼接重建方法,包括如下步骤:

步骤(1)搭建三维拼接重建系统:所述三维拼接重建系统包括3d相机、pc机、驱动器、伺服电机和旋转台,所述3d相机和所述驱动器分别与所述pc机连接,所述伺服电机与所述驱动器连接,所述伺服电机与所述旋转台连接,所述旋转台上用于放置待测物体,所述3d相机用于对所述待测物体进行拍照并传输至所述pc机获取图像和点云数据;

步骤(2)旋转台标定:在所述旋转台表面垂直放置有带有至少一个圆形标志点的标定板,所述标定板可在所述旋转台的驱动下进行同步旋转运动;通过3d相机拍摄所述标定板获取图像数据和对应的点云数据;通过圆识别算法提取所述标定板上圆形标志点的旋转圆心亚像素坐标,并利用插值方法获取对应的圆心三维坐标;对同一圆形标志点的运动轨迹拟合平面和球面方程,联立可求解每个所述圆形标志点旋转中心的三维坐标,对多个旋转中心利用最小二乘法拟合直线参数,则该直线参数即为旋转台标定参数;

步骤(3)点云拼接:通过所述旋转台标定参数和对应的所述旋转台的旋转间隔计算各视角点云间位姿转换关系,实现点云拼接,并完成点云融合;

步骤(4)点云表面重建:对融合后的点云计算法线,构建表面隐式函数,利用最小二乘法求解该函数系数,再由移动立方体算法提取等值面,即实现表面重建功能。

具体的,如图1所示,所述三维拼接重建系统由3d相机、pc机、驱动器、伺服电机和旋转台构成,所述3d相机结构是单目和dlp组合形式,该相机使用前已完成结构光标定,该相机可同时获取被测目标图像数据和对应的点云数据;3d相机与所述pc机直接连接,所述所述pc机控制所述3d相机对目标(测物体)拍照并获取点云数据,所述pc机通过控制驱动器进而控制电机旋转;所述旋转台呈圆形,且圆心处与所述伺服电机的转轴垂直连接,旋转台之上放置待测物体;所述标定板为正方形或长方形,表面设置有至少一个所述圆形标志点。

作为本实施例的优化,步骤(2)具体为:

首先对旋转台进行标定,求解旋转台转轴直线在相机坐标系下的参数,通过在旋转台上放置标定板,多次转动标定板,获取标定板图像和点云数据,通过提取圆心坐标和对应点云坐标按照一定算法可得到该标定参数。

将圆形标志点的标定板竖直固定在旋转平台上,将3d相机固定在外部支架上,相机朝向旋转平台,在相机的视野范围内多次旋转平台,旋转间隔保持一致,平台每旋转一次,相机即对标定板拍照一次,获取相应的标定板灰度图像和有向点云数据,要求相机每次拍照都能获取清晰的标定板图像和点云数据。如图1所示,转轴单位方向向量为n(nx,ny,nz),转轴上一点为s(sx,sy,sz);

所述通过圆识别算法提取所述标定板上圆形标志点的旋转圆心亚像素坐标,并利用插值方法获取对应的圆心三维坐标,具体为:由所述圆识别算法提取每张标定板图像上圆形标志点圆心的亚像素坐标,由该亚像素坐标得到相邻4个点的整数像素坐标,同时由这4个像素索引获取有向点云数据中对应点的三维坐标,可利用这4个三维点进行插值以获取高精度的圆心三维坐标。

设圆形标志点圆心的亚像素坐标为pc=(uc,vc),该坐标周围相邻的4个整数像素坐标为pc0=(u0,v0)、pc1=(u0+1,v0)、pc2=(u0,v0+1)、pc3=(u0+1,v0+1),其中(u0,v0)为向下取整坐标。

计算4个整数像素坐标分别与围成的4个矩形区域的面积s0、s1、s2、s3,对应的倒数为w0、w1、w2、w3,由4个整数像素坐标索引在有向点云中找到对应的三维坐标p0、p1、p2、p3,则利用插值方法求得pc坐标为∑wipi/∑wi。

在步骤(2)中,所述对同一圆形标志点的运动轨迹拟合平面和球面方程,联立可求解每个所述圆形标志点旋转中心的三维坐标,对多个旋转中心利用最小二乘法拟合直线参数,则该直线参数即为旋转台标定参数,具体为:

设同一圆弧上的圆形标志点坐标为(xi,yi,zi),球心坐标为(x0,y0,z0),半径为r,先对这些点拟合平面,可得平面方程为:

ax+by+cz+1=0,

球方程为:

(x-x0)2+(y-y0)2+(z-z0)2=r2

然后由球心在平面上的约束条件联立球方程和平面方程建立如下方程:

同一个圆弧上至少有3个标志点即可求解上式并得出球心坐标;

对多个球心坐标利用pca拟合直线得到直线方程为p=tn+s,其中直线单位方向向量为n(nx,ny,nz),直线上一点为s(sx,sy,sz);

计算直线上点云坐标均值为:即为s;

计算矩阵为:

对矩阵c进行svd分解,取最大特征值对应的特征向量即为直线的方向向量n。

还包括检验标定精度:将每个视角标志点中心的三维坐标由标定参数和旋转角度转到第一视角下,计算转换后每个标志点与对应点的欧式距离,将一幅图片的标志点距离均值作为该幅图片的标定误差,将所有图片的标定误差均值作为整体标定误差。

所述步骤(3)点云拼接具体为:

由旋转台标定参数和旋转角度对多视角点云进行拼接,将目标放置在旋转台上,以一定角度间隔旋转转台,3d相机获取360°范围内多视角点云数据,利用前述标定参数和旋转角度间隔计算旋转矩阵和平移向量,最终实现多视角点云的拼接。拼接之后的点云在重叠区域密度较大,可通过体素滤波来获取均匀一致性点云。

如图2所示,设定n为旋转平台转轴的单位方向向量,s为转轴直线上一点,n和s为步骤(2)中已求解的旋转台标定参数;

假设初始位置处的待拼接目标表面有一点c0,旋转台逆时针旋转θ后对应点为c,3d相机始终朝向c点位置,获取该位置的点云数据,点云拼接就是由每一次旋转后c点位置坐标获取旋转前的c0点位置坐标的过程,这里可通过将c点绕转轴顺时针旋转θ角的轴角(axis-angel)的方式实现拼接功能,如下:

由s(xs,ys,zs),c(xc,yc,zc)得公式:

其中,r(n,θ)为与旋转平台单位法向量和旋转角度θ有关的3×3矩阵,整理可得:

其中r(n,θ)为:

计算即可由c点坐标获取到c0点坐标;

若旋转平台旋转角度间隔为θ°,共旋转m=360/θ-1次,3d相机获取的旋转后的第i片点云为pcbi,拼接后的每片点云为pcai,则:

pcai=r(n,θ)(pcbi-s)+si=0,1,2…m

将所有旋转前的点云组合起来的结果即为点云拼接结果(如图5所示,其中拼接前各视角点云图如图4所示)。

所述步骤(4)具体为:

将拼接后的点云重建为网格结构的目标表面。分别计算每个视角下点云法线,由视角信息调整法向方向一致朝向目标外侧,将各视角的法线由上述r(n,θ)统一转换到第一视角,然后由每个点和对应的法线信息构建表面隐式函数,利用最小二乘法求解隐式函数系数,最后通过移动立方体算法(marchingcube)线性插值提取等值面,最终构建模型表面。

为求解每一点的法向量,对每一点进行knn查询,由该点最近的k个点通过pca方法计算该点法向量。相机的视角方向为vp,计算每一点法线方向与视角方向夹角,当夹角大于90°时对该法线方向取反。对所有视角的所有点法线进行求解并修正方向,最后统一转换到第一视角下。

所述步骤(4)中所述构建表面隐式函数,利用最小二乘法求解该函数系数,具体为:

所述构建表面隐式函数f(p)为空间中的每一个位置指定一个值(p为空间任一点),当该点位于曲面内部时f(p)<0,位于曲面上时f(p)=0,位于曲面外时f(p)>0。利用旋转前的每一点坐标和对应法向量构建解析表达式,满足f(p)=0的点就构成了物体表面;

对于每个点pi通过函数f(p)的构造,使得:

f(pi+εni)=ε,

f(pi-εni)=-ε,

f(pi)=0,

其中,ε为一个相对于点云尺度很小的正数值,ni为点pi的朝向目标外侧的法向量;

f(p)用一个距离相关的函数的线性组合表示:

其中,是核函数,||a-b||表示a和b点的空间距离;

利用上述公式的约束条件构成线性方程组,利用最小二乘法即可求解出函数系数ai、bi和ci。

求出表面隐函数后,即可以确定空间等值面,对点云空间利用0ctree分割成一个个体素,利用移动立方体(marchingcube)算法找出每个体素与等值面相交的交面,这些交面组合在一起就是重建的表面网格(如图6所示)。

以上所述仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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