Asus Xtion Pro Tiefenkamera mit Matlab/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

→ zurück zum Hauptartikel: SigSys SoSe2018


Autoren: Maximilian Harrer
Betreuer: Prof. Schneider

Abbildung 1: Asus Xtion Pro Live

Einleitung

Im Rahmen der semesterbegleitenden Prüfung der Veranstaltung „Signalverarbeitende Systeme“ im Sommersemester 2018 des Masterstudiengangs „Business and Systems Engineering“ sind die Studierenden zur Bearbeitung eines Projekts angehalten. Dabei handelt es sich um die Auslesung eines Sensors mittels MATLAB/Simulink sowie der Beschreibung, Untersuchung und dem Verstehen der Signalverarbeitungskette.

Die Kamera

Abbildung 1: Xtion Pro Live mit OpenNI2 NIViewer

Der taiwanische Hersteller von Computer-Hardware Asus hat 2012 die Xtion Pro Live offiziell vorgestellt. Dabei handelt es sich um ein Eingabegerät für bewegungsgesteuerte Spiele, Natural User Interfaces, wie dem Nutzer eine direkte Interaktion mit der Bedienoberfläche durch Wischen, Tippen, Berühren, Gesten oder Sprache ermöglichen, und Computer Vision Research, der computergestützte Lösung von Aufgabenstellungen, die sich an den Fähigkeiten des menschlichen visuellen Systems orientieren.[1]. Die Kamera verwendet eine SD-Speicherkarte, auf der das Linux basierte Betriebssystem Dabian installiert ist. Dies ermöglicht eine einfache Konfiguration der Asus Xtion Pro Live mittels OpenNi Library und PrimeSense Sensor Treiber. Im ersten Schritt wird durch Hintergrundsubtraktion, einer der am häufigsten verwendeten Algorithmen zur Erkennung sich bewegender Objekte innerhalb einer Sequenz von Bildern das Video analyisiert. Dieser Ansatz ist zuverlässig, da die Tiefeninformationen eines jeden Pixels beibehalten wird und so die Entfernung jedes Blobs erfassen kann[2]. Als Blob (Binary large obeject) wird eine eine Gruppe von benachbarten und zusammenhängenden Pixeln mit vergleichbaren Helligkeits- oder Farbwertes und geschlossenen Konturen bezeichnet [3]. Um eine falsche Erkennung von Objekten zu vermeiden (falsche Positivität), wird das Hintergrundbild dynamisch aktualisiert. Nach der Hintergrundsubtraktion wird ein Schwellenwert definiert, der es ermöglicht, positive Signale, die sich bewegende Objekte anzeigen, durch falsche Positivitäten aufgrund von Hintergrundrauschen zu unterscheiden. Ein wichtiger Schritt besteht in der Objekterkennung, dabei werden für jeden Blob die Grenz- und Extrempunkte ermittelt, welche dem Kopf der Person entsprechen. Wenn sich diese Punkte in einer Region befinden, welche vergleichbar mit der Kopf-/Schulterhöhe eines Menschen ist, handelt es sich um einen gültigen Blob. Die letzte Phase ist die Objektverfolgung, wobei jeder Blob entlang der Frames erkannt und verfolgt wird. Zudem wird für jede Person die Höhe bestimmt, um zu bestätigen, dass es sich um die Person des vorherigen Bildes handelt. Der letzte Schritt des Algorithmus liefert die Interaktionen für die Suche [4].

Tabelle 1: Technische Daten der Asus Xtion Pro Live [5]

Sensoren RGB-Sensor, Tiefensensor, Mikrofon (2x)
Auflösung Tiefenkamera VGA (640x480), QVGA (320x240)
Bildrate Tiefenkamera VGA 30 fps, QVGA 60 fps
Auflösung SXGA (1280x1024)
Sichtfeld horizontal 58°
Sichtfeld vertikal 45°
Sichtfeld diagonal 70°
Distanz des Tiefensensors 0.8m bis 3.5m
Stromverbrauch 2.5W
Schnittstelle USB2.0/3.0
Plattform Intel X86, AMD
Betriebssysteme Windows, Linux, Android
Software OpenNI
Programmiersprache C++/C (Windows), C++(Linux), JAVA
Nutzungsfeld Innen
Abmessungen 18x3.5x5cm

Der Primärsensor

Funktionsweise

Rohsignale

Signalvorverarbeitung

Sollen Messwerte oder vorverarbeitete Daten übertragen werden? Wie lässt sich eine Vorverarbeitung umsetzen? Wird eine Kennlinie eingesetzt? Wenn ja, wie wird diese kalibriert?

Analog-Digital-Umsetzer

Wie werden die analogen Signale umgesetzt? Welcher ADU kommt zum Einsatz? Welche Gründe sprechen für diesen ADU? Alternativen?

Bussystem

Wird ein Bussystem zwischen Sensor und Mikrocontroller eingesetzt? Wenn ja, wie funktioniert dieses Bussystem?

Digitale Signalverarbeitung

Welche Verarbeitungsschritte sind notwendig? Welche Filter werden angewendet? Bestimmen Sie Auflösung, Empfindlichkeit und Messunsicherheit des Sensors.

Darstellung der Ergebnisse

Welche Fehler treten in welchem Verarbeitungsschritt auf? Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall dar.

Literaturverzeichnis

  1. JOSEPH HOWSE, STEVEN PUTTEMANS, QUAN HUA, UTKARSH SINHA: "OpenCV 3 Blueprints", Birgmingham 2013
  2. COSIMO DISTANTE, SEBASTIANO BATTIATO, ANDREA CAVALLARO: "Video Analytics for Audience Measurement", Stockholm 2014
  3. https://www.invision-news.de/allgemein/blobanalyse/, letzte Informationsabfrage am 16.06.2018
  4. COSIMO DISTANTE, SEBASTIANO BATTIATO, ANDREA CAVALLARO: "Video Analytics for Audience Measurement", Stockholm 2014
  5. https://www.asus.com/de/3D-Sensor/Xtion_PRO_LIVE/specifications/, letzte Informationsabfrage am 16.06.2018

→ zurück zum Hauptartikel: SigSys SoSe2018