Sélectionner une page

Différence entre Image Recognition et Détection d’image 

Notre histoire commence en 2001, l’année où Paul Viola et Michael Jones ont inventé un algorithme efficace pour la détection des visages. Leur démo qui montrait des visages détectés en temps réel sur une webcam était la démonstration la plus étonnante de la vision par ordinateur et de son potentiel à l’époque. Bientôt, il a été implémenté dans OpenCV et la détection des visages est devenue synonyme de l’algorithme de Viola et Jones.

Toutes les quelques années, une nouvelle idée arrive qui force les gens à s’arrêter et à en prendre note. Dans le domaine de la détection d’objets, cette idée est venue en 2005 avec un article de Navneet Dalal et Bill Triggs. Leur descripteur de caractéristiques, Histogrammes des gradients orientés (HOG), surpasse largement les algorithmes existants de détection des piétons.

Chaque décennie environ, une nouvelle idée si efficace et si puissante que vous abandonnez tout ce qui l’a précédée et l’embrassez de tout votre cœur. L’apprentissage profond est l’idée de cette décennie. Les algorithmes d’apprentissage en profondeur existaient depuis longtemps, mais ils sont devenus courants en vision par ordinateur avec son succès retentissant au défi de reconnaissance visuelle à grande échelle ImageNet (ILSVRC) en 2012. Dans cette compétition, un algorithme basé sur Deep Learning d’Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton a ébranlé le monde de la vision par ordinateur avec une précision incroyable de 85% – 11% de mieux que l’algorithme qui a remporté la deuxième place ! Dans ILSVRC 2012, c’était la seule entrée basée sur l’apprentissage profond. En 2013, tous les projets gagnants étaient basés sur l’apprentissage profond et en 2015, plusieurs algorithmes basés sur le réseau neuronal convolutionnel (RNC) ont dépassé le taux de reconnaissance humaine de 95%.

Avec un tel succès dans la reconnaissance d’images, la détection d’objets basée sur le Deep Learning était inévitable. Des techniques comme Faster R-CNNN produisent des résultats époustouflants sur plusieurs classes d’objets. Nous en apprendrons plus tard, mais n’oubliez pas que si vous n’avez pas regardé les algorithmes de reconnaissance d’images et de détection d’objets basés sur Deep Learning pour vos applications, vous risquez de rater une énorme opportunité pour obtenir de meilleurs résultats.

Avec cet aperçu, nous sommes prêts à revenir à l’objectif principal de ce post – comprendre la reconnaissance d’images en utilisant les techniques traditionnelles de vision par ordinateur.

Reconnaissance d’images (« classification des images »)

Un algorithme de reconnaissance d’image ( » classificateur d’images « ) prend une image (ou un patch d’image) en entrée et sort ce que contient l’image. En d’autres termes, le résultat est une étiquette de classe (« chat », « chien », « table », etc.). Comment un algorithme de reconnaissance d’image connaît-il le contenu d’une image ? Eh bien, vous devez former l’algorithme pour apprendre les différences entre les différentes classes. Si vous voulez trouver des chats dans les images, vous devez former un algorithme de reconnaissance d’images avec des milliers d’images de chats et des milliers d’images de fonds qui ne contiennent pas de chats. Inutile de dire que cet algorithme ne peut comprendre que les objets / classes qu’il a appris.

Pour simplifier les choses, dans ce billet, nous nous concentrerons uniquement sur les classificateurs à deux classes (binaires). Vous pouvez penser qu’il s’agit d’une hypothèse très restrictive, mais gardez à l’esprit que de nombreux détecteurs d’objets populaires (p. ex. détecteur de visage et détecteur de piétons) ont un classificateur binaire sous le capot. Par exemple, à l’intérieur d’un détecteur de visages se trouve un classificateur d’image qui indique si une tache d’une image est un visage ou un arrière-plan.

 

Share This