Es gibt mehrere Möglichkeiten, Tiefeninformationen mit 2D-Kamerasensoren oder anderen optischen Sensortechnologien zu berechnen. Nachfolgend finden Sie eine kurze Beschreibung der gängigsten Ansätze:
3D-Bildgebungstechnologie | Beschreibung |
Stereo-Bildverarbeitung |
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. Dies ist am ähnlichsten, wie unser Gehirn funktioniert, um Entfernungen visuell zu messen.
|
Lasertriangulation |
Eine Laserlinie wird auf ein Objekt projiziert und ein Höhenprofil wird erzeugt, indem das Bild mit der Kamera aufgenommen und die Verschiebung in der Laserlinie über eine einzelne Schicht des Objekts gemessen wird. Der Laser und die Kamera scannen durch mehrere Schichten der Objektoberfläche, um schließlich ein 3D-Bild zu erzeugen.
|
Projiziertes Licht |
Ein bekanntes Lichtmuster wird auf ein Objekt projiziert und Tiefeninformationen werden durch die Art und Weise berechnet, wie sich 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ärenztomographie (OCT) |
Eine hochauflösende Bildgebungstechnik, die nahes Infrarotlicht verwendet, um Tiefeninformationen zu berechnen, indem Lichtreflexionen durch den Querschnitt eines Objekts gemessen werden. Dies wird aufgrund der nicht-invasiven Fähigkeit, mehrere Schichten biologischen Gewebes zu durchdringen, am häufigsten in medizinischen Bildgebungsanwendungen verwendet.
|
Ab LabVIEW 2012 enthält das Vision Development Module nun binokulare Stereo-Bildverarbeitung-Algorithmen zur Berechnung von Tiefeninformationen von mehreren Kameras. Durch die Verwendung von Kalibrierungsinformationen zwischen zwei Kameras können die neuen Algorithmen Tiefenbilder erzeugen, die umfassendere Daten liefern, um Objekte zu identifizieren, Defekte zu erkennen und Roboterarme bei der Bewegung und Reaktion zu führen.
Ein binokulares Stereo-Bildverarbeitungsystem nutzt exakt zwei Kameras. Idealerweise sind die beiden Kameras durch einen geringen Abstand voneinander getrennt und nahezu parallel zueinander montiert. In dem in Abbildung 1 gezeigten Beispiel wird eine Schachtel mit kugelförmigen Pralinen verwendet, um die Vorteile der 3D-Bildgebung für die automatisierte Inspektion zu demonstrieren. Nachdem die beiden Kameras kalibriert wurden, um die räumliche 3D-Beziehung, wie Trennung und Neigung, zu kennen, werden zwei verschiedene Bilder aufgenommen, um potenzielle Defekte in der Schokolade zu lokalisieren. Mit den neuen 3D-Stereo-Bildverarbeitungs-Algorithmen im Vision Development Module können die beiden Bilder kombiniert werden, um Tiefeninformationen zu berechnen und ein Tiefenbild zu visualisieren.
Abbildung 1: Beispiel für ein Tiefenbild, das aus linken und rechten Bildern mit Stereobildverarbeitung generiert wurde
Während es in den 2-dimensionalen Bildern weniger offensichtlich ist, zeigt das 3D-Tiefenbild, dass zwei der Pralinen nicht kugelförmig genug sind, um die hohen Qualitätsstandards zu erfüllen. Das Bild in Abbildung 2 zeigt einen weißen Kasten um die identifizierten Defekte.
Abbildung 2: 3D-Tiefenbild mit weißen Kästchen um die defekten 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 AQSense 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.
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 den Abstand „b“ getrennt sind, sehen beide Kameras denselben realen Punkt P an einer anderen Stelle auf den erfassten zweidimensionalen Bildern. Die X-Koordinaten der Punkte u L und u R sind gegeben durch:
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 einer Stereobildverarbeitungssystems wesentlich komplexer und würde eher wie ein in Abbildung 4 dargestelltes typisches System aussehen. Die grundlegenden Prinzipien treffen jedoch auch hier zu.
Abbildung 4: Typisches Stereobildverarbeitungs-System
Die idealen Annahmen des vereinfachten Stereobildverarbeitungssystems können nicht für reale Stereobildverarbeitungsanwendungen getroffen werden. Selbst die besten Kameras und Objektive führen zu einer gewissen Verzerrung des aufgenommenen Bildes, und um dies zu kompensieren, erfordert ein typisches Stereobildverarbeitungs-System auch eine Kalibrierung. Der Kalibrierungsprozess beinhaltet die Verwendung eines Kalibrierungsgitters, das unter verschiedenen Winkeln aufgenommen wurde, um die Bildverzerrung sowie die genaue räumliche Beziehung zwischen den beiden Kameras zu berechnen. Abbildung 5 zeigt das im Vision Development Module enthaltene Kalibrierungsraster.
Abbildung 5: Ein Kalibrierungsraster ist als PDF-Datei mit dem Vision Development Module enthalten
Das Vision Development Module enthält Funktionen und LabVIEW-Beispiele, die Sie durch den Stereo-Vision-Kalibrierungsprozess führen, um mehrere Kalibrierungsmatrizen zu generieren, die in weiteren Berechnungen zur Berechnung von Disparitäts- und Tiefeninformationen verwendet werden. Anschließend können Sie 3D-Bilder visualisieren, wie zuvor in Abbildung 1 gezeigt, sowie verschiedene Arten von Analysen zur Fehlererkennung, Objektverfolgung und Bewegungssteuerung durchführen.
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 die Lenkung, Industrierobotik sowie automatisierte Prüf- und Überwachungsanwendungen.
Navigation
|
Autonome Fahrzeuge verwenden Tiefeninformationen, um die Größe und Entfernung von Hindernissen für eine genaue Wegplanung und Hindernisvermeidung zu messen. Stereobildverarbeitungs-Systeme können eine Vielzahl von 3D-Informationen für Navigationsanwendungen bereitstellen und auch bei wechselnden Lichtverhältnissen eine gute Leistung erbringen.
|
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. Ein Stereo-Bildverarbeitungs-System kann eine kostengünstige Möglichkeit bieten, 3D-Informationen zu erhalten und zu bestimmen, welche Teile frei erfasst werden können. Es kann auch präzise Positionen für einzelne Produkte in einer Kiste bereitstellen und Anwendungen ermöglichen, bei denen ein Roboterarm Objekte von einer Palette entnimmt und auf eine andere Palette oder einen anderen Prozess bewegt.
|
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.
|
Die Stereo-Bildverarbeitungs-Funktionen des LabVIEW Vision Development Module bieten Ingenieuren in einer Vielzahl von Branchen und Anwendungsbereichen neue 3D-Vision-Funktionen. Durch die Offenheit von LabVIEW können Ingenieure auch 3D-Bildverarbeitungstools von Drittanbietern für zusätzliche erweiterte Funktionen nutzen, darunter die SICK 3D Ranger Camera für die Lasertriangulationsbildgebung und die AQSense 3D Shape Analysis Library für die 3D-Bildverarbeitung. Das LabVIEW Vision Development Module stellt Anwendern die 3D-Bildverarbeitung innerhalb einer grafischen Entwicklungsumgebung zur Verfügung.
Nächste Schritte:
Referenzmaterial: