SYSTEM AND METHOD FOR 3D OPTICAL TRACKING OF MULTIPLE IN-FLIGHT GOLF BALLS
20200139193 ยท 2020-05-07
Inventors
- Joseph R. Guerci (La Jolla, CA, US)
- David R. Kirk (Springfield, VA, US)
- Jameson S. Bergin (Glastonbury, CT, US)
- Raymond M. Guerci (San Diego, CA, US)
- Joel R. Studer (San Diego, CA, US)
- Brian C. Watson (Gainesville, FL, US)
- Jeffrey R. Ridgway (San Diego, CA, US)
Cpc classification
A63B2071/0638
HUMAN NECESSITIES
G01S5/0054
PHYSICS
G01B5/0023
PHYSICS
A63B71/0622
HUMAN NECESSITIES
International classification
A63B24/00
HUMAN NECESSITIES
A63B71/06
HUMAN NECESSITIES
Abstract
A system for visually tracking the trajectory of an in-flight golf ball through an x-y-z space above a driving range includes a plurality of cameras for respectively creating a video stream of the x-y-z space. Each video stream is presented on a dedicated camera focal plane with information on respective azimuth angles and elevation angles from the particular camera to the in-flight golf ball. A central computer is connected with the camera focal plane of each camera to identify a start point for the golf ball, to track its trajectory in the x-y-z space, and to filter out background clutter. A visual display is provided to show the in-flight golf ball from its start point to a target point in real time.
Claims
1. A system for visually tracking the trajectory of a single golf ball selected from a plurality of in-flight golf balls, in real time, which comprises: an n number of cameras (1.sup.st, 2.sup.nd, 3.sup.rd . . . n.sup.th), wherein the cameras are surveyed into a position on the periphery of a driving range, with the first and second cameras positioned to define a base line having a length L therebetween, and to establish a horizontal center line midway between the first and second cameras perpendicular to the base line, wherein the base line and the center line establish an x-y plane in a three dimensional x-y-z space for the driving range; a central computer for receiving a respective video signal from each of the n number of cameras, wherein the video signal includes an azimuth angle .sub.n and an elevation angle .sub.n for the golf ball in the x-y-z space relative to the surveyed position of the n.sup.th camera in the x-y-z space, wherein the computer continuously updates an in-flight x-y-z coordinate position for the golf ball in the x-y-z space based on mathematical manipulations of data in the video signal from the n number of cameras; and a display monitor connected with the computer for visually tracking the flight path of the golf ball in the x-y-z space.
2. The system recited in claim 1 wherein the video signal from each camera comprises a plurality of pixels arranged in a camera focal plane defined by a horizontal axis and an orthogonal vertical axis, and wherein the position of a pixel on the horizontal axis of the camera focal plane corresponds to the azimuth angle .sub.n of the golf ball and its position on the vertical axis corresponds to the elevation angle .sub.n of the golf ball.
3. The system recited in claim 2 further comprising a plurality of bays for respectively launching a golf ball therefrom, wherein the bays are aligned in a tee-line parallel to the base line, wherein each bay in the tee-line is mapped into a unique set of pixels on a camera imaging focal plane.
4. The system recited in claim 3 wherein a range R is established from a camera to a golf ball location in a selected bay, and the range R is determined at the time the golf ball is launched and is established by reference to a calibration of pixels in the x-y plane between the camera and the golf ball in the bay, to establish an accurate association of the camera with the bay for subsequent 3-D tracking of the in-flight trajectory of the golf ball.
5. The system as recited in claim 4 further comprising a High Speed Video Graphics Processor (HSVGP) for simultaneously receiving video signals from the n number of cameras to filter from the video signals stationary background clutter, objects having a predetermined speed below that of an in-flight golf ball, and other golf balls to reveal only the golf ball launched from the selected bay in the camera focal plane.
6. The system recited in claim 2 wherein cameras are aligned on both sides of the driving range opposite the horizontal center line to establish a plurality of opposed pairs of cameras, wherein the respective fields of view for cameras in a pair cover a same sector of the driving range, and they overlap with the fields of view of cameras covering an immediately adjacent sector of the driving range.
7. The system as recited in claim 6 wherein the computer creates a cue of golf balls from each in-flight trajectory in a sector, and sequentially transfers the golf balls in the cue, in their order, to cameras in the adjacent down-range sector to indicate where and when the golf ball should arrive in the down-range sector for further tracking through the x-y-z space.
8. The system as recited in claim 7 wherein the central computer correlates each golf ball trajectory with a particular bay on the tee line and with a predetermined target in the driving range.
9. The system as recited in claim 8 wherein the central computer detects whether two golf balls collide in flight, and estimates post-impact trajectories to provide continued multi-ball disambiguation.
10. A system for visually tracking the trajectory of a single golf ball selected from a plurality of in-flight golf balls, in real time, which comprises: an m number of bays arranged contiguously along a tee-line, wherein golf balls can be individually launched in a random manner, from any bay at any time, into an x-y-z space for flight on a respective trajectory therein; an n number of cameras for respectively creating an n number of video streams of the x-y-z space, wherein each video stream from each camera covers a predetermined sector of the x-y-z space from a unique perspective, and wherein each video stream is presented on a respective camera focal plane; a central computer for receiving the plurality of video streams for identifying a start point in a predetermined bay on the camera focal plane of each video stream, for establishing when a golf ball is launched from the start point onto its trajectory through the x-y-z space, and for filtering stationary background clutter and the trajectories of other golf balls from the camera focal plane; and a visual display positioned in each bay and connected to the central computer for showing the trajectory in real time of the golf ball launched from the particular bay and through the x-y-z space from its start point in the bay to a target end point.
11. The system recited in claim 10 wherein the camera focal plane from each camera comprises a plurality of pixels arranged relative to a horizontal axis and an orthogonal vertical axis, and wherein the position of a pixel on the horizontal axis of the camera focal plane corresponds to the azimuth angle .sub.n of the golf ball, and its position on the vertical axis corresponds to the elevation angle .sub.n of the golf ball, and wherein each bay in the tee-line is mapped into a unique set of pixels on a camera imaging focal plane,
12. The system recited in claim 11 wherein a range R is established from a camera to a golf ball location in a selected bay, wherein the range R is determined at the time the golf ball is launched and is established by reference to a calibration of pixels in the x-y plane between the camera and the golf ball in the bay, to establish an accurate association of the camera with the bay for subsequent 3D tracking of the in-flight trajectory of the golf ball.
13. The system recited in claim 11 wherein the computer continuously updates an in-flight x-y-z coordinate position for the golf ball in the x-y-z space based on mathematical manipulations of data in the video streams from the n number of cameras.
14. The system recited in claim 10 wherein cameras are positioned to establish a plurality of opposed pairs of cameras, wherein the respective fields of view for cameras in a pair cover a same sector of the golf ball in-flight trajectory, and they overlap with the fields of view of cameras covering an immediately adjacent sector of the golf ball in-flight trajectory.
15. The system recited in claim 14 wherein the computer creates a cue of golf balls from each in-flight trajectory in a sector, and sequentially transfers the golf balls in the cue, in their order, to cameras in the adjacent down-range sector to indicate where and when the golf ball should arrive in the down-range sector for further tracking through the x-y-z space.
16. The system recited in claim 15 further comprising a High Speed Video Graphics Processor (HSVGP) for simultaneously receiving video signals from the n number of cameras to filter from the video signals stationary background clutter and objects having a predetermined speed below that of an in-flight golf ball, to reveal only golf balls as moving objects in the camera focal plane.
17. The system recited in claim 10 wherein the central computer correlates each golf ball trajectory with a particular bay on the tee-line and with a projected target in the driving range.
18. The system recited in claim 10 wherein the central computer detects whether two golf balls collide in flight, and estimates post-impact trajectories to provide continued multi-ball disambiguation.
19. A non-transitory, computer-readable medium having executable instructions stored thereon that direct a computer system to perform a process for tracking the trajectory of a single golf ball in a driving range, the trajectory being selected from a plurality of in-flight golf balls in real time, the medium comprising instructions for: receiving a video stream from each of an n number of cameras; arranging a plurality of pixels from each video stream into a camera focal plane defined by a horizontal axis representing an azimuth angle .sub.n and a vertical axis representing an elevation angle .sub.n; identifying a golf ball location in a selected camera focal plane at the time a golf ball is launched into the driving range; filtering the video streams to remove stationary background clutter, objects having a predetermined speed below that of an in-flight golf ball, and other golf balls not identified in the identifying instruction, to reveal only the identified golf ball in the focal plane; calculating an in-flight coordinate location for the identified golf ball after launch, based on azimuth and elevation measurements from the cameras; continuously updating the in-flight coordinate location of the identified golf ball to create a trajectory for the identified golf ball; and presenting the in-flight trajectory of the identified golf ball for visual evaluation by a golfer.
20. The medium recited in claim 19 further comprising instructions for: detecting when two golf balls collide in flight; and estimating post-impact trajectories to provide continued multi-ball disambiguation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The novel features of this invention, as well as the invention itself, both as to its structure and its operation, will be best understood from the accompanying drawings, taken in conjunction with the accompanying description, in which similar reference characters refer to similar parts, and in which:
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] Referring initially to
[0022] It is also indicated in
[0023]
[0024] In
[0025]
[0026] For a preferred embodiment of the present invention, the central computer 36 will include the golf ball acquisition unit 42, noted above, a golf ball tracking unit 44, and a golf-ball/target correlator 46. The golf-ball/target correlator 46 of the central computer 36 is connected directly with a respective display monitor 48 that is located respectively in each bay 20 on the tee-line 24.
[0027] In detail, the golf ball acquisition unit 42 of the central computer 36 is used to detect all moving golf balls 22 within the respective fields of view 28 of each camera 18. The golf ball acquisition unit 42 then uses this information to compute the location of each golf ball 22, and uniquely identify each golf ball 22 within the reference system (.sub.n, .sub.n) of each camera 18. The golf ball acquisition unit 42 also isolates identified golf balls 22 from others, by filtering out background clutter and moving objects other than the particular identified golf ball 22. Thus, the output 50 that is passed from the golf ball acquisition unit 42 to the golf ball tracking unit 44 includes multiple tracks (i.e. trajectories 26) that include a particular trajectory 26 for each identified golf ball 22.
[0028] For an alternate embodiment of the present invention, as shown in
[0029] By following the trajectory 26 of a golf ball 22 in the output 52 from the golf ball tracking unit 44, the golf-ball/target correlator 46 is able to correlate the actual location where a particular trajectory 26 terminates, with an intended target location (not shown). Stated differently, the golf-ball/target correlator 46 determines the distance by which the golf ball 22 misses its intended target. Further, a video presentation of the trajectory 26 and its relation to a target (not shown) can be provided on a display monitor 48 for viewing by a golfer in the bay 20 from which the golf ball 22 is launched.
[0030] An important feature for the venue 10 of the present invention is the ability to follow the in-flight trajectory 26 of a golf ball 22 from its launch point in a bay 20 to an end point where the trajectory 26 is terminated. Structurally, the components involved in this operation are the golf ball acquisition unit 42 and the golf ball tracking unit 44 of the central computer 36. As noted earlier, each bay 20 in the tee-line 24 can be calibrated (mapped) into the video stream of selected cameras 18. Most importantly, the calibration (i.e. mapping) is done for the first camera 18.sub.(1) and the second camera 18.sub.(2). From this, it is to be appreciated that an operation of the present invention is thereafter accomplished within the reference system (.sub.n, .sub.n) of each camera 18.
[0031] With the above in mind, arid with reference to
[0032] With specific consideration of the first camera 18.sub.(1) and the second camera 18.sub.(2) as a cooperating pair of cameras 18 covering the sector 30, each camera 18 will respectively record different azimuth angles as well as different elevation angles . Thus, as intended for the present invention, the first camera 18.sub.(1) will record .sub.1 and .sub.1 while the second camera 18.sub.(2) records .sub.2 and .sub.2. This data will then be sent by the respective cameras 18.sub.(1) and 18.sub.(2) on their respective video streams (video signals) to the central computer 36 for manipulation by the golf ball tracking unit 44.
[0033] By way of example, and with reference back to
[0034] One way for tracking a golf ball 22 in accordance with the present invention is to establish a range R from a camera 18 (e.g. cameras 18.sub.(1) and/or 18.sub.(2)) to a golf ball 22 at its location in a selected bay 20. In this case, the range R is established at, or prior to, the time the golf ball 22 is launched. As disclosed above, this is done by calibrating (referencing) pixels 64 from the golf ball 22 from a selected bay 20 with the video streams of the cameras 18 (e.g. cameras 18.sub.(1) and/or 18.sub.(2)). The result here is an accurate association of the cameras 18 with the bay 20 for subsequent 3-D tracking of the in-flight trajectory 26 of the golf ball 22.
[0035] In an alternate embodiment, a mathematical manipulation for the coordinates of a golf ball 22 in x-y-z space at any point in time t.sub.s on its flight trajectory 26, is based on known geometrical values of the system. In detail, these geometrical values are: 1) values for an azimuth angle .sub.n and an elevation angle .sub.n which are measured respectively from each of the n numbered cameras 18; 2) the length L of the base line 14 between the first camera 18.sub.(1) and the second camera 18.sub.(2); and 3) the distance x.sub.m of a bay 20 along the base line 14 from the first bay 20.sub.(1), where there are an m number of bays. For these manipulations, azimuth .sub.n and elevation from .sub.n for each camera 18, and the distance L are always known at any given time t.sub.s during the flight of the golf ball 22. Thus, at a given time t, the coordinates of a golf ball's position in x-y-z space can be determined using the video signal (.sub.n, .sub.n) from the first and second cameras 18.sub.(1) and 18.sub.(2) and physical measurements from the driving range 12 (e.g. L). Manipulations will proceed as follows: [0036] With reference to
[0049] As intended for the present invention, the same mathematical manipulation can then be made during the entire flight of the golf ball 22. Importantly, the golf ball 22 can be passed off from the cameras 18 covering sector 30 to the cameras 18 covering sector 32 and further, if needed to the cameras 18 covering the sector 34.
[0050] While the particular System and Method for 3D Optical Tracking of Multiple In-Flight Golf Balls as herein shown and disclosed in detail is fully capable of obtaining the objects and providing the advantages herein before stated, it is to be understood that it is merely illustrative of the presently preferred embodiments of the invention and that no limitations are intended to the details of construction or design herein shown other than as described in the appended claims.