Post on 21-Jan-2016
George CampbellDavid Hawes Carleton Jillson
Joseph Kalinowski Keith Pray
CUECUEThe Pool
CriticThe Pool
Critic
Project DescriptionProject Description
The goal of our project was to build a system which would model a live pool game. It would then analyze the model to critique each shot.
Project DesignProject Design
Table State
Look Image
Video In Get StatusStatus
Video Source
Movie
Vision
Analyzer
UserInterface
Project DesignProject Design
• User Interface
• Analysis
• Transformation
• Vision
Project DesignProject Design
• User Interface
• Analysis
• Transformation
• Vision
User InterfaceUser Interface
• Designed using MFC
• Multi-Document Application
• Easy to use for the novice and expert
• Intended to have minimal back-end communication
User InterfaceUser Interface
Project DesignProject Design
• User Interface
• Analysis
• Transformation
• Vision
AnalysisAnalysis
The analysis is responsible for building and interpreting the model of the live pool game.The analysis is responsible for building and interpreting the model of the live pool game.
• Model Parts– Table State– Events– Shot
AnalysisAnalysis
Vision User Interface Vision User Interface
Table StatesTable States
EventsEvents Called ShotCalled Shot
ResultResult
Project DesignProject Design
• User Interface
• Analysis
• Transformation
• Vision
TransformationTransformation
Using vanishing points, a video image of the table is divided into regions which are mapped to relative regions of a table model.
Using vanishing points, a video image of the table is divided into regions which are mapped to relative regions of a table model.
Perspective issues:–Room constraints –Program more robust
Perspective issues:–Room constraints –Program more robust
TransformationTransformation
TransformationTransformation
TransformationTransformation
TransformationTransformation
TransformationTransformation
Project DesignProject Design
• User Interface
• Analysis
• Transformation
• Vision
Acquiring VideoAcquiring Video
• Vision can accept any of the following formats– Live Video
– AVI Files
– Directory of static images
Vision IssuesVision Issues
• Vision uses the vast majority of the process time– In order to have acceptable detail, large
numbers of pixels must be processed– Very efficient algorithms needed to produce
accurate results without slowing down CUE to a crawl
• Noise needs to be compensated for:– Reflectivity of balls– Shadows– Camera Noise
Vision IssuesVision Issues
How Does Vision Work?How Does Vision Work?
• Calibration
• Processing each Image
CalibrationCalibration
• Using one image from the image source
• Find the edges of the image
• Find the key lines (bumpers) of the table
• Map the four corners of the table to model space using lookup table module
Calibration ImageCalibration Image
Processing ImagesProcessing Images
• Find the edges of the image
• Find the circles on the table
• Identify balls based on color matching
• Set the table state with ball locations
• Return the table state for analysis
• Sample Edge Image Sample Processed Image
Processed ImagesProcessed Images
DemoDemo
Future ProjectsFuture Projects
• Incorporate AI Aspects– Learns physics/rules of pool by watching
games in play– Uses strategy to critique and recommend shots
• Robotic Implementation– Learns by trial and error– Carries out recommended shots in a real game
Special Thanks To...Special Thanks To...
• Professor Michael Gennert
• Spencer Billiards
• John Chaillet
• Lisa Cocozzella
• Worcester Telegram & Gazette
Thank YouThank You
George CampbellDavid Hawes Carleton Jillson
Joseph Kalinowski Keith Pray
CUECUEThe Pool
CriticThe Pool
Critic