Bildverarbeitung in der Industrie KI beschleunigt Multi-Kamera-Lösung

Die embedded-Bildverarbeitung hat sich von passiven Videoerfassungsgeräten zu völlig autonomen Visionssystemen entwickelt. Selbstfahrende Autos, Drohnen oder autonome geführte Roboter erfordern eine parallele Echtzeitverarbeitung, geringe Latenzzeiten und oft einen geringen Energieverbrauch.

Mehrere Kameramodule bieten Rundumsicht und Sensorfusion verbessert das Gesamtsichtsystem, während künstliche Intelligenz und maschinelles Lernen enorme Verbesserungen für Erkennungs- und Lernaufgaben in autonomen Sichtsystemen einläuten.

Es gibt zahlreiche Anwendungen, die Multikamera-Systeme benötigen. Exemplarisch genannt seien im Automotive-Bereich ADAS Rundum-Sicht, Autonomes Fahren oder elektronische Spiegel aber auch unbemannte Luftfahrzeuge oder virtuelle und erweiterte Realität (VR/AR).

Technische Anforderungen an eine Mehrkamera-Lösung sind ein Mehrfach-Kameraeingang mit hoher Datenrate für die Verarbeitung von mehreren Kameras, geringe Latenzzeit für Echtzeitausführung und schnelle Reaktionszeit, geringer Stromverbrauch, Zuverlässigkeit und Sicherheit, Flexibilität und Rekonfigurierbarkeit sowie maschinelles Lernen.

Herausforderungen für hochauflösende Mehrkamera-Lösungen 

Mehr Details von Objekten, auch aus größerer Entfernung, erfordern höhere Auflösungen, geringere Latenzzeiten für eine schnellere Erkennung erfordern höhere Frame-Raten (FPS). Bild 1 zeigt den Zusammenhang zwischen Datenraten und Auflösungen. Wie man sehr schnell schlußfolgern kann, sind dafür höhere Rechenleistungen und bessere Algorithmen erforderlich.

Multi-Kamera-Methodik

Avnet Silicas hochauflösende Multi-Kamera-Lösung besteht aus drei Hardware-Kernbausteinen: den Kameramodulen, einem Multisensor-FMC-Modul und einem Multiprozessor-SoC oder SOM auf einer Trägerplatine (Bild 2). Der untere Teil im Bild zeigt eine zukünftige Lösung, welche nach heutigem Stand noch nicht verfügbar ist.

Das Modular-Automotive-Reference-System (MARS) von ON Semiconductor ist eine komplette Imaging-Lösung für Kamerasystem- und Software-Entwickler, die an Bildverarbeitungsanwendungen für die Automobilindustrie arbeiten. MARS bietet Ingenieuren und Software-Entwicklern die grundlegenden Bausteine für die Entwicklung von Bildverarbeitungssystemen der nächsten Generation und reduziert gleichzeitig den Designaufwand und die Ressourcen für die Entwicklung einer funktionierenden Lösung: Mit dem modularen Mix- und Match-Ansatz dieser kompakten Formfaktorplattform können Designer verschiedene Kombinationen von Bildsensoren, Coprozessoren (Image Signal Processor) und Kommunikationsstandards zusammenführen. Die Komponentenplatinen verfügen über einheitliche Signal-/Power- und Schnittstellen-Definitionen, die es dem Benutzer ermöglichen, einzelne Platinen auszutauschen, wodurch eine Vielzahl von Experimentieroptionen geschaffen werden, ohne dass benutzerdefinierte Platinen konstruiert werden müssen. Das Ergebnis ist eine hochflexible Lösung, bei der die verschiedenen Module vollständig austauschbar sind.

Das 2-Mp-Kameramodul beinhaltet einen AR0231AT 2,3-Mp1/2,7“ CMOS-Bildsensor und einen MAX96705 GMSL Serializer. Das 8-Mp-Kameramodul beinhaltet einen AR0820AT 8.3Mp 1/2-Zoll-CMOS-Bildsensor und einen MAX9295 GMSL2 Serializer. Die Module sind für geringe Lichtverhältnisse und hohen Dynamikbereich und für den Aufbau über große Entfernungen bis zu mehreren Metern optimiert.

Die Bildsensorplatine AR0231AT bietet eine Auflösung von 2,3 Megapixel (1920×1200 Pixel), eine optische Größe von 1/2,7“, ein M12-Objektiv, Rückseitenbeleuchtung (BSI) in Automobilqualität, einen hohen Dynamikbereich (4-fach HDR, 120 dB) und LED-Flimmerdämpfung (LFM, Bild 3). Das Serializer Board MAX96705 von MAXIM Integrated bietet eine Datenrate von 1,5 Gbit/s (1080P30) und ermöglicht die Verwendung eines kostengünstigen Koaxialkabels bis zu ~15 m.

Das Avnet Multi-Kamera-Modul AES-FMC-MULTI-CAM4-G unterstützt bis zu vier hochauflösende Kameramodule bei Verwendung von FAKRA-Steckverbindern (HFM) im Automobilstandard und kostengünstigem Koaxialkabel (maximale Länge ~45‘). In Zukunft wird die AES-FMC-MULTI-CAM6-G die nächste Generation von GMSL (GMSL2, 6,0 Gbps) und Dual 8 MpixelCamera-Modulen unterstützen.

Bild 4 zeigt die unterstützten FMC-Trägerkarten und Bild 5 die Kamera-Pipelines. Die Bild-Pipelines implementieren Xilinx IP, insbesondere Demosaik (Farbfilter-Array-Interpolation RAW => RGB), ein Videoverarbeitungs-Subsystem (Farbraumkonvertierung RGB => YUV, Chroma Resampling 4:4:4 => 4:2:2, Größenänderung (Scaler)) und Frame-Buffer-Write (Ersetzung durch AXI_VDMA).

Linux-Treiber, reVISION und GStreamer

Erhältlich sind das Video for Linux 2 (V4L2) Framework (einschließlich V4L2 Sub-Device-Treiber für AR0231AT Bildsensor, MAX96705 GMSL Serializer, MAX9286 Quad GMSL Deserializer und MAX20087 Power Over Coax) und ein Kernel-Patch im Lieferumfang des Designs.

Xilinx bietet eine Reihe von Entwicklungsressourcen für die Plattform-, Algorithmen- und Anwendungsentwicklung. Dazu gehört die Unterstützung der gängigsten neuronalen Netze wie AlexNet, GoogLeNet, VGG, SSD und FCN. Zusätzlich bietet Xilinx Bibliothekselemente mit vordefinierten und optimierten Implementierungen für CNN-Netzwerke, die für den Aufbau benutzerdefinierter neuronaler Netzwerke (DNN/CNN) erforderlich sind. Die maschinellen Lernelemente werden durch eine breite Palette von OpenCV-Funktionen für die Bildverarbeitung ergänzt. Für die Entwicklung auf Anwendungsebene unterstützt Xilinx branchenübliche Frameworks und Bibliotheken, darunter Caffe for Machine Learning und OpenCV for Computer Vision. Bild 7 zeigt die allgemeine Architektur.

Unterstützt wird auch GStreamer, Beispiele verwenden jetzt das GStreamer-Framework und Sample-Designbeispiele werden als GStreamer-Plugins erstellt. Auch Beispiel-Apps sind enthalten, um die Beispiel-Plugins zu trainieren.

GStreamer ist ein Framework zur Erstellung von Streaming-Media-Anwendungen. Das grundlegende Design stammt aus der Video-Pipeline des Oregon Graduate Institute sowie einigen Ideen von DirectShow. Das Entwicklungs-Framework von GStreamer ermöglicht es, jede Art von Streaming-Multimedia-Anwendung zu schreiben. Das GStreamer-Framework wurde entwickelt, um das Schreiben von Anwendungen zu erleichtern, die Audio oder Video oder beides verarbeiten. Es ist nicht auf Audio und Video beschränkt und kann jede Art von Datenfluss verarbeiten. Das Framework basiert auf Plugins, die die verschiedenen Codecs und andere Funktionen bereitstellen. Die Plugins können verknüpft und in einer Pipeline angeordnet werden.

Diese Pipeline definiert den Fluss der Daten. Pipelines können auch mit einem GUI-Editor bearbeitet und als XML gespeichert werden, sodass Pipeline-Bibliotheken mit minimalem Aufwand erstellt werden können. Die Kernfunktion von GStreamer ist es, ein Framework für Plugins, Datenfluss und Medientyp-Handling bereitzustellen. Es bietet auch eine API zum Schreiben von Anwendungen mit den verschiedenen Plugins. Bild 8 zeigt, wie Beispiele als Multiprojekt-Arbeitsbereich bereitgestellt werden.

Fazit

Der Aufbau autonomer Visionssysteme wird immer anspruchsvoller und erfordert multidisziplinäres Fachwissen in den Bereichen Optik, Bildsensorik, Computer Vision und Deep Learning. Die Wahl der richtigen Entwicklungsplattform und Designmethodik ist entscheidend für eine erfolgreiche Implementierung. Avnet Silica bietet Embedded-Vision-Lösungen im Paket mit Tools und Referenzdesigns an, um die Entwicklungszeit bei der Entwicklung autonomer Visionssysteme zu minimieren. Webseite: avnet-silica.com/ai4cameras