BARViS – Bax’s Augmented Reality Vision System

Download Report

Transcript BARViS – Bax’s Augmented Reality Vision System

AR2kanoid Augmented Reality
Arkanoid
Bax Smith, BSc, BEng, PhD Candidate
Supervisor: Ray Gosine
Topics of Talk
What is Arkanoid?
What is AR2kanoid?
AR2kanoid Screenshots
Component Overview of AR2kanoid
Difficulties in Implementation
Conclusions and Future Work
What is Arkanoid?
Video game invented in 1986
AKA Breakout, Bricks
What is AR2kanoid?
Augmented Reality version of Arkanoid
developed in 2002-2003
AR2kanoid Screenshot
AR2kanoid Screenshot
AR2kanoid Screenshot
AR2kanoid Screenshot
AR2kanoid Screenshot
Component Overview of
AR2kanoid
Vision
Kalman
Filter
Render
Physics
Calibration
Sound
Joystick
Component Overview of
AR2kanoid - Calibration
Mode 1 – Camera Calibration



Segment Circles from Several Images
Compute Lens Distortion Parameters
Save Calibration Parameters
Mode 2 – Apply Camera Calibration



Load Calibration parameters
Segment Circles from Image
Get the Position and Orientation of Surface from
Circles
Difficulties in
Implementation
Problem: Camera
Distorts Image
Solution:
Calibrate Camera
Component Overview of
AR2kanoid - Vision
Responsibilities





Interface to a camera
Initialization and Shutdown
Set the video format (FPS, Size, Color Encoding)
Resize Image using Bilinear Interpolation
Send Image to Calibration System

Returns Position and Orientation of Surface
Supports USB and Firewire Cameras
Difficulties in
Implementation
Problem: TOO MUCH DATA!!!!!!!!
Image Size: 640x480x3 = ~1MByte
 4 Rows x 5 Columns of Circles

Looked Real, Accurate Position Measurement
 Very Slow ~1 Frames/second
 CPU Intensive ~100%

Solution: Reduce Image Size and
Number of Circles
Difficulties in
Implementation
Problem: Small Image Size, Less Circles


160x120x3 = ~60KBytes
2 Rows x 3 Columns of Circles



Fast ~30 Frames/second
Not CPU Intensive ~20%
Image Blockie, Noisy Position Measurement
Solution: Bilinear Interpolation & Kalman
Filter

Better Image, Better Position Estimation
Component Overview of
AR2kanoid – Kalman
Filter
Used to Predict Position of Surface and
Position of Camera
Simple Model

Distance = Velocity*Time
Component Overview of
AR2kanoid - Joystick
Initialize Joystick using DirectX

Supports all Windows Joysticks
Get X-Y Position and Button Status
Shutdown Joystick
Component Overview of
AR2kanoid - Sound
Initialize Sound using DirectX
Load Sounds from Disk
Play Sounds when requested
Puck Hovering
 Puck Colliding with a Wall or Paddle
 Puck Colliding with a Brick
 Puck Colliding with the Goal Line

Shutdown Sound
Component Overview of
AR2kanoid - Physics
Detect Puck Collision





Brick – Brick explodes, puck changes direction
Paddle – Puck changes direction
Side Walls – puck changes LR direction
Top Wall – puck changes UD direction
Goal Line – no. of pucks decrements, play resets
Get Joystick Status and Move Paddle
Move Puck

Puck Position,Velocity, Collision, Joystick
Component Overview of
AR2kanoid - Render
Gets Puck and Paddle Position from
Physics System
Gets Position and Orientation of
Surface from Vision System
Gets Image from Vision System
Renders Scene on top of Image
Conclusion and Future
Work
Version 1 Completed!
Future Work
Better Memory Management/Optimizations
 Better Position Extraction/Image
Processing Algorithms
 Better Model for the Kalman Filter
 Better/More Detailed Graphics
 Camera with wider FOV
