My research focused on Rendering, wich is Image Synthesis. I work at the LIRIS laboratory in the team R3am. During my PhD, I had the opportunity to work with several people:

PhD

When you display a 3D object on a computer screen, we transform this 3D scene into a 2D image, which is a set of organized colored pixels. We call Rendering all the process that aims at finding the correct color to give those pixels. This is done by integrating all the light rays coming for every directions that the object's surface reflects back to the pixel, the whole being ponderated by a visibility function.

Unfortunately, a computer can not compute an integrand. We therefore have two possibilities to solve this issue:

  • We find an analytical expression to remove the integrand (statistic based strategy).
  • Numerically approximate the equation by taking random samples in the integration domain and approximating the integrand value using Monte Carlo methods.

Here we focused on numerical integration and sampling theory. Sampling is a fundamental part of numerical integration. A good sampler should generate points that cover the domain uniformly to prevent bias in the integration and, when used in Computer Graphics, the point set should not present any visible structure, otherwise this structure will appear as artifacts in the resulting image. Furthermore, a stochastic sampler should minimize the variance in integration to converge to a correct approximation using as few samples as possible. There exists many different samplers that we will regroup into two families:

  • Blue Noise samplers, that have a low integration variance while generating unstructured point sets. The issue with those samplers is that they are often slow to generate a pointset.
  • Low Discrepancy samplers, that minimize the variance in integration and are able to generate and enrich a point set very quickly. However, they present a lot of structural artifacts when used in Rendering.

Our first project was the realisation of a sampler who combines the blue noise and low discrepancy properties. This sampler works by swapping independently x and y coordinates of a low discrepancy set to match the spatial organisation of a target set, here stratified Blue Noise. This work was published at SIGGRAPH Asia 2016.

[GPC*16] Gafar, A., Perrier, H., Coeurjolly, D., Ostromoukhov, V., Guo, J., Yan, D., Huang, H., Deussen, O. Low Discrepancy Blue Noise Sampling. In ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2016).

Web page of the project

Slides of a presentation during the GT Rendu on the 16/02/2017 (in english)

Master's degree Internship

The GPU is a very useful component for parallelism. It is still limited due to it's hardware that very "rendering-oriented" but is becoming more and more programmable and, thanks to its parallelism, is able to run computations at a speed unmatched by any CPU. It juste requires that those computations are formulated in a way that fits the GPU hardware. This is what we did to compute curvature values on the surface of a digital object using the method of Integral Invariants. This method measures for each point of a digital surface the ratio between the volume of a sphere of radius R and the number of digital points that intersects this sphere.

The issue is that this computation is slow and that the chosen radius R has a major impact on the result. On the GPU, we can compute an approximated curvature for a radius R for every digital point in parallel, and therefore the curvature computation along with the rendering of the object can be done in real time. This lests us explore the parameter R easily to find the best parameter for an object before computing the exact curvature. We then do the exact computation on the GPU which is much faster than on the CPU (a few seconds instead of a few minutes) even though it's not real time.

[PCL*16] Perrier, H., Levallois, J., Coeurjolly, D., Farrugia, J.-P., Iehl, J.-C., Lachaud, J.-O., Interactive Curvature Tensor Visualization on Digital Surfaces. Discrete Geometry for Computer Imagery : 19th IAPR International Conference, DGCI 2016, Nantes, France, April 18-20, 2016.

The GIT repository of the project

top