Mask R-CNN - Expliqué

Mask R-CNN - Expliqué

En vision par ordinateur, différentes tâches existent comme présenté dans notre précédent article de blog 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 découvrirons l'une des architectures de segmentation d'instance les plus puissantes, qui est Mask R-CNN.

Comprendre la segmentation d'instances (Instance Segmentation)

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

La segmentation d'instances est en fait une combinaison de deux sous-problèmes : la détection d'objets et la segmentation sémantique. Il vise à différencier les instances individuelles d’objets et à délimiter avec précision leurs limites. Le cadre de délimitation est créé à partir de la détection d'image et les masques ombrés sont le résultat de la segmentation sémantique.

Ce niveau de granularité ouvre une large gamme d'applications, du comptage et du suivi d'objets à la compréhension des formes et des interactions des objets.

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

Un aperçu de l’histoire de Mask R-CNN

Introduit en 2014, R-CNN, Regions with Convolutional Neural Networks, a été l’une des premières approches à utiliser les réseaux de neurones convolutifs pour la détection d’objets. R-CNN fonctionne en trois étapes :

  1. Générer des propositions de région
  2. Extraire des fonctionnalités de ces régions à l'aide de CNN pré-entraînés
  3. Classer les régions et ajuster les cadres de délimitation.

Cependant, en raison du traitement indépendant des régions proposées, R-CNN était lent mais néanmoins prometteur.

Elle donna naissance un an plus tard à une version améliorée baptisée Fast R-CNN, lequel a considérablement accéléré le processus de détection d'objets par rapport à R-CNN. En effet, au lieu de classer indépendamment chaque région, il a utilisé un seul réseau convolutif pour extraire les caractéristiques de l’image entière.

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

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

Depuis l'introduction de Mask R-CNN, de nombreuses améliorations et variantes ont été proposées pour améliorer sa vitesse et ses performances. Des architectures comme 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, Mask R-CNN reste l’un des modèles les plus influents et les plus utilisés en computer vision.

La segmentation d’instances (instance segmentation) étape par étape avec Mask R-CNN

https://ars.els-cdn.com

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

Étape 1 : Backbone network

Le backbone network est la première étape de Mask 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 regroupement et d'autres opérations non linéaires qui permettent de capturer des informations du niveau bas au niveau élevé dans l'image.

Étape 2 : Region Proposal Network (RPN)

Grâce aux fonctionnalités extraites par le backbone network, le RPN scanne l'image et propose des régions d'objets potentielles à 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 englobantes potentielles autour des objets.

Le RPN attribue à chaque proposition de région une note 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 en arrière-plan ou ne contient aucun objet pertinent.

Propositions des Premières Régions, https://github.com/matterport/Mask_RCNN

Étape 3 : Feature Pyramid Network (FPN)

Mask R-CNN intègre un Feature Pyramid Network pour relever le défi de la représentation de fonctionnalités à plusieurs échelles. Le FPN construit une pyramide de fonctionnalités en fusionnant les fonctionnalités de différentes couches d'un réseau neuronal convolutif. 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 : Region of Interest (RoI)

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

Étape 5 : Classification et Régression des Bounding Box

Une fois les propositions de région générées et alignées à l'aide de RoI Align, Mask R-CNN effectue une classification et une régression du cadre de délimitation. Il transmet les fonctionnalités alignées sur le RoI via 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 bounding boxes pour affiner leurs positions et leurs tailles. Cette étape garantit une classification précise des objets et une localisation précise.

https://github.com/matterport/Mask_RCNN

Étape 6 : Mask Head et Mask Prediction

Le mask head network 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 la RoI et les transmet à travers 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 de masque, constituée d'un classificateur de masque binaire, 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, délimitant avec précision les limites de l’objet.

https://www.shuffleai.blog

Étape 7 : Entraînement et Inférence

Pour entraîner Mask R-CNN, un grand dataset annoté est requis, avec des masques au niveau des pixels pour chaque instance d'objet. Pendant l’entraînement, le réseau est optimisé à l'aide d'une combinaison de fonctions de perte :

1. Classification Loss : garantit une classification précise des objets en comparant les probabilités de classe prédites avec les labels de ground truth.

2. Bounding Box Regression Loss : affine les coordonnées de la boîte englobante prédites pour correspondre aux annotations de la ground truth.

3. Mask Segmentation Loss : compare les masques d'instance prédits avec les masques de ground truth pour guider le réseau dans la génération de résultats de segmentation précis.

Lors de l'inférence, le Mask R-CNN applique le modèle entraîné aux images invisibles, en effectuant des propositions de régions, une classification, une régression de bounding boxex et une prédiction de masque de manière unifiée. Le résultat est une instance segmentation précise, avec des objets clairement décrits et labélisés dans l'image.

https://github.com/matterport/Mask_RCNN

Performanceet Applications :

La précision et la robustesse du modèle R-CNN sont un outil précieux dans diverses applications, notamment en raison de sa précision et de sa robustesse. Une segmentation précise d'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 des objets, la robotique et la réalité augmentée.

Cependant, obtenir 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, de conditions d'éclairage et d'orientation des objets ajoutent à la complexité. Les algorithmes de segmentation d'instance 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 d'instances. En étendant le cadre Faster R-CNN et en incorporant la segmentation au niveau des pixels, Mask R-CNN a établi de nouvelles normes en matière de 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, des data scientists aux ingénieurs en machine learning en passant par les CTO. À mesure que la computer vision continue de progresser, nous pouvons nous attendre à de nouveaux raffinements et avancées dans les techniques de segmentation d'instances, repoussant les limites de ce que les machines peuvent réaliser en matière de compréhension des données visuelles.

Gérez vos données d'IA de la bonne manière

Obtenir un essai

Recommandé pour vous:

english language
EN
french language
FR