Formation à l'IA et à l'IoT avec le Jetson nano de Nvidia

Initiez-vous à l'internet des objets et à l'intelligence artificielle (deep learning) avec Tensorflow / Keras en Python

Ratings 3.95 / 5.00
Formation à l'IA et à l'IoT avec le Jetson nano de Nvidia

What You Will Learn!

  • Installer et configurer Linux sur le Jetson Nano. Administrer le système d'exploitation à distance, installer Visual studio et Jupyter Notebook.
  • Coder des programmes en Python pour mettre en œuvre de l'IOT dans le kit Jetson nano de nvidia. Communiquer avec des capteurs via le port GPIO et le bus I2C
  • Mettre en œuvre une caméra USB et CSI afin de capturer un flux vidéo et des images à l'aide de la librairie OpenCV en Python. Utiliser les pipelines d'OpenCV.
  • Installer et utiliser les bibliothèques spécialisées dans l'IA et le deep learning telles que Keras, Tensorflow, Numpy et Pandas sur le Jetson Nano.
  • Coder des modèles de classification d'images embarqués dans le kit Jetson nano : Applications à la reconnaissance d'image et à l'analyse des ressentis
  • Coder des modèles de régression d'images embarqués dans le kit Jetson nano : Applications au suivi d'objet dans une vidéo
  • Optimiser les modèles avec TensorRT pour accélérer leur exécution et leur bande passante dans les systèmes embarqués

Description

Le kit Jetson Nano de NVIDIA offre des capacités sans précédent à des millions de systèmes d’intelligence artificielle à hautes performances et basse consommation. Cette innovation technologique ouvre de nouvelles possibilités pour les applications embarquées de l’IoT. Jetson Nano est la solution idéale pour les professionnels qui souhaitent se former à l’IA avec des paramètres réalistes et des projets prêts à l’essai.


Une image à graver avec l'ensemble des logiciels et ressources préinstallés est disponible en téléchargement.


Aux dimensions de 70 x 45 mm, le Jetson Nano n’en développe pas moins une performance de 472 Gflops suffisante pour exécuter des tâches IA dignes de ce nom, et ce dans une enveloppe thermique qui n’excède pas 5 watts.

Dans ce cours, vous allez apprendre à utiliser le Jetson Nano dans le cadre de projets liés à l’IoT et à l’intelligence artificielle telles que la reconnaissance d’image et le suivi de trajectoire sur une vidéo. Vous utiliserez le langage de programmation Python et des librairies spécialisées dans le deep learning comme Tensorflow, Keras, Numpy, …

Des explications claires et de nombreux exemples vous permettront de bien comprendre comment utiliser le kit de développement Jetson Nano à travers 8 thèmes d’étude :

  • Prise en main du Jetson Nano et administration de son système d’exploitation Linux

  • Programmation des entrées – sorties à l'aide des GPIO

  • Programmation de la caméra embarquée avec OpenCV

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

  • Classification d’images à l’aide du deep learning avec le modèle ResNet

  • Analyse des ressentis sur une vidéo à l’aide de la reconnaissance d’image

  • Régression d’images : application au suivi d’objets sur une vidéo

  • Optimisation des performances des modèles embarqués avec TensorRT

Les activités en Python sont clairement expliquées. D'une durée totale de plus de 11h, ce cours vous permettra d'être à l'aise dans l'utilisation du kit Jetson nano de nvidia pour mettre en œuvre de l'intelligence artificielle ou de l'IoT.


=== Prérequis ===

Des connaissances en Python sont un plus pour bien comprendre les programmes utilisés, en particulier ceux liés à l'intelligence artificielle et à l'utilisation des librairies Tensorflow / Keras.

Si vous avez déjà une expérience en Deep Learning, en Arduino ou encore en Raspberry PI, vous découvrirez certainement de nouveaux thèmes d'étude qui vous permettront d'élargir vos compétences.


== Aide en ligne ===

Quelque soit votre niveau, je suis disponible pour vous aider dans votre progression. Vous pourrez éventuellement rencontrer des difficultés en programmation car il est bien évident que vous avez tous un bagage différent en fonction de votre parcours (études ou professionnel).

Dans ce sens, il ne faudra surtout pas hésiter à me poser vos questions et je m'engage à y répondre dans un délai raisonnable. Votre motivation est essentielle pour réussir cette formation.


=== Thèmes étudiés dans la formation ===

#1. Prise en main du Jetson Nano et administration de son système d’exploitation Linux

Le module prend en charge le kit de développement JetPack qui intègre les bibliothèques d’accélération Nvidia Cuda-X ainsi qu’une pile IA complète avec bibliothèques pour l’apprentissage machine, la vision artificielle, les calculs graphiques et le traitement multimédia. JetPack dispose en outre d'un système d’exploitation Linux et des dernières versions en date des logiciels Cuda, cuDNN et TensorRT.


#2. Programmation des entrées – sorties à l'aide des GPIO

Les ports GPIO (anglais : General Purpose Input/Output, littéralement Entrée-sortie à usage général) sont des ports d'entrées-sorties très utilisés dans le monde des microcontrôleurs, en particulier dans le domaine de l'électronique embarquée, qui ont fait leur apparition au début des années 1980. Elles sont placées sur un circuit électronique afin de communiquer avec des composants électroniques et circuits externes. Il peut s'agir de détecteurs ou senseurs pour capter des données, ou encore de contrôler des commandes.

Nous apprendrons dans cette partie à utiliser les GPIO en Python ce qui nous permettra d'utiliser divers capteurs et actionneurs.


#3. 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 ici 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.


#4. 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.

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 convolution pour traiter et analyser les images.


#5. 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é !


#6. Analyse des ressentis sur une vidéo à l’aide de la reconnaissance d’image

Pour aller plus loin, en guise d'exercice d'application nous utiliserons le même modèle Resnet pour reconnaître en temps réel l'état émotionnel d'une personne : Est-elle heureuse ou triste ? Ou plutôt d'une humeur neutre ... voire en colère ?


#7. 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.


#8. Optimisation des performances des modèles embarqués avec TensorRT

Les modèles utilisés en intelligence artificielle demandent beaucoup de ressources de calcul : c'est d'ailleurs tout l'intérêt d'utiliser le Jetson nano, qui intègre un GPU dédié aux calculs complexes.

Mais les performances des GPU ne sont pas toujours assez élevées, et si nous souhaitons embarquer de l'intelligence artificielle dans un système de traitement en temps réel, nous devons optimiser au maximum les modèles. C'est là que le logiciel TensorRT de NVIDIA intervient. TensorRT est un optimiseur et un Runtime d’inférence haute performance qui offre une faible latence et un débit élevé pour les applications d’inférence d’apprentissage approfondi.

Nous mettrons en pratique son utilisation pour optimiser notre modèle de suivi de trajectoire : il nous permettra d'améliorer le débit de traitement de notre modèle de suivi de trajectoire de 9 images/s à presque 60 images/s !

Who Should Attend!

  • Toute personne souhaitant intégrer de l'intelligence artificielle (IA) ou du deep learning dans un système électronique embarqué
  • Lycéens, étudiants ou professionnels intéressés par l'IOT (Internet of Things), l'intelligence artificielle (IA) et le deep learning
  • Lycéens, étudiants ou professionnels souhaitant coder des modèles du deep learning en Python avec Keras / Tensorflow dans le domaine du traitement de l'image (reconnaissance et classification d'image)

TAKE THIS COURSE

Tags

  • Deep Learning
  • Digital Electronics
  • Internet Of Things
  • TensorFlow

Subscribers

203

Lectures

85

TAKE THIS COURSE



Related Courses