ALICE is one of the four teams in the Image Geometry and Computation groupin INRIA Nancy Grand-Est.

ALICE is a project-team in Computer Graphics. The fundamental aspects of this domain concern the interaction of
*light*with the
*geometry*of the objects. The lighting problem consists in designing accurate and efficient
*numerical simulation*methods for the light transport equation. The geometrical problem consists in developing new solutions to
*transform and optimize geometric representations*. Our original approach to both issues is to restate the problems in terms of
*numerical optimization*. We try to develop solutions that are
*provably correct*,
*numerically stable*and
*scalable*.

By provably correct, we mean that some properties/invariants of the initial object need to be preserved by our solutions.

By numerically stable, we mean that our solutions need to be resistant to the degeneracies often encountered in industrial data sets.

By scalable, we mean that our solutions need to be applicable to data sets of industrial size.

To reach these goals, our approach consists in transforming the physical or geometric problem into a numerical optimization problem, studying the properties of the objective function and designing efficient minimization algorithms. To properly construct these discretizations, we use the formalism of finite element modeling, geometry and topology. We are also interested in fundamental concepts that were recently introduced into the geometry processing community, such as discrete exterior calculus, spectral geometry processing and theory of sampling.

The main applications of our results concern scientific visualization. We develop cooperations with researchers and people from the industry, who experiment applications of our general solutions to various domains, comprising CAD, industrial design, oil exploration and plasma physics. Our solutions are distributed in both open-source software ( Graphite, OpenNL, CGAL) and industrial software ( Gocad, DVIZ).

Sylvain Lefebvre received the Eurographics young researcher award.

We co-published the book “Polygon Mesh Processing” (AK Peters/CRC press).

Computer Graphics is a quickly evolving domain of research. These last few years, both acquisition techniques (e.g., range laser scanners) and computer graphics hardware (the so-called GPU's, for Graphics Processing Units) have made considerable advances. However, as shown in Figure , despite these advances, fundamental problems still remain open. For instance, a scanned mesh composed of hundred million triangles cannot be used directly in real-time visualization or complex numerical simulation. To design efficient solutions for these difficult problems, ALICE studies two fundamental issues in Computer Graphics:

the representation of the objects, i.e., their geometry and physical properties;

the interaction between these objects and light.

Historically, these two issues have been studied by independent research communities. However, we think that they share a common theoretical basis. For instance, multi-resolution and
wavelets were mathematical tools used by both communities
. We develop a new approach,
which consists in studying the geometry and lighting from the
*numerical analysis*point of view. In our approach, geometry processing and light simulation are systematically restated as a (possibly non-linear and/or constrained) functional
optimization problem. This type of formulation leads to algorithms that are more efficient. Our long-term research goal is to find a formulation that permits a unified treatment of geometry and
illumination over this geometry.

Geometry processing recently emerged (in the middle of the 90's) as a promising strategy to solve the geometric modeling problems encountered when manipulating meshes composed of hundred
millions of elements. Since a mesh may be considered to be a
*sampling*of a surface - in other words a
*signal*- the
*digital signal processing*formalism was a natural theoretic background for this subdomain (see e.g.,
). Researchers of this
domain then studied different aspects of this formalism applied to geometric modeling.

Although many advances have been made in the geometry processing area, important problems still remain open. Even if shape acquisition and filtering is much easier than 30 years ago, a
scanned mesh composed of hundred million triangles cannot be used directly in real-time visualization or complex numerical simulation. For this reason, automatic methods to convert those large
meshes into higher level representations are necessary. However, these automatic methods do not exist yet. For instance, the pioneer Henri Gouraud often mentions in his talks that the
*data acquisition*problem is still open. Malcolm Sabin, another pioneer of the “Computer Aided Geometric Design” and “Subdivision” approaches, mentioned during several conferences of the
domain that constructing the optimum control-mesh of a subdivision surface so as to approximate a given surface is still an open problem. More generally, converting a mesh model into a higher
level representation, consisting of a set of equations, is a difficult problem for which no satisfying solutions have been proposed. This is one of the long-term goals of international
initiatives, such as the
AIMShapeEuropean network of excellence.

Motivated by gridding application for finite elements modeling for oil and gas exploration, in the frame of the Gocadproject, we started studying geometry processing in the late 90's and contributed to this area at the early stages of its development. We developed the LSCM method (Least Squares Conformal Maps) in cooperation with Alias Wavefront . This method has become the de-facto standard in automatic unwrapping, and was adopted by several 3D modeling packages (including Maya and Blender). We experimented various applications of the method, including normal mapping, mesh completion and light simulation .

However, classical mesh parameterization requires to partition the considered object into a set of topological disks. For this reason, we designed a new method (Periodic Global Parameterization) that generates a continuous set of coordinates over the object . We also showed the applicability of this method, by proposing the first algorithm that converts a scanned mesh into a Spline surface automatically . Both algorithms are demonstrated in Figure .

We are still not fully satisfied with these results, since the method remains quite complicated. We think that a deeper understanding of the underlying theory is likely to lead to both efficient and simple methods. For this reason, we studied last year several ways of discretizing partial differential equations on meshes, including Finite Element Modeling and Discrete Exterior Calculus. This year, we also explored Spectral Geometry Processing and Sampling Theory (more on this below).

Numerical simulation of light means solving for light intensity in the “Rendering Equation”, an integral equation modeling energy transfers (or light
*intensity*transfers). The Rendering Equation was first formalized by Kajiya
, and is given by:

In addition, these methods are challenged with more and more complex materials (see Figure ) which need to be taken into account in the simulation. The simple diffuse Lambert law has been replaced with much more complex reflection models. The goal is to create synthetic images that no longer have a synthetic aspect, in particular when human characters are considered.

One of the difficulties is finding efficient ways of evaluating the visibility term. This is typically a Computational Geometry problem, i.e., a matter of finding the right combinatorial
data structure (the
*visibility complex*), studying its complexity and deriving algorithms to construct it. To deal with this issue, several teams (including VEGAS, ARTIS and REVES) study the visibility
complex.

The other terms of the Rendering Equation cannot be solved analytically in general. Many different numerical resolution methods have been used. The main difficulties of the discipline are that each time a new physical effect should be simulated, the numerical resolution methods need to be adapted. In the worst case, it is even necessary to design a new ad-hoc numerical resolution method. For instance, in Monte-Carlo based solvers and in recent Photon-Mapping based methods, several sampling maps are used, one for each effect (a map is used for the diffuse part of lighting, another map is used for caustics, etc.). As a consequence, the discipline becomes a collection of (sometimes mutually exclusive) techniques, where each of these techniques can only simulate a specific lighting effect.

The other difficulty is the classical problem of satisfying two somewhat antinomic objectives at the same time. On the one hand, we want to simulate complex physical phenomena (subsurface scattering, polarization, interferences, etc.), responsible for subtle lighting effects. On the other hand, we want to visualize the result of the simulation in real-time.

We first experimented finite-element methods in parameter space, and developed the
*Virtual Mesh*approach and a parallel solution mechanism for the associated hierarchical finite element formulation. The initial method was dedicated to scenes composed of quadrics. We
combined this method with our geometry processing methods to improve the visualization
.

One of our goals is now to design new representations of lighting coupled with the geometric representation. These representations of lighting need to be general enough so as to be easily extended when multiple physical phenomena should be simulated. Moreover, we want to be able to use these representations of lighting in the frame of real-time visualization. Our original approach to these problems consists in finding efficient function bases to represent the geometry and the physical attributes of the objects. We have first experimented this approach to the problem of image vectorization . We think that our dynamic function basis formulation is likely to lead to efficient light simulation algorithms. The originality is that the so-defined optimization algorithm solves for approximation and sampling all together. Developing such an algorithm is the main goal of our ERC GoodShapeproject.

After having introduced the
*geometry processing*and
*light simulation*scientific domains, we now present the principles that we use to design a common mathematical framework that can be applied to both domains. Early approaches to geometry
processing and light simulation were driven by a Signal Processing approach. In other words, the solution of the problem is obtained after applying a
*filtering scheme*multiple times. This is for instance the case of the mesh smoothing operator defined by Taubin in his pioneering work
. Recent approaches still
inherit from this background. Even if the general trend moves to Numerical Analysis, much work in geometry processing still studies the coefficients of the gradient of the objective function
*one by one*. This intrinsically refers to
*descent*methods (e.g., Gauss-Seidel), which are not the most efficient, and do not converge in general when applied to meshes larger than a certain size (in practice, the limit appears to
be around
10
^{4}facets).

In the approach we develop in the ALICEproject-team, geometry processing and light simulation are systematically restated as a (possibly non-linear and/or constrained) functional optimization problem. As a consequence, studying the properties of the minimum is easier: the minimizer of a multivariate function can be more easily characterized than the limit of multiple applications of a smoothing operator. This simple remark makes it possible to derive properties (existence and uniqueness of the minimum, injectivity of a parameterization, and independence to the mesh).

Besides helping to characterize the solution, restating the geometric problem as a numerical optimization problem has another benefit. It makes it possible to design efficient numerical optimization methods, instead of the iterative relaxations used in classic methods.

Richard Feynman (Nobel Prize in physics) mentions in his lectures that physical models are a “smoothed” version of reality. The global behavior and interaction of multiple particles is
captured by physical entities of a larger scale. According to Feynman, the striking similarities between equations governing various physical phenomena (e.g., Navier-Stokes in fluid dynamics
and Maxwell in electromagnetism) is an illusion that comes from the way the phenomena are modeled and represented by “smoothed” larger-scale values (i.e.,
*fluxes*in the case of fluids and electromagnetism). Note that those larger-scale values do not necessarily directly correspond to a physical intuition, they can reside in a more abstract
“computational” space. For instance, representing lighting by the coefficients of a finite element is a first step in this direction. More generally, our approach consists in trying to get rid
of the limits imposed by the classic view of the existing solution mechanisms. The traditional approaches are based on an intuition driven by the laws of physics. Instead of trying to mimic the
physical process, we try to restate the problem as an abstract numerical computation problem, on which more sophisticated methods can be applied (a plane flies like a bird, but it does not flap
its wings). We try to consider the problem from a computational point of view, and focus on the link between the numerical simulation process and the properties of the solution of the Rendering
Equation. Note also that the numerical computation problems yielded by our approach lie in a high-dimensional space (millions of variables). To ensure that our solutions scale-up to scientific
and industrial data from the real world, our strategy is to try to always use the best formalism and the best tool. The best formalism comprises Finite Elements theory, differential geometry,
topology, and the best tools comprise recent hardware, such as GPU (Graphic Processing Units), with the associated highly parallel algorithms. To implement our strategy, we develop algorithmic,
software and hardware architectures, and distribute these solutions in both open-source software (
Graphite) and industrial software (
Gocad,
DVIZ).

Besides developing new solutions for geometry processing and numerical light simulation, we aim at applying these solutions to real-size scientific and industrial problems. In this context, scientific visualization is our main applications domain. With the advances in acquisition techniques, the size of the data sets to be processed increases faster than Moore's law, and represents a scientific and technical challenge. To ensure that our processing and visualization algorithms scale-up, we develop a combination of algorithmic, software and hardware architectures. Namely, we are interested in hierarchical function bases, and in parallel computation on GPUs (graphic processing units).

Our developments in parallel processing and GPU programming permit our geometry processing and light simulation solutions to scale-up, and handle real-scale data from other research and industry domains. The following applications are developed within the MIS (Modelization, Interaction, Simulation) and AOC (Analysis, Optimization and Control) programs, which are supported by the “Contrat de Plan État-Région Lorraine”.

This application domain is led by the Gocadconsortium, created by Prof. Mallet, now headed by Guillaume Caumon. The consortium involves 48 universities and most of the major oil and gas companies. ALICEcontributes to Gocadwith numerical geometry and visualization algorithms for oil and gas engineering. The currently explored domains are complex and dynamic structural models construction, extremely large seismic volumes exploration, and drilling evaluation and planning. The solutions that we develop are transferred to the industry through Earth Decision Sciences. Several Ph.D. students are co-advised by researchers in GOCAD and ALICE.

Graphiteis a research platform for computer graphics, 3D modeling and numerical geometry. It comprises all the main research results of our “geometry processing” group. Data structures for cellular complexes, parameterization, multi-resolution analysis and numerical optimization are the main features of the software. Graphite is publicly available since October 2003. It is hosted by Inria GForge since September 2008 (1000 downloads in two months). Graphite is one of the common software platforms used in the frame of the European Network of Excellence AIMShape.

OpenNLis a standalone library for numerical optimization, especially well-suited to mesh processing. The API is inspired by the graphics API OpenGL, this makes the learning curve easy for computer graphics practitioners. The included demo program implements our LSCM mesh unwrapping method. It was integrated in Blenderby Brecht Van Lommel and others to create automatic texture mapping methods. More recently, they implemented our ABF++ method (developed in cooperation with University of British Columbia). It will shortly include the more recent linear ABF, that we developed in cooperation with Rhaleb Zayer (who was at that time with Max Planck Institute for Informatik). Our mesh unwrapping algorithms have now become the de-facto standard for mesh unwrapping in several industrial mesh modeling packages (including Maya, Silo, Catia). OpenNL is extended with two specialized modules :

CGAL parameterization package: this software library, developed in cooperation with Pierre Alliez and Laurent Saboret, is a CGALpackage for mesh parameterization. It includes a special, generic version of OpenNL, compatible with CGAL requirements of genericity.

Concurrent Number Cruncher: this software library extends OpenNL with parallel computing on the GPU, implemented using the CUDA API.

This year, we merged the GPU solver Concurrent Number Cruncherwith the main software trunk of OpenNLto have a single API for both solvers. We also extended the GPU solver to use the new functionalities of GPUs, that now support floating point numbers in double precision.

Intersurfis a plugin of the VMD (Visual Molecular Dynamics) software. VMD is developed by the Theoretical and Computational Biophysics Group at the Beckmann Institute at University of Illinois. The Intersurf plugin is released with the official version of VMD since the 1.8.3 release. It provides surfaces representing the interaction between two groups of atoms, and colors can be added to represent interaction forces between these groups of atoms. We plan to include in this package the new results obtained this year in molecular surface visualization by Matthieu Chavent.

Gocadis a 3D modeler dedicated to geosciences. It was developed by a consortium headed by Jean-Laurent Mallet, in the Nancy School of Geology. Gocad is now commercialized by Earth Decision Sciences(formerly T-Surf), a company which was initially a start-up company of the project-team. Gocad is used by all major oil companies (Total-Fina-Elf, ChevronTexaco, Petrobras, etc.), and has become a de facto standard in geo-modeling. Luc Buatois's work on GPU-based numerical solvers is now integrated in Gocad's grid generation software SKUA.

LibSL is a Simple library for graphics. Sylvain Lefebvre continued development of the LibSL graphics library (under CeCill-C licence, filed at the APP). LibSL is a toolbox for rapid prototyping of computer graphics algorithms, under both OpenGL, DirectX 9/10, Windows and Linux. The library is actively used in both the REVES / INRIA Sophia-Antipolis and the Alice / INRIA Nancy Grand-Est teams.

In the frame of project GOODSHAPE (ERC Starting Grant, ERC-StG-205693), we continued developping new algorithms for discretizing 3D objects with an optimum sampling. We generalized the
notion of Centroidal Voronoi Tesselation to the
L_{p}metric, and devised a fully automatic hex-dominant meshing algorithm
(Figure
). We filed a patent FR 10/02920
(filed 07/09/10). To efficiently compute the Voronoi diagrams used by the method, we developped efficient algorithms in 2D
and 3D
. We also proposed a new
segmentation method
.

We co-published a book on geometry processing and co-organized a SIGGRAPH course on spectral mesh processing .

We continued developping techniques for the easy creation of rich contents, based on combinations of data and a-priori knowledge. We proposed this year a technique for automatically generating textures of arbitrary size from a small set of images (Figure ) and filed a patent FR 10/02902 (filed 07/09/10). We also proposed techniques for instant texture synthesis “by numbers” , assisted texture management and proxy-guided texture synthesis (Figure ).

We also focused on lower-level aspects of texture generation / texturing, such as seamless U,V generation (Figure ). We improved our “gabor noise” primitive (developped last year with project REVES) and used it to develop new stylization methods , .

We published a state-of-the-art report on texture generation , and a tutorial on virtual texture mapping .

We continued the cooperation with the GOCAD Consortium on visualization and modeling for geosciences. We developped a new method for simulating fault networks , and conducted a user study to evaluate different techniques for visualizing geospatial uncertainties .

We developped new techniques to visualize the structure of smooth scalar fields (convection or diffusion phenomena for instance). To address this issue, we developed a filter that produces a derived scalar field where successive iso-values give thinner representations of the structure of the original data. Figure shows that compared with traditional volume rendering on a temperature scalar field (left) we are able to display more sharp and focused details of the plume (right) using the derived scalar field in the opacity transfer function.

This project is a collaboration between the ALICE / INRIA Nancy Grand-Est team and the Computer Graphics group of the Karlsruhe Institute of Technology (KIT). It is funded by INRIA Nancy Grand-Est for a 12 months period and serves as a first step in what we hope to become a continued collaboration between our teams. The goal of this project is to further explore an alternative representation for interactive modeling of shapes: Objects defined as the iso-value of a distance function, rather than defined by triangle meshes. While a lot of work has been already done in this area, the novelty of our approach is to consider all steps of image synthesis, from authoring to the final interactive on-screen rendering.

We work in cooperation with the Gocadgroup. The Ph.D. theses of N. Cherpeau, R. Merland and T. Viard are co-advised by the ENSG/Gocad (Nancy School of Geology) and ALICE. The goals are to develop new tools to visualize uncertainties (T. Viard), a modeling framework for complex geological objects with faults (N. Cherpeau) and 3D meshing tools for flow simulation (R. Merland, J. Pellerin).

The ANR SIMILAR-CITIES started late january 2009. This is a common project between INRIA, CSTB and the Alleorithmic compagny, on the theme of approximating urban texture procedurally.

The scientific objective of this proposal is to develop new deformation models, where the underlying mathematics (basis functions) is adaptively learned from acquisition, and thus have inherently a clear physical meaning. In this way, the simulation goes on par with the real deformation behavior. To address this goal the PhysiGrafix project which consists of (1) systematic tracking and reconstruction of a coarse representation of captured multi-view video deformation sequence; (2) problem reduction by encoding the physics in relevant deformation modes and elimination of irrelevant parameters (e.g. rigid body modes); (3) Adaption to refined reconstruction as well as to the addition of new footage of the same model or similar models. This research is motivated by real world applications, and in a broad scope touches upon disciplines such as virtual medicine, manufacturing and feature film industry.

Dmitry Sokolov is a member of the ANR project Moditere, on the modelisation of fractal objects. He co-advises the Ph.D. thesis of Sergei Podkorytov with Christophe Gentil (University of Bourgogne).

Project GoodShape(Numerical Geometric Abstraction: from bits to equations), funded by the European Research Council, involves several fundamental aspects of 3D modelling and computer graphics. GOODSHAPE is taking a new approach to the classic, essential problem of sampling, or the digital representation of objects in a computer. This new approach proposes to simultaneously consider the problem of approximating the solution of a partial differential equation and the optimal sampling problem. The proposed approach, based on the theory of numerical optimization, is likely to lead to new algorithms, more efficient than existing methods. Possible applications are envisioned in inverse engineering and oil exploration.

In the frame of the GOODSHAPE project, we cooperate with Hong-Kong university on Centroidal Voronoi Tesselations and their applications. Researchers and students from Nancy and Hong-Kong visit each other on a regular basis.

Sylvain Lefebvre started a collaboration with Gustavo Patow (researcher) and Ismael Garcia (PhD student) of Girona University, Spain, on the topic of dynamic tiletree; a method to progressively texture objects as they appear or are modified on screen.

S. Lefebvre was member of the program committee of ACM SIGGRAPH and I3D.

B. Lévy was member of the program committee of IEEE SMI, ACM/SIAM SPM, GMP and NORDIA.

S. Lefebvre was PC co-chair of Eurographics short papers.

B. Lévy was PC co-chair of ACM/EG Symposium on Geometry Processing.

B. Lévy is member of the editorial boards of Graphical Models (Elesvier) and Transactions on Visualization and Computer Graphics (IEEE).

B. Lévy and S. Lefebvre participated to 10 Ph.D. thesis committees and 1 habilitation thesis committee.

B. Lévy was coordinator for the evaluation of the INRIA theme “Interaction and visualization”.

B. Lévy is member of the executive committee of the INRIA Nancy Grand Est research center.

B. Lévy and S. Lefebvre were members of 3 “commission de specialiste” (hiring committee for assistant professor).

B. Lévy was member of the visiting committee for the AERES evaluation of the LIRIS laboratory (Lyon).

Members of the team attended ACM SIGGRAPH, EUROGRAPHICS workshop on rendering, ACM/EG SGP, VMV.

V. Nivoliers, S. Lefebvre and B. Levy gave several presentations and demonstrations for young students and for mathematics teachers.

team members gave several invited talks (SIGGRAPH Paris Chapter, Eurographics Italian Chapter, seminars of several labs, thematic days ...)

D. Sokolov teaches “Modeles de perception et raisonnement” M1 “Infographie”, M1 “Geometrie et representation dans l'espace”, L2+L3 “Logique et modeles de calcul”, M1 “Synthese d'images 3D”, M1 “Unité Bureautique et Communication électronique”, L1.

V. Nivoliers teaches AP2 (algorithmics and programming), UHP, L1: basics of algorithmics and programming (Ocaml), practicals, MI1 (mathematics for computer science), Esial, first year: introducing recursion and induction, boolean functions,and the basics of language theory.

S. Lefebvre and B. Lévy teach geometric modeling and computer graphics, ENSG (School of Geology - INPL)

S. Lefebvre and B. Levy participate to “Computer Graphics”, Ecole Centrale de Paris (organized by G. Drettakis).