Intelligence artificielle et robotique avec le robot Jetbot

所在平台: Udemy

课程主页: https://www.udemy.com/course/intelligence-artificielle-et-robotique-avec-le-robot-jetbot/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:人工智能与机器人技术——Jetbot机器人 课程概述:在本课程中,您将学习如何编程Jetbot套件,以进行与自主驾驶汽车开发相关的项目。您将学习实施图像识别、轨迹跟踪以及视频中的物体检测和识别等技术。课程将使用Python编程语言及深度学习相关的库,如TensorFlow、Keras和Numpy等。 Jetbot是一个开放源代码的人工智能机器人平台,为制造商、学生和技术爱好者提供了创建创意、智能和引人入胜的AI应用所需的一切。该平台基于NVIDIA Jetson Nano计算机,既紧凑又强大,支持多个传感器和神经网络并行工作,用于物体检测、避免碰撞等功能。课程通过七个学习主题,帮助您掌握如何使用Jetson Nano开发包与Jetbot合作进行机器人技术项目。 主要学习主题包括: 1. 硬件安装及Jetson Nano与Jetbot开发软件的安装 2. Jetbot的基础驾驶 3. 使用游戏手柄控制Jetbot的移动 4. 实施避免碰撞的人工智能 5. 利用TensorRT优化模型,实现实时处理 6. 使用AI进行轨迹跟踪(Restnet-18模型) 7. 使用AI(SSD-MobileNet V2模型)实时检测、识别和跟踪物体 课程时长超过7小时,适合希望在机器人技术中应用人工智能的学员。 先决条件:掌握Python编程是理解本课程的重要基础,特别是与AI及相关库有关的内容。了解Linux环境将是一个加分项。先前学习过Jetson Nano的课程将是一个优势,但并非必要。如果您在深度学习、Arduino或Raspberry Pi方面已有经验,也将能够拓展您的技能。 在线支持:无论您的基础如何,我会随时帮助您进步。如在编程中遇到困难,请随时提问,您的积极性是成功的关键。通过本课程,您将能够自如使用NVIDIA的Jetson Nano和Jetbot,实施各种人工智能驱动的机器人项目。

课程评论(0条)

课程详情

Dans ce cours, vous allez apprendre à programmer le kit Jetbot pour réaliser des projets liés au développement des voitures autonomes. Vous verrez par exemple comment mettre en auvre de la reconnaissance d'image, du suivi de trajectoire ou encore de la détection et de l'identification d'objets 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, …Une image à graver avec l'ensemble des logiciels et ressources préinstallés est disponible en téléchargement.Le JetBot est une plateforme de robotique open-source pour l'IA qui offre aux constructeurs, aux étudiants et aux passionnés de technologie tout ce dont ils ont besoin pour créer des applications d'IA créatives, intelligentes et captivantes. Elle est basée sur l'ordinateur NVIDIA Jetson Nano pour l'IA, à la fois compact et puissant, qui prend en charge de multiples capteurs et réseaux de neurones en parallèle pour la détection d'objets, l'évitement des collisions et bien plus encore. Cette plateforme de robotique à haut degré d'innovation vous propose une grande variété de configurations vous permettant de mettre en auvre des applications sur mesure.Des explications claires et de nombreux exemples vous permettront de bien comprendre comment utiliser le kit de développement Jetson Nano avec le Jetbot à travers 7 thèmes d'étude:La mise en place du matériel et l'installation des logiciels de développement dédiés au Jetson nano et au Jetbot Le pilotage de base du robot JetbotL'utilisation de la manette de jeu pour commander les déplacements du JetbotMettre en place une IA pour faire de l'évitement de collisionsOptimiser les modèles avec TensorRT pour les rendre ultra rapides afin de faire du temps réelFaire un suivi de trajectoire en utilisant une IA (modèle Restnet-18)Détecter, identifier et suivre des objets avec le robot à l'aide d'une IA (modèle SSD-MobileNet V2) en temps réelLes activités en Python sont clairement expliquées. D'une durée totale de plus de 7h, ce cours vous permettra d'être à l'aise dans l'utilisation du kit Jetson nano de nvidia et du Jetbot pour mettre en auvre des projets de robotique qui utilisent de l'intelligence artificielle.=== 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. De même, des connaissances de l'environnement Linux sont également un plus.Avoir suivi ma formation précédente dédiée au kit Jetson Nano est également un plus. Cependant, cela n'est pas une condition nécessaire pour suivre ce cours.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. Si vous avez déjà suivi ma formation sur le Jetson nano, vous trouverez dans ce cours de nombreuses nouveautés liées à la robotique.== 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. Mise en place du matériel et installation des logiciels de développement dédiés au Jetson nano et au JetbotLe module Jetson nano 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.Le Jetbot utilise une librairie spécialisée qui offre la possibilité de le programmer en Python. Cette librairie peut être installée depuis le dépôt officiel Github.Tous les exemples que nous allons traiter seront exécutés sous l'environnement JupyterLab.#2. Le pilotage de base du JetbotLe Jetbot est programmable en langage Python avec des commandes simples pour le faire avancer, reculer, tourner, etc… De plus, l'interface JupyterLab offre de nombreuses possibilités pour rendre plus agréable la gestion et le pilotage du robot. Par exemple, les Widgets permettent d'afficher le flux vidéo de la caméra en temps réel ou encore de créer des joysticks graphiques virtuels pour piloter le robot.Nous verrons dans cette partie comment programmer nos propres interfaces de pilotage à l'aide de ces outils.#3. Utilisation de la manette de jeu pour commander les déplacements du JetbotLe kit Jetbot est vendu avec une manette de jeu sans fil afin de rendre son pilotage plus attrayant.Dans cette partie, vous apprendrez à programmer des scripts en Python pour gérer les ordres issus de la manette de jeu (comme par exemple pour déplacer le Jetbot). Vous verrez également comment prendre des images et les enregistrer à l'aide de la manette de jeu.#4. Mettre en place une IA pour faire de l'évitement de collisionsLes voitures autonomes sont en plein essor et une des tâches les plus importantes de ce domaine est d'éviter des obstacles. Pour cela, nous avons besoin de mettre en place une IA permettant de reconnaître des images.ResNet est une structure de réseau qui est, dans sa version la plus complexe, 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 suivanteNous allons programmer ce modèle dans le Jetson nano en Python afin de l'utiliser avec le Jetbot pour réaliser de la détection d'obstacles.#5. Optimiser les modèles avec TensorRT pour les rendre ultra rapides afin de faire du temps réelLes 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 reconnaissance d'image: il nous permettra d'améliorer le débit de traitement de notre modèle à presque 80 images/s!#6. Faire un suivi de trajectoire en utilisant une IA (modèle Restnet-18)Une autre problématique des voitures autonomes et de pouvoir suivre une trajectoire lors de leurs déplacements. Pour cela, elles peuvent utiliser une caméra embarquée afin de reconnaitre par exemple les marquages au sol sur les routes.Dans cette partie, nous allons mettre en place une IA qui permettra au Jetbot de reconnaître des marquages au sol pour suivre une trajectoire. Nous mettrons également en auvre un algorithme d'asservissement de type PID (Proportionnel Intégral et Dérivé) pour piloter le déplacement du Jetbot afin qu'il utilise au mieux les informations fournies par l'IA. De cette manière, ses déplacements seront mieux optimisés.Bien entendu, tout cela se fera en temps réel après avoir optimisé le modèle avec TensorRT.#7. Détecter, identifier et suivre des objets avec le robot à l'aide d'une IA (modèle SSD-MobileNet V2) en temps réelIl n'y a pas si longtemps, on parlait des MobileNet, de la reconnaissance d'image en temps réel. Véritable enjeux de notre société, son application la plus connue à l'heure actuelle est l'identification de « boxing » , i.e. trouver dans une image tous les objets et toutes les personnes pour les encadrer et les mettre en évidence.MobileNet est un réseau de neurones à convolution (CNN), qui a divisé sa phase de convolution en deux opérations plus simples (et rapides). SSD (Single Shot Multibox Detector) permet, en scannant l'image, d'identifier toutes les zones qui présentent un élément à classifier. En combinant les deux algorithmes, on a SSD qui place des boîtes sur toute l'image puis on a MobileNet qui les classifie, ce qui rend l'algorithme très performant et utile!Dans cette partie, vous apprendrez à utiliser des modèles pré-entrainé disponibles dans les ressources publiques de Tensorflow afin de les intégrer dans le Jetbot. Le modèle que nous utiliserons est le SSD-MobileNet V2.Grace à ce modèle, le Jetbot sera capable d'identifier des objets spécifique sur une vidéo et de se déplacer vers ces objets. Bien entendu, tout cela se fera en temps réel après avoir optimisé le modèle avec TensorRT.

课程标签

0人关注该课程

主题相关的课程