Seguimiento de objetos
# Seguimiento de objetos

El seguimiento de objetos es el proceso de estimar en el tiempo la ubicación de uno o más objetos móviles mediante el uso de una cámara. La rápida mejora en cuanto a calidad y resolución de los sensores de imagen, juntamente con el dramático incremento en cuanto a la potencia de cálculo en la última década, ha favorecido la creación de nuevos algoritmos y aplicaciones mediante el seguimiento de objetos.

El seguimiento de objetos puede ser un proceso lento debido a la gran cantidad de datos que contiene un video. Además, la posible necesidad de utilizar técnicas de reconocimiento de objetos para realizar el seguimiento incrementa su complejidad.

## Diseño de un seguidor de objetos

Las cámaras de video capturan información sobre los objetos de interés en forma de conjunto de píxeles. Al modelar la relación entre el aspecto del objeto de interés y el valor de los píxeles correspondientes, un seguidor de objetos valora la ubicación de este objeto en el tiempo. La relación entre el objeto y la proyección de su imagen es muy compleja y puede depender de más factores que no sean solamente la posición del objeto, lo que implica que el seguimiento de objetos sea una tarea difícil.

Los principales retos que hay que tener en cuenta en el diseño de un seguidor de objetos están relacionados con la similitud de aspecto entre el objeto de interés y el resto de objetos en la escena, así como la variación de aspecto del propio objeto. Dado que el aspecto tanto del resto de objetos como el fondo puede ser similar al del objeto de interés, esto puede interferir en su observación. En ese caso, las características extraídas de esas áreas no deseadas puede ser difícil de diferenciar de las que se espera que el objeto de interés genere. Este fenómeno se conoce con el nombre de clutter.

### Dificultades del seguimiento

Además del reto de seguimiento que causa el clutter, los cambios de aspecto del objeto en el plano de la imagen dificulta el seguimiento causado por uno o más de los siguiente factores siguientes:

* Cambios de posición. El objeto móvil de interés varia su aspecto cuando se proyecta sobre el plano de la imagen, por ejemplo, al girar.
* Iluminación ambiente. La dirección, la intensidad y el color de la luz de ambiente influyen en el aspecto del objeto de interés. Asimismo, los cambios en la iluminación global son con frecuencia un reto en las escenas al aire libre.
* Ruido. El proceso de adquisición de imágenes introduce en la señal de la imagen un cierto grado de ruido que depende de la calidad del sensor. Las observaciones del objeto de interés pueden dañarse y por tanto afectar al rendimiento del seguidor.
* Oclusiones. Puede ser que un objeto de interés no se observe bien cuando sea parcial o totalmente tapado por otros objetos en la escena. Las oclusiones son generalmente debidas a:
   * Un objeto de interés que se mueve detrás de un objeto estático, como por ejemplo una columna.
   * Otros objetos que se mueven en la escena de manera que entorpecen la visión de un objeto de interés.

### Representación del objeto

En un escenario de seguimiento, un objeto se puede definir como cualquier cosa que sea de interés para su posterior análisis. Los objetos se pueden representar mediante sus formas y apariencias. A continuación se describen las representaciones de forma del objeto utilizadas generalmente:

* Puntos. El objeto está representado por un punto, es decir, por un centroide o por un conjunto de puntos. En general, la representación de puntos es adecuada para el seguimiento de objetos que ocupan pequeñas regiones en una imagen.
* Formas geométricas primitivas. La forma del objeto se representa con un rectángulo, una elipse, etc. El movimiento de estas representaciones es generalmente modelada por la translación, afinidad o la transformación proyectiva (homografía). Aunque las formas geométricas primitivas son más adecuadas para la representación de objetos rígidos simples, también se utiliza para el seguimiento de objetos no rígidos.
* Silueta del objeto y contorno. La representación del contorno define el límite de un objeto. La región dentro del contorno se conoce como la silueta del objeto. Estas representaciones son adecuadas para el seguimiento de formas complejas no rígidas.
* Modelos articulados de forma. Los objetos articulados están formados por partes del cuerpo que están unidas por articulaciones. Por ejemplo, el cuerpo humano es un objeto articulado por el torso, piernas, manos, cabeza y pies unidos por articulaciones. La relación entre estas partes se rige por los modelos del movimiento cinemático. Para representar un objeto articulado, se puede modelar los componentes utilizando cilindros o elipses.
* Modelos esqueléticos. El esqueleto del objeto se puede extraer mediante la transformación del eje medio de la silueta del objeto. La representación del esqueleto se puede utilizar para modelar objetos articulados y rígidos.

También hay varias maneras de representar las características de aspecto de los objetos. Hay que tener en cuenta que las representaciones de forma también se pueden combinar con las de aspecto para llevar a cabo el seguimiento. Algunas de las representaciones de aspecto más comunes son:

* La densidad de probabilidad del aspecto de los objetos. Las estimaciones de densidad de probabilidad del aspecto de los objetos pueden ser paramétricas o no paramétricas. Esta densidad de probabilidad (color, textura) se puede calcular a partir de las regiones de la imagen especificada por los modelos de forma (región interior de una elipse o un contorno).
* Plantillas. Las plantillas están formadas con formas geométricas simples o siluetas. Una de las ventajas de las plantillas es que aporta tanto la información espacial como la de aspecto. Las plantillas, sin embargo, solo codifican el aspecto de los objetos generados a partir de una única vista. Por tanto, solo son adecuadas para seguir objetos donde las posiciones no varíen considerablemente al largo del seguimiento.
* Modelos activos de aspecto. Los modelos activos de aspecto se generan mediante el modelado simultáneo de la forma del objeto y su aspecto. En general, la forma del objeto se define por un conjunto de puntos de referencia. Similar a la representación basada en el contorno, los puntos de referencia pueden residir en la frontera del objeto o, alternativamente, pueden residir dentro de la región de éste. Por cada punto de referencia se guarda un vector de aspecto en forma de color, textura o magnitud del gradiente. Los modelos activos de aspecto requieren una fase de entrenamiento donde tanto la forma como su aspecto asociados se conocen a partir de un conjunto de muestras.
* Modelos de aspecto multivista. Estos modelos codifican diferentes puntos de vista de un objeto. Un método para representar los diferentes puntos de vista de un objeto es generar un subespacio de las proyecciones que se han dado.

### Selección de características

Seleccionar las características adecuadas tiene un papel fundamental en el seguimiento. En general, la característica visual más deseada es la singularidad porque los objetos se pueden distinguir fácilmente en el espacio de características. Los detalles de las características más comunes son los siguientes:

* Color: En el procesamiento de imágenes se utiliza normalmente el espacio de color RGB (rojo, verde y azul) para representar esta característica. A pesar de ello, el espacio RGB no es un espacio de color percentualmente uniforme, y por tanto se han utilizado una gran variedad de espacios de color en el seguimiento. El color aparente de un objeto se ve influenciado principalmente por dos factores físicos:
   * La distribución de energía espectral de la fuente.
   * Las propiedades de reflectancia de la superficie del objeto.
* Márgenes. Los límites de los objetos suelen generar fuertes cambios en la intensidad de la imagen. La detección de márgenes se utiliza para identificar dichos cambios. Una propiedad importante de los márgenes es que son menos sensibles a los cambios de iluminación en comparación con las características de color. Los algoritmos que hacen un seguimiento de los límites de los objetos suelen utilizar los márgenes como características representativa.
* Flujo óptico. EL flujo óptico es un campo denso de desplazamiento de vectores que define la translación de cada píxel en una región. Se calcula mediante la restricción de brillantez constante y se utiliza generalmente como característica de la segmentación basada en movimiento, así como en aplicaciones de seguimiento.
* Textura. La textura es una medida de la variación de intensidad de una superficie que cuantifica las propiedades como por ejemplo la suavidad y la regularidad. En comparación con el color, la textura requiere una etapa de procesamiento para generar los descriptores. Similares a las características de límites, las características de textura son menos sensibles a los cambios de iluminación en comparación con el color.

### Detección de la imagen

Cada método de seguimiento requiere un mecanismo de detección de objetos, ya sea en cada fotograma o cuando el primer objeto aparece en el vídeo. Un método común para la detección de objetos es el uso de la información de un solo fotograma. No obstante, algunos métodos de detección de objetos hacen uso de la información temporal calculada a partir de una secuencia de imágenes para reducir así el número de falsas detecciones. Esta información temporal se calcula generalmente con la técnica frame differencing, que pone de manifiesto las regiones cambiantes en tramos consecutivos. Una vez se tiene en cuenta las regiones del objeto en la imagen, es entonces tarea del seguidor de realizar la correspondencia de objeto de un fotograma a otro para generar el seguimiento. Los métodos más populares en el contexto del seguimiento de objetos son:

* Los detectores de puntos.
* La sustracción del fondo.
* La segmentación.

**Detectores de puntos**

Los detectores de puntos se utilizan para encontrar los puntos de interés en imágenes que tienen una textura expresiva en sus respectivas localidades. Los puntos de interés se han utilizado durante mucho tiempo en el contexto del movimiento y en los problemas de seguimiento. Una característica deseable en cuanto a los puntos de interés es su invariación en los cambios de iluminación y en el punto de vista de la cámara.

**Sustracción del fondo**

La detección de objetos se puede conseguir mediante la construcción de una representación de la escena llamada modelo de fondo y después encontrando las desviaciones del modelo para cada fotograma entrante. Cualquier cambio significativo en una región de la imagen del modelo de fondo representa un objeto en movimiento. Los píxeles que constituyen las regiones en proceso de cambio se marcan para su posterior procesamiento. En general, un algoritmo de componentes conectados se aplica para obtener regiones conectadas que corresponden a los objetos. Este proceso se conoce como la sustracción de fondo.

**Segmentación**

El objetivo de los algoritmos de segmentación de la imagen es dividir la imagen en regiones perceptualmente similares. Cada algoritmo de segmentación abarca dos problemas, los criterios para una buena partición y el método para conseguir la partición eficiente. Existen diferentes técnicas de segmentación de objetos en movimiento que se pueden separar en dos grandes grupos: las basadas en movimientos y las basadas en características espaciotemporales.

**Segmentación**

**Técnicas basadas en movimiento**

Estas técnicas hacen uso principalmente de la información de movimiento. Dentro de este grupo podemos diferenciar dos tipos: los que trabajan con el movimiento en dos dimensiones (2D) y los que lo hacen en tres (3D). Dentro de las técnicas en dos dimensiones encontramos:

* Técnicas basadas en las discontinuidades del flujo óptico. Esta técnica realiza la segmentación basada en el desplazamiento o en el flujo óptico. Este desplazamiento o flujo óptico de un píxel es un vector de movimiento que representa el movimiento entre el píxel en una imagen y el píxel correspondiente en la siguiente imagen.
* Técnicas basadas en la detección de cambios. El principal objetivo de estos algoritmos es la detección de los píxeles del objeto y los píxeles de fondo. Los algoritmos de detección asumen que el fondo es normalmente estacionario y tiene un movimiento simple global y que además los cambios entre imágenes consecutivas son debidos al movimiento.

Los modelos de movimiento en 2D son simples, pero menos realistas. Como consecuencia, los sistemas de segmentación en 3D son los más utilizados en la práctica. Dentro de los métodos en tres dimensiones se pueden distinguir dos algoritmos diferentes:

* Estructura a partir del movimiento, llamados SFM (Structure from motion).
* Algoritmos paramétricos.

El SFM generalmente maneja escenas 3D que contienen información relevante de profundidad, mientras que en los métodos paramétricos no se asume esta profundidad. Otra diferencia importante entre los dos algoritmos es que en el SFM se asume un movimiento rígido, mientras que en los algoritmos paramétricos solo se asume rigidez de movimiento en partes de la escena.

**Segmentación**

**Técnicas espaciotemporales**

Los métodos de segmentación basados únicamente en movimiento son sensibles a las inexactitudes de la valoración de movimiento. Para solucionar estos problemas, en los métodos espaciotemporales se propone complementar el movimiento mediante el uso de la información espacial. Hay dos enfoques dominantes:

* Basados en límites. Estos métodos se basan en la extracción de márgenes muy prominentes para segmentar los objetos de interés. Las características de los márgenes también se han utilizado en el contexto de modelos activos de contorno.
* Basados en regiones. Esta técnica se centra en un conjunto de regiones o particiones iniciales generalmente definidas con características espaciales o espaciotemporales. El objetivo de esta partición es proporcionar un soporte mayor sobre el cual se derivará el movimiento. Utilizando la información de toda la región, el movimiento se utiliza para guiar el proceso de segmentación.

### Técnicas de seguimiento de objetos

El seguimiento de objetos es una tarea muy importante dentro del campo del procesado de vídeo. El objetivo principal de las técnicas de seguimiento de objetos es generar la trayectoria de un objeto a través del tiempo, posicionando éste dentro de la imagen. Podemos hacer una clasificación de técnicas según tres grandes grupos: seguimiento de puntos, seguimiento de núcleo (kernel) y seguimiento de siluetas.

**Técnicas de seguimiento de puntos**

Los objetos detectados en imágenes consecutivas están representados cada uno por uno o varios puntos y la asociación de éstos está basada en el estado del objeto en la imagen anterior, que puede incluir posición y movimiento. Se requiere de un mecanismo externo que detecte los objetos de cada fotograma. Esta técnica puede presentar problemas en escenarios donde le objeto presenta oclusiones y en las entradas y salidas de estos. Las técnicas de seguimiento de puntos se pueden clasificar también en dos grandes categorías:

* Deterministas. Determinan el coste de correspondencia a través de una predicción futura del comportamiento del objeto a partir del anterior. Este coste se define normalmente como una combinación de las siguientes restricciones:
   * Proximidad.
   * Velocidad máxima.
   * Cambios de velocidad pequeños.
   * Movimiento común.
   * Rigidez.
   * Uniformidad por proximidad.
* Estadísticos. Estos métodos solucionan los problemas de seguimiento considerando las observaciones y las incertidumbres del modelo para la valoración del estado del objeto que se está siguiendo. Utilizan el espacio de estados para modelar las propiedades del objeto tales como la posición, la velocidad y la aceleración. Las observaciones consisten normalmente en la posición del objeto dentro de la imagen, que se obtiene mediante mecanismos de detección. Algunos de los métodos utilizados son:
   * Filtro de Kalman.
   * Filtro de partículas.
   * Filtro para la probabilidad conjunta de los datos
   * Seguimiento de múltiples hipótesis.

**Técnicas de seguimiento del núcleo (kernel)**

Las técnicas de seguimiento del núcleo realizan un cálculo del movimiento del objeto, el cual está representado por una región inicial, de una imagen a la siguiente. El movimiento del objeto se expresa en general en forma de movimiento paramétrico (translación, rotación, afín...) o mediante el campo de flujo calculado en los siguientes fotogramas. Podemos distinguir dos categorías:

* Seguimiento utilizando plantillas y modelos de apariencia basados en densidad de probabilidad. El método que más se utiliza en esta categoría es el llamado template matching.
* Seguimiento basado en modelos multivista. Se utiliza cuando el aspecto del objeto cambia drásticamente y como consecuencia se pierde el seguimiento de este objeto.

**Técnicas de seguimiento de siluetas**

Estas técnicas se realizan mediante la valoración de la región del objeto en cada imagen utilizando la información que contiene. Esta información puede ser en forma de densidad de aspecto o de modelos de forma que son generalmente presentados con mapas de márgenes. Dispone de dos métodos:

* Correspondencia de forma. Se busca la silueta del objeto y su modelo asociado dentro de la imagen actual.
* Seguimiento del contorno. Evolucionan un contorno inicial en un fotograma anterior a la nueva posición en el fotograma actual.

## Aplicaciones

El seguimiento de objetos de interés en vídeo es la base de muchas aplicaciones que van desde la producción de vídeo hasta la vigilancia remota, y desde la robótica hasta los juegos interactivos. Los seguidores de objetos se utilizan para mejorar la comprensión de ciertos conjuntos de datos de vídeo de aplicaciones médicas y de seguridad; para aumentar la productividad al reducir la cantidad de mano de obra que es necesaria para completar una tarea y par dar lugar a la interacción natural con máquinas.

* Medios de comunicación y realidad aumentada. El seguimiento de objetos es un elemento importante en la posproducción y captura de movimiento para las industrias del cine y la televisión.
* Aplicaciones médicas e investigación biológica. En general, el seguimiento de objetos ha sido cada vez más utilizado por sistemas médicos para ayuda en el diagnóstico y acelerar la tarea del cirujano. El seguimiento de objetos puede estimar la posición de determinados tejidos blandos o de instrumentos como por ejemplo agujas durante al cirugía.
* Vigilancia e inteligencia de negocios. El seguimiento de objetos es una herramienta adecuada, utilizada en la vigilancia automática de vídeo para la seguridad, la vida asistida y las aplicaciones de inteligencia de negocio.
* Tele-colaboración y juegos interactivos. Las cámaras web estándar ya incluyen el software de seguimiento que localiza y sigue la cara de un usuario para videoconferencias desde el escritorio. Por otro lado, el seguimiento de ojos se utiliza para estimar el contacto visual entre los asistentes de una reunión y así mejorar la eficacia de la interacción en videoconferencias. El seguimiento de objetos también está cambiando la manera de enviar el control a las máquinas. Esta modalidad de interacción natural se utiliza en juegos interactivos.
* Instalaciones de are y espectáculos. El seguimiento de objetos se utiliza cada vez más en instalaciones de arte y en actuaciones donde la interacción es posible gracias al uso de cámaras de vídeo y a menudo por los sistemas de proyección. La interactividad puede ser utilizada para mejorar la narrativa de una obra o para crear acciones inesperadas o reacciones del entorno.
