ES3037261T3 - Object tracking - Google Patents

Object tracking

Info

Publication number
ES3037261T3
ES3037261T3 ES18829957T ES18829957T ES3037261T3 ES 3037261 T3 ES3037261 T3 ES 3037261T3 ES 18829957 T ES18829957 T ES 18829957T ES 18829957 T ES18829957 T ES 18829957T ES 3037261 T3 ES3037261 T3 ES 3037261T3
Authority
ES
Spain
Prior art keywords
data
camera
lidar
range
points
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
ES18829957T
Other languages
English (en)
Inventor
Matthew Mellor
Shaun Prickett
David Clark
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.)
Sportlight Tech Ltd
Createc Ltd
Original Assignee
Sportlight Tech Ltd
Createc Ltd
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 Sportlight Tech Ltd, Createc Ltd filed Critical Sportlight Tech Ltd
Application granted granted Critical
Publication of ES3037261T3 publication Critical patent/ES3037261T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/50Systems of measurement based on relative movement of target
    • G01S17/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/0025Tracking the path or location of one or more users, e.g. players of a game
    • 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/05Image processing for measuring physical parameters
    • 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/805Optical or opto-electronic sensors
    • 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/806Video cameras
    • 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/807Photo cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Las implementaciones de ejemplo se relacionan con el seguimiento de objetos como, por ejemplo, participantes deportivos utilizando una combinación de datos de imágenes de cámara visual y LIDAR. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Seguimiento de objetos
El interés en el análisis del rendimiento de los atletas está en aumento. Los atletas pueden comprender, por ejemplo, jugadores de fútbol o fútbol. Los entrenadores están interesados en recopilar datos relacionados con el rendimiento atlético para evaluar el progreso en relación con las métricas de entrenamiento y otras mediciones atléticas.
Las soluciones para seguir a los atletas pueden comprender tecnología portátil que proporciona datos del sistema de posicionamiento global (GPS) relacionados con la posición de un atleta además de datos de acelerómetro y datos de magnetómetro. Alternativamente, las tecnologías no invasivas intentan seguir a los jugadores visualmente. Sin embargo, en ambos casos, existen deficiencias tales como, por ejemplo, la precisión de la posición, que generalmente está limitada mediante el uso de la señal GPS civil, o a los atletas no les gusta usar la tecnología portátil, especialmente durante un partido o evento competitivo. El documento US9234618B1 describe un dispositivo de detección y alcance de la luz asociado con un vehículo autónomo que explora a través de una zona de exploración mientras emite pulsos de luz y recibe señales reflejadas correspondientes a los pulsos de luz. Las señales reflejadas indican un mapa de puntos tridimensional de la distribución de puntos reflectantes en la zona de exploración. Un sensor hiperespectral imagina una región de la zona de exploración correspondiente a una característica reflectante indicada por el mapa de puntos tridimensional. La salida del sensor hiperespectral incluye información espectral que caracteriza una distribución espectral de radiación recibida desde la característica reflectante. Las características espectrales de la característica reflectante permiten distinguir objetos sólidos de características reflectantes no sólidas, y se proporciona un mapa de objetos sólidos para informar decisiones de navegación en tiempo real.
Los documentos EP 1959675 A2, EP 1808711 A2, WO 2005/088962 y DE 102007049147 A1 representan la técnica anterior relevante adicional.
Breve descripción de las Figuras
Se describen varias implementaciones, a modo de ejemplo, con referencia a las Figuras adjuntas, en las que:
La Figura 1 muestra un aparato de seguimiento de objetos de acuerdo con las implementaciones ilustrativas; La Figura 2 representa el aparato de seguimiento de objetos con el sistema de procesamiento de datos y el suministro de energía de acuerdo con las implementaciones ilustrativas;
La Figura 3 ilustra un sistema de seguimiento de objetos de acuerdo con las implementaciones ilustrativas; La Figura 4 muestra el aparato de seguimiento de objetos con más detalle de acuerdo con las implementaciones ilustrativas;
La Figura 5 muestra una representación de una pluralidad de jugadores de fútbol en un campo de juego de acuerdo con las implementaciones de ejemplo;
La Figura 6 ilustra una arquitectura de procesamiento de acuerdo con las implementaciones ilustrativas; La Figura 7 representa un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 8 muestra un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 9A ilustra un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 9B muestra la determinación del plano de tierra de acuerdo con las implementaciones ilustrativas; La Figura 10 representa un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 11 muestra una transformación entre tramas de referencia de acuerdo con las implementaciones ilustrativas;
Las Figuras 12A a 12C ilustran la derivación de curvas o fragmentos de trayectoria de acuerdo con las implementaciones ilustrativas; la Figura 12D muestra la formación de curvas o fragmentos de trayectoria de acuerdo con las implementaciones ilustrativas;
La Figura 13 representa la evaluación de curvas o fragmentos de trayectoria de acuerdo con las implementaciones ilustrativas;
La Figura 14 muestra un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 15 ilustra la derivación de la curva o fragmento de trayectoria del actor o representante de acuerdo con las implementaciones ilustrativas;
La Figura 16 muestra un diagrama de flujo de acuerdo con las implementaciones ilustrativas;
La Figura 17 representa la extracción de imágenes de acuerdo con las implementaciones ilustrativas;
La Figura 18 muestra un diagrama de flujo para la extracción de imágenes de acuerdo con las implementaciones ilustrativas;
La Figura 19 ilustra un diagrama de flujo para la medición del rendimiento de acuerdo con las implementaciones ilustrativas;
La Figura 20 representa una técnica para determinar los datos del espacio de color para una miniatura de acuerdo con las implementaciones ilustrativas;
La Figura 21 muestra un diagrama de flujo para determinar los datos del espacio de color para la miniatura de acuerdo con las implementaciones ilustrativas; y
La Figura 22 muestra una vista de instrucciones ejecutables por máquina y almacenamiento legible por máquina de acuerdo con las implementaciones ilustrativas.
Descripción detallada
El alcance de protección conferido se determina mediante las reivindicaciones adjuntas. Con referencia a la Figura 1, se muestra un aparato de seguimiento de objetos 100. El aparato de seguimiento de objetos 100 comprende una unidad de sensor 102. La unidad de sensor 102 comprende un par de sensores 104 y 106. Un sensor 104 del par de sensores puede comprender un sensor de alcance. El sensor de alcance es un ejemplo de un sistema de alcance. El sensor de alcance puede ser un sensor de alcance basado en láser que usa luz láser para determinar la posición o la información de profundidad. Por ejemplo, un sistema de detección y alcance de la luz (LIDAR) tal como, por ejemplo, un PUCK VLP-16, disponible, por ejemplo, de Velodyne LiDAR, podría usarse para realizar una implementación de un sensor de alcance. El sistema LIDAR comprende un escáner láser, un reloj de alta precisión y, opcionalmente, al menos uno de GPS y una unidad de medición de navegación inercial. El escáner láser puede usar un láser con una longitud de onda predeterminada. Las implementaciones pueden usar una longitud de onda predeterminada que no es visible para el ojo humano.
El sensor de alcance 104 tiene un campo de visión asociado 108. El sensor de alcance 104 produce datos de imagen o posición/alcance asociados con el campo de visión 108 del sensor de alcance, es decir, el sensor de alcance proporciona datos de posición o alcance asociados con una vista de alta resolución de un entorno. El sensor de alcance 104 puede producir datos de posición o alcance para una o más de una dirección de exploración o dirección de iluminación del sensor de alcance. Los datos de posición o intervalo son una medida de la ubicación en el espacio de, o la distancia a, un punto o reflexión o dispersión de luz emitida por el sensor de alcance. El entorno puede ser, por ejemplo, un volumen o área explorada para albergar un evento. El conjunto de reflexiones o devoluciones se conoce como imagen LIDAR o datos del sistema de alcance. Los datos del sistema de alcance son un ejemplo de datos de alcance.
El otro sensor 106 del par de sensores 104, 106 puede ser una cámara 106. La cámara tiene un campo de visión respectivo 110. La cámara 106 puede capturar al menos uno de los datos de vídeo o los datos de imagen fija asociados con su campo de visión 110 respectivo.
Los campos de visión 108, 110 se disponen para que se superpongan de manera que realicen un barrido o cubran un volumen común. El sensor de alcance 104 producirá datos de alcance de objetos, o del entorno, dentro del volumen común y el sensor de cámara producirá datos de vídeo o imagen de objetos dentro del volumen común. Los datos de vídeo y los datos de imágenes fijas se conocen como datos de cámara, es decir, los datos de cámara producidos por la cámara 106 pueden comprender al menos uno, o ambos, de los datos de vídeo y los datos de imágenes fijas.
La unidad de sensor 102 puede acoplarse a un sistema de procesamiento de datos 112. El sistema de procesamiento de datos 112 puede ser un ordenador tal como, por ejemplo, un ordenador portátil u otro ordenador. El sistema de procesamiento de datos 112 puede comprender un procesador de datos de alcance 114 que al menos uno, o ambos, recibe o procesa datos del sensor de alcance 104. El sistema de procesamiento de datos 112 puede comprender un procesador de datos de imagen 116 que al menos uno, o ambos, recibe o procesa datos de cámara de la cámara 106. Cualquier dato recibido o procesado puede almacenarse en la memoria 118. La memoria puede ser cualquier tipo de almacenamiento de datos tal como, por ejemplo, RAM, HDD, o unidad de estado sólido o similar para almacenar grandes conjuntos de datos.
El sensor de alcance 104 tiene un eje de referencia del sensor de alcance 120 que tiene una orientación conocida dentro de una trama de referencia del sensor de alcance del sensor de alcance 104. La cámara 106 tiene un eje de referencia de la cámara 122 que tiene una orientación conocida. La orientación y posición relativas del eje de referencia del sensor de alcance 120 y el eje de referencia de la cámara 122 se conocen. Conocer la orientación y posición relativas de los ejes 120, 122 permite correlacionar los datos de alcance y los datos de la cámara, o mapearlos de cualquier otra manera en una trama de referencia común mediante un procesador de transformación 124. El procesador de transformación 124 puede formar parte del sistema de procesamiento de datos 112, o de algún otro sistema de procesamiento de datos. En general, el sensor de alcance 104 y la cámara 106 tendrán sus ejes verticales alineados de manera que el mapeo entre la trama de referencia del sensor de alcance y la trama de referencia de la cámara sea un desplazamiento vertical. El desplazamiento vertical podría ser del orden de varios centímetros o decenas de centímetros.
Los datos específicos del jugador, o los datos del actor, que representan al menos uno, o ambos, de los datos de alcance o los datos de la cámara asociados con un jugador se determinan a partir de al menos uno, o ambos, de los datos del sistema de alcance o los datos de la cámara. Los datos específicos del jugador, o datos del actor, dentro de los datos del sistema de alcance pueden procesarse para identificar o aislar uno o más de un conjunto de datos asociados con un jugador. Además, o alternativamente, los datos específicos del jugador, o los datos del actor, dentro de los datos de la cámara pueden procesarse para identificar o aislar uno o más de un conjunto de datos asociados con un jugador. Aún más, los datos específicos del jugador, o datos de actor, dentro de los datos del sistema de alcance pueden procesarse para identificar o aislar uno o más conjuntos de datos asociados con un jugador y los datos específicos del jugador, o datos de actor, dentro de los datos de la cámara pueden procesarse para identificar o aislar uno o más conjuntos de datos asociados con el jugador. Un conjunto general de datos específicos del jugador puede derivarse tanto de los datos específicos del jugador del sistema de alcance como de los datos de la cámara.
Por ejemplo, se apreciará que al conocer los datos específicos del jugador derivados de los datos del sistema de alcance, se pueden determinar los datos de la cámara correspondientes asociados con ese jugador. Por ejemplo, los cambios entre conjuntos de datos del sistema de alcance separados temporal y/o espacialmente pueden usarse para identificar datos del sistema de alcance indicativos de una persona en movimiento para formar los datos específicos del jugador. Una persona en movimiento es un ejemplo de un objeto en movimiento. Conocer la posición relativa de los datos específicos del jugador dentro de los datos del sistema de alcance con relación al eje de referencia del sistema de alcance 120, junto con conocer la transformación entre el eje de referencia del sistema de alcance 120 y el eje de referencia de la cámara 122, permite determinar los datos de la cámara correspondientes, es decir, los datos específicos del jugador que comprenden los datos de la cámara, a partir de los datos de la cámara.
Alternativamente, o adicionalmente, por ejemplo, al conocer los datos específicos del jugador derivados de los datos de la cámara, se pueden determinar los datos del sistema de alcance correspondientes. Por ejemplo, el software de reconocimiento de personas puede usarse para identificar datos visuales, es decir, datos de imagen o vídeo, a partir de los datos de la cámara, para formar los datos específicos del reproductor. Conocer la posición relativa de los datos específicos del jugador dentro de los datos de la cámara con relación al eje de referencia de la cámara 122, junto con conocer la transformación entre el eje de referencia del sistema de alcance 120 y el eje de referencia de la cámara 122, permite determinar los datos del sistema de alcance correspondientes, es decir, los datos específicos del jugador que comprenden los datos de alcance, a partir de los datos de alcance.
El evento puede ser, por ejemplo, un partido de fútbol. Las implementaciones en esta descripción se describirán con referencia a un partido de fútbol con los atletas que son jugadores de fútbol. Sin embargo, las implementaciones no se limitan a tal disposición. Pueden realizarse implementaciones ilustrativas para seguir al menos uno de los atletas y una pelota, u otro equipo, de otros deportes tales como, por ejemplo, cualquiera de los deportes en equipo como el rugby, el béisbol, el baloncesto, el hockey, el fútbol americano, el voleibol y similares o cualquier deporte individual tal como, por ejemplo, el tenis o el golf.
Con referencia a la Figura 2, se muestra una vista de un sistema de seguimiento de objetos 200. El sistema de seguimiento de objetos 200 comprende la unidad de sensor 102, con el sensor de alcance 104 y la cámara 106, instalada en un soporte 202 que eleva la unidad de sensor 102 por encima del suelo 204. También se muestra una carcasa portátil robusta 206. La carcasa 206 comprende al menos uno, o ambos, del sistema de procesamiento de datos 112 o un suministro de energía 208. La fuente de alimentación 208 puede suministrar energía a al menos una, o ambas, de la unidad de sensor 102 o el sistema de procesamiento de datos 112.
Con referencia a la Figura 3, se muestra una vista 300 de múltiples unidades de sensor 302 a 308 para seguir objetos dentro de un volumen o área predeterminada 310. Cada una de las múltiples unidades de sensor 302 a 308 son ejemplos de la unidad de sensor 102 descrita anteriormente. Los ejemplos se describirán con referencia al seguimiento de objetos, tales como, por ejemplo, uno o más de uno de los jugadores, la pelota, un árbitro o los asistentes, tomados conjunta y severamente en cualquiera y todas las permutaciones. El volumen o área predeterminada 310 es un campo de fútbol y los objetos a seguir son objetos en movimiento dentro del volumen o área predeterminada 310 tales como, por ejemplo, jugadores de fútbol 312.
Las unidades de sensor 302 a 308 tienen cada una campos de visión LIDAR respectivos 314 a 320. Las unidades de sensor 302 a 308 tienen cada una campos de visión de cámara respectivos 322 a 328. Dos o más de los campos de visión LIDAR 314 a 320 pueden superponerse. Dos o más de los campos de visión de la cámara 322 a 328 pueden superponerse. En la implementación de ejemplo mostrada, todos los campos de visión LIDAR 314 a 322 se superponen y todos los campos de visión de cámara 322 a 328 se superponen.
La posición de cada una de las unidades de sensor 302 a 308 entre sí se conoce o puede determinarse como se describe a continuación. Por lo tanto, cada unidad de sensor 302 a 308 tiene o puede tener datos de posición asociados. Los datos de posición de cada unidad de sensor 302 a 208 pueden ser datos de posición relativa que son relativos a un dato o punto de origen predeterminado. Tal dato o punto de origen predeterminado puede ser, por ejemplo, una de las unidades de sensor 302 a 308, tal como, por ejemplo, una unidad de sensor maestro, o algún otro dato. Conociendo los datos de posición de una o más de una unidad de sensor, los datos de posición de jugador u objeto pueden determinarse mediante el uso de las unidades de sensor 302 a 308. Alternativamente, o adicionalmente, los datos de posición de las unidades de sensor 302 a 308 pueden ser, por ejemplo, datos de posición GPS que proporcionan información de posición GPS para una unidad de sensor respectiva. Alternativamente, o adicionalmente, al menos una, o ambas, de la distancia entre o las orientaciones relativas de las unidades de sensor podrían determinarse mediante medición. Las alturas relativas de las unidades de sensor 302 a 308 pueden disponerse para que sean iguales, o una o más de una unidad de sensor puede colocarse a una altura respectiva individual con relación a las otras unidades de sensor. Por lo tanto, las implementaciones ilustrativas pueden realizarse en las que cualquiera o todas las unidades de sensor 302 a 308 pueden colocarse a alturas respectivas, diferentes, o en las que una o más de una unidad de sensor tiene la misma altura en comparación con una o más de una unidad de sensor diferente, o en las que una o más de una unidad de sensor tiene una altura diferente en comparación con una o más de una unidad de sensor diferente.
El sistema de procesamiento de datos 112 puede usar los datos de posición asociados con las unidades de sensor 302 a 308 para determinar una serie de métricas asociadas con los jugadores 312. Por ejemplo, las mediciones de alcance realizadas por un sensor de alcance dado pueden usarse para determinar al menos uno de los datos de distancia y los datos de dirección con relación al sensor dado. Los datos de distancia pueden, junto con los datos de tiempo respectivos, usarse para determinar los datos de velocidad. Los datos de velocidad y los datos de dirección pueden usarse para determinar la velocidad. Las determinaciones anteriores pueden realizarse por el sistema de procesamiento de datos 112, en particular, por el procesador de datos de alcance 114.
El sistema de procesamiento de datos 112 puede asociar los datos de alcance con datos visuales o gráficos asociados con un reproductor 312. Los datos de múltiples sensores de alcance pueden combinarse como se describirá más adelante para producir una curva o fragmento de trayectoria representativo a partir de múltiples curvas o fragmentos de trayectoria derivados de los respectivos sensores de alcance.
Con referencia a la Figura 4, se muestra una vista más detallada 400 del sistema de procesamiento de datos 112. El sistema de procesamiento de datos 112 está, o puede estar, acoplado a una unidad de sensor 102. La unidad de sensor 102 comprende el sensor de alcance 104 y la cámara 106.
El sistema de procesamiento de datos 112 comprende el procesador de datos de alcance 114 y el procesador de datos de imagen 116.
El procesador de datos de alcance 114 comprende un circuito 402 para procesar datos de alcance 404 asociados con mediciones de alcance o distancia de, o dentro del campo de visión 108 del sensor de alcance 104. El procesador de datos de alcance 114 comprende un circuito 406 para producir curvas o fragmentos de trayectoria 408. Una curva o pista es una secuencia de posiciones registradas de un grupo que representa un objeto que se ha observado, o se ha observado, en múltiples etapas de tiempo. A medida que el objeto se mueve, su posición se registra con el tiempo correspondiente para que se pueda analizar la velocidad y el historial de tiempo. Un grupo es un grupo de puntos de una nube de puntos 3D. Los fragmentos de trayectoria 408 representan un conjunto de datos de alcance que definen, representan o de cualquier otra manera están asociadas con una trayectoria de movimiento de un objeto correspondiente tal como, por ejemplo, un atleta u otro jugador.
El procesador de datos de alcance 114 comprende un circuito 410 para crear o acumular nubes de puntos 412. A medida que el sensor de alcance, tal como, por ejemplo, un LIDAR, explora el entorno, cada haz devuelto proporciona un punto en el espacio, que puede ser una distancia conocida desde el LIDAR o coordenadas 3D del punto en el espacio. En un escaneo completo, miles de puntos pueden determinarse para producir una visualización 3D del entorno formada por puntos. Estos puntos, para un sensor de alcance dado, se conocen como una nube de puntos.
El procesador de datos de alcance 114 comprende además un procesador de fragmentos de trayectoria 414. El procesador de fragmentos de trayectoria 414 se dispone para procesar Los fragmentos de trayectoria 408 para identificar Los fragmentos de trayectoria asociadas con un objeto en movimiento único o común, como, por ejemplo, un atleta o jugador común. Los fragmentos de trayectoria pueden asociarse con un atleta o jugador a través de técnicas de procesamiento visual automático que buscan, por ejemplo, detectar números, nombres, reconocer la cara de un jugador o a través de técnicas manuales donde las imágenes de la cámara se usan para identificar a un individuo mediante la inspección visual de las imágenes.
El procesador de datos de alcance comprende aún más circuitos 416 para derivar métricas o características de rendimiento de o de los fragmentos de trayectoria 408 asociados con cualquier atleta o jugador dado. Las métricas o características de rendimiento pueden comprender al menos uno o más de uno de los datos de posición, velocidad, dirección o velocidad identificados a partir de las trayectorias. Las métricas o características de rendimiento se derivan de los datos identificados, o correlacionados, asociados con un solo atleta o jugador, es decir, una persona común, mediante el uso de al menos uno de los datos de alcance o los datos de la cámara para ese solo atleta o jugador.
El procesador de datos de imagen 116 comprende una memoria 418 para almacenar datos de la cámara, es decir, al menos una, o ambas, de imágenes fijas y datos de vídeo 420. Los datos de la cámara se recogen a una velocidad predeterminada. Las implementaciones de ejemplo pueden acumular datos de la cámara a un número predeterminado de cuadros por segundo, tal como, por ejemplo, a una velocidad de 10 Hz, es decir, 10 cuadros por segundo. Una trama de datos de la cámara puede comprender un número predeterminado de bytes. Pueden realizarse implementaciones de ejemplo en las que una trama de datos de cámara comprende 10 MB de datos o alguna otra cantidad de datos. La memoria 418 tiene una capacidad predeterminada. La capacidad predeterminada puede acomodar los datos de la cámara asociados con un evento o período de tiempo respectivos. Pueden realizarse implementaciones de ejemplo en las que el evento o período de tiempo respectivo se asocia con, por ejemplo, un partido de fútbol. Los datos de la cámara 420 que ascienden a más de 500 GB por evento o período de tiempo respectivo pueden acumularse en la memoria 418.
El procesador de datos de imagen 116 comprende un procesador de miniaturas 432 que produce imágenes en miniatura a partir de un conjunto de datos de cámara 434 emitidos por el circuito de compresión de imágenes 422 que produce datos de imagen comprimidos 428. Los datos de imagen comprimidos 428 pueden almacenarse en una memoria respectiva 430. Cada imagen en miniatura puede disponerse para abarcar 1ro y 2do números predeterminados de grados vertical y horizontalmente, es decir, en dos direcciones mutuamente ortogonales. Por ejemplo, cada imagen en miniatura puede disponerse para tener un alcance de 5° del campo de visión tanto vertical como horizontalmente. Cada miniatura puede disponerse con una resolución fija. Cada miniatura puede tener cuadros de miniatura de diferentes tamaños determinados por el intervalo.
Se usa una memoria adicional 436 para almacenar múltiples conjuntos de datos de identificación del jugador 438. Un conjunto de datos de identificación del jugador representa, o puede comprender, un conjunto de uno o más de un dato de cámara asociados con el mismo jugador o atleta. Cualquier jugador o atleta dado puede tener múltiples conjuntos de datos de identificación de jugador.
El procesador de transformación 124, como se indicó anteriormente, se usa para correlacionar los datos de la cámara tales como, por ejemplo, los datos de imagen comprimidos 428, con los datos de movimiento asociados con un jugador o atleta.
Se usa un correlacionador 440 para producir datos del reproductor 442. Los datos del jugador 442 representan datos asociados con un objeto en movimiento común tal como, por ejemplo, una persona, es decir, datos asociados con al menos un jugador o atleta. Los datos del jugador 442 pueden comprender al menos uno o más de uno de un conjunto de datos de identificación del jugador 438, un conjunto de métricas o características de rendimiento tomadas conjunta y severamente o cualquier otro dato asociado con un jugador dado.
La Figura 5 muestra una vista 500 de una representación gráfica de los datos descritos anteriormente. En la implementación de ejemplo representada, se muestra una vista de un campo de fútbol 502 junto con dos equipos que comprenden conjuntos respectivos de íconos de jugadores 504-1 a 504-11 y 506-1 a 506-11.
Uno o más de los íconos de jugador comprenden una trayectoria o pista respectiva que muestra el movimiento durante un período de tiempo predeterminado. Una trayectoria o pista respectiva que muestra el movimiento durante un período de tiempo predeterminado se muestra como líneas discontinuas, que no se han referenciado para preservar la claridad. Cuanto más rápido se mueva un jugador, más largo será el camino o el fragmento de trayectoria respectiva durante un período de tiempo determinado. Puede apreciarse que un número de jugadores tales como, por ejemplo, 504-1, 506-2, 506-6 son estacionarios mientras que los jugadores restantes están en movimiento.
La Figura 5 también muestra una vista más cercana de un ícono de reproductor 508. El ícono de reproductor 508 puede comprender una ID de reproductor central 510 y una trayectoria de movimiento 512. La longitud de la trayectoria de movimiento 512 es indicativa de la distancia recorrida por el jugador en un período de tiempo predeterminado. El ícono de reproductor 508 también contiene un indicio 514. El indicio 514 proporciona una presentación visual o indicación de una métrica o característica de rendimiento tal como, por ejemplo, duración del juego, velocidad promedio, posesión del balón o alguna otra métrica. La ID del jugador central puede ser, por ejemplo, una toma de la cabeza del jugador de interés.
La Figura 6 muestra una vista 600 de una arquitectura de acuerdo con una implementación. La arquitectura comprende la unidad de sensor maestro 602 y una serie de unidades de sensores adicionales, o esclavas, 604, 606, 608. Las unidades de sensor 602 a 608 pueden ser implementaciones de ejemplo de las unidades de sensor descritas anteriormente 302 a 308. En el ejemplo representado, se muestra un total de cuatro unidades de sensor. Pueden realizarse implementaciones de ejemplo en las que se utilizan algunas otras unidades de sensor. Cada una de las unidades de sensor esclavas 604 a 608 está en comunicación con la unidad de sensor maestro 602. La unidad de sensor maestro tiene al menos una primera interfaz 610 para emitir datos. La primera interfaz 610 puede ser, por ejemplo, una conexión por cable o inalámbrica. Por ejemplo, la conexión por cable puede ser una conexión Ethernet. La unidad maestra de sensor 602 también puede tener una interfaz adicional 612 para emitir datos. La interfaz adicional 612 puede ser una conexión por cable o inalámbrica. En el ejemplo representado, la interfaz adicional es una conexión de red inalámbrica. La interfaz adicional 612 puede usarse para suministrar datos a un dispositivo tal como, por ejemplo, un ordenador 614.
La Figura 7 muestra una vista 700 de un diagrama de flujo de acuerdo con una implementación. Cada unidad de sensor se dispone para construir una imagen de fondo en 702, en particular, el sensor de alcance se usa para establecer una imagen de fondo. La imagen de fondo es una nube de puntos 3D de puntos expresados como coordenadas asociadas con retornos o reflexiones del escáner láser dentro de una trama de referencia predeterminada. La trama de referencia predeterminada puede ser un sistema de coordenadas. El sistema de coordenadas puede ser, por ejemplo, un sistema de coordenadas cartesianas, un sistema de coordenadas esféricas o algún otro sistema de coordenadas. Por lo tanto, las implementaciones ilustrativas pueden realizarse en las que la imagen de fondo comprende una nube de puntos 3D de coordenadas cartesianas o esféricas expresadas con referencia a una trama de referencia cartesiana respectiva o una trama de referencia de sistema de coordenadas esféricas. El origen de cada trama de referencia corresponde al punto focal del sensor de alcance de una unidad de sensor dada.
En 704, una o más de una de las unidades de sensor establece un plano de referencia para el sensor de alcance a partir de la imagen de fondo. Pueden realizarse implementaciones de ejemplo en las que todos los sensores establecen planos de tierra respectivos. El establecimiento de un plano de tierra a partir de los datos de fondo se describirá con más detalle con referencia a la Figura 8.
En 706, cuando una o más de una unidad de sensor ha establecido un plano de tierra a partir de los datos de fondo respectivos, se designa una unidad de sensor maestro. Pueden realizarse implementaciones de ejemplo en las que la unidad de sensor maestro es la primera unidad de sensor de las unidades de sensores para establecer un plano de tierra. La unidad de sensor maestro asume también el papel de un servidor para sí misma y al menos una unidad de sensor adicional. Pueden realizarse implementaciones de ejemplo en las que la unidad de sensor maestro asume el papel de un servidor en nombre de todas las demás unidades de sensor. La unidad maestra de sensor recopila y emite datos derivados de las otras unidades de sensor, así como también sus propios datos.
La calibración de la unidad de sensor también puede realizarse en 706. Se identifican al menos dos o más conjuntos de puntos (fragmentos de trayectoria) de las nubes de puntos 3D para al menos dos o más unidades de sensor respectivas. Los al menos dos o más conjuntos de puntos se usan para determinar los datos de relación, es decir, las relaciones posicionales, entre la unidad de sensor maestro y las al menos dos o más unidades de sensor. Las implementaciones ilustrativas pueden realizarse en los datos de relación que comprenden una o más de una matriz rotacional y/o matriz de traslación entre o mapeando la unidad de sensor maestro y una o más de una unidad de sensor de las otras unidades de sensor. Tal matriz de rotación se dispone para mapear un conjunto de puntos de una nube de puntos 3D en la trama de referencia de la unidad de sensor maestro, es decir, una matriz que establece un mapeo entre una trama de referencia del sistema de coordenadas de una unidad de sensor respectiva a la trama de referencia del sistema de coordenadas de la unidad de sensor maestro. Conocer el mapeo entre la trama de referencia maestra y una o más de una trama de referencia de una o más de una unidad de sensor permite determinar las posiciones relativas de las unidades de sensor. Pueden realizarse implementaciones de ejemplo en las que la determinación de los datos de relación es sensible a la detección de al menos dos o más conjuntos de puntos (fragmentos de trayectoria) de las nubes de puntos 3D que portan características respectivas. Los ejemplos de tales características respectivas pueden comprender, por ejemplo, dos o más conjuntos de puntos (fragmentos de trayectoria) de la nube de puntos 3D que tienen una longitud predeterminada tal como, por ejemplo, una longitud mínima predeterminada. La longitud predeterminada puede ser, por ejemplo, 20 m o alguna otra longitud.
Las implementaciones ilustrativas capturan los puntos de las nubes de puntos 3D para cada unidad de sensor dentro del sistema de coordenadas local para esa unidad de sensor. La matriz de rotación y/o traslación o matrices de rotación y/o traslación, se usan para mapear las nubes de puntos o los datos asociados con o derivados de tales nubes de puntos, de las diferentes unidades de sensor en el sistema de coordenadas de referencia de la unidad de sensor maestro.
Puede apreciarse que 702 a 706 pueden formar o representar un proceso de calibración para determinar las posiciones relativas de las unidades de sensor.
Una vez que las unidades de sensor se han calibrado a través del proceso de calibración, las unidades de sensor pueden usarse para el seguimiento de objetos, tal como, por ejemplo, el seguimiento de uno o más de un jugador de un partido de fútbol. En 708, cada unidad de sensor se dispone para identificar o producir datos asociados con mediciones de alcance que se desvían de la imagen de fondo en una cantidad predeterminada. Tales mediciones de alcance que se desvían de la imagen de fondo en una cantidad predeterminada se consideran objetos en primer plano, es decir, objetos detectados como en movimiento dentro del campo de visión del sensor de alcance. Pueden realizarse implementaciones de ejemplo en las que la cantidad predeterminada es de 20 cm. Pueden realizarse implementaciones de ejemplo en las que la cantidad predeterminada está al menos a 20 cm más cerca del sensor de alcance de una unidad de sensor. Puede apreciarse que todas y cada una de las implementaciones ilustrativas descritas y/o reivindicadas en esta solicitud distinguen entre los retornos del sistema de alcance de primer plano y los retornos del sistema de alcance de fondo de manera que los retornos del sistema de alcance de primer plano son dinámicos y, por lo tanto, se supone que se refieren a un objeto en movimiento, mientras que los retornos del sistema de alcance de fondo son estáticos y, por lo tanto, se supone que se refieren a objetos que no se mueven, es decir, el fondo de los objetos en movimiento.
En 710, se determinan o identifican conjuntos predeterminados de puntos de la nube de puntos 3D producida por el sensor de alcance de una unidad de sensor. Los conjuntos predeterminados de puntos de la nube de puntos 3D producida por el sensor de alcance de una unidad de sensor se consideran asociados con el movimiento del mismo objeto. Por ejemplo, el movimiento de un jugador de fútbol en un campo de fútbol, o sección del campo de fútbol, que cae dentro del campo de visión del sensor de alcance causará, o tendrá asociado con él, un conjunto de puntos de la nube de puntos 3D. Un conjunto predeterminado dado de puntos de una nube de puntos 3d producida por el sensor de alcance de una unidad de sensor comprenderá conjuntos de puntos espaciados temporalmente.
Se apreciará que se crearán múltiples instancias de tales conjuntos predeterminados de puntos de las nubes de puntos 3D producidas por los sensores de alcance de las unidades de sensores. Además, esas múltiples instancias pueden asociarse con el mismo objeto o asociarse con múltiples objetos.
En 712, las múltiples instancias de tales conjuntos predeterminados de puntos de las nubes de puntos 3D producidas por los sensores de alcance de las unidades de sensores se procesan para identificar objetos móviles individuales o respectivos tales como, por ejemplo, jugadores de fútbol individuales o respectivos en movimiento.
Los objetos móviles individuales o respectivos se conocen como actores. Al establecer los actores de un evento, se derivan datos adicionales asociados con esos actores a partir de los datos de la cámara producidos por las cámaras de las unidades de sensor. Los datos de nubes de puntos, es decir, un conjunto predeterminado de puntos de la nube de puntos 3D producida por un sensor de alcance de una unidad de sensor, se usan para extraer datos de la cámara asociados con el conjunto predeterminado de puntos. Los datos de la cámara asociados pueden comprender, por ejemplo, al menos uno de, o ambos de, los datos de vídeo o los datos de imagen.
Los datos de vídeo y/o los datos de imagen pueden usarse, en 714, para acceder a una base de datos (no mostrada) de reproductores potenciales con el fin de identificar el reproductor asociado con el movimiento detectado. Aún más, se apreciará que las implementaciones ilustrativas pueden identificar ventajosamente a un jugador individual. Esto contrasta meramente con detectar un objeto en movimiento o una persona en movimiento, es decir, identificar a un individuo como tal en lugar de identificar a una persona sin determinar la identidad de esa persona.
Con referencia a la Figura 8, se muestra una vista de un diagrama de flujo 800 para construir una imagen de fondo como se describe anteriormente en 702. El proceso definido por el diagrama de flujo 800 puede implementarse por cada unidad de sensor. La construcción de la imagen de fondo comienza para cada unidad de sensor en 802. Para cada punto de exploración del sensor de alcance, se establece una medición de alcance en 804. Al establecer mediciones de alcance para al menos un subconjunto de puntos de exploración posibles, o todos los puntos de exploración, las coordenadas correspondientes en una trama de referencia de coordenadas respectivo para formar la imagen de fondo se determinan o almacenan en 806. Las implementaciones de ejemplo pueden almacenar la imagen de fondo como una nube de puntos 3D de puntos expresados como coordenadas dentro de la trama de referencia respectiva o elegida. Por lo tanto, una implementación puede comprender almacenar la imagen de fondo como una nube de puntos 3D, o conjunto, de coordenadas cartesianas
{(x z-i) (X2 y2 Z2) ... (xwywzw)}, donde N es el número de puntos de exploración.
Con referencia a la Figura 9A, se muestra una vista de un diagrama de flujo 900A para construir un plano de tierra para una unidad de sensor como se describió anteriormente con referencia a 704. El diagrama de flujo determina si los pares de puntos de la nube de puntos 3D cumplen al menos un criterio. En 902, se selecciona un par de puntos para comparación. La separación en una dirección dada entre el par de puntos seleccionado se determina en 904. Las implementaciones ilustrativas usan la elevación o la separación vertical como la separación en una dirección dada. Se realiza una determinación, en 906, con respecto a si la separación cumple o no con al menos un criterio predeterminado. Pueden realizarse implementaciones ilustrativas en las que el al menos un criterio predeterminado es de 15 grados. Si un par de puntos cumple con al menos un criterio predeterminado, esos puntos se almacenan en 908, o se marcan como, que forman un conjunto candidato de puntos de plano de tierra que representan un plano de tierra para el sensor, o que representan un conjunto de puntos de plano de tierra a partir de los cuales se puede determinar un plano de tierra. Una vez que se ha considerado un subconjunto, o todos, de los pares de puntos de la nube de puntos 3D, el plano del suelo puede establecerse a partir de los puntos candidatos almacenados. El plano del suelo se representa mediante el uso de una ecuación de un plano que comprende una normal al plano y un punto en el plano.
Con referencia a la Figura 9B, se muestra una vista 900B de la determinación del plano de tierra de acuerdo con las implementaciones ilustrativas. Suponga que el punto focal del sensor de alcance está en 950. Suponga también que un conjunto de haces de alcance dispuestos verticalmente o escaneos de LiDAR iluminan el suelo 954 dentro del mismo plano vertical. Se muestran siete haces de LiDAR. Suponga también que el terreno 954 comprende varios niveles. En el ejemplo representado, se muestran dos niveles 956, 958. Los haces LiDAR o los haces de alcance se muestran como que intersecan el suelo en los puntos respectivos 960 a 974, que producirán los retornos respectivos.
Se determina el gradiente, O, entre conjuntos adyacentes de puntos de intersección con el suelo. Por ejemplo, dado dos puntos adyacentes 976, 978, se determina el gradiente, O, 980 entre ellos. Si el gradiente cumple con un criterio respectivo, los dos puntos 976, 978 se consideran puntos candidatos dentro de la nube de puntos 3D que pueden formar parte de un plano del suelo. Adecuadamente, los datos asociados con esos puntos candidatos se almacenan para determinar más tarde el plano del suelo. Pueden realizarse implementaciones ilustrativas en las que el criterio predeterminado es que el gradiente, O, es menor que un umbral respectivo. El umbral respectivo puede ser, por ejemplo, de 15 grados.
Los datos almacenados para determinar más tarde el plano de referencia comprenden almacenar uno o más de un dato de altura asociado con los puntos candidatos del plano de referencia. Los datos de altura uno o más pueden determinarse de varias maneras. Por ejemplo, una implementación puede almacenar una, o ambas, de las alturas 982, 984 asociadas con los puntos candidatos en un histograma de puntos candidatos. Alternativamente, o adicionalmente, los datos derivados de los puntos candidatos pueden almacenarse como parte del histograma. Por ejemplo, se puede derivar una altura promedio a partir de las alturas de los puntos candidatos. Aún más, las implementaciones ilustrativas pueden extender la línea que une los puntos candidatos para determinar el punto 986 de intersección con el eje z 988 de la trama de referencia de coordenadas del sensor de alcance con el punto de intersección que forma los datos de altura.
Por lo tanto, se apreciará que los puntos 960 y 962 tendrán un gradiente que cumpla con el criterio. El punto de intersección con el eje z 988 tiene una altura deh2.De manera similar, se apreciará que los puntos 962 y 964 tendrán un gradiente que cumpla con el criterio. El punto de intersección con el eje z 988 tiene una altura deh3.Los puntos adyacentes 964 y 966 no cumplirán con el criterio. Los puntos adyacentes 966 y 968 tampoco cumplen el criterio. Se apreciará que los puntos 968 y 970 tendrán un gradiente que cumpla con el criterio. El punto de intersección con el eje z 988 tiene una altura dehi.De manera similar, los puntos adyacentes 970 y 972 cumplirán el criterio y tienen un punto de intersección con el eje z a una altura dehi.
Por lo tanto, con referencia al histograma 990, puede apreciarse que la distribución muestra una mayoría de puntos candidatos 992 que tienen una altura dehide manera que los respectivos puntos candidatos se consideran que forman el plano del suelo. Una representación matemática del plano de tierra se deriva de los puntos candidatos. La representación matemática puede expresarse como la ecuación de un plano que comprende un vector de un punto en el plano y una normal al plano. Se apreciará que lo anterior ha usado puntos dentro de un solo plano para determinar el plano del suelo. Las implementaciones ilustrativas no se limitan a tal disposición. Pueden realizarse implementaciones de ejemplo en las que los puntos asociados con dos o más planos verticales se usan para determinar el histograma que se usa para determinar el plano del suelo.
Todas las alturas, o coordenadas del eje z, emitidas por el sensor de alcance se determinan con referencia al plano del suelo, que se considera que está en z=0. El plano de referencia determinado puede comunicarse a las otras unidades de sensor, que también pueden usar el plano de referencia determinado como su punto z=0 respectivo.
Con referencia a la Figura 10, se muestra una vista 1000 de un par de diagramas de flujo 1000 para inicializar o calibrar las unidades de sensor con respecto a una a otra. La primera unidad de sensor que establece un plano de tierra se considera una unidad de sensor de control o maestra. Por lo tanto, una vez que se ha establecido un plano de tierra, se envía una comunicación a ese efecto, en 1002, a cualquier otra unidad de sensor. Una o más de una unidad de sensor de cualquier otra unidad de sensor recibe la comunicación emitida por la unidad de sensor maestro en 1004. En 1006, la una o más de una unidad de sensor receptora establece un conjunto de puntos asociados con uno o más de un objeto en movimiento tal como, por ejemplo, un jugador en movimiento. En 1008, el uno o más conjuntos de puntos se envían a la unidad maestra.
En respuesta a recibir uno o más conjuntos de puntos asociados con uno o más objetos en movimiento en 1008, la unidad de sensor maestro deriva, en 1010, una transformación que relaciona uno o más conjuntos de puntos relacionados según lo determinado por la unidad de sensor maestro y según lo determinado por una o más unidades de sensor que están asociadas con el mismo objeto en movimiento. Las implementaciones ilustrativas proporcionan tal transformación entre la unidad de sensor maestro y cada unidad de sensor que devuelve tales puntos. Más particularmente, las implementaciones pueden proporcionar una transformación entre las tramas de referencia de coordenadas de las unidades de sensor seleccionadas. Las transformaciones permiten que los puntos de cualquier unidad de sensor dada se mapeen en una trama de referencia común.
La trama de referencia común puede ser la trama de referencia del sensor de alcance de la unidad de sensor maestro. La transformación puede usarse para determinar las posiciones relativas de las unidades de sensores. La transformación puede comprender al menos una, o ambas, de las matrices de rotación y traslación descritas anteriormente.
Con referencia a la Figura 11, se muestra una vista 1100 de tal transformación entre un conjunto de puntos asociados con un objeto en movimiento medido por la unidad de sensor maestro, y un conjunto de puntos asociados con el objeto en movimiento, medido por otra unidad de sensor. Un conjunto 1102 de puntos de la nube de puntos 3D de la unidad de referencia maestra, o una línea que se ajusta a tal conjunto de puntos, se muestra dentro del contexto de la trama de referencia 1104 de la unidad de sensor maestro. La trama de referencia 1104 representado es una trama de referencia de coordenadas cartesianas que tiene ejes x, y y z mutuamente ortogonales 1106, 1108, 1110. También se muestra un conjunto adicional de puntos 1112 de una nube de puntos 3D dentro del contexto de una trama de referencia adicional 1114. La trama de referencia adicional en la implementación mostrada es una trama de referencia cartesiano que comprende ejes x, y y z mutuamente ortogonales 1116, 1118, 1120. La trama de referencia adicional 1114 se asocia con la otra unidad de sensor.
Puede apreciarse a partir de la colocalización 1122 de las tramas de referencia 1104, 1114 que una transformación 1124 entre las tramas de referencia 1104, 1114 puede determinarse como se describió anteriormente en 1010 con referencia a la Figura 10. La transformación 1124 puede expresarse en cualquier forma, pero se ha expresado en términos de una rotación que comprende al menos tres ángulos que representan las orientaciones relativas de los ejes correspondientes de las tramas de referencia 1104, 1114. En la implementación mostrada, la rotación se expresa como una función de los tres ángulos 1126, 1128, 1130.
Tal transformación puede derivarse para pares de unidades de sensor, en particular, tal transformación puede derivarse entre la trama de referencia de la unidad de sensor maestro y cada trama de referencia de las otras unidades de sensor. Tales transformaciones permiten que los puntos de una nube de puntos 3D de una trama de referencia de una unidad de sensor se mapeen en una trama de referencia común. En los ejemplos descritos, la trama de referencia común es la trama de referencia 1104 de la unidad de sensor maestro.
Para respaldar el establecimiento de tales transformaciones, pueden realizarse comparaciones entre conjuntos correspondientes de puntos de nubes de puntos 3D respectivas asociadas con diferentes sensores que se relacionan con el mismo objeto. Las implementaciones ilustrativas pueden dar efecto a tales comparaciones de varias maneras que implican la identificación de objetos de primer plano o en movimiento asociados con mediciones de alcance que difieren de la imagen de fondo por un umbral predeterminado. Por ejemplo, el umbral predeterminado puede estar entre 10 cm y 30 cm. Pueden realizarse implementaciones de ejemplo en las que el umbral predeterminado es de 20 cm.
Múltiples objetos en movimiento dentro de un campo de visión de un sensor de alcance darán lugar a mediciones de alcance de primer plano respectivas que crearán puntos respectivos en una nube de puntos 3D respectiva. Las implementaciones de ejemplo se disponen para agrupar, o asociar de otro modo, puntos que están, o que podrían estar, asociados con un objeto en movimiento común tal como, por ejemplo, un jugador u otra entidad.
Un grupo puede formarse al identificar puntos en una nube de puntos 3D que caen dentro de una distancia predeterminada entre sí. Por ejemplo, las implementaciones pueden realizarse en las que un grupo de puntos de una nube de puntos 3D son los puntos que caen dentro de una primera distancia horizontal y dentro de una primera distancia vertical de un punto de partida inicial. Las primeras distancias horizontales y verticales pueden ser, por ejemplo, entre 0,4 m y 0,6 m y 2 m y 3 m respectivamente. Pueden realizarse implementaciones de ejemplo en las que las primeras distancias horizontales y verticales son 0,5 m y 2,5 m respectivamente. Se apreciará que acumular puntos en un grupo también puede usar la distancia de profundidad asociada, tal como, por ejemplo, una profundidad de entre 0,5 m y 2 m tal como, por ejemplo, 1 m.
El punto de partida inicial puede seleccionarse de varias maneras. Por ejemplo, el agrupamiento puede comenzar desde un punto de primer plano inicial que es el primer punto que se determina por el sensor de alcance como un punto de primer plano. Otras formas de seleccionar un punto de partida inicial para formar uno o más de un grupo de puntos pueden ser seleccionar el punto más cercano a un punto de cuadrícula predeterminado o seleccionar puntos en base a la distribución de puntos. Por ejemplo, si hay 2000 puntos por unidad de volumen o por unidad de área, esa dispersión o grupo de puntos podría considerarse una posición inicial. Se apreciará que tal enfoque basado en la densidad o distribución podría realizarse, por ejemplo, al determinar o encontrar regiones de puntos que tengan una densidad predeterminada por unidad de volumen o área que exceda o alcance un umbral respectivo, lo que podría implicar buscar en el espacio de puntos 3D para tales regiones. Por ejemplo, podría establecerse un volumen unitario inicial y podría realizarse una búsqueda de todos los puntos, o al menos un subconjunto de todos los puntos, de un punto 3D para regiones de la nube de puntos 3D que tienen una densidad de puntos respectiva dada el volumen unitario inicial. Cada punto buscado podría usarse como el centro del volumen unitario inicial y la densidad de puntos podrían ser todos los puntos que caen dentro de ese volumen unitario inicial centrado en un punto considerado actualmente.
Un grupo se forma progresivamente hasta que todos los puntos dentro de las distancias primera y segunda predeterminadas se han designado como parte de un grupo respectivo. Alternativamente, o adicionalmente, el proceso de formación de un grupo se continúa hasta que se alcanza un número umbral predeterminado de puntos.
Un grupo de puntos proporciona un conjunto de puntos de primer plano en una posición respectiva dentro de la trama de referencia en un punto en el tiempo respectivo asociado con un objeto de primer plano o en movimiento. Múltiples exploraciones del sensor de alcance darán más grupos de puntos de primer plano asociados con el mismo objeto en movimiento que están al menos uno, o ambos, de desplazados temporal o espacialmente entre sí. Un conjunto de tales grupos adicionales de puntos de primer plano asociados con el mismo objeto en movimiento que están al menos uno, o ambos, de desplazados temporal o espacialmente se usa para formar una trayectoria o pista. Una curva o pista se ajusta a uno o más de uno de los grupos. La curva o pista es indicativa del movimiento del mismo objeto en movimiento. La curva o pista puede formarse a partir del conjunto de grupos de puntos de primer plano asociados con el mismo objeto en movimiento de varias maneras. Por ejemplo, podría determinarse un centroide para cada clúster para formar un conjunto de puntos derivados de los clústeres y después podría ajustarse una curva a ese conjunto de puntos. Alternativamente, o adicionalmente, el conjunto de grupos de puntos podría considerarse que forma un volumen de puntos y una curva podría ajustarse a o a través de tal volumen de puntos. Alternativamente, o adicionalmente, en lugar de usar el centroide de un clúster, podría considerarse algún otro punto tal como, por ejemplo, el punto medio del clúster podría determinarse.
Se apreciará que los conjuntos de puntos 1102 y 1112 se verán desde diferentes ángulos ya que, en general, las diferentes unidades de sensores estarán orientadas de manera diferente entre sí cuando se vea un volumen común. Sin embargo, la representación de los conjuntos de puntos en el espacio 3D debe estar altamente correlacionada cuando los conjuntos de puntos 1102 y 1112 se relacionan con el mismo objeto en movimiento.
Con referencia a la Figura 12, en particular, se representa el agrupamiento de acuerdo con varias implementaciones de las subfiguras 12A a 12C. Con referencia a la Figura 12A, se muestra un grupo 1202 de puntos 1204 de una nube de puntos 3D o de parte de una nube de puntos 3D. Con referencia a la Figura 12B, el punto del clúster 1202 tiene una curva asociada 1206 ajustada a esos puntos. Los puntos 1204 mostrados en las Figuras 12A y 12B se representan como coplanares. Sin embargo, las implementaciones ilustrativas no se limitan a tal disposición. Pueden realizarse implementaciones ilustrativas, como se apreciará en la Figura 12C, en la que los puntos son al menos uno de, o ambos de, distribuidos a lo largo de la nube de puntos 3D o distribuidos temporalmente. Con referencia a la Figura 12C, se muestra una vista 1208 de un número de conjuntos de puntos 1210 a 1218 que tienen una curva de mejor ajuste asociada 1220. Cada uno de los conjuntos de puntos 1210 a 1218 se asocia con un objeto en movimiento común, o el mismo, y representan muestras o devoluciones de ese objeto en movimiento tomadas en puntos de tiempo respectivos. Para fines ilustrativos, se muestran cinco puntos en el tiempo 1222 a 1230. Cada uno de los conjuntos de puntos 1210 a 1218 puede considerarse como respectivos grupos de puntos. Alternativamente, o adicionalmente, el conjunto completo de puntos 1210 a 1218 puede considerarse que forma un grupo respectivo 1232. Aún con referencia a la Figura 12C, puede apreciarse que un grupo de puntos 1234 comprende una pluralidad de puntos de la nube de puntos 3D. En el ejemplo ilustrado, la pluralidad de puntos comprende seis puntos. A partir de los seis puntos, se calcula un centroide 1236. La curva de mejor ajuste 1220 puede determinarse en base a los centroides de cada uno de los conjuntos de puntos 1210 a 1218, o puede determinarse sin usar esos centroides, es decir, mediante el uso de todos los puntos dentro de cada uno, o un subconjunto, de los conjuntos 1210 a 1218.
Todos, o al menos un subconjunto, de los puntos de primer plano de una nube de puntos 3D producida por una unidad de sensor se procesan hasta que cada punto forma parte de un grupo respectivo. Por lo tanto, en cualquier instante de tiempo, o durante un período de tiempo predeterminado, un campo de visión de una unidad de sensor tendrá una pluralidad de grupos asociados relacionados con una pluralidad de objetos en primer plano o en movimiento.
Se apreciará que diferentes sensores tendrán vistas respectivas del mismo objeto en movimiento. Las vistas respectivas del mismo objeto en movimiento darán lugar a conjuntos respectivos de puntos de primer plano asociados con ese objeto que surgen de unidades de sensor respectivas. Los puntos de primer plano asociados con un objeto en movimiento pueden tener un conjunto de uno o más de un clúster y, por lo tanto, una o más de una curva o pista, y también tener otro conjunto de uno o más de un clúster y, por lo tanto, una o más de una curva o pista.
Las curvas o fragmentos de trayectoria asociados con el mismo objeto en movimiento pueden agruparse o asociarse de cualquier otra manera entre sí para usarse en la determinación de una o más de una métrica asociada con el objeto en movimiento. Al determinar si agrupar o no las curvas o fragmentos de trayectoria asociados con el mismo objeto en movimiento, se comparan las curvas o fragmentos de trayectoria. Las curvas o fragmentos de trayectoria que tienen un grado suficiente de similitud se agrupan como que están asociados con el mismo objeto en movimiento.
Con referencia a la Figura 12D, se muestra una vista alternativa 1200D de la curva o la determinación de el fragmento de trayectoria de acuerdo con una implementación. Suponiendo un punto dado 1202D en un momento T(n) 1204D y un punto adyacente 1206D en un momento respectivo T(n+1) 1208D que, juntos, definen un rumbo y una velocidad, un punto posterior o subsecuente 1210D en el momento T(n+2) 1212D se considera parte de la misma curva o fragmento de trayectoria, es decir, asociado con el mismo objeto en movimiento, si el punto posterior o subsecuente 1210D cae dentro de al menos un límite de error predeterminado 1214D. El límite de error 1214D se ha mostrado como un límite de forma triangular. Las implementaciones ilustrativas no se limitan a un límite de forma triangular. Las implementaciones pueden realizarse en las que el límite de error es un sólido tal como, por ejemplo, un límite cónico, o algún otro límite de forma. De manera similar, un punto aún más 1216D en el tiempo T(n+3) 1218 puede considerarse parte de la misma curva o pista si ese punto aún más 1216 cae dentro del límite de error y así sucesivamente para el punto aún más 1220D en el tiempo T(n+4) 1222D. Aunque la determinación de curvas o fragmentos de trayectoria se ha demostrado con referencia a un punto que se mueve linealmente, las implementaciones no se limitan a ello. Se apreciará que la misma técnica de localización de puntos adyacentes que caen dentro del límite de error predeterminado o uno respectivo se aplicará a un punto que se mueve no linealmente. La búsqueda de puntos relacionados con el mismo objeto en movimiento, es decir, la determinación de la curva o fragmento de trayectoria puede continuar hasta que se cumpla un criterio predeterminado tal como, por ejemplo, se alcance una longitud máxima de la curva o fragmento de trayectoria o hasta que no haya más puntos que caigan dentro del límite de error o dentro de una distancia predeterminada del punto de inicio inicial de la curva o fragmento de trayectoria o dentro de un tiempo predeterminado del tiempo correspondiente al punto de inicio inicial.
El al menos un límite de error predeterminado 1214D puede ser al menos uno de estático, o de cualquier otra manera fijo, o dinámico. Se dispone un límite de error predeterminado fijo 1214D para inspeccionar un volumen fijo o un espacio de búsqueda cuando se busca identificar la siguiente ubicación de un objeto en movimiento. Un límite de error predeterminado dinámico es un límite de error que adapta el volumen de la encuesta o el espacio de búsqueda de acuerdo con uno o más de uno de un evento, medición, parámetro o al menos un criterio. Por ejemplo, las implementaciones ilustrativas pueden realizarse en las que el límite de error predeterminado dinámico es sensible al objeto en movimiento que se sigue, o es al menos sensible a una característica del objeto que se sigue. Tal característica puede comprender, por ejemplo, una o más de una de velocidad, dirección, velocidad, velocidad relativa, dirección relativa, velocidad relativa, posición actual dentro de la trama de referencia, o posición predicha o calculada de otro modo dentro de la trama de referencia en un momento futuro tomado conjunta o severamente en cualquiera y todas las permutaciones.
Por ejemplo, las implementaciones ilustrativas pueden realizarse en las que el ángulo entre el eje de referencia del sensor de alcance 120 y el vector de dirección o el vector de velocidad del objeto en movimiento que se sigue puede influir en la adaptación del espacio de búsqueda o el volumen de búsqueda. Puede apreciarse, por ejemplo, que tal vector que es normal o perpendicular al eje de referencia del sensor de alcance 120 se beneficiará de al menos uno de ensanchar o reorientar en al menos la dirección de desplazamiento del objeto en movimiento. Adicionalmente, o alternativamente, el grado de ensanchamiento o reorientación puede asociarse con la velocidad del objeto en movimiento. Con tal reorientación, se apreciará que el cono o volumen que define los límites del límite de error predeterminado puede disponerse para seguir al objeto en movimiento. De manera similar, a medida que el ángulo anterior tiende a cero, el espacio o volumen de búsqueda definido por los límites de error predeterminados puede estrecharse o reducirse, lo que podría tener la ventaja de un procesamiento mejorado o más rápido de los datos dentro del espacio de búsqueda o volumen de búsqueda debido a que menos devoluciones se contienen dentro de ese espacio de búsqueda o volumen de búsqueda. Pueden realizarse implementaciones de ejemplo en las que el límite de error predeterminado se adapta en respuesta a una posición predicha dentro de la trama de referencia del sensor de alcance. Los datos asociados con el objeto en movimiento, tales como, por ejemplo, al menos una de la velocidad, la rapidez o la dirección podrían usarse para determinar tal posición predicha.
Se apreciará que la adaptación del límite de error predeterminado, es decir, el espacio de búsqueda o volumen de búsqueda no afecta el campo de visión del sensor de alcance, que continuará, o puede, explorando simultáneamente a través del campo completo de visión del sensor de alcance.
Con referencia a la Figura 13, se muestra una vista 1300 de una comparación entre los fragmentos 1102 y 1112. Cada fragmento se divide en un número igual de porciones, es decir, se divide en el mismo número de porciones. Las porciones correspondientes de cada fragmento de trayectoria tienen longitudes correspondientes. Las longitudes de cada porción pueden ser las mismas o pueden variar. La variación puede ser aleatoria. Alternativamente, o adicionalmente, la variación puede relacionarse con una característica del fragmento de trayectoria 1102, 1112, tal como, por ejemplo, un cambio en un parámetro asociado con el fragmento de trayectoria. El parámetro puede ser, por ejemplo, el gradiente. Por lo tanto, con referencia al primer fragmento de trayectoria 1102, tiene cinco segmentos o porciones 1302 a 1310. Los segmentos 1302 a 1310 tienen diferentes longitudes. Cada uno de los segmentos, o al menos un subconjunto de los segmentos, se caracteriza. En el ejemplo ilustrado, los segmentos se caracterizan mediante la determinación de una aproximación de la longitud del segmento. La aproximación de la longitud del segmento puede derivarse de los cambios en los puntos de inicio y final de los segmentos. Por ejemplo, el primer segmento 1302 tiene una variación en los puntos de inicio y final deAx i = X2 - X 1y Ayi=y2 - y i ,aunque la implementación ilustrativa se ha descrito con referencia al uso de (x,y), las implementaciones ilustrativas no se limitan a tal disposición. Pueden realizarse implementaciones de ejemplo que determinan la distancia entre puntos adyacentes mediante el uso de coordenadas 3D respectivas,(x,y,z),de esos puntos adyacentes. De manera similar, cada segmento tiene variaciones de punto de inicio y final respectivos, deAxi=xi+ i-xiy Ay. =y+i - yi,dondei= 1,2, ...,N-1 dondeNes el número de muestras o 30 puntos para la curva o segmento de la trayectoria del objeto de primer plano en movimiento.
Aunque la determinación de una característica de cada segmento de línea para las curvas 1102 y 1112 se ha descrito con referencia al uso de coordenadas (x,y), las implementaciones ilustrativas no se limitan a ello. Las implementaciones ilustrativas pueden usar coordenadas expresadas en una trama de referencia distinto de una trama de referencia cartesiano. Además, las implementaciones ilustrativas pueden, adicional o alternativamente, usar coordenadas distintas de las coordenadas 2D tales como, por ejemplo, coordenadas 3D, es decir, (X, Y, Z). La segunda línea 1112 también se ha dividido en el mismo número de porciones o segmentos 1312 a 1320 donde las porciones o segmentos correspondientes tienen la misma longitud.
Una longitud de caracterización asociada con cada segmento se determina mediante el uso de una ecuación respectiva 1322 y 1324. Cada longitud de segmento puede almacenarse en un arreglo respectivo 1326, 1328. Se determina una medida de similitud entre las líneas 1102 y 1112. En el ejemplo ilustrado, la medida de similitud, o correlación entre las líneas 1102 y 1112 se determina matemáticamente. Las longitudes de segmento, o al menos un subconjunto de las longitudes de segmento, se usan para determinar el error cuadrático medio entre las curvas o trazas 1102 y 1112 como puede apreciarse en la ecuación 1330. Aunque el ejemplo mostrado usa un cálculo de error cuadrático medio como base para comparar las dos curvas o fragmento de trayectoria 1102 y 1112, las implementaciones ilustrativas no se limitan a ello. Pueden realizarse implementaciones ilustrativas que usan alguna otra medida de diferencia o similitud tal como, por ejemplo, una función de correlación cruzada que compara o usa de otro modo dos fragmentos de trayectoria o curvas dados.
La Figura 14 muestra un diagrama de flujo 1400 para hacer una comparación entre las dos curvas o fragmento de trayectoria tales como las curvas o fragmento de trayectoria 1102, 1112. En 1402, se seleccionan dos curvas o fragmento de trayectoria a comparar de una pluralidad de curvas o fragmento de trayectoria de dos o más nubes de puntos 3D asociadas con dos o más unidades de sensor respectivamente. Se realiza una determinación, en 1404, sobre si los dos fragmentos de trayectoria se relacionan o no con el mismo objeto en movimiento. La determinación puede comprender, de acuerdo con una implementación, determinar un grado de similitud o correlación entre las dos curvas o fragmento de trayectoria dados. En 1404, las dos curvas o segmentos dados tales como, por ejemplo, las curvas 1102, 1112, se separan en una pluralidad de segmentos. Los segmentos correspondientes pueden tener el mismo tamaño. Por lo tanto, el n-ésimo segmento de una primera curva o fragmento de trayectoria puede ser o es del mismo tamaño que el n-ésimo segmento de una segunda curva o fragmento de trayectoria. Se realiza una medida de cada segmento en 1406. Pueden realizarse implementaciones ilustrativas en las que la medida puede ser, o es, asociada con la longitud de cada segmento. Una correlación entre las dos curvas o fragmento de trayectoria puede determinarse en 1408. Pueden realizarse implementaciones de ejemplo en las que la correlación comprende evaluar una función de error mediante el uso de las medidas determinadas para los segmentos. La función de error puede realizarse en forma de una función de error cuadrado medio, o cualquier otro tipo de función de error. Por ejemplo, la
MSE=—<1>'yNjsegnp - segnqf
función de error cuadrático medio puede serN n=l, dondeNes el número de muestras,segnpes la longitud delnésimosegmento de lapésima curvao fragmento de trayectoria ysegnqes la longitud delnésimosegmento de laqésimacurva o fragmento de trayectoria. La correlación se emite a 1410.
En 1412, las dos curvas o fragmentos de trayectoriase designan como asociadas con el mismo objeto en primer plano en movimiento si están suficientemente correlacionadas. Las dos curvas o fragmento de trayectoria pueden considerarse suficientemente correlacionados si la correlación entre las dos curvas o fragmento de trayectoria cumple uno o más de un criterio. Pueden realizarse implementaciones ilustrativas en las que uno o más de un criterio es un valor de una función de error que está por debajo de un umbral predeterminado, tal como, por ejemplo, si la función de error cuadrático medio tiene un valor de menos de 0,05 a 0,2 tal como, por ejemplo, 0,1.
Con referencia a la Figura 15, se muestra una vista 1500 de derivar una curva o fragmento de trayectoria representativa 1502 asociada con un objeto en movimiento, es decir, puntos de primer plano variables, a partir de una pluralidad de curvas o fragmentos de trayectoria 1504 a 1510 designadas como relacionadas con el mismo objeto en movimiento. La curva o segmento representativo 1502 puede derivarse de una o más de una de la pluralidad de curvas o segmentos 1504 a 1510 de varias maneras. Las implementaciones ilustrativas pueden, por ejemplo, calcular un promedio ponderado de las curvas o segmentos, con los pesos asociados con el número de puntos de primer plano a partir de los cuales se derivó una curva o segmento.
Por lo tanto, si se observan dos fragmentos de trayectoriapero se relacionan, de hecho, con el mismo objeto de primer plano en movimiento, es decir, la misma persona u objeto, es muy probable que tengan un número diferente de puntos en el grupo. Si un primer fragmento de trayectoria,t i ,tiene 200 puntos y un segundo fragmento de trayectoria,t2,tiene 50 puntos, un fragmento de trayectoria combinado puede ponderarse hacia la primera estimación de fragmento de trayectoria en una relación de 4:1 como sigue: la posición combinada,P(x,y,z)puede ser dado porP(x,y,z)= 200t^ 50t2. Por lo tanto, puede apreciarse que en general puede determinarse una posición combinada a partir deP(x,y,z) =dondemes el número de puntos asociados con el primer fragmento de trayectoria ynes el número de puntos asociados con el segundo fragmento de trayectoria.
La curva o fragmento de trayectoria representativa 1502 puede tener una o más de una característica asociada. Tal característica asociada puede comprender un vector de dirección respectivo 1512 que indica la posición en el espacio de la curva o fragmento de trayectoria. La posición en el espacio puede derivarse de una curva o fragmento de trayectoria en varias formas. Por ejemplo, el centro o centroide 1514 de la curva o fragmento de trayectoria se puede determinar y el vector de dirección respectivo puede ser el vector que se extiende desde el origen del sistema de coordenadas de referencia hasta el centro o centroide de la curva o fragmento de trayectoria 1502.
Aunque el ejemplo descrito deriva la curva o segmento representativo 1502 a partir de cuatro curvas o segmentos 1504 a 1510, las implementaciones ilustrativas pueden usar alguna otra cantidad de curvas o segmentos en la derivación de la curva o segmento representativo 1502. Por ejemplo, el fragmento de trayectoria representativa 1502 puede derivarse de una o más de una curva o fragmento de trayectoria.
Con referencia a la Figura 16, se muestra un diagrama de flujo 1600 para determinar una curva o segmento representativo, tal como la curva o fragmento de trayectoria 1502, y un vector de posición correspondiente, tal como el vector 1512, a partir de una o más de una curva o fragmento de trayectoria tal como las curvas o fragmentos de trayectoria 1504 a 1510. En 1602, se accede o recibe una o más de una curva o fragmento de trayectoria. La una o más de una curva o fragmento de trayectoria pueden ser, por ejemplo, la pluralidad de curvas o fragmentos de trayectoria 1502 a 1510 o un subconjunto de tales curvas o fragmentos de trayectoria. En 1604, la curva o fragmento de trayectoria representativo se establece o se deriva de otro modo de la una o más de una curva o fragmento de trayectoria. Establecer la curva o fragmento de trayectoria representativo puede comprender determinar o calcular un promedio ponderado de la una o más de una curva o fragmento de trayectoria accedido o recibido en 1602. Las ponderaciones pueden determinarse de varias maneras. Por ejemplo, una implementación de tal ponderación tiene en cuenta el número de puntos a partir de los cuales se deriva una curva o fragmento de trayectoria, tal como, por ejemplo, la ponderación puede ser proporcional al número de puntos a partir de los cuales se deriva la curva o fragmento de trayectoria respectiva. Las implementaciones ilustrativas determinan las ponderaciones como se indicó anteriormente. Por lo tanto, dadas las ponderacionesw i, W2, W3, W4 ,que representan el número de puntos a partir de los cuales se derivaron las curvas o fragmentos de trayectoria respectivos, las contribuciones ponderadas a la curva o fragmento de trayectoria representativo pueden determinarse, por ejemplo, de la siguiente manera:
i > , t
P (x ,y ,z ) = ^ ,-----<s W1.t1+W2.t2+Wo.to+W4.t4>l<Ij = > l ,>
P(x,y,z)<=>en genera dondeNes el número de fragmentos de<w —>1<+ —w>2<—+w —>3<+w—>4<— , o>
trayectoria contribuyentes,Wies la ponderación asociada con una curva o fragmento de trayectoria respectivoti,
En 1606, un vector de posición tal como, por ejemplo, el vector de posición 1512, se determina a partir de la curva o fragmento de trayectoria representativo 1502. El vector de posición 1512 se asocia con un aspecto predeterminado de la curva o fragmento de trayectoria representativo 1502. Por ejemplo, las implementaciones pueden asociar el vector de posición con el centro o centroide de la curva o trazado 1502. Alternativamente, o adicionalmente, el vector de posición puede asociarse con otro aspecto de la curva o fragmento de trayectoria, tal como, por ejemplo, el inicio o el final de la curva o fragmento de trayectoria, o una posición determinada a partir de dicho inicio y final.
Pueden realizarse implementaciones de ejemplo en las que las curvas o fragmentos de trayectoria 1504 a 1510 a combinar para producir la curva o fragmento de trayectoria representativo 1502 pueden derivarse de las curvas o fragmentos de trayectoria asociados con o producidos por diferentes unidades de sensor. Al menos dos o más de las curvas o fragmentos de trayectoria 1504 a 1510 usados para producir la curva o fragmento de trayectoria representativo 1502 pueden producirse, o derivarse de, curvas o fragmentos de trayectoria asociados con al menos dos o más unidades de sensor diferentes. La combinación de curvas o fragmentos de trayectoria 1504 a 1510 de diferentes sensores puede tener la ventaja de mejorar la precisión con la que la curva o fragmento de trayectoria representativo 1502 es indicativo de la trayectoria tomada por el objeto en movimiento asociado con las curvas o fragmentos de trayectoria 1502 a 1510. Se apreciará que los campos de visión de los sensores respectivos, en particular, los ejes de referencia del sensor de alcance respectivos, tales como el eje de referencia del sensor de alcance 120 descrito anteriormente, y sus respectivos tramas de referencia tendrán orientaciones respectivas que se relacionan entre sí, siendo necesarias transformaciones rotacionales y traslacionales respectivas entre cualquier par dado de tramas de referencia para mapear curvas o fragmentos de trayectoria en una trama de referencia común.
Con referencia a la Figura 17, se muestra una vista 1700 del mapeo del vector de posición 1512, que se expresa en términos de la trama de referencia de la unidad de sensor maestro, en una trama de referencia de cámara tal como, por ejemplo, una trama de referencia asociado con un campo de visión de una cámara de la unidad de sensor maestro. Supongamos, por ejemplo, que la unidad de sensor 102 mostrada en la Figura 1 es la unidad de sensor maestro.
El sensor de alcance 104 tendrá una trama de referencia asociada con el campo de visión 108 del sensor de alcance 104. De manera similar, la cámara 106 tendrá una trama de referencia asociado con el campo de visión 110 de la cámara. La Figura 17 muestra la trama de referencia 1104 del sensor de alcance y la trama de referencia 1702 de la cámara 106. La trama de referencia 1104 del sensor de alcance comprende ejes mutuamente ortogonales 1106 a 1110. La trama de referencia 1702 de la cámara comprende ejes mutuamente ortogonales 1704 a 1708. Se determina un mapeo o transformación entre los dos tramas de referencia 1104 y 1702. La transformación puede comprender una matriz. La transformación permite que las coordenadas en una trama de referencia se mapeen en el otro trama de referencia. Las implementaciones ilustrativas mapean el vector de posición 1512 en la trama de referencia de la cámara 1702 para dar un vector de posición de cámara 1710.
La trama de referencia de la cámara 1702 tiene datos de imagen asociados 1712 tomados por la cámara 106. Los datos de imagen 1712 son un ejemplo de los datos de vídeo y/o datos de imagen estática descritos anteriormente. Los datos de imagen 1712 se asignan a la trama de referencia de la cámara 1702, como se describirá con referencia a la Figura 20. El vector de posición de cámara 1710 se usa para seleccionar una porción 1714 de los datos de imagen 1712 para asociarla con la curva o fragmento de trayectoria representativo 1502. La porción 1714 de los datos de imagen 1712 puede tener su centro en un punto 1716. El punto 1716 representa el punto de intersección de los datos de imagen, expresados en la trama de referencia de la cámara 1702, con el vector de posición de la cámara 1710. El tamaño de la porción 1714 de los datos de imagen puede variar con la distancia desde el origen 1718 de los datos de imagen 1712 dentro de la trama de referencia de la cámara. Las implementaciones ilustrativas aumentan el tamaño de la porción 1714 cuanto más cerca están los datos de imagen 1712 del origen 1718 y disminuyen el tamaño de la porción 1714 cuanto más lejos están los datos de imagen 1712 del origen 1718.
Los datos de imagen 1712 se muestran desplazados desde o distales con relación al centro 1514 de la curva o fragmento de trayectoria representativo 1502. Sin embargo, las implementaciones ilustrativas pueden comprender datos de imagen 1712 que se ubican conjuntamente con la curva o fragmento de trayectoria, o cualquier parte de la misma, tal como, por ejemplo, el centro 1514 de la curva o fragmento de trayectoria representativa 1502. Los datos de imagen pueden derivarse de la cámara asociada con la unidad de sensor maestro, o cualquier otra unidad de sensor. Por ejemplo, los datos de imagen pueden derivarse de una o más de una cámara de cualquier otra unidad de sensor. En tal caso, las tramas de referencia 1104 y 1702 representarán la trama de referencia del sensor de intervalo de unidad de sensor maestra y la trama de referencia de la cámara de la otra unidad de sensor de este tipo. En consecuencia, pueden extraerse múltiples porciones 1720 a 1724 de datos de imagen de los datos de imagen asociados con la una o más de una cámara de cualquier otra unidad de sensor.
Los datos de imagen extraídos 1714, 1720 a 1724, pueden usarse para proporcionar al menos uno, o ambos, de los datos de imagen estática o datos de vídeo asociados con el objeto en movimiento relacionado con o representado por la curva o fragmento de trayectoria representativo 1502.
Con referencia a la Figura 18, se muestra un diagrama de flujo 1800 para extraer datos de imagen a asociar con la curva o fragmento de trayectoria representativo 1502. En 1802, se accede o recibe el vector de posición 1512 de la curva o fragmento de trayectoria representativo 1502. El vector de posición 1512, en 1804, se mapea desde la trama de referencia 1104 del sensor de alcance en la trama de referencia 1702 de una cámara. La cámara puede ser una o más de una de la cámara asociada con la unidad de sensor maestro y una o más de una cámara asociada con una o más de una unidad de sensor adicional.
En 1806, una porción 1714 de los datos de imagen 1712 se identifica dentro de, o se extrae de, los datos de imagen 1712 tomados por la una o más de una cámara. La porción 1714 de los datos de imagen 1712 se identifica mediante el uso del vector de posición 1512, en particular, el punto de intersección 1716 entre los datos de imagen 1712 y el vector de posición o la versión escalada de este.
En 1808, la porción identificada o extraída 1714 de los datos de imagen 1712 se emite para su posterior procesamiento. Los datos de imagen 1712 pueden usarse para varios objetivos que comprenden, por ejemplo, identificar visualmente a un jugador, verificar los datos y comprobar la consistencia de los datos manualmente, o para proporcionar imágenes de contexto/referencia a un jugador/club después del juego y similares.
Con referencia a la Figura 19, se muestra una vista de un diagrama de flujo 1900 para determinar una o más de una métrica asociada con una curva o fragmento de trayectoria, tal como, por ejemplo, una curva o fragmento de trayectoria representativa 1502. Las implementaciones ilustrativas pueden determinar, por ejemplo, al menos una, o ambas, de la velocidad o dirección a partir de una curva o fragmento de trayectoria. A continuación, se derivará una o más métricas de la curva o fragmento de trayectoria representativa. Sin embargo, tal métrica puede derivarse de una curva o fragmento de trayectoria diferente a una curva o fragmento de trayectoria representativa.
En 1902, se accede o recibe la curva o fragmento de trayectoria representativo 1502. En 1904, una o más de una métrica, KPI, se deriva de la curva representativa o el fragmento de trayectoria 1502. Por ejemplo, la velocidad del objeto de primer plano en movimiento asociado con la curva o fragmento de trayectoria representativa puede derivarse de la combinación de la medida o estimación de la longitud del segmento y el período de tiempo entre una o más de una muestra o tiempos de exploración 1230 a 1222 de un sensor de alcance. Por ejemplo, mediante el uso de la longitud, /, del tercer segmento 1306, que viene dada porl =7 (A x f Ayf) y la diferencia de tiempo entre el tiempo de exploración o ciclo del sensor de alcance de At =T(n-2 ) -T(n- 3), la velocidad, s, del objeto de primer plano en movimiento durante ese intervalo de tiempo se dará J (Ax¡+Ay32)
mediante s =T¿l_2)-T(nsyAdemás, la dirección del objeto de primer plano en movimiento puede estimarse
durante el mismo período de tiempo como - “ O-4-x3)i_ (y4 - y3)j_puec|e apreciarse que las estimaciones de velocidad y dirección anteriores pueden combinarse para producir un vector asociado con la curva o fragmento de trayectoria representativa. Alternativamente, o adicionalmente, aunque la velocidad y la dirección anteriores se han estimado mediante el uso de un único segmento de la curva o fragmento de trayectoria representativa, las implementaciones ilustrativas no se limitan a tales disposiciones. Pueden producirse implementaciones ilustrativas en las que al menos una, o ambas, de la velocidad o dirección asociada con la curva o fragmento de trayectoria representativa 1502 se derive de uno o más de un segmento de la curva o fragmento de trayectoria representativa. Por ejemplo, puede usarse una pluralidad de segmentos para derivar una velocidad o dirección promedio o representativa. Como ejemplo, la velocidad y la dirección del primer segmento 1302 y el segundo segmento 1304 pueden determinarse comossegl, dseglysseg2,dseg2de manera que la velocidad y dirección promedio o representativa se darían porsrep =5sefll^ 5sefl2 ydrep = dsegl dseg2.
Con referencia a la Figura 20, se muestra una vista 2000 de establecer datos de imagen para una imagen objetivo 2002 mediante el uso de datos de cámara 2004 dada un punto representativo PT 2008. La imagen objetivo es un ejemplo de la imagen en miniatura descrita anteriormente producida por el procesador de datos de imagen 116 que produce imágenes en miniatura a partir de un conjunto de datos de cámara 434 emitidos por el circuito de compresión de imágenes 422. El punto PT 2008 es un ejemplo del punto 1514 descrito anteriormente asociado con una curva o fragmento de trayectoria representativa 1502. El punto PT 2008 se mapea desde el sensor de alcance, o LiDAR, trama de referencia en una trama de referencia adicional 2010.
La trama de referencia adicional se referirá a una trama de referencia de OpenGL o una trama de referencia de cámara. Puede apreciarse que la trama de referencia adicional 2010 comprende ejes mutuamente ortogonales x 2012, y 2014, z 2016. El eje -z se extiende lejos de un punto de vista considerado 2018 que presenta un campo de visión asociado FOVY 2020 que comprende un plano de recorte cercano z 2022,zcerca,y un panel de recorte z lejano 2024,ziejos.Los valores de z del panel de recorte cercano y z del panel de recorte lejano pueden predeterminarse como, por ejemplo, 0,1 y 100 respectivamente, pero podrían ser igualmente algunos otros valores.
Por lo tanto, dadas las coordenadas del punto PT 2008, en la trama de LiDAR de referencia, un
punto correspondiente, se determina en la trama de referencia OpenGL, donde:
(x,y,z)representan las coordenadas del puntoPTlídaren la trama de referencia LiDAR;
Res una matriz de rotación que rota el punto(x,y,z)para alinear los ejes de la trama de referencia LiDAR y la trama de referencia OpenGL;
Tes una matriz de traslación para hacer coincidir los orígenes de la trama de referencia LiDAR y la trama de referencia OpenGL.
El campo de visión vertical FOVY 2020 se establece mediante el uso de FOVY=2arctan(tamaño/distancia al objetivo) pero se limita a devolver un valor en el intervalo de -pi a pi, en lugar de -2pi a 2pi.
El centro del plano de recorte cercano z coincide con el origen de la trama de referencia de OpenGL. El plano de recorte cercano z 2022 está dispuesto para tener un tamaño predeterminado. Las implementaciones de ejemplo proporcionan un plano de recorte cercano z 2022 que tiene dimensiones de 256 x 256 píxeles. Las implementaciones no se limitan a un tamaño de 256x256 píxeles y otras dimensiones podrían usarse alternativa o adicionalmente. Por lo tanto, puede apreciarse que la relación de aspecto de FOVx/FOVy=1, pero podría ser igualmente otro valor. Una matriz de perspectiva se determina de la siguiente manera
po de visión horizontal yFOVYes el ancho del campo de visión
vertical, y
f = cot(FOVY /2).
También se muestra en la Figura 20 una malla de textura 2026. La malla de textura comprende una pluralidad de nodos que forman polígonos conectados, que son triángulos en el presente ejemplo. El punto de vista 2018 y el plano de recorte cercano z se dirigen hacia el punto representativo PT 2008, que define un área 2028 de la malla 2026 que se ve o se va a ver. El punto PT 2008 se encuentra en el eje -z 2016 y está centrado dentro del área 2028. Con referencia a la vista ampliada del área 2028, puede apreciarse que tres vértices A, B, C de la malla 2028 se muestran como que caen dentro del campo de visión 2020 definido por el punto PT 2008. Las implementaciones ilustrativas se han descrito como que tienen tres vértices dentro del área 2028. Sin embargo, otras implementaciones tendrán significativamente más vértices dentro del área 2028. El área 2028, conocida como una perspectiva de vista de modelo, se define, al menos en parte, mediante el uso de una matriz de( sx sy sz<o>
fx ' ' f y ' ' f z 'o ), que define un punto de vista, donde:
0 0 0 1
F = Px,y,z - OjOx,y,z,dondePx,y,zes el píxel objetivo yOjOx,y,zes la ubicación del ojo 2018,
como
sigue; la perspectiva de vista del modelo,MVP,viene dado por
-x-x
MVP = P.M. y
z, donde<y>
zes un vértice de la malla. La vista en perspectiva del modelo se evalúa para cadal\ l
vértice de la malla para determinar qué vértices están dentro del campo de visión.
El área 2028 se considera una cuadrícula normalizada que tiene coordenadas normalizadas de (-1,-1), (-1,1), (1,1), (1,-1). Las coordenadas normalizadas pueden ser un ejemplo de coordenadas del dispositivo normalizadas. El área 2002 se puebla con color derivado de la imagen de la cámara 2004, que se considera un mapa de texturas, es decir, un mapa de texturas de la imagen de la cámara. La cuadrícula normalizada se divide en una pluralidad de píxeles; se muestra un píxel representativo o de ejemplo 2030. El píxel de ejemplo 2030 se usará para demostrar cómo se determina el color para un píxel correspondiente 2032 en el campo de visión o imagen objetivo 2002. Se determinan las coordenadas del píxel de ejemplo 2030, en términos de las coordenadas normalizadas. En el ejemplo dado, las coordenadas normalizadas del píxel de ejemplo 2030 se consideran (0,32,0,13). Las coordenadas normalizadas de píxeles de ejemplo se usan, por ejemplo, por un muestreador 2034, como un índice en la imagen de la cámara o los datos de textura de la imagen de la cámara 2004 en coordenadas respectivas dentro de esa imagen de la cámara 2004. Un muestreador puede realizarse como parte del sistema de procesamiento de datos, es decir, como una combinación de al menos uno, o ambos, de hardware y software. Las dimensiones de la imagen de cámara 2004 pueden ser cualquier dimensiónnxxny.Dado un punto (u,v) expresado en coordenadas normalizadas del píxel ilustrativo, las coordenadas correspondientes(i, j)en la imagen de la cámara 2004 se dan pori = [nx.u\yj = [ny.v\,es decir,([nx.u \,[ny.v\).Por lo tanto, por ejemplo, al asumir quenx= 3106 yny =4436 danx.u =1419,52 yny.v =403,78 y([nx .u \,[ny .v \)= (1419,403), como se representa por el punto 2036. Las partes enteras de los productosnxynyse usan como coordenadas de imagen de la cámara para acceder a los datos de color correspondientes. Los datos de color pueden expresarse en cualquier espacio de color. Se describirán implementaciones de ejemplo que usan el espacio de color RGB. Por lo tanto, las implementaciones ilustrativas podrían devolver los valores RGB dentro de la imagen de cámara 2004 en las coordenadas (ij). Sin embargo, las implementaciones ilustrativas pueden derivar alternativamente o adicionalmente datos de color de otras maneras. Por ejemplo, las coordenadas de imagen de cámara determinadas inicialmente(i, j)puede considerarse un índice a un grupo de píxeles 2038. El grupo de píxeles 2038 puede ser un cuarteto de píxeles o algún otro número de píxeles. La parte decimal de los productosnx.uyny.vpuede usarse para devolver datos de color derivados del grupo de píxeles mediante el uso de la interpolación.
Como ejemplo, la parte decimal 0,52 denx.u =1419,52 puede usarse para derivar los primeros datos de color interinos de los dos píxeles inferiores del grupo de píxeles de una manera ponderada. Teniendo en cuenta solo un canal, es decir, un color, del espacio de color tal como, por ejemplo, rojo, al asumir que los valores rojos de los píxeles inferior izquierdo e inferior derecho sonRblyRbrrespectivamente, un fondo general o promedioRbse deriva deRb =(1-0,52)R<bl>+0,52R<br>, es decir, asumiendo que la parte decimal est,en general, el valor del color rojo seríaRb =(1-t)RBL tRBR.De manera similar, la parte decimal deny.vpuede usarse para derivar un valor rojo correspondiente de los píxeles superior izquierdo y superior derecho. Suponiendo que los píxeles superior izquierdo y superior derecho tienen valores respectivos deRtlyRtrrespectivamente, un fondo general o promedioRtvalor se deriva deRt =(1-0,78)R<tl>+ 0,78R<tr>, es decir, asumiendo que la parte decimal est',en general, el valor del color rojo seríaRt=(1-V)Rtl +VRtr.Por lo tanto, un valor de color del canal rojo general, R, puede derivarse deRtyRb .Por ejemplo, las implementaciones ilustrativas pueden devolverR = Rt+Rbo algún otro valor tal como, por ejemplo, un promedio deRtyRb.Lo anterior puede realizarse para cada canal de color de un espacio de color, que comprendería adicionalmente verde,Gy azul, B, valores para el espacio de color RGB. Por lo tanto, los valores del espacio de color pueden derivarse de la imagen de la cámara 2004 para el píxel de ejemplo o de destino 2032 en la imagen 2002. Los valores del espacio de color recuperados o determinados para el píxel ilustrativo 2030 se asignan a la imagen 2002 mediante el uso de una transformación correspondiente para asignar las coordenadas normalizadas del píxel ilustrativo a las coordenadas correspondientes de la imagen 2002. Una implementación de ejemplo de las transformaciones comprendexw=(xnd+1)(ancho/ 2)+x yyw=(ynd+1)(altura/ 2)+y, donde
(xnd.ynd)son las coordenadas normalizadas del píxel de ejemplo 2030, es decir, las coordenadas del dispositivo normalizadas,
(xw,yw)son las coordenadas de los píxeles de la imagen 2002,
anchoyalturason el ancho y la altura, en píxeles, de la imagen 2002, y
(x , y) son las coordenadas de la imagen 2002 tales como, por ejemplo, las coordenadas de la esquina inferior izquierda de la imagen 2002. Las implementaciones ilustrativas pueden usar x = 0 yy= 0.
La repetición del proceso de determinación de los valores de color para cada píxel en el área 2028 se continúa hasta que la imagen 2002 se ha poblado con el color derivado de la imagen de la cámara 2004.
Con referencia a la Figura 21, se muestra un diagrama de flujo 2100 para establecer los datos de imagen para una imagen a generarse. En la etapa 2102, el vector de posición 1514 se transforma de la trama de referencia del sensor de alcance 1104 en la trama de referencia de OpenGL. La trama de referencia 1112 descrito anteriormente es un ejemplo de una trama de referencia de OpenGL. El campo de visión se establece en 2104, lo que proporciona una vista o área 2028 de la malla 2026. El campo de visión se dispone para tener dimensiones predeterminadas. En la implementación de ejemplo descrita, las dimensiones predeterminadas son de 256 píxeles por 256 píxeles, es decir, las descritas anteriormenteanchoes de 256 píxeles y el anterior descritoalturaes de 256 píxeles.
La vista o área 2028 de la malla 2026 se divide en, o tiene una cuadrícula asociada de píxeles tal como, por ejemplo, el píxel 2030 en 2106. En 2108, para cada píxel en la cuadrícula, los valores de color correspondientes de un espacio de color respectivo se determinan a partir de una imagen de textura 2004, que es una imagen tomada por la cámara. Los valores de color se determinan a partir de la imagen de textura 2004 en 2110. En 2112, los valores de color determinados se usan para crear la imagen 2002 en la posición de píxel apropiada 2032.
Las implementaciones ilustrativas de la presente descripción pueden realizarse en forma de, o mediante el uso de, hardware, software o una combinación de hardware y software. El hardware puede comprender al menos uno de un procesador y componentes electrónicos. Lo anterior, es decir, el hardware, el software o una combinación de hardware y software, son implementaciones de circuitos. Los circuitos pueden configurarse o disponerse para realizar un propósito respectivo tal como, por ejemplo, implementar cualquiera y todas las implementaciones ilustrativas descritas en esta descripción. Cualquier software de este tipo puede almacenarse en forma de código ejecutable en almacenamiento volátil o no volátil tal como, por ejemplo, un dispositivo de almacenamiento como una ROM, ya sea borrable o regrabable o no, o en forma de memoria tal como, por ejemplo, RAM, chips de memoria, dispositivos o circuitos integrados o almacenamiento legible por máquina tal como, por ejemplo, DVD, memoria USB o medio de estado sólido. Los dispositivos de almacenamiento y los medios de almacenamiento son implementaciones de ejemplo de almacenamiento legible por máquina no transitorio que son adecuados para almacenar un programa o programas, es decir, código ejecutable, que comprenden instrucciones dispuestas, cuando se ejecutan, que realizan implementaciones de ejemplo descritas y reivindicadas en la presente descripción. En consecuencia, las implementaciones ilustrativas proporcionan código ejecutable por máquina para realizar un aparato, sistema, dispositivo, método o para orquestar un método, aparato, sistema o dispositivo de acuerdo con lo descrito en esta descripción o como se reivindica en esta descripción y/o como se representa en cualquiera de las Figuras de esta descripción y almacenamiento legible por máquina que almacena tal código. Aún más, tales programas o códigos pueden transmitirse electrónicamente a través de cualquier medio tal como una señal de comunicación transportada a través de una conexión cableada o inalámbrica y las implementaciones de ejemplo abarcan adecuadamente la misma.
El aparato puede comprender un controlador, un circuito o un procesador para controlar al menos un aparato de este tipo de acuerdo con cualquier método como se describe o reivindica en la presente descripción. De manera similar, las implementaciones ilustrativas pueden proporcionar un controlador, circuito o procesador para orquestar o implementar cualquier método, aparato, dispositivo y/o sistema como se describe o reivindica en la presente descripción. Además, cualquiera de tales métodos puede realizarse, al menos en parte, mediante el uso de código ejecutable por máquina que comprende instrucciones dispuestas, cuando se ejecutan por al menos un procesador, para controlar o implementar cualquier método descrito o reivindicado en la presente descripción. Los ejemplos, implementaciones proporcionan un almacenamiento legible por máquina no transitorio que almacena dicho código ejecutable por máquina.
Las implementaciones ilustrativas de cualquier sistema, dispositivo, aparatos, métodos y diagramas de flujo descritos en esta solicitud pueden realizarse en forma de instrucciones ejecutables por máquina dispuestas, cuando se ejecutan por una máquina, para implementar cualquiera o todos los aspectos, procesos, actividades o diagramas de flujo, tomados conjunta e individualmente en cualquiera y todas las permutaciones, descritos en esta solicitud. Se apreciará que los circuitos como se usan en la presente pueden comprender uno o más de uno de circuitos electrónicos físicos, software, hardware o circuitos integrados específicos de la aplicación, tomados conjunta o severamente en cualquiera y todas las permutaciones.
Por lo tanto, las implementaciones también proporcionan almacenamiento legible por máquina que almacena tales instrucciones ejecutables por máquina. El almacenamiento legible por máquina puede comprender almacenamiento legible por máquina transitorio o no transitorio. La máquina puede comprender uno o más procesadores, u otros circuitos, para ejecutar las instrucciones o implementar las instrucciones.
En consecuencia, con referencia a la Figura 22, se muestra una vista 2200 de implementaciones de al menos una de las instrucciones ejecutables por máquina o almacenamiento legible por máquina. La Figura 22 muestra el almacenamiento legible por máquina 2202. El almacenamiento legible por máquina 2202 puede realizarse mediante el uso de cualquier tipo de almacenamiento volátil o no volátil tal como, por ejemplo, memoria, una ROM, RAM, EEPROM u otro almacenamiento eléctrico, o almacenamiento magnético u óptico o similar. El almacenamiento legible por máquina 2202 puede ser transitorio o no transitorio. El almacenamiento legible por máquina 2202 almacena instrucciones ejecutables por máquina (MEI) 2204. Las MEI 2204 comprenden instrucciones que son ejecutables por un procesador u otro circuito de ejecución de instrucciones, o implementación de instrucciones 2206. El procesador u otro circuito 2206 responde a la ejecución o implementación de las MEI 2204 para realizar todas y cada una de las actividades, procesos, operaciones, métodos o diagramas de flujo descritos y/o reivindicados en esta solicitud. Aunque las implementaciones ilustrativas anteriores se han descrito con referencia a unidades de sensor estáticas tales como las unidades de sensor 302 a 308, las implementaciones ilustrativas no se limitan a tal disposición. Pueden realizarse implementaciones de ejemplo en las que las unidades de sensor son móviles. Se apreciará que las unidades de sensores móviles pueden moverse a una posición fija, configurarse o calibrarse de otro modo y usarse como se describió anteriormente. Después de haber sido trasladado a una posición fija, el sensor móvil implementaría el proceso de, por ejemplo, la Figura 7.
Las implementaciones ilustrativas pueden inspeccionar o monitorear un volumen relativamente grande mediante el uso del sensor de alcance. El alcance o la efectividad del sensor de alcance se limita por la sensibilidad de los fotodetectores, la intensidad inicial de la luz láser en el punto de salida o transmisión, y el coeficiente de reflexión del objeto desde el que se refleja la luz. Lo anterior podría resultar, por ejemplo, en un alcance de sensores de alcance significativo. Por ejemplo, el alcance del sensor de alcance podría extenderse hacia, y abarcar, otro sensor de alcance. Pueden realizarse implementaciones de ejemplo en las que los datos de alcance se filtran para limitar la cantidad de datos a procesar. Por ejemplo, podrían excluirse los retornos que tienen una duración de vuelo de ida y vuelta más allá de un límite de tiempo predeterminado, lo que podría ayudar a separar los retornos de primer plano de los retornos de fondo.
Aunque las implementaciones ilustrativas han descrito el uso de un sensor de alcance tal como, por ejemplo, un sensor LIDAR, para detectar objetos en movimiento, las implementaciones no se limitan a tal disposición. Pueden realizarse implementaciones ilustrativas en las que se detectan objetos en movimiento y los datos asociados con tales objetos en movimiento usan o dependen de otras tecnologías. Por ejemplo, los objetos en movimiento pueden detectarse mediante el uso de, por ejemplo, tecnología de detección de velocidad como LIDAR basado en Doppler, un radar Doppler y similares. Aún más, tales otras tecnologías pueden usarse en lugar de, o junto con, los sensores de alcance tales como LIDAR.

Claims (15)

  1. REIVINDICACIONES
    i. Aparato (102) para seguir a uno o más de un atleta (504) que participa en un evento atlético dentro de un área para albergar el evento, el aparato que comprende
    a. un sistema de alcance láser (sistema LIDAR) (104), una cámara (106) y un sistema de procesamiento de datos (112);
    i. el sistema LIDAR (104) y la cámara (106) que tienen campos de visión respectivos (108, 110), los campos de visión se disponen para superponerse para inspeccionar un volumen común del entorno deportivo,
    ii. el sistema LIDAR (104) se dispone para producir datos LIDAR relacionados con un conjunto respectivo de uno o más de un atleta de dicho uno o más de un atleta que actúa en el evento deportivo dentro del entorno deportivo,
    iii. el sistema de procesamiento de datos (112) que se dispone para procesar los datos de alcance LIDAR para distinguir entre puntos de primer plano y datos de alcance de fondo; los puntos de primer plano se asocian con al menos dicho conjunto respectivo de uno o más de un atleta de dicho uno o más de un atleta que actúa en el evento deportivo dentro del entorno deportivo; y
    iv. la cámara (106) se dispone para producir datos de imagen de vídeo de la cámara relacionados con un conjunto respectivo de uno o más de un atleta de dicho uno o más de un atleta que actúa en el evento deportivo dentro de los objetos del entorno deportivo, y el aparato se caracteriza por:
    b. un correlacionador
    i. para identificar, o correlacionar, dichos puntos de primer plano y datos de imagen de vídeo de cámara asociados con un atleta común en ambos conjuntos de dicho uno o más de un atleta de dicho uno o más de un atleta que actúa en el evento deportivo dentro del entorno deportivo, dentro del campo de visión tanto del sistema LIDAR como de la cámara; ii. para determinar la identidad del atleta común a partir de dichos datos de la imagen de vídeo de la cámara asociados con el atleta común; y
    iii. para producir datos de atributos de atleta asociados con la identidad del atleta común (KPI); los datos de atributos de atleta comprenden al menos uno o más de uno de posición, velocidad, dirección o los datos de velocidad.
  2. 2. El aparato (102) de cualquier reivindicación 1, que comprende un extractor para extraer, de los datos de la cámara, datos de imagen asociados con el atleta común.
  3. 3. El aparato (102) de cualquiera de las reivindicaciones 1 a 2, que comprende un procesador de transformación para transformar al menos uno de los datos LIDAR y los datos de la cámara en una trama de referencia común para alinear o correlacionar de cualquier otra manera los datos LIDAR y la cámara de porciones correspondientes respectivas del volumen común.
  4. 4. El aparato (102) de acuerdo con la reivindicación 3, en el que el procesador de transformación para transformar al menos uno de los datos LIDAR y los datos de la cámara en una trama de referencia común usa un eje de referencia LIDAR y un eje de referencia de cámara que tienen una relación predeterminada.
  5. 5. El aparato (102) de cualquiera de las reivindicaciones 1-4, que comprende un procesador de imágenes para extraer al menos uno, o ambos, de los datos de imagen o vídeo asociados con el atleta común de los datos de la cámara.
  6. 6. El aparato (102) de cualquiera de las reivindicaciones 1-5, que comprende un procesador de ondículas para agrupar datos LIDAR que tienen una probabilidad predeterminada de estar asociados con el atleta común.
  7. 7.El aparato (102) de acuerdo con la reivindicación 6, en el que el procesador de ondículas para agrupar los datos LIDAR asociados con los datos LIDAR de grupos de atletas comunes asociados con una serie de ubicaciones o una trayectoria asociada con el atleta común.
  8. 8. El aparato (102) de cualquiera de las reivindicaciones 6 y 7, que comprende un procesador de actor para fusionar los datos LIDAR agrupados asociados con el atleta común para asociar esos datos LIDAR agrupados fusionados con el atleta común.
  9. 9. El aparato de cualquiera de las reivindicaciones 1 a 8, en el que los datos LIDAR son datos de medición y los datos de la cámara son datos de imagen.
  10. 10. El aparato (102) de cualquiera de las reivindicaciones 1-9, que comprende circuitos para procesar los datos de alcance para distinguir entre los datos de alcance dinámico, o los datos de alcance de primer plano, y los datos de alcance estático, o los datos de alcance de fondo; los datos de alcance dinámico, o los datos de alcance de primer plano, forman datos asociados con al menos un objeto en movimiento del conjunto respectivo de uno o más de un objeto en movimiento dentro del volumen común.
  11. 11. El aparato (102) de cualquier reivindicación anterior, que comprende además circuitos para mapear datos de imagen asociados con el objeto en movimiento a datos de identidad asociados con una identidad de una persona asociada con el objeto en movimiento.
  12. 12. El aparato (102) de cualquiera de las reivindicaciones 6, 7, 8, en el que el circuito para agrupar datos de alcance asociados con un objeto en movimiento común comprende un circuito para agrupar tales datos de alcance derivados de, o asociados con, una pluralidad de sistemas de alcance.
  13. 13. El aparato (102) de acuerdo con la reivindicación 12, en el que la pluralidad de sistemas de alcance se disponen en diferentes ubicaciones y/u orientaciones una con relación a otra y tienen transformaciones respectivas que mapean tramas de referencia respectivas en una trama de referencia común.
  14. 14. Un sistema de seguimiento de objetos portátil o móvil (102, 206), que comprende un aparato (102) de cualquier reivindicación anterior.
  15. 15. Un sistema de seguimiento de objetos que comprende una pluralidad de aparatos de cualquier reivindicación anterior.
ES18829957T 2017-12-22 2018-12-21 Object tracking Active ES3037261T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1721794.4A GB2569654B (en) 2017-12-22 2017-12-22 Apparatusses, systems and methods for object tracking
PCT/GB2018/053748 WO2019122922A1 (en) 2017-12-22 2018-12-21 Object tracking

Publications (1)

Publication Number Publication Date
ES3037261T3 true ES3037261T3 (en) 2025-09-30

Family

ID=61131464

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18829957T Active ES3037261T3 (en) 2017-12-22 2018-12-21 Object tracking

Country Status (5)

Country Link
US (1) US11624825B2 (es)
EP (1) EP3729135B1 (es)
ES (1) ES3037261T3 (es)
GB (1) GB2569654B (es)
WO (1) WO2019122922A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE1851325A1 (en) * 2018-10-25 2020-04-21 Ireality Ab Method and controller for tracking moving objects
CN110103810B (zh) * 2019-01-03 2024-02-27 华域视觉科技(上海)有限公司 三维探测照明系统及汽车
US12259496B2 (en) * 2019-05-31 2025-03-25 Volkswagen Aktiengesellschaft System, method, and components utilizing live point cloud compression
FR3099269B1 (fr) * 2019-07-22 2023-08-04 Bull Sas Procédé d’identification d’une personne dans une vidéo, par une signature visuelle de cette personne, programme d’ordinateur et dispositif correspondants
US11557127B2 (en) 2019-12-30 2023-01-17 Waymo Llc Close-in sensing camera system
US11493922B1 (en) 2019-12-30 2022-11-08 Waymo Llc Perimeter sensor housings
JP2023525534A (ja) * 2020-05-11 2023-06-16 コグネックス・コーポレイション 3次元画像から外形を抽出する方法及び装置
US11202951B1 (en) 2020-07-27 2021-12-21 Tempo Interactive Inc. Free-standing a-frame exercise equipment cabinet
WO2022025784A1 (ru) * 2020-07-28 2022-02-03 Общество с ограниченной ответственностью "Смартсенсор" Передача и обработка данных в системе лидар-видеокамера
EP4459549A3 (en) 2020-08-14 2025-01-08 Topgolf Sweden AB Motion based pre-processing of two-dimensional image data prior to three-dimensional object tracking with virtual time synchronization
US12566275B2 (en) 2020-11-24 2026-03-03 Waymo Llc Methods of using background images from a light detection and ranging (LIDAR) device
US12322148B1 (en) 2021-12-09 2025-06-03 The United States Of America, As Represented By The Secretary Of The Navy Apparatus and methods for applying fiducial markings
USD1042168S1 (en) * 2022-08-05 2024-09-17 Wawgd Newco, Llc Launch monitor
CN121001788A (zh) * 2023-02-01 2025-11-21 瓦尔德私人有限公司 运动测量装置和系统
ES2956935A1 (es) * 2023-08-04 2024-01-04 Oliva Rossello Gabriel Juan Sistema de captación y transmisión de imágenes de eventos deportivos

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088962A1 (ja) * 2004-03-16 2005-09-22 Hiroshi Arisawa 追尾装置、及びモーションキャプチャ装置
JP2007187618A (ja) * 2006-01-16 2007-07-26 Omron Corp 物体識別装置
JP2008203992A (ja) * 2007-02-16 2008-09-04 Omron Corp 検出装置および方法、並びに、プログラム
DE102007049147A1 (de) * 2007-10-12 2009-04-16 Robert Bosch Gmbh Sensorsystem zum Erfassen von Bewegungsabläufen oder Spielsituationen beim Sport
US8704887B2 (en) * 2010-12-02 2014-04-22 GM Global Technology Operations LLC Multi-object appearance-enhanced fusion of camera and range sensor data
US9234618B1 (en) * 2012-09-27 2016-01-12 Google Inc. Characterizing optically reflective features via hyper-spectral sensor
SE539846C2 (en) * 2015-08-20 2017-12-19 Scania Cv Ab Method, control unit and a system in a vehicle for detection of a vulnerable road user
US10905916B1 (en) * 2017-06-16 2021-02-02 Tarun Malik Device for logging exercise data and method thereof
US11069144B2 (en) * 2018-09-14 2021-07-20 Mirrorar Llc Systems and methods for augmented reality body movement guidance and measurement
US11633659B2 (en) * 2018-09-14 2023-04-25 Mirrorar Llc Systems and methods for assessing balance and form during body movement
CN110772169B (zh) * 2019-10-31 2021-07-13 北京小米移动软件有限公司 除螨方法及除螨仪

Also Published As

Publication number Publication date
WO2019122922A1 (en) 2019-06-27
US11624825B2 (en) 2023-04-11
EP3729135A1 (en) 2020-10-28
EP3729135B1 (en) 2025-07-30
GB201721794D0 (en) 2018-02-07
GB2569654A (en) 2019-06-26
EP3729135C0 (en) 2025-07-30
US20200333462A1 (en) 2020-10-22
GB2569654B (en) 2022-09-07

Similar Documents

Publication Publication Date Title
ES3037261T3 (en) Object tracking
JP6857780B2 (ja) 2dカメラ画像から投射物の3d軌道を推定する方法
ES3013858T3 (en) Three dimensional object tracking using combination of radar speed data and two dimensional image data
JP5719170B2 (ja) 物体の位置及び運動検出システム、及び方法
JP5675301B2 (ja) ゴルフスイングの分類方法、分類システム、解析装置およびプログラム
JP5932059B2 (ja) ゴルフクラブヘッド測定装置
JP3778427B2 (ja) 打球診断システム
US20060221072A1 (en) 3D imaging system
US12121771B2 (en) Trajectory extrapolation and origin determination for objects tracked in flight
JP7689239B2 (ja) 飛行中に追跡された物体に対する軌道外挿および起点決定ならびにセンサーカバレージ決定
JP2005529339A (ja) 飛行パラメータ測定システム
JP5975711B2 (ja) ゴルフスイングの分類方法、分類システム、分類装置およびプログラム
KR20120065063A (ko) 고속 스테레오 카메라를 이용한 구형 물체의 비행 정보 측정 시스템 및 방법
JP4109094B2 (ja) 球体の回転特性と飛行特性の測定方法
JP2004132831A (ja) 球体の回転特性と飛行特性の測定方法及び球体の回転特性と飛行特性の測定装置
US20230408696A1 (en) Systems and methods for tracking three-dimensional objects
CN121391919A (zh) 便携式多目高尔夫实时检测测量方法、设备及电子设备
KR101974364B1 (ko) 라이다를 구비한 모바일 단말기를 이용하여 골프 퍼팅 라인 정보를 제공하는 방법
KR101841172B1 (ko) 라이다를 이용하여 골프 퍼팅 라인 정보를 제공하기 위한 모바일 단말기
KR20180075438A (ko) 라이다를 이용하여 골프 퍼팅 라인 정보를 제공하기 위한 모바일 단말기
KR101841497B1 (ko) 라이다를 구비한 모바일 단말기를 이용하여 골프 퍼팅 라인 정보를 제공하는 방법