Aus Raspberry Pi Geek 07/2023

Künstliche Intelligenz auf dem Raspberry Pi (Seite 2)

Listing 2

Flatbuffers installieren

$ cd tensorflow/lite/tools/make/downloads
$ rm -rf flatbuffers
$ git clone -b v2.0.0 --depth=1 --recursive \ https://github.com/google/flatbuffers.git
$ cd flatbuffers
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install
$ sudo ldconfig
$ cd ~
$ rm tensorflow.zip

Diese Anpassung ist nötig, da die ursprünglichen TensorFlow-Flatbuffers nicht mehr mit aktuellen GCC-Versionen harmonieren. Die fehlerbereinigte Variante ersetzt die veralteten Serialisierungsbibliotheken durch angepasste Versionen.

Optionen

TensorFlow Lite bietet Anwendern die Option, anhand vorgefertigter Modelle Objekte zu erkennen. Darüber hinaus lassen sich Gegenstände in Bildern klassifizieren. Eigene Modelle können Sie jedoch nur in der “ausgewachsenen” Variante TensorFlow anlegen. TensorFlow Lite und ein Raspberry Pi scheiden aus, da es hierzu sehr viel Rechenleistung braucht. Vielfach wird daher empfohlen, neue Modelle anhand von Referenzdaten mithilfe von GPU-Prozessoren kreieren zu lassen, da diese die nötigen Berechnungen deutlich schneller ausführen als CPUs. Die in TensorFlow generierten Modelle sind zudem nicht kompatibel mit TensorFlow Lite, sodass Sie sie erst konvertieren müssen, bevor Sie sie in der Lite-Variante gebrauchen können. Google hat für TensorFlow Lite bereits zahlreiche Modelle angelegt, die Sie auf dem Raspberry Pi verwenden können. Für die Konvertierung von Modellen in das TensorFlow Lite-Format stellt Ihnen die Webseite des TensorFlow-Projekts detaillierte Informationen zur Verfügung [5].

OpenCV

Mit der Open Source Computer Vision Library (OpenCV) [6] können Sie ein weiteres Set von Bibliotheken mit Ihrem Raspberry Pi nutzen. OpenCV dient der Gesten- und Gesichts- und Objekterkennung sowie der Klassifizierung von Objekten. Das DNN-Modul von OpenCV kann dazu mit vortrainierten Netzen arbeiten und lässt sich gemeinsam mit TensorFlow Lite einsetzen. Um OpenCV auf dem Raspberry Pi zu installieren, müssen Sie allerdings extrem viele Abhängigkeiten berücksichtigen. Zusätzlich müssen Sie beim Kompilieren sehr viele Flags manuell angeben. Der niederländische KI-Spezialist Q-engineering [7] hat deswegen ein frei verfügbares und unter einer BSD-Lizenz stehendes Skript auf Github publiziert, mit dem Sie diese Arbeitsschritte umgehen. Dazu nutzen Sie den Code aus Listing 3.

Listing 3

OpenCV-Skript installieren und ausführen

$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-5.sh
$ sudo chmod 755 ./OpenCV-4-5-5.sh
$ ./OpenCV-4-5-5.sh

In einem letzten Schritt müssen Sie die grafische Code::Blocks-Entwicklungsumgebung [8] in das System integrieren. Mit ihrer Hilfe können Sie anschließend unter Mitwirkung von TensorFlow Lite und OpenCV verschiedene Beispielnetze dazu heranziehen, Objekte zu erkennen und zu klassifizieren. Darüber hinaus wenden Sie diese Möglichkeiten nicht nur auf Fotos an, sondern auch in einem Live-Stream von der angeschlossenen Kamera. Code::Blocks harmoniert mit den Programmiersprachen C und C++ und eignet sich deswegen hervorragend für KI-Anwendungen. Der Befehl sudo apt-get install codeblocks installiert das Paket. Dabei legt die Routine auf dem Desktop und in der Menühierarchie von Raspberry Pi OS selbsttätig einen Starter an (Abbildung 2).

Abbildung 2: Mithilfe der Entwicklungsumgebung Code::Blocks nutzen Sie KI-Modelle.

Abbildung 2: Mithilfe der Entwicklungsumgebung Code::Blocks nutzen Sie KI-Modelle.

Beispiele

Nach Abschluss der Installationsarbeit, können Sie einige Beispielszenarien testen. Dazu können Sie auf eine ganze Reihe bereits vorgefertigter und trainierter Codebeispiele von Q-engineering zurückgreifen, die auf dem Raspberry Pi 4 sogar bei Live-Streams sehr gute Ergebnisse erzielen [9]. Auch hier kommt Code::Blocks zum Einsatz, wobei es in den englischsprachigen Tutorials sogar Slide-Shows von Screenshots gibt, um Programmierlaien zu ermöglichen, erste Erfahrungen mit KI-Anwendungen zu sammeln [10]. Anstelle der mitgelieferten Beispielfotos und MP4-Videos können Sie selbstverständlich eigene Bilder oder Videodateien von der Raspberry-Pi-Kamera verwenden. Dazu brauchen Sie sie lediglich in die entsprechenden Verzeichnisse kopieren und in Code::Blocks als Parameter angeben (Abbildung 3).

Abbildung 3: Die Elemente der Objekterkennung sehen Sie im originalen Bild mitsamt einer Prozentangabe, die die Wahrscheinlichkeit der korrekten Erkennung ausdrückt.

Abbildung 3: Die Elemente der Objekterkennung sehen Sie im originalen Bild mitsamt einer Prozentangabe, die die Wahrscheinlichkeit der korrekten Erkennung ausdrückt.

Eigene Modelle generieren

Da sich eigene Modelle auf Kleincomputern nicht trainieren lassen, bietet Google Anwendern mit der Webseite https://teachablemachine.withgoogle.com/train/image ein webbasiertes Werkzeug, mit dessen Hilfe sie eigene Modelle kreieren. Das Tool eignet sich für verschiedene Modelltypen und gibt sie anschließend als Datei im TensorFlow-Format aus, sodass Sie das Modell nach einer entsprechenden Konvertierung in der Lite-Variante nutzen können. Bitte beachten Sie jedoch, dass für das Generieren eines Modells beispielsweise für die Objekterkennung auf Bildern und Fotografien mehrere hundert Vorlagen erforderlich sind, die Sie hochladen müssen. Die Vorlagen sollten zudem hochauflösend sein, um später eine hohe Treffergenauigkeit zu erzielen. Für die Nutzung des Werkzeugs sollten Sie daher mehrere Stunden Zeitaufwand einplanen (Abbildung 4).

Abbildung 4: Mithilfe eines webbasierten Werkzeugs können Sie auch eigene Modelle anlegen.

Abbildung 4: Mithilfe eines webbasierten Werkzeugs können Sie auch eigene Modelle anlegen.

Fazit

KI-Anwendungen mit TensorFlow Lite und OpenCV gelten längst als etablierte Werkzeuge und lassen sich produktiv einsetzen. Die einzelnen Bibliotheken und Frameworks auf dem Raspberry Pi zu installieren, verlangt allerdings viel Zeit und Mühe – Zumal die Dokumentationen in häufig entweder veraltet sind oder äußerst dürftig ausfallen. Nicht zuletzt deswegen empfiehlt es sich, auf vorhandene Tutorials aktuellen Datums und Beispiele zurückzugreifen, um sich sukzessive in KI-Anwendungen auf dem Kleincomputer einzuarbeiten. csi

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben