Skip to content
Isabelle Eysseric edited this page Oct 9, 2022 · 32 revisions



Stage de recherche en segmentation sémantique d'images panoramiques.



Computer-Vision-Research-Project (GitHub)   •  Computer-Vision-Research-Project (Wiki)   •  LVSN (Laboratoire de recherche)   •  Institut intelligence et données (IID) (Institut de recherche)   •  Sentinelle Nord (Projet)   •  Groupe J-F Lalonde (Equipe)   •  iid-ulaval (Slack)   •  Photographie Algorithmique (Cours)

isabelleysseric (GitHub)   •  isabelleysseric.com (Portfolio)   •  isabelle-eysseric (LinkedIn)



Author: Isabelle Eysseric

Introduction

Les travaux de recherche de l’étudiant gradué consistait à capturer le plus d’information durant la prise de photos panoramiques afin d’entraîner un modèle à détecter l’information manquante.



Revue de litterature

Plusieurs articles scientifiques et articles de blogs ont été lu dans le domaine de la vision par ordinateur et plus précisément sur la tâche de segmentation sémantique afin de mieux comprendre les attentes du projet. Pour se faire, il a été nécessaire de se renseigner sur les types de segmentation sémantique et les techniques utilisées afin d’y parvenir. La segmentation sémantique étant une tâche de prédiction dense, c’est-à-dire que l’étiquette de chaque pixel est prédite dans l’image en sortie, l’usage de l’apprentissage en profondeur fut donc nécessaire. L’architecture des réseaux de neurones en U est couramment utilisée pour ce genre de problème.



Figure – Les types de segmentation.



Recherche d’algorithmes

Les différents réseaux de neurones pour le traitement des images ont été étudiés comme les Réseaux de Neurones Convolutifs (CNN) et ses variantes pour la segmentation, les R-CNN, Fast R-CNN, Mask R-CNN et Mesh R-CNN mais aussi les modèles Deeplab et HoHoNet.


À la suite de ça, deux modèles ont été retenus : Deeplab[23] qui est actuellement l’état de l’art pour la segmentation sémantique d’instance et le modèle HoHoNet[24] qui traite également les images de panoramas 360 degrés. La force du modèle Deeplab de Google est pour ses performances au niveau de la segmentation sur les images panoramiques tandis que celle pour le modèle HoHoNet est sur l’estimation de profondeur en plus de faire la segmentation sémantique sur les images panoramiques à haute résolution.



Figure – Architecture d’un réseau pour la segmentation sémantique.



Collecter des données

Pour commencer, le jeu de données de COCO Détection[25] fut téléchargé afin de tester le modèle Deeplab puis éventuellement celui de Matterport3D. Pour se faire, il a fallu se connecter au serveur du laboratoire et télécharger localement les données nécessaires à la tâche de segmentation puisque le jeu de données au complet était bien trop gros (1 TB). Le jeu de données de Stanford2D3D[26] est celui utilisé par le modèle HoHoNet. Éventuellement les données panoramiques du laboratoire LVSN ont été téléchargées afin de produire les résultats de segmentation et d’estimation de profondeur et de position.



Figure – Jeu de données de Matterport3D et COCO Détection.



Tester des algorithmes

Tout d’abord, l’étudiante testa le modèle Deeplab de Pytorch sur quelques images, puis sur le jeu de données COCO Détection. Pour se faire elle dû installer l’application de COCO afin de pouvoir lire les images avec leur annotations et les manipuler.


Par la suite, elle essaya de tester le jeu de données de Matterport3D mais la génération des masques pour chaque image ne put fonctionner. Elle rencontra quelques problèmes, essaya de les résoudre, de changer de stratégie pour finalement réaliser qu’il n’était pas possible de remplir cette tâche. Le manque de support pour Matterport3D et le langage obsolète utilisé (Lua[27]) par l’application ne permettait pas de réaliser en temps cette tâche.
N’ayant plus beaucoup de temps pour finir le mandat, il fut décidé de changer de jeu de données et de modèle afin de réaliser les tests sur les données du laboratoire. Le modèle HoHoNet avec le jeu de données Stanford2D3D fut sélectionné. Le modèle fut testé sur un échantillon de 50 images panoramiques du laboratoire LVSN puis finalement sur le jeu de données au complet, c’est-à-dire sur 2280 images panoramiques. Trois résultats pour chaque images furent produits, la segmentation sémantique, l’estimation de profondeur et celle de la position.


Figure – Les modèles DeeplabV3 de Pytorch et HoHoNet.



Résultats

Finalement l’étudiante réussit à trouver, tester et segmenter l’ensemble de données de panoramas du laboratoire de recherche LVSN. Ses résultats vont permettre de pouvoir décrire le contenu des scènes du jeu de données et comprendre l’impact de chaque élément sur l’aspect photopique et mélanopique de la lumière et éventuellement créer de meilleurs espaces de vie pour les gens qui travaillent et habitent dans le grand nord. Ultimement, le jeu de données calibré permettra d’apprendre à prédire ces mesures à partir d’une seule image.



Figure – Image originale avec les trois résultats.