一种基于深度视频的3D场景生成方法
技术领域
本发明涉及计算机图形图像处理领域,尤其涉及一种基于深度视频的3D场景生成方法。
背景技术
长期以来,计算机工作者都在追求使用计算机构造逼真的虚拟三维场景,而且三维场景建模一直以来都是计算机图形图像处理中最活跃的研究领域之一。
在传统的场景建模中,通常采用基于几何的建模方法。这种方法通常使用现有的三维建模软件以人工的方式进行场景建模,主要通过三维模型的叠加来构造场景,其构建的场景有较高的精度,完备的模型描述和良好的交互。但缺点也很突出,那就是人机交互的工作量十分巨大,进而导致建模的效率低下;也很容易由于人为的因素导致场景模型的真实性大打折扣。随着虚拟三维场景应用领域的不断拓展,需要展现的三维场景的复杂度也是越来越高,随之越来越高的是对建模效率和精度的要求。传统的建模方式面临的是更加巨大的工作量,这就对传统的基于几何的场景建模提出了巨大的挑战。一方面,使用传统场景建模方法无法应对工作量巨大的大规模复杂场景建模工作;另一方面,复杂的三维场景构建完成后,需要耗费大量的计算和海量的存储,因此这种方法对计算机硬件的性能有很高的依赖,特别是如今在虚拟现实和互联网等领域中很多情况下都要求实时绘制的要求下,传统的基于几何的场景建模面临着巨大的挑战。
发明内容
本发明所要解决的技术问题在于,提供一种基于深度视频的3D场景生成方法,该方法产生的场景逼真、自然,建模方便高效,绘制时计算量和存储量小, 更适合于实时建模和绘制。
为了解决上述技术问题,本发明提供了一种基于深度视频的3D场景生成方法,包括以下步骤:
S1、使用深度摄像机采集深度视频和彩色视频数据,并进行滤除处理;
S2、结合平面坐标和深度值将所述经过滤除处理的深度视频转换为三维点云数据,再根据所述三维点云数据建立场景模型;
S3、从所述经过滤除处理的彩色视频数据中获取所述三维点云数据中每个点对应的颜色,并应用于所述场景模型之中,得到彩色场景模型;
S4、将所述彩色场景模型的数据转换为3D文件格式,所述转换之后的文件即为生成的3D场景文件。
具体的,所述步骤S1包括以下步骤:
S11、使用所述深度摄像机采集深度视频和彩色视频数据;
S12、读取所述深度摄像机采集的所述深度视频和彩色视频数据的视频流;
S13、读取所述深度摄像机采集的所述深度视频和彩色视频的每一帧图像的详细信息,并根据所述每一帧图像的详细信息滤除所述深度视频和彩色视频的部分图像。
具体的,所述步骤S2包括以下步骤:
S21、结合平面坐标和深度值将所述经过滤除处理的深度视频的每帧图像转换为三维点云数据;
S22、将所述每帧图像的三维点云数据进行配准,以得到相应位置上的多个三维点云数据的并集;
S23、对配准后的三维点云数据进行压缩处理,从而得到所有点的三维坐标和法向量以用于场景建模,进而得到所述场景模型。
进一步的,所述步骤S2还包括以下步骤:
S24、当深度视频数据更新时,则重复执行步骤S21、S22、S23。
具体的,所述步骤S4包括以下步骤:
S31、从所述彩色场景模型中获得当前场景的几何形体,并变形为模型形状, 再导出当前场景的模型形状的网格信息;
S32、从所述网格信息中提取出所述场景模型的顶点数据、顶点向量数据和三角面索引数据,并写入到所述彩色场景模型的数据文件中;
S33、将所述彩色场景模型的数据文件进行压缩处理;
S34、将所述压缩后的彩色场景模型的数据文件转换为3D文件格式,从而得到所述3D场景文件。
其中,所述深度摄像机优选使用Kinect深度摄像机。
其中,所述步骤S3中优选使用Kinect API获取所述三维点云数据中每个点对应的颜色。
其中,所述3D文件格式为3Dmax解释的文件或Maya可解释的文件或通用3D文件。
其中,所述步骤S33中所述的压缩处理具体为:将大数据量的*.obj文件压缩为OSG专用的二进制模型文件*.ive文件。
实施本发明,具有如下有益效果:针对包括采用三维建模在内的基于几何的场景建模方法的不足,本发明研发的基于深度视频的3D场景模拟方法,能够实时的根据景深摄像头获取的视频快速建模出真实场景的3D再现,让场景建模成为一件简单的事情:只需拿着摄像头,连续获取场景的深度信息,即可建模出场景的模型。由于它直接以从真实场景获得的图像为基础生成虚拟场景,因而它产生的场景更加逼真、自然。与基于几何的建模及其绘制相比,基于图像的建模具有以下突出的优点:它避免了复杂的几何曲面造型和繁冗的人工操作,建模方便高效、构建的模型真实感效果好,绘制时计算量和存储量相比而言要小得多,因而绘制速度快,对计算机硬件的性能要求不高,适合于实时建模和绘制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于深度视频的3D场景生成方法的流程示意图;
图2是图1中步骤S1的具体流程示意图;
图3是图1中步骤S2的具体流程示意图;
图4是图1中步骤S4的具体流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于深度视频的3D场景生成方法,如图1所示,包括以下步骤:
S1、使用深度摄像机采集深度视频和彩色视频数据,并进行滤除处理;
S2、结合平面坐标和深度值将所述经过滤除处理的深度视频转换为三维点云数据,再根据所述三维点云数据建立场景模型;
S3、从所述经过滤除处理的彩色视频数据中获取所述三维点云数据中每个点对应的颜色,并应用于所述场景模型之中,得到彩色场景模型;
S4、将所述彩色场景模型的数据转换为3D文件格式,所述转换之后的文件即为生成的3D场景文件。
具体的,如图2所示,所述步骤S1包括以下步骤:
S11、使用所述深度摄像机采集深度视频和彩色视频数据;
S12、读取所述深度摄像机采集的所述深度视频和彩色视频数据的视频流;
S13、读取所述深度摄像机采集的所述深度视频和彩色视频的每一帧图像的详细信息,并根据所述每一帧图像的详细信息滤除所述深度视频和彩色视频的 部分图像。
为视频流中图像产生的速度大约是每秒30帧,但是点云匹配算法是需要遍历点云中所有点进行的,在每秒30张深度图这样大的数据量下,处理效率将会很低下,因此步骤S13将部分图像直接过滤掉,减轻后序算法的压力。
步骤S12在具体实现中,每当接收到一帧新的彩色图像数据/深度图像数据时,需要将图像数据保存到数组中,并启动一个新线程异步对当前的彩色图像数据进行图像处理;所述图像处理就是将当前图片的像素数据绘制到用户界面的位图当中。
具体的,如图3所示,所述步骤S2包括以下步骤:
S21、结合平面坐标和深度值将所述经过滤除处理的深度视频的每帧图像转换为三维点云数据;
S22、将所述每帧图像的三维点云数据进行配准,以得到相应位置上的多个三维点云数据的并集;
S23、对配准后的三维点云数据进行压缩处理,从而得到所有点的三维坐标和法向量以用于场景建模,进而得到所述场景模型。
在前后多帧图像中,是有很大部分的图像信息是重复的,因此步骤S23对点云数据进行压缩处理。
进一步的,所述步骤S2还包括以下步骤:
S24、当深度视频数据更新时,则重复执行步骤S21、S22、S23。执行本步骤是因为随着视频的一直录制,深度视频就会不断更新,因此需要重复操作以获得更加完整的场景。
具体的,如图4所示,所述步骤S4包括以下步骤:
S31、从所述彩色场景模型中获得当前场景的几何形体,并变形为模型形状,再导出当前场景的模型形状的网格信息;
S32、从所述网格信息中提取出所述场景模型的顶点数据、顶点向量数据和三角面索引数据,并写入到所述彩色场景模型的数据文件中;
S33、将所述彩色场景模型的数据文件进行压缩处理;
S34、将所述压缩后的彩色场景模型的数据文件转换为3D文件格式,从而得到所述3D场景文件。
在程序中,所述场景模型的顶点数据、顶点向量数据和三角面索引数据三组数据具体为:
var vertices=mesh.GetVertices();
var normals=mesh.GetNormals();
var indices=mesh.GetTriangleIndexes();
其中,所述深度摄像机优选使用Kinect深度摄像机。
其中,所述步骤S3中优选使用Kinect API获取所述三维点云数据中每个点对应的颜色。
其中,所述3D文件格式为3Dmax解释的文件或Maya可解释的文件或通用3D文件。
其中,所述步骤S33中所述的压缩处理具体为:将大数据量的*.obj文件压缩为OSG专用的二进制模型文件*.ive文件。*.obj文件是ASCII编码的文本可读格式,通常一个细致的场景扫描下来生成的数据文件都比较大,达到百兆的级别,因此这里除了数据导出之外,还需要进行一步压缩的工作。压缩是为了后续的场景管理器能够快速读取建模的文件,而压缩的同时也保留了原有的场景数据文件,保证精度和效率都能够达到最优。
实施本发明,具有如下有益效果:针对包括采用三维建模在内的基于几何的场景建模方法的不足,本发明研发的基于深度视频的3D场景模拟方法,能够实时的根据景深摄像头获取的视频快速建模出真实场景的3D再现,让场景建模成为一件简单的事情:只需拿着摄像头,连续获取场景的深度信息,即可建模出场景的模型。由于它直接以从真实场景获得的图像为基础生成虚拟场景,因而它产生的场景更加逼真、自然。与基于几何的建模及其绘制相比,基于图像的建模具有以下突出的优点:它避免了复杂的几何曲面造型和繁冗的人工操作,建模方便高效、构建的模型真实感效果好,绘制时计算量和存储量相比而言要小得多,因而绘制速度快,对计算机硬件的性能要求不高,适合于实时建模和 绘制。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。