Applications spécifiques
But du chapitre et prérequis
Dans les chapitres Réseaux de neurones à convolution, Détection et Segmentation, nous avons décrit en détail le fonctionnement des réseaux de neurones convolutionnels pour la classification. Nous avons ensuite vu comment leur architecture pouvait être adaptée pour réaliser d’autres tâches de traitement d’images, et nous avons décrit plusieurs architectures permettant de réaliser la détection et la segmentation d’images.
Dans ce chapitre, nous constaterons que les réseaux de neurones convolutionnels sont très polyvalents et peuvent être utilisés pour accomplir une large gamme de tâches en traitement d’images.
L’objectif de ce chapitre n’est pas de fournir une présentation détaillée de réseaux pour ces différentes tâches, mais plutôt de vous donner une idée générale de la façon dont leur architecture peut être adaptée pour réaliser différents types de tâches.
Avant de lire ce chapitre, il est préférable d’avoir lu les chapitres Réseaux de neurones à convolution, Détection et Segmentation.
Des réseaux très polyvalents
Les réseaux de neurones convolutionnels sont très performants pour extraire des caractéristiques significatives des images. Ces caractéristiques sont une représentation des images d’entrée, spécialement optimisée par rapport à une tâche donnée.
Cette représentation peut facilement être convertie en une autre.
Ainsi, dans les réseaux de classification, de détection et de segmentation présentés dans les chapitres Réseaux de neurones à convolution, Détection et Segmentation, les couches de convolution et d’agrégation constituent un extracteur de caractéristiques qui permet de convertir l’image d’entrée en caractéristiques. Cet extracteur est parfois également appelé « encodeur ».
Ensuite, chaque type de réseau présente des couches différentes, permettant de convertir ces caractéristiques en une autre représentation.
Dans un réseau de classification, les couches de classification convertissent cette représentation en un nombre représentant une classe.
Dans les réseaux de détection, les dernières couches du réseau convertissent cette représentation en une liste d’objets.
Dans les réseaux de segmentation...
Amélioration d’images
1. Principe de la restauration d’images
Plusieurs types de dégradation peuvent affecter une image : du bruit, des artefacts, une faible résolution, etc.
Différentes dégradations d’image (bruit, baisse de résolution)
Toutes ces dégradations conduisent à une perte d’information. Dans les images bruitées ou avec des artefacts, l’intensité des pixels corrompus par le bruit ou remplacés par des artefacts a été perdue ; dans les images de faible résolution, il manque les intensités des pixels sur une grille plus fine.
Pour retrouver une image de bonne qualité à partir d’une image dégradée, il est donc nécessaire de reconstruire cette information à partir d’informations a priori.
C’est précisément dans ce type de situation que l’apprentissage profond est intéressant. En effet, les modèles d’apprentissage profond se construisent, à travers leurs paramètres, une représentation du monde. Cette représentation peut être utilisée pour reconstituer les informations manquantes.
2. Principe général de la restauration d’images avec des réseaux de neurones convolutionnels
Pour effectuer la restauration d’images avec un réseau de neurones convolutionnels, il est nécessaire de disposer de paires d’images de bonne qualité et dégradées. Pour...
Régression
1. Définition de la régression et exemples d’applications
La régression vise à prédire une valeur continue à partir des données d’entrée. Voici quelques exemples d’applications de la régression :
-
Prédire l’âge d’une personne à partir d’un scanner de son cerveau, ou de radiographies de ses membres.
-
Estimer le prix d’un objet à partir de photographies.
-
Déterminer la taille d’une personne à partir de sa photographie.
Certaines tâches de régression peuvent également être formulées comme des problèmes de classification : par exemple, à partir d’une photographie d’une personne, nous pourrions tenter de classifier sa taille en « petit », « moyen », ou « grand ».
Cependant, la régression présente un avantage important lorsque les classes sont ordonnées. Ainsi, pour la classification, classifier une personne comme « grande » au lieu de « petite » est équivalent, en matière de justesse, à la classifier comme « moyenne », alors que l’erreur commise est plus faible. Il est possible d’ajuster la fonction-coût, et d’ajouter un terme à l’entropie...
Utilisation d’informations hétérogènes
1. Applications
Dans de nombreux domaines, il peut être utile d’associer d’autres informations aux images pour prendre une décision.
En imagerie médicale, par exemple, des informations cliniques telles que l’âge, le genre, les antécédents du patient, la localisation des lésions dans les images, etc. peuvent être associées aux images.
Prenons l’exemple de la détection de la maladie d’Alzheimer. Cette maladie se traduit par des lésions dans des zones spécifiques du cerveau. Ainsi, il peut être utile d’ajouter une information sur la localisation de ces zones dans l’image d’origine.
Dans le contexte de la conduite autonome, on dispose parfois d’informations provenant de capteurs multiples, et pas uniquement de caméras : des détecteurs à ultrasons, ou des radars, par exemple.
Pour les images satellites, la fusion des données d’imagerie avec des informations telles que la localisation de l’image, l’angle du soleil au moment de l’acquisition, et autres, peut permettre une analyse plus précise des images capturées.
Toutes ces applications relèvent de la fusion de données, ou fusion de capteurs. C’est un vaste sujet de recherche qui a donné lieu au développement de nombreuses méthodes. Nous ne nous intéressons ici qu’aux méthodes utilisant des réseaux de neurones profonds.
2. Concaténation directe des informations...
Conclusion
Les réseaux convolutionnels sont très polyvalents dans leurs applications. Bien que la classification, la détection et la segmentation soient les utilisations les plus répandues, nous avons vu dans ce chapitre qu’ils pouvaient être adaptés pour la régression, la restauration d’images, ou encore l’utilisation d’informations hétérogènes.
L’un des avantages de ces réseaux est qu’ils permettent d’exploiter des modèles d’encodage généralistes pré-entraînés. Si vous voulez entraîner un réseau de neurones convolutionnel pour une tâche spécifique pour laquelle vous ne trouvez pas de réseau existant, vous pouvez simplement utiliser un encodeur pré-entraîné, lui ajouter les couches adaptées à votre application, sélectionner une fonction-coût appropriée, et démarrer l’entraînement comme nous l’avons décrit dans le chapitre Adapter un réseau existant.
Ce chapitre clôture la partie du livre consacrée au fonctionnement technique des réseaux convolutionnels.
Une fois ces réseaux entraînés, leur utilisation nécessite une réflexion éthique pour garantir des résultats justes et non biaisés, ainsi qu’une transparence permettant...