CN107341846B - 一种实时显示大规模三维重建场景的方法及设备 - Google Patents

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

Info

Publication number
CN107341846B
CN107341846B CN201710473206.XA CN201710473206A CN107341846B CN 107341846 B CN107341846 B CN 107341846B CN 201710473206 A CN201710473206 A CN 201710473206A CN 107341846 B CN107341846 B CN 107341846B
Authority
CN
China
Prior art keywords
camera
coordinate system
dimensional
model data
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710473206.XA
Other languages
English (en)
Other versions
CN107341846A (zh
Inventor
陶文兵
刘子健
孙琨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201710473206.XA priority Critical patent/CN107341846B/zh
Publication of CN107341846A publication Critical patent/CN107341846A/zh
Application granted granted Critical
Publication of CN107341846B publication Critical patent/CN107341846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

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

Description

一种实时显示大规模三维重建场景的方法及设备
技术领域
本发明属于三维显示领域,具体涉及一种基于大规模三维重建场景的显示方法及系统。
背景技术
在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。由于单视图的信息不完全,基于单视图进行三维重建需要利用经验知识。而多视图的三维重建相对比较容易,其过程类似于人的双目定位,常用的方法是先对相机进行标定,即计算出相机的二维图像坐标系与世界坐标系的关系,然后利用多个二维图像中的信息重建出三维信息。
现有的三维重建方法中,基于图像序列的三维重建方法操作简单,人工干预少,成本低廉,近几年来逐渐成为计算机图形学和计算机视觉领域的研究热点。特别是针对大规模场景的重建,该方法与传统的借助三维扫描设备的三维重建方法相比,无论是在操作性还是在成本控制方面都有着极大的优势。
然而,随着三维重建理论的完善和计算机硬件技术的快速发展,三维重建场景的规模和复杂度不断增大,包含成千上万个点云或者三角网格的模型在实际应用中越来越常见。由于受到存储和计算能力的限制,一些常见的三维软件,比如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:
Figure BDA0001327596960000041
Figure BDA0001327596960000042
Figure BDA0001327596960000043
其中,R为相机的旋转矩阵,T为相机的平移矩阵;a11~a34是在三维重建过程中生成的相机参数;
(3.3)通过相机参数a11~a34计算相机位置p0=(x0,y0,z0),公式如下:
Figure BDA0001327596960000044
(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*aspect
p1~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为本发明第一实施例中大规模点云场景的示意图;
图7为本发明第二实施例中三角网格模型的二叉树文件构建流程图;
图8为本发明第二实施例中大规模三角网格场景的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的处理方法涉及到多层次细节模型(缩写为LOD)构建、基于外存的内存交换、多分辨率三维模型的渲染、相机参数计算与显示、场景漫游等技术。可以不依赖计算机内存的限制,实现对大规模场景的实时显示和交互,有利于更好的理解大规模场景的三维重建结果,也具有很强的理论意义。
如图1、图2所示,展示了本发明的总体流程图和系统的整体框架。从图1可以看出,整个显示系统可以分为四个模块:以大规模场景的三维重建结果作为初始数据;经过数据预处理模块,构建多层次细节(缩写为LOD)模型并以文件的形式保存在硬盘或USB外设中,作为待显示的输入数据;显示模块从硬盘或USB外设中读取数据并实时显示,同时也可以读取每个相机的投影矩阵文件,显示相机模型。最后,实现了对三维场景的交互和漫游功能,使得显示系统更加友好。
在正式实施本发明的方法之前,需要进行一些数据准备工作。本发明对输入数据的格式不作特殊要求,常见的一些标准的三维数据格式,比如ply、obj、3DS、FBX等都可以作为输入数据。但是,由于本发明主要针对的是大规模三维重建场景的模型,具体地,是指基于图像序列的三维重建过程中得到的稠密点云模型或对点云模型进行表面重建后得到的三角网格模型,因此,本发明初始输入的三维模型数据必须是点云模型数据或者三角网格模型数据。
下面,结合附图对本发明的实时显示大规模三维重建场景的方法进行说明。
请参照图3~6,为本发明的第一实施例,其包括如下步骤:
(1)获取待显示三维模型的点云模型数据。
(2)数据预处理:
前面已经说明,本发明所要求的三维模型数据必须是点云模型数据或者三角网格模型数据二者之一。本实施例初始数据是点云模型,先设定其最大叶子结点的阈值(比如1024),然后以点云模型中的点云为源点递归地构建其八叉树,从而转换成多层次细节模型并保存为文件形式。
接下来参照图2对点云模型数据预处理过程进行说明:
(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}。
(2.5)对于每一个孩子结点执行(2.1.1)~(2.1.4),最终得到的内部节点数据和叶子节点数据共同构成多层次细节模型数据,并保存为文件。
(3)实时显示:
步骤(2)中构建的多层次细节模型数据以文件的形式存放在硬盘中,系统的显示模块按照多层次细节的思想,根据当前视口的大小和对应的分辨率从硬盘中读取相应的多层次细节模型数据到内存中,再通过显卡将其显示出来。数据读取和显示是两个不同的线程,硬盘与内存、内存与显存并发的进行数据交换,可以实现实时的显示。同时,系统也可以显示三维重建中的相机模型,可以由三维重建过程中得到的原始数据内保存的投影矩阵文件计算出相机的位置,然后在显示在场景中。具体过程如下:
(3.1)建立相机坐标系:如图4所示,在三维重建过程中,每一个相机本身有一个相机坐标系,以相机的位置为原点,相机的光轴为Z轴,垂直于Z轴的方向为Y轴,X轴方向通过右手定则依据Z轴和Y轴选定。为了更加的直观,图4、5中以四棱锥来表示相机,图4中,需要计算出p0、p1、p2、p3、p4在世界坐标系(即三维场景)中的坐标。其中,p0表示相机位置,p1、p2、p3、p4是用于计算相机方向的参考点。
(3.2)读取投影矩阵P:三维重建过程中的得到的相机投影矩阵P以文件的形式保存并读取,是一个3×4的矩阵:
Figure BDA0001327596960000091
Figure BDA0001327596960000092
其中,R为相机的旋转矩阵,T为相机的平移矩阵。a11~a34是在三维重建过程中生成的相机参数,可以直接读取得到。
(3.3)计算相机位置p0=(x0,y0,z0):可以通过相机参数a11~a34计算相机位置,具体公式如下:
Figure BDA0001327596960000093
(3.4)设置相机坐标系:(a21,a22,a23)、(a31,a32,a33)分别代表相机坐标系中的Y轴方向和相机坐标系中的Z轴方向。
(3.5)计算相机远截面p1p2p3p4对应的四个顶点p1、p2、p3、p4的坐标:
根据预设的远截面p1p2p3p4的距离zFar、远截面p1p2p3p4的宽高比aspect、相机视口大小2θ等可求出四边形p1p2p3p4的宽2w和高2h,公式如下:
h=zFar*tanθ,w=h*aspect
所以p1~p4在相机坐标系中的坐标依次为:
p1=(w,h,-zFar),
p2=(-w,h,-zFar),
p3=(-w,-h,-zFar),
p4=(w,-h,-zFar),
然后将上述坐标映射到世界坐标系中即得到p1~p4在世界坐标系中的坐标。
(3.6)显示三维重建过程中用于采集图片的相机:在世界坐标系中依次连接p0p1,p0p2,p0p3,p0p4,p1p2,p2p3,p3p4,p1p4就能画出一个四棱锥,将该四棱锥显示在屏幕上以表示相机的位置和方向。
如图5所示,为相机显示效果示意图。特别地,可以通过修改zFar、aspect、θ的值来改变显示的相机的形状和大小。
(4)交互与浏览。
本实施例提供了一种三维场景的交互和漫游功能,使得显示系统更加友好。如图6和图7所示,分别表示三维点云场景和三角网格场景的显示效果。
本实施例的显示系统具有良好的交互功能,能够通过外设(鼠标、键盘等)对三维场景模型进行旋转、平移、缩放等基本操作。也可以改变显示场景的背景颜色,自主选择旋转中心,调结点云大小、颜色等提高显示效果的交互功能,使得交互变得更加友好。
而本实施例提供的场景漫游功能,可以通过外设(鼠标、键盘等)对三维场景实现三个维度(X轴、Y轴、Z轴)上的漫游。具体做法是,处理器在显示程序的循环过程中实时检测外设活动,如果有相应的外设响应,则以当前屏幕的视点为参考点,结合当前的显示尺度和帧率在对应的维度上移动三维场景中的相机,从而改变相机在三维场景中的位置及视角,以此来实现场景漫游的功能。
请参照图7、8,为本发明的第二实施例,其仍然采用分叉树进行数据预处理,与第一实施例的主要区别在于处理对象为三角网格模型,具体地,本实施例的步骤(1)、(2)如下:
(1)获取待显示三维模型的三角网格模型数据。
(2.2)三角网格模型预处理:
如果初始数据是三角网格模型,则先设定其最大叶子结点的阈值,然后递归的构建其二叉树森林并保存在文件中。如图7所示,具体过程如下:
(2.1)计算初始三角网格模型的最小立方体包围盒F。
(2.2)按照立方体包围盒F的主对角线将其六等分成六个四棱锥,每一个四棱锥分别作为一颗二叉树的根结点。
(2.3)判断每个二叉树结点对应的四棱锥中的三角网格数量是否超过了预设的阈值,是,则继续执行(2.4);否,则停止分裂,得到多层次细节模型,保存文件并结束,得到多层次细节模型。
(2.4)将每个二叉树结点按照对应的四棱锥进行二等分,得到两个下一级的子结点。
(2.5)对于每一个子结点回到(2.3)~(2.4),最终得到多层次细节模型,并保存为文件。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

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)根据当前显示界面的视口大小和对应的分辨率读取相应的多层次细节模型数据并输出至显示界面进行显示;读取和显示通过不同的线程处理;步骤(3)还包括如下显示相机的步骤:
(3.1)在三维重建过程中,每一个相机本身有一个相机坐标系,以相机的位置为原点,相机的光轴为Z轴,垂直于Z轴的方向为Y轴,X轴方向通过右手定则依据Z轴和Y轴选定;
在世界坐标系中的坐标中,以p0表示相机位置,共面的4个点p1、p2、p3、p4作为计算相机方向的参考点,平面p1 p2 p3 p4为相机的远截面;
(3.2)获取三维重建过程中得到的相机投影矩阵P:
Figure FDA0002345648800000021
Figure FDA0002345648800000022
Figure FDA0002345648800000023
其中,R为相机的旋转矩阵,T为相机的平移矩阵;a11~a34是在三维重建过程中生成的相机参数;
(3.3)通过相机参数a11~a34计算相机位置p0=(x0,y0,z0),公式如下:
Figure FDA0002345648800000024
(3.4)将(a21,a22,a23)、(a31,a32,a33)分别作为相机坐标系的Y轴方向和Z轴方向,根据右手定则确定相机坐标系的X轴方向;
(3.5)根据预设的远截面p1p2p3p4到p0的距离zFar、远截面p1p2p3p4的宽高比aspect、相机视口大小2θ,得到远截面p1p2p3p4的宽2w和高2h,其中:
h=zFa*rtanθ
w=h*aspect
p1~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,得到一个四棱锥,输出并显示该四棱锥以表示相机的位置和方向。
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.如权利要求2所述的一种实时显示大规模三维重建场景的方法,其特征在于,步骤(3)还包括如下显示相机的步骤:
(3.1)在三维重建过程中,每一个相机本身有一个相机坐标系,以相机的位置为原点,相机的光轴为Z轴,垂直于Z轴的方向为Y轴,X轴方向通过右手定则依据Z轴和Y轴选定;
在世界坐标系中的坐标中,以p0表示相机位置,共面的4个点p1、p2、p3、p4作为计算相机方向的参考点,平面p1 p2 p3 p4为相机的远截面;
(3.2)获取三维重建过程中得到的相机投影矩阵P:
Figure FDA0002345648800000041
Figure FDA0002345648800000042
Figure FDA0002345648800000043
其中,R为相机的旋转矩阵,T为相机的平移矩阵;a11~a34是在三维重建过程中生成的相机参数;
(3.3)通过相机参数a11~a34计算相机位置p0=(x0,y0,z0),公式如下:
Figure FDA0002345648800000051
(3.4)将(a21,a22,a23)、(a31,a32,a33)分别作为相机坐标系的Y轴方向和Z轴方向,根据右手定则确定相机坐标系的X轴方向;
(3.5)根据预设的远截面p1p2p3p4到p0的距离zFar、远截面p1p2p3p4的宽高比aspect、相机视口大小2θ,得到远截面p1p2p3p4的宽2w和高2h,其中:
h=zFa*rtanθ
w=h*aspect
p1~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.如权利要求3所述的一种实时显示大规模三维重建场景的方法,其特征在于,还包括如下步骤:
(4)在步骤(1)~(3)的循环过程中实时检测外设活动,如果有相应的外设响应,则以当前屏幕的视点为参考点,结合当前的显示尺度和帧率在对应的维度上移动三维场景中的相机,从而改变相机在三维场景中的位置及视角,实现场景漫游。
5.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法。
6.一种终端设备,其特征在于,包括如权利要求5所述的计算机可读存储介质以及处理器,处理器用于调用和处理计算机可读存储介质中存储的计算机程序。
CN201710473206.XA 2017-06-21 2017-06-21 一种实时显示大规模三维重建场景的方法及设备 Active CN107341846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710473206.XA CN107341846B (zh) 2017-06-21 2017-06-21 一种实时显示大规模三维重建场景的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710473206.XA CN107341846B (zh) 2017-06-21 2017-06-21 一种实时显示大规模三维重建场景的方法及设备

Publications (2)

Publication Number Publication Date
CN107341846A CN107341846A (zh) 2017-11-10
CN107341846B true CN107341846B (zh) 2020-06-09

Family

ID=60221531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710473206.XA Active CN107341846B (zh) 2017-06-21 2017-06-21 一种实时显示大规模三维重建场景的方法及设备

Country Status (1)

Country Link
CN (1) CN107341846B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335357A (zh) * 2018-01-12 2018-07-27 华中科技大学 一种显示三维重建场景纹理的方法
CN108470374B (zh) * 2018-04-08 2022-03-25 中煤航测遥感集团有限公司 海量点云数据处理方法及装置
CN109887093A (zh) * 2019-01-17 2019-06-14 珠海金山网络游戏科技有限公司 一种游戏细节层次处理方法及系统
CN110415345B (zh) * 2019-07-01 2023-01-24 南京泛在地理信息产业研究院有限公司 实现esri tin模型转换为obj三维模型的方法及系统
CN110853152B (zh) * 2019-11-14 2024-01-30 上海未高科技有限公司 一种三维超大场景的细分切割加载方法
CN110910483B (zh) * 2019-11-29 2021-05-14 广州极飞科技股份有限公司 三维重建方法、装置及电子设备
CN111294584B (zh) * 2020-02-21 2020-11-20 当家移动绿色互联网技术集团有限公司 三维场景模型的展示方法、装置、存储介质及电子设备
CN111882653A (zh) * 2020-06-11 2020-11-03 广州万维创新科技有限公司 一种基于多传感器多层次的室内场景数字孪生方法
CN112308974B (zh) * 2020-10-30 2022-02-18 南京航空航天大学 一种改进八叉树和自适应读取的大规模点云可视化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082934A (zh) * 2007-06-19 2007-12-05 北京师范大学 网络环境下超大规模空间数据的三维可视化方法
CN101281654A (zh) * 2008-05-20 2008-10-08 上海大学 一种基于八叉树的大规模复杂三维场景处理方法
CN102157008B (zh) * 2011-04-12 2014-08-06 电子科技大学 一种大规模虚拟人群实时绘制方法
CN103793935B (zh) * 2012-11-02 2017-04-05 同济大学 一种基于BRLO‑Tree混合树结构的城市立体动态场景生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
多分辨率LOD的海量点云显示技术研究;杨振发 等;《地理空间信息》;20161031;第14卷(第10期);正文第22-25页 *
顾及自适应多细节层次的八叉树点云管理算法;张俊峰 等;《西南交通大学学报》;20160229;第51卷(第1期);正文第78-84页 *

Also Published As

Publication number Publication date
CN107341846A (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN107341846B (zh) 一种实时显示大规模三维重建场景的方法及设备
CN111986307B (zh) 使用光度网格表示的3d对象重建
CN104268922B (zh) 一种图像渲染方法及图像渲染装置
CN105678683B (zh) 一种三维模型的二维存储方法
CN110796742B (zh) 一种基于面向对象的三维场景视锥体剔除方法
CN106710003B (zh) 一种基于OpenGL ES的三维拍照方法和系统
CN104008569B (zh) 一种基于深度视频的3d场景生成方法
US20020186216A1 (en) 3D computer modelling apparatus
CN111127633A (zh) 三维重建方法、设备以及计算机可读介质
JP2023514289A (ja) 3次元顔モデルの構築方法、3次元顔モデルの構築装置、コンピュータ機器、及びコンピュータプログラム
CN112530005B (zh) 一种三维模型直线结构识别与自动修复方法
CN113112581A (zh) 三维模型的纹理贴图生成方法、装置、设备及存储介质
CN113012269A (zh) 基于gpu的三维图像数据渲染方法及设备
CN108655571A (zh) 一种数控激光雕刻机、控制系统及控制方法、计算机
CN114863061A (zh) 一种远程监护医学图像处理的三维重建方法及系统
Liu et al. Creating simplified 3D models with high quality textures
CN116363290A (zh) 一种用于大规模场景三维重建的纹理贴图生成方法
Scholz et al. Real‐time isosurface extraction with view‐dependent level of detail and applications
CN109816765B (zh) 面向动态场景的纹理实时确定方法、装置、设备和介质
Meyer et al. PEGASUS: Physically Enhanced Gaussian Splatting Simulation System for 6DOF Object Pose Dataset Generation
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
CN112926614A (zh) 箱体标注图像扩充方法、装置及计算机可读存储介质
Han et al. 3D reconstruction of dense model based on the sparse frames using RGBD camera
CN112381705B (zh) 在Unity3d中快速点云绘制的方法
CN109360263A (zh) 一种面向资源受限移动设备的实时软阴影生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant