Qu'est-ce que R-CNN ? Un aperçu rapide
Découvre RCNN et son impact sur la détection d'objets. Nous aborderons ses composants clés, ses applications et son rôle dans l'avancement de techniques comme Fast RCNN et YOLO.

La détection d'objets est une tâche de vision par ordinateur capable 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 anciennes méthodes de détection d'objets, telles que le détecteur Viola-Jones et les histogrammes de gradients orientés (HOG) associés aux machines à vecteurs de support (SVM), reposaient sur des caractéristiques conçues manuellement et des fenêtres glissantes. Ces méthodes peinaient souvent à détecter avec précision des objets dans des scènes complexes comportant plusieurs objets de formes et de tailles variées.
Les réseaux de neurones convolutifs basés sur les régions (R-CNN) ont transformé notre façon d'aborder 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, nous devons d'abord comprendre des modèles comme le 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 de neurones convolutif (CNN) pré-entraîné, classifie les objets et affine les boîtes englobantes. Bien que cela puisse paraître intimidant, à la fin de cet article, tu auras une compréhension claire du fonctionnement du R-CNN et de son impact majeur. Jetons-y un œil !
Link to this sectionComment fonctionne le 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. Parcourons chaque étape.

Fig 1. Comment fonctionne le R-CNN.
Link to this sectionPropositions de régions : l'épine dorsale du RCNN#
Lors de la première étape, 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 comme Selective Search 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. Selective Search commence par diviser l'image en plus petites parties, puis fusionne les zones 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.

Fig 2. Comment fonctionne Selective Search.
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'image entière. L'utilisation de propositions de régions permet d'équilibrer la minutie et l'efficacité computationnelle.
Link to this sectionExtraction de caractéristiques d'image : capturer les détails#
L'étape suivante du processus de détection d'objets du modèle R-CNN consiste à extraire des 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 aide le CNN à traiter chaque proposition efficacement. Avant la déformation, la taille de chaque proposition de région est légèrement agrandie pour inclure 16 pixels de contexte supplémentaire autour de la région, afin d'offrir plus d'informations environnantes pour une meilleure extraction de caractéristiques.
Une fois redimensionnées, ces propositions de régions sont transmises à un CNN comme AlexNet, généralement pré-entraîné sur un vaste ensemble de données comme ImageNet. Le CNN traite chaque région pour extraire des vecteurs de caractéristiques de 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 d'image brutes en un format que le modèle peut utiliser pour une analyse plus approfondie. La classification et la localisation précises des objets lors des étapes suivantes dépendent de cette conversion cruciale des informations visuelles en données significatives.

Fig 3. Extraire des caractéristiques d'une proposition de région en utilisant AlexNet.
Link to this sectionClassification d'objets : identifier les objets détectés#
La troisième étape consiste à classifier les objets au sein de ces régions. Cela signifie déterminer la catégorie ou la classe de chaque objet trouvé dans les propositions. Les vecteurs de caractéristiques extraits sont ensuite transmis à un classificateur de machine learning.
Dans le cas du R-CNN, les machines à vecteurs de support (SVM) sont couramment utilisées à cette fin. Chaque SVM est entraînée à reconnaître une classe d'objet 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'objet, il existe un classificateur dédié vérifiant 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 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 boîte englobante.

Fig 4. Un exemple de régression de boîte englobante. (source : towardsdatascience.com)
Link to this sectionMise en commun : affiner les détections avec NMS#
Après les étapes de classification et de régression de boîte englobante, 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 qui se chevauchent en appliquant NMS et ne conserve que les détections les plus fiables.
NMS fonctionne en évaluant les scores de confiance (indiquant la probabilité qu'un objet détecté soit réellement présent) de toutes les boîtes englobantes et en supprimant celles qui chevauchent de manière significative les boîtes ayant des scores plus élevés.

Fig 5. Un exemple de suppression non maximale. (source : towardsdatascience.com)
Voici une décomposition des étapes de NMS :
- Tri : les boîtes englobantes sont triées par leurs scores de confiance par ordre décroissant.
- Sélection : la boîte avec le score le plus élevé est sélectionnée, et toutes les boîtes qui la chevauchent de manière significative (basé sur l'Intersection sur Union, IoU) 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.
En résumé, le modèle R-CNN détecte les objets en générant des propositions de régions, en extrayant des caractéristiques avec un CNN, en classifiant les objets et en affinant leurs positions avec une régression de boîte englobante, et en utilisant la suppression non maximale (NMS) pour ne conserver que les détections les plus précises.
Link to this sectionLe R-CNN est une étape majeure dans la détection d'objets#
Le R-CNN est un modèle historique dans l'histoire de la détection d'objets car il a introduit une nouvelle approche qui a grandement amélioré la précision et les performances. Avant le R-CNN, les modèles de détection d'objets avaient du mal à équilibrer la vitesse et la précision. La méthode du 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.
Le R-CNN a ouvert la voie à des modèles comme Fast R-CNN, Faster R-CNN et Mask R-CNN, qui ont encore amélioré l'efficacité et la précision. En combinant le deep learning avec une analyse basée sur les régions, le R-CNN a établi une nouvelle norme dans le domaine et a ouvert des possibilités pour diverses applications réelles.
Link to this sectionTransformer l'imagerie médicale avec le R-CNN#
Un cas d'utilisation intéressant du R-CNN concerne l'imagerie médicale. Les modèles R-CNN ont été utilisés pour détecter et classifier différents types de tumeurs, comme les tumeurs cérébrales, dans des scanners médicaux tels que les IRM et les scanners CT. L'utilisation du modèle R-CNN en imagerie médicale améliore la précision du diagnostic et aide les radiologues à identifier les malignités à un stade précoce. La capacité du R-CNN à détecter même les petites tumeurs à un stade précoce peut faire une différence significative dans le traitement et le pronostic de maladies comme le cancer.

Fig 6. Détection de tumeurs cérébrales en utilisant le RCNN.
Le modèle R-CNN peut être appliqué à d'autres tâches d'imagerie médicale en plus de la détection de tumeurs. Par exemple, il peut identifier des fractures, détecter des maladies rétiniennes dans des examens oculaires et analyser des images pulmonaires pour des conditions telles que la pneumonie et la COVID-19. Quel que soit le problème médical, une détection précoce peut conduire à de meilleurs résultats pour les patients. En appliquant la précision du R-CNN dans 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. Avec la détection d'objets qui rationalise le processus de diagnostic, les patients peuvent bénéficier de plans de traitement opportuns et précis.
Link to this sectionLes limites du R-CNN et ses successeurs#
Bien qu'impressionnant, le R-CNN présente certains inconvénients, comme une grande complexité computationnelle 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 entraîner des performances moins efficaces.
Au fil des années, divers modèles de détection d'objets ont vu le jour 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, accélérant ainsi le processus. Faster R-CNN introduit un réseau de proposition de région (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.

Fig 7. Comparaison de R-CNN, Fast R-CNN, Faster R-CNN et Mask R-CNN.
À peu près au même moment 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 à travers le réseau. Par exemple, Ultralytics YOLOv8 offre une précision et une vitesse améliorées avec des fonctionnalités avancées pour de nombreuses tâches de vision par ordinateur.
Link to this sectionPoints clés#
Le RCNN a changé la donne en vision par ordinateur, en montrant comment le deep learning peut transformer la détection d'objets. Son succès a inspiré de nombreuses idées nouvelles dans le domaine. Même si des modèles plus récents comme Faster R-CNN et YOLO sont apparus pour corriger les défauts du RCNN, sa contribution constitue une étape énorme qu'il est important de garder en mémoire.
À mesure que la recherche progresse, 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 mèneront également à des progrès dans de nombreuses industries. L'avenir de la détection d'objets semble passionnant !
Tu veux continuer à explorer l'IA ? Rejoins la communauté Ultralytics ! Explore notre répertoire GitHub pour voir nos dernières innovations en intelligence artificielle. Découvre nos solutions d'IA couvrant divers secteurs comme l'agriculture et la fabrication. Rejoins-nous pour apprendre et progresser !






