Matthieu Garrigues

PhD student in Computer Vision at U2IS, ENSTA-Paristech

matthi?u.garrigu?s@?nsta-parist?ch.fr

UIIS, ENSTA Paristech 828, Boulevard des Maréchaux 91762 Palaiseau Cedex, France

My research fields at the UIIS laboratory are mainly: - Real-time video processing - High performance computing - Low power and parallel processors

I am interested in designing algorithms able to process video at high framerate (>30 fps) using differents kind of processors: - multi-cores x86 CPU (with SSE or AVX extentions) - multi-cores ARM CPU (with NEON extentions) - Graphic processors

This web site contains information about my past and present works.

Video++, a C++14 high performance video and image processing library Video Extruder: A real-time semi dense point tracker

Matthieu Garrigues, Antoine Manzanera, Video++, a Modern Image and Video Processing C++ Framework. DASIP 2014 pdf

Matthieu Garrigues, Antoine Manzanera and Thierry Bernard, Video Extruder: a semi-dense point tracker for extracting beam of trajectories in real time. JRTIP pdf

Matthieu Garrigues and Antoine Manzanera, Real Time Semi-Dense Point Tracking, ICIAR 2012 pdf

Matthieu Garrigues and Antoine Manzanera, Exact and Approximate Median Splitting on Distributed Memory Machines, PDPTA 2012 pdf

Analyse des mouvements apparents dans un flux vidéo

EPITA, Mercredi 9 mai 2012

Présentation sur mes travaux sur l'analyse des mouvements apparents dans un flux vidéo. La primitive de base présentée dans un séminaire précédent permet le suivi temps réel (supérieur à 30 images par secondes) de plusieurs milliers de particules. Ces travaux nous ont permis de développer un framework générique facilitant l'analyse de scenes dynamiques prises de cameras fixes ou mobiles. Nous montrerons comment cette brique logicielle a été utilisée dans deux exemples d'applications: L'extraction des plans principaux et l'estimation de la profondeur dans un système mono-caméra. Le suivi de particules a été implémenté sur processeurs graphiques avec le framework CUDA, et sur CPU-multicoeurs avec OpenMP. Nous expliqueront comment C++ a été utilisé pour factoriser un maximum de code entre ces deux implémentations.

Slides

Traitement d'images sur processeur graphique avec CUDA et C++

EPITA, Mercredi 15 juin 2011

Conçus à l'origine pour le rendu 2D et 3D, les processeurs graphiques (GPU) peuvent aujourd'hui être considérés comme des processeurs génériques massivement parallèles. Mais ce parallélisme impose des contraintes sur les algorithmes implantés et les types de données utilisés. D'autre part, le bus de communication entre le processeur central (CPU) et le GPU peut être un goulot d'étranglement. Ce séminaire débutera par un aperçu des avantages et inconvénients de la programmation GPU, puis je présenterai l'implantation d'un algorithme temps réel de suivi de points dans une vidéo. Je terminerai par l’introduction de deux petites boîtes à outils : Cuimg et Dige. Cuimg utilise C++ pour simplifier l'écriture d'algorithmes de traitement d'images avec CUDA, tandis que Dige, basée sur le framework Qt, permet le prototypage rapide d'interfaces graphiques.

Slides

Parallel ordering for exact and approximate median splitting

ENSTA-ParisTech, 1er février 2010

Median filtering has been widely used in computer vision, especially for image denoising. Compared to mean filtering, it preserves contours but it is less trivial to implement. I will present in this seminar some ideas about a new way to compute the exact or approximate median. The goal of our algorithm is to take advantage of the emerging massively parallel architectures like graphic processor units (GPUs).

Slides