Beschleunigung der Entwicklung von Bilderkennungssystemen mit den MPUs der RZ/V2-Serie von Renesas

Von Jacob Beningo

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Da die Bilderkennung in vielen Produkten immer wichtiger wird, halten maschinelles Lernen (ML) und künstliche Intelligenz (KI) Einzug in eine Vielzahl von Anwendungsbereichen. Das Problem für die Entwickler besteht darin, dass ML/KI-gestützte Bilderfassung mehr Rechenleistung für die Ausführung der Erkennungsalgorithmen erfordert, als in Anwendungen mit begrenzter Leistung zur Verfügung steht. Außerdem entstehen zusätzliche Kosten, wenn teure Wärmemanagementlösungen erforderlich sind.

Das Ziel für ML/KI am Netzwerkrand ist es, einen optimalen Architekturansatz zu finden, der ein Gleichgewicht zwischen Performance und Energieverbrauch herstellt und gleichzeitig ein robustes Software-Ökosystem für die Entwicklung der Anwendung bietet.

Vor diesem Hintergrund wird in diesem Artikel eine Lösung in Form der Mikroprozessoreinheit (MPU) der Serie RZ/V2 von Renesas Electronics mit integriertem KI-Hardwarebeschleuniger vorgestellt. In diesem Artikel wird untersucht, wie eine MPU anstelle eines Mikrocontrollers (MCU) oder einer High-End-Grafikverarbeitungseinheit (GPU) mehrere Probleme lösen kann, mit denen Entwickler konfrontiert sind. Es wird beschrieben, wie sie mit der Entwicklung von Bilderkennungssystemen mit Komponenten der RZ/V2-Serie beginnen können, und es werden einige „Tipps und Tricks“ gegeben, um den Prozess zu erleichtern.

Einführung in die MPUs der RZ/V2-Serie

Die RZ/V2-Serie ist eine Lösung, die Entwicklern mit einem Drei-Kern-Mikroprozessor viele Möglichkeiten eröffnet. Die Mikroprozessoren der RZ/V2L-Serie enthalten zwei 1,2 Gigahertz (GHz) schnelle Arm-Cortex-A55-Prozessoren und einen Echtzeit-Mikrocontrollerkern (Arm®-Cortex®-M33) für 200 Megahertz (MHz). Darüber hinaus enthalten die Bauteile der Serie eine GPU, die auf einem Arm-Multimedia-Prozessor Mali-G31 mit NEON-SIMD-Befehlen (Single Instruction/Multiple Data) basiert. Die Kombination dieser drei Prozessorkerne mit dem Multimedia-Prozessor bietet Entwicklern, die an Bilderkennungssystemen arbeiten, eine gut abgerundete Lösung.

Derzeit gibt es zwei MPU-Klassen in der RZ/V2-Serie, die RZ/V2L- und die RZ/V2M-Serie. Der RZ/V2L verfügt über einen einfachen Bildsignalprozessor (ISP), eine 3D-Grafik-Engine und äußerst vielseitige Peripheriekomponenten. Der RZ/V2M wiederum verfügt über einen leistungsstarken ISP, der eine 4K-Auflösung mit 30 Bildern pro Sekunde (fps) unterstützt. Dieser Artikel konzentriert sich auf die RZ/V2L-Familie, bestehend aus dem R9A07G054L23GBG und dem R9A07G054L24GBG. Der Hauptunterschied zwischen den beiden Bauteilen besteht darin, dass der R9A07G054L23GBG in einem 15 mm2 großen 456-LFBGA-Gehäuse geliefert wird, während der R9A07G054L24GBG in einem 21 mm2 großen 551-LFBGA-Gehäuse geliefert wird.

Das Blockschaltbild der Baureihe RZ/V2L ist in Abbildung 1 dargestellt. Zusätzlich zu den drei Prozessorkernen verfügen die MPUs über Schnittstellen für Standardperipherie wie DDR3/DDR4-Speicher, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO und einen Analog/Digital-Wandler (ADC). Außerdem enthalten die Bauteile Sicherheitsfunktionen wie einen sicheren Bootvorgang, eine Krypto-Engine und einen echten Zufallszahlengenerator (TRNG). Was die MPU-Serie jedoch auszeichnet, ist der dynamisch rekonfigurierbare Prozessor DRP-AI, ein KI-Beschleuniger.

Diagramm der MPU-Serie RZ/V2L von Renesas (zum Vergrößern anklicken)Abbildung 1: Die MPU-Serie RZ/V2L unterstützt verschiedene Peripherieschnittstellen, Sicherheits- und Videoverarbeitungsoptionen. Das entscheidende Merkmal für Anwendungen der Bilderkennung ist der DRP-AI-Beschleuniger. (Bildquelle: Renesas Electronics Corporation)

Das Geheimnis des DRP-AI-Beschleunigers

Der DRP-AI-Beschleuniger ist die geheime Soße, die es den MPUs der RZ/V2L-Serie ermöglicht, Bilderkennungsanwendungen schnell, mit weniger Energieverbrauch und einem geringeren Wärmeprofil auszuführen. Die DRP-AI besteht aus zwei Komponenten: einer DRP und einer KI-Multiplikations- und Akkumulationsschaltung (MAC), die Operationen in Faltungsnetzen und Kombinationsschichten durch Optimierung des Datenflusses mit internen Schaltern effizient verarbeiten kann (Abbildung 2).

Die DRP-AI-Hardware ist für die Ausführung von KI-Inferenzen vorgesehen. Die DRP-AI nutzt eine einzigartige, von Renesas entwickelte, dynamisch rekonfigurierbare Technologie, die Flexibilität, Highspeed-Verarbeitung und Leistungseffizienz bietet. Darüber hinaus ermöglicht der DRP-AI-Translator, ein kostenloses Software-Tool, die Implementierung optimierter KI-Modelle zur schnellen Performancemaximierung. Mehrere vom DRP-AI-Übersetzer ausgegebene ausführbare Dateien können im externen Speicher abgelegt werden. Die Anwendung kann dann während der Laufzeit dynamisch zwischen mehreren KI-Modellen wechseln.

Der DRP kann komplexe Vorgänge wie die Bildvorverarbeitung und das Pooling von KI-Modellen schnell verarbeiten, indem er die Hardwarekonfiguration dynamisch ändert.

Diagramm: Der DRP-AI von Renesas umfasst einen DRP und einen AI-MACAbbildung 2: Der DRP-AI besteht aus einem DRP und einem AI-MAC, die zusammen durch Optimierung des Datenflusses mit internen Schaltern Operationen in Faltungsnetzen und Kombinationsschichten effizient verarbeiten können. (Bildquelle: Renesas Electronics Corporation)

Der DRP-AI-Übersetzer

Der DRP-AI-Übersetzer erzeugt DRP-AI-optimierte ausführbare Dateien aus trainierten ONNX-Modellen, unabhängig von einem KI-Framework. So kann ein Entwickler beispielsweise PyTorch, TensorFlow oder ein anderes KI-Modellierungssystem verwenden, wenn es ein ONNX-Modell ausgibt. Sobald das Modell trainiert ist, wird es in den DRP-AI-Übersetzer eingespeist, der die DRP- und KI-MAC-Programme generiert (Abbildung 3).

Diagramm: KI-Modelle werden mit einem beliebigen ONNX-kompatiblen Framework trainiertAbbildung 3: KI-Modelle werden mit einem beliebigen ONNX-kompatiblen Framework trainiert. Das ONNX-Modell wird dann in den DRP-AI-Übersetzer eingespeist, der die DRP- und KI-MAC-Programme generiert. (Bildquelle: Renesas Electronics Corporation)

Der DRP-AI-Übersetzer hat drei Hauptaufgaben:

  1. Planung der einzelnen Vorgänge zur Verarbeitung des KI-Modells.
  2. Ausblenden des Overheads, z. B. der Speicherzugriffszeit, die bei jedem Übergang einer Operation im Zeitplan auftritt.
  3. Optimierung der Netzgraphenstruktur.

Der Übersetzer ordnet jeden Prozess des KI-Modells automatisch dem AI-MAC und dem DRP zu, so dass der Benutzer DRP-AI einfach nutzen kann, ohne ein Hardware-Experte zu sein. Stattdessen kann der Entwickler über den mitgelieferten Treiber Aufrufe tätigen, um das leistungsstarke KI-Modell auszuführen. Darüber hinaus kann der DRP-AI-Übersetzer kontinuierlich aktualisiert werden, um neu entwickelte KI-Modelle ohne Hardwareänderungen zu unterstützen.

Systemanwendungsfälle und Prozesse

Der allgemeine Prozessablauf für die Verwendung der RZ/V2L-MPUs zum Trainieren und Bereitstellen von Bilderkennungsanwendungen ist in Abbildung 4 dargestellt. Wie üblich können Ingenieure ihren Datensatz erwerben und ihn zum Trainieren ihres Bilderkennungsmodells verwenden. Ganz gleich, ob sie versuchen, Katzen, ein Produkt in einem Einkaufswagen oder fehlerhafte Teile auf einem Fließband zu erkennen, der Trainingsprozess wird mit Hilfe vertrauter KI-Frameworks erfolgen. Sobald das Modell trainiert ist, wird es in das ONNX-Format konvertiert und in den DRP-AI-Übersetzer eingespeist, der wiederum Objektcode ausgibt, der auf der DRP-AI-Hardware ausgeführt werden kann. Die Daten von Kameras, Beschleunigungsmessern oder anderen Sensoren werden dann abgetastet und in die ausführbaren Dateien eingespeist, die das Ergebnis der Inferenz liefern.

Bild zum Training und der Ausführung eines Algorithmus zur BilderkennungAbbildung 4: Der Prozess des Trainings und der Ausführung eines Bilderkennungsalgorithmus auf den MPUs RZ/V2L. (Bildquelle: Renesas Electronics Corporation)

Es gibt mehrere Möglichkeiten, wie Ingenieure die MPUs RZ/V2L in ihren Designs nutzen können (Abbildung 5). Erstens kann die RZ/V2L-MPU in Standalone-Designs verwendet werden, bei denen der RZ/V2L der einzige Prozessor im System ist. Mit seinen drei Kernen und der KI-Beschleunigungshardware ist eine zusätzliche Rechenleistung möglicherweise nicht erforderlich.

Der zweite Anwendungsfall ist der Einsatz des RZ/V2L als KI-Prozessor in einem umfangreicheren System. In diesem Anwendungsfall führt der RZ/V2L die KI-Inferenzen durch und gibt ein Ergebnis an einen anderen Prozessor oder ein anderes System zurück, der/das dann auf dieses Ergebnis reagiert. Welcher Anwendungsfall gewählt wird, hängt von verschiedenen Faktoren wie Kosten, Gesamtsystemarchitektur, Performance und Echtzeitanforderungen ab.

Diagramm von zwei Anwendungsfällen für die Renesas RZ/V2L-MPUsAbbildung 5: Die beiden Anwendungsfälle für die RZ/V2L-MPUs sind die Verwendung als Einzellösung in einer Anwendung oder als KI-Prozessor in einem umfangreicheren System. (Bildquelle: Renesas Electronics Corporation)

Beispiel für eine praktische Anwendung

Es gibt viele Anwendungsfälle, in denen die Technologie der Bilderkennung eingesetzt werden kann. Ein interessantes Beispiel findet sich im Supermarkt. Heutzutage scannt ein Angestellter oder ein Einkäufer beim Bezahlen in einem Lebensmittelgeschäft in der Regel jeden Artikel in einem Einkaufswagen. Ein interessanter Anwendungsfall wäre die Erkennung der Produkte, die über das Förderband laufen, mit Hilfe der Bilderkennung und die automatische Abrechnung dieser Produkte.

Ein Prototyp kann mit einer einfachen CMOS-Kamera und dem Evaluierungsboard RTK9754L23S01000BE von Renesas gebaut werden (Abbildung 6). Das RZ/V2L-Embedded-Entwicklungsboard verfügt über ein SOM (System on Module) und eine Trägerplatine, die es Entwicklern ermöglicht, schnell mit dem Betrieb zu beginnen. Darüber hinaus unterstützt das Entwicklungsboard Linux sowie verschiedene Tools wie den DRP-AI-Übersetzer.

Abbildung des RZ/V2L-Embedded-Entwicklungsboards von RenesasAbbildung 6: Das RZ/V2L-Embedded-Entwicklungsboard verfügt über ein SOM und eine Trägerkarte, die Entwicklern einen schnellen Einstieg in die Entwicklung ermöglicht. (Bildquelle: Renesas Electronics Corporation)

Abbildung 7 gibt einen Überblick darüber, was erforderlich ist, um Bilddaten zu erfassen und ein KI-Ergebnis zu erzeugen. In diesem Anwendungsbeispiel werden die Bilder des Förderbandes mit einem CMOS-Sensor über den integrierten ISP aufgenommen. Anschließend wird das Bild im Speicher abgelegt und in die DRP-AI-Engine eingespeist. Schließlich führt die DRP-AI-Engine die Inferenz durch und liefert ein KI-Ergebnis. Das Ergebnis könnte zum Beispiel sein, dass eine Banane, ein Apfel oder eine andere Frucht gefunden wurde.

Das Ergebnis wird häufig mit einem Konfidenzniveau von 0 bis 1 versehen. Ein Wert von 0,90 bedeutet beispielsweise, dass die KI zu 90% sicher ist, dass sie einen Apfel erkannt hat. Andererseits könnte eine Konfidenz von 0,52 bedeuten, dass die KI zwar glaubt, es handele sich um einen Apfel, aber nicht sicher ist. Es ist nicht unüblich, ein KI-Ergebnis zu nehmen und es über mehrere Proben zu mitteln, um die Chancen auf korrekte Ergebnisse zu erhöhen.

Diagramm des RZ/V2L-Embedded-Entwicklungsboards von RenesasAbbildung 7: Das RZ/V2L-Embedded-Entwicklungsboard wird verwendet, um eine KI-Inferenz auszuführen, die verschiedene Früchte auf einem Förderband erkennt. Die Abbildung zeigt die Schritte, die notwendig sind, um ein Bild zu erfassen und ein KI-Ergebnis zu erzeugen. (Bildquelle: Renesas Electronics Corporation)

Schließlich wird in diesem Beispiel ein Rahmen um das erkannte Objekt gezeichnet, und der Name des erkannten Objekts wird zusammen mit dem Konfidenzniveau angezeigt (Abbildung 8).

Beispielhafte Ausgabe des RZ/V2L von RenesasAbbildung 8: Beispielhafte Ausgabe des RZ/V2L in einer Anwendung zur Erkennung von Obst und Gemüse auf einem Förderband. (Bildquelle: Renesas Electronics Corporation)

Tipps und Tricks für die Verwendung des RZ/V2L

Entwickler, die mit den RZ/V2L-MPUs von Renesas in das maschinelle Lernen einsteigen wollen, können auf eine Vielzahl von Ressourcen zurückgreifen, um den Betrieb aufzunehmen. Hier finden Sie einige „Tipps und Tricks“, die die Entwicklung vereinfachen und beschleunigen können:

  • Beginnen Sie mit einem Entwicklungsboard und den vorhandenen Beispielen, um ein Gefühl für die Bereitstellung und Ausführung einer Anwendung zu bekommen.
  • Wenn es notwendig ist, mehrere Inferenzen auszuführen, speichern Sie die ausführbaren Modelle in einem externen Speicher und nutzen Sie die DRP-AI-Funktionen, um schnell zwischen den Modellen zu wechseln.
  • Lesen Sie die Dokumentation und sehen Sie sich die Videos auf der RZ/V-Embedded-AI-MPUs-Website von Renesas an.
  • Laden Sie den DRP-AI-Übersetzer herunter.
  • Laden Sie das RZ/V2L-DRP-AI-Support-Package herunter.

Entwickler, die diese „Tipps und Tricks“ befolgen, können sich bei den ersten Schritten viel Zeit und Ärger sparen.

Fazit

ML und KI halten Einzug in viele Edge-Anwendungen, wobei die Fähigkeit, Objekte in Echtzeit zu erkennen, immer wichtiger wird. Für Entwickler besteht die Schwierigkeit darin, die richtige Architektur zu finden, mit der KI/ML am Netzwerkrand (Edge) ausgeführt werden kann. GPUs neigen dazu, viel Strom zu verbrauchen, während MCUs möglicherweise nicht über genügend Rechenleistung verfügen.

Wie gezeigt, bietet die MPU-Serie RZ/V von Renesas mit DRP-AI eine Reihe von Vorteilen wie hardwarebeschleunigte KI sowie eine umfangreiche Toolchain und Prototyping-Unterstützung.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo ist ein Berater für eingebettete Software, der derzeit mit Kunden in mehr als einem Dutzend Ländern zusammenarbeitet, um ihr Unternehmen durch die Verbesserung von Produktqualität, Kosten und Markteinführungszeit dramatisch zu transformieren. Er hat mehr als 200 Artikel über Entwicklungstechniken für eingebettete Software veröffentlicht, ist ein gefragter Redner und technischer Trainer und verfügt über drei Abschlüsse, darunter einen Masters of Engineering der University of Michigan. Bei Interesse können Sie ihn unter jacob@beningo.com kontaktieren oder besuchen Sie seine Website www.beningo.com und melden Sie sich für seinen monatlichen Embedded Bytes Newsletter an.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey