首页 / 专利库 / 电脑编程 / 算法 / 基于视觉的无纹理场景的稠密重建方法

基于视觉的无纹理场景的稠密重建方法

阅读:454发布:2024-02-29

专利汇可以提供基于视觉的无纹理场景的稠密重建方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于视觉的无纹理场景的稠密重建方法,主要解决现有用RGB相机采集数据对无纹理场景进行重建使用设备复杂,数据量大的问题,其方案为:在场景中布置光斑投射设备;使用已标定的相机在场景中不同 位置 拍摄不同光照环境下的多组照片;计算所有照片的特征点和描述子,并分别合并同一组的照片的特征点和描述子,得到该组的特征点和描述子;计算相机外参数和场景稀疏点 云 ;将每一组图片按权 叠加 并用叠加图片计算场景稠密点云;将稠密点云网格化;通过正常光照下的照片计算网格纹理贴图,完成场景的稠密重建。本发明使用设备简单,使用数据较少,在重建大的无纹理场景时消耗资源相对较少,可对无纹理或少纹理的真实场景进行 三维重建 。,下面是基于视觉的无纹理场景的稠密重建方法专利的具体信息内容。

1.基于视觉的无纹理场景的稠密重建方法,其特征在于:包括如下:
(1)在待重建的无纹理场景中布置好光斑投射设备,使光斑能覆盖到所有的弱纹理和无纹理区域,并固定其位置和朝向;利用室内灯光和这些布置好的设备作为光源,通过打开和关闭室内灯光分别显示该场景的“亮”与“暗”两个环境;
(2)使用已标定的相机在场景中的某一位置和度对“亮”环境和“暗”环境进行拍摄,获得一组照片;移动并旋转相机继续对场景进行拍摄,获得场景的多组照片,构成场景的照片组集合I;
(3)提取所有照片的特征点,并计算每个特征点对应的特征描述子:
(3a)通过特征点提取算法计算出每张图片中的特征点,获得每张图片特征点集合Xik,其中k∈{L,D},k=L时代表该组的“亮”环境对应图片,k=D时代表该组的“暗”环境对应图片,i=1,2...|I|,|I|表示场景的照片组个数,Xik表示第i组图片的某个环境图片中的所有特征点的集合;
(3b)由特征描述子提取算法计算出第i组的某个环境图片中的第j个特征点 对应的特征描述子 将所有的 合并,得到特征描述子集合: 其中
|Xik|为第i组的某个环境的照片中特征点的数量;
(4)分别合并每一组图片的特征点与特征描述子,得到所有组的特征点集合和所有组的特征描述子集合:
(4a)将第i组图片的特征点合并,得到第i组的合并特征点集合:Xi=XiL∪XiD,根据Xi得到所有组的特征点集合,记为{Xi};
(4b)将第i组图片的特征描述子合并,在合并时维持特征点和特征描述子的对应关系不变,合并后得到第i组的合并特征描述子集合Ni=NiL∪NiD,根据Ni得到所有组的特征描述子集合,记为{Ni};
(5)将所有组的特征点集合{Xi}和所有组的特征描述子集合{Ni}作为Structure From Motion算法的输入,重建出场景的稀疏点,并得到每组图片对应的相机外参数;
(6)将每组照片中的“亮”环境照片与“暗”环境照片逐像素按权叠加,得到每组的叠加图片;
(7)在每组的叠加图片之间利用光度一致性约束找到组与组的叠加图片之间的像素对应关系,并利用像素对应关系通过点云稠密化算法计算出场景的稠密点云;
(8)使用点云网格化算法将稠密点云网格化,得到场景网格;
(9)利用“亮”环境的照片作为计算网格贴图算法的输入,计算出场景网格的纹理贴图,完成对无纹理场景的稠密三维重建
2.根据权利要求1所述的方法,其特征在于:(3a)中通过特征点提取算法计算出每张图片中的特征点,实现如下:
(3a1)构建图片的尺度空间,并在所有尺度空间中通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点;
(3a2)通过对每个潜在的兴趣点进行拟合,得到一个精细的函数模型来确定特征点的位置和尺度;
(3a3)基于图像局部的梯度方向,给每个特征点的位置分配一个或多个方向。
3.根据权利要求1所述的方法,其特征在于:(3b)中由特征描述子提取算法计算出第i组的某个环境图片中的第j个特征点 对应的特征描述子 是在特征点 所在图片的给定区域内计算出该图片的多方向局部梯度,并将这些梯度用向量 表示,该向量 即为特征点 对应的特征描述子。
4.根据权利要求1所述的方法,其特征在于:步骤(5)中得到每组图片对应的相机外参数,是拍摄该组照片时相机所在的位置和朝向,该相机拍摄时所在的位置使用一个三维向量c描述,相机拍摄时的朝向使用一个3*3矩阵R描述。
5.根据权利要求1所述的方法,其特征在于:步骤(6)中将每组照片中的“亮”环境照片与“暗”环境照片逐像素按权叠加,实现如下:
(6a)将第i组某个场景图片中位置为(x,y)处的第m个通道的像素值记为 其中其中k∈{L,D},m∈{1,2,3}为图片通道;
(6b)通过下式将第i组图片的“亮”环境与“暗”环境图片进行按权叠加,得到第i组的叠加图片在位置(x,y)处的第m个通道的像素值
其中 为第i组“暗”环境图片中位置为(x,y)处的第m个通道的像素值,
为第i组“亮”环境图片中位置为(x,y)处的第m个通道的像素值;
(6c)对所有组都利用(6a)和(6b)进行计算,得到每组的叠加图片。
6.根据权利要求1所述的方法,其特征在于:步骤(7)中利用像素对应关系通过点云稠密化算法计算出场景的稠密点云,实现如下:
(7a)通过光度一致性约束,对一张图片中的某个像素在另一张图片中找到与其光度最接近的像素;
(7b)利用这两个像素以及两张图片对应的相机内参数与外参数,通过三角化计算出这两个像素对应的3D空间点;
(7c)对所有的像素都利用(7a)与(7b)得到所有的3D空间点,并对得到的所有3D空间点进行融合滤波,最后得到场景的稠密点云。
7.根据权利要求1所述的方法,其特征在于:步骤(8)中使用点云网格化算法将稠密点云网格化,实现如下:
(8a)同时输入稠密点云、网络的形状因子和约束条件,生成边界节点并在点云内部插入内部节点;
(8b)对边界节点构成的边界多面体进行三角划分,生成仅包含边界节点和内部节点的初始网格;
(8c)采用德劳内优化平分方法在初始网格内部插入新的节点,生成新的密集网格;
(8d)根据网格的形状因子,调整插入的节点,以改变密集网格的形状,得到最终的高质量网格。
8.根据权利要求1所述的方法,其特征在于:步骤(9)中计算出场景网格的纹理贴图,实现如下:
(9a)将场景网格中构成三角面片的三个顶点称为一组顶点,利用相机内外参数将这一组顶点投影到照片中,得到三个投影顶点,用这三个投影顶点在照片中围成一个三角形,该三角形在图片中的纹理即为场景网格中对应该组顶点三角面片的纹理;
(9b)重复(9a),对场景网格的每组顶点都计算出对应三角面片的纹理,得到场景的纹理贴图。

说明书全文

基于视觉的无纹理场景的稠密重建方法

技术领域

[0001] 本发明属于三维重建计算机视觉技术领域,特别涉及一种场景的重建方法,可对无纹理或者少纹理的真实场景进行三维重建,实现真实场景的数字化表示。

背景技术

[0002] 对真实场景进行稠密三维重建可以利用基于视觉的三维重建方法进行,基于视觉的三维重建是利用数字像机作为图像传感器,使用一些计算机视觉中的算法将真实场景重建为虚拟三维模型的技术。
[0003] 基于视觉的三维重建按照是否有测距设备分为主动式重建和被动式重建。其中:
[0004] 主动式重建,是使用深度相机测量被重建物体到深度相机的距离,即深度信息,从而利用深度信息完成三维重建,但深度相机测量出的深度信息仅在距离该深度相机设定的范围内是可靠的,超出该范围测量出的深度值会有较大的误差。
[0005] 被动式重建,是仅使用RGB相机获得的数据完成对场景的重建。在多种被动式重建算法中,立体视觉匹配算法得到的重建结果较好。通过输入一系列彩色图像,计算每张图像之间的匹配关系,从而计算出相机参数,然后利用相机参数计算出照片中的像素对应到三维空间中的三维坐标完成三维重建。
[0006] 立体视觉匹配算法会进行图片的特征提取,利用提取到的特征计算每张图片之间的关系,有了图片之间的匹配关系才能进行场景的三维重建。因此立体视觉匹配算法依赖于场景中丰富的纹理信息。纹理是物体表面的颜色信息,纹理越丰富的物体被重建后得到的模型越好。如果被重建场景的表面纹理单一或较少,则在算法中无法提取图片特征信息,从而无法计算图片之间的匹配关系,不能重建出场景的三维模型。
[0007] 文献AHMADABADIAN,Ali Hosseininaveh;KARAMI,Ali;YAZDAN,Rouhallah.An automatic 3D reconstruction system for texture-less objects.Robotics and Autonomous Systems,2019,117:29-39.设计了一种重建无纹理物体的设备和方法,但是其设备较复杂,而且仅可以对小物体做三维重建而不能应用于无纹理场景的重建。
[0008] 在LEY,Andreas; Ronny;HELLWICH,Olaf.RECONSTRUCTING WHITE WALLS:MULTI-VIEW,MULTI-SHOT 3D RECONSTRUCTION OF TEXTURELESS SURFACES.ISPRS Annalsof Photogrammetry,Remote Sensing&Spatial Information Sciences,2016,3.3.中提出了一种对无纹理场景三维重建的方法,其先将同一位置拍摄的不同曝光度的图片结合成一张高动态范围图像,再使用文中提出的算法得到无纹理场景中“隐藏”的纹理信息,从而利用RGB相机完成弱纹理场景进行重建,该方法在对场景做三维重建时需要的数据量过大,采集数据较为复杂,对较大场景的重建计算资源消耗较多。
发明内容:
[0009] 本发明的目的是在于克服上述现有技术的不足,提出一种基于视觉的无纹理场景的稠密重建方法,以利用较简便的设备和相对较少的数据实现对无纹理场景的重建。
[0010] 为实现上述目的,本发明的技术方案包括如下步骤:
[0011] (1)在待重建的无纹理场景中布置好光斑投射设备,使光斑能覆盖到所有的弱纹理和无纹理区域,并固定其位置和朝向;利用室内灯光和这些布置好的设备作为光源,通过打开和关闭室内灯光分别显示该场景的“亮”与“暗”两个环境;
[0012] (2)使用已标定的相机在场景中的某一位置和度对“亮”环境和“暗”环境进行拍摄,获得一组照片;移动并旋转相机继续对场景进行拍摄,获得场景的多组照片,构成场景的照片组集合I;
[0013] (3)提取所有照片的特征点,并计算每个特征点对应的特征描述子:
[0014] (3a)通过特征点提取算法计算出每张图片中的特征点,获得每张图片特征点集合Xik,其中k∈{L,D},k=L时代表该组的“亮”环境对应图片,k=D时代表该组的“暗”环境对应图片,i=1,2…|I|,|I|表示场景的照片组个数,Xik表示第i组图片的某个环境图片中的所有特征点的集合;
[0015] (3b)由特征描述子提取算法计算出第i组的某个环境图片中的第j个特征点 对应的特征描述子 将所有的 合并,得到特征描述子集合: 其中|Xik|为第i组的某个环境的照片中特征点的数量;
[0016] (4)分别合并每一组图片的特征点与特征描述子,得到所有组的特征点集合和所有组的特征描述子集合:
[0017] (4a)将第i组图片的特征点合并,得到第i组的合并特征点集合:Xi=XiL∪XiD,根据Xi得到所有组的特征点集合,记为{Xi};
[0018] (4b)将第i组图片的特征描述子合并,在合并时维持特征点和特征描述子的对应关系不变,合并后得到第i组的合并特征描述子集合Ni=NiL∪NiD,根据Ni得到所有组的特征描述子集合,记为{Ni};
[0019] (5)将所有组的特征点集合{Xi}和所有组的特征描述子集合{Ni}作为Structure From Motion算法的输入,重建出场景的稀疏点,并得到每组图片对应的相机外参数;
[0020] (6)将每组照片中的“亮”环境照片与“暗”环境照片逐像素按权叠加,得到每组的叠加图片;
[0021] (7)在每组的叠加图片之间利用光度一致性约束找到组与组的叠加图片之间的像素对应关系,并利用像素对应关系通过点云稠密化算法计算出场景的稠密点云;
[0022] (8)使用点云网格化算法将稠密点云网格化,得到场景网格;
[0023] (9)利用“亮”环境的照片作为计算网格贴图算法的输入,计算出场景网格的纹理贴图,完成对无纹理场景的稠密三维重建。
[0024] 本发明与现有技术相比,具有如下优点:
[0025] 第一,本发明使用一般的RGB相机以及低成本的可见光投射设备对无纹理场景进行三维重建,与现有的投射可见光斑到物体上的重建方法相比设备较简单,还可用于多种无纹理场景的稠密三维重建。
[0026] 第二,本发明与现有利用RGB相机进行无纹理场景的三维重建方法相比,使用相对较少的数据,能够减少采集数据时的复杂性,在重建大场景时消耗资源相对较少。附图说明:
[0027] 图1为本发明的实现流程框图
[0028] 图2为使用本发明重建的三维模型结果图。

具体实施方式

[0029] 本发明利用普通的RGB相机和市场上可购买到的可见光斑投射设备对无纹理场景进行稠密三维重建。可见光斑投射设备可以在无纹理物体上投射出不规则的光斑信息,从而为无纹理场景提供纹理。下面结合附图和实施例,对本发明作进一步详细说明。
[0030] 参照图1,本实例的实现步骤如下:
[0031] 步骤1,布置可见光斑投射设备,并构造“亮”与“暗”环境。
[0032] 在待重建的无纹理场景中首先要布置好光斑投射设备,使光斑能覆盖到所有的弱纹理和无纹理区域,本实例将可见光斑投射设备布置在场景的四周,所有的待重建无纹理区域上都会有光斑;
[0033] 利用室内灯光和这些布置好的可见光斑投射设备作为光源,通过打开和关闭室内灯光分别作为该场景的“亮”与“暗”两个环境。
[0034] 步骤2,使用已经标定的相机拍摄场景的多组照片。
[0035] 使用已标定的相机在场景中的某一位置和角度对“亮”环境和“暗”环境进行拍摄,获得一组照片;
[0036] 移动并旋转相机继续对场景进行拍摄,获得场景的多组照片,构成场景的照片组集合I。
[0037] 步骤3,计算所有照片的特征点和特征描述子。
[0038] 计算所有照片的特征点和特征描述子可采用现有的多种算法进行,现有的特征点和特征描述子提取算法包括尺度不变特征变换SIFT算法、加速稳健特征SURF算法、利用神经网络提取特征点与描述子,本实例使用但不限于SIFT算法对图片进行特征点提取和特征描述子计算,具体实现如下:
[0039] 3.1)计算第i个场景中某个环境照片的特征点集合Xik,其中i=1,2...|I|,|I|表示场景的照片组个数,k∈{L,D},k=L时代表该组的“亮”环境对应图片,k=D时代表该组的“暗”环境对应图片:
[0040] 3.1.1)构建该图片的尺度空间,并在所有尺度空间中通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点;
[0041] 3.1.2)通过对每个潜在的兴趣点进行拟合,得到一个精细的函数模型来确定特征点的位置和尺度;
[0042] 3.1.3)基于图像局部的梯度方向,给每个特征点的位置分配一个或多个方向;
[0043] 3.2)计算第i个场景中某个环境照片的特征描述子集合Nik:
[0044] 3.2.1)计算第i组的某个环境图片中的第j个特征点 对应的特征描述子 其中j=1,2...|Xik|,|Xik|为第i组的某个环境的照片中特征点的数量,其实现为:在特征点所在图片的给定区域内计算出该图片的多方向局部梯度,并将这些梯度用向量 表示,该向量 即为特征点 对应的特征描述子;
[0045] 3.2.2)对所有特征点都利用3.2.1)计算出特征描述子,并将这些描述子合并为第i个场景中某个环境照片的特征描述子集合:
[0046] 3.3)对所有图片都使用3.1)和3.2)计算出所有图片的特征点集合与特征描述子。
[0047] 步骤4,合并同一组照片的特征点和特征描述子。
[0048] 首先,对同一组照片,将“亮”环境的照片与“暗”环境的照片提取出的特征点进行合并作为该组的特征点;
[0049] 然后,按照特征点和特征描述子的对应关系,将“亮”环境的照片与“暗”环境的照片提取出的特征描述子进行合并作为该组的特征描述子。
[0050] 步骤5,计算场景的稀疏三维重建以及相机外参数。
[0051] 本步骤使用现有的Structure From Motion算法进行,其流程如下:
[0052] 5.1)利用步骤4中的特征描述子计算每两张图片特征点之间的匹配关系,得到匹配的特征点;
[0053] 5.2)通过匹配的特征点计算每两张图片之间的本征矩阵,并对每个本征矩阵都进行分解得到两张图片之间的相对旋转矩阵的初值和相对平移向量的初值;
[0054] 5.3)通过三角化计算特征点对应的3D空间点的初始值;
[0055] 5.4)利用光束平差法对所有的3D空间点初始值、所有的相对旋转矩阵初始值和所有的相对平移向量初始值进行优化,得到场景的稀疏点云重建以及每组图片对应的相机外参数。
[0056] 步骤6,按权叠加同一组“亮”和“暗”环境的照片。
[0057] 6.1)将第i组某个场景图片中位置为(x,y)处的第m个通道的像素值记为其中m∈{1,2,3}为图片通道;
[0058] 6.2)通过下式将第i组图片的“亮”环境与“暗”环境图片进行按权叠加,得到第i组的叠加图片在位置(x,y)处的第m个通道的像素值
[0059]
[0060] 其中 为第i组“暗”环境图片中位置为(x,y)处的第m个通道的像素值,为第i组“亮”环境图片中位置为(x,y)处的第m个通道的像素值;
[0061] 6.3)对所有组都利用步骤6.1)和步骤6.2)进行计算,得到每组的叠加图片。
[0062] 步骤7,利用点云稠密化算法计算场景的稠密点云。
[0063] 现有的点云稠密化算法有基于迭代派生的点云稠密化算法、基于区域生长的点云稠密化算法等,本实例使用但不限于基于区域生长的点云稠密化算法,实现如下:
[0064] 7.1)通过光度一致性约束,对一张叠加图片中的某个像素在另一张叠加图片中找到与其光度最接近的像素;
[0065] 7.2)利用这两个像素以及两张图片对应的相机内外参数,通过三角化计算出这两个像素对应的3D空间点;
[0066] 7.3)对所有的像素都利用步骤7.1)与步骤7.2)得到所有的3D空间点,并对得到的所有3D空间点进行融合滤波,最后得到场景的稠密点云。
[0067] 步骤8,使用点云网格化算法将稠密点云网格化。
[0068] 现有的点云网格化算法包括德劳内三角剖分算法、泊松重建算法,本实例使用但不限于德劳内三角剖分算法将稠密点云网格化,其实现如下:
[0069] 8.1)同时输入稠密点云、网络的形状因子和约束条件,生成边界节点并在点云内部插入内部节点;
[0070] 8.2)对边界节点构成的边界多面体进行三角划分,生成仅包含边界节点和内部节点的初始网格;
[0071] 8.3)采用德劳内优化平分方法在初始网格内部插入新的节点,生成新的密集网格;
[0072] 8.4)根据网格的形状因子,调整插入的节点,以改变密集网格的形状,得到最终的高质量网格。
[0073] 步骤9,使用“亮”环境中的图片对网格进行纹理贴图。
[0074] 利用“亮”环境照片对场景的网格进行纹理贴图的计算,现有计算纹理贴图的算法包括坐标纹理映射、投影纹理映射,本实例使用但不限于投影纹理映射计算网格纹理贴图,其实现如下:
[0075] 9.1)将场景网格中构成三角面片的三个顶点称为一组顶点,利用相机内外参数将这一组顶点投影到照片中,得到三个投影顶点,再用这三个投影顶点在该照片中围成一个三角形,该三角形在照片中的纹理即为场景网格中对应该组顶点三角面片的纹理;
[0076] 9.2)重复步骤9.1),对场景网格的每组顶点都计算出对应三角面片的纹理,得到场景的纹理贴图,完成无纹理场景的稠密重建,如图2所示。
[0077] 从图2可见,本发明对场景的无纹理区域,如墙体,投影幕布进行重建后得到的模型,没有存在大的空洞和明显的缺失。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈