3D-Bildgebung mit NI LabVIEW

Überblick

Technologien zur dreidimensionalen Bildgebung haben einen weiten Weg von ihren Ursprüngen in akademischen Forschungslaboren zurückgelegt. Dank der Innovationen bei Sensoren, Beleuchtung und vor allem Embedded-Datenverarbeitung wird die dreidimensionale Bildverarbeitung nun in vielen Anwendungen im Bereich der Maschinenautomatisierung eingesetzt. Von bildverarbeitungsgestützten Robotern, die Güter direkt aus Transportbehältnissen entnehmen, bis hin zu hochpräziser Messtechnik kann die derzeitige Prozessorgeneration die gewaltigen Datensätze und komplexen Algorithmen verarbeiten, die für das Extrahieren von Tiefeninformationen und zur schnellen Entscheidungsfindung erforderlich sind. Das NI Vision Development Module macht die 3D-Bildverarbeitung möglich, da Hard- und Softwarewerkzeuge für 3D-Anwendungen in einer grafischen Entwicklungsumgebung nahtlos integriert sind.

Inhalt

Einführung in 3D-Bildgebung

Es gibt verschiedene Möglichkeiten, um die Tiefeninformationen mithilfe von zweidimensionalen Kamerasensoren oder anderen optischen Sensortechnologien zu berechnen. In der nachfolgenden Tabelle werden die gängigsten Ansätze beschrieben:

3D-Bildgebungstechnologie Beschreibung

 

Stereobildverarbeitung

 

Zwei Kameras werden eingesetzt, die mit unterschiedlichen Perspektiven auf ein Objekt hin befestigt sind. Mithilfe von Kalibrierungstechniken werden Pixelinformationen zwischen den Kameras angeglichen und Tiefeninformationen extrahiert. Ähnlich funktioniert das menschliche Gehirn bei der visuellen Messung von Entfernungen.

 

 

Laserscanning

 

Ein Laserstrahl wird auf ein Objekt projiziert und ein Höhenprofil erstellt, indem das Bild mithilfe der Kamera erfasst sowie die Verschiebung des Laserstrahls auf einem Abschnitt des Objekts gemessen wird. Laser und Kamera scannen mehrere Abschnitte der Objektoberfläche, um schließlich ein dreidimensionales Bild zu erzeugen.

 

 

Projiziertes Licht

 

Ein bekanntes Lichtmuster wird auf ein Objekt projiziert und Tiefeninformationen werden durch die Art und Weise berechnet, wie das Muster um das Objekt herum verzerrt wird.

 

 

Zeit der Flugsensoren

 

Eine Lichtquelle wird mit einem Bildsensor synchronisiert, um die Entfernung zwischen dem Lichtimpuls und dem zum Sensor reflektierten Licht auf Grundlage der Zeit zu berechnen.

 

 

LIDAR

 

Mithilfe von Lasern wird ein Bereich überwacht, indem Lichtreflexionen gemessen werden und ein dreidimensionales Profil erstellt wird, um die Oberflächenmerkmale abzubilden und Objekte zu identifizieren.

 

 

Optische Kohärenztomografie

 

Die optische Kohärenztomografie (Optical Coherence Tomography, OCT) ist ein hochauflösendes Bildgebungsverfahren, bei dem Lichtreflexionen über den Querschnitt eines Objekts gemessen werden. Da bei diesem Verfahren mehrere Schichten biologischen Gewebes nicht invasiv durchdrungen werden, wird es sehr häufig bei medizinischen Bildgebungsanwendungen eingesetzt.

 

 

 

Funktionen zur Stereobildverarbeitung im NI Vision Development Module

 

Seit der Version NI LabVIEW 2012 umfasst das NI Vision Development Module binokulare Stereobildverarbeitungsalgorithmen, um die Tiefeninformationen von mehreren Kameras zu errechnen. Da Kalibrierinformationen zwischen zwei Kameras verwendet werden können, erzeugen die neuen Algorithmen Tiefenbilder und liefern detailliertere Bilddaten, um damit z. B. Objekte zu identifizieren, Fehler aufzudecken und die Bewegungen und Reaktionen von Roboterarmen zu lenken.

Ein binokulares Stereobildverarbeitungssystem nutzt zwei Kameras, die idealerweise durch eine kurze Entfernung getrennt sind und beinahe parallel zueinander montiert werden. Im folgenden Beispiel (vgl. Abbildung 1) werden mithilfe von kugelförmigen Pralinen die Vorteile der dreidimensionalen Bildgebung für die automatisierte Prüfung veranschaulicht. Nach der Kalibrierung der beiden Kameras auf die dreidimensionalen Raumverhältnisse wie Abstand und Neigung werden zwei unterschiedliche Bilder erfasst, um potenzielle Fehler an den Pralinen zu bestimmen. Mithilfe der neuen 3D-Stereobildverarbeitungsalgorithmen des Vision Development Module können die beiden Bilder kombiniert werden, um Tiefeninformationen zu errechnen und als Tiefenbild darzustellen.

 

3D Stereo Vision Front Panel.PNG

Abbildung 1: Beispiel für ein Tiefenbild, das aus dem linken und rechten Bild mithilfe von Stereobildverarbeitung erstellt wurde

 

 

 

Im Vergleich zu den zweidimensionalen Bildern wird aus dem 3D-Tiefenbild deutlich, dass die Kugelform von zwei Pralinen nicht ausreicht, um die Qualitätsanforderungen zu erfüllen. In Abbildung 2 sind die fehlerhaften Pralinen mit einem weißen Kästchen gekennzeichnet.

 

Abbildung 2: 3D-Tiefenbild mit weißen Kästchen um die fehlerhaften Pralinen

 

Bei der Stereobildverarbeitung ist zu beachten, dass die Berechnung der Disparität darauf basiert, ein Merkmal einer Zeile des linken Bildes und derselben Zeile des rechten Bildes festzulegen. Um die Merkmale zu bestimmen und zu unterscheiden, müssen die Bilder über ausreichend Textur verfügen. Für bessere Ergebnisse ist die Textur gegebenenfalls z. B. durch Beleuchtung hervorzuheben.

 

Binokulare Stereobildverarbeitung kann für die Berechnung der 3D-Koordinaten (X, Y, Z) von Punkten auf der Oberfläche eines zu prüfenden Objekts verwendet werden. Diese Punkte werden häufig als Punktmenge oder Punktschar bezeichnet. Punktmengen sind sehr hilfreich bei der Darstellung der dreidimensionalen Form von Objekten und können auch von anderer 3D-Analysesoftware genutzt werden. Die 3D Shape Analysis Library (SAL3D) von AQSense beispielsweise nutzt eine Punktmenge für die weitere Bildverarbeitung sowie -darstellung und ist nun im LabVIEW Tools Network verfügbar.

 

Funktionsweise der Stereobildverarbeitung

Zum besseren Verständnis der binokularen Stereobildverarbeitung zeigt Abbildung 3 das Diagramm eines vereinfachten Stereobildverarbeitungsaufbaus. Dabei sind beide Kameras völlig parallel zueinander befestigt und verfügen über die exakt gleiche Brennweite.

Abbildung 3: Vereinfachtes Stereobildverarbeitungssystem

Die Variablen in Abbildung 3:

b ist die Grundlinie bzw. Entfernung zwischen den beiden Kameras.

f steht für die Brennweite einer Kamera.

XA stellt die X-Achse einer Kamera dar.

ZA stellt die X-Achse einer Kamera dar.

P ist ein realer Punkt, der von den Koordinaten X, Y und Z festgelegt wird.

uL stellt die Projektion des realen Punkts P in einem Bild dar, das von der linken Kamera erfasst wurde.

uR stellt die Projektion des realen Punkts P in einem Bild dar, das von der linken Kamera erfasst wurde.

 

Da die beiden Kameras durch die Entfernung „b“ voneinander getrennt sind, sehen sie den gleichen realen Punkt P an einer anderen Stelle auf dem erfassten zweidimensionalen Bild. Die X-Koordinaten der Punkte uL und uR werden folgendermaßen ermittelt:

uL = f * X/Z

und

uR = f * (X-b)/Z

 

Die Entfernung zwischen den beiden projizierten Punkten wird als Disparität bezeichnet. Dieser Wert kann für die Berechnung der Tiefeninformationen verwendet werden, also der Entfernung zwischen dem realen Punkt P und dem Stereobildverarbeitungssystem.

Disparität = uL – uR = f * b/z

Tiefe = f * b/Disparität

 

In der Realität ist der Aufbau eines Stereobildverarbeitungssystems wesentlich komplexer und würde in der Regel wie ein in Abbildung 4 dargestelltes typisches System aussehen. Die grundlegenden Prinzipien treffen jedoch auch hier zu.

 

Abbildung 4: Typisches Stereobildverarbeitungssystem

 

Die idealen Annahmen des vereinfachten Stereobildverarbeitungssystems gelten nicht für reale Stereobildverarbeitungsanwendungen. Sogar die besten Kameras und Linsen führen zu geringfügiger Verzerrung an dem erfassten Bild. Um diese auszugleichen, muss auch ein typisches Stereobildverarbeitungssystem kalibriert werden. Der Kalibrierprozess umfasst den Einsatz eines Kalibriergitters, das aus verschiedenen Winkeln erfasst wurde, um die Bildverzerrung wie auch das genaue räumliche Verhältnis der beiden Kameras zu errechnen. Abbildung 5 zeigt das im Vision Development Module enthaltene Kalibriergitter.

Abbildung 5: Ein Kalibriergitter ist in Form einer PDF-Datei im Vision Development Module enthalten.

 

 

Das Vision Development Module bietet Funktionen und LabVIEW-Beispiele, die den Anwender durch den Kalibrierprozess bei der Stereobildverarbeitung führen. So lassen sich einige Kalibriermatrizen erstellen, die in weiteren Berechnungen für das Errechnen von Disparität und Tiefeninformationen verwendet werden. Dreidimensionale Bilder können dann, wie in Abbildung 1 zu sehen, dargestellt und verschiedene Arten von Analysen zur Fehlererkennung, Objektverfolgung und Motorsteuerung durchgeführt werden.

 

Stereobildverarbeitungsanwendungen

Stereobildverarbeitungssysteme unterliegen keinen großen Störungen und sind optimal geeignet für Anwendungen, in denen die Kameraeinstellungen und -positionen vorgeschrieben sind. Gängige Anwendungsbereiche umfassen Navigation, Industrierobotik sowie automatisierte Prüf- und Überwachungsanwendungen.

 

Navigation

 

 

 

Autonome Fahrzeuge nutzen Tiefeninformationen, um die Größe und Entfernung von Hindernissen zu messen und so eine präzise Pfadplanung sowie Hinderniserkennung durchzuführen. Stereobildverarbeitungssysteme können umfassende dreidimensionale Informationen für Anwendungen im Bereich Navigation liefern und auch unter schwankenden Lichtverhältnissen gute Ergebnisse erzielen.

 

 

 

Industrierobotik

 

 

 

Ein Stereobildverarbeitungssystem ist hilfreich bei Aufgaben der industriellen Automatisierung von Robotiksystemen, z. B. der Entnahme von Gütern direkt aus Transportbehältnissen („Bin Picking“). Dabei ist ein Roboterarm erforderlich, der ein spezifisches Objekt aus einem Behälter mit unsortierten Gütern zieht. Um dreidimensionale Informationen zu erlangen und zu bestimmen, welche Teile ergriffen werden können, lässt sich ein Stereobildverarbeitungssystem als kostengünstige Möglichkeit nutzen. Außerdem kann das System beispielsweise präzise Plätze für individuelle Produkte in einer Transportkiste bestimmen und Anwendungen ermöglichen, in denen ein Roboterarm Objekte von einer Palette nimmt und auf eine andere umlagert.

 

 

 

Automatisierte Prüfung

 

3D-Informationen sind auch äußerst nützlich, um eine hohe Qualität bei automatisierten Prüfanwendungen sicherzustellen. Mithilfe der Stereobildverarbeitung lassen sich Fehler erkennen, die mit zweidimensionalen Bildern nur sehr schwer auszumachen wären. Beispielanwendungen, bei denen die Tiefeninformationen einen maßgeblichen Einfluss auf die Qualitätssicherung haben, sind etwa: Prüfung auf Vorhandensein von Tabletten in einer Blisterpackung, Prüfung der Form von Flaschen oder die Suche nach verbogenen Pins auf einer Steckverbindung.

 

 

 

Überwachung

 

 

 

Stereobildverarbeitungssysteme eignen sich auch für Anwendungen zur Objektverfolgung, da sie sich auch bei stark schwankenden Lichtverhältnissen als robust erweisen. Ein Stereobildverarbeitungssystem kann 3D-Informationen für zu verfolgende Objekte liefern, mit denen abnormale Ereignisse erkannt werden können, z. B. Personen, die ein Grundstück widerrechtlich betreten oder Gepäck, das unbeaufsichtigt stehen gelassen wurde. Außerdem sind Stereobildverarbeitungssysteme in der Lage, die Genauigkeit von Identifikationssystemen wie Gesichtserkennung oder anderen biometrischen Merkmalen zu optimieren.

 

 

 

Zusammenfassung und nächste Schritte

Die neuen Stereobildverarbeitungsfunktionen des LabVIEW Vision Development Module stellen Anwendern neue Funktionalität für die 3D-Bildverarbeitung in vielen Branchen und Anwendungsbereichen zur Verfügung. Dank der offenen Softwareplattform LabVIEW können so auch entsprechende Hard- und Softwarewerkzeuge von Drittanbietern für erweiterte Funktionalität eingesetzt werden, darunter die Kameras Ranger der Firma SICK mit Laserscanning oder die 3D Shape Analysis Library von AQSense für 3D-Bildverarbeitung. Das LabVIEW Vision Development Module stellt Anwendern die 3D-Bildverarbeitung innerhalb einer grafischen Entwicklungsumgebung zur Verfügung.

 

Nächste Schritte:

NI-Software für die industrielle Bildverarbeitung herunterladen und evaluieren

Mehr zu den Neuerungen bei NI Vision

3D- und MultiScan-Daten von 3D-Kameras der Firma SICK erfassen 

Zertifizierte Zusatzpakete von Drittanbietern über das LabVIEW Tools Network nutzen

 

Produktdokumentation:

Vision Development Module Concepts Help