Entwicklung von Multi-Kamera-Systemen für autonome Fahrzeuge

Intelligent entwickeln

Entwicklung von Multi-Kamera-Systemen für autonome Fahrzeuge

Für die Entwicklung von Embedded Vision Systemen zur Steuerung autonomer Fahrzeuge bietet Avnet Silica Lösungen an, die mit Tools und Referenzdesigns gebündelt werden, um die Systementwicklung zu beschleunigen.

Bild 1 | Hardwarearchitektur mit Kameramodulen, FMC-Modul mit mehreren Kameras und einer Trägerkarte mit einem Multiprozessor-SoC oder SOM. (Bild: Avnet EMEA)

Bild 1 | Hardwarearchitektur mit Kameramodulen, FMC-Modul mit mehreren Kameras und einer Trägerkarte mit einem Multiprozessor-SoC oder SOM. (Bild: Avnet EMEA)

Eine der größten Herausforderungen bei der Entwicklung von Bildverarbeitungssystemen für autonome Fahrzeuge besteht im Umgang mit den sehr großen Datenmengen, die von mehreren Kameras und Sensoren erzeugt werden. Die in Fahrzeugen verwendeten Fahrerassistenzsysteme (ADAS) verfügen heute über mehrere Kameras sowie Radar- und LIDAR-Sensoren, um ein Sichtfeld von 360° zu erzeugen. Auf dem Weg hin zu mehr Fahrzeugautonomie wird die Anzahl der verwendeten Kameras weiter zunehmen, ihre Auflösung von 1 auf 8MP und die Bildraten von heute 10 bis 30 auf 60fps ansteigen. Ähnlich verhält es sich mit UAVs oder Drohnen, die ihre Umgebung mit mehreren Kameras erfassen und mit anwendungsspezifischen Sensoren ausgestattet sind. Die Visionsysteme müssen zudem einen hohen Grad an funktionaler Sicherheit und Zuverlässigkeit bieten und zahlreiche Funktionen unterstützen wie die Echtzeitausführung mit niedriger Latenzzeit, einen geringen Stromverbrauch, Flexibilität beim Arbeiten mit unterschiedlichen Kamerakonfigurationen und umfangreiche Möglichkeiten zur Implementierung von Vision- und Maschin Learning Algorithmen zur Objekterkennung, -klassifizierung und -verifizierung. Bildverarbeitungssysteme für Fahrzeuge müssen zudem Automotive-qualifiziert sein, d.h. die verwendeten Bauelemente über einen relativ langen Produktlebenszyklus und in Automotive-Qualitätsklassen erhältlich sein. Entwickler müssen daher sicherstellen, dass ein einfacher Übergang von den Entwicklungssystemen, auf denen sie ihre Hardware- und Software entwickeln und testen, zu qualifizierten kommerziellen Systemen möglich ist.

Die Software-Herausforderung

Auf der Softwareseite ist die Menge an Daten, die verwaltet werden muss, sehr groß und die Arbeit mit den heterogenen Multiprozessor-Systemen, die zur Verarbeitung dieser Daten erforderlich sind, vergrößert die Software-Komplexität nochmals. Zudem entwickelt sich Machine Learning extrem schnell, sodass es sehr wahrscheinlich ist, dass zentrale Code-Teile später im Entwicklungsprojekt überarbeitet werden müssen. Zuverlässigkeits- und Sicherheitsaspekte erschweren den Entwicklungsprozess zusätzlich. Eine der wesentlichen Aufgaben ist die Zusammenführung der Eingangssignale verschiedener Sensoren (Sensorfusion), z.B. Bildsensoren, LIDAR und Radarsensoren in einem Fahrzeug, um Defizite einzelner Sensoren zu korrigieren und genauere Ergebnisse zu ermöglichen. Ist die Endanwendung z.B. eine Kollisionsvermeidung, muss die Sensorfusion mit geringer Latenz erfolgen. Die zweite große Softwareaufgabe besteht in der Implementierung effizienter Machine Learning Algorithmen, um die Objekterkennung, -klassifizierung und -verifizierung durchzuführen, wie sie für ein autonomes Fahrzeug erforderlich ist.

 Entwicklungslösung mit ZCU102-Trägerkarte und dem FMC-Modul mit vier 2MP-Kamera-Modulen. (Bild: Avnet EM EMEA)

Bild 2 | Entwicklungslösung mit ZCU102-Trägerkarte und dem FMC-Modul mit vier 2MP-Kamera-Modulen. (Bild: Avnet EMEA)

Eine Entwicklungslösung

Die Entwicklung eines Bildverarbeitungssystems für autonome Fahrzeuge erfordert viel Experimentieren mit realen Daten und eine Systemoptimierung zwischen Hardware, Software, Computer Vision und Machine Learning Aspekten des Designs. Entwickler benötigen daher Tools, die sie dabei unterstützen, Kompromisse zu finden, um die Entwicklungsdauer und das Entwicklungsrisiko zu minimieren. Die neue Entwicklungslösung beinhaltet ein Embedded Vision System mit mehreren Kameras und umfasst eine Entwurfsmethodik, die Hardwareplattform, Softwareumgebung, Treiber, sowie den Zugriff auf Beispiel-Algorithmen und Implementierungen für Computer Vision, Machine Learning und Implementierungen. Die Hardware unterstützt bis zu sechs Kameras, das aktuelle Design hat vier 2MP-Kameras und wird zukünftig um zwei weitere 8MP-Kameras erweitert. Es basiert auf einem Xilinx Zynq UltraScale+ MPSoC, der einen Quad-Core ARM Cortex-A53 64-Bit-Prozessor sowie eine FPGA Logikstruktur enthält. Die Kameras werden über Koaxialkabel mit bis zu 15m mit einem Deserialisierer für mehrere Kameras auf einer FPGA-Mezzanine-Karte (FMC) verbunden. Das Modul wird auf eine Platine aufgesteckt, auf der sich der MPSoC befindet. Die SoCs sind mit verschiedenen CPUs und optional mit einer GPU und zusätzlichen Hardware-Videocodecs erhältlich. Sie bieten außerdem eine programmierbare FPGA Logikstruktur, die sich als Hardwarebeschleuniger für rechenintensive Algorithmen oder für weitere Funktionen verwenden lässt, z.B. über die Verwendung von IP-Blöcken von Xilinx oder Drittanbietern.

Bild 3 | Allgemeine Architektur der Hardware-/Softwareplattform (Bild: Avnet EMEA)

Bild 3 | Allgemeine Architektur der Hardware-/Softwareplattform (Bild: Avnet EMEA)

Die Entwurfsmethodik

Die Entwurfsmethodik basiert auf, einer Reihe von Softwareressourcen zur Entwicklung von Algorithmen, Anwendungen und Plattformen. Sie arbeitet mit aktuellen Entwicklungstools für das Design von HW- und SW-Anwendungen, darunter die SDSoC-Umgebung von Xilinx, PetaLinux und Bibliotheken für Computer Vision und Machine Learning. Bild 2 zeigt ein vereinfachtes Diagramm der gesamten HW/SW-Architektur. Die Entwicklungs-Toolchain unterstützt auch GStreamer, ein Pipeline-basiertes Multimedia-Framework, mit dem Entwickler verschiedene Medienverarbeitungssysteme verknüpfen können, um komplexe Workflows abzuschließen. Das Pipeline-basierte Design wurde bisher für das Erstellen von Anwendungen wie Video-Editoren und Transcodern und der Verteilung von Media Streams verwendet, die auch eine Grundlage für das Erstellen einer auf Deep Learning basierenden Analyse von Streaming-Media-Daten bilden. Die Verwendung von Machine Learning bei Mehrkamerasystemen, inkl. Deep Learning mit mehreren internen Netzwerk-Ebenen, bedeutetet für Visionsysteme mit mehreren Kameras, dass effiziente Möglichkeiten gefunden werden müssen, um auf die Systemressourcen mit sehr hoher Rechenleistung zugreifen zu können. Die programmierbare Logikstruktur der Xilinx MPSoC bietet eine hohe dedizierte Rechenleistung – während die Toolchains, die das Unternehmen anbietet, sicherstellen, dass diese Ressourcen so effektiv wie möglich genutzt werden. Neuere Forschungen haben gezeigt, dass es für die Ausführung von neuronalen Netzen möglich ist, die Rechenlast- zu reduzieren, indem Matrix-Berechnungen, die nur eine sehr geringe Auswirkung auf das Ergebnis haben, aus der Netzwerkbeschreibung zu entfernen. Außerdem besteht die Möglichkeit, die Genauigkeit des verwendeten Zahlenraums zu verringern und 16- oder 8-Bit-Integer-Datentypen zu verwenden anstelle der komplexeren 32-Bit Fließkomma-Typen. Für bestimmte Teile der Netzwerke kann sogar mit noch geringeren Auflösungen bis hin zur Binärdarstellung gearbeitet werden. DeePhi Tech – ein Teil von Xilinx – bietet Tools zur Implementierung und Optimierung von Deep Learning an. Das DNNDK (Deep Neural Network Entwicklungskit) von DeePhi unterstützt die beliebtesten Entwicklungsplattformen für Deep Learning Netzwerke wie z.B. TensorFlow oder Caffe. Diese Toolkits ermöglichen es Entwicklern, mit verschiedenen Typen und Konfigurationen von Algorithmen für Deep Learning zu experimentieren. Ihre Ausgabe wird dann in die DNNDK-Toolchain übernommen, die ein Graph-Komprimierungstool (bekannt als Decent), einen Deep Neural Netzwerk-Compiler (DNNC) und Assembler (DNNAS) und eine Laufzeitumgebung für neuronale Netzwerke (N2Cube) umfasst. DeePhi hat auch Hardwarearchitekturen entwickelt, die für die Video- und Bilderkennung optimiert sind und mit Xilinx SOCs verwendet werden können. Simulatoren und Profiler sind in der DNNDK Toolchain ebenfalls enthalten. n

Themen:

| Fachartikel

Ausgabe:

inVISION 3 2019
Avnet EMG GmbH

Das könnte Sie auch Interessieren