三维重建的深度图优化方法及装置与流程

文档序号:32203989发布日期:2022-11-16 04:03阅读:167来源:国知局
三维重建的深度图优化方法及装置与流程

1.本技术涉及倾斜摄影实景三维建模技术领域,尤其涉及一种三维重建的深度图优化算法及装置。


背景技术:

2.深度图是一种三维图像数据格式,其包含场景对象的表面到视点的距离有关的信息,每个像素点的灰度值可用于表征场景中某一点距离摄像机的远近,反映了物体到相机坐标平面的距离,也反映了物体可见表面的几何形状。
3.因被动视觉测距传感器的硬件成本较低,目前大多采用被动测距方法,主要通过两个摄像机同时获取同一场景的两幅图像,根据立体匹配算法找出两幅图像中对应的像素点,随后根据三角原理计算出视差信息,再将视差信息通过坐标转换来表征场景中物体的深度信息;或者通过拍摄同一场景下不同角度的一组图像来获得该场景的深度图像。
4.但是,因光线明暗以及环境遮挡等因素,会导致通过被动测距方法获得的深度图存在过多的杂点或者漂浮在表面的浮点,在边缘区域存在明显的因深度信息缺失形成孔洞等问题,以至于在三维重建时导致模型不完整而且存在过多的杂点。


技术实现要素:

5.在本技术实施例中,通过提供一种三维重建的深度图优化方法及装置,能够生成边缘细节更加准确的深度图,为三维重建网格化和贴图提供高精度的高分辨率深度图数据和融合点云数据,解决了现有技术中三维重建的模型不完整且存在过多的杂点等技术问题。
6.第一方面,本技术实施例提供了一种三维重建的深度图优化方法,该方法包括:对每张深度图进行平滑去噪;基于所述深度图对应的原始图像先验信息和邻域深度信息补全所述深度图中所存在的孔洞区域;将每张所述深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值;根据预设融合约束,去除每张所述深度图在三维点云中所对应点云中冗余点,获得每张所述深度图的点云数据;融合多张所述深度图的点云数据,获得优化后三维点云。
7.结合第一方面,在一种可能的实现方式中,所述对每张深度图进行平滑去噪之前,所述方法还包括:获取相机内外参数,深度范围和立体匹配关联视图信息;利用所述原始图像和其对应所述关联视图信息,通过立体匹配算法计算得到每张所述原始图像的所述深度图。
8.结合第一方面,在一种可能的实现方式中,所述对每张深度图进行平滑去噪,包括:利用非线性双边滤波的方法对每张所述深度图进行平滑去噪。
9.结合第一方面,在一种可能的实现方式中,所述基于所述深度图对应的原始图像先验信息和邻域深度信息补全所述深度图中所存在的孔洞区域,包括:将每张所述原始图像分割为多个联通区;结合每个所述联通区对应的所述深度图的深度值,对每个所述联通
区进行平面检测;确定符合平面特征的所述联通区的平面方程,获得每张所述原始图像的平面方程集合;搜索每张所述深度图的空洞区域,获得每张所述深度图的空洞区域点集;其中,所述空洞区域为所述深度图中的无效值区域;比较所述空洞区域与预设尺寸值;若所述空洞区域小于所述预设尺寸值,根据所述邻域深度信息对所述空洞区域进行插值;所述空洞区域大于所述预设尺寸值,判断所述空洞区域是否位于所述平面方程集合;若所述空洞区域位于所述平面方程集合,根据对应的所述平面方程对所述空洞区域进行插值。
10.结合第一方面,在一种可能的实现方式中,所述将每张所述深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值,包括:采用边缘检测算子对所述原始图像进行边缘提取,并将所述边缘映射到所述深度图中;利用所述边缘将所述深度图分割为多个边缘区域;计算每个所述边缘区域的梯度信息;迭代执行以下步骤,直至完成所述边缘区域的像素值修正:若所述错误深度值像素点的预设第一邻域中存在所述正确深度值,根据所述正确深度值的距离加权以及所述边缘区域的梯度信息,将所述错误深度值更新为所述正确深度值;若所述不可靠深度值像素点的预设第二邻域中存在所述可靠深度值或所述正确深度值,根据距离加权,将所述不可靠深度值更新为所述可靠深度值。
11.结合第一方面,在一种可能的实现方式中,所述预设融合约束包括:删除每张所述深度图的点云数据中深度值小于在关联所述深度图中深度值的点;待融合点的相对深度差小于预设阈值;待融合点的法线差小于预设角度;重投影误差小于预设像素距离;删除少于预设数量参数视图的所述深度图存在的点。
12.结合第一方面,在一种可能的实现方式中,所述融合多张所述深度图的点云数据,获得优化后三维点云,包括:采用分块融合的策略,并在所述每张深度图融合时采用体素降采样方法,获得所述优化后三维点云。
13.第二方面,本技术实施例提供了一种三维重建的深度图优化装置,该装置包括:平滑去噪模块,用于对每张深度图进行平滑去噪;补全模块,用于基于所述深度图对应的原始图像先验信息和邻域深度信息补全所述深度图中所存在的孔洞区域;优化模块,用于将每张所述深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值;冗余点去除模块,用于根据预设融合约束,去除每张所述深度图在三维点云中所对应点云中冗余点,获得每张所述深度图的点云数据;融合模块,用于融合多张所述深度图的点云数据,获得优化后三维点云。
14.结合第二方面,在一种可能的实现方式中,所述装置还包括相机参数模块和深度图模块;在所述平滑去噪模块对每张深度图进行平滑去噪前,所述相机参数模块用于获取相机内外参数,深度范围和立体匹配关联视图信息;深度图模块用于利用所述原始图像和其对应所述关联视图信息,通过立体匹配算法计算得到每张所述原始图像的所述深度图。
15.结合第二方面,在一种可能的实现方式中,所述平滑去噪模块具体用于:利用非线性双边滤波的方法对每张所述深度图进行平滑去噪。
16.结合第二方面,在一种可能的实现方式中,所述补全模块具体用于:将每张所述原始图像分割为多个联通区;结合每个所述联通区对应的所述深度图的深度值,对每个所述联通区进行平面检测;确定符合平面特征的所述联通区的平面方程,获得每张所述原始图像的平面方程集合;搜索每张所述深度图的空洞区域,获得每张所述深度图的空洞区域点集;其中,所述空洞区域为所述深度图中的无效值区域;比较所述空洞区域与预设尺寸值;
若所述空洞区域小于所述预设尺寸值,根据所述邻域深度信息对所述空洞区域进行插值;若所述空洞区域大于所述预设尺寸值,判断所述空洞区域是否位于所述平面方程集合;若所述空洞区域位于所述平面方程集合,根据对应的所述平面方程对所述空洞区域进行插值。
17.结合第二方面,在一种可能的实现方式中,所述优化模块具体用于:采用边缘检测算子对所述原始图像进行边缘提取,并将所述边缘映射到所述深度图中;利用所述边缘将所述深度图分割为多个边缘区域;计算每个所述边缘区域的梯度信息;迭代执行以下步骤,直至完成所述边缘区域的像素值修正:若所述错误深度值像素点的预设第一邻域中存在所述正确深度值,根据所述正确深度值的距离加权以及所述边缘区域的梯度信息,将所述错误深度值更新为所述正确深度值;若所述不可靠深度值像素点的预设第二邻域中存在所述可靠深度值或所述正确深度值,根据距离加权,将所述不可靠深度值更新为所述可靠深度值。
18.结合第二方面,在一种可能的实现方式中,所述预设融合约束包括:删除每张所述深度图的点云数据中深度值小于在关联所述深度图中深度值的点;待融合点的相对深度差小于预设阈值;待融合点的法线差小于预设角度;重投影误差小于预设像素距离;删除少于预设数量参数视图的所述深度图存在的点。
19.结合第二方面,在一种可能的实现方式中,所述融合模块具体用于:采用分块融合的策略,并在所述每张深度图融合时采用体素降采样方法,获得所述优化后三维点云。
20.第三方面,本技术实施例提供了一种三维重建的深度图优化服务器,包括存储器和处理器;所述存储器用于存储计算机可执行指令;所述处理器用于执行所述计算机可执行指令,以实现第一方面或第一方面任一种可能的实现方式所述的方法。
21.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现以实现第一方面或第一方面任一种可能的实现方式所述的方法。
22.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
23.本技术实施例对深度图进行平滑降噪,以及对孔洞区域进行补全,将每张深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值,根据预设融合约束,去除每张深度图在三维点云中所对应点云中冗余点,获得每张深度图的点云数据融合多张深度图的点云数据,获得优化后三维点云,相比于现有的深度图融合算法,能够去除传统深度图的杂点以及异常值信息,增加完善点云细节信息,优化边缘区域的深度值信息,去除点云冗余信息,得到较为完整的点云数据,能够满足大规模高分辨率场景重建需求。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的三维重建的深度图优化方法的步骤流程图;
26.图2为本技术实施例提供的对每张深度图进行平滑去噪之前所进行预处理的步骤流程图;
27.图3为本技术实施例提供的对每张深度图进行平滑去噪步骤流程图;
28.图4为本技术实施例提供的补全深度图中所存在的孔洞区域的流程图;
29.图5为本技术实施例提供的对每张深度图的边缘区域优化的流程图;
30.图6为本技术实施例提供的三维重建的深度图优化装置示意图;
31.图7为本技术实施例提供的三维重建的深度图优化服务器示意图;
32.图8a为本技术实施例提供的原始深度图影像;
33.图8b为本技术实施例提供的经过双边滤波处理后的深度图影像;
34.图8c为本技术实施例提供的分块图像坐标和稀疏点云;
35.图8d为本技术实施例提供的融合后的点云数据。
具体实施方式
36.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.传统的被动视觉测距传感器因硬件成本低,获取数据方便快捷,发展迅速。然而基于图像立体匹配视觉处理算法得到的深度图因光线以及环境遮挡等因素,得到数据通常存在过多的杂点或者漂浮在表面的浮点,在边缘区域存在明显的深度信息缺失形成孔洞等问题,以至于在三维重建时导致模型不完整而且存在过多的杂点。
38.首先对本技术实施例中涉及的相关技术或概念作简单介绍。
39.深度图(depth image)也被称为距离影像(range image),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。
40.灰度值由于景物各点的颜色及亮度不同,摄成的黑白照片上或电视接收机重现的黑白图像上各点呈现不同程度的灰色。把白色与黑色之间按对数关系分成若干级,称为“灰度等级”。范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途。
41.点云数据(point cloud data)是指在一个三维坐标系统中的一组向量的集合。扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息(rgb)或反射强度信息(intensity)。点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(rgb)赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。
42.先验信息是指获得样本的试验之前,获得的经验和历史资料。先验信息同样也可以用于统计推断和统计决策,因为当需要对未来的不确定性作出统计推断时,当前的状态固然重要,但历史的经验也同样是举足轻重的文献来源概念知识库。先验信息既与事物的
运动状态及其状态变化的方式有关,也与主题自身的主观因素(个人经验、学习态度等)有关。
43.本技术实施例提出了一种三维重建的深度图优化方法,该方法对基于多视图生成的深度图进行优化处理,主要包括杂点去除,孔洞区域补全,边缘区域深度值优化。
44.本技术实施例提供的三维重建的深度图优化方法,如图1所示,该方法包括步骤s101至s105。
45.步骤s101,对每张深度图进行平滑去噪。
46.步骤s102,基于深度图对应的原始图像先验信息和邻域深度信息补全深度图中所存在的孔洞区域。
47.步骤s103,将每张深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值。
48.步骤s104,根据预设融合约束,去除每张深度图在三维点云中所对应点云中冗余点,获得每张深度图的点云数据。
49.步骤s105,融合多张深度图的点云数据,获得优化后三维点云。
50.在上述的步骤中,通过对每张深度图进行平滑去噪,基于深度图对应的原始图像先验信息和邻域深度信息补全所述深度图中所存在的孔洞区域,将每张深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值从而能够解决被动视觉测距传感器存在因光线以及环境遮挡产生过多的杂点或者漂浮在表面的浮点,在边缘区域存在明显的深度信息缺失形成孔洞等问题,以至于在三维重建时导致模型不完整而且存在过多的杂点。实现了对基于多视图生成的深度图进行优化处理,主要包括杂点去除,孔洞区域补全,边缘区域深度值优化,联合关联视图深度图优化深度图点云数据,有效的对深度图进行优化。
51.在执行步骤s101前,本技术实施例提供的方法还包括如图2所示的步骤s201和s202。
52.步骤s201,获取相机内外参数,深度范围和立体匹配关联视图信息。其中,相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等。
53.步骤s202,利用原始图像和其对应关联视图信息,通过立体匹配算法计算得到每张原始图像的深度图。
54.本技术实施例在执行上述的步骤s201和s202时,可以采用递增式运动恢复结构算法估计相机内外参数,并获得每张影像的深度图。
55.具体地,递增式运动恢复算法是从一组时空系列的二维影像数据推算空间3d信息以及影像内外参数的过程,通过分析影像数据中的运动信息,恢复出3d视角下的结构信息,其主要包括以下过程:
56.对所有影像数据图像提取关键特征点,并进行特征点之间的匹配,计算图像之间的几何位置关系;随机选择最佳匹配的两组视图进行初始化,利用随机采样一致性算法去除误匹配点;对影像的初始位姿和3d点进行ba优化;根据匹配关系不断增加新的影像数据,进行影像的位姿求解和特征点的三角定位;每次添加新图像和重建完成后,都需要进行一次光束调整来减少误差累积,直到全部图像添加完毕,完成整个空间场景的重建;利用影像
的位姿,内参以及多视图关联匹配关系进行每张影像的密集匹配,得到稠密深度图,即恢复每个像素的深度信息。
57.当然,步骤s201和s202并不以递增式运动恢复结构算法为限制,还可以采用其他方式来进行实现,比如矩阵计算(内外矩阵)以及光束法平差法。
58.图3示例性地提供了一种对每张深度图进行平滑去噪的具体实现方式,包括步骤s301。步骤s301,利用非线性双边滤波的方法对每张深度图进行平滑去噪。其中,非线性双边滤不仅能够平滑图像并减少噪声,还能够在平滑图像的同时较为完整地保留深度图中的边缘,进一步保证了该方法的最终优化结果。
59.具体地,本技术实施例中所使用的非线性双边滤波的核函数是空间域核与值域核的乘积。空间域核wd∈[0,1]是由邻域目标窗口内中心像素和领域内其他像素的像素欧式距离计算得出,距离越远,权重值越大,计算公式如下:
[0060][0061]
其中,(i,j)为目标窗口其他像素点坐标,(x,y)为目标窗口的中心点坐标,σd为高斯函数的标准差。值域核wd∈[0,1]是由目标窗口邻域内中心像素的深度值和邻域内其他像素的深度值之差所决定的。本技术实施例与常规二维灰度图像不同的是像素灰度值取值为深度图的像素深度图值,计算公式如下:
[0062][0063]
其中,f(i,j)为目标窗口其他像素点坐标处的深度值,f(x,y)为目标窗口的中心点坐标处的深度值,σr为高斯函数的标准差。将空间域核wd和值域核wc相乘,得到以下非线性双边滤波的权重值:w(i,j,x,y)=wd(i,j,x,y)
*
wr(i,j,x,y)。
[0064]
根据上述计算公式可知:在临近像素处深度值变化范围小的区域,对应的值域权重接近1,相当于在此处做高斯模糊,能够去除部分区域的异常深度值。在临近像素的深度值变化范围较大处,对应的值域权重逼近0,当前像素深度受到影响较小,保持原始深度图像的边缘细节和梯度信息。图8a为本技术实施例提供的原始深度图影像;图8b为本技术实施例提供的经过双边滤波处理后的深度图影像。
[0065]
图4示例性地提供了一种实现步骤s102的具体实现方式,包括步骤s401至步骤s408。
[0066]
步骤s401,将每张原始图像分割为多个联通区。具体地,步骤s401可以利用形态学分水岭图像分割算法来对每张原始图像进行分割,所谓分水岭算法有好多种实现算法,拓扑学,形态学,浸水模拟和降水模拟等方式。分水岭算法(watershedalgorithm),是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是分水岭(watershed)。分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一
个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。当然,步骤s401也可以采用其他算法来对原始图像进行分割,并不以形态学分水岭图像分割算法为限制,比如采用图像边缘分割算法、图像阈值分割算法、基于区域的分割算法。
[0067]
步骤s402,结合每个联通区对应的深度图的深度值,对每个联通区进行平面检测。
[0068]
步骤s403,确定符合平面特征的联通区的平面方程,获得每张原始图像的平面方程集合。
[0069]
步骤s404,搜索每张深度图的空洞区域,获得每张深度图的空洞区域点集;其中,空洞区域为深度图中的无效值区域。
[0070]
步骤s405,比较空洞区域与预设尺寸值。预设尺寸值由人为提前设定,并可以根据运算结果进行调整,本技术实施例中可以将预设尺寸值设置为7*7个像素,其中,7*7个像素是通过实验综合计算时间和边缘补洞效果得到的效果较好的一个值。当然,预设尺寸值还可以设置为6*6、8*8等其他尺寸。
[0071]
若步骤s405的比较结果是空洞区域小于预设尺寸值,执行步骤s406,根据邻域深度信息对空洞区域进行插值。
[0072]
若步骤s406的比较结果是空洞区域大于预设尺寸值,执行步骤s407,判断空洞区域是否位于平面方程集合。若空洞区域位于所平面方程集合,执行步骤s408,根据对应的平面方程对空洞区域进行插值。具体地,插值补的是缺失的孔洞值。
[0073]
如图5所示,本技术实施例提供了一种实现步骤s103的具体实现方式,结合原始图像的边缘信息对深度图的边缘区域的深度值进行增强优化,原始图像边缘区域和深度图边缘区域应保持一致,增加边缘区域的深度值的锐度,包括包括步骤s501至s506。
[0074]
步骤s501,采用边缘检测算子对原始图像进行边缘提取,并将边缘映射到深度图中。
[0075]
步骤s502,利用边缘将深度图分割为多个边缘区域。
[0076]
示例性地,利用边缘区域信息将深度图边缘区域内左右邻域的预设数量像素点分成可靠深度值、不可靠深度值、正确深度值和错误深度值四种情况,预设数量像素点可以为十个像素点。其中,在边缘线段保持一致梯度的为正确深度图值,偏离当前梯度的为错误深度值;在边缘邻域内的且偏离值小于预设偏离阈值的为可靠深度值,偏离值大于预设偏离阈值的为不可靠深度值。其中预设偏离阈值跟像素对应的分辨率有关系,一般为0.02cm-0.05cm。
[0077]
步骤s503,计算每个边缘区域的梯度信息。
[0078]
深度图边缘迭代优化过程采用逐步逼近法则,不断的迭代更新错误深度值和不可靠深度值,向正确和可靠的区域靠拢。通常迭代2次以上可以完成整个边缘区域的像素值的修正。具体地,迭代执行以下步骤s504和s505,直至完成边缘区域的像素值修正。
[0079]
步骤s504,若错误深度值像素点的预设第一邻域中存在正确深度值,根据正确深度值的距离加权以及边缘区域的梯度信息,将错误深度值更新为正确深度值。示例性地,预设第一邻域采用深度值像素点区域4邻域,并且4邻域中的梯度信息比较准确。
[0080]
步骤s505,若不可靠深度值像素点的预设第二邻域中存在可靠深度值或正确深度值,根据距离加权,将不可靠深度值更新为可靠深度值。示例性地,预设第二邻域采用深度
值像素点区域8邻域,并且8邻域只需要利用距离加权将不可靠深度值更新。
[0081]
本技术实施例中的预设融合约束包括:删除每张深度图的点云数据中深度值小于在关联深度图中深度值的点;待融合点的相对深度差小于预设阈值;待融合点的法线差小于预设角度;重投影误差小于预设像素距离;删除少于预设数量参数视图的所述深度图存在的点。
[0082]
在预设融合约束中,预设阈值可以为0.01cm,预设角度可以为10度,预设像素距离可以为5像素。预设融合约束中的预设阈值、预设角度和预设像素距离并不以上述数值为限制,也可以根据实际情况进行调整而采用其他数值。比如,预设阈值还可以为0.015cm,预设角度还可以为11度,预设像素距离还可以为4像素。
[0083]
联合被参考关联视图深度图对当前参考视图深度图进行优化,生成该参考图像的点云数据。首先采用递增式运动恢复结构算法得到的多视图关联匹配关系,获取参考视图深度图和被参考图像深度图投射到三维空间的深度值,将其深度估计值投影到世界坐标以获得3d点,在获取相邻的图像的3d点,并计算每个像素点的三维坐标和法向,投射到三维空间后,对这个点进行融合,生成单张参考图像的点云数据。
[0084]
其中该融合点的空间位置坐标(x,y,z)为所有点计算得到的质心位置,视角信息为所有能够关联到的参考视图,颜色信息为各点rgb的平均值(r,g,b)。
[0085]
本技术实施例提供了实现步骤s105的一种具体方式,包括:采用分块融合的策略,并在所述每张深度图融合时采用体素降采样方法,获得所述优化后三维点云。
[0086]
分块融合策略指的是对整个模型的稀疏点云计算找外接矩形,根据实际内存大小划分相应的物理空间,利用系数点云对应的每张视图的连接点信息取当前块所需融合的单张深度图点云数据。
[0087]
体素降采样指的是根据目标像素分辨率设置当前图像的最小分辨率,根据分辨率设置融合体素。在当前体素块中,根据约束选择待融合的点的个数,保留一个位置区域和当前点关联的全部视角信息,为后续贴图提供更多的选择。
[0088]
本技术实施例在进行多张深度图的点云数据融合时,采用分块融合的策略和体素降采样,解决了大规模深度图数据进行点云融合时因数据量过大可能造成计算内存不足或者计算过长的问题,实现了点云数据的快速融合,也减少了对计算机硬件的消耗。图8c为本技术实施例提供的分块图像坐标和稀疏点云;图8d为本技术实施例提供的融合后的点云数据。
[0089]
虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。本实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照本实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
[0090]
本技术实施例还提供了一种三维重建的深度图优化装置600,如图6所示,该装置包括:平滑去噪模块601、补全模块602、优化模块603、冗余点去除模块604和融合模块605。
[0091]
平滑去噪模块601用于对每张深度图进行平滑去噪。具体用于:利用非线性双边滤波的方法对每张深度图进行平滑去噪。
[0092]
补全模块602用于基于深度图对应的原始图像先验信息和邻域深度信息补全深度
图中所存在的孔洞区域。具体用于:将每张原始图像分割为多个联通区;结合每个联通区对应的深度图的深度值,对每个联通区进行平面检测;确定符合平面特征的联通区的平面方程,获得每张原始图像的平面方程集合;搜索每张深度图的空洞区域,获得每张深度图的空洞区域点集;其中,空洞区域为深度图中的无效值区域;比较空洞区域与预设尺寸值;若空洞区域小于预设尺寸值,根据邻域深度信息对空洞区域进行插值;若空洞区域大于预设尺寸值,判断空洞区域是否位于平面方程集合;若空洞区域位于平面方程集合,根据对应的平面方程对空洞区域进行插值。
[0093]
优化模块603用于将每张深度图的边缘区域中的不可靠深度值优化为可靠深度值,错误深度值优化为正确深度值。具体用于:采用边缘检测算子对原始图像进行边缘提取,并将边缘映射到深度图中;利用边缘将深度图分割为多个边缘区域;计算每个边缘区域的梯度信息;迭代执行以下步骤,直至完成边缘区域的像素值修正:若错误深度值像素点的预设第一邻域中存在正确深度值,根据正确深度值的距离加权以及边缘区域的梯度信息,将错误深度值更新为正确深度值;若不可靠深度值像素点的预设第二邻域中存在可靠深度值或正确深度值,根据距离加权,将不可靠深度值更新为可靠深度值。
[0094]
冗余点去除模块604用于根据预设融合约束,去除每张深度图在三维点云中所对应点云中冗余点,获得每张深度图的点云数据。
[0095]
融合模块605用于融合多张深度图的点云数据,获得优化后三维点云。具体用于:采用分块融合的策略,并在每张深度图融合时采用体素降采样方法,获得优化后三维点云。
[0096]
本技术实施例中的预设融合约束包括:删除每张深度图的点云数据中深度值小于在关联深度图中深度值的点;待融合点的相对深度差小于预设阈值;待融合点的法线差小于预设角度;重投影误差小于预设像素距离;删除少于预设数量参数视图的深度图存在的点。
[0097]
该三维重建的深度图优化装置600还包括相机参数模块和深度图模块;在平滑去噪模块601对每张深度图进行平滑去噪前,相机参数模块用于获取相机内外参数,深度范围和立体匹配关联视图信息;深度图模块用于利用原始图像和其对应关联视图信息,通过立体匹配算法计算得到每张原始图像的深度图。
[0098]
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
[0099]
本技术中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(英文:application specific integrated circuit;简称:asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。
因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0100]
本技术所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0101]
本技术实施例还提供了三维重建的深度图优化服务器,如图7所示包括存储器701和处理器702;存储器701用于存储计算机可执行指令;处理器702用于执行计算机可执行指令,以实现本技术实施例所提供的三维重建的深度图优化方法。
[0102]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有可执行指令,计算机执行可执行指令时能够实现本技术实施例所提供的三维重建的深度图优化方法。
[0103]
在本技术的一个具体的实施例中,图8a为原始深度图影像,图8b为经过双边滤波处理的深度图影像,图8c为分块图像坐标和稀疏点云,图8d为融合后的点云数据。
[0104]
上述存储介质包括但不限于随机存取存储器(英文:random access memory;简称:ram)、只读存储器(英文:read-only memory;简称:rom)、缓存(英文:cache)、硬盘(英文:hard disk drive;简称:hdd)或者存储卡(英文:memory card)。所述存储器可以用于存储计算机程序指令。
[0105]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的硬件的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
[0106]
本说明书中的各个实施方式采用递进的方式描述,各个实施方式之间相同或相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。本技术的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0107]
以上实施例仅用以说明本技术的技术方案,而非对本技术限制;尽管参照前述实施例对本技术进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1