Adrien Auclair homepage

fr

I'm a 3rd year Phd student at Paris Descartes university (lab CRIP5), supervised by Nicole Vincent and Laurent Cohen (lab Ceremade, University Paris Dauphine). My researches are concerning 3D reconstruction both from images and video. I'm also working on nearest neighbors algorithms in high dimensional spaces. For these topics, I developed several algorithms for GPU in CUDA.


3D Reconstruction 3D from images :

The developed method is based on active surface that deforms to approximate the actual object surface. Some results :
Input images Initial 3D Surface (visual hull) Final 3D Surface
 



3D cars reconstruction from video sequences :

We set up a fixed camera on a tripod and record a car moving in translation in front of it.
carmove car 3D
An image of a synthetic movie with some tracked points on it (using a 1D Lucas Kanade points tracker) The corresponding 3D car reconstruction
(points cloud is triangulated, retroprojected on an empty image with its bounding box)



An image from a real video sequence The 3D car (right part is obtained using symmetry)


Images indexing

In this project, a 160.000 images database is used. For a query image, one wants to know if the database contains similar images. A potential application is to detect copyright violation. Each search is achieved in less than 10 seconds.

The developed application returns its results as a web page. Here is an example of result :

Query Image Screenshot of the HTML results page

Images of our database have been grabbed randomely from the internet.


Publications


Curiculum vitae ( pdf ) : cv.pdf


Previous projects

( click on images for more details)

dea_en

 

 

View-point dependant surface simplification
Master thesis :  
The goal of this project was to develop an algorithm for computing the gravitationnal attraction of a mountain. The first step is to triangulate a numerical model of elevation. Then this surface is simplified by an algorithm that cancel the volumetric variation ( Lindstrom & Turk ).  This surface is then adapted depending of the position of the point where the attraction is computed. Triangles must be small and precise close to this point and can be coarser further away. This leads to the construction of a hierarchical description of the surface simplification. It is based on the algorithm : "Smooth View-Dependant Level Of Detail control" from Hughes Hoppe.
April-September 2004, IGN (National Institute Of Geography)

 

pfe_en

 

 

Automatic 3d surface segmentation
Master project : 
I developed an algorithm that is able to cut a 3d surface at its thicknesses. It is based on the 3d delaunay tetrahedrisation and the computation of the critical points of the distance functions.
Mars - August 2003, TOTAL

 

 

 


Personnal projects

click on images for more details )



  Water effect
This program first generates a random terrain. Then it adds water on it. Mountains and sky are reflected. Water is also transparent and pertubated by a wave model. These effects are coded in HLSL.

October 2004  [ download ] [ download MFC version ]
(Windows)
  Terrain generator
This program generates a random terrain, using a perlin noise. Two textures (grass and rocks) are then blended and applied on it, depending on the local elevation. Eventualy, a shadow from the mountains is simulated. (C++ code and VC6 project to download).

October 2004 [ download ]
(Windows)
  Perlin Noise texture generator
perlin noise can be used to generate random soft texture.
(C++ code and VC6 project to download)
October 2004 [ download ]
(Windows)
  HLSL Particles system
On this example, the room is illuminated by a light that is moving on a circle on the roof. Walls and floor are 
illuminated, and bump-mapped. On the center of the room is a particle system rendered using point sprites. All effects are done in HLSL.
 
(C++ code and VC6 project to download)
September 2004 [ download ]
(Windows)
  HLSL Shadow map
A torus is rotating on itself at the center of the room, with a light moving on the roof. All surfaces are bump-mapped. Then, the shadow of the torus is projected onto the floor. Algorithms are using HLSL.
(C++ code and VC6 project to download)
September 2004 [ download (exe) (source) ] (Windows)
  HLSL Bump Mapping
A bump mapping example using the programmable pipeline of Direct3D9.  Walls and floor are simple to bump-map. For the torus, one need to calculate the tangent space matrix.
Algorithms are using HLSL.
(C++ code and VC6 project to download)
September 2004 [ download (exe) (sources)]
(Windows)
 

Little 2D game  
The goal is to harvest a max of bonus as fast as possible. The player is followed by ennemy balls. He can use bombs, teleportals, holograms to defend himself. It make use of a BSP tree and the associated portals to apply an A* pathfinding algorithm. 
March 2004 [ download ]
(Windows)

     
 

Metaballs 3D

Using the famous marching-cube algorithm in real time to compute the isosurface of moving potential sources in 3D. Display is done using openGL.
October 2003 [ download ] (Linux)

     
  Metaballs 2D
Old school 2D effect.
October 2003 [ download ] (Linux)
     
  Full real-time wargame (Warcraft-like)
The IA allow the user to launch a game against the computer. Units from the computer will defend themselves, rebuild lost building, harvest gold and wood... This is achieved mostly by using final states machines for each unit. The UI allows the user to assign orders to a group of 10 units. Code size is around 15.000 lines in C++. The download has three missions of the game.
September - Décember 2002 [ download ]
(Windows)
     

 

Bump 2D

A fake normal of a grey image is computed using the image grey-level. And it is then used for computing a bump-mapping.
October 2000 [ download ] (Windows)

 


LINKS

Levenberg-Marquardt algorithm  MinPack C++ (BSD license) | levmar (GPL license)
Graphical librarires    OpenGL | DirectX | VTK | Coin3D
User interface libraries    QT | FLTK
geometrical computation libraries   GTS | CGAL | OpenMesh
Coding tools   CVS | Doxygen | Doxbar | KDevelop | NVIDIA tools
3D models   Stanford repository | The Stanford Bunny
Video games websites   Gamasutra | GameDev
Coding   STL | Design Patterns | Non-Software Examples of Software Design Patterns


Author :  Adrien Auclair  
email : adrien dot auclair at gmail dot com
Last update : 06/01/2008