Terminale SI : Séquence 4

L’homme augmenté : vision par ordinateur avec l’intelligence artificielle

 

À travers l’histoire, les humains ont créé des machines pour faire le travail pour eux. Plus récemment, ce courant s’est développé pour inclure des machines qui imitent nos sens, comme notre vision. Les technologies de reconnaissance visuelle sont des technologies qui peuvent voir et identifier les choses. Ces technologies permettent aux machines, aux robots et aux applications de voir et de comprendre le monde tel que nous le voyons.


Séquence n°4 : L’homme augmenté – vision par ordinateur avec l’intelligence artificielle
Compétences Compétences développées Connaissances associées
Analyser Analyser le traitement de l’information Algorithme, programme
Langage informatique
Notions sur l’intelligence artificielle
Modéliser Traduire le comportement attendu ou observé d’un objet Comportement séquentiel
Structures algorithmiques (variables, fonctions, structures séquentielles, itératives, répétitives, conditionnelles)
Diagramme d’états-transitions
Traduire un algorithme en un programme exécutable Langage de programmation

 

#1. Programmation de la caméra embarquée avec OpenCV

Les activités pratiques que nous allons mettre en œuvre par la suite vont consister à analyser des vidéos à l’aide d’une intelligence artificielle. Nous allons par conséquent dans cette troisième partie apprendre à programmer le Jetson nano pour acquérir un flux vidéo en provenance d’une caméra. Cette caméra pourra être connectée sur un port USB ou sur un port MIPI.

 

#2. IA et deep learning : Création d’un modèle simple de reconnaissance d’image avec Keras / Tensorflow

La reconnaissance d’image, sous-catégorie de la Computer Vision et de l’Intelligence Artificielle, représente un ensemble de méthodes de détection et d’analyse d’images pour permettre l’automatisation d’une tâche spécifique. Il s’agit d’une technologie qui est capable d’identifier des lieux, des personnes, des objets et plusieurs autres types d’éléments au sein d’une image et d’en tirer des conclusions en les analysant.

Cette partie a pour objectif d’introduire les concepts de base de l’utilisation de l’intelligence artificielle pour la reconnaissance d’images. Nous utiliserons plus spécifiquement les librairies Keras / Tensorflow qui sont parmi les plus utilisées dans le domaine. Nous allons introduire les concepts de dataset et d’entraînement d’un modèle.

Comme activité pratique, nous allons programmer une intelligence artificielle permettant de réaliser de la reconnaissance d’image. Pour cela, nous mettrons en œuvre des réseaux de convolutions pour traiter et analyser les images.

 

#3. Classification d’images à l’aide du deep learning avec le modèle ResNet

ResNet est une structure de réseau proposée par He Kaiming, Sun Jian et d’autres de Microsoft Research Asia en 2015, et a remporté la première place dans la tâche de classification ILSVRC-2015. Dans le même temps, il a remporté la première place dans les tâches de détection ImageNet, de localisation ImageNet, de détection COCO et de segmentation COCO.

Dans sa version la plus complexe, ce modèle est composé de 50 couches, et a la particularité d’introduire des connexions résiduelles. Contrairement aux réseaux de neurones convolutifs qui ont une architecture linéaire (un empilement de couches dont chaque sortie est uniquement connectée à la couche suivante), dans un réseau résiduel, la sortie des couches précédentes est reliée à la sortie de nouvelles couches pour les transmettre toutes les deux à la couche suivante

Nous allons programmer ce modèle dans le Jetson nano en Python afin de réaliser de la classification d’image : Savoir par exemple en temps réel si sur une vidéo un pouce est levé ou baissé !

 

#4. Suivi d’objets sur une vidéo en temps réel

La régression d’image va nous permettre de réaliser un suivi en temps réel d’un objet sur une vidéo. Dans l’exemple que nous allons programmer, nous suivrons une partie de notre visage, par exemple notre nez !

Le modèle que nous programmerons est basé sur le modèle ResNet, auquel nous intégrerons une surcouche spécialisée dans la détection de la cible à suivre.