técnicas robustas de deteccion y seguimiento de personas

Anuncio
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: [email protected]
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: [email protected]
A. Ollero
Grupo de Robótica, Visión y Control; Camino de los Descubrimientos, sn; Sevilla
Tel: 954487349; Fax: 954487340; Email: [email protected]
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/
Descargar