4 semaines de stage pour apprendre le machine learning (l’IA)
Adobe Stock
  • Titouan Vissouarn et Youen le Buan
Temps de lecture estimé : 3 à 5 minutes

Environnement de travail, préparation des données, entraînement d'un modèle, inférence et enrichissement du modèle par des références client. Un tour d'horizon complet des bases de l'intelligence artificielle.

Présentation du contexte 

L’objectif du stage de terminale

Nous sommes deux élèves de terminale du Lycée Le Dantec à Lannion. Après un premier stage à classer des images satellites, nous avons travaillé sur un projet de segmentation automatique de vidéos, en nous appuyant sur le travail réalisé par un stagiaire de l’IMT.

Qu’est-ce que le machine learning ?

Le machine learning (ML) est une branche de l'intelligence artificielle (IA) qui permet aux ordinateurs d'apprendre et de s'améliorer à partir de données sans être explicitement programmés. Les algorithmes de machine learning identifient des patterns dans les données pour faire des prédictions ou des décisions automatisées.

Le projet Aquascan

Le projet Aquascan concerne ISITIX et KAMAHU.

Nous avions déjà travaillé sur l’annotation d’images satellites pour ISITIX. Cette fois-ci, nous avons pu aller plus loin en travaillant sur des vidéos, poursuivant notre apprentissage après les images satellites.

KAMAHU mène des travaux de R&D et réalise des innovations technologiques en étroite collaboration avec ISITIX. Les développements actuels concernent l'IoT, l'imagerie satellitaire et le machine learning appliqués à l'élevage.

KAMAHU édite également un SaaS dédié aux fermes aquacoles du monde entier, des laboratoires, des écloseries et des centres de formation, pour leur suivi d'élevage.

Première semaine de stage : démarrage et prise de connaissance de l’environnement

Un environnement de travail Linux

Nous avons installé Linux sur des PC portables via une clé USB pour créer un environnement de travail adapté.

Création de comptes Thunderbird pour une communication cryptée

Afin d'assurer une communication sécurisée, nous avons créé des comptes Thunderbird pour échanger des e-mails cryptés. Thunderbird intègre des outils anti-spam pour filtrer les courriels indésirables et supporte plusieurs comptes de messagerie avec des protocoles IMAP, POP3 et SMTP.

Des outils cloud

Nous avons découvert et utilisé des outils cloud pour faciliter notre projet, tels que :

  • Google Colab pour l'exécution de notebooks collaboratifs ;
  • GitHub, une plateforme de gestion de version et de collaboration pour les développeurs, permettant de stocker, suivre et gérer des projets de code.

Au secours, où est mon ChatGPT ?

Nous avons également appris à utiliser ChatGPT pour nous aider à résoudre des problèmes techniques rencontrés pendant le stage. Les problèmes rencontrés étaient que nous ne connaissions pas le développement et aucun des outils utilisés. Nous avons donc dû utiliser ChatGPT pour nous faciliter la tâche. Nous avons appris à poser les bonnes questions à ChatGPT pour obtenir des réponses précises.

Description de la situation par le tuteur

Notre tuteur nous a expliqué le contexte et les objectifs du projet, ainsi que les défis que nous allions rencontrer.

Deuxième semaine de stage : préparation des données, annotation de vidéos

Prise en main du cloud

Nous avons commencé par nous familiariser avec les outils cloud disponibles pour notre projet.

Installation en local (Docker)

Nous avons également installé et configuré Docker en local pour préparer notre environnement de travail.

Prise en main de l'outil d'annotation d'images CVAT

Nous avons exploré et utilisé CVAT (Computer Vision Annotation Tool), un outil d'annotation d'images, pour marquer et catégoriser les objets dans les vidéos.

Reprise du travail d'un ancien stagiaire

Nous avons étudié et repris le code développé par un ancien stagiaire, qui avait travaillé sur l'entraînement et la prédiction des annotations sur les vidéos.

Choix par rapport à la suite du stage

Le responsable de stage nous a présenté deux choix possibles :

  • Travailler en local (temps de paramétrage), mais avec plus de possibilités pour le ML.
  • Utiliser l’outil cloud et éventuellement acheter un mois d’abonnement pour se concentrer sur le ML plutôt que sur le système.

Troisième semaine de stage : utilisation d’un programme en Python sous Colab pour réaliser l’entraînement du modèle et l’inférence

Visual Studio

Nous avons utilisé Visual Studio, un environnement de développement intégré (IDE) créé par Microsoft, pour éditer notre code en langage Python. Cet outil nous a permis d'écrire, de modifier, de déboguer et de déployer notre logiciel.

Colab

Google Colab a été notre principal environnement pour l’entraînement du modèle.

Ultralytics YOLO

Nous avons utilisé Ultralytics YOLO pour la détection et la segmentation d’objets dans les vidéos.

Quatrième semaine de stage : enrichissement du modèle à partir d’exemples clients

Démo à KAMAHU

Nous avons présenté notre travail à KAMAHU et obtenu des retours précieux.

Réaction de l’utilisateur

Les retours des utilisateurs nous ont permis de mieux comprendre les besoins et d’ajuster notre modèle. Les retours étaient des précisions sur ce qu'il fallait annoter, telles que de grosses vagues, la précipitation des poissons, les poissons flottants (morts), les poissons qui sautent, et les aérateurs retournés, afin de repérer des anomalies potentielles ou détecter un certain stress chez les poissons.

Enrichissement du modèle

Nous avons enrichi notre modèle avec de nouveaux exemples, comme la détection d’une hélice qui tourne à l’envers.

Synthèse et conclusion

En quatre semaines, nous avons appris les bases de l’IA. Ce n’est pas si compliqué que cela quand on est motivé comme nous… Cela nous a donné envie de poursuivre dans le ML, de développer.

Titouan Vissouarn et Youen Le Buan
Stagiaires chez Isitix en mai 2024. Élèves au lycée Le Dantec (Lannion, 22) en bac pro systèmes numérique option RISC, nous sommes passionnés d'athlétisme, de vélo et de jeux vidéo. Le Bac Pro SN option RISC est une formation professionnelle qui prépare les étudiants à devenir des techniciens spécialisés dans les systèmes numériques. Un accent particulier est mis sur les réseaux informatiques et les systèmes communicants.