Die Mehrzahl der am Markt verfügbaren Industriekameras ermöglicht Anwendern keine applikationsspezifische FPGA-Bildvorverarbeitung (Field Programmable Gate Array). Sie bietet aber viele Vorteile, um Kameras an komplexe Anwendungen mit spezifischen Funktionalitäten zur Bildverbesserung, Datenreduktion oder Prozessüberwachung flexibel anzupassen. Davon können aufgrund der bisherigen komplexen Lösungsansätze aber nicht alle Endanwender profitieren. Die Baumer LX-VisualApplets-Kameras integrieren VisualApplets von Silicon Software und bieten dafür nun einen innovativen und einfachen Lösungsansatz.
Klassische Ansätze zur Bildvorverarbeitung
Bisherige Ansätze zur applikationsspezifischen Bildvorverarbeitung setzen auf das Programmieren des Kamera-FPGAs oder das Verwenden eines programmierbaren Framegrabbers. Kameras, bei denen die Anwender den FPGA komplett selbständig mittels Hardwarebeschreibungssprachen wie VHDL (Very High Speed Integrated Circuit Hardware Description Language) programmieren können, erfüllen allerdings nicht alle Erwartungen. So ist der Aufwand für die Hardware-Programmierung hoch und nur durch Hardware-Spezialisten umsetzbar. Das macht die Entwicklung oft langwierig und vor allem für kleinere Projekte zu teuer. Weiterhin können bestimmte Bildvorverarbeitungsalgorithmen fest im FPGA implementiert werden, was für sich ändernde Anforderungen aber wenig flexibel ist, da sie – einmal entwickelt – zur Laufzeit lediglich ausgewählt und parametriert werden können. Dies kann zu Beschränkungen beim Umsetzen neuer oder angepasster Anwendungen führen.
Zusätzliche Angebote von Kameraherstellern, applikationsspezifische Funktionen auf Kundenwunsch umzusetzen, bedürfen einer exakten Spezifikation. Endanwender möchten jedoch häufig ihr spezielles Know-how schützen und nicht offenlegen. Werden programmierbare Framegrabber eingesetzt, bei denen die Funktionalität des FPGAs mit modernen Software-Tools angepasst werden kann, erfolgt keine Reduktion der Bilddaten in der Kamera. So müssen oft große Datenmengen mittels Camera-Link zum PC übertragen werden. Das ist aufgrund der geringen Flexibilität bei der Kabellänge und den hohen Hardware-Kosten ebenfalls nicht für alle Anwender ideal.
Kameraklasse zur einfachen Bildvorverarbeitung
Die LX-VisualApplets-Kameras ermöglichen Endanwendern ohne tiefgreifende FPGA-Kenntnisse, anspruchsvolle Bildvorverarbeitungsaufgaben im Kamera-FPGA mittels der grafischen Programmierumgebung VisualApplets selbst zu realisieren – ganz ohne aufwändige und teure VHDL-Programmierung oder zusätzliche Framegrabber. So kann auf geänderte Applikationsanforderungen flexibel reagiert werden, ohne dass eine komplett neue Kamera entwickelt werden muss. Anwender profitieren außerdem von beschleunigten Entwicklungsprozessen und maximalem Know-how-Schutz, da die Umsetzung komplett vom Kamerahersteller getrennt erfolgen kann. Gleichzeitig kann die Datenmenge reduziert werden, um das PC-basierte Bildverarbeitungssystem von rechenintensiven Algorithmen zu entlasten. Das steigert den Durchsatz, vereinfacht den Systemaufbau oder reduziert die Systemkosten. Die GigE-Vision-konforme Schnittstelle ermöglicht zudem eine einfache Kameraeinbindung. Zusätzlich besteht mehr Flexibilität beim Einsatz längerer und kostengünstiger Kabel, sodass auf spezielle Repeater wie bei Camera-Link verzichtet werden kann.
Schnell umgesetzt mit VisualApplets
Die Kameras verfügen über umfangreiche FPGA- und Speicherressourcen. Auch die Entwicklung komplexer Algorithmen ist mit VisualApplets auf Basis grafischer Blockdiagramme für Software-Entwickler einfacher und schneller. Dank einer Vielzahl eingebundener Beispiele und flexibel kombinierbarer Operatoren ist nahezu jede Bildvorverarbeitungsaufgabe einfach umsetzbar. Eine integrierte bildbasierte Simulation ermöglicht zudem in jedem Entwicklungsschritt eine schnelle Überprüfung. Umfangreiche Kontrollmechanismen unterstützen die Entwickler zusätzlich beim Erzeugen eines synthetisierbaren Designs mit deterministischem Verhalten. Nach Abschluss der Algorithmus-Entwicklung wird die neu generierte Firmware auf Knopfdruck in ein Update-File überführt und auf die Kamera geladen. Die dafür benötigen Tools werden im Hintergrund automatisch ausgeführt. Alle neuen Algorithmus-Parameter werden auch im XML-File der Kamera abgebildet, um sie mit einem Software Development Kit oder kompatibler Third Party Software standardkonform zur Laufzeit zu konfigurieren.
Vielseitige Einsatzmöglichkeiten
Dank der flexiblen, applikationsspezifischen Programmierbarkeit können die LX-VisualApplets-Kameras für zahlreiche branchenübergreifende Vorverarbeitungsaufgaben eingesetzt werden. Schwerpunkte bilden die Bildverbesserung, Datenreduktion und Prozessüberwachung.
Bei der Bildverbesserung kann zum Beispiel zur Rauschreduktion der Mittelwert über mehrere Bilder gebildet oder es können HDR-Aufnahmen mittels Verrechnung mehrerer Bilder mit unterschiedlicher Belichtungszeit erzeugt werden, um die anschließende PC-Auswertung zu vereinfachen.
Bei der Datenreduktion wird die zu übertragende und auszuwertende Datenmenge bereits in der Kamera reduziert – mit einer Binarisierung beispielsweise auf 1/8. Ähnliche Ergebnisse werden beim intelligenten Ausschneiden relevanter Bildbereiche, zum Beispiel Objekt oder Code, aus dem gesamten Sichtbereich der Kamera erreicht. Noch höhere Kompressionswerte sind bei 3D-Applikationen wie Laser-Triangulation erzielbar, da hier nur der Schwerpunkt der Laserlinie und nicht das Ausgangsbild entscheidend ist.
Im Ergebnis kann so eine Gigabit-Ethernet-Schnittstelle genutzt und auf kostengünstige Hardware-Komponenten zurückgegriffen werden – teure Schnittstellen wie Camera-Link mit einem Frame Grabber lassen sich damit einsparen.
Prozessüberwachungsaufgaben rücken immer dann in den Vordergrund, wenn - wie beispielsweise beim Laserschweißen - sehr schnelle Prozesse überwacht und gesteuert werden müssen. Hier kommen das deterministische Verhalten und die hohe Rechenleistung des FPGAs zum Tragen, um die Regelzeit zu reduzieren. Ähnlich hohe Echtzeitanforderungen stellt zum Beispiel die Verfolgung von Augenpositionen in der Ophthalmologie.
Mehrwerte im Blick
Die applikationsspezifische Bildvorverarbeitung im Kamera-FPGA entlastet das PC-System, erhöht die Genauigkeit der Bildauswertung, steigert den Durchsatz, vereinfacht den Systemaufbau oder reduziert die Systemkosten.
Dank der innovativen Kombination leistungsstarker Industriekameras mit einer grafischen FPGA-Entwicklungsumgebung profitieren davon erstmals auch Endanwender ohne tiefgreifende Kenntnisse der FPGA-Programmierung. Sie können nun mit selbst umgesetzten Bildvorverarbeitungsalgorithmen komplexe Anwendungen effizient lösen, die bisher kundenspezifischen Entwicklungen vorbehalten waren.