首页> 中国专利> 一种基于轮廓有效性提高三维重建点云稠密程度的方法

一种基于轮廓有效性提高三维重建点云稠密程度的方法

摘要

本发明公开了一种基于轮廓有效性提高三维重建点云稠密程度的方法,其包括有:1、提取其物体轮廓,生成对应的有效区域图序列;2、计算点云在x,y,z轴上的扩展尺度;3对初始点云中的每个点进行扩展,得到一个派生点云;4、将派生点云变换到相机坐标系下,并反投影到有效区域图中,保留有效区域内的点;5、计算处理过的派生点的初始点到该点的向量与该点的法向量的点积,保留点积值大于零的点;6、检查派生点云的稠密程度是否达到需求,不满足需求时将该派生点云作为初始点云,再次进行步骤2之后的操作至满足需求。本发明不局限于特定的绕拍图像序列,不过分依赖于参数的调整,可以在较低计算量的情况下,在较短的时间内提高有效点云的稠密程度。

著录项

  • 公开/公告号CN106023303A

    专利类型发明专利

  • 公开/公告日2016-10-12

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201610298507.9

  • 申请日2016-05-06

  • 分类号G06T17/00(20060101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2023-06-19 00:38:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-26

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20160506

    实质审查的生效

  • 2016-10-12

    公开

    公开

说明书

技术领域

本发明涉及计算机视觉领域,具体涉及一种可以在较快速的时间内有效提高点云稠密程度的基于轮廓有效性提高三维重建点云稠密程度的方法。

背景技术

计算机视觉涉及多个学科,是摄像机成像过程的逆过程,其研究范围相当广泛,主要包括:目标检测与识别,边缘提取,特征提取与三维重建等方面。三维重建技术也是基于图像的建模技术,在诞生之初就备受关注,该方法只需要两帧相邻图像就可以较精确的恢复出图像中匹配特征点与相机的三维空间关系。在这个过程中,匹配特征点的数量直接决定了三维重建获取的点云的质量,从而确定了重建模型的质量。

常用的三维重建方法有三类:(1)立体视觉方法。该方法模拟人类视觉系统对客观三维物体的感知方式,利用两个以上相机对同一个景物在不同位置进行成像,再根据两帧图像之间的视差图,转换为深度图,获得了物体的深度信息。此方法生成的几何模型文件通常比较小,很容易被用到虚拟现实中。但该方法需要克服物体特征稀疏的问题,当纹理平坦时,计算得到的视差图存在大片的空白区域,点云的稠密程度很低。(2)运动结构方法。对物体进行绕拍,刚性物体上任意位置的点在两帧图像之间发生的运动是相同的,通过对两帧图像之间提取若干对特征点并进行匹配,能够计算得到物体发生运动的变换矩阵,根据变换矩阵能确定两个相机之间的位置关系,通过小孔成像原理,能恢复特征点在世界坐标系中的坐标。此方法发展比较成熟,能在相机内参标定的情况下计算出相机的移动,对稀疏点云进行处理能获取较稠密点云,并恢复出较为精准的三维模型。但是其要求相邻两帧间的匹配特征点数量要多,因此在特征平坦的区域有效点的数量较少。(3)基于深度图像的方法。通过每帧图像的RGB图与深度图就能生成在当前相机坐标系下物体的点云,相邻两帧RGBD图生成的两组点云进行匹配,计算出两帧相机的变换矩阵,就可以两组点云融合到世界坐标系。此方法计算得到的点云较为精确,且点云的稠密程度较高。但是其需要深度相机的协助,且对深度图的精度很敏感,在大范围重建场景中,深度相机的精度总是有限的,而深度相机的精度将直接关联重建点云的精度。

以上的方法中,立体视觉法需要的计算量较小,但是在图像纹理平坦区域得到的视差图存在空白区域,因此计算得到的点云稠密程度很低;运动结构法具有较高的普适性,其中包含稀疏点云到稠密点云的派生过程,但是获得的稠密点云的稠密程度仍然取决于图像的纹理复杂程度,对于纹理平坦的图像,获得的点云稠密程度也比较低;基于深度图像的重建方法精度较高,且对图像的纹理复杂程度没有要求,但是该方法对深度相机精度的敏感程度较高,目前不适用与大范围物体三维重建。

针对以上问题,目前需要一种新的方法,使之能提高有效点云的稠密程度,并使得获得的点云在一定程度上克服纹理平坦的影响。

发明内容

本发明针对上述现有技术的不足,提供了一种基于轮廓有效性提高三维重建点云稠密程度的方法,其不局限于特定的绕拍图像序列,不过分依赖于参数的调整,可以在较低计算量的情况下,在较短的时间内提高有效点云的稠密程度,同时可以删除原点云中的错误点云,使得获得的点云在一定程度上克服纹理平坦的影响。

本发明的方法对重建图像序列进行预处理,获得一组对应的有效区域图;然后将初始点云进行扩展得到扩展点云;根据初始点云的计算过程中得到的变换矩阵,将扩展点云反投影到每一帧有效区域图上;将反投影位置落在有效区域图中有效区域外的点删除,对一组绕拍的图像重复上述操作,得到扩展一次后的点云,此时还需要删除内部的点云,仅保留外部点云,根据初始点云的法向量删除位于物体表面下方的点,即完成了删除内点的工作。将扩展一次后的点云作为初始点云进行再次扩展,并反投影删除后滤除内点,获得更加稠密的点云;重复上述扩展操作,直到现有点云的数量达到足够稠密时,结束点云扩展,此时得到的点云具有很高的稠密程度,且不依赖与参数的调整,并客服了纹理的平坦的影响。

为解决现有技术中存在的问题,本发明采用的具体技术方案是:

一种基于轮廓有效性提高三维重建点云稠密程度的方法,其包括以下步骤:

S1、通过摄影设备获取一组绕拍图像序列,对每帧绕拍图像提取物体轮廓,并将轮廓区域内的像素值设置为255,将轮廓外的像素值设为0,得到一帧二值图像,称为有效区域图;

S2、对绕拍图像序列进行三维重建步骤,获得一个稠密度很低的点云,称为初始点云,同时还获得每一帧相机相对于世界坐标系的旋转矩阵R与平移向量t,旋转矩阵与平移向量组合起来形成变换矩阵M;

S3、遍历初始点云中的每个点,获得初始点云中所有点在x、y、z三个轴上取值的最大值与最小值,并计算每个轴上最大值与最小值之间的距离差,分别记做x_dis、y_dis、z_dis,分别将此三个距离差除以100,得到的三个量,称为初始点云的派生尺度,记做x_scalar、y_scalar、z_scalar;

S4、将初始点云中的一个点作为源点,分别沿x,y,z三个方向的正负方向各扩展对应S3中计算的派生尺度大小,得到一个以源点为中心的长方体,该长方体的长宽高分别为2*x_scalar、2*y_scalar、2*z_scalar,该源点中心往长方体的周围共扩展了26个方向,在每个方向上派生出一个新点,取该新点的法向量与源点的法向量相同,且每个派生点均记录其源点;

S5、对初始点云中的每一个点都进行一次步骤S4所述的派生操作,将得到一个派生的点云,该点云中点的数量是初始点云数量的26倍;

S6、对绕拍图像序列中的第i帧图像,取出其在步骤S2中计算得到的变换矩阵Mi,将步骤S5中得到的派生点云根据变换矩阵Mi变换到对应的相机坐标系下,并根据投影原理将派生点云反投影到步骤S1中获得的第i帧的有效区域图上;

S7、根据S6中的步骤,对投影到第i帧有效区域图中的无效区域内的点,将其从派生点云中删除,投影到第i帧有效区域图中的有效区域中的点则保留;

S8、对绕拍图像序列中的每一帧均执行上述步骤S6和S7的操作,通过对派生点云环绕投影并删除,三维重建获得了含有内点的派生点云;

S9、遍历步骤S8所获得的派生点云中的每个派生点,判断每个派生点是内点还是外点,删除掉是内点的派生点云,保留是外点的派生点云;最终保留下的点云为派生一次的有效点云;

S10、统计步骤S9所得有效点云的数量,若稠密程度达到需求,则此有效点云为最终点云;若稠密程度未达到需求,则将该有效点云作为初始点云,重复上述S3至当前步骤,直到获得的有效点云满足稠密度要求。

优选的方案,步骤S3所述的派生尺度是初始点云中所有点坐标分别在x、y、z三个轴上最大值与最小值之间距离差的百分之一,该参数是经过多次测试后的有效参数,不需要根据具体应用调整。

进一步优选的方案,步骤S4中以初始点云中的其中一个点作为源点向长方体的26个方向派生获得新点,其中新点的计算公式为:

x_new=x_org+i*x_scalar,i={-1,0,1}y_new=y_org+i*y_scalar,i={-1,0,1}z_new=z_org+i*z_scalar,i={-1,0,1}

其中,x_org、y_org、z_org分别为初始点云中某一个点在x、y、z轴上的坐标,x_scalar、y_scalar、z_scalar分别为计算得到的x、y、z三个方向的派生尺度,

上式计算得到的3*3*3个新点坐标,除了源点坐标增量为(0,0,0)的情况,将会派生出步骤S4中描述的26个新点云。

更进一步优选的方案,步骤S6中,将派生点云变换到第i帧图像的相机坐标系的计算公式:

(x_cami,y_cam,z_cami)=(x_world,y_world,z_world)*Ri+ti

其中,(x_world,y_world,z_world)为派生点云在世界坐标系中的坐标,Ri,ti分别为第i帧相机的旋转矩阵与平移向量,经过Ri与ti的变换,将世界坐标系中的点云转到了第i帧相机坐标系下,即第i帧相机坐标系中变换后的点云的坐标为(x_cami,y_cami,z_cami);

将相机坐标系中的点云进行反投影,将每个点投影到第i帧有效区域图中,投影位置的计算公式:

u=(x_cami*f)/z_cami+Cxv=(y_cami*f)/z_cami+Cy

其中,f为相机焦距,Cx、Cy分别为图像分辨率的0.5倍,计算得到的u、v为该点投影到图像上的位置,即图像上的第u行,第v列对应的像素位置。

再进一步优选的方案,步骤S8中,通过绕拍图像对派生点云滤除后,此时的派生点云已经没有外部杂点,同时也将初始点云中部分重复的点滤除了,但是由于派生方向是26个方向,因此还存在位于表面内部的点,即内点。

根据权利要求1所述的一种基于轮廓有效性提高三维重建点云稠密程度的方法,其特征在于,步骤S9所述的判断每个派生点是内点还是外点的方法,是根据向量点积的方法来确定的:由于源点的法向量指向物体的表面切平面的外侧,对每个派生点,计算该派生点的派生源点到该派生点的向量,若该向量与该派生点的派生源点的法向量的点乘结果为正,说明该派生点为外点,保留该点;若该向量与该派生点的派生源点的法向量的点乘结果为负,说明该派生点的派生源点到派生点的向量与法向量的夹角大于90度,说明该点为内点,删除该点。

需要说明的是,所述步骤S1中物体轮廓提取的方法可使用目前广泛使用的sift等算法,最终得到的有效区域图是二值图像。

需要说明的是,所述步骤S2中的提及的三维重建步骤可采用目前比较成熟的三维重建算法,变换矩阵M为旋转矩阵R与平移向量t的整合M=[R|t]。

需要进一步说明的是步骤S7中,验证该点的投影位置是否在有效区域的方法,先通过上述反投影找到该点的位于图像上的坐标,检测对应的第i帧有效区域图中该像素位置的像素值是否为255。若像素值是255则保留该点,否则删除该点。

需要说明的是在步骤S8中,通过绕拍图像对派生点云滤除后,此时的派生点云已经没有外部杂点,同时也将初始点云中部分错误的点滤除了,但是由于派生方向是26个方向,因此还存在位于表面内部的点。

需要说明的是在步骤S10中,点云的稠密度可自行选定,最高可达百万级别,当稠密度达到需求后可停止迭代。

通过采用以上技术方案,本发明一种基于轮廓有效性提高三维重建点云稠密程度的方法与现有技术对比,其技术效果在于:

1、相比基于立体视觉获取点云的方法:基于立体视觉获取点云的方法需要提供纹理复杂的图像序列,重建过程中没有视差图的区域没有点,重建误差受视差图求解误差的影响。而本发明对图像的纹理没有过多的要求,只要提供的初始点云能较为接近真实物体的形状,便能在一定程度上恢复初始点云丢失的大部分信息。

2、相比基于运动结构获取点云的方法:基于运动结构获取点云的方法获得的点云的数量取决与相邻两帧之间有效匹配特征点对的数量,采取的稀疏点云到稠密点云的派生方式的计算复杂。而本发明中生成的派生点云的数量与图像的纹理没有直接联系,对初始点云没有过多要求,只要较为接近真实物体,能通过派生方式使得原本点云分布稀疏的地方的点云数量增加,增加有效点云的数量。

3、相比基于深度图像的方法:基于深度图像的方法需要提供每帧图像的深度图,算法对深度图的精确度的敏感度较高,在两个点云之间的匹配使用迭代算法,使得所需计算量很大,矩阵运算很多,需要在GPU上计算。而本发明提出的方法对深度图没有要求,随着派生点云的滤除,需要计算的点的数量也在减少,计算速度增快,不需要在GPU上计算也能有较快的速度。

附图说明

图1为一组环绕拍摄的图像;

图2为一帧绕拍图像与本发明计算的对应有效期区域图;

图3为本发明提高点云质量的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,结合附图和实施例对本发明进行作进一步详细说明,应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图3所示,先选取一组绕拍图像序列,如图1所示,并选择一个基本的三维重建方法,通过对绕拍图像进行重建获得初始点云,将初始点云,绕拍图像序列,每帧图像的变换矩阵作为输入,使用本发明的方法对其进行处理,其具体步骤如下:

步骤1:对每帧图像提取其中物体的轮廓,并在物体所在区域填入像素值255,在无物体区域填入像素值0,得到一组与绕拍图像对应的有效图像,如图2所示。

步骤2:遍历初始点云,分别记录点云中的点坐标在x,y,z轴上的取值区间,每个轴上取值区间的百分之一的大小作为每个轴上的扩展尺度。

步骤3:根据扩展尺度,将初始点云中的每个点作为源点,沿扩展尺度增大与减小的方向扩展,一共26个扩张方向,扩张得到26个新点,新点的法向量与源点的法向量相同。扩张点的计算公式:

x_new=x_org+i*x_scalar,i={-1,0,1}y_new=y_org+i*y_scalar,i={-1,0,1}z_new=z_org+i*z_scalar,i={-1,0,1}

其中,x_org、y_org、z_org分别为初始点云中某一个点在x、y、z轴上的坐标,x_scalar、y_scalar、z_scalar分别为计算得到的x、y、z三个方向的派生尺度。

步骤4:根据输入的第一帧图像的变换矩阵,将派生点云变换到对应的相机坐标系下,并反投影到第一帧有效区域图上,点投影落在有效区域图中像素值为255的地方,则保留该点;点投影落在有效区域图中像素值为0的地方,则删除该点。将删除过的派生点云作为新的派生点云,对第二帧图像的变换矩阵进行上述操作;依次操作,直到遍历完所有图像,此时得到最终的派生点云。其中,点云反投影到图像坐标的计算公式:

u=(x_cami*f)/z_cami+Cxv=(y_cami*f)/z_cami+Cy

上述公式中,f为相机焦距,Cx、Cy分别为图像分辨率的0.5倍,计算得到的u、v为该点投影到图像上的位置,即图像上的第u行,第v列对应的像素位置。

步骤5:到目前为止,获得的派生点云是没有外部错误的点云,对每个派生点,通过计算其源点到该派生点的向量与源点的点积值,该值大于零,说明该派生点位于源点的外侧,保留该点,该值小于零,说明派生点位于源点内侧,则为内点,删除该点。通过此操作能删除派生过程中生成的内点。

步骤6:检查删除内点后的派生点云的稠密程度是否达到需求,对达不到稠密要求的派生点云,将该派生点云作为初始点云,与输入的变换矩阵序列和图像序列一起作为输入,再次重复上述步骤2之后的操作,直到稠密程度达到需求。

依据以上步骤最终得到稠密度符合需求的点云。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号