Schnelle Entwicklung und Bereitstellung anpassungsfähiger Edge-basierter Bildverarbeitungsanwendungen mit einer produktionsbereiten Plattform

Von Stephen Evanczuk

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Die Anwendung von künstlicher Intelligenz (KI) auf Edge-basierten intelligenten Kameras hat sich in einem wachsenden Anwendungsbereich eingebetteter Bildverarbeitung wie maschinellem Sehen, Sicherheit, Einzelhandel und Robotik schnell durchgesetzt. Zwar trug das rasche Aufkommen zugänglicher Algorithmen für maschinelles Lernen (ML) dazu bei, dieses Interesse an der KI zu wecken, doch haben die Entwickler immer noch Schwierigkeiten, enge Terminpläne einzuhalten und gleichzeitig eine hohe Performance bei minimaler Leistungsaufnahme für Edge-basierte Anwendungen zu liefern.

Erschwerend kommt hinzu, dass selbst neu eingeführte Lösungen aufgrund der sich schnell ändernden Anwendungsanforderungen und der kontinuierlichen Verbesserung der sich entwickelnden Algorithmen schnell suboptimal werden können.

Dieser Artikel stellt eine flexible System-on-Module-(SOM)-Lösung von Xilinx vor, mit der Entwickler schnell intelligente Kameralösungen für den Edge-Einsatz implementieren können. Es wird gezeigt, wie sie diese Lösungen als Reaktion auf veränderte Anforderungen leichter anpassen können, ohne dabei Kompromisse bei Latenzzeiten und Leistung einzugehen.

Beschleunigung der Ausführung von Bildverarbeitungsanwendungen

Das SOM Kria K26 von Xilinx basiert auf einem maßgefertigten Zynq-UltraScale+-Multiprozessor-System-on-Chip (MPSoC) und bietet ein robustes eingebettetes Verarbeitungssystem mit einem 64-Bit-Quad-Core-Anwendungsprozessor Arm Cortex-A53, einem 32-Bit-Dual-Core-Echtzeit-Prozessor Arm® Cortex®-R5F und einem 3D-Grafikprozessor Arm Mali-400MP2. Das SOM kombiniert das MPSoC mit vier Gigabyte 64 Bit breitem DDR4-Speicher (Double Data Rate 4) und zugehörigem Speicher-Controller sowie mehreren nichtflüchtigen Speicherbausteinen, darunter 512 Megabit (MBit) QSPI-Speicher (Quad Serial Peripheral Interface), 16 Gigabyte (GB) eMMC-Speicher (Embedded Multi-Media Card) und 64 Kilobit (KBit) EEPROM (Electrically Erasable Programmable Read-Only Memory) (Abbildung 1).

Diagramm: SOM Kria K26 von Xilinx (zum Vergrößern anklicken)Abbildung 1: Das SOM Kria K26 von Xilinx kombiniert die umfangreichen Verarbeitungsmöglichkeiten eines maßgefertigten Zynq-UltraScale+-MPSoC mit einem Trusted-Platform-Modul 2.0 (TPM2) und einem dynamischen und nichtflüchtigen Speicher. (Bildquelle: Xilinx)

Xilinx ergänzt seine Verarbeitungs- und Speicherressourcen durch ein umfangreiches programmierbares Logiksystem mit 256.000 Systemlogikzellen, 234.000 konfigurierbaren Logikblock-Flip-Flops (CLB), 117.000 CLB-Look-up-Tables (LUTs) und insgesamt 26,6 Megabit (MBit) Speicher in verschiedenen Konfigurationen von verteiltem Random-Access-Memory (RAM), Block-RAM und UltraRAM-Blöcken. Darüber hinaus umfasst das programmierbare Logiksystem 1.248 Slices für die digitale Signalverarbeitungs (DSP), vier Transceiver und einen Videocodec für H.264 und H.265, der sich für die gleichzeitige Kodierung/Dekodierung von bis zu 32 Streams mit insgesamt 3840 x 2160 Pixeln bei 60 Frames pro Sekunde (fps) eignet. Die beiden 240-poligen Steckverbinder des SOM ermöglichen den Zugang zu Funktionsblöcken und Peripherien über benutzerkonfigurierbare Ein-/Ausgänge (E/A).

Diese Kombination aus Prozessorkernen, Speicher und programmierbarer Logik bietet ein einzigartiges Maß an Flexibilität und Performance, das die wichtigsten Nachteile von Grafikprozessoren für die Hochgeschwindigkeitsausführung von ML-Algorithmen überwindet. Im Gegensatz zum festen Datenfluss bei Grafikprozessoren können Entwickler den Datenpfad des K26-SOM neu konfigurieren, um den Durchsatz zu optimieren und die Latenz zu verringern. Darüber hinaus eignet sich die Architektur des K26-SOM besonders gut für die Art von weitmaschigen Netzwerken, die einer wachsenden Zahl von ML-Anwendungen zugrunde liegen.

Die Programmierbarkeit des K26-SOM nimmt auch Speicherengpässe in Angriff, die sowohl den Stromverbrauch erhöhen als auch die Performance in speicherintensiven Anwendungen begrenzen, wie z. B. ML, die mit konventionellen Architekturen unter Verwendung von Grafikprozessoren, Multicore-Prozessoren oder sogar hochentwickelten SoCs aufgebaut sind. In jeder Anwendung, die mit diesen konventionellen Komponenten entwickelt wird, entfallen typischerweise etwa 40 % des Systemstromverbrauchs auf den externen Speicher, während die Prozessorkerne und der interne Speicher jeweils etwa 30 % ausmachen. Im Gegensatz dazu können Entwickler die Vorteile der internen Speicherblöcke und der Rekonfigurierbarkeit des K26-SOM nutzen, um Entwicklungen zu implementieren, die wenig oder keinen externen Speicherzugriff erfordern. Das Ergebnis ist eine höhere Performance und ein geringerer Energieverbrauch als bei herkömmlichen Komponenten (Abbildung 2).

Diagramm: Kria von Xilinx verwendet eine effiziente Bildverarbeitungspipeline (zum Vergrößern anklicken)Abbildung 2: Während Systeme, die auf eingebetteten Grafikprozessoren und herkömmlichen SoCs basieren, mehrere, stromverbrauchende Speicherzugriffe benötigen, um ihre Anwendungen auszuführen, nutzen Systeme, die auf dem Kria von Xilinx basieren, eine effiziente Bildverarbeitungspipeline, die so konzipiert werden kann, dass keine DDR-Zugriffe erforderlich sind. (Bildquelle: Xilinx)

In Kombination mit seiner hohen Performance, dem niedrigen Energieverbrauch und der umfassenden Rekonfigurierbarkeit trägt das K26-SOM dazu bei, den Schutz bei intelligenten Kameradesigns für sensible Anwendungen zu gewährleisten. Neben der im SOM integrierten TPM-Sicherheitseinheit enthält das MPSoC eine dedizierte Konfigurationssicherheitseinheit, die sicheres Laden, Manipulationsüberwachung, sichere Schlüsselspeicherung und kryptografische Hardware-Beschleunigung unterstützt. Zusammen bilden Konfigurationssicherheitseinheit, interner chipintegrierter Speicher und sichere Schlüsselspeicherung die sichere Grundlage, um eine vertrauenswürdige Hardware für die Implementierung von sicherem Laden und eine vertrauenswürdige Plattform für die Ausführung von Anwendungen zu gewährleisten.

Die umfangreichen Möglichkeiten, die mit dem K26-SOM zur Verfügung stehen, bieten eine geeignete Basis für die Implementierung anspruchsvoller Edge-basierter Anwendungen. Jede Anwendung stellt jedoch ihre eigenen Anforderungen an Merkmale und Funktionen, die mit einem anwendungsspezifischen Sortiment von Peripherien und anderen Komponenten verbunden sind. Um die Implementierung von anwendungsspezifischen Lösungen zu vereinfachen, ist das K26-SOM so konzipiert, dass es auf eine Trägerkarte gesteckt werden kann, auf der die zusätzliche Peripherie untergebracht sind. Xilinx demonstriert diesen Ansatz mit seinem Kria-K26-basierten KI-Startkit KV260 für die Bildverarbeitung.

Startkit vereinfacht Bildverarbeitungsanwendung

Das KI-Startkit KV260 von Xilinx für die Bildverarbeitung besteht aus einem K26-SOM, das in eine bildverarbeitungsspezifische Trägerplatine eingesteckt ist, und bietet eine sofort einsatzbereite Plattform, die speziell für die sofortige Evaluierung und schnelle Entwicklung von intelligenten Bildverarbeitungsanwendungen entwickelt wurde. Während das K26-SOM die erforderlichen Verarbeitungsfunktionen bereitstellt, bietet die Trägerplatine des Startkits die Energieverwaltung, einschließlich Einschalt- und Reset-Sequenzierung, sowie Schnittstellenoptionen und Anschlüsse für Kamera, Display und microSD-Karte (Abbildung 3).

Diagramm: KI-Startkit KV260 von Xilinx für die BildverarbeitungAbbildung 3: Das KI-Startkit KV260 von Xilinx für die Bildverarbeitung bietet eine komplette Lösung zur intelligenten Bildverarbeitung mit dem K26-SOM, das in eine auf die Verarbeitung ausgerichtete Trägerplatine eingesteckt wird. (Bildquelle: Xilinx)

Neben den zahlreichen Schnittstellen bietet die Trägerplatine über ihren Raspberry Pi-Anschluss und ein Paar IAS-Anschlüsse (Image Access System) Unterstützung für mehrere Kameras. Einer der Anschlüsse ist mit einem speziellen 13-Megapixel-(MP)-Bildsensor-Prozessor AP1302 von Onsemi verbunden, der alle Bildverarbeitungsfunktionen übernehmen kann.

Um die Implementierung von Hardware-basierten Anwendungen weiter zu beschleunigen, unterstützt Xilinx diese vordefinierte Hardware-Plattform mit einer Reihe von vorgefertigten beschleunigten Bildverarbeitungsanwendungen sowie einem umfassenden Sortiment an Software-Werkzeugen und Bibliotheken für die maßgefertigte Entwicklung.

Beschleunigte Anwendungen bieten sofortige Lösungen

Für die sofortige Evaluierung und schnelle Entwicklung von beschleunigten Bildverarbeitungsanwendungen bietet Xilinx mehrere vorgefertigte Anwendungen an, die die Ausführung mehrerer häufiger Anwendungsfälle demonstrieren, darunter die Gesichtserkennung mit der programmierbaren Logik der intelligenten Kamera, die Identifizierung und Verfolgung von Fußgängern, die Defekterkennung und die Kopplung von Schlüsselwörtern mit dem Verarbeitungssystem des MPSoC. Jede Anwendung, die im Xilinx Kria App Store erhältlich ist, bietet eine Komplettlösung für den jeweiligen Anwendungsfall mit den dazugehörigen Werkzeugen und Ressourcen. Die Anwendung zur Gesichtserkennung mit einer intelligenten Kamera nutzt beispielsweise den integrierten Bildsensor AR1335 und den Bildsensor-Prozessor AP1302 der Trägerkarte KV260, um Bilder zu erfassen, und den HDMI- oder DisplayPort™-Ausgang der Karte, um das Ergebnis zu rendern. Für die Verarbeitung der Gesichtserkennung konfiguriert die Anwendung das K26-SOM so, dass es einen Beschleuniger für die Bildverarbeitungspipeline und eine vorgefertigte Engine für maschinelles Lernen für die Gesichtserkennung, die Zählung von Personen und andere Anwendungen intelligenter Kameras bietet (Abbildung 4).

Abbildung: Vorgefertigte beschleunigte Anwendungen im Xilinx Kria App Store (zum Vergrößern anklicken)Abbildung 4: Im Xilinx Kria App Store stehen vorgefertigte beschleunigte Anwendungen zum Download bereit, die sofort auf dem Startkit KV260 ausgeführt werden können und Komplettlösungen für Bildverarbeitungsanwendungen wie Gesichtserkennung bieten. (Bildquelle: Xilinx)

Vorgefertigte beschleunigte Anwendungen aus dem Xilinx App Store bieten eine vollständige Implementierung und Unterstützung und ermöglichen es Entwicklern, auch ohne FPGA-Erfahrung, Designs in weniger als einer Stunde zu erstellen und in Betrieb zu nehmen. Bei der Evaluierung der Anwendung können sie die bereitgestellte Software nutzen, um die Funktionen zu ändern und alternative Lösungen zu erkunden. Für umfangreichere maßgefertigte Entwicklungen bietet Xilinx eine umfassende Suite von Werkzeugen und Bibliotheken an.

KI-Entwicklungsumgebung und -Werkzeuge beschleunigen maßgefertigte Entwicklung

Für die maßgefertigte Entwicklung von KI-basierten Anwendungen bietet die Entwicklungsumgebung Vitis AI von Xilinx optimierte Werkzeuge, Bibliotheken und vortrainierte Modelle, die als Basis für maßgefertigte Modelle dienen können. Für die Laufzeit-Betriebsumgebung bietet das auf Yocto basierende PetaLinux Embedded Linux Software Development Kit (SDK) von Xilinx die gesamte Palette an Funktionen, die zum Erstellen, Entwickeln, Testen und Inbetriebnehmen von Embedded-Linux-Systemen erforderlich sind.

Die Umgebung Vitis AI wurde sowohl für Experten als auch für Entwickler ohne FPGA-Erfahrung vorbereitet und abstrahiert die Details der zugrunde liegenden Halbleiter-Hardware, so dass sich die Entwickler auf die Erstellung effektiverer ML-Modelle konzentrieren können. Vitis AI enthält nämlich den quelloffnen Apache Tensor Virtual Machine (TVM) Deep Learning Compiler Stack, was es Entwicklern ermöglicht, ihre Modelle aus verschiedenen Frameworks auf einem Prozessor, einem Grafikprozessor oder einem Beschleuniger zu kompilieren. Durch den Einsatz von Vitis AI mit TVM können Entwickler ihre bestehenden Entwicklungen mit beschleunigten Bildverarbeitungsfunktionen erweitern und rechenintensive Bildverarbeitungsaufgaben wie Deep-Learning-Modelle auf das Kria-SOM auslagern. Um Entwickler bei der weiteren Optimierung ihrer Deep-Learning-Modelle zu unterstützen, kann das KI-Optimierungswerkzeug von Xilinx neuronale Netzwerke beschneiden, um die Komplexität in Bezug auf die Anzahl der Giga-Operationen pro Sekunde (Gops) zu reduzieren, die Frames pro Sekunde (fps) zu erhöhen und überparametrisierte Modelle zu reduzieren, indem sie um das bis zu 50-fache komprimiert werden, ohne die Genauigkeit in Bezug auf den mittleren Mittelwert (mAP) zu beeinträchtigen (Abbildung 5).

Grafik: Fallstudie von Xilinx Research (zum Vergrößern anklicken)Abbildung 5: Eine Fallstudie von Xilinx Research zeigte, wie einige Vereinfachungsdurchgänge mit dem KI-Optimierungswerkzeug von Xilinx die Komplexität eines neuronalen Netzwerks in Bezug auf die Anzahl der Gops schnell reduzieren und gleichzeitig die Frames pro Sekunde erhöhen können, und das alles mit geringen Auswirkungen auf die Genauigkeit. (Bildquelle: Xilinx)

Für die Implementierung maßgefertigter Bildverarbeitungsanwendungen sind die quelloffenen Vitis Vision-Bibliotheken von Xilinx für hohe Performance und geringe Ressourcenauslastung auf Xilinx-Plattformen optimiert und bieten eine vertraute Schnittstelle auf Basis von OpenCV. Das Anwendungs-Framework Video Analytics SDK von Xilinx hilft Entwicklern bei der Erstellung effektiverer Bildverarbeitungs- und Videoanalysepipelines, ohne dass tiefgreifende FPGA-Kenntnisse erforderlich sind. Basierend auf dem weit verbreiteten Open-Source-Framework GStreamer ermöglicht das Video Analytics SDK Entwicklern die schnelle Erstellung maßgefertigter Beschleunigungskernel als GStreamer-Plug-ins zur Integration in das SDK-Framework.

Mit diesen Werkzeugen kann ein Embedded-Entwickler problemlos maßgefertigte Beschleunigungspipelines mit oder ohne eigenem Beschleunigungskernel erstellen.

Fazit

Rechenintensive ML-Algorithmen haben den Einsatz von Technologien zur intelligenten Bildverarbeitung in zahlreichen Edge-basierten Anwendungen ermöglicht, doch stehen die Entwickler bei der Erfüllung der Anforderungen hinsichtlich hoher Performance, niedriger Leistungaufnahme und Anpassungsfähigkeit von Edge-basierten Bildverarbeitungssystemen vor zahlreichen Herausforderungen. Die SOM-Lösung Kria K26 von Xilinx bietet die Hardware-Basis für die Beschleunigung hochentwickelter Algorithmen, ohne dabei strenge Energiebudgets zu überschreiten. Mit einem Kria K26-basierten Startkit mit vorgefertigten Anwendungen können Entwickler sofort mit der Evaluierung von intelligenten Bildverarbeitungsanwendungen beginnen und eine umfassende Entwicklungsumgebung nutzen, um maßgefertigte Lösungen für Edge-Geräte zu erstellen.

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 Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk hat mehr als 20 Jahre Erfahrung im Schreiben für und über die Elektronikindustrie zu einem breiten Spektrum von Themen wie Hardware, Software, Systeme und Anwendungen einschließlich des IoT. Er promoviertein Neurowissenschaften über neuronale Netzwerke und arbeitete in der Luft- und Raumfahrtindustrie an massiv verteilten sicheren Systemen und Methoden zur Beschleunigung von Algorithmen. Derzeit, wenn er nicht gerade Artikel über Technologie und Ingenieurwesen schreibt, arbeitet er an Anwendungen des tiefen Lernens (Deep Learning) zu Erkennungs- und Empfehlungssystemen.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey