1.30.1.3.1.4. KogniMirror-Computervision

Kontakt:

Andre Ückermann <aueckerm@techfak.uni-bielefeld.de>

CITK:

kognimirror-icl

Vorbedingung:

Der Bildserver benötigt die Image Component Library (ICL), welche auch durch das CITEC Toolkit installiert werden kann mit Hilfe des Rezeptes`icl-kognihome https://opensource.cit-ec.de/projects/citk/repository/revisions/master/entry/projects/icl-kognihome.project`_. Aus der ICL kommt für tp2/mirror außerdem das Programm icl-pipe zum Einsatz welches das Bild Kamerabild der DC-Kamera in ein shared memory-Segment schreibt:

$ icl-pipe -i dc800 0@format=1280x960-RGB8~15Hz -o sm dcam
Quickstart:

Diese Komponente besteht aus mehreren Einzelprogrammen:

  • mirror-3d – verarbeitet die Tiefenbildinformation, verknüpft diese mit Bildaten und liefert Daten für die Gestensteuerung.
  • mirror-2d – Vearbeitet das auf dem Spiegel auzugebene Bild und verwaltet Bildfilter und Aufnamefunktionen.

Beide Programme befinden sich in ${prefix}/bin/KogniMirrorICL und sind somit möglicherweise nicht direkt über $PATH abrufbar. kognimirror-3d benötigt als Argumente:

  • Konfigurationen für die beiden Kinect-Tiefenkameras (-cd1 und -cd2)
  • Konfigurationen für die beiden Kinect-RGB-Kameras (-cc1 und -cc1)
  • Device-Handles der Kinect-Tiefenkameras (-id1 und -id2)
  • Device-Handles der Kinect-RGB-Kameras (-ic1 und -ic2)
  • Konfigurationsparameter für das Programm (-c)
  • Ausgabe für mirror-2d (-o)
  • sowie weitere Parameter, welche Einfluss auf Auflösung und Rotation haben, aber im Normalfall nicht geändert werden müssen.

Ein Aufruf könnte dann folgendermaßen aussehen:

$ ${prefix}/bin/KogniMirrorICL/mirror-3d \
-cd1 ${prefix}/etc/KogniMirrorICL/k1d.xml \
-cd2 ${prefix}/etc/KogniMirrorICL/k2d.xml \
-cc1 ${prefix}/etc/KogniMirrorICL/k1c.xml -cc2 ${prefix}/etc/KogniMirrorICL/k2c.xml \
-id1 kinect2d 0 -id2 kinectd 0 \
-ic1 kinect2c 0 -ic2 sm dcam \
-c ${prefix}/etc/KogniMirrorICL/config.xml \
-o sm mirror -mr 720x1280 -scolor -rr

Wichtig hierbei ist, dass -ic2 auf das shared memory-Segment der DC-Camera zeigt. Das zweite Programm mirror-2d benötigt als Argumente eine Bildquelle (-ic), eine Auflösung (-resolution) und den Pfad zu den Konfigurationsdateien (-cp):

$ {prefix}/bin/KogniMirrorICL/mirror-2d -ic sm mirror -resolution 720x1280 -cp ${prefix}/etc/KogniMirrorICL

1.30.1.3.1.4.1. RSB-Schnittstellen

Scope Type Description
/io/display/mirror/model/correctionEnabled bool An/Aus Kontrastverstärkung
/io/display/mirror/model/icl/mode string Modus der ICL-Komponenten
/io/display/mirror/model/recordingEnabled bool An/Aus Videoaufzeichnung
/io/display/mirror/model/recordingEnabled bool aktiviert Videoaufzeichnung
/io/display/mirror/model/shiftEnabled string An/Aus Farbrotation
/io/display/mirror/model/zoomEnabled bool An/Aus Gesichtszoom
/service/pointing/updaterate int maximaler Intervall von Zeigegesten in ms
Scope Type Description
/io/display/mirror/model/correctionEnabled bool An/Aus Kontrastverstärkung
/io/display/mirror/model/icl/heartrate int Puls der erkannten Person
/io/display/mirror/model/icl/mode string Modus der ICL-Komponenten
/io/display/mirror/model/recordingEnabled bool signalisiert Status der Videoaufzeichnung
/io/display/mirror/model/shiftEnabled string An/Aus Farbrotation
/io/display/mirror/model/video string URL zu einer Videodatei auf dem Server
/io/display/mirror/model/zoomEnabled bool An/Aus Gesichtszoom
/io/display/mirror/pointing rst.math.Vec2DFloat Punkt zur Gesteninteraktion