Skip to content

Guide de démarrage rapide : Raspberry Pi et Pi Camera avec YOLOv5 et YOLOv8

Ce guide complet a pour but d'accélérer ton voyage avec YOLO modèles de détection d'objets sur un Raspberry Pi en utilisant une caméra Pi. Que tu sois étudiant, amateur ou professionnel, ce guide est conçu pour te permettre d'être opérationnel en moins de 30 minutes. Les instructions sont rigoureusement testées pour minimiser les problèmes d'installation, ce qui te permet de te concentrer sur l'utilisation de YOLO pour tes projets spécifiques.



Regarde : Mises à jour et améliorations du Raspberry Pi 5.

Conditions préalables

  • Raspberry Pi 3, 4 ou 5
  • CamĂ©ra Pi
  • Système d'exploitation Raspberry Pi 64 bits

Connecte la caméra Pi à ton Raspberry Pi via un câble CSI et installe le système d'exploitation 64 bits Raspberry Pi. Vérifie ta caméra à l'aide de la commande suivante :

libcamera-hello

Tu devrais voir un flux vidéo provenant de ta caméra.

Choisis ta version de YOLO : YOLOv5 ou YOLOv8

Ce guide t'offre la possibilité de commencer par l'une ou l'autre des deux options suivantes YOLOv5 ou YOLOv8. Les deux versions ont leurs avantages et leurs cas d'utilisation uniques. C'est à toi de choisir, mais n'oublie pas que l'objectif de ce guide n'est pas seulement une installation rapide, mais aussi une base solide pour ton travail futur dans le domaine de la détection d'objets.

Caractéristiques du matériel : En un coup d'œil

Pour t'aider à prendre une décision éclairée en matière de matériel, nous avons résumé les principales spécificités matérielles des Raspberry Pi 3, 4 et 5 dans le tableau ci-dessous :

Fonctionnalité Raspberry Pi 3 Raspberry Pi 4 Raspberry Pi 5
UNITÉ CENTRALE 1,2 GHz quadruple cœur ARM Cortex-A53 1.5GHz Quad-core 64-bit ARM Cortex-A72 2.4GHz Quad-core 64-bit Arm Cortex-A76
RAM 1GB LPDDR2 2GB, 4GB ou 8GB LPDDR4 Les détails ne sont pas encore disponibles
Ports USB 4 x USB 2.0 2 x USB 2.0, 2 x USB 3.0 2 x USB 3.0, 2 x USB 2.0
Réseau Ethernet et Wi-Fi 802.11n Gigabit Ethernet et Wi-Fi 802.11ac Ethernet Gigabit avec prise en charge PoE+, Wi-Fi® bibande 802.11ac
Performance Plus lent, peut nécessiter des modèles plus légers YOLO Plus rapide, peut exécuter des modèles complexes YOLO Les détails ne sont pas encore disponibles
Puissance requise Alimentation 2,5A Alimentation USB-C de 3,0A Les détails ne sont pas encore disponibles
Documentation officielle Lien Lien Lien

Veille à suivre les instructions spécifiques à ton modèle de Raspberry Pi pour que le processus d'installation se déroule sans encombre.

DĂ©marrage rapide avec YOLOv5

Cette section explique comment configurer YOLOv5 sur un Raspberry Pi avec une caméra Pi. Ces étapes sont conçues pour être compatibles avec la pile de caméras libcamera introduite dans Raspberry Pi OS Bullseye.

Installer les paquets nécessaires

  1. Mets Ă  jour le Raspberry Pi :

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Clone le dépôt YOLOv5 :

    cd ~
    git clone https://github.com/Ultralytics/yolov5.git
    
  3. Installe les dépendances nécessaires :

    cd ~/yolov5
    pip3 install -r requirements.txt
    
  4. Pour le Raspberry Pi 3, installe les versions compatibles de PyTorch et Torchvision (passe pour le Raspberry Pi 4) :

    pip3 uninstall torch torchvision
    pip3 install torch==1.11.0 torchvision==0.12.0
    

Modifier detect.py

Pour activer les flux TCP via SSH ou CLI, des modifications mineures sont nécessaires dans detect.py.

  1. Ouvrir detect.py:

    sudo nano ~/yolov5/detect.py
    
  2. Trouve et modifie le is_url pour accepter les flux TCP :

    is_url = source.lower().startswith(('rtsp://', 'rtmp://', 'http://', 'https://', 'tcp://'))
    
  3. Commente les view_img ligne :

    # view_img = check_imshow(warn=True)
    
  4. Sauvegarde et quitte :

    CTRL + O -> ENTER -> CTRL + X
    

Lancer un flux TCP avec Libcamera

  1. DĂ©marre le flux TCP :

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Maintiens cette session de terminal en cours pour les Ă©tapes suivantes.

Effectue l'inférence YOLOv5

  1. Lance la détection YOLOv5 :

    cd ~/yolov5
    python3 detect.py --source=tcp://127.0.0.1:8888
    

DĂ©marrage rapide avec YOLOv8

Suis cette section si tu souhaites plutôt configurer YOLOv8 . Les étapes sont assez similaires mais sont adaptées aux besoins spécifiques de YOLOv8.

Installer les paquets nécessaires

  1. Mets Ă  jour le Raspberry Pi :

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Installe le ultralytics Python paquet :

    pip3 install ultralytics
    
  3. Reboot :

    sudo reboot
    

Lancer un flux TCP avec Libcamera

  1. DĂ©marre le flux TCP :

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Effectue l'inférence YOLOv8

Pour effectuer une inférence avec YOLOv8, tu peux utiliser l'extrait de code Python suivant :

from ultralytics import YOLO

model = YOLO('yolov8n.pt')
results = model('tcp://127.0.0.1:8888', stream=True)

while True:
    for result in results:
        boxes = result.boxes
        probs = result.probs

Prochaines Ă©tapes

Félicitations pour avoir réussi à configurer YOLO sur ton Raspberry Pi ! Pour en savoir plus et obtenir de l'aide, visite les sites suivants Ultralytics et la Fondation mondiale du Cachemire.

Remerciements et citations

Ce guide a été initialement créé par Daan Eeltink pour la Kashmir World Foundation, une organisation qui se consacre à l'utilisation de YOLO pour la conservation des espèces en voie de disparition. Nous reconnaissons leur travail de pionnier et leur souci d'éducation dans le domaine des technologies de détection d'objets.

Pour plus d'informations sur les activités de la Fondation mondiale du Cachemire, tu peux visiter son site Internet.



Créé le 2023-11-12, Mis à jour le 2024-02-03
Auteurs : glenn-jocher (2)

Commentaires