jueves, 26 de enero de 2012

Metodo CamShift

La estimación de posición de un objeto a partir de la percepción del entorno constituye uno de los problemas fundamentales en cualquier sistema de visión por computador. Las técnicas para determinar la posición de un objeto y estimar su movimiento se han aplicado y se están aplicando con éxito en campos tan diversos como el reconocimiento de objetos, navegación de sistemas autónomos en robótica móvil, seguimiento en sistemas de vigilancia y estimación de movimiento en robótica de manipuladores.

Por lo general, cuando se requiere estimar posición y determinar movimiento a partir de la percepción del entorno se emplean cámaras, sonares, sensores láser, etc. En los mecanismos de sensorización basados en cámaras se requiere seleccionar un conjunto determinado de características, ya sean marcas naturales, puntos de interés [1], información de color [2] o cualquier otro tipo de información basada en apariencia y que esté presente en el entorno, de modo que sea proyectada y registrada en imágenes bidimensionales.

Se ha utilizado el algoritmo CAMSHIFT (Continously Adaptive Mean Shift) para realizar el seguimiento de un objeto en la secuencia de imágenes. Este algoritmo es una adaptación del algoritmo Mean Shift [5] para poder tratar las distribuciones de probabilidad dinámicas (con cambios en su tamaño y su posición) que representan los objetos en movimiento. Todas las imágenes serán pasadas del modelo RGB al modelo HSV ya que se utilizará la componente de matiz (canal H del modelo HSV) para segmentar los objetos en el algoritmo CAMSHIFT.

El proceso contempla el siguiente análisis:

  • Establecimiento de una ventana de búsqueda inicial, seleccionando el objeto a seguir en la primera imagen.
  • Definición el histograma de la componente de matiz sobre la ventana de búsqueda de la primera imagen.

  • Para cada nueva imagen, calcular la retroproyección (back-projection) del histograma asociado a la componente de matiz. Esta operación consiste en generar una imagen en escala de grises donde cada píxel tendrá como intensidad el valor del histograma correspondiente al matiz de dicho pixel en la imagen procesada. Así, el valor de cada píxel de esta imagen identificará la probabilidad de que dicho píxel en la imagen procesada pertenezca al objeto.

  • Calculo del centroide de la imagen de retroproyección mediante el algoritmo Mean Shift.
  • Calcular el centroide en la ventana de búsqueda actual, a través del momento de orden 0 y los momentos de orden 1 .(a)
  • Establecer el centroide obtenido como nuevo centro de la ventana de búsqueda .(b)
  • Ejecutar nuevamente las sentencias a y b hasta que el centro de la ventana se desplace menos de una cierta cota predeterminada. (c)
  • En caso de que converja la posición de la ventana se redimensiona la ventana de búsqueda duplicando su tamaño para albergar máximos globales si es que hubiera alguno próximo al máximo local detectado. Se trata de un algoritmo iterativo que converge a máximos de probabilidad.

BIBLIOGRAFIA

[1] Pérez, P., C. Hue, J. Vermaak y M. Gangnet, (2002) “Color-Based Probabilistic Tracking”, En 7th European Conference on Computer Vision-Part I, pp. 661 – 675.

[2] Saunier, N. y T. Sayed, (2006) “A Feature- Based Tracking Algorithm for Vehicles in Intersections”, En: The 3rd Canadian Conference on Computer and Robot Vision, pp. 59-59