Mask R-CNN - Tout est expliqué

Mask R-CNN - Tout est expliqué

Dans le domaine de la vision par ordinateur, il existe différentes tâches, comme nous l'avons présenté dans notre précédent billet Segmentation vs Détection vs Classification en vision par ordinateur : Une analyse comparative. Comme expliqué dans l'article, il existe deux types de segmentation, la segmentation sémantique et la segmentation d'instance. Dans cet article, nous allons découvrir l'une des architectures les plus puissantes pour la segmentation d'instances, à savoir le R-CNN du masque.

Comprendre la segmentation des instances

La segmentation des instances va au-delà de la classification traditionnelle des images et de la détection des objets en fournissant une compréhension au niveau des pixels des objets dans une image. 

La segmentation des instances est en fait une combinaison de deux sous-problèmes : la détection des objets et la segmentation sémantique. Elle vise à différencier les instances individuelles d'objets et à délimiter leurs frontières avec précision. La boîte de délimitation est créée à partir de la détection d'images et les masques ombrés sont le résultat de la segmentation sémantique.

Ce niveau de granularité ouvre la voie à un large éventail d'applications, allant du comptage et du suivi des objets à la compréhension de leurs formes et de leurs interactions.

Exemple de segmentation d'une instance : https://blog.paperspace.com/

Aperçu de l'histoire de Mask R-CNN 

Introduit en 2014, R-CNN (Regions with Convolutional Neural Networks) est l'une des premières approches à utiliser les réseaux neuronaux convolutifs pour la détection d'objets. R-CNN fonctionne en trois étapes : 

  1. Générer des propositions de régions
  2. Extraction des caractéristiques de ces régions à l'aide de CNN pré-entraînés
  3. Classification des régions et ajustement des boîtes de délimitation. 

Cependant, en raison du traitement indépendant des régions proposées, le R-CNN est lent mais reste prometteur. 

Il a donné naissance un an plus tard à une version améliorée appelée Fast R-CNN, qui a considérablement accéléré le processus de détection d'objets par rapport au R-CNN. En effet, au lieu de classer indépendamment chaque région, il utilise un seul réseau convolutionnel pour extraire les caractéristiques de l'ensemble de l'image. 

  La même année, en 2015, Faster R-CNN est proposé, il introduit le concept de Réseau de Proposition de Région (RPN). Le RPN partage les caractéristiques du CNN avec le détecteur d'objets pour générer automatiquement des régions d'intérêt potentielles. Cette approche accélère encore le processus de génération de propositions de régions et améliore les performances de détection des objets.

   En 2017, Mask R-CNN, qui étend le succès de Faster R-CNN à la segmentation des instances, a été présenté. Mask R-CNN incorpore une tête de masque dans l'architecture Faster R-CNN pour générer des masques de segmentation au niveau du pixel pour chaque objet détecté. Cette approche permet d'effectuer la détection d'objets et la segmentation d'instances dans un seul réseau. Le R-CNN à masque est largement reconnu pour ses performances exceptionnelles en matière de détection d'objets et de segmentation d'instances.

Depuis l'introduction du R-CNN à masque, de nombreuses améliorations et variantes ont été proposées pour accroître sa vitesse et ses performances. Des architectures telles que EfficientDet et Cascade Mask R-CNN ont également été développées pour repousser les limites de la détection d'objets et de la segmentation d'instances. Cependant, le R-CNN à masque reste l'un des modèles les plus influents et les plus largement utilisés dans le domaine de la vision par ordinateur.

Processus étape par étape du R-CNN du masque pour la segmentation des instances

https://ars.els-cdn.com

Voyons maintenant le processus étape par étape du R-CNN de Mask pour la segmentation d'instances.

Étape 1 : Réseau dorsal

Le réseau dorsal est la première étape du masque R-CNN. Son rôle est de transformer l'image brute en une représentation riche de ses caractéristiques visuelles en extrayant les caractéristiques pertinentes de l'image d'entrée. L'épine dorsale se compose généralement de plusieurs couches convolutives, d'opérations de mise en commun et d'autres opérations non linéaires qui permettent de capturer des informations de bas niveau à haut niveau dans l'image. 

Étape 2 : Réseau de propositions régionales (RPN)

Grâce aux caractéristiques extraites par le réseau dorsal, le RPN analyse l'image et propose des régions d'objets potentiels à l'aide de boîtes d'ancrage prédéfinies. Ces boîtes d'ancrage ont des rapports d'aspect et des échelles différents et agissent comme des boîtes de délimitation potentielles autour des objets.

L'IPR attribue un score à chaque proposition de région indiquant sa ressemblance avec un objet réel. Un score d'objectivité élevé implique la présence probable d'un objet d'intérêt dans la région proposée, tandis qu'un score faible suggère que la région est probablement un arrière-plan ou qu'elle ne contient aucun objet pertinent.

Propositions des premières régions, https://github.com/matterport/Mask_RCNN

Étape 3 : Réseau pyramidal de caractéristiques (FPN)

Le R-CNN du masque incorpore un réseau de pyramides de caractéristiques pour relever le défi de la représentation des caractéristiques à plusieurs échelles. Le FPN construit une pyramide de caractéristiques en fusionnant les caractéristiques de différentes couches d'un réseau neuronal convolutionnel. Cette structure pyramidale fournit une représentation multi-échelle de l'image, avec des niveaux de caractéristiques à différentes résolutions spatiales.

Étape 4 : Alignement de la région d'intérêt (RdI)

Une fois la pyramide des caractéristiques créée par le FPN, les propositions de régions générées par le RPN sont utilisées pour extraire les caractéristiques de la région d'intérêt. C'est là que l'alignement des RdI entre en jeu. Au lieu d'utiliser l'opération traditionnelle de mise en commun des caractéristiques, qui peut entraîner des problèmes d'alignement imprécis, Mask R-CNN utilise RoI Align, qui emploie l'interpolation bilinéaire pour échantillonner les caractéristiques de la carte originale, ce qui permet un alignement précis des caractéristiques et une localisation précise des limites de l'objet.

Étape 5 : Classification et régression de la boîte englobante

Une fois les propositions de régions générées et alignées à l'aide de RoI Align, Mask R-CNN effectue la classification et la régression de la boîte englobante. Il fait passer les caractéristiques alignées par le RdI dans un réseau partagé entièrement connecté, qui prédit les probabilités de classe pour chaque région proposée. Le réseau régresse également les coordonnées des boîtes de délimitation afin d'affiner leurs positions et leurs tailles. Cette étape garantit une classification précise des objets et une localisation exacte.

https://github.com/matterport/Mask_RCNN

Étape 6 : Tête de masque et prédiction du masque

Le réseau de tête de masque est chargé de générer des masques au niveau des pixels pour chaque région d'objet détectée. Il prend en entrée les caractéristiques alignées sur le RdI et les fait passer par une série de couches convolutives et d'opérations de suréchantillonnage pour produire les masques de segmentation finaux. La branche de prédiction des masques, composée d'un classificateur de masques binaires, prédit si chaque pixel appartient au premier plan (objet) ou à l'arrière-plan. Le résultat est un masque haute résolution pour chaque instance d'objet, qui délimite avec précision les frontières de l'objet.

https://www.shuffleai.blog/

Étape 7 : Formation et inférence

Pour entraîner le Mask R-CNN, il faut disposer d'un vaste ensemble de données annotées, avec des masques au niveau des pixels pour chaque instance d'objet. Pendant la formation, le réseau est optimisé à l'aide d'une combinaison de fonctions de perte :

1. Perte de classification : garantit une classification précise des objets en comparant les probabilités de classe prédites avec les étiquettes de la vérité de terrain.

2. Perte par régression de la boîte englobante : Affine les coordonnées prédites de la boîte englobante pour qu'elles correspondent aux annotations de la vérité terrain.

3. Perte de segmentation des masques : compare les masques des instances prédites avec les masques de la vérité de terrain afin de guider le réseau dans la production de résultats de segmentation précis.

Pendant l'inférence, le R-CNN du masque applique le modèle entraîné à des images inédites, en effectuant des propositions de régions, une classification, une régression de la boîte englobante et une prédiction de masque d'une manière unifiée. Il en résulte une segmentation précise des instances, avec des objets clairement délimités et étiquetés dans l'image.

https://github.com/matterport/Mask_RCNN

Performances et applications :

Le modèle R-CNN est un outil précieux dans de nombreuses applications, notamment en raison de sa précision et de sa robustesse. Une segmentation précise des instances est essentielle dans des tâches telles que l'identification des piétons et des objets sur les routes pour les voitures autonomes, la segmentation précise des organes dans les images médicales, le suivi d'objets, la robotique et la réalité augmentée. 

Cependant, l'obtention d'une segmentation précise des instances pose un certain nombre de problèmes. Les objets peuvent avoir des formes complexes, des occlusions ou des limites qui se chevauchent, ce qui rend difficile une séparation précise. Les variations d'échelle, les conditions d'éclairage et l'orientation des objets ajoutent à la complexité. Les algorithmes de segmentation des instances doivent être robustes et capables de relever ces défis pour fournir des résultats fiables.

Conclusion

Mask R-CNN représente une avancée significative dans la réalisation d'une segmentation précise des instances. En étendant le cadre de Faster R-CNN et en incorporant la segmentation au niveau du pixel, Mask R-CNN a établi de nouvelles normes dans les tâches de détection et de segmentation d'objets. Sa polyvalence, sa précision et sa robustesse en font un outil puissant pour les professionnels de la vision par ordinateur, qu'il s'agisse de scientifiques des données, d'ingénieurs en apprentissage automatique ou de directeurs techniques. Au fur et à mesure que la vision par ordinateur progresse, nous pouvons nous attendre à de nouveaux perfectionnements et avancées dans les techniques de segmentation des instances, repoussant ainsi les limites de ce que les machines peuvent accomplir dans la compréhension des données visuelles.

Commencez à gérer vos données d'IA de la bonne façon.

Demander un essai gratuit

Recommandé pour vous :