Basados en características

Basados en características

Estos métodos toman el camino directo desde la información percibida en la imagen hasta la pose final de la persona. En ésto se diferencian de los sistemas anteriores, que requieren el paso intermedio por un modelo.

La base de estos métodos HMC es una base de datos extensa compuesta de parejas ( características percibidas - pose ). Capturar los movimientos de una persona usando estos métodos significa, simplemente, buscar en esta base de datos hasta encontrar la pareja que más se asemeja a la información que se está percibiendo.

Estos procesos de búsqueda y emparejamiento pueden ser computacionalmente muy complejos (y, por tanto, lentos), y tienen que tratar con los problemas de mínimos locales y ambigüedades. Por otro lado, dependen mucho del número de poses registradas en la base de datos. Si se tienen muchas las búsquedas se hacen más complejas, pero si se tienen pocas puede ser que no se encuentre ninguna que encaje bien con lo que se está percibiendo.

A pesar de estos problemas, existen muchos sistemas que emplean estos algoritmos dada su habilidad para extraer poses a partir de imágenes de calidad limitada en entornos dinámicos y ruidosos. De entre estos algoritmos, sin duda el de la librería OpenNI (empleado por la Kinect©) es uno de los más populares.

Extracción de movimientos a partir de imágenes monoculares.

Existen sistemas HMC basados en características que sólo utilizan información 2D para realizar los emparejamientos entre características y poses. Al igual que ocurría con los sistemas HMC basados en modelo, estos sistemas tienen la gran ventaja de que pueden usarse en imágenes individuales, o en secuencias grabadas por una única cámara. El problema, de nuevo, es su falta de precisión, que los hace más adecuados para capturar patrones generales de movimiento (por ejemplo, el desplazamiento global de la persona), pero no para capturar detalles o gestos.

En este vídeo puede verse un sistema de detección de personas en secuencias monoculares en funcionamiento. En este caso no es un prototipo de investigación, sino un sistema comercial que puede adquirirse en el mercado. La detección se basa en el algoritmo PDET (Pedestrian DETector), desarrollado por eVS embedded Vision Systems Srl. Dicho algoritmo usa un descriptor HOG (Histogram of Gradient Objects) y un clasificador SVM (Support Vector Machines), basados en características.

Copyright © 2012 Xylon d.o.o.

Extracción de movimientos a partir de imágenes RGB-D.

De entre los diferentes sistemas HMC basados en características empleados para extraer la pose de imágenes RGB-D, sin duda el que se ha hecho más popular desde su aparición, hace apenas dos años, es el algoritmo de Shotton et al., utilizado por la librería OpenNI y el sistema Kinect© para detectar la pose de una, o varias personas, sin necesidad de marcadores, de modelos anatómicos ni de entornos controlados.

A continuación, como ejemplo principal de sistema HMC óptico basado en características, se describen las bases del método de extracción de esqueleto de la librería OpenNI, cuyo núcleo es el algoritmo de extracción de pose de Shotton et al.

  • El método se va a concentrar en usar los mapas de profundidad, no la imagen en color. En ésto difiere de la mayor parte de métodos anteriores basados en características.
  • Se crea una base de datos de cientos de miles de poses.Tradicionalmente esto era algo realmente complejo de conseguir, pues requería grabar a muchas personas haciendo movimientos de todo tipo, y etiquetar manualmente la pose que corresponde a cada imagen. Shotton et al., siguiendo trabajos de investigadores anteriores, utilizaron un potente recurso: hicieron que fueran modelo virtuales los que adoptaran las poses utilizadas en el entrenamiento. Y para identificar fácilmente las partes del cuerpo, pintaron una textura de colores sobre el modelo virtual, donde cada color se corresponde con una parte del cuerpo. Hecho ésto, la imagen -virtual- de color nos da la configuración de las partes del cuerpo de la persona (la pose) asociada a cada mapa de profundidad -virtual. Por supuesto, la cámara virtual usada para grabar los movimientos tiene los mismos parámetros que la cámara real usada por la Kinect©. En la imagen, extraida del artículo, pueden verse algunas de las poses virtuales usadas para el entrenamiento:
  • Completado el entrenamiento, durante el funcionamiento la primera tarea del sistema es identificar la silueta de la persona a partir del mapa de profundidad. Para ello, se comprueba el flujo óptico (el movimiento relativo) de los píxeles del mapa de profundidad. Se detectan grupos de píxeles unidos que se desplazan solidariamente, y se etiquetan como posibles siluetas de personas, como muestra la figura:
  • Seguidamente, se exige a la persona que adopte una cierta pose de inicialización. Ésto es un requerimiento externo al método básico: se usa para facilitar la detección y evitar, por ejemplo, que se identifique una silla que se mueve como una persona hecha un ovillo. La nueva SDK lanzada para la Kinect for Windows© elimina este requisito. En la figura puede verse esta pose.
  • Una vez se ha identificado una posible silueta, el método de Shotton et al. busca en la base de datos construida qué pose concuerda mejor con el mapa de profundidad percibido. Esta búsqueda se basa en el empleo de árboles de decisión para que pueda realizarse rápidamente. En la práctica, la pose se identifica a una velocidad de 30 imágenes por segundo (la velocidad a la que tradicionalmente se reproducen las películas en el cine). De nuevo, hay que recalcar que, según el algoritmo original, no es necesaria una pose de inicialización para detectar la pose.

 

 

El método utilizado por la librería OpenNI permite detectar hasta seis personas, y realizar la extracción del esqueleto de dos de ellas, en su versión básica.

Los centroides 3D de los puntos relevantes del esqueleto (manos, codos, cabeza, etc) se extraen del mapa de profundidad. Se añade una pequeña cantidad fija a la distancia percibida, ya que el mapa de profundidad nos da las coordenadas 3D de, por ejemplo, la superficie de la cabeza, pero no de su centroide, que estaría dentro del cráneo. De acuerdo a los resultados de Shotton et al., los errores de detección en estos centroides 3D están por debajo de 10 cm de media.

Para concluir esta sección, se describen las ventajas e inconvenientes de los sistemas HMC ópticos sin marcadores basados en características y de su principal exponente, el algoritmo de extracción de esqueleto de la librería OpenNI:

Ventajas de los sistemas HMC ópticos sin marcadores basados en características, tales como el empleado por OpenNI:

  • No requieren el uso de marcadores sobre la persona.
  • No requieren entornos controlados.
  • Son baratos.
  • Son muy robustos frente a oclusiones parciales.
  • No requieren mucha preparación para empezar a funcionar: no son necesarios ni largos procesos de calibración, ni largas fases previas de entrenamiento (el entrenamiento ya ha sido realizado).

Inconvenientes de los sistemas HMC ópticos sin marcadores basados en características, tales como el empleado por OpenNI:

  • Precisión limitada.
  • Como no comprueban la validez de la pose proporcionada, son sensibles a errores y ruidos introducidos, por ejemplo, por objetos en contacto con la persona.
  • Velocidad limitada, aunque el algoritmo de OpenNI supone una importante excepción a esta regla.

 

Obra publicada con Licencia Creative Commons Reconocimiento 3.0