Schnelle Entwicklung und Bereitstellung intelligenter Bildverarbeitungssysteme
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2022-08-31
Der Bedarf an maschineller Bilderfassung wächst in einer Reihe von Anwendungen wie Sicherheit, Verkehrs- und Stadtkameras, Einzelhandelsanalyse, automatische Inspektion, Prozesskontrolle und bildgesteuerte Robotik. Die Umsetzung der maschinellen Bilderfassung ist komplex und erfordert die Integration verschiedener Technologien und Teilsysteme, einschließlich Hochleistungshardware und moderne Software für künstliche Intelligenz und maschinelles Lernen (KI/ML). Dies beginnt mit der Optimierung der Videoerfassungstechnologie und der Bildverarbeitungs-I/O, um die Anforderungen der Anwendung zu erfüllen, und erstreckt sich auf mehrere Bildverarbeitungspipelines für eine effiziente Vernetzung. Letztlich hängt es davon ab, dass das eingebettete Bildverarbeitungssystem in der Lage ist, bildverarbeitungsbasierte Analysen in Echtzeit durchzuführen, wobei Hochleistungshardware wie FPGAs (Field Programmable Gate Arrays), SOMs (Systems on Modules), SoCs (Systems on Chips) und sogar MPSoCs (Multi-Processor Systems on Chips) zum Einsatz kommen, um die erforderliche KI/ML-Bildverarbeitungs- und -Erkennungssoftware auszuführen. Dies kann ein komplexer, kostspieliger und zeitaufwändiger Prozess sein, bei dem es zu zahlreichen Kostenüberschreitungen und Terminverzögerungen kommen kann.
Anstatt bei Null anzufangen, können Entwickler aber auf eine gut kuratierte, leistungsstarke Entwicklungsplattform zurückgreifen, die die Markteinführung beschleunigt, die Kosten kontrolliert und die Entwicklungsrisiken reduziert, während sie gleichzeitig ein hohes Maß an Anwendungsflexibilität und Performance unterstützt. Eine SOM-basierte Entwicklungsplattform kann eine integrierte Hardware- und Softwareumgebung bieten, die es Entwicklern ermöglicht, sich auf die Anpassung von Anwendungen zu konzentrieren und bis zu neun Monate Entwicklungszeit einzusparen. Neben der Entwicklungsumgebung ist dieselbe SOM-Architektur auch in produktionsoptimierten Konfigurationen für kommerzielle und industrielle Umgebungen verfügbar, was die Zuverlässigkeit und Qualität der Anwendungen erhöht, Risiken weiter reduziert und die Markteinführung beschleunigt.
Dieser Artikel beginnt mit einem Überblick über die Herausforderungen, die mit der Entwicklung hochleistungsfähiger Bildverarbeitungssysteme verbunden sind, stellt dann die umfassende Entwicklungsumgebung vor, die das Starterkit Kria KV260 Vision AI von AMD Xilinx bietet, und schließt mit Beispielen für produktionsreife SOMs, die auf der Kira-26-Plattform basieren und für den Einbau in eine Trägerkarte mit lösungsspezifischer Peripherie ausgelegt sind.
Am Anfang steht die Optimierung von Datentypen
Die Anforderungen an Algorithmen für Deep Learning entwickeln sich weiter. Nicht jede Anwendung benötigt hochpräzise Berechnungen. Es werden Datentypen mit geringerer Genauigkeit, wie INT8, oder benutzerdefinierte Datenformate, verwendet. Für GPU-basierte Systeme kann es eine Herausforderung sein, Architekturen, die für hochpräzise Daten optimiert sind, so zu modifizieren, dass sie auch Datenformate mit geringerer Genauigkeit effizient verarbeiten können. Das Kira-K26-SOM ist rekonfigurierbar und unterstützt eine breite Palette von Datentypen von FP32 bis INT8 und andere. Die Rekonfigurierbarkeit führt auch zu einem niedrigeren Gesamtenergieverbrauch. Beispielsweise verbrauchen für INT8 optimierte Operationen im Vergleich zu einer FP32-Operation eine Größenordnung weniger Energie (Abbildung 1).
Abbildung 1: Für INT8-Operationen (8b Add) wird eine Größenordnung weniger Energie benötigt als für FP32-Operationen (32b Add). (Bildquelle: AMD Xilinx)
Optimale Architektur für minimalen Stromverbrauch
Designs, die auf der Grundlage einer Multicore-GPU- oder -CPU-Architektur implementiert sind, können aufgrund typischer Stromverbrauchsmuster sehr stromhungrig sein:
- 30% für die Kerne
- 30% für den internen Speicher (L1, L2, L3)
- 40% für den externen Speicher (z.B. DDR)
Häufige Zugriffe auf den ineffizienten DDR-Speicher sind für GPUs erforderlich, um die Programmierbarkeit zu unterstützen, und können bei hohen Bandbreitenanforderungen einen Engpass darstellen. Die Zynq-MPSoC-Architektur, die im Kira-K26-SOM verwendet wird, unterstützt die Entwicklung von Anwendungen mit wenig oder gar keinem Zugriff auf externen Speicher. In einer typischen Automobilanwendung erfordert die Kommunikation zwischen der GPU und verschiedenen Modulen beispielsweise mehrere Zugriffe auf externen DDR-Speicher, während die Zynq-MPSoC-basierte Lösung eine Pipeline enthält, die die meisten DDR-Zugriffe vermeidet (Abbildung 2).
Abbildung 2: In dieser typischen Automobilanwendung benötigt die GPU mehrere DDR-Zugriffe für die Kommunikation zwischen den verschiedenen Modulen (links), während die Pipeline-Architektur des Zynq-MPSoC (rechts) die meisten DDR-Zugriffe vermeidet. (Bildquelle: AMD Xilinx)
Datenbeschneidung (Pruning) nutzt die Vorteile
Die Leistung neuronaler Netze auf dem K26-SOM kann mit einem KI-Optimierungstool verbessert werden, das die Datenoptimierung und das Pruning ermöglicht. Neuronale Netze sind häufig überparametrisiert, was zu einem hohen Maß an Redundanz führt, die durch Datenbeschneidung und Modellkompression optimiert werden kann. Die Verwendung des AI Optimizer von Xilinx kann zu einer 50-fachen Reduzierung der Modellkomplexität führen, wobei die Modellgenauigkeit nur geringfügig beeinträchtigt wird. Zum Beispiel wurde ein Single-Shot-Detektor (SSD) plus eine VGG-Faltungsneuronalnetz-Architektur (CNN) mit 117 Giga-Operationen (Gops) über 11 Pruning-Iterationen mit dem AI Optimizer verfeinert. Vor der Optimierung lief das Modell mit 18 Bildern pro Sekunde (FPS) auf einem Zynq-UltraScale+-MPSoC. Nach 11 Iterationen - dem 12. Durchlauf des Modells - wurde die Komplexität von 117 Gops auf 11,6 Gops (das 10-fache) reduziert, die Leistung stieg von 18 auf 103 FPS (das 5-fache), und die Genauigkeit sank von 61,55 mittlerer durchschnittlicher Genauigkeit (mAP) für die Objekterkennung auf 60,4 mAP (nur 1 % weniger) (Abbildung 3).
Abbildung 3: Nach relativ wenigen Iterationen kann das Pruning die Modellkomplexität (Gop) um das 10-fache reduzieren und die Leistung (FPS) um das 5-fache verbessern, wobei die Genauigkeit (mAP) nur um 1 % abnimmt. (Bildquelle: AMD Xilinx)
Anwendungsbeispiel aus der Praxis
Eine Anwendung für maschinelles Lernen zur Erkennung von Kfz-Kennzeichen, auch ANPR genannt, wurde auf der Grundlage der Bildanalysesoftware von Uncanny Vision entwickelt. ANPR wird in automatischen Mautsystemen, bei der Überwachung von Autobahnen, bei der Sicherung von Schranken und Parkplätzen und in anderen Anwendungen eingesetzt. Diese ANPR-Anwendung umfasst eine KI-basierte Pipeline, die das Video dekodiert und das Bild vorverarbeitet, gefolgt von ML-Erkennung und OCR-Zeichenerkennung (Abbildung 4).
Abbildung 4: Typischer Bildverarbeitungsablauf für eine KI-basierte ANPR-Anwendung. (Bildquelle: AMD Xilinx)
Für die Implementierung von ANPR sind ein oder mehrere H.264- oder H.265-kodierte RTSP-Feeds (Real Time Streaming Protocol) erforderlich, die dekodiert oder unkomprimiert sind. Die dekodierten Videobilder werden skaliert, beschnitten, in den Farbraum konvertiert und normalisiert (Vorverarbeitung) und dann an den ML-Erkennungsalgorithmus gesendet. Leistungsstarke ANPR-Implementierungen erfordern eine mehrstufige KI-Pipeline. In der ersten Phase wird das Fahrzeug im Bild erkannt und lokalisiert, so dass die Region von Interesse (ROI) entsteht. Gleichzeitig optimieren andere Algorithmen die Bildqualität für die spätere Verwendung durch den OCR-Zeichenerkennungsalgorithmus und verfolgen die Bewegung des Fahrzeugs über mehrere Bilder hinweg. Die Fahrzeug-ROI wird weiter beschnitten, um die Nummernschild-ROI zu erzeugen, die vom OCR-Algorithmus verarbeitet wird, um die Zeichen des Nummernschilds zu bestimmen. Im Vergleich zu anderen kommerziellen SOMs, die auf GPUs oder CPUs basieren, lief die ANPR-Anwendung von Uncanny Vision auf dem Kira-SOM KV260 2 bis 3 mal schneller und kostete weniger als 100 Dollar pro RTSP-Feed.
Entwicklungsumgebung für intelligente Bildverarbeitung
Entwickler von Anwendungen zur intelligenten Bildverarbeitung wie Verkehrs- und Stadtkameras, Einzelhandelsanalyse, Sicherheit, Industrieautomatisierung und Robotik können die Entwicklungsumgebung Kria K26 SOM AI Starter verwenden. Diese Umgebung basiert auf der Zynq®-UltraScale+™-MPSoC-Architektur und verfügt über eine wachsende Bibliothek von kuratierten Anwendungssoftwarepaketen (Abbildung 5). Das KI-Starter-SOM enthält einen Quad-Core-Arm-Cortex-A53-Prozessor, über 250.000 Logikzellen und einen H.264/265-Videocodec. Das SOM verfügt außerdem über 4 GB DDR4-Speicher, 245 IOs und 1,4 Tera-ops an KI-Rechenleistung, um die Erstellung hochleistungsfähiger Vision-KI-Anwendungen zu unterstützen, die im Vergleich zu anderen Hardware-Ansätzen eine mehr als dreifach höhere Leistung bei niedrigeren Latenzzeiten und geringerem Stromverbrauch bieten. Mit den vorgefertigten Anwendungen können erste Entwürfe in weniger als einer Stunde erstellt werden.
Abbildung 5: Das Starterkit Kria KV260 Vision AI ist eine umfassende Entwicklungsumgebung für Bildverarbeitungsanwendungen. (Bildquelle: AMD Xilinx)
Als Starthilfe für den Entwicklungsprozess mit dem Kira-K26-SOM bietet AMD Xilinx das Starterkit KV260 Vision AI an, das ein Netzteil, ein Ethernet-Kabel, eine microSD-Karte, ein USB-Kabel, ein HDMI-Kabel und ein Kameramodul enthält (Abbildung 6). Wenn das gesamte Starterkit nicht benötigt wird, können Entwickler einfach das optionale Netzteil erwerben, um das Kira-K26-SOM in Betrieb zu nehmen.
Abbildung 6: Das Starterkit KV260 Vision AI umfasst: (obere Reihe, von links nach rechts) Netzteil, Ethernet-Kabel, microSD-Karte und (untere Reihe, von links nach rechts) USB-Kabel, HDMI-Kabel, Kameramodul. (Bild: AMD Xilinx)
Ein weiterer Faktor, der die Entwicklung beschleunigt, ist die umfassende Palette an Funktionen, darunter zahlreiche 1,8V-, 3,3V-Single-Ended- und differentielle I/Os mit vier 6-Gbit/s-Transceivern und vier 12,5-Gbit/s-Transceivern. Diese Funktionen ermöglichen die Entwicklung von Anwendungen mit einer höheren Anzahl von Bildsensoren pro SOM und vielen Variationen von Sensorschnittstellen wie MIPI, LVDS, SLVS und SLVS-EC, die von anwendungsspezifischen Standardprodukten (ASSPs) oder GPUs nicht immer unterstützt werden. Entwickler können auch DisplayPort, HDMI, PCIe, USB2.0/3.0 und benutzerdefinierte Standards mit der integrierten programmierbaren Logik implementieren.
Schließlich wurde die Entwicklung von KI-Anwendungen vereinfacht und zugänglicher gemacht, indem die umfangreichen Hardwarefähigkeiten und die Softwareumgebung des K26-SOM mit produktionsreifen Bildverarbeitungsanwendungen gekoppelt wurden. Diese Bildverarbeitungsanwendungen können ohne FPGA-Hardwaredesign implementiert werden und ermöglichen es Softwareentwicklern, benutzerdefinierte KI-Modelle und Anwendungscode schnell zu integrieren und sogar die Bildverarbeitungspipeline zu ändern. Die vereinheitlichte Softwareentwicklungsplattform Vitis und die Bibliotheken von Xilinx unterstützen gängige Designumgebungen wie TensorFlow, Pytorch und Café-Frameworks sowie mehrere Programmiersprachen wie C, C++, OpenCL™ und Python. Außerdem gibt es einen eingebetteten App Store für Edge-Anwendungen, die Kria-SOMs von Xilinx und seinen Ökosystempartnern verwenden. Die Angebote von Xilinx sind kostenlos und quelloffen und umfassen intelligente Kameraverfolgung und Gesichtserkennung, natürliche Sprachverarbeitung, intelligente Bildverarbeitung und vieles mehr.
Produktionsoptimierte Kira-26-SOMs
Nach Abschluss des Entwicklungsprozesses stehen produktionsreife Versionen des K26-SOM zur Verfügung, die auf eine Trägerkarte mit lösungsspezifischer Peripherie gesteckt werden können, um den Übergang zur Fertigung zu beschleunigen (Abbildung 7). Das grundlegende K26-SOM ist eine handelsübliche Komponente mit einem Temperaturbereich von 0°C bis +85°C Sperrschichttemperatur, gemessen durch den internen Temperatursensor. Eine industrietaugliche Version des K26-SOM, die für den Betrieb bei -40°C bis +100°C ausgelegt ist, ist ebenfalls erhältlich.
Der Industriemarkt verlangt eine lange Lebensdauer in rauen Umgebungen. Das industrietaugliche Kria-SOM ist für einen zehnjährigen Betrieb bei einer Temperatur von 100 °C und 80 % relativer Luftfeuchtigkeit ausgelegt und hält Erschütterungen von bis zu 40 g und einem Effektivwert von 5 g stand. Außerdem ist eine Mindestproduktionsverfügbarkeit von zehn Jahren vorgesehen, um lange Produktlebenszyklen zu unterstützen.
Abbildung 7: Produktionsoptimierte Kira-26-SOMs für industrielle und kommerzielle Umgebungen sind so konzipiert, dass sie auf eine Trägerkarte mit lösungsspezifischer Peripherie gesteckt werden können. (Bild: DigiKey)
Zusammenfassung
Entwickler von Bildverarbeitungsanwendungen wie Sicherheits-, Verkehrs- und Stadtkameras, Einzelhandelsanalyse, automatisierte Inspektion, Prozesskontrolle und bildgesteuerte Robotik können das KI-Starterkit Kria-K26-SOM verwenden, um die Markteinführung zu beschleunigen, Kosten zu kontrollieren und Entwicklungsrisiken zu reduzieren. Diese SOM-basierte Entwicklungsplattform ist eine integrierte Hardware- und Softwareumgebung, die es Entwicklern ermöglicht, sich auf die Anpassung von Anwendungen zu konzentrieren und bis zu neun Monate Entwicklungszeit einzusparen. Die gleiche SOM-Architektur ist in produktionsoptimierten Konfigurationen für kommerzielle und industrielle Umgebungen erhältlich, was die Markteinführung weiter beschleunigt. Die Industrieversion hat eine Mindestproduktionsverfügbarkeit von 10 Jahren, um lange Produktlebenszyklen zu unterstützen.

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.