一种实时显示大规模三维重建场景的方法及设备技术

技术编号:16548092 阅读:53 留言:0更新日期:2017-11-11 12:28
本发明专利技术公开了一种实时显示大规模三维重建场景的方法及设备。该方法以大规模三维重建场景的点云模型或者三角网格模型作为输入数据,经过分叉树处理构建三维场景的多层次细节模型数据,该设备的处理器读取相应的模型数据按照该方法进行处理并将处理结果实时输出至显示界面进行显示。该方法通过分叉树处理数据,处理速度为指数级,能够克服计算机内存的限制,实时的显示基于点云或者三角网格的大规模三维重建场景,并具有良好的交互功能,该方法及设备不仅仅局限于三维重建后的场景模型,对于其它的大数据量的三维点云或者三角网格模型也同样适用,具有很强的理论意义和非常广阔的应用前景。

A method and device for real time display of large scale 3D reconstruction scene

The invention discloses a method and a device for displaying large-scale 3D reconstruction scenes in real time. This method takes the large-scale 3D reconstruction of the scene point cloud model or triangular mesh model as input data, processing data through bifurcation tree LOD model of 3D scene, the device processor reads the corresponding data model according to the method of handling and processing the results of real-time output to the display interface. The bifurcation tree data processing, the processing speed is exponential, can overcome the restriction of computer memory, real-time display of large scale 3D scene reconstruction based on point cloud or triangular mesh, and has a good interactive function, scene model and equipment of this method is not limited to three dimensional reconstruction, is also suitable for large data other amount of 3D point cloud or triangular mesh model, it has great theoretical significance and broad application prospects.

【技术实现步骤摘要】
一种实时显示大规模三维重建场景的方法及设备
本专利技术属于三维显示领域,具体涉及一种基于大规模三维重建场景的显示方法及系统。
技术介绍
在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。由于单视图的信息不完全,基于单视图进行三维重建需要利用经验知识。而多视图的三维重建相对比较容易,其过程类似于人的双目定位,常用的方法是先对相机进行标定,即计算出相机的二维图像坐标系与世界坐标系的关系,然后利用多个二维图像中的信息重建出三维信息。现有的三维重建方法中,基于图像序列的三维重建方法操作简单,人工干预少,成本低廉,近几年来逐渐成为计算机图形学和计算机视觉领域的研究热点。特别是针对大规模场景的重建,该方法与传统的借助三维扫描设备的三维重建方法相比,无论是在操作性还是在成本控制方面都有着极大的优势。然而,随着三维重建理论的完善和计算机硬件技术的快速发展,三维重建场景的规模和复杂度不断增大,包含成千上万个点云或者三角网格的模型在实际应用中越来越常见。由于受到存储和计算能力的限制,一些常见的三维软件,比如MeshLab、3DMAX、Maya、AutoCAD、UG等,对这些大规模的三维重建场景难以显示或进行实时交互操作。即使GPU的快速发展在一定程度上解决了快速绘制的问题,但由于内存等因素的限制,对于几个G、几个T的数据的大规模场景来说,想要实现实时显示或实时交互操作仍然是难以企及。因此,如何使用尽量少的内存进行高效建模和实时显示大规模三维重建场景,是目前三维重建与显示领域研究的难点和热点问题,不仅有很强的理论意义,还有非常广阔的应用前景。
技术实现思路
本专利技术的目的在于以分叉树的形式处理图像数据,以克服计算机内存的限制,实时的显示点云或者三角网格数据构成的大规模三维重建场景。为了实现上述目的,本专利技术提供了一种实时显示大规模三维重建场景的方法,包括如下步骤:(1)获取待显示三维模型的点云模型数据;(2)对步骤(1)的点云模型数据按照如下步骤进行预处理,得到多层次细节模型数据:(2.1)将点云模型数据中的原始点云集合P的最小包围盒,作为八叉树的结点域D;(2.2)判断结点域D中的三维点的数量是否超过了预设的阈值,是,则执行步骤(2.3)和步骤(2.4);否,则将结点域D中的所有三维点作为八叉树的叶子结点并结束循环,得到叶子结点数据;(2.3)对该结点域D中的点云进行下采样,但只剔除不需要的点,不产生新的点,然后将下采样得到的结点作为八叉树的内部结点,得到内部结点数据;(2.4)将原始点云集合P按照结点域D八等分为八个孩子结点,则对应的原始点云集合P={P1,P2,…,P8},结点域D={D1,D2,…,D8};其中,P1~P8为原始点云集合P的孩子结点,D1~D8分别为孩子结点P1~P8的结点阈;(2.5)对步骤(2.4)中的孩子结点P1~P8执行(2.1)~(2.4),最终得到的叶子结点数据和内部结点数据共同构成多层次细节模型数据;(3)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理。为了实现上述目的,本专利技术还提供了一种实时显示大规模三维重建场景的方法,包括如下步骤:(1)获取待显示三维模型的三角网格模型数据;(2)对步骤(1)的三角网格模型数据按照如下步骤进行预处理,得到多层次细节模型数据:(2.1)获取初始三角网格模型的最小立方体包围盒F;(2.2)按照最小立方体包围盒F的主对角线将其六等分成六个四棱锥,每一个四棱锥分别作为一颗二叉树的根结点,建立二叉树;(2.3)判断步骤(2.2)建立的每个二叉树的中的结点对应的四棱锥中的三角网格数量是否超过了预设的阈值,是,则执行步骤(2.4);否,则停止分裂,得到多层次细节模型数据;(2.4)将每个二叉树结点按照对应的四棱锥进行二等分,得到两个下一级的子结点;(2.5)对于每一个子结点回到(2.3)~(2.4),最终得到多层次细节模型数据;(3)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理。进一步地,步骤(3)还包括如下显示相机的步骤:(3.1)在三维重建过程中,每一个相机本身有一个相机坐标系,以相机的位置为原点,相机的光轴为Z轴,垂直于Z轴的方向为Y轴,X轴方向通过右手定则依据Z轴和Y轴选定;在世界坐标系中的坐标中,以p0表示相机位置,共面的4个点p1、p2、p3、p4作为计算相机方向的参考点,平面p1p2p3p4为相机的远截面;(3.2)获取三维重建过程中得到的相机投影矩阵P:其中,R为相机的旋转矩阵,T为相机的平移矩阵;a11~a34是在三维重建过程中生成的相机参数;(3.3)通过相机参数a11~a34计算相机位置p0=(x0,y0,z0),公式如下:(3.4)将(a21,a22,a23)、(a31,a32,a33)分别作为相机坐标系的Y轴方向和Z轴方向,根据右手定则确定相机坐标系的X轴方向;(3.5)根据预设的远截面p1p2p3p4到p0的距离zFar、远截面p1p2p3p4的宽高比aspect、相机视口大小2θ,得到远截面p1p2p3p4的宽2w和高2h,其中:h=zFar*tanθw=h*aspectp1~p4在相机坐标系中的坐标依次为:p1=(w,h,-zFar)p2=(-w,h,-zFar)p3=(-w,-h,-zFar)p4=(w,-h,-zFar)将p1~p4在相机坐标系中的坐标映射到世界坐标系中即得到p1~p4在世界坐标系中的坐标;(3.6)在世界坐标系中连接p0~p4,得到一个四棱锥,输出并显示该四棱锥以表示相机的位置和方向。进一步地,该方法还包括如下步骤:(4)在步骤(1)~(3)的循环过程中实时检测外设活动,如果有相应的外设响应,则以当前屏幕的视点为参考点,结合当前的显示尺度和帧率在对应的维度上移动三维场景中的相机,从而改变相机在三维场景中的位置及视角,实现场景漫游。与现有技术相比,本专利技术所构思的技术方案具有如下有益效果:(1)本专利技术通过分叉树对原始模型数据进行预处理,处理速度为指数级,相比于传统数据处理方式,突破了计算机内存的限制,只需要很小的计算机内存和GPU就能实现大规模场景的实时显示。(2)数据的读取和输出以不同线程进行,确保数据处理和图像显示可以同时进行;(3)通过对原始数据中的相机矩阵进行处理,以四棱锥表示相机,处理过程简单,方便实时显示;(4)通过跟踪外设轨迹实时调整相机位置及视角,可以实时根据相机位置和视角更换显示画面,显示功能完整、交互友好;(5)虽然该方法主要针对点云模型和三角网格模型提出,但不仅仅局限于此,对输入数据的格式并不作特殊要求,具有良好的可扩展性;基于外存的大数据的内存交换和实时显示问题一直以来都是计算机图形学和三维显示领域的热点和难点问题,因此本专利技术也具有很强的理论意义和非常广阔的应用前景。附图说明图1为本专利技术方法的总体流程图;图2为本专利技术的整体框架示意图;;图3为本专利技术第一实施例中点云模型的八叉树文件构建流程图;图4为本专利技术第一实施例中相机坐标系的示意图;图5为本专利技术第一实施例中相机显示的示意图;图6为本专利技术第一实施例中大规模点云场景本文档来自技高网...
一种实时显示大规模三维重建场景的方法及设备

【技术保护点】
一种实时显示大规模三维重建场景的方法,其特征在于,包括如下步骤:(1)获取待显示三维模型的点云模型数据;(2)对步骤(1)的点云模型数据按照如下步骤进行预处理,得到多层次细节模型数据:(2.1)将点云模型数据中的原始点云集合P的最小包围盒,作为八叉树的结点域D;(2.2)判断结点域D中的三维点的数量是否超过了预设的阈值,是,则执行步骤(2.3)和步骤(2.4);否,则将结点域D中的所有三维点作为八叉树的叶子结点并结束循环,得到叶子结点数据;(2.3)对该结点域D中的点云进行下采样,但只剔除不需要的点,不产生新的点,然后将下采样得到的结点作为八叉树的内部结点,得到内部结点数据;(2.4)将原始点云集合P按照结点域D八等分为八个孩子结点,则对应的原始点云集合P={P1,P2,…,P8},结点域D={D1,D2,…,D8};其中,P1~P8为原始点云集合P的孩子结点,D1~D8分别为孩子结点P1~P8的结点阈;(2.5)对步骤(2.4)中的孩子结点P1~P8执行(2.1)~(2.4),最终得到的叶子结点数据和内部结点数据共同构成多层次细节模型数据;(3)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理。...

【技术特征摘要】
1.一种实时显示大规模三维重建场景的方法,其特征在于,包括如下步骤:(1)获取待显示三维模型的点云模型数据;(2)对步骤(1)的点云模型数据按照如下步骤进行预处理,得到多层次细节模型数据:(2.1)将点云模型数据中的原始点云集合P的最小包围盒,作为八叉树的结点域D;(2.2)判断结点域D中的三维点的数量是否超过了预设的阈值,是,则执行步骤(2.3)和步骤(2.4);否,则将结点域D中的所有三维点作为八叉树的叶子结点并结束循环,得到叶子结点数据;(2.3)对该结点域D中的点云进行下采样,但只剔除不需要的点,不产生新的点,然后将下采样得到的结点作为八叉树的内部结点,得到内部结点数据;(2.4)将原始点云集合P按照结点域D八等分为八个孩子结点,则对应的原始点云集合P={P1,P2,…,P8},结点域D={D1,D2,…,D8};其中,P1~P8为原始点云集合P的孩子结点,D1~D8分别为孩子结点P1~P8的结点阈;(2.5)对步骤(2.4)中的孩子结点P1~P8执行(2.1)~(2.4),最终得到的叶子结点数据和内部结点数据共同构成多层次细节模型数据;(3)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理。2.一种实时显示大规模三维重建场景的方法,其特征在于,包括如下步骤:(1)获取待显示三维模型的三角网格模型数据;(2)对步骤(1)的三角网格模型数据按照如下步骤进行预处理,得到多层次细节模型数据:(2.1)获取初始三角网格模型的最小立方体包围盒F;(2.2)按照最小立方体包围盒F的主对角线将其六等分成六个四棱锥,每一个四棱锥分别作为一颗二叉树的根结点,建立二叉树;(2.3)判断步骤(2.2)建立的每个二叉树的中的结点对应的四棱锥中的三角网格数量是否超过了预设的阈值,是,则执行步骤(2.4);否,则停止分裂,得到多层次细节模型数据;(2.4)将每个二叉树结点按照对应的四棱锥进行二等分,得到两个下一级的子结点;(2.5)对于每一个子结点回到(2.3)~(2.4),最终得到多层次细节模型数据;(3)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理。3.如权利要求1或2所述的一种实时显示大规模三维重建场景的方法,其特征在于,步骤(3)还包括如下显示相机的步骤:(3.1)在三维重建过程中,每一个相机本身...

【专利技术属性】
技术研发人员:陶文兵刘子健孙琨
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1