Multi-Touch Navigation Engine Presented by Team Extra Touch: Chris Jones Shuopeng Yuan Nathan Wiedeback Detailed Design Review 1.

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

QR Code Recognition Based On Image Processing
Image Data Representations and Standards
Electronic and Computer Engineering Colin Grogan Final Year Project: Design and Build an Air Mouse for people with lower mobility.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
BYST Eh-1 DIP - WS2002: Enhancement in the Spatial Domain Digital Image Processing Bundit Thipakorn, Ph.D. Computer Engineering Department Image Enhancement.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
With support from: NSF DUE in partnership with: George McLeod Prepared by: Geospatial Technician Education Through Virginia’s Community Colleges.
Multi-Touch Navigation Engine Presented by Team Extra Touch: Chris Jones Shuopeng Yuan Nathan Wiedeback.
Object Recognition with Informative Features and Linear Classification Authors: Vidal-Naquet & Ullman Presenter: David Bradley.
Segmentation Divide the image into segments. Each segment:
Preprocessing ROI Image Geometry
LYU0503 Document Image Reconstruction on Mobile Using Onboard Camera Supervisor: Professor Michael R.Lyu Group Members: Leung Man Kin, Stephen Ng Ying.
Highlights Lecture on the image part (10) Automatic Perception 16
Exercise 1 - Poisson Image completion using Discrete Poisson Linear Systems.
Multi-Touch Navigation Engine Presented By: Chris Jones Shuopeng Yuan Nathan Wiedeback.
Real-Time Vision on a Mobile Robot Platform Mohan Sridharan Joint work with Peter Stone The University of Texas at Austin
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering
By Meidika Wardana Kristi, NRP  Digital cameras used to take picture of an object requires three sensors to store the red, blue and green color.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Presented by Tienwei Tsai July, 2005
Simple Image Processing Speaker : Lin Hsiu-Ting Date : 2005 / 04 / 27.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
Multitouch and Collision Detection MOBILE SOFTWARE DEVELOPMENT.
Recognizing Action at a Distance Alexei A. Efros, Alexander C. Berg, Greg Mori, Jitendra Malik Computer Science Division, UC Berkeley Presented by Pundik.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Image Recognition COMP # 18.
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
The Implementation of Markerless Image-based 3D Features Tracking System Lu Zhang Feb. 15, 2005.
Image Registration with Hierarchical B-Splines Z. Xie and G. Farin.
Image Morphing Computational Photography Derek Hoiem, University of Illinois 9/29/15 Many slides from Alyosha Efros.
HYPR Project Presentation By Nasser Abbasi HYPR Input-Output view.
By: David Gelbendorf, Hila Ben-Moshe Supervisor : Alon Zvirin
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Flexible Automatic Motion Blending with Registration Curves
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Representing Moving Images with Layers J. Y. Wang and E. H. Adelson MIT Media Lab.
Geoprocessing and georeferencing raster data
How to identify complex events in the real world First part : Vision –Image segmentation –Checking for basic events : touching, intersecting, moving, pointing,
What you need: In order to use these programs you need a program that sends out OSC messages in TUIO format. There are a few options in programs that.
0 Assignment 1 (Due: 10/2) Input/Output an image: (i) Design a program to input and output a color image. (ii) Transform the output color image C(R,G,B)
Creating Flowcharts Principles of Engineering
Creating a Flowchart Computer Integrated Manufacturing
Creating Flowcharts Name of PowerPoint CIM Name of Lesson
Deferred Lighting.
Computational Photography Derek Hoiem, University of Illinois
Creating Flowcharts Principles of Engineering
Creating Flowcharts AIM:
Computer Vision Lecture 4: Color
Fitting Curve Models to Edges
Creating Flowcharts Principles of Engineering
Complimentary & Supplementary Angles
Creating Flowcharts Name of PowerPoint CIM Name of Lesson
Lecture 3 : Isosurface Extraction
Vision Tracking System
Geometry Equations of Circles.
Creating Flowcharts Name of PowerPoint CIM Name of Lesson
Image Segmentation.
Creating Flowcharts Principles of Engineering
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Wadner Joseph • James Haralambides, PhD Abstract
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Creating Flowcharts Principles Of Engineering
Creating Flowcharts Name of PowerPoint CIM Name of Lesson
DIGITAL IMAGE PROCESSING Elective 3 (5th Sem.)
Presentation transcript:

Multi-Touch Navigation Engine Presented by Team Extra Touch: Chris Jones Shuopeng Yuan Nathan Wiedeback Detailed Design Review 1

THE PLAN 2

Make it interesting… Challenge Phantom touches “[40K] ought to be enough for anybody!” Need “tap points” for intermediate data We’re not really programmers… Solution Compare to previous frame Low resolution (240 x 180) for proof-of-concept Make each stage’s data available at the output Get help! 3

Serial Input 4

Serial Stream Parser 74 byte “packets” from the screen Interrupt-driven I/O on ARM -- until an entire packet received Then process it to get 32 sensor values, average, etc. Normalize by subtracting the lowest value from each Variations of ~ (Little-endian) Average: 0x488B = 18,571 First sensor: 0x4886 = 18,566

Interpolation 6

Interpolator Input: 32 x 2-byte sensor levels Output: “Image” frame -- n x m x 1 bit pixel array Proof-of-concept: 240 x 180 (memory constraints) Find intersection points of sensors (16 x 16) Interpolate linearly based on distance – first in X, then in Y (bilinear) Set a threshold and discretize at the end Each pixel ends up as a 1 or a 0 7 Image source: Wikipedia

Phantom Filtering 8

Phantom Filter Input: Frame Output: Filtered frame ( 240 x 180 x 1 bit) Intersections method -> phantom touches Remember what was touched first – i.e., save and compare to the last frame Proof of concept -- only the simple case covered 9

Pattern Recognition 10

Pattern Recognizer: Flowchart 11

Input: Whole frame (60*20) 12

First step: Blob classification 13

(Visio files provided separately) 14

Output: the outline of each single blob 15

The X-Y Coordinates in separate arrays xy xy xy

Voronoi Skeleton Algorithm 1 17

The block diagram 18

Voronoi Skeleton Algorithm 2 (The ideal case) 19

Voronoi Skeleton Algorithm (The actual result)

Shape recognition 21

Slope algorithm If a skeleton is linear, according to geometry, angle a1 = a2 = a3 = a4 Therefore, only linear shaped skeleton can pass this filter. To the touch panel application, it means only the side of a palm instead of a palm shape can pass. 22

Channel Assignment 23

Channel Assignment Data In: Center coordinates (X,Y) Processing: Data gets transformed into a 2d array, and the compared against each channel frame to determine its channel. Channel frames are defined before compile. Data Out: (X,Y) coordinates with channel data attached. Details: Aiming for 2 channels initially Should be simple to add channels in the final iteration. 24

Channel Assignment – Flow Chart 25

Channel Assignment - Visual Representation Channel 0 Frame Channel 1 Frame Channel 2 Frame Output to PC: Coordinates 3,3 Channel 2 Input: Coordinate Data (3,3) touched We have a match at Channel 2! 26

Questions? 27