Une introduction douce à la promesse du Deep Learning pour la vision par ordinateur
La promesse de l’apprentissage profond dans le domaine de la vision par ordinateur réside dans de meilleures performances des modèles qui peuvent nécessiter plus de données mais moins d’expertise en traitement du signal numérique pour être entraînés et exploités.
Il y a beaucoup de battage médiatique et de grandes revendications autour des méthodes d'apprentissage profond, mais au-delà du battage médiatique, les méthodes d'apprentissage profond obtiennent des résultats de pointe sur des problèmes complexes. Notamment sur des tâches de vision par ordinateur telles que la classification d’images, la reconnaissance d’objets et la détection de visages.
Dans cet article, vous découvrirez les promesses spécifiques des méthodes d’apprentissage profond pour résoudre les problèmes de vision par ordinateur.
Après avoir lu cet article, vous saurez :
- Les promesses du deep learning pour la vision par ordinateur.
- Exemples de cas dans lesquels l’apprentissage profond a tenu ses promesses ou est en train de le faire.
- Principales méthodes et applications d'apprentissage en profondeur pour la vision par ordinateur.
Démarrez votre projet avec mon nouveau livre Deep Learning for Computer Vision, comprenant des tutoriels pas à pas et les fichiers code source Python pour tous les exemples.
Commençons.
Aperçu
Ce didacticiel est divisé en trois parties : ils sont:
- Les promesses du Deep Learning
- Types de modèles de réseaux d'apprentissage profond
- Types de problèmes de vision par ordinateur
Les promesses du Deep Learning
Les méthodes d’apprentissage profond sont populaires, principalement parce qu’elles tiennent leurs promesses.
Cela ne veut pas dire qu’il n’y a pas de battage médiatique autour de cette technologie, mais que ce battage médiatique est basé sur des résultats très réels démontrés dans une série de problèmes d’intelligence artificielle très complexes, issus de la vision par ordinateur et du traitement du langage naturel.
Certaines des premières grandes démonstrations de la puissance de l’apprentissage profond ont eu lieu dans le domaine de la vision par ordinateur, en particulier de la reconnaissance d’images. Plus récemment dans la détection d’objets et la reconnaissance faciale.
Dans cet article, nous examinerons cinq promesses spécifiques des méthodes d'apprentissage profond dans le domaine de la vision par ordinateur.
En résumé, ce sont :
- La promesse de l'extraction automatique des fonctionnalités. Les fonctionnalités peuvent être automatiquement apprises et extraites des données d’image brutes.
- La promesse des modèles de bout en bout. Des modèles uniques de bout en bout peuvent remplacer les pipelines de modèles spécialisés.
- La promesse de la réutilisation des modèles. Les fonctionnalités apprises et même des modèles entiers peuvent être réutilisés dans plusieurs tâches.
- La promesse de performances supérieures. Les techniques démontrent de meilleures compétences sur des tâches difficiles.
- La promesse de la méthode générale. Une seule méthode générale peut être utilisée pour une série de tâches connexes.
Nous allons maintenant les examiner de plus près.
Il existe d’autres promesses d’apprentissage profond pour la vision par ordinateur ; ce ne sont que les cinq que j’ai choisi de souligner.
À votre avis, quelle est la promesse du deep learning pour la vision par ordinateur ?
Faites-le-moi savoir dans les commentaires ci-dessous.
Promesse 1 : Extraction automatique des fonctionnalités
Un axe d'étude majeur dans le domaine de la vision par ordinateur concerne les techniques permettant de détecter et d'extraire des caractéristiques à partir d'images numériques.
Les fonctionnalités extraites fournissent le contexte pour l’inférence sur une image, et souvent, plus les fonctionnalités sont riches, meilleure est l’inférence.
Des fonctionnalités sophistiquées conçues à la main, telles que la transformation de caractéristiques invariante d'échelle (SIFT), les filtres de Gabor et l'histogramme de gradients orientés (HOG), sont au centre de la vision par ordinateur pour l'extraction de caractéristiques depuis un certain temps et ont connu un bon succès.
La promesse du deep learning est que des fonctionnalités complexes et utiles peuvent être automatiquement apprises directement à partir de grands ensembles de données d’images. Plus précisément, une hiérarchie profonde de fonctionnalités riches peut être apprise et automatiquement extraite des images, fournie par les multiples couches profondes des modèles de réseaux neuronaux.
Ils ont des architectures plus profondes avec la capacité d’apprendre des fonctionnalités plus complexes que les plus superficielles. De plus, l'expressivité et les algorithmes de formation robustes permettent d'apprendre des représentations d'objets informatives sans avoir besoin de concevoir manuellement des fonctionnalités.
— Détection d'objets avec Deep Learning : une revue, 2018.
Les modèles de réseaux neuronaux profonds tiennent cette promesse, comme le démontre notamment la transition des méthodes sophistiquées de détection de caractéristiques artisanales telles que SIFT vers des réseaux neuronaux convolutifs profonds sur des ensembles de données de référence et des compétitions de vision par ordinateur standard, telles que la reconnaissance visuelle à grande échelle ImageNet. Compétition (ILSVRC).
ILSVRC au cours des cinq dernières années a ouvert la voie à plusieurs avancées dans le domaine de la vision par ordinateur. Le domaine de la reconnaissance catégorielle d'objets a considérablement évolué […] en commençant par les fonctionnalités codées SIFT et en évoluant vers des réseaux neuronaux convolutifs à grande échelle dominant les trois tâches de classification d'images, de localisation d'objet unique et de détection d'objets.
— Défi de reconnaissance visuelle à grande échelle ImageNet, 2015.
Promesse 2 : modèles de bout en bout
Aborder les tâches de vision par ordinateur impliquait traditionnellement l’utilisation d’un système de modèles modulaires.
Chaque modèle a été conçu pour une tâche spécifique, telle que l'extraction de caractéristiques, l'alignement d'images ou la classification. Les modèles sont utilisés dans un pipeline avec une image brute à une extrémité et un résultat, tel qu'une prédiction, à l'autre extrémité.
Cette approche pipeline peut et est toujours utilisée avec des modèles d'apprentissage profond, où un modèle de détecteur de fonctionnalités peut être remplacé par un réseau neuronal profond.
Alternativement, les réseaux de neurones profonds permettent à un seul modèle de regrouper deux ou plusieurs modèles traditionnels, tels que l'extraction et la classification de caractéristiques. Il est courant d'utiliser un modèle unique formé directement sur les valeurs brutes des pixels pour la classification des images, et il y a eu une tendance à remplacer les pipelines qui utilisent un modèle de réseau neuronal profond où un modèle unique est formé directement de bout en bout.
Grâce à la disponibilité d'une telle quantité de données de formation (associée à une implémentation algorithmique efficace et à des ressources de calcul GPU), il est devenu possible d'apprendre des réseaux de neurones directement à partir des données d'image, sans avoir besoin de créer des pipelines multi-étapes réglés manuellement de fonctionnalités extraites et de classificateurs discriminants. .
— Défi de reconnaissance visuelle à grande échelle ImageNet, 2015.
Un bon exemple de ceci est la détection d'objets et la reconnaissance faciale, où des performances initialement supérieures ont été obtenues en utilisant un réseau neuronal convolutif profond pour l'extraction de caractéristiques uniquement, où plus récemment, des modèles de bout en bout sont formés directement à l'aide de modèles à sorties multiples (par exemple, la classe et boîtes englobantes) et/ou de nouvelles fonctions de perte (par exemple, fonctions de perte contrastives ou triplet).
Promesse 3 : Réutilisation des modèles
En règle générale, les détecteurs de caractéristiques préparés pour un ensemble de données sont très spécifiques à cet ensemble de données.
Cela est logique, car plus vous pouvez utiliser d'informations sur le domaine dans le modèle, meilleures sont les chances que le modèle soit performant dans le domaine.
Les réseaux de neurones profonds sont généralement formés sur des ensembles de données beaucoup plus volumineux que les ensembles de données traditionnels, par ex. des millions ou des milliards d'images. Cela permet aux modèles d'apprendre les caractéristiques et les hiérarchies de caractéristiques générales sur les photographies, ce qui est en soi remarquable.
Si cet ensemble de données original est suffisamment grand et général, alors la hiérarchie spatiale des caractéristiques apprises par le réseau pré-entraîné peut effectivement agir comme un modèle générique du monde visuel, et ses caractéristiques peuvent donc s'avérer utiles pour de nombreux problèmes de vision par ordinateur, même si ces nouveaux problèmes peuvent impliquer des classes complètement différentes de celles de la tâche initiale.
— Page 143, Deep Learning avec Python, 2017.
Par exemple, il est courant d'utiliser des modèles approfondis formés dans le grand ensemble de données ImageNet, ou un sous-ensemble de cet ensemble de données, directement ou comme point de départ pour une gamme de tâches de vision par ordinateur.
… il est courant d'utiliser les fonctionnalités d'un réseau convolutif formé sur ImageNet pour résoudre d'autres tâches de vision par ordinateur
— Page 426, Apprentissage profond, 2016.
C'est ce qu'on appelle l'apprentissage par transfert, et l'utilisation de modèles pré-entraînés dont la formation peut prendre des jours, voire des semaines, est devenue une pratique courante.
Les modèles pré-entraînés peuvent être utilisés pour extraire des caractéristiques générales utiles des images numériques et peuvent également être affinés, adaptés aux spécificités de la nouvelle tâche. Cela permet d’économiser beaucoup de temps et de ressources et d’obtenir de très bons résultats presque immédiatement.
Une approche courante et très efficace de l'apprentissage en profondeur sur de petits ensembles de données d'images consiste à utiliser un réseau pré-entraîné.
— Page 143, Deep Learning avec Python, 2017.
Promesse 4 : des performances supérieures
Une promesse importante des réseaux de neurones profonds en vision par ordinateur est de meilleures performances.
Ce sont les performances nettement meilleures des réseaux de neurones profonds qui ont été un catalyseur de la croissance et de l’intérêt pour le domaine de l’apprentissage profond. Bien que ces techniques existent depuis des décennies, l’étincelle a été la performance exceptionnelle d’Alex Krizhevsky et al. en 2012 pour la classification des images.
L’intensité actuelle de l’intérêt commercial pour l’apprentissage profond a commencé lorsque Krizhevsky et al. (2012) a remporté le défi de reconnaissance d’objets ImageNet…
— Page 371, Apprentissage profond, 2016.
Leur modèle de réseau neuronal convolutif profond, appelé à l'époque SuperVision, puis appelé AlexNet, a permis un bond en avant dans la précision de la classification.
Nous avons également présenté une variante de ce modèle au concours ILSVRC-2012 et avons obtenu un taux d'erreur de test de 15,3 % dans le top 5, contre 26,2 % pour la deuxième meilleure candidature.
— Classification ImageNet avec réseaux de neurones à convolution profonde, 2012.
La technique a ensuite été adoptée pour une série de tâches de vision par ordinateur très difficiles, notamment la détection d'objets, qui a également permis d'améliorer considérablement les performances du modèle par rapport aux méthodes traditionnelles de pointe de l'époque.
La première avancée dans la détection d'objets a été le RCNN, qui a entraîné une amélioration de près de 30 % par rapport à l'état de la technique précédent.
— Une étude de la littérature moderne sur la détection d'objets utilisant le Deep Learning, 2018.
Cette tendance à l’amélioration s’est poursuivie d’année en année sur une gamme de tâches de vision par ordinateur.
Les performances ont été si spectaculaires que des tâches auparavant considérées comme difficiles à résoudre par les ordinateurs et utilisées comme CAPTCHA pour empêcher le spam (comme prédire si une photo est celle d'un chien ou d'un chat) sont efficacement « résolues » et modélisées. des problèmes tels que la reconnaissance faciale permettent d'obtenir des performances supérieures à celles des humains.
Nous pouvons observer une amélioration significative des performances (précision moyenne moyenne) depuis que l’apprentissage profond est entré en scène en 2012. Les performances du meilleur détecteur ont augmenté régulièrement et de manière significative chaque année.
— Deep Learning pour la détection d'objets génériques : une enquête, 2018.
Promesse 5 : Méthode générale
La promesse la plus importante de l’apprentissage profond est peut-être que les modèles les plus performants sont tous développés à partir des mêmes composants de base.
Les résultats impressionnants proviennent d’un type de réseau, appelé réseau neuronal convolutif, composé de couches convolutives et de pooling. Il a été spécialement conçu pour les données d'image et peut être entraîné directement sur les données de pixels (avec quelques mises à l'échelle mineures).
Les réseaux convolutifs offrent un moyen de spécialiser les réseaux de neurones pour travailler avec des données présentant une topologie claire structurée en grille et pour faire évoluer ces modèles à très grande taille. Cette approche a été la plus réussie sur une topologie d’image bidimensionnelle.
— Page 372, Apprentissage profond, 2016.
Ceci est différent du domaine plus large qui aurait pu nécessiter des méthodes de détection de caractéristiques spécialisées développées pour la reconnaissance de l’écriture manuscrite, la reconnaissance de caractères, la reconnaissance des visages, la détection d’objets, etc. Au lieu de cela, une seule classe générale de modèle peut être configurée et utilisée directement pour chaque tâche de vision par ordinateur.
C’est la promesse de l’apprentissage automatique en général ; il est impressionnant qu’une technique aussi polyvalente ait été découverte et démontrée pour la vision par ordinateur.
De plus, le modèle est relativement simple à comprendre et à entraîner, bien qu'il puisse nécessiter un matériel GPU moderne pour s'entraîner efficacement sur un grand ensemble de données, et qu'il puisse nécessiter un réglage des hyperparamètres du modèle pour obtenir des performances de pointe.
Types de modèles de réseaux d'apprentissage profond
Le Deep Learning est un vaste domaine d’étude, et tous ne sont pas pertinents pour la vision par ordinateur.
Il est facile de s’enliser dans des méthodes d’optimisation spécifiques ou des extensions de types de modèles destinées à améliorer les performances.
À un niveau élevé, il existe une méthode d’apprentissage profond qui mérite le plus d’attention pour une application en vision par ordinateur. C'est:
- Réseaux de neurones convolutifs (CNN).
La raison pour laquelle les CNN sont au centre de l’attention des modèles d’apprentissage profond est qu’ils ont été spécifiquement conçus pour les données d’images.
De plus, les deux types de réseaux suivants peuvent être utiles pour interpréter ou développer des modèles d'inférence à partir des fonctionnalités apprises et extraites par les CNN ; ils sont:
- Perceptrons multicouches (MLP).
- Réseaux de neurones récurrents (RNN).
Les couches de réseau neuronal de type MLP ou entièrement connectés sont utiles pour développer des modèles qui font des prédictions compte tenu des fonctionnalités apprises extraites par les CNN. Les RNN, tels que les LSTM, peuvent être utiles lorsque vous travaillez avec des séquences d'images au fil du temps, comme avec la vidéo.
Types de problèmes de vision par ordinateur
L’apprentissage profond ne résoudra pas la vision par ordinateur ou l’intelligence artificielle.
À ce jour, les méthodes d’apprentissage profond ont été évaluées sur une suite plus large de problèmes issus de la vision par ordinateur et ont réussi sur un petit ensemble, où le succès suggère des performances ou des capacités égales ou supérieures à ce qui était auparavant possible avec d’autres méthodes.
Il est important de noter que les domaines dans lesquels les méthodes d’apprentissage profond affichent le plus grand succès sont parmi les problèmes les plus difficiles et peut-être les plus intéressants auxquels sont confrontés les utilisateurs finaux.
Cinq exemples incluent :
- Reconnaissance optique de caractères.
- Classement des images.
- Détection d'objets.
- Détection de visage.
- Reconnaissance faciale.
Les cinq tâches sont liées sous l'égide de la « reconnaissance d'objets », qui fait référence à des tâches impliquant l'identification, la localisation et/ou l'extraction de contenu spécifique à partir de photographies numériques.
La plupart des apprentissages profonds pour la vision par ordinateur sont utilisés pour la reconnaissance d'objets ou la détection d'une certaine forme, qu'il s'agisse de signaler quel objet est présent dans une image, d'annoter une image avec des cadres de délimitation autour de chaque objet, de transcrire une séquence de symboles à partir d'une image ou d'étiqueter. chaque pixel d'une image avec l'identité de l'objet auquel il appartient.
— Page 453, Apprentissage profond, 2016.
Lectures complémentaires
Cette section fournit plus de ressources sur le sujet si vous souhaitez approfondir.
Livres
- Apprentissage profond, 2016.
- Apprentissage profond avec Python, 2017.
Papiers
- Défi de reconnaissance visuelle à grande échelle ImageNet, 2015.
- Classification ImageNet avec réseaux de neurones à convolution profonde, 2012.
- Détection d'objets avec Deep Learning : une revue, 2018.
- Une étude de la littérature moderne sur la détection d'objets utilisant le Deep Learning, 2018.
- Apprentissage profond pour la détection d'objets génériques : une enquête, 2018.
Résumé
Dans cet article, vous avez découvert les promesses spécifiques des méthodes d’apprentissage profond pour résoudre les problèmes de vision par ordinateur.
Concrètement, vous avez appris :
- Les promesses du deep learning pour la vision par ordinateur.
- Exemples de cas dans lesquels l’apprentissage profond a tenu ses promesses ou est en train de le faire.
- Principales méthodes et applications d'apprentissage en profondeur pour la vision par ordinateur.
Avez-vous des questions ?
Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre.