R-CNN (Region Based Convolutional Network) : tout sur ce modèle de Machine Learning

-
3
 m de lecture
-

Comment enseigner à un ordinateur la reconnaissance d’éléments dans une image ? Ce problème a fait l’objet de vastes recherches. L’apparition de R-CNN a constitué une étape majeure en la matière.

Doter un ordinateur de vision est une quête qui s’est étendue sur plusieurs décennies. Comment amener une machine à distinguer ce qui est quoi dans une scène captée par une caméra ? Les applications de reconnaissance d’image se sont acharnées à déterminer :

  • les éléments présents dans une image, à partir de caractéristiques telles que leurs contours ;
  • la classification des objets distinctifs : personnages, animaux, meubles, véhicules…

Diverses technologies ont été imaginées en vue de résoudre ces problèmes. CNN, puis R-CNN figurent parmi les réponses les plus efficaces apportées.

Pour mieux comprendre ce qu’elles ont apportées, il peut être bon de revenir sur l’approche mise en œuvre auparavant.

De SVM aux CNN

L’approche SVM (Support Vector Machine) reposait sur les valeurs des pixels individuels au sein d’une image. Elle pêchait à de nombreux niveaux, notamment celui-ci : le développeur devait lui-même sélectionner et identifier les caractéristiques des données utilisées pour l’entraînement de l’algorithme. 

Il était nécessaire de pouvoir tôt ou tard automatiser cette tâche, sans la nécessité d’une intervention humaine. À cette fin, le chercheur français Yann Le Cun a présenté le concept des CNN en 1998.

Réseaux neuronaux convolutif (CNN)

Les CNN peuvent être considérés comme des extracteurs automatiques de caractéristiques au sein d’une image. Si NN signifie Neural Network (réseau de neurones), le C signifie convolutif.

La convolution est une technique qui utilise un filtre pour transformer une image en une autre, à l’aide d’opérations mathématiques.

AlexNet

Plus tard, en 2012, trois ingénieurs, Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton ont proposé un CNN élaboré, AlexNet, reposant sur plusieurs couches de convolution. AlexNet s’est distingué en remportant une importante compétition de reconnaissance d’image, ILSVRC (ImageNet Large Scale Visual Recognition Challenge). Dès lors, il est apparu que les CNN étaient en mesure de surpasser les techniques traditionnelles de reconnaissance d’image.

R-CNN ou les CNN basé sur des Régions

Les CNN étaient encore limités car leur classification ne pouvait être accomplie que sur un seul objet d’une image. De ce fait, en 2014, Ross Girshick a proposé un algorithme de détection d’objets plus poussé : R-CNN ou CNN basé sur les Régions. Ce modèle pionnier a fortement aidé à faire avancer le domaine de la détection d’objets. L’architecture R-CNN, à partir d’une image d’entrée, extrait des propositions de régions, calcule ensuite leurs caractéristiques CNN et s’évertue à les classifier.

Comment fonctionne R-CNN ?

Le fonctionnement de R-CNN se déroule ainsi.

Proposition de régions

R-CNN commence par diviser l’image d’entrée en plusieurs régions potentielles. Les caractéristiques où un objet peut être localisé sont déterminées au moyen de méthodes telles que le selective search (recherche sélective). Ce selective search fonctionne en fusionnant ou en divisant des segments de l’image selon divers indices : couleur, forme, texture…

Extraction de caractéristiques

Une fois ces propositions de régions générées, quelques 2 000 régions sont extraites et déformées à une taille cohérente. Chacune de ces régions est ensuite donnée en entrée à un modèle CNN, qui va tâcher d’en extraire des caractéristiques précises.

Classification des objets

Les vecteurs de caractéristiques issus des propositions de régions sont alimentés dans un classificateur d’apprentissage automatique visant à déterminer si la proposition de région contient ou non une instance d’une classe prédéfinie.

Bounding Box Regression - Régression de la boîte englobante

R-CNN effectue une régression de la boîte englobante, afin d’affiner l’emplacement et la taille de la boîte englobante autour de l’objet détecté.

Non-Maximum Suppression (NMS)

Une fois qu’il a classé les boîtes englobantes et opéré une régression pour chaque région proposée, R-CNN applique un algorithme de « suppression non maximale » qui vise à éliminer les boîtes englobantes en double ou fortement superposées.

R-CNN : flexible et robuste

La publication de l’article de Ross Girshick sur R-CNN a été une étape majeure dans le domaine de la vision par ordinateur. Il a démontré qu’il était possible d’atteindre des performances élevées dans la détection d’objets dans une image et a permis de les localiser de façon précise grâce aux boîtes englobantes.

L’expérience a démontré que l’approche R-CNN était à la fois flexible – adaptable à des cas de figure très variés – mais aussi robuste. Elle a été mise à profit sur sur de nombreux scénarios du monde réel comme l’identification d’objets abandonnés dans des zones publiques ou encore la détection d’obstacles par des véhicules autonomes.

Le Fast R-CNN

Pourtant, R-CNN n’est pas le modèle le plus rapide qui soit. Dans la mesure où chaque image doit classifier 2000 propositions de région, il faut un certain temps pour entraîner le réseau et aussi un espace disque important pour stocker la carte de caractéristiques de la proposition de région.

Par la force des choses, R-CNN a donc ouvert la voie à des améliorations notables en terme de vitesse dans la détection des objets comme Fast R-CNN. Celui-ci traite l’image de façon intégrale plutôt que chaque proposition de région individuelle. Il identifie des régions d’intérêt (RoI) pouvant contenir des objets et extrait pour chacune les caractéristiques correspondantes. Une fois redimensionnées, ces caractéristiques sont soumises à des couches supplémentaires du réseau qui classent l’objet dans la région d’intérêt et affinent les coordonnées de la boîte englobante. Il résulte de cette approche un traitement plus véloce. D’autres tentatives similaires sont apparues comme Faster R-CNN.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?