Jetzt auch in der App!

Das Handbuch der Bildverarbeitung Mehr

Erweitern Sie Ihr Bildverarbeitungs Know-how

BESSER MEHR WISSEN

Profitieren Sie von der Erfahrung unserer Experten

Vision Docs - das neue Handbuch ist da

DAS NACHSCHLAGEWERK

FÜR BILDVERARBEITER

Holen Sie sich das aktuelle Handbuch! Mehr

Bilderfassung

In den letzten Jahren gab es, insbesondere durch die schrittweise Integration von verschiedenen PC-Technologien, einige Neuerungen in der Bilderfassungstechnik.

Die bisher dominierenden Frame Grabber wurden um eine Reihe weiterer digitaler Bildübertragungstechnologien wie FireWire, USB 2.0 und 3.0 und Gigabit Ethernet ergänzt. Ebenso finden weitere Bilderfassungsschnittstellen wie CameraLink HS, Thunderbolt und CoaXPress Einzug in die Welt der Frame Grabber, die Lösungen für immer höhere Datenraten neuer Highspeed-Kameras liefern. Aber auch die bisherigen Schnittstellen, insbesondere CameraLink, behalten ihre Daseinsberechtigung.

Da die Bilderfassungstechnologie im engen Bezug zur Kameratechnologie steht, empfehlen wir, diese beiden Kapitel im Zusammenhang zu lesen.

Allgemeines zur Bilderfassung

Alle Bilderfassungstechnologien übertragen Bilddaten von der Kamera an einen Host-PC. Jede Technologie hat dabei ihre Vor- und Nachteile, und nicht alle Varianten sind für jede Applikation geeignet. Eine sichere Datenintegrität spielt dabei insbesondere im industriellen Umfeld eine wichtige Rolle. Einige der neuen Schnittstellentechnologien beinhalten spezielle Features, die sicherstellen, dass beim Auftreten eines Fehlers die Applikation darüber in Kenntnis gesetzt wird und entsprechende Maßnahmen ergriffen werden können. Nachfolgend erörtern wir die verschiedenen Mechanismen, die bei Bilderfassungssystemen genutzt werden. Dies hilft Ihnen bei der Auswahl der geeigneten Schnittstelle und des richtigen Lieferanten beziehungsweise des passenden Produktes und der Technologie.

Direktübertragung

Im einfachsten Fall werden Kamerabilddaten direkt an einen Computer übertragen. Dabei werden meist die Schnittstellen USB, IEEE 1394 (FireWire) und Gigabit Ethernet eingesetzt, wobei jedoch auch kostengünstige Frame Grabber und Thunderbolt zum Teil nach diesem Prinzip arbeiten. Bei der einfachsten Form dieses Übertragungsverfahrens werden die Daten direkt an den Speicher eines Computers gesendet. Die dabei zum Einsatz kommenden Chipsätze besitzen kleine FIFO-Speicher für die Datenpufferung im Fall von Latenzen auf dem PC-Bussystem.

Die Obergrenze dieser FIFOs liegt oft bei einigen Bildzeilen, so dass es bei Bus- oder Prozessorkonflikten zu Datenverlusten kommen kann. Um dies zu vermeiden, sind bei manchen Softwareimplementierungen Mechanismen installiert, die mit Prüfsummen und Paketzählung arbeiten. Direktübertragung impliziert, dass die verwendete Technologie eine garantierte Bandbreite bietet und damit kein Bedarf für Datenpufferung besteht. Mit der Einführung des PCI Express-Busses werden durch eine Punkt-zu-Punkt-Verbindung Buskonflikte weitgehend vermieden.

Bei Systemen mit sehr hohen Datendurchsatzraten ist eine direkte Übertragung oft problematisch, hier sollten besser robuste Bilderfassungssysteme genutzt werden. Bei den meisten Direktübertragungstechniken kommen DMA-Verfahren (Direct Memory Access) zur Anwendung, die den Pufferspeicher genauso schnell leeren, wie er gefüllt wird. Der Speicherzugriff bis zum nächsten Bustakt und für die Adressierung von physischem Datenplatz ist also begrenzt. Mit steigenden Datenraten kann dies zu einem Speicherüberlauf führen und Bilddaten gehen damit verloren.

Direktübertragung

Bilderfassungskarte

Die Bilderfassungskarte oder auch Frame Grabber ist die physische oder funktionale Verbindung für den Transfer von Bilddaten zwischen Kamera oder Sensor zum Host-PC. Hatte er in früherer Zeit die Aufgabe, analoge Bilder für die Verwendung im PC zu digitalisieren, findet man ihn heute als Funktionseinheit für die Datenwandlung in sogenannten »interface-losen« Kameras.

Dennoch ist der klassische Frame Grabber für viele Anwendungen immer noch die beste Wahl z.B. wenn eine zeitlich kritische Ansteuerung notwendig ist, mit hohen Datenraten gearbeitet wird oder aber für Schnittstellentechnologien, die keine native Unterstützung für Motherboards bieten. Einige Motherboards verfügen über Gigabit-Ethernetoder USB-Schnittstellen. Möchten Sie jedoch mit CoaXPress, CameraLink oder CameraLink HS arbeiten, wird ein Frame Grabber benötigt.

Zusätzlich können Frame Grabber für generisches Gigabit Ethernet in Anwendungen, die FPGA-Vorverarbeitung ohne CPU-Belastung benötigen, notwendig sein, sind aber nicht vorgeschrieben. Der Frame Grabber hat die Aufgabe, die Bilddaten der Kamera zwischenzuspeichern, vorzuverarbeiten und über den PC-Bus in den Arbeitsspeicher oder auf die Festplatte zu schreiben.

Die meisten Bildvorverarbeitungsfunktionen dienen der Bildverbesserung. Hierüber können Darstellungsprobleme der Sensoren (Korrektur defekter Pixel) oder situative Probleme (Belichtungskorrekturen) korrigiert werden. Weitere Funktionen errechnen Farbwerte aus Grauwertkameras, die mit einem Farbfilter beschichtet sind (BayerKonvertierung), konvertieren Farbräume oder komprimieren Bilddaten. Weitergehende Vorverarbeitungsfunktionen beinhalten bereits erste Analysefunktionen.

Für die Konfiguration des Aufnahmeablaufes werden meist umfangreiche Entwicklungsfunktionen (SDK oder API) mitgeliefert, die eine Integration des Frame Grabbers in eine Anwendung bereitstellen. Diese Bibliotheken ermöglichen die Hardwarekonfiguration des Frame Grabbers und die Bilderfassung. Abhängig von der verwendeten Technologie können auch die Kameraeinstellungen verändert werden. Aktuelle Entwicklungen im Schnittstellenbereich berücksichtigen inzwischen auch eine Spannungsversorgung der Kameras über die Frame Grabber (Power over CameraLink, Power over Ethernet, Power over CoaXPress).

Neben der reinen Bilderfassung ermöglichen einige Karten auch eine programmierte Vorverarbeitung. Diese intelligenten Frame Grabber können über ihre Onboard-Prozessoren oder FPGAs (Field Programmable Gate Array) zusätzliche Bildverarbeitung übernehmen. Aufgrund unterschiedlicher Bilddatenformate, Auflösungen und Sensorgeschwindigkeiten kann die Konfiguration des optimalen Bildprozessors sehr komplex sein. Durch ihre extrem hohen Datenraten entlasten diese Boards die Host-CPU, die sich dann auf die finale Bildanalyse konzentrieren kann. Am häufigsten werden hierfür FPGA-Prozessoren eingesetzt, aber auch CPU, GPU und DSP kommen zur Anwendung. Abhängig von der Aufgabenstellung kann der Frame Grabber auch ein autarkes Bildverarbeitungssystem bilden, das eine vollständige Bildanalyse und Maschinenansteuerung in Echtzeit durchführt.

Speicher

Bei anspruchsvolleren Anwendungen ist es vorteilhaft, wenn für die Bilderfassung eine höhere Speicherkapazität zur Verfügung steht. Onboard-Speicher wurden bei Frame Grabbern erstmalig eingesetzt, um die bei PCI-Buskonflikten auftretenden Einschränkungen zu umgehen und eine Bilderfassung ohne Prozessorbelastung zu ermöglichen.

Durch Verwendung von DMA-Transfers für komplette Bilder sind höhere Datenübertragungsraten möglich. Wegen der kontinuierlichen Erhöhung der Verarbeitungsgeschwindigkeiten bei Schnittstellen-Chips und der Einführung von PCI Express spielt dieses Thema heutzutage keine so offensichtliche Rolle mehr, doch ergeben sich aus der erhöhten Speicherkapazität beim Bilderfassungsvorgang auch zusätzliche Möglichkeiten.

Durch die erhöhte Speicherkapazität können zusätzliche Funktionen wie zum Beispiel Umsortierung von Sensordaten bei Multi-Tap-Kameras, Vorverarbeitungstechniken wie zum Beispiel Flat-Field-Korrektur und verzögertes Bildauslesen genutzt werden. Diese Methoden erlauben eine effizientere Nutzung der Schnittstellenbandbreite, entlasten zudem das Host-System und stehen inzwischen für alle guten Bildverarbeitungskameras und Frame Grabber zur Verfügung.

Memory

Onboard-Vorverarbeitung

Wird die Vorverarbeitung parallel zur Bilderfassung durchgeführt, stellt dies eine Entlastung des Host-Systems dar. Zusätzlich kann eine Vorauswahl der zu übertragenden Daten erfolgen. Eine Vorverarbeitung kann entweder in der Kamera, auf der Schnittstellenkarte oder auch auf beiden Komponenten stattfinden. Die Vorverarbeitung erfolgt hauptsächlich mit Hilfe von sogenannten FPGAs (Field Programmable Gate Arrays), kann jedoch zuweilen auch eingebettete Prozessoren wie zum Beispiel einen vorhandenen Prozessor (CPU / DSP) nutzen.

Zu den Standardfunktionen im Bereich der Vorverarbeitung zählen:

  • Flat-Field-Korrektur
  • Farbraumkonvertierung
  • Datenkomprimierung
  • Bildarithmetik
  • Filterung
  • Bayer-Konvertierung
  • Korrektur von Sensorartefakten

Durchaus häufig ist auch die Nutzung der Echtzeitfähigkeit von Akquisitionseinheiten, die einen FPGA enthalten. Für einen darüber hinausgehenden Funktionsumfang kann der FPGA-Code mit Hilfe von VHDLWerkzeugen oder einer grafischen Entwicklungsumgebung in eine anwendungsspezifische Lösung umgewandelt werden. Hierfür ist heutzutage nur minimales VHDL-Wissen erforderlich.

Das nachfolgende Bild zeigt das grafische FPGA-Programmiertool »Visual Applets« von Silicon Software als Beispiel für eine solche Entwicklungsumgebung.

Onboard preprocessing


Mehr zum Thema Bilderfassung und Standards: