1.30.1.2.1.6. KogniChef-Objektdetektion

1.30.1.2.1.6.1. Zusammenfassung

Objekterkennungskomponente des tp1/chef.

Kontakt:

Christof Elbrechter <celbrech@techfak.uni-bielefeld.de>

CITK:

kognichef-object-detection

Vorbedingung:
  • ICL Bibliothek ist installiert
  • Notwendige Kamera backends wurden Installiert (libdc für firewire-Kamera, libirimager für Optris-Wärmebild-Kamera und libfreenect für Kinect 360)
  • Die Komponente ist so konfiguriert, dass die Kinect-Bilder und das IR-bild aus speziellen shared-memory Segmenten geladern werden. Dafür ist es notwendig, dass die entsprechenden Server-Komponenten, welche die jeweiligen Bilder aus den Kameras lesen und diese via shared-memory versenden zuvor gestartet werden (kinect-server, ir-cam-server).
Quickstart:

TODO

Diese Hauptaufgabe dieser Komponente ist ein Tiefenbild-basierter Objekterkenner. Dieser vewendet eine Modelfreie Segmentierung als Vorverarbeitung und einen einfachen NN-Klassifikator mit Bag-of-Features Modell für die Klassifikation. Der Objekterkenner kann zu Laufzeit nachtrainiert werden. Durch Speichern der Objektklassifikationsdatenbank können nachtrainierte Objekte persistent gemacht werden. I.d.R. werden meherere Prototypen für jedes Objekt (O(5-20)) benötigt um eine lageinvariante Klassifikationsleistung zu erziehlen.

Erkannte Objekte werden nicht nur mit einem Label versehen, sondern es werden auch Meta-Informationen (z.B. Klassifikationswahrscheinlichkeit, Bounding-box, und Temperatur), die mit den Objekten assoziiert wurden, angehängt.

Ein weiteres Feature, welches aus Effizienzgründen direkt in der Objekterkennungskomponente integriert wurde ist Hob-Control. Dieses Modul empfängt Hob-Controll Nachrichten der Form “Erhitze Objekt ‘Stieltopf’ auf 70 Grad Celsius” und erstellt daraus eine Liste aus aktuellen Control-Tragets. Diese Targets werden Nebenläufig überwacht und durch Kommunikation mit tp1/appliances realisiert.

Darüberhinaus ist die “Grasp-Detection” in diese Komponente integriert, welche erkennt, welches Objekt gegriffen wird und (falls eines gegriffen wird) dessen ObjektID versendet.

1.30.1.2.1.6.2. RSB-Schnittstellen

Scope Type Description
/kognichef/service/miele/hob/status rst.kitchen.hob.control.Status aktueller Status des Kochfeldes
/kognichef/service/miele/hobcontrol/control rst.kitchen.hob.control.Task Spezielles Kommandos, wie Stop oder Stop-All
/kognichef/service/miele/hobcontrol/control rst.kitchen.hob.control.Target Control-Target
Scope Type Description
/kognichef/service/miele/hob/control rst.kitchen.hob.control.Status Ziel Status des Kochfeldes (zur Kontrolle)
/kognihome/service/objectdetection rst.vision.TrackedLabeledObjects Liste der Gefundenen Objekte