Passenger Watcher: reconocimiento de acciones en pasajeros de transporte público


Este proyecto se ha desarrollado en colaboración con la Queen’s University Belfast y, más concretamente, con el investigador Jesús Martínez del Rincón.

En este trabajo se aborda la problemática del reconocimiento automático de acciones en el contexto de la vídeo vigilancia en transportes públicos que, aún a día de hoy, dependen de una central de operaciones donde toda la información es supervisada por un operario. El objetivo futuro es el de conseguir un sistema que interprete automáticamente la información de sensores como parte de un patrón de comportamiento, etiquetando y anticipándose a aquellos potencialmente peligrosos.

En esta primera etapa de trabajo el objetivo consiste en identificar las acciones básicas que compondrán el comportamiento en el interior de un autobús. Para ello, desde la School of Electronics, Electrical de la QUB, se diseñó un escenario y una serie de secuencias que simulaban comportamientos dentro de un autobús. En esas secuencias se consideraban las siguientes acciones:

  1. Acceder al autobús
  2. Transitar por el pasillo
  3. Sentarse
  4. Salir del autobús

Contando con las siguientes fuentes de información:

  1. Barrera infrarroja de entrada
  2. Identificador de sexo
  3. Barrera infrarroja de salida
  4. Tracking de trayectoria en vídeo
  5. Sensor de presión en asientos

La información recogida en cada secuencia se parseaba a archivos con formato csv, con los siguientes campos:

Frame Num; Track ID; y-coord; x-coord; Seat Number; Board order; Gender; Exit Frame

El principal reto que planteaba este experimiento era el de asociar cada Track ID con un pasajero y por extensión, asociar el resto de acciones (subir al autobús, bajar, sentarse o transitar) al pasajero que las esté realizando y no a otro. Esta tareas es trivial si sólo hay un pasajero en la escena, pero la complejidad aumenta exponencialmente con el número de pasajeros en la escena.

La decisión de a qué pasajero asociar una determinada acción no puede soportarse únicamente en la información recibida por los sensores, porque ésta puede ser imprecisa e incluso errónea. Véase por ejemplo la representación gráfica de las trayectorias seguidas en dos escenarios:

TrackerOut_DL1_ACT3_03
Representación de los Track IDs para un escenario con dos pasajeros
TrackerOut_DL5_ACT01
Representación de los Track IDs para un escenario con cuatro pasajeros

Los rectángulos naranjas simulan los asientos de un autobús y las líneas coloreadas las distintas trayectorias identificadas por el algoritmo de tracking. Como puede apreciarse en las figuras, en el caso del escenario con dos pasajeros puede intuirse la trayectoria seguida por cada uno, pero en el caso de cuatro pasajeros resulta muy difícil, sino imposible, adivinar la trayectoria que siguió cada uno.

La QUB planteó como posible solución el uso de la teoría de la evidencia de Dempster-Shafer en su trabajo [1]. En nuestro caso, aprovechando la experiencia previa de la combinación de vídeo y common sense para el reconocimiento de acciones en [1][2], propusimos estudiar la misma idea pero extendiendo los flujos de información de entrada a otros sensores, además del vídeo y considerando escenarios con múltiples individuos.

Metodología propuesta

La metodología propuesta consiste en un proceso en dos etapas:

  • Primero lanzamos una hipótesis sobre la acción que ha podido dar lugar a esos valores de sensorización en la etapa conocida como atomic action identification
  • En una segunda etapa, concretamos la realización por parte de un pasajero de una acción concreta en un momento concreto como parte de una actividad o comportamiento más general, en la etapa conocida como situation identification
Descripción de las etapas del sistema
Descripción de las etapas del sistema

Primera etapa: atomic action identification

En esta primera etapa, se parseará la información proveniente del sensor, determinando la acción a la que corresponde. Una vez hecho esto, habrá que asociar esa acción a un pasajero, para lo cual diferenciaremos entre el proceso de asociación de eventos discretos (sentarse, levantarse, etc) y eventos continúos (transitar).

En esta etapa, el uso de los contextos múltiples de Scone, o multiple-contexts, es lo que nos va permitir lanzar hipótesis sobre quién es el autor de cada acción si la autoría no está clara en el momento de la asiganción. Cada pasajero tendrá asociadas un conjunto de acciones, haciendo posible que una misma acción sea asignada, momentáneamente, a dos pasajeros diferentes si en ese momento la autoría no está clara. Así, como puede verse en la figura anterior, se creará un possible world para cada posible escenario.

Segunda etapa: situation identification

En la segunda etapa se verá el conjunto de las acciones asociadas a cada pasajero, de tal forma que estas acciones deben tener sentido en el mundo real, corrigiendo inconsistencias. Así, si a un pasajero se le asocias las acciones ‘Board‘ y ‘Sit‘, una a continuación de la otra, será necesario que el sistema realice las correcciones oportunas para que esta secuencia tenga sentido en el mundo real (sin teletransporte). Una acción de ‘Transit‘ será necesaria para que el pasajero pase desde la puerta de entrada hasta el asiento.

En esta etapa, se combinará información de los sensores considerados en el experimento con información del dominio específico o DSK (organización espacial de los asientos y pasillo del autobús), información del mundo real o WK (para pasar de un punto del autobús a otro hay que desplazarse andando) y situaciones esperadas en un contexto conocido como éste o EXP (se espera que un pasejero que accede al autobús se dirija a un asiento, se siente, se levante y abando el autobús, por ejemplo).

Para llevar a cabo del proceso de asociación de acciones a pasajeros dentro de una determinada situación se ha propuesto el uso de un algoritmo de planificación inverso basado en una red de tareas jerárquicas o HTN, que dadas las acciones atómicas determine la situación de la que forman parte.

Arquitectura propuesta

Aunque el experimiento se ha desarrollado off-line, utilizando archivos donde los valores de sensorización habían sido almacenados, el sistema se ha desarrollado conforme a una arquitectura que permita su despliegue real.

architecture

Los sensores publican su información en un canal de comunicaciones distribuido, sobre ZeroC ICE. A ese canal estará suscrito el sistema anteriormente descrito que, guiado por su planificador, se encargará de asignar cada valor a una acción y esa acción a un pasajero en el transcurso de una historia (entendiendo historia aquí como una secuencia de situaciones). Ese planificador realizará las consultas a Scone para validar la plausabilidad de las asociaciones lanzadas como hipótesis.

Resultados

Los resultados de los experimentos lanzados se publicarán aquí una vez hayan sido publicados en el artículo que está siendo redactado.

REFERENCIAS

[1]Hong, Xin; Ma, WenJun; Huang, Yan; Miller, Paul; Liu, Weiru; Zhou, Huiyu / Evidence reasoning for event inference in smart transport video surveillance.

ICDSC ’14 Proceedings of the International Conference on Distributed Smart Cameras. 2014.

[2] Maria J. Santofimia, Jesus Martinez-del-Rincon, and Jean-Christophe Nebel, “Episodic Reasoning for Vision-Based Human Action Recognition,The Scientific World Journal, vol. 2014, Article ID 270171, 18 pages, 2014. doi:10.1155/2014/270171

[3] J. Martinez del Rincon, Maria J. Santofimia and J.-C. Nebel, Common Sense Reasoning for Human Action Recognition, Pattern Recognition Letters, 34(15), pp 1849-1860, 2013

[4] Repositorio de código en BitBucket https://bitbucket.org/arco_group/passengerwatcher

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s