IP Library Granted Patent US 12,322,122
Granted Patent B2
US 12,322,122 · App. 18/097,032 · Granted Jun 3, 2025

Motion based pre-processing of two-dimensional image data prior to three-dimensional object tracking with virtual time synchronization

Inventors: Daniel Forsgren (Enebyberg, SE); Stein Norheim (Spånga, SE)
Assignee: Topgolf Sweden AB
G06T7/292G06T7/248G06T7/70G06T7/74G06T7/97G06V10/25H04N23/90G06T2207/10016G06T2207/30224G06T2207/30241
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,322,122
App. No.
18/097,032
Granted
Jun 3, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including medium-encoded computer program products, for pre-processing image data before 3D object tracking include, in at least one aspect, a method including: performing object detection in uncompressed, two-dimensional image data from a camera to produce two-dimensional location data for objects of interest; processing the two-dimensional location data for the objects of interest using a motion criterion to generate possible paths data for the objects of interest; and constructing a flight track of an object in three-dimensional space, from the possible paths data and position information obtained from a sensor, by filtering out false positives in the possible paths data.

Claims (35)

1. A method comprising:

performing object detection in uncompressed, two-dimensional image data from a camera to produce two-dimensional location data for objects of interest;

processing the two-dimensional location data for the objects of interest using a motion criterion to generate possible paths data for the objects of interest; and

constructing a flight track of an object in three-dimensional space, from the possible paths data and position information obtained from a sensor, by filtering out false positives in the possible paths data.

2. The method of claim 1 , wherein performing the object detection and processing the two-dimensional location data effectively compresses ball location data, to reduce bandwidth requirements for sending the possible paths data, in a manner that enables virtual time synchronization of measured object positions.

3. The method of claim 1 , wherein performing the object detection comprises storing in a list both a location and a size for each set of one or more pixels in the uncompressed, two-dimensional image data from the camera that satisfy an object detection criteria.

4. The method of claim 3 , wherein performing the object detection comprises adaptively adjusting noise thresholds, and processing the two-dimensional location data comprises initiating a possible new path only when a detected object satisfies a predefined size criterion.

5. The method of claim 1 , wherein performing the object detection comprises using a low threshold to favor zero false negatives, while allowing plenty of false positives in the object detection.

6. The method of claim 5 , wherein processing the two-dimensional location data comprises finding sequences of detected objects over three or more image frames that indicate object movement consistent with that of an object in Newtonian motion.

7. The method of claim 6 , wherein the motion criterion is defined to include displacement, velocity, acceleration, or a combination thereof, in each of x and y image dimensions, being inside a predefined range of values.

8. The method of claim 5 , wherein processing the two-dimensional location data comprises loose filtering that allows objects other than objects in motion to be included in the possible paths data, thereby increasing false positives and minimizing false negatives in the possible paths data.

9. The method of claim 1 , wherein processing the two-dimensional location data comprises predicting a next location to add to a possible path for the objects of interest.

10. The method of claim 1 , comprising only sending a possible path for flight track construction when the possible path includes a sequence of locations that exceeds a specified minimum number of locations.

11. The method of claim 10 , comprising actively determining the specified minimum number of locations based on one or more factors comprising a total number of possible paths currently being generated.

12. The method of claim 10 , comprising delaying output of possible paths data for a given image frame until no further detected objects in the given image frame can be included in a sequence of locations that exceeds the specified minimum number of locations.

13. A system comprising:

a camera;

a sensor; and

two or more computers communicatively coupled with the camera and the sensor;

wherein the two or more computers are configured to

perform object detection in uncompressed, two-dimensional image data from the camera to produce two-dimensional location data for objects of interest,

process the two-dimensional location data for the objects of interest using a motion criterion to generate possible paths data for the objects of interest, and

construct a flight track of an object in three-dimensional space, from the possible paths data and position information obtained from the sensor, by filtering out false positives in the possible paths data.

14. The system of claim 13 , wherein the camera, the sensor, and at least one of the two or more computers is located in a sports stadium, and the two-dimensional location data for the objects of interest, the possible paths data for the objects of interest, or both, are sent from a first of the two or more computers to a second of the two or more computers using one or more lower bandwidth, longer distance data communication technologies.

15. The system of claim 14 , wherein the one or more lower bandwidth, longer distance data communication technologies comprise wireless data connections.

16. The system of claim 13 , wherein the camera, the sensor, and at least one of the two or more computers is located on a golf course, and the two-dimensional location data for the objects of interest, the possible paths data for the objects of interest, or both, are sent from a first of the two or more computers to a second of the two or more computers using one or more lower bandwidth, longer distance data communication technologies.

17. The system of claim 16 , wherein the camera is located behind a green on the golf course for a golf competition, the second of the two or more computers is positioned at a television broadcast facility that is a mile or more from the green on the golf course, and the television broadcast facility is configured to overlay a trace of the flight track of the object onto video data obtained by a television camera.

18. The system of claim 13 , wherein the camera and the sensor are included in a set of three or more sensors located at a golf range, a grass field, or another open area into which golf balls can be launched.

19. The system of claim 13 , wherein the sensor comprises a radar device.

20. The system of claim 13 , wherein the sensor comprises another camera.

21. The system of claim 20 , wherein at least one of the two or more computers is configured to filter out the false positives in the possible paths data at least in part by being configured to perform epipolar line filtering before triangulation.

22. The system of claim 13 , wherein a first computer of the two or more computers comprises embedded firmware configured to process the two-dimensional location data, and a second computer of the two or more computers comprises one or more data processing apparatus encoding software configured to construct the flight track of the object in three-dimensional space.

23. The system of claim 13 , wherein a first computer of the two or more computers is configured to perform the object detection, a second computer of the two or more computers is configured to process the two-dimensional location data, and a third computer of the two or more computers is configured to construct the flight track of the object in three-dimensional space.

24. The system of claim 23 , wherein the first computer is configured to perform pre-tracking in two dimensions using loose constraints.

25. The system of claim 13 , wherein the camera is a rolling shutter camera, and the two or more computers are configured to take into account particular time offsets of detected object locations within a frame of the rolling shutter camera.

Assignments (3)
SECURITY INTEREST Recorded May 17, 2023
From: TOPGOLF CALLAWAY BRANDS CORP.; OGIO INTERNATIONAL, INC.; TOPGOLF INTERNATIONAL, INC.; TRAVISMATHEW, LLC; WORLD GOLF TOUR, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063692/0009 →
SECURITY AGREEMENT Recorded May 16, 2023
From: TOPGOLF CALLAWAY BRANDS CORP. (FORMERLY CALLAWAY GOLF COMPANY); OGIO INTERNATIONAL, INC.; TOPGOLF INTERNATIONAL, INC.; TRAVISMATHEW, LLC; WORLD GOLF TOUR, LLC
To: BANK OF AMERICA, N.A, AS COLLATERAL AGENT
Reel/Frame 063665/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2023
From: FORSGREN, DANIEL; NORHEIM, STEIN
To: TOPGOLF SWEDEN AB
Reel/Frame 062892/0751 →
Continuity (5)
Continuation 17745176 · May 16, 2022
Continuation 17404953 · Aug 17, 2021
Continuation PCTEP2021072732 · Aug 16, 2021
Provisional Application 63065872 · Aug 14, 2020
Related Publication 20230215025A1 · Jul 6, 2023
References Cited (81)
US 7843510B1 · Ayer et al. · 2010 [cited by applicant]
US 8077917B2 · Forsgren · 2011 [cited by applicant]
US 8335345B2 · White et al. · 2012 [cited by applicant]
US 8339456B2 · Eledath et al. · 2012 [cited by applicant]
US 9339715B2 · Luciano, Jr. et al. · 2016 [cited by applicant]
US 9406131B2 · Wurmlin et al. · 2016 [cited by applicant]
US 9555284B2 · Vollbrecht et al. · 2017 [cited by applicant]
US 9649545B2 · Dawe et al. · 2017 [cited by applicant]
US 10045008B2 · Kwon et al. · 2018 [cited by applicant]
US 10147191B1 · Ribeiro et al. · 2018 [cited by applicant]
US 10238943B2 · Vollbrecht et al. · 2019 [cited by applicant]
US 10380409B2 · Thornbrue · 2019 [cited by examiner]
US 10596416B2 · Forsgren · 2020 [cited by applicant]
US 10639537B2 · Kiraly et al. · 2020 [cited by applicant]
US 10762642B2 · Marty · 2020 [cited by examiner]
US 10898757B1 · Johansson et al. · 2021 [cited by applicant]
US 10989791B2 · Tuxen et al. · 2021 [cited by applicant]
US 11064107B2 · Gefen et al. · 2021 [cited by applicant]
US 11132807B2 · Okutani · 2021 [cited by applicant]
US 11135497B2 · Joo · 2021 [cited by examiner]
US 11157742B2 · Zhang · 2021 [cited by examiner]
US 20040249848A1 · Carlbom · 2004 [cited by examiner]
US 20070238539A1 · Dawe et al. · 2007 [cited by applicant]
US 20080281553A1 · Frank et al. · 2008 [cited by applicant]
US 20080293464A1 · Cheng et al. · 2008 [cited by applicant]
US 20080293488A1 · Cheng et al. · 2008 [cited by applicant]
US 20080312010A1 · Marty et al. · 2008 [cited by applicant]
US 20110273562A1 · Dawe et al. · 2011 [cited by applicant]
US 20140111625A1 · Dawe et al. · 2014 [cited by applicant]
US 20140301598A1 · Marty et al. · 2014 [cited by applicant]
US 20160071548A1 · House et al. · 2016 [cited by applicant]
US 20160307335A1 · Perry et al. · 2016 [cited by applicant]
US 20160379074A1 · Nielsen et al. · 2016 [cited by applicant]
US 20180011184A1 · Du Toit et al. · 2018 [cited by applicant]
US 20180120428A1 · Tuxen et al. · 2018 [cited by applicant]
US 20180369638A1 · Guerci et al. · 2018 [cited by applicant]
US 20190224552A1 · Kiraly et al. · 2019 [cited by applicant]
US 20200025903A1 · Tuxen et al. · 2020 [cited by applicant]
US 20200038742A1 · Van Wagoner et al. · 2020 [cited by applicant]
US 20200057889A1 · Lee et al. · 2020 [cited by applicant]
US 20210409768A1 · Joshi et al. · 2021 [cited by applicant]
US 20240273738A1 · Forsgren · 2024 [cited by examiner]
CN 103620682 · 2014 [cited by applicant]
CN 109792543 · 2019 [cited by applicant]
EP 1899025 · 2008 [cited by applicant]
JP 2008284166 · 2008 [cited by applicant]
JP 2019175115 · 2019 [cited by applicant]
KR 1020100102583 · 2010 [cited by applicant]
WO WO1997028856 · 1997 [cited by applicant]
WO WO1999051990 · 1999 [cited by applicant]
WO WO2006097357 · 2006 [cited by applicant]
WO WO2010040219 · 2010 [cited by applicant]
WO WO2018105290 · 2018 [cited by applicant]
WO WO2018138708 · 2018 [cited by applicant]
WO WO2019099780 · 2019 [cited by applicant]
WO WO2019122922 · 2019 [cited by applicant]
Extended European Search Report in European Appln No. 24200931.4, dated Dec. 6, 2024, 11 pages. [cited by applicant]
Kamble et al., “Ball tracking in sports: a survey,” Artif. Intell. Rev., Oct. 2017, 52(3):1655-1705. [cited by applicant]
Kumar et al., “3D Estimation and Visualization of Motion in a Multicamera Network for Sports,” 2011 Irish Machine Vision and Image Processing Conference, Dublin, Ireland, Sep. 7-9, 2011, 15-19. [cited by applicant]
Miyata et al., “Ball 3D Trajectory Reconstruction without Preliminary Temporal and Geometrical Camera Calibration,” In Proceedings of the 30th IEEE Conference on Computer Vision and Pattern Recognition Workshops, CVPRW … [cited by applicant]
Zupancic et al., “Automatic Golf Ball Trajectory Reconstruction and Visualization,” In Proceedings of the Computer Vision/Computer Graphics Collaboration Techniques (Mirage 2009), Rocquencourt, France, May 4-6, 2009, 15… [cited by applicant]
Office Action in Chinese Appln. No. 202180055447.7, dated Oct. 13, 2023, 13 pages (with English translation). [cited by applicant]
Office Action in Japanese Appln. No. 2023-121387, dated Sep. 28, 2023, 5 pages (with English translation). [cited by applicant]
Office Action in Korean Appln. No. 10-2023-7006266, dated Nov. 3, 2023, 7 pages (with English translation). [cited by applicant]
Office Action in Japanese Appln. No. 2023-510444, dated Jun. 19, 2023, 7 pages (with English translation). [cited by applicant]
Office Action in Korean Appln. No. 10-2023-7006266, dated Jul. 9, 2023, 16 pages (with English translation). [cited by applicant]
Wikipedia, Bounding volume hierarchy, https://en.wikipedia.org/wiki/Bounding_volume_hierarchy, Oct. 16, 2020, 4 pages. [cited by applicant]
Wikipedia, Connected-component labeling, https://en.wikipedia.org/wiki/Connected-component_labeling, Aug. 12, 2020, 10 pages. [cited by applicant]
Wikipedia, Curse of dimensionality, https://en.wikipedia.org/wiki/Curse_of_dimensionality, Aug. 12, 2020, 6 pages. [cited by applicant]
Wikipedia, Epipolar geometry, https://en.wikipedia.org/wiki/Epipolar_geometry, Aug. 12, 2020, 4 pages. [cited by applicant]
Wikipedia, Foeground detection, https://en.wikipedia.org/wiki/Foreground_detection, Aug. 12, 2020, 11 pages. [cited by applicant]
Wikipedia, Octree, https://en.wikipedia.org/wiki/Octree, Aug. 12, 2020, 5 pages. [cited by applicant]
Wikipedia, Triangulation (computer vision), https://en.wikipedia.org/wiki/Triangulation_(compter_vision), Aug. 12, 2020, 5 pages. [cited by applicant]
Brenton Bailey, “Real Time 3D motion tracking for interactive computer simulations”, https://www.imperial.ac.uk/pls/portallive/docs/1/20673697.PDF; Jun. 2007, 74 pages. [cited by applicant]
International Application Serial No. PCT/EP2021/072732, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, mailed Dec. 1, 2021, 16 pages. [cited by applicant]
Kim et al., “Multiple Hypothesis Tracking Revisited”, 2015 IEEE International Conference on Computer Vision (ICCV), 2015, pp. 4696-4704, doi: 10.1109/ICCV.2015.533. [cited by applicant]
Motion-Based Multiple object Tracking—Matlab & Simulink—MathWorks Nordic, https://se.mathworks.com/help/vision/examples/motion-based-multiple-object-tracking.html, Aug. 12, 2020, 8 pages. [cited by applicant]
Qazi et al., “Automated Ball Tracking in Tennis Videos”, IEEE Computer Society, 2015 Third International Conference on Image Information Processing, 2015, pp. 236-240. [cited by applicant]
Takahashi et al., “Visualization of putting trajectories in live golf broadcasting”, ACM, SIGGRAPH '19 Talks, https://doi.org/10.1145/3306307.3328148, Jul. 28, 2019, 2 pages. [cited by applicant]
Using Kalman Filter for Object Tracking—Matlab & Simulink—MathWorks Nordic, https://se.mathworks.com/help/vision/examples/using-kalman-filter-for-object-tracking.html, Aug. 12, 2020, 10 pages. [cited by applicant]
Wang et al., “Tracking a Golf Ball With High-Speed Stereo Vision System”, IEEE Transactions on Instrumentation and Measurement, vol. 68, No. 8, Aug. 2019, pp. 2742-2754. [cited by applicant]