Module AI HAILO Raspberry PI5 – Partie 1 : Introduction

Au sommaire :

Première partie : présentation des modules et kit IA pour Raspberry PI

Je vous propose de partager mon retour d’expérience sur la mise en œuvre d’une intelligence artificielle avec le nouveau module HAILO 8 (ou HAILO 8L) intégré dans un Raspberry PI5, capable de reconnaître et différencier divers objets personnels.

Le principe repose sur l’entraînement automatique d’un réseau de neurones, en utilisant les outils YOLO et le compilateur HAILO, à partir d’un ensemble de données constitué d’un certain nombre d’images (le « DataSet »).

Ce réseau de neurones sera ensuite capable d’identifier, avec un taux de certitude donné, les objets pour lesquels il a été entraîné, que ce soit sur des images statiques ou sur un flux vidéo.

Cet article, consacrée à la mise en œuvre d’une intelligence artificielle embarquée sur un Raspberry Pi 5, est composé de 5 grands chapitre : 

Partie 1 - Introduction

Voici une rétrospective des modules IA pour Raspberry PI

L’année 2024 fut marquée, particulièrement pour nos chères cartes Raspberry PI, par l’arrivée de multiples modules AI officiels.

Ces modules, proposés par la fondation Raspberry, sont capables de réaliser les traitements requis par l’utilisation de réseaux de neurones de l’IA que l’on souhaite mettre en œuvre. Comme le ferait un GPU (Graphics Processing Unit) dans une grosse machine … et ainsi, réduire considérablement les sollicitations du microprocesseur principal (CPU) .

En pratique, les modules accélérateur d’IA permettent de créer des applications complexes de traitement vidéo en temps réel, ou de « vision intelligente par ordinateur », avec une très faible latence, même sur des ordinateurs de taille modeste !

Les domaines d’application sont très nombreux ! On peut citer par exemple : la détection d’objets, la détection de personne, de visage,la segmentation d’image, la classification, la détection de pose, le suivi (ou tracking).

le "kit AI" - juin 2024

Ce kit est composé d’une carte d’extension au format Raspberry disposant d’un connecteur M2 , la carte M2 HAT.+
Le connecteur M2 utilise le bus PCIe 3.0 à une vitesse de 8Gbit/s et peut éventuellement accueillir un disque SSD.
Mais dans le cadre de notre Kit AI, le connecteur accueille un module accélérateur d’IA Hailo-8L.
Le puce accélératrice Hailo-8L est capable de réaliser 13 Téra-opérations par seconde (13 TOPS) et est évidemment compatible avec les modules caméra du RPI.
Le kit est accompagné d’une suite logiciel permettant de faire ses premiers pas autour des libs rpicam-apps ( on en parle plus bas )

le compilateur Hailo DFC - juillet 2024

Très rapidement, le mois suivant, Hailo annonce la sorti de son compilateur Dataflow (DFC) qui permet de personnaliser le réseau de neurone selon ses besoins.
Un conteneur Docker est proposé pour faciliter l’installation.

2 méthodes sont proposées :

la caméra AI - septembre 2024

Là où le Kit AI Hailo est uniquement compatible avec la carte PI 5 , la caméra officielle Raspberry AI est utilisable sur l’ensemble de la gamme des cartes, y compris la Raspberry PI Zero.

Cette caméra embarque un capteur Sony IMX500 de 12 millions de pixel avec une vision à 78 degrés et également le micro-contrôleur RP2040 ( oui ! le même que sur le Raspberry PICO !) pour la gestion du réseau de neurone et du firmware.

La suite logiciel d’IA de Sony permet de mettre en œuvre les réseaux de neurones de type TensorFlow ou PyTorch après conversion et chargement dans la flash de la caméra.

le Raspberry Pi AI HAT+ - septembre 2024

Cette fois ci, l’accélérateur Hailo AI n’est plus au format d’une carte M2 !

C’est bien une carte d’extension pour Raspberry PI5 : un module HAT, en deux versions :

  • le modèle 13 TOPS (téra-opérations par seconde), doté du même accélérateur Hailo-8L que le kit AI
  • le modèle 26 TOPS, plus puissant ! équipé de l’accélérateur Hailo-8

 

Toujours raccordé au bus PCIe Gen 3.0

https://www.raspberrypi.com/products/ai-hat/

D'autres solutions IA pour Raspberry

Une autre solution, mais moins officielle, consiste à utiliser une carte d’extension de type Hat uPCIty Lite pour disposer d’un bus PCIe x4 sur son Raspberry PI.

Ce Bus PCIe x4 permet ensuite de connecter une carte de type Alftel 12x PCI Express M.2 Carrier Board … qui dispose de 12 slots PCI Express M2 !!!

Nous pourrions donc installer 12 modules Hailo-8L au format M2 !!!

Hat uPCIty Lite
Alftel 12x PCI Express M.2 Carrier Board

En vidéo ici 👉 https://youtu.be/oFNKfMCGiqE

🤔 Mais puisque nous disposons d’un bus PCIe x4, il serait donc possible de plugger directement une carte graphique (GPU) type GTXxxxx sur le Hat uPCIty Lite … !!!

Ok ! cette solution reste plutôt expérimentale …!!

A noter également qu’il existe d’autres modules AI, comme par exemple le module Accélérateur Google Coral M.2 (A+E).
Une solution économique doté du processeur Google Edge TPU capable d’atteindre une performance de 4 tera-opérations par seconde.

…mais comment mettre en oeuvre ces modules AI ???