1. Livres & vidéos
  2. Le deep learning avec TensorFlow/Keras
  3. Solution des réseaux à convolution
Extrait - Le deep learning avec TensorFlow/Keras 42 programmes Python pour passer de la théorie à la pratique
Extraits du livre
Le deep learning avec TensorFlow/Keras 42 programmes Python pour passer de la théorie à la pratique Revenir à la page d'achat du livre

Solution des réseaux à convolution

Analyse des images numériques

1. De nombreux domaines d’application

a. Exemples d’exploitation des images numériques

La généralisation de l’acquisition digitale des images et vidéos a rendu possible l’utilisation de traitements numériques avancés. Au-delà de l’amélioration de la qualité ou de la retouche esthétique, de nombreuses applications se concentrent désormais sur la compréhension du contenu visuel. Grâce à l’augmentation constante de la puissance de calcul, ces technologies à forte valeur ajoutée ont connu un développement spectaculaire ces dernières années, dans une multitude de domaines.

Cette diversité est illustrée avec de nombreux exemples qui appartiennent déjà à notre quotidien :

  • identification par reconnaissance faciale pour le déverrouillage des smartphones ou le contrôle d’accès à des sites fortement sécurisés ;

  • assistance à la conduite avec la détection automatique d’obstacles et de panneaux de signalisation par les caméras installées à bord des véhicules ;

  • surveillance des autoroutes pour alerter de la présence d’un véhicule sur la bande d’arrêt d’urgence ou du début de la formation d’un bouchon ;

  • détection de fraudes par analyse des images satellites pour détecter la présence de piscines extérieures non déclarées ;

  • appareils électroménagers rendus « intelligents » avec l’intégration d’une micro-caméra dans une centrale vapeur pour adapter automatiquement la température en fonction du type de linge détecté, ou à l’intérieur d’un four pour surveiller le déroulement de la cuisson ;

  • aide au diagnostic dans l’interprétation d’imageries médicales (radiographie, échographie, scanner, IRM…) ;

  • automatisation du contrôle qualité en usine.

Si ce n’était pas forcément le cas pour les premiers développements, ces systèmes utilisent maintenant majoritairement des algorithmes à base d’intelligence artificielle...

Fonctionnement d’un réseau à convolution

1. Exploitation de « features »

a. Notion de « features »

La puissance des réseaux à convolution réside dans leur capacité à simplifier la classification, avec l’identification automatique de motifs discriminants dans les images. Afin de bien comprendre le rôle de ces éléments, communément appelés « features », commençons par détailler un exemple didactique très simple.

Imaginons une tâche de classification visant à séparer les images qui contiennent une croix de celles avec un rond :

images/Ch05.2.1.1a.png

Différentes images avec des croix et des ronds

L’utilisation de features permet de se focaliser sur certains éléments spécifiques des images au lieu de les analyser dans leur globalité. Pour notre exemple, la recherche de 4 motifs de 9 pixels suffit pour faire la distinction entre une croix et un rond :

images/Ch05.2.1.1b.png

Features à utiliser pour distinguer une croix d’un rond

L’identification de ces éléments dans les images à classer donne les résultats suivants :

images/Ch05.2.1.1c.png

Présence des motifs dans les images avec des croix

images/Ch05.2.1.1d.png

Présence des motifs dans les images avec des ronds

Ces tableaux permettent d’établir les règles ci-dessous pour classer une image, avec uniquement l’analyse de la présence des motifs :

images/Ch05.2.1.1e.png

Cette logique fonctionne également sur d’autres variantes de représentations de croix et de ronds :

images/Ch05.2.1.1f.png

Autres images pour lesquelles les règles fonctionnent également

Dans cet exemple, pour faciliter la compréhension, les features sont des motifs directement visibles dans les images. Ce n’est généralement pas le cas dans les réseaux à convolution où elles sont le résultat de multiples transformations mathématiques appliquées aux pixels.

b. Extraction automatique

Pour la classification d’images, les réseaux à convolution synthétisent les avantages des deux approches détaillées dans la section Nécessité d’un prétraitement :

images/Ch05.2.1.2.png

Réseau à convolution avec des images de grande taille

À l’instar des perceptrons...

Exemples de réseaux à convolution

1. Les débuts avec LeNet-1

Pour introduire les réseaux à convolution, nous avons fait référence à la victoire d’AlexNet dans la compétition ImageNet en 2012. Pourtant les travaux sur ces modèles sont beaucoup plus anciens puisqu’ils ont débuté à la fin des années 1980. À cette période Yann Le Cun travaillait aux États-Unis pour les laboratoires de recherche AT&T Bell sur une solution de reconnaissance de chiffres manuscrits, pour le traitement automatique des chèques [12].

En 1989, son équipe a mis au point un premier modèle baptisé LeNet-1 pour lequel une vidéo de démonstration, tournée à l’époque, est disponible sur YouTube :

images/Ch05.3.1.png

Démonstration du réseau LeNet-1 par Yann Le Cun en 1989

images/video.png Vidéo avec la démonstration du réseau LeNet-1 par Yann Le Cun : https://www.youtube.com/watch?v=H0oEr40YhrQ

Comme les puissances de calcul étaient limitées, ce réseau fonctionnait avec une architecture très simple. Il traitait des images de 16×16 pixels, avec deux couches de convolution utilisant des noyaux 5×5, et possédait une seule couche de 10 neurones totalement connectés en sortie. Au fil des années, les modèles se sont enrichis avec plusieurs générations d’architectures (LeNet-2, LeNet-3…), pour aboutir en 1998 à la publication du modèle LeNet-5.

2. Réseau LeNet-5

LeNet-5 est certainement le modèle à convolution le plus repris sur Internet. C’est important de le connaître car il représente un jalon historique majeur dans le développement des réseaux de neurones convolutifs. Sa mise au point a bénéficié de la création de la base de chiffres manuscrits MNIST détaillée dans le chapitre Programmation d’un perceptron multicouche.

a. Publication historique

L’architecture du réseau LeNet-5, publiée en 1998 [18], est la suivante :

images/Ch05.3.2.1.png

Architecture du réseau LeNet-5 publiée en 1998

La désignation subsampling (sous-échantillonnage), qui fait référence aux couches de réduction de dimensions, est maintenant...

Un réseau à convolution dans une centrale vapeur

1. Une caméra pour identifier le textile

La société Philips commercialise une centrale vapeur baptisée PerfectCare Série 9000. Il s’agit d’un produit haut de gamme, destiné au grand public, avec un prix proche des 700 €. Ce positionnement se justifie par une solution extrêmement innovante, avec l’utilisation d’une caméra couplée à de l’intelligence artificielle pour reconnaître les textiles et adapter automatiquement la température de la semelle et la quantité de vapeur.

images/Ch05.4.1.png

Centrale vapeur avec caméra intégrée (source Philips.fr)

L’objectif est d’améliorer l’expérience utilisateur, en simplifiant l’usage du produit. Aucun réglage manuel n’est nécessaire : les boutons pour sélectionner le type de tissus (laine, lin, coton…) ou le caractère délicat du textile ont disparu ! Ils sont remplacés par une caméra, couplée à un microcontrôleur, qui automatise ces réglages en temps réel.

images/video.png Vidéos qui détaillent l’utilisation de la centrale vapeur :

Comme pour le lave-linge présenté dans le chapitre Découverte des réseaux de neurones, l’utilisation d’intelligence artificielle dans le produit constitue un argument commercial fort pour démontrer une avance technologique. C’est une manière de se démarquer de la concurrence, et de valoriser un produit.

2. Découverte du fonctionnement dans les brevets

La société Philips communique sur l’utilisation de l’intelligence artificielle, mais ne donne aucune précision...

Conclusion

L’objet de ce chapitre était de détailler le fonctionnement des réseaux de neurones à convolution pour l’analyse d’images.

Après un tour d’horizon de la diversité des domaines d’application de la vision numérique, nous avons expliqué pourquoi l’utilisation d’un perceptron multicouche n’était pas possible dès que le nombre de pixels dans les images devient trop élevé.

La solution des réseaux à convolution a ensuite été introduite avec la présentation de la compétition Imagenet, et la victoire en 2012 du modèle AlexNet. Ce succès, qui a révélé le potentiel de cette architecture pour la classification d’images, a déclenché une véritable révolution dans le domaine de la vision par ordinateur et de l’apprentissage profond.

Ces nouveaux modèles exploitent des calculs de convolution utilisés depuis longtemps en traitement d’images. Après un rappel sur ces opérations matricielles, nous avons expliqué leur mise en œuvre dans un réseau de neurones. Le fonctionnement repose sur une étape d’extraction des caractéristiques discriminantes dans une image, pour réduire et spécialiser les informations transmises aux couches de classification....