ES2877049T3 - Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen - Google Patents

Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen Download PDF

Info

Publication number
ES2877049T3
ES2877049T3 ES18704614T ES18704614T ES2877049T3 ES 2877049 T3 ES2877049 T3 ES 2877049T3 ES 18704614 T ES18704614 T ES 18704614T ES 18704614 T ES18704614 T ES 18704614T ES 2877049 T3 ES2877049 T3 ES 2877049T3
Authority
ES
Spain
Prior art keywords
camera
golf ball
radar
data
flight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18704614T
Other languages
English (en)
Inventor
Daniel Forsgren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Topgolf Sweden AB
Original Assignee
Topgolf Sweden AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Topgolf Sweden AB filed Critical Topgolf Sweden AB
Application granted granted Critical
Publication of ES2877049T3 publication Critical patent/ES2877049T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/585Velocity or trajectory determination systems; Sense-of-movement determination systems processing the video signal in order to evaluate or display the velocity value
    • G01S13/587Velocity or trajectory determination systems; Sense-of-movement determination systems processing the video signal in order to evaluate or display the velocity value using optical means
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B57/00Golfing accessories
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/66Radar-tracking systems; Analogous systems
    • G01S13/72Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • A63B2024/0034Tracking the path of an object, e.g. a ball inside a soccer pitch during flight
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/89Field sensors, e.g. radar systems
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3658Means associated with the ball for indicating or measuring, e.g. speed, direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Un procedimiento para realizar un seguimiento de una pelota de golf (155) en vuelo, comprendiendo el procedimiento: obtener datos de imagen bidimensionales (165) de una pelota de golf en vuelo, donde los datos de imagen bidimensionales se originan en una cámara (130, 160); obtener datos de radar (185) de la pelota de golf en vuelo, donde los datos de radar se originan en un dispositivo de radar Doppler (180) asociado a la cámara; interpolar los datos de radar para generar datos de radar interpolados de la pelota de golf en vuelo, donde la interpolación comprende ajustar una curva a los datos de radar para extrapolar los datos de radar a una función de tiempo continua para la pelota de golf en vuelo; y mezclar información de distancia radial obtenida a partir de los datos de radar interpolados de la pelota de golf en vuelo con información de distancia angular obtenida a partir de los datos de imagen bidimensionales de la pelota de golf en vuelo para formar información de ubicación tridimensional de la pelota de golf en un espacio tridimensional, donde la mezcla comprende para cada una de una pluralidad de observaciones de cámara de la pelota de golf en los datos de imagen bidimensionales, hallar una distancia radial a la pelota de golf utilizando la función continua y un tiempo de observación de cámara y calcular una ubicación tridimensional de la pelota de golf en el espacio utilizando la distancia radial y detalles de la observación de cámara, donde el cálculo comprende multiplicar la distancia radial con un cálculo trigonométrico para hallar una distancia de profundidad a la pelota de golf, donde el cálculo trigonométrico es de un ángulo entre una ubicación de referencia de cámara en los datos de imagen bidimensionales y una ubicación identificada de la pelota de golf en los datos de imagen bidimensionales; y usar álgebra lineal para hallar una distancia horizontal y una distancia vertical a la pelota de golf a partir de la distancia de profundidad y donde los detalles de la observación de cámara comprenden un desplazamiento horizontal entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, un desplazamiento vertical entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, y una distancia focal de la cámara.

Description

DESCRIPCIÓN
Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen
Antecedentes
Esta memoria descriptiva se refiere al seguimiento de un objeto en vuelo, tal como una pelota de golf, utilizando datos obtenidos de diferentes tecnologías de sensores de imagen.
Los sistemas y procedimientos para realizar un seguimiento del vuelo de un tiro de golf con sensores incluyen unidades de supervisión de lanzamiento, seguimiento bidimensional (2D) de vuelo completo y seguimiento tridimensional (3D) de vuelo completo. Los tipos de sensores comúnmente utilizados son cámaras, radares Doppler y radares de antenas en fase.
El procedimiento de supervisión de lanzamiento se basa en medir un conjunto de parámetros que se pueden observar durante la rotación (swing) del palo de golf y las primeras pulgadas de vuelo de la pelota después de que el palo haya golpeado la pelota. Los parámetros medidos se utilizan entonces para extrapolar el vuelo esperado de la pelota utilizando modelado matemático y físico.
En contraste, los sistemas de seguimiento 3D de vuelo completo se caracterizan por un diseño que intenta realizar un seguimiento del vuelo completo del tiro de golf, en lugar de extrapolarse a partir de los parámetros de lanzamiento. Además, los sistemas de seguimiento 2D de vuelo completo realizan un seguimiento de la forma de un tiro de golf, como se ve desde un ángulo particular, pero no producirán información 3D y, generalmente, no se pueden utilizar para determinar parámetros clave, tales como la distancia que recorrió la pelota.
El documento US 2016/0320476 A1 describe sistemas, procedimientos y medios legibles por ordenador para realizar un seguimiento de un objeto deportivo en movimiento. Un procedimiento para realizar un seguimiento de un objeto deportivo en movimiento incluye calibrar una perspectiva de una imagen de una cámara con respecto a una perspectiva de un radar Doppler para un seguimiento simultáneo del objeto deportivo en movimiento y realizar un seguimiento del objeto deportivo en movimiento simultáneamente con la cámara y el radar Doppler. El procedimiento puede comprender además eliminar desplazamientos o minimizar las diferencias entre las mediciones de cámara simultáneas y las mediciones de radar Doppler del objeto deportivo en movimiento. El procedimiento también puede incluir combinar una medición de cámara de una posición angular del objeto deportivo en movimiento con una medición Doppler simultánea de una distancia radial, velocidad u otra medición del objeto deportivo en movimiento.
El documento WO 2010/086414 A2 describe un conjunto que comprende un radar y una cámara para obtener datos relacionados con una pelota de golf y un palo de golf en el lanzamiento, donde los datos de radar relacionados con la pelota y el palo se ilustran en una imagen proporcionada por la cámara. Los datos ilustrados pueden ser trayectorias de la pelota/palo/cabeza del palo, direcciones y/o ángulos, tales como un ángulo de la cara del palo de golf que golpea la pelota, el ángulo de inclinación de la cabeza del palo o similares. Un conjunto de este tipo también se puede utilizar para definir un ángulo o dirección en la imagen y girar, por ejemplo, una imagen del golfista para que la dirección o ángulo determinados coincidan con un ángulo/dirección predeterminados para poder comparar diferentes imágenes.
Resumen
Esta memoria descriptiva describe tecnologías relacionadas con el seguimiento de un objeto en vuelo, tal como una pelota de golf, utilizando datos obtenidos de tecnologías de sensores de cámara y de radar y, más en particular, a un sistema de seguimiento 3D de vuelo completo que utiliza una combinación de datos de cámara y de radar Doppler.
En general, uno o más aspectos de la materia objeto descrita en esta memoria descriptiva pueden incorporarse en uno o más procedimientos que incluyen obtener datos de imagen bidimensionales de una pelota de golf en vuelo, donde los datos de imagen bidimensionales se originan en una cámara; obtener datos de radar de la pelota de golf en vuelo, donde los datos de radar se originan en un dispositivo de radar Doppler asociado a la cámara; interpolar los datos de radar para generar datos de radar interpolados de la pelota de golf en vuelo; y mezclar información de distancia radial obtenida a partir de los datos de radar interpolados de la pelota de golf en vuelo con información de distancia angular obtenida a partir de los datos de imagen bidimensionales de la pelota de golf en vuelo para formar información de ubicación tridimensional de la pelota de golf en un espacio tridimensional. Otras formas de realización de este aspecto incluyen sistemas, aparatos y productos de programa informático correspondientes.
La interpolación incluye ajustar una curva a los datos de radar para extrapolar los datos de radar a una función continua de tiempo para la pelota de golf en vuelo, y la mezcla incluye, para cada una de una pluralidad de observaciones de cámara de la pelota de golf en los datos de imagen bidimensionales, hallar una distancia radial a la pelota de golf utilizando la función continua y un tiempo de observación de cámara, y calcular una ubicación tridimensional de la pelota de golf en el espacio utilizando la distancia radial y detalles de la observación de cámara. El cálculo incluye: multiplicar la distancia radial con un cálculo trigonométrico para hallar una distancia de profundidad a la pelota de golf, donde el cálculo trigonométrico es de un ángulo entre una ubicación de referencia de cámara en los datos de imagen bidimensionales y una ubicación identificada de la pelota de golf en los datos de imagen bidimensionales; y usar álgebra lineal para hallar una distancia horizontal y una distancia vertical a la pelota de golf a partir de la distancia de profundidad y donde los detalles de la observación de cámara incluyen un desplazamiento horizontal entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, un desplazamiento vertical entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, y una distancia focal de la cámara.
La función continua puede ser una función de velocidad radial continua, y hallar la distancia radial puede incluir integrar la función de velocidad radial continua desde un tiempo inicial a un tiempo actual. La cámara puede tener una frecuencia de cuadro predeterminada. Los datos de radar pueden incluir datos de velocidad pero no datos de distancia. Encontrar la distancia radial puede incluir: identificar un valor de velocidad a partir de la función continua de acuerdo con el tiempo de observación de cámara; multiplicar el valor de velocidad por un valor de tiempo correspondiente a un tiempo de cuadro de la frecuencia de cuadro predeterminada para obtener un valor de distancia; y añadir el valor de distancia a una distancia radial previamente hallada de la pelota de golf.
Se puede establecer una distancia radial inicial a la pelota de golf de acuerdo con un punto de inicio predeterminado desde el cual se golpea la pelota de golf. Encontrar la distancia radial puede incluir determinar una distancia radial inicial a la pelota de golf a partir de una distancia calculada a un golfista identificado en los datos de imagen bidimensionales de la cámara. Identificar un valor de velocidad a partir de la función continua para observaciones de cámara después de la primera observación puede incluir utilizar la función continua y un tiempo igual a un tiempo de observación de cámara actual menos la mitad del tiempo de cuadro. Identificar un valor de velocidad a partir de la función continua para observaciones de cámara después de la primera observación puede incluir promediar un primer valor de velocidad y un segundo valor de velocidad, donde el primer valor de velocidad se calcula utilizando la función continua y un tiempo de observación de cámara actual, y el segundo valor de velocidad se calcula utilizando la función continua y un tiempo de observación de cámara previa.
La frecuencia de cuadro predeterminada puede programarse. Obtener los datos de radar y ajustar la curva a los datos de radar se puede realizar simultáneamente, y ajustar la curva puede incluir actualizar el ajuste de curva a medida que se reciben más datos de radar de la pelota de golf en vuelo. Además, el procedimiento puede incluir: analizar objetos identificados en los datos de imagen bidimensionales para identificar las pluralidad de observaciones de cámara de la pelota de golf; comparar los datos de radar con un criterio para identificar un tiro de golf; señalizar el tiro de golf que se está identificando a partir de los datos de radar; y ajustar uno o más criterios utilizados en el análisis para favorecer la selección de un conjunto de identificaciones de objeto que corresponden al tiro de golf para identificar la pluralidad de observaciones de cámara de la pelota de golf.
Además, uno o más aspectos de la materia objeto descrita en esta memoria descriptiva pueden incorporarse en uno o más sistemas que incluyen una unidad de sensor que incluye una cámara de seguimiento de objetos y un dispositivo de radar Doppler, que están alineados entre sí e integrados en un alojamiento de sensor compartido; y un ordenador que incluye un procesador de hardware y una memoria acoplada al procesador de hardware, donde las instrucciones de codificación de memoria están configuradas para hacer que el procesador de hardware ajuste una curva a datos de radar que se originan en el dispositivo de radar Doppler para extrapolar los datos de radar a una función continua de tiempo para una pelota de golf en vuelo, y donde las instrucciones están configuradas para hacer que el procesador de hardware, para cada una de una pluralidad de observaciones de cámara de la pelota de golf en datos de imagen bidimensionales que se originan en la cámara de seguimiento de objetos, encuentre una distancia radial a la pelota de golf utilizando la función continua y un tiempo de observación de cámara, y calcule una ubicación tridimensional de la pelota de golf en el espacio utilizando la distancia radial y detalles de la observación de cámara.
Estas y otras formas de realización pueden incluir opcionalmente una o más de las siguientes características. El dispositivo de radar Doppler puede ser un dispositivo de radar Doppler de una sola antena. El dispositivo de radar Doppler puede estar configurado para proporcionar datos de velocidad pero no datos de distancia como datos de radar. El sistema puede incluir una cámara de radiodifusión a la que está conectada la unidad de sensor. Otros componentes de sistema pueden diseñarse de acuerdo con los procedimientos descritos en el presente documento. Además, un producto de programa informático, codificado en un medio legible por ordenador, puede hacerse funcionar para hacer que el aparato de procesamiento de datos realice operaciones de acuerdo con cualquiera de los procedimientos informáticos descritos en el presente documento.
Varias formas de realización de la materia objeto descrita en esta memoria descriptiva pueden implementarse para realizar una o más de las siguientes ventajas. El seguimiento preciso de objetos 3D se puede lograr utilizando una combinación de tecnologías de sensores de cámara y de radar que se pueden implantar fácilmente. Las tecnologías de sensor de cámara y de radar se pueden integrar juntas en una sola unidad de sensor, simplificándose así la experiencia del usuario ya que el sistema óptico de radar pasa a ser una única unidad física que se puede mover fácilmente como una unidad, es decir, la unidad se trata como un único sensor. Además, el enfoque adoptado para combinar datos de las diferentes tecnologías de sensor facilita la utilización de tecnologías de radar más simples y la miniaturización, lo que permite reducir los costos del sistema al tiempo que se mantiene una alta precisión en el seguimiento de objetos.
En comparación con los sistemas de seguimiento 3D de radar de antenas en fase, el uso de una cámara puede proporcionar una mayor resolución angular que el análisis de desfase de radar, lo que permite detalles más precisos acerca del vuelo de la pelota. La necesidad de una multitud de antenas de radar se puede evitar en algunas implementaciones, lo que permite un producto más pequeño. Además, en algunas implementaciones, se evita la necesidad de desfases en las señales de radar y un análisis de desfase, lo que reduce la complejidad y el coste del hardware.
Los detalles de una o más formas de realización de la materia objeto descrita en esta memoria descriptiva se establecen en los dibujos adjuntos y la siguiente descripción. Otras características, aspectos y ventajas de la invención resultarán evidentes a partir de la descripción, los dibujos y las reivindicaciones.
Breve descripción de los dibujos
La FIG. 1A muestra un ejemplo de un sistema que realiza un seguimiento 3D de una pelota de golf en vuelo.
Las FIGS. 1B y 1C son diagramas que representan el seguimiento 3D de una pelota de golf en vuelo utilizando una cámara y un dispositivo de radar Doppler.
La FIG. 2A es un diagrama esquemático de un sistema de procesamiento de datos.
La FIG. 2B es un diagrama que representa un ejemplo de procesamiento de datos de radar.
Las FIGS. 3A-3C muestran ejemplos adicionales de componentes de sistema que realizan un seguimiento 3D de una pelota de golf en vuelo.
La FIG. 4 es un diagrama de flujo que muestra un ejemplo de un proceso para realizar un seguimiento 3D de una pelota de golf en vuelo, tal como se puede implementar en los sistemas de las FIGS. 1A-3C.
Los números de referencia y designaciones similares en los diversos dibujos indican elementos similares.
Descripción detallada
La FIG. 1A muestra un ejemplo de un sistema que realiza un seguimiento 3D de una pelota de golf en vuelo. El sistema incluye una unidad de sensor 110 acoplada comunicativamente a uno o más ordenadores servidores 120, uno o más ordenadores personales 122 o una combinación de los mismos. La unidad de sensor 110 incluye una cámara de seguimiento de objetos y un dispositivo de radar Doppler, que están alineados entre sí e integrados en un alojamiento de sensor compartido, como se muestra (cabe destacar que, en algunas implementaciones, la alineación no tiene que ser precisa o estar calibrada de alguna manera ya que no es necesario utilizar el dispositivo de radar para determinar información direccional alguna, como se describe en más detalle posteriormente). Además, aunque se representa usando hilos/cables físicos en la FIG. 1, se apreciará que el acoplamiento comunicativo entre la unidad de sensor 110 y el uno o más ordenadores 120, 122 puede implementarse utilizando tecnologías inalámbricas, tales como comunicaciones de campo cercano (NFC), Bluetooth, WiFi y/o una o más tecnologías de telefonía móvil.
En el ejemplo de la FIG. 1, la unidad de sensor 110 está asociada a una cámara adicional 130, y tanto la unidad de sensor 110 como la cámara adicional 130 están orientadas hacia un golfista 140 que ha golpeado una pelota de golf 155 desde una posición inicial 150 hacia una trayectoria de vuelo en la dirección de un agujero. La cámara adicional 130 puede ser una cámara de televisión (TV) adaptada para producir una señal para una transmisión en directo o para una grabación. En algunas implementaciones, la unidad de sensor 110 está ubicada junto con la cámara adicional 130 y fijada mecánicamente a la misma. En otras implementaciones, la unidad de sensor 110 está en la misma área general que la cámara adicional 130, pero no está específicamente unida a la misma.
En algunas implementaciones, se proporciona información sobre la distancia 145 entre la unidad de sensor 110 y la posición inicial 150 de la pelota de golf 155 (por ejemplo, un punto de inicio predeterminado desde el cual se sabe que se golpea la pelota de golf 155, o un parámetro de distancia introducido como dato de entrada en uno o más ordenadores 120, 122). En algunas implementaciones, la distancia 145 se determina automáticamente (por ejemplo, identificando al golfista 140 en datos de imagen mediante clasificación de objetos computarizada, calculando una distancia al golfista identificado 140 mediante trigonometría y una altura conocida o supuesta del golfista 140, y tratando la distancia al golfista 140 como igual a la distancia 145 a la posición inicial 150 de la pelota de golf 155). Cabe destacar que la distancia 145 también se puede utilizar para proporcionar un criterio de tamaño de pelota para ayudar a identificar la pelota de golf 150 en los datos de imagen generados por la unidad de sensor 110.
Además, el sistema puede estar diseñado para convertir posiciones de pelota registradas por la unidad de sensor 110 en posiciones correspondientes en datos de vídeo obtenidos por la cámara adicional 130 y, utilizando esta conversión, una representación gráfica de la trayectoria de vuelo de la pelota puede superponerse a los datos de vídeo para su transmisión y/o grabación. Esta conversión entre la vista de la cámara de la unidad de sensor 110 y la cámara adicional 130 puede realizarse utilizando técnicas de homografía bien conocidas, tales como las descritas en el documento de R. Hartley y A. Zisserman, "Multiple View Geometry in Computer Vision", segunda edición, Cambridge University Press, marzo de 2004. Además, en algunas implementaciones, los presentes sistemas y técnicas se combinan con los sistemas y técnicas de seguimiento de vuelo de pelota 2D descritos en la patente estadounidense n.° 8.077.917, emitida el 13 de diciembre de 2011, y titulada "SYSTEMS AND METHODS FOR ENHANCING IMAGES IN A VIDEO RECORDING OF A SPORTS EVENT [SISTEMAS Y PROCEDIMIENTOS PARA MEJORAR IMÁGENES EN UNA GRABACIÓN DE VÍDEO DE UN EVEnTo DEPORTIVO]", patente que se incorpora en el presente documento como referencia.
En otras implementaciones, no se incluye ninguna cámara adicional 130, y las posiciones de pelota 3D determinadas utilizando la unidad de sensor 110 se pueden utilizar para aumentar otros datos o medios. Por ejemplo, las posiciones de pelota 3D determinadas pueden utilizarse para generar una representación 3D de la trayectoria de vuelo de la pelota dentro de un modelo informático 3D 124 de un entorno para la pelota de golf 155. Este entorno puede ser una representación del entorno físico real en el que se encuentra el golfista 140 (por ejemplo, un agujero particular en un campo de golf particular) o el entorno puede ser un entorno virtual que solo existe en el modelo informático 124.
En cualquier caso, la cámara de seguimiento de objetos y el dispositivo de radar Doppler dentro de la unidad de sensor 110 proporcionan datos que se combinan utilizando uno o más ordenadores 120, 122 para proporcionar un seguimiento de vuelo 3D de la pelota de golf 155. La FIG. 1B es un diagrama que representa una cámara de seguimiento de objetos 160 (por ejemplo, una única cámara de vídeo digital basada en CMOS (semiconductor de óxido metálico complementario)) que produce datos de imagen 2D 165 (por ejemplo, para el seguimiento de vuelo 2D de la pelota de golf 155). La FIG. 1C es un diagrama que representa un dispositivo de radar Doppler 180 (por ejemplo, un dispositivo de radar Doppler de chirrido o de onda continua (CW) de una sola antena) que produce datos de radar 185 de la pelota de golf 155 en vuelo, donde los datos de radar 185 se utilizan para complementar los datos de imagen 2D 165 para proporcionar un sistema de seguimiento 3D completo, que puede realizar un seguimiento 3D de vuelo completo de pelotas de golf.
En algunas implementaciones, la cámara 160 y el dispositivo de radar 180 están unidos entre sí de modo que ambos apunten aproximadamente en la misma dirección (por ejemplo, la cámara 160 y el dispositivo de radar 180 pueden alinearse entre sí e integrarse en un alojamiento común). En otras implementaciones, la cámara 160 y el dispositivo de radar 180 no están unidos entre sí, y no es necesaria una orientación específica del dispositivo de radar 180. Por ejemplo, la ubicación y orientación de la cámara 160 pueden conocerse (o determinarse a partir de la observación por parte de la cámara 160), y siempre que se conozca la ubicación relativa del dispositivo de radar 180 con respecto a la cámara 160, los flujos de datos 165, 185 pueden combinarse fácilmente. Sin embargo, cabe destacar que tanto la cámara 160 como el dispositivo de radar 180 son dirigidos, generalmente, mediante la línea del tiro de golf esperado de modo que tanto la cámara 160 como el dispositivo de radar 180 contribuyan a la observación de vuelo completo de la pelota, a diferencia de un enfoque de supervisión de lanzamiento, donde una cámara está dirigida hacia la pelota y perpendicular a la línea esperada del tiro de golf (es decir, la cámara solo ve una pequeña parte inicial del vuelo de la pelota).
Además, si bien no es necesaria una ubicación conjunta y una alineación, cabe destacar que la ubicación conjunta y la alineación del dispositivo de radar 180 y la cámara 160, de modo que tengan esencialmente la misma ubicación y orientación entre sí, permite que la complejidad del sistema se reduzca sustancialmente ya que la cámara 160 y el dispositivo de radar 180 pueden tratarse como un único dispositivo de sensor en una única ubicación que proporciona dos flujos de datos 165, 185 diferentes. Además, el dispositivo de radar 180 puede construirse de modo que comunique sus lecturas a la cámara 160 (los datos de radar 185 se transfieren a la cámara 160, por ejemplo, a través de un cable serie corto), y los circuitos integrados en la cámara 160 pueden actualizarse (por ejemplo, escribiendo nuevo firmware para la cámara 160) para hacer que esas lecturas de radar estén disponibles a través de la misma API (interfaz de programación de aplicaciones) y el mismo cable físico que la cámara 160. Esto elimina la necesidad de tener una segunda trayectoria de datos desde la unidad de cámara+radar 110, lo que puede ser un beneficio bastante grande en la producción de golf donde el sensor 110 puede implantarse a una milla (1,61 km), o más, de las instalaciones de producción de TV (donde puede estar ubicado el ordenador de análisis).
Los datos de imagen 2D 165 de la cámara 160 se utilizan para identificar observaciones 162, 164, 166 de la pelota de golf en el cuadro 2D 170 de la cámara 160. Estas observaciones incluyen una observación inicial 162 de la pelota antes de que se golpee, así como observaciones en vuelo 164, 166 de la pelota después de que se haya golpeado. Cabe destacar que solo se muestran dos observaciones en vuelo para facilitar la descripción pero, en la práctica, habrá muchas observaciones en vuelo de la pelota a medida que el subsistema óptico realice un seguimiento del vuelo 2D de la pelota de golf como se ve por la cámara 160 dentro del cuadro 2D 170. En base a la frecuencia de cuadro (por ejemplo, 30 cuadros por segundo, 60 cuadros por segundo, 120 cuadros por segundo, etc.) de la cámara 160, la pelota de golf típicamente se observará cientos de veces en el flujo de vídeo 165 durante el curso del seguimiento 2D para un único tiro de golf. Además, en algunas implementaciones, la cámara 160 incluye una o más entradas 161 para recibir ajustes y/o programación para configurar la cámara 160 para operaciones en un sistema dado. Por ejemplo, en algunas implementaciones, la cámara tiene una frecuencia de cuadro predeterminada, que puede programarse a través de una entrada 161.
En cuanto a las observaciones en vuelo 164, 166, los datos de imagen 2D 165 se procesan para determinar ángulos 175 para las observaciones en vuelo 164, 166. En este ejemplo, cada uno de los ángulos 175 (01 y 82) es el ángulo entre el centro de sensor de cámara y la ubicación de la observación de pelota en el sensor de cámara. Al ver la cámara 160 usando un modelo estenopeico teórico, el área de sensor 170 es una parte de la cámara 160, pero la cámara también incluye el "orificio estenopeico" virtual 172 (creado por la lente de la cámara 160) ubicado una distancia focal delante del sensor. Todos los rayos pasan a través del orificio estenopeico 172 antes de incidir en el sensor, y los ángulos 175 son los ángulos (en 3D) entre un rayo de luz particular y el rayo de luz perpendicular de referencia que pasa a través del orificio estenopeico 172 e incide en el centro del sensor. Por lo tanto, el ángulo 175 es el ángulo entre el "rayo de observación" asociado a las observaciones en vuelo 164, 166 y el centro del área de sensor 170, en relación con el orificio estenopeico virtual 172 creado por la lente de cámara (la distancia focal de la cámara 160 es la distancia desde el plano de sensor 170 al orificio estenopeico 172).
Se pueden utilizar otros ángulos. Lo importante es que el subsistema de seguimiento de imágenes 2D se utiliza para determinar ángulos con respecto a las observaciones de pelota, en lugar de utilizar datos de radar para determinar dichos ángulos. Esto permite que el dispositivo de radar 180 sea un dispositivo mucho más simple, que incluye, posiblemente, un dispositivo de radar que solo proporciona información de velocidad (cabe destacar que un dispositivo de radar solo de velocidad es típicamente menos complejo y menos costoso que un dispositivo de radar que proporciona información de distancia). En algunas implementaciones, el dispositivo de radar 180 es un dispositivo de radar de antenas en fase, pero incluso en tales casos, no se confía en el dispositivo de radar de antenas en fase 180 para medir con precisión los ángulos con respecto a la pelota, lo que permite que el dispositivo de radar 180 se miniaturice, y el conjunto de antenas (cuando se utiliza) no necesita tener un ancho y altura determinado para poder medir con precisión los ángulos. Dado que la cámara 160 proporciona la resolución angular del sistema, se pueden detectar fácilmente detalles precisos con respecto a la forma del vuelo de pelota sin el uso de un dispositivo de radar 180 más grande y/o más complicado.
En algunas implementaciones, el dispositivo de radar 180 es un dispositivo de radar de una sola antena que solo proporciona datos de velocidad 185 (por ejemplo, un sensor de latido que no conoce el ángulo o la distancia al objeto). En algunas implementaciones, el dispositivo de radar 180 es un dispositivo de radar Doppler de onda continua (CW). En algunas implementaciones, el dispositivo de radar 180 proporciona datos de distancia 185. En varias implementaciones, el dispositivo de radar 180 puede ser un dispositivo de radar de impulsos, un dispositivo de radar de onda continua modulada en frecuencia (FMCW), un dispositivo de radar de antenas en fase, etc. En algunas implementaciones, el dispositivo de radar 180 proporciona datos angulares 185 con respecto al objeto.
En algunas implementaciones, los datos 185 se recopilan del dispositivo de radar 180 sondeando al radar 180 múltiples veces por segundo. Además, el dispositivo de radar 180 puede incluir una o más entradas 181 para recibir ajustes y/o programación para configurar el dispositivo de radar 180 para operaciones en un sistema dado. Por ejemplo, se puede introducir un ajuste en el dispositivo de radar 180 a través de una entrada 181 de modo que el dispositivo 180 notifique una lectura de velocidad por medición. Como otro ejemplo, cuando el dispositivo de radar 180 incluye la capacidad de determinar ángulos con respecto a la pelota, el dispositivo de radar 180 puede programarse a través de una entrada 181 para controlar el uso de la información angular para dirigir los haces de radar en la dirección de un objeto del que se está realizando un seguimiento. Cabe destacar que incluso en tales casos, los ángulos con respecto a la pelota utilizados para determinar las posiciones 3D se seguirán determinando utilizando los datos de imagen 165, ya que estos datos proporcionarán una mejor resolución angular.
El dispositivo de radar 180 detecta el vuelo de la pelota al proporcionar mediciones 182, 184, 186, 188 de la pelota a medida que vuela a través del espacio 190 delante del dispositivo de radar 180. Como se señaló anteriormente, estas mediciones 182, 184, 186, 188 pueden incluir mediciones de velocidad o mediciones de distancia. En cualquier caso, debido a diferencias entre la frecuencia de cuadro de la cámara 160 y el tiempo de medición del dispositivo de radar 180, o debido a separaciones en los datos 185 proporcionados por el dispositivo de radar 180, normalmente no habrá datos de radar disponibles exactamente al mismo tiempo que las observaciones de cámara 164, 166. Para abordar este problema, se pueden utilizar técnicas de interpolación en las mediciones 182, 184, 186, 188 para hallar puntos de datos intermedios 194, 196 que coincidan con las observaciones de cámara 164, 166.
Como se apreciará, dado que los puntos de datos 194, 196 coinciden con las observaciones de cámara 164, 166, el tiempo 198 entre estos puntos de datos 194, 196 es igual al inverso de la frecuencia de cuadro predeterminada de la cámara 160, lo que facilita el proceso de combinación para los dos flujos de datos 165, 185. En algunas implementaciones, se utilizan técnicas de ajuste de curva para extrapolar los datos de radar 185 a una función continua 192 de tiempo para el objeto (por ejemplo, la pelota de golf). Al ajustar una curva a los datos y, posiblemente, al actualizar ese ajuste de curva a medida que entran datos adicionales, se puede obtener fácilmente una medición de radar en cualquier instante de tiempo al vincular el valor de tiempo a la función continua 192.
La FIG. 2A es un diagrama esquemático de un sistema de procesamiento de datos que incluye un aparato de procesamiento de datos 200, que puede programarse como un cliente o como un servidor. El aparato de procesamiento de datos 200 está conectado a uno o más ordenadores 290 a través de una red 280. Si bien solo se muestra un ordenador en la FIG. 2A como el aparato de procesamiento de datos 200, se pueden utilizar múltiples ordenadores. Por lo tanto, uno o más de los ordenadores 120, 122 de la FIG. 1A puede implementarse utilizando un aparato de procesamiento de datos 200.
El aparato de procesamiento de datos 200 incluye varios módulos de software, que pueden distribuirse entre una capa de aplicaciones y un sistema operativo. Estos pueden incluir bibliotecas o programas de software ejecutables y/o interpretables, que incluyen un programa 230 que funciona como un sistema de seguimiento de vuelo de objetos 3D en el que se analizan y combinan datos de cámara y de radar, como se describe en el presente documento. El número de módulos de software utilizados puede variar de una implementación a otra. Además, los módulos de software pueden distribuirse en uno o más aparatos de procesamiento de datos conectados por una o más redes informáticas u otras redes de comunicación adecuadas.
El aparato de procesamiento de datos 200 también incluye dispositivos de hardware o firmware que incluyen uno o más procesadores de hardware 212, uno o más dispositivos adicionales 214, un medio legible por ordenador 216, una interfaz de comunicación 218 y uno o más dispositivos de interfaz de usuario 220. Cada procesador 212 es capaz de procesar instrucciones para su ejecución dentro del aparato de procesamiento de datos 200. En algunas implementaciones, el procesador 212 es un procesador de uno o múltiples hilos. Cada procesador 212 es capaz de procesar instrucciones almacenadas en el medio legible por ordenador 216 o en un dispositivo de almacenamiento, tal como uno de los dispositivos adicionales 214. El aparato de procesamiento de datos 200 utiliza su interfaz de comunicación 218 para comunicarse con uno o más ordenadores 290, por ejemplo, a través de una red 280. Por lo tanto, en varias implementaciones, los procesos descritos pueden ejecutarse en paralelo o en serie, en una máquina informática de uno o múltiples núcleos y/o en una agrupación/nube informática, etc.
Ejemplos de dispositivos de interfaz de usuario 220 incluyen un dispositivo de visualización, una pantalla táctil, una cámara, un altavoz, un micrófono, un dispositivo de retroalimentación táctil, un teclado y un ratón. El aparato de procesamiento de datos 200 puede almacenar instrucciones que implementan operaciones asociadas a los módulos descritos en el presente documento, por ejemplo, en el medio legible por ordenador 216 o uno o más dispositivos adicionales 214, por ejemplo, uno o más de un dispositivo de disco flexible, un dispositivo de disco duro, un dispositivo de disco óptico, un dispositivo de cinta y un dispositivo de memoria de estado sólido.
Para obtener los datos de radar y de cámara, el aparato de procesamiento de datos 200 incluye una o más interfaces de comunicación 218, tales como interfaces para las tecnologías cableadas o inalámbricas descritas anteriormente en conexión con la FIG. 1A. En algunas implementaciones, el aparato de procesamiento de datos 200 también incluye la cámara 160 y el dispositivo de radar 180 (por ejemplo, integrado en un único alojamiento 110), en cuyo caso, la cámara 160 y el dispositivo de radar 180 también forman parte de las estructuras utilizadas para obtener los datos de radar y de cámara. Por ejemplo, en algunas implementaciones, un único aparato 200 incluye una única cámara 160, un dispositivo de radar Doppler de una sola antena 180 y un ordenador programado para recuperar, analizar, interpolar (según sea necesario) y mezclar los datos de cámara y de radar para formar información de ubicación tridimensional de un objeto (por ejemplo, una pelota de golf) en un espacio tridimensional a medida que vuela delante del aparato de seguimiento de vuelo 3D 200.
Cuando los datos de radar proporcionan solo velocidad de pelota, la velocidad de pelota notificada por el dispositivo de radar (debido a la naturaleza del efecto Doppler) no representará la velocidad real de la pelota a través del aire. Más bien, los datos de radar corresponderán a la velocidad radial a la que la pelota se aleja del dispositivo de radar. Considérese una circunferencia a cierta distancia R del radar; a medida que la pelota se desplaza a lo largo del perímetro de esa circunferencia, el radar notificará una velocidad radial de cero porque la pelota no se aleja del radar. Sin embargo, si la pelota se desplaza por cualquier otra trayectoria, la distancia desde el radar cambiará, la velocidad a la que esta distancia cambia será detectada por el desplazamiento Doppler del radar, y esta velocidad radial será notificada por el radar.
La FIG. 2B es un diagrama que representa un ejemplo de procesamiento de datos de radar. La antena de radar 260 está a una distancia 265 de una pelota de golf 250 en un momento determinado. La medición de velocidad obtenida usando la antena de radar 260 es la velocidad radial 232, pero esto es solo la componente radial de la velocidad 234 de la pelota 250 a lo largo de la trayectoria de pelota 236. La medición de velocidad obtenida usando la antena de radar 260 no incluye la componente de velocidad tangencial 238. Dado que se conoce el tiempo entre cada observación de cámara de la pelota (se determina mediante la frecuencia de cuadro de cámara, como se analizó anteriormente), la velocidad radial 232 para cada observación se puede utilizar para determinar cómo aumenta la distancia entre la pelota 250 y el dispositivo de radar (y, por lo tanto, la cámara, por ejemplo, cuando está ubicada junto con el dispositivo de radar) para cada nueva observación de la pelota, de acuerdo con la siguiente ecuación:
Figure imgf000007_0001
donde Rn es la distancia desde el radar en la observación n, y Sn es la velocidad radial en la observación n, y dt es el tiempo entre cualquier par de observaciones consecutivas. R0 es la distancia entre la pelota y el radar antes de que se golpee la pelota. R0 se determina preferentemente antes de que se golpee la pelota, ya que típicamente será una entrada para el cálculo de distancia para la primera observación de la pelota. Existen varias formas posibles de determinar o estimar esta distancia. Por ejemplo, la distancia entre la cámara y la pelota de golf puede medirse manualmente e introducirse en el sistema antes de usarse.
Una vez que la distancia R entre el radar/cámara y la pelota 250 se conoce en una observación dada, por ejemplo, usando la ecuación (1) y el procesamiento iterativo en el programa 230, la ubicación 3D de la pelota 250 se puede determinar usando la distancia radial hallada 265 y detalles de la observación de cámara, tal como usando el siguiente álgebra lineal en el programa 230:
Figure imgf000008_0001
(3) Xn - Z„ * dx„ / /
y
Figure imgf000008_0002
donde n es el número de observación, f es la distancia focal de componentes ópticos de cámara (por ejemplo, medida en píxeles), G es un ángulo entre el centro de sensor de cámara y la ubicación de impresión de pelota en el sensor de cámara, dx es el desplazamiento horizontal (por ejemplo, en píxeles) entre la ubicación de pelota en el sensor y el centro de sensor, y dy es el desplazamiento vertical (por ejemplo, en píxeles) entre la ubicación de pelota en el sensor y el centro de sensor. Cabe destacar que (X n , Y n , Z n ) describe la ubicación 3D de la pelota en el número de observación n y, por lo tanto, todo el vuelo de la pelota de golf 250 se puede describir en coordenadas 3D. En este ejemplo, el sistema de coordenadas tendrá su origen en el radar y la cámara ubicados conjuntamente, el eje Z apuntará en la dirección de la cámara, el eje X será horizontal de izquierda a derecha y el eje Y apuntará hacia abajo, perpendicular al eje Z.
Como se apreciará, este sistema de coordenadas se obtiene del modelo de cámara estenopeica analizado anteriormente. Además, en algunas implementaciones, se elige una dirección específica para el sistema de coordenadas que es diferente del ángulo al que apunta la cámara. Por ejemplo, si los datos de trayectoria van a ser utilizados por otro sistema, tal como un sistema de radiodifusión de TV, es importante haber establecido un entendimiento común de la dirección del sistema de coordenadas y cómo se relaciona con el mundo real. Esto se puede lograr utilizando técnicas de transformación de coordenadas conocidas. Por ejemplo, se puede acordar un objeto objetivo en la vista de cámara y, a continuación, se puede usar la dirección de ese objetivo para definir el "norte" del sistema de coordenadas. Girar el sistema de coordenadas para que coincida con el objetivo seleccionado puede implicar determinar el ángulo del objetivo con respecto al centro de la cámara en los planos horizontal y vertical y, a continuación, girar los datos de salida para compensar esos ángulos. Los ángulos objetivo se pueden obtener fácilmente del modelo de cámara estenopeica, siempre que se conozca la distancia focal del sistema de cámara y el tamaño de píxel. Para más detalles sobre las transformaciones de los sistemas de coordenadas, véase el documento de R. Hartley y A. Zisserman, "Multiple View Geometry in Computer Vision", segunda edición, Cambridge University Press, marzo de 2004.
Aunque el ejemplo anterior se centra en una cámara y un radar ubicados conjuntamente, donde el dispositivo de radar solo mide la velocidad, también son posibles otras implementaciones. Por ejemplo, la FIG. 3A muestra otro ejemplo de un sistema, similar al de la FIG. 1A, pero donde un dispositivo de radar 310 está separado de una cámara 312 utilizada para el seguimiento 2D. Cuando el dispositivo de radar 310 y la cámara 312 no están en el mismo lugar, se utilizan cálculos matemáticos similares pero ligeramente más complejos para combinar los datos de radar y de cámara, pero usando los mismos principios básicos descritos en el presente documento. Cabe destacar que tanto la cámara 312 como el dispositivo de radar 310 deben colocarse de modo que tengan una oportunidad justa de capturar una parte importante del vuelo de pelota. En la práctica, ambos sensores 310, 312 deben colocarse en las inmediaciones del golfista 140 y estar dirigidos "por la línea" del tiro de golf.
Cuando el dispositivo de radar 310 y la cámara 312 no están en la misma ubicación, sus datos pueden combinarse de la siguiente manera. Los datos de radar se utilizan para realizar un seguimiento de la distancia R entre el dispositivo de radar 310 y la pelota en cada instante de tiempo. Esta información se puede ver como una esfera en 3D de radio R, y el radar indica que la pelota está ubicada en algún lugar de la superficie de esa esfera. Mientras tanto, la cámara 312 realiza un seguimiento de la misma pelota y conoce los ángulos (beta y gamma) para una línea recta entre la cámara 312 y la pelota para cada instante de tiempo. Si se conocen las ubicaciones en el espacio 3D tanto del dispositivo de radar 310 como de la cámara 312, y se conoce el ángulo al que está dirigida la cámara 312, se puede hallar la posición 3D de la pelota mediante cálculos matemáticos para hallar la intersección entre la esfera alrededor del dispositivo de radar 310 y la línea recta entre la cámara 312 y la pelota. En algunos casos, la línea intersecará la esfera dos veces, y se pueden utilizar cálculos heurísticos para determinar cuál de las dos intersecciones representa la verdadera posición de la pelota.
Además, cabe destacar nuevamente que algunas implementaciones no incluyen la cámara adicional 130. De forma alternativa, el seguimiento 2D se puede realizar utilizando los datos de vídeo proporcionados por la cámara de TV 130. La FIG. 3B muestra otro ejemplo de un sistema, similar al de la FIG. 3A, pero que solo incluye el dispositivo de radar 310 y una cámara 330, que corresponde a la cámara 130 o a la cámara 312 de la FIG. 3A. Además, aunque el dispositivo de radar 310 está representado en la FIG. 3B como que solo tiene una antena de radar, en varias implementaciones, el dispositivo de radar incluirá una o más antenas de radar adicionales. Por ejemplo, la FIG. 3C muestra otro ejemplo de un sistema, similar al de las FIGS. 3A y 3B, pero que incluye un dispositivo de radar 320 que incluye cuatro antenas de radar 322, que pueden proporcionar suficiente resolución angular para dirigir los haces de radar desde el dispositivo de radar 320. Cabe destacar que en las FIGS. 3B y 3C no se muestran los otros componentes del sistema y que la perspectiva se cambia para mirar desde la posición del golfista 140 hacia el dispositivo de radar 310, 320.
En algunas implementaciones, el dispositivo de radar 310, 320 es un sistema de sensor de radar de antenas en fase. Usando un conjunto de antenas de radar y software para controlar el desfase entre las antenas, la señal de radar transmitida puede dirigirse hacia el objetivo. Además, la distancia y la posición angular del objetivo se pueden detectar midiendo el desfase de la señal de retorno cuando incide en las antenas receptoras. Si bien la resolución angular determinada mediante la medición del desfase será lo suficientemente buena como para dirigir la señal de radar transmitida, seguirá siendo beneficioso utilizar solamente información angular de los datos de cámara, en combinación con información de distancia radial de los datos de radar, para determinar las posiciones 3D del objetivo en el espacio.
La FIG. 4 es un diagrama de flujo que muestra un ejemplo de un proceso para realizar un seguimiento 3D de una pelota de golf en vuelo, tal como se puede implementar en los sistemas de las FIGS. 1A-3C. Se reciben, 410, datos de radar de una pelota de golf en vuelo (por ejemplo, desde el dispositivo de radar 180). Al mismo tiempo, se reciben, 415, datos de imagen 2D de la pelota de golf en vuelo (por ejemplo, desde la cámara 160); cabe destacar que los datos de imagen recibidos también se pueden extender hasta y antes del momento en que se golpea la pelota. Los datos de imagen 2D se analizan, 425, para identificar observaciones de cámara de un tiro de golf. Por ejemplo, los datos de transmisión continua 165 pueden procesarse en tiempo real (por ejemplo, utilizando clasificadores de objetos) para identificar diversos objetos (por ejemplo, un golfista y pelotas candidatas) en el flujo de vídeo, y un tiro de golf puede identificarse, 435, cuando una serie de pelotas candidatas a través de un conjunto de cuadros de vídeo cumplen o exceden uno o más criterios establecidos para un tiro de golf. En algunas implementaciones, el análisis 425 implica el ajuste automatizado de uno o más umbrales (por ejemplo, un umbral optimizado por píxel) para maximizar la sensibilidad en relación con objetos de interés (por ejemplo, objetos que parecen pelotas de golf), así como un filtrado en tiempo real para permitir la identificación de un tiro de golf antes de que se reciban todos los datos de imagen 2D del tiro de golf.
Además, los datos de radar se pueden comparar, 420, con uno o más criterios para identificar un tiro de golf. Por ejemplo, se puede usar un criterio de velocidad de pelota de modo que una serie de tiempo de radar solo pueda comenzar en un cierto intervalo de velocidades, que corresponde al intervalo de velocidades que son probables para una pelota de golf que acaba de ser golpeada (por ejemplo, 100 - 250 millas por hora (160,93 - 402,34 km/h). Por lo tanto, los tiros de golf distantes que vuelan a baja velocidad, así como otros objetos, como aves y aviones, pueden ignorarse fácilmente. Se pueden utilizar criterios adicionales en una serie de mediciones de radar, ya que esas mediciones se reciben en tiempo real. Por ejemplo, una serie de mediciones de radar de un tiro de golf debe tener una velocidad decreciente en el tiempo, y este hecho se puede usar para identificar un tiro de golf en los datos de radar.
Cuando se identifica un tiro de golf 430 en los datos de radar, se puede enviar una señal para activar un ajuste 432 del uno o más criterios utilizados para analizar los datos de imagen 2D. Esto hará que el análisis 425 favorezca la selección de un conjunto de identificaciones de objeto que corresponden al tiro de golf y, por lo tanto, aumentará las posibilidades de identificar el tiro de golf en 435. Cabe destacar que la interacción entre el procesamiento de los datos de radar y los datos de cámara puede ir en ambos sentidos para mejorar la robustez de la detección de disparos. Por ejemplo, en algunas implementaciones, se anotará el tiempo de la primera observación de radar en una nueva serie de radar y también el tiempo de la primera observación de cámara para un conjunto de pelotas candidatas. Dado que la cámara y el radar están normalmente cerca entre sí, y se conoce la dirección a la que apunta el radar, las observaciones de cámara se pueden usar para predecir en qué momento la pelota debería haber entrado en el área cubierta por el radar y, por lo tanto, predecir en qué instante de tiempo debería haber comenzado la serie de radar para el tiro de golf. A continuación, se puede establecer un umbral para que se ignoren las series de tiempo de radar cuyo tiempo de inicio se desvíe más que el umbral con respecto al tiempo de inicio esperado. Al implementar más de una de estas comprobaciones cruzadas de los datos, el sistema puede hacerse bastante robusto en un campo de prácticas (o una instalación de entretenimiento similar con temática de golf) con múltiples golfistas. Además, el uso de la comprobación cruzada de los datos puede ayudar a identificar cualquier problema de latencia entre los datos de radar y los datos de cámara, que deben estar sincronizados para garantizar que el tiempo se contabilice con precisión, por ejemplo, usando marcas de tiempo en los dos conjuntos de datos generados usando un solo reloj común o dos relojes sincronizados.
En cualquier caso, una vez que se identifica, 430, un tiro de golf en los datos de radar, se puede ajustar, 440, una curva a los datos de radar recibidos para extrapolar los datos de radar a una función continua de tiempo para el tiro de golf. Esto permite hallar fácilmente la velocidad de (o la distancia a) la pelota de golf simplemente vinculando un valor de tiempo de una observación de cámara de la pelota a la función continua. Además, la recepción 410 y el ajuste de curva 440 se pueden realizar simultáneamente, en tiempo real, y el ajuste de curva 440 se puede actualizar, 440, repetidamente mientras se reciben datos de radar adicionales y se confirma 445 que son del mismo tiro de pelota de golf. Una vez que no se reciben más datos de radar para el tiro de golf actual, el proceso puede revertir, 447, el uno o más criterios (si se cambian) utilizados para analizar los datos de imagen 2D y también volver a recibir, 410, y comparar, 420, datos de radar para identificar un próximo tiro de golf.
Además, para cada observación de cámara en vuelo del tiro de golf, la distancia radial a la pelota de golf se halla, 460, utilizando los datos de radar extrapolados. Por ejemplo, cuando los datos de radar incluyen datos de distancia, el ajuste de curva 440 produce una función de distancia radial continua, en la que se puede introducir, en 460, el valor de tiempo adecuado. En otras implementaciones, los datos de radar son datos de velocidad, y el ajuste de curva 440 produce una función de velocidad radial continua. Esta función de velocidad radial continua puede integrarse entre el tiempo t o y el tiempo t n para obtener la distancia radial en el tiempo t n . Como otro ejemplo, como parte de un proceso iterativo, un valor de velocidad de la función continua puede identificarse de acuerdo con el tiempo de observación de cámara; este valor de velocidad puede multiplicarse por un valor de tiempo correspondiente a un tiempo de cuadro de la frecuencia de cuadro de cámara para obtener un valor de distancia, y este valor de distancia puede añadirse a una distancia radial previamente hallada de la pelota de golf.
Cabe destacar que el tiempo de cuadro de la frecuencia de cuadro de cámara no siempre es preciso para el tiempo entre la primera observación de cámara en vuelo del tiro de golf y el momento en que la pelota se golpea realmente, ya que la cámara puede no capturar una imagen de la pelota en el momento exacto del impacto mediante el palo. En algunas implementaciones, esta diferencia de tiempo se ignora y aún se puede lograr un seguimiento 3D de alta precisión. En otras implementaciones, esta diferencia de tiempo se cuantifica y se contabiliza mediante la determinación de una fracción del tiempo de cuadro que representa el tiempo entre la primera observación de cámara en vuelo de la pelota y el momento del impacto del palo con la pelota (por ejemplo, la fracción puede establecerse igual a la mitad del tiempo de cuadro, o la fracción puede establecerse en base a una comparación de las magnitudes relativas de las dos primeras mediciones de velocidad de radar para el tiro de golf, o la fracción puede establecerse en base a la altura de la pelota en la primera observación de cámara en vuelo). Esta fracción del tiempo de cuadro puede usarse entonces cuando se determina la distancia radial de la primera observación de cámara en vuelo de la pelota, por ejemplo, multiplicando la fracción del tiempo de cuadro por la velocidad proporcionada por la función de velocidad continua en el momento de la primera observación de cámara en vuelo de la pelota, y añadiendo el resultado a la distancia inicial 145.
En algunas implementaciones, hallar, 460, la distancia radial usando los datos de radar extrapolados incluye usar tiempos diferentes a los que corresponden exactamente a la observación de cámara actual. Por ejemplo, identificar un valor de velocidad a partir de la función de velocidad continua para cada observación de cámara en vuelo puede implicar utilizar la función continua y un tiempo igual a un tiempo de observación de cámara en vuelo actual menos la mitad del tiempo de cuadro. Como otro ejemplo, identificar un valor de velocidad a partir de la función de velocidad continua para cada observación de cámara en vuelo puede implicar recuperar dos valores de velocidad utilizando la función de velocidad continua, donde un primer valor de velocidad corresponde al tiempo de observación de cámara en vuelo actual y un segundo valor de velocidad corresponde al tiempo de observación de cámara en vuelo inmediatamente anterior, y estos dos valores de velocidad pueden promediarse entonces para generar el valor de velocidad para hallar la distancia radial a la pelota.
En cualquier caso, para cada observación de cámara en vuelo del tiro de golf, la distancia radial a la pelota de golf se utiliza para calcular, 465, una distancia de profundidad (Z) a la pelota en base a un ángulo de cámara para la observación de cámara en vuelo. Esto implica, al menos, un cálculo trigonométrico de un ángulo entre una ubicación de referencia de cámara en los datos de imagen bidimensionales y una ubicación identificada de la pelota de golf en los datos de imagen bidimensionales, tal como usar la ecuación (2) y el modelo de cámara estenopeica anterior, por ejemplo, cuando la cámara y el radar están ubicados conjuntamente en la misma posición general.
Además, para cada observación de cámara en vuelo del tiro de golf, las distancias horizontal (X) y vertical (Y) a la pelota se calculan, 470, utilizando la distancia de profundidad (Z) y los detalles de la cámara. Esto implica usar álgebra lineal y detalles de observación de cámara, que incluyen un desplazamiento horizontal entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, un desplazamiento vertical entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, y una distancia focal de la cámara, tal como usar las ecuaciones (3) y (4) anteriores cuando la cámara y el radar están ubicados conjuntamente en la misma posición general.
Este proceso de hallar distancias radiales, 460, y de calcular, 465, 470, ubicaciones 3D de la pelota de golf en el espacio utilizando las distancias radiales y detalles de las observaciones de cámara prosigue mientras se disponga de más observaciones de la pelota, 475. Además, al igual que con el procesamiento de datos de radar, el procesamiento de datos de cámara se puede realizar en tiempo real, y las ubicaciones 3D de la pelota de golf se pueden calcular mientras la pelota está realmente en vuelo. Una vez que no se reciban más datos de cámara para el tiro de golf actual, el proceso vuelve a recibir, 415, y analizar, 425, datos de imagen de cámara para identificar un próximo tiro de golf.
La descripción anterior se centra en el caso de detectar y realizar un seguimiento de tiros de golf que se producen en serie. Sin embargo, en algunas implementaciones, los sistemas y técnicas descritos se adaptan para gestionar múltiples pelotas que se golpean al mismo tiempo dentro del campo de visión de la cámara. Cuando dos tiros de golf se realizan casi simultáneamente y desde ubicaciones adyacentes y en dirección similar, será un desafío para el sistema asociar con precisión la velocidad de pelota de radar con la pista óptica correcta. Para abordar esto, el radar Doppler puede diseñarse o programarse para notificar solamente una lectura de velocidad por medición. Se puede configurar para notificar la velocidad del objeto con la señal de radar más intensa, o el objeto con la velocidad más rápida. Sin embargo, ninguno de estos enfoques resulta idóneo para un intervalo con múltiples pelotas de golf en el aire a la vez, ya que en la segunda mitad del vuelo de pelota, la pelota medida puede no ser ni el objeto reflectante más rápido ni el más intenso y, por lo tanto, el radar podría comenzar a notificar valores para algún otro tiro de golf que no sea el tiro de golf del que se está realizando un seguimiento.
Para abordar este problema, el dispositivo de radar puede diseñarse o programarse (por ejemplo, mediante un ajuste de modo) para notificar la velocidad de múltiples objetos con cada medición. Por lo tanto, en lugar de elegir la velocidad más rápida (o reflexión más intensa) y enviar solo esa velocidad, se puede configurar para notificar la velocidad de los tres objetos más rápidos, o la velocidad de los tres objetos con la reflexión de radar más intensa. Con dicho modo de funcionamiento, se puede lograr cierta robustez con respecto a múltiples pelotas en el aire con el siguiente procedimiento: (1) identificar la serie de tiempo de radar correcta con el procedimiento de correlación en el tiempo descrito anteriormente, (2) para cada nuevo conjunto de mediciones de radar, probar las tres velocidades contra la velocidad proyectada por el modelo, y (3) si cualquiera de las velocidades notificadas cae dentro de alguna distancia umbral de la velocidad de pelota proyectada en el modelo de serie de tiempo de radar existente, el valor se añade a la serie, el modelo se actualiza y, a continuación, el sistema esperará el siguiente conjunto de mediciones.
Las formas de realización de la materia objeto y las operaciones funcionales descritas en esta memoria descriptiva pueden implementarse en circuitos electrónicos digitales, o en software informático, firmware o hardware, incluidas las estructuras divulgadas en esta memoria descriptiva y sus equivalentes estructurales, o en combinaciones de uno o más de los mismos. Las formas de realización de la materia objeto descrita en esta memoria descriptiva pueden implementarse usando uno o más módulos de instrucciones de programa informático codificadas en un medio legible por ordenador para su ejecución por, o para controlar el funcionamiento de, un aparato de procesamiento de datos. El medio legible por ordenador puede ser un producto fabricado, tal como un disco duro en un sistema informático o un disco óptico vendido a través de canales de venta al por menor, o un sistema integrado. El medio legible por ordenador puede adquirirse por separado y codificarse posteriormente con el uno o más módulos de instrucciones de programa informático, tal como mediante la entrega del uno o más módulos de instrucciones de programa informático a través de una red cableada o inalámbrica. El medio legible por ordenador puede ser un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria o una combinación de uno o más de los mismos.
El término "aparato de procesamiento de datos" abarca todos los aparatos, dispositivos y máquinas para procesar datos, lo que incluye, a modo de ejemplo, un procesador programable, un ordenador o múltiples procesadores u ordenadores. El aparato puede incluir, además de hardware, código que crea un entorno de ejecución para el programa informático en cuestión, por ejemplo, código que constituye firmware de procesador, una pila de protocolos, un sistema de gestión de bases de datos, un sistema operativo, un entorno de tiempo de ejecución o una combinación de uno o más de los mismos. Además, el aparato puede emplear diversas infraestructuras de modelos informáticos diferentes, tales como servicios web, informática distribuida e infraestructuras informáticas en red.
Un programa informático (también conocido como un programa, software, aplicación de software, secuencia de comandos o código) puede escribirse en cualquier forma adecuada de lenguaje de programación, que incluye lenguajes compilados o interpretados, lenguajes declarativos o de procedimiento, y puede implementarse en cualquier forma adecuada, lo que incluye un programa independiente o un módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa informático no corresponde necesariamente a un archivo en un sistema de archivos. Un programa puede almacenarse en una parte de un archivo que contiene otros programas o datos (por ejemplo, una o más secuencias de comandos almacenadas en un documento de lenguaje de marcado), en un único archivo dedicado al programa en cuestión o en múltiples archivos coordinados (por ejemplo, archivos que almacenan uno o más módulos, subprogramas o partes de código). Un programa informático puede implantarse para ejecutarse en un ordenador o en múltiples ordenadores que están ubicados en un sitio o distribuidos a través de múltiples sitios e interconectados mediante una red de comunicación.
Los procesos y flujos lógicos descritos en esta memoria descriptiva pueden ser realizados por uno o más procesadores programables que ejecutan uno o más programas informáticos para realizar funciones operando sobre datos de entrada y generando datos de salida. Los procesos y flujos lógicos también se pueden realizar mediante, y el aparato también se puede implementar como, circuitos lógicos de propósito especial, por ejemplo, un FPGA (matriz de puertas programables in situ) o un ASIC (circuito integrado específico de la aplicación).
Procesadores adecuados para la ejecución de un programa informático incluyen, a modo de ejemplo, microprocesadores de propósito general y especial, y uno o más procesadores de cualquier tipo de ordenador digital. Generalmente, un procesador recibirá instrucciones y datos de una memoria de solo lectura o de una memoria de acceso aleatorio, o de ambas. Los elementos esenciales de un ordenador son un procesador para realizar instrucciones y uno o más dispositivos de memoria para almacenar instrucciones y datos. Generalmente, un ordenador también incluirá, o estará acoplado operativamente para recibir datos desde o transferir datos a, o ambas cosas, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, discos magnéticos, discos magneto-ópticos o discos ópticos. Sin embargo, un ordenador no necesita tener tales dispositivos. Además, un ordenador puede integrarse en otro dispositivo, por ejemplo, un teléfono móvil, un asistente digital personal (PDA), un reproductor de audio o vídeo móvil, una consola de juegos, un receptor del Sistema de Posicionamiento Global (GPS) o un dispositivo de almacenamiento portátil (por ejemplo, una unidad flash de bus serie universal (USB)), por nombrar solo algunos. Dispositivos adecuados para almacenar instrucciones y datos de programa informático incluyen todas las formas de memoria no volátil, medios y dispositivos de memoria, incluidos, a modo de ejemplo, dispositivos de memoria semiconductores, por ejemplo, EPROM (memoria de solo lectura programable borrable), EEPROM (memoria de solo lectura programable eléctricamente borrable) y dispositivos de memoria flash; discos magnéticos, por ejemplo, discos duros internos o discos extraíbles; discos magneto-ópticos; y discos CD-ROM y DVD-ROM. El procesador y la memoria se pueden complementar con, o incorporar en, circuitos lógicos de propósito especial.
Para proporcionar interacción con un usuario, las formas de realización de la materia objeto descrita en esta memoria descriptiva pueden implementarse en un ordenador que tenga un dispositivo de visualización, por ejemplo, LCD (pantalla de cristal líquido), OLED (diodo orgánico de emisión de luz ) u otro monitor, para mostrar información al usuario, y un teclado y un dispositivo de puntero, por ejemplo, un ratón o una bola de seguimiento, mediante el cual el usuario puede proporcionar datos de entrada al ordenador. También se pueden utilizar otros tipos de dispositivos para proporcionar interacción con un usuario; por ejemplo, la retroalimentación proporcionada al usuario puede ser cualquier forma de retroalimentación sensorial, por ejemplo, retroalimentación visual, retroalimentación auditiva o retroalimentación táctil; y los datos de entrada del usuario se pueden recibir en cualquier forma, incluidos datos de entrada acústicos, de voz o táctiles.
El sistema informático puede incluir clientes y servidores. Un cliente y un servidor son generalmente remotos entre sí y, normalmente, interactúan a través de una red de comunicación. La relación entre cliente y servidor surge en virtud de programas informáticos que se ejecutan en ordenadores respectivos y que tienen una relación cliente-servidor entre sí. Las formas de realización de la materia objeto descrita en esta memoria descriptiva pueden implementarse en un sistema informático que incluye un componente de sección de procesamiento (back-end), por ejemplo un servidor de datos, o que incluye un componente de software intermedio (middleware), por ejemplo, un servidor de aplicaciones, o que incluye un componente de sección de entrada (front-end), por ejemplo un ordenador cliente que tiene una interfaz gráfica de usuario o un navegador web a través de los cuales un usuario puede interactuar con una implementación de la materia objeto descrita es esta memoria descriptiva, o cualquier combinación de uno o más de dichos componentes de sección de procesamiento, software intermedio o sección de entrada. Los componentes del sistema pueden interconectarse mediante cualquier forma o medio de comunicación de datos digitales, por ejemplo, una red de comunicación. Ejemplos de redes de comunicación incluyen una red de área local ("LAN") y una red de área amplia ("WAN"), un conjunto de redes interconectadas (por ejemplo, Internet) y redes entre pares (por ejemplo, redes ad hoc entre pares).

Claims (14)

REIVINDICACIONES
1. Un procedimiento para realizar un seguimiento de una pelota de golf (155) en vuelo, comprendiendo el procedimiento:
obtener datos de imagen bidimensionales (165) de una pelota de golf en vuelo, donde los datos de imagen bidimensionales se originan en una cámara (130, 160);
obtener datos de radar (185) de la pelota de golf en vuelo, donde los datos de radar se originan en un dispositivo de radar Doppler (180) asociado a la cámara;
interpolar los datos de radar para generar datos de radar interpolados de la pelota de golf en vuelo, donde la interpolación comprende ajustar una curva a los datos de radar para extrapolar los datos de radar a una función de tiempo continua para la pelota de golf en vuelo; y
mezclar información de distancia radial obtenida a partir de los datos de radar interpolados de la pelota de golf en vuelo con información de distancia angular obtenida a partir de los datos de imagen bidimensionales de la pelota de golf en vuelo para formar información de ubicación tridimensional de la pelota de golf en un espacio tridimensional, donde la mezcla comprende
para cada una de una pluralidad de observaciones de cámara de la pelota de golf en los datos de imagen bidimensionales,
hallar una distancia radial a la pelota de golf utilizando la función continua y un tiempo de observación de cámara y
calcular una ubicación tridimensional de la pelota de golf en el espacio utilizando la distancia radial y detalles de la observación de cámara, donde el cálculo comprende
multiplicar la distancia radial con un cálculo trigonométrico para hallar una distancia de profundidad a la pelota de golf, donde el cálculo trigonométrico es de un ángulo entre una ubicación de referencia de cámara en los datos de imagen bidimensionales y una ubicación identificada de la pelota de golf en los datos de imagen bidimensionales; y
usar álgebra lineal para hallar una distancia horizontal y una distancia vertical a la pelota de golf a partir de la distancia de profundidad y donde los detalles de la observación de cámara comprenden un desplazamiento horizontal entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, un desplazamiento vertical entre la ubicación de referencia de cámara y la ubicación identificada de la pelota de golf, y una distancia focal de la cámara.
2. El procedimiento de la reivindicación 1, en el que la función continua es una función de velocidad radial continua, y hallar la distancia radial comprende integrar la función de velocidad radial continua desde un tiempo inicial a un tiempo actual.
3. El procedimiento de la reivindicación 1, en el que la cámara tiene una frecuencia de cuadro predeterminada, donde los datos de radar comprenden datos de velocidad (185) pero no datos de distancia, y hallar la distancia radial comprende:
identificar un valor de velocidad a partir de la función continua de acuerdo con el tiempo de observación de cámara;
multiplicar el valor de velocidad por un valor de tiempo correspondiente a un tiempo de cuadro de la frecuencia de cuadro predeterminada para obtener un valor de distancia; y
añadir el valor de distancia a una distancia radial previamente hallada de la pelota de golf.
4. El procedimiento de la reivindicación 3, en el que una distancia radial inicial a la pelota de golf se establece de acuerdo con un punto de inicio predeterminado desde el cual se golpea la pelota de golf.
5. El procedimiento de la reivindicación 3, en el que hallar la distancia radial comprende determinar una distancia radial inicial a la pelota de golf a partir de una distancia calculada a un golfista identificado en los datos de imagen bidimensionales de la cámara.
6. El procedimiento de la reivindicación 3, en el que identificar un valor de velocidad a partir de la función continua para observaciones de cámara después de la primera observación comprende utilizar la función continua y un tiempo igual a un tiempo de observación de cámara actual menos la mitad del tiempo de cuadro.
7. El procedimiento de la reivindicación 3, en el que identificar un valor de velocidad a partir de la función continua para observaciones de cámara después de la primera observación comprende promediar un primer valor de velocidad y un segundo valor de velocidad, donde el primer valor de velocidad se calcula utilizando la función continua y un tiempo de observación de cámara actual, y el segundo valor de velocidad se calcula utilizando la función continua y un tiempo de observación de cámara previa.
8. El procedimiento de la reivindicación 3, en el que la frecuencia de cuadro predeterminada es programable.
9. El procedimiento de la reivindicación 1, en el que obtener los datos de radar y ajustar la curva a los datos de radar se realiza simultáneamente, y ajustar la curva comprende actualizar el ajuste de curva a medida que se reciben más datos de radar de la pelota de golf en vuelo.
10. El procedimiento de la reivindicación 9, que comprende:
analizar objetos identificados en los datos de imagen bidimensionales para identificar la pluralidad de observaciones de cámara de la pelota de golf;
comparar los datos de radar con un criterio para identificar un tiro de golf;
señalizar el tiro de golf que se está identificando a partir de los datos de radar; y
ajustar uno o más criterios utilizados en el análisis para favorecer la selección de un conjunto de identificaciones de objeto que corresponden al tiro de golf para identificar la pluralidad de observaciones de cámara de la pelota de golf.
11. Un sistema para realizar un seguimiento de una pelota de golf (155) en vuelo, comprendiendo el sistema:
una unidad de sensor (110) que comprende una cámara de seguimiento de objetos y un dispositivo de radar Doppler, que están alineados entre sí e integrados en un alojamiento de sensor compartido; y
un ordenador (120, 122) que comprende un procesador de hardware (212) y una memoria acoplada al procesador de hardware, donde las instrucciones de codificación de memoria están configuradas para hacer que el procesador de hardware ajuste una curva a datos de radar (185) que se originan en el dispositivo de radar Doppler (180) para extrapolar los datos de radar a una función de tiempo continua para una pelota de golf (155) en vuelo y para formar información de ubicación tridimensional de la pelota de golf en el espacio tridimensional de acuerdo con una cualquiera de las reivindicaciones 1 -10.
12. El sistema de la reivindicación 11, en el que el dispositivo de radar Doppler es un dispositivo de radar Doppler de una sola antena.
13. El sistema de la reivindicación 11, en el que el dispositivo de radar Doppler está configurado para proporcionar datos de velocidad (185) pero no datos de distancia como datos de radar, y que comprende opcionalmente una cámara de radiodifusión a la que está conectada la unidad de sensor.
14. Un producto de programa informático, codificado en un medio legible por ordenador (216), que comprende instrucciones que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo el procedimiento de una cualquiera de las reivindicaciones 1-10.
ES18704614T 2017-01-30 2018-01-30 Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen Active ES2877049T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762452295P 2017-01-30 2017-01-30
PCT/IB2018/050573 WO2018138708A1 (en) 2017-01-30 2018-01-30 System and method for three dimensional object tracking using combination of radar and image data

Publications (1)

Publication Number Publication Date
ES2877049T3 true ES2877049T3 (es) 2021-11-16

Family

ID=61192989

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18704614T Active ES2877049T3 (es) 2017-01-30 2018-01-30 Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen

Country Status (5)

Country Link
US (3) US10596416B2 (es)
EP (1) EP3574339B1 (es)
DK (1) DK3574339T1 (es)
ES (1) ES2877049T3 (es)
WO (1) WO2018138708A1 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085188B2 (en) 2004-07-02 2011-12-27 Trackman A/S Method and apparatus for determining a deviation between an actual direction of a launched projectile and a predetermined direction
KR102408358B1 (ko) 2009-01-29 2022-06-14 트랙맨 에이/에스 레이더 및 촬상 요소를 포함하는 조립체
US10379214B2 (en) 2016-07-11 2019-08-13 Trackman A/S Device, system and method for tracking multiple projectiles
US10444339B2 (en) 2016-10-31 2019-10-15 Trackman A/S Skid and roll tracking system
US10989791B2 (en) 2016-12-05 2021-04-27 Trackman A/S Device, system, and method for tracking an object using radar data and imager data
US11077351B2 (en) * 2018-05-02 2021-08-03 Rapsodo Pte. Ltd. Measurement and reconstruction of the golf launching scene in 3D
US10739455B2 (en) * 2018-05-24 2020-08-11 GM Global Technology Operations LLC Method and apparatus for acquiring depth information using cameras from different vehicles
WO2020097494A1 (en) 2018-11-08 2020-05-14 Full-Swing Golf, Inc. Launch monitor
KR102292353B1 (ko) * 2018-12-28 2021-08-23 주식회사 골프존 레이더 센싱데이터를 이용한 골프클럽의 스윙궤적 산출방법 및 이를 이용한 레이더 센싱장치와, 상기 방법을 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
WO2020170172A1 (en) * 2019-02-22 2020-08-27 Trackman A/S System and method for driving range shot travel path characteristics
JP7317399B2 (ja) * 2019-03-29 2023-07-31 株式会社ヴイシー ボールの落下地点を案内する電子デバイスおよびシステム
US10937232B2 (en) 2019-06-26 2021-03-02 Honeywell International Inc. Dense mapping using range sensor multi-scanning and multi-view geometry from successive image frames
CN111429489B (zh) * 2019-07-30 2021-07-30 杭州海康威视数字技术股份有限公司 一种目标跟踪监控展示方法及装置
JP7319540B2 (ja) * 2019-08-27 2023-08-02 株式会社プロギア ショット管理システム、ショット管理方法及びプログラム
US11583729B2 (en) 2019-09-06 2023-02-21 Taylor Made Golf Company, Inc. Systems and methods for integrating measurements captured during a golf swing
CN110738846B (zh) * 2019-09-27 2022-06-17 同济大学 基于雷达与视频组群的车辆行为监测系统及其实现方法
JP7083332B2 (ja) * 2019-12-27 2022-06-10 楽天グループ株式会社 画像処理装置、画像処理方法、及びプログラム
AU2021205818A1 (en) 2020-01-06 2022-06-30 Topgolf International, Inc. Identifying a location for a striker of an object
US10898757B1 (en) 2020-01-21 2021-01-26 Topgolf Sweden Ab Three dimensional object tracking using combination of radar speed data and two dimensional image data
US11875517B2 (en) * 2020-03-23 2024-01-16 Full-Swing Golf, Inc. Golf ball tracking system and methods
SE544234C2 (en) * 2020-06-03 2022-03-08 Topgolf Sweden Ab Method for determing spin of a projectile
US11619708B2 (en) * 2020-07-28 2023-04-04 Trackman A/S System and method for inter-sensor calibration
US20220050172A1 (en) * 2020-08-13 2022-02-17 Invention Planet, LLC System and method for calibrating sensor measurements to determine the motion characteristics of a moving object
WO2022034245A1 (en) 2020-08-14 2022-02-17 Topgolf Sweden Ab Motion based pre-processing of two-dimensional image data prior to three-dimensional object tracking with virtual time synchronization
AU2021326016B2 (en) 2020-08-14 2023-04-13 Topgolf Sweden Ab Motion based pre-processing of two-dimensional image data prior to three-dimensional object tracking with virtual time synchronization
WO2022096353A1 (en) 2020-11-03 2022-05-12 Topgolf Sweden Ab Three-dimensional object tracking using unverified detections registered by one or more sensors
CN112782686A (zh) * 2020-12-15 2021-05-11 浙江中控技术股份有限公司 基于多维识别定位技术的装车自动对位系统及方法
US20220284625A1 (en) * 2021-03-05 2022-09-08 Trackman A/S System and method for determining 3d positional coordinates of a ball
CN114125330B (zh) * 2021-12-08 2024-04-19 杭州海康威视数字技术股份有限公司 一种抓拍系统、方法、装置及设备
US20230199295A1 (en) 2021-12-21 2023-06-22 Topgolf Sweden Ab Predictive camera control for tracking an object in motion
US20230372776A1 (en) * 2022-05-18 2023-11-23 Rapsodo Pte. Ltd. Stump device for feature estimation of cricket games
US11779809B1 (en) 2022-07-29 2023-10-10 Topgolf International, Inc. Method and system utilizing a golf shot API proxy

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4673183A (en) 1985-09-23 1987-06-16 Trahan Francis B Golf playing field with ball detecting radar units
US5342051A (en) * 1992-10-30 1994-08-30 Accu-Sport International, Inc. Apparatus and method for tracking the flight of a golf ball
US5413345A (en) 1993-02-19 1995-05-09 Nauck; George S. Golf shot tracking and analysis system
US6236940B1 (en) 1995-09-08 2001-05-22 Prolink, Inc. Display monitor for golf cart yardage and information system
US5912700A (en) 1996-01-10 1999-06-15 Fox Sports Productions, Inc. System for enhancing the television presentation of an object at a sporting event
AU2123297A (en) 1996-02-12 1997-08-28 Golf Age Technologies Golf driving range distancing apparatus and methods
US6093923A (en) 1996-09-11 2000-07-25 Golf Age Technologies, Inc. Golf driving range distancing apparatus and methods
US6449010B1 (en) 1996-12-20 2002-09-10 Forsum Digital Effects System and method for enhancing display of a sporting event
US5953056A (en) 1996-12-20 1999-09-14 Whack & Track, Inc. System and method for enhancing display of a sporting event
US5938545A (en) 1997-06-05 1999-08-17 The United States Of America As Represented By The Secretary Of The Navy Video system for determining a location of a body in flight
US7843510B1 (en) 1998-01-16 2010-11-30 Ecole Polytechnique Federale De Lausanne Method and system for combining video sequences with spatio-temporal alignment
US6233007B1 (en) 1998-06-22 2001-05-15 Lucent Technologies Inc. Method and apparatus for tracking position of a ball in real time
US6520864B1 (en) 1999-07-07 2003-02-18 Peter J. Wilk Method for tracking golf ball
US6592465B2 (en) 2001-08-02 2003-07-15 Acushnet Company Method and apparatus for monitoring objects in flight
US8409024B2 (en) 2001-09-12 2013-04-02 Pillar Vision, Inc. Trajectory detection and feedback system for golf
KR100470931B1 (ko) 2001-12-05 2005-02-22 가부시키가이샤 히다치 고쿠사이 덴키 템플레이트 매칭을 이용한 물체추적방법 및 장치
JP4628782B2 (ja) 2002-06-06 2011-02-09 ウィントリス エンジニアリング コーポレイション 飛行パラメータ測定システム
US7292711B2 (en) 2002-06-06 2007-11-06 Wintriss Engineering Corporation Flight parameter measurement system
JP2004164563A (ja) 2002-09-26 2004-06-10 Toshiba Corp 画像解析方法、画像解析装置、画像解析プログラム
CN100465985C (zh) 2002-12-31 2009-03-04 佳能株式会社 人眼探测方法及设备
US20040258154A1 (en) 2003-06-19 2004-12-23 Microsoft Corporation System and method for multi-stage predictive motion estimation
KR100514869B1 (ko) 2003-08-19 2005-09-14 현대자동차주식회사 차량의 전동 조절 페달 오작동 방지장치 및 방법
WO2005081014A1 (en) 2004-02-18 2005-09-01 Norman Matheson Lindsay Methods and systems using prediction of outcome for launched objects
WO2005116678A2 (en) 2004-05-26 2005-12-08 Interactive Sports Games A/S A method of and an apparatus for determining information relating to a projectile, such as a golf ball
US8085188B2 (en) 2004-07-02 2011-12-27 Trackman A/S Method and apparatus for determining a deviation between an actual direction of a launched projectile and a predetermined direction
WO2006002640A1 (en) 2004-07-02 2006-01-12 Interactive Sports Games A/S A method and an apparatus for determining a parameter of a path of a sports ball on the basis of a launch position thereof
SE529157C2 (sv) 2005-07-01 2007-05-15 Daniel Forsgren Bildförbättring vid registrering av sporthändelser
JP2007130071A (ja) 2005-11-08 2007-05-31 Bridgestone Sports Co Ltd ゴルフボールの性能評価システム
US7497780B2 (en) 2006-06-12 2009-03-03 Wintriss Engineering Corp. Integrated golf ball launch monitor
GB2455680B (en) 2006-09-27 2011-03-02 Norman Matheson Lindsay Methods and systems for identifying the launch positions of descending golf balls
WO2009053848A2 (en) 2007-09-07 2009-04-30 Henri Johnson Methods and processes for detecting a mark on a playing surface and for tracking an object
US20110159976A2 (en) 2007-12-12 2011-06-30 Rangetainment Technologies Gmbh A Golf Diagnosis Apparatus And A Method Of Performing Golf Diagnosis
US8098733B2 (en) 2008-03-10 2012-01-17 Neomagic Corp. Multi-directional motion estimation using parallel processors and pre-computed search-strategy offset tables
TWI381717B (zh) 2008-03-31 2013-01-01 Univ Nat Taiwan 數位視訊動態目標物體分割處理方法及系統
US8142267B2 (en) 2008-08-18 2012-03-27 Derek Adams Method and system for training a baseball player
KR102408358B1 (ko) 2009-01-29 2022-06-14 트랙맨 에이/에스 레이더 및 촬상 요소를 포함하는 조립체
FR2955930B1 (fr) 2010-01-29 2016-12-30 Thales Sa Procede de determination de la trajectoire d'un missile balistique
US9339715B2 (en) 2010-08-18 2016-05-17 Edge Technology Radar based tracking system for golf driving range
US9396385B2 (en) 2010-08-26 2016-07-19 Blast Motion Inc. Integrated sensor and video motion analysis method
KR20150139494A (ko) 2013-01-10 2015-12-11 이디에이치 유에스 엘엘씨 공 스핀율 측정
US20140228139A1 (en) 2013-02-10 2014-08-14 Christopher Wilson Method, system and apparatus for capturing the critical parameters of a golf ball in flight and displaying those parameters to the individual golfers
US9171211B2 (en) 2013-09-20 2015-10-27 Rapsodo Pte. Ltd. Image processing for launch parameters measurement of objects in flight
WO2015084937A1 (en) 2013-12-03 2015-06-11 Edh Us Llc Systems and methods to track a golf ball to and on a putting green
US9555284B2 (en) 2014-09-02 2017-01-31 Origin, Llc Multiple sensor tracking system and method
KR20170118061A (ko) 2015-01-06 2017-10-24 알파웨이브 골프 (피티와이) 리미티드 골프공 추적 시스템
US10019806B2 (en) * 2015-04-15 2018-07-10 Sportsmedia Technology Corporation Determining x,y,z,t biomechanics of moving actor with multiple cameras
WO2016176487A1 (en) * 2015-04-28 2016-11-03 Henri Johnson Systems to track a moving sports object
US9955126B2 (en) * 2015-08-19 2018-04-24 Rapsodo Pte. Ltd. Systems and methods of analyzing moving objects
US10593048B2 (en) * 2016-01-07 2020-03-17 Rapsodo Pte. Ltd. Object surface matching with a template for flight parameter measurement
US10379214B2 (en) 2016-07-11 2019-08-13 Trackman A/S Device, system and method for tracking multiple projectiles
US10444339B2 (en) 2016-10-31 2019-10-15 Trackman A/S Skid and roll tracking system
US10989791B2 (en) 2016-12-05 2021-04-27 Trackman A/S Device, system, and method for tracking an object using radar data and imager data

Also Published As

Publication number Publication date
WO2018138708A1 (en) 2018-08-02
US20230293940A1 (en) 2023-09-21
EP3574339A1 (en) 2019-12-04
EP3574339B1 (en) 2021-04-21
US20190111315A2 (en) 2019-04-18
US10596416B2 (en) 2020-03-24
DK3574339T1 (da) 2020-03-09
US11697046B2 (en) 2023-07-11
US20200391077A1 (en) 2020-12-17
US20180318644A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
ES2877049T3 (es) Sistema y procedimiento para el seguimiento de objetos tridimensionales utilizando una combinación de datos de radar y de imagen
US10898757B1 (en) Three dimensional object tracking using combination of radar speed data and two dimensional image data
CN109997054B (zh) 用于使用雷达数据和成像器数据跟踪物体的装置、系统和方法
JP5719170B2 (ja) 物体の位置及び運動検出システム、及び方法
US20160306036A1 (en) Systems and methods to track a golf ball to and on a putting green
US20140212004A1 (en) System and method for photographing moving subject by means of camera, and acquiring actual movement trajectory of subject based on photographed image
JP7322320B2 (ja) 仮想時間同期を使用した三次元オブジェクト追跡の前の二次元画像データのモーションベースの前処理
WO2016183954A1 (zh) 运动轨迹的计算方法及装置、终端
US11644562B2 (en) Trajectory extrapolation and origin determination for objects tracked in flight
US10695646B2 (en) Systems and methods for grounds monitoring
US20230085842A1 (en) Trajectory extrapolation and origin determination for objects tracked in flight and sensor coverage determination
US11964188B2 (en) Trajectory extrapolation for objects tracked in flight and sensor coverage determination
KR102097033B1 (ko) 보디 포인트 인터액션 센싱을 통한 모션 추정 시스템
KR102018045B1 (ko) 라이다를 이용하여 골프 퍼팅 라인 정보를 제공하기 위한 모바일 단말기