Revenir au site

Ma première fois au SIGGRAPH

Par Olivier Leclerc

19 octobre 2020

- C'était ma première fois au SIGGRAPH, j'ai l'impression que l'expérience d'un SIGGRAPH virtuel était très différente de ce que j'aurais eu en personne, mais malgré tout, le contenu était au rendez-vous! J'ai écouté une foule de présentations, Talks, Q&A, Technical Papers, etc et j'en ai ressorti ceux qui m'ont marqué le plus.

Olivier Leclerc, programmeur R-D au CDRIN.

Consistent Video Depth Estimation

Exemple d'une carte de profondeur et d'un effet de réalité augmentée

Un premier papier très impressionnant, qui présente une méthode pour estimer la profondeur de tous les pixels à partir de seulement un vidéo ordinaire (pas de stéréo, ni de lumière structurée ou de capture de senseurs inertiels).

 

Leurs résultats sont particulièrement cohérents et logiques, et auront certainement des répercussions sur la qualité et le coût de ces cas d'usage :

  • Reconstruction 3D;
  • Effets de réalité augmentée;
  • Capture de mouvement.

Pour comparaison, voici le résultat d'une capture avec Kinect, qui est un senseur spécifiquement conçu pour ce besoin, et qui devait être acheté séparément en plus d'une console Xbox ou d'un ordinateur compatible :

Exemple d'une carte de profondeur provenant d'une Kinect

Le bruit y est plus présent, et certaines zones en noir sont manquantes, ce qui est difficile à traiter lorsqu'on veut utiliser les données pour des effets par la suite.

La nouvelle technique s'appuie sur la technique traditionnelle de structure from motion pour établir des contraintes géométriques sur les pixels où l'information est suffisamment cohérente, mais ajoute un réseau de neurones spécialement conçu pour extrapoler les informations manquantes de façon intelligente, tout en respectant les contraintes géométriques.

De plus, les chercheurs ont publié leur code. Bravo!

https://github.com/facebookresearch/consistent_depth

Computational Time-Resolved Imaging, Single-Photon Sensing, and Non-Line-of-Sight Imaging

Les chercheurs parviennent à reconstruire en 3D des objets que la caméra ne voit pas. Ça sonne comme de la magie :). C'est un cours qui m'a beaucoup impressionné, car je ne savais même pas que c'était possible et que les résultats pouvaient être bon à ce point.

En résumé, il s'agit d'un processus de scan de type LIDAR, donc ils envoient une impulsion de lumière très courte, et mesurent le temps que la réflexion prend pour revenir. De cette façon, on peut déterminer la distance d'un objet.

Dans cette recherche, ils décident plutôt d'ignorer le premier rebond de lumière pour s'intéresser aux rebonds subséquents, donc le reflet du reflet de la lumière. Ce faisant, ils arrivent à scanner un mur, mais à reconstruire ce que le mur reflète, chose que la caméra ne voit pas nécessairement.

Histogramme d'intensité d'un signal lumineux dans le temps

À gauche: photo de la scène montrant l'équipement optique, à droite: cube de voxels montrant la reconstruction

Les détails mathématiques sont un peu au-dessus de mon niveau de compréhension...

Équations complexes de propagation de la lumière et de transformée de Fourier

Bref, ils ont trouvé des optimisations qui permettent d'atteindre des résolutions d'images élevées, rapidement. Par exemple, ils peuvent faire une reconstruction 32x32x32 en une seconde.

Au niveau des applications, on peut imaginer que ça pourrait être intégré au LIDAR de voitures autonomes, afin de détecter une voiture qui s'approche cachée par un bâtiment.

Croquis à vue d'oiseau d'une voiture qui détecte une collision potentielle

Dynamic Graph CNN for Learning on Point Clouds

Une architecture de réseau de neurones est présentée, dans le but d'apprendre sur des nuages de points (donc des formes 3D). Le modèle fonctionne un peu comme un CNN, mais appliqué sur les arêtes dans l'entourage de chaque point (EdgeConv). Plus l'information remonte dans les couches, plus le niveau d'abstraction de la géométrie augmente, ce qui amène à interpréter le modèle. Ils l'appliquent avec succès pour faire de la classification et de la segmentation.

 

Je trouve que la technique est assez générique pour avoir des applications variées, et j'aimerais éventuellement tester à quel point elle est tolérante au bruit et aux aberrations, en l'utilisant avec des senseurs de profondeur.

Illustration du lien sémantique d'un point sélectionné dans une nuage de point représentant un avion. Démontre qu'en augmentant la couche du réseau de neurone, on monte dans les niveaux d'abstraction sémantique.

XNect: Real-time Multi-person 3D Motion Capture With a Single RGB Camera

https://gvv.mpi-inf.mpg.de/projects/XNect/

Un système précédent pour reconnaître le squelette de personnes dans un vidéo RGB ordinaire a été amélioré et optimisé de façon à calculer 30 images par secondes pour des images 512x320. Selon eux, l'innovation est au niveau de la rapidité du système.

Captures d'écran de multiples personnes dans diverses poses, avec un squelette schématisé superposé

Résumé de la technique :

"The first stage is a convolutional neural network (CNN) that estimates 2D and 3D pose features along with identity assignments for all visible joints of all individuals. We contribute a new architecture for this CNN, called SelecSLS Net, that uses novel selective long and short range skip connections to improve the information flow allowing for a drastically faster network without compromising accuracy. In the second stage, a fullyconnected neural network turns the possibly partial (on account of occlusion) 2D pose and 3D pose features for each subject into a complete 3D pose estimate per individual. The third stage applies space-time skeletal model fitting to the predicted 2D and 3D pose per subject to further reconcile the 2D and 3D pose, and enforce temporal coherence."

Diagramme de l'architecture des 3 stages du réseau de neurone

Une idée importante est au niveau de la sortie du Stage 1; la façon d'encoder les informations permet de mieux supporter les occlusions entre personnes. Si deux keypoints arrivent au même endroit, la matrice contient quand même l'information contextuelle, qui permet au Stage 2 de reconstruire la position du keypoint manquant.

Diagramme montrant la façon d'encoder l'information de plusieurs keypoints potentiellement superposés

Integrated Simulation and Visualization for Flood Management

Image de la simulation, dans un décor réaliste mais simplifié, on voit une grande rivière traversant une ville

Un beau survol de tous les problèmes rencontrés (et leurs solutions) pour implémenter une simulation réaliste du mouvement de l'eau lors d'une inondation.

  • La conservation du volume d'eau;
  • La transition de l'eau dans les cellules voisines;
  • La profondeur;
  • La direction du courant;
  • La quantité de bulles;
  • Le découpage précis autour des obstacles (alors que les cellules sont carrées).

Leur logiciel leur permet de modifier facilement le terrain, pour y ajouter des digues, des murets ou des bassins de rétention, pour voir comment une ville réagit à différents volumes d'eau.

Barrière courbée empêchant l'eau de passer, sur un sol de style papier quadrillé

Autres mentions spéciales
  • Making Machine Learning Work: From Ideas to Production Tool.
    Résumé de projets de ML internes d'entreprises, entre autre Ubisoft LaForge qui a utilisé l'apprentissage machine pour un moteur de recherche d'animations de capture de mouvement.
  • MEgATrack: Monochrome Egocentric Articulated Hand-Tracking for Virtual Reality.
    Processus de création du système de capture des mains comme ce que fait l'Oculus Quest. Leur "rig" de capture de ground-truth vaut le détour.
  • Présentation des "Intel Studios".
    Une immense salle de capture volumétrique pour la production d'effets spéciaux. La quantité d'informations et de calculs qui y sont faits est immense!
  • Discussion des méthodes de travail intégrant la VR/AR dans un contexte de formation et de maintenance industrielle.
  • Model Predictive Control With a Visuomotor System for Physics-based Character Animation.
    Ajout du contrôle de la direction du regard au modèle de mouvement; le personnage semble prendre vie de façon surprenante!
  • PolyFit: Perception-aligned Vectorization of Raster Clip-art via Intermediate Polygonal Fitting.
  • Technique intéressante pour l'agrandissement d'images vectorielles.