一种三维重建方法及装置与流程

文档序号:14266566阅读:238来源:国知局
一种三维重建方法及装置与流程

本发明涉及计算机视觉技术领域,特别涉及一种三维重建方法及装置。



背景技术:

三维重建(3dreconstruction)是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。

相关的三维重建方案大多是通过单个rgbd相机对目标进行扫描,根据扫描得到的数据进行三维重建。具体的,可以将目标放置在一个旋转台上,rgbd相机固定在某个位置,对旋转台上的目标进行全扫描;将扫描得到的数据转化为点云,根据该点云进行三维重建。

rgbd相机,能够同时获取rgb信息和深度(depth)信息,该相机获取到的每一帧数据包括一个二维的rgb图像和同维度包含每个点深度信息的深度图。将每一帧数据转化为一个点云,点云就是包含每个像素点的位置信息和颜色信息的数据集合。因此,可以根据扫描数据中的每一帧数据转化成的各个点云实现对该目标的三维重建。

但是应用上述方案,只有对目标扫描完成后,才能进行三维重建,也就是说,该方案无法实现实时三维重建。



技术实现要素:

本发明实施例的目的在于提供一种三维重建方法及装置,实现实时三维重建。

为达到上述目的,本发明实施例公开了一种三维重建方法,包括:

获取目标场景的至少两个当前点云;

根据预先确定的每个当前点云所在的坐标系之间的变换关系,将所述至少两个当前点云变换至同一个坐标系;

将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;

根据融合后的点云进行曲面重建,得到三维模型。

可选的,所述获取目标场景的至少两个当前点云的步骤可以包括:

获取至少两台采集设备针对目标场景采集的当前帧图像;

将每个当前帧图像分别转化为一个当前点云。

可选的,确定每个当前点云所在的坐标系之间的变换关系的过程可以包括:

获取每台采集设备同一时刻采集的一帧图像;

确定所获取的每一帧图像中的特征点;

根据每个特征点在其所属的图像中的坐标,确定所获取的每一帧图像所在的坐标系之间的变换关系;

根据所述每一帧图像所在的坐标系之间的变换关系,确定每个当前点云所在的坐标系之间的变换关系。

可选的,所述将变换至同一个坐标系的每个当前点云进行融合的步骤可以包括:

在变换后的坐标系中确定每个匹配点对,其中,所述匹配点对中包含每个当前点云中的一个点;

针对每个匹配点对,将所述匹配点对进行融合,得到该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的所述匹配点对中的每个点。

可选的,所述根据预先确定的每个当前点云所在的坐标系之间的变换关系,将所述至少两个当前点云变换至同一个坐标系,可以包括:

利用第一预设算法,对所述至少两个当前点云进行去噪处理和/或简化处理;

将每个去噪处理和/或简化处理后的当前点云变换至同一个坐标系。

可选的,所述根据融合后的点云进行曲面重建,得到三维模型的步骤,可以包括:

利用第二预设算法,构建所述融合后的点云对应的网格模型;

根据所述融合后的点云中包含的颜色信息,对所述网格模型进行纹理映射,得到重建后的曲面;

所有重建后的曲面构成三维模型。

为达到上述目的,本发明实施例还公开了一种三维重建装置,包括:

第一获取模块,用于获取目标场景的至少两个当前点云;

变换模块,用于根据预先确定的每个当前点云所在的坐标系之间的变换关系,将所述至少两个当前点云变换至同一个坐标系;

融合模块,用于将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;

重建模块,用于根据融合后的点云进行曲面重建,得到三维模型。

可选的,所述第一获取模块,具体可以用于:

获取至少两台采集设备针对目标场景采集的当前帧图像;

将每个当前帧图像分别转化为一个当前点云。

可选的,所述装置还可以包括:

第二获取模块,用于获取每台采集设备同一时刻采集的一帧图像;

第一确定模块,用于确定所获取的每一帧图像中的特征点;

第二确定模块,用于根据每个特征点在其所属的图像中的坐标,确定所获取的每一帧图像所在的坐标系之间的变换关系;

第三确定模块,用于根据所述每一帧图像所在的坐标系之间的变换关系,确定每个当前点云所在的坐标系之间的变换关系。

可选的,所述融合模块,可以包括:

确定子模块,用于在变换后的坐标系中确定每个匹配点对,其中,所述匹配点对中包含每个当前点云中的一个点;

融合子模块,用于针对每个匹配点对,将所述匹配点对进行融合,得到该匹配对对应的一个融合后的点;

替换子模块,用于将所述融合后的点替换对应的所述匹配点对中的每个点。

可选的,所述变换模块,具体可以用于:

利用第一预设算法,对所述至少两个当前点云进行去噪处理和/或简化处理;

将每个去噪处理和/或简化处理后的当前点云变换至同一个坐标系。

可选的,所述重建模块,具体可以用于:

利用第二预设算法,构建所述融合后的点云对应的网格模型;

根据所述融合后的点云中包含的颜色信息,对所述网格模型进行纹理映射,得到重建后的曲面;

所有重建后的曲面构成三维模型。

应用本方案,获取多个当前点云,并将其变换至同一个坐标系;将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;根据融合后的点云进行曲面重建,得到三维模型。由此可见,本方案不需要对目标进行扫描,因此,可以实现实时三维重建。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种三维重建方法的流程示意图;

图2为本发明实施例提供的一种三维重建装置的结构示意图;

图3为本发明实施例提供的一种采集设备的布局示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决上述技术问题,本发明实施例提供了一种三维重建方法及装置,可以应用于计算机、平板电脑等各种电子设备,具体不作限定。下面首先对本发明实施例提供的三维重建方法进行详细说明。

图1为本发明实施例提供的一种三维重建方法的流程示意图,包括:

s101:获取目标场景的至少两个当前点云。

该步骤可以包括:获取至少两台采集设备针对目标场景采集的当前帧图像;将每个当前帧图像分别转化为一个当前点云。

设置至少两台采集设备针对目标场景进行图像采集。该采集设备可以为rbgd相机。rgbd相机,能够同时获取rgb信息和深度(depth)信息(也就是颜色信息及位置信息),该相机获取到的每一帧图像包括一个二维的rgb图像和同维度包含每个点深度信息的深度图。也可以理解为,rgbd相机包括rgb传感器和深度传感器。

如图3所示,假设目标场景为一家便利店的室内场景,则可以在该便利店室内的四个墙角位置各设置一台采集设备(这四台采集设备分别为:设备a、设备b、设备c和设备d),从不同角度对目标场景进行图像采集。或者也可以在便利店内前后分别设置一台采集设备。下面以四台采集设备为例进行说明。

本方案可以具有实时性,这四台采集设备可以实时地将采集的当前帧图像发送给执行本方案的电子设备,该电子设备可以实时地将接收到的四个图像分别转化为一个点云,也就是获取到目标场景的四个当前点云。

具体的,该电子设备针对每台采集设备,根据该采集设备的内部参数及其采集到的当前帧图像的颜色信息及位置信息,将其采集到的当前帧图像转化为点云。点云中的点与该当前帧图像中的像素点一一对应,点云中包含每个点的颜色信息及位置信息(rgb信息和深度信息)。

rgbd相机的内部参数主要包括:rgb传感器与深度传感器各自的焦距、主点、畸变系数、以及二者之间的旋转平移关系。该内部参数可以通过张正友标定法获取,或者也可以通过其他方法获取,在此不做限定。

假设设备a采集的当前帧图像转化为点云a1,设备b采集的当前帧图像转化为点云b1,设备c采集的当前帧图像转化为点云c1,设备d采集的当前帧图像转化为点云d1。

s102:根据预先确定的每个当前点云所在的坐标系之间的变换关系,将所述至少两个当前点云变换至同一个坐标系。

作为本发明的一种实施方式,可以先利用第一预设算法,对该至少两个当前点云进行去噪处理和/或简化处理,然后再将每个去噪处理和/或简化处理后的当前点云变换至同一个坐标系。

第一预设算法可以为半径滤波、领域均值滤波、网格法等,在此不做限定。可以理解的是,由于rgbd相机本身的缺陷或者人为的干扰,使得获取的点云中可能带有许多小振幅噪声或者离群点,这会导致重建后的三维模型粗糙甚至变形,而且过多的噪声会增加点云的数据量,降低对点云的处理效率。采用上述方法对获取到的点云进行去噪处理和/或简化处理,可以提高三维重建的视觉效果,提升对点云的处理效率。

作为一种实施方式,可以通过相机的外部参数获取每个当前点云所在的坐标系之间的变换关系。外部参数可以理解为各rgbd相机之间的旋转平移关系。该外部参数可以通过黑白棋盘格、自制标定板等标定方法获取。例如,还可以通过特征点提取的方式获取外部参数,具体的,可以提取特征点,确定该特征点在各rgbd相机中的坐标值,通过所确定的各个坐标值,计算各rgbd相机之间的旋转平移关系。

需要说明的是,相机的内部参数及外部参数可以预先获取,作为一种实施方式,可以通过张正友标定法既获得相机的内部参数又获得相机的外部参数,或者,也可以利用两种不同的标定方法分别获得相机的内部参数及外部参数,在此不做限定。

本实施例提供一种确定每个当前点云所在的坐标系之间的变换关系的方式,具体包括:

获取每台采集设备同一时刻采集的一帧图像;

确定所获取的每一帧图像中的特征点;

根据每个特征点在其所属的图像中的坐标,确定所获取的每一帧图像所在的坐标系之间的变换关系;

根据所述每一帧图像所在的坐标系之间的变换关系,确定每个当前点云所在的坐标系之间的变换关系。

延续上述例子,假设这四台采集设备在同一时刻针对目标场景进行图像采集,设备a采集到图像a2、设备b采集到图像b2、设备c采集到图像c2、设备d采集到图像d2。需要说明的是,变换关系是预先确定的,该同一时刻并不是上述4个当前点云对应的当前时刻,而应该在当前时刻之前。

在这四张图像中确定特征点,该特征点为实际场景中的一个点。假设该点在图像a2中的坐标为(10,20,30),在图像b2中的坐标为(11,20,30),在图像c2中的坐标为(12,20,30),在图像d2中的坐标为(13,20,30)。假设以图像a2所在的坐标系为基准,则图像b2所在的坐标系与图像a2所在的坐标系之间的变换关系为:图像b2所在的坐标系向左平移一个单位;类似的,图像c2所在的坐标系与图像a2所在的坐标系之间的变换关系为:图像c2所在的坐标系向左平移两个单位;图像d2所在的坐标系与图像a2所在的坐标系之间的变换关系为:图像d2所在的坐标系向左平移三个单位。这里仅以平移关系进行举例,旋转关系不再进行描述。

根据上述确定的图像所在的坐标系之间的变换关系,确定每个当前点云所在的坐标系之间的变换关系。可以理解的是,图像所在的坐标系之间的变换关系,也就是采集该图像的设备的坐标系之间的变换关系。设备的坐标系通常情况下不会发生改变。可以将设备的坐标系认为是基于该设备获取的点云所在的坐标系。

也就是说,假设以点云a1所在的坐标系为基准,则点云b1所在的坐标系与点云a1所在的坐标系之间的变换关系为:点云b1所在的坐标系向左平移一个单位;类似的,点云c1所在的坐标系与点云a1所在的坐标系之间的变换关系为:点云c1所在的坐标系向左平移两个单位;点云d1所在的坐标系与点云a1所在的坐标系之间的变换关系为:点云d1所在的坐标系向左平移三个单位。

这样,便可以根据这4个点云之间的变换关系,将这4个点云变换至同一个坐标系中。

s103:将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云。

本步骤中可以包括:

在变换后的坐标系中确定每个匹配点对,其中,所述匹配点对中包含每个当前点云中的一个点;

针对每个匹配点对,将所述匹配点对进行融合,得到该匹配点对对应的一个融合后的点;

将所述融合后的点替换对应的所述匹配点对中的每个点。

延续上述例子,将这4个点云变换至同一坐标系之后,这4个点云的衔接部分可能存在局部多层现象。如果直接对变换至同一坐标系的4个点云进行曲面重建,重建的曲面可能会存在冗余面片、表面粗糙、拼接痕迹明显等缺陷。因此,需要将变换至同一坐标系的4个点云进行融合处理。

确定匹配点对是指:假设目标场景中有一个点,该点位于4个点云的衔接部分,由于不可避免的误差,该点在点云a1中的位置信息为(x1,y1,z1),颜色信息为(r1,g1,b1),该点在点云b1中的位置信息为(x2,y2,z2),颜色信息为(r2,g2,b2),该点在点云c1中的位置信息为(x3,y3,z3),颜色信息为坐标(r3,g3,b3),该点在点云d1中的位置信息为(x4,y4,z4),颜色信息为坐标(r4,g4,b4);将该点在4个点云中对应的这4个点确定为匹配点对。具体的确定方式可以有多种,比如,根据点的位置信息、法向量、颜色信息等至少一种来确定出匹配点对。

针对每个匹配点对,将该点对中的4个点融合为1个点,将该融合后的1个点替换掉该点对中的4个点。具体的融合方式可以包括:将匹配点对中各点位置信息及颜色信息的平均值,确定为融合后的点的位置信息及颜色信息。或者也可以采取其他方式,在此不做限定。

s104:根据融合后的点云进行曲面重建,得到三维模型。

本步骤中可以包括:

利用第二预设算法,构建所述融合后的点云对应的网格模型;

根据所述融合后的点云中包含的颜色信息,对所述网格模型进行纹理映射,得到重建后的曲面;

所有重建后的曲面构成三维模型。

第二预设算法可以包括:泊松曲面重建、法向量生成、marchingcubes(移动立方体)算法等等。可以理解的是,融合后的点云中包括点的位置信息及颜色信息。可以根据每个点的位置信息,利用上述算法,构建网格模型。该网格模型可以理解为没有颜色信息的曲面。

进一步的,可以根据每个点的颜色信息,对网格模型进行纹理映射,得到具有颜色信息的曲面,提高视觉效果。所有曲面,便构成了三维模型,实现了三维重建。

应用本发明图1所示实施例,获取多个当前点云,并将其变换至同一个坐标系;将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;根据融合后的点云进行曲面重建,得到三维模型。由此可见,本方案不需要对目标进行扫描,因此,可以实现实时三维重建。

与上述方法实施例相对应,本发明实施例还提供一种三维重建装置。

图2为本发明实施例提供的一种三维重建装置的结构示意图,包括:

第一获取模块201,用于获取目标场景的至少两个当前点云;

变换模块202,用于根据预先确定的每个当前点云所在的坐标系之间的变换关系,将所述至少两个当前点云变换至同一个坐标系;

融合模块203,用于将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;

重建模块204,用于根据融合后的点云进行曲面重建,得到三维模型。

在本实施例中,第一获取模块201,具体可以用于:

获取至少两台采集设备针对目标场景采集的当前帧图像;

将每个当前帧图像分别转化为一个当前点云。

在本实施例中,所述装置还可以包括:第二获取模块、第一确定模块、第二确定模块第三确定模块(图中未示出),其中,

第二获取模块,用于获取每台采集设备同一时刻采集的一帧图像;

第一确定模块,用于确定所获取的每一帧图像中的特征点;

第二确定模块,用于根据每个特征点在其所属的图像中的坐标,确定所获取的每一帧图像所在的坐标系之间的变换关系;

第三确定模块,用于根据所述每一帧图像所在的坐标系之间的变换关系,确定每个当前点云所在的坐标系之间的变换关系。

在本实施例中,融合模块203,可以包括:确定子模块、融合子模块和替换子模块(图中未示出),其中,

确定子模块,用于在变换后的坐标系中确定每个匹配点对,其中,所述匹配点对中包含每个当前点云中的一个点;

融合子模块,用于针对每个匹配点对,将所述匹配点对进行融合,得到该匹配对对应的一个融合后的点;

替换子模块,用于将所述融合后的点替换对应的所述匹配点对中的每个点。

在本实施例中,变换模块202,具体可以用于:

利用第一预设算法,对所述至少两个当前点云进行去噪处理和/或简化处理;

将每个去噪处理和/或简化处理后的当前点云变换至同一个坐标系。

在本实施例中,重建模块204,具体可以用于:

利用第二预设算法,构建所述融合后的点云对应的网格模型;

根据所述融合后的点云中包含的颜色信息,对所述网格模型进行纹理映射,得到重建后的曲面;

所有重建后的曲面构成三维模型。

应用本发明图2所示实施例,获取多个当前点云,并将其变换至同一个坐标系;将变换至同一个坐标系的各个当前点云进行融合,得到融合后的点云;根据融合后的点云进行曲面重建,得到三维模型。由此可见,本方案不需要对目标进行扫描,因此,可以实现实时三维重建。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

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

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