Der Bieromat aka Beer-O-Mo
Idee war es anlässlich der “Überbrückungsapero” vom 25.09.2008 unseren Bierkühlschrank um ein paar unterhaltsame Funktionen zu erweitern.
Beim Öffnen des Kühlschranks werden, von den ihn öffnenden Personen, Photos geschossen und einer von 23, von uns aufgenommenen, Sounds abgespielt. Die Photos werden anschließend automatisch in einer Slideshow gezeigt.
Zur Umsetzung benutzten wir das DaKa, ein lowcost USB-Interface zur Steuerung von externen Sensoren und Aktuatoren, welches sich über die Programmierumgebung MAX MSP ansteuern lässt.
Am schwierigsten war es, ein Photo im richtigen Augenblick zu bekommen. Dazu versuchten wir zunächst die Zeit zu ermitteln, die der “Durchschnittsmensch” zum Öffnen des Kühlschranks benötigt (ungefähr 3 Sekunden). Für den Startzeitpunkt installierten wir erstmal einen Bewegungssensor im Kühlschrank, welcher einige Probleme mit sich brachte, da er sowohl beim Öffnen, wie auch beim Schließen des Kühlschranks reagierte und wir so eine Masse von unbrauchbaren Bildern bekamen unter denen sich kaum verwendbare befanden.
Durch einen Lichtsensor, den wir in der Nähe der Kühlschrankinnenbeleuchtung befestigten, verschafften wir uns Abhilfe. Dieser wurde so eingestellt, dass er nur bei der Lichtstärke von der, sich vor Ihm befindenden, Innenlampe reagierte und nicht auch beim Außenlicht. Die Frage nach einem exakten Zeitpunkt für den Start - das Öffnen des Kühlschranks wurde damit geklärt.
Da sich aber leider nicht alle, an die von uns beobachtete “Durchschnittszeit zum Öffnen eines Kühlschranks” halten, gab es ein neues Problem.
Dank der, auf OpenCV basierenden, jit.cv Objekte hatten wir die Möglichkeit, das Photo erst dann zu erstellen, wenn auf der im Kühlschrank eingebauten Kamera ein Gesicht zu erkennen war. Ausserdem ermöglichte uns diese Funktionalität weitere Spielereien mit dem Bild.
Wir verwendeten das Facetracking um auf den gemachten Bildern zusätzlichen Inhalt anzubringen. begonnen haben wir mit dem Bild eines Schnauzes, welches auf das gefundene Gesicht on-the-fly hinzugefügt wurde. Leider war es uns (in der bleibenden Zeit bis zum Apéro) nicht möglich, das Schnauzbild exakt genug auf das Gesicht zu passen. Deshalb entscheiden wir uns dafür, das Bild einer Comic Gedankenblase mit einem Bier darin zu verwenden. Da dieses nicht extrem genau platziert werden musste, war das Resultat um einiges besser.
Damit die Kamera innerhalb des Kühlschranks gut befestigt werden konnte, mussten wir den Patch nochmals erweitern und mit Steuerelementen zu Bildtransformation (Rotate/Scale/Move) ausstatten.
Das nächste Problem war dann, dass bei höheren Bildauflösungen die Performance / Verarbeitungsgeschwindigkeit stark nachliess. Da im selben Patch noch ein Visualisierung stattfand, war dies extrem mühsam. Die Ursache für den grössten Performanceverlust lag darin, dass die Kameraauflösung und die Bildauflösung auf der die Gesichtserkennung stattfand, miteinander gekoppelt waren. Durch eine Abkoppelung liess sich die Performance nun auch bei hohen Auflösungen wieder ernst nehmen. Allerdings erhöhte diese Modularisierung auch die Komplexität des Patches, da mit Multiplikatoren gearbeitet werden muss.






