Social Creature

From Robert-Depot
Jump to: navigation, search

Overview

In the original proposal for this project, a sea creature was to react to the number of faces it tracked using a webcam. More faces would make the creature more ecstatic. The description follows.

An aquarium with a single floating creature. It follows the person's face in front of the screen. It will have a sad facial expression when it can't identify a face, a happy facial expression when a face becomes tracked, and an ecstatic facial expression when there is more than one face.

Come project time, I had modified the creature to react to the distance of a single face. The closer the face was, the more agitated the creature would be. The creature was also changed from sea creature to ghost, and an emphasis placed on the web-based component of the project in addition to the interactivity.

Motivation

People already have an strong tendency to anthropomorphise animals and even objects. My goal is, using very rudimentary interactivity under a layer of spritely animation, to bring out empathy in viewers.

Interactive Paradigm

The user visits the project website with a webcam-enabled computer. The web page contains a flash applet that displays the user's face in a bluish hue. As the person moves around, the ghost follows their face on screen. When the user approaches close enough to the creature, it becomes agitated and makes a face.

The original concept images for the emotional states of the creature follow.

Diagram1.gifDiagram2.gifDiagram3.gif

Technical Description

It will work using a face detection library opencv. The position of the creature will be mapped to the position of the larger face detected. Face detection also will determine if there are multiple faces in view, triggering the levels of happiness for the creature. This can be done using processing, but also through flash (there is an opencv port to it). From my experience, flash is a bit harder to program but easier to animate with.

Documentation

Source Code

Imagery

I switched out three states depending on the distance from the camera the user sat at.

Ghost1.pngGhost2.pngGhost3.png