Eingebettete Systeme für Machine Vision

Was sind eingebettete Systeme?

Eingebettete Systeme sind Computer, die für die Integration in größere Geräte ausgelegt sind. Zu eingebetteten Systemen zählen beispielsweise Computer, die in Autos, Medizingeräten und Consumer-Geräten wie Smart-TVs integriert sind.  Derzeit geht der Trend in eingebetteter Verarbeitungshardware zu kompakten Ein-Platinen-Computern (Single Board Computers, SBCs), die auf ARM-Prozessoren basieren und Linux verwenden. Systems on Modules (SOMs), die mit anwendungsspezifischen Trägerplatinen gekoppelt werden, sind ebenfalls gängig und für Anwendungen, die einen leistungsstarken Computer mit kleiner Bauform erfordern, sind SBCs und SOMs mit x64-Prozessoren eine sehr gute Wahl.

 

x64 vs. ARM

Die Entscheidung für x64- oder ARM-Hardware kann einen großen Einfluss auf andere Aspekte eines Bildverarbeitungssystems haben.

x64-Prozessoren, einschließlich Prozessoren der Intel Core-Serie, sind in Desktop-Computern Standard. Sie unterstützen Windows- und Linux-Betriebssysteme sowie alle gängigen Drittanbieterbibliotheken. x64-Prozessoren bieten mehr Rechenleistung als herkömmliche ARM-Prozessoren, verbrauchen jedoch auch mehr Strom.

Die von SBCs verwendeten ARM-Prozessoren werden in der Regel als SOC-Paket (System on Chip) zur Verfügung gestellt. Neben CPU-Kernen weisen SOCs Speicher, Signalverarbeitung, Netzwerk, USB und andere E/A-Schnittstellen auf. Viele der in eingebetteten Systemen verwendeten SOCs wurden ursprünglich für Mobiltelefone entwickelt.  ARM-SOCs sind nicht so leistungsstark wie x64-Prozessoren, jedoch wesentlich kompakter und energieeffizienter. Auf ARM-Architekturen kann nur bestimmte Software ausgeführt werden (Windows wird z.B. nicht unterstützt). Für ARM sind viele Linux-Distributionen verfügbar, allerdings werden nicht alle Software- und Gerätetreiber unterstützt. 

Das FLIR Spinnaker-SDK unterstützt ARM- und x64-Hardware.

 

Vorteile eingebetteter Systeme

Im Vergleich zu konventioneller PC-Hardware sind eingebettete Systeme kompakt und kostengünstig. Während einzelne Komponenten von SBCs nicht ausgetauscht werden können, kann die Konnektivität mittels GPIO-Erweiterungskarten erweitert werden. Für den gängigen Raspberry Pi gibt es eine große Auswahl an Zubehörplatinen mit denen seine Funktionalität schnell erweitert werden kann. Es sind auch viele SBCs verfügbar, die das gleiche GPIO-Layout verwenden.

   

Abb. 1. Zubehörplatinen können an die GPIO-Pins von SBCs angeschlossen werden, um zusätzliche Anschlussmöglichkeiten wie USB-Ports (links) und Relais (rechts) hinzuzufügen.

Für anspruchsvollere Anwendungen bieten SOMs, die mit Trägerkarten gekoppelt sind, noch größere Flexibilität. Ein SOM ist beispielsweise der Nvidia Jetson TX2. Das kompakte Modul umfasst einen leistungsstarken ARM-Prozessor, einen 256-Kern-CUDA-fähigen Grafikprozessor, einen Speicher und E/A-Controller. Eine Trägerplatine wird benötigt, um das SOM mit Leistung zu versorgen und USB-, GigE- und GPIO-Anschlüsse bereitzustellen. 

 

Abb. 2. Die Kopplung eines SOM mit verschiedenen Trägerplatinen kann die Konnektivität und die physischen Abmessungen eines eingebetteten Systems für eine bestimmte Anwendung optimieren.

Die Rechenleistung von eingebetteter Hardware kann die Abhängigkeit eines Bildverarbeitungssystems von zentralen Servern oder Cloud-Computing-Plattformen reduzieren. Da die Bildverarbeitung in eingebetteten Systeme nah an der Kameras durchgeführt wird, können Latenzzeiten und Bandbreitennutzung reduziert sowie Durchsatz und Informationssicherheit erhöht werden.

Weitere Informationen über Edge Computing

Durch den Umstieg von konventioneller PC-Hardware auf einen SBC oder ein SOM mit Trägerplatinen lassen sich kleinere, energieeffizientere und auch kostengünstigere Systeme entwickeln.

 

Abb. 3. Benchmark-Ergebnisse zum Vergleich von relativer CPU-Leistung, Speicherbandbreite und Energieverbrauch zwischen verschiedenen SOCs und CPUs für SBCs und SOMs.

Einsatz von FLIR-Kameras und -Software in eingebetteten Systemen

Das  Spinnaker-SDK von FLIR unterstützt Windows 7/8/10 und Ubuntu 14.04/16.04 auf x64-Hardware sowie Ubuntu 14.04/16.04 auf ARM-Hardware.

FLIR-Kameras vereinfachen die Entwicklung von Bildverarbeitungslösungen in den Netzwerkclients. Durch die Kopplung der aktuellen CMOS-Sensoren mit verbesserten Algorithmen für die automatische Steuerung zur  Farbkorrektur und Belichtung nehmen FLIR-Kameras zuverlässig detaillierte Bilder auch bei schlechten Lichtverhältnissen auf. FLIR Blackfly S-Kameras sind mit Sony Pregius-Sensoren ausgestattet, deren hohe Quanteneffizienz und geringes Ausleserauschen eine klare Bildaufnahme mit geringem Rauschen bei schwachem Licht ermöglichen. Der große Dynamikbereich stellt sicher, dass die Kameras Details sowohl in dunklen also auch hell ausgeleuchteten Bereichen von Szenen mit hohem Kontrast aufnehmen.

Die leistungsstarke integrierte Bildverarbeitung der FLIR-Kameras umfasst Farb-Interpolation, Schärfen und Gamma-Korrektur. Dies verringert die Anforderungen an die Host-seitige Verarbeitung. Dank der Unterstützung des Precision Time Protocol nach IEEE1588 lassen sich die GigE Blackfly S mit anderen IEEE1588-fähigen Geräten auf eine gemeinsame Zeitbasis synchronisieren.