Fachbeiträge

Verbesserte 3D-Sicht

IDS vereinfacht den Umgang mit 3D-Kameradaten

Die Umweltwahrnehmung mit 3D-Kameradaten ermöglicht heute viele innovative Anwendungen, die bisher nur von Menschen erledigt werden konnten. Die Robotik wird damit in die Lage versetzt, Objekte menschenähnlich zu erkennen und selbständig auf unterschiedliche Gegebenheiten zu reagieren. Neben räumlichen Abmessungen und der Lage im Shopfloor sind dadurch auch genaue Rückschlüsse auf Abweichungen oder Fehlstellen bei Vergleichen mit Referenzobjekten möglich.

Der Umgang mit 3D-Kameras und deren Daten ist sehr komplex und erfordert viel Vorbereitung und Einrichtungszeit bei der Erarbeitung einer Anwendung. Gerade in Mehrkamera-Anwendungen oder in Verbindung mit der Robotik sind aufwändige Kalibrierungen von mehreren Koordinatensystemen notwendig, bevor die Daten effektiv verwendbar sind. Durch die starke Systemabhängigkeit die eigentliche Anwendung oft direkt am System entwickelt werden, um verwertbare Daten zu generieren. Für Anwendungen mit größeren Arbeitsräumen ist zudem das Sichtfeld und die Auflösung vieler 3D-Kameras nicht ausreichend.

Diese Anforderungen sind in die Entwicklung des neuen Ensenso SDK 2.2 und der neuen 5 MP-Variante der Ensenso X Serie eingefloßen. Damit wurden viele Detailverbesserungen erzielt, welche die Integration deutlich erleichtern.

Große Modellpalette optimiert für Geschwindigkeit und Qualität

Ensenso 3D-Kameras sind sowohl für statische als auch für bewegte Anwendungen gleichermaßen gut geeignet. Für den Griff in die Kiste (Bin Picking) oder für hochgenaue Objekt-Vergleiche optimiert ihre FlexView-Technologie in Verbindung mit den ausgefeilten SC-Algorithmen (Sequenz-Korrelation) die Ergebnisgenauigkeit der Kameramodelle N35, X36 1,3 MP, X36 5 MP. Dazu projeziert ein beweglich gelagerter Hochleistungsprojektor ein Zufallsmuster auf das Prüfobjekt, wodurch Bildmaterial mit unterschiedlicher Oberflächenstruktur des Prüfobjekts erzeugt wird. Die SC-Algorithmen berechnen daraus die 3D-Objektdaten, die von jedem weiteren Bildpaar (bis zu 16) profitieren, um die Genauigkeit zu erhöhen.

Auch für Anwendungen mit bewegten Objekte, wie auf fortlaufenden Transportbändern oder Fälle, wo sich die Kamera selbst bewegt, ist Ensenso mit den Kamera-Modellen N30, X30 1,3 MP, X30 5 MP bestens vorbereitet. Optimierte SGM-Algorithmen (Semi-Global-Matching) können auch aus einem einzigen aufgenommenen Bildpaar bereits eine beachtliche Genauigkeit der Tiefeninformationen erzielen. Der Ensenso-Kameraselektor der IDS Webseite hilft dabei die richtige Kamera für jede Anwendung zu finden.

Größere Augen mit weiterem Sichtfeld

Mit der Integration zweier Sony IMX264 5 MP Bildsensoren steigt die 3D-Bildauflösung der Ensenso 3D-Kamerafamilie gegenüber der bisherigen 1,3 MP Variante um etwa 35% bei gleichzeitigem Gewinn an Sichtfeld von etwa 20%. Um eine bepackte Euro-Palette mit einem Volumen von 120 x 80 x 100 cm komplett zu erfassen, kann der Abstand zwischen Kamera und Prüfobjektsind damit von 1,5 m auf nur noch 1,25 m verringert werden. Ein Vorteil, wodurch auch die native Sensorauflösung weit effektiver ausgenutzt wird. In Verbindung mit dem geringeren Pixelrauschen der Sony-Sensoren ergibt sich damit eine Verbesserung der errechneten Tiefeninformation (Z-Genauigkeit) von vorher 0,43 mm auf hervorragende 0,2 mm.

Fit für Embedded Anwendungen durch beschleunigte Berechnung

Leistungsstärkere Sensoren verursachen natürlich größere Datenmengen und dadurch potenziell längere Verarbeitungszeiten, bis Ergebnisse vorliegen. Referenzuntersuchungen mit einem 5 MP Modell bestätigten die etwa viermal längeren Bearbeitungszeiten für das Matching der Bilder eines Bildpaares bzw. der Zeit, bis zu einem vollständigen 3D-Bild. Dennoch liegen die Zeiten für die vollständige 3D-Bildberechnung einer Sequenz-Korrelation mit 16 hochauflösenden 5 MP Bildpaaren bei nur etwa 2,5 Sekunden. Für die meisten Anwendungen sind diese Zeiten vollkommen ausreichend. Für Anwendungen mit höheren Geschwindigkeitsanforderungen liefert ein Semi-Global-Matching mit einem 5 MP Bildpaar ausreichende Genauigkeit bei lediglich 1,1 Sekunden Berechnungszeit.

Um den größeren Datenmengen und den damit verbundenen Zeiteinbußen trotzdem entgegenzuwirken, wurden wichtige Berechnungen für CUDA optimiert. Die zusätzliche Rechenkapazität von NVIDIA Grafikprozessoren beschleunigt die Verarbeitungsprozesse je nach eingesetzter GPU und der Parametrierung der entsprechenden Algorithmen etwa um das Fünffache.

Mit der CUDA-Unterstützung werden 3D-Anwendungen somit auch für das Embedded Umfeld interessant. Eine geeignete Plattform ist z.B. das NVIDIA Jetson TX2 Board. Während die Stereo Berechnungen hier auf 256 CUDA Cores zurückgreifen können, läuft eine nachgelagerte Bildverarbeitung wie HALCON for Embedded Devices auf den verfügbaren ARM CPUs.

Multikamerafähigkeit

Die Ensenso-Software-Bibliotheken bieten eine Reihe nützlicher Funktionen zur Verwendung mehrerer Kameras in einer Anwendung. Durch verschiedene Ansichten und Positionen müssen die Koordinatensysteme mehrerer Kameras aufeinander bzw. mit Festpunkten in der realen Welt abgeglichen und auf ein einheitliches Objekt-Koordinatensystem kalibriert werden. Wenn Kameras mit einem Roboter zusammenarbeiten sollen und dessen Bewegungen mit den Kameradaten koordiniert werden müssen, kann ebenfalls eine Hand-Augen-Kalibrierung durchgeführt werden. Ein integrierter Kalibrierungs-Wizard unterstützt den Anwender bei der Durchführung.

Neben zusätzlichen Ensenso Stereokameras erlaubt das SDK auch eine sehr einfache Integration und Kalibrierung von monokularen 2D-uEye-Kameras in einer Anwendung. Die Qualität von Prüf- und Messergebnissen in 3D-Anwendungen lässt sich durch Fähigkeiten der 2D-Kameras signifikant verbessern. Wo Stereo-Kameras in Grenzbereichen Schwierigkeiten aufweisen Objekte zu identifizieren, unterstützen 2D-Kameras idealerweise durch Kantendetektion oder Farberkennung. Desweiteren erlauben 2D-Kameras auch die Erfassung zusätzlicher Informationen wie z.B. Inhalte von Barcodes. Die Ensenso Software unterstützt deshalb optimal die Integration beider Technologien. Speziell entwickelte Kalibriermuster erleichtern den Aufbau und Abgleich in Mehrkamerasystemen zudem. Durch mehrere Kalibrierplatten, die von den Kameras zum Teil überdeckend aufgenommen werden, erkennt die NxLib Bibliothek beliebig große Objekt-Koordinatensysteme und die Positionen der Kameras zueinander und kann diese dann zueinander abgleichen.

Virtualisierung für erleichterte Entwicklung und Fehlersuche

Anwendungsentwickler dürften vor allem von den Erweiterungen "File Cameras" und "Virtual Cameras" profitieren. Zur Verbesserung von Algorithmen und Abläufen ist es unabdinglich identische Daten mehrfach debuggen zu können. Eine Filekamera verhält sich am System wie eine reale Kamera, mit dem Unterschied, dass deren Bildmaterial aus einem lokalen Ordner mit gespeicherten Datensätzen stammen. So können Anwendungssequenzen immer wieder mit den Daten simuliert werden, ohne auf das reale System zugreifen bzw. Situationen nachstellen zu müssen. Das ist ebenso ein ideales Hilfsmittel zur Fehlerermitlung: Anwender können problematische Datensätze speichern, um sie Bildverarbeitungsspezialisten zur Verfügung zu stellen. Fehlerfälle werden dadurch auf einfache Weise reproduzierbar.

Mit "virtuellen Kameras" lassen sich Simulationen in einer Offline-Umgebung durchführen, um z.B. Datenqualität, Vollständigkeit, Auflösung und Rauschen einer Szene mit verschiedenen Kameramodellen zu bewerten. Dazu können Objekte im STL- oder PLY-Format (gebräuchliche Dateiformate zur Speicherung dreidimensionaler Daten) importiert, gerendert und beliebig positioniert werden. So können z.B. Leistungsbewertungen über verschiedene Varianten eines Prüfprozesses durchgeführt werden, ohne ein reales System aufbauen zu müssen. Ein Szeneneditor als Alternative zur manuellen Modellerstellung ist ebenfalls bereits integriert. Bin Picking Anwendungen mit unterschiedlichen Teilen und deren Orientierung in Boxen lassen sich damit spielen leicht simulieren. Mit einer Zufallsfunktion stehen unbegrenzt viele Varianten für Tests zur Verfügung, so wie es in der Realität bei unsortierter Teilezufuhr der Fall ist. Jedes Ensenso Modell kann als "virtuelle Kamera" angelegt werden. So kann jedes in Frage kommende Modell über den Online-Kamera-Selektor ausgewählt und vor Aufbau des System simuliert werden. Mit diesen beiden Werkzeugen sind Voruntersuchungen und Optimierungen auch für 3D-Anwendungen einfach realisierbar.

Virtuelle Szene im Demoprogramm NxView
Virtuelle Szene im Demoprogramm NxView

Fazit

Mit der "Optimierung" von 3D-Anwendungen steigt unweigerlich die Komplexität im Umgang mit Kamerahardware und deren Daten. IDS bietet mit dem Ensenso SDK 2.2 und den neuen 5 MP Kameramodellen einige Lösungen, die den Umgang mit 3D-Daten für Systemintegratoren und Entwickler vereinfachen. Mit weiter verbesserter Hardware und Software unterstützt IDS damit die Entwicklung leistungsfähigerer 3D-Anwendungen. Auch bei schwierig zu lösenden Aufgaben wie dem "Griff in die Kiste" lassen sich jetzt die Ansprüche an Qualität, Taktrate und Wirtschaftlichkeit und eine schnelle Verfügbarkeit von Robot Vision-Applikationen unter den sprichwörtlichen Hut bringen.