Qu’est-ce que R-CNN ? Présentation rapide
Découvre le fonctionnement de R-CNN, de la recherche sélective et de l’extraction de caractéristiques par CNN à la classification par SVM et à la NMS, et comment R-CNN a ouvert la voie à Fast R-CNN et YOLO.
Abirami Vina9 min de lecture
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 comme la conduite autonome, la surveillance et l’imagerie médicale. Les premières méthodes de détection d’objets, comme le détecteur de Viola-Jones et l’histogramme des gradients orientés (HOG) associé 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 les objets dans les scènes complexes contenant plusieurs objets de formes et de tailles variées.
Les réseaux neuronaux convolutifs basés sur des régions (R-CNN) ont changé notre approche de la détection d’objets. Ils représentent une étape importante dans l’histoire de la vision par ordinateur. Pour comprendre comment des modèles comme Ultralytics YOLOv8 ont vu le jour, nous devons d’abord comprendre des modèles comme 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. Cela peut sembler intimidant, mais à la fin de cet article, tu comprendras clairement le fonctionnement de R-CNN et son importance.
Comment fonctionne R-CNN ?#
Le processus de détection d’objets du modèle R-CNN comprend trois étapes principales : générer des propositions de régions, extraire des caractéristiques et classer les objets tout en affinant leurs boîtes englobantes. Passons en revue chaque étape.

Fig. 1. Fonctionnement de R-CNN.
Propositions de régions : le fondement de R-CNN#
Lors de la première étape, le modèle R-CNN parcourt l’image pour créer de nombreuses propositions de régions. Ces propositions correspondent à des zones susceptibles de contenir des objets. Des méthodes comme Selective Search examinent différents aspects de l’image, tels que la couleur, la texture et la forme, puis la divisent en plusieurs parties. Selective Search commence par découper l’image en petites parties, puis fusionne les parties similaires pour former des zones d’intérêt plus grandes. Le processus se poursuit jusqu’à la génération d’environ 2 000 propositions de régions.

Fig. 2. Fonctionnement de Selective Search.
Ces propositions de régions permettent d’identifier tous les endroits possibles où un objet pourrait se trouver. Lors des étapes suivantes, le modèle peut traiter efficacement les zones les plus pertinentes en se concentrant sur ces régions spécifiques plutôt que sur l’image entière. Les propositions de régions permettent de concilier exhaustivité et efficacité computationnelle.
Extraction des caractéristiques de l’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 est redimensionnée à une taille uniforme attendue par le CNN (par exemple, 224x224 pixels). Le redimensionnement aide le CNN à traiter efficacement chaque proposition. Avant la déformation, chaque proposition de région est légèrement agrandie pour inclure 16 pixels de contexte supplémentaire autour de la région et fournir davantage d’informations environnantes pour une meilleure extraction des 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 grand jeu de données comme ImageNet. Le CNN traite chaque région pour en extraire des vecteurs de caractéristiques de grande dimension qui capturent des détails importants tels que les contours, 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 poussée. La conversion des informations visuelles en données pertinentes est essentielle pour classer et localiser précisément les objets aux étapes suivantes.

Fig. 3. Extraire les caractéristiques d’une proposition de région à l’aide d’AlexNet.
Classification des objets : identifier les 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 repéré dans les propositions. Les vecteurs de caractéristiques extraits sont ensuite transmis à un classificateur d’apprentissage automatique.
Dans 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 précise en analysant les vecteurs de caractéristiques et en déterminant si une région donnée contient une instance de cette classe. En pratique, chaque catégorie d’objets dispose d’un classificateur dédié qui vérifie la présence de l’objet correspondant dans chaque proposition de région.
Pendant l’entraînement, les classificateurs reçoivent des données étiquetées comportant des échantillons positifs et négatifs :
- Échantillons positifs : régions contenant l’objet cible.
- Échantillons négatifs : régions ne contenant pas l’objet.
Les classificateurs apprennent à distinguer ces échantillons. La régression des boîtes englobantes affine davantage la position et la taille des objets détectés en ajustant les boîtes initialement proposées pour mieux correspondre aux contours réels des objets. En combinant la classification et la régression des boîtes englobantes, le modèle R-CNN peut identifier et localiser précisément les objets.

Fig. 4. Exemple de régression de boîte englobante. (source : towardsdatascience.com)
Assembler les éléments : affiner les détections avec 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 un 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 chevauchantes en appliquant la NMS et ne conserve que les détections les plus fiables.
NMS évalue les scores de confiance de toutes les boîtes englobantes (qui indiquent la probabilité qu’un objet détecté soit effectivement présent) et supprime celles qui chevauchent fortement des boîtes ayant obtenu un score plus élevé.

Fig. 5. Exemple de suppression non maximale. (source : towardsdatascience.com)
Voici les différentes étapes de NMS :
- Tri : Les boîtes englobantes sont triées par ordre décroissant de 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 fortement avec elle (selon l’intersection sur l’union, IoU) sont supprimées.
- Itération : Le processus est répété pour la boîte suivante ayant 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 à l’aide d’un CNN, en classant les objets et en affinant leur position par régression des boîtes englobantes, puis en utilisant la NMS pour ne conserver que les détections les plus précises.
R-CNN, une étape marquante de la détection d’objets#
R-CNN est un modèle historique dans le domaine 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 peinaient à concilier vitesse et précision. La méthode de R-CNN, qui génère des propositions de régions et utilise des CNN pour extraire les caractéristiques, permet de localiser et d’identifier précisément les objets dans les images.
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 associant l’apprentissage profond à l’analyse par régions, R-CNN a établi une nouvelle référence dans ce domaine et ouvert la voie à diverses applications concrètes.
Transformer l’imagerie médicale avec R-CNN#
Un cas d’utilisation intéressant de R-CNN concerne l’imagerie médicale. Des modèles R-CNN ont été utilisés pour détecter et classer différents types de tumeurs, comme les tumeurs cérébrales, sur des examens médicaux tels que des IRM et des scanners. L’utilisation du modèle R-CNN en imagerie médicale améliore la précision diagnostique et aide les radiologues à repérer les tumeurs malignes à un stade précoce. La capacité de R-CNN à détecter même de petites tumeurs à un stade précoce peut faire une grande différence dans le traitement et le pronostic de maladies comme le cancer.

Fig. 6. Détection de tumeurs cérébrales à l’aide de R-CNN.
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 des fractures, détecter des maladies rétiniennes sur des examens oculaires et analyser des images pulmonaires pour repérer des affections comme la pneumonie et la COVID-19. Quel que soit le problème médical, une détection précoce peut mener à de meilleurs résultats pour les patients. Grâce à la précision de R-CNN pour identifier et localiser les anomalies, les professionnels de la santé peuvent améliorer la fiabilité et la rapidité des diagnostics médicaux. La détection d’objets simplifie le processus de diagnostic, ce qui permet aux patients de bénéficier de plans de traitement rapides et précis.
Les limites de R-CNN et ses successeurs#
Malgré ses qualités, R-CNN présente certains inconvénients, comme une grande complexité computationnelle et des temps d’inférence longs. Ces limites rendent le modèle R-CNN inadapté aux applications en temps réel. La séparation de la génération des propositions de régions et de la classification en étapes distinctes peut réduire l’efficacité des performances.
Au fil des ans, plusieurs modèles de détection d’objets ont été conçus pour répondre à ces problèmes. Fast R-CNN exécute le CNN une seule fois sur l’image entière, puis extrait les caractéristiques de chaque région proposée à partir de cette carte de caractéristiques partagée, ce qui accélère le processus. Faster R-CNN ajoute un réseau de proposition de régions (RPN) pour rationaliser la génération des propositions, tandis que Mask R-CNN ajoute une segmentation au niveau des pixels pour obtenir 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 à la même époque 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, Ultralytics YOLOv8 offre une précision et une vitesse améliorées grâce à des fonctionnalités avancées pour de nombreuses tâches de vision par ordinateur. Des modèles plus récents comme Ultralytics YOLO26 vont encore plus loin en supprimant entièrement la NMS.
Points clés à retenir#
R-CNN a marqué un tournant en vision par ordinateur en montrant comment l’apprentissage profond pouvait transformer 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 comme Faster R-CNN et YOLO ont depuis corrigé les défauts de R-CNN, sa contribution reste une avancée majeure qu’il est important de retenir.
À mesure que la recherche progresse, nous verrons apparaître des modèles de détection d’objets encore meilleurs et plus rapides. Ces avancées amélioreront non seulement la compréhension du monde par les machines, mais feront aussi progresser de nombreux secteurs.
Tu veux continuer à explorer l’IA ? Rejoins la communauté Ultralytics ! Consulte notre dépôt GitHub pour découvrir nos dernières innovations en intelligence artificielle. Découvre nos solutions d’IA dans différents secteurs, comme l’agriculture et le secteur manufacturier. Rejoins-nous pour apprendre et faire avancer le domaine !
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










