Module AI HAILO Raspberry PI5 – Partie 2 : Config & Tests

Au sommaire :

2ème partie : configuration de l’environnement hardware & software sur Raspberry PI  …  et premier tests

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 2 - Configuration rapide et tests des modules AI

Première configuration

Bon ! Pour bien démarrer, la première chose à faire est de suivre les instructions d’installation hardware et software sur le site officiel.

pour la hardware :
https://www.raspberrypi.com/documentation/accessories/ai-hat-plus.html
et pour le software :
https://www.raspberrypi.com/documentation/computers/ai.html

Pour résumer très rapidement, voici les principales étapes de configuration :

Mise à jour du système PI OS :

				
					sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y
				
			

Vérification de la version du micrologiciel (bootloader) du Raspberry Pi :

				
					sudo rpi-eeprom-update 
				
			

Pour utiliser la dernière version du bootloader :

				
					sudo raspi-config

	--> Advanced Options --> Bootloader Version --> Latest
	--> Finish  --> MAIS ne pas rebooter tout de suite ! 
				
			

Mise à jour du micrologiciel (bootloader) du Raspberry Pi & reboot :

				
					sudo rpi-eeprom-update -a 
sudo reboot 
				
			

Ensuite , pour forcer les vitesses Gen 3.0 (8 GT/s) du bus PCIe :

				
					dans /boot/firmware/config.txt

	dtparam=pciex1_gen=3
				
			

Et enfin, installation des pilotes et utilitaires HAILO :

				
					sudo apt install hailo-all 		
				
			

Ce package à pour rôle d’installer les dépendances suivantes (janvier 2025):

				
						hailofw (>= 4.19.0), 
	hailort (>= 4.19.0), 
	hailo-tappas-core (>= 3.30.0), 
	rpicam-apps-hailo-postprocess (>= 1.5.3), 
	python3-hailort (>= 4.19.0)
				
			

Il est temps maintenant, de faire quelques vérifications

Vérification de la présence du module AI

pour le Kit AI équipé du module HAILO 8L :

				
					hailortcli fw-control identify
	
		Executing on device: 0000:01:00.0
		Identifying board
		Control Protocol Version: 2
		Firmware Version: 4.19.0 (release,app,extended context switch buffer)
		Logger Version: 0
		Board Name: Hailo-8
		Device Architecture: HAILO8L
		Serial Number: HLDDLBB241602841
		Part Number: HM21LB1C2LAE
		Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
				
			

ou, selon le cas, … pour la carte AI Hat+ équipée du module HAILO 8 :

				
					hailortcli fw-control identify

		Executing on device: 0000:01:00.0
		Identifying board
		Control Protocol Version: 2
		Firmware Version: 4.19.0 (release,app,extended context switch buffer)
		Logger Version: 0
		Board Name: Hailo-8
		Device Architecture: HAILO8
		Serial Number: <N/A>
		Part Number: <N/A>
		Product Name: <N/A>
				
			

Vérification de la présence de la (ou des) caméra(s) RPI

Comme on peut le voir sur ces photos, j’ai équipé mon Raspberry PI de 2 caméras.
Ceux sont deux caméras module 3 équipées du capteur Quad Bayer IMX708 12MP.
l’une en version standard avec un vision à 75 degrés,
l’autre en version grand angle de 120 degrés

				
					rpicam-hello --list-camera

	Available cameras
	-----------------
	0 : imx708 [4608x2592 10-bit RGGB] (/base/axi/pcie@120000/rp1/i2c@88000/imx708@1a)
		Modes: 'SRGGB10_CSI2P' : 1536x864 [120.13 fps - (768, 432)/3072x1728 crop]
									2304x1296 [56.03 fps - (0, 0)/4608x2592 crop]
									4608x2592 [14.35 fps - (0, 0)/4608x2592 crop]

	1 : imx708_wide [4608x2592 10-bit RGGB] (/base/axi/pcie@120000/rp1/i2c@80000/imx708@1a)
		Modes: 'SRGGB10_CSI2P' : 1536x864 [120.13 fps - (768, 432)/3072x1728 crop]
									2304x1296 [56.03 fps - (0, 0)/4608x2592 crop]
									4608x2592 [14.35 fps - (0, 0)/4608x2592 crop]

				
			

Il est maintenant possible de tester, très simplement, le bon fonctionnement de la caméra :

				
					rpicam-hello -t 10s
				
			

Cette commande affiche l’image de vidéo de la première caméra durant 10 secondes, il bien évidement possible de sélectionner la caméra par son numéro d’index

				
					rpicam-hello -t 10s --camera 0
rpicam-hello -t 10s --camera 1
				
			

Tests de Détection, Segmentation, Estimation

la commande « rpicam-hello« , complétée par la suite d’application « rpicam-apps » permettent de mettre rapidement mettre en œuvre la détection d’objets, la segmentation d’images , l’estimation de pose

				
					apt install rpicam-apps
	
rpicam-hello -t 0 --camera 1 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_inference.json
				
			

Test du module AI Kit - Raspberry PI - Episode 1

D’autres tests sont décrits dans la documentation officielle du Raspberry PI :
–> https://www.raspberrypi.com/documentation/computers/ai.html

Exemples proposés par HAILO

Pour maintenant aller un peu plus loin,
nous pouvons tester les exemples proposés par la société HAILO :

				
					git clone https://github.com/hailo-ai/hailo-rpi5-examples.git
cd hailo-rpi5-examples

./install.sh

source setup_env.sh
				
			

puis, pour lancer l’exemple sur un vidéo :

				
					python basic_pipelines/detection.py
				
			

ou, pour tester de puis la camera :

				
					python basic_pipelines/detection.py --input rpi
				
			

Test du module AI Kit - Raspberry PI - Episode 2