My work mainly focuses on extracting information from photographs and videos. My goal is to obtain useful data for Computer Graphics, i.e. suitable for rendering new images. During my PhD with François Sillion at INRIA, I developed new solutions to image-based modeling, mainly shape reconstruction from image sequences and recovery of the 3D geometry of hair.
Since my post-doc at MIT with Frédo Durand, I am also interested in computational photography. I am looking at signal-processing techniques to apply them to digital photographs and videos. Compared to traditional film photography, this unveils a large spectrum of possibilities to modify and enhance the picture content. Conversely, photography-related applications raise specific issues such as user interaction and photorealism, and cast a new light upon known signal-processing methods.
I am now a researcher at Adobe Research where I pursue my research on computational photography and image-based modeling.
I am always happy to work with interns. If you are interested in doing an internship with me, here is what you need to know:
So far, I have been lucky to work with the following interns:
Here are my publications in chronological order. Some of them have inspired products. I also gave a few talks that give a broader view of my work.
Access by year: 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002.
Somewhere else: DBLP, Google Scholar.
Intrinsic Decompositions for Image Editing
Computer Graphics Forum (Eurographics'17 State of the Art Reports)
|
Consistent Video Filtering for Camera Arrays
Computer Graphics Forum (Proceedings of the Eurographics'17 conference)
|
Deep Joint Demosaicking and Denoising
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'16 conference)
|
Multi-View Inpainting for Image-Based Scene Editing and Rendering
Proceedings of the international conference on 3D Vision (3DV'16)
|
Automatic Portrait Segmentation for Image Stylization
Computer Graphics Forum (Proceedings of the Eurographics'16 conference)
|
Do-It-Yourself Lighting Design for Product Videography
Proceedings of the International Conference on Computational Photography (ICCP'16)
|
Automatic Photo Adjustment Using Deep Neural Networks
ACM Transactions on Graphics (May 2016, Vol. 35, No. 2)
|
Band-Sifting Decomposition for Image Based Material Editing
ACM Transactions on Graphics (October 2015, Vol. 34, No. 5)
|
Blind Video Temporal Consistency
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'15 conference)
|
Transform Recipes for Efficient Cloud Photo Enhancement
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'15 conference)
|
Predicting Range of Acceptable Photographic Tonal Adjustments
Proceedings of the International Conference on Computational Photography (ICCP'15)
|
Compiling High Performance Recursive Filters
Proceedings of the conference on High-Performance Graphics (HPG'15)
|
Texture Mapping Real-World Objects with Hydrographics
Proceedings of the Eurographics Symposium on Geometry Processing (SGP'15)
|
Helium: Lifting High-Performance Stencil Kernels from Stripped x86 Binaries to Halide DSL Code
Proceedings of the ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI'15)
|
Synthesis of Complex Image Appearance from Limited Exemplars
ACM Transactions on Graphics (Vol. 34, No. 2, February)
|
Local Laplacian Filters: Edge-aware Image Processing with a Laplacian Pyramid
Communications of the ACM (March 2015, Vol. 58, No. 3)
|
Interactive Intrinsic Video Editing
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'14 conference)
|
Fast Local Laplacian Filters: Theory and Applications
ACM Transactions on Graphics (August 2014, Vol. 33, No. 5)
|
Style Transfer for Headshot Portraits
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'14 conference)
|
Data-driven Hallucination for Different Times of Day from a Single Outdoor Photo
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'13 conference)
|
Example-based Video Color Grading
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'13 conference)
|
User-assisted Image Compositing for Photographic Lighting
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'13 conference)
|
Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines
Proceedings of the ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI'13)
|
Handling Noise in Single Image Deblurring using Directional Filters
Proceedings of the conference on Computer Vision and Pattern Recognition (CVPR'13)
|
Accurate Binary Image Selection from Inaccurate User Input
Computer Graphics Forum (Proceedings of the Eurographics'13 conference)
|
Error-tolerant Image Compositing
International Journal of Computer Vision (June 2013, Vol. 103, No. 2)
|
User-Guided White Balance for Mixed Lighting Conditions
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'12 conference)
|
Coherent Intrinsic Images from Photo Collections
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'12 conference)
|
Decoupling Algorithms from Schedules for Easy Optimization of Image Processing Pipelines
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'12 conference)
|
Multi-view Hair Capture using Orientation Fields
Proceedings of the conference on Computer Vision and Pattern Recognition (CVPR'12)
|
SimpleFlow: A Non-iterative, Sublinear Optical Flow Algorithm
Computer Graphics Forum (Proceedings of the Eurographics'12 conference)
|
Displacement Interpolation Using Lagrangian Mass Transport
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'11 conference)
|
6D Hands: Markerless Hand Tracking for Computer Aided Design
Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'11)
|
Practical Color-Based Motion Capture
Proceedings of the Symposium on Computer Animation (SCA'11)
|
Spatio-temporal Analysis for Parameterizing Animated Lines
Proceedings of the International Symposium on Non-Photorealistic Animation and Rendering (NPAR'11)
|
Local Laplacian Filters: Edge-aware Image Processing with a Laplacian Pyramid
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'11 conference)
|
Learning Photographic Global Tonal Adjustments with a Database of Input / Output Image Pairs
Proceedings of the conference on Computer Vision and Pattern Recognition (CVPR'11)
|
Blur Kernel Estimation using the Radon Transform
Proceedings of the conference on Computer Vision and Pattern Recognition (CVPR'11)
|
Modeling and Removing Spatially-Varying Optical Blur
Proceedings of the International Conference on Computional Photography (ICCP'11)
|
Display-aware Image Editing
Proceedings of the International Conference on Computional Photography (ICCP'11)
|
The Video Mesh: A Data Structure for Image-based Three-dimensional Video Editing
Proceedings of the International Conference on Computional Photography (ICCP'11)
|
Error-tolerant Image Compositing
Proceedings of the European Conference on Computer Vision (ECCV'10)
|
Bilateral Filtering: Theory and Applications
Foundations and Trends in Computer
Graphics and Vision
|
User-assisted Intrinsic Images
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia'09 conference)
|
Single Photo Estimation of Hair Appearance
Computer Graphics Forum (Proceedings of the Eurographics Symposium on Rendering '09)
|
A Visibility Algorithm for Converting 3D Meshes into Editable 2D Vector Graphics
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'09 conference)
|
QuickSelect: History-Based Selection Expansion
Proceedings of the Graphics Interface conference (GI'09)
|
A Fast Approximation of the Bilateral Filter using a Signal Processing Approach
International Journal of Computer
Vision (January 09, Vol. 81. No. 1)
|
Edge-preserving Smoothing and Mean-shift Segmentation of Video Streams
Processing of the European Conference on Computer Vision (ECCV'08)
|
Hair Photobooth: Geometric and Photometric Acquisition of Real Hairstyles
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'08 conference)
pdf (4.5MB) |
slides pdf (90 MB) |
slides ppt (16MB) |
zip with ppt and videos (105MB) |
zip demo videos (248MB)
|
Light Mixture Estimation for Spatially Varying White Balance
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'08 conference)
|
Real-time Edge-Aware Image Processing with the Bilateral Grid
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'07 conference)
|
A Topological Approach to Hierarchical Segmentation using Mean Shift
Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (CVPR'07)
|
Accurate and Scalable Surface Representation and Reconstruction from Images
IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI'07)
|
Two-scale Tone Management for Photographic Look
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'06 conference)
|
A Surface Reconstruction Method Using Global Graph Cut Optimization
International Journal on Computer Vision (IJCV'06)
|
A Fast Approximation of the Bilateral Filter using a Signal Processing Approach.
.
European Conference on Computer Vision (ECCV'06).
pdf (3MB) |
ps (9.5MB) |
ppt (2.7MB)
|
Progressive Surface Reconstruction from Images using
a Local Prior.
International Conference on Computer Vision (ICCV'05).
pdf (1.4MB) |
ps (22MB) |
gallery
|
Extraction of Three-dimensional Information from Images -- Application to Computer Graphics
Ph.D. thesis from Université Joseph Fourier (Grenoble, France) 2004
|
Capture of Hair Geometry from Multiple Images
ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH'04 conference)
|
Surface Reconstruction by Propagating 3D Stereo Data in Multiple 2D Images.
Proceedings of the European Conference on Computer Vision (ECCV'04).
pdf (0.8MB) |
more...
|
Lightweight Face Relighting
Proceedings of the Pacific Graphics conference (PG'03)
|
Dynamic Canvas for Non-Photorealistic Walkthroughs
Proceedings of the Graphics Interface conference (GI'03)
|
One Button to Make Photos Look Better
|
Beyond the Piece of Cardboard: Learning to Adjust Photographs
|
Methods for 3D Reconstruction from Multiple Images
|
Create Light from Image in Project Felix
|
Halide used in production
|
Real-Time Healing Brush and Patch Tool in Photoshop CC 2015
|
Auto Smart Tone in Photoshop Elements 12 and Premiere Elements 12
|
SimpleFlow in OpenCV
|
Healing Brush in Photoshop CC 2014 (Camera Raw 8) and Lightroom 5
|
Auto Adjust in Photoshop CS6
|
Smooth Edges in Photoshop CS6 (HDR Pro)
|
Image Adjustments in Photoshop CS6 (Camera Raw 7), Lightroom 4, and Revel
|
Photomerge Style Match in Photoshop Elements 9
|
HDR Pro in Photoshop CS5
|
Bilateral Filter in After Effects CS4
|
A Gentle Introduction to Bilateral Filtering and its Applications
Class at ACM SIGGRAPH'08
Tutorial at IEEE CVPR'08
Course at ACM SIGGRAPH'07
|
I have developed these packages to implement some of techniques exposed in my papers. They may help you to get your own implementation. Sample code is included in the documentation. You may need the basic tools to use some packages.
Basic tools | Array, vectors, colors, and so on. Needed by the other packages. |
---|---|
Min cut | Min-cut implementation for huge grid graphs (supports millions of nodes and vertices). Needs the basic tools. |
Filters | A set of 2D functions useful for image processing. Needs the basic tools. |
FFT | Convenient functions to use FFTW for image processing. Needs the basic tools. |
Fast bilateral filter Fast tone mapping |
Code is provided on our project webpage on fast bilateral filtering. |
Bilateral grid | Jiawen gives the code of SIGGRAPH'07 paper. |
Mean shift | Implementation of the algorithm described in our CVPR'07 article. |
Mean-Shift Segmentation and Morse Theory
|
Spherical Harmonics
|
PDE filters
|
Here is a collection of websites that I often use. If you do not know them, take some time to have look, you will not regret.
libQGLViewer | A wonderful OpenGL viewer |
---|---|
QT | GUI made easy |
FFTW | Fast Fourier Transform (1D or 2D, real or complex). The doc is not very clear but it is really fast. |
GSL | A set of scientific tools well documented and quickly usable |
Hoard | Speed up memory access |
ANN | Computes nearest neighbors in arbitrary dimensions. Well documented and easy to use. |
BruceLindbloom.com EasyRGB.com |
Good references about color spaces (including translation formulae) |
---|---|
WebFX PNG Behavior | A simple workaround to get transparent PNG correctly displayed even with IE6 (IE7 fixed the problem). |
Semantic Atlas | Graph approach for English-French, French-English and synonym dictionaries (this is a research project) |
MathWorld | Good reference for mathematical formulae |
Calibrated image sequences | Images and calibration matrices. My head is one of the data sets. I am a data set! |
These are some past projects (mostly undergrade and Masters assignments). They are written in French. I do not maintain any of these. However, code is provided and might be useful.
The 12-coin problem | How to solve a logical problem using stepwise entropy reduction. |
---|---|
An illustrated calendar | I enjoyed a Computer Art course. |
Mesh simplification | It follows a classical edge collapse strategy. |
Image denoising | A comparison between several PDE filters. |
Nelson did a Chinese painting of my name when I was an intern in Hong Kong. He used his virtual brush. He comments the painting on his webpage. |