Summary
Seasoned software engineer and researcher with 15+ years of experience in machine learning, computer vision and scalable systems (emphasizing on robustness and correctness of solutions). Passionate about automation, understanding intelligence, tackling challenging tasks, and learning through hands-on approaches.
Working Experience
2021 – now
Machine Learning Engineer & Researcher
Meta (FAIR)
- Published (c.f. publications section)
- SiLK, a simple and principled approach to learn keypoints
- State-of-the-art performance
- First author and sole developer (https://github.com/facebookresearch/silk)
- ICON, a method to obtain Nerf model from unposed video frames
- Contributed to the confidence-based scheme (original idea + formulation)
- Aden, a method to recover camera poses from sparse views
- Contributed to the probabilistic formulation and baselines
- Lead Engineer of Lidra
- Internal codebase to train models at scale (model sharding, distributed training, low-precision training, etc)
- Bootstrapped from the ground up (existing codebase was chaotic and poorly designed), single-handledly
- Used for training early Kata model (VLM, later renamed Perceptionlm) and 3Dfy (image-to-3D) model (current work)
- Generic design to help researchers experiment quickly and reliably
- Implemented all difficult and critical components (diffusion, flow-matching, ODE solver, etc)
- Engineering Lead & Support
- Teach engineering principles and good practices of a regular basis
- Set technical rules to increase team synergy and velocity (i.e. to make sure researchers can work together effectively)
- Fix hard bugs to unblock teammates
- Invented novel keypoint tracking technique (probabilistic, occlusion-robust, no training required) with good early signal, but got killed during re-org (sad)
- Mentored interns and junior developers
2018 – 2021
Machine Learning Engineer & Researcher
Eluvio
- Designed, developed and integrated multiple technologies in the Fabric (decentralized platform)
- Novel super-resolution algorithm
- Fast and low memory footprint (only 90k parameters)
- State-of-the-art results
- Used by Metro-Goldwyn-Mayer to remaster old movies & series
- Speech-to-text model
- Implemented from scratch, from SOTA paper (unreleased code)
- Used for auto-captioning videos on the platform
- LLM (Large Language Model) also implemented and trained to improve captionning
- Bridge between the Fabric (Golang) and machine learning models (Python)
- Brought machine learning capabilities to the Fabric
- Generic design became standard for all models (mine as well as other's)
- Used jRPC interprocess communication and LXC containers
- Text-based search engine and crawler
- Enabled clients to search accross their entire private multimedia libraries
- Highly requested and critical feature (serves retail customers directly)
- Simple and effective statistical content routing (i.e. select best node path to serve)
- Distributed JSON-based database + query language (for schemaless metadata query)
- Mentored juniors researchers / engineers and interns
2010 – 2018
Machine Learning Engineer & Researcher
Apple Inc
- Worked on multiple non disclosed projects (protected under Apple NDA)
- Focus on computer vision (detection, recognition, segmentation, tracking, etc) and machine learning (classification, clustering, ranking, metric learning, matching, deep learning, etc)
- Full, solo development from prototype to production (integration in iPhone, iPad, Mac)
- Responsible for multiple technological innovations (sadly kept private)
- Built internal tools (out of necessity)
- Web-based (data annotation, interactive demo, result visualization)
- Mini computing farm (using docker swarm on unused hardware)
- Mentored interns
2009 – 2010
Apprentice in Machine Learning & Computer Vision
Polar Rose
- Developed face detector from scratch (viola-jones like, in C++)
- Improved its speed, accuracy and design
- Distributed learning on Amazon EC2 (MPI HPC)
- Technology was a key factor for Apple's acquisition of Polar Rose in 2010
Publications
-
Aden: Adaptive density representations for sparse-view camera pose estimation (paper) ECCV 2024 (oral)
Skills
linear classification & regression (pca, linear svm, etc)
boosting
decision trees & random forest
clustering (hierarchical, k-means, ...)
generative model (auto-regressive, gan, vae, diffusion, flow-matching,
etc)
deep learning (convnet, transformer, autoencoder, resnet, etc)
metric learning
contrastive learning
large language model (LLM)
image features (hog, haar, gabor, ...)
image transforms (fourier, hough, ...)
tracking
keypoints
projective geometry (3D)
detection, recognition, segmentation
programming (python, c++, rust, web)
common data structures (trees, graph, hmap, etc)
databases (postgresql, cassandra, mongodb, etc)
multi-threading/process development
scientific frameworks (numpy, scipy, jupyter, etc)
3d (opengl, godot)
distributed infrastructure (ipxe, docker, mpi, nats, coreos)
numerical & learning (pytorch, jax, tensorflow, etc)
Education
2007 – 2010
Ecole Polytechnique Universitaire – FR
Dual M.S. computer science & signal processing
- Specialization in mathematics & statistics
2006 – 2007
Université d’Avignon – FR
B.S. computer science
- Specialization in mathematics
2004 – 2006
Université d’Avignon – FR
Post-secondary preparatory school (preparing to the French Grandes Ecoles)
- Focus on mathematics, physics, chemistry, computer science and english
Strengths
scientist
Analytical. Fluency in mathematics.
creative
Idea hamster (80% useful, 19% interesting, 1% what the hell?).
programmer
Started at 13 years old, never took a break since.
curious
Mostly in anything related to science.
tenacious
Not understanding something is not an option.
self-taught
80% of what I know came from my own research.