Revolutionär einfach

Individuelle FPGA-Bildvorverarbeitung in der Kamera

Revolutionär einfach

Anspruchsvolle Inspektionsaufgaben erzeugen enorme Datenmengen und benötigen eine aufwändige Auswertung. Die intelligente Verlagerung der Bildvorverarbeitung vom PC in den FPGA (Field Programmable Gate Array) der Kamera eröffnet neue Lösungsansätze zur Steigerung des Durchsatzes oder zur Reduktion der Systemkosten. Die Herausforderung dabei ist, diese Technologie für Endanwender beherrschbar zu machen.
Standardkameras für Bildverarbeitungsanwendungen übertragen in der Regel Bilder des Sichtbereichs unkomprimiert an den PC zur Auswertung. Lediglich einfache Operationen wie eine Bildverbesserung oder Farbrechnung werden direkt auf der Kamera ausgeführt. Diese Funktionalität ist jedoch nicht durch den Anwender für seine Applikation adaptierbar und die eigentliche Bildverarbeitung erfolgt auf dem PC. Viele Anwendungen stellen zusätzlich immer höhere Anforderungen an Auflösung, Bildrate, Qualität und Zuverlässigkeit der Bildverarbeitung. Bereits heute stehen dafür entsprechende Bildsensoren und Schnittstellen sowie leistungsfähige PCs zur Verfügung, um auch Daten mit mehreren Gigabyte pro Sekunde zum PC zu übertragen und zu verarbeiten. Deren Einsatz erfordert jedoch häufig aufwändige Anpassungen des Systemaufbaus oder sogar Eigenentwicklungen. Dies ist aber nicht immer die beste und günstigste Lösung. Wie könnten aber Alternativen dazu aussehen? Einen neuen Ansatz, bei dem Teile der Bildverarbeitung bereits in der Kamera ausgeführt werden, liefert Baumer mit den neuen VisualApplets-Kameras der LX-Serie.

Bildvorverarbeitung neu partitioniert

Industriekameras für PC-basierte Bildverarbeitungssysteme setzen FPGAs typischerweise als zentrale Verarbeitungskomponente zur Sensoransteuerung und -korrektur, einfachen Bildverarbeitung sowie zur Ansteuerung der Schnittstellen für die Datenausgabe und der Digital-I/Os ein. Dies ist nur möglich, weil er vielseitig programmierbar und sehr leistungsfähig ist. Den technologischen Entwicklungen der Halbleiterindustrie folgend, stellt jede neue FPGA-Generation mehr Verarbeitungsressourcen mit einer besseren Performance und Energieeffizienz bereit. Es liegt also nahe, diese Technologie für aufwändigere Bildverarbeitungsaufgaben bereits direkt in der Kamera zu nutzen, um den gestiegenen Anforderungen zu begegnen und Veränderungen am Systemaufbau zu vermeiden bzw. Eigenentwicklungen zu umgehen. Die neuen LX-Modelle mit VisualApplets Technologie setzen an genau diesem Punkt an und ermöglichen eine applikationsspezifische Bildvorverarbeitung direkt auf dem FPGA der Kamera. Sie verfügen über Sensoren mit hoher Auflösung und Geschwindigkeit. Mit drei Modellvarianten von 4, 12 und 20 Megapixel sowie einer GigE-Schnittstelle lassen sich verschiedenste Anwendungen realisieren.

Vielfältige Einsatzbereiche

Der FPGA der Kameras kann variabel für die Vorverarbeitung von Bilddaten eingesetzt werden. Schwerpunkte liegen in der Bildverbesserung, Datenreduktion oder Prozessüberwachung. Außerdem lassen sich komplexe Steueraufgaben über die digitalen I/O-Schnittstellen effizient umsetzen. Beispiele für die Bildverbesserung sind die Mittelwertbildung über mehrere Bilder zur Rauschreduktion, die Verrechnung mehrerer Bilder mit unterschiedlicher Belichtungszeit für HDR-Aufnahmen oder die Korrektur von inhomogenen Beleuchtungen. Nach solch einer Bildvorverarbeitung erfolgt die anschließende PC-Auswertung deutlich einfacher und robuster. Reduzierte Datenmengen: Dank der Datenreduktion in der Kamera kann die zu übertragende und auszuwertende Datenmenge zudem reduziert werden. Dadurch können oft kostengünstigere Schnittstellen wie GigE mit hoher Flexibilität bei der Kabellänge eingesetzt werden. Gleichzeitig sinken die Anforderungen an den PC, da durch den Einsatz von günstigeren oder weniger Geräten sich die Systemkosten reduzieren. Zum Einsatz kommt die Datenreduktion häufig bei der 3D-Bildverarbeitung, wenn z.B. die Profildaten der Lasertriangulation oder die Schwerpunkte von Markern direkt ermittelt werden. Aber auch, wenn Objekte auf einem Förderband wahllos angeordnet sind, kann mit den Kameras nur das relevante Objekt lokalisiert und der entsprechende Bildausschnitt an den PC übermittelt werden. Ein weiteres Beispiel ist die Vorab-Selektion von Bildern. So wird aus einer Aufnahmeserie nur das Bild mit dem besten Kontrast übertragen. Für bestimmte Auswertungen wie Codelesen reichen zudem s/w-Bilder aus. Durch Binarisierung in der Kamera wird ebenfalls die Datenmenge erheblich reduziert. Prozessüberwachung: Prozessüberwachungsaufgaben rücken immer dann in den Vordergrund, wenn wie beim Laserschweißen sehr schnelle Prozesse überwacht und gesteuert werden müssen. Hier kommen das deterministische Verhalten und die hohe Rechenleistung des FPGAs zur Reduktion der Regelzeit zum Tragen. Ähnlich hohe Echtzeitanforderungen stellt z.B. die Verfolgung von Augenpositionen in der Ophthalmologie. Ansteuerung von Aktoren: Die Auswertung von Sensoren oder die Ansteuerung von Aktoren ist über den FPGA sehr präzise umsetzbar. Dies ist z.B. bei Track&Trace-Applikationen wichtig, bei denen Objekte per Lichtschranke erfasst, per Encoder auf einem Band verfolgt und nach der Bildauswertung sortiert werden müssen. Aber auch spezielle Steuerungen für Trigger oder Beleuchtung können mit den neuen LX-VisualAppplets-Kameras flexibel realisiert werden. Außerdem lassen sich Ergebnisse wie Position oder Schwerpunkt von Objekten direkt an andere Steuerungen z.B. für Pick&Place-Anwendungen übergeben.

Extrem einfache FPGA-Programmierung

Die zentrale Herausforderung für eine applikationsspezifische Bildvorverarbeitung in der Kamera ist die meist anspruchsvolle und aufwändige FPGA-Programmierung durch den Endanwender. Gängige Ansätze mit Hardwarebeschreibungssprachen wie VHDL machen diese Entwicklung bisher jedoch langwierig und teuer. Oft steht auch das entsprechende Know-how nicht zur Verfügung. Bei den LX-VisualApplets-Kameras greift Baumer deswegen einen neuen Ansatz auf: Dank einer Software-Partnerschaft mit Silicon Software, können Bildvorverarbeitungsaufgaben direkt über die grafische Entwicklungsumgebung VisualApplets umgesetzt werden. Dazu stehen in den Kameras umfangreiche FPGA- und Speicherressourcen zur Verfügung. Diese können von den Softwareentwicklern über VisualApplets als Werkzeug entsprechend ihrer Bildverarbeitungsaufgabe direkt programmiert werden. Die funktionale Beschreibung findet auf Basis grafischer Blockdiagramme statt. Die eingebundenen Operator-Bibliotheken decken wesentliche Funktionen der Bildverarbeitung ab. Über eine Simulation kann das visuelle Bearbeitungsergebnis an jedem Punkt des Designs berechnet und angezeigt werden. Umfangreiche Kontrollmechanismen helfen den Entwicklern dabei, ein synthetisierbares Design mit deterministischem Verhalten zu erzeugen. Aufgrund des Funktionsumfangs und der intuitiven Bedienung lassen sich auch komplexe Aufgaben einfach, schnell und ohne VHDL-Programmierung realisieren. Nach Abschluss der Algorithmen-Entwicklung wird das Design zu einer neuen Firmware-Datei kompiliert und per Update-Tool auf die Kamera übertragen. Die Parameter des Algorithmus werden über die XML-Beschreibung der Kamera exportiert und sind somit standardkonform zur Laufzeit durch die PC-Software einstellbar. Für eine schnelle Evaluierung stehen zudem verschiedene Beispiel-Applets bereit, auf deren Basis spezielle Anpassungen vorgenommen werden können.

Baumer Optronic GmbH

Das könnte Sie auch Interessieren