Die Raspberry Pi Foundation hat bereits im Juni 2024 das Raspberry-Pi-AI-Kit (mit Hailo-Chip) für die fünfte Generation des Platinenrechners veröffentlicht. Wir haben es genauer unter die Lupe genommen und zeigen ein Einsatzbeispiel.
Mit dem Raspberry-Pi-AI-Kit gelingt der kostengünstige Einstieg in die Entwicklung von KI-Anwendungen. Das KI-Modul basiert auf einem Hailo-8L-Chip und leistet 13 Tera-Operationen pro Sekunde (TOPS) für neuronale Netzwerkinferenzen.
Diese Basis reicht für KI-Aufgaben wie Objekterkennung oder Bildsegmentierung in Echtzeit, immer abhängig natürlich von der Aufgabenstellung und dem Schwierigkeitsgrad der jeweiligen Aufgabe.
Im Handel kostet das Kit aktuell rund 80 Euro, allerdings musste man in den Sommermonaten einige Wochen auf die Hardware warten.
Das Kit besteht aus dem bereits bekannten Raspberry Pi M.2 HAT+, kombiniert mit einem Hailo-AI-Beschleunigungsmodul. In der Packung enthalten war zusätzlich zahlreiches Montagematerial sowie eine GPIO-Steckleiste.
Das AI-Kit besteht aus zwei Komponenten – dem Raspberry Pi M.2 HAT+ und dem Hailo- Chip. Das M.2 HAT+ lässt sich auch für den Betrieb einer SSD-Festplatte verwenden.
IDG
Inbetriebnahme des Kits
Damit das Modul erkannt und einsatzbereit wird, müssen Sie unter Umständen noch einige Treiber sowie die Firmware des Raspberry Pi 5 aktualisieren. Für Treiber und Software führen Sie wie gewohnt ein Update der Pakete sowie eine Installation der neuen Objekte durch:
sudo apt update && sudo apt full-upgrade
Das KI-Kit benötigt darüber hinaus die aktuelle Firmware auf dem Raspberry Pi. Die Version lesen Sie wie folgt aus:
sudo rpi-eeprom-update
Falls Sie als Datum den 6. Dezember 2023 oder später sehen, sind Sie auf der neuesten Version. Ansonsten führen Sie ein Update durch, indem Sie die Konfigurationsoberfläche des Raspberry Pi über das Terminal aufrufen.
sudo raspi-config
Wählen Sie die aktuelle Firmwareversion unter „6 Advanced Options –› A5 Bootloader Version“ mit dem Eintrag „Latest Version“. Verlassen Sie anschließend das Konfigurationsmenü und führen Sie das Update durch.
sudo rpi-eeprom-update -a
Nachdem der Vorgang abgeschlossen ist, starten Sie das System neu. Der Raspberry Pi erkennt im Anschluss automatisch das KI-Board.
Montage und Installation des AI-Kits
Bevor Sie das AI-Kit anschließen, trennen Sie den Raspberry Pi 5 vom Strom. Die Montage geht einfach von der Hand: Nachdem die Steckleiste angebracht ist, müssen Sie nur noch die vier Verbindungsbrücken am Raspberry Pi befestigen und anschließend mit dem Board verbinden.
Die Raspberry Pi Foundation empfiehlt, das KI-Kit immer in Verbindung mit einem aktiven Kühler zu verwenden. Befestigen Sie diesen, bevor Sie das KI-Kit final installieren.
Das AI-Kit wird mittels GPIO-Bridge und vier verlängerter Schrauben auf dem Pi 5 befestigt. Es wird empfohlen, einen aktiven Kühler zu verwenden.
IDG
Schließen Sie zum Schluss noch das Kabel des M.2-HAT+-Moduls an die PCI-Express-Schnittstelle des Raspberry Pi 5 an.
Softwareinstallation des AI-Kits: Im nächsten Schritt installieren wir die notwendigen Treiber und Demos für das AI-Kit. In unseren Beispielen nutzen wir zusätzlich eine Kamera, die wir im weiteren Verlauf noch anschließen und einrichten.
Nachdem Sie die Hardware und die zugehörigen Treiber installiert haben, können Sie über das Terminal prüfen, ob der Zugriff auf das Hailo-Board funktioniert.
IDG
Für die Installation des AI-Kits benötigen Sie neben einem Raspberry Pi 5 das installierte AI-Kit sowie ein 64-Bit-Raspberry-Pi-OS Bookworm als Betriebssystem.
Damit Sie die optimale Leistung für das Kit erzielen, aktivieren Sie die PCIe-Gen-3.0-Schnittstelle. Rufen Sie dazu erneut die Raspberry-Pi-Konfiguration auf:
sudo raspi-config
Sie finden den entsprechenden Parameter unter „6 Advanced Options –› A8 PCIe Speed“.
Einen Geschwindigkeitsvorteil erreichen Sie, wenn Sie die PCIe-3.0-Schnittstelle über das Konfigurationstool aktivieren.
IDG
Im folgenden Menü werden Sie gefragt, ob Sie die Schnittstelle aktivieren möchten, und erhalten dann eine erfolgreiche Rückmeldung.
Nun müssen Sie noch die erforderlichen Abhängigkeiten installieren:
sudo apt install hailo-all
Dies installiert Hailo-Kernel-Gerätetreiber und Firmware, die Hailo-RT-Middleware-Software sowie die Hailo-Tappas-Kernbibliotheken. Zusätzlich enthält das Paket auch noch die rpicam-apps, die wir für die späteren Beispiele benötigen.
Ist alles erledigt, starten Sie den Raspberry Pi neu und überprüfen mit dem Befehl
hailortcli fw-control identify
die erfolgreiche Installation von Modul und Treiber. Als Ergebnis erhalten Sie in einer Übersicht unter anderem den Namen des Boards, die Architektur des Geräts sowie die Seriennummer und den Produktnamen.
Kamera einrichten
Für die Inbetriebnahme der Kamera müssen Sie diese im Konfigurationsmenü aktivieren.
Dazu rufen Sie wieder die Konfigurationszentrale mit
sudo raspi-config
auf. Die Kamera aktivieren Sie über das Menü „3 Interface Options –› I1 Legacy Camera“. Führen Sie im Anschluss einen Neustart aus. Mit dem Befehl
vcgencmd get_camera
prüfen Sie dann, ob die Kamera einsatzbereit ist. Im positiven Fall erhalten Sie als Ergebnis die Rückmeldung „supported=1 detected=1“.
Damit ist die Kamera sowohl erkannt als auch richtig eingerichtet. Falls Sie einen ersten Blick auf die Qualität der Kamera werfen möchten, nutzen Sie dafür diesen Befehl:
raspistill -f
Dieser zeigt für fünf Sekunden ein Vorschaubild der Kamera an. Ob die Kamera auch für unsere weiteren Hailo-Beispiele ordnungsgemäß funktioniert, ermitteln Sie mit diesem Befehl:
rpicam-hello -t 10s
Im Erfolgsfall startet dies die Kamera und zeigt für zehn Sekunden ein Vorschaubild.
Damit haben Sie die Grundlagen für die Ausführung der Hailo-Demos geschaffen.
Die Hailo-Kamerademos
Im folgenden Abschnitt geht es um die Sammlung der rpicam-apps.
Dabei handelt es sich um Kameraanwendungen mit zahlreichen Nachbearbeitungsoptionen. Die von dem Kamerasystem empfangenen Bilder lassen sich mit den mitgelieferten Routinen bearbeiten und analysieren.
Die Ausführung dieser Aktionen steuern Sie über eine JSON-Datei, welche die Schritte und Optionen festlegt.
Für die rpicam-apps gibt es verschiedene JSON-Nachbearbeitungsdateien, mit denen Sie unterschiedliche Modelle auf Bilder und Videos zur Analyse anwenden können.
IDG
Wir verwenden im Folgenden rpicam-hello, welches standardmäßig ein Vorschaufenster anbietet.
Zur Ausführung der Beispiele laden wir im ersten Schritt die JSON-Nachbearbeitungsdateien herunter. In diesen können Sie beispielsweise die Stärke der zeitlichen Filterung aktivieren, deaktivieren und die Intensität festlegen.
Laden Sie am besten die komplette Sammlung der JSON-Dateien herunter, indem Sie das rpicamapps-Repository klonen. Der folgende Befehl kopiert lediglich die aktuellen Daten des Repositorys, was Platz auf dem Raspberry Pi spart:
git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
In den folgenden Abschnitten verwenden wir die aktuell heruntergeladenen JSON-Dateien. Die geklonten Dateien legen wir dabei direkt im Home-Verzeichnis ab, was den anschließenden Zugriff erleichtert.
Sollten Sie sich für einen anderen Speicherort entscheiden, passen Sie den Verweis auf die JSON-Dateien in den kommenden Befehlszeilen entsprechend an.
Objekterkennung mittels Kamera
Im ersten Beispiel wird um das erkannte Objekt ein Begrenzungsrahmen („bounding box“) gezogen. Beim Aufruf stehen verschiedene zusätzliche Parameter vonseiten rpicam-hello zur Verfügung.
Eine vollständige Auflistung finden Sie in der Onlinedokumentation.
Falls Sie selbst mit dem AI-Kit entwickeln möchten, gibt es mit der Hailo-Community eine gute Anlaufstation. Hier können Sie sich mit anderen Entwicklern austauschen.
IDG
Benötigen Sie beispielsweise kein Vorschaufenster, fügen Sie den Parameter „-n“ hinzu. Falls Sie eine Textbeschreibung des erkannten Objektes bevorzugen, nutzen Sie den Parameter „-v 2“:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640
Wie gesehen, kommt im ersten Beispiel YOLOv6 („You Only Look Once“) zum Einsatz.
Dabei handelt es sich um ein einstufiges Framework zur Objekterkennung, das hauptsächlich im Industrieumfeld zum Einsatz kommt.
Im nächsten Beispiel kommt das YOLOv8-Modell zum Einsatz. Dieses baut auf den früheren YOLO-Versionen auf, bietet ergänzend neue Funktionen und Verbesserungen zur weiteren Steigerung von Leistung und Flexibilität.
YOLOv8 ist ausgelegt auf Schnelligkeit, Genauigkeit und Benutzerfreundlichkeit.
Es wird vor allem in den Bereichen Objekterkennung, Bildsegmentierung und Bildklassifikation eingesetzt.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640
Falls Sie auf der Suche nach einem ankerfreien Modell sind, lohnt sich ein Blick auf YOLOX. Es besitzt ein einfacheres Design, bietet aber eine bessere Performance. Das Modell wurde geschaffen, um eine Brücke zwischen den Einsätzen in Forschung und Industrie zu bauen.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolox_inference.json --lores-width 640 --lores-height 640
YOLOv5 ist die fünfte Iterationsstufe von YOLO. Das Modell hat einen Schwerpunkt auf Gesichtserkennung. Das Modell gibt Begrenzungsrahmen und Koordinaten von fünf Gesichtsschlüsselpunkten zurück, die zur Gesichtsausrichtung verwendet werden können.
rpicam-hello -t 0 --post-processfile ~/rpicam-apps/assets/hailo_ yolov5_personface.json --lores-width 640 --lores-height 640
Bildsegmentierung und Körperhaltungen
Im vorherigen Beispiel kam die Gesichtserkennung von YOLOv5 zum Einsatz. Es gibt darüber hinaus auch die Option, mit dem Modell eine Instanzsegmentierung durchzuführen. Dieses gehört aktuell zu den schnellsten und genauesten Echtzeitmodellen.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_segmentation.json --lores-width 640 --lores-height 640 --framerate 20
Das YOLOv8-Modell bietet Ihnen die Möglichkeit, bewegte Bilder zu analysieren, die bewegten Objekte mit einem Rahmen zu kennzeichnen und die Bewegung mithilfe mehrerer Punkte exakt zu beschreiben.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640
Die Beispiele zeigen, wie Sie mit einfachen Mitteln statische und bewegte Bilder analysieren und darauf enthaltene Objekte kennzeichnen.
Innerhalb der Modellsammlung gibt es noch weitere Ausprägungen, die weitere Untersuchungen ermöglichen. Abhängig von der Aufgabenstellung lohnt es sich, verschiedene Modelle auszutesten.
Wichtige Informationsquellen
Neben den bereits mitgelieferten Beispielen gibt es noch eine Reihe von weiteren Demos, die sich auf dem Raspberry Pi 5 ausführen lassen. Diese finden Sie auf der Hailo-Github-Website im Bereich „hailorpi5-examples“.
Sind Sie auf der Suche nach vordefinierten Modellen, finden Sie diese im Bereich „hailo_model_zoo“.
Der Model-Zoo bietet vortrainierte Modelle für leistungsstarke Deep-Learning-Anwendungen.
Für den Austausch mit anderen Entwicklern nutzen Sie am besten die kostenlosen Hailo-Community-Foren, für die Sie sich registrieren müssen.
Dieser Artikel erschien zuerst bei unserer Schwesterpublikation PCWorld und wurde aus dem Englischen übersetzt und lokalisiert.