YOLO Vision 2026:

Schnellstartanleitung: Raspberry Pi mit Ultralytics YOLO26#

Raspberry Pi ist ein kleiner, erschwinglicher Computer, auf dem Ultralytics YOLO26 für Echtzeit-Objekterkennung am Edge ausgeführt wird – ganz ohne GPU. Diese Anleitung führt dich durch die Bereitstellung von YOLO26 auf Raspberry Pi 4 und 5: das Flashen des Betriebssystems, die Installation von Ultralytics, das Exportieren nach NCNN für die schnellste Inferenz auf ARM sowie das Ausführen von Vorhersagen auf einem Live-Kamerastream. Sie enthält außerdem Leistungsbenchmarks über acht Exportformate hinweg, damit du den besten Kompromiss aus Geschwindigkeit und Genauigkeit für deine Hardware auswählen kannst.

Springe zu Einrichtung von Ultralytics, Export nach NCNN und Ausführen der Inferenz, Benchmarks oder Kamerainferenz.



Watch: Raspberry Pi 5 updates and improvements.
Hinweis

Diese Anleitung wurde mit Raspberry Pi 4 und Raspberry Pi 5 getestet, auf denen das aktuelle Raspberry Pi OS Bookworm (Debian 12) läuft. Die Verwendung dieser Anleitung für ältere Raspberry Pi-Geräte wie den Raspberry Pi 3 sollte voraussichtlich funktionieren, solange dasselbe Raspberry Pi OS Bookworm installiert ist.

Was ist ein Raspberry Pi?#

Raspberry Pi ist ein kleiner, erschwinglicher Einplatinencomputer. Er ist für eine Vielzahl von Projekten und Anwendungen beliebt geworden, von der Heimautomatisierung für Bastler bis hin zu industriellen Einsatzzwecken. Raspberry Pi-Boards können verschiedene Betriebssysteme ausführen und bieten GPIO-Pins (General Purpose Input/Output), die eine einfache Integration mit Sensoren, Aktoren und anderen Hardwarekomponenten ermöglichen. Es gibt sie in verschiedenen Modellen mit unterschiedlichen Spezifikationen, aber sie alle teilen dieselbe grundlegende Designphilosophie: kostengünstig, kompakt und vielseitig.

Vergleich der Raspberry Pi-Serie#

Raspberry Pi 3Raspberry Pi 4Raspberry Pi 5
CPUBroadcom BCM2837, Cortex-A53 64Bit SoCBroadcom BCM2711, Cortex-A72 64Bit SoCBroadcom BCM2712, Cortex-A76 64Bit SoC
CPU Max-Frequenz1.4GHz1.8GHz2.4GHz
GPUVideocore IVVideocore VIVideoCore VII
GPU Max-Frequenz400Mhz500Mhz800Mhz
Speicher1 GB LPDDR2 SDRAM1 GB, 2 GB, 4 GB, 8 GB LPDDR4-3200 SDRAM4 GB, 8 GB LPDDR4X-4267 SDRAM
PCIeN/AN/A1x PCIe 2.0 Schnittstelle
Maximale Leistungsaufnahme2,5 A bei 5 V3 A bei 5 V5 A bei 5 V (PD aktiviert)

Was ist Raspberry Pi OS?#

Raspberry Pi OS (früher bekannt als Raspbian) ist ein Unix-ähnliches Betriebssystem basierend auf der Debian GNU/Linux-Distribution für die Raspberry Pi-Familie kompakter Einplatinencomputer, die von der Raspberry Pi Foundation vertrieben werden. Raspberry Pi OS ist hochgradig für den Raspberry Pi mit ARM-CPUs optimiert und verwendet eine modifizierte LXDE-Desktop-Umgebung mit dem Openbox-Stacking-Fenstermanager. Raspberry Pi OS befindet sich in aktiver Entwicklung, mit dem Schwerpunkt, die Stabilität und Leistung so vieler Debian-Pakete wie möglich auf dem Raspberry Pi zu verbessern.

Raspberry Pi OS auf Raspberry Pi flashen#

Das Erste, was du tun musst, wenn du einen Raspberry Pi in den Händen hältst, ist, eine Mikro-SD-Karte mit Raspberry Pi OS zu flashen, sie in das Gerät einzustecken und das Betriebssystem zu starten. Folge der detaillierten Erste-Schritte-Dokumentation von Raspberry Pi, um dein Gerät für die erste Verwendung vorzubereiten.

Ultralytics einrichten#

Du kannst das Ultralytics-Paket auf dem Raspberry Pi auf zwei Wegen für dein nächstes Computer Vision-Projekt einrichten:

Mit Docker starten#

Der schnellste Weg, um mit Ultralytics YOLO26 auf dem Raspberry Pi zu starten, ist die Verwendung eines vorgefertigten Docker-Images für den Raspberry Pi.

Führe den folgenden Befehl aus, um den Docker-Container herunterzuladen und auf dem Raspberry Pi auszuführen. Dies basiert auf dem Docker-Image arm64v8/ubuntu, das Ubuntu 24.04 in einer Python3-Umgebung ausführt.

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

Das Docker-Image enthält Ultralytics bereits, sodass du direkt zum Exportieren deines Modells nach NCNN übergehen kannst.

Ohne Docker starten#

Ultralytics-Paket installieren#

Hier installieren wir das Ultralytics-Paket auf dem Raspberry Pi mit optionalen Abhängigkeiten, damit wir die PyTorch-Modelle in andere Formate exportieren können.

  1. Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installiere das ultralytics-pip-Paket mit optionalen Abhängigkeiten

    pip install ultralytics[export]
  3. Gerät neu starten

    sudo reboot

NCNN auf Raspberry Pi verwenden#

Von allen von Ultralytics unterstützten Modell-Exportformaten liefert NCNN die beste Inferenzleistung auf Raspberry Pi-Geräten, da es für mobile und eingebettete Plattformen wie die ARM-Architektur hochgradig optimiert ist. Konvertiere dein YOLO26n PyTorch-Modell nach NCNN und führe dann die Inferenz mit dem exportierten Modell aus:

Beispiel
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")
Tipp

Weitere Details zu unterstützten Exportoptionen findest du im Leitfaden zu den Modellbereitstellungsoptionen.

YOLO26 Leistungsverbesserungen gegenüber YOLO11#

YOLO26 wurde speziell für den Betrieb auf hardwarebeschränkten Geräten wie dem Raspberry Pi 5 entwickelt. Im Vergleich zu YOLO11n erreicht YOLO26n eine Steigerung der FPS um ca. 15 % (6,79 → 7,79) und liefert gleichzeitig eine höhere mAP (40,1 vs 39,5) bei einer Eingabegröße von 640 mit ONNX-exportierten Modellen auf dem Raspberry Pi 5. Die Tabelle und das Diagramm unten zeigen diesen Vergleich.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.14
Leistung
ModellmAP50-95(B)Inferenzzeit (ms/im)
YOLO26n40.1128.42
YOLO26s47.8352.84
YOLO26m52.5993.78
YOLO26l54.41259.46
YOLO26x56.92636.26

Getestet mit Ultralytics 8.4.14.

Raspberry Pi 5 YOLO26 Benchmarks#

YOLO26-Benchmarks wurden vom Ultralytics-Team für acht verschiedene Modellformate durchgeführt, bei denen Geschwindigkeit und Genauigkeit gemessen wurden: PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT. Die Benchmarks wurden auf einem Raspberry Pi 5 bei FP32-Präzision mit einer Standard-Eingabebildgröße von 640 ausgeführt.

Vergleichsdiagramm#

Wir haben nur Benchmarks für YOLO26n- und YOLO26s-Modelle aufgenommen, da andere Modellgrößen zu groß sind, um auf den Raspberry Pis ausgeführt zu werden, und keine angemessene Leistung bieten.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.108

Detaillierte Vergleichstabelle#

Die folgende Tabelle zeigt die Benchmark-Ergebnisse für zwei verschiedene Modelle (YOLO26n, YOLO26s) über acht verschiedene Formate (PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT) auf einem Raspberry Pi 5. Sie gibt den Status, die Größe, die mAP50-95(B)-Metrik und die Inferenzzeit für jede Kombination an.

Leistung
FormatStatusGröße auf dem Datenträger (MB)mAP50-95(B)Inferenzzeit (ms/im)
PyTorch5.30.4760299.09
TorchScript9.80.4734353.20
ONNX9.50.4734125.99
OpenVINO9.60.4734104.55
MNN9.40.474991.87
NCNN9.40.478467.03
ExecuTorch9.40.4772144.83
LiteRT9.80.4730123.30

Gebenchmarkt mit Ultralytics 8.4.108

Hinweis

Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.

Unsere Ergebnisse reproduzieren#

Um die obigen Ultralytics-Benchmarks für alle Exportformate zu reproduzieren, führe diesen Code aus:

Beispiel
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)

Beachte, dass Benchmarking-Ergebnisse je nach genauer Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Auslastung des Systems zum Zeitpunkt der Benchmark-Ausführung variieren können. Verwende für die zuverlässigsten Ergebnisse einen Datensatz mit einer großen Anzahl von Bildern, z. B. data='coco.yaml' (5000 Validierungsbilder).

LiteRT-Export läuft außerhalb des Geräts

litert-converter liefert kein aarch64 Linux-Wheel, daher wird der format=litert-Export nur unter Linux x86_64 und macOS unterstützt, nicht jedoch auf dem Raspberry Pi selbst. Exportiere das .tflite-Modell auf einem Linux x86_64-Computer oder einem Mac, kopiere es auf den Raspberry Pi und verwende den Pi für die Inferenz.

Raspberry Pi-Kamera verwenden#

Wenn du den Raspberry Pi für Computer Vision-Projekte verwendest, kann es unerlässlich sein, Echtzeit-Videostreams abzugreifen, um Inferenzen durchzuführen. Der integrierte MIPI-CSI-Anschluss des Raspberry Pi ermöglicht den Anschluss offizieller Raspberry Pi-Kameramodule. In diesem Leitfaden haben wir ein Raspberry Pi Camera Module 3 verwendet, um die Videostreams abzugreifen und Inferenzen mit YOLO26-Modellen durchzuführen.

Tipp
Hinweis

Der Raspberry Pi 5 verwendet kleinere CSI-Anschlüsse als der Raspberry Pi 4 (15-polig im Vergleich zu 22-polig), daher benötigst du ein 15-poliges auf 22-poliges Adapterkabel, um eine Verbindung zu einer Raspberry Pi-Kamera herzustellen.

Kamera testen#

Führe den folgenden Befehl aus, nachdem du die Kamera an den Raspberry Pi angeschlossen hast. Du solltest etwa 5 Sekunden lang einen Live-Video-Feed von der Kamera sehen.

rpicam-hello
Tipp

Erfahre mehr über die Verwendung von [rpicam-hello] in der offiziellen Raspberry Pi-Dokumentation (https://ultralytics-translation-0.invalid)

Inferenz mit der Kamera#

Es gibt zwei Methoden, die Raspberry Pi Kamera zu verwenden, um eine Inferenz auf YOLO26-Modellen auszuführen.

Inferenz mit der Raspberry Pi Kamera ausführen

Wir können picamera2 verwenden, das vorinstalliert mit Raspberry Pi OS geliefert wird, um auf die Kamera zuzugreifen und Inferenzen für YOLO26-Modelle auszuführen.

Beispiel
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()
Tipp

Sieh dir unser Dokument zu Inferenzquellen an, wenn du den Bild-/Video-Eingabetyp ändern möchtest

Bewährte Methoden für den Einsatz des Raspberry Pi#

Es gibt einige bewährte Methoden, die du befolgen solltest, um auf einem Raspberry Pi mit YOLO26 die maximale Leistung zu erzielen.

  1. Verwende eine SSD

    Wenn du den Raspberry Pi für den Dauereinsatz rund um die Uhr nutzt, wird empfohlen, eine SSD für das System zu verwenden, da eine SD-Karte kontinuierlichen Schreibvorgängen nicht standhalten kann und möglicherweise beschädigt wird. Mit dem integrierten PCIe-Anschluss des Raspberry Pi 5 kannst du jetzt SSDs über einen Adapter wie die NVMe Base für Raspberry Pi 5 anschließen.

  2. Installation ohne GUI

    Wenn du Raspberry Pi OS flashst, kannst du wählen, keine Desktop-Umgebung (Raspberry Pi OS Lite) zu installieren; dies spart etwas Arbeitsspeicher auf dem Gerät und lässt mehr Platz für Computer-Vision-Prozesse.

  3. Raspberry Pi übertakten

    Wenn du beim Ausführen von Ultralytics YOLO26-Modellen auf dem Raspberry Pi 5 einen kleinen Leistungsschub möchtest, kannst du die CPU von ihrer Basis-Taktfrequenz von 2,4 GHz auf 2,9 GHz und die GPU von 800 MHz auf 1 GHz übertakten. Wenn das System instabil wird oder abstürzt, reduziere die Übertaktungswerte in 100-MHz-Schritten. Sorge für eine ausreichende Kühlung, da Übertaktung die Wärmeentwicklung erhöht und zu thermischer Drosselung (Thermal Throttling) führen kann.

    a. Software aktualisieren

    sudo apt update && sudo apt dist-upgrade

    b. Konfigurationsdatei zum Bearbeiten öffnen

    sudo nano /boot/firmware/config.txt

    c. Die folgenden Zeilen am Ende hinzufügen

    arm_freq=3000
    gpu_freq=1000
    force_turbo=1

    d. Speichern und beenden durch Drücken von STRG + X, dann Y und anschließend EINGABE

    e. Den Raspberry Pi neu starten

Nächste Schritte#

Du hast YOLO26 erfolgreich auf deinem Raspberry Pi eingerichtet. Erkunde für weitere Schritte den Vorhersagemodus für zusätzliche Inferenzoptionen, den Exportmodus für weitere Bereitstellungsformate oder den NVIDIA Jetson-Leitfaden, wenn du mehr Rechenleistung am Edge benötigst. Besuche für die vollständige Dokumentation die Ultralytics YOLO26-Dokumentation.

Danksagungen und Quellenangaben#

Dieser Leitfaden wurde ursprünglich von Daan Eeltink für die Kashmir World Foundation erstellt, eine Organisation, die sich dem Einsatz von YOLO für den Schutz gefährdeter Arten widmet. Wir würdigen ihre Pionierarbeit und ihren pädagogischen Fokus im Bereich der Objekterkennungstechnologien.

Weitere Informationen über die Aktivitäten der Kashmir World Foundation findest du auf deren Website.

FAQ#

  • Um Ultralytics YOLO26 ohne Docker auf einem Raspberry Pi einzurichten, folge diesen Schritten:

    1. Aktualisiere die Paketliste und installiere pip:
      sudo apt update
      sudo apt install python3-pip -y
      pip install -U pip
    2. Installiere das Ultralytics-Paket mit optionalen Abhängigkeiten:
      pip install ultralytics[export]
    3. Starte das Gerät neu, um die Änderungen anzuwenden:
      sudo reboot

    Detaillierte Anweisungen findest du im Abschnitt Ohne Docker starten.

  • Das NCNN-Format von Ultralytics YOLO26 ist für mobile und eingebettete Plattformen hochgradig optimiert, wodurch es ideal für die Ausführung von KI-Aufgaben auf Raspberry Pi-Geräten ist. NCNN maximiert die Inferenzleistung durch die Nutzung der ARM-Architektur und bietet eine schnellere und effizientere Verarbeitung im Vergleich zu anderen Formaten. Weitere Details zu unterstützten Exportformaten findest du unter Modell-Exportoptionen.

  • Du kannst ein PyTorch YOLO26-Modell entweder über Python oder CLI-Befehle in das NCNN-Format konvertieren:

    Beispiel
    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")

    Weitere Details findest du im Abschnitt NCNN auf dem Raspberry Pi verwenden.

  • Die Hauptunterschiede sind:

    • CPU: Der Raspberry Pi 4 verwendet den Broadcom BCM2711, ein Cortex-A72 64-Bit SoC, während der Raspberry Pi 5 den Broadcom BCM2712, ein Cortex-A76 64-Bit SoC, nutzt.
    • Maximale CPU-Frequenz: Der Raspberry Pi 4 hat eine maximale Frequenz von 1,8 GHz, während der Raspberry Pi 5 2,4 GHz erreicht.
    • Speicher: Der Raspberry Pi 4 bietet bis zu 8 GB LPDDR4-3200 SDRAM, während der Raspberry Pi 5 über LPDDR4X-4267 SDRAM verfügt, erhältlich in 4-GB- und 8-GB-Varianten.

    Diese Verbesserungen tragen im Vergleich zum Raspberry Pi 4 zu besseren Leistungsbenchmarks für YOLO26-Modelle auf dem Raspberry Pi 5 bei. Weitere Details findest du in der Tabelle Vergleich der Raspberry Pi-Serien.

  • Es gibt zwei Methoden, um eine Raspberry Pi-Kamera für die YOLO26-Inference einzurichten:

    1. Verwendung von 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. Verwendung eines TCP-Streams:

      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")

    Detaillierte Einrichtungsanweisungen findest du im Abschnitt Inferenz mit der Kamera.

Kommentare