91 research outputs found
Constructing L∞ Voronoi diagrams in 2D and 3D
Voronoi diagrams and their computation are well known in the Euclidean L2 space. They are easy to sample and render in generalized Lp spaces but nontrivial to construct geometrically. Especially the limit of this norm with p → ∞ lends itself to many quad- and hex-meshing related applications as the level-set in this space is a hypercube. Many application scenarios circumvent the actual computation of L∞ diagrams altogether as known concepts for these diagrams are limited to 2D, uniformly weighted and axis-aligned sites. Our novel algorithm allows for the construction of generalized L∞ Voronoi diagrams. Although parts of the developed concept theoretically extend to higher dimensions it is herein presented and evaluated for the 2D and 3D case. It further supports individually oriented sites and allows for generating weighted diagrams with anisotropic weight vectors for individual sites. The algorithm is designed around individual sites, and initializes their cells with a simple meshed representation of a site's level-set. Hyperplanes between adjacent cells cut the initialization geometry into convex polyhedra. Non-cell geometry is filtered out based on the L∞ Voronoi criterion, leaving only the non-convex cell geometry. Eventually we conclude with discussions on the algorithms complexity, numerical precision and analyze the applicability of our generalized L∞ diagrams for the construction of Centroidal Voronoi Tessellations (CVT) using Lloyd's algorithm
Meshless Voronoi on the GPU
International audienceWe propose a GPU algorithm that computes a 3D Voronoi diagram. Our algorithm is tailored for applications that solely make use of the geometry of the Voronoi cells, such as Lloyd's relaxation used in meshing, or some numerical schemes used in fluid simulations and astrophysics. Since these applications only require the geometry of the Voronoi cells, they do not need the combinatorial mesh data structure computed by the classical algorithms (Bowyer-Watson). Thus, by exploiting the specific spatial distribution of the point-sets used in this type of applications, our algorithm computes each cell independently, in parallel, based on its nearest neighbors. In addition, we show how to compute integrals over the Voronoi cells by decomposing them on the fly into tetrahedra, without needing to compute any global combinatorial information. The advantages of our algorithm is that it is fast, very simple to implement, has constant memory usage per thread and does not need any synchronization primitive.These specificities make it particularly efficient on the GPU: it gains one order of magnitude as compared to the fastest state-of-the-art multi-core CPU implementations. To ease the reproducibility of our results, the full documented source code is included in the supplemental material
An extension to VORO++ for multithreaded computation of Voronoi cells
VORO++ is a software library written in C++ for computing the Voronoi
tessellation, a technique in computational geometry that is widely used for
analyzing systems of particles. VORO++ was released in 2009 and is based on
computing the Voronoi cell for each particle individually. Here, we take
advantage of modern computer hardware, and extend the original serial version
to allow for multithreaded computation of Voronoi cells via the OpenMP
application programming interface. We test the performance of the code, and
demonstrate that we can achieve parallel efficiencies greater than 95% in many
cases. The multithreaded extension follows standard OpenMP programming
paradigms, allowing it to be incorporated into other programs. We provide an
example of this using the VoroTop software library, performing a multithreaded
Voronoi cell topology analysis of up to 102.4 million particles.Comment: Fix typo and section number
Diagrammes de puissance restreint sur le GPU
International audienceWe propose a method to simultaneously decompose a 3D object into power diagram cells and to integrate given functions in each of the obtained simple regions. We offer a novel, highly parallel algorithm that lends itself to an efficient GPU implementation. It is optimized for algorithms that need to compute many decompositions, for instance, centroidal Voronoi tesselation algorithms and incompressible fluid dynamics simulations. We propose an efficient solution that directly evaluates the integrals over every cell without computing the power diagram explicitly and without intersecting it with a tetrahedralization of the domain. Most computations are performed on the fly, without storing the power diagram. We manipulate a triangulation of the boundary of the domain (instead of tetrahedralizing the domain) to speed up the process. Moreover, the cells are treated independently one from another, making it possible to trivially scale up on a parallel architecture. Despite recent Voronoi diagram generation methods optimized for the GPU, computing integrals over restricted power diagrams still poses significant challenges; the restriction to a complex simulation domain is difficult and likely to be slow. It is not trivial to determine when a cell of a power diagram is completely computed, and the resulting integrals (e.g. the weighted Laplacian operator matrix) do not fit into fast (shared) GPU memory. We address all these issues and boost the performance of the state-of-the-art algorithms by a factor 2 to 3 for (unrestricted) Voronoi diagrams and a ×50 speed-up with respect to CPU implementations for restricted power diagrams. An essential ingredient to achieve this is our new scheduling strategy that allows us to treat each Voronoi/power diagram cell with optimal settings and to benefit from the fast memory
A unified framework for isotropic meshing based on narrow-band Euclidean distance transformation
In this paper, we propose a simple-yet-effective method for isotropic meshing relying on Euclidean distance transformation based centroidal Voronoi tessellation (CVT). Our approach improves the performance and robustness of computing CVT on curved domains while simultaneously providing high-quality output meshes. While conventional extrinsic methods compute CVTs in the entire volume bounded by the input model, we restrict the computation to a 3D shell of user-controlled thickness. Taking voxels which contain surface samples as sites, we compute the exact Euclidean distance transform on the GPU. Our algorithm is parallel and memory-efficient, and can construct the shell space for resolutions up to 20483 at interactive speed. The 3D centroidal Voronoi tessellation and restricted Voronoi diagrams are also computed efficiently on the GPU. Since the shell space can bridge holes and gaps smaller than a certain tolerance, and tolerate non-manifold edges and degenerate triangles, our algorithm can handle models with such defects, which typically cause conventional remeshing methods to fail. Our method can process implicit surfaces, polyhedral surfaces, and point clouds in a unified framework. Computational results show that our GPU-based isotropic meshing algorithm produces results comparable to state-of- the-art techniques, but is significantly faster than conventional CPU-based implementations.MOE (Min. of Education, S’pore)Published versio
DiFi: Fast Distance Field Computation using Graphics Hardware
Abstract We present a novel algorithm for fast computation of discretized distance fields using graphics hardware
Towards deep unsupervised inverse graphics
Un objectif de longue date dans le domaine de la vision par ordinateur est de déduire le
contenu 3D d’une scène à partir d’une seule photo, une tâche connue sous le nom d’inverse
graphics. L’apprentissage automatique a, dans les dernières années, permis à de nombreuses
approches de faire de grands progrès vers la résolution de ce problème. Cependant, la plupart
de ces approches requièrent des données de supervision 3D qui sont coûteuses et parfois
impossible à obtenir, ce qui limite les capacités d’apprentissage de telles œuvres. Dans
ce travail, nous explorons l’architecture des méthodes d’inverse graphics non-supervisées
et proposons deux méthodes basées sur des représentations 3D et algorithmes de rendus
différentiables distincts: les surfels ainsi qu’une nouvelle représentation basée sur Voronoï.
Dans la première méthode basée sur les surfels, nous montrons que, bien qu’efficace pour
maintenir la cohérence visuelle, la production de surfels à l’aide d’une carte de profondeur
apprise entraîne des ambiguïtés car la relation entre la carte de profondeur et le rendu n’est
pas bijective. Dans notre deuxième méthode, nous introduisons une nouvelle représentation
3D basée sur les diagrammes de Voronoï qui modélise des objets/scènes à la fois explicitement
et implicitement, combinant ainsi les avantages des deux approches. Nous montrons comment
cette représentation peut être utilisée à la fois dans un contexte supervisé et non-supervisé
et discutons de ses avantages par rapport aux représentations 3D traditionnellesA long standing goal of computer vision is to infer the underlying 3D content in a scene from
a single photograph, a task known as inverse graphics. Machine learning has, in recent years,
enabled many approaches to make great progress towards solving this problem. However,
most approaches rely on 3D supervision data which is expensive and sometimes impossible
to obtain and therefore limits the learning capabilities of such work. In this work, we explore
the deep unsupervised inverse graphics training pipeline and propose two methods based on
distinct 3D representations and associated differentiable rendering algorithms: namely surfels
and a novel Voronoi-based representation. In the first method based on surfels, we show that,
while effective at maintaining view-consistency, producing view-dependent surfels using a
learned depth map results in ambiguities as the mapping between depth map and rendering
is non-bijective. In our second method, we introduce a novel 3D representation based on
Voronoi diagrams which models objects/scenes both explicitly and implicitly simultaneously,
thereby combining the benefits of both. We show how this representation can be used in both
a supervised and unsupervised context and discuss its advantages compared to traditional
3D representations
- …