ES2819859T3 - Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos - Google Patents

Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos Download PDF

Info

Publication number
ES2819859T3
ES2819859T3 ES17207519T ES17207519T ES2819859T3 ES 2819859 T3 ES2819859 T3 ES 2819859T3 ES 17207519 T ES17207519 T ES 17207519T ES 17207519 T ES17207519 T ES 17207519T ES 2819859 T3 ES2819859 T3 ES 2819859T3
Authority
ES
Spain
Prior art keywords
data
time
objects
trace
predefined
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
ES17207519T
Other languages
English (en)
Inventor
Edward A Marcheselli
Gary Dispensa
Thomas D Stemen
William C Kastilahn
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.)
ShopperTrak RCT LLC
Original Assignee
ShopperTrak RCT LLC
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 ShopperTrak RCT LLC filed Critical ShopperTrak RCT LLC
Application granted granted Critical
Publication of ES2819859T3 publication Critical patent/ES2819859T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C11/00Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C11/00Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere
    • G07C2011/04Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere related to queuing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

Un método para rastrear objetos definidos, que comprende las etapas de: recibir unos primeros datos de objeto en un dispositivo de captura de datos, en donde los primeros datos de objeto están asociados con objetos definidos y para cada uno de los objetos definidos los primeros datos de objeto incluyen un identificador único, datos de tiempo, y datos de ubicación triangulados de una señal celular emitida de un terminal móvil y recibidos por una pluralidad de receptores fijos; asociar los datos de ubicación para cada uno de los objetos definidos con una o más áreas predefinidas en las que entra el objeto definido; determinar un tiempo de permanencia para uno de los objetos definidos dentro de una de las áreas predefinidas basándose en el tiempo de entrada para el objeto definido en el área predefinida y el tiempo de salida para el objeto definido del área predefinida respectiva; generar un informe basándose en al menos el tiempo de permanencia determinado para el uno o más objetos definidos y la una o más áreas predefinidas; y alimentar el informe en un sistema de HVAC que usa el informe para elevar o reducir temperaturas de la una o más áreas predefinidas.

Description

DESCRIPCIÓN
Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos
Antecedentes
Campo de la invención
La presente invención se refiere en general al campo de detección, rastreo y recuento de objetos. En detalles específicos, la presente invención es un sistema y proceso de detección y rastreo implementado por ordenador para detectar y rastrear objetos humanos de interés que aparecen en imágenes de cámara tomadas, por ejemplo, en una entrada o entradas a una instalación, así como para contar el número de objetos humanos de interés que entran o salen de la instalación durante un periodo de tiempo dado.
Técnica anterior relacionada
De manera tradicional, se han propuesto diversos métodos para detectar y contar el paso de un objeto. La Patente de Estados Unidos N.° 7.161.482 describe un sistema de vigilancia electrónica de artículos (EAS) y de recuento de personas integrado. El componente de EAS establece una zona de interrogatorio mediante una antena situada adyacente a la zona de interrogación en un punto de salida de un área protegida. El componente de recuento de personas incluye un dispositivo de detección de personas para detectar el paso de personas a través de un pasadizo asociado y para proporcionar una señal de detección de personas, y otro dispositivo de detección de personas situado a una distancia predefinida del primer dispositivo y configurado para detectar otra señal de detección de personas. Las dos señales se procesan a continuación en una representativa de la salida de una dirección de recorrido en respuesta a las señales.
De manera básica, hay dos clases de sistemas que emplean imágenes de vídeo para situar y rastrear objetos humanos de interés. Una clase usa flujos de vídeo monoculares o secuencias de imagen para extraer, reconocer y rastrear objetos de interés. La otra clase hace uso de dos o más sensores de vídeo para derivar mapas de intervalo o de altura de múltiples imágenes de intensidad y usa los mapas de intervalo o de altura como una fuente de datos principal.
En sistemas monoculares, los objetos de interés se detectan y rastrean aplicando diferenciación de segundo plano, o mediante coincidencia de plantilla adaptativa, o por rastreo de contorno. El problema principal con enfoques que usan diferenciación de segundo plano es la presencia de desorden de segundo plano, que afecta negativamente a la robustez y fiabilidad del rendimiento de sistema. Otro problema es que la frecuencia de actualización de segundo plano es difícil de ajustar en aplicaciones reales. Los problemas con enfoques que usan coincidencia de plantilla adaptativa son:
1) las detecciones de objeto tienen a desplazarse de ubicaciones verdaderas de los objetos, o a fijarse a características intensas en el segundo plano; y
2) las detecciones son propensas a la oclusión. Los enfoques que usan el rastreo de contorno sufren de dificultad al superar la degradación por gradientes de intensidad en el segundo plano cerca de los contornos de los objetos. Además, todos los métodos previamente mencionados son susceptibles de cambios en las condiciones de iluminación, sombras y luz solar.
En sistemas estéreo o de múltiples sensores, las imágenes de intensidad tomadas por sensores se convierten a mapas de intervalo o de altura, y la conversión no se ve afectada por factores adversos tales como los cambios de condición de iluminación, sombra intensa o luz solar.
Por lo tanto, los rendimientos de sistemas estéreo son aún muy robustos y fiables en presencia de factores adversos tales como condiciones de iluminación hostiles. Además, es más fácil de usar información de intervalo o de altura para segmentar, detectar y rastrear objetos que usar información de intensidad.
La mayoría de los sistemas estéreo del estado de la técnica usan diferenciación de segundo plano de intervalo para detectar objetos de interés. La diferenciación de segundo plano de intervalo sufre de los mismos problemas tales como desorden de segundo plano, como los enfoques de diferenciación de segundo plano monoculares, y presenta dificultad al diferenciar entre múltiples objetos situados de manera estrecha.
La Patente de Estados Unidos N.° 6.771.818 describe un sistema y proceso de identificación y ubicación de personas y objetos de interés en una escena agrupando de manera selectiva grandes objetos binarios para generar "grupos de grandes objetos binarios candidatos" dentro de la escena y comparando las agrupaciones de grandes objetos binarios a un modelo que representa las personas u objetos de interés. La comparación de agrupaciones de grandes objetos binarios candidatos al modelo identifica las agrupaciones de grandes objetos binarios que es la coincidencia o coincidencias más estrechas al modelo. Pueden capturarse imágenes de profundidad en directo secuenciales y analizarse en tiempo real para proporcionar identificación continua y ubicación de personas u objetos como una función del tiempo.
Las Patentes de Estados Unidos 6.952.496 y 7.092.566 se refieren a un sistema y proceso que emplean imágenes de color, histogramas de color, técnicas para compensar variaciones, y un enfoque de suma de calidades coincidentes para identificar mejor cada uno un grupo de personas y objetos en la imagen de una escena. Una imagen se segmenta para extraer regiones que probablemente corresponden a personas y objetos de interés y se calcula un histograma para cada una de las regiones extraídas. El histograma se compara con histogramas de modelo precalculados y está diseñado como que corresponde a una persona y objeto si el grado de similitud supera un umbral prescrito. El histograma designado puede almacenarse también como un histograma de modelo adicional, La Patente de Estados Unidos N.° 7.176.441 describe un sistema de recuento para contar el número de personas que pasan un conjunto de línea de monitores en la dirección de anchura de una trayectoria. Se instala un láser para irradiar la línea de monitor con un rayo de hendidura y se despliega un dispositivo de captura de imágenes para fotografiar un área que incluye la línea de monitor. El número de personas que pasan se cuenta basándose en datos unidimensionales generados a partir de una imagen obtenida de la fotografía cuando el rayo de hendidura se interpreta en la línea de monitor cuando la persona pasa la línea de monitor.
A pesar de toda la técnica anterior en este campo, ninguna invención ha desarrollado una tecnología que posibilite la detección y el rastreo discreto de objetos humanos en movimiento, que requiera presupuesto y mantenimiento bajos al mismo tiempo que proporcione resultados de recuento de tráfico precisos con la capacidad para distinguir entre tráfico de entrada y de salida, objetos en movimiento y estáticos, y entre objetos de (diferentes alturas. Por lo tanto, es un objetivo primario de esta invención proporcionar un sistema de detección de tráfico, rastreo y de recuento discreto que implique bajo coste, mantenimiento fácil y reducido, procesamiento de alta velocidad y que pueda proporcionar resultados con tiempo indicado que puedan analizarse adicionalmente.
Además, los sistemas de recuento de personas típicamente crean recuentos de tráfico anónimos; En monitorización de tráfico minorista, sin embargo, esto puede ser insuficiente. Por ejemplo, algunas situaciones pueden requerir que los empleados de tienda acompañen a los clientes a través de puntos de acceso que se están monitorizando por un sistema de rastreo y recuento de objetos, tal como los probadores. En estas circunstancias, los sistemas existentes no pueden rastrear y contar de manera separada empleados y clientes. La presente invención podría resolver esta deficiencia.
El documento US 2010/0063854 A1 describe un sistema y método para proporcionar datos basados en ubicación en un dispositivo portátil inalámbrico. De acuerdo con este documento, se proporciona un dispositivo portátil inalámbrico para proporcionar datos basados en ubicación a un usuario en un área geográfica definida que incluye una pluralidad de puntos de interés, comprendiendo el dispositivo portátil inalámbrico un transmisor inalámbrico, un receptor inalámbrico, y una pantalla. El transmisor inalámbrico puede transmitir información de ubicación a un servidor inalámbrico a través de una red inalámbrica. El receptor inalámbrico puede recibir datos basados en ubicación relacionados con un punto de interés del servidor inalámbrico periódica y automáticamente, basándose en la ubicación del dispositivo portátil inalámbrico. Optimizando rutas de mapa y planificaciones usando los datos basados en ubicación y preferencias de usuario que incluyen listas de deseos, el dispositivo portátil inalámbrico puede proporcionar recomendaciones útiles mediante la pantalla, posibilitando que el usuario planee una planificación eficaz de actividades en el área geográfica definida optimizada por la distancia a pie, tiempos de espera en cola, reservas y llegada a eventos reservados, y/o mediante otras preferencias de usuario.
Sumario de la invención
La presente invención se refiere a un método para detectar, rastrear y contar objetos humanos de interés que entran o salen de una entrada o entradas de una instalación.
El método de acuerdo con la presente invención se define por la reivindicación 1. Se refiere a la monitorización de la temperatura en una ubicación usando datos de rastreo de objetos humanos.
Un objetivo de la presente invención es proporcionar una técnica que pueda conseguir una carga de cálculo razonable y que proporcione resultados de detección en tiempo real, rastreo y recuento.
Otro objetivo es proporcionar rastreo y monitorización fácil y no obstructivo de la instalación.
Otro objetivo de la presente invención es proporcionar una técnica para determinar la relación del número de objetos humanos que entran en la instalación a través del número de objetos humanos de interés que pasan dentro de una cierta distancia de la instalación.
De acuerdo con estos y otros objetivos que se harán evidentes en lo sucesivo, la presente invención se describirá con referencias particulares a los dibujos adjuntos.
Breve descripción de los dibujos
La Figura 1 es una vista en perspectiva esquemática de una instalación en la que se instala el sistema de la presente invención;
La Figura 2 es un diagrama que ilustra el dispositivo de captura de imágenes conectado a un sistema de recuento ejemplar de la presente invención;
La Figura 3 es un diagrama que ilustra la secuencia de conversión de uno o más pares de imágenes estéreo capturadas por el sistema de la presente invención en los mapas de altura, que se analizan para rastrear y contar objetos humanos;
La Figura 4 es un diagrama de flujo que describe el flujo de procesos para un sistema que realiza detección, rastreo y recuento de objetos humanos de acuerdo con la presente invención;
La Figura 5 es un diagrama de flujo que describe el flujo de procesos para rastreo de objetos;
La Figura 6 es un diagrama de flujo que describe el flujo de procesos para análisis de rastro;
La Figura 7 es una primera parte de un diagrama de flujo que describe el flujo de procesos para ubicación subóptima de rastros desemparejados;
La Figura 8 es una segunda parte del diagrama de flujo de la Figura 7 que describe el flujo de procesos para ubicación subóptima de rastros desemparejados;
La Figura 9 es un diagrama de flujo que describe el flujo de procesos para coincidencia de rastros y detecciones de objeto de segunda pasada; La Figura 10 es un diagrama de flujo que describe el flujo de procesos para actualización o creación de rastro;
La Figura 11 es un diagrama de flujo que describe el flujo de procesos para fusión de rastro;
La Figura 12 es un diagrama de flujo que describe el flujo de procesos para actualizaciones de rastro;
La Figura 13 es un diagrama que ilustra el dispositivo de captura de imágenes conectado a un sistema de recuento ejemplar, que incluye un lector de RFID;
La Figura 14 es un diagrama de flujo que representa el flujo de procesos para recuperar datos de objeto y datos de etiqueta y que genera series de rastros y series de secuencias;
La Figura 15 es un diagrama de flujo que representa el flujo de procesos para determinar si existe algún solapamiento entre alguno de los registros de rastro y alguno de los registros de secuencia;
La Figura 16 es un diagrama de flujo que representa el flujo de procesos para generar un registro coincidente 316 para cada grupo de registros de secuencia cuyos registros de rastro solapan;
La Figura 17 es un diagrama de flujo que representa el flujo de procesos para calcular las puntuaciones de calidad coincidentes;
La Figura 18A es un diagrama de flujo que representa el flujo de procesos para determinar qué registro de rastro es la mejor coincidencia para una secuencia particular;
La Figura 18B es un diagrama de flujo que representa el flujo de procesos para determinar el registro de secuencia que mantiene la combinación de registro de secuencia/registro de rastro con la puntuación de calidad de coincidencia más alta;
La Figura 19 es un diagrama que ilustra un dispositivo de captura de imágenes conectado a un sistema de recuento ejemplar, que también incluye un dispositivo de captura de datos;
La Figura 20 es un diagrama de flujo que representa las etapas para generar informes basándose en una dimensión temporal;
La Figura 21 es un diagrama de flujo que representa las etapas para generar informes basándose en una dimensión geográfica;
La Figura 22 es un diagrama que ilustra un área de múltiples pisos;
La Figura 23 es un diagrama de flujo que representa las etapas para generar informes basándose en una dimensión de comportamiento; y
La Figura 24 es un diagrama de flujo que representa las etapas para generar informes basándose en una dimensión demográfica.
Descripción detallada de la invención
Esta descripción detallada se presenta en términos de programas, estructuras de datos o procedimientos ejecutados en un ordenador o una red de ordenadores. Los programas de software implementados por el sistema pueden escribirse en lenguajes tales como JAVA, C, C++, C#, lenguaje ensamblador, Python, PHP, o HTML. Sin embargo, un experto en la materia apreciará que pueden usarse otros lenguajes en su lugar, o en combinación con lo anterior. A continuación, todas las partes de la divulgación que se introducen como ejemplos o realizaciones y no se refieren a la monitorización de temperatura usando los datos de rastreo de objetos humanos no son parte de la invención pero pertenecen a informaciones de antecedentes.
1. Componentes de sistema
Haciendo referencia a las Figuras 1, 2 y 3, la presente invención es un sistema 10 que comprende al menos un dispositivo de captura de imágenes 20 conectado electrónica o inalámbricamente a un sistema de recuento 30. En la realización ilustrada, el al menos un dispositivo de captura de imágenes 20 está montado por encima de una entrada o entradas 21 a una instalación 23 para capturar imágenes de la entrada o entradas 21. Las instalaciones tales como centros comerciales o tiendas con entradas anchas a menudo requieren más de un dispositivo de captura de imágenes para cubrir completamente las entradas. El área capturada por el dispositivo de captura de imágenes 20 es el campo de visión 44. Cada imagen, junto con el tiempo cuando se captura la imagen, es un fotograma 48 (Figura 3).
Típicamente, el dispositivo de captura de imágenes incluye al menos una cámara estéreo con dos o más sensores de vídeo 46 (Figura 2), que permiten que la cámara simule visión binocular humana. Un par de imágenes estéreo comprenden fotogramas 48 tomados por cada sensor de vídeo 46 de la cámara. Un mapa de altura 56 se construye a continuación a partir del par de imágenes en estéreo a través de cálculos que implican hallar píxeles correspondientes en fotogramas rectificados 52, 53 del par de imágenes en estéreo.
La zona de puerta 84 es un área en el mapa de altura 56 que marca la posición de inicio de un rastro de entrada y posición final de un rastro de salida. La zona interior 86 es un área que marca la posición final del rastro de entrada y la posición de inicio del rastro de salida. La zona muerta 90 es un área en el campo de visión 44 que no se procesa por el sistema de recuento 30.
Los sensores de vídeo 46 (Figura 2) reciben fotones a través de lentes, y los fotones provocan que reaccionen los electrones en el dispositivo de captura de imágenes 20 y formen imágenes de luz. El dispositivo de captura de imágenes 20 a continuación convierte las imágenes de luz a señales digitales a través de las cuales el dispositivo 20 obtiene fotogramas sin procesar digitales 48 (Figura 3) que comprenden píxeles. Un píxel es un único punto en un fotograma sin procesar 48. El fotograma sin procesar 48 comprende en general varios cientos, miles o millones de píxeles dispuestos en filas y columnas.
Ejemplos de sensores de vídeo 46 usados en la presente invención incluyen sensores de CMOS (Semiconductores de Metal-Óxido Complementarios) y/o sensores de CCD (dispositivo de Carga Acoplada). Sin embargo, los tipos de sensores de vídeo 46 no deben considerarse limitantes, y puede adoptarse cualquier sensor de vídeo 46 compatible con el presente sistema.
El sistema de recuento 30 comprende tres componentes principales: (I) cargador de arranque 32; (2) componente de gestión y comunicación de sistema 34; y (3) componente de recuento 36.
El cargador de arranque 32 se ejecuta cuando se arranca el sistema y carga el programa de aplicación principal en memoria 38 para su ejecución.
El componente de gestión y comunicación de sistema 34 incluye planificadores de tareas, interfaz de base de datos, funciones de registro y protocolos de comunicación TCP/IP o PPP. La interfaz de base de datos incluye módulos para enviar y almacenar datos generados del componente de recuento 36 a una base de datos en un sitio remoto. Las funciones de registro proporcionan operaciones tales como escritura de eventos definidos por el usuario a una base de datos, envío de correos electrónicos, y grabación de vídeo.
El componente de recuento 36 es un componente clave del sistema 10 y se describe en detalle adicionalmente como sigue.
2. El componente de recuento.
En una realización ilustrada de la presente invención, al menos un dispositivo de captura de imágenes 20 y el sistema de recuento 30 están integrados en un único dispositivo de captura y procesamiento de imágenes. El único dispositivo de captura y procesamiento de imágenes puede instalarse en cualquier parte por encima de la entrada o entadas a la instalación 23. Los datos emitidos desde el único dispositivo de captura y procesamiento de imágenes pueden transmitirse a través del componente de gestión y comunicación de sistema 34 a la base de datos para almacenamiento y análisis adicional.
La Figura 4 es un diagrama que muestra el flujo de procesos del componente de recuento 36. Los procesos son: (1) obtención de fotogramas sin procesar (bloque 100); (2) rectificación (bloque 102); (3) generación de mapa de disparidad (bloque 104); (4) generación de mapa de altura (bloque 106); (5) detección de objeto (bloque 108); y (6) rastreo de objeto (bloque 110).
Haciendo referencia a las Figuras 1-4, en el bloque 100, el dispositivo de captura de imágenes 20 obtiene fotogramas de imagen sin procesar 48 (Figura 3) a una frecuencia dada (tal como para cada segundo de lA) del campo de visión 44 de los sensores de vídeo 46. Cada píxel en el fotograma sin procesar 48 registra color e intensidad de luz de una posición en el campo de visión 44. Cuando el dispositivo de captura de imágenes 20 toma una instantánea, cada sensor de vídeo 46 del dispositivo 20 produce un fotograma sin procesar 48 diferente simultáneamente. Uno o más pares de fotogramas sin procesar 48 tomados simultáneamente se usan a continuación para generar los mapas de altura 56 para el campo de visión 44, como se describirá.
Cuando se usan múltiples dispositivos de captura de imágenes 20, los rastros 88 generados por cada dispositivo de captura de imágenes 20 se fusionan antes de continuar al bloque 102.
El bloque 102 usa datos de calibración de las cámaras estéreo (no mostradas) almacenados en el dispositivo de captura de imágenes 20 para rectificar fotogramas estéreo sin procesar 48. La operación de rectificación corrige efectos de distorsión de lente en los fotogramas sin procesar 48. Los datos de calibración incluyen cada centro óptico del sensor, información de distorsión de lente, longitudes focales y la pose relativa de un sensor con respecto al otro. Después de la rectificación, las líneas rectas en el mundo real que se han distorsionado a líneas curvadas en los fotogramas estéreo sin procesar 48 se corrigen y restauran a líneas rectas. Los fotogramas resultantes de la rectificación se denominan fotogramas rectificados 52, 53 (Figura 3).
El bloque 104 crea un mapa de disparidad 50 (Figura 3) de cada par de fotogramas rectificados 52, 53. Un mapa de disparidad 50 es un mapa de imagen donde cada píxel comprende un valor de disparidad. El término disparidad se usó originalmente para describir un vector 2-D entre posiciones de características correspondientes observadas por los ojos izquierdo y derecho. Los fotogramas rectificados 52, 53 en un par se comparan entre sí para características de coincidencia. La disparidad se calcula como la diferencia entre posiciones de la misma característica en el fotograma 52 y el fotograma 53.
El bloque 106 convierte el mapa de disparidad 50 al mapa de altura 56. Cada píxel del mapa de altura 56 comprende un valor de altura y coordenadas x-y, donde el valor de altura se representa por la altura de suelo más grande de todos los puntos en la misma ubicación en el campo de visión 44. El mapa de altura 56 en ocasiones se denomina como un fotograma en el resto de la descripción.
2.1 Detección de objeto
La detección de objeto (bloque 108) es un proceso de ubicación de objetos candidatos 58 en el mapa de altura 56. Un objetivo de la presente invención es detectar objetos humanos de pie o caminando en áreas relativamente planas. Puesto que los objetos humanos están mucho más altos que el suelo, los máximos locales del mapa de altura 56 a menudo representan cabezas de objetos humanos o de manera ocasional manos elevadas u otros objetos llevados en los hombros de objetos humanos que caminan en la zona de recuento 84, 86 (Figura 1). Por lo tanto, los máximos locales del mapa de altura 56 se identifican a medida que se detectan posiciones de objetos humanos 58 potenciales. Cada detección de objeto humano 58 potencial se representa en el mapa de altura 56 por un máximo local con una altura mayor que un umbral predefinido y todas las distancias de otros máximos locales por encima de un intervalo predefinido.
De manera ocasional, algunos objetos humanos de interés no aparecen como máximos locales por razones tales como que el mapa de altura 56 se ve afectado por la falsa detección debido a efecto de ceguera de la nieve en el proceso de generación del mapa de disparidad 50, o que los objetos humanos de interés están de pie cerca de objetos más altos tales como paredes o puertas. Para superar este problema, la invención actual busca en las cercanías de los máximos locales más recientes una ubicación subóptima como posiciones candidatas para objetos humanos de interés, como se describirá más adelante.
Una tanda es un conjunto de píxeles contiguos en la misma fila del mapa de altura 56 con los mismos valores de altura distintos de cero. Cada tanda se representa por una tupla de cuatro (fila, columna de inicio, columna de fin, altura). En la práctica, el mapa de altura 56 a menudo se representa por un conjunto de tandas para potenciar el rendimiento de procesamiento y también se realiza detección de objeto en las tandas en lugar de los píxeles.
La detección de objeto comprende cuatro etapas: 1) reconstrucción de segundo plano; 2) detección de componente de primera pasada; 3) detección de objeto de segunda pasada; y 4) fusión de detecciones ubicadas de manera estrecha.
2.1.1 Definición de componente y propiedades
El píxel q es un vecino de ocho del píxel p si q y p comparten un borde o un vértice en el mapa de altura 56, y tanto p como q tienen valores de altura distintos de cero. Un píxel puede tener hasta ocho vecinos.
Un conjunto de píxeles E es un componente conectado de ocho si para cada par de píxeles Pi y Pi en E, existe una secuencia de pixeles Pi... , Pi de manera que todos los píxeles en la secuencia pertenecen al conjunto E, y cada par de dos píxeles adyacentes son ocho vecinos entre sí. Sin observación adicional, un componente conectado de ocho se denomina simplemente como un componente conectado posteriormente.
El componente conectado es una estructura de datos que representa un conjunto de ocho píxeles conectados en el mapa de altura 56. Un componente conectado puede representar uno o más objetos humanos de interés. Las propiedades de un componente conectado incluyen altura, posición, tamaño, etc. La Tabla 1 proporciona una lista de propiedades asociadas con un componente conectado. Cada propiedad tiene un nombre abreviado encerrado en un par de paréntesis y una descripción. Las propiedades se referenciarán por sus nombres abreviados en lo sucesivo.
Figure imgf000007_0001
Se aplican varios operadores de predicado a un subconjunto de propiedades del componente conectado para comprobar si el subconjunto de propiedades satisface una cierta condición. Los operadores de predicado de componente incluyen:
IsNoisy, que comprueba si un componente conectado es demasiado pequeño para considerarse una detección de objeto válida 58. Un componente conectado se considera como "ruido" si se cumplen al menos dos de las siguientes tres condiciones: 1) su det_minSize es menor que dos tercios de un tamaño mínimo de cuerpo humano especificado, que es configurable en el intervalo de [23,77] centímetros ([9,36] pulgadas); 2) su det_area es menor que cuatro novenos del área de un círculo con su diámetro igual a un tamaño mínimo de cuerpo especificado; y 3) el producto de su det_minSize y det area es menor que el producto del tamaño mínimo de cuerpo humano especificado y un área mínima de cuerpo especificada.
IsPointAtBoundaries, que comprueba si una ventana cuadrada centrada en el punto actual con su tamaño igual a un tamaño de ventana de búsqueda máximo local especificado está intersecando los límites del mapa de altura 56, o si el componente conectado tiene más de un número específico de píxeles en la zona muerta 90. Si esta operación devuelve verdadero, el punto que se está comprobando se considera como dentro de los límites del mapa de altura 56.
NotSmallSubComponent, que comprueba si un subcomponente en la detección de componente de segunda pasada no es pequeño. Devuelve verdadero si su detrninxize es mayor que un tamaño mínimo de cabeza humana especificado o su det_area es mayor que un área mínima de cabeza humana especificada.
BigSubComponentSeed, que comprueba si una semilla de subcomponente en la detección de componente de segunda pasada es lo suficientemente grande para detener la operación de agrupación. Devuelve verdadero si su detrninxize es mayor que el tamaño máximo de la cabeza humana especificado o su det_area es mayor que el área máxima de la cabeza humana especificada.
SmallSubComponent, que comprueba si un subcomponente en la detección de componente de segunda pasada es pequeño. Devuelve verdadero si su detrninxize es menor que el tamaño mínimo de la cabeza humana especificado o su der area es menor que el área mínima de la cabeza humana especificada.
2.1.2 Reconstrucción de segundo plano
El segundo plano representa el paisaje estático en el campo de visión 44 del dispositivo de captura de imágenes 20 y se construye a partir del mapa de altura 56. El proceso de creación del segundo plano monitoriza cada píxel de cada mapa de altura 56 y actualiza un mapa de altura de segundo plano. Un píxel puede considerarse como parte del paisaje estático si el píxel tiene el mismo valor de altura distinto de cero para un porcentaje especificado de tiempo (por ejemplo, el 70 %).
2.1.3 Detección de componente de primera pasada
Los componentes de primera pasada se calculan aplicando una variante de un algoritmo de etiquetado de imagen de ocho conectados en las tandas del mapa de altura 56. Las propiedades de los componentes de primera pasada se calculan de acuerdo con las definiciones en la Tabla 1. Los operadores de predicado también se aplican a los componentes de primera pasada. Estos componentes de primera pasada cuyo operador de predicado "IsNoise" devuelve "verdadero" se ignoran sin pasarse en la fase de detección de componente de segunda pasada de la detección de objeto.
2.1.4 Detección de objeto de segunda pasada
En esta fase, los máximos locales de mapa de altura, que van a considerarse como detecciones humanas candidatas, se derivan de los componentes de primera pasada en las siguientes etapas.
En primer lugar, para cada componente de primera pasada, hallar todos los subcomponentes conectados de ocho cuyos píxeles tienen la misma altura. La propiedad deigrouped de todos los subcomponentes se limpia para preparar el agrupamiento de subcomponente y la propiedad deCID de cada subcomponente se establece al ID del correspondiente componente de primera pasada.
En segundo lugar, intentar hallar el subcomponente máximo local desagrupado más alto que satisface las siguientes dos condiciones: (1) el subcomponente tiene la altura más alta entre todos los subcomponentes desagrupados del componente de primera pasada dado, o el área más grande entre todos los subcomponentes desagrupados del componente de primera pasada dado si existen varios subcomponentes desagrupados con la misma altura más alta; y (2) el subcomponentes es más alto que todos sus subcomponentes vecinos. Si existe un subcomponente de este tipo, usarlo como la semilla actual y continuar a la siguiente etapa para agrupamiento de subcomponente adicional. De otra manera, volver a la etapa 1 para procesar el siguiente componente de primera pasada en línea.
En tercer lugar, la prueba ifBigSubComponentSeed devuelve verdadero en la semilla actual, el subcomponente se considera a continuación como un objeto humano detectado potencial. Establecer la bandera det grouped del subcomponente para marcarla como agrupado y continuar a la etapa 2 para buscar una nueva semilla. Si la prueba devuelve falso, continuar a la siguiente etapa.
En cuarto lugar, intentar hallar un subcomponente cerca de la semilla actual que tiene la altura más alta y cumple todas las siguientes tres condiciones: (I) está conectado en ocho a la semilla actual; (2) su altura es mayor que la de la semilla actual; y (3) no está conectado a un tercer subcomponente que es más alto y pasa la prueba NotSmallSubComponent. Si más de un subcomponente cumple todas las condiciones anteriores, elegir el de área más grande. Cuando ningún subcomponente cumpla los criterios, establecer la propiedad deigrouped de la semilla actual a "agrupado" e ir a la etapa 2. De otra manera, continuar a la siguiente etapa.
En quinto lugar, calcular la distancia entre los centros de la semilla actual y el subcomponente hallado en la etapa anterior. Si la distancia es menor que el intervalo de búsqueda de detección especificado o la semilla actual pasa la prueba SmallSubComponent, agrupar la semilla actual y el subcomponente juntos y actualizar las propiedades de la semilla actual en consecuencia. De otra manera, establecer la propiedad det_grouped de la semilla actual como "agrupada". Volver a la etapa 2 para continuar el proceso de agrupamiento hasta que no pueda hacerse agrupamiento adicional.
2.1.5 Fusionar detecciones ubicadas de manera estrecha
Puesto que el dispositivo de captura de imágenes 20 está montado en el techo de la entrada de la instalación (Figura 1), se identifica un objeto humano de interés por un máximo local en el mapa de altura. En ocasiones se genera más de una detección de máximos locales del mismo objeto de interés humano. Por ejemplo, cuando un objeto humano eleva ambas de sus manos al mismo tiempo, pueden detectarse dos máximos locales ubicados de manera estrecha. Por lo tanto, es necesario fusionar máximos locales ubicados de manera estrecha.
Las etapas de esta fase son como siguen.
En primer lugar, buscar el par más cercano de detecciones de máximos locales. Si la distancia entre las dos detecciones más cercanas es mayor que la distancia de fusión de detección especificada, parar y salir del proceso. De otra manera, continuar a la siguiente etapa.
En segundo lugar, comprobar y procesar las dos detecciones de acuerdo con las siguientes condiciones en el orden dado. Una vez que se cumple una condición, ignorar las condiciones restantes y continuar a la siguiente etapa:
a) si alguna pero no todas las detecciones está en el segundo plano, ignorar la del segundo plano puesto que es más probable que sea un objeto estático (el máximo local en el primer plano tiene prioridad superior sobre el del segundo plano);
b) si alguna pero no todas las detecciones están tocando los bordes del mapa de altura 56 o zonas muertas, borrar la que está tocando los bordes del mapa de altura 56 o zonas muertas (un máximo local completo tiene prioridad superior sobre uno incompleto);
c) si la diferencia entre det maxlleights de las detecciones es menor que un umbral de variación de altura de persona especificada, borrar la detección con volumen en 3D significativamente menor (por ejemplo, el producto de det_maxHeight y det_masArea para un componente conectado es menos de dos tercios del producto para el otro componente conectado) (un máximo local intenso tiene prioridad superior sobre uno débil);
d) si la diferencia entre alturas máximas de detecciones es mayor que treinta con cuarenta y ocho centímetros (un pie), borrar la detección con det_maxHeight menor si la detección con mayor altura entre las dos es menor que la altura máxima de persona especificada, o borrar la detección con mayor det_maxHeight si la altura máxima de esa detección es mayor que la altura máxima de persona especificada (unos máximos locales con una altura razonable tienen prioridad superior sobre un máximo local con una altura poco probable);
e) borrar la detección cuyo det area es dos veces más pequeña que la otra (un máximo local pequeño cerca de un máximo local grande es más probable un ruido pimienta);
f) si la distancia entre las dos detecciones es menor que el intervalo de búsqueda de detección especificado, fusionar las dos detecciones en una (ambos máximos locales son igualmente buenos y están cerca entre sí); g) mantener ambas detecciones si la distancia entre las dos detecciones es mayor o igual que el intervalo de búsqueda de detección especificado (ambos máximos locales son igualmente buenos y no están suficientemente cerca entre sí). Actualizar la det., atributo closestDet para cada detección con el otro ID de la detección.
A continuación, volver a la etapa 1 para buscar el siguiente par más cercano de detecciones.
Las restantes detecciones de máximos locales después del proceso de fusión anterior se definen como detecciones de objetos candidatos 58, que se hacen coincidir a continuación con un conjunto de rastros existentes 74 para extensión de rastro, o una nueva iniciación de rastro si no se halla coincidencia.
2.2 Rastreo de objeto
El rastreo de objeto (bloque 110 en la Figura 1) usa objetos detectados en el proceso de detección de objeto (bloque 108) para extender rastros existentes 74 o crear nuevos rastros 80. Algunos rastros breves y rotos también se analizan para posibles operaciones de reparación de rastro.
Para contar objetos humanos que usan rastros de objeto, se delinean las zonas 82 en el mapa de altura 56. Las zonas de puerta 84 representan áreas de puerta alrededor de la instalación 23 a la entrada. Las zonas de interior 86 representan áreas de interior de la instalación. Un rastro 76 que atraviesa desde la zona de puerta 84 a la zona de interior 86 tiene un recuento de "entrada" potencial. Un rastro 76 que atraviesa la zona de puerta 84 desde la zona de interior 86 tiene un recuento de "salida" potencial. Si un rastro 76 atraviesa a través de las zonas 82 múltiples veces, puede haber únicamente un recuento de "entrada" o de "salida" potencial dependiendo de la dirección del último cruce de zona.
Como se ilustra en la Figura 5, el proceso de rastreo de objeto 110 comprende las siguientes fases: 1) análisis y procesamiento de rastros antiguos (bloque 120); 2) coincidencia de primera pasada entre rastros y detecciones de objeto (bloque 122); 3) ubicación subóptima de rastros desemparejados (bloque 124); 4) coincidencia de segunda pasada entre rastros y detecciones de objeto (bloque 126); y 5) actualización o creación de rastro (bloque 128).
Un rastro de objeto 76 puede usarse para determinar si un objeto humano está entrando o dejando la instalación, o para derivar propiedades tales como velocidad y dirección de movimiento para objetos humanos que se están rastreando.
Los rastros de objeto 76 pueden usarse también para eliminar falsas detecciones de objetos humanos, tales como signos estáticos alrededor del área de entrada. Si una detección de objeto 58 no se ha movido y su rastro asociado 76 ha estado estático durante un tiempo relativamente largo, la detección de objeto 58 se considerará como parte del segundo plano y su rastro 76 se procesará de manera diferente que los rastros normales (por ejemplo, los recuentos creados por el rastro se ignorarán).
El rastreo de objeto 110 también hace uso de información de intensidad de nivel de color o gris en los fotogramas 52, 53 para buscar la mejor coincidencia entre los rastros 76 y detecciones de objeto 58. Obsérvese que la
información de color o de intensidad no se lleva a los mapas de disparidad 50 o a los mapas de altura 56.
La misma técnica usada en el rastreo de objeto puede usarse también para determinar cuánto permanece de pie
una persona en una línea de paso por caja.
2.2.1 Propiedades de rastro de objeto
Cada rastro 76 es una estructura de datos generada desde el mismo objeto que se está rastreando tanto en
dominios temporal como espacial y contiene una lista de 4-tuplas (x, y, t, h) además de un conjunto de propiedades
relacionadas, donde h, x e y presentan la altura y la posición del objeto en el campo de visión 44 en el tiempo t. (x, y,
h) se definen en un sistema de coordenadas mundial con el plano formado por x e y paralelo a la tierra y h el eje vertical al suelo. Cada rastro puede tener únicamente una posición en cualquier momento. Además de la lista de 4-tuplas, el rastro 76 también tiene un conjunto de propiedades según se definen en la Tabla 2 y las propiedades se
harán referencia más tarde por sus nombres abreviados en los paréntesis:
Figure imgf000010_0001
continuación
Figure imgf000011_0001
2.2.2 Operaciones predicativas relacionadas con el rastro
Se definen varios operadores de predicado para obtener el estado actual de los rastros 76. Los operadores de predicado se aplican a un subconjunto de propiedades de un rastro 76 para comprobar si el subconjunto de propiedades satisface una cierta condición. Los operadores de predicado incluyen:
IsNoisyNow, que comprueba si el rastro rebota de un lado a otro localmente en el tiempo actual. Específicamente, se considera un rastro 76 con ruido si los puntos de rastro con un número fijo de fotogramas en el pasado (especificados como duración de rastro con ruido) satisfacen una de las siguientes condiciones:
a) el intervalo del rastro 76 (trkrange) es menor que el intervalo de rastro con ruido especificado, y la distancia negativa (trk_negDist) es mayor que dos tercios de la distancia positiva (trk_posDist) o los pasos negativos (trk_negNum) son mayores de dos tercios de los pasos positivos (trk_posNum);
b) el intervalo del rastro 76 (trkrange) es menor que la mitad del intervalo de rastro con ruido especificado, y la distancia negativa (trk_negDist) es mayor que un tercio de la distancia positiva (trk_posDist) o los pasos negativos (trk_negNum) son más de un tercio de los pasos positivos (trk_posNum).
WholeTrackIsNoisy: un rastro 76 puede ser con ruido una vez y sin ruido otra vez.
Esta comprobación se usa cuando se creó el rastro 76 hace un tiempo, y el rastro total 76 se considera con ruido si se mantienen una de las siguientes condiciones:
a) el intervalo del rastro 76 (trkrange) es menor que el intervalo de rastro con ruido especificado, y la distancia negativa (trk_negDist) es mayor que dos tercios de la distancia positiva (trk_posDist) o los pasos negativos (trk_negNum) son mayores de dos tercios de los pasos positivos (trk_posNum);
b) el intervalo del rastro 76 (trkrange) es menor que la mitad del intervalo de rastro con ruido especificado, y ya sea la distancia negativa (trk_negDist) mayor que un tercio de la distancia positiva trk_posDist) o los pasos negativos (trk_negNum) más de un tercio de los pasos positivos (trk_posNum).
IsSameTrack, que puede comprobar si dos rastros 76, 77 es probable que se provocaran por el mismo objeto humano. Todas las siguientes tres condiciones tienen que cumplirse para que esta prueba devuelva verdadero: (a) los dos rastros 76, 77 solapan en tiempo durante un número mínimo de fotogramas especificados como el tiempo de espera de rastro máximo; (b) los intervalos de ambos rastros 76, 77 están por encima de un umbral especificado como el tramo del rastro de recuento válido; y (c) la distancia entre los dos rastros 76, 77 en cualquier momento debe ser menor que la anchura mínima de la persona especificada.
IsCountIgnored: cuando el rastro 76 cruza las zonas de recuento, puede no crearse por un objeto humano de interés. Los recuentos de un rastro se ignoran si se cumple una de las siguientes condiciones:
Rastros inválidos: la diferencia absoluta entre trk_exits y trk_enters no es igual a uno.
Rastros pequeños: trkrange es menor que la longitud mínima de rastro de recuento especificada.
Rastros fusionados no fiables: trkrange es menor que la longitud de rastro de recuento de segundo plano mínima especificada así como uno de lo siguiente: trk_mergedTracks es igual a trk_ smallSearches, o trk_antecedentesCount es mayor del 80 % del tiempo de vida del rastro 76, o el rastro 76 cruza los límites de zona más de una vez.
Prueba de objeto alto: trk_highPtSteps es mayor que la mitad de oftrk totaISteps.
Prueba de hijo pequeño: trk_lowPtSteps es mayor que el % de trk_totaISteps, y trk_maxTrackHt es menor o igual que la altura mínima de la persona especificada.
Prueba de carrito de la compra: trk_voteFollowing es mayor que 3, trk_minFollowingDist es mayor o igual que el 80 % de trk_maxFollowingDist, y trk_maxTrackHt es menor o igual que la altura del carrito de la compra especificada.
Prueba de rastro falso: trk_voteMirrorTrack es mayor que el 60 % del tiempo de vida del rastro 76, y trk_maxMirrorTrackDist es menor que dos tercios de la anchura máxima de persona especificada o trk_totalVoteMirrorTrack es mayor que el 80 % del tiempo de vida del rastro 76.
2.2.3 Operación de actualización de rastro
Haciendo referencia a la Figura 12, cada rastro 76 se actualiza con nueva información en su posición, tiempo y altura cuando hay una detección de objeto humano de mejor coincidencia 58 en el mapa de altura actual 56 para en primer lugar, set trk_state del rastro 76 a 1 (bloque 360).
En segundo lugar, para el fotograma actual, obtener la altura usando el filtro de mediana en las tres alturas más recientes del rastro 76 y calcular la nueva posición 56 promediando en las tres posiciones más recientes del rastro 76 (bloque 362).
En tercer lugar, para la estructura actual, comprobar el estado de ruido usando el operador predicado de rastro IsNoisyNow. Si es verdadero, marcar un número especificado de fotogramas en el pasado como con ruido. Además, actualizar las propiedades relacionadas con el ruido del rastro 76 (bloque 364).
En cuarto lugar, actualizar el tramo del rastro 76 (bloque 366).
En quinto lugar, si se cumple una de las siguientes condiciones, recopilar el recuento llevado por el rastro 76 (bloque 374):
a) el rastro 76 no es con ruido en el comienzo, sino que ha sido con ruido durante más del tiempo de espera de rastro estacionario especificado (bloque 368); o
b) el rastro 76 no está en el segundo plano en el comienzo, si no que ha estado en el segundo plano durante más del tiempo de espera de rastro estacionario especificado (bloque 370).
Finalmente, actualizar la información de zona actual (bloque 372).
2.2.4 Cálculo de predicción de rastro
Ayuda a usar una posición prevista del rastro 76 cuando se busca una detección de mejor coincidencia 58. La posición prevista se calcula mediante extrapolación lineal en las posiciones del rastro 76 en los tres segundos pasados.
2.2.5 Análisis y procesamiento del rastro antiguo
Esta es la primera fase del rastreo de objeto. Los rastros activos 88 son rastros 76 que se crean o extienden con detecciones de objeto humano 58 en el fotograma anterior. Cuando no hay detección de objeto humano de mejor coincidencia 58 para el rastro 76, el rastro 76 se considera como inactivo.
Esta fase trata principalmente con los rastros 76 que están inactivos durante un cierto periodo de tiempo o se marcan para borrado en el fotograma anterior 56. El análisis de rastro se realiza en los rastros 76 que han estado inactivos durante un tiempo largo para decidir si agruparlos con rastros existentes 74 o para marcarlos para borrado en el siguiente fotograma 56. Los rastros 76 se borran si los rastros 76 se han marcado para borrado en el fotograma anterior 56, o los rastros 76 están inactivos y se crearon durante un periodo de tiempo muy corto antes. Si los recuentos de los rastros que van a borrarse pronto 76 no debieran ignorarse de acuerdo con el operador de predicado IsCountIgnored, recopilar los recuentos de los rastros 76.
2.2.6 Coincidencia de primera pasada entre rastros y detecciones
Después de que se analizan todos los rastros 76 para su agrupación o borrado, esta fase busca coincidencias óptimas entre las detecciones de objeto humano 58 (es decir el conjunto de máximos locales hallados en la fase de detección de objeto) y rastros 76 que no se han borrado.
En primer lugar, comprobar cada posible par de rastros 76 y detección 58 y poner el par en una lista de candidatos si se cumplen todas las siguientes condiciones:
1) el rastro 76 está activo, o debe ser lo suficientemente largo (por ejemplo con más de tres puntos), o se ha vuelto inactivo hace un breve periodo de tiempo (por ejemplo tiene menos de tres fotogramas);
2) La menor de las distancias desde el centro de la detección 58 a los últimos dos puntos del rastro 76 es menor que dos tercios del intervalo de búsqueda de detección especificado cuando el rastro 76 no se ha movido muy lejos (por ejemplo el tramo del rastro 76 es menor que el tamaño mínimo de la cabeza humana especificado y el rastro 76 tiene más de 3 puntos);
3) si la detección 58 está en el segundo plano, la altura máxima de la detección 58 debe ser mayor o igual que la altura mínima de persona especificada;
4) si la detección 58 no está el segundo plano ni cerca de zonas muertas o los límites del mapa de altura, y el rastro 76 no está en el segundo plano ni con ruido en el fotograma anterior, y una primera distancia de la detección 58 a la posición prevista del rastro 76 es menor que una segunda distancia de la detección 58 a la posición final del rastro 76, usar la primera distancia como la distancia coincidente. De otra manera, usar la segunda distancia como la distancia coincidente. La distancia coincidente tiene que ser menor que el intervalo de búsqueda de detección especificado;
5) La diferencia entre la altura máxima de la detección 58 y el punto de región de altura del rastro 76 debe ser menor que la diferencia máxima de altura especificada; y
6) si cualquiera del último punto fuera del rastro 76 o la detección 58 están en el segundo plano, o la detección 58 está cerca de zonas muertas o los límites del mapa de altura, la distancia desde el rastro 76 a la detección 58 debe ser menor que el intervalo de búsqueda de detección de segundo plano especificado, que en general es menor que el umbral usado en la condición (4).
Ordenar la lista de candidatos en términos de la distancia desde la detección 58 al rastro 76 o la diferencia de altura entre la detección 58 y el rastro 76 (si la distancia es la misma) en orden ascendente.
La lista ordenada contiene pares de detecciones 58 y rastros 76 que no están emparejados. Marchar a través de la lista ordenada total desde el comienzo y comprobar cada par. Si cualquiera de la detección 58 o el rastro 76 del par ya está marcado "emparejado", ignorar el par. De otra manera, marcar la detección 58 y el rastro 76 del par como "emparejados". [0144] 2.2.7 Búsqueda de ubicación subóptima para rastros desemparejados
Debido a la naturaleza dispersa del mapa de disparidad 50 y el mapa de altura 56, algunos objetos humanos pueden no generar máximos locales en el mapa de altura 56 y por lo tanto pueden perderse en el proceso de detección de objeto 108. Además, los máximos locales deseados pueden suprimirse por un máximo local superior vecino de un objeto más alto. Por lo tanto, algunos rastros de objeto humano 76 pueden no siempre tener un máximo local correspondiente en el mapa de altura 56. Esta fase intenta resolver este problema buscando una ubicación subóptima para un rastro 76 que no tiene máximo local correspondiente en el mapa de altura 56 en el tiempo actual. Los rastros 76 que ya se han emparejado con una detección 58 en la fase anterior pueden ir a través de esta fase también para ajustar sus ubicaciones si la distancia desde el extremo de estos rastros a sus detecciones emparejadas es mucho mayor que sus etapas en el pasado. En la siguiente descripción, el rastro 76 que experimenta actualmente esta fase se denomina rastro A. La búsqueda se realiza en las siguientes etapas.
En primer lugar, haciendo referencia a la Figura 7, si se considera el rastro A no adecuado para la operación de búsqueda de ubicación subóptima (es decir, está inactivo, o está en el segundo plano, o está cerca del límite del mapa de altura 56 o de las zonas muertas, o su altura en el último fotograma era menor que la altura mínima de la persona (bloque 184)), detener el proceso de búsqueda y salir. De otra manera, continuar a la siguiente etapa.
En segundo lugar, si el rastro A se ha movido unos pocos pasos (bloque 200) (por ejemplo, tres pasos) y está emparejado con una detección (denominada la Detección A) (bloque 186) que no está en el segundo plano y cuyo paso actual es mucho mayor que su paso de movimiento máximo dentro de un periodo de tiempo en el pasado especificado por un parámetro de tiempo de espera de rastro (bloque 202, 204), continuar a la siguiente etapa. De otra manera, detener el proceso de búsqueda y salir.
En tercer lugar, buscar alrededor del punto final del rastro A en un intervalo definido por sus etapas máximas en movimiento para una ubicación con la suma de altura más grande en una ventana predefinida y llamar esta ubicación mejor punto A (bloque 188). Si hay algunas detecciones 58 borradas en el proceso de fusión de detecciones ubicadas de manera estrecha en la fase de detección del objeto y el rastro A es largo en cualquiera del dominio espacial o el dominio temporal (por ejemplo el tramo del rastro A es mayor que el umbral de tramo de rastro con ruido especificado, o el rastro A tiene más de tres fotogramas) (bloque 190), hallar también el más cercano al punto final del rastro. Si su distancia al punto final del rastro A es menor que el intervalo de búsqueda de detección especificado (bloque 206), buscar alrededor del componente borrado para la posición con la suma de altura más grande y llamarlo mejor punto AI (bloque 208). Si no existe ninguno del mejor punto A ni el mejor punto AI, detener el proceso de búsqueda y salir. Si existen tanto el mejor punto A como el mejor punto AI, elegir el de mayor suma de altura. El mejor punto seleccionado se denomina ubicación subóptima para el rastro A. Si la altura máxima en la ubicación subóptima es mayor que la altura máxima de la persona predefinida (bloque 192), detener la búsqueda y salir. Si no hay detección actual alrededor de la ubicación subóptima (bloque 194), crear una nueva detección 58 (bloque 214) en la ubicación subóptima y detener la búsqueda. De otra manera, hallar la detección más cercana 58 a la ubicación subóptima y llamarla la detección B (bloque 196). Si la detección B es la misma detección que la detección A en la etapa 2 (bloque 198), actualizar la posición de la detección A con la ubicación subóptima (bloque 216) y salir de la búsqueda. De otra manera, continuar a la siguiente etapa.
En cuarto lugar, haciendo referencia a la Figura 8, si la detección B no se ha emparejado aún con un rastro 76 (bloque 220), continuar a la siguiente etapa. De otra manera, llamar el rastro emparejado de la detección B como el rastro B y realizar una de las siguientes operaciones en el orden dado antes de salir de la búsqueda:
1) cuando la ubicación subóptima para el rastro A y la detección B son desde el mismo componente padre (por ejemplo en el soporte del mismo componente de primera pasada) y la distancia entre el rastro A y la detección B es menor que la mitad de la anchura de persona máxima especificada, crear una nueva detección 58 en la ubicación subóptima (bloque 238) si se cumplen todas las siguientes tres condiciones: (i) la diferencia entre las alturas máximas en la ubicación subóptima y la detección B es menor que un intervalo de error de altura de persona especificado; (ii) la diferencia entre las sumas de altura en las dos ubicaciones es menor que la mitad de la mayor; (iii) la distancia entre ellas es mayor que el intervalo de búsqueda de detección especificado y los valores trk_range de tanto el rastro A como el rastro rack B son mayores que el desplazamiento de rastro con ruido especificado. De otra manera, ignorar la ubicación subóptima y salir;
2) Si la distancia entre la ubicación subóptima y la detección B es mayor que el intervalo de búsqueda de detección especificado, crear una nueva detección 58 en la ubicación subóptima y salir;
3) si el rastro A no es dimensionable tanto en los dominios temporal como espacial (bloque 226), ignorar la ubicación subóptima;
4) si el rastro B no es dimensionable tanto en el dominio temporal como espacial (bloque 228), desconectar el rastro B de la detección B y actualizar la posición de la detección B con la ubicación subóptima (bloque 246). Marcar la detección B como la detección más cerca del rastro A;
5) Buscar el mejor punto para el rastro B alrededor de su posición final (bloque 230). Si la distancia entre el mejor punto para el rastro B y la ubicación subóptima es menor que el intervalo de búsqueda de detección especificado (bloque 232) y el mejor punto para el rastro B tiene una suma de altura mayor, sustituir la ubicación subóptima con el mejor punto para el rastro B (bloque 233). Si la distancia entre medias es mayor que el intervalo de búsqueda de detección especificado, crear una detección 58 en el mejor punto para el rastro B (bloque 250). Actualizar la ubicación de la detección de A con la ubicación subóptima si existe la detección A.
En quinto lugar, si la ubicación subóptima y la detección B no están en el soporte del mismo componente de primera pasada, continuar a la siguiente etapa. De otra manera crear una nueva detección en la ubicación subóptima si su distancia es mayor que la mitad de la anchura máxima de la persona especificada, o ignorar la ubicación subóptima y marcar la detección B como la dirección más cerca del rastro A de otra manera.
Finalmente, crear una nueva detección 58 en ubicación subóptima y marcar la detección B como la detección más cerca del rastro A (bloque 252) si su distancia es mayor que el intervalo de búsqueda de detección especificado. De otra manera, actualizar la posición final del rastro de A con la ubicación subóptima (bloque 254) si la suma de altura en la ubicación subóptima es mayor que la suma de altura en la detección B, o de otra manera marcar la detección Bas de la detección más cerca del rastro de A.
2.2.8 Coincidencia de segunda pasada entre rastros y detecciones
Después de la fase anterior, pueden añadirse unas pocas nuevas detecciones y algunas detecciones 72 y rastros 76 emparejados se vuelven desemparejados de nuevo. Estas fase busca la coincidencia óptima entre las detecciones 72 y rastros 76 desemparejados actuales como en las siguientes etapas.
Para cualquier par del rastro 76 y detección 58 que permanece desemparejado, poner el par en una lista de candidatos si se cumplen todas las siguientes cinco condiciones:
1) el rastro 76 está activo (bloque 262 en la Figura 9);
2) la distancia desde la detección 58 al punto final del rastro 76 (bloque 274) es menor que dos tercios del intervalo de búsqueda de detección especificado (bloque 278) cuando el rastro no se mueve demasiado lejos (por ejemplo el tramo del rastro 76 es menor que el tamaño mínimo de la cabeza y el rastro 76 tiene más de tres puntos (bloque 276));
3) si la detección 58 está en el segundo plano (bloque 280), la altura máxima de la detección 58 debe ser mayor o igual que la altura mínima de persona especificada (bloque 282);
4) la diferencia entre la altura máxima y la altura del último punto del rastro 76 es menor que la diferencia máxima de la altura especificada (bloque 284);
5) la distancia desde la detección 58 al rastro 76 debe ser menor que el segundo rango de búsqueda de detección de segundo plano detectado, si cualquiera del último punto del rastro 76 o la detección 58 están en segundo plano (bloque 286), o la detección 58 está cerca de zonas muertas o límites de mapa de altura (bloque 288); o si no, la distancia desde la detección 58 al rastro 76 debe ser menor que el intervalo de búsqueda de detección especificado (bloque 292).
Ordenar la lista de candidatos en términos de la distancia desde la detección 58 al rastro 76 o la diferencia de altura entre los dos (si la distancia es la misma) en orden ascendente (bloque 264).
La lista ordenada contiene pares de detecciones 58 y rastros 76 que no están emparejados en el comienzo. A continuación marchar a través de la lista ordenada total desde el par comienzo y comprobar cada par. Si cualquiera de la detección 58 o el rastro 76 del par ya está marcado "emparejado", ignorar el par. De otra manera, marcar la detección 58 y el rastro 76 del par como "emparejados" (bloque 270).
2.2.9 Actualización o creación de rastro
Después de la segunda pasada de la coincidencia, se realizan las siguientes etapas para actualizar rastros antiguos o para crear nuevos rastros:
En primer lugar, haciendo referencia a la Figura 10, para cada conjunto de rastro 76 y detección 58 emparejados se actualiza el rastro 76 con la información de la detección 58 (bloque 300, 302).
En segundo lugar, crear un nuevo rastro 80 para cada detección 58 que no coincide con el rastro 76 si la altura máxima de la detección 58 es mayor que la altura de persona mínima especificada, y la distancia entre la detección 58 y el rastro más cercano 76 de la detección 58 es mayor que el intervalo de búsqueda de detección especificado (bloque 306, 308). Cuando la distancia es menor que el intervalo de fusión de detección especificado y la detección 58 y el rastro más cercano 76 están en el soporte del mismo componente de primera pasada (es decir, la detección 58 y el rastro 76 provienen del mismo componente de primera pasada), establecer el trkJastCollidingTrack del rastro más cercano 76 al ID del rastro nuevamente creado 80 si hay uno (bloque 310, 320).
En tercer lugar, marcar cada rastro desemparejado 77 como inactivo (bloque 324). Si ese rastro 77 tiene una detección más cercana marcada y la detección 58 tiene un rastro emparejado 76, establecer la propiedad de trkJastCollidingTrack del rastro actual 77 al ID de rastro del rastro emparejado 76 (bloque 330).
En cuarto lugar, para cada rastro activo 88, buscar el rastro más cercano 89 en movimiento en las direcciones que están como mucho a treinta grados de la dirección del rastro activo 88. Si existe el rastro más cercano 89, el rastro 88 se considera como seguido más estrechamente por otro rastro, y se actualizan las propiedades relacionadas con la "prueba del carrito de la compra" del rastro 88 para preparar la ' 'prueba del carrito de la compra" cuando el rastro 88 va a borrarse más tarde (bloque 334).
Finalmente, para cada rastro activo 88, buscar el rastro más cercano 89. Si la distancia entre los dos es menor que la anchura de persona máxima especificada y cualquiera del rastro 88 tiene una detección más cercana marcada o su altura es menor que la altura de persona mínima especificada, el rastro 88 se considera como un rastro falso menos fiable. Actualizar las propiedades relacionadas con "rastro falso" para preparar la prueba de "falso rastro" más tarde cuando el rastro 88 va a borrarse más tarde (bloque 338).
Como resultado, todos los rastros existentes 74 están extendidos o marcados como inactivos, y se crean nuevos rastros 80.
2.2.10 Análisis de rastro
El análisis de rastro se aplica cada vez que va a borrarse el rastro 76. El rastro 76 se borrará cuando no se empareja con alguna detección durante un periodo de tiempo especificado. Esto podría ocurrir cuando un objeto humano se mueve fuera de la visión de campo 44, o cuando se interrumpe el rastro 76 debido a condiciones de reconstrucción de mapa de disparidad pobres tales como contraste muy bajo entre el objeto humano y el segundo plano.
El objetivo del análisis de rastro es hallar aquellos rastros que son probablemente continuaciones de algunos rastros que van a borrarse pronto, y fusionarlos. El análisis de rastro se inicia desde el rastro más antiguo y puede aplicarse recursivamente en rastros nuevamente fusionados hasta que no puedan fusionarse adicionalmente rastros. En la siguiente descripción, el rastro que va a borrarse se llama un rastro de semilla, mientras que otros rastros se referencian como rastros actuales. Las etapas del análisis de rastro son como sigue:
En primer lugar, si el rastro de semilla era con ruido cuando estaba activo (bloque 130 en la Figura 6), o su trkrange es menor que un tramo de rastro de fusión especificado (bloque 132), o su trkJastCollidingTrack no contiene un ID de rastro válido y se creó en menos de un periodo de tiempo de rastro de fusión especificado antes (bloque 134), detener y salir del proceso de análisis de rastro.
En segundo lugar, examinar cada rastro activo que se creó antes del periodo de tiempo de rastro de fusión especificado y fusionar un rastro activo con el rastro de semilla si la operación de predicado "es el mismo rastro" en el rastro activo (bloque 140) se vuelve verdadera.
En tercer lugar, si el rastro actual satisface todas las tres siguientes condiciones de prueba iniciales, continuar a la siguiente etapa. De otra manera, si existe un rastro de mejor ajuste (los criterios de definición y búsqueda para el rastro de mejor ajuste se describirá en etapas posteriores), fusionar el rastro de mejor ajuste con el rastro de semilla (bloque 172, 176). Si no hay rastro de mejor ajuste, mantener el rastro de semilla si el rastro de semilla se ha fusionado con al menos un rastro en esta operación (bloque 178), o borrar el rastro de semilla (bloque 182) de otra manera. A continuación, salir del análisis de rastro.
Las condiciones de prueba iniciales usadas en esta etapa son: (1) el rastro actual no se marca para borrado y está activo con la suficiente duración (por ejemplo más de tres fotogramas) (bloque 142); (2) el rastro actual es continuo con el rastro de semilla (por ejemplo se creó dentro de un tiempo de espera de rastro máximo especificado del punto final del rastro de semilla) (bloque 144); (3) si ambos rastros están cerca en el espacio (por ejemplo, las propiedades de trkrange de ambos rastros son menores que el umbral de longitud de rastro con ruido), a continuación ambos rastros deberían moverse en la misma dirección de acuerdo con el desplazamiento relativo de las propiedades trk_start y trk_end de cada rastro (bloque 146).
En cuarto lugar, fusionar el rastro de semilla y el rastro actual (bloque 152). Volver a la última etapa si el rastro actual ha colisionado con el rastro de semilla (es decir, el trkJastCollidingTrack del rastro actual es el trk_ID del rastro de semilla). De otra manera, continuar a la siguiente etapa.
En quinto lugar, continuar con la siguiente etapa si se cumplen las siguientes dos condiciones al mismo tiempo, de otra manera volver a la etapa 3: (1) si cualquier rastro está en los límites de acuerdo con la comprobación "está en el límite" (bloque 148), ambos rastros deben moverse en la misma dirección; y (2) al menos un rastro no es con ruido en el momento de fusión (bloque 150). La condición con ruido se determina por el operador de predicado "es con ruido".
En sexto lugar, uno de los dos umbrales siguientes se usa en comprobación de distancia. Un primer umbral (bloque 162) se especifica para rastros normales y limpios, y un segundo umbral se especifica para rastros con ruido o rastros en segundo plano. El segundo umbral (bloque 164) se usa si cualquiera del rastro de semilla o el rastro actual es poco fiable (por ejemplo en los límites, o algún rastro es con ruido, o trkranges de ambos rastros son menores que el umbral de longitud de rastro con ruido especificado y al menos un rastro está en el segundo plano) (bloque 160), de otra manera se usa el primer umbral. Si la distancia más corta entre los dos rastros durante su tiempo solapante es menor que el umbral (bloque 166), marcar el rastro actual como el rastro de mejor ajuste para el rastro de semilla (bloque 172) y si el rastro de semilla no tiene el rastro de mejor ajuste aún o el rastro actual está más cerca del rastro de semilla que el rastro de mejor ajuste existente (bloque 170). Ir a la etapa 3.
2.2.11 Fusión de los rastros
Esta operación fusiona dos rastros en un rastro y asigna el rastro fusionado con propiedades derivadas de los dos rastros. La mayoría de las propiedades del rastro fusionado son la suma de las propiedades correspondientes de los dos rastros pero con las siguientes excepciones:
Haciendo referencia a la Figura 11, las propiedades de trk_enters y trk_exits del rastro fusionado son la suma de las correspondientes propiedades de los rastros más los recuentos provocados por el cruce de zona desde el rastro de punto de zona final al punto de inicio de otro rastro, que compensa el cruce de zona perdida en el hueco de tiempo entre los dos rastros (bloque 350).
Si un punto en el tiempo tiene múltiples posiciones después de la fusión, la posición final es el promedio (bloque 352).
La propiedad trk_start del rastro fusionado tiene el mismo valor trk_start que el rastro más nuevo entre los dos rastros que se están fusionando, y la propiedad trk_end del rastro fusionado tiene el mismo valor trk_end que el rastro más antiguo entre los dos (bloque 354).
Las alturas sin procesar almacenadas en memoria intermedia y las posiciones sin procesar de los rastros fusionados son las alturas sin procesar almacenadas en memoria intermedia y las posiciones sin procesar del rastro más antiguo entre los dos rastros que se están fusionando (bloque 356).
Como se muestra en la Figura 13, puede emplearse una realización alternativa de la presente invención y puede comprender un sistema 210 que tiene un dispositivo de captura de imágenes 220, un dispositivo lector 225 y un sistema de recuento 230. En la realización ilustrada, el al menos un dispositivo de captura de imágenes 220 puede montarse por encima de una entrada o entradas 221 a una instalación 223 para capturar imágenes de la entrada o entradas 221. El área capturada por el dispositivo de captura de imágenes 220 es el campo de visión 244. Cada imagen capturada por el dispositivo de captura de imágenes 220, junto con el tiempo cuando se captura la imagen, es un fotograma 248. Como se ha descrito anteriormente con respecto al dispositivo de captura de imágenes 20 para la realización anterior de la presente invención, el dispositivo de captura de imágenes 220 puede ser basado en vídeo. La manera en la que se capturan los datos de objeto no se pretende que sea limitante siempre que el dispositivo de captura de imágenes 220 tenga la capacidad para rastrear objetos en el tiempo a través de un campo de visión 244. Los datos de objeto 261 pueden incluir muchos diferentes tipos de información, pero para los fines de esta realización de la presente invención, incluyen información indicativa de un fotograma de inicio, un fotograma de finalización y dirección.
Para fines ejemplares, el dispositivo de captura de imágenes 220 puede incluir al menos una cámara estéreo con dos o más sensores de vídeo 246 (similares al dispositivo de captura de imágenes mostrado en la Figura 2), que permite que la cámara simule la visión binocular humana. Un par de imágenes estéreo comprenden fotogramas 248 tomados por cada sensor de vídeo 246 de la cámara. El dispositivo de captura de imágenes 220 convierte imágenes de luz a señales digitales a través de las cuales el dispositivo 220 obtiene fotogramas sin procesar digitales 248 que comprenden píxeles. Los tipos de dispositivos de captura de imágenes 220 y los sensores de vídeo 246 no deben considerarse limitantes, y puede adoptarse cualquier dispositivo de captura de imágenes 220 y sensor de vídeo 246 compatible con el presente sistema.
Para capturar datos de etiqueta 226 asociados con etiquetas de RFID, tales como etiquetas de nombre que pueden llevarse por un empleado o etiquetas de producto que podrían fijarse a pallets de productos, el dispositivo lector 225 puede emplear etiquetas de RFID activas 227 que transmiten su información de etiqueta a un intervalo de tiempo fijado. El intervalo de tiempo para la presente invención estará típicamente entre 1 y 10 veces por segundo, pero debe ser evidente que pueden usarse también otros intervalos de tiempo. Además, las técnicas para transmitir y recibir señales de RFID son bien conocidas por los expertos en la materia, y pueden emplearse diversos métodos en la presente invención sin alejarse de las enseñanzas en el presente documento. Una etiqueta de RFID activa es una que está auto-alimentada, es decir, no se alimenta por la energía de RF que se transmite por el lector. Para asegurar que se capturan todas las etiquetas de RFID 227, el dispositivo lector 225 puede ejecutarse continua e independientemente de los otros dispositivos y sistemas que forman el sistema 210. Debe ser evidente que el dispositivo lector 225 puede sustituirse por un dispositivo que usa otros tipos de etiquetas de RFID o tecnología similar para identificar objetos, tales como RFID pasiva, tecnología ultrasónica o de infrarrojos. Es significativo, sin embargo, que el dispositivo lector 225 tiene la capacidad de detectar etiquetas de RFID, u otros dispositivos similares, en tiempo a través de un campo de visión 228 para el dispositivo lector 225. El área capturada por el dispositivo lector 225 es el campo de visión 228 y se prefiere que el campo de visión 228 para el dispositivo lector 225 esté completamente dentro del campo de visión 244 para el dispositivo de captura de imágenes 220.
El sistema de recuento 230 procesa fotogramas sin procesar digitales 248, detecta y sigue objetos 258, y genera rastros asociados con los objetos 258 de una manera similar como el sistema de recuento 30 anteriormente descrito. El sistema de recuento 230 puede estar conectado electrónica o inalámbricamente a al menos un dispositivo de captura de imágenes 220 y a al menos un dispositivo lector 225 mediante una red de área local o de área extensa. Aunque el sistema de recuento 230 en la presente invención está ubicado de manera remota como parte de un servidor central, debe ser evidente para los expertos en la materia que todo o parte del sistema de recuento 230 puede (i) estar formado como parte del dispositivo de captura de imágenes 220 o el dispositivo lector 225, (ii) estar almacenado en una red de "informática en la nube", o (iii) estar almacenado de manera remota del dispositivo de captura de imágenes 220 y dispositivo lector 225 empleando otras técnicas de procesamiento distribuido. Además, el lector de RFID 225, el dispositivo de captura de imágenes 220, y el sistema de recuento 230 pueden todos estar integrados en un único dispositivo. Este dispositivo unitario puede instalarse en cualquier parte por encima de la entrada o entradas a una instalación 223. Debería entenderse, sin embargo, que el hardware y metodología que se usan para detectar y rastrear objetos no está limitado con respecto a esta realización de la presente invención. En su lugar, es únicamente importante que se detecten y rastreen objetos y los datos asociados con objetos 258 y se usen rastros en combinación con datos de etiqueta 226 del dispositivo lector 225 para contar de manera separada y rastrear objetos anónimos 320 y objetos definidos 322, que están asociados con una etiqueta de RFID 227.
Para transmitir datos de etiqueta 226 del dispositivo lector 225 a un sistema de recuento 230, el dispositivo lector 225 puede estar conectado directamente al sistema de recuento 230 o el dispositivo lector 225 puede estar conectado de manera remota mediante una red de comunicaciones inalámbrica o alámbrica, como es conocido en general en la industria. También es posible que el dispositivo lector 225 pueda enviar datos de etiqueta al dispositivo de captura de imágenes, que a su vez transmite los datos de etiqueta 226 al sistema de recuento 230. Los datos de etiqueta 226 pueden estar comprendidos de diversa información, pero para fines de la presente invención, los datos de etiqueta 226 incluyen información de identificador, información de intensidad de señal e información de intensidad de batería.
Para permitir que el sistema de recuento 230 procese datos de tráfico 260, pueden extraerse datos de etiqueta 226 y datos de objeto 261 desde el dispositivo lector 225 y el dispositivo de captura de imágenes 220 y transmitirse al sistema de recuento 230. También es posible que el dispositivo lector 225 y el dispositivo de captura de imágenes 220 envíen los datos de etiqueta 226 y datos de objeto 261, respectivamente, al sistema de recuento 230. Debe ser evidente que los datos de tráfico 260, que consisten tanto en los datos de etiqueta 226 como los datos de objeto 261, pueden transmitirse también al sistema de recuento mediante otros medios sin alejarse de las enseñanzas de esta invención. Los datos de tráfico 260 pueden enviarse como una combinación de tanto los datos de etiqueta 226 como los datos de objeto 261 y los datos de tráfico 260 pueden organizarse basándose en el tiempo.
El sistema de recuento 230 separa los datos de tráfico 260 en datos de etiqueta 226 y datos de objeto 261. Para procesar adicionalmente los datos de tráfico 260, el sistema de recuento 230 incluye un módulo de escucha 310 que convierte los datos de etiqueta 226 en registros de secuencia 312 y los datos de objeto 261 en registros de rastro 314. Además, el sistema de recuento 230 crea una serie de secuencias 352 comprendida de todos los registros de secuencia 312 y una serie de rastros 354 comprendida de todos los registros de rastro 314. Cada registro de secuencia 312 puede consistir en (1) un ID de etiqueta 312a, que puede ser un número entero sin signo asociado con una etiqueta de RFID física 227 ubicada en el campo de visión 228 de un dispositivo lector 220; (2) un tiempo de inicio 312b, que puede consistir en información indicativa de un tiempo cuando se detectó en primer lugar la etiqueta de RFID 227 dentro del campo de visión 228; (3) un tiempo final, que puede consistir en información indicativa de un tiempo cuando se detectó por último lugar la etiqueta de RFID 227 dentro del campo de visión 228 del dispositivo lector 220; y (4) una serie de referencias a todas las pistas que solapan un registro de secuencias particular 312. Cada registro de rastro 314 puede incluir (a) un contador, que puede ser un ID único representativo de un dispositivo de captura de imágenes 220 asociado con el respectivo rastro; (b) una dirección, que puede consistir en información que es representativa de la dirección de movimiento para el respectivo rastro; (c) tiempo de inicio, que puede consistir en información indicativa de un tiempo cuando se detectó en primer lugar el objeto de interés dentro del campo de visión 244 del dispositivo de captura de imágenes 220; (d) tiempo final, que puede consistir en información indicativa de un tiempo cuando el objeto de interés deja el campo de visión 244 del dispositivo de captura de imágenes 220; y (e) el ID de etiqueta, que (si es distinto de cero) puede incluir un número entero sin signo que identifica una etiqueta 227 asociada con este registro de rastro 314.
Para separar y rastrear objetos anónimos 320, tales como compradores o clientes, y objetos definidos 322, tales como empleados y productos, el sistema de recuento 220 para el sistema debe determinar qué registros de rastro 314 y registros de secuencia 312 coinciden entre sí y a continuación el sistema de recuento 220 puede restar los registros de rastro coincidentes 312 de su consideración, que significa que los registros de rastro restantes (no coincidentes) 314 se refieren a objetos anónimos 320 y los registros de rastro 312 que coinciden con registros de secuencia 314 se refieren a objetos definidos 322.
Para hacer coincidir registros de rastro 314 y registros de secuencia 312, el sistema de recuento 220 determina en primer lugar qué registros de rastro 314 solapan con registros de secuencia 312 particulares. A continuación el sistema de recuento 220 crea una serie comprendida de registros de rastro 312 y registros de secuencia 314 que solapan, que es conocido como un registro coincidente 316. En la etapa final, el sistema de recuento 220 itera a través de los registros 312, 314 en el registro coincidente 316 y determina qué registros de secuencia 312 y registros de rastro 314 coinciden mejor entre sí. Basándose en la mejor determinación de coincidencia, el respectivo registro de rastro 314 y registro de secuencia 312 coincidentes pueden retirarse del registro coincidente 316 y el sistema de recuento se moverá a continuación de manera iterativa al siguiente registro de secuencia 312 para hallar la mejor coincidencia para ese registro de secuencia 312 hasta que todos los registros de secuencia 312 y registros de rastro 314 en el registro coincidente 316 tengan coincidencias, o se determina que no existe coincidencia.
Las etapas para determinar qué registros de secuencia 312 y registros de rastro 314 solapan se muestran en la Figura 15. Para determinar qué registros 312, 314 solapan, el sistema de recuento 220 interna a través de cada registro de secuencia 312 en la serie de secuencias 352 para hallar qué registros de rastro solapan con unos registros de secuencia particulares 312; el término "solapa" se refiere en general a registros de rastro 314 que tienen tiempos de inicio que están dentro de una ventana definida por el tiempo de inicio y tiempo final de unos registros de secuencia particulares 312. Por lo tanto, para cada registro de secuencia 312, el sistema de recuento 230 también itera a través de cada registro de rastro 314 en la serie de rastros 354 y añade una referencia al respectivo registro de secuencia 312 indicativa de cada registro de rastro 314 que solapa ese registro de secuencia 314. Inicialmente, los registros de secuencia tienen valores nulos para solapar registros de rastro 314 y los registros de rastro tienen campos de ID de etiqueta establecidos a cero, aunque estos valores se actualizan a medida que se hallan registros solapantes 312, 314. La iteración a través de la serie de rastros 254 se detiene cuando se alcanza un registro de rastro 314 que tiene un tiempo de inicio para el registro de rastro 314 que supera el tiempo final del registro de secuencia 312 en cuestión.
Para crear una serie de registros "solapados" 312, 314 conocidos como registros coincidentes 316, el sistema de recuento 230 itera a través de la serie de secuencias 352 y para cada registro de secuencia 312a, el sistema de recuento 230 compara los registros de rastro 314a que solapan con ese registro de secuencia 312a a los registros de rastro 314b que solapan con el siguiente registro de secuencia 312b en la serie de secuencias 352. Como se muestra en la Figura 16, un registro coincidente 316 se crea a continuación para cada grupo de registros de secuencia 312 cuyos registros de rastro 314 solapan. Cada registro coincidente 316 está en una serie de referencias para todos los registros de secuencia 312 cuyos registros de rastro asociados 314 solapan entre sí y los registros de secuencia 312 están dispuestos en orden de tiempo de inicio más anterior a más último.
La etapa final en registros de secuencia coincidentes 312 y registros de rastro 314 incluye la etapa de determinación de qué registros de secuencia 312 y registros de rastro 314 son la mejor coincidencia. Para registros óptimamente coincidentes 312, 314, el sistema de recuento 230 debe considerar el historial de dirección en una base por etiqueta 227, es decir, mapeando entre el ID de etiqueta y la siguiente dirección coincidente esperada. El historial inicial al inicio de un día (o turno de trabajo) es configurable ya sea "dentro" o "fuera", que corresponde a empleados que ponen inicialmente sus credenciales o etiquetas de nombre fuera o dentro del área monitorizada.
Para registros óptimamente coincidentes 312, 314, puede crearse una estructura de datos de mapa de dos niveles, denominada como un marcador 360. El marcador 360 tiene un nivel superior o mapa de secuencia 362 y un nivel inferior o mapa de rastro 364. Cada nivel 362, 364 tiene claves 370, 372 y valores 374, 376. Las claves 370 para el nivel superior 362 son referencias a la serie de secuencias 352 y los valores 374 son los mapas para el nivel inferior 364. Las claves para el nivel inferior 364 son referencias a la serie de rastros 354 y los valores 376 son puntuaciones de calidad coincidentes 380. Como se ejemplifica en la Figura 17, las puntuaciones de calidad coincidentes se determinan usando el siguiente algoritmo.
1) Determinar si la dirección esperada para el registro de secuencia es la misma que la dirección esperada para el registro de rastro. Si son iguales, el MULTIPLICADOR se establece a 10. De otra manera, el MULTIPLICADOR se establece a 1.
2) Calcular el porcentaje de solapamiento entre el registro de secuencia 312 y el registro de rastro 314 como un número entero entre 0 y 100 usando la fórmula:
SOLAPAMIENTO = (tiempo final más anterior - tiempo de inicio más tarde)/(tiempo final más tarde-tiempo de inicio más anterior)
Si SOLAPAMIENTO es <0, entonces establecer el SOLAPAMIENTO a 0.
3) Calcular la puntuación de calidad coincidente usando la siguiente fórmula:
PUNTUACIÓN = SOLAPAMIENTO x MULTIPLICADOR
El sistema de recuento 230 rellena el marcador 360 iterando a través de los registros de secuencia 312 que rellenan la serie de secuencias 352 referenciada por el nivel superior 372 y para cada uno de los registros de secuencia 312, el sistema de recuento 230 también itera a través de los registros de rastro 314 que rellenan la serie de rastros 354 referenciada por el nivel inferior 374 y genera puntuaciones de calidad coincidentes 380 para cada uno de los registros de rastro 314. Como se ejemplifica en la Figura 18A, una vez que las puntuaciones de calidad coincidentes 380 se generan e insertan como valores 376 en el nivel inferior 364, cada puntuación de calidad coincidente 380 para cada registro de rastro 314 se compara con un valor de mejor puntuación y si la puntuación de calidad coincidente 380 es mayor que el valor de mejor puntuación, el valor de mejor puntuación se actualiza para reflejar la puntuación de calidad de coincidencia superior 380. La referencia de mejor rastro también se actualiza para reflejar el registro de rastro 314 asociado con el valor de mejor puntuación más superior.
Como se muestra en la Figura 18B, una vez que se determina el mejor rastro para la primera secuencia en el registro coincidente, el sistema de recuento 230 itera a través de las claves 370 para el nivel superior 372 para determinar la mejor secuencia, que refleja el registro de secuencia 312 que mantiene la mejor coincidencia para el mejor rastro, es decir, la combinación de registro de secuencia/registro de rastro con la puntuación de calidad coincidente más alta 380. Los valores de mejor puntuación y mejor secuencia se actualizan para reflejar esta determinación. Cuando se han generado los valores de mejor rastro y mejor secuencia, el registro de secuencia 312 asociado con la mejor secuencia se borra del marcador 360 y el valor de mejor rastro se establece a 0 en todas las claves restantes 372 para el nivel inferior 364. El sistema de recuento 230 continúa para evaluar los registros de secuencia 312 restantes y registros de rastro 314 que componen los niveles superior e inferior 362, 364 del marcador 360 hasta que todos los registros de secuencia 312 y registros de rastro 314 que rellenan el registro coincidente 316 se han hecho coincidir y retirado del marcador 360, o hasta que todos los registros de secuencia 312 restantes tienen puntuaciones de calidad coincidentes 380 que son menores o iguales a 0, es decir, no quedan coincidencias para que se hallen. Como se muestra en la Tabla 1, la información relacionada con los registros de secuencia coincidentes 312 y registros de rastro 314 puede usarse para preparar informes que permiten que los empleados rastreen, entre otras cosas, (i) cuántas veces un empleado entra o sale de un punto de acceso; (ii) cuántas veces un empleado entra o sale de un punto de acceso con un cliente u objeto anónimo 320; (iii) la duración de tiempo que un empleado o un objeto definido 322 pasa en el exterior; y (iv) cuántas veces un cliente entra o sale de un punto de acceso. Esta información puede usarse también para determinar frecuencias de conversión y otras métricas "Y si' que se refieren a la cantidad de interacción que tienen los empleados con los clientes. Por ejemplo, como se muestra en la Tabla 2, el sistema 210 definido en el presente documento puede permitir que los empleados calculen, entre otras cosas: (a) frecuencias de captura de probador; (b) frecuencias de conversión de entrada; (c) relaciones de tráfico de empleado a probador; y (d) los dólares promedio gastados. Estas métricas también pueden extrapolarse para pronosticar cambios de ventas de porcentaje que pueden resultar de aumentos a la frecuencia de captura de probador, como se muestra en la Tabla 3.
En algunos casos, puede haber más de un contador 222, que consiste en la combinación tanto del dispositivo de captura de imágenes 220 como del dispositivo lector 225, para cubrir múltiples puntos de acceso. En este caso, se generarán series de secuencias 352 separadas y series de rastros 354 para cada uno de los contadores 222. Además, puede generarse una serie de coincidencias 318 y puede comprender cada uno de los registros coincidentes 316 asociados con cada uno de los contadores 222. Para hacer coincidencias óptimas, debe compartirse el historial de etiquetas entre todos los contadores 222. Esto puede manejarse fusionando, en un orden ordenado en tiempo, todos los registros coincidentes en la serie de coincidencias 318 y usando una única estructura de mapa de historial, que se entiende en general por los expertos en la materia. Cuando se hacen coincidencias dentro de la serie de coincidencias 318, la coincidencia se refleja en la serie de rastros 354 asociados con un contador específico 222 usando la serie de secuencias 352 asociadas con el mismo contador 222. Esto puede conseguirse en parte usando un campo de ID de contador como parte de los registros de rastro 314 que componen la serie de rastros 354 referenciados por el nivel inferior 364 del marcador 360. Por ejemplo, las referencias a las series de rastros 354 puede añadirse a una serie de rastros total 356 e indexarse por ID de contador. Las series de secuencias 352 se majarían de la misma manera.
Como se muestra en la Figura 19, puede emplearse una realización adicional de la presente invención y puede comprender un sistema 1210 que tiene uno o más sensores 1220, un dispositivo de captura de datos 1225 y un sistema de recuento 1230. En la realización ilustrada, el sensor o sensores 1220 pueden ser dispositivos de captura de imágenes y pueden montarse por encima de una entrada o entradas 1221 a una instalación 1223 para capturar imágenes de la entrada o entradas 1221 y datos de objeto 1261. El área capturada por el sensor 1220 es un campo de visión 1244. Cada imagen capturada por el sensor 1220, junto con el tiempo cuando se captura la imagen, es un fotograma 1248. Como se ha descrito anteriormente con respecto al dispositivo de captura de imágenes 20 en relación con una realización separada de la presente invención, el sensor 1220 puede ser basado en vídeo. Los datos de objeto 1261 pueden incluir muchos diferentes tipos de información, pero para los fines de esta realización de la presente invención, incluyen información indicativa de un fotograma de inicio, un fotograma de finalización y dirección. Debería entenderse que el sensor 1220 puede emplear también otra tecnología, que es ampliamente conocido en la industria. Por lo tanto, la manera en la que se capturan los datos de objeto 1261 no se pretende que sea limitante siempre que el sensor 1220 tenga la capacidad de rastrear objetos en el tiempo a través de un campo de visión 1244.
Para fines ejemplares, el sensor 1220 puede incluir al menos una cámara estéreo con dos o más sensores de vídeo 1246 (similar al sensor mostrado en la Figura 2), que permite que la cámara simule visión binocular humana. Un par de imágenes estéreo comprenden fotogramas 1248 tomados por cada sensor de vídeo 1246 de la cámara. El sensor 1220 convierte imágenes de luz a señales digitales a través de las cuales el sistema de recuento 1330 obtiene fotogramas sin procesar digitales 1248 que comprenden píxeles. De nuevo, los tipos de sensores 1220 y los sensores de vídeo 1246 no deben considerarse limitantes, y debe ser evidente que cualquier sensor 1220, incluyendo los dispositivos de captura de imágenes, sensores térmicos y dispositivos de vídeo de infrarrojos, que pueden contar el tráfico peatonal total y generar un fotograma de inicio, un fotograma final, y una dirección será compatible con el presente sistema y puede adoptarse.
Para proporcionar rastreo más robusto e información de recuento, los datos de objeto 1261 del sensor 1220 pueden combinarse con datos de subconjunto 1226 que se capturan por el dispositivo de captura de datos 1225. Los datos de subconjunto 1226 pueden incluir un identificador único 1232A, un tiempo de entrada 1232B, un tiempo de salida 1232C y datos de ubicación 1262 para cada objeto de interés 1258. Los datos de subconjunto 1226 pueden generarse por dispositivos de captura de datos 1225 que utilizan diversos métodos que emplean tecnologías de recuento de entrada, tecnologías de rastreo y sistemas de asociación de datos. Las tecnologías de recuento de entrada, tales como sistemas basados en Bluetooth y acústicos, son similares al sistema de RFID anteriormente descrito y generan datos de subconjunto 1226. Para generar los datos de subconjunto 1226, la tecnología de recuento de entrada puede proporcionar un grupo de control con un dispositivo que puede emitir una señal particular (es decir, frecuencia de Bluetooth o sonido). El sistema puede a continuación monitorizar un área de cobertura 1228 y contar las señales emitidas por los dispositivos asociados con cada miembro del grupo de control para generar datos de subconjunto 1226. Los datos de subconjunto 1226 del sistema de recuento de entrada pueden combinarse con los datos de objeto 1261 del sensor 1220 para generar recuentos relacionados con objetos anónimos y objetos definidos. El sistema de recuento de entrada puede ser también basado en vídeo y puede reconocer caras, género, antecedentes raciales u otras características inmutables que son fácilmente aparentes.
El dispositivo de captura de datos 1225 también usa tecnología de rastreo que triangula en unas señales celulares emitidas desde terminales móviles 1227 para generar datos de ubicación 1262. La señal celular puede ser señales de T-IMSI (asociado con sistemas de GSM), CDMA (que es de propiedad del Grupo de Desarrollo de CDMA), o Wi-Fi (que es de propiedad de la Alianza Wi-Fi). El dispositivo de captura de datos 1225 puede recibir también datos de ubicación 1262, tales como coordenadas de GPS, para objetos de interés de un terminal móvil 1227.
Para facilidad de referencia, supondremos que los datos de subconjunto 1226 analizados a continuación están basados en los datos de ubicación 1262 que se proporcionan por un terminal móvil 1227. El dispositivo de captura de datos 1225 recibe datos de subconjunto 1226 asociados con un terminal móvil 1227, que se transmiten en un intervalo de tiempo fijo. El intervalo de tiempo para la presente invención estará típicamente entre 1 y 10 veces por segundo, pero debe ser evidente que pueden usarse también otros intervalos de tiempo. Además, las técnicas para transmitir y recibir las señales de terminales móviles son bien conocidas por los expertos en la materia, y pueden emplearse diversos métodos en la presente invención sin alejarse de las enseñanzas en el presente documento. Para asegurar que se capturan los datos de subconjunto 1226 para todos los terminales móviles 1227, el dispositivo de captura de datos 1225 puede ejecutarse continua e independientemente de los otros dispositivos y sistemas que forman el sistema 1210. Como se ha mencionado anteriormente, el dispositivo de captura de datos 1225 puede emplear diversos tipos de señales sin alejarse del alcance de esta aplicación. Es significativo, sin embargo, que el dispositivo de captura de datos 1225 tiene la capacidad para rastrear terminales móviles 1227, u otros dispositivos similares, en el tiempo a través de un área de cobertura 1228. El área capturada por el dispositivo de captura de datos 1225 es el área de cobertura 1228. En algunos casos, el campo de visión 1244 para el sensor puede estar completamente dentro del área de cobertura 1228 para el dispositivo de captura de datos 1225 y viceversa.
El dispositivo de captura de datos 1225 puede usar también sistemas de asociación de datos 1245. Los sistemas de asociación de datos 1245 toman datos de otros sistemas independientes tales como sistemas de punto de venta, programas de recompensa de fidelidad, información de activación de punto de venta (es decir, pantallas que unen cables a la mercancía y cuentan el número de tirones de la mercancía), turcos mecánicos (que utilizan la entrada de datos manual), u otros medios similares. Los datos generados por sistemas de asociación de datos 1245 pueden no incluir información relacionada con la dirección, pero pueden incluir información más detallada acerca de las características físicas del objeto de interés.
El sistema de recuento 1230 puede procesar fotogramas sin procesar digitales 1248, detectar y seguir objetos de interés ("objetos") 1258, y puede generar rastros asociados con objetos 1258 de una manera similar que el sistema de recuento 30 anteriormente descrito. El sistema de recuento 1230 puede estar conectado electrónica o inalámbricamente a al menos un sensor 1220 y a al menos un dispositivo de captura de datos 1225 mediante una red de área local o de área extensa. Aunque el sistema de recuento 1230 en la presente invención se ubica de manera remota como parte de un servidor central, debe ser evidente para los expertos en la materia que todo o parte del sistema de recuento 1230 puede (i) estar formado como parte del sensor 1220 o el dispositivo de captura de datos 1225, (ii) estar almacenado en una red de "informática en la nube", o (iii) estar almacenado de manera remota del sensor 1220 y del dispositivo de captura de datos 1225 empleando otras técnicas de procesamiento distribuido. Además, el dispositivo de captura de datos 1225, el sensor 1220, y el sistema de recuento 1230 pueden todos estar integrados en un único dispositivo. Este dispositivo unitario puede instalarse en cualquier parte por encima de la entrada o entradas a una instalación 1223. Debería entenderse, sin embargo, que el hardware y metodología que se usan para detectar y rastrear objetos no está limitado con respecto a esta realización de la presente invención. En su lugar, es únicamente importante que los objetos se detecten y rastreen y los datos asociados con los objetos 1258 y rastros se usen en combinación con datos de subconjunto 1226 del dispositivo de captura de datos 1225 para contar y rastrear de manera separada objetos anónimos 1320 y objetos definidos 1322, que están asociados con el terminal móvil 1227.
Para transmitir datos de subconjunto 1226 del dispositivo de captura de datos 1225 a un sistema de recuento 1230, el dispositivo de captura de datos 1225 puede conectarse directamente al sistema de recuento 1230 o el dispositivo de captura de datos 1225 puede conectarse de manera remota mediante una red de comunicaciones inalámbrica o alámbrica, como es conocido en general en la industria. También es posible que el dispositivo de captura de datos 1225 pueda enviar datos de subconjunto 1226 al sensor 1220, que a su vez transmite los datos de subconjunto 1226 al sistema de recuento 1230. Los datos de subconjunto 1226 pueden estar comprendidos de diversa información, pero para fines de la presente invención, los datos de subconjunto 1226 incluyen un identificador único, información basada en ubicación y una o más indicaciones de tiempo.
Para permitir que el sistema de recuento 1230 procese datos de tráfico 1260, datos de subconjunto 1226 y datos de objeto 1261 pueden extraerse del dispositivo de captura de datos 1225 y el sensor 1220, respectivamente, y transmitirse al sistema de recuento 1230. También es posible que el dispositivo de captura de datos 1225 y el sensor 1220 envíen los datos de subconjunto 1226 y datos de objeto 1261, respectivamente, al sistema de recuento 1230. Debe ser evidente que los datos de tráfico 1260, que consisten tanto en datos de subconjunto 1226 como datos de objeto 1261, pueden transmitirse también al sistema de recuento mediante otros medios sin alejarse de las enseñanzas de esta invención. Los datos de tráfico 1260 pueden enviarse como una combinación de tanto los datos de subconjunto 1226 como los datos de objeto 1261 y los datos de tráfico 1260 pueden organizarse basándose en el tiempo.
El sistema de recuento 1230 separa los datos de tráfico 1260 en datos de subconjunto 1226 y datos de objeto 1261. Para procesar adicionalmente los datos de tráfico 1260, el sistema de recuento 1230 puede incluir un módulo de escucha 1310 que convierte los datos de subconjunto 1226 en registros de secuencia 1312 y los datos de objeto 1261 en registros de rastro 1314. Además, el sistema de recuento 1230 puede crear una serie de secuencias 1352 comprendida de todos los registros de secuencia 1312 y una serie de rastros 1354 comprendida de todos los registros de rastro 1314. Cada registro de secuencia 1312 puede consistir en (1) un ID único 1312a, que puede ser un número entero sin signo asociado con un terminal móvil 1227, el número de teléfono asociado con el terminal móvil 1227 o cualquier otro número único, carácter, o combinación de los mismos, asociado con el terminal móvil 1227; (2) un tiempo de inicio 1312b, que puede consistir en información indicativa de un tiempo cuando el terminal móvil 1227 se detectó en primer lugar en el área de cobertura 1228; (3) un tiempo final, que puede consistir en información indicativa de un tiempo cuando el terminal móvil 1227 se detectó por última vez dentro del área de cobertura 1228 del dispositivo de captura de datos 1225; y (4) una serie de referencias a todas las pistas que solapan un registro de secuencias particular 1312. Cada registro de rastro 1314 puede incluir (a) un contador, que puede ser un ID único representativo de un sensor 1220 asociado con el respectivo rastro; (b) una dirección, que puede consistir en información que es representativa de la dirección de movimiento para el respectivo rastro; (c) tiempo de inicio, que puede consistir en información indicativa de un tiempo cuando se detectó en primer lugar el objeto de interés dentro del campo de visión 1244 del sensor 1220; (d) tiempo final, que puede consistir en información indicativa de un tiempo cuando el objeto de interés deja el campo de visión 1244 del sensor 1220; y (e) ID de terminal, que (si es distinto de cero) puede incluir un número entero sin signo que identifica un terminal móvil 1227 asociado con este registro de rastro 1314.
Para separar y rastrear objetos anónimos 1320 (es decir, compradores o clientes aleatorios) y objetos definidos 1322 (tales como compradores con terminales móviles identificados 1227 o compradores con tarjetas de afiliación, credenciales de empleado, tiques de tren/avión, llaves de coche de alquiler u hotel, tarjetas de crédito/débito patrocinadas por la tienda o tarjetas de recompensa de fidelidad, todos los cuales pueden incluir chips de RFID), el sistema de recuento 1230 para el sistema debe determinar qué registros de rastro 1314 y registros de secuencia 1312 coinciden entre sí y a continuación el sistema de recuento 1230 puede restar los registros de rastro coincidentes 1314 de su consideración que significa que los registros de rastro restantes (no coincidentes) 1314 se refieren a objetos anónimos 1320 y los registros de rastro 1314 que coinciden con registros de secuencia 1312 se refieren a objetos definidos 1322. La metodología descrita en los párrafos 169 - 179 anteriores incluye etapas relacionadas con hacer coincidir registros de rastro 1314 y registros de secuencia 1312. Un método similar para hacer coincidir registros de rastro 1314 y registros de secuencia 1312 puede emplearse en relación con la presente realización del sistema de recuento 1230. El algoritmo de coincidencia o algoritmo de puntuación de calidad que se emplea no debe observarse como limitante, ya que pueden usarse diversos métodos para hacer coincidir rastros y registros de secuencia 1314, 1312.
En algunos casos, puede haber más de un sistema de recuento 1230, que consiste en la combinación de tanto el sensor 1220 como el dispositivo de captura de datos 1225, para cubrir múltiples puntos de acceso. En este caso, se generarán series de secuencias 1352 separadas y series de rastros 1354 para cada uno de los contadores 1222. Además, puede generarse una serie de coincidencias 1318 y puede comprender cada uno de los registros coincidentes 1316 asociados con cada uno de los sistemas de recuento 1230. Para hacer coincidencias óptimas, debe compartirse el historial de etiqueta entre todos los sistemas de recuento 1230. Esto puede manejarse fusionando, en un orden ordenado en tiempo, todos los registros coincidentes en la serie de coincidencias 1318 y usando una única estructura de mapa de historial, que se entiende en general por los expertos en la materia.
Identificando, rastreando y contando objetos 1258 simultáneamente con uno o más sensores 1220 y uno o más dispositivos de captura de datos 1225, el sistema 1210 puede generar conjuntos de datos basándose en el tiempo, geografía, características demográficas y comportamiento. Por ejemplo, el sistema 1210 puede determinar o calcular lo siguiente:
a. La duración real de tiempo de permanencia de la población global o subconjuntos de la población en ubicaciones especificadas;
b. El tiempo real de entrada y salida para la población global y subconjuntos de la población;
c. La densidad global de la población global y subconjuntos de la población en puntos en tiempo especificados; d. Cómo la hora del día impacta en los comportamientos de la población global y subconjuntos de la población; e. La ubicación real y trayectorias para los subconjuntos de la población;
f. Los puntos de entrada y salida reales para subconjuntos de la población;
g. La densidad de subconjuntos de la población;
h. Si la geografía o ubicación de departamentos o productos impactan en los comportamientos de subconjuntos de la población;
i. Las calidades demográficas y personales reales asociadas con el subconjunto de la población;
j. Cómo los grupos demográficos se comportan en ubicaciones geográficas particulares, en tiempos especificados o en respuesta a eventos de activación, tales como compañías de comercialización, ofertas de descuento, estimulación de vídeo, audio o sensorial, etc.;
k. La densidad global de diversos grupos demográficos basándose en el tiempo, geografía o en respuesta a eventos de activación;
l. Cómo cambia el comportamiento de grupos demográficos basándose en el tiempo, geografía o en respuesta a eventos de activación;
m. Cualquier dato que pueda generarse en relación con subconjuntos de la población puede usarse también para estimar datos similares para la población global;
n. Los datos capturados para áreas específicas, zonas o departamentos pueden ser dependientes unos de los otros o correlacionarse; y
o. Combinaciones de los datos o informes anteriores.
Aunque hay una multitud de diferentes tipos e informes de datos que pueden calcularse o generarse, los datos generalmente caen en las siguientes cuatro dimensiones 1380: de tiempo 1380A, de geografía 1380B, de demografía 1380C y de comportamiento 1380D. Sin embargo, estas diversas dimensiones 1380 o categorías no deben observarse como limitantes ya que debe ser evidente para los expertos en la materia que pueden existir también otras dimensiones 1380 o tipos de datos.
Para generar datos relacionados con la dimensión temporal 1380A, pueden aplicarse diversos algoritmos. Por ejemplo, el algoritmo en la Figura 20 muestra una serie de etapas que pueden usarse para calcular tiempo de permanencia 1400 para uno o más compradores o para contar los datos de comprador frecuente o número de visitas 1422 por uno o más compradores. Como se muestra en la etapa 2110, para calcular el tiempo de permanencia 1400 o datos de comprador frecuente 1420, el sistema 1210 debe cargar en primer lugar los datos de tráfico 1260, que incluyen los datos de objeto 1261 y los datos de subconjunto 1226. Los datos de tráfico 1260 pueden incluir también un ID único 1312A, un tiempo de inicio 1312B y un tiempo final 1312C para cada comprador incluido como parte de los datos de tráfico 1260. Los tiempos de inicio 1312B y tiempos finales 1312C pueden estar asociados con áreas predefinidas específicas 1402. Para generar informes para periodos de tiempo específicos 1313, el sistema 1210 puede ordenar también los datos de tráfico 1260 basándose en un intervalo de tiempo seleccionado. Por ejemplo, en la etapa 2120 el sistema 1210 puede agregar los datos de tráfico 1260 basándose en el tiempo de inicio 1312B, el tiempo final 1312C o el periodo de tiempo 1313. Agregar datos de tráfico 1260 basándose en el tiempo de inicio 1312b , tiempo final 1312c o periodo de tiempo 1313 se entiende en general en la industria y el orden o etapas específicas que se usan para agregar los datos de tráfico 1260 no deben observarse como limitantes. Una vez que se agregan u ordenan los datos de tráfico 1260, pueden usarse para calcular tiempos de permanencia 1400 o datos de comprador frecuente 1420. Debería entenderse que los periodos de tiempo 1313 pueden estar basados en periodos definidos por el usuario, tales como minutos, horas, días, semanas, etc.
Para permitir que un usuario genere tiempo de permanencia 1400 o datos de comprador frecuente 1420, el sistema 1210 puede solicitar al usuario que seleccione el tiempo de permanencia 1400 o datos de comprador frecuente 1420 (véase la etapa 1230). Esta selección y otras selecciones que se analizan a través de toda esta descripción pueden efectuarse permitiendo que un usuario seleccione un botón, un hiperenlace o una opción enumerada en un menú desplegable o emergente o escribiendo en la opción deseada en una caja de texto convencional. Pueden emplearse otros medios para seleccionar opciones de generación de información sin alejarse de la presente invención. Para calcular el tiempo de permanencia 1400 para un comprador, puede usarse la siguiente ecuación:
Tiempo de permanencia = (tiempo en el que un comprador deja un área predefinida) - (tiempo en el que un comprador entra en un área predefinida)
Por ejemplo, supóngase que un comprador entra en un área predefinida 1402, tal como una tienda, a las 1:00 pm y la deja a las 1:43 pm. El tiempo de permanencia 1400 debería calcularse como sigue:
Tiempo de permanencia = 1:43 - 1:00 = 43 minutos
En este caso, el tiempo de permanencia 1400 debería ser la cantidad de tiempo total (43 minutos) que se pasó en el área predefinida 1402. El área predefinida 1402 puede definirse como un departamento específico, es decir, el departamento de ropa de hombre, el departamento de ropa de mujer, un área general, un área de visualización particular, un punto de compra, un probador, etc. Por lo tanto, si un comprador visita múltiples áreas predefinidas 1402 o departamentos, el sistema 1210 puede calcular tiempos de permanencia para cada área predefinida 1402 o departamento que se visita.
Las áreas predefinidas 1402 pueden determinarse entrando en un conjunto de límites 1404 obtenido de un diagrama 1406 del espacio o tienda deseado. El conjunto de límites 1404 puede definir departamentos particulares, áreas de visualización dentro de departamentos particulares u otras áreas más pequeñas según se desee. Más específicamente, las áreas predefinidas 1402 pueden determinarse copiando el diagrama 1406 en un plano cartesiano, que usa un sistema de coordenadas para asignar coordenadas X e Y 1408 a cada punto que forma un conjunto de límites 1404 asociado con las áreas predefinidas 1402. Pueden generarse registros de rastro 1314 para cada comprador y pueden incluir un tiempo de entrada 1410 y tiempo de salida 1412 para cada área predefinida 1402. Para calcular tiempos de permanencia 1400, la siguiente información puede ser necesaria: (i) ID únicos 1312A para cada comprador; (ii) un conjunto de límites 1404 para cada área predefinida 1402; (iii) coordinadas 1408 para el conjunto de límites 1404 dentro de unas áreas predefinidas 1402; (iv) tiempos de entrada 1410 y tiempos de salida 1412 para cada área predefinida 1402 y comprador. Además de agregar los datos de tráfico 1260 y antes de calcular los tiempos de permanencia 1400, el sistema 1210 puede ordenar también los datos de tráfico 1260 por periodos de tiempo 1313, ID únicos 1312A, y/o las áreas predefinidas 1402 visitadas en los periodos de tiempo 1313. El proceso de cálculo de tiempos de permanencia 1400 es un proceso iterativo y en curso, por lo tanto, el sistema 1210 puede almacenar tiempos de permanencia 1400 por comprador o área predefinida 1402 para su uso posterior o uso en relación con otras dimensiones 1380. Los tiempos de permanencia 1400 se usan para generar informes que listan tiempos de agregación o de permanencia promedio 1400 para seleccionar compradores, geografías, periodos de tiempo o grupos demográficos y estos informes se alimentan también en otros sistemas que están usando el tiempo de permanencia 1400 para funcionar, tales como sistemas de HVAC que elevarán o reducirán las temperaturas basándose en los tiempos de permanencia promedio 1400 para diversos periodos de tiempo y ubicaciones geográficas. Debe ser evidente para los expertos en la materia que los tiempos de permanencia 1400 y los informes de tiempo de permanencia 1400A pueden usarse de muchas maneras diferentes. Por lo tanto, la divulgación anterior debería observarse como que describe usos ejemplares únicamente y no debe limitar el alcance usos o formatos potenciales para los tiempos de permanencia 1400 o informes de tiempo de permanencia 1400A.
Para generar datos de comprador frecuente 1420, el sistema 1210 puede cargar en primer lugar datos de visita de comprador 1450 para un periodo de tiempo particular 1313. Los datos de visitante de comprador 1450 pueden generarse de los tiempos de permanencia 1400 para un área predefinida 1402 sin considerar la longitud del tiempo asociado con los tiempos de permanencia 1400. En otras palabras, la etapa 2134 puede incrementar un contador 1454 para cada comprador que entra en un área predefinida 1402. A continuación el sistema 1210 puede rellenar los datos de visita del comprador 1450 con los datos del contador 1454 y almacenar los datos de visita del comprador 1450 en una base de datos 1452. La base de datos 1452 puede ordenar los datos de visita del comprador 1450 basándose en un ID único 1312A para un comprador particular, un área predefinida 1402, o un periodo de tiempo deseado 1313. Para evitar incluir tráfico de paso a través como parte de los datos de visita del comprador 1450, el sistema 1210 puede requerir un tiempo de permanencia mínimo 1400 para registrar como una visita y de esta manera incrementar el contador 1454. El periodo de permanencia mínimo 1400 puede encontrarse en el orden de segundos, minutos, o incluso periodos de tiempo más largos. Similar a los tiempos de permanencia 1400, los datos de visita del comprador 1450 pueden ordenarse basándose en periodos de tiempo 1313, ID únicos 1312A, y/o las áreas predefinidas 1402. Por ejemplo, como se muestra en la etapa 2136, los datos de visita del comprador 1450 pueden usarse para generar un informe de frecuencia de comprador 1450A por geografía o basándose en un área predefinida 1402. Más específicamente, el informe de frecuencia de comprador 1450A puede mostrar información tal como el porcentaje de compradores repetitivos frente a compradores únicos durante un periodo de tiempo dado 1313 o la distribución de compradores repetitivos por áreas predefinidas 1402. El informe de frecuencia de comprador 1450A puede desvelar también esta información basándose en grupos demográficos especificados. Debe ser evidente para los expertos en la materia que los datos de visita del comprador 1450 y los informes de frecuencia de comprador 1450A pueden usarse en muchas maneras diferentes. Por lo tanto, la divulgación anterior debe observarse como que describe usos ejemplares únicamente y no debe limitar el alcance a usos potenciales o formatos para los datos de visita del comprador 1450 o informes de frecuencia de comprador 1450A.
Para generar datos relacionados con la dimensión geográfica 1380B, pueden emplearse varios métodos diferentes. El algoritmo mostrado en la Figura 21 muestra un ejemplo de una serie de etapas que pueden usarse para analizar tráfico peatonal por geografía. Después de que se determina en la etapa 2200 que el análisis geográfico debe realizarse, el sistema 1210 debe cargar en primer lugar los datos de tráfico 1260, que incluyen los datos de objeto 1261, y los datos de subconjunto 1226. Los datos de subconjunto 1226 incluyen un identificador único 1232A, un tiempo de entrada 1232B, un tiempo de salida 1232C y datos de ubicación 1262 para cada objeto de interés 1258. Los datos de ubicación 1262 para objeto de intereses 1258 son particularmente importantes para generar datos relacionados con la dimensión geográfica 1380B. Como se ha mencionado anteriormente, los datos de ubicación 1262 pueden generarse usando información de receptores fijos y una posición relativa para un comprador para triangular la posición exacta de un comprador dentro de un área predefinida 1402 o recibiendo coordenadas de GPS de un terminal móvil. La posición exacta de un comprador dentro de un área predefinida 1402 se determina en una base iterativa a lo largo de toda la visita del comprador. Pueden usarse también otros métodos para calcular posición exacta de un comprador sin alejarse de las enseñanzas proporcionadas en el presente documento.
Para determinar la posición de un objeto de interés 1258 dentro de un área predefinida 1402, los datos de ubicación 1262 pueden estar asociados con el área predefinida 1402. Como se ha mencionado anteriormente, el área predefinida 1402 puede definirse entrando en un conjunto de límites 1404 dentro de un diagrama 1406 del espacio o tienda deseado. El diagrama 1406 del espacio o tienda deseado puede generarse por el sistema 1210 de un mapa existente del espacio o tienda deseado. De nuevo, como se ha referenciado anteriormente, los límites 1404 pueden generarse copiando el diagrama 1406 en un plano cartesiano y asignando las coordenadas X e Y 1408 a cada punto que forma un punto externo en uno o más polígonos asociados con el área predefinida 1402. Rastreando iterativamente la posición de un objeto de interés 1258 con el tiempo, el sistema 1210 puede generar también la dirección 1274 en la que está viajando el objeto de interés 1258 y datos de trayectoria 1272 asociados con la trayectoria 1271 viajada por el objeto de interés 1258. Puede generarse también la posición de un objeto de interés 1258 dentro de un área predefinida 1402: (1) usando sensores de proximidad fijos que detectan objetos de interés cercanos 1258, (2) triangulación de múltiples señales de referencia para producir la posición de un objeto de interés 1258, o (3) usando cámaras que rastrean vídeo, imágenes de infrarrojos o térmicas producidas por un objeto de interés 1258. Pueden usarse también otros medios para generar la posición de un objeto de interés 1258 sin alejarse de las enseñanzas en el presente documento.
Para generar datos de trayectoria 1272 para un objeto de interés 1258, el sistema 1210 puede usar datos de subconjunto 1226, que incluyen datos de ubicación 1262, asociados con un objeto de interés 1258 para representar iterativamente coordenadas X e Y 1408 para un objeto de interés 1258 dentro de un área predefinida 1402 de un diagrama 1406 en periodos de tiempo secuenciales. Por lo tanto, las coordenadas X e Y 1408 asociadas con un objeto de interés 1258 también están vinculadas al tiempo en el que se generaron las coordenadas X e Y 1408. Para contar y rastrear objetos de interés 1258 en áreas predefinidas 1402 que están comprendidas de múltiples pisos, los datos de subconjunto 1226 y/o datos de ubicación 1262 pueden incluir también una coordenada Z 1408 asociada con el suelo en el que está ubicado el objeto de interés 1258. Un diagrama de múltiples pisos se muestra en la Figura 22.
Como se muestra en la etapa 2220, después de que se generan datos de ubicación 1262 y datos de trayectoria 1272 para objetos de interés 1258, esa información debe almacenarse y asociarse con los respectivos objectos de interés 1258. Como se muestra en la etapa 2230, el sistema 1210 permite que un usuario analice datos de tráfico 1260 basándose en un área predefinida 1402 o por datos de trayectoria 1272 para objetos de interés 1258. El área predefinida 1402 puede ser un área geográfica particular, un centro comercial, una tienda, un departamento dentro de una tienda u otras áreas más pequeñas según se desee. Para analizar el tráfico, el sistema 1210 puede agregar en primer lugar los datos de tráfico 1260 para los objetos de interés 1258 dentro del área predefinida 1402 (véase la etapa 2232). Como se muestra en la etapa 2234, el sistema 1210 puede cargar posteriormente tiempos de permanencia 1400, datos de visita de comprador 1450, datos de transacción de ventas 1460 o datos demográficos 1470 para los objetos de interés 1258. La etapa 2236 genera datos de tráfico de nivel de tienda 1480 para áreas predefinidas 1402 extrapolando los datos de subconjunto 1226 para áreas predefinidas particulares 1402 basándose en los datos de objeto correspondientes 1261, que pueden incluir el número total de objetos de interés 1258 dentro de un área predefinida 1402. Usando los datos de tráfico 1260, que incluyen datos de objeto 1261 y datos de subconjunto 1226, y como se muestra en la etapa 2238, el sistema 1210 puede generar informes que muestran el número de objetos de interés 1258 para un área predefinida 1402, el número de objetos de interés para un área predefinida 1402 durante un periodo de tiempo específico 1313, el número de áreas predefinidas 1402 que se visitaron (tal como datos de visita de comprador 1420), o los tiempos de permanencia 1400 para áreas predefinidas 1402. Estos informes pueden incluir información para subconjuntos específicos de objetos de interés 1258 o compradores, o los informes pueden incluir datos de tráfico de nivel de tienda 1480, que extrapolan datos de subconjunto 1226 a una base de nivel de tienda. Debe ser evidente que los informes pueden incluir también otra información relacionada con el tiempo, geografía, demográficas o comportamiento de los objetos de interés 1258 y por lo tanto, la lista anterior de informes no debe observarse como que limita el alcance del sistema 1210.
En la etapa 2230, el usuario puede elegir también analizar datos de tráfico 1260 basándose en datos de trayectoria 1272 para objetos de interés 1258 o la trayectoria 1271 tomada por objetos de interés 1258. Para analizar los datos de tráfico 1260 basándose en datos de trayectoria 1272 o la trayectoria 1271 tomada, el sistema 1210 puede cargar en primer lugar los datos de ubicación 1262 y datos de trayectoria 1272 que se generaron para objetos de interés 1258 en la etapa 2210. El sistema 1210 puede cargar también información, tal como tiempos de permanencia 1400, datos de visita de comprador 1450, datos de transacción de ventas 1460 o datos demográficos 1470 para los objetos de interés 1258. Una vez que se carga esta información en el sistema 1210, el sistema 1210 puede agregar las trayectorias más comunes 1271 tomadas por objetos de interés 1258 y correlacionar información de datos de trayectoria 1272 con tiempos de permanencia 1400 (véase la etapa 2244). Después de que se agrega y correlaciona la información, pueden generarse diversos informes en la etapa 2246, que incluyen informes que muestran (i) las trayectorias más comunes que los objetos de interés toman en una tienda por planograma, que incluyen correspondientes tiempos de permanencia si se desea, (ii) cambios en patrones de compra por periodo de tiempo o temporada, y (iii) patrones de tráfico para su uso por sistemas de seguridad de tienda o de HVAC al aumentar o reducir recursos en tiempos particulares. Estos informes pueden almacenarse y usarse en conexión con la generación de datos e informes para otras dimensiones 1380. Como se muestra en las Figuras 23 y 24, pueden generase también informes basándose en las dimensiones de comportamiento y demográficas 1380C, 1380D.
Para generar datos relacionados con la dimensión demográfica 1380C, puede emplearse el algoritmo mostrado en la Figura 23. Como se muestra en la etapa 2300 en la Figura 23, el sistema 1210 debe cargar en primer lugar datos de tráfico 1260 y datos demográficos 1500. Los datos demográficos 1500 pueden recibirse de un programa minorista, que incluye programas de fidelidad, programas de comercialización de activación o programas de comercialización similares, y pueden incluir información relacionada con un comprador, que incluye edad, etnia, sexo, características físicas, tamaño, etc. Los datos de tráfico 1260 pueden almacenarse de acuerdo con los datos demográficos 1500 y otros datos, tales como tiempo de inicio 1312B, tiempo final 1312C, periodo de tiempo 1313 y datos de ubicación 1262. Una vez que se cargan y ordenan los datos de tráfico 1262 y datos demográficos 1500, el sistema 1210 puede analizar los datos de tráfico 1260, que incluyen los datos de objeto 1261 y datos de subconjunto 1226 basándose en diversos factores demográficos, que incluyen, pero sin limitación, demográficas de comprador, comportamiento dentro de la tienda y programas de comercialización.
Para analizar los datos de tráfico 1260 basándose en las demográficas de comprador (etapa 2320), el sistema 1210 puede ordenar los datos de tráfico 1260 por geografía y periodo de tiempo. Debe ser evidente, sin embargo, que los datos de tráfico 1260 pueden ordenarse también de acuerdo con otras restricciones. En la etapa 2322, el sistema 1210 analiza los datos de tráfico 1260, que incluyen datos de objeto 1261 y datos de subconjunto 1226) basándose en periodos de tiempo 1313 y áreas predefinidas 1402. El análisis puede incluir recuentos para objetos de interés 1258 que entran en áreas predefinidas 1402 o recuentos para objetos de interés 1258 que entran en áreas predefinidas 1402 durante periodos de tiempo especificados 1313. Para ayudar a analizar los datos de tráfico 1260 basándose en periodos de tiempo 1313 y áreas predefinidas 1402, puede usarse la información que se genera en conexión con la dimensión temporal 1380a , que incluye tiempos de permanencia 1400, datos de comprador 1420 y datos de visita de comprador 1450, y la dimensión geográfica 1380B, es decir, áreas predefinidas 1402, límites 1404 y coordenadas x e y. Como se muestra en la etapa 2324, el sistema 1210 puede generar informes que muestran tráfico por datos demográficos 1500 y tienda, departamento, hora del día, día de la semana, o temporada, etc.
Para analizar datos de tráfico 1260 basándose en el comportamiento dentro de la tienda, el sistema 1210 debe determinar si mirar el comportamiento dentro de la tienda basándose en tiempo de permanencia 1400 o datos de trayectoria 1272. Si se selecciona el tiempo de permanencia (etapa 2336), el sistema 1210 puede cargar tiempos de permanencia 1400 generados en relación con la dimensión temporal 1380A y ordenar los tiempos de permanencia 1400 basándose en la dimensión geográfica 1380B. Después de que se combinan los tiempos de permanencia 1400 y datos de trayectoria 1272 con los datos demográficos 1500, el sistema 1210 puede generar informes que muestran los tiempos de permanencia 1400 por características de perfil o datos demográficos 1500, es decir, edad, etnia, sexo, características físicas, tamaño, etc. Para analizar datos de tráfico 1260 basándose en una combinación de datos demográficos 1500 y datos de trayectoria 1272, el sistema 1210 puede cargar en primer lugar datos de trayectoria 1272 generados en relación con la dimensión geográfica 1380B. Después de que se ordenan los datos de trayectoria 1272 de acuerdo con datos demográficos 1500 seleccionados, el sistema 1210 puede generar a continuación informes que muestran el número de departamentos visitados por objetos de interés 1258 asociados con grupos demográficos particulares, las trayectorias más comunes usadas por los objetos de interés 1258 asociados con estos grupos demográficos. Debe ser evidente que pueden generarse también otros informes asociados con grupos demográficos y datos de trayectoria 1272 por el sistema 1210.
Para analizar los datos de tráfico basándose en un programa de comercialización particular, el sistema 1210 puede cargar en primer lugar datos demográficos 1500 asociados con un programa de comercialización particular 1510. El programa de comercialización 1510 puede tener como objetivo un producto específico o puede ser un programa de comercialización de activación que se ofrece por un minorista. Ejemplos de tales programas son: promoción de precio "de descuento de porcentaje" para artículos en un departamento específico; correos electrónicos "explosivos" enviados a clientes que promocionan ciertos productos; ofertas de ventas adicionales con descuento basadas en tiempo que se ponen a disposición a cualquier mujer que entre a la tienda; un descuento de "fidelidad instantáneo" para cualquier cliente que haga un viaje de vuelta a la tienda dentro de un periodo de 10 días; tras entrar en la tienda enviar a un comprador un mensaje para informarle de un evento de muestra de maletas que tiene lugar más tarde ese día; y proporcionar a los compradores con la opción para descargar una canción inédita de una banda conocida puesta a disposición como parte de una campaña de publicidad nacional. Otros tipos de programas de comercialización 1510 pueden ser también el origen de los datos demográficos sin alejarse de las enseñanzas y los principios de esta descripción detallada. Para analizar los datos de tráfico basándose en el programa de comercialización 1510, el sistema 1210 puede ordenar en primer lugar los datos de tráfico 1260 basándose en los datos demográficos 1500 proporcionados por los programas de comercialización. Como se muestra en la etapa 2342, el sistema 1210 puede generar a continuación informes que muestran demográficas de comportamiento accionadas por programa de fidelidad de vendedor minorista, tal como el impacto de programas de fidelidad en grupos demográficos particulares, el tráfico de estos grupos demográficos o hábitos de compra de estos grupos demográficos. Estos informes pueden incluir: información relacionada con cómo grupos demográficos específicos (adolescentes, adultos jóvenes, seniors, hombres, mujeres, etc.) que compran en departamentos específicos o áreas de una tienda; informes de tráfico con información relacionada con antes y después de que se ofrezca una promoción dirigida a clientes "fieles"; información de rendimiento con respecto a los efectos de programas de comercialización en el tráfico y ventas dentro de la tienda; y comparaciones de tráfico por departamento para una promoción demográfica dirigida.
Para generar datos relacionados con la dimensión de comportamiento 1380D, el sistema 1210 puede combinar datos e informes generados en conexión con las otras dimensiones 1380, en concreto, la dimensión temporal 1380A, dimensión geográfica 1380B y dimensión demográfica 1380C. Además, puede añadirse también el análisis de frecuencia de conversión o análisis de comprador/no comprador a los datos e informes generados en relación con las otras dimensiones 1380. Para generar frecuencias de conversión 1600, datos de compra 1610, que incluyen datos de comprador 1610A y de no comprador 1610B, puede emplearse el algoritmo mostrado en la Figura 24. Como se muestra en la etapa 2400 en la Figura 24, la primera etapa es para determinar si generar frecuencias de conversión 1600 o datos de compra 1610.
Para generar frecuencias de conversión 1600, el sistema puede en primer lugar cargar datos de tráfico 1260 y datos de transacción 1620 de la dimensión geográfica 1380B y ordenar los datos de tráfico 1260 por periodos de tiempo 1313. Los datos de transacción 1620 pueden incluir información relacionada con la cantidad de ventas, el número de artículos que se compraron, los artículos específicos que se compraron, la fecha y hora de la transacción, el registro usado para completar la transacción, la ubicación donde se completó la venta (ID de departamento e ID de subdepartamento), y el asociado de ventas que completó la venta. Puede recogerse también otra información como parte de los datos de transacción 1620 sin alejarse de la enseñanza del presente documento. A continuación, el sistema 1210 puede cargar datos de tráfico proyectado de la dimensión geográfica 1380B, que también se ordena por periodos de tiempo 1313. En la etapa 2414, el sistema 1210 puede calcular frecuencias de conversión 1600. Las frecuencias de conversión pueden calcularse dividiendo las transacciones por los recuentos de tráfico dentro de un área predefinida 1402 por un periodo de tiempo 1313. Por ejemplo, durante una hora de un día un departamento en una tienda generó veinte ventas (transacciones). Durante la misma hora, cien personas visitaron el departamento. La frecuencia de conversión del departamento era el veinte por ciento (20 %) (20 transacciones/100 compradores). Las frecuencias de conversión 1600 pueden también estar asociadas con un factor demográfico 1630. Por ejemplo, dado el tipo de tienda, hombres y mujeres (demográfica de género) pueden convertir a diferentes frecuencias. Las frecuencias de conversión 1600 que se calculan pueden ordenarse por el sistema 1210 para su uso posterior en la etapa 2416. Una vez que se calculan las frecuencias de conversión 1600, pueden usarse para generar informes tales como la frecuencia de conversión 1600 para una tienda entera o un departamento específico, la frecuencia de conversión 1600 para compradores con perfiles o características específicas, secciones cruzadas de las frecuencias de conversión anteriormente referenciadas 1600 basándose en un periodo de tiempo 1313, u otros informes basándose en combinaciones de la frecuencia de conversión 1600 con información de la dimensión temporal 1380A, dimensión geográfica 1380B o dimensión demográfica 1380C.
Para generar informes basándose en comportamiento del comprador, el sistema 1210 puede cargar en primer lugar tiempos de permanencia 1400 y a continuación ordenar los tiempos de permanencia 1400 por áreas predefinidas 1402 (véase la etapa 2420). Los tiempos de permanencia 1400 pueden ordenarse adicionalmente por periodos de tiempo 1313. Como se muestra en la etapa 2422, el sistema 1210 puede a continuación cargar datos de transacción 1620 (tales como transacciones de ventas) para las mismas áreas predefinidas 1402 y correspondientes periodos de tiempo 1313. El sistema 1210 puede a continuación producir informes que muestran comparaciones entre compradores y no compradores basándose en tiempos de permanencia 1400, áreas predefinidas 1402 y/o periodos de tiempo 1313. Estos informes pueden ordenarse también basándose en datos demográficos 1470, como se ha mencionado anteriormente.
La invención no está limitada por las realizaciones desveladas en el presente documento y se apreciará que pueden idearse numerosas modificaciones y realizaciones por los expertos en la materia. Por lo tanto, se pretende que las siguientes reivindicaciones cubran todas tales realizaciones y modificaciones que caen dentro del alcance de la presente invención.
REFERENCIAS
[1] C. Wren, A. Azarbayejani, T. Darrel y A. Pentland. Pfinder: Real-time tracking of the human body. In IEEE Transactions on Pattern Analysis and Machine Intelligence, julio de 1997, Vol 19, N.° 7, página 780-785.
[2] 1. Haritaoglu, D. Harwood y L. Davis. W4: Who? When? Where? What? A real time system for detecting and tracking people. Proceedings of the Third IEEE International Conference on Automatic Face and Gesture Recognition, Nara, Japón, abril de 1998.
[3] M. Isard y A. Blake, Contour tracking by stochastic propagation of conditional density. Proc ECCV 1996.
[4] P. Remagnino, P. Brand y R. Mohr, Correlation techniques in adaptive template matching with uncalibrated cameras. In Vision Geometry III, SPIE Proceedings vol. 2356, Boston, Mass., 2-3 de noviembre de 1994
[5] C. Eveland, K. Konolige, R. C. Bolles, Background modeling for segmentation of video-rate stereo sequence. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, página 226, 1998.
[6] J. Krumm y S. Harris, System and process for identifying and locating people or objects in scene by selectively slustering three-dimensional region. Patente de Estados Unidos N.° 6.771.818 B1, agosto de 2004.
[7] T. Darrel, G. Gordon, M. Harville y J. Woodfill, Integrated person tracking using stereo, color, and pattern detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, página 601609, Santa Bárbara, junio de 1998.

Claims (15)

REIVINDICACIONES
1. Un método para rastrear objetos definidos, que comprende las etapas de:
recibir unos primeros datos de objeto en un dispositivo de captura de datos, en donde los primeros datos de objeto están asociados con objetos definidos y para cada uno de los objetos definidos los primeros datos de objeto incluyen un identificador único, datos de tiempo, y datos de ubicación triangulados de una señal celular emitida de un terminal móvil y recibidos por una pluralidad de receptores fijos;
asociar los datos de ubicación para cada uno de los objetos definidos con una o más áreas predefinidas en las que entra el objeto definido;
determinar un tiempo de permanencia para uno de los objetos definidos dentro de una de las áreas predefinidas basándose en el tiempo de entrada para el objeto definido en el área predefinida y el tiempo de salida para el objeto definido del área predefinida respectiva;
generar un informe basándose en al menos el tiempo de permanencia determinado para el uno o más objetos definidos y la una o más áreas predefinidas; y
alimentar el informe en un sistema de HVAC que usa el informe para elevar o reducir temperaturas de la una o más áreas predefinidas.
2. El método de la reivindicación 1, en donde la señal celular incluye una señal seleccionada a partir del grupo que consiste en señales de T-IMSI, CDMA, Wi-Fi, o Bluetooth.
3. El método de la reivindicación 1, que incluye adicionalmente la etapa de recepción de un segundo conjunto de datos de un sistema independiente con respecto a características de los objetos definidos, donde el sistema independiente es un sistema de punto de venta o un sistema de recompensas de fidelidad.
4. El método de la reivindicación 1 o 2, que incluye adicionalmente la etapa de uso de coordenadas Z para rastrear adicionalmente objetos definidos dentro de un área predefinida definida por múltiples pisos.
5. El método de la reivindicación 1, que incluye adicionalmente la etapa de uso de los primeros datos de objeto para generar informes que muestran al menos uno de un número de objetos definidos dentro de una del área predefinida, un número de objetos definidos dentro del área predefinida durante un periodo de tiempo específico, un número de áreas predefinidas que se visitaron por uno o más objetos definidos, un número de visitas por uno o más objetos definidos a una o más áreas predefinidas.
6. El método de la reivindicación 1, que incluye adicionalmente la etapa de generación de un informe que muestra al menos uno de lo siguiente:
(a) cambios en patrones de compra por periodo de tiempo;
(b) cambios en patrones de compra por temporada;
(c) patrones de tráfico para su uso por sistemas de seguridad de tienda al determinar un nivel de asignación de recursos para proporcionar en un tiempo particular; y
(d) patrones de tráfico para su uso por sistemas de HVAC al determinar un nivel de asignación de recursos para proporcionar en un tiempo particular.
7. El método de la reivindicación 1, que incluye adicionalmente la etapa de generación de datos de trayectoria para cada uno de los objetos definidos representando coordenadas X e Y para cada una de las áreas predefinidas visitadas por el respectivo objeto definido, donde los datos de trayectoria también incluyen un tiempo de entrada representativo del tiempo que el objeto definido entra en el área predefinida y un tiempo de salida representativo del tiempo que el objeto definido sale del área predefinida respectiva.
8. El método de la reivindicación 1, en donde la determinación del tiempo de permanencia para el uno de los objetos definidos dentro de la una de las áreas predefinidas comprende restar el tiempo de entrada para el objeto definido en el área predefinida del tiempo de salida para el objeto definido del área predefinida respectiva.
9. El método de la reivindicación 1, en donde el tiempo de permanencia se determina en respuesta a una solicitud mediante una interfaz de usuario.
10. El método de la reivindicación 1, en donde el tiempo de permanencia se determina adicionalmente basándose en el identificador único asociado con el uno de los objetos definidos, una pluralidad de límites para la una de las áreas predefinidas, y una pluralidad de coordenadas para el conjunto de límites.
11. El método de la reivindicación 1, que comprende adicionalmente:
generar un informe que incluye el tiempo de permanencia determinado para el uno de los objetos definidos.
12. El método de la reivindicación 1 o 2, que comprende adicionalmente:
generar datos de trayectoria para cada uno de los objetos definidos representando coordenadas X e Y para cada una de las áreas predefinidas visitadas por el respectivo objeto definido, donde los datos de trayectoria también incluyen un tiempo de entrada representativo del tiempo que el objeto definido entra en el área predefinida y un tiempo de salida representativo del tiempo que el objeto definido sale del área predefinida respectiva; y en donde la determinación de un tiempo de permanencia comprende restar el tiempo de entrada para el objeto definido en el área predefinida del tiempo de salida para el objeto definido del área predefinida respectiva.
13. El método de la reivindicación 12, que incluye adicionalmente la etapa de recepción de un segundo conjunto de datos de un sistema independiente con respecto a características de los objetos definidos, donde el sistema independiente es un sistema de punto de venta o un sistema de recompensas de fidelidad.
14. El método de la reivindicación 13, que incluye adicionalmente la etapa de uso de los primeros datos de objeto para generar informes que muestran al menos uno de un número de objetos definidos dentro de una del área predefinida, un número de objetos definidos dentro del área predefinida durante un periodo de tiempo específico, un número de áreas predefinidas que se visitaron por uno o más objetos definidos, un número de visitas por uno o más objetos definidos a una o más áreas predefinidas, o tiempos de permanencia promedio dentro de una o más áreas predefinidas por uno o más objetos definidos.
15. El método de la reivindicación 14, que incluye adicionalmente las etapas de agregación de datos de trayectoria para determinar trayectorias más comunes tomadas por objetos definidos, correlacionar los datos de trayectoria con los tiempos de permanencia, y generar un informe que muestra al menos uno de lo siguiente:
(a) las trayectorias más comunes que toman los objetos definidos en una tienda, que incluyen tiempos de permanencia correspondientes;
(b) cambios en patrones de compra por periodo de tiempo;
(c) cambios en patrones de compra por temporada;
(d) patrones de tráfico para su uso por sistemas de seguridad de tienda al determinar un nivel de asignación de recursos para proporcionar en un tiempo particular; y
(e) patrones de tráfico para su uso por sistemas de HVAC al determinar un nivel de asignación de recursos para proporcionar en un tiempo particular.
ES17207519T 2011-09-23 2012-09-18 Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos Active ES2819859T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161538554P 2011-09-23 2011-09-23
US201161549511P 2011-10-20 2011-10-20

Publications (1)

Publication Number Publication Date
ES2819859T3 true ES2819859T3 (es) 2021-04-19

Family

ID=47138147

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17207519T Active ES2819859T3 (es) 2011-09-23 2012-09-18 Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos

Country Status (5)

Country Link
EP (2) EP3355282B1 (es)
CA (1) CA2849016C (es)
ES (1) ES2819859T3 (es)
GB (1) GB2495193B (es)
WO (1) WO2013043590A1 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220147636A1 (en) * 2020-11-12 2022-05-12 Crowdstrike, Inc. Zero-touch security sensor updates

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103413193A (zh) * 2013-07-03 2013-11-27 中建钢构有限公司 一种工程资源管理方法
US10083409B2 (en) 2014-02-14 2018-09-25 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
CN106910003A (zh) * 2017-01-13 2017-06-30 河北长宽网络服务有限公司 一种材料在线核减方法
CN107845233A (zh) * 2017-11-24 2018-03-27 松下电气机器(北京)有限公司 灯具及巡查监控***
US20220012501A1 (en) 2018-12-14 2022-01-13 Xovis Ag Method and arrangement for determining a group of persons to be considered
WO2021247649A1 (en) * 2020-06-02 2021-12-09 Iotta, Llc Image capture system and processing
US11303853B2 (en) * 2020-06-26 2022-04-12 Standard Cognition, Corp. Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout
CN114842575A (zh) * 2021-06-25 2022-08-02 上海智高宴宏网络科技发展有限公司 一种地面感应***及使用方法
CN113587994B (zh) * 2021-08-04 2024-05-24 山西省交通规划勘察设计院有限公司 一种公共交通的客流分析装置及其分析方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611622B1 (en) 1999-11-23 2003-08-26 Microsoft Corporation Object recognition system and process for identifying people and objects in an image of a scene
US6771818B1 (en) 2000-04-04 2004-08-03 Microsoft Corporation System and process for identifying and locating people or objects in a scene by selectively clustering three-dimensional regions
US7161482B2 (en) 2003-05-30 2007-01-09 Sensormatic Electronics Corporation Integrated electronic article surveillance and people counting system
JP3757959B2 (ja) 2003-07-04 2006-03-22 コニカミノルタホールディングス株式会社 計数システムおよび計数方法
US9140773B2 (en) * 2004-07-30 2015-09-22 Path Intelligence Limited Monitoring the movement of mobile communication devices
US8184154B2 (en) * 2006-02-27 2012-05-22 Texas Instruments Incorporated Video surveillance correlating detected moving objects and RF signals
US9288268B2 (en) * 2008-06-30 2016-03-15 The Nielsen Company (Us), Llc Methods and apparatus to monitor shoppers in a retail environment
US10885471B2 (en) * 2008-07-18 2021-01-05 Disney Enterprises, Inc. System and method for providing location-based data on a wireless portable device
DE102008041933A1 (de) * 2008-09-10 2010-03-11 Robert Bosch Gmbh Überwachungssystem, Verfahren zur Detektion und/oder Verfolgung eines Überwachungsobjektes und Computerprogrammen
JP4751442B2 (ja) * 2008-12-24 2011-08-17 株式会社東芝 映像監視システム
US20110169917A1 (en) * 2010-01-11 2011-07-14 Shoppertrak Rct Corporation System And Process For Detecting, Tracking And Counting Human Objects of Interest

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220147636A1 (en) * 2020-11-12 2022-05-12 Crowdstrike, Inc. Zero-touch security sensor updates

Also Published As

Publication number Publication date
CA2849016A1 (en) 2013-03-28
EP2745276A1 (en) 2014-06-25
EP3355282B1 (en) 2020-08-26
CA2849016C (en) 2019-10-29
GB2495193A (en) 2013-04-03
GB2495193B (en) 2014-09-24
EP2745276B1 (en) 2017-12-20
EP3355282A1 (en) 2018-08-01
GB201216792D0 (en) 2012-11-07
WO2013043590A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
US10733427B2 (en) System and method for detecting, tracking, and counting human objects of interest using a counting system and a data capture device
ES2819859T3 (es) Sistema y método para detectar, rastrear y contar objetos humanos de interés usando un sistema de recuento y un dispositivo de captura de datos
US20130184887A1 (en) System and method for managing energy
US10387896B1 (en) At-shelf brand strength tracking and decision analytics
US11631253B2 (en) People counting and tracking systems and methods
US10262331B1 (en) Cross-channel in-store shopper behavior analysis
US10217120B1 (en) Method and system for in-store shopper behavior analysis with multi-modal sensor fusion
US10354262B1 (en) Brand-switching analysis using longitudinal tracking of at-shelf shopper behavior
US20180300887A1 (en) System and process for detecting, tracking and counting human objects of interest
US9270952B2 (en) Target localization utilizing wireless and camera sensor fusion
US11354683B1 (en) Method and system for creating anonymous shopper panel using multi-modal sensor fusion
WO2012024516A2 (en) Target localization utilizing wireless and camera sensor fusion
US12039803B2 (en) Techniques for automatically identifying secondary objects in a stereo-optical counting system
CN112381853A (zh) 用于利用无线信号和图像来进行人员检测、跟踪和标识的装置和方法
US20210133491A1 (en) System and method for detecting, tracking and counting human objects of interest with an improved height calculation
WO2020260731A1 (es) Method for analysing the behaviour of people in physical spaces and system for said method
Yonetani et al. RetailOpt: An Opt-In, Easy-to-Deploy Trajectory Estimation System Leveraging Smartphone Motion Data and Retail Facility Information