Body Dysmorphia (or Body Dysmorphic Disorder) is a disorder in which the affected are “excessively concerned about and preoccupied by a perceived defect in his or her physical features”. In this realtime interactive project, I manipulate the data from a Kinect sensor and create a type of mirror which can make the viewer excessively puffy or excessively emaciated.
This effect occurs in realtime and does not require any environmental preparation (such as controlled lighting or uncluttered background as is usually the case with standard webcam-based video mirrors).
I obtain the depth map from the Kinect and create a rough normal map. Using the normal map in conjunction with the RGB webcam data also coming from the Kinect, I am able to get an idea of how the surfaces in the scene are oriented. This is a surprisingly powerful bit of information. From it, I am able to adjust the lighting in the virtual scene creating realistic highlights and shadows in the virtual scene that do not exist in reality.
More interestingly, I am able to push the surfaces out along the corresponding normals in order to make the subject fatter or thinner.
If you do not blur the depth map before calculating the normal, the resulting 3D model will be very bumpy and disturbing.
More information about Cinder: http://libcinder.org
More information about Kinect CinderBlock: http://forum.libcinder.org/#Topic/23286000000453029