PMD-Kamera

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche


--------------------------Platzhalter PMD Kamera--------------------------------
Eine neue Generation von Kameras erlaubt die direkte Aufnahme von Tiefen- bzw. Entfernungsinformation. Die kompakte 3D-Kamera von PMD (Photonic Mixer Device) "pmd [vision] O3" ist an der Hochschule verfügbar. Die Kamera arbeitet nach dem TOF (time-of-flight) Prinzip und übergibt über eine Ethernet Schnittstelle ein 3D-Bild.

Funktionsweise

Ursprünglich wurde die Infrarotkamera von PMD für industrielle Zwecke entwickelt. Dabei waren Anwendungsbereiche in der Automobilindustrie und Fertigungstechnik angestrebt. Konkrete Beispiele sind Abstandsmessung und Personenerkennung beim Automobil, respektive Objekterkennung und –vermessung in der Fertigungstechnik. Die 3D Kamera hat einen Time-of-Flight Sensor, der durch Laufzeitmessungen die Tiefeninformation gewinnt. Die Kamera misst jedes Abstandspixel parallel, was zu einer schnellen Bildrate und einer relativ hohen Ortsauflösung führt.

Technik

Prinzip des Pulslaufzeitverfahrens

Die Kamera arbeitet im Infrarotbereich. Dafür sind rechts und links vom Gehäuse jeweils eine "Infrarotbatterie" angebracht, also viele kleine Infrarotdioden in einem Gehäuse. Das PMD-Verfahren beruht auf dem Prinzip der Lichtlaufzeitmessung (Time of Flight, TOF). In der einfachsten Form wird hierbei ein Lichtpuls von einer Lichtquelle abgestrahlt, dieser Puls vom Ziel reflektiert und von einem Empfänger detektiert (Pulslaufzeitverfahren). Aus der gemessenen Laufzeit kann unter Berücksichtigung der Ausbreitungsgeschwindigkeit die Zielentfernung berechnet werden. Nachteilig ist hierbei jedoch, dass die nötige Zeitmessung mit hoher Genauigkeit realisiert werden muss, um präzise Entfernungsmessungen zu realisieren. Für eine Entfernungsauflösung im mm-Bereich muss beispielsweise das System grundsätzlich in der Lage sein, Laufzeiten im Bereich von wenigen Pikosekunden aufzulösen. Die Realisierung solcher Systeme mit diskreten Komponenten ist daher sehr aufwändig, da alle signalverarbeitenden Komponenten eine hohe Bandbreite haben müssen. Das wirkt sich wiederum bei den Systemkosten nachteilig aus. Aufgrund des hohen Aufwands sind solche Systeme in der Regel stark in der Anzahl der Messpunkte limitiert, was für hochauflösende 3D-Messungen den Einsatz von sequentiell scannenden Verfahren mit immensem mechanischem Aufwand erfordert. Anders als bei den klassischen Pulslaufzeitverfahren ist der Vorteil eines PMDs hingegen die Gewinnung der Entfernungsinformation innerhalb eines einzigen Bauteils. Möglich wird dies durch Kombination eines optischen Empfängers mit der Funktionalität eines Mischers ohne die Notwendigkeit weiterer hochfrequenter Signalverarbeitungskomponenten. Mit dem PMD Prinzip ist es daher möglich, eine Vielzahl paralleler Entfernungsmesseinheiten auf einem Halbleiterbauelement zu realisieren. Hierdurch können bildgebende Sensorarrays realisiert werden, die am Ausgang neben der Helligkeitsinformation eine weitere Dimension - die pixelindividuelle - Zielentfernung direkt zur Verfügung stellen. Eine aktive Lichtquelle beleuchtet die Szene mit einem modulierten Lichtsignal bekannter Frequenz und Phasenlage. Dieses Lichtsignal wird von der Szene reflektiert und von der PMD-Kamera erfasst. Die Phasenverschiebung des empfangenen Lichtsignals wird pixelindividuell im Empfangselement durch Korrelation mit dem abgestrahlten Referenzsignal bestimmt. Der nötige Empfangs- und Mischvorgang geschieht hierbei im PMD-Element, wodurch sämtliche hochfrequenten Signalverarbeitungsschritte im Empfängerelement durchgeführt werden. Der Ausgang des PMDs liefert demnach direkt einen Spannungswert, der von der Phasenlage des empfangenen Signals, letztlich also der Entfernung zum Ziel, abhängt. Durch die Vereinigung eines optoelektrischen Mischers mit einem Integrator erfüllt jedes einzelne PMD-Element die Funktion eines hochintegrierbaren optoelektrischen Korrelators. Der Sensor, ist ein 3200 Pixel Array. Die Kamera hat eine Auflösung von 64 mal 50 Pixel in vertikaler und horizontaler Richtung.

Statusanzeige

Kamera Statusanzeige

Auf dem Kopf der Kamera ist ein Display und LEDs angebracht, die Auskunft über den Status der Kamera geben. Über den exakten Gebrauch erfährt man mehr in der Bedienungsanleitung der Kamera:

  • 1.) Status LEDs
  • 2.) Display für Menü und Parameter
  • 3.) Taster für manuelle Eingaben

PMD Software

CamVis ist eine Software der Firma PMD, die die Handhabung der Kamera vereinfacht. Die Daten der Kamera werden visuell aufbereitet, so dass der Benutzer das 3D-Bild der Kamera sehen und bearbeiten kann. Es gibt verschiedene Arten der Anzeige und einige vorgefertigte Funktionen um das Bild der Kamera zu manipulieren. Siehe hierzu Kapitel „CamVis Pro“.

Geschichte

Die PMD Kamera entstand aus einer über 10-jährigen Forschungszusammenarbeit zwischen dem Forschungs- und Entwicklungszentrum CSEM (Centre Suisse d’Electronique et de Microtechnique) und dem Optosensorikhersteller CEDES. Die Schweizer Eidgenossenschaft gab den Forschungsauftrag an diese Institute, mit der Aufgabe ein künstliches Auge für Medizinische Zwecke zu schaffen. 2003 erhielten beide Beteiligten Unternehmen den ITC-Prize, welcher als der bedeutendste Preis für bahnbrechende Errungenschaften in der Informationstechnologie gilt.

Anwendungen

TOF Kameras finden in den verschiedensten Branchen Anwendungen, von der Automobielindustrie über Messtechnik bis zur Medizintechnik.

  • Automotive Anwendungen:

Time-of-Flight Kameras werden als Fahrerassistenz- und Sicherheitssensoren im Automobilbereich eingesetzt. Dazu zählen Applikationen wie der aktive Fußgängerschutz, Precrash Detektion aber auch Innenraumapplikationen wie die Out-of-Position-Detektion Mensch-Maschinen-Schnittstellen / Gaming: Durch die Echtzeitfähigkeit der TOF-Kameras können die Bewegungen eines Menschen verfolgt werden. Daher eröffnen sich neue Interaktionsmöglichkeiten mit den Geräten. Neben der Steuerung von z. B. Fernsehern ist die Anwendung der TOF-Kameras an Spielkonsolen ein interessantes Thema.


  • Messtechnik / Industrielle Bildverarbeitung:

Durch die dritte Dimension lassen sich Messaufgaben wie die Bestimmung von Füllhöhen in Silos einfach bewerkstelligen. In der industriellen Bildverarbeitung profitieren zum Beispiel Roboter, die Gegenstände von einem Förderband aufnehmen müssen, von der zusätzlichen Höhenangabe. Türsteuerungen können mit Hilfe der Höhe einfach zwischen Tieren und Menschen unterscheiden.

  • Robotik:

Ein weiteres Einsatzgebiet sind mobile Roboter: Mit den Umgebungsbild in Echtzeit können fahrbare Roboter ihre Umgebung schnell überblicken, Hindernissen ausweichen oder zum Beispiel einer Person folgen. Da die Berechnung der Distanz einfach ist, wird nur wenig Rechenleistung für die Erstellung der Umgebungskarte verbraucht.

  • Medizin:

TOF-Kameras können auch als zusätzliche bildgebende Modalität in der Medizintechnik eingesetzt werden.
Atemdetektion: Mit Hilfe von TOF-Kameras ist es möglich, ein multidimensionales Atemsignal zu berechnen. Es ist somit möglich, berührungslos und ohne Marker an mehreren Stellen (z. B. Thorax, Abdomen) unabhängige Atemsignale zu messen. Dies ist v. a. wichtig bei der Bestrahlung von Tumoren im Oberkörperbereich oder für die Reduktion von Artefakten, z. B. bei der Computer- (CT) oder Positronen-Emissions-Tomographie (PET).
Patientenpositionierung: TOF-Kameras ermöglichen auch die exakte Positionierung von Patienten im klinischen Umfeld. Hierfür werden die 3-D-Punktwolken eines Referenz TOF-Bildes mit einer weiteren Punktwolke registriert. Ergebnis dieser Registrierung ist die Translation und Rotation, die auf den Patienten angewendet werden muss, dass dieser exakt gleich liegt wie bei der Aufnahme des Referenzbildes. Anwendungen hierfür sind ebenfalls in der Bestrahlungstherapie zu finden. Hier wird an einer initialen CT-Messung die Bestrahlung geplant. Dieser Plan muss bei sämtlichen folgenden Bestrahlungssitzungen valide sein. Dies kann durch eine Registrierung von TOF-Bildern erfolgen.

CamVis Pro

Die von PMD entwickelte Software CamVis Pro bietet die Möglichkeit, Daten von 3D Kameras abzurufen, zu visualisieren und zu bearbeiten. Im folgenden Kapitel wird auf die wichtigsten Grundfunktionen eingegangen. Für eine detailierte Beschreibung aller Funktionen siehe “Instruction Manual Graphical User Interface For 3D Cameras”.

Programmstart

Quellenauswahl bei CamVis Programmstart

Um das Programm richtig verwenden zu können, muss die 3D Kamera mit dem beiliegenden Ethernet-Kabel mit dem PC verbunden sein. Außerdem müssen die IP Adressen des PCs und der Kamera im gleichen Subnetzwerk liegen. Standardmäßig hat die Kamera die IP-Adresse 192.168.0.69; der PC könnte dann beispielsweise die IP-Adresse 192.168.0.5 (bei einer Subnetzmaske von 255.255.255.0) haben. Die IP-Einstellungen der Kamera werden mittels der in Kapitel 2.1.2 beschriebenen Taster geändert.

Nach Programmstart wird die IP-Adresse der Kamera ins dafür vorgesehene Feld eingegeben: Nach Bestätigung mit „OK“ wird eine Verbindung mit der Kamera hergestellt. Danach wird im Hauptfenster die Entfernung des Kamerabildes farbcodiert angezeigt. Anstatt die Kamera zu verbinden, kann man auch eine abgespeicherte Sequenz hoch laden, File auswählen und unter „Browse“ den Dateinamen angeben. Eine weitere Möglichkeit ist eine vorgefertigte Dummy Funktion zu verwenden (Generate Dummy Data), diese Funktion kann man nutzen, um sich mit dem Programm vertraut zu machen ohne das die Kamera angeschlossen ist. Sie erzeugt einen dreidimensionalen Sinus, mit dem man im Programm alle Funktionen testen kann.

Hauptfenster

Hauptfenster CamVis

Da das Bild bei der verwendeten Kamera quer liegt, wird es mit dem Menüpunkt „Processing  Rotate CW“ gedreht. Das Hauptfenster könnte dann beispielhaft folgendermaßen aussehen:
Die wichtigsten Buttons auf der Schaltfläche sind mit den Nummern 1-5 markiert:

  • 1.) Darstellung der Entfernung mittels farbcodierung (rot: geringe Entfernung)
  • 2.) Darstellung der vom Objekt reflektierten Signalstärke mittels graucodierung (weiß: hohe Signalstärke)
  • 3.) Bereich neu skalieren; es wird die verfügbare Farbcodierung auf den aktuell im Bild sichtbaren Entfernungsbereich (bzw. Signalstärkebereich) angewendet
  • 4.) Das Bild wird von vorne gezeigt
  • 5.) Das Bild wird so dargestellt, dass alle Pixel sichtbar sind

Die Buttons 4.) und 5.) sind besonders dann wichtig, wenn das Bild so verschoben oder gedreht wurde, dass die Ausgangsposition schwer wiederherzustellen ist.

Die Steuerleiste besteht aus 5 Hauptunterordnern:

  • File: Schließen des Programmes und auswählen der Quellen (Kamera, Dummy, gespeicherte Aufnahmen)
  • View: Erweiterte Funktionen für verschiedene Darstellungen
  • Tools: Verschiedene einfache Beispielfunktionen zur Anschauung, was mit der Kamera realisiert werden kann
  • Processing: Funktionen um das Bild zu bearbeitet (filtern, etc.)
  • Help: Hilfestellungen zum arbeiten mit CamVis (Manual, Internet)



örtliche Filterfunktion

Zum Verschieben des Bildes wird die linke Maustaste verwendet. Dazu wird ins Bild geklickt und die Maustaste gehalten, das Bild verschoben und die Maustaste wieder losgelassen. Beim Drehen des Bildes ist genauso zu verfahren, nur dass die linke Maustaste verwendet wird. Zoomen ist mit dem Scroll-Rad möglich.

Das Programm unterstützt die örtliche Filterung des Kamerabildes mit vorgegebenen oder selbst definierten Filtern. Dazu ist der Menüpunkt „Processing -> Enhance -> Filter…“ zu wählen. Am linken Rand erscheint die Eingabemöglichkeit für verschiedene Filter, voreingestellt können z.B. Gauss- oder Sobelfilter aus dem Drop-Down-Menü gewählt werden. Um die Filterung zu aktivieren, wird ein Haken bei „Active“ gesetzt.

Außerdem ist eine zeitliche Mittelung aufeinanderfolgender Kamerabilder möglich. Unter „Processing -> Enhance -> Averagings…“ wird das Eingabefeld für die zeitliche Mittelung aufgerufen. Hier wird die Anzahl der Mittelungen eingegeben. Die Aktivierung erfolgt, wie bei der Filterung auch, über setzen eines Hakens bei „Active“. Diese Funktion schärft Bildbereiche die sich nicht bewegen, oder nur langsam.

weitere Funktionen

Das Programm erlaubt es, zu detektieren, ob sich ein Objekt in einem aktiven Volumen befindet. Um das Eingabefeld hierfür aufzurufen wählt man „Tools -> Volumetric Detection…“. Das aktive Volumen wird hier in x- und y-Richtung mittels der Pixelanzahl definiert; der aktive z-Bereich wird in Millimeter unter „Depth Range“ angegeben. In den beiden unteren Felden können die Pfade von Programmen oder Skriptdateien (z.B. vbs- oder bat-Dateien) angegeben werden. Diese werden ausgeführt, wenn ein Objekt ins aktive Volumen eintritt bzw. dieses verlässt.

Wie eingangs erwähnt besitzt das Programm noch mehr Funktionen, als die hier beschriebenen.

Integrationszeit

Bild mit Fehlerpixel + Orginalbild

Bei der Kamera kann die Integrationszeit eingestellt werden (siehe Abbildung 9: Hauptfenster CamVis unter Kap. 3.2). Die Integrationszeit ist zwischen 200 μs und 2000 μs nahezu frei zu wählen. Diese Zeit entspricht der Dauer der Messung. Ist Sie gering, wird nur wenig vom Objekt reflektiertes Licht zur Messung verwendet. Die Folge ist, dass der Einsatz nur bei nahen Objekten, welche viel Licht reflektieren, sinnvoll ist. Ist die Integrationszeit hoch, werden entfernte Objekte gut dargestellt, da die Messzeit dann länger ist und die schwächere Reflektion vom entfernten Objekt länger aufintegriert wird.

Wenn ein hoher Dynamikbereich in der Entfernung vorliegt, d.h. wenn sehr nahe und entfernte Objekte gleichzeitig auftreten können allerdings „Fehlpixel“ auftreten, welche eine Weiterverarbeitung der Daten sehr schwierig machen. Hier ein Beispiel anhand einer Hand etwa 30 cm vor der Kamera und einem Hintergrund in etwa 3 m Entfernung.

Wie man erkennen kann, entstehen im linken Bild Fehlerpixel, die mit einem sehr geringen Abstand (rot) im Bild dargestellt werden. Um diese Fehler zu kompensieren kann beispielsweise der Abstand zum Hintergrund verringert werden (Abstand ca. 1 Meter). Dadurch entsteht ein geringer Dynamikbereich in der Entfernung und die Rauschpixel treten vermindert auf. Eine weitere Möglichkeit, die Fehler zu unterdrücken, ist in der Funktion „aktiver Bereich“ (siehe Kap. 4.3.1) realisiert. In dieser Funktion werden die sehr nahen Fehlerpixel abgeschnitten. PMD sind die Fehlerpixel ebenfalls bekannt, es gibt bereits Anzeichen das PMD dies mit einer Funktion „DoubleSamping“ genannt lösen will. Die Funktion nimmt zwei Bilder auf, einmal das Bild mit einer hohen Integrationszeit und ein zweites mit einer niedrigen Integrationszeit. Diese beiden Bilder werden dann zu einem Bild zusammengefügt damit die Fehlerpixel nicht mehr auftreten.

Weblinks