Mask R-CNN est une architecture de Deep learning pour la segmentation d'instances, une tâche de vision par ordinateur qui combine la détection d'objets avec la segmentation au niveau des pixels. Elle étend le cadre de détection d'objets Faster R-CNN en ajoutant une branche parallèle pour prédire les masques de segmentation, permettant au modèle de localiser les objets avec des boîtes englobantes et de délimiter leurs limites exactes au niveau des pixels. Développée par des chercheurs de Facebook AI Research (désormais partie de Meta), Mask R-CNN a été introduite en 2017 et est devenue un modèle fondateur pour de nombreuses applications en aval dans la conduite autonome, l'imagerie médicale et la robotique.
L'architecture s'appuie directement sur Faster R-CNN, qui a lui-même évolué à partir des réseaux neuronaux convolutifs régionaux antérieurs. Faster R-CNN utilise un réseau de proposition de régions (RPN) pour générer des régions candidates d'objets, suivi d'une couche de mise en commun de régions d'intérêt (RoI) pour extraire des cartes de caractéristiques de taille fixe pour la classification et la régression des boîtes englobantes. Mask R-CNN remplace la mise en commun RoI par RoIAlign, une modification clé qui élimine les erreurs de quantification spatiale introduites par la mise en commun RoI. RoIAlign utilise l'interpolation bilinéaire pour calculer des valeurs exactes aux points échantillonnés, préservant les détails spatiaux fins essentiels pour une prédiction précise des masques. Ce changement permet à la branche de masques de fonctionner sur des cartes de caractéristiques alignées, améliorant considérablement la qualité de la segmentation.
La branche de masques elle-même est un petit réseau entièrement convolutif appliqué à chaque RoI, produisant un masque binaire pour chaque classe. Pendant l'entraînement, la fonction de perte combine la perte de classification, la perte de régression des boîtes englobantes et la perte d'entropie croisée binaire moyenne sur les prédictions de masques. Cette configuration d'apprentissage multitâche permet au modèle d'optimiser conjointement la détection et la segmentation, conduisant à des performances solides sur des références telles que le jeu de données COCO. Sur COCO test-dev, Mask R-CNN a atteint une précision moyenne de masque de 35,7 % et une précision moyenne de boîte englobante de 39,8 % au moment de sa publication, surpassant les méthodes de pointe antérieures.
Architecture et composants
Mask R-CNN se compose de plusieurs composants intégrés. Le réseau de base, généralement un ResNet ou ResNeXt, extrait des cartes de caractéristiques hiérarchiques de l'image d'entrée. Un réseau de pyramide de caractéristiques (FPN) peut être attaché au réseau de base pour améliorer la détection à différentes échelles en combinant des caractéristiques de basse résolution et sémantiquement fortes avec des caractéristiques de haute résolution et spatialement précises. Le RPN propose ensuite des régions candidates, qui sont traitées par RoIAlign pour produire des cartes de caractéristiques alignées. Ces caractéristiques alimentent deux têtes : une tête de classification et de régression des boîtes englobantes, et la tête de prédiction des masques. La tête de masques est appliquée indépendamment à chaque RoI, produisant un masque de taille 28x28 pixels par classe, qui est ensuite suréchantillonné à la taille originale du RoI pour la prédiction finale.
Entraînement et inférence
L'entraînement de Mask R-CNN suit une procédure en plusieurs étapes. Le modèle est généralement initialisé avec des poids pré-entraînés sur ImageNet pour le réseau de base. Pendant l'entraînement, les RoI positifs (ceux avec un chevauchement élevé avec les boîtes de vérité terrain) sont échantillonnés pour le calcul de la perte de masque. La branche de masques est entraînée uniquement sur les RoI positifs, tandis que les têtes de classification et de régression utilisent à la fois des échantillons positifs et négatifs. La perte globale est la somme des pertes individuelles, avec une pondération égale par défaut. L'inférence implique l'exécution du RPN, l'application de RoIAlign, puis le seuillage des masques prédits à 0,5 pour produire des segmentations binaires. La suppression non maximale est appliquée aux prédictions de boîtes englobantes pour éliminer les détections en double.
Impact et applications
Mask R-CNN a eu un impact significatif sur le domaine de la vision par ordinateur. Elle a fourni un cadre simple, flexible et précis pour la segmentation d'instances, devenant une référence standard pour les recherches ultérieures. Sa conception a influencé des modèles ultérieurs tels que Cascade Mask R-CNN et des approches hybrides combinant des transformeurs avec des réseaux de base convolutifs. En pratique, Mask R-CNN a été appliquée à l'analyse d'images médicales pour la segmentation des tumeurs, à la perception des véhicules autonomes pour identifier les piétons et les véhicules, et à la surveillance agricole pour compter les plantes. L'architecture a également servi de composant dans les pipelines de Generative AI, où des masques d'objets précis permettent une édition et une génération d'images contrôlées.
Limitations et extensions
Malgré son succès, Mask R-CNN présente des limitations connues. Elle est intensivement computationnelle, nécessitant des ressources GPU substantielles pour l'entraînement et l'inférence, ce qui peut être prohibitif pour des applications en temps réel. Le modèle a également du mal avec les objets fortement occlus et les petites instances, où les prédictions de masques peuvent être bruitées. Des extensions ont abordé ces problèmes : Mask Scoring R-CNN ajoute une tête de prédiction de l'IoU des masques pour améliorer la qualité des masques, et PointRend affine les bords des masques en utilisant une approche itérative basée sur des points. Des architectures plus récentes, telles que celles basées sur des décodeurs Transformer (architecture), ont depuis surpassé Mask R-CNN sur certaines références, mais le modèle reste largement utilisé en raison de sa maturité et de son écosystème étendu de poids pré-entraînés et de bibliothèques.
Relation avec d'autres méthodes
Mask R-CNN appartient à la famille plus large des méthodes basées sur les régions en vision par ordinateur, qui comprend également des modèles antérieurs comme R-CNN et Fast R-CNN. Elle contraste avec les détecteurs à une seule étape tels que YOLO et SSD, qui privilégient la vitesse à la précision. Dans le contexte de l'Artificial intelligence et de l'Machine learning, Mask R-CNN illustre la tendance vers l'apprentissage multitâche, où un seul Neural network gère plusieurs sorties liées. Son développement faisait partie d'une vague d'avancées en Deep learning au milieu des années 2010, parallèlement aux percées dans la recherche sur les Large language model, bien que les deux domaines aient divergé en application. Le code et les modèles pré-entraînés ont été publiés sous une licence open source, accélérant l'adoption tant dans le monde académique qu'industriel, y compris dans des entreprises comme Amazon Web Services et Google Cloud, qui proposent des services gérés pour exécuter de tels modèles.