the renci multitouch framework

13
The Renci Multitouch Framework Because touching things is just good fun.

Upload: prince

Post on 24-Feb-2016

57 views

Category:

Documents


0 download

DESCRIPTION

The Renci Multitouch Framework. Because touching things is just good fun. Overview. Camera Capture Filtering Touch Detection Touch Camera to Stitching Transformation Tracking Stitching to Screen Transformation Gesture Detection. General Structure. Touch Detection & Tracking. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The  Renci Multitouch  Framework

The Renci Multitouch Framework

Because touching things is just good fun.

Page 2: The  Renci Multitouch  Framework

Overview

• Camera Capture• Filtering• Touch Detection• Touch Camera to Stitching Transformation• Tracking• Stitching to Screen Transformation• Gesture Detection

Page 3: The  Renci Multitouch  Framework

General Structure

Touch Detection & Tracking• Camera Stack

– Filter Graph• Camera• Background• High Pass• Threshold

– Blob Detection– Camera to Stitching Transform

• Tracker– Tracking– Stitch to Screen Transform

Gesture Engine• Acquire New Touches• Test against In-Flight Gestures

& Cull• Cluster Remaining Touches• Compute

– Contraction / Dilation– Rotational Offset

• Clip to registered touch regions• Push To Clients or Emit Mouse

Events

Page 4: The  Renci Multitouch  Framework

Camera Capture

• Video for Windows• Prosilica• Point Grey• Sony PS3 Eye

Page 5: The  Renci Multitouch  Framework

Filtering

Page 6: The  Renci Multitouch  Framework

Blob Detection

• Sample Screen Space given minimum blob size• Utilize a flood-fill style approach to blob region

detection• Back-fill with black to avoid multiple

detections• Compute Centroid & Bounding Box• Projective Transform from Camera to Stitched

Coordinate System

Page 7: The  Renci Multitouch  Framework

Tracking

• KD-Tree Nearest Neighbor to track a blob frame to frame– Find set of nearest neighbors from KD-Tree– Search along line from previous blob’s gradient to

find nearest blob from given set– Transform from Stitched to Screen Coordinate

System

Page 8: The  Renci Multitouch  Framework

What Are All These Transforms?

• Math on all the Pixels Is Expensive– So save time by only doing the expensive mathy-

bits on the touches• Optimally we want One Thread per Camera

with Filter Graph & Blob Detection & Transform• Basically were mapping quadrilaterals to other

quadrilaterals: – Camera System to Stitched System– Stitched System to Screen System

Page 9: The  Renci Multitouch  Framework

So where do we get the Transformation Matrices?

• Calibration and More:– Camera Calibration to remove radial distortion– Stitching Calibration– Screen Calibration– Touch Calibration ( Determine Filter graph Values )

Page 10: The  Renci Multitouch  Framework

Camera Calibration: There is an App For That

Page 11: The  Renci Multitouch  Framework

Stitching Calibration: Yep, Another App

Page 12: The  Renci Multitouch  Framework

Stitching Results on Full Images

Page 13: The  Renci Multitouch  Framework

Even More Apps: Touch & Screen Calibration