Qu'est-ce que R-CNN ? Un aperçu rapide

Abirami Vina

6 minutes de lecture

7 juin 2024

Découvrez le RCNN et son impact sur la détection d'objets. Nous aborderons ses principaux composants, ses applications et son rôle dans l'avancement de techniques telles que le RCNN rapide et YOLO.

La détection d'objets est une tâche de vision par ordinateur qui permet de reconnaître et de localiser des objets dans des images ou des vidéos pour des applications telles que la conduite autonome, la surveillance et l'imagerie médicale. Les méthodes antérieures de détection d'objets, telles que le détecteur de Viola-Jones et l'histogramme des gradients orientés (HOG) avec les machines à vecteurs de support (SVM), reposaient sur des caractéristiques élaborées à la main et des fenêtres coulissantes. Ces méthodes avaient souvent du mal à détecter avec précision des objets dans des scènes complexes comportant plusieurs objets de formes et de tailles différentes.

Les réseaux neuronaux convolutionnels basés sur les régions (R-CNN) ont changé la façon dont nous abordons la détection d'objets. Il s'agit d'une étape importante dans l'histoire de la vision par ordinateur. Pour comprendre comment des modèles comme YOLOv8 ont vu le jour, il faut d'abord comprendre des modèles comme les R-CNN. 

Créée par Ross Girshick et son équipe, l'architecture du modèle R-CNN génère des propositions de régions, extrait des caractéristiques à l'aide d'un réseau neuronal convolutif (CNN) pré-entraîné, classifie les objets et affine les boîtes de délimitation. Cela peut sembler impressionnant, mais à la fin de cet article, vous comprendrez clairement comment fonctionne le R-CNN et pourquoi il a un tel impact. Jetons un coup d'œil !

Comment fonctionne le R-CNN ?

Le processus de détection d'objets du modèle R-CNN comporte trois étapes principales : la génération de propositions de régions, l'extraction de caractéristiques et la classification d'objets tout en affinant leurs boîtes de délimitation. Passons en revue chacune de ces étapes.

__wf_reserved_inherit
Fig. 1. Fonctionnement du R-CNN.

Propositions de régions : L'épine dorsale du RCNN

Dans un premier temps, le modèle R-CNN analyse l'image pour créer de nombreuses propositions de régions. Les propositions de régions sont des zones potentielles susceptibles de contenir des objets. Des méthodes telles que la recherche sélective sont utilisées pour examiner divers aspects de l'image, tels que la couleur, la texture et la forme, en la décomposant en différentes parties. La recherche sélective commence par diviser l'image en petites parties, puis fusionne les parties similaires pour former de plus grandes zones d'intérêt. Ce processus se poursuit jusqu'à ce qu'environ 2 000 propositions de régions soient générées.

__wf_reserved_inherit
Fig. 2. Comment fonctionne la recherche sélective.

Ces propositions de régions permettent d'identifier tous les endroits où un objet pourrait être présent. Dans les étapes suivantes, le modèle peut traiter efficacement les zones les plus pertinentes en se concentrant sur ces zones spécifiques plutôt que sur l'ensemble de l'image. L'utilisation de propositions de régions permet de concilier rigueur et efficacité de calcul.

Extraction des caractéristiques d'une image : Saisir les détails

L'étape suivante du processus de détection d'objets du modèle R-CNN consiste à extraire les caractéristiques des propositions de régions. Chaque proposition de région est redimensionnée à une taille cohérente attendue par le CNN (par exemple, 224x224 pixels). Le redimensionnement permet au CNN de traiter efficacement chaque proposition. Avant la déformation, la taille de chaque proposition de région est légèrement augmentée pour inclure 16 pixels de contexte supplémentaire autour de la région afin de fournir plus d'informations sur l'environnement pour une meilleure extraction des caractéristiques.

Une fois redimensionnées, ces propositions de régions sont introduites dans un CNN tel qu'AlexNet, qui est généralement pré-entraîné sur un grand ensemble de données tel qu'ImageNet. Le CNN traite chaque région pour extraire des vecteurs de caractéristiques à haute dimension qui capturent des détails importants tels que les bords, les textures et les motifs. Ces vecteurs de caractéristiques condensent les informations essentielles des régions. Ils transforment les données brutes de l'image en un format que le modèle peut utiliser pour une analyse plus approfondie. La classification et la localisation précises des objets dans les étapes suivantes dépendent de cette conversion cruciale des informations visuelles en données significatives.

__wf_reserved_inherit
Fig. 3. Extraction des caractéristiques d'une proposition de région à l'aide d'AlexNet.

Classification des objets : Identification des objets détectés

La troisième étape consiste à classer les objets dans ces régions. Il s'agit de déterminer la catégorie ou la classe de chaque objet trouvé dans les propositions. Les vecteurs de caractéristiques extraits sont ensuite soumis à un classificateur d'apprentissage automatique.

Dans le cas du R-CNN, les machines à vecteurs de support (SVM) sont couramment utilisées à cette fin. Chaque SVM est entraîné à reconnaître une classe d'objets spécifique en analysant les vecteurs de caractéristiques et en décidant si une région particulière contient une instance de cette classe. En fait, pour chaque catégorie d'objet, il existe un classificateur dédié qui vérifie chaque proposition de région pour cet objet spécifique.

Pendant la formation, les classificateurs reçoivent des données étiquetées avec des échantillons positifs et négatifs :

  • Échantillons positifs : Régions contenant l'objet cible.
  • Échantillons négatifs : Régions sans l'objet.

Les classificateurs apprennent à faire la distinction entre ces échantillons. La régression de la boîte englobante affine la position et la taille des objets détectés en ajustant les boîtes englobantes initialement proposées pour qu'elles correspondent mieux aux limites réelles des objets. Le modèle R-CNN peut identifier et localiser avec précision des objets en combinant la classification et la régression de la boîte englobante.

__wf_reserved_inherit
Fig. 4. Exemple de régression par boîte englobante. (source : towardsdatascience.com)

Tout mettre bout à bout : Affiner les détections avec le SGN

Après les étapes de classification et de régression des boîtes englobantes, le modèle génère souvent plusieurs boîtes englobantes qui se chevauchent pour le même objet. La suppression non maximale (NMS) est appliquée pour affiner ces détections, en conservant les boîtes les plus précises. Le modèle élimine les boîtes redondantes et se chevauchant en appliquant la NMS et ne conserve que les détections les plus sûres. 

Le NMS évalue les scores de confiance (indiquant la probabilité qu'un objet détecté soit réellement présent) de toutes les boîtes englobantes et supprime celles qui se chevauchent de manière significative avec des boîtes ayant un score plus élevé. 

__wf_reserved_inherit
Fig. 5. Exemple de suppression non maximale. (source:towardsdatascience.com)

Voici un aperçu des étapes du SGN :

  • Tri : Les boîtes englobantes sont triées par ordre décroissant de leur score de confiance.
  • Sélection : La boîte ayant le score le plus élevé est sélectionnée et toutes les boîtes qui se chevauchent de manière significative (sur la base de l'intersection sur l'union, IoU) avec elle sont supprimées.
  • Itération : Ce processus se répète pour la case suivante ayant obtenu le meilleur score et se poursuit jusqu'à ce que toutes les cases aient été traitées.

Pour résumer, le modèle R-CNN détecte les objets en générant des propositions de régions, en extrayant des caractéristiques à l'aide d'un CNN, en classant les objets et en affinant leur position à l'aide d'une régression de la boîte englobante, et en utilisant la suppression non maximale (NMS) pour ne conserver que les détections les plus précises.

Le R-CNN est une étape importante dans la détection d'objets

R-CNN est un modèle qui a fait date dans l'histoire de la détection d'objets parce qu'il a introduit une nouvelle approche qui a considérablement amélioré la précision et les performances. Avant R-CNN, les modèles de détection d'objets s'efforçaient d'équilibrer vitesse et précision. La méthode de R-CNN consistant à générer des propositions de régions et à utiliser des CNN pour l'extraction de caractéristiques permet une localisation et une identification précises des objets dans les images. 

R-CNN a ouvert la voie à des modèles tels que Fast R-CNN, Faster R-CNN et Mask R-CNN, qui ont encore amélioré l'efficacité et la précision. En combinant l'apprentissage profond et l'analyse régionale, R-CNN a établi une nouvelle norme dans le domaine et a ouvert des possibilités pour diverses applications dans le monde réel.

Transformer l'imagerie médicale avec R-CNN

L'imagerie médicale constitue un cas d'utilisation intéressant de R-CNN. Les modèles R-CNN ont été utilisés pour détecter et classer différents types de tumeurs, comme les tumeurs cérébrales, dans des scanners médicaux tels que les IRM et les tomodensitogrammes. L'utilisation du modèle R-CNN en imagerie médicale améliore la précision du diagnostic et aide les radiologues à identifier les tumeurs malignes à un stade précoce. La capacité du R-CNN à détecter des tumeurs même petites et à un stade précoce peut faire une différence significative dans le traitement et le pronostic de maladies telles que le cancer.

__wf_reserved_inherit
Fig. 6. Détection de tumeurs cérébrales à l'aide du RCNN.

Le modèle R-CNN peut être appliqué à d'autres tâches d'imagerie médicale en plus de la détection des tumeurs. Par exemple, il peut identifier les fractures, détecter les maladies de la rétine dans les scanners oculaires et analyser les images des poumons pour détecter des maladies telles que la pneumonie et le COVID-19. Quel que soit le problème médical, une détection précoce peut conduire à de meilleurs résultats pour le patient. En appliquant la précision du R-CNN à l'identification et à la localisation des anomalies, les prestataires de soins de santé peuvent améliorer la fiabilité et la rapidité des diagnostics médicaux. La détection d'objets simplifiant le processus de diagnostic, les patients peuvent bénéficier de plans de traitement opportuns et précis.

Les limites de R-CNN et ses successeurs

Bien qu'impressionnant, le R-CNN présente certains inconvénients, tels qu'une grande complexité de calcul et des temps d'inférence lents. Ces inconvénients rendent le modèle R-CNN inadapté aux applications en temps réel. La séparation des propositions de régions et des classifications en étapes distinctes peut conduire à des performances moins efficaces.

Au fil des ans, plusieurs modèles de détection d'objets ont été mis au point pour répondre à ces préoccupations. Fast R-CNN combine les propositions de régions et l'extraction de caractéristiques CNN en une seule étape, ce qui accélère le processus. Faster R-CNN introduit un réseau de propositions de régions (RPN) pour rationaliser la génération de propositions, tandis que Mask R-CNN ajoute une segmentation au niveau du pixel pour des détections plus détaillées.

__wf_reserved_inherit
Fig. 7. Comparaison entre R-CNN, R-CNN rapide, R-CNN plus rapide et R-CNN avec masque.

À peu près en même temps que Faster R-CNN, la série YOLO (You Only Look Once) a commencé à faire progresser la détection d'objets en temps réel. Les modèles YOLO prédisent les boîtes de délimitation et les probabilités de classe en un seul passage dans le réseau. Par exemple, le modèle Ultralytics YOLOv8 offre une précision et une vitesse accrues, ainsi que des fonctionnalités avancées pour de nombreuses tâches de vision par ordinateur.

Principaux enseignements

Le RCNN a changé la donne dans le domaine de la vision par ordinateur, en montrant comment l'apprentissage profond peut modifier la détection d'objets. Son succès a inspiré de nombreuses nouvelles idées dans ce domaine. Même si des modèles plus récents, tels que Faster R-CNN et YOLO, sont venus corriger les défauts du RCNN, sa contribution constitue une étape importante qu'il est important de garder à l'esprit.

Au fur et à mesure que la recherche se poursuit, nous verrons apparaître des modèles de détection d'objets encore plus performants et plus rapides. Ces avancées permettront non seulement d'améliorer la compréhension du monde par les machines, mais aussi de progresser dans de nombreux secteurs. L'avenir de la détection d'objets s'annonce passionnant !

Vous voulez continuer à explorer l'IA ? Faites partie de la communauté Ultralytics ! Explorez notre dépôt GitHub pour découvrir nos dernières innovations en matière d'intelligence artificielle. Découvrez nos solutions d'IA couvrant divers secteurs tels que l'agriculture et la fabrication. Rejoignez-nous pour apprendre et progresser !

Construisons ensemble le futur
de l'IA !

Commencez votre voyage avec l'avenir de l'apprentissage automatique

Commencer gratuitement
Lien copié dans le presse-papiers