IP Library Granted Patent US 12,186,643
Granted Patent B2
US 12,186,643 · App. 17/653,499 · Granted Jan 7, 2025

System and method for determining 3D positional coordinates of a ball

Inventors: Fredrik Tuxen (Rungsted Kyst, DK); Michael Ungstrup (Vedbaek, DK)
Assignee: TRACKMAN A/S
A63B71/0616A63B24/0006A63B69/3691B25J9/1692B25J9/1697B25J19/023G01S13/9029G06T7/246G06T7/73G06T7/75G06T7/80G06V10/74G06V10/82G06V20/42G06V40/168G06V40/23G06V40/50H04N23/69H04N23/695A63B2071/0691A63B2220/05A63B2220/12A63B2220/62A63B2220/803A63B2220/806A63B2220/89A63B2225/54G06T2207/20084G06T2207/20132G06T2207/30224G06T2207/30244
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,186,643
App. No.
17/653,499
Granted
Jan 7, 2025
Kind
B2
Abstract

A system includes a camera capturing images in a first field of view of a sports ball bouncing and rolling, a storage arrangement, and a processing arrangement. The storage arrangement includes a three-dimensional 3D model of a part of a sports play area and the processing arrangement is configured to: detect a pixel location of a ball in an image; determine, based on intrinsic and extrinsic calibration parameters, a camera-ball line comprising a straight line passing through the camera in the direction of the sports ball and to determine, based on the 3D model, an intersection point of the camera-ball line with the 3D model. The processor outputs the intersection point as a 3D position of the ball in the image.

Claims (67)

1. A system, comprising:

a tracking camera having a first field of view configured to capture images in a camera coordinate system of a sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith;

a storage arrangement including values for the intrinsic and extrinsic calibration parameters and a three-dimensional (3D) model of at least part of a sports play area overlapping with the first field of view; and

a processing arrangement coupled to the tracking camera configured to:

perform a ball detection to detect a pixel location of the sports ball in an image;

determine, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising 3D coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system;

determine, based on the 3D model, an intersection point of the camera-ball line with the 3D model; and

output the intersection point as a 3D position of the sports ball in the image.

2. The system of claim 1 , wherein the processing arrangement is further configured to:

determine the sports ball is at rest by comparing the pixel location of the sports ball in successive images; and

outputting the intersection point as a 3D rest position of the sports ball in the image.

3. The system of claim 1 , wherein the captured images are associated with metadata including a time at which the image was captured, an exposure time and a crop region.

4. The system of claim 1 , further comprising:

a tracking radar having a second field of view at least partially overlapping the first field of view configured to capture radar data of the sports ball,

wherein the processing arrangement is further configured to detect the sports ball in dependence on the radar data to narrow an area searched in the images and a number of images searched in time.

5. The system of claim 4 , wherein detections of the sports ball using the radar data in combination with the images are used by the processing arrangement to improve an accuracy of 3D position determinations of the sports ball.

6. The system of claim 1 , wherein the processing arrangement is further configured to detect the sports ball using a neural network trained to detect sports balls in images.

7. The system of claim 6 , wherein the neural network uses information for search regions from previous images to improve an accuracy of detections of the sports ball in current images.

8. The system of claim 3 , wherein the processing arrangement is further configured to determine the camera-ball line based on the crop region for the image.

9. The system of claim 1 , wherein the sports play area is a golf course and wherein the 3D model of the part of the golf course contains a surface model representing a height of terrain for a given position on the golf course.

10. The system of claim 9 , wherein the surface model further represents a terrain type for the given position on the golf course.

11. The system of claim 10 , wherein the processing arrangement is further configured to determine a type of terrain within which the sports ball is detected based on the 3D model.

12. The system of claim 9 , wherein the surface model comprises a mesh of triangles or spline surfaces.

13. The system of claim 9 , wherein the intersection point is determined using an iterative process or using a numerical solver to solve an optimization problem.

14. The system of claim 1 , wherein the 3D position of the sports ball in the image is output to a database, a 3D graphics rendering engine, or a graphical illustration of the 3D position of the sports ball.

15. The system of claim 1 , wherein the 3D model is provided in the 3D coordinate system for the camera-ball line.

16. A method, comprising:

performing a ball detection to detect a pixel location of a sports ball in an image captured by a tracking camera, the tracking camera having a first field of view configured to capture images in a camera coordinate system of the sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith, values for the intrinsic and extrinsic calibration parameters stored to a storage arrangement;

determining, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising three-dimensional (3D) coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system;

determining, based on a 3D model stored to the storage arrangement, an intersection point of the camera-ball line with the 3D model, wherein the 3D model comprises at least part of a sports play area overlapping with the first field of view; and

outputting the intersection point as a 3D position of the sports ball in the image.

17. A processor coupled to a tracking camera and a storage arrangement configured to perform operations comprising:

performing a ball detection to detect a pixel location of a sports ball in an image captured by the tracking camera, the tracking camera having a first field of view configured to capture images in a camera coordinate system of the sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith, values for the intrinsic and extrinsic calibration parameters stored to the storage arrangement;

determining, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising three-dimensional (3D) coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system;

determining, based on a 3D model stored to the storage arrangement, an intersection point of the camera-ball line with the 3D model, wherein the 3D model comprises at least part of a sports play area overlapping with the first field of view; and

outputting the intersection point as a 3D position of the sports ball in the image.

18. A system, comprising:

a tracking camera having a first field of view configured to capture images in an image plane of a camera coordinate system of a sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith;

a storage arrangement including values for the intrinsic and extrinsic calibration parameters; and

a processing arrangement coupled to the tracking camera and the storage arrangement configured to:

perform a ball detection to detect a pixel location in the image plane of the sports ball in each of a sequence of images;

generate a first time-series of the ball detections in the image plane;

determine, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising three-dimensional (3D) coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system for each of the sports ball detections in the first time-series;

generate a second time-series of an elevation angle of each camera-ball line; and

identify, based on minima in the second time-series, bounces of the sports ball captured in the sequence of images.

19. The system of claim 18 , wherein the storage arrangement further stores a three-dimensional (3D) model of at least part of a sports play area overlapping with the first field of view, wherein the processing arrangement is further configured to:

determine, based on the 3D model, for each identified bounce, an intersection point of the camera-ball line with the 3D model; and

output the intersection points as 3D positions of bounces of the sports ball.

20. The system of claim 18 , further comprising:

a tracking radar having a second field of view at least partially overlapping the first field of view configured to capture radar data of the sports ball, wherein the processing arrangement is further configured to:

identify bounces in dependence on the radar data by determining velocity discontinuities in the radar data.

21. The system of claim 18 , wherein the processing arrangement is further configured to:

distinguish bounces from rolls in a second time series based on a physical model of a bounce; and

classify each minima in the second time series that has not been determined to be a bounce as being a roll.

22. The system of claim 18 , wherein a 3D position of the sports ball in the image is output to a database, a 3D graphics rendering engine, or a graphical illustration of the 3D position of the sports ball.

23. A method, comprising:

performing a ball detection to detect a pixel location in an image plane of a sports ball in each of a sequence of images captured by a tracking camera, the tracking camera having a first field of view configured to capture images in the image plane of a camera coordinate system of the sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith, values for the intrinsic and extrinsic calibration parameters stored to a storage arrangement;

generating a first time-series of the ball detections in the image plane;

determining, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising three-dimensional (3D) coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system for each of the ball detections in the first time-series;

generating a second time-series of an elevation angle of each camera-ball line; and

identifying, based on minima in the second time-series, bounces of the sports ball captured in the sequence of images.

24. A processor coupled to a tracking camera and a storage arrangement configured to perform operations comprising:

performing a ball detection to detect a pixel location in an image plane of a sports ball in each of a sequence of images captured by the tracking camera, the tracking camera having a first field of view configured to capture images in the image plane of a camera coordinate system of the sports ball bouncing and rolling after an initial trajectory, the tracking camera having intrinsic and extrinsic calibration parameters associated therewith, values for the intrinsic and extrinsic calibration parameters stored to the storage arrangement;

generating a first time-series of the ball detections in the image plane;

determining, based on the values for the intrinsic and extrinsic calibration parameters, a camera-ball line comprising three-dimensional (3D) coordinates of a straight line passing through the camera in a direction of the sports ball in a 3D coordinate system for each of the ball detections in the first time-series;

generating a second time-series of an elevation angle of each camera-ball line; and

identifying, based on minima in the second time-series, bounces of the sports ball captured in the sequence of images.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: TUXEN, FREDRIK; UNGSTRUP, MICHAEL
To: TRACKMAN A/S
Reel/Frame 059652/0988 →
Continuity (3)
Provisional Application 63202850 · Jun 27, 2021
Provisional Application 63200425 · Mar 5, 2021
Related Publication 20220284625A1 · Sep 8, 2022
References Cited (19)
US 20040017473A1 · Marks · 2004 [cited by examiner]
US 20050012023A1 · Vock · 2005 [cited by examiner]
US 20060008116A1 · Kiraly · 2006 [cited by examiner]
US 20100020068A1 · House · 2010 [cited by examiner]
US 20110205077A1 · Cavallaro · 2011 [cited by examiner]
US 20160071272A1 · Gordon · 2016 [cited by examiner]
US 20180156914A1 · Tuxen · 2018 [cited by examiner]
US 20190134506A1 · Gupta · 2019 [cited by examiner]
US 20200064119A1 · Gordon · 2020 [cited by examiner]
US 20210233326A1 · Li · 2021 [cited by examiner]
Xiaohan Zhang, “Real-time Golf Ball Detection and Tracking Based on Convolutional Neural Networks,” Dec. 14, 2020, 2020 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Oct. 11-14, 2020. Toronto, Ca… [cited by examiner]
Paresh R. Kamble,“A Convolutional Neural Network based 3D Ball Tracking by Detection in Soccer Videos,” Mar. 15, 2019, Eleventh International Conference on Machine Vision (ICMV 2018),Proc. of SPIE vol. 11041,pp. 110412O… [cited by examiner]
Marco Leo,“Accurate ball detection in soccer images using probabilistic analysis of salient regions,” May 22, 2013,Machine Vision and Applications (2013) 24,pp. 1561-1571. [cited by examiner]
Tianxiao Zhang,“Efficient Golf Ball Detection and Tracking Based on Convolutional Neural Networks and Kalman Filter,” Apr. 21, 2021, Computer Vision and Pattern Recognition, arXiv:2012.09393,pp. 1-9. [cited by examiner]
Xinguo Yu,“Trajectory-Based Ball Detection and Tracking in Broadcast Soccer Video,” Feb. 1, 2006,IEEE Transactions on Multimedia, vol. 8, No. 6, Dec. 2006,pp. 1164-1177. [cited by examiner]
Anna Kukleva,“Utilizing Temporal Information in Deep Convolutional Network for Efficient Soccer Ball Detection and Tracking,” Dec. 1, 2019, RoboCup 2019: Robot World Cup XXIII. RoboCup 2019. Lecture Notes in Computer Sc… [cited by examiner]
Jinchang Ren,“Real-Time Modeling of 3-D Soccer Ball Trajectories From Multiple Fixed Cameras,” Mar. 19, 2007, IEEE Transactions on Circuits and Systems for Video Technology, vol. 18, No. 3, Mar. 2008,pp. 350-360. [cited by examiner]
Vito Reno,“Convolutional Neural Networks based ball detection in tennis games,” Jun. 2018, In Proceedings of the IEEE conference on computer vision and pattern recognition workshops, pp. 1871-1876. [cited by examiner]
Alexander Warnecke,“Convolutional Neural Networks for Movement Prediction in Videos,” Aug. 15, 2017,In: Roth, V., Vetter, T. (eds) Pattern Recognition. GCPR 2017. Lecture Notes in Computer Science( ), vol. 10496. Spring… [cited by examiner]
Cited By (1)
US 12,412,285