CN105453139A - 用于3d表面重建的稀疏gpu体素化 - Google Patents
用于3d表面重建的稀疏gpu体素化 Download PDFInfo
- Publication number
- CN105453139A CN105453139A CN201480040344.3A CN201480040344A CN105453139A CN 105453139 A CN105453139 A CN 105453139A CN 201480040344 A CN201480040344 A CN 201480040344A CN 105453139 A CN105453139 A CN 105453139A
- Authority
- CN
- China
- Prior art keywords
- voxel
- list
- kernel
- implemented method
- computer implemented
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/52—Parallel processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/06—Curved planar reformation of 3D line structures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
在本文中所描述的过程和***使计算设备能够利用并行图形硬件来执行基于体素的三维(3D)重建建模。计算设备可以生成初始的低分辨率体素列表。体素列表中的体素可以表示为与体素网格内的单元(cell)的3D空间位置相对应的索引三元组(例如,{ix,iy,iz})。基于与对象相关联的输入图像的信息,计算设备可以移除与对象表面不相交的某些体素。剩余的体素可以并行地被一次或多次细分成为一定数量的子体素,以生成新的体素列表。可以再一次测试新生成的体素列表以确定与对象表面不相交的体素。可以部分地重复该过程。输出体素可以被渲染为投影的图像。
Description
背景技术
体素(voxel)是用于表示三维(3D)表面几何的体积元素。体素在概念上和像素相似,但体素用于表示3D空间中的对象,而像素用于表示二维(2D)图像中的对象。体素化是将体素表示的对象进行合成的过程,并且是3D图形学中常用的技术。体素通常与指示体素是“开”(例如,可见)还是“关”(例如,不可见)的数据一起被存储。对于“开”的体素的指定指示固体材料的存在,而对于“关”的体素的指定指示空白空间。体素也可以包括诸如颜色、纹理、表面法线、或其它属性数据的属性。
类似于图像,体素的网格(“体素网格”)特征在于其分辨率(例如,在高、宽、和深的维度中的体素的数量)。网格中的体素的总数量是网格的高、宽、和深的乘积。存储体素网格所需的计算存储器的量与网格中的体素的总数成正比。由此,随着体素网格的分辨率在各个维度上线性增长,对其进行存储所需的存储器的量立方地增长。这使得使用高分辨率的体素网格变得不现实。
一种方法是形成层级树结构,该层级树结构开始于对应于体素网格的整个体积的根节点的。通过消除某些子树的体素来实现空间节省。尽管该方法可以降低表示体素网格所需的存储器的量,但是所述方法要求大量的指针解引用用于随机存取。这极大地削弱了所述方法的价值。
发明内容
在本文中所描述的是用于利用并行图形硬件来重建实时3D模型的技术和***。该公开的实施例涉及体素表示和对体素信息的并行处理。
该公开的各种实施例包括,基于输入图像,通过交换***生成包括多个体素的体素列表。对于体素列表中的个体体素而言,计算设备可以至少部分地基于来自输入图像的信息来确定个体体素的可移除性。计算***可以基于个体体素的可移除性,在与图形处理单元(GPU)线程标识符(ID)相对应的位置中生成序列列表,并且生成与序列列表相对应的输出列表。在一些实施例中,计算***可以执行一个或多个迭代以细分体素列表中的体素,从而生成新的体素列表。在这些实例中,新的体素列表可以被再一次处理以将体素从体素列表中移除,并且更新与序列列表相对应的输出体素。当迭代完成时,可以压缩输出体素,并且可以将输出体素渲染为重建的图像。
提供了该发明内容从而以简化的形式介绍在以下的具体实施方式中进一步描述的挑选出的概念。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参考附图描述了具体实施方式。在图中,附图标记最左边的数字表示在其中第一次出现该附图标记的图。不同的图中的相同的附图标记表示相似或相同的项。
图1是包括用于基于输入图像而重建3D模型的计算架构的说明性方案的示图。
图2是用于基于输入图像而重建3D模型的说明性过程的流程图。
图3是使得能够利用并行图形硬件对3D模型进行重建的说明性计算架构的示意图。
图4是用于基于输入图像而生成输出体素的说明性过程的流程图。
图5是用于基于输入图像而生成输出体素的说明性过程的另一流程图。
图6是示出了与针对体素处理的确定相关联的各种说明性考虑的示例方框图。
具体实施方式
概述
在本公开中描述的过程和***使计算设备能够利用并行图形硬件来执行基于体素的三维(3D)重建建模。计算设备可以从与输入图像相关联的一系列2D投影中重建3D模型。为了重建3D模型,计算设备可以利用初始的低分辨率生成体素,从而创建包括生成的体素的体素列表。体素列表中的体素可以被表示为索引三元组,其与体素网格内的体素角(corner)的3D坐标(例如,{ix,iy,iz})相对应。索引三元组可以被写入至与由图形处理单元(GPU)分配的线程标识符(ID)相对应的体素列表的位置,并且作为线程ID的函数被计算。之后,计算设备可以移除某些体素,例如,基于对输入图像的分析与对象表面不相交的体素。剩余的体素可以一次或多次并行地被细分成为一定数量的子体素以生成新的体素列表。新生成的体素列表可以再次被测试以确定与对象表面不相交的体素。可以重复该过程直到满足预先确定的条件为止。输出体素可以被渲染为投影的图像。
说明性环境
图1是说明性方案100的示图,其包括用于利用并行图形硬件来重建3D模型的计算架构。方案100包括计算***102。计算***102可以包括服务器或分布式配置(例如,云计算服务器、服务器机群(serverfarm)等)或非分布式配置的一批服务器。
根据各种实施例,在基本配置中,计算***102可以包括图像模块104、建模应用程序106、以及呈现模块108,依次对每个进行讨论。
图像模块104可以接收与对象112相关联的图像数据110。在一些实施例中,图像数据110可以包括一组实时图像流。在这些实例中,对于任何给定的时间,图像数据110可以包括捕获对象112的不同的观察点和视角的图像114(1)、…、114(N)(例如,红绿蓝(RGB)图像等)。在一些实例中,可以经由多个成像传感器从关于对象的各种角度捕获图像114。例如,图像114(1)是由相机在对象112前方捕获的,并且图像114(N)是由相机在对象112侧面捕获的。在一些实施例中,图像数据110可以包括经过滤和/或经校准的剪影图像。在一些实施例中,图像数据110可以由一个或多个深度传感器捕获。在这些实例中,图像数据110可以包括深度传感器图像数据。
建模应用程序106可以利用初始的低分辨率来生成体素以创建作为针对对图像数据110进行建模的基础的体素列表。在一些实施例中,建模应用程序106可以将体素列表中的体素表示为与3D网格内的体素角的坐标相对应的无符号整型三元组{ix,iy,iz}的阵列。建模应用程序106可以为每个体素分配单个线程,并且将体素索引写入到与GPU的线程ID相对应的位置。体素的索引可以作为线程ID的函数来进行计算。建模应用程序106可以接着移除某些体素,例如,与对象112的表面不相交的体素。
在一些实施例中,建模应用程序106可以细分剩余体素(例如,没有被移除的体素)中的体素,以生成新的体素列表。建模应用程序106可以接着测试新的体素列表,以确定新的体素列表中的体素是否与对象112的表面相交,直到满足预先确定的条件从而终止额外的迭代的使用为止。例如,可以执行多个迭代直到投影的体素的分辨率达到在传统显示器中使用的标准像素的通常的分辨率为止。建模应用程序106可以生成用于图像渲染的输出体素。
呈现模块108可以基于输出体素来渲染重建的图像118。重建的图像118可以包括被建模的对象120(1)、…、120(N)。在一些实施例中,呈现模块108可以将输出体素绘制成渲染目标,并且将目标着色为输出体素到一组经校准的RGB图像的投影的加权的组合。在一些实施例中,呈现模块108可以对输出体素116进行编码以生成体素流,并且发送体素流以引起实时的自由观察点观察。
说明性过程
图2是用于基于输入图像来重建3D模型的说明性过程200的流程图。将过程200示出为逻辑流程图中的一批方框,这些方框表示可以在硬件、软件、或其组合中实现的一系列的操作。在软件的上下文中,方框表示计算机可执行指令,当所述可执行指令由一个或多个处理器执行时,使得一个或多个处理器执行所记载的操作。通常而言,计算机可执行指令包括执行特定的功能或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以按照任何顺序组合任何数量的描述的方框和/或并行以实现过程。除了过程200之外,还应当相应地解释该公开通篇描述的其它过程(例如,过程400和500)。参考方案100描述了过程200。然而,可以利用其它方案、环境、和/或计算架构来实现过程200。
在202处,图像模块104可以接收与对象112相关联的图像数据110。在一些实施例中,图像数据110可以包括由成像设备(例如,相机等)捕获的一组实时图像流(例如,RGB图像、剪影图像、红外图像等)。在一些实施例中,图像数据110可以包括深度传感器图像数据。图像数据110可以与成像设备的已知的位置相关联,以提供关于从所述位置记录的对象的视角的信息。图像数据110也可以包括配置信息和/或描述与图像的捕获有关的信息的其它元数据。
在204处,建模应用程序106可以生成一系列的体素。在一些实施例中,建模应用程序106可以生成初始体素。在这些实例中,初始体素可以被表示为体素索引三元组的列表,并且额外的属性(例如,颜色、表面信息等)数据可以被存储为在相同的索引范围上的列表。
在206处,建模应用程序106可以基于来自输入图像(例如,图像数据110)和经校准的变换从列表中移除体素,其中该经校准的变换是基于与图像相关联的位置信息与输入图像相关联的。建模应用程序106可以基于剩余的体素,生成包括输出体素116的新的体素列表。
在208处,呈现模块108可以基于输出体素116渲染图像。在一些实施例中,呈现模块108可以对输出体素116进行编码以生成体素流并且发送体素流,以引起在显示器上的实时的自由观察点观察。
说明性架构
图3是使得能够利用并行图形硬件对3D模型进行重建的说明性计算架构300的示意图。计算架构300示出了计算***102的额外的细节,其可以包括额外的模块、内核、数据、和/或硬件。
计算架构300可以包括处理器302和存储器304。存储器304可以存储各种模块、应用、程序、或其它数据。存储器304可以包括当被执行时使处理器302执行在本文中所描述的针对计算***102的操作的指令。处理器302可以包括一个或多个图形处理单元(GPU)和一个或多个中央处理单元(CPU)。
计算***102可以具有额外的特征和/或功能。例如,计算***102也可以包括额外的数据存储设备(可移动的或不可移动的)。计算机可读介质至少可以包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块、程序数据、或其它数据的信息的任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质。***存储器、可移动存储设备和不可移动存储设备都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字化通用光盘(DVD)、或其它光学存储设备、盒式磁带、磁带、磁盘存储设备、或其它磁存储设备、或者可以用于存储期望的信息并且可以由计算***102来访问的任何其它介质。任何这样的计算机存储介质可以是计算***102的一部分。此外,计算机可读介质可以包括当由处理器执行时,执行在本文中所描述的各种功能和/或操作的计算机可执行指令。
与此相反,通信介质可以实施计算机可读指令、数据结构、程序模块、或已调制的数据信号中的其它数据,例如,载波、或其它机制。如在本文中所定义的,计算机存储介质不包括通信介质。
存储器304可以存储操作***306以及图像模块104、建模应用程序106、和呈现模块108。
建模应用程序106可以包括各种组件(例如,模块和内核),例如,生成内核308、决策内核310、扫描内核312、确定模块314、细分内核316、以及压缩内核318。
生成内核308可以生成包括多个体素的体素列表。在一些实施例中,多个体素(例如,V)可以被表示为无符号整型三元组{ix,iy,iz}的阵列,其与维度是2k×2k×2k的3D网格内的体素角的坐标相对应,其中k是体素层级(Vk)内的等级。在一些实例中,体素层级内的每个体素都可以由坐标和体素的等级来定义。
在一些实施例中,可以不分配针对网格的23k个体素的空间。在这些实例中,体素的存在可以由体素层级Vk内的体素的索引的出现来确定。在一些实例中,所存储的体素的数量(例如,|Vk|)可以与对象(例如,对象112)的表面面积成正比。例如,程序数据320可以存储体素,并且存储的所存储的体素的数量可以不同于用于以传统的体素网格来表示对象的体素的数量。在一些实施例中,层级的等级(例如,Vk的深度)的最大数可以由用于每个无符号整型坐标的比特数量确定。
尽管体素的整型坐标在内部存储,但是建模应用程序106可以经由利用方程(1)的变换将体素的整型坐标转换成归一化的体素坐标(NVC)。
nx=σkix-1,ny=σkiy-1,nz=σkiz-1方程(1)
这里,σk=21-k是与等级k相关联的缩放因数,并且NVC体素网格覆盖(spans)立方[-1,1]3。在一些实施例中,NVC立方可以用作世界坐标系。在这些实例中,计算***102可以维持多个传感器并且观察关于这些坐标的变换。NVC立方可以被虚拟地置于目标主体周围,并且接着可见的表面可以在封闭的空间内被体素化。
在一些实施例中,生成内核308可以生成初始的低分辨率的体素的列表。例如,生成内核308可以从等级k=4开始,并且创建包括4096个体素的163的网格。又例如,生成内核308可以从具有单个体素的等级k=0开始。在该实例中,在所有可用的GPU的核心被完全利用之前,要求一定的迭代(例如,重复)。
在一些实施例中,每个GPU线程可以将唯一的体素索引写入至与体素的线程ID相对应的位置。这些索引可以作为线程ID的函数被计算,如说明性算法(1)所示出的。
算法(1)
在一些实施例中,决策内核310可以生成与体素列表相对应的体素剔除(例如,移除)决策的序列列表。例如,决策内核310可以基于图像数据和与NVC立方相关联的坐标来确定体素列表中的一些体素的可移除性。决策内核也可以将体素分成两组:剔除的(例如,可移除的)和保留的(例如,不可移除的)。在一些实施例中,当针对序列列表使用时,用于执行的GPU的个体线程可以映射至个体体素。然而,可以利用其它方式(例如,哈希表)实现个体线程和个体体素之间的映射。
在一些实例中,决策内核310可以决定是否应该将给定的体素从体素列表中移除。决策内核310可以具有对图像数据110以及将NVC体素投影至图像像素的相关联的坐标变换的访问。在一些实例中,决策内核310可以将零(剔除)或一(保留)写入至列表中与体素的线程标识符(ID)相对应的位置中,其在下文的说明性实施例中进行更加细节地讨论。
在由决策核心310实现了可移除性决策之后所得到的体素列表可以被传递至扫描内核312。扫描内核312可以将输入列表一对一地并行映射至输出列表。在位置i处的输出列表的值可以被定义为输入列表中的所有小于i的元素的总和(例如,排他扫描)。在一些实例中,对于每个保留的体素,扫描输出列表提供了保留的体素的序列列表内的体素的位置。因此,可以将可移除的体素从体素列表中独立地并且并行地消除。
确定模块314可以确定对图像数据110建模的迭代的次数。在一些实施例中,确定模块314可以确定是否满足预先确定的条件。例如,预先确定的条件可以与图像数据110(例如,分辨率和/或类型)、体素层级(例如,多个等级)、重建的图像118(例如,期望的分辨率)、3D网格(例如,大小)等相关联。
在一些实施例中,响应于确定迭代的次数小于预先确定的值(或者满足或不满足另一条件),细分内核316可以将体素细分成多个子体素以创建新的体素列表。可以由决策内核相应地来处理新的体素列表。例如,细分内核316可以将每个体素细分成八个子体素以创建分辨率在三个维度上都翻倍的体素列表。可以通过将体素索引加倍并且在所有八个组合中加入零或一来标识(identify)新的子体素的索引。可以在被标识为扫描输出列表在与线程ID相对应的位置的值的八倍的位置处,将这八个新的子体素索引写入至新的体素列表中,如说明性算法(2)所示出。
算法(2)
在一些实施例中,响应于确定迭代的次数不小于预先确定的值(或者满足或不满足另一条件),压缩内核318可以将可移除(例如,剔除)的体素从体素列表中移除。体素的索引可以被写入至新的列表中与扫描输出列表中的与线程ID相对应的位置处的值相对应的位置处,如说明性算法(3)所示出。
算法(3)
呈现模块108可以包括渲染模块332和编码器324。在一个或多个可能的迭代之后,压缩内核318的输出可以生成与期望的表面相交的最终的体素列表。渲染模块322可以基于图像数据110渲染重建的图像118。在一些实施例中,最终的体素列表的投影大体上可以是像素的大小。渲染模块322可以利用图形管线将这些体素渲染成与轴对齐的、屏幕空间边界矩形相对应的贴图(splat)。在一些实施例中,编码器324可以对输出体素116进行编码以生成体素流并且发送体素流,从而引起在显示器上的实时的自由观察点观察。
说明性过程
图4和图5包括参考方案100和计算架构300描述的过程。然而,可以利用其它方案、环境、和/或计算架构来实现这些过程。过程400和500中的每个都被示出为逻辑流程图中的一批方框,这些方框表示可以在硬件、软件、或其组合中来实现的一系列操作。在软件的上下文中,方框表示当由一个或多个处理器执行时,使得一个或多个处理器执行所记载的操作的计算机可执行指令。通常而言,计算机可执行指令包括执行特定的功能或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。所述操作被描述的顺序不旨在被解释为限制,并且可以将任何数量的描述的方框按照任何顺序组合和/或并行以实现过程。
图4是用于基于输入图像来生成输出体素的说明性过程400的流程图。在402处,建模应用程序106可以生成包括多个体素的体素列表。在一些实施例中,体素列表可以最初包括预先确定的数量的体素。在一些实例中,初始的体素列表可以处于低分辨率。例如,建模应用程序106可以开始于包括4096个体素的16×16×16的体素网格。
在404处,建模应用程序可以将体素分配至GPU的可用的线程以执行并行的处理。在一些实例中,可以基于实时的硬件信息(例如,多个GPU的核心和与核心相关联的当前的状态)来确定体素列表中的体素的数量。例如,可以确定体素的数量使得在预先确定的时间段内可以完全使用GPU的所有可用的核心。在一些实施例中,建模应用程序106可以为每个体素分配单个线程,并且将体素索引写入至与线程ID相对应的位置。可以将索引作为线程ID的函数来计算。
在406处,建模应用程序106可以基于图像数据110而从体素列表中移除体素。建模应用程序106可以确定体素是否应该从表示中被移除。建模应用程序106具有对多种图像数据和相关联的变换的访问。这些变换将体素映射至图像像素。
在408处,建模应用程序106可以响应于移除而更新体素列表。更新的体素列表可以被渲染为重建的图像118。在一些实施例中,建模应用程序106也可以响应于某个条件而对多个体素中的个体体素进行划分,这在图5中进行了详细讨论。在这些实例中,可以再一次确定更新的列表中的个体体素的可移除性。
图5是用于基于输入图像来生成输出体素的说明性过程500的另一流程图。502处,生成核心308可以生成包括预先确定的数量的体素的体素列表。
在504处,决策内核可以基于图像数据110来确定体素列表中的个体体素的可移除性。可以基于可用的图像数据的性质而以各种方式来实现决策内核310。数据可以包括颜色、深度、剪影图像、和/或其它因素。
在506处,决策内核310可以基于个体体素的可移除性而生成序列列表。在一些实施例中,决策内核310可以将零(剔除)或一(不剔除)写入至序列列表的与线程ID相对应的位置中。
在508处,决策内核310也可以生成与序列列表相对应的输出列表。由决策内核310生成的序列列表(例如,体素可移除性决策的列表)可以接着被发送至扫描内核312中。扫描内核312可以是前缀和(prefixsum)扫描内核。在一些实施例中,扫描内核312可以被实现为并行编程功能(其被实现为库调用)。扫描内核可以生成大小与输入列表相同的输出列表。输出列表在位置i处的值可以被定义为输入列表中小于i的所有元素的总和。在以下的操作中使用所得到的输出列表。
在510处,确定模块314可以确定是否对体素进行细分,并且因此确定是否执行过程500的部分的迭代。例如,确定模块314可以确定所执行的迭代的次数是否达到预先确定的值(例如,在达到最大迭代之后没有进一步的细分),并且因此防止进一步的迭代。在一些实施例中,确定模块314可以确定是否满足预先确定的条件(例如,在满足条件后没有细分、细分直到满足条件为止等),这在图6中进行细地讨论。当确定模块314确定对体素进行细分时(即,决策操作510的“是”分支),则过程500可以前进至操作512。
在512处,细分内核316可以将体素列表中的体素细分成预先确定的数量的体素。例如,细分内核316可以将每个体素细分成八个子体素,从而创建了分辨率在所有三个维度上都加倍的新的网格。可以通过将体素索引加倍并且在所有八个组合中加入零或一来标识(identify)新的子体素的索引。可以在被标识为扫描输出列表在与线程ID相对应的位置的值的八倍的位置处,将这八个新的子体素索引写入至新的体素列表中。接着操作512,过程可以返回操作504以允许另一可移除性确定和扫描过程。
当确定模块314确定不对体素进行细分或对体素进行进一步的细分时(即,操作512的“否”分支),过程500可以前进至操作514。
在514处,压缩内核318可以机会主义地从体素列表中移除(例如,提出)体素。例如,如从输入图像的分析中确定的,当一个或多个体素与对象的表面在特定的视图中不相交时,该体素可以被移除。
在516处,压缩内核318可以将体素的索引写入至新的列表中在与扫描的输出列表中与线程ID相对应的位置中的值相对应的位置处。
图6是示出了与在图5中的操作510处的确定(其确定是否细分或进一步细分体素)相关联的各种说明性考虑的示例方框图。确定模块314可以基于考虑602中的一个或多个来确定满足或者不满足预先确定的条件。可以将这些考虑602分成多个类别。在一些实施例中,可以将考虑602分成硬件考虑604、视觉考虑606、以及环境考虑608。确定模块314可以基于来自一个或多个类别中的考虑602中的一个或多个来确定满足条件还是不满足条件。
硬件考虑604可以是与计算***102相关联的硬件的状态。例如,硬件考虑604可以包括当前的存储器用量610、GPU处理器能力612、以及其它硬件考虑(例如,容量、规格等)。视觉考虑606可以与输入图像114(例如,分辨率和/或类型)、重建的图像118(例如,期望的分辨率)、3D网格614(例如,体素层级的等级)、以及其它可能的视觉考虑相关联。环境考虑608可以与处理时间616相关联以完成过程500(包括任何迭代)、用户交互618的结果(例如,用户输入、图像的用户操纵、对象的运动等)、以及其它可能的环境考虑。例如,更少的过程500的迭代可以降低渲染输出体素116所要求的时间。用户交互618可以与是否接收到用户输入相关联。例如,计算***102可以检测连续的用户输入,计算***102可以执行更少的迭代以降低渲染输出体素116的时间。
说明性实施例
以下是如上文所公开的稀疏体素化的实现的非限定性示例。尽管在下文中提供了一个示例,但是可以利用与上文中所提供的框架一致的其它具体技术、方程、以及或算法,来执行稀疏体素化。
计算***102可以将与由一批n个传感器(例如,相机)捕获的对象的平滑的可视外壳相对应的对象表面体素化。该表面可以形成为n个经滤波的剪影图像的乘积。假设Ii:表示从相机i捕获到的经滤波的剪影图像。此外,假设Ci:是从NVC空间到与相机i相关联的图像空间的投影变换。因此,可以利用方程(2)来形成剪影图像的乘积。
S(p)=ΠiIi(Ci(p))方程(2)
这里,P是NVC空间中的点。体素化的表面是此外,梯度垂直于S(p)。如果剪影图像Ii是平滑的,那么在上提供平滑垂直场。
剪影图像获得和滤波
色度键控可以用于分割前景和背景像素。可以向前景像素分配值零,而可以向背景像素分配值一。在一些实施例中,每帧可以将原始的拜耳(Bayer)模式数据上传至GPU,并且可以将这些数据存储在2D纹理阵列中。由于拜耳模式数据每像素仅8比特,因此降低了重要的相机总线和CPU/GPU数据带宽。可以调用单个计算内核以同时从图像数据中移除径向镜头变形、去马赛克、和色度键从而产生经校准的剪影图像。
接着,可以利用具有单位积分的可分离的高斯内核对这些图像进行滤波。通过增加该内核的宽度可以增加剪影图像中模糊的量,从而导致更平滑的表面S(p)。尽管可分离性不是必须的,但是由于利用每行/列的线程方框的策略整个图像行/列可以适应于共享的存储器中,因此可分离性将极大地增加GPU上的卷积性能。
做出可视外壳决策
决策内核310可以为每个体素分配单个线程,并且每个体素剔除决策可以独立于任何其它决策。决策内核310具有对n个经滤波的剪影图像以及加速并且限制体素/剪影覆盖范围查询n个mip金字塔的访问。此外,决策内核310了解从NVC空间到剪影图像空间的n个坐标变换,以及从NVC空间到针对当前正在被生成的新的观察的屏幕空间的坐标变换。
决策内核310基于给定的体素是否与表面相交而做出二进制的剔除决策。由此,如果并且对于体素内的一些点p1和p2 则体素将与表面相交。可以在体素内的所有点p上来标识关于S(p)的值的界限。这可以通过找到关于体素到每个经滤波的剪影图像Li的投影的界限,并且取这些界限的乘积来实现。可以利用mip金字塔在图像内标识这些界限。如在以下的说明性算法(4)中所示出的,这些是用于实现函数sampleSilhouette(v,i)的,该函数将返回包含关于体素v向图像I的投影的保守界限的float2值。
算法(4)
这里,bounds.x和bounds.y是期望的界限的下限和上限。此外,float2变量的乘积是其分量的乘积,并且如果体素v位于新的示图的检视范围外部,则函数outsideFrustum(v)返回真。
为了加速处理,决策内核310可以按照分层并且以由粗到细的方式运行。为了促成这一点,并且避免丢失小的特征或导入孔,可以利用每个剪影图像上的mip金字塔来开发加速结构。
分层的体素化加速结构
在一些实施例中,在每个金字塔等级处,通过找到在下一个较低等级的4个纹素的可能的最小和最大值来确定两个通道纹素。由此,可以快速地找到v的投影上的Li上的保守界限。在函数sampleSilhouette(v,i)中,v的8个NVC空间角可以被投影到剪影图像空间中。接着,轴对齐的边界矩形可以被标识为minX、minY、maxX和maxY。可以利用以下的说明性算法(5)来确定剪影图像mip金字塔中的采样等级。
算法(5)
在该等级,v的边界矩形可以覆盖至多纹素的2×2的方框。这些纹素可以在轴对齐的边界矩形的角处被采样。对于体素内的所有p,这些值中最小和最大值表示关于值Ii(Ci(p))的保守界限。对于体素内的所有p,通过取图像上最小值(相似地,最大值)的乘积,可以获得关于值S(p)的保守界限。这意味着在体素化中可以不漏掉小的特征或创建孔,这是由于界限是保守地正确的。此外,剪影图像空间加速结构极大地降低了决策内核310所需要的用于针对给定的体素做出剔除决策的计算和数据访问的量。可以由在剪影图像平滑后立即启动的计算内核来生成n个图像金字塔。
体素渲染
可以将体素渲染成屏幕空间的边界矩形贴图。可以将体素投影至屏幕空间,其中,可以标识它们的轴对齐的边界矩形,并且接着可以将这些四方形作为一对三角形来进行渲染。对于包括捕获主体的上身和头的通常的示图来说,千兆体素分辨率贴图大约投影成HD分辨率的像素的大小。在一些实施例中,GPU光栅化可以针对这样的单个像素四方形进行优化。
计算***102可以通过对体素至彩色图像中的每个的投影的贡献进行加权来对体素贴图添加纹理。加权可以被确定为两个权重项的乘积:视点相关的权重、以及正交相关的权重。以下的算法示出了如何计算这些权重。如在以下的说明性算法(6)中所示出的,变量VtoEye表示从体素中心到新的眼视点的单位矢量,Normal是在体素中心处的表面的单位法线,并且VtoCamera[i]是从体素中心到相机I的位置的单位矢量。
算法(6)
最终,通过除以其总和而将权重值归一化。在以上的代码中对pow()的调用帮助降低在主导纹理间转换的伪迹(artifacts)。
结论
尽管已经用特定于结构特征和/或方法行为的文字描述了主题,但是应当理解的是,在所附权利要求中所限定的主题不是必须限于上文中所描述的具体的特征或行为。相反,公开了具体的特征和行为作为实现权利要求的示例形式。
Claims (10)
1.一种计算机实现的用于三维(3D)模型重建的方法,所述方法包括:
接收包括对象的来自各个视角的多个二维(2D)图像的输入图像;
生成体素列表,所述体素列表包括多个体素,所述体素至少部分地基于所述对象的所述输入图像来重建所述对象的3D模型;
将所述多个体素中的个体体素分配至与图形处理单元(GPU)相关联的线程标识符(ID);
将一个或多个体素从所述体素列表中移除,以生成排除所述一个或多个体素的输出体素,所述一个或多个体素是在基于所述输入图像的分析而将所述一个或多个体素识别为与所述对象的表面不相交后被移除的;并且
利用所述输出体素渲染所述3D模型。
2.根据权利要求1所述的计算机实现的方法,其中,所述多个体素被表示为与3D网格内的体素角的坐标相对应的整型三元组的列表。
3.根据权利要求1所述的计算机实现的方法,其中,将所述一个或多个体素从所述体素列表中移除包括:
确定所述多个体素中的个体体素是可移除的;
将对所述个体体素的可移除性的指定存储在与所述体素列表相对应的序列列表中;并且
响应于确定满足预先确定的条件,基于所述指定而将所述个体体素从所述体素列表中移除。
4.根据权利要求3所述的计算机实现的方法,其中,所述预先确定的条件包括迭代的预先确定的次数。
5.根据权利要求3所述的计算机实现的方法,其中,所述预先确定的条件与所述多个输入图像的分辨率、所述体素列表中的体素层级的等级、GPU处理能力、或与所述对象的所述3D模型的用户交互中的至少一个相关联。
6.根据权利要求3所述的计算机实现的方法,还包括:
响应于确定不满足预先确定的条件,将所述个体体素的至少一部分细分成预先确定的数量的体素,以更新所述体素列表。
7.根据权利要求3所述的计算机实现的方法,还包括在将所述个体体素从所述体素列表中移除之前,利用前缀和扫描来更新所述序列列表。
8.根据权利要求1所述的计算机实现的方法,还包括:
对所述输出体素进行编码;并且
发送经编码的输出体素以引起自由观察点显示。
9.一种计算***,包括:
一个或多个处理器;以及
用于保持可以由所述一个或多个处理器执行的多个组件的存储器,所述多个组件包括:
生成内核,其被配置为生成包括多个体素的体素列表,所述多个体素中的个体体素与由图形处理单元(GPU)分配的线程ID相对应;
决策内核,其被配置为基于所述多个体素中的至少一个体素是否与关联于多个输入图像的对象的表面相交来确定所述至少一个体素的可移除性;以及
压缩内核,其被配置为基于所述至少一个体素的所确定的可移除性,将所述至少一个体素从所述体素列表中移除,从而生成输出体素。
10.根据权利要求9所述的***,其中,所述多个体素被表示为与三维(3D)网格内的体素角的坐标相对应的整型三元组的列表,并且其中,所述多个组件还包括:
细分内核,其被配置为将被确定为与所述对象的所述表面相交的体素细分成预先确定的数量的更小的体素,从而更新所述体素列表。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361847445P | 2013-07-17 | 2013-07-17 | |
US61/847,445 | 2013-07-17 | ||
US14/256,880 | 2014-04-18 | ||
US14/256,880 US9984498B2 (en) | 2013-07-17 | 2014-04-18 | Sparse GPU voxelization for 3D surface reconstruction |
PCT/US2014/046584 WO2015009651A2 (en) | 2013-07-17 | 2014-07-15 | Sparse gpu voxelization for 3d surface reconstruction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105453139A true CN105453139A (zh) | 2016-03-30 |
CN105453139B CN105453139B (zh) | 2019-06-25 |
Family
ID=52343216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480040344.3A Expired - Fee Related CN105453139B (zh) | 2013-07-17 | 2014-07-15 | 用于3d表面重建的稀疏gpu体素化 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9984498B2 (zh) |
EP (1) | EP3022715A2 (zh) |
KR (1) | KR20160033128A (zh) |
CN (1) | CN105453139B (zh) |
WO (1) | WO2015009651A2 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296764A (zh) * | 2016-08-02 | 2017-01-04 | 上海联影医疗科技有限公司 | 图像重建方法及*** |
CN106600671A (zh) * | 2016-10-21 | 2017-04-26 | 上海拆名晃信息科技有限公司 | 一种网格模型的体素化方法及装置 |
CN107223267A (zh) * | 2016-04-20 | 2017-09-29 | 上海联影医疗科技有限公司 | 图像重建方法和*** |
CN107527322A (zh) * | 2017-09-27 | 2017-12-29 | 杭州群核信息技术有限公司 | 渲染方法、装置、引擎及存储介质 |
CN110276829A (zh) * | 2018-06-15 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 通过多尺度体素哈希处理的三维表示 |
CN110383340A (zh) * | 2016-08-19 | 2019-10-25 | 莫维迪厄斯有限公司 | 使用稀疏体积数据进行路径规划 |
CN110832551A (zh) * | 2017-07-10 | 2020-02-21 | 惠普发展公司,有限责任合伙企业 | 将对象性质数据与位置相关联 |
CN111034054A (zh) * | 2017-07-31 | 2020-04-17 | 惠普发展公司,有限责任合伙企业 | 三维模型的体素的异或处理 |
CN111316332A (zh) * | 2017-09-07 | 2020-06-19 | Cmte发展有限公司 | 空间数据处理***及方法 |
CN111402422A (zh) * | 2020-03-16 | 2020-07-10 | 京东方科技集团股份有限公司 | 三维表面重建方法、装置和电子设备 |
CN114332332A (zh) * | 2017-12-22 | 2022-04-12 | 奇跃公司 | 用于生成场景中的表面的三维重建的方法和设备 |
US12051223B2 (en) | 2019-09-27 | 2024-07-30 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Positioning method, electronic device, and storage medium |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2546020B (en) | 2012-11-02 | 2017-08-30 | Imagination Tech Ltd | Method of scheduling discrete productions of geometry |
US10769849B2 (en) | 2015-11-04 | 2020-09-08 | Intel Corporation | Use of temporal motion vectors for 3D reconstruction |
EP3387790B1 (en) | 2015-12-09 | 2022-07-06 | IDAC Holdings, Inc. | Anchoring internet protocol multicast services in information centric networks |
CN109076148B (zh) | 2016-04-12 | 2021-02-05 | 奎蒂安特有限公司 | 日常场景重建引擎 |
US11308662B2 (en) | 2016-08-02 | 2022-04-19 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image reconstruction |
US10347014B2 (en) | 2016-08-02 | 2019-07-09 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image reconstruction |
JP6973412B2 (ja) * | 2016-12-28 | 2021-11-24 | ソニーグループ株式会社 | 情報処理装置および方法 |
DE112018004584T5 (de) * | 2017-10-16 | 2020-06-04 | Movidius Ltd. | Dichtekoordinaten-hashing für volumetrische daten |
US20210056426A1 (en) * | 2018-03-26 | 2021-02-25 | Hewlett-Packard Development Company, L.P. | Generation of kernels based on physical states |
AU2019262147B2 (en) | 2018-05-02 | 2024-07-04 | Quidient, Llc | A codec for processing scenes of almost unlimited detail |
US11238641B2 (en) * | 2019-09-27 | 2022-02-01 | Intel Corporation | Architecture for contextual memories in map representation for 3D reconstruction and navigation |
CN110826122B (zh) * | 2019-10-12 | 2023-02-28 | 中广核工程有限公司 | 一种核电三维布置设计模型体素化方法及*** |
US11682142B2 (en) * | 2019-12-20 | 2023-06-20 | Raytheon Company | Information weighted rendering of 3D point set |
US11501489B2 (en) * | 2020-02-27 | 2022-11-15 | Magic Leap, Inc. | Cross reality system for large scale environment reconstruction |
US11436761B2 (en) * | 2020-03-18 | 2022-09-06 | International Business Machines Corporation | Preventing feature loss when compressing images |
US11727635B2 (en) * | 2020-10-22 | 2023-08-15 | Faro Technologies, Inc. | Hybrid photogrammetry |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030179196A1 (en) * | 2002-03-19 | 2003-09-25 | Hux W. Allen | Classifying a voxel |
US20060066614A1 (en) * | 2004-09-28 | 2006-03-30 | Oliver Grau | Method and system for providing a volumetric representation of a three-dimensional object |
US20090295794A1 (en) * | 2008-05-30 | 2009-12-03 | Asustek Computer Inc. | Method for controlling operating modes of graphics processing unit |
US20110063294A1 (en) * | 2009-09-11 | 2011-03-17 | Brown Patrick R | Tessellation shader inter-thread coordination |
US20110115787A1 (en) * | 2008-04-11 | 2011-05-19 | Terraspark Geosciences, Llc | Visulation of geologic features using data representations thereof |
CN102576463A (zh) * | 2009-10-07 | 2012-07-11 | 微软公司 | 用于移除图像的背景的***和方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990228B1 (en) * | 1999-12-17 | 2006-01-24 | Canon Kabushiki Kaisha | Image processing apparatus |
US6930683B2 (en) * | 2002-04-19 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Three-dimensional reconstruction method utilizing reprojective optimization |
CN100388317C (zh) * | 2002-06-28 | 2008-05-14 | 富士通株式会社 | 三维图象的比较程序、比较方法及比较装置 |
US7023433B2 (en) * | 2002-10-14 | 2006-04-04 | Chung Yuan Christian University | Computer-implemented method for constructing and manipulating a three-dimensional model of an object volume, and voxels used therein |
GB2405776B (en) * | 2003-09-05 | 2008-04-02 | Canon Europa Nv | 3d computer surface model generation |
JP2007528529A (ja) * | 2003-11-28 | 2007-10-11 | ブラッコ イメージング エス.ピー.エー. | 3dデータ集合のサーフェスを識別するための方法及びシステム(「ボクセル分割」) |
GB0329534D0 (en) * | 2003-12-20 | 2004-01-28 | Ibm | Method for determining the bounding voxelisation of a 3d polygon |
US20060187221A1 (en) * | 2005-02-22 | 2006-08-24 | Sarang Lakare | System and method for identifying and removing virtual objects for visualization and computer aided detection |
JP3932303B2 (ja) * | 2005-05-13 | 2007-06-20 | 独立行政法人放射線医学総合研究所 | 臓器動態の定量化方法、装置、臓器位置の予測方法、装置、放射線照射方法、装置及び臓器異常検出装置 |
US7889194B2 (en) * | 2006-03-30 | 2011-02-15 | Siemens Medical Solutions Usa, Inc. | System and method for in-context MPR visualization using virtual incision volume visualization |
US7640284B1 (en) * | 2006-06-15 | 2009-12-29 | Nvidia Corporation | Bit reversal methods for a parallel processor |
US8897528B2 (en) * | 2006-06-26 | 2014-11-25 | General Electric Company | System and method for iterative image reconstruction |
US8217938B2 (en) * | 2007-05-31 | 2012-07-10 | Ford Global Technologies, Llc | Method and apparatus for determining item orientation |
US8151084B2 (en) * | 2008-01-23 | 2012-04-03 | Oracle America, Inc. | Using address and non-address information for improved index generation for cache memories |
US8106924B2 (en) * | 2008-07-31 | 2012-01-31 | Stmicroelectronics S.R.L. | Method and system for video rendering, computer program product therefor |
US8217939B1 (en) * | 2008-10-17 | 2012-07-10 | Ngrain (Canada) Corporation | Method and system for calculating visually improved edge voxel normals when converting polygon data to voxel data |
EP2597615A1 (en) * | 2008-11-25 | 2013-05-29 | Algotec Systems Ltd. | Method and system for segmenting medical imaging data according to a skeletal atlas |
GB0910138D0 (en) * | 2009-06-12 | 2009-07-29 | Siemens Medical Solutions | Combination of MIP and anatomical information |
US8655033B2 (en) * | 2009-10-28 | 2014-02-18 | General Electric Company | Iterative reconstruction |
US8503754B2 (en) * | 2010-06-07 | 2013-08-06 | Calgary Scientific Inc. | Parallel process for level set segmentation of volume data |
US8587583B2 (en) | 2011-01-31 | 2013-11-19 | Microsoft Corporation | Three-dimensional environment reconstruction |
US8694832B2 (en) * | 2011-03-03 | 2014-04-08 | International Business Machines Corporation | Assist thread analysis and debug mechanism |
US9329988B2 (en) * | 2011-08-19 | 2016-05-03 | Nvidia Corporation | Parallel dynamic memory allocation using a nested hierarchical heap |
US9311744B2 (en) * | 2012-01-09 | 2016-04-12 | Fca Us Llc | System and method for generating an outer layer representation of an object |
KR101849373B1 (ko) * | 2012-01-31 | 2018-04-17 | 한국전자통신연구원 | 인체의 관절구조를 추정하기 위한 장치 및 방법 |
US9245363B2 (en) * | 2012-12-21 | 2016-01-26 | Nvidia Corporation | System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model |
US20140267264A1 (en) * | 2013-03-14 | 2014-09-18 | Nvidia Corporation | Generating anti-aliased voxel data |
-
2014
- 2014-04-18 US US14/256,880 patent/US9984498B2/en active Active
- 2014-07-15 CN CN201480040344.3A patent/CN105453139B/zh not_active Expired - Fee Related
- 2014-07-15 WO PCT/US2014/046584 patent/WO2015009651A2/en active Application Filing
- 2014-07-15 KR KR1020167002779A patent/KR20160033128A/ko not_active Application Discontinuation
- 2014-07-15 EP EP14748355.6A patent/EP3022715A2/en not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030179196A1 (en) * | 2002-03-19 | 2003-09-25 | Hux W. Allen | Classifying a voxel |
US20060066614A1 (en) * | 2004-09-28 | 2006-03-30 | Oliver Grau | Method and system for providing a volumetric representation of a three-dimensional object |
US20110115787A1 (en) * | 2008-04-11 | 2011-05-19 | Terraspark Geosciences, Llc | Visulation of geologic features using data representations thereof |
US20090295794A1 (en) * | 2008-05-30 | 2009-12-03 | Asustek Computer Inc. | Method for controlling operating modes of graphics processing unit |
US20110063294A1 (en) * | 2009-09-11 | 2011-03-17 | Brown Patrick R | Tessellation shader inter-thread coordination |
CN102576463A (zh) * | 2009-10-07 | 2012-07-11 | 微软公司 | 用于移除图像的背景的***和方法 |
Non-Patent Citations (3)
Title |
---|
MARK HARRIS等: "《Parallel Prefix Sum (Scan) with CUDA》", 《GPU GEMS 3》 * |
MARTIN GRANGER-PICHE等: "《Interactive Hierarchical Space Carving with Projector-based Calibrations》", 《VISION, MODELING, & VISUALIZATION CONFERENCE》 * |
W. BRUCE CULBERTSON等: "《Generalized Voxel Coloring》", 《VISION ALGORITHMS: THEORY AND PRACTICE》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107223267A (zh) * | 2016-04-20 | 2017-09-29 | 上海联影医疗科技有限公司 | 图像重建方法和*** |
CN107223267B (zh) * | 2016-04-20 | 2021-01-01 | 上海联影医疗科技股份有限公司 | 图像重建方法和*** |
CN106296764A (zh) * | 2016-08-02 | 2017-01-04 | 上海联影医疗科技有限公司 | 图像重建方法及*** |
US11965743B2 (en) | 2016-08-19 | 2024-04-23 | Movidius Limited | Operations using sparse volumetric data |
CN110383340A (zh) * | 2016-08-19 | 2019-10-25 | 莫维迪厄斯有限公司 | 使用稀疏体积数据进行路径规划 |
US11920934B2 (en) | 2016-08-19 | 2024-03-05 | Movidius Limited | Path planning using sparse volumetric data |
CN106600671A (zh) * | 2016-10-21 | 2017-04-26 | 上海拆名晃信息科技有限公司 | 一种网格模型的体素化方法及装置 |
CN110832551A (zh) * | 2017-07-10 | 2020-02-21 | 惠普发展公司,有限责任合伙企业 | 将对象性质数据与位置相关联 |
CN111034054A (zh) * | 2017-07-31 | 2020-04-17 | 惠普发展公司,有限责任合伙企业 | 三维模型的体素的异或处理 |
CN111316332A (zh) * | 2017-09-07 | 2020-06-19 | Cmte发展有限公司 | 空间数据处理***及方法 |
CN107527322A (zh) * | 2017-09-27 | 2017-12-29 | 杭州群核信息技术有限公司 | 渲染方法、装置、引擎及存储介质 |
CN107527322B (zh) * | 2017-09-27 | 2020-08-04 | 杭州群核信息技术有限公司 | 结合卷积神经网络的渲染方法、装置、引擎及存储介质 |
CN114332332A (zh) * | 2017-12-22 | 2022-04-12 | 奇跃公司 | 用于生成场景中的表面的三维重建的方法和设备 |
CN114332332B (zh) * | 2017-12-22 | 2023-08-18 | 奇跃公司 | 用于生成场景中的表面的三维重建的方法和设备 |
CN110276829B (zh) * | 2018-06-15 | 2023-03-07 | 北京京东尚科信息技术有限公司 | 通过多尺度体素哈希处理的三维表示 |
CN110276829A (zh) * | 2018-06-15 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 通过多尺度体素哈希处理的三维表示 |
US12051223B2 (en) | 2019-09-27 | 2024-07-30 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Positioning method, electronic device, and storage medium |
CN111402422A (zh) * | 2020-03-16 | 2020-07-10 | 京东方科技集团股份有限公司 | 三维表面重建方法、装置和电子设备 |
CN111402422B (zh) * | 2020-03-16 | 2024-04-16 | 京东方科技集团股份有限公司 | 三维表面重建方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US9984498B2 (en) | 2018-05-29 |
US20150022521A1 (en) | 2015-01-22 |
EP3022715A2 (en) | 2016-05-25 |
WO2015009651A2 (en) | 2015-01-22 |
WO2015009651A3 (en) | 2015-08-06 |
CN105453139B (zh) | 2019-06-25 |
KR20160033128A (ko) | 2016-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453139A (zh) | 用于3d表面重建的稀疏gpu体素化 | |
CN113706714B (zh) | 基于深度图像和神经辐射场的新视角合成方法 | |
CN112581629B (zh) | 增强现实显示方法、装置、电子设备及存储介质 | |
Loop et al. | Real-time high-resolution sparse voxelization with application to image-based modeling | |
RU2215326C2 (ru) | Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта | |
CN111243071A (zh) | 实时三维人体重建的纹理渲染方法、***、芯片、设备和介质 | |
JP3840150B2 (ja) | 3次元客体およびアニメートされた3次元客体のイメージベースの表現とレンダリング方法 | |
EP3649618A1 (en) | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
CN110517352B (zh) | 一种物体的三维重建方法、存储介质、终端及*** | |
Tomiyama et al. | Algorithm for dynamic 3D object generation from multi-viewpoint images | |
CN112819726A (zh) | 一种光场渲染伪影去除方法 | |
CN110544318B (zh) | 一种基于显示窗口的场景分辨率的海量模型加载方法 | |
Liu et al. | Creating simplified 3D models with high quality textures | |
WO2023004559A1 (en) | Editable free-viewpoint video using a layered neural representation | |
CN117315153A (zh) | 一种协同光场与占用场的人体重建与渲染方法及装置 | |
CN110060325A (zh) | 屏幕空间渲染方法及装置 | |
US11436797B2 (en) | Image generation system and method | |
Jäger et al. | A comparative Neural Radiance Field (NeRF) 3D analysis of camera poses from HoloLens trajectories and Structure from Motion | |
US11120606B1 (en) | Systems and methods for image texture uniformization for multiview object capture | |
US20120162215A1 (en) | Apparatus and method for generating texture of three-dimensional reconstructed object depending on resolution level of two-dimensional image | |
Li et al. | HO-Gaussian: Hybrid Optimization of 3D Gaussian Splatting for Urban Scenes | |
CN109658326A (zh) | 一种图像显示方法及装置、计算机可读存储介质 | |
Han et al. | Learning residual color for novel view synthesis | |
CN117541755B (zh) | 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190625 Termination date: 20200715 |