Qu’est-ce que la détection d’objets ?

Auteurs

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

La détection d’objets est une technique qui s’appuie sur les réseaux neuronaux pour localiser et classer les objets présents dans les images. Cette tâche de vision par ordinateur comporte un large éventail d’applications, de l’imagerie médicale aux voitures autonomes.

La détection d’objets est une tâche de vision par ordinateur qui vise à localiser les objets présents dans les images numériques. Il s’agit d’un exemple d’intelligence artificielle qui consiste à entraîner les ordinateurs à voir comme les humains, notamment en reconnaissant et en classant les objets par catégorie sémantique.1 La localisation d’objet est une technique qui permet de déterminer la position d’un objet dans une image en le délimitant à l’aide d’une boîte englobante. La classification des objets est une autre technique qui permet de déterminer la catégorie à laquelle appartient l’objet détecté. La tâche de détection d’objets associe des sous-tâches de localisation et de classification d’objets pour estimer simultanément l’emplacement et le type des instances d’objets dans une ou plusieurs images.2

Tâches de vision par ordinateur

Bien que la détection d’objets se chevauche avec d’autres techniques de vision par ordinateur, les développeurs la traitent comme une méthode distincte.

La classification d’images (ou reconnaissance d’images) consiste à classer les images selon les catégories définies. Les tests d'images CAPTCHA en sont l’exemple le plus simple : un groupe d’images est organisé en images avec et sans panneau « Stop ». La classification d’images consiste à attribuer une étiquette à l’ensemble de l’image.

La détection d’objets, quant à elle, délimite les différents objets de l’image selon les categories spécifiées. Alors que la classification d’images distingue les images qui comportent un panneau « Stop » de celles qui n’en comportent pas, la détection d’objets localise et classe tous les panneaux « Stop » présents dans l’image, ainsi que d’autres objets comme les voitures et les personnes.

La segmentation d’images (ou segmentation sémantique) est similaire à la détection d’objets, bien que plus précise. À l’instar de la détection d’objets, la segmentation délimite les objets d’une image selon des categories sémantiques. Cependant, la délimitation se fait non plus à l’aide de boîtes, mais au niveau du pixel.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Détection d’objets : comment ça marche ?

Pour comprendre les mécanismes internes de la détection d’objets, il est nécessaire d’avoir quelques connaissances de base en vision par ordinateur et, plus généralement, en traitement d'images numériques. Cette section en fournit un aperçu.

Traitement d’images

En vision par ordinateur, les images sont exprimées sous forme de fonctions continues sur un plan de coordonnées en 2D représenté par f(x,y). Lorsqu’elles sont numérisées, les images subissent principalement deux processus, à savoir l’échantillonnage et la quantification, qui, en gros, convertissent ensemble la fonction d’image continue en grille discrète d’éléments de pixel. L’ordinateur peut ensuite segmenter une image en régions distinctes en fonction de la similarité visuelle et de la proximité des pixels.3

Les utilisateurs étiquettent les images à l’aide d’une interface d’annotation pour définir un objet donné comme région présentant des caractéristiques de pixel spécifiques (zone, valeur de gris, etc.). Lorsqu’il reçoit une image en entrée, le modèle de détection d’objets reconnaît les régions présentant des caractéristiques similaires à celles définies dans le jeu de données d’entraînement comme étant le même objet. La détection d’objets est donc un type de reconnaissance des formes. Les modèles de détection d’objets ne reconnaissent pas les objets en tant que tels, mais comme étant des agrégats de propriétés (taille, forme, couleur, etc.), et classent les régions en fonction de schémas visuels déduits des données d’entraînement annotées manuellement.4

Les modèles de détection d’objets pour voitures autonomes, par exemple, ne reconnaissent pas les piétons, mais l’ensemble de caractéristiques qui forment le schéma général propre aux objets piétons (tels que définis dans les données d'entraînement).

Architecture de modèle

Si chaque famille de modèles comporte sa propre architecture, les modèles d’apprentissage profond employés dans la détection d’objets suivent une structure générale. Ils sont constitués d’une épine dorsale, d’un cou et d’une tête.

L’épine dorsale extrait les caractéristiques de l’image d’entrée. Souvent, l’épine dorsale est dérivée d’une partie d’un modèle de classification pré-entraîné. L’extraction des caractéristiques produit une myriade de cartes de caractéristiques de résolutions variables, que l’épine dorsale transmet au cou. Cette dernière partie de la structure regroupe les cartes de caractéristiques de chaque image. L’architecture transmet ensuite les cartes de caractéristiques multicouches à la tête, qui prédit les boîtes englobantes et les scores de classification pour chaque ensemble de caractéristiques.

Les détecteurs à deux étapes séparent la localisation et la classification des objets au niveau de la tête, tandis que les détecteurs à étape unique combinent ces tâches. Les premiers offrent généralement une plus grande précision, tandis que les seconds sont plus rapides.5

Indicateurs d’évaluation

L’intersection over réunion (IoU) est un indicateur d’évaluation couramment utilisé dans les modèles de détection d’objets. La boîte englobante est la sortie quadratique qui délimite l’objet détecté tel que prédit par le modèle. L’IoU calcule le rapport entre l’aire d’intersection de deux boîtes englobantes (c’est-à-dire, la zone où les sections de boîte se chevauchent) et leur aire d’union (c’est-à-dire l’aire totale des deux boîtes) :6

Cette équation peut être visualisée comme suit :

Les modèles s’appuient sur l’IoU pour mesurer la précision de la prédiction. Pour ce faire, ils calculent l’IoU entre une boîte prédite et une boîte de vérité terrain. Les architectures de modèles s’appuient également sur l’IoU pour générer les prévisions finales de la boîte englobante. Étant donné que les modèles génèrent initialement plusieurs centaines de prédictions de boîte englobante pour un même objet détecté, l’IoU leur permet de pondérer et de consolider les prédictions pour obtenir une seule boîte par objet détecté.

D’autres indicateurs peuvent être utilisés pour réaliser différents types d’évaluation des modèles de détection d’objets. L’indicateur GIoU (generalized intersection over union) est une version modifiée de l’IoU, qui prend en compte les améliorations apportées à la localisation des objets pour lesquelles l’IoU peut continuer à retourner une valeur nulle.7 La recherche en matière de détection d’objets s’appuie également sur des indicateurs de récupération d’informations courants, comme la précision et le rappel moyens.

Mixture of Experts | 12 décembre, épisode 85

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Algorithmes et architectures de détection d’objets

Il existe différentes approches de machine learning pour les tâches de détection d’objets. Parmi les exemples, citons la méthode de Viola-Jones8 et l’histogramme de gradients orientés.9 La recherche et le développement en matière de détection d’objets privilégient toutefois les réseaux de neurones convolutifs (CNN). Cette page traite des deux types de CNN les plus abordés dans la recherche en détection d’objets. Notez que ces modèles sont testés et comparés à l’aide de jeux de données de référence, comme le jeu de données Microsoft COCO ou encore ImageNet.

Un R-CNN (réseau neuronal convolutif basé sur les régions) est un détecteur en deux étapes qui utilise une méthode appelée propositions de régions pour générer 2 000 prédictions de régions par image. Le R-CNN déforme ensuite les régions extraites pour en uniformiser la taille, et il les fait passer par des réseaux distincts pour extraire et classer leurs caractéristiques. Chaque région est notée en fonction de la fiabilité de sa classification. Le R-CNN rejette ensuite les régions dont les IoU se chevauchent au profit de la région sélectionnée ayant obtenu le meilleur score. Les autres régions classées les mieux notées qui ne se chevauchent pas constituent la sortie du modèle.10 Comme on peut s’y attendre, cette architecture est lente et coûteuse en termes de calcul. Les Fast R-CNN et les Faster R-CNN sont des évolutions qui réduisent la taille de l’architecture du R-CNN et donc le temps de traitement, tout en augmentant la précision.11

Les algorithmes YOLO (You Only Look Once) forment une famille d’architectures de détection en une seule étape basée sur Darknet, un framework CNN open source. Développée pour la première fois en 2016, l’architecture YOLO privilégie la vitesse. En effet, sa rapidité en fait l’option de choix pour la détection d’objets en temps réel, et c’est d’ailleurs pour cela qu’on le qualifie communément de détecteur d’objets de pointe. L’algorithme YOLO se distingue des R-CNN à plusieurs égards. Alors que les R-CNN font passer les régions d’images extraites à travers plusieurs réseaux qui en extraient les caractéristiques et classent les images séparément, YOLO condense ces étapes dans un réseau unique. Ensuite, tandis que les R-CNN font environ 2 000 propositions de régions, YOLO fait moins de 100 prédictions de boîtes englobantes par image. Outre sa rapidité supérieure à celle des R-CNN, YOLO produit également moins de faux positifs pour les régions d’arrière-plan, avec des erreurs de localisation toutefois plus élevées.12 L’algorithme YOLO a fait l’objet de nombreuses mises à jour depuis sa création, généralement axées sur sa vitesse et sa précision.13

Bien que développées à l’origine pour la détection d’objets, les versions plus récentes de R-CNN et de YOLO permettent également d’entraîner les modèles de classification et de segmentation. Plus précisément, Mask R-CNN associe détection d'objets et segmentation, tandis que YOLOv5 permet d’entraîner différents modèles de classification, de détection et de segmentation.

Bien sûr, il existe bien d’autres architectures de modèles outre R-CNN et YOLO. SSD et Retinanet reposent sur une architecture simplifiée similaire à YOLO.14 Développée par Facebook (aujourd’hui Meta), l’architecture DETR associe le CNN à un modèle de type transformer et offre une performance comparable à celle de Faster R-CNN.15

Quelques cas d’utilisation

Dans bon nombre de cas d’utilisation, la détection d’objets n’est pas une fin en soi, mais l’étape d’une tâche de vision par ordinateur plus complexe.

Conduite autonome

Les voitures autonomes s’appuient largement sur la détection d’objets pour reconnaître des objets tels que les véhicules et les piétons. L’Autopilot AI de Tesla en est un exemple. En raison de leur rapidité, les architectures simples comme YOLO et SimpleNet sont évidemment plus adaptées à la conduite autonome.16

Imagerie médicale

La détection d’objets peut faciliter les tâches d’ inspection visuelle. Par exemple, dans un corpus important de recherche en détection d’objets, peuvent être examinés les mesures et les modèles permettant d’identifier les indicateurs physiologiques de maladie dans des images médicales telles que les radiographies et les IRM. Dans ce domaine, de nombreuses recherches se sont concentrées sur l’amélioration des déséquilibres des jeux de données dus à la rareté de ce type d’imagerie.17

Sécurité

La vidéosurveillance peut faire appel à la détection d’objets en temps réel pour suivre les objets associés au crime, comme des armes à feu ou des outils, dans les images des caméras de sécurité. En détectant ces objets, les systèmes de sécurité peuvent davantage prédire et prévenir les crimes. Les chercheurs ont développé des algorithmes de détection d’armes à feu utilisant à la fois les R-CNN et YOLO.18

Recherches récentes

Les jeux de données déséquilibrés freinent énormément les tâches de détection d’objets, car les échantillons négatifs (c’est-à-dire les images sans l’objet d’intérêt) sont beaucoup plus nombreux que les échantillons positifs dans nombre de jeux de données propres à certains domaines. C’est un problème qui touche particulièrement l’imagerie médicale, un domaine où il est difficile d’acquérir des échantillons positifs des maladies. Des recherches récentes utilisent l’augmentation des données pour étendre et diversifier les jeux de données limités et améliorer ainsi la performance des modèles.19

Les développements antérieurs en matière de détection d’objets se concentraient largement sur les images 2D. Plus récemment, les chercheurs se sont tournés vers des applications de détection d’objets dans les images et les vidéos 3D. Le flou cinétique et le changement de mise au point de la caméra causent des problèmes dans l’identification des objets sur les images vidéo. Les chercheurs ont exploré toute une série de méthodes et d’architectures pour faciliter le suivi des objets dans les images malgré ces conditions, comme l’architecture LSTM (long short-term memory) des réseaux neuronaux récurrents20 et les modèles basés sur les transformeurs.21 Les transformers ont été utilisés pour accélérer les modèles de détection d’objets dans les tâches de détection en temps réel. Les techniques de traitement parallèle constituent un autre domaine d’étude important dans ce domaine.22

Solutions connexes
IBM Maximo Visual Inspection

Exploitez toute la puissance de la vision par ordinateur no-code pour l'automatisation des inspections visuelles.

Explorez Maximo Visual Inspection
Conseil et services en Intelligence Artificielle (IA)

IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.

Découvrez les services d’intelligence artificielle
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise grâce à l’expertise de pointe d’IBM en matière d’IA et à son portefeuille de solutions.

Découvrir les solutions d’IA
Passez à l’étape suivante

IBM Maximo Visual Inspection met la puissance de la vision par ordinateur basée sur l’IA entre les mains de vos équipes en charge du contrôle qualité et des inspections. Libérez tout le potentiel de la vision par ordinateur no-code pour automatiser vos inspections visuelles.

Explorez Maximo Visual Inspection Découvrir le produit