Zeitkritisches Machine Learning in intelligenten Kameras
Herzstück der intelligenten Kamera iam von NET ist eine System-on-Chip(SoC)-Plattform mit integriertem FPGA und ARM CPU. Sie befähigt die Smart-Kamera dazu auch zeitkritische Machine-Learning-Aufgaben performant zu lösen, die bis dahin nur von Host-PCs mit Multi-Core-Prozessor-Architekturen bewältigt werden konnten.
Zentrales Element der Kamera ist ein Xilinx SoC aus der Zynq-Familie. Dieser Baustein kombiniert einen ARM-Prozessor mit programmierbarer FPGA-Logik und ermöglicht so ein kompaktes Systemdesign. Bei der Implementierung verschiedenster Bildverarbeitungsaufgaben können Software und FPGA-beschleunigte Signalverarbeitung flexibel kombiniert werden. Auf Bilddaten im gemeinsamen Speicher kann sowohl vom Prozessorsystem als auch von der programmierbaren Logik zugegriffen werden. Das lokal verzahnte Zusammenspiel der SoC-Komponenten garantiert minimale Latenz und hohe Leistungseffizienz. Insbesondere die Berechnung von neuronalen Netzen (CNN) kann durch FPGA-basierte Signalverarbeitung erheblich beschleunigt werden, was die iam zur idealen Lösung für Maschine-Learning-Aufgaben macht. Die Optimierung und das Training der Netzwerke werden üblicherweise mit interaktiven Werkzeugen auf leistungsstarken CPU/GPU-Systemen durchgeführt. Für die Ausführung des fertigen Netzwerks steht ein FPGA-basierter Beschleuniger-Block für CNN-Netzwerke (DPU) zur Verfügung.
Aufbau der Plattform
NET liefert eine fertige Konfiguration für das FPGA-System, die ein DMA-Sensordaten-Interface und einen DPU-Beschleuniger enthält. Auf dem vorinstallierten und vollständig konfigurierten Embedded-Linux Betriebssystem läuft eine optimierte Version von SynView, dem plattformübergreifenden Bildverarbeitungssystem von NET. SynView kann das Sensor-Frontend von iam als normales Eingabegerät öffnen, Aufnahmeparameter steuern und Bilder einziehen. Die eingesetzte SynView-Version enthält zudem eine GigE-Vision-Schnittstelle, welche Bilder über die Ethernet Verbindung der Kamera ausgeben kann und eine GenICam kompatible Steuerung von einem Host-System ermöglicht. Durch die Kombination der Komponenten ist es möglich, große Teile einer Anwendung auf einem Host-PC zu entwickeln und zu testen, um sie anschließend mit geringen Anpassungen auf die intelligente Kamera übertragen zu können. Zudem kann iam zu Einrichtungs- und Überwachungszwecken jederzeit von einer GenICam-kompatiblen Software als Eingabegerät verwendet werden.