En las entradas anteriores se ha intentado hacer una clasificación de las formas de enfrentarse al problema del seguimiento de objetos teniendo en cuenta la condición de que la plataforma desde la que obtenemos las imágenes, no sea estacionaria.
Como podemos observar, en todos los estudios realizados, el objetivo final consiste en construir un seguidor de objetos (object tracker), con una serie de fases en común.
El propósito de un object tracker, es generar la trayectoria de un objeto a través del tiempo, localizando su posición en cada frame del video y proporcionar la región en la imagen que ocupa el objeto en cada instante.
La tarea de detectar el objeto y establecer su correspondencia en los frames, se puede afrontar separada o conjuntamente. En el primer caso, las posibles regiones del objeto en los frames se obtendran mediante un algoritmo de detección de objetos, y después el tracker se encargará de realizar las correspondencias de los objetos a través de los frames. En la segunda opción, ambas acciones se estiman conjuntamente actualizando en cada iteración la localización y la información de la región del objeto del frame anterior.
En ambos casos, el objeto tendrá que ser representado usando modelos basados en la apariencia del objeto.
Visto de una manera simple, el tracking consistirá en asignar etiquetas consistentes a los objetos en seguimiento en cada uno de los frames del video. Adicionalmente, dependiento del dominio del tracking, el tracker también puede ofrecer información del objeto, como su orientación, forma o area que ocupa. El seguimiento del objetos, puede resultar complicado debido a factores como:
- perdida de información debida a la proyección del mundo en 3D a una imagen en 2D
- ruido en las imágenes
- movimientos complejos del objeto
- naturaleza articulada del objeto
- oclusiones parciales o totales del objeto
- cambios de iluminación en la escena
- requerimientos de procesamiento en tiempo real.
Si seguimos un proceso ordenado para describir los aspectos a abordar para contruir un tracker, en primer lugar podriamos decir que sería necesario definir una representación adecuada del objeto. Algunas representaciones comunes son representaciones basadas en puntos, formas geométricas primitivas, contornos del objeto o apariencia del objeto.
El siguiento aspecto a tener en cuenta sería la selección de carácteristicas usadas como entrada al tracker, como pueden ser el color, los vertices, ... En la mayoría de los algoritmos de tracking, es necesaria una fase de detección de objetos, tanto en el primer frame como en todos los frames. En nuestro caso, esta fase estaría implementada mediante varias técnicas de substracción de fondo. En última instancia sería necesario construir un método de tracking que usará esta información. Uno de los métodos más utilizados, como hemos visto en los estudios analizados en las entradas anteriores, son diferentes implementaciones del filtro de partículas.
Fijándonos en el análisis que se ha hecho del campo de lás cámaras en movimiento, observamos que los estudios van enfocados a resolver problemáticas concretas, en entornos concretos, por ejemplo el seguimiento de jugadores en un campo de fútbol, el seguimiento de personas en entornos indoor con unos dispositivos concretos mediante una cámara robotizada, ... Analizando las técnicas, me parece muy costoso implementar y poco fáctible considerar éstas técnicas en la linea que estamos siguiendo hasta ahora.
Teniendo en cuenta que solo hemos desarrollado una fase de lo que es el tracking en sí, que sería la fase de la detección de objetos, me gustaría proponer la opción de completar todo un proceso de tracking, tocándo asi cada una de las fases necesarias. Como, según me habeis comentado, no se había tocado el tema del tracking en los pfc, podría tomarse éste como una base para proponer otros estudios en situaciones más concretas. A continuación, hago una propuesta de una linea de avance a seguir si me dais vuestro beneplácito:
- Cerrar la fase de técnicas de sustracción de fondo, con una comparativa y un apartado de conclusiones, señalando los pros y contras de cada una de ellas, basándonos en los experimentos realizados.
- Considerar e implementar algun filtro para la mejora en la detección de objetos (filtros para eliminar ruido, etc ...)
- Implementar algun modelo para representar el objeto detectado, que sirva de entrada al algoritmo de tracking.
- Implementar uno o varios algoritmos de tracking, y analizar como se comporta en diferentes condiciones, aplicándolo a diferentes videos, para llegar a conclusiones respecto a su rendimiento y aplicabilidad.