TÉCNICAS ROBUSTAS DE DETECCION Y SEGUIMIENTO DE PERSONAS PARA SISTEMAS MULTIRROBOT D. Mantecón Grupo de Robótica, Visión y Control; Camino de los Descubrimientos, sn; Sevilla Tel: 954487357; Fax: 954487340; Email: mantecon@cartuja.us.es J. R. Martínez-de Dios Grupo de Robótica, Visión y Control; Camino de los Descubrimientos, sn; Sevilla Tel: 954487357; Fax: 954487340; Email: jdedios@cartuja.us.es A. Ollero Grupo de Robótica, Visión y Control; Camino de los Descubrimientos, sn; Sevilla Tel: 954487349; Fax: 954487340; Email: aollero@cartuja.us.es Resumen En este artículo se presentan técnicas de visión por computador para la detección y seguimiento robusto de personas en escenarios no estructurados. Las técnicas propuestas se basan en la identificación de regiones homogéneas con características de color y morfológicas deseadas. Pueden aplicarse a secuencias de imágenes tomadas por cámaras estáticas o a bordo de robots en movimiento. Las técnicas desarrolladas han sido validadas en los experimentos generales del proyecto AWARE en Utrera (Sevilla) en marzo de 2007. Palabras Clave: Visión por computador, segmentación de imágenes, sistemas multi-cámaras. 1 INTRODUCCIÓN En los últimos años los sistemas multi-robot han tenido un desarrollo significativo. La coordinación de robots que se reparten tareas de una misión o que cooperan entre sí aprovechando sus sinergias aporta ventajas importantes en numerosas aplicaciones. Aunque la mayoría de los sistemas todavía son para aplicaciones en interiores, recientemente se están aplicando a problemas en escenarios cada vez más complejos como entornos naturales, [5], y entornos urbanos, ver por ejemplo [4]. Los sistemas multi-robot para entornos no estructurados requieren técnicas de percepción con robustez a variaciones en las condiciones del escenario tales como cambios en la iluminación, ocultaciones temporales de los objetos, pérdida de visibilidad, etc… En muchos casos, una única entidad (p.e. un robot o un sistema de visión) no es capaz de adquirir toda la información necesaria para la aplicación debido a las características del escenario por lo que la cooperación de varias entidades resulta de gran interés. En este artículo se describen técnicas de percepción para sistemas multi-robot en aplicaciones de gestión de desastres. En estos escenarios resulta de gran interés disponer de técnicas que permitan detectar y seguir personas de forma fiable y robusta. La detección y seguimiento de personas ha sido ampliamente tratada en numerosos trabajos. Sin embargo, la gran mayoría de las técnicas se basan en detectar el movimiento en imágenes estáticas, ver [8] y [9]. Estas técnicas calculan a partir de imágenes estáticas modelos del fondo que permiten segmentar los objetos móviles. Por tanto, no son adecuadas a secuencias de imágenes tomadas por robots en movimiento como por ejemplo UAVs. Para discriminar personas de otros objetos móviles estas técnicas se basan en restricciones tales como la verticalidad, los tamaños y formas típicos de las personas e incluso modelan los movimientos al andar, ([7], [11]). En la mayoría de los casos, estas restricciones limitan las técnicas que sólo funcionarán bajo unas ciertas condiciones o escenarios específicos. Además, todavía existen cuestiones abiertas que dependen de la complejidad del escenario como oclusiones, número de objetos móviles,... En este artículo se proponen técnicas para detectar y seguir de forma robusta personas en secuencias de imágenes estáticas o en movimiento. Las técnicas propuestas se basan en identificar regiones con características homogéneas de color y morfología. El trabajo descrito ha sido realizado en el marco del proyecto AWARE, “Autonomous selfdeploying and operation of Wireless sensor-actuator networks cooperating with AeRial objEcts”, IST-200633579 financiado por el programa IST del VI FP de la Comisión Europea (http://www.aware-project.net). El objetivo principal de AWARE es desarrollar una plataforma mediante la cooperación de UAVs y redes inalámbricas de sensores-actuadores y será validado en escenarios de desastres urbanos. En este artículo se describen algunas de las técnicas del Sistema de Percepción de AWARE para realizar el seguimiento cooperativo de bomberos y vehículos empleando el sistema de cámaras. cámara. Con el objetivo de reducir la incertidumbre de las estimaciones, en la segunda fase las medidas procedentes de todas las cámaras se integran en un filtro de Kalman Extendido para estimar la posición 3D de cada persona con la menor incertidumbre posible, [1]. El artículo está organizado como sigue; en la Sección 2 se ofrece una descripción general de las técnicas utilizadas. Las Secciones 3, 4 y 5 detallan los algoritmos de detección. En la Sección 6 se muestran algunos resultados obtenidos en los experimentos generales de AWARE. Las últimas secciones se dedican a las conclusiones y los agradecimientos. 2 DESCRIPCIÓN GENERAL Esta sección describe las técnicas usadas para detección y seguimiento 3D de bomberos a partir de secuencias de imágenes procedentes de cámaras con distintos puntos de vista. El sistema de percepción de la plataforma AWARE está formado por cámaras estáticas integradas en los llamados Ground Camera Node, GCN, y por cámaras móviles montadas en helicópteros autónomos, ver Figura 1. De forma simultánea las cámaras capturan imágenes de la escena desde diferentes puntos de vista. Figura 2: Esquema general para la detección 3D de personas. Este artículo se centra en la primera de las fases: la segmentación de personas y extracción de características. Debe tenerse en cuenta que la complejidad en la detección desde cada cámara dependerá de su posición respecto al escenario, las condiciones de iluminación particulares, de la óptica, etc. El objetivo de las técnicas descritas es identificar de forma robusta y fiable sin necesidad de implementar distintos algoritmos en función de las características de las imágenes de cada cámara. En la Figura 3 se muestra el esquema general de las técnicas propuestas para la identificación de personas. En los experimentos presentados, las técnicas se han particularizado para el seguimiento de bomberos. El objetivo es identificar regiones en las imágenes con características uniformes de color. Se basa en aplicar un segmentador de color junto con una extracción de blobs para identificar regiones coherentes en la imagen. Ambas características son las entradas a un sistema de decisión. Por último, se estima la posición de la persona en el plano imagen. Figura 1: Esquema general del sistema de percepción multi-cámara (vista aérea). 3 La estimación multi-cámara de la posición 3D de personas se realiza en dos fases de procesamiento, ver Figura 2. En la primera se obtienen descriptores de las personas en la escena mediante la ejecución de algoritmos de segmentación y detección en las secuencias de imágenes de cada El primer paso del esquema propuesto, ver Figura 3, es aplicar una técnica de segmentación de color con el objetivo de identificar objetos del color que se desea identificar, como por ejemplo el color rojo para los camiones de bomberos. Para la identificación de bomberos, el objetivo es detectar las bandas reflectantes de color amarillo fluorescente de SEGMENTADOR DE COLOR los uniformes. La presencia de bandas reflectantes es obligatoria en este tipo de trajes. Además, dicho color no es frecuente en las escenas típicas de los escenarios considerados. contemplar diferentes rangos de color se requieren funciones de densidad de probabilidad con múltiples modos. Para ello, se adoptan filtros de partículas usando una métrica de probabilidad en un espacio de color 3D como los espacios RGB o HSI. Para una medida eficiente de la distancia, las tres componentes de color se consideran como variables aleatorias independientes. De este modo, la función de probabilidad 3D conjunta puede ser descompuesta en tres distribuciones unidimensionales marginales en cada eje de color. Se construyen tres mezclas de Gaussianas (una por color) a partir de un filtro de partículas. La salida del segmentador de color es una imagen binaria que muestra en color negro los píxeles que en la imagen original tienen el color deseado, mientras que al resto de píxeles se les asigna el color blanco. Figura 3: Esquema general de las técnicas de percepción propuestas para la detección de bomberos. Existe una amplia variedad de clasificadores de color agrupándose en dos grupos principales: clasificadores geométricos y clasificadores estadísticos. El primero clasifica colores basándose en la formación de clusters o conglomerados en el espacio de color y por tanto, son muy dependientes de la métrica usada, tales como las distancias Euclídea, de Mahalanobis o de Manhattan. En cuanto al segundo, las clases son modeladas como funciones de densidad de probabilidad y la métrica empleada para la clasificación se basa con frecuencia en la probabilidad a posteriori. Las funciones de densidad de probabilidad pueden ser paramétricas (familias clásicas de distribuciones) o tener algún tipo de representación no paramétrica como histograma o filtros de partículas. La técnica desarrollada, ver [1], pertenece a la segunda familia de métodos. Se trata de una técnica basada en aprendizaje, que normalmente se aplica fuera de línea. En el aprendizaje se obtienen modelos de representación de los colores deseados a partir de imágenes de entrenamiento segmentadas mediante máscaras. Dichas máscaras se crean poniendo a valor cero todos los píxeles de la imagen excepto los píxeles del color deseado, que se mantienen con su color original. En general es difícil modelar el color con precisión mediante una única función de densidad de probabilidad unimodal, ya que depende de las condiciones de iluminación, de la óptica de la cámara, de la posición de la cámara, etc. Así, para A continuación, los píxeles segmentados se agrupan en conglomerados. Cada conglomerado será interpretado como un objeto separado. Se ha implementado una técnica de formación de conglomerados basada en el método de max-min. Los conglomerados obtenidos pueden ser originados por objetos deseados o por objetos espurios. Para eliminar los conglomerados espurios se aplica un conjunto de restricciones relativas a su forma, número mínimo de píxeles, dispersión, etc. Los conglomerados que cumplen las restricciones se corresponden con un posible bombero en la imagen. En la Figura 4 se muestra un ejemplo con la imagen original y la imagen con los conglomerados resultantes. En general, la detección de los píxeles de color amarillo fluorescente no es suficiente para la caracterización en color de bomberos. Se podrían emplear estructuras de color más complejas que involucren varios colores. El uso de esta información junto con otras características como tamaño o morfología permitiría realizar detecciones más robustas. Es por ello por lo que se implementa una técnica de extracción de blobs, que se describe en la sección siguiente. 4 EXTRACCIÓN DE BLOBS El segundo paso en el esquema propuesto en la Figura 3 es la extracción de blobs con el objetivo de identificar en las imágenes regiones con características de color homogéneas. En comparación con la segmentación, la extracción de blobs tiene un objetivo más modesto –no se intenta segmentar formas exactas de objetos, sino que se pretende extraer características repetitivas y robustas que permitan caracterizar el objeto y facilite su seguimiento, [3]. La representación del blob no extrae formas exactas, y las conexiones finas y estrechas entre distintas regiones se omiten, ver Figura 4. nivel se obtiene filtrando el nivel inferior. A cada píxel de cada uno de los niveles de la pirámide se le asigna un par medida-confianza (p, r), donde p es una medida del color del píxel y r es la confianza asociada a dicha medida. El objetivo de la extracción de blobs es identificar regiones con características morfológicas y de color similares al del uniforme de los bomberos para determinar su presencia y mejorar la precisión en su localización. Figura 5: Esquema para la extracción de blobs. El par medida-confianza de cada píxel del nivel superior se obtiene filtrando un entorno de 4x4 píxeles del nivel inmediatamente inferior. Dicho filtrado se realiza por medio de una técnica de estimación robusta basada en IRLS, Iterative Reweighted Least Squares, [10] combinada con una técnica SOR, Sucessive Outlier Rejection, [2]. Mediante IRLS se obtiene la mejor representación para dicho píxel a partir de los 4x4 candidatos. Previamente se han eliminado de los 4x4 candidatos aquéllos considerados como outliers aplicando la técnica de rechazo sucesivo de outliers, SOR, [2]. En cada iteración del SOR se realiza una estimación de la media en el entorno de vecindad 4x4 mediante la expresión: p* = Figura 4: Imagen tomada en los experimentos y resultado del método del segmentador de color. 4.1 TÉCNICA DE EXTRACCIÓN DE BLOBS Se han desarrollado numerosas técnicas de extracción de blobs. Como base del método implantado se ha preferido la técnica descrita en [2] por su gran robustez y repetitibilidad incluso en imágenes tomadas por cámaras diferentes, [2], [6] y [3]. La Figura 5 muestra los pasos del método de extracción de blobs. El primer paso es la creación de una estructura piramidal multi-resolución, donde la resolución de cada nivel es la mitad que la del nivel anterior. Cada 1 Nr donde ∑ p k rk wk ok r (1) N r = ∑ rk wk ok . k ok son los pesos de rechazo de los outliers, tomados inicialmente como ok=1. En cada iteración, se halla el píxel con mayor residuo dk=|p* - pk|. Si dicho residuo supera dmax, este píxel se toma como outlier y se establece su peso a ok=0. Este procedimiento es iterativo hasta que el residuo de mayor valor sea menor que dmax. dmax se utiliza para controlar la sensibilidad del algoritmo. La estimación p* al final de las iteraciones estará cercano a la estimación óptima. Se toma dicha estimación como estimación inicial para la aplicación del método IRLS. Cada iteración de IRLS tiene la misma forma que (1), pero cambiando los pesos de rechazo de los outliers por: ok = ρ (d k ) orden 2, calculado en el paso 3 del método de extracción de blobs. ' (2) dk IRLS proporciona el valor de p* de los píxeles de cada nivel. La confianza r* de cada píxel se computa empleando la siguiente expresión: 1 si ∑ k rk wk ok ≥ rmin ∑ k wk r* = en otro caso 0 (3) donde ok son los pesos usados en la última iteración del IRLS y rmin es un umbral que corresponde a la fracción de área mínima requerida para la creación del blob. Al completar el filtrado cada píxel contiene un par medida-confianza (p*,r*). La confianza es una variable binaria, r*∈{0,1} que representa la ausencia o presencia de una medida dominante en la región local de la imagen. Cuando r*=1 la medida dominante se encuentra en p*. Una vez que la pirámide ha sido calculada, se emplea para etiquetar las regiones en la imagen. Seguidamente se calculan los momentos de cada región y su forma se aproxima por elipses caracterizadas sus momentos de orden 0, 1 y 2, ver Figura 6. Finalmente, se asocian blobs adyacentes y de color similar usando un esquema de fusión acumulativa de blobs. La Figura 6 muestra un ejemplo de la ejecución de la técnica de extracción de blobs con sus pasos intermedios. La imagen se tomó en los experimentos generales de AWARE. 5 DETECCIÓN Y ESTIMACIÓN DE LA POSICIÓN En el tercer paso del esquema de la Figura 3 los objetos son detectados a partir de la información de los conglomerados obtenidos del segmentador de color y de las regiones resultantes de la extracción de blobs. Se ha implementado un clasificador que discrimina entre los objetos de interés, bomberos en este caso, y otros objetos empleando un sistema de puntuación basado en reglas. Estas reglas se basan en características de los conglomerados y blobs extraídos. Se emplean criterios como distancia entre centroides de conglomerados y blobs y área del blobs. También se emplean criterios de verticalidad del blobs expresada como el cociente entre las componentes de la matriz de inicia que se obtiene a partir de los momentos de Figura 6: Pasos en el algoritmo de extracción de blobs: 1. Imagen original, 2. Pirámide multiresolución, 3. Etiquetas, 4, Blobs antes de fusionar, 5. Blobs resultantes tras fusionar. En estas reglas también se tiene en cuenta el color del blobs. Para ello se emplean criterios de distancia de color sobre el espacio RGB respecto al modelo de color esperado. Estas reglas permitirían seleccionar las personas que se desean seguir en base al color de su indumentaria. Finalmente, se estima la posición del bombero detectado como un promedio entre el centroide del conglomerado y el centroide del blob, ponderando este último con un peso mayor al ser las estimaciones de los centroides de los blobs más robustas y fiables que las de los conglomerados. 6 EXPERIMENTOS El método y técnicas desarrolladas han sido validados en los primeros experimentos generales del proyecto AWARE que tuvieron lugar en Utrera (Sevilla) en Marzo de 2007 con la participación y asistencia de las Brigadas de Bomberos de Sevilla. Entre otros, se realizaron experimentos consistentes en detectar, identificar y seguir bomberos mientras caminaban. Se tomaron imágenes desde cámaras: cámaras visuales estáticas instaladas en dos GCNs (Ground Cameras Nodes) y una cámara instalada en un helicóptero autónomo de Flying Cam, [12]. La Figura 7 muestra dos fotografías del montaje. Figura 8: Imágenes desde un GCN y un UAV. Se marca con puntos rojos la posición estimada del bombero. Figura 7: Arriba) Escenario de los experimentos con helicóptero de Flying Cam. En primer plano, aparece una de las GNCs. Abajo) Fotografía tomada en los experimentos generales de Utrera’07. En la Figura 8 se muestran 4 imágenes de un bombero tomadas de forma simultánea por una cámara estática y por el helicóptero. A estas imágenes se les aplicó el segmentador de color descrito en la Sección 2. Los resultados, en las imágenes de la izquierda de Figura 9, muestran que en cada imagen se detecto un único conglomerado correspondiente al bombero. A continuación se aplicó el método de extracción de blobs descrito en la Sección 4. En las imágenes resultantes mostradas a la derecha de la Figura 9 se detectan uno o más blobs de color oscuro en la posición del bombero. El detector recibe estos datos y los emplea para identificar la presencia de personas empleando los criterios descritos en la Sección 5. En la Figura 8 se muestran los resultados que se obtienen con esta secuencia de imágenes. Las posiciones estimadas de los bomberos en ambas secuencias se muestran con un punto de color rojo. Figura 9: Izquierda) Imágenes resultantes de la segmentación de color. En cada imagen el bombero se representa mediante un único conglomerado. Derecha) imagen resultantes de aplicar la extracción de blobs. 7 CONCLUSIONES En este artículo se proponen técnicas para detectar y seguir de forma robusta personas en secuencias de imágenes. La mayoría de los métodos de seguimiento de personas se basan en detección de movimiento y, por tanto, requieren cámaras estáticas. Las técnicas propuestas se basan únicamente en la identificación de regiones homogéneas con características de color y morfológicas deseadas. Por tanto, soportan secuencias de imágenes tomadas de cámaras estáticas o en movimiento lo cual permite su utilización en sistemas multi-robot. Las técnicas contienen entre otros métodos de segmentación de color y de extracción de blobs. El segmentador de color, que se basa en aprendizaje fuera de línea, permite ser entrenado para problemas específicos. La extracción de blobs permite la identificación de regiones homogéneas así como obtener características robustas y repetibles. Las técnicas desarrolladas han sido validadas en los experimentos generales del proyecto AWARE en Utrera (Sevilla) en marzo de 2007. En dichos experimentos las técnicas presentadas en el artículo se emplearon para la detección y seguimiento de bomberos. En el futuro se pretende el desarrollo de nuevos modelos estáticos y dinámicos de personas basados en blobs.. Agradecimientos El trabajo descrito se ha realizado en el marco del proyecto AWARE, IST 2006-333579, financiado por el VI Programa Marco de la Comisión Europea. Los autores agradecen la cooperación de las Brigadas de bomberos de Sevilla que participaron en los experimentos descritos en este artículo. Asimismo, agradecen la contribución de los socios del proyecto AWARE. Referencias [1] Capitán J., Mantecón D., Soriano P. y Ollero A. (2007) “Autonomous perception techniques for urban and industrial FIRE scenarios”, Aceptado en IEEE Intel. Workshop on Safety, Security, and Rescue Robotics, SSRR2007. [2] Forssén P.-E., (2004) “Low and Medium Level Vision using Channel Representations” Univ. of Linköpings. PhD Dissertation no. 858. [3] Forssén P.-E. y Moe A., (2005), “View matching with blob features”. 2nd Canadian Conf. on Robot Vision, 2005, pp. 228–235. [4] Iocchi L., Nardi D., Piaggio M., y Sgorbissa A., (2003), “Distributed Coordination in Heterogeneous Multi-Robot Systems”, Autonomous Robots, vol. 15, no 2, pp. 155-168. [5] Merino L., F. Caballero, J. R. Martínez-de Dios, J. Ferruz y A. Ollero, (2005), “A cooperative perception system for multiple UAVs: Application to automatic detection of forest fires”, Journal of Field Robotics, vo. 23, pp. 165-184. [6] Merino L., J. Wiklund, F. Caballero, A. Moe, J.R. Martínez-de Dios, P. Forssén, K. Nordberg y A. Ollero, (2006), “Multi-UAV cooperative perception based on blob features for exploration missions”, IEEE Robotics and Automation Magazine, vol. 13, pp. 53-62. [7] Nakazawa Atsushi, Kato Hirokazu, Hiura Shinsaku, Inokuchi Seiji, (2002), “Tracking Multiple People using Distributed Vision Systems”, Proceedings of ICRA, 2002. [8] Suaffer C., Grimson W. E. L., (2000), “Learnings Patterns of Activity Using RealTime Tracking”, IEEE Trans. On Pami, vol. 22, no. 8. [9] Wren C.R., Azarbayejani A. Darrell T., Pentland A.P, (1997), “Pfinder: real-time tracking of the human body”, IEEE Tran., on PAMI, vol 19, no. 7. [10] Zhang Z. (1995), “Parameter estimation techniques: A tutorial”, Technical Report 2676, INRIA. [11] Zhao T., Nevatia R. y Fengjun Lv, (2001), “Segmentation and Tracking of Multiple Humans in Complex Situations”, Proc. of the 2001 IEEE Computer Society Conf. on CVPR. [12] http://www.flying-cam.com/