20
3D Puppetry: A Kinect-based Interface for 3D Animation Robert T. Held Ankit Gupta Brian Curless Maneesh Agrawala University of California, Berkeley University of Washington UIST’12

3D Puppetry: A Kinect-based Interface for 3D Animation

  • Upload
    rumer

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

3D Puppetry: A Kinect-based Interface for 3D Animation. Robert T. Held. Ankit Gupta. Brian Curless. Maneesh Agrawala. University of Washington. University of California, Berkeley. UIST’12. ABSTRACT. INTRODUCTION. SYSTEM OVERVIEW. Set up. System. Capture. Render. Puppet Database. - PowerPoint PPT Presentation

Citation preview

Page 1: 3D Puppetry: A Kinect-based Interface for 3D Animation

3D Puppetry: A Kinect-based Interface for 3D Animation

Robert T. Held Ankit Gupta Brian Curless Maneesh Agrawala

University of California, Berkeley University of Washington

UIST’12

Page 2: 3D Puppetry: A Kinect-based Interface for 3D Animation

ABSTRACT

Page 3: 3D Puppetry: A Kinect-based Interface for 3D Animation

INTRODUCTION

Page 4: 3D Puppetry: A Kinect-based Interface for 3D Animation

SYSTEM OVERVIEW

System

Set up

Capture Render

Page 5: 3D Puppetry: A Kinect-based Interface for 3D Animation

Puppet Database

• The Puppet Database includes a 3D model of each physical puppet.

• Puppet Database includes roughly 30 color and depth template images for each puppet,along with the pose of the puppet in each image.

Page 6: 3D Puppetry: A Kinect-based Interface for 3D Animation

Setup

• For tracking and rendering purposes, our system maintains a Puppet Database of defining characteristics for each trackable puppet.

• To running our system for the first time , each puppeteer must build a color model of their skin. This model is used by the Point-cloud Segmenter to isolate points that belong to puppets, and not the puppeteer’s hands, and is necessary for accurate tracking.

Page 7: 3D Puppetry: A Kinect-based Interface for 3D Animation

CAPTURE

Page 8: 3D Puppetry: A Kinect-based Interface for 3D Animation

Render

• In the Render module, our system uses the captured poses to render the corresponding 3D model for each physical puppet in the virtual set.

• This module provides camera and lighting controls, and the option to swap 3D backgrounds.

Page 9: 3D Puppetry: A Kinect-based Interface for 3D Animation

SIFT althogrithm

• Image is convolved with Gaussian filters at different scales, and then the difference of successive Gaussian-blurred images are taken.

• Keypoints are then taken as maxima/minima of the Difference of Gaussians (DoG) that occur at multiple scales.

Page 10: 3D Puppetry: A Kinect-based Interface for 3D Animation

SIFT

Page 11: 3D Puppetry: A Kinect-based Interface for 3D Animation

Keypoints

• This is done by comparing each pixel in the DoG images to its eight neighbors at the same scale and nine corresponding neighboring pixels in each of the neighboring scales.

• If the pixel value is the maximum or minimum among all compared pixels, it is selected as a candidate keypoint.

Page 12: 3D Puppetry: A Kinect-based Interface for 3D Animation

Interpolation of nearby data for accurate position

 Taylor expansion is computed at the offset If this value less then 0.03,the candicate key point is discarded.

Page 13: 3D Puppetry: A Kinect-based Interface for 3D Animation

Orientation assignment

• Each keypoint is assigned one or more orientations based on local image gradient directions.

• This is the key step in achieving invariance to rotation .

Page 14: 3D Puppetry: A Kinect-based Interface for 3D Animation

Local image descriptor http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

Page 15: 3D Puppetry: A Kinect-based Interface for 3D Animation

Matching Image Features

Page 16: 3D Puppetry: A Kinect-based Interface for 3D Animation

Point-cloud Segmenter

• The Point-cloud Segmenter first removes the background points and the hands from the cloud and then splits the remaining points into separate clouds for each physical puppet.

Page 17: 3D Puppetry: A Kinect-based Interface for 3D Animation

Pose Tracker

• The ICP algorithm aligns two sets of 3D points by determining point-to-point correspondences between the sets.

Page 18: 3D Puppetry: A Kinect-based Interface for 3D Animation

RESTRICTIONS

• Our puppet-tracking algorithm does impose a few restrictions on puppeteers. It assumes that puppets are rigid objects it cannot track articulated joints or easily deformable materials such as cloth.

• In addition, if puppeteers move the puppets very quickly over long distances our system can lose track of them.

Page 19: 3D Puppetry: A Kinect-based Interface for 3D Animation

USER EXPERIENCE

• Puppeteers learned not to occlude too much of each puppet with their hands. Otherwise , the point clouds could become too small for accurate pose detection, and our system would either render a puppet in the wrong pose or stop rendering it altogether.

• Learned how quickly they could move each puppet without losing tracking.

Page 20: 3D Puppetry: A Kinect-based Interface for 3D Animation

FUTURE WORK

• Articulated Puppets.

• Deformable Puppets.

• Multiple Puppeteers.

• Remote, collaborative puppeteering sessions using our system.