Meet YOLO26: next-gen vision AI.

Link to this sectionGuide de démarrage rapide : Raspberry Pi avec Ultralytics YOLO26#

Raspberry Pi est un ordinateur compact et abordable qui exécute Ultralytics YOLO26 pour la détection d'objets en temps réel en périphérie (edge) — sans GPU nécessaire. Ce guide t'accompagne dans le déploiement de YOLO26 sur Raspberry Pi 4 et 5 : installation du système d'exploitation, installation d'Ultralytics, exportation vers NCNN pour l'inférence la plus rapide sur ARM, et exécution de prédictions sur un flux vidéo en direct. Il inclut également des benchmarks de performance sur dix formats d'exportation pour t'aider à choisir le meilleur compromis entre vitesse et précision pour ton matériel.

Passe directement à la configuration d'Ultralytics, à l'exportation vers NCNN et l'exécution de l'inférence, aux benchmarks, ou à l'inférence avec caméra.



Watch: Raspberry Pi 5 updates and improvements.
Remarque

Ce guide a été testé avec Raspberry Pi 4 et Raspberry Pi 5 exécutant la dernière version de Raspberry Pi OS Bookworm (Debian 12). L'utilisation de ce guide pour des appareils Raspberry Pi plus anciens comme le Raspberry Pi 3 devrait fonctionner tant que la même version de Raspberry Pi OS Bookworm est installée.

Link to this sectionQu'est-ce qu'un Raspberry Pi ?#

Raspberry Pi est un petit ordinateur monocarte abordable. Il est devenu populaire pour une large gamme de projets et d'applications, de la domotique amateur aux utilisations industrielles. Les cartes Raspberry Pi sont capables d'exécuter une variété de systèmes d'exploitation et offrent des broches GPIO (General Purpose Input/Output) qui permettent une intégration facile avec des capteurs, des actionneurs et d'autres composants matériels. Ils sont disponibles en différents modèles avec des spécifications variées, mais ils partagent tous la même philosophie de conception de base : être peu coûteux, compact et polyvalent.

Link to this sectionComparaison de la série Raspberry Pi#

Raspberry Pi 3Raspberry Pi 4Raspberry Pi 5
CPUBroadcom BCM2837, SoC Cortex-A53 64 bitsBroadcom BCM2711, SoC Cortex-A72 64 bitsBroadcom BCM2712, SoC Cortex-A76 64 bits
Fréquence max CPU1,4 GHz1,8 GHz2,4 GHz
GPUVideocore IVVideocore VIVideoCore VII
Fréquence max GPU400 Mhz500 Mhz800 Mhz
Mémoire1 Go LPDDR2 SDRAM1 Go, 2 Go, 4 Go, 8 Go LPDDR4-3200 SDRAM4 Go, 8 Go LPDDR4X-4267 SDRAM
PCIeN/AN/AInterface 1xPCIe 2.0
Consommation d'énergie max2,5 A@5V3 A@5V5 A@5V (PD activé)

Link to this sectionQu'est-ce que Raspberry Pi OS ?#

Raspberry Pi OS (anciennement connu sous le nom de Raspbian) est un système d'exploitation de type Unix basé sur la distribution Debian GNU/Linux pour la famille de micro-ordinateurs Raspberry Pi distribuée par la Raspberry Pi Foundation. Raspberry Pi OS est hautement optimisé pour le Raspberry Pi avec des CPU ARM et utilise un environnement de bureau LXDE modifié avec le gestionnaire de fenêtres Openbox. Raspberry Pi OS est en développement actif, avec un accent mis sur l'amélioration de la stabilité et des performances du plus grand nombre possible de paquets Debian sur Raspberry Pi.

Link to this sectionFlasher Raspberry Pi OS sur Raspberry Pi#

La première chose à faire après avoir mis la main sur un Raspberry Pi est de flasher une carte micro-SD avec Raspberry Pi OS, de l'insérer dans l'appareil et de démarrer le système. Suivez la documentation de démarrage par Raspberry Pi pour préparer votre appareil pour une première utilisation.

Link to this sectionConfigurer Ultralytics#

Tu peux configurer le package Ultralytics sur Raspberry Pi de deux manières pour ton prochain projet de Vision par ordinateur :

Link to this sectionDémarrer avec Docker#

Le moyen le plus rapide de commencer avec Ultralytics YOLO26 sur Raspberry Pi est d'utiliser une image Docker pré-construite pour Raspberry Pi.

Exécute la commande ci-dessous pour récupérer le conteneur Docker et l'exécuter sur Raspberry Pi. Cela repose sur l'image Docker arm64v8/ubuntu, qui exécute Ubuntu 24.04 dans un environnement Python3.

t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $t

L'image Docker inclut déjà Ultralytics, tu peux donc passer directement à l'exportation de ton modèle vers NCNN.

Link to this sectionDémarrer sans Docker#

Link to this sectionInstaller le package Ultralytics#

Ici, nous allons installer le package Ultralytics sur le Raspberry Pi avec des dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats.

  1. Mettre à jour la liste des packages, installer pip et mettre à niveau vers la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installer le package pip ultralytics avec les dépendances optionnelles

    pip install ultralytics[export]
  3. Redémarrer l'appareil

    sudo reboot

Link to this sectionUtiliser NCNN sur Raspberry Pi#

Parmi tous les formats d'exportation de modèles pris en charge par Ultralytics, NCNN offre les meilleures performances d'inférence sur les appareils Raspberry Pi car il est hautement optimisé pour les plateformes mobiles/embarquées telles que l'architecture ARM. Convertis ton modèle YOLO26n PyTorch en NCNN, puis lance l'inférence avec le modèle exporté :

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
Astuce

Pour plus de détails sur les options d'exportation prises en charge, consulte le guide des options de déploiement de modèles.

Link to this sectionAméliorations des performances de YOLO26 par rapport à YOLO11#

YOLO26 est spécifiquement conçu pour fonctionner sur des appareils aux ressources matérielles limitées comme le Raspberry Pi 5. Comparé à YOLO11n, YOLO26n obtient une augmentation d'environ 15 % du nombre d'images par seconde (6,79 → 7,79) tout en offrant un mAP plus élevé (40,1 contre 39,5) avec une taille d'entrée de 640 pour les modèles exportés en ONNX sur Raspberry Pi 5. Le tableau et le graphique ci-dessous présentent cette comparaison.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.14
Performance
ModèlemAP50-95(B)Temps d'inférence (ms/im)
YOLO26n40,1128,42
YOLO26s47,8352,84
YOLO26m52,5993,78
YOLO26l54,41259,46
YOLO26x56,92636,26

Benchmark réalisé avec Ultralytics 8.4.14.

Link to this sectionBenchmarks YOLO26 sur Raspberry Pi 5#

Les benchmarks de YOLO26 ont été réalisés par l'équipe Ultralytics sur dix formats de modèles différents, en mesurant la vitesse et la précision : PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Les benchmarks ont été effectués sur un Raspberry Pi 5 en précision FP32 avec une taille d'image d'entrée par défaut de 640.

Link to this sectionTableau de comparaison#

Nous avons seulement inclus les benchmarks pour les modèles YOLO26n et YOLO26s car les autres tailles de modèles sont trop grandes pour fonctionner sur les Raspberry Pi et n'offrent pas de performances décentes.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.1

Link to this sectionTableau de comparaison détaillé#

Le tableau ci-dessous représente les résultats des benchmarks pour deux modèles différents (YOLO26n, YOLO26s) sur dix formats différents (PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), fonctionnant sur un Raspberry Pi 5, nous donnant le statut, la taille, la métrique mAP50-95(B) et le temps d'inférence pour chaque combinaison.

Performance
FormatStatutTaille sur le disque (MB)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch5.30.4798302,15
TorchScript9.80.4764357,58
ONNX9,50.4764130,33
OpenVINO9.60,481870,74
TF SavedModel24,60.4764213,58
TF GraphDef9,50.4764213.5
TF Lite9.90.4764251,41
MNN9.40.478490,89
NCNN9.40.480567,69
ExecuTorch9.40.4764148,36

Benchmark réalisé avec Ultralytics 8.4.1

Remarque

Le temps d'inférence n'inclut pas le pré/post-traitement.

Link to this sectionReproduis nos résultats#

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d'exportation, exécute ce code :

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

Note que les résultats du benchmarking peuvent varier en fonction de la configuration exacte du matériel et du logiciel d'un système, ainsi que de la charge de travail actuelle du système au moment où les benchmarks sont exécutés. Pour des résultats les plus fiables, utilise un jeu de données avec un grand nombre d'images, par ex. data='coco.yaml' (5000 images de val).

Link to this sectionUtiliser la caméra Raspberry Pi#

Lors de l'utilisation du Raspberry Pi pour des projets de vision par ordinateur, il peut être essentiel de capturer des flux vidéo en temps réel pour effectuer l'inférence. Le connecteur MIPI CSI intégré sur le Raspberry Pi te permet de connecter les modules de caméra officiels Raspberry Pi. Dans ce guide, nous avons utilisé un module caméra 3 Raspberry Pi pour capturer les flux vidéo et effectuer l'inférence en utilisant les modèles YOLO26.

Astuce
Remarque

Le Raspberry Pi 5 utilise des connecteurs CSI plus petits que le Raspberry Pi 4 (15 broches contre 22 broches), tu auras donc besoin d'un câble adaptateur 15 broches vers 22 broches pour te connecter à une caméra Raspberry Pi.

Link to this sectionTester la caméra#

Exécute la commande suivante après avoir connecté la caméra au Raspberry Pi. Tu devrais voir un flux vidéo en direct de la caméra pendant environ 5 secondes.

rpicam-hello
Astuce

Apprends-en plus sur l'utilisation de rpicam-hello dans la documentation officielle Raspberry Pi.

Link to this sectionInférence avec la caméra#

Il existe deux méthodes pour utiliser la caméra Raspberry Pi afin d'exécuter l'inférence sur des modèles YOLO26.

Exécuter l'inférence avec la caméra Raspberry Pi

Nous pouvons utiliser picamera2, qui est préinstallé avec Raspberry Pi OS, pour accéder à la caméra et exécuter des inférences sur les modèles YOLO26.

Exemple
import cv2
from picamera2 import Picamera2

from ultralytics import YOLO

# Initialize the Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

while True:
    # Capture frame-by-frame
    frame = picam2.capture_array()

    # Run YOLO26 inference on the frame
    results = model(frame)

    # Visualize the results on the frame
    annotated_frame = results[0].plot()

    # Display the resulting frame
    cv2.imshow("Camera", annotated_frame)

    # Break the loop if 'q' is pressed
    if cv2.waitKey(1) == ord("q"):
        break

# Release resources and close windows
cv2.destroyAllWindows()
Astuce

Consulte notre document sur les Sources d'inférence si tu souhaites modifier le type d'entrée image/vidéo

Link to this sectionBonnes pratiques lors de l'utilisation de Raspberry Pi#

Il existe quelques bonnes pratiques à suivre pour permettre une performance maximale sur les Raspberry Pis utilisant YOLO26.

  1. Utilise un SSD

    Pour une utilisation continue 24h/7j sur un Raspberry Pi, il est recommandé d'utiliser un SSD pour le système, car une carte SD ne pourra pas supporter les écritures continues et risque de se détériorer. Grâce au connecteur PCIe intégré sur le Raspberry Pi 5, tu peux maintenant connecter des SSD en utilisant un adaptateur tel que la NVMe Base pour Raspberry Pi 5.

  2. Flash sans interface graphique (GUI)

    Lors du flashage de Raspberry Pi OS, tu peux choisir de ne pas installer l'environnement de bureau (Raspberry Pi OS Lite), ce qui permet d'économiser un peu de RAM sur l'appareil et de libérer plus d'espace pour le traitement de la vision par ordinateur.

  3. Overclocker le Raspberry Pi

    Si tu souhaites un léger gain de performance lors de l'exécution des modèles Ultralytics YOLO26 sur Raspberry Pi 5, tu peux overclocker le CPU de sa base de 2,4 GHz à 2,9 GHz et le GPU de 800 MHz à 1 GHz. Si le système devient instable ou plante, réduis les valeurs d'overclocking par incréments de 100 MHz. Assure-toi qu'un refroidissement adéquat est en place, car l'overclocking augmente la production de chaleur et peut entraîner une limitation thermique.

    a. Mets à jour le logiciel

    sudo apt update && sudo apt dist-upgrade

    b. Ouvre le fichier de configuration pour le modifier

    sudo nano /boot/firmware/config.txt

    c. Ajoute les lignes suivantes en bas

    arm_freq=3000
    gpu_freq=1000
    force_turbo=1

    d. Enregistre et quitte en appuyant sur CTRL + X, puis Y, et appuie sur ENTREE

    e. Redémarre le Raspberry Pi

Link to this sectionProchaines étapes#

Tu as configuré avec succès YOLO26 sur ton Raspberry Pi. Pour aller plus loin, explore le mode Predict pour plus d'options d'inférence, le mode Export pour des formats de déploiement supplémentaires, ou le guide NVIDIA Jetson si tu as besoin de plus de puissance de calcul en périphérie. Pour la documentation complète, visite les Docs Ultralytics YOLO26.

Link to this sectionRemerciements et Citations#

Ce guide a été initialement créé par Daan Eeltink pour la Kashmir World Foundation, une organisation dédiée à l'utilisation de YOLO pour la conservation des espèces menacées. Nous reconnaissons leur travail pionnier et leur orientation éducative dans le domaine des technologies de détection d'objets.

Pour plus d'informations sur les activités de la Kashmir World Foundation, tu peux visiter leur site web.

Link to this sectionFAQ#

Link to this sectionComment configurer Ultralytics YOLO26 sur un Raspberry Pi sans utiliser Docker ?#

Pour configurer Ultralytics YOLO26 sur un Raspberry Pi sans Docker, suis ces étapes :

  1. Mets à jour la liste des paquets et installe pip :
    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installe le paquet Ultralytics avec les dépendances optionnelles :
    pip install ultralytics[export]
  3. Redémarre l'appareil pour appliquer les changements :
    sudo reboot

Pour des instructions détaillées, réfère-toi à la section Démarrer sans Docker.

Link to this sectionPourquoi utiliser le format NCNN de Ultralytics YOLO26 sur Raspberry Pi pour des tâches d'IA ?#

Le format NCNN d'Ultralytics YOLO26 est hautement optimisé pour les plateformes mobiles et embarquées, ce qui le rend idéal pour exécuter des tâches d'IA sur les appareils Raspberry Pi. NCNN maximise les performances d'inférence en tirant parti de l'architecture ARM, offrant un traitement plus rapide et plus efficace par rapport aux autres formats. Pour plus de détails sur les formats d'exportation pris en charge, consulte les options d'exportation de modèles.

Link to this sectionComment puis-je convertir un modèle YOLO26 au format NCNN pour l'utiliser sur Raspberry Pi ?#

Tu peux convertir un modèle PyTorch YOLO26 au format NCNN en utilisant soit Python, soit des commandes CLI :

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")

Pour plus de détails, vois la section Utiliser NCNN sur Raspberry Pi.

Link to this sectionQuelles sont les différences matérielles entre le Raspberry Pi 4 et le Raspberry Pi 5 pertinentes pour exécuter YOLO26 ?#

Les différences clés incluent :

  • CPU : Le Raspberry Pi 4 utilise le Broadcom BCM2711, un SoC Cortex-A72 64 bits, tandis que le Raspberry Pi 5 utilise le Broadcom BCM2712, un SoC Cortex-A76 64 bits.
  • Fréquence CPU Max : Le Raspberry Pi 4 a une fréquence maximale de 1,8 GHz, alors que le Raspberry Pi 5 atteint 2,4 GHz.
  • Mémoire : Le Raspberry Pi 4 offre jusqu'à 8 Go de SDRAM LPDDR4-3200, tandis que le Raspberry Pi 5 dispose de SDRAM LPDDR4X-4267, disponible en variantes de 4 Go et 8 Go.

Ces améliorations contribuent à de meilleurs résultats de performance pour les modèles YOLO26 sur Raspberry Pi 5 par rapport au Raspberry Pi 4. Réfère-toi au tableau Comparaison des séries Raspberry Pi pour plus de détails.

Link to this sectionComment configurer un module caméra Raspberry Pi pour qu'il fonctionne avec Ultralytics YOLO26 ?#

Il existe deux méthodes pour configurer une caméra Raspberry Pi pour l'inférence YOLO26 :

  1. En utilisant picamera2 :

    import cv2
    from picamera2 import Picamera2
    
    from ultralytics import YOLO
    
    picam2 = Picamera2()
    picam2.preview_configuration.main.size = (1280, 720)
    picam2.preview_configuration.main.format = "RGB888"
    picam2.preview_configuration.align()
    picam2.configure("preview")
    picam2.start()
    
    model = YOLO("yolo26n.pt")
    
    while True:
        frame = picam2.capture_array()
        results = model(frame)
        annotated_frame = results[0].plot()
        cv2.imshow("Camera", annotated_frame)
    
        if cv2.waitKey(1) == ord("q"):
            break
    
    cv2.destroyAllWindows()
  2. En utilisant un flux TCP :

    rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("tcp://127.0.0.1:8888")

Pour des instructions de configuration détaillées, visite la section Inférence avec Caméra.

Commentaires