GigE Vision und GenICam: Bildverarbeitung an einer Technologie-Schwelle

Gigabit-​Ethernet for Machine Vision oder kurz, »GigE Vision«: Dieser Schnittstellen-​Standard und das eng damit verbundene generische Software-​Interface »GenICam« (Generic Interface for Cameras) werden nach Meinung vieler Experten schon bald interessante neue Impulse für die industrielle Bildverarbeitung geben: Die Bildverarbeitungs-​Branche steht an einer wichtigen Technologie-Schwelle!

Wie gelangt ein Kamera-​Bild in den auswertenden PC? Auf diese scheinbar einfache Frage gibt es in der industriellen Bildverarbeitung mittlerweile eine Vielzahl möglicher und sehr kontrovers diskutierter Antworten. Es fallen Begriffe wie "CameraLink", "IEEE 1394", auch "FireWire" genannt, in den Versionen FireWire A und FireWire B, sowie "USB", "USB 2", "Gigabit-Ethernet" oder "10 Gigabit-Ethernet". Neben diesen Standard-Übertragungsmöglichkeiten, die meist aus dem PC-​Consumer-Markt stammen, gibt es zudem noch viele weitere, proprietäre Wege. Für den Anwender ist es aufgrund des umfangreichen Angebots am Markt daher nicht einfach, bei der Planung eines neuen Bildverarbeitungs-​Systems diejenigen Komponenten auszuwählen, die seine Aufgabe zum optimalen Preis am besten lösen.

Im Rennen um die bevorzugte Schnittstelle ist inzwischen ein neuer Standard an den Start gegangen, der über enormes Potential verfügt: Gigabit-​Ethernet for Machine Vision oder kurz »GigE Vision«. Der Standard verfolgt zum einen das Ziel, ein einheitliches Protokoll auf Basis von UDP/IP zu definieren, über das GigE Vision-​kompatible Bildverarbeitungs-Produkte mit einem Host kommunizieren können. Zum anderen soll mit GenICam, auf das der Standard verweist, eine allgemein gültige Software-​Schnittstelle geschaffen werden, die es den Geräten erlaubt, ihre Funktionen einer generischen Software mittels eines standardisierten XML Files mitzuteilen. Die Kombination von einheitlichem Protokoll und XML-​Definition ermöglicht es dann, eine Geräte-unabhängige Software von einem beliebigen Anbieter für solche Geräte zu verwenden. Die eingesetzte Bildverarbeitungs-​Hardware wird somit austauschbar.


Enorme Vorteile für den Anwender

Für den Anwender ergeben sich aus dieser Technik eine ganze Reihe von Vorteilen. Das wesentlichste Argument wurde bereits angesprochen: Die eingesetzte Hardware wird durch den kommenden Standard austauschbar. Dies verspricht kürzere Designzyklen, geringere Entwicklungskosten und birgt somit breitere Marktchancen.

Des weiteren bietet GigE Vision viel mehr als Schnittstellen wie FireWire/IEEE1394 oder gar USB 2.0 die Vorteile eines industriellen Standards, der laufend weiterentwickelt wird und in Zukunft auch als 10 GigE verfügbar sein wird. Durch die Nutzung der Massenmarkt-​Technologie Ethernet als Basis von GigE Vision wird die Bildverarbeitung daher von günstigeren Komponenten profitieren. Außerdem ist bereits eine breite Palette an industrietauglichen Konnektoren und Kabeln sowie Komponenten wie Router, Switches etc. in IPxx-​Varianten für diese Technologie erhältlich, die den Einsatz im rauen industriellen Umfeld ermöglichen.

Hinzu kommt, dass mit Gigabit-Ethernet, anders als bei FastEthernet, erstmals die Bandbreite von "normalen" Netzwerk-​Verbindungen ausreichend ist, um die hohen Ansprüche an Bandbreite von vielen Bildverarbeitungs-​Applikationen zu befriedigen. Mit einer geplanten Datenrate von rund 100 MByte/s deckt GigE Vision den größten Teil gängiger Bildverarbeitungs-​Applikationen ab.

Weitere Vorteile für den Anwender sind, dass beliebig viele Geräte an einem Host betrieben werden können, dass die Möglichkeit zur Fernwartung erschlossen wird und dass ein Distributed Computing / Verteiltes Rechnen wesentlich einfacher realisierbar wird.

Darüber hinaus lässt Gigabit-​Ethernet deutlich höhere Kabellängen zu, die zudem aufgrund der weiten Verbreitung billig und selbst in Schleppketten- und Roboter-​tauglichen Ausführungen erhältlich sind. Nach der Spezifikation sind bis zu 100 Meter möglich, was mit anderen Technologien bisher nur mit großem Aufwand , d.h. durch den Einsatz von Repeatern bei CameraLink, von Hubs bei IEEE 1394 oder gar den Wechsel auf ein anderes Medium wie Glasfaser oder Coax-Kabel, möglich war. Für noch größere Distanzen kann auch Glasfaser zum Einsatz kommen. In Sachen Datentransport ist das aber noch lange nicht alles: Bei der Protokolldefinition von GigE Vision spielt das darunter liegende Transportmedium in erster Näherung keine Rolle. Somit steht z.B. auch dem Einsatz von 10 GBit-​Ethernet in Zukunft nichts im Wege, wenn diese Technik erst einmal erschwinglich und / oder der Einsatz von 10 GigE Vision über Kupferleitungen möglich ist.

All diese Vorzüge sprechen dafür, dass GigE Vision schon bald eine sinnvolle, leistungsfähige Rolle in der industriellen Bildverarbeitung spielen kann. Die Unterstützung von Seiten der großen Lieferanten ist dafür jedenfalls gegeben: Das Standardisierungs-​Gremium von GigE Vision ist der AIA (Automated Imaging Association) zugeordnet und wird somit von vielen weltweit führenden Herstellern der Bildverarbeitungs-​Branche getragen. Dazu zählen u.a. Firmen wie Basler Vision Technologies, DALSA, JAI, Matrox, National Instruments, Photonfocus, Pleora Technologies und STEMMER IMAGING.


Ganz neue Ansätze in punkto Software

Dass die Industrie versucht, GigE Vision als eigenen Standard zu definieren, macht nach vorangegangenen Erfahrungen Sinn: Zweck eines Standards ist es ja, die Integration von Hardware-​Komponenten zu vereinfachen bzw. die Austauschbarkeit von Komponenten zu garantieren sowie Kosten und Zeit für die Integration zu minimieren. Bei der Entwicklung von CameraLink ist man hierbei einen ersten Schritt gegangen und hat das Hardware-​Interface zwischen Kamera und Host definiert. Der Software-​Part kam dort allerdings etwas zu kurz, da man sich auf die Definition einer seriellen Kommunikation beschränkt, aber die Funktionalität der Kamera gänzlich außen vor gelassen hat. Der Ansatz bei IEEE1394/FireWire war da deutlich weitreichender, da man die Funktionalität der Kamera in einem mehr oder weniger starren Registerlayout vorgeschrieben hat. Als problematisch hat sich dort allerdings genau diese wenig flexible Struktur des Registerlayout erwiesen. Fatal war jedoch die Tatsache, dass keine Referenzimplementierung vorhanden war, was dazu führte, dass heute im Prinzip jeder Hersteller von FireWire-​Produkten sein eigenes SDK mitliefert. Aus Kundensicht sind verschiedene IEEE1394-Hardware-Produkte somit nicht mehr einfach austauschbar.

GigE Vision und GenICam verfolgen hier einen ganz neuen Ansatz, der das Ziel hat, die Funktionalität der Kameras nicht festzuschreiben. Vielmehr soll der Standard eine flexible Beschreibung der Kamera-​Features liefern, die eine generische Software anschließend nutzen kann. (siehe Bild GenICam)


Wie funktioniert das nun im Detail?

Für die Beschreibung von Kamera-​Merkmalen wird ein XML-​File verwendet, das letztendlich eine Register-​Map beschreibt. In dieser Datei legen die Hersteller die Eigenschaften ihrer Produkte in einem im Standard beschriebenen Format ab und erläutern, wie bzw. wo diese angesprochen werden können. Damit kann z.B. ein Register, das den Gain einer Kamera kontrolliert, an beliebiger Stelle in der Register-​Map der Kamera liegen. Mittels des XML-​Files ist es der Software dann möglich, diesen Gain zu verstellen.

Mit Hilfe einer generischen Software ist es dann ein Leichtes, beliebige Funktionen in der Kamera anzusprechen oder auf Parameter zu zugreifen. GenICam ist also dafür verantwortlich, zum einen das Layout des XML-​Files zu definieren und zum anderen eine Referenzimplementierung zur Verfügung zu stellen, die in der Lage ist, die Kamera zu steuern und Daten von ihr auf zunehmen. In mehreren Ausbaustufen soll GenICam außerdem die Kommunikationsschicht zur Kamera abstrahieren und damit auch für FireWire- oder CameraLink-​Kameras verfügbar sein.

Dafür werden die Mechanismen, die für die Kommunikation mit der Kamera notwendig sind, abstrahiert und in einer speziellen Kommunikationsschicht, dem Transport-Layer, gekapselt. Durch den Austausch dieser Schicht ist dann möglich, nicht nur mit GigE Vision-​Komponenten zu kommunizieren, sondern auch mit IEEE 1394 oder anderen Register-​basierten Geräten. In einem weiteren Schritt wird dann die Funktionalität in sofern erweitert, dass nicht nur der reine Registerzugriff unterstützt wird, sondern auch der Austausch von String-Tokens, was dann den Einsatz von GenICam auch für CameraLink ermöglichen wird. (siehe Bild "Blockdiagramm mit Transport-Layer"!)


Letzte Schritte bis zum Standard

Am GigE Vision-​Standard wird seit mittlerweile rund zwei Jahren gearbeitet. Inzwischen wurde die Spezifikation, in der das Protokoll beschrieben wird, Punkt für Punkt überarbeitet. Verschiedene Firmen haben während der jährlichen Hauptmesse der Bildverarbeitung, der VISION 2006 (Stuttgart, 7.-9.11.2006), bereits Produkte vorgestellt, die dem GigE Vision-​Standard entsprechen. Parallel dazu konnte auch die Definition der Version 1.0 des GenICam-​Standards abgeschlossen werden. Beide Ansätze zählten auf der VISION 2006 zu den Hauptthemen.

STEMMER IMAGING war von Beginn an maßgeblich an den Definitionen beider Standards beteiligt. Diesen Wissens-​Vorsprung hat das Puchheimer Unternehmen bereits in die aktuelle Version seiner Bildverarbeitungs-​Bibliothek Common Vision Blox (CVB) einfließen lassen: Als erstes europäisches Bildverarbeitungs-​Softwarepaket entspricht CVB bereits den Spezifikationen von GigE Vision und GenICam und ist somit auch für diese neue Technologie bestens gerüstet.


Fazit

Mit GigE Vision und GenICam wurden zwei interessante neue Standards für die Bildverarbeitung finalisiert. Bei der Definition von GenICam hat sich die Industrie so weitgehend wie nie zuvor bei der Erstellung eines Software-​Standards geeinigt. Beide Techniken haben das Potenzial, neue Märkte zu erschließen und die Möglichkeiten der Bildverarbeitung noch weiter auszubauen.

­