Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

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

Abirami Vina

6 min 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 à detect 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 les modèles tels que 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é, classe les objets et affine les boîtes englobantes. Bien que cela puisse sembler intimidant, à la fin de cet article, vous comprendrez clairement comment fonctionne R-CNN et pourquoi il est si important. Jetons un coup d'œil !

Comment fonctionne R-CNN ?

Le processus de détection d'objets du modèle R-CNN implique trois étapes principales : la génération de propositions de régions, l'extraction de caractéristiques et la classification des objets tout en affinant leurs boîtes englobantes. Examinons chaque étape.

Fig 1. Fonctionnement de R-CNN.

Propositions de régions : l'épine dorsale de RCNN

Dans la première étape, le modèle R-CNN scanne l'image pour créer de nombreuses propositions de régions. Les propositions de régions sont des zones potentielles qui pourraient contenir des objets. Des méthodes comme 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 parties plus petites, puis en fusionnant celles qui sont similaires pour former des zones d'intérêt plus grandes. Ce processus se poursuit jusqu'à ce qu'environ 2 000 propositions de régions soient générées.

Fig 2. Fonctionnement de la recherche sélective.

Ces propositions de régions aident à identifier tous les emplacements possibles 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 équilibre la rigueur et l'efficacité du calcul.

Extraction de caractéristiques d'images : capture des détails

Étape suivante du processus de détection d'objets du modèle R-CNN : l'extraction de caractéristiques à partir des propositions de régions. Chaque proposition de région est redimensionnée à une taille uniforme attendue par le CNN (par exemple, 224x224 pixels). Le redimensionnement aide le CNN à traiter chaque proposition efficacement. 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 environnantes 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.

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

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

La troisième étape consiste à classify 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 de 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. Essentiellement, pour chaque catégorie d'objets, il existe un classificateur dédié qui vérifie chaque proposition de région pour cet objet spécifique.

Pendant l'entraînement, 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 à distinguer ces échantillons. La régression de la boîte englobante affine davantage la position et la taille des objets détectés en ajustant les boîtes englobantes initialement proposées pour mieux correspondre aux limites réelles de l'objet. Le modèle R-CNN peut identifier et localiser avec précision les objets en combinant la classification et la régression de la boîte englobante.

Fig 4. Un exemple de régression de boîte englobante. (source : towardsdatascience.com)

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

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 maximaleNMS 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é. 

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

Voici un aperçu des étapes du NMS:

  • 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 boîte suivante avec le score le plus élevé et se poursuit jusqu'à ce que toutes les boîtes 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 maximaleNMS pour ne conserver que les détections les plus précises.

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

R-CNN est un modèle phare dans l'histoire de la détection d'objets car 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 avaient du mal à équilibrer vitesse et précision. La méthode de R-CNN, qui consiste à 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 avec l'analyse basée sur les régions, R-CNN a établi une nouvelle norme dans le domaine et a ouvert des possibilités pour diverses applications concrètes.

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 detect et classify 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 à detect 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.

Fig 6. Détection de tumeurs cérébrales à l'aide de 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, detect 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, R-CNN présente certains inconvénients, comme une complexité de calcul élevée 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égion et des classifications en étapes distinctes peut entraîner une performance moins efficace.

Au fil des ans, divers 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 proposition de régions (RPN) pour rationaliser la génération de propositions, tandis que Mask R-CNN ajoute une segmentation au niveau des pixels pour des détections plus détaillées.

Fig 7. Comparaison de R-CNN, fast R-CNN, faster R-CNN et mask R-CNN.

À 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 englobantes et les probabilités de classe en un seul passage dans le réseau. Par exemple, le modèle Ultralytics YOLOv8 d'Ultralytics offre une précision et une rapidité accrues, ainsi que des fonctionnalités avancées pour de nombreuses tâches de vision par ordinateur.

Principaux points à retenir

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 de RCNN, sa contribution est une étape importante qu'il est important de ne pas oublier.

À mesure que la recherche se poursuit, nous verrons des modèles de détection d'objets encore meilleurs et plus rapides. Ces avancées amélioreront non seulement la façon dont les machines comprennent le monde, mais conduiront également à des progrès dans de nombreuses industries. L'avenir de la détection d'objets s'annonce passionnant !

Vous voulez continuer à explorer l'IA ? Faites partie de lacommunauté 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 l'avenir
de l'IA !

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

Démarrer gratuitement