38
KinectArms A Toolkit for Capturing and Displaying Arm Embodiments in Distributed Tabletop Groupware Aaron Genest, Carl Gutwin, Anthony Tang*, Michael Kalyn, and Zenja Ivkovic University of Saskatchewan and *University of Calgary

KinectArms cscw2013

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: KinectArms cscw2013

KinectArmsA Toolkit for Capturing and Displaying Arm

Embodiments in Distributed Tabletop Groupware

Aaron Genest, Carl Gutwin, Anthony Tang*, Michael Kalyn, and Zenja Ivkovic

University of Saskatchewan and *University of Calgary

Page 2: KinectArms cscw2013

Develop a toolkit to help with representing gestures in

groupware.

easycheap

expressiveextensible

Page 3: KinectArms cscw2013

KinectArms:KinectTable -- KinectViz

Page 4: KinectArms cscw2013

Easy:KinectTable

Page 5: KinectArms cscw2013

Kinect

Table

Page 6: KinectArms cscw2013

Recognize Table

Page 7: KinectArms cscw2013

Person

Recognize Table

Page 8: KinectArms cscw2013

Recognize Table

Page 9: KinectArms cscw2013

Recognize Table

Page 10: KinectArms cscw2013

Recognize Table

Page 11: KinectArms cscw2013

Recognize Table

Page 12: KinectArms cscw2013

Cheap:KinectTable

Page 13: KinectArms cscw2013

Capture Arms and Hands

Page 14: KinectArms cscw2013

Raw Depth Image

Canny Edge Detection

Generate Arm Blobs

Page 15: KinectArms cscw2013

Detect Arm Crossings

Create Structure

Separate Arm Blobs

Page 16: KinectArms cscw2013

Cheap and Easy:KinectTable

Page 17: KinectArms cscw2013

Get Data

Raw Image DataKinectArmsClient *client = KinectArmsGetClient();KinectData data;client->GetData(data);DepthImage& depthImage = data.depthImage;

Page 18: KinectArms cscw2013

Table Data BinaryImage& maskImage = data.tableMaskImage;

Get Data

Page 19: KinectArms cscw2013

Arm and Finger Data

client -> GetData(data);Arm& arm1 = data.arms[0];int fingerHeight = client->getHeight(arm1.fingers[0]);

Get Data

Page 20: KinectArms cscw2013

Expressive:KinectViz

Page 21: KinectArms cscw2013

Hand and Arm Representation

Video Separation

Stick Figures

Page 22: KinectArms cscw2013

Hand and Arm Representation

Stick Figures

client-­‐>GetData(data);viz.updateData(data);viz.applyEffects();

viz.getEffect(kSkeleton).enabled­=­true;

Page 23: KinectArms cscw2013

Height

Expanding Circle

Rainbow ArmsShadow

Page 24: KinectArms cscw2013

Height

Expanding Circle

Rainbow ArmsShadow

viz.getEffect(kShadow).enabled­=­true;

viz.getEffect(kRainbow).enabled­=­true;

viz.getEffect(kPointerCircle).enabled­=­true;

Page 25: KinectArms cscw2013

Changing Visibility

Outline

Transparency

Page 26: KinectArms cscw2013

Changing Visibility

Outline

Transparencyviz.getEffect(kTransparency).enabled­=­true;

viz.getEffect(kOutline).enabled­=­true;

Page 27: KinectArms cscw2013

User Identification

Tattoos

Page 28: KinectArms cscw2013

User Identification

Tattoos

viz.getEffect(kTattoo).enabled­=­true;

Page 29: KinectArms cscw2013

Historical Traces

Motion Blur

Motion Lines

Page 30: KinectArms cscw2013

Historical Traces

Motion Blur

Motion Lines

viz.getEffect(kTraces).enabled­=­true;viz.getEffect(kMotionBlur).enabled­=­true;

Page 31: KinectArms cscw2013
Page 32: KinectArms cscw2013

Extensible

Page 33: KinectArms cscw2013

Combinations

Page 34: KinectArms cscw2013

...or new visualizations

github.com/aarongenest/KinectArms

Page 35: KinectArms cscw2013

Communication

Page 36: KinectArms cscw2013

Interaction

Page 37: KinectArms cscw2013

University of Waterloo

Queen’s University

UOIT

Olin College, MA

University of California, San Diego

Page 38: KinectArms cscw2013

Aaron Genest, Carl Gutwin, Anthony Tang*, Michael Kalyn, and Zenja Ivkovic

University of Saskatchewan and *University of Calgary

github.com/aarongenest/KinectArms

@aarongenest [email protected]