Link to this sectionSchnellstartanleitung: Raspberry Pi mit Ultralytics YOLO26#
Raspberry Pi ist ein kleiner, erschwinglicher Computer, auf dem Ultralytics YOLO26 für Objekterkennung in Echtzeit am Edge läuft – ganz ohne GPU. Diese Anleitung führt dich durch die Bereitstellung von YOLO26 auf Raspberry Pi 4 und 5: vom Flashen des Betriebssystems über die Installation von Ultralytics und dem Export zu NCNN für die schnellste Inferenz auf ARM bis hin zum Ausführen von Vorhersagen mit einem Live-Kamera-Feed. Sie enthält außerdem Leistungsbenchmarks für zehn Exportformate, damit du das beste Verhältnis zwischen Geschwindigkeit und Genauigkeit für deine Hardware wählen kannst.
Springe direkt zu Ultralytics einrichten, Export zu NCNN und Ausführen der Inferenz, Benchmarks oder Kamerainferenz.
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 dasselbe Raspberry Pi OS Bookworm installiert ist.
Link to this sectionWas 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.
Link to this sectionVergleich 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,4 GHz | 1,8 GHz | 2,4 GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU Max-Frequenz | 400 MHz | 500 MHz | 800 MHz |
| Speicher | 1 GB LPDDR2 SDRAM | 1 GB, 2 GB, 4 GB, 8 GB LPDDR4-3200 SDRAM | 4 GB, 8 GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 1x PCIe 2.0 Schnittstelle |
| Maximale Leistungsaufnahme | 2,5 A bei 5 V | 3 A bei 5 V | 5 A bei 5 V (PD aktiviert) |
Link to this sectionWas ist Raspberry Pi OS?#
Raspberry Pi OS (früher bekannt als Raspbian) ist ein Unix-ähnliches Betriebssystem, das auf der Debian GNU/Linux-Distribution basiert und von der Raspberry Pi Foundation für die Raspberry Pi-Familie kompakter Einplatinencomputer vertrieben wird. Raspberry Pi OS ist für den Raspberry Pi mit ARM-CPUs hochgradig optimiert und verwendet eine modifizierte LXDE-Desktop-Umgebung 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.
Link to this sectionRaspberry 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 von Raspberry Pi, um dein Gerät für die erste Verwendung vorzubereiten.
Link to this sectionUltralytics einrichten#
Du kannst das Ultralytics-Paket auf zwei Arten auf dem Raspberry Pi für dein nächstes Computer Vision-Projekt einrichten:
Link to this sectionMit 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 unten stehenden Befehl aus, um das Docker-Image zu beziehen und auf dem Raspberry Pi zu starten. Dies basiert auf dem Docker-Image arm64v8/ubuntu, welches Ubuntu 24.04 in einer Python3-Umgebung ausführt.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tDas Docker-Image enthält bereits Ultralytics, sodass du direkt mit dem Export deines Modells zu NCNN fortfahren kannst.
Link to this sectionOhne Docker starten#
Link to this sectionUltralytics-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.
-
Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip-Paket mit optionalen Abhängigkeiten installierenpip install ultralytics[export] -
Gerät neu starten
sudo reboot
Link to this sectionNCNN auf Raspberry Pi verwenden#
Von allen von Ultralytics unterstützten Exportformaten liefert NCNN die beste Inferenzleistung auf Raspberry Pi-Geräten, da es für mobile/eingebettete Plattformen wie die ARM-Architektur hochoptimiert ist. Konvertiere dein YOLO26n PyTorch-Modell zu NCNN und führe anschließend die Inferenz mit dem exportierten Modell aus:
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 Einzelheiten zu den unterstützten Exportoptionen findest du im Leitfaden für Modellbereitstellungsoptionen.
Link to this sectionYOLO26 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.
| 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.
Link to this sectionRaspberry Pi 5 YOLO26 Benchmarks#
YOLO26-Benchmarks wurden vom Ultralytics-Team für zehn verschiedene Modellformate durchgeführt, um Geschwindigkeit und Genauigkeit zu messen: 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.
Link to this sectionVergleichsdiagramm#
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.
Link to this sectionDetaillierte Vergleichstabelle#
Die folgende 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), die auf einem Raspberry Pi 5 ausgeführt werden, und liefert uns Status, Größe, mAP50-95(B)-Metrik und 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- oder Nachverarbeitung.
Link to this sectionUnsere Ergebnisse reproduzieren#
Um die obigen 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 Benchmarking-Ergebnisse je nach exakter 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 Validierungsbilder).
Link to this sectionRaspberry Pi-Kamera verwenden#
Bei der Verwendung des Raspberry Pi für Computer Vision-Projekte kann es wichtig sein, Echtzeit-Video-Feeds zu erfassen, um eine Inferenz durchzuführen. 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 die Video-Feeds 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 loslegst.
Der Raspberry Pi 5 verwendet kleinere CSI-Anschlüsse als der Raspberry Pi 4 (15-Pin gegenüber 22-Pin), daher benötigst du ein 15-Pin-auf-22-Pin-Adapterkabel, um eine Verbindung zu einer Raspberry Pi-Kamera herzustellen.
Link to this sectionKamera 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-helloErfahre mehr über die Verwendung von rpicam-hello in der offiziellen Raspberry Pi-Dokumentation
Link to this sectionInferenz mit der Kamera#
Es gibt zwei Methoden, die Raspberry Pi Kamera zu verwenden, um eine Inferenz auf YOLO26-Modellen auszuführen.
Wir können picamera2 verwenden, das standardmäßig mit dem Raspberry Pi OS vorinstalliert ist, um auf die Kamera zuzugreifen und Schlussfolgerungen (Inference) mit YOLO26-Modellen durchzufü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()Sieh dir unser Dokument zu Inferenzquellen an, wenn du den Bild-/Video-Eingabetyp ändern möchtest.
Link to this sectionBewä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.
-
Verwende eine SSD
Bei einer kontinuierlichen Nutzung des Raspberry Pi rund um die Uhr wird empfohlen, eine SSD für das System zu verwenden, da eine SD-Karte ständigen Schreibvorgängen nicht standhalten kann und möglicherweise kaputtgeht. Dank des integrierten PCIe-Anschlusses auf dem Raspberry Pi 5 kannst du jetzt SSDs mit einem Adapter wie der NVMe Base für Raspberry Pi 5 anschließen.
-
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.
-
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-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 STRG + X, dann Y und anschließend EINGABE
e. Den Raspberry Pi neu starten
Link to this sectionNächste Schritte#
Du hast YOLO26 erfolgreich auf deinem Raspberry Pi eingerichtet. Um weiterzugehen, erkunde den Predict-Modus für weitere Inferenzoptionen, den Export-Modus für zusätzliche Bereitstellungsformate oder den NVIDIA Jetson-Leitfaden, falls du mehr Rechenleistung am Edge benötigst. Für die vollständige Dokumentation besuche die Ultralytics YOLO26 Docs.
Link to this sectionDanksagungen 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.
Für weitere Informationen über die Aktivitäten der Kashmir World Foundation kannst du deren Website besuchen.
Link to this sectionFAQ#
Link to this sectionWie richte ich Ultralytics YOLO26 auf einem Raspberry Pi ohne Docker ein?#
Um Ultralytics YOLO26 ohne Docker auf einem Raspberry Pi einzurichten, folge diesen Schritten:
- Aktualisiere die Paketliste und installiere
pip: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] - Starte das Gerät neu, um die Änderungen anzuwenden:
sudo reboot
Detaillierte Anweisungen findest du im Abschnitt Start without Docker.
Link to this sectionWarum sollte ich das NCNN-Format von Ultralytics YOLO26 auf dem Raspberry Pi für KI-Aufgaben verwenden?#
Das NCNN-Format von Ultralytics YOLO26 ist für mobile und eingebettete Plattformen hochoptimiert und somit ideal für die Ausführung von KI-Aufgaben auf Raspberry Pi-Geräten geeignet. NCNN maximiert die Inferenzleistung durch die Nutzung der ARM-Architektur und bietet eine schnellere und effizientere Verarbeitung im Vergleich zu anderen Formaten. Weitere Einzelheiten zu den unterstützten Exportformaten findest du in den Modell-Exportoptionen.
Link to this sectionWie kann ich ein YOLO26-Modell zur 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 Use NCNN on Raspberry Pi.
Link to this sectionWas sind die Hardware-Unterschiede zwischen dem Raspberry Pi 4 und dem Raspberry Pi 5 hinsichtlich der Ausführung von YOLO26?#
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 zu besseren Leistungs-Benchmarks 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 Series Comparison.
Link to this sectionWie 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-Inference 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")
Ausführliche Anweisungen zur Einrichtung findest du im Abschnitt Inference with Camera.