Schnellstartanleitung: Raspberry Pi mit Ultralytics YOLO26
Diese umfassende Anleitung bietet eine detaillierte Schritt-für-Schritt-Anleitung für die Bereitstellung von Ultralytics YOLO26 auf Raspberry Pi-Geräten. Zusätzlich werden Performance-Benchmarks präsentiert, um die Leistungsfähigkeit von YOLO26 auf diesen kleinen und leistungsstarken Geräten zu demonstrieren.
Watch: Raspberry Pi 5 updates and improvements.
Dieser Leitfaden 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 ebenfalls funktionieren, sofern das gleiche Raspberry Pi OS Bookworm installiert ist.
Was ist ein Raspberry Pi?
Der Raspberry Pi ist ein kleiner, erschwinglicher Einplatinencomputer. Er ist für eine Vielzahl von Projekten und Anwendungen populär geworden, von der Heimautomatisierung für Bastler bis hin zu industriellen Einsätzen. Raspberry Pi-Boards können eine Vielzahl von Betriebssystemen ausführen und bieten GPIO (General Purpose Input/Output)-Pins, die eine einfache Integration von Sensoren, Aktoren und anderen Hardwarekomponenten ermöglichen. Sie sind in verschiedenen Modellen mit unterschiedlichen Spezifikationen erhältlich, teilen jedoch alle die grundlegende Designphilosophie, kostengünstig, kompakt und vielseitig zu sein.
Vergleich der Raspberry Pi-Serie
| Raspberry Pi 3 | Raspberry Pi 4 | Raspberry Pi 5 | |
|---|---|---|---|
| CPU | Broadcom BCM2837, Cortex-A53 64Bit SoC | Broadcom BCM2711, Cortex-A72 64Bit SoC | Broadcom BCM2712, Cortex-A76 64Bit SoC |
| CPU Max Frequenz | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU Max Frequenz | 400Mhz | 500Mhz | 800Mhz |
| Speicher | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 4GB, 8GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 1xPCIe 2.0 Schnittstelle |
| Max. Leistungsaufnahme | 2.5A@5V | 3A@5V | 5A@5V (PD aktiviert) |
Was ist Raspberry Pi OS?
Raspberry Pi OS (früher bekannt als Raspbian) ist ein Unix-ähnliches Betriebssystem, das auf der Debian GNU/Linux-Distribution für die Raspberry Pi-Familie kompakter Einplatinencomputer basiert und von der Raspberry Pi Foundation vertrieben wird. Raspberry Pi OS ist für den Raspberry Pi mit ARM-CPUs hochoptimiert und verwendet eine modifizierte LXDE-Desktopumgebung mit dem Openbox-Stacking-Fenstermanager. Raspberry Pi OS befindet sich in aktiver Entwicklung, wobei der Schwerpunkt darauf liegt, 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, nachdem du einen Raspberry Pi bekommen hast, ist, eine Micro-SD-Karte mit Raspberry Pi OS zu flashen, sie in das Gerät einzulegen und das Betriebssystem zu starten. Folge der detaillierten Getting Started Documentation by Raspberry Pi, um dein Gerät für die erste Verwendung vorzubereiten.
Ultralytics einrichten
Es gibt zwei Möglichkeiten, das Ultralytics-Paket auf dem Raspberry Pi einzurichten, um dein nächstes Computer Vision-Projekt zu erstellen. Du kannst eine der beiden Methoden verwenden.
Mit Docker starten
Der schnellste Weg, mit Ultralytics YOLO26 auf dem Raspberry Pi zu starten, ist die Verwendung eines vorgefertigten Docker-Images für Raspberry Pi.
Führe den unten stehenden Befehl aus, um den Docker-Container zu ziehen und auf dem Raspberry Pi auszuführen. Dies basiert auf dem arm64v8/debian Docker-Image, das Debian 12 (Bookworm) in einer Python3-Umgebung enthält.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tSobald dies erledigt ist, fahre mit dem Abschnitt NCNN auf Raspberry Pi verwenden fort.
Ohne Docker starten
Installiere das Ultralytics-Paket
Hier installieren wir das Ultralytics-Paket auf dem Raspberry Pi mit optionalen Abhängigkeiten, damit wir die PyTorch-Modelle in andere verschiedene Formate exportieren können.
-
Paketliste aktualisieren, pip installieren und auf die neueste Version upgraden
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Installiere das
ultralyticspip-Paket mit optionalen Abhängigkeitenpip install ultralytics[export] -
Starte das Gerät neu
sudo reboot
NCNN auf Raspberry Pi verwenden
Von allen durch Ultralytics unterstützten Modellexportformaten liefert NCNN die beste Inferenzleistung bei der Arbeit mit Raspberry Pi-Geräten, da NCNN für mobile/eingebettete Plattformen (wie die ARM-Architektur) hochoptimiert ist.
Modell in NCNN konvertieren und Inferenz ausführen
Das YOLO26n-Modell im PyTorch-Format wird in NCNN konvertiert, um die Inferenz mit dem exportierten Modell auszuführen.
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 zu den unterstützten Exportoptionen findest du auf der Ultralytics-Dokumentationsseite zu Bereitstellungsoptionen.
Leistungsverbesserungen von YOLO26 gegenüber YOLO11
YOLO26 wurde speziell dafür entwickelt, auf hardwarebeschränkten Geräten wie dem Raspberry Pi 5 zu laufen. Im Vergleich zu YOLO11n erreicht YOLO26n eine FPS-Steigerung von ~15 % (6,79 → 7,79) und liefert gleichzeitig eine höhere mAP (40,1 gegenüber 39,5) bei einer Eingabegröße von 640 mit ONNX-exportierten Modellen auf dem Raspberry Pi 5. Die folgende Tabelle und das Diagramm zeigen diesen Vergleich.
| Modell | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|
| YOLO26n | 40.1 | 128.42 |
| YOLO26s | 47.8 | 352.84 |
| YOLO26m | 52.5 | 993.78 |
| YOLO26l | 54.4 | 1259.46 |
| YOLO26x | 56.9 | 2636.26 |
Getestet mit Ultralytics 8.4.14.
Raspberry Pi 5 YOLO26 Benchmarks
YOLO26-Benchmarks wurden vom Ultralytics-Team mit zehn verschiedenen Modellformaten durchgeführt, wobei Geschwindigkeit und Genauigkeit gemessen wurden: PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Die Benchmarks wurden auf einem Raspberry Pi 5 bei FP32-Präzision mit einer Standard-Eingabebildgröße von 640 durchgeführt.
Vergleichstabelle
Wir haben nur Benchmarks für die YOLO26n- und YOLO26s-Modelle aufgenommen, da andere Modellgrößen zu groß sind, um auf dem Raspberry Pi ausgeführt zu werden, und keine angemessene Leistung bieten.
Detaillierte Vergleichstabelle
Die unten stehende Tabelle zeigt die Benchmark-Ergebnisse für zwei verschiedene Modelle (YOLO26n, YOLO26s) über zehn verschiedene Formate (PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) auf einem Raspberry Pi 5 und liefert den Status, die Größe, den mAP50-95(B)-Messwert und die Inferenzzeit für jede Kombination.
| Format | Status | Größe auf dem Datenträger (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 302.15 |
| TorchScript | ✅ | 9.8 | 0.4764 | 357.58 |
| ONNX | ✅ | 9.5 | 0.4764 | 130.33 |
| OpenVINO | ✅ | 9.6 | 0.4818 | 70.74 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 213.58 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 213.5 |
| TF Lite | ✅ | 9.9 | 0.4764 | 251.41 |
| MNN | ✅ | 9.4 | 0.4784 | 90.89 |
| NCNN | ✅ | 9.4 | 0.4805 | 67.69 |
| ExecuTorch | ✅ | 9.4 | 0.4764 | 148.36 |
Getestet mit Ultralytics 8.4.1
Die Inferenzzeit beinhaltet keine Vor-/Nachverarbeitung.
Reproduziere unsere Ergebnisse
Um die oben genannten Ultralytics-Benchmarks für alle Exportformate zu reproduzieren, führe diesen Code aus:
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 die Benchmark-Ergebnisse je nach genauer Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Systemauslastung zum Zeitpunkt der Benchmark-Ausführung variieren können. Für die zuverlässigsten Ergebnisse verwende einen Datensatz mit einer großen Anzahl von Bildern, z. B. data='coco.yaml' (5000 val-Bilder).
Raspberry Pi Kamera verwenden
Wenn du den Raspberry Pi für Computer Vision-Projekte verwendest, kann es wichtig sein, Echtzeit-Videostreams für die Inferenz zu erfassen. Der integrierte MIPI CSI-Anschluss am Raspberry Pi ermöglicht den Anschluss offizieller Raspberry Pi-Kameramodule. In dieser Anleitung haben wir ein Raspberry Pi Camera Module 3 verwendet, um Videostreams zu erfassen und die Inferenz mit YOLO26-Modellen durchzuführen.
Erfahre mehr über die verschiedenen von Raspberry Pi angebotenen Kameramodule und auch wie du mit den Raspberry Pi-Kameramodulen startest.
Der Raspberry Pi 5 verwendet kleinere CSI-Anschlüsse als der Raspberry Pi 4 (15-Pin statt 22-Pin), daher benötigst du ein 15-auf-22-Pin-Adapterkabel, um eine Verbindung zu einer Raspberry Pi-Kamera herzustellen.
Teste die Kamera
Führe den folgenden Befehl aus, nachdem du die Kamera an den Raspberry Pi angeschlossen hast. Du solltest etwa 5 Sekunden lang ein Live-Videobild der Kamera sehen.
rpicam-helloErfahre mehr über die Verwendung von rpicam-hello in der offiziellen Raspberry Pi-Dokumentation
Inferenz mit der Kamera
Es gibt 2 Methoden, um die Raspberry Pi-Kamera für die Inferenz mit YOLO26-Modellen zu verwenden.
Wir können picamera2 verwenden, das bei Raspberry Pi OS vorinstalliert ist, um auf die Kamera zuzugreifen und die Inferenz mit YOLO26-Modellen auszuführen.
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()Prüfe unser Dokument zu Inferenz-Quellen, wenn du den Bild-/Video-Eingabetyp ändern möchtest
Bewährte Methoden bei der Verwendung des Raspberry Pi
Es gibt einige bewährte Methoden, die du befolgen solltest, um die maximale Leistung auf Raspberry Pis zu erzielen, auf denen YOLO26 ausgeführt wird.
-
Verwende eine SSD
Bei der Verwendung des Raspberry Pi für den 24/7-Dauerbetrieb wird empfohlen, eine SSD für das System zu verwenden, da eine SD-Karte ständige Schreibvorgänge nicht dauerhaft aushält und beschädigt werden könnte. Mit dem integrierten PCIe-Anschluss am Raspberry Pi 5 kannst du jetzt SSDs über einen Adapter wie das NVMe Base für Raspberry Pi 5 anschließen.
-
Flash ohne GUI
Beim Flashen von Raspberry Pi OS kannst du darauf verzichten, die Desktop-Umgebung (Raspberry Pi OS Lite) zu installieren. Dies spart etwas RAM auf dem Gerät und lässt mehr Platz für die Computer Vision-Verarbeitung.
-
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 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. Stelle sicher, dass eine ausreichende Kühlung vorhanden ist, da Übertaktung die Wärmeentwicklung erhöht und zu thermischer Drosselung führen kann.
a. Software aktualisieren
sudo apt update && sudo apt dist-upgradeb. Konfigurationsdatei zum Bearbeiten öffnen
sudo nano /boot/firmware/config.txtc. Die folgenden Zeilen am Ende hinzufügen
arm_freq=3000 gpu_freq=1000 force_turbo=1d. Speichern und beenden durch Drücken von CTRL + X, dann Y und ENTER
e. Raspberry Pi neu starten
Nächste Schritte
Du hast YOLO erfolgreich auf deinem Raspberry Pi eingerichtet. Für weiteres Lernen und Support besuche die Ultralytics YOLO26 Docs und die Kashmir World Foundation.
Danksagungen und Zitate
Dieser Leitfaden wurde ursprünglich von Daan Eeltink für die Kashmir World Foundation erstellt, einer Organisation, die sich dem Einsatz von YOLO für den Schutz bedrohter Arten widmet. Wir erkennen ihre Pionierarbeit und ihren bildungsorientierten Ansatz im Bereich der Objekterkennungstechnologien an.
Für weitere Informationen über die Aktivitäten der Kashmir World Foundation kannst du ihre Website besuchen.
FAQ
Wie richte ich Ultralytics YOLO26 auf einem Raspberry Pi ohne Docker ein?
Um Ultralytics YOLO26 ohne Docker auf einem Raspberry Pi einzurichten, befolge diese Schritte:
- Paketliste aktualisieren und
pipinstallieren:sudo apt update sudo apt install python3-pip -y pip install -U pip - Installiere das Ultralytics-Paket mit optionalen Abhängigkeiten:
pip install ultralytics[export] - Gerät neu starten, um die Änderungen anzuwenden:
sudo reboot
Für detaillierte Anweisungen siehe den Abschnitt Start ohne Docker.
Warum sollte ich für KI-Aufgaben auf dem Raspberry Pi das NCNN-Format von Ultralytics YOLO26 verwenden?
Das NCNN-Format von Ultralytics YOLO26 ist für mobile und eingebettete Plattformen hochoptimiert und eignet sich daher ideal für KI-Aufgaben auf Raspberry Pi-Geräten. NCNN maximiert die Inferenzleistung durch Nutzung der ARM-Architektur und bietet im Vergleich zu anderen Formaten eine schnellere und effizientere Verarbeitung. Weitere Details zu unterstützten Exportoptionen findest du auf der Ultralytics-Dokumentationsseite zu Bereitstellungsoptionen.
Wie kann ich ein YOLO26-Modell für die Verwendung auf dem Raspberry Pi in das NCNN-Format konvertieren?
Du kannst ein PyTorch YOLO26-Modell entweder über Python oder CLI-Befehle in das NCNN-Format konvertieren:
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 Raspberry Pi verwenden.
Was sind die hardwareseitigen Unterschiede zwischen Raspberry Pi 4 und Raspberry Pi 5, die für das Ausführen von YOLO26 relevant sind?
Zu den Hauptunterschieden gehören:
- CPU: Der Raspberry Pi 4 verwendet ein Broadcom BCM2711, Cortex-A72 64-bit SoC, während der Raspberry Pi 5 ein Broadcom BCM2712, Cortex-A76 64-bit SoC verwendet.
- 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.
- Arbeitsspeicher: Der Raspberry Pi 4 bietet bis zu 8 GB LPDDR4-3200 SDRAM, während der Raspberry Pi 5 über LPDDR4X-4267 SDRAM verfügt, der in 4-GB- und 8-GB-Varianten erhältlich ist.
Diese Verbesserungen tragen zu besseren Leistungsbenchmarks für YOLO26-Modelle auf dem Raspberry Pi 5 im Vergleich zum Raspberry Pi 4 bei. Weitere Informationen findest du in der Tabelle Raspberry Pi Serienvergleich.
Wie kann ich ein Raspberry Pi-Kameramodul für die Arbeit mit Ultralytics YOLO26 einrichten?
Es gibt zwei Methoden, um eine Raspberry Pi-Kamera für die YOLO26-Inferenz einzurichten:
-
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() -
Verwendung eines TCP-Streams:
rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888from 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.