Le domaine de la vision par ordinateur connaît un essor important depuis que l'IA a introduit les réseaux neuronaux profonds et en particulier les réseaux neuronaux convolutifs (CNN). Bien que les réseaux neuronaux convolutifs aient été inventés il y a longtemps (en 1968), leur plein potentiel est resté caché jusqu'à récemment. Le développement d'ordinateurs puissants a permis d'expérimenter les réseaux neuronaux convolutifs et de tirer parti de leur valeur réelle.
En 2012, Alex Krizhevsky a conçu un CNN appelé AlexNet qui a été entraîné à l'aide d'un jeu de données d'images à grande échelle (ImageNet) et exécuté à l'aide d'un GPU. Les résultats étaient si prometteurs que, depuis lors, le domaine de la vision par ordinateur a été envahi par la recherche sur les réseaux neuronaux profonds. En fait, de nombreuses nouvelles architectures CNN sont introduites chaque année, et l'apprentissage profond est devenu un mot à la mode.
Étant donné que la création d'une architecture CNN performante n'est pas un problème trivial mais nécessite des connaissances scientifiques appropriées, les progrès réalisés au cours des dernières années prouvent l'importance de cette technologie.
En particulier, des problèmes de vision par ordinateur tels que le marquage d'images, la détection d'objets et la génération d'images ont été considérablement améliorés grâce aux réseaux neuronaux convolutifs. Tout d'abord, cette nouvelle approche a éliminé la nécessité de concevoir des caractéristiques qui étaient auparavant utilisées pour résoudre ces problèmes. Deuxièmement, les résultats obtenus à l'aide des réseaux neuronaux profonds ont surpassé les anciennes techniques.
Examinons donc les technologies les plus courantes qui sont alimentées par des CNN.
- Balisage des images
- Recherche d'images inversée
- Sous-titrage des images
- Détection d'objets
- Segmentation d'images / Segmentation sémantique
- Débruitage d'images
- Génération d'images
1. Balisage des images
Ce que c'est
Le marquage des images est une technologie basée sur les CNN qui permet à un ordinateur d'attribuer une catégorie à une image.
Quand l'utiliser
Le balisage des images peut être utilisé avec des ensembles de données non structurés pour les structurer réellement.
Comment cela fonctionne-t-il ?
- Nous fournissons des données d'entrée sous forme de lots d'images dans la première couche convolutive.
- Une couche convolutionnelle effectue une corrélation croisée pour trouver les neurones (caractéristiques) qui sont les plus importants pour identifier la catégorie à laquelle appartient une image.
- Une couche de mise en commun (sous-échantillonnage) réduit le nombre de neurones produits dans la couche convolutive précédente, afin d'éviter la mémorisation et les biais. Cela permet de rendre un modèle plus robuste, afin qu'il soit plus précis sur des données non vues.
- En fonction de l'architecture des CNN, nous pouvons être amenés à répéter plusieurs fois les deux processus précédents.
- Enfin, nous avons une couche entièrement connectée. Elle connecte chaque neurone à tous les autres neurones pour produire des prédictions.
- La sortie est alors la probabilité pour une image d'appartenir à chaque catégorie de notre jeu de données.
Cas d'utilisation commerciale
Les entreprises qui cherchent à organiser leurs énormes ensembles de données en catégories significatives pour elles peuvent tirer parti de cette technologie. Ses applications sont vastes, allant de l'identification des défauts sur une ligne de produits au diagnostic de maladies à partir d'examens IRM. Un autre exemple consiste à appliquer le marquage d'images pour améliorer la découverte de produits. Les plateformes de gestion de contenu, comme ProcessMaker IDP, exploitent la vision artificielle pour rationaliser l'étiquetage de grands ensembles de données visuelles pour les entreprises de vente au détail.
2. Recherche d'images inversée
Ce que c'est
La recherche d'images inversée est une méthode permettant d'extraire les représentations d'images à l'aide de CNN et de les comparer entre elles pour trouver des images conceptuellement similaires.
Quand l'utiliser
La recherche d'images inversées est utilisée pour trouver des images similaires dans un espace de données non structuré.
Comment cela fonctionne-t-il ?
La recherche d'images inversée extrait les représentations d'images de la dernière couche convolutive du réseau neuronal. Ensuite, ces représentations sont comparées les unes aux autres à l'aide de certaines mesures de distance.
Cas d'utilisation commerciale
La recherche d'images inversée est le moyen le plus simple de regrouper des ensembles de données d'images rapides en catégories conceptuellement "correctes". En outre, elle peut être considérée comme un moyen de regrouper les images.
3. Sous-titrage des images
Ce que c'est
Le sous-titrage d'images permet aux ordinateurs de générer des descriptions d'images.
Quand l'utiliser
Le sous-titrage d'images peut être utilisé lorsque l'on souhaite représenter le contenu d'une image en mots.
Comment cela fonctionne-t-il ?
Le sous-titrage d'images peut être conçu dans le cadre d'un encodeur-décodeur. Tout d'abord, les incorporations d'images sont extraites à l'aide de CNN pré-entraînés (étape d'encodage), puis les incorporations sont utilisées comme entrée pour les réseaux à mémoire à long terme (LSTM, un type de réseau neuronal qui peut traiter des séquences de données et qui est donc utilisé pour les ensembles de données textuelles) qui apprennent à décoder les incorporations en texte.
- Une image est insérée dans des CNN pour extraire des cartes de caractéristiques qui sont des représentations abstraites de l'image.
- Le LSTM utilise ensuite ces cartes de caractéristiques pour produire la distribution des mots en fonction de l'entrée. Le LSTM échantillonne ensuite le mot suivant dans la distribution et le processus se répète jusqu'à ce que la légende soit prête.
- Il est important de souligner à ce stade que ces différentes cartes de caractéristiques nous fournissent les points d'intérêt dans l'image (c'est-à-dire l'attention).
Cas d'utilisation commerciale
Le sous-titrage d'images peut être utilisé dans les systèmes d'assistance aux aveugles, les systèmes de génération de métadonnées d'images et la robotique.
4. Détection d'objets
Ce que c'est
La détection d'objets est une technologie qui permet d'identifier non seulement l'objet représenté dans une image ou une vidéo, mais aussi sa position.
Quand l'utiliser
La détection d'objets est utilisée dans les cas où la position d'un objet/sujet particulier est demandée. Il s'agit d'une technologie de suivi.
Comment cela fonctionne-t-il ?
La technologie CNN est la principale technologie utilisée ici pour extraire les régions d'intérêt, qui sont ensuite classées par catégories, et les boîtes de délimitation sont dérivées.
- Feature Pyramid Net (FPN) utilise la hiérarchie pyramidale multi-échelle inhérente aux CNN profonds pour créer des pyramides de caractéristiques qui aident à détecter des objets à différentes échelles.
- Deux sous-réseaux sont attachés au FPN, celui du haut est utilisé pour prédire les classes, et celui du bas est utilisé pour la régression de la boîte englobante.
Il est important de dire ici que cette approche n'est qu'une des nombreuses approches existantes pour la détection d'objets.
Cas d'utilisation commerciale
La détection faciale est l'un des cas d'utilisation les plus courants de la technologie de détection d'objets. Elle peut être utilisée comme mesure de sécurité pour ne laisser entrer que certaines personnes dans un immeuble de bureaux ou pour reconnaître et marquer vos amis sur Facebook. L'année dernière, Instagram a ajouté une nouvelle fonctionnalité basée sur cette technologie, destinée à faciliter l'utilisation de sa plateforme par les personnes malvoyantes. Cette fonctionnalité utilise la technologie de reconnaissance des objets pour générer une description des photos. En faisant défiler l'application, toute personne utilisant un lecteur d'écran peut entendre la liste des éléments que contient la photo.
5. Segmentation d'images / Segmentation sémantique
Ce que c'est
La segmentation d'image est une technologie qui permet de segmenter une image en parties conceptuelles, mais contrairement à la détection d'objets, ici chaque pixel d'une image se voit attribuer une catégorie.
Quand l'utiliser
La segmentation d'images peut être utilisée pour localiser des objets et leurs limites.
Comment cela fonctionne-t-il ?
Habituellement, les algorithmes employés dans ces tâches sont basés sur des méthodes de convolution-déconvolution. Par exemple, un algorithme utilise des CNN pour créer des cartes de caractéristiques, mais en même temps, des couches de sous-échantillonnage sont introduites pour que l'ensemble du processus reste faisable sur le plan informatique. La charge de calcul réside dans le fait que la décision de classification est prise par pixel. Pour cette raison, en réduisant les neurones, l'efficacité du calcul peut être améliorée. L'étape suivante consiste à appliquer une convolution transposée au cours de laquelle le réseau est entraîné à reconstruire les neurones précédemment réduits.
Cas d'utilisation commerciale
Cette technologie est principalement utilisée dans l'imagerie médicale, la géodétection et l'agriculture de précision.
6. Débruitage d'image
Ce que c'est
Le débruitage d'images est une technologie qui utilise des méthodes d'apprentissage auto-supervisées pour générer des images sans bruit ni flou. Elle est basée sur les algorithmes d'autoencodage qui apprennent à coder les images dans un espace de caractéristiques inférieur et à les décoder en générant une distribution de données d'intérêt.
Quand l'utiliser
Le débruitage des images peut être utilisé avec un certain succès pour éliminer le bruit ou le flou des images.
Comment cela fonctionne-t-il ?
L'algorithme tente d'abord de coder les données d'entrée dans un nombre inférieur de dimensions (compression), puis de les reconstruire en représentation d'espace de caractéristiques latentes (décodage). Dans un langage plus formel, le codeur apprend à approcher la fonction d'identité en utilisant moins de dimensions. Par conséquent, cette technique convient également à des fins de réduction des dimensions. Dans le contexte du débruitage d'images, nous pouvons configurer l'auto-codeur convolutif pour qu'il apprenne à générer des images de haute qualité en fournissant à l'algorithme des images de basse qualité contre des images de haute qualité authentiques. De cette façon, le décodeur essaiera d'apprendre à représenter l'entrée dans une qualité supérieure.
Cas d'utilisation commerciale
Des applications, comme Let'sEnhance.io, utilisent cette technologie pour améliorer la qualité et la résolution des images.
7. Génération d'images
Ce que c'est
Les réseaux adversariaux génératifs (GAN) sont un type d'apprentissage non supervisé qui apprend à générer des images réalistes.
Quand l'utiliser
Cette technique peut être utilisée dans des applications qui génèrent des images photoréalistes. Par exemple, elle peut être utilisée dans le domaine de la décoration intérieure ou industrielle ou dans les scènes de jeux vidéo.
Comment cela fonctionne-t-il ?
Lors de la génération d'une image, nous voulons être en mesure d'échantillonner dans un espace complexe et hautement dimensionnel, ce qui est impossible à faire directement. Au lieu de cela, nous pouvons examiner cet espace en utilisant le CNN. Les GAN font cela à la manière d'un jeu.
- Tout d'abord, étant donné un bruit aléatoire, nous utilisons un réseau génératif simple pour générer de fausses images qui, avec les échantillons d'entraînement, sont envoyées au réseau discriminatif.
- Ensuite, le but du réseau discriminatif est de discerner les images fausses et les images réelles.
- Si nous pouvons simuler le réseau discriminant, nous aurons réussi à trouver une distribution appropriée à partir de laquelle nous pourrons générer des images réalistes.
Cas d'utilisation commerciale
Avec un entraînement adéquat, les GANs fournissent une image de texture 2D plus précise et plus nette en magnitude. Sa qualité est supérieure, tandis que le niveau de détails et de couleurs reste inchangé. NVIDIA utilise cette technologie pour transformer des croquis en paysages photoréalistes.