Embedded-GigE-Vision-Server

Embedded-GigE-Vision-Server

SoCs als dezentrale Bildverarbeitungssysteme

Prinzipiell besteht jedes Bildverarbeitungssystem aus zwei grundlegenden Funktionseinheiten: der Bildquelle und der Bildsenke. Als Bildquelle kommen im Umfeld der industriellen Bildverarbeitung heutzutage üblicherweise kompakte CMOS-Kameras zum Einsatz. Die Bildsenke ist die Verarbeitungseinheit, die aus dem Bild Ergebnisse extrahiert. Dabei handelt es sich derzeit noch zumeist um klassische PC-Systeme auf Basis von Intel-Prozessoren und dem Betriebssystem Windows.

Mit dem CVB-GigE-Vision-Server können dezentrale, kompakte Embedded-Systeme auf Basis von SoCs-Bilddaten von mehreren Kameras aufnehmen, vorverarbeiten und die generierten Ergebnisbilder wiederum als GigE-Vision-Kamera ausgeben. (Bild: Stemmer Imaging GmbH)

Die Kommunikation zwischen Bildquelle und -senke kann über verschiedene Schnittstellen erfolgen, die je nach Anforderungen an Kabellänge, Datenrate und Systemtopologie individuelle Vorteile bieten. Hochauflösende Kameras mit beeindruckenden Bildraten generieren extreme Datenmengen, die nach optimierten Schnittstellen verlangen und somit spezielle Interfacekarten im Rechner erfordern, z.B. CoaXPress oder CameraLink (HS). Die Definition von Bildquelle/-senke beschreibt bereits bildlich, dass die Übertragung der Bilddaten, also des substantiellen Datenvolumens – in der Regel unidirektional erfolgt. Dieser Tatsache tragen die genannten Kameraschnittstellen insofern Rechnung, als dass die Übertragungsbandbreiten zwischen Quelle und Senke unsymmetrisch ausgelegt sind. Die meisten Applikationen im industriellen Umfeld kommen allerdings mit weniger anspruchsvollen Kameras aus, deren Datenraten eine Übertragung über gebräuchliche und in normalen PC-Systemen standardmäßig vorhandenen Standardschnittstellen erlauben (USB, Ethernet, Firewire).

Full-Duplex-Betrieb bei GigE

Die Ethernet-Schnittstelle, heutzutage zumeist als Gigabit-Ethernet (GigE) ausgeführt, bietet die Besonderheit des Full-Duplex-Betriebes. Über diese Schnittstelle können im Gegensatz zu den weiteren oben aufgeführten Varianten gleichzeitig – und ohne gegenseitige Beeinflussung – Daten mit voller Bandbreite empfangen und gesendet werden. Erst bei vollständiger Auslastung der Übertragungsbandbreiten in beide Richtungen kann die Übertragung des notwendigen Kontrollprotokolles (Heartbeat-Pakete) versagen, was zum Abbruch der Verbindung führt. Aber selbst diesem Effekt kann mit entsprechenden Einstellungen (Interpacket-Delay) entgegengewirkt werden. Die Ethernet-Schnittstelle erlaubt also die Auflösung der klassischen Rollenverteilung von Bildquelle (Kamera) und Bildsenke (Rechner) für die Bildverarbeitung. Mittlerweile haben sich fast alle Hersteller von industriellen Kameras mit GigE-Schnittstelle und industrieller Bildverarbeitungssoftware auf den GigE-Vision-Standard als Hardwareprotokoll und Genicam als Software Interface geeinigt. Durch die Verwendung dieser Hard- und Softwarestandards besteht eine sehr umfangreiche und umfassend getestete Kompatibilität zwischen etablierten Kameras und Softwarepaketen auf den verschiedensten Rechnersystemen. Bemerkenswert ist, dass der GigE-Vision-Standard als Hardwareprotokoll – einschließlich Genicam als Softwareinterface – nicht auf die GigE-Schnittstelle beschränkt ist. Alle beschriebenen Vorzüge kommen gleichermaßen auch beim Einsatz von Ethernet-Schnittstellen mit höheren Bandbreiten (z.B. 10GigE) zum Tragen. Auf die saubere begriffliche Trennung von Hardwareprotokoll und Software Interface muss bei diesen Betrachtungen unbedingt Wert gelegt werden, da eine Genicam-Unterstützung als Software Interface ebenfalls vom CoaxPress gefordert wird. Bei oberflächlicher Verwendung der Begrifflichkeiten besteht ansonsten das Risiko von Missverständnissen.

Embedded-GigE-Vision-Server

Der CVB-GigE-Vision-Server hat durch die Ausnützung der beschriebenen Eigenschaften der Ethernet-Schnittstelle bei voller Unterstützung des GigE-Vision-Standards und mit entsprechender Zertifizierung die klassische Rollenverteilung zwischen Kamera und Rechner aufgehoben. Unter Verwendung des Standard-Softwaremodules aus der Programmierbibliothek Common Vision Blox kann nun auch der Rechner als Bildquelle fungieren und Bilddaten dank der Full-Duplex-Übertragung der Ethernet-Schnittstelle über GigE Vision an andere Bildsenken schicken. Da es sich um eine vollständige GigE-Vision-Unterstützung handelt, verhält sich diese Bildquelle exakt so, wie eine normale GigE-Vision-Kamera und bietet auch diesbezügliche Kommunikation – also Bildübertragungen – zu allen GigE-Vision-kompatiblen Bildsenken.

SoCs als dezentrale IBV-Einheit

Was zunächst wie eine technische Spielerei anmutet, eröffnet auf den zweiten Blick ungeahnte Möglichkeiten, die zu völlig neuen Systemtopologien führen werden. Insbesondere seit es eine CVB-Version für ARM-Prozessoren und Linux gibt, müssen alte Denkweisen bei der Auslegung von Systemen hinterfragt werden. Gerade im Zusammenspiel mit den aktuellen System-On-Chip (SoC) Plattformen, verschwimmen die bisher klaren Grenzen zwischen Bildverarbeitung mit intelligenten Kameras und PC-basierter Bildverarbeitung. Nun können dezentrale, kompakte Embedded-Systeme auf Basis von hochspezialisierten SoC (z.B. Intel Cyclone V oder Nvidia Jetson TX1) sogar die Bilddaten von mehreren Kameras aufnehmen, vorverarbeiten und die generierten Ergebnisbilder wiederum als GigE-Vision-Kamera ausgeben. Dabei kann die komplette Steuerung und Ergebnisübertragung völlig transparent über die Genicam-Funktionalität erfolgen und erfordert somit keine proprietäre Anpassung der folgenden Bildsenke. Dabei kann der Genicam-Standard seine Flexibilität ausspielen: Die Kamera teilt der Software selbst mit, welche speziellen Features von der Kamera zur Verfügung gestellt werden. Im Falle des GigE-Vision-Servers sind diese Kamera-Features frei programmierbar und können dadurch Systemfunktionen beschreiben, die weit über reine Kamerafunktionen hinausgehen. Die so geschaffene virtuelle Kamera kann über die entsprechenden Kamera-Features komplett ferngesteuert werden. Die CVB-GigE-Vision-Server-Technologie steht also unmittelbar jedem Anwender einer GigE-Vision-kompatiblen Software auf jedweder Bildsenke zur Verfügung – unabhängig von Hersteller, Betriebssystem und Plattform. Die bereits vorhandene Rechenleistung der verfügbaren SoCs und die Vielfalt der unterstützten Schnittstellen sind beeindruckend. Durch mehrere USB3-, GigE- und MIPI-Schnittstellen bieten sich aktuelle SoCs als dezentrale Bildverarbeitungssysteme zur Aufnahme verschiedenster Bildquellen an. Mögliche Anwendungsfälle reichen von der reinen lokalen Umsetzung einer USB- oder MIPI-Kamera auf den GigE-Vision-Standard, über die lokale Vorverarbeitung eines einzelnen Kamerabildes auf dem FPGA z.B. des Intel Cyclone V und der Weitergabe des vorverarbeiteten Kamerabildes über GigE Vision, bis hin zur Aufnahme mehrerer Kameras und der Weitergabe kompletter Ergebnisbilder nach rechenintensiver Vorverarbeitung auf der lokalen GPU eines Nvidia Jetson TX1 SoC. Auch dem Bau einer eigenen GigE Vision kompatiblen Kamera unter der Verwendung des CVB-GigE-Vision-Servers auf einem ARM-basierten SoC steht nichts im Wege. Lediglich ein CCD- oder CMOS-Sensor muss noch an das System angebunden werden.

Fazit

Je länger man sich mit den Möglichkeiten des GigE-Vision-Servers auf SoC-Plattformen beschäftigt, umso mehr verschwimmen die bekannten Definitionen. Ob dieser lokale Bildverarbeitungsknoten des Gesamtsystems nun als Rechner, Kamera, intelligente Kamera oder Vision-Sensor bezeichnet wird, obliegt letztendlich dem Betrachter.

Themen:

| Fachartikel

Ausgabe:

inVISION 1 2017
Stemmer Imaging GmbH

Das könnte Sie auch Interessieren

Bild: TeDo Verlag GmbH
Bild: TeDo Verlag GmbH
Webinar Spectral Imaging

Webinar Spectral Imaging

Am 7. Mai findet um 14 Uhr das inVISION TechTalk Webinar ‚Spectral Imaging‘ statt. Dabei stellen Vision & Control (Tailored Optics and Lighting for Hyper- and Multispectral Imaging), Lucid Vision (Advanced sensing with latest SWIR and UV cameras) und Baumer (Inspect the invisible with powerful SWIR & UV Cameras) verschiedene Trends zu SWIR, UV und Hyperspectral Imaging vor.