precision pool-aid - university of akron€¦ · need • through sheer practice and determination,...
TRANSCRIPT
Precision Pool-Aid
Design Team 11
Ali Yousef, Team Leader, EE Muzammil Mohammad, Hardware Manager, EE Ma:hew Watzman, So>ware Manager, CpE Faculty Advisor: Dr. Madanayake Date: April 12th, 2013
Need • Through sheer practice and
determination, it may require years to become an accomplished billiards player
• Training the eye to recognize obscure angles is no easy task
• A need exists for a more visual and accelerated method to learning the game of pool
• Help players in mastering difficult bank and combo shots
• Spice up the game using Augmented Reality
2
MS Office Clip Art – Fair Use, Public Domain
Objective • Create an intuitive software application which may be used
as an educational learning aid for billiards • Add a technological twist to the game using Augmented
Reality • Display entertaining visual effects to improve fun factor • Exercise skills acquired throughout ECE program at the
University of Akron
3
Arrows DesignaSng Trajectory
Cue SSck
Sensor Tape
Design Requirements
• The projected trajectories of the cue ball and the target ball must be able to predict the path accurately within ±5º
• Path can be recalculated in real-time within 3 seconds of user moving cue stick
• Projected trajectory of the cue ball due to the horizontal position of the cue stick should be accurate within ±5º
• Multiple display options such as trajectory color change, varying number of collision trajectories, and hidden trajectory of the cue ball
• Visual effects such as LED’s which illuminate when ball is pocketed
4
Design Requirements (cont.)
• Intuitive interface with live video feed, camera calibration mode, and checkboxes to toggle display options
• Graphical mirror of table and ball positions will be displayed on interface
• Able to operate on table dimensions up to 10 ft. by 5ft. with any solid color felt
• Proper functionality will not require the camera to be placed directly above the center of the pool table
• No hardware required to be attached to pool table
5
Corner Detection
6
• RGB Histogram • Color Segmentation • Canny Edge Detection • Four Corner Approximation
Color SegmentaSon Canny Edge DetecSon
Projection Matrix
7
• Calculate rotation matrix by relating four coordinate pairs of table corners to four coordinate pairs of image frame corners
• Apply rotation matrix to each pixel within image frame
Rotated Image Original Image
Object Detection • Detect (x,y)
coordinates of balls on table using Hough transform
• Detect location of stick
relative to cue ball using Hough transform
8
(Right) Pool SSck and Ball DetecSon Using Hough Transform
Trajectories
9
• Given locations of balls and pool stick, calculate trajectories using trigonometric equations
User Interface and Display Module • Intuitive user interface
allows players to manipulate settings and control game
• Display module accommodates for distortion and projects trajectories onto table
10
(Above) Display Module
(Le>) User Interface
References • 1) Arthur, Charles. "Augmented Reality: It's like Real Life, but Better." Guardian.co. Guardian, 20 Mar. 2010. Web. 7 Feb. 2012. • <http://www.guardian.co.uk/technology/2010/mar/21/augmented-reality-iphone-advertising>.
2) Drexler, M. Gander, M. Circular Billiard. SIREV, 1998 volume 40 issue 2. 315 – 323. SIREV Journal 1998.
• 3) Weisstein, Eric W. “Alhazen’s Billiard Problem”. Mathworld. Dated 1999. Viewed February 25 2006.
• • 4) Shih, Chihhsiong. “A Vision Based Billiard Ball Entertainment System”. IEEEXplore. http://www.ieeexplore.org. February 16 2012. • • 5) Laughton, M.A.; Warne, D.F. (2003). Control: Microprocessors. Electrical Engineer's Reference Book (16th Edition). Elsevier. • • 6) Roy, Sumantra D. Computer Vision for Digital Cameras. 14 Sept. 2010. Web. 6 Mar. 2012. <www.coep.org>. • • 7) Tabachnikov, Serge. Geometry and Billiards. Department of Mathematics, Penn State University. Web. 6 Mar. 2012. <http://www.math.psu.edu/tabachni/Books/billiardsgeometry.pdf>. • • 8) Sullivan, Robert G. “Optical Sensors for Cue Ball Detection.” Patent Number 6244970. Filing Date June 17, 1999. Issue Date June 12, 2001. • • 9) Paterson, William D. “Billiard Table Multiple Electronics Game Device and Method.” Patent Number 5026053. Filing Date Dec. 28, 1989. Issue Date June 25, 1991. • • 10) Morris, Michael. “Electronic Laser Lighted Pool Game System.” Patient Application 12/883,173. Filing Date Sept. 15, 2010. • • 11) "Canny Edge Detector." Wikipedia. Wikimedia Foundation, 28 Oct. 2012. Web. 5 Aug 2012. <http://en.wikipedia.org/wiki/Canny_edge_detector>. • • 12) "The Physics of Billiards." Real World Physics Problems. N.p.. Web. 21 Aug 2012. <http://www.real-world-physics-problems.com/physics-of-billiards.html>. • • 13) "Circle-Line Intersection." Vitutor. N.p.. Web. 4 September 2012. <http://www.vitutor.com/geometry/conics/circle-line.html>. • • 14) Solving Triangles. 2012. Math ImagesWeb. 10 September 2012. <http://mathforum.org/mathimages/index.php/Solving_Triangles>. • • 15) Reas, . "Circle Line Intersection." Open Processing. N.p., n.d. Web. 13 September 2012. <http://www.openprocessing.org/sketch/8009>. • • 16) "IPhone Sudoku Grab." Sudoku Grab: How Does It All Work? N.p., n.d. Web. 14 Sept. 2012. <http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.html>. • • 17) "OpenCV: Wiki." OpenCV - Willow Garage. N.p., n.d. Web. 20 Sept. 2012. <http://opencv.willowgarage.com/wiki/>. • • 18) "Hough Transform in OpenCV." AI Shack. N.p., n.d. Web. Oct.-Nov. 2012. <http://www.aishack.in/2010/04/hough-transform-in-opencv/>. • • 19) "Projection Matrices and Least Squares." AcademicEarth. N.p., n.d. Web. 14 Oct. 2012. <http://www.academicearth.org/lectures/projection-matrices-and-least-squares>. • • 20) "OpenCV Tutorial 9 - Chapter 10." OpenCV Tutorial 9. N.p., n.d. Web. 20 Oct. 2012. <http://dasl.mem.drexel.edu/~noahKuntz/openCVTut9.html>. • • 21) "Computer Vision: Algorithms and Applications." Computer Vision: Algorithms and Applications. N.p., n.d. Web. 20 Oct. 2012. <http://szeliski.org/Book/>. • • 22) "Overview: JavaCV and Tutorials." OpenCV2_Cookbook_Examples. N.p., n.d. Web. 5 Nov. 2012. <http://code.google.com/p/javacv/wiki/OpenCV2_Cookbook_Examples>. • • 23) "Find, Create, and Publish Open Source Software." SourceForge. 8 Nov. 2012. <http://sourceforge.net/>. • • 24) "Java API." Oracle Foundation. 9 Nov. 2012. <download.oracle.com/javase/6/docs/api/>. • • 25) "Extract line segments based on Hough transform." MathWorks. MathWorks. Web. 14 Nov 2012. <http://www.mathworks.com/help/images/ref/houghlines.html>. • • 26) "Angle of Refraction." Physics Classroom. Physics Classroom. Web. 14 Nov 2012. <http://www.physicsclassroom.com/class/refrn/u14l2a.cfm>. • • 27) Tiwari, Ganesh. "JavaCV: Image Thresholding HSV color space." GT's Blog. BlogSpot. Web. 14 Nov 2012. <http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/javacv-image-
thresholding-hsv-color.html>. • • 28) Audet, Samuel. "Samuel Audet's Publications." Samuel Audet's Home Page. N.p., 06 2012. Web. 14 Nov 2012. <http://www.ok.ctrl.titech.ac.jp/~saudet/>.
14