tesis master - determinación de comportamiento humano basado en posturas

74
Departamento de Sistemas Inform´ aticos Universidad de Castilla - La Mancha Escuela Superior de Ingenier´ ıa Inform´ atica de Albacete Departamento de Sistemas Inform´ aticos Programa Oficial de Postgrado en Tecnolog´ ıas Inform´ aticas Avanzadas Tesis de M´ aster ————————— Determinaci´ on de comportamiento humano basado en posturas Septiembre de 2009 Alumno: Luis Gabriel Rojas Albarrac´ ın Directores: Dra. Mar´ ıa Teresa L´ opez Bonal Dr. Antonio Fern´ andez Caballero

Upload: profesorgavit0

Post on 29-Dec-2015

97 views

Category:

Documents


1 download

DESCRIPTION

El presente estudio se pretende mostrar una posible forma de automatizar el proceso de vigilancia, la cual consiste en el análisis independiente de cada fotograma de un vídeo de vigilancia, determinar la postura de una persona y luego mediante el uso de algoritmos inteligentes, determinar el comportamiento que está realizando una persona y cruzarle con una serie de patrones de comportamientos que pueden ser identificados como peligrosos o de especial interés.

TRANSCRIPT

Page 1: Tesis Master - Determinación de comportamiento humano basado en posturas

Departamento de Sistemas Informaticos

Universidad de Castilla - La Mancha

Escuela Superior de Ingenierıa Informatica deAlbacete

Departamento de Sistemas InformaticosPrograma Oficial de Postgrado en Tecnologıas Informaticas

Avanzadas

Tesis de Master

—————————

Determinacion de comportamientohumano basado en posturas

Septiembre de 2009

Alumno: Luis Gabriel Rojas AlbarracınDirectores: Dra. Marıa Teresa Lopez Bonal

Dr. Antonio Fernandez Caballero

Page 2: Tesis Master - Determinación de comportamiento humano basado en posturas

2

Page 3: Tesis Master - Determinación de comportamiento humano basado en posturas

Indice general

1. Introduccion 7

2. Cursos de doctorado 92.1. Generacion de documentos cientıficos en informatica . . . . . 10

2.1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 102.1.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 102.1.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 10

2.2. Tecnologıas de red de altas prestaciones . . . . . . . . . . . . 112.2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 112.2.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 11

2.3. Redes Multimedia . . . . . . . . . . . . . . . . . . . . . . . . 122.3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 122.3.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 13

2.4. Prog. Arquitecturas Altas Prestaciones . . . . . . . . . . . . . 132.4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 132.4.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 132.4.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 14

2.5. Sistemas inteligentes aplicados a Internet . . . . . . . . . . . 152.5.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 152.5.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 152.5.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 15

2.6. Nuevos paradigmas en HCI . . . . . . . . . . . . . . . . . . . 152.6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 152.6.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 152.6.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 16

2.7. Modelado y evaluacion de sistemas . . . . . . . . . . . . . . . 212.7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 212.7.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 212.7.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 22

2.8. Computacion en Cluster . . . . . . . . . . . . . . . . . . . . . 232.8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 23

3

Page 4: Tesis Master - Determinación de comportamiento humano basado en posturas

4 INDICE GENERAL

2.8.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 232.8.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 24

2.9. Analisis y diseno de sistemas concurrentes . . . . . . . . . . . 242.9.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . 242.9.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . 242.9.3. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . 25

3. Acciones humanas en secuencias de vıdeo 273.1. Localizacion de personas en una imagen . . . . . . . . . . . . 27

3.1.1. Modelado de cuerpos . . . . . . . . . . . . . . . . . . . 283.1.2. Descriptores para identificar objetos en imagenes . . . 313.1.3. Combinacion de los descriptores . . . . . . . . . . . . 34

3.2. Identificacion de posturas . . . . . . . . . . . . . . . . . . . . 353.2.1. Modelo libre . . . . . . . . . . . . . . . . . . . . . . . 353.2.2. Modelo indirecto . . . . . . . . . . . . . . . . . . . . . 363.2.3. Modelo directo . . . . . . . . . . . . . . . . . . . . . . 37

3.3. Seguimiento y analisis de comportamientos . . . . . . . . . . 383.3.1. Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . 383.3.2. Analisis de movimiento . . . . . . . . . . . . . . . . . 393.3.3. Analisis de comportamiento . . . . . . . . . . . . . . . 40

3.4. Limitaciones actuales . . . . . . . . . . . . . . . . . . . . . . . 413.4.1. Escenario . . . . . . . . . . . . . . . . . . . . . . . . . 413.4.2. Multiples personas en la misma escena . . . . . . . . . 423.4.3. Numero y posicion de las camaras . . . . . . . . . . . 42

3.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4. Propuesta de investigacion 454.1. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . 464.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . 46

4.3. Pruebas y prototipos desarrollados . . . . . . . . . . . . . . . 474.3.1. Pre-procesamiento de video . . . . . . . . . . . . . . . 484.3.2. Individualizacion . . . . . . . . . . . . . . . . . . . . . 494.3.3. Postura . . . . . . . . . . . . . . . . . . . . . . . . . . 544.3.4. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5. Conclusiones y trabajos futuros 655.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 66

A. Currıculum vitae 73

Page 5: Tesis Master - Determinación de comportamiento humano basado en posturas

Indice de figuras

2.1. Metaplanificador: programador de tareas a ejecutar. . . . . . 122.2. Cluster sobre maquinas virtuales. . . . . . . . . . . . . . . . . 142.3. Modelo de capas de DavinCi. . . . . . . . . . . . . . . . . . . 172.4. Prototipo aplicacion para determinar la postura de una persona. 202.5. Prototipo analisis de posturas para la determinacion de la

actividad realizada. . . . . . . . . . . . . . . . . . . . . . . . . 222.6. Modelo del protocolo del bit alternante en una red de Petri. . 252.7. Modelo para calcular angulos entre extremidades en LTL. . . 26

3.1. Grados de libertad asociados al sistema de coordenadas[5]. . . 293.2. Generacion de esqueletos basado en el volumen [16]. . . . . . 303.3. Modelo del cuerpo humano basado en formas, con integracion

del modelo kinematico (reimpreso de [30]). . . . . . . . . . . . 303.4. Modelo del cuerpo humano basado en formas, para imagenes

con 3D (reimpreso de [14]). . . . . . . . . . . . . . . . . . . . 313.5. Ambiguedad cuando solo son usadas siluetas en 2D [29]. . . . 323.6. Superficie calculada de una persona formada por triangulos,

basado en la insercion de volumen (reimpreso de [6]). . . . . . 343.7. Metodo de Agarwal y Triggs paso a paso (reimpreso de [3]) . 383.8. Objetos superpuestos (reimpreso de [1]). . . . . . . . . . . . . 393.9. Arquitectura modular para la evaluacion de una escena con

humanos, publicada en [21]. . . . . . . . . . . . . . . . . . . . 413.10. Personajes animados controlados por movimiento[22]. . . . . 43

4.1. Modelo de capas del sistema propuesto. . . . . . . . . . . . . 474.2. Comparacion de tiempos para diferentes formatos de vıdeo. . 484.3. Representacion estructural de la persona. . . . . . . . . . . . 504.4. Esqueleto simplificado. . . . . . . . . . . . . . . . . . . . . . . 514.5. Flujograma del algoritmo de simplificacion de esqueletos. . . 524.6. Tipos de lıneas detectadas. . . . . . . . . . . . . . . . . . . . 524.7. Informacion que procesa Vitruvio. . . . . . . . . . . . . . . . 554.8. Tipos de lıneas a unificar. . . . . . . . . . . . . . . . . . . . . 564.9. Calculo de Alphas. . . . . . . . . . . . . . . . . . . . . . . . . 59

5

Page 6: Tesis Master - Determinación de comportamiento humano basado en posturas

6 INDICE DE FIGURAS

4.10. Estructura que analizara Vitruvio para determinar la postura. 604.11. Persona captada por 3 camaras . . . . . . . . . . . . . . . . . 614.12. Vitruvio con coordenadas en 3D. . . . . . . . . . . . . . . . . 614.13. Secuencia de estados en los cuales se encuentra una persona. 62

Page 7: Tesis Master - Determinación de comportamiento humano basado en posturas

Capıtulo 1

Introduccion

Dada la creciente actividad humana y la gran preocupacion por la seguridad,ya sea de los ciudadanos de un paıs o los bienes de una empresa, cada vez masorganizaciones cuentan con camaras de vigilancia. Ahora las camaras de vi-gilancia son parte del entorno habitual, llegando a la practica omnipresencia.

Por esta razon, en el presente estudio se pretende mostrar una posible for-ma de automatizar el proceso de vigilancia, la cual consiste en el analisisindependiente de cada fotograma de un vıdeo de vigilancia, determinar lapostura de una persona y luego mediante el uso de algoritmos inteligentes,determinar el comportamiento que esta realizando una persona y cruzarlocon una serie de patrones de comportamientos que pueden ser identificadoscomo peligrosos o de especial interes.

El reconocimiento de personas y las actividades que ellas realizan, de formaautomatica por medio de sistemas computarizados, es un punto de especialinteres en el que muchos investigadores han centrado sus esfuerzos. Las posi-bles aplicaciones que tiene este campo, cubre un amplio abanico de posibili-dades, desde la monitorizacion en ambientes controlados como residencias deancianos, hospitales hasta sistemas de vigilancia en sitios publicos; sistemasde transporte masivo. Dando a este tipo de aplicaciones una gran relevanciaen el campo de la vision por computador.

Por citar un ejemplo, solamente el sistema de transporte publico de Lon-dres cuenta con mas de 6000 camaras de vigilancia y son muchas mas lasque conforman los circuitos cerrados de entidades particulares. Al existir unnumero en crecimiento de camaras aumentan tambien los requerimientos depersonal con un mınimo de capacitacion; que este constantemente supervi-sando la actividad presentada en los diferentes monitores, esto trae consigovarios inconvenientes: a mayor numero de camaras que vigilar menor sera laatencion que la persona encargada de hacerlo, pueda tener sobre cada una

7

Page 8: Tesis Master - Determinación de comportamiento humano basado en posturas

8 CAPITULO 1. INTRODUCCION

(pudiendo pasar por alto situaciones que no favorezcan la entidad vigilada).Aumento en el costo por mantener esos sistemas, puesto que, el incrementodel personal de vigilancia puede ser bastante oneroso, llevando a entidades atomar la decision de actuar a posteriori, debido a la incapacidad para man-tener personal que este constantemente vigilando las imagenes de seguridad.

En el presente documento seran abordados diferentes temas relacionadoscon la vision artificial, sistemas de vıdeo vigilancia y la posible integracionde ambos, proponiendo una metodologıa en el proceso de analisis de compor-tamiento humano basado en imagenes captadas por camaras de vigilancia.

Page 9: Tesis Master - Determinación de comportamiento humano basado en posturas

Capıtulo 2

Cursos de doctorado

Durante el ano de estudios en el programa de Master en Tecnologıas In-formaticas Avanzadas, he cursado 9 asignaturas, con el objetivo de adquirirconocimientos, de acuerdo con mi lınea de investigacion e intereses parti-culares, las cuales me han permitido profundizar en muchos temas de granrelevancia en la tecnologıa actual y futura.Las asignaturas cursadas fueron:

300200 - Generacion de documentos cientıficos en informatica

300203 - Tecnologıas de red de altas prestaciones

300204 - Redes Multimedia

300208 - Introduccion a la programacion de arquitecturas de altasprestaciones

300209 - Sistemas inteligentes aplicados a Internet

300210 - Nuevos paradigmas en HCI

300211 - Modelado y evaluacion de sistemas

300212 - Computacion en Cluster

300218 - Modelos para el analisis y diseno de sistemas concurrentes

las 9 asignaturas me permitieron recibir 45 creditos de 30 requeridos parapoder presentar el documento final del master, el cual otorga tambien 30creditos adicionales. A continuacion, presentare los aspectos mas relevantesde cada una de las asignaturas cursadas, su tematica, trabajos realizados ynota obtenida.

9

Page 10: Tesis Master - Determinación de comportamiento humano basado en posturas

10 CAPITULO 2. CURSOS DE DOCTORADO

2.1. Generacion de documentos cientıficos en in-formatica

2.1.1. Introduccion

Esta asignatura ha sido una de las materias que mas me han aportado sobrelos metodos mas adecuados y estructurados de realizar una investigacion,fue impartida por los profesores Juan Jose pardo Mateo, Francisco ParrenoTorres y Jose Antonio Gamez Martın.

2.1.2. Contenido

La asignatura fue dividida en 3 segmentos claramente definidos que abar-can completamente los puntos clave para el desarrollo y presentacion de untrabajo de investigacion:

La primera parte fue una introduccion a los medios habituales de inves-tigacion (bases de datos electronicas, repositorios, revistas), profundizandoen los ındices mas aceptados por la comunidad investigadora y que evaluan lacalidad de los aportes presentados por los investigadores. Tambien se abor-do los temas referentes a como y donde se deben publicar los resultados deuna investigacion para que la comunidad cientıfica los pueda valorar, dondeempezar una investigacion y como ponerse al dıa en determinado tema.

La segunda parte fue la presentacion de tecnicas estadısticas que permi-ten contrastar la propuesta planteada con otras existentes y que permitenaseverar que nuestra propuesta es mejor, profundizando en como plantear lahipotesis, como disenar el experimento, la manera en que se debe recoger losdatos analizados y finalmente obtener las conclusiones. En esta parte de laasignatura conocı la herramienta para analisis estadıstico R, la cual prestauna gran utilidad a la hora de aplicar diversidad de modelos estadısticos.

En el tercer bloque de la asignatura fui introducido en la estructuracionde documentos de investigacion y la utilizacion de la herramienta Latex pa-ra generarlos. Mediante las practicas realizadas en clase, adquirı habilidadesen el manejo de esta herramienta, desde la creacion de documentos simpleshasta el desarrollo de presentaciones y generacion de bibliografıa.

2.1.3. Trabajo realizado

Para esta asignatura realice un trabajo que me sirviera como herramientade decision para el trabajo general del master, el cual presentaba una com-paracion entre la codificacion con diferentes estandares de vıdeo, medianteel analisis por medio dos modelos estadısticos (anova de un factor y Wil-coxnon), obteniendo de esta manera, un argumento solido para la decision

Page 11: Tesis Master - Determinación de comportamiento humano basado en posturas

2.2. TECNOLOGIAS DE RED DE ALTAS PRESTACIONES 11

del formato mas adecuado, supliendo las necesidades de la propuesta quepresentara este documento. La prueba realizada consistıa en la comparacionde los tiempos empleados en la codificacion de los diferentes formatos selec-cionados, para treinta vıdeos de diferente duracion, finalmente plasme laspruebas que realice utilizando la herramienta R; en un documento escrito,creado en Latex e hice una sustentacion del trabajo realizado con la ayudade una presentacion hecha tambien con Latex.

Nota obtenida: 8,5 Notable.

2.2. Tecnologıas de red de altas prestaciones

2.2.1. Introduccion

Esta asignatura fue impartida por Marıa Blanca Caminero Herraez, CarmenCarrion Espinosa y Pedro Javier Garcıa Garcıa. La asignatura fue presen-tada como un buen modelo de estudio, el cual incentivaba la continua in-vestigacion y mediante la presentacion de los conocimientos adquiridos ensecciones de socializacion; por parte de cada uno de los alumnos que parti-cipamos de la clase, de tal manera, que se amplio la cantidad de conceptosque puede aprender.

2.2.2. Contenido

En esta asignatura he tenido la oportunidad de aprender, profundizar y co-nocer los nuevos horizontes que esta tomando las tecnologıas de red, desde laevolucion de las arquitecturas paralelas hasta las generalidades de la compu-tacion en grid, pasando por las redes de interconexion, la diferenciacion delos servicios prestados en red y el aseguramiento de la calidad del servicioprestado, haciendo enfasis en la gestion de recursos para optimizar las ca-pacidades de los distintos modelos de redes. Pude tambien profundizar enconceptos basicos sobre los inconvenientes que se pueden presentar en unared y los mecanismos para controlarlos o evitarlos, analizando algoritmosde encaminamientos y otras tecnicas como WormHole y DiffServ. Tambienconocı la forma en que se puede medir las prestaciones de un red, lo cual,tiene mucha importancia para poder determinar el diseno mas adecuado ydemas caracterısticas de la red.

2.2.3. Trabajo realizado

Para esta asignatura realice una adaptacion del primer prototipo desarro-llado para mi investigacion, el cual consistıa en el uso de una herramientagenerica de grid y la modificacion de mi aplicacion para el uso de esta, locual me permitıa ejecutarla en un ambiente de grid, obteniendo ası un mayor

Page 12: Tesis Master - Determinación de comportamiento humano basado en posturas

12 CAPITULO 2. CURSOS DE DOCTORADO

poder de calculo ademas de ser un buen caso de estudio que me permitio pro-fundizar los conocimientos en tecnologıas grid y meta-planificadores. Para laplanificacion y ejecucion de tareas del prototipo utilice la herramienta Con-dor [9], combinado con un desarrollo de una aplicacion web construida enASP.Net. La siguinte imagen (figura 2.1), presenta la ventana que permitıala programacion de las tareas a realizar, seleccionando las aplicaciones y losmetodos de estas puede ejecutar.

Figura 2.1: Metaplanificador: programador de tareas a ejecutar.

Nota: 10 Sobresaliente.

2.3. Redes Multimedia

2.3.1. Introduccion

Asignatura impartida por Pedro Cuenca, Teresa Olivares Montes y AntonioGarrido, brindo la oportunidad de adquirir conocimientos relacionados conlos nuevos modelos y requerimientos en el campo de las redes.

2.3.2. Contenido

En esta asignatura tuve la oportunidad de conocer y profundizar en temas degran relevancia en el tipo de servicios que mas rapidamente estan creciendoen la actualidad; las redes de sensores, que presentan un nuevo paradigma

Page 13: Tesis Master - Determinación de comportamiento humano basado en posturas

2.4. PROG. ARQUITECTURAS ALTAS PRESTACIONES 13

en la forma en que habitualmente funcionan las redes convencionales; prin-cipalmente por sus limitaciones, las cuales obligan a pensar una nueva formade abarcar el problema. Tambien fueron abordadas las redes inalambricasdesde aquellas que actualmente son muy utilizadas en los hogares hasta lasque pretenden dar un alcance y conectividad metropolitana con altas presta-ciones (Wimax), profundizando en las caracterısticas de cada una; adicionala los temas sobre las redes mencionadas tambien vi diversos formatos decodificacion de vıdeo y los requerimiento de estos haciendo enfasis en elprotocolo H.264, todos estos temas bien dirigidos y enlazados entre sı.

2.3.3. Trabajo realizado

Para esta asignatura realice la presentacion de una comparacion entre variosformatos de codificacion de vıdeo, mostrando sus caracterısticas y los resul-tados obtenidos en las pruebas realizadas, aplicando modelos estadısticosque me permitieran decidir cual es el formato mas adecuado para la posibleimplementacion de mi investigacion, de tal manera que brindara cualidadesde tiempo de codificacion mınima para cumplir con el requerimiento basicode trabajar en tiempo real. Para realizar esta pruebas construı una aplica-cion que permitiera codificar un vıdeo en diferentes formatos (Mpeg, Avi,Wmv, Mp4, Flv y H264), usando el paquete de librerıas Mpegff.

Nota: 9 Sobresaliente.

2.4. Introduccion a la programacion de arquitec-turas de altas prestaciones

2.4.1. Introduccion

Esta asignatura fue impartida por Enrique Ariaz Antunez y Diego Cazor-la Lopez, en esta clase pude adquirir conocimientos para la construccion deaplicaciones con mejores prestaciones que las desarrolladas por el clasico mo-delo secuencial, fundamentalmente se centro en dos aspectos: la optimizacionde codigo de programas secuenciales (programacion orientada a bloques), yla paralelizacion de codigo secuencial.

2.4.2. Contenido

Durante el transcurso de esta asignatura pude recibir las ideas basicas dela programacion secuencial orientada a bloques y computacion paralela, lascuales me permiten tener la capacidad de disenar y evaluar sistemas y al-goritmos paralelos; esta asignatura se oriento hacia la adquisicion de cono-cimientos, mediante la presentacion de conceptos e ideas por parte de losdocentes y la realizacion de talleres practicos en los cuales pude conocer y

Page 14: Tesis Master - Determinación de comportamiento humano basado en posturas

14 CAPITULO 2. CURSOS DE DOCTORADO

utilizar herramientas y librerıas que permiten obtener muy altas prestacio-nes en el calculo de operaciones algebraicas.

Durante las practicas realizadas hice varias comparaciones entre las pres-taciones brindadas por algunos modelos de programacion desde el el modelosecuencial en una plataforma de un solo procesador hasta el uso de clusterscomo herramienta que permite paralelizacion de los trabajos realizados poruna aplicacion, sirviendome para ello y adquiriendo conocimientos, de paso,del sistema Condor.

2.4.3. Trabajo realizado

Para esta asiganatura realice un trabajo sobre la plataforma del sistemacondor, utilizado en las practicas de la asignatura. Mi trabajo consistio enla creacion un sistema encargado de procesar y analizar imagenes, siguiendoel objetivo de mi lınea de investigacion, de tal manera que pudiera obtenerlas mejores prestaciones y obtener resultados en tiempo real. Finalmete, estetrabajo fue sustentado en una presentacion abierta a todos los asistentes ala clase, para esta presentacion se creo un cluster sobre maquinas virtuales,como muestra la siguiente imagen (figura 2.2), donde se presenta el modelode como se distribuyeron los componentes de la aplicacion en los diferentesnodos del cluster.

Figura 2.2: Cluster sobre maquinas virtuales.

Nota: 9 Sobresaliente.

Page 15: Tesis Master - Determinación de comportamiento humano basado en posturas

2.5. SISTEMAS INTELIGENTES APLICADOS A INTERNET 15

2.5. Sistemas inteligentes aplicados a Internet

2.5.1. Introduccion

Esta asignatura fue impartida por Marıa Julia Flores Gallego, Ismael GarcıaVarea y Jose Miguel Puerta Callejon.

2.5.2. Contenido

En esta asignatura conocı los formalismos de los sistemas inteligentes, pro-fundizando especialmente en el uso de redes Bayesianas mediante el uso deejemplos claros. Tambien conocı algunas tecnicas usadas en la minerıa dedatos y otros algoritmos de busqueda exhaustiva.

2.5.3. Trabajo realizado

Para esta asignatura se realizo un trabajo escrito el cual consistıa en la rea-lizacion de varios ejercicios sobre los temas vistos en clase.

Nota: 7 Notable.

2.6. Nuevos paradigmas en HCI

2.6.1. Introduccion

Esta es la asignatura base para mi investigacion; durante este curso pudeaprender diversas tecnicas usadas actualmente para ampliar cantidad de me-dios que tienen una persona para interactuar con los computadores, ya seanestos los habituales sistemas de escritorio u otros mas novedosos, como losque se encuentran incrustados en la ropa, en los automoviles o en muchosaparatos de uso comun en el hogar.

El curso fue impartido por Marıa Teresa Lopez Bonal, Antonio FernandezCaballero y Pascual Gonzalez Lopez.

2.6.2. Contenido

La asignatura toco diversos temas, todos relacionados con la vision artificial,procesamiento de imagenes, realidad aumentada, realidad virtual, haciendoespecial enfasis en sistemas avanzados de interaccion humana; cabe destacarlos mas relevantes con el presente documento y mis trabajos futuros:

Segmentacion de imagenes: Es un proceso que consiste en dividir unaimagen en grupos de pixeles que cumplan con alguna caracterıstica dehomogeneidad.

Page 16: Tesis Master - Determinación de comportamiento humano basado en posturas

16 CAPITULO 2. CURSOS DE DOCTORADO

Localizacion y reconocimiento: Consiste en averiguar los lımites deter-minados de un objeto (por ejemplo, caras humanas) en una imagenbasado en sus cualidades (tamano, color, forma, textura).

Seguimiento de un objeto en una secuencia de imagenes: Consiste enla ubicacion iterativa de un objeto en cada imagen de una secuenciade imagenes, determinando su posicion inicial, final y movimientosrealizados durante la secuencia.

Estos ıtem que cuentan con un gran campo de investigacion aun en desarrolloson de especial interes para mi proyecto, puesto que brindan algunas de lasherramientas necesarias para poder determinar las posturas que realiza unapersona, en cada fotograma de un vıdeo.

2.6.3. Trabajo realizado

Para esta asignatura presente un prototipo funcional, que permitiera visua-lizar claramente el objetivo especıfico de mi investigacion, este prototipocontenıa algunas funciones que debe contener el desarrollo final y presen-taba los requerimientos que podrıa tener un software que cumpliera con elobjetivo de la invesitigacion.

El trabajo fue titulado: “DAVINCI: CASO DE ESTUDIO PARA DETEC-CION DE COMPORTAMIENTO BASADO EN IMAGENES”. DavinCiesta construido bajo una arquitectura dinamica basada en capas y compo-nentes (figura 2.3), cada componente presenta una utilidad especial tantoen el flujo del proceso realizado por DavinCi como en la informacion que elgenera.

A continuacion, seran descritas las funcionalidades de cada capa, junto conlos componentes que la forman.

Grid:

La capa Grid corresponde a la plataforma que soporta la ejecucion del siste-ma en un ambiente de Grid, ampliando de esta forma el ambito de ejecuciony la posibilidad de crecimiento del sistema.

Consiste en el desarrollado de un servicio web y una aplicacion web, es-pecıficos para la aplicacion donde se expone las maquinas y sus recursosdisponibles sobre los que puede ser ejecutado DavinCi, esto se hace median-te la integracion del servicio web y el sistema Condor. Presentando de formatransparente un gestor similar al de cualquier aplicacion estandar de la tec-nologıa de Grid, podran ser programadas distintas tareas que ejecutaran los

Page 17: Tesis Master - Determinación de comportamiento humano basado en posturas

2.6. NUEVOS PARADIGMAS EN HCI 17

Figura 2.3: Modelo de capas de DavinCi.

metodos disponibles de manera independiente o con la opcion que una tareadependa de la culminacion de otra.

Cluster:

Para permitir una mayor disponibilidad y rendimiento se ha implementadola capa cluster, la cual usa Condor como sistema manejador; cuando Da-vinCi es invocado para una ejecucion en cluster hace uso de Condor parala asignacion de una maquina disponible a un objeto a procesar, para ellola capa Core se encargara de crear de forma dinamica los archivos comandoque procesara Condor (archivo plano con extension .cmd), los archivos con-tendran toda la informacion requerida por Condor para realizar la ejecucionde los distintos procesos invocados, ubicacion de las imagenes a procesar, losmetodos invocados, la ruta donde deberan ser almacenados los resultados y

Page 18: Tesis Master - Determinación de comportamiento humano basado en posturas

18 CAPITULO 2. CURSOS DE DOCTORADO

la ubicacion de los componentes des-acoplados.

Componentes des-acoplados:

Esta capa envuelve varias piezas de software completamente independientesy de ejecucion directa, es decir, que no es necesario que todos esten presenteso que un componente tenga visibilidad de los demas. Adicionalmente pue-den ser ejecutados recibiendo unos parametros de inicio como aplicacionesde consola; estos componentes estan desarrollados en diferentes lenguajes,demostrando la flexibilidad de la arquitectura y la escalabilidad ya que pue-den ser reemplazados en cualquier momento sin afectar el resto del sistema.

El primero de esos componentes es una interfaz del paquete OpenCV [24]. Elpaquete y los componentes de este fueron compilados como librerıas dinami-cas (DLL), la interfaz creada es una aplicacion de consola que hace referen-cia a estas librerıas, la cual se encarga de recibir los parametros para undeterminado procesamiento, entre estos estan: los nombres de los metodoscontenidos en el paquete de OpenCV, las rutas de las imagenes a procesar ylos parametros que deben ser retransmitidos a cada metodo, adicionalmentese encarga de validar los parametros y de generar un informe sobre el es-tado de la ejecucion, para finalizar se encarga tambien de la generacion deun archivo plano, en el cual estara contenida la informacion que de comoresultado la ejecucion de los metodos invocados.

Otro de los componentes des-acoplados fue construido para calcular los angu-los entre los puntos, permitiendo determinar la postura de una persona.

Como se usan componentes en principio independientes, el formato en quela informacion es recibida puede variar, para unificar la forma en que lainformacion fluya se creo un componente adicional que permitira la unifica-cion de los diversos formatos entregados, traducicendolos a un unico formatocomun para todo DavinCi. El componente se encarga de leer los archivosde resultados y generar unos nuevos equivalentes en formato XML (Forma-to escogido para el flujo de toda la informacion en DavinCi), la habilidadprincipal de este componente es que puede ser invocado por cualquier capa(incluyendo la de Grid, usando un gestor generico), en cualquier momentopara hacer la conversion de tipos de datos, basado en unos parametros deconfiguracion previa los cuales permiten identificar cada tipo de archivo.

Core:

Es la primera interfaz del sistema para que los servicios que presta DavinCipuedan ser consumidos, constituye el nucleo del sistema mismo y a la vezen el integrador de los componentes de la capa anterior.

Page 19: Tesis Master - Determinación de comportamiento humano basado en posturas

2.6. NUEVOS PARADIGMAS EN HCI 19

Core es el gestor de todo el sistema, su punto de inicio es un metodo expues-to nombrado: Procesar ; cuando este metodo es invocado por cualquier capasuperior (para esto se debe pasar un Identificador para el procesamiento ylas imagenes a procesar), Core empieza organizando el entorno en el cual seva a realizar el procesamiento.

Lo primero es la creacion de una carpeta que tendra como nombre el valorque tenga el identificador recibido, dentro de esta seran creadas tres carpetasmas, una para almacenar los archivos a procesar (In, ya sean las imageneso archivos de resultados de otros procesos previos), otra para almacenar losarchivos que cada componente de como resultado (Out, archivos en formatoXML) y una adicional para almacenar los archivos de registro del procesa-miento (Log, el cual contendra tiempos de procesamiento, posibles fallos oinformacion general de un proceso).

Luego de haber preparado el entorno inicia el medio de ejecucion; DavinCipuede no hacer uso de todas sus capas o componentes y la variacion funda-mental de ello esta en la forma que sera ejecutado el procesamiento, la capaCore esta en capacidad de tomar tres distintas rutas, dependiendo la formaen que sea invocado, si es invocado con la opcion de procesar en Cluster,Core creara los archivos .cmd, luego hace la programacion de las tareas sobreCondor. Si la ejecucion se realiza de forma Directa se prepara los comandosque deben ser enviados por consola para ejecucion de los componentes des-acoplados, lo cual es una instruccion que sera enviado al sistema operativo,conteniendo la ubicacion del ejecutable, el metodo a ejecutar y los parame-tros para ese metodo, tambien puede es invocado desde un Gestor de Grid,de esta manera la ejecucion pude ser combinada con la opcion Directa o enCluster como se menciono anteriormente o usando otro gestor para asignarlos recursos y programar las tareas.

Servicio web(WS):

La funcion principal es la de brindar una fachada a la capa Core; presentatodos los metodos expuestos por el Core a traves de un protocolo estandarde Internet como lo es el servicio web, esta capa se encarga de convertir lainformacion recibida y enviada desde y hacia un formato XML, permitien-do el uso del sistema por cualquier sistema independientemente. Tambiencuenta con una funcionalidad adicional ya mencionada anteriormente quepermite la planificacion de trabajos en un ambiente de Grid.Cuando DavinCi es invocado a traves de su capa WS, realiza el proceso deforma similar a como se realiza si es llamado invocando directamente la capaCore, pero cuenta con metodos adicionales para la consulta de resultados,permitiendo ası, que los metodos expuestos puedan ser ejecutados de forma

Page 20: Tesis Master - Determinación de comportamiento humano basado en posturas

20 CAPITULO 2. CURSOS DE DOCTORADO

asıncrona.

Interface de usuario(UI):

Esta compuesta por las diferentes interfaces que pueden hacer uso de Da-vinCi, aunque no es propio del sistema en sı mismo, hace parte de la arqui-tectura general ya que son estas las aplicaciones que haran uso practico delsistema y las encargadas de presentar los resultados al usuario, estas apli-caciones como ya se menciono son completamente independientes y puedenhacer uso de la plataforma consumiendo el estandar de los servicios web ohaciendo referencia directamente sobre el Core.

Figura 2.4: Prototipo aplicacion para determinar la postura de una persona.

Existen dos aplicaciones desarrolladas para probar las capas anteriores, laprimera se llama El Ojo (figura 2.4), la cual presentara de forma sencilla lapostura en que una persona esta y la otra es el Meta-planificador, aplicacionweb a traves de la cual pueden ser programadas de forma simple tareas deprocesamiento de DavinCi.

Como puede notarse ninguna de las capas depende de las demas de for-ma intrınseca por lo que pueden ser reemplazadas o modificadas sin afectara las demas, siempre que no cambien la forma en que los datos son recibi-dos o enviados, el sistema puede ser usado como una aplicacion normal deescritorio que no consuma recursos mas alla de la misma maquina en que seejecuta, tambien puede hacer uso del procesamiento paralelo y escalabilidadde un cluster y hasta la diversidad de recursos de un Grid; haciendo usodesde solo tres y hasta un maximo de seis capas que envolveran funcionali-

Page 21: Tesis Master - Determinación de comportamiento humano basado en posturas

2.7. MODELADO Y EVALUACION DE SISTEMAS 21

dades especıficas, para manejar varios ambitos de ejecucion.

Nota: 9 Sobresaliente.

2.7. Modelado y evaluacion de sistemas

2.7.1. Introduccion

Esta asignatura se presento como un muy buen aporte a la utilizacion demodelos y prototipos en la fase previa a la construccion de cualquier tipode proyectos, adicionalmente conocı los metodos en que puede ser evaluadala fiabilidad de un modelo; fue dictada por Aurelio Bermudez Marin, Ra-fael Casado Gonzalez y Luis Orozco Barbosa. La clase se fundamento en elmodelado de redes aunque sin olvidar las caracterısticas generales para elmodelado de cualquier tipo de sistema.

2.7.2. Contenido

El curso fue dividido en 3 partes complementarias, la primera fue una in-troduccion al modelado y simulacion de sistemas abarcando los siguientestemas:

Conceptos generales para el modelado de sistemas

Tipos de sistemas

Proceso de simulacion

Lenguajes de simulacion

Criterios de seleccion de datos de entrada

Recoleccion de resultados

Tecnicas de validacion de modelos

Tecnicas de verificacion de modelos

La segunda parte de la clase se oriento mayormente a la formulacion y verifi-cacion de modelos matematicos para establecer o identificar las caracterısti-cas de diversos tipos de redes con el fin de obtener el maximo provecho deestas.

En la tercera parte del curso pude conocer y realizar practicas con la herra-mienta Opnet, un potente simulador de redes.

Page 22: Tesis Master - Determinación de comportamiento humano basado en posturas

22 CAPITULO 2. CURSOS DE DOCTORADO

Todo lo anterior fue complementado con una conferencia titulada “Compu-tacion de Altas Prestaciones para la Prediccion de Estructuras de Pro-teınas”, la cual ademas de aportar a esta asignatura, presentaba usos practi-cos de los conocimientos adquiridos en otras asignaturas, como fue el de redesde altas prestaciones y programacion de altas prestaciones.

2.7.3. Trabajo realizado

Para esta asignatura y retomando parte del trabajo ya realizado en otrasasignaturas, presente un prototipo de una aplicacion (figura 2.5) y mediantela sustentacion pude poner a discusion las estructuras (esqueletos) que mevan a servir como modelos de analisis en el objetivo final; identificar elcomportamiento de una persona, especıficamente los modelos presentadosse enfocaban en las posturas en cada fotograma de un vıdeo.

Figura 2.5: Prototipo analisis de posturas para la determinacion de la acti-vidad realizada.

Nota: 9 Sobresaliente.

Page 23: Tesis Master - Determinación de comportamiento humano basado en posturas

2.8. COMPUTACION EN CLUSTER 23

2.8. Computacion en Cluster

2.8.1. Introduccion

Asignatura impartida por Francisco Jose Alfaro Cortes, Francisco Jose Qui-les Flor y Jose Luis Sanchez Garcıa. Durante el curso pude ver como hanevolucionado los computadores hasta llegar al modelo de clusters, conocien-do sus caracterısticas, limitaciones y cualidades, vı diversos ejemplos realesen los cuales se esta usando este tipo de tecnologıa; tambien profundizamosen los requerimientos fısicos (redes, memoria, procesador, etc.) y logicos(aplicaciones paralelizables), para sacar el mejor provecho de esto.

2.8.2. Contenido

Durante las clases realizadas en esta asignatura adquirı conocimientos enlos distintos ambitos que involucran la computacion en cluster, analizandolas tendencias de esta tecnologıa y los posibles problemas que deberan serabordados a la hora de crear uno de estos sistemas, tambien mediante ejem-plos que permiten sacar el mejor provecho a este tipo de plataforma, pudecomprender de mejor manera este entorno, la forma en que estan clasifica-dos los sistemas multiprocesador, las distintas arquitecturas con las que sepuede construir un sistema de este tipo.

Como parte de la asignatura se realizaron practicas en un cluster ya confi-gurado, con lo cual puede verificar las diferentes metricas utilizadas; tam-bien aprendidas en esta asignatura, que permiten asegurar si un sistemacluster es el mas apropiado para determinados problemas. Pude comprobarsimultaneamente las limitaciones de estas plataformas y los inconvenientesque pueden reducir el potencial brindado por este tipo de sistemas, anali-zando de forma general la manera en que realizan las tareas los procesadoresde los sistemas de computo y la forma en que estos acceden a los distintosniveles de memoria, encontrando en esto los cuellos de botella a la hora deejecutar ciertas aplicaciones. Basado en lo anterior pude identificar los mejo-res patrones en la construccion de un software orientado al uso de este tipode tecnologıa sacando el mejor provecho de la computacion paralela.

Finalmente adquirı conocimientos sobre un nuevo paradigma de programa-cion con objetivo de obtener buenas prestaciones, este es el uso de tarjetasgraficas (GPUs). Aprovechando la cantidad de nucleos con los que cuentauna GPU y la baja latencia de estos, disenadas para procesar, por ejemplo,un vıdeo juego se requiere bastante capacidad de calculo en paralelo, todoese potencial puede ser aprovechado en aplicaciones no necesariamente decalculos que tengan que ver con graficos.

Page 24: Tesis Master - Determinación de comportamiento humano basado en posturas

24 CAPITULO 2. CURSOS DE DOCTORADO

2.8.3. Trabajo realizado

Para esta asignatura realice un software que aprovecha el potencial de calcu-lo de una tarjeta grafica, para realizar calculos simples, el software consis-tio en el procesamiento de imagenes de gran tamano, este tipo de problemame parecio idoneo ya que los calculos que deben realizarse son mayormenteindependientes entre sı, adicionalmente esta relacionado con el tipo de pro-cesamiento que he de realizar para mi lınea de investigacion. Tambien paraeste trabajo pude hacer la comparacion con las diferentes metricas vistasen clase, donde compare el mismo procesamiento realizado por cuatro mo-delos diferentes: secuencial, paralelo en una Gpu, paralelo distribuyendo lainformacion en un cluster soportado con Mpi y finalmente una combinacionde los dos anteriores donde la informacion a procesar es distribuida en elcluster por Mpi pero el procesamiento en cada nodo del cluster es realizadapor la Gpu.

Nota: 8 Notable.

2.9. Modelos para el analisis y diseno de sistemasconcurrentes

2.9.1. Introduccion

Asignatura impartida por Valentın Valero Ruiz, Gregorio Dıaz Descalzo yFernando Cuartero, quienes me presentaron tecnicas bastante robustas parael modelado aplicaciones concurrentes, adicional a esto los temas de la asig-natura fueron enriquecidos por la presentacion de varias charlas y conferen-cias de varios ponentes internacionales que usan este tipo de herramientas.

2.9.2. Contenido

Me fueron presentadas varias herramientas analıticas para el diseno de sis-temas concurrentes que permiten analizar las cualidades y posibles fallosde los sistemas paralelos antes de su construccion. Tomando tres metodo-logıas que permiten esto: las redes de Petri las cuales permite comprenderde forma intuitiva el flujo de procesos que realiza, el algebra de procesos,una herramienta muy robusta para sintetizar y abstraer las caracterısticasprincipales del modelo, sin embargo menos intuitiva ya que no tiene una im-plementacion grafica y la tercera opcion es la logica temporal que presentauna mayor robustez que las dos anteriores.

El contenido de esta asignatura tiene bastante relevancia para la creacionde cualquier software en el cual se requiera de gran capacidad de calculo ypretenda realizar computacion paralela, para identificar las cualidades del

Page 25: Tesis Master - Determinación de comportamiento humano basado en posturas

2.9. ANALISIS Y DISENO DE SISTEMAS CONCURRENTES 25

modelo, las posibles fallas del mismo y verificar la viabilidad de su imple-mentacion, lo cual no solo genera software de mejor calidad y optimizadosino que ademas puede reducir costos a la hora de su implementacion.

2.9.3. Trabajo realizado

Para esta asignatura fueron realizados varios ejercicios en los cuales se mo-delo varios tipos de sistemas tanto en redes de Petri como en logica tempo-ral, teniendo en el primer caso el modelado del protocolo del bit alternante(figura 2.6) y en la segunda realice el modelo de un prototipo que me ser-vira como base para el propio desarrollo de mi investigacion, pues modele losrequerimiento necesarios para poder tener respuestas en tiempo real (figura2.7).

Figura 2.6: Modelo del protocolo del bit alternante en una red de Petri.

Los tres modelos de la imagen 2.7) corresponden a: a) Cliente que distribuyela informacion a procesar, b) Proceso encargado de comparar los resultados

Page 26: Tesis Master - Determinación de comportamiento humano basado en posturas

26 CAPITULO 2. CURSOS DE DOCTORADO

Figura 2.7: Modelo para calcular angulos entre extremidades en LTL.

con un patron para identificar una postura y c) Calculo de los angulos conlos cuales se determinara la postura.Nota: 9 Sobresaliente.

Page 27: Tesis Master - Determinación de comportamiento humano basado en posturas

Capıtulo 3

Identificacion de accioneshumanas en secuencias devıdeo

La estimacion de la postura humana es un proceso por el cual, se pretendeidentificar la configuracion de las partes del cuerpo [28]. Cuando llevamosesa estimacion de la postura a una secuencia de imagenes, se usa el terminode analisis de movimiento. Tradicionalmente este tipo de analisis se realizabacon la ayuda de marcas o sensores puestos sobre la persona. Tener un sistemabasado en marcas o sensores sobre el sujeto a observar presenta dos proble-mas: primero, implica costos adicionales como trajes especiales o ambientescontrolados, el segundo problema es la intrusividad, que debe tomarse muyen cuenta ya que en determinados campos; como la vigilancia, no es factible.

Este capıtulo presentara lo referente a la identificacion de las posturas delas personas; de forma automatica, mas adelante sera revisado el analisis deesas posturas en una secuencia de vıdeo. Se dara un recorrido por las di-ferentes investigaciones realizadas por otros investigadores, presentando sustecnicas, alcances y limitaciones.

3.1. Localizacion e individualizacion de personasen una imagen

Desde la creacion del concepto de analisis de movimiento, ha habido diversosautores que han querido realizar una clasificacion a las diferentes tecnicasexistentes. D. M. Gavrila en uno de sus trabajos [13], divide las metodo-logıas en 3 grupos basicos (basados en la perspectiva): enfoque de imagenesen 2D sin modelos de forma explicita, 2D con modelos de forma explicitay enfoque para 3D. El enfoque 2D sin modelos esta pensado para hacer un

27

Page 28: Tesis Master - Determinación de comportamiento humano basado en posturas

28CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

analisis bastante simple donde se pudiera determinar la existencia de movi-miento, mientras que para el enfoque 2D con modelos, se presenta un modeloen donde las partes del cuerpo ya han sido separadas y etiquetadas, parasu posterior seguimiento y analisis, sin embargo, presenta el inconvenientede encontrar movimientos incongruentes por causa de las auto-oclusiones,aun ası, es uno de los primeros enfoques que presenta el uso de esqueletos(modelos) como base de analisis. El tercer enfoque muestra una mejorıa conrespecto al anterior ya que permite identificar las posibles auto-ocluciones uocluciones por elementos externos.

A diferencia de la propuesta anterior Thomas B. Moeslund, Adrian Hiltony Volker Kruger [33], presentaron una division basada en las fases subse-cuentes del proceso necesario: Pre-procesamiento, estimacion de postura,seguimiento y reconocimiento. En los ultimos anos investigadores han pro-puesto tecnicas y algoritmos que no pueden ser enmarcados claramente enninguna de las divisiones mencionadas, por esta razon, Ronald Poppe [28],presento una division mas general creyendo mas adecuada esta separacion detecnicas en dos enfoques, basadas en modelos y libre de modelo. El enfoquebasado en modelos hace uso de cuerpos (esqueletos o siluetas) previamenteconstruidos, para la identificacion de la postura. El enfoque libre no asumeun modelo o cuerpo de persona previamente construido, pero si una confi-guracion previa de unas determinadas posturas y detalles especıficos comoforma del cuerpo, tamanos, punto de vista de la camara u otros.

Trabajar con solo algunas de las caracterısticas de la persona es mas llama-tivo; en terminos de eficiencia, pero presenta algunos inconvenientes cuandose conjugan las diferentes caracterısticas de la configuracion, postura y for-ma del cuerpo, tamano y punto de vista de la camara, entre otras, ya que,por ejemplo, una misma postura podrıa llevar a varias y diferentes obser-vaciones, en tanto que, diferentes posturas podrıan ser tomadas como unasola. Adicionalmente, desde la captura de las imagenes hasta el resultadodel analisis, existe perdida de informacion que pueden llevar a lecturas inco-rrectas, como es el caso del uso de una unica camara, ya que esta presentainconvenientes a la hora de determinar la profundidad de los objetos.

3.1.1. Modelado de cuerpos

Ahora sera discutido uno de los pasos previos al analisis de las posturas; lacreacion de modelos para determinar la figura humana, determinando suscualidades, trabajos previos, limitaciones e inconvenientes. Existen dos tiposde modelos para la descripcion de la figura humana, a continuacion, seranpresentados cada uno de ellos.

Page 29: Tesis Master - Determinación de comportamiento humano basado en posturas

3.1. LOCALIZACION DE PERSONAS EN UNA IMAGEN 29

Modelos kinematicos

Este tipo de los modelos describen el cuerpo humano como la agrupa-cion de posibles movimientos, donde el cuerpo esta segmentado en las par-tes que lo conforman(extremidades), y las partes tienen un enlace entreellas(articulaciones). Los enlaces permiten un cierto grado de libertad a ca-da parte del cuerpo, la combinacion de todas las partes y el grado de libertadtomado, determinan la postura en la que se encuentra una persona.

Estos modelos pueden ser representados tanto en un ambito 2D como enuno 3D. Un ejemplo de los modelos en 2D, fue presentado por Carlos Barrony Ioannis A. Kakadiaris (Modelo stick[5]), donde el cuerpo esta enmarcadoen un conjunto de puntos. Cada punto esta situado en sitios clave, paradeterminar la postura y las medidas antropometricas de una persona, adi-cionalmente, muestran que aunque este tipo de modelos basado en los gradosde libertad es mucho menos complejo que otros y sobre todo, que el anali-sis completo de las caracterısticas de la imagen, es necesario contar con almenos 51 grados de libertad, para representar las posibles combinaciones delas partes del cuerpo (figura 3.1).

Figura 3.1: Grados de libertad asociados al sistema de coordenadas[5].

Page 30: Tesis Master - Determinación de comportamiento humano basado en posturas

30CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

En 3D existen investigaciones como la presentada por Hidenori Tanaka,Atsushi Nakazawa y Haruo Takemura [16], quienes muestran un metodo pa-ra el analisis de la postura basado en el volumen. Para empezar usan unmetodo para el adelgazamiento de la imagen y obtener una serie de curvas(esqueleto), que representara la persona (figura 3.2). El esqueleto obtenidoes comparado para hacerlo coincidir con un modelo previamente definido,permitiendo identificar separadamente las partes del cuerpo.

Figura 3.2: Generacion de esqueletos basado en el volumen [16].

Modelos basado en formas

Ademas de representar el cuerpo como el conjunto de movimiento que puedetener, tambien puede ser representado como un conjunto de rectangulos, tra-pezoides u otros (ver figura 3.3). Los modelos basados en la forma permitendeterminar cualidades especıficas de las personas, como tamano, longitud,proporciones y por supuesto la forma de las partes del cuerpo, sin embargo,la gran variabilidad de estas cualidades de una persona a otra, hacen mascomplejo el analisis de la postura de una persona.

Figura 3.3: Modelo del cuerpo humano basado en formas, con integraciondel modelo kinematico (reimpreso de [30]).

Page 31: Tesis Master - Determinación de comportamiento humano basado en posturas

3.1. LOCALIZACION DE PERSONAS EN UNA IMAGEN 31

M. Dimitrijevic, V. Lepetit y P. presentaron un metodo basado en redesbayesianas [23], el cual permite identificar la postura de una persona cami-nando, basada en su silueta. Mediante la comparacion con plantillas pre-viamente cargadas desde diferentes angulos, demostraron ademas, que estemismo metodo podrıa usarse para el analisis de imagenes tomadas con cama-ras en movimiento (si es posible una sustraccion del fondo).

Existen modelos basados en otro tipo de figura geometrica con volumen,como los cilindros, conos o esferas (ver figura 3.4), para la representacionde modelos en 3D.

Figura 3.4: Modelo del cuerpo humano basado en formas, para imagenes con3D (reimpreso de [14]).

Ya sea usando un modelo kinematico, uno basado en formas o la combi-nacion de ambos, el uso de este tipo de modelos se constituyen en el primerpaso para determinar la actividad humana, puesto que permiten minimizarel numero de datos y de calculos que se deban realizar, para determinar unapostura. La postura de una persona es la base y el elemento mınimo paraidentificar que accion esta realizando la persona.

3.1.2. Descriptores para identificar objetos en imagenes

Adicional a la persona misma, la imagen puede contener caracterısticas queaumentan la variabilidad de la forma en que se ve la persona. La iluminacion,el angulo, las ocluciones o la ropa son caracterısticas que pueden variar deun fotograma a otro, por esta razon se pueden establecer unos descriptoresque permitan analizar mejor la imagen.

Page 32: Tesis Master - Determinación de comportamiento humano basado en posturas

32CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

Cada descriptor presenta una cualidad especial para identificar la imageno un objeto dentro de esta, son usados principalmente para separar los ele-mentos de interes (para el caso las personas), del resto de la imagen. Acontinuacion, seran presentados algunos descriptores de imagen.

Siluetas

La silueta puede ser obtenida de manera sencilla cuando el fondo es relativa-mente estatico, basta con hacer la resta de la imagen, aunque tambien puedeconseguirse por la variacion de color o textura de los objetos de la imagen,esto elimina la necesidad de tener parametros de ambiente que analizar. Esde tener en cuenta que la silueta contiene de forma codificada, gran cantidadde informacion que permitirıan obtener una representacion de la postura en3D [3]

El analisis de la imagen basado solo en esta caracterıstica es bastante li-mitado y puede ser muy inexacto, ya que se ve seriamente afectada porruido inherente a la imagen y a la persona, las sombras, el fondo ambiguopueden limitar o impedir la correcta separacion de la silueta, como muestrala figura 3.5. Encontrar ciertas cualidades de la postura como los grados delibertad de una extremidad; para el tipo de modelo kinematico, es imposible.

Figura 3.5: Ambiguedad cuando solo son usadas siluetas en 2D [29].

Page 33: Tesis Master - Determinación de comportamiento humano basado en posturas

3.1. LOCALIZACION DE PERSONAS EN UNA IMAGEN 33

Bordes

Los bordes pueden ser extraıdos con facilidad y a bajo costo de procesamien-to ya que aparecen cuando hay una diferencia significativa en la intensidadde los lados que conforman la imagen.Los bordes son invariantes a las condiciones de iluminacion pero puedenfallar cuando el fondo o la ropa presenta una textura no homogenea, peroen algunos casos puede ser combinado con las siluetas para eliminar el ruidode estas.

Reconstrucciones con imagenes 3D

Las siluetas y los bordes, son inadecuados para obtener la profundidad enimagenes monoculares, de esta forma se hace extremadamente difıcil deter-minar la oclusion y auto-oclusion, en cambio, cuando 2 o mas camaras sonusadas puede realizarse una construccion de la forma en 3D, basado en lasilueta obtenida de la vista individual de cada camara.

Para determinar la profundidad existen tecnicas como: insercion de volu-men [6] (ver figura 3.6) y basadas en voxel [19] (el voxel es el equivalenteal pixel pero para 3 dimensiones), otra tecnica es mediante el uso de este-reometrıa, esta se lleva a cabo mediante el calculo de la diferencia de lasimagenes capturadas por 2 camaras calibradas (similar a la vista humana),usando triangulacion se puede determinar la profundidad de los objetos, dela forma en que lo presento [27].

Color y textura

El principio fundamental de este descriptor se basa en la idea de que si seanalizan independientemente las partes del cuerpo, estas presentaran unatextura o color medianamente homogenea. La apariencia individual de laspartes puede ser representada por un modelo de distribucion de color Gaus-siano o histogramas de color [2].

Movimiento

El movimiento de un objeto es basicamente la diferencia entre 2 o mas framesconsecutivos, de la posicion inicial de la persona (o de cualquiera de suspartes) y la posicion final. Hay que tener en cuenta que propiedades como elbrillo; en los pixeles que forman parte de la persona, son considerados comoconstantes.

Page 34: Tesis Master - Determinación de comportamiento humano basado en posturas

34CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

Figura 3.6: Superficie calculada de una persona formada por triangulos,basado en la insercion de volumen (reimpreso de [6]).

3.1.3. Combinacion de los descriptores

Segun lo visto en la seccion anterior, cada descriptor presenta cualidadesparticulares pero tambien insuficiencias que los hace inutiles en algunosescenarios, ası pues, la opcion mas adecuada es establecer un metodo es-tadıstico (como las redes bayesianas o modelos de Markov), que permitauna mayor robustez a la hora de realizar el analisis, integrando estos des-criptores y dando un peso a cada uno de ellos. Se podrıa combinar la siluetacon el contorno o los flujos de color, o sencillamente combinarlos todos, deesta manera determinar de forma mas exacta la postura de una persona. Sinembargo, esto presenta un inconveniente de rendimiento, si se piensa quecada unos de estos metodos por si solos, pueden generar gran numero deoperaciones, al combinarlos todos con un modelo estadıstico como Markov oBayes, se puede convertir en algo inmanejable. Para evitar ese inconveniente

Page 35: Tesis Master - Determinación de comportamiento humano basado en posturas

3.2. IDENTIFICACION DE POSTURAS 35

Cristian Sminchisescu, Atul Kanaujia y Dimitris Metaxas [10], presentan unmetodo basado en la discriminacion condicional de caracterısticas aleato-rias, presentan tambien su idea sobre por que el uso de metodos estadısticosconvencionales no es adecuado en este campo.

3.2. Identificacion de posturas

Ya han sido mencionados los metodos utilizados para separar una personadel resto de la imagen, ahora sera presentado el analisis correspondiente ala identificacion de la postura que tiene la persona. A continuacion, se mos-traran algunos estudios realizados en este campo.

La identificacion de la postura hace referencia al proceso encargado de iden-tificar la configuracion en la que se encuentran las partes del cuerpo humano,ya se usando modelos kinematicos o basado en la forma. Hace parte integraldel proceso de seguimiento y analisis de actividades de la persona, ademasalgo importante es que la postura puede ser identificada independientementeen cada fotograma.

Existen dos agrupaciones; mas o menos complejas, para determinar la pos-tura: la basada en una camara y multi-camara, es decir, la determinacionde la postura en 2D y la determinacion de la postura en 3D. Tambien hahabido investigadores que han tratado de obtener una postura en 3D basa-do en una imagen monocular (2D), pero esto presenta un reto aun mayor.Thomas B. Moeslund, Adrian Hilton y Volker Kruger [33], han agrupadolas tecnicas para determinar la postura en tres tipos: modelo libre, uso demodelo indirecto y uso de modelo directo. A continuacion seran presentadoscada uno de ellos.

3.2.1. Modelo libre

Este tipo abarca todos los metodos donde no existe un modelo especificado apriori. Las investigaciones en este modelo se han enfocado en dos categorıas:la estimacion probabilıstica de las parte del cuerpo, la cual primeramenteidentifica las partes del cuerpo por separado y luego las une basandose enla mayor probabilidad de ocurrencia. La segunda categorıa es la estimacionbasada en ejemplos, esta se basa en el aprendizaje de modelos en 2D parala estimacion de posturas en 3D. Ahora seran presentadas con mas detallecada una de ellas.

Estimacion probabilıstica de las partes del cuerpo

Primero se localizan las partes del cuerpo y luego se escoge la configuracionque mejor coincida con las observaciones, este metodo permite la estimacion

Page 36: Tesis Master - Determinación de comportamiento humano basado en posturas

36CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

de la postura para movimientos rapidos y puede ser conjugado con la infor-macion temporal para tener una estimacion consistente para secuencias devıdeo.

K. Mikolajczyk, D. Schmid y A. Zisserman [11] introdujeron el ensamblaje(estimar la configuracion del cuerpo) probabilıstico de las partes del cuerpopara localizar a las personas en imagenes 2D, la probabilidad de ensamblajede cada parte del cuerpo esta asociado a la probabilidad de la configuraciondel cuerpo. Algunos trabajos han introducido un enfoque para la estimacionde la postura en 2D, X. Ren, A.C. Berg y J. Malik [17], usaron restriccionesentre pares de partes del cuerpo para plantear la configuracion de la posturaen 2D.

Un avance significativo en el metodo probabilıstico es la estimacion en image-nes desorganizadas de una sola camara; es decir en 2D, superando las limi-taciones anteriores que requerıan escenas estructuradas o de varias camaras.

Estimacion basada en ejemplos

Algunos investigadores han propuesto la creacion de metodos que estimen lapostura de una persona basandose en una base de datos de ejemplos, Brand[18], presento un metodo usando modelos ocultos de Markov (HMM porsus siglas en ingles), para representar la asignacion de secuencias de siluetas2D correspondientes para estimar la postura en 3D. La asignacion de lassecuencias especıficas se realizo usando las secuencias en 2D obtenidas de unhumanoide previamente disenado. Los HMM han sido usados para estimar lapostura 3D mas probable de una silueta en 2D, esto permite representacionesen 3D invariantes a la velocidad del movimiento, sin embargo la estimacioncon un punto de vista variable aun esta siendo investigada.

3.2.2. Modelo indirecto

Este tipo de metodos hacen la estimacion de la postura valiendose de mode-los que les permite la estimacion de medidas y proporciones. Tener conoci-mientos previos sobre las partes del cuerpo, el tamano relativo, la forma y suconfiguracion presenta una ayuda para la reduccion de errores en la estima-cion de la postura y es precisamente la clase en la que enmarcarıa parte deltrabajo realizado en la asignatura de HCI (comentado en el capıtulo ante-rior), especıficamente la parte conocida como Vitruvio, el cual se basaba enlas proporciones definidas por Leonardo DaVinci; en su hombre de Vitruvio,para estimar la localizacion de las partes del cuerpo y proyectar partes deeste en caso de presentarse ocluciones.

Page 37: Tesis Master - Determinación de comportamiento humano basado en posturas

3.2. IDENTIFICACION DE POSTURAS 37

3.2.3. Modelo directo

Esta clase usa la representacion geometrica en 3D, tanto del modelo ki-nematico como del basado en formas para estimar la postura. La mayorıade los enfoques usan una metodologıa de analisis por sıntesis para optimizarla similitud entre el modelo proyectado y las imagenes observadas. ThomasB. Moeslund, Adrian Hilton y Volker Kruger [33], han dividido esta clase deestimacion de postura en tres tipos que seran presentados a continuacion.

Estimacion con multi-camara en 3D

Esta estimacion consiste en el uso de mas de una camara enfocada en el mis-mo escenario para construir imagenes con volumen y profundidad. Existendiferentes tecnicas que utilizan esta metodologıa, Pedro Correa, Ferran Mar-ques, Xavier Marichal y Benoit Macq [26], determinan la postura usando 2camaras no sincronizadas, haciendo una estimacion geodesica de la posturadetectando en cada una de las camaras lo que ellos denominan los ‘puntoscruciales’, luego los puntos son fusionados obteniendo la postura en 3D ysolventando problemas en el proceso de seleccion de los puntos. Otro en-foque usando este tipo de estimacion fue presentado por Hidenori Tanaka,Atsushi Nakazawa y Haruo Takemura [16], que estiman la postura de unapersona basado en sus volumenes; usando imagenes en 3D, capturadas porvarias camaras y usando esqueletonizacion de imagenes en 3D.

Estimacion monocular en 3D

Se trata de construir una representacion de la postura en 3D basado so-lamente en las imagenes recibidas por una unica camara. La perdida deprofundidad a menudo causa que la obtencion de imagenes 3D basados so-lo en las siluetas sea ambiguo, para evitar esa situacion Ankur Agarwal yBill Triggs [3], proponen un metodo donde se hace uso de una dinamica deestimacion del estado anterior junto con valores aprendidos. Basicamentese trata de saber como estaba en el fotograma anterior para estimar cuales la postura mas probable y ası eliminar las ambiguedades en caso de queexistan (ver figura 3.7).

Los siguientes pasos corresponden a los presentados en la imagen 3.7: (a)silueta de entrada extraıda mediante la sustraccion de fondo. (b) muestrea-dos puntos de borde. (c) contexto local de la forma computado sobre lospuntos de borde. (d) la distribucion de la forma en el contexto espacial.(e) cuantificacion de los vectores para obtener un histograma. (f) posturatridimensional obtenido por regresion en el histograma.

Page 38: Tesis Master - Determinación de comportamiento humano basado en posturas

38CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

Figura 3.7: Metodo de Agarwal y Triggs paso a paso (reimpreso de [3])

Estimacion basado en modelos con aprendizaje de movimiento

Este tipo de modelos ha sido desarrollado como parte de la animacion porcomputador para permitir sintetizar los movimientos naturales, restringidosa una base de datos de movimientos. Sin embargo, el uso de estos modeloses muy pertinente al problema de la vision por computador y la estimacionde posturas, pues permite predecir y restringir las posturas y movimientosa estimar.

Este metodo cuenta con caracterısticas que lo hacen muy util ya que permi-te la reconstruccion de posturas en 3D basado en imagenes en 2D de formarapida, sin embargo, hasta el momento esta muy limitado a movimientos ytransiciones fijas, dejando el reto de ampliar su potencial a modelos no tanrestrictivos.

3.3. Seguimiento y analisis de comportamientos

Durante esta decada los algoritmos orientados al seguimiento de persona sehan enfocado principalmente a aplicaciones de seguridad y han sido logradosavances significativos en cuanto al seguimiento en ambientes no controladoso externos, con ocluciones o simplemente la deteccion de personas en unaimagen.

En esta seccion sera abordado lo concerniente al seguimiento de personas enuna secuencia de vıdeo, el analisis del comportamiento de la persona. Seranpresentados algunos avances significativos en este campo y los inconvenien-tes que conlleva este tipo de problema.

3.3.1. Seguimiento

La nocion de seguimiento en el campo de la vision por computador ha sidoconsiderada de diferentes maneras en la literatura, pero todas presentan mas

Page 39: Tesis Master - Determinación de comportamiento humano basado en posturas

3.3. SEGUIMIENTO Y ANALISIS DE COMPORTAMIENTOS 39

o menos los mismos procedimientos: Primero, localizacion y segmentacion ysegundo, calculo del diferencial de localizacion en fotogramas consecutivos.La localizacion enmarca lo relacionado a la identificacion de una personaen una imagen y su respectiva separacion para realizar un analisis indivi-dual (para el presente trabajo, la determinacion de la postura hace parte delanalisis individual de la imagen). La diferencial de localizacion correspon-de a la asociacion de la persona detectada en fotogramas anteriores con elactual y determinar el desplazamiento temporal y espacial que ha tenido [12].

A. Colombari, A. Fusiello y V. Murino [1], presentan un trabajo para seg-mentacion y seguimiento de uno o multiples objetos en una escena, dondecada movimiento se va visualizando como un nodo de un diagrama (ver figu-ra 3.8). El principal problema del seguimiento es la oclusion externa ya queen determinados momentos una persona puede salir de la escena y volver aaparecer, el gran logro esta en poder determinar que es la misma personaque antes estaba siendo seguida, la situacion es mas compleja aun, cuandoexisten varias personas en movimiento y entre ellas se genera la oclusion.

Figura 3.8: Objetos superpuestos (reimpreso de [1]).

Cuando dos objetos se mezclan, normalmente produce un error en la seccionde combinacion, se crean entonces un componente conectado por los bordesanadidos por plantilla coincidentes.

3.3.2. Analisis de movimiento

El analisis del movimiento humano presenta un gran reto para los investi-gadores en el campo de la vision artificial, no solo por el movimiento en simismo, sino tambien por la variedad de posturas que pueden ser adoptadaspor cada persona, los puntos de vista de la camara y el entorno en el quese ejecutan las acciones a analizar. Como se menciono anteriormente se hanpresentado modelos para hacer el analisis de las imagenes desde la locali-zacion de personas, individualizacion e identificacion de postura (ya sea 2Do 3D), en cada fotograma de un vıdeo y la posterior combinacion de losresultados para dar como resultado un analisis de movimiento.

Page 40: Tesis Master - Determinación de comportamiento humano basado en posturas

40CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

Si bien es cierto, se cuentan con todas las piezas de puzzle; mas o menos efi-ciente, mas o menos exactas, tambien es cierto que para unirlas es necesariode un componente adicional que permita aplicar todo el conocimiento quese tiene sobre la anatomıa humana. Es justo aquı donde el uso de modelosestadısticos puede brindar una gran ayuda, como el ejemplo particular paraanalizar la forma de andar presentado por I.-Cheng Chang ys Chung-LinHuang [8].

Existen principalmente, tres tipos de aplicaciones que estan enfocando susesfuerzos en este sentido: las aplicaciones de control, aplicaciones de analisismedico y aplicaciones de vigilancia. Las aplicaciones de control estan moti-vadas por el amplio mercado que existe en el campo de las vıdeo consolas,donde empresas como Microsoft presentan juegos que pueden ser controladospor el movimiento del cuerpo, sin controles adicionales, solo con una camaradispuesta frente al usuario, y la cada vez mayor integracion con diferentesdispositivos por parte de las personas, este campo de aplicaciones esta en-marcado principalmente a lo que se conoce como HCI (interaccion hombre-computador). Las aplicaciones medicas estan muy enfocados al diagnosticoautomatico de pacientes de ortopedia o al incremento del rendimiento deatletas, por otro lado, las aplicaciones de vigilancia han sido motivadas por2 factores principalmente, el aumento generalizado de las camaras de vigi-lancia y el aumento de la preocupacion de las naciones por proteger a susciudadanos.

3.3.3. Analisis de comportamiento

Cuando se habla de analisis de comportamiento se va mas alla de simple-mente decir que una persona esta caminando, esta sentada o tiene una deter-minada postura, aunque ciertamente se utilicen esos principios basicos paraconcluir; como lo harıa un ser humano, que esta haciendo una persona. Unenfoque sobre esta idea fue presentado por Hang Zhou, Liang Wang y DavidSuter [15], quienes hacen un reconocimiento y clasificacion de las accionesrealizadas por la una persona en una secuencia de vıdeo, basandose en unareduccion de caracterısticas Gaussiano. Un enfoque diferente fue introduci-do po Jasper Snoek, Jesse Hoey, Liam Stewart, Richard S. Zemel y AlexMihailidis [20], donde mas que inferir actividades, buscan encontrar com-portamientos sospechosos usando HMM, para empezar se entrena el HMMcon comportamientos y usos normales de escaleras, luego se usa un umbralde probabilidad para detectar los comportamientos sospechosos.

Un prototipo para analizar el comportamiento humano fue presentado porJordi Gonzalez, Daniel Rowe, Javier Varona y F. Xavier Roca [21], quienesven las personas como agentes a los cuales les analizan sus movimientos y

Page 41: Tesis Master - Determinación de comportamiento humano basado en posturas

3.4. LIMITACIONES ACTUALES 41

los desplazamientos en un ambiente determinado, para inferir la relacionconceptual entre los agentes (ver figura 3.9).

Figura 3.9: Arquitectura modular para la evaluacion de una escena con hu-manos, publicada en [21].

De forma mas general, Neil Robertson y Ian Reid [32], presentan un sis-tema para el reconocimiento del comportamiento humano sobre secuenciasde vıdeo, el comportamiento humano es interpretado basado en modelos es-tocasticos con HMM y redes bayesianas. El comportamiento es inferido cal-culando la mayor probabilidad de que una secuencia de imagenes expliqueuna accion, ası las acciones y los comportamientos humanos son representa-dos usando una jerarquıa de abstraccion: desde las acciones propias centra-das en la persona hasta las enmarcadas en un contexto espacio-temporal yfinalmente el comportamiento general.

3.4. Limitaciones actuales

Adicional a los descriptores y al analisis de las imagenes, existen algunasotras consideraciones que es necesario tener en cuenta a la hora de pensaren una metodologıa o en un sistema, capaz de identificar las actividades querealiza una persona. A continuacion seran presentadas algunas de ellas.

3.4.1. Escenario

Las consideraciones de escenario hace referencia al entorno en el cual seejecuta la accion a analizar. Si bien para algunos casos se puede contar conambientes controlados [4][25], en el ambito de la vıdeo vigilancia no es lo

Page 42: Tesis Master - Determinación de comportamiento humano basado en posturas

42CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

mas habitual. Los escenarios al aire libre suelen ser mas complejos por lavariabilidad del fondo y los cambios de iluminacion, esto los convierte enun gran reto para los investigadores. Luis M. Fuentesa, Sergio A. Velastin,presentaron algoritmo que permite el seguimiento de objetos en entornoscomplejos, los objetos en primer plano son detectados usando el contrastede la iluminacion [12].

3.4.2. Multiples personas en la misma escena

Hasta el momento solo se ha hablado de la deteccion de una unica personaen la escena, pero cuando se desea trabajar en un ambiente real esto esinsuficiente. La deteccion y seguimiento de multiples personas en una escenase ha convertido en el reto mas importante y de mas difıcil abordaje de lapresente materia. La oclusion entre las personas, la interaccion entre ellasson algunas de las razones que aumentan su complejidad y a la vez aumentanla cantidad de calculos a realizar. Rafael Munoz Salinas, Eugenio Aguirre yMiguel Garcıa Silvente [31], presentaron un trabajo en el cual la localizacioninicial de las personas se realiza mediante la deteccion de rostros; usandola librerıa de OpenCV [24], con camaras estereo sincronizadas, si bien estaopcion puede reducir gran parte del calculo, es inadecuada en ambientescon poca iluminacion o en posturas en las que gran parte o la totalidad delrostro no esta en direccion a la camara.

3.4.3. Numero y posicion de las camaras

El numero de camaras a usar es un factor importante a analizar ya que seconvierte en la principal herramienta para anular la oclusion entre objetos ola auto-oclusion por parte de alguna extremidad del cuerpo humano. Cuan-do solo es usada una camara las imagenes pueden presentar auto-oclusiony ambiguedad para determinar la profundidad, normalmente 2 camaras essuficiente para solucionar gran parte del problema [26].

La posicion de las camaras es otro punto importante a tener en cuenta,ya que el angulo o la perspectiva de la camara con respecto a la persona aanalizar puede hacer que el valor de los grados de libertad de cada extre-midad cambien. Una misma persona vista desde 2 angulos diferentes puededar lecturas que cambian el resultado del analisis, sin embargo, esto tambienpuede ser subsanado usando mas de una camara y conociendo un invarian-te adicional del entorno, como puede ser el suelo, de esta manera se puededeterminar de mejor manera la postura en 3D de la persona, con respecto asu entorno.

Existen dos metodos para analizar la informacion proveniente de variascamaras, la primera es hacerlo de forma separada por cada camara y luego

Page 43: Tesis Master - Determinación de comportamiento humano basado en posturas

3.5. CONCLUSIONES 43

combinar los resultados obtenidos en cada una para resolver las ambigueda-des [22] (ver figura 3.10), la segunda forma es combinar la informacion desdeel origen; antes de analizar, para formar una reconstruccion en 3D (comofue mencionado en el descriptor de correspondiente a imagenes 3D). Cuandovarias camara son usadas hay que tomar en cuenta la calibracion ya que estopermitira la combinacion de la informacion mas facilmente, aunque existentrabajos que realizan este tipo de procesamiento sin camaras calibradas [26].

Figura 3.10: Personajes animados controlados por movimiento[22].

3.5. Conclusiones

Aunque se ha venido trabajando en los diferentes campos y tematicas dela vision por computador, que permitirıan llegar al analisis de la activi-dad humana, hay que precisar que estos campos se encuentran aun lejosde encontrar una solucion que satisfaga por completo sus necesidades. Laoclusion externa, la auto-oclusion, la variacion en el angulo de vision, laintegracion del analisis para relacionar la actividad que desarrolla una per-sona respecto o conjuntamente con otra y finalmente la insercion del entornoespacio-temporal en el analisis, son algunos de los objetivos que aun debenser revisados y perfeccionados.

Un enfoque reciente se esta dando para integrar varias de las solucionesplanteadas, por ejemplo Ankur Agarwal y Bill Triggs [3], muestran comose puede integrar modelos 2D y 3D para obtener una estimacion de la pos-tura mas exacta, abordando tambien el problema de la oclusion. Como yase menciono antes el integrar diferentes analisis y metodologıas podrıa dar

Page 44: Tesis Master - Determinación de comportamiento humano basado en posturas

44CAPITULO 3. ACCIONES HUMANAS EN SECUENCIAS DE VIDEO

mejores resultados en la calidad de los datos generados, sin embargo, tam-bien puede conducir a un exceso en la necesidad de potencial de calculo,mas aun si se piensa en un sistema de tiempo real como la vigilancia de unacentral de transporte publico o un aeropuerto, cada minuto pueden pasardecenas de personas frente a una camara de seguridad la cual en promediocaptura 30 fotogramas por segundo (depende el formato). Aun cuando nofuera necesario analizar los 30 cuadros por segundo sino solo la mitad y cadaaeropuerto tuviera solo 100 camaras (por dar un ejemplo, el aeropuerto deciudad de Mejico cuenta con 750 camaras de vigilancia), pensando que almenos se debe hacer un barrido pıxel por pıxel a cada fotograma recibidoy asumiendo imagenes de 640 x 480, se estarıa hablando de 460.800.0001

operaciones, solo para leer una vez cada pıxel de cada imagen, en cada se-gundo. Adicional a lo anterior hay que tener en cuenta que en principio elanalisis se realiza a cada persona por separado y que para cada una es nece-sario realizar los pasos de deteccion, segmentacion, estimacion de postura,analisis de movimiento y analisis del comportamiento, ademas, de que unapersona cambia de una camara a otra en su desplazamiento y por ende sedebe poder hacer el seguimiento en el sistema como un todo, sin importarsi es observada por una u otra camara, incluso si es observada por mas deuna camara a la vez. Dado lo anterior, para poder contar con un sistemaque funcione en tiempo real se necesitarıa un gran poder de calculo ademasde una buena infraestructura fısica (de red).

En conclusion, el desarrollo de este campo aun esta en su etapa inicial,si bien es cierto, ya existen trabajos e investigaciones orientadas a resolvercada una de las limitaciones que plantea hasta hoy el analizar el comporta-miento humano, es posible que sea necesario un salto tecnologico mas quesolo un cambio o una nueva metodologıa en la forma en que el analisis serealiza.

115 fotogramas x 100 camaras x 307200 (640 x 480 pixeles)

Page 45: Tesis Master - Determinación de comportamiento humano basado en posturas

Capıtulo 4

Propuesta de investigacion

Como propuesta inicial presentada en este documento se pretende dar unpaso mas adelante del simple analisis de movimiento tratado en el capituloinmediatamente anterior. La idea es no solo analizar el movimiento, sinotambien el comportamiento que realizan las personas, lo cual es algo massubjetivo, pero permitira identificar situaciones que en determinados esce-narios pueden ser consideradas como peligrosas o por lo menos sospechosas.

4.1. Justificacion

Un jueves cualquiera, un hombre se desplaza entre una multitud de tran-seuntes y pasajeros que se disponen a abordar el metro que los lleve a sudestino en la hora mas transitada. Es uno mas, entre cientos que caminan asu alrededor, lleva consigo un maletın similar al utilizado para transportarun computador portatil, nada muestra una anormalidad en el, luego de re-pente se detiene frente a una de las paradas; junto a una de las columnas delsubterraneo, deja su maletın en el suelo y se dispone a salir del sistema detransporte publico. 25 minutos mas tarde la confusion se extiende por todala estacion, una nube de polvo y llamas cubre a cientos de personas, mien-tras estas gritan desconcertadas, todo ocurre frente a decenas de camarasde vigilancia que observan la escena.

El parrafo anterior puede ser un artıculo de cualquier periodico en cualquierpaıs del mundo y la situacion actual no da indicios de que pueda cambiar.A una escala menor encontramos como los supermercados pierden buenascantidades de dinero por robos de pequenos artıculos, aun a pesar de tenervigilados cada uno de sus pasillos, no es extrano que las camaras de seguri-dad detecten cuando una persona toma un producto y lo introduce en unode sus bolsillos en lugar del carrito de compras, situaciones ası podrıan serinformadas oportunamente al equipo de vigilancia para que puedan realizarel seguimiento oportuno.

45

Page 46: Tesis Master - Determinación de comportamiento humano basado en posturas

46 CAPITULO 4. PROPUESTA DE INVESTIGACION

Esta investigacion esta justificada en la creciente necesidad de hacer la segu-ridad mas activa que reactiva, es decir, que los organismos de control puedanintervenir de forma inmediata sobre cualquier situacion y no esperar hastaque los resultados de esta se presenten.

Por ultimo, como ya se menciono anteriormente, las camaras de vigilanciaestan cada vez mas extendidas en nuestro entorno, sin embargo, el aumentodel personal encargado de monitorizar no puede ir a la par con el crecimientodel numero camaras, por esta razon se ve la necesidad de presentar la in-formacion de manera menos voluminosa, mostrando las imagenes ‘filtradas’para que el personal preste mayor atencion a aquellas en las cuales puedaestar ocurriendo una situacion anormal y no pierda tiempo viendo escenasno anormales.

4.2. Objetivos

4.2.1. Objetivo general

La propuesta consiste en la creacion de un modelo para la determinacion delas actividades que realiza una persona, capaz de identificar de forma au-tomatica, situaciones particulares (sospechosas), manejando diferentes con-textos y medios en los cuales se desarrolle la accion, ya sea con camarasestaticas o moviles, basandome en estudios y tecnicas previamente desarro-lladas y de ser necesario la creacion de otras.

4.2.2. Objetivos especıficos

Ahora seran presentados los objetivos especıficos que permitiran cumplircon el objetivo general:

Seleccionar las tecnicas de segmentacion y deteccion de personas masadecuadas para la propuesta.

Seleccionar o crear una metodologıa que permita identificar de manerasatisfactoria y rapida la postura que tiene una persona.

Crear una tecnica que permita la determinacion del comportamientoque realiza una persona en un momento especıfico.

Disenar una aplicacion; basado en componentes, que contenga las tecni-cas y metodologıas seleccionadas, integrandolas de manera que entre-gue los resultados del analisis en tiempo real, permitiendo al personalde vigilancia centrar su atencion en las actividades que la aplicacionidentifique como sospechosas.

Page 47: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 47

4.3. Pruebas y prototipos desarrollados

Durante el transcurso de las clases del presente master se han desarrolladovarias piezas de software, destinadas a satisfacer ciertos criterios de la inves-tigacion a proponer. La siguiente imagen (figura 4.1) es un modelo de capasy componentes que representa en su totalidad las partes de un sistema quecumple con el objetivo buscado.

Figura 4.1: Modelo de capas del sistema propuesto.

El modelo presentado en la figura 4.1 esta constituido por los siguientescomponentes:

A: Pre-procesamiento del video.

B: Deteccion de personas.

C: Segmentacion.

D: Esqueletonizacion.

E: Determinacion de postura (Vitruvio).

F: Analisis de movimiento.

Page 48: Tesis Master - Determinación de comportamiento humano basado en posturas

48 CAPITULO 4. PROPUESTA DE INVESTIGACION

G: Analisis de comportamiento.

H: Servicio web seguro de resultados.

I: Interfaz de usuario.

A continuacion seran presentados; capa a capa, los componentes desarro-llados y los proyectados que deberan ser realizados, basados en el modelopropuesto.

4.3.1. Pre-procesamiento de video

Separacion de vıdeo en fotogramas

Consiste en dividir el vıdeo recibido en los fotogramas que lo componen deesta manera se pueden analizar en paralelo. Para esto se realizaron pruebascon diferentes formatos de codificacion de vıdeo. La siguiente imagen (figura4.2), presenta una comparacion; con datos de muestra, entre el tiempo decodificacion entre los formatos de vıdeo mas comunes.

Figura 4.2: Comparacion de tiempos para diferentes formatos de vıdeo.

Page 49: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 49

Luego de analizar los resultados obtenidos mediante la prueba estadısti-ca de Wilcoxon, se descubrio que no existe una diferencia significativa en lostiempos empleados por cada formato (excluyendo H264), sin embargo, losmejores resultados han sido obtenidos por el formato MPEG. Ademas delos resultados obtenidos en las pruebas MPEG es uno de los estandares devıdeo mas difundidos, por esta razon ha sido seleccionado como el formatode codificacion para la transmision de las imagenes captadas por las camarasde vigilancia.

4.3.2. Individualizacion

Segmentacion

La segmentacion consistente en la extraccion de un objeto existente unaimagen; para que sea analizada independientemente del fondo. El procesode segmentacion puede llevarce a cabo mediante el uso de de los descriptoresde la imagen (bordes, color, textura, etc.), sin embargo, este tipo de procesa-miento sobre la imagen no hace parte del objetivo de esta investigacion, porello en esta propuesta se persigue encontrar el metodo mas optimo creadopor otros investigadores.

Deteccion de personas en una imagen

La deteccion de personas en imagenes se ha separado en 2 pasos: la detecciona priori y la verificacion. La deteccion a priori se basa en diferentes elementospara identificar una persona en una imagen (mas alta que ancha, tiene cabe-za u otros). Mediante el uso de diferentes tecnicas que usan los descriptoresenunciados anteriormente o mediante el uso de camaras especiales; como lasque cuentan con vision termica, es posible determinar sobre una imagen lasilueta de una persona. La verificacion consiste en determinar de forma masrigurosa si lo captado a priori es o no una persona, reduciendo el numero defalsos positivos. Este tema ha sido abordado, en parte, por trabajos previosde este mismo master [7], donde mediante el uso de tecnicas de esqueletoni-zacion y usando un componente llamado Vitruvio1, busca identificar si lascaracterısticas del objeto observado corresponden con las de un humano,este tema sera tratado con mayor detalle en el siguiente numeral, por estarestrechamente relacionado.

Esqueletonizacion

Este ıtem consiste en llevar la imagen de la persona a su forma mas simple(un esqueleto como muestra la figura 4.3). El proceso de esqueletonizacion

1Este componente lo he desarrollado durante el transcurso del master y sera presentadoa profundidad mas adelante.

Page 50: Tesis Master - Determinación de comportamiento humano basado en posturas

50 CAPITULO 4. PROPUESTA DE INVESTIGACION

se ha separado en 2 etapas: la esqueletonizacion basica y el perfecciona-miento del esqueleto, la primera consiste en el adelgazamiento de la imagensegmentada; hasta dejarla de un solo pixel de grosor, manteniendo las ca-racterısticas morfologicas. La tarea de esqueletonizacion podrıa ser realizadapor cualquier algoritmo que cumpla con la restriccion planteada, por lo cual,la investigacion en este campo consistira en determinar cual es el metodomas eficiente.

Figura 4.3: Representacion estructural de la persona.

Perfeccionamiento del esqueleto

El perfeccionamiento del esqueleto consiste en eliminar gran parte del rui-do que puede tener el esqueleto previamente obtenido y convertir las lıneastoscas en lıneas rectas perfectas (ver figura 4.4), para conseguir esto seplanteo el siguiente metodo:

Algoritmo para la simplificacion de esqueletos 2: Pretende simpli-ficar los esqueletos que son obtenidos mediante la tecnica de reduccion to-pologica o de cualquier otra tecnica en el que el grosor del esqueleto no seamayor a un pixel. El metodo forma parte de la fase de post-procesamiento

2Este metodo lo desarrollamos en conjunto con el ingeniero Carlos Carvajal y fuepresentado en su tesis des master.

Page 51: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 51

Figura 4.4: Esqueleto simplificado.

que es aplicable a los esqueletos. Al adelgazar una imagen de un objeto 2Del esqueleto resultante tiene una forma irregular, basado en arcos y curvas,se pretende tomar esa imagen y simplificarla en puntos (coordenadas carte-sianas) obteniendo angulos, tamanos de lıneas y proporciones.

Para lograr lo anterior la imagen esqueletizada esta dispuesta en una matrizbinaria, donde el fondo esta representado por ceros y el esqueleto esta for-mado por unos. Para la simplificacion se definieron dos tipos de puntos opixeles claves:

Puntos extremos: El ultimo pixel del esqueleto, es decir que solamentetiene un vecino con valor 1.

Intersecciones: El pixel en que dos o mas lıneas se cruzan.

Estos puntos son claves dentro de la estructura misma del esqueleto. Laspruebas revelan una reduccion de la cantidad de datos necesaria para re-presentar la imagen esqueletizada, permitiendo la concentracion del analisisde la imagen en dichos puntos. El metodo consta de 4 pasos significativos(representados en la figura 4.5), donde se logro reducir fuertemente la can-tidad de informacion necesaria para la representacion de una estructura. Acontinuacion seran presentados los pasos que conforman el metodo:

Paso 1: La imagen es descompuesta en lıneas rectas (vease figura 4.6),formadas por pixeles consecutivos en una misma direccion. Teniendo 2pixeles consecutivos como tamano mınimo para representar una lınea,mediante un proceso iterativo se buscan los pixeles continuos sobre unamisma direccion, para esto hemos definido 4 direcciones: Horizontales,verticales, diagonales inclinadas hacia la derecha y hacia la izquierda.

Page 52: Tesis Master - Determinación de comportamiento humano basado en posturas

52 CAPITULO 4. PROPUESTA DE INVESTIGACION

Figura 4.5: Flujograma del algoritmo de simplificacion de esqueletos.

Figura 4.6: Tipos de lıneas detectadas.

Paso 2: En este paso se detectan los puntos clave, extremos e inter-secciones.

Los puntos extremos son aquellos que solo tienen un pixel con va-lor 1 a su alrededor, es decir, los puntos en que termina la continuidaddel esqueleto y estan dados por:

∀P (x, y)⇒(x+1)∑

i=(x−1)

(y+1)∑j=(y−1)

P (i, j) = 2 (4.1)

Donde P(i,j) representa el valor de la matrız binaria en las coordenadasi y j.

El otro grupo de puntos clave esta formado por las intersecciones, es-te grupo representa los puntos en que dos o mas lıneas con diferentependiente (diferente tipo), se unen.

Page 53: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 53

Notacion : L1 es una lınea dada por los puntos P1(x1, y1), P2(x2, y2) yL2 una lınea dada por los puntos P3(x3, y3), P4(x4, y4); y la pendientede cada lınea esta dada por la funcion M(L).

PI(x, y) serıa un punto de interseccion para las lıneas L1 y L2 sı,

M(L1) 6= M(L2) (4.2)

Y obteniendo las coordenadas x e y ası:

x =(y3− y1) + (M(L1) ∗ x1)− (M(L2) ∗ x3)

M(L1)−M(L2)(4.3)

y = M(L1) ∗ (x− x3) + y1 (4.4)

Si y solo si, el punto PI(x, y) coincide con:

x1 ≤ x ≤ x2y1 ≤ y ≤ y2x3 ≤ x ≤ x4y3 ≤ y ≤ y4

Paso 3: En este paso se obtiene el resultado mas significativo al unirlos puntos clave (extremos e intersecciones), generando nuevas lıneasque permiten representar la estructura original con mucha menos in-formacion.

Para esto se crea una lınea entre cada par de puntos si y solo si, existeun camino entre ellos y no hay ningun punto clave entre ellos.

Dos puntos clave Pc1 y Pc2 pueden unirse si:

∃[Lm..Ln] ∈ L0..L(tota−1) →(n−1)∑i=m

Dist(Li, L(i+1)) = 0 (4.5)

Donde L es una lınea y Dist es una funcion que calcula la distanciamas cercana entre los puntos que identifican cada lınea ası:

Dist = min(Hip(L1.P1, L2.P3), Hip(L1.P1, L2.P4),Hip(L1.P2, L2.P3), Hip(L2.P1, L2.P4))

Hip es una funcion que calcula la distancia entre dos puntos basadoen el teorema de Pitagoras.

Page 54: Tesis Master - Determinación de comportamiento humano basado en posturas

54 CAPITULO 4. PROPUESTA DE INVESTIGACION

Hip =√

(y2− y1)2 + (x2− x1)2 (4.6)

Para cada par de puntos.

Paso 4: Este es un paso de refinamiento en el cual se detectan lıneasque pueden ser unidas y convertidas en una sola, entre la lista de lıneasgeneradas en el paso anterior. Dos lıneas pueden ser unidas si:

Dist(L1, L2) = 0 y M(L1) = M(L2) (4.7)

Dando una lınea resultante L formada por los 2 puntos mas distantesentre sı, de los 4 puntos que caracterizan las 2 lıneas.

4.3.3. Postura

Determinacion de la postura

Basado en la obtencion del esqueleto, la postura sera determinada calcu-lando los angulos que hay en cada extremidad. Ahora sera presentado elcomponente Vitruvio encargado de realizar los calculos correspondientes quepermitan determinar la postura de una persona.

Vitruvio

Vitruvio3 es un componente encargado de detectar mediante el uso de lıneas(tronco o extremidades) y una circunferencia (cabeza), la posicion y angulosentre los diferentes puntos (articulaciones), para determinar que esta ha-ciendo una persona en determinado momento; ejemplo: “Sentado”, “De pie”,etc., para con esto determinar un comportamiento especıfico. Vitruvio recibecomo entrada la ruta de un archivo en el cual se encuentran las coordenadasy longitudes de las lıneas o circunferencia, en una imagen procesada previa-mente, como se muestra en la figura 4.7.

En la figura 4.7 se puede identificar que se detecto una circunferencia en lacoordenada X=162, Y= 60 con Radio =37, adicionalmente se encontraron15 lıneas. De cada lınea se tienen las coordenadas del punto inicial y puntofinal, las variaciones entre los puntos (dX, dY) y la pendiente (M). Luegode cargar y validar el formato de la informacion recibida, Vitruvio realiza lanormalizacion de la misma, para esto se realizan los siguientes pasos:

Paso 1: Determinar cual es el punto inicial en una recta, esto es degran importancia ya que con base en eso se definiran tambien los angu-los entre los puntos.

3Este componente fue desarrollado durante el master, especıficamente para la asigna-tura HCI.

Page 55: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 55

Figura 4.7: Informacion que procesa Vitruvio.

Si X1 < X2 => punto inicial = (X1, Y1) punto final = (X2, Y2)Si No X1 < X2 => punto inicial = (X2, Y2) y punto final = (X1, Y1)

En caso de que X1 y X2 tengan el mismo valor (se puede presentaren una lınea vertical sin inclinacion), entonces realiza las mismas va-lidaciones anteriores pero ahora comparando los valores de Y1 y Y2 ası:

Si Y1 < Y2 => punto inicial = (X1, Y1) y punto final = (X2, Y2)Si No Y1 < Y2 => punto inicial = (X2, Y2) y punto final = (X1, Y1)

Esto se realiza para cada lınea encontrada.

Paso 2: Unificacion de lıneas, este paso es necesario ya que la busque-da de lıneas se realiza usando el metodo cvHoughLines2 de la librerıaOpenCV ([24]). El metodo mencionado encuentra lıneas basado enla busqueda de bordes por variacion de color, por lo que para cadalınea se encontrarian dos bordes; uno por cada lado de la lınea, poresta razon se debe realizar una busqueda para identificar e integrarlas lıneas repetidas, para ello se identifican 4 posibles combinacionesde lıneas que pueden ser consideradas como una (ver figura 4.8): a)Lıneas paralelas con desplazamiento en X, b) Lıneas paralelas con des-plazamiento en Y, c) Lıneas contenidas con desplazamiento tanto en

Page 56: Tesis Master - Determinación de comportamiento humano basado en posturas

56 CAPITULO 4. PROPUESTA DE INVESTIGACION

X como en Y, d) Lıneas segmentadas con desplazamiento tanto en Xcomo en Y.

Figura 4.8: Tipos de lıneas a unificar.

A continuacion, sera presentada la forma en que es identificada cadatipo de lınea antes de ser unida.

Notacion: L1Xi = valor de X en el punto inicial de la Lınea 1, L1Xf

= valor de X en el punto final de la Lınea 1; donde se pueden combinarL1 y L2 con los valores Xi, Xf , Yi, Yf y M , siendo L una lınea, los Xy los Y puntos sobre la imagen y M la pendiente de la Lınea.

a) Lıneas paralelas con desplazamiento en X: si los valores de las coor-denadas de las 2 lıneas a comparar tienen los mismos valores en los Yde los puntos inicial y final, pero tienen una separacion en X con unvalor maximo de tolerancia.

L1Yi = L2Yi y L1Yf = L2Yf y(L2Xi + Tolerancia) <= L1Xi <= (L2Xi − Tolerancia)

b) Lıneas paralelas con desplazamiento en Y: similar al caso anteriorpero con variacion en el eje Y.

c) Lıneas contenidas con desplazamiento tanto en X como en Y: puedepresentarse un caso similar a los 2 anteriores, con la diferencia que unoo los dos puntos de una lınea en el eje que no se toma como desplaza-miento, son diferentes a los de la lınea a comparar, para este caso seaplica el valor de tolerancia tanto para los valores de X como para losde Y.

d) Lıneas segmentadas con desplazamiento tanto en X como en Y:este caso es el mas comun que se puede presentar en lıneas diagonales.Dado que en realidad una lınea recta como tal no existe en imagenesy lo que se hace es tratar de simularla colocando puntos en una po-sicion determinada, de tal forma que de la sensacion de ser una lıneacontinua, dicho lo anterior, se puede presentar casos en los que unalınea que en principio parece continua, al procesarla con los metodos

Page 57: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 57

ya mencionados para la busqueda de lıneas, encuentre no una sinomas lıneas, este tipo de casos es controlado de la misma forma queel caso anterior, pero adicionando una tolerancia para el valor de lapendiente, de tal manera, que al encontrar dos lıneas que pueden serconsecutivas o una contiene parte de la otra y tienen una pendientesimilar, se conviertan en una sola lınea, donde el punto inicial sera elmenor punto entre las dos rectas y el punto final es el mayor punto delas dos rectas, usando la misma logica que en el paso 1.

Para todas las posibles combinaciones se manejo un valor de tole-rancia para controlar el maximo desplazamiento permitido entre laslıneas ası como las distancias entre los puntos contenidos, este valor esconfigurable y para este caso de estudio se manejo en 10 pıxeles.

Paso 3: Encontrar puntos P0 y P1, como se muestra en la figura 4.3,se ha definido un punto P1 justo en la parte inferior del cuello, dondeeste se une con el tronco y un punto P0 en la parte superior de lacabeza, de tal forma que al unir P0 y P1 se pueda trazar una rectaque atraviese de forma diametral la cabeza (Circunferencia).

Para ello, lo primero es encontrar todas las lıneas que se encuentrenunidas al perımetro de la circunferencia, dando un margen configu-rable de tolerancia de proximidad (para este estudio 2 Pıxeles), parasaber si una recta cumple esa condicion se calcula el perimetro de lacircunferencia mas cercano al punto de la lınea a comparar, ası:

xPerimetro = Radio ∗ Cos(AlphaB) (4.8)

yPerimetro = Radio ∗ Sen(AlphaB) (4.9)

Donde:

AlphaB = Asin(dY/H) (4.10)

Una vez obtenidas todas las lıneas candidatas se selecciona la de mayorlongitud, la cual correspondera al tronco.

Paso 4: Busqueda de extremidades: Luego de tener identificado eltronco de la persona se procede a identificar las extremidades, empe-zando por las piernas, para esto se basa en las proporciones del cuerpohumano (estudiadas por Leonardo Da Vinci y publicadas con su obrahomonima a este componente). Lo primero es proyectar sobre la rectaque representa en el tronco un punto donde deberıa quedar el puntoP2 (ecuacion 4.11); donde empiezan las piernas. Para llevar la pro-yeccion a un punto mas realista con la imagen a procesar, se da un

Page 58: Tesis Master - Determinación de comportamiento humano basado en posturas

58 CAPITULO 4. PROPUESTA DE INVESTIGACION

margen de tolerancia como se expresa en la ecuacion 4.12, si algunarecta empieza en ese rango de distancia las coordenadas de ese puntoson tomadas como P2, de no encontrarse ninguna coincidencia se tomacomo P2 el valor de las coordenadas proyectadas.

AvanceX =Distancia ∗ dX

H, AvanceY =

Distancia ∗ dYH

(4.11)

Donde AvanceX es el valor de proyeccion de un punto sobre el eje X yAvanceY la proyeccion sobre el eje Y, H es la hipotenusa de la trian-gulacion tomando los deltas (dX, dY), como catetos de un triangulo.

Abs(P1.X−P2.X) <= Tolerancia y Abs(P1.Y−P2.Y ) <= Tolerancia(4.12)

Esto se hace para encontrar el primer ‘femur’, luego de la misma mane-ra pero ahora proyectando desde el punto P2 y sobre la recta encontra-da, se localiza el punto P4, que representa la base del pie de la mismaextremidad. Para buscar el segundo femur se omite la proyeccion delpunto P2 puesto que ya se tiene y solo es necesario encontrar una lıneadistinta a la anterior que coincida con ese punto, luego de esto realizala localizacion del punto P6 correspondiente al segundo pie, siguiendola misma logica que para el anterior. Cabe anotar que de no encontrarestos puntos seran proyectados con base en la lınea superior, es decir,los femur tendran la misma orientacion que el tronco ya que son unaproyeccion de este y lo mismo ocurrira con las pantorrillas las cualesseran una proyeccion del femur en caso de no ser encontrada una lıneaque coincida con las restricciones de simetrıa. Esto puede ser util encaso de tener imagenes incompletas o donde la persona este parcial-mente cubierta por objetos diferentes a la misma.

Luego se continua con las extremidades superiores siguiendo el mismoproceso que se realizo para las piernas, pero obviamente con proyec-ciones diferentes basadas de igual manera en la proporcionalidad delcuerpo humano.

Paso 5: Obtencion de angulos; una vez localizados los once puntosque representaran la persona en la imagen, se procede a obtener losangulos (Alphas) entre ellos. Los Alphas seran usados posteriormentepara compararlos con un patron especıfico y ası identificar a que pos-tura pertenece.

Ya que no se trabaja con rectas para buscar los angulos, sino conpuntos los cuales no tienen magnitud y direccion, para encontrar elAlpha se debe realizar la siguiente operacion; primero realizar trian-

Page 59: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 59

gulacion con los puntos, donde el primer cateto sera tomado de la restadel valor de X del punto 2 menos el valor de X en el punto 1 (la de-finicion de punto 1 y punto 2 esta dada por la misma logica utilizadaen el paso 1), el segundo cateto se calcula de la misma manera perocon los valores de las Y de cada punto, luego de esto, se debe calcularla hipotenusa de estos valores, con lo mencionado se puede inferir quese esta trabajando con un triangulo rectangulo imaginario, como lafigura 4.9.

Figura 4.9: Calculo de Alphas.

Para el calculo de los Alphas se usa la siguiente ecuacion, donde CYes el cateto obtenido de la resta de los Y:

arcsinCY/Hπ/180

(en grados sexagesimales). (4.13)

Este proceso se realiza de forma secuencial y por parejas de puntos, esdecir, puntos P0 y P1, P0 y P2 hasta P9 y P10, obteniendo un totalde 55 (11 ∗ 10/2) Alphas.

Paso 6: Finalmente este componente entregara los resultados de suprocesamiento en un archivo con formato XML, el cual contendra losangulos. Adicional a los archivos de resultados durante el proceso seha generado un archivo con extension .log que contendra informacionbasica del proceso y tiempos utilizados en cada calculo.

Vitruvio 3D

Se ha presentado Vitruvio como componente para determinar la postura deuna persona, sin embargo hasta el momento solo se han hecho pruebas paraimagenes en 2D, por esta razon sera necesario ajustar Vitruvio para que

Page 60: Tesis Master - Determinación de comportamiento humano basado en posturas

60 CAPITULO 4. PROPUESTA DE INVESTIGACION

realice la determinacion de la postura con base en imagenes captadas pormas de una camara sobre el mismo individuo.

El primer ajuste que ha de ser realizado es la cantidad de puntos que confor-man el esqueleto, donde se ampliara el numero de uniones (articulaciones)y se dara una mayor importancia al ancho del pecho y la cintura (ver figura4.10), cumpliendo con las especificaciones propuestas en [5].

Figura 4.10: Estructura que analizara Vitruvio para determinar la postura.

Para llegar al analisis de la estructura anterior se plantea, como ya se men-ciono; el uso de mas de una camara, como propuesta se presenta el uso de 2camaras convencionales y una termica, esto permitira alcanzar 2 objetivos,detectar personas en una imagen y llevar el analisis de la imagen a un ambitode 3D (ver figura 4.11), para determinar su postura.

Luego de determinar las coordenadas relativas del esqueleto 4, sera llevadoa una orientacion especıfica para analizar los angulos de la manera en quelo hace la version anterior del Vitruvio, ası sera superado el inconvenientede la perspectiva (ver figura 4.12).

4Teniendo las coordenadas en 3D el esqueleto puede ser rotado, girado o cambiar sutamano sin afectar las proporciones

Page 61: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 61

Figura 4.11: Persona captada por 3 camaras

Figura 4.12: Vitruvio con coordenadas en 3D.

4.3.4. Analisis

Analisis de movimiento

Esta seccion presentara la idea fundamental para determinar el movimientoque esta desarrollando una persona, lo cual consiste en la creacion de losclasificadores y modelos necesarios para realizar el analisis de la secuenciade posturas.

La idea es hacer de cada fotograma un registro de una base de datos deposturas; de la forma en que Vitruvio entrega los resultados, luego median-te un algoritmo inteligente determinar la actividad que esta realizando unapersona. Durante las clases de master se realizo un primer diseno5 (ver figura4.13).

5El diseno no se basa en algoritmos inteligentes, solo en la coincidencia de estados conun patron determinado.

Page 62: Tesis Master - Determinación de comportamiento humano basado en posturas

62 CAPITULO 4. PROPUESTA DE INVESTIGACION

Figura 4.13: Secuencia de estados en los cuales se encuentra una persona.

Luego de tener la base de datos de posturas, mediante algoritmos de busque-da inteligente y de inferencia basados en redes bayesianas poder entregar lasactividades que con mayor probabilidad coincidan con la secuencia estados(posturas) de la persona.

Analisis del comportamiento

En esta seccion se presenta la idea fundamental para determinar el compor-tamiento de una persona tomando como base los movimientos que realiza,para ello es necesario tener en cuenta las siguientes consideraciones:

Los movimientos individuales que realiza la persona.

La interaccion con otras personas.

La interaccion con el entorno y la diferencia que puede haber en elcomportamiento entre diferentes escenarios.

Los movimientos que realiza una persona descartando el resto de informacionde la imagen presenta un gran indicio del comportamiento de una persona,por ejemplo, una persona moviendo compulsivamente los brazos podrıa in-dicar que la persona esta golpeando algo. Si se analiza la interaccion conotras persona se aumenta la informacion referente a su comportamiento,por ejemplo, determinar que dos personas estan peleandose. Sin embargocuando a lo anterior se agrega el entorno, el analisis podrıa dar diferenteslecturas, por ejemplo no es lo mismo si las personas que se estan peleandose encuentran en una tienda o si se encuentran en un ring de boxeo.

Como se ha podido ver la informacion a analizar es en general inexactay esta sujeta a muchas variantes, por esta razon es necesario crear un meto-do que cuente con un sistema de decision, que pueda hacer inferencia, por

Page 63: Tesis Master - Determinación de comportamiento humano basado en posturas

4.3. PRUEBAS Y PROTOTIPOS DESARROLLADOS 63

otro lado es necesario un algoritmo de aprendizaje supervizado, ya que loscomportamientos, como se menciono anteriormente, pueden tener diferen-tes interpretaciones dependiendo del contexto observado, de esta manera elsistema creado contendra de facto el analisis de los movimientos que realizauna persona, pero para analizar el comportamiento el sistema debera ser en-trenado en el entorno a analizar (por ejemplo: en una oficina bancaria), dela misma manera en que se harıa con una persona del equipo de vigilancia.

Page 64: Tesis Master - Determinación de comportamiento humano basado en posturas
Page 65: Tesis Master - Determinación de comportamiento humano basado en posturas

Capıtulo 5

Conclusiones y trabajosfuturos

Durante el master se han cursado varias asignaturas con el fin de obtenerconocimientos sobre diferentes tecnologıas que sirven como base para el desa-rrollo de las proximas investigaciones. Como se presento en este documentose intento aprovechar al maximo los temas vistos en cada una, enfocando eltrabajo realizado en cada asignatura hacia el objetivo final de la investiga-cion.

Adicionalmente en este documento se hizo un recorrido a traves del estadodel arte en los distintos campos que involucran los trabajos e investigacionesque serviran como complemento a los desarrollos que deberan ser realiza-dos. A continuacion, seran presentadas las conclusiones obtenidas duranteel desarrollo del presente trabajo.

5.1. Conclusiones

La creacion de sistemas de vigilancia no supervisada (capaz de determinarautomaticamente si una situacion es anomala), mediante mecanismos nointrusivos, se presenta como uno de los grandes requerimientos de la segu-ridad en la actualidad. Puesto que los costos de aumentar el personal devigilancia al mismo ritmo que crece el numero de camaras es inviable paramuchas organizaciones y mantener un numero mucho menor, puede causarque se pasen por alto diferentes situaciones posiblemente perjudiciales parala organizacion.

Inicialmente puede concluirse, basado en la investigacion realizada, que exis-te un muy amplio mercado en el que este tipo de herramientas puede sercomercializado, impulsando ası el desarrollo de nuevas tecnologıas que bus-quen detectar de forma automatica comportamientos anomalos, que de mo-

65

Page 66: Tesis Master - Determinación de comportamiento humano basado en posturas

mento solo lo puede hacer de forma precisa el personal de seguridad concapacitacion especıfica en este campo, aunque tambien se evidencia un granavance en este campo tanto en software como en hardware.

Adicionalmente con el presente documento se quiso dar un aporte a la formaen que se puede analizar la actividad de una persona, simplificando la formade hacerlo, de tal manera que sea muy intuitiva.

Se puede concluir que la esqueletonizacion es un buen metodo para la com-presion y abstraccion de la informacion mas caracterıstica de un objeto enuna imagen, por tanto es posible caracterizar una persona basandose en unesqueleto simple y tomar este como un modelo para determinar una posturay actividad concreta de una persona.

Como se pudo ver en el recorrido por el estado del arte hay gran canti-dad de informacion en los pasos iniciales para llegar al objetivo general deeste documento, sin embargo, tambien puede notarse que existen un grancampo de investigacion aun abierto, en el que pueden hacerse muchas con-tribuciones, especıficamente en los 3 campos en los cuales hace enfasis estedocumento: la determinacion de la postura humana, el analisis de movimien-to y el analisis de comportamiento.

En este documento se planteo la creacion de un sistema capaz de reali-zar todos los analisis propuestos, basados en capas y componentes, el cualpresenta una gran flexibilidad en su construccion, ademas que puede ser-vir como herramienta para otros investigadores por su modularidad, porejemplo un investigador en otro campo podrıa solo utilizar el componenteVitruvio (que le entrega la postura de una persona), para realizar otro tipode analisis sobre la persona.

5.2. Trabajos futuros

Como trabajos futuros se propone principalmente: Complementar la meto-dologıa para el analisis de actividades humanas y la construccion de los com-ponentes faltantes para completar el diagrama de clases presentado(figura4.1). A continuacion, seran presentados los trabajos futuros complementariosque permitiran la consecucion del objetivo general:

En primera instancia se pretende la modificacion del componente Vi-truvio para el analisis de imagenes en 3D con 2 camaras sincronizadas,esto es, como ya se menciono anteriormente, el aumento de puntos deconexion entre extremidades y la capacidad de realizar el analisis dela postura con angulos relativos a la persona no a la posicion de lacamara.

Page 67: Tesis Master - Determinación de comportamiento humano basado en posturas

Crear los clasificadores y modelos necesarios para realizar el analisis dela secuencia de posturas, de tal manera que se defina una biblioteca deactividades basicas (correr, caminar, coger, saltar, soltar, lanzar, etc.),para su posterior analisis cumpliendo el objetivo de no solo determinarla actividad sino tambien el comportamiento de una persona.

Basado en la biblioteca mencionada anteriormente, crear un algoritmode aprendizaje asistido que pueda mediante la experiencia llegar adeterminar si una serie de actividades representan un comportamientoque puede ser considerado sospechoso.

Crear un paquete (framework), con los componentes mencionados quepueda ser de utilidad no solo en mi investigacion sino tambien paraotros investigadores.

Creacion de un servicio web que use el framework y exponga medianteuna tecnologıa estandar (xml), metodos para que puedan ser usadosdesde cualquier aplicacion, de esta manera hacer de estos desarrollosuna herramienta flexible.

Creacion de una aplicacion que sirva de modelo para las aplicacionesde seguridad, lo fundamental de esta aplicacion sera la presentacionde alertas en tiempo real sobre comportamientos no normales.

Con el desarrollo de los prototipos se pudo demostrar la viabilidad dela deteccion de actividades basicas pre-configurados, sin embargo, parael avance en la implementacion se debera pensar en nuevas formas deprocesamiento que permitan el analisis de las imagenes en tiempo real,una opcion que podrıa ser estudiada en posteriores avances, es la deprogramar para GPUs.

Desarrollar una metodologıa para la interpretacion del comportamien-to de la persona en conjunto con otras personas y la interaccion entreestas.

Desarrollar una metodologıa para la interpretacion del comportamien-to de la persona agregando un contexto dependiente del escenario (Ej.bancos, estaciones de metro, tiendas, etc.) en que se encuentre.

Page 68: Tesis Master - Determinación de comportamiento humano basado en posturas
Page 69: Tesis Master - Determinación de comportamiento humano basado en posturas

Bibliografıa

[1] A. Fusiello A. Colombari and V. Murino.Segmentation and tracking of multiple video objects.Pattern Recognition, 2007.

[2] Advances in Neural Information Processing Systems.Learning to parse images of articulated bodies. Deva Ramanan, 2006.

[3] Ankur Agarwal and Bill Triggs.Recovering 3d human pose from monocular images.IEEE Transactions on pattern analysis and machine intelligence, 2006.

[4] Douglas Ayers and Mubarak shah.Monitoring human behavior from video taken in an office environment.Image and Vision Computing, 2001.

[5] Carlos Barron and Ioannis A. Kakadiaris.Estimating anthropometry and pose from a single uncalibrated image.Computer Vision and Image Understanding, 2001.

[6] Andrea Bottino and Aldo Laurentini.A silhouette based technique for the reconstruction of human move-

ment.Computer Vision and Image Understanding, 2001.

[7] Carlos Carbajal.Tecnicas de esqueletizacion para la caracterizacion de humanos.Master’s thesis, Universidad de Castilla-La mancha, 2009.

[8] I.-Cheng Chang and Chung-Lin Huang.The model-based human body motion analysis system.Image and Vision Computing, 2000.

[9] Condor web-site: http://www.cs.wisc.edu/condor/.

[10] Atul Kanaujia Cristian Sminchisescu and Dimitris Metaxas.Conditional models for contextual human motion recognition.Computer Vision and Image Understanding, 2006.

[11] European Conference on Computer Vision, Prague.Human detection based on a probabilistic assembly of robust part detec-

tors. K. Mikolajczyk, D. Schmid, A. Zisserman, 2004.

69

Page 70: Tesis Master - Determinación de comportamiento humano basado en posturas

[12] Luis M. Fuentesa and Sergio A. Velastin.People tracking in surveillance applications.Image and Vision Computing, 2006.

[13] D. M. Gavrila.The visual analysis of human movement: A survey.Computer Vision and Image Understanding, 1999.

[14] Roland Kehland Luc Van Gool.Markerless tracking of complex human motions from multiple views.Computer Vision and Image Understanding, 2006.

[15] Liang Wang Hang Zhou and David Suter.Human action recognition by featurereduced gaussian process classifi-

cation.Pattern Recognition Letters, 2009.

[16] AtsushiNakazawa Hidenori Tanaka and Haruo Takemura.Human pose estimation from volume data and topological graph data-

base.Springer-Verlag Berlin Heidelberg, 2007.

[17] International Conference on Computer Vision, Beijing.Recovering human body configurations using pairwise constraints bet-

ween parts. X. Ren, A.C. Berg, J. Malik, 2005.

[18] International Conference on Computer Vision, Corfu.Shadow puppetry. M. Brand, 1999.

[19] Edward Hunter Ivana Mikic, Mohan Trivedi and Pamela Cosman.Human body model acquisition and tracking using voxel data.International Journal of Computer Vision, 2003.

[20] Liam Stewart Richard S. Zemel Jasper Snoek, Jesse Hoey and AlexMihailidis.

Automated detection of unusual events on stairs.Image and Vision Computing, 2009.

[21] Javier Varona Jordi Gonzalez, Daniel Rowe and F. Xavier Roca.Understanding dynamic scenes based on human sequence evaluation.Image and Vision Computing, 2009.

[22] Jessica K. Hodgins Hanspeter Pfister Liu Ren, Gregory Shakhnarovichand Paul A. Viola.

Learning silhouette features for control of human motion.ACM Transactions on Computer Graphics, 2005.

[23] V. Lepetit M. Dimitrijevic and P. Fua.Human body pose detection using bayesian spatio-temporal templates.Computer Vision and Image Understanding, 2006.

[24] Opencv web-site: http://opencv.willowgarage.com/.

Page 71: Tesis Master - Determinación de comportamiento humano basado en posturas

[25] Dimitrios Kosmopoulos Panagiota Antonakaki and Stavros J. Peranto-nis.

Detecting abnormal human behaviour using multiple cameras.SignalProcessing, 2009.

[26] Xavier Marichal Pedro Correa, Ferran Marques and Benoit Macq.3d posture estimation using geodesic distance maps.Multimed Tools Appl, 2008.

[27] Ralf Plankers and Pascal Fua.Tracking and modeling people in video sequences.Computer Vision and Image Understanding, 2001.

[28] Ronald Poppe.Vision-based human motion analysis: An overview.Computer Vision and Image Understanding, 2007.

[29] Proceedings of the Conference on Computer Vision and Pattern Recog-nition Workshops.

Silhouette lookup for automatic pose tracking. Nicholas R. Howe, 2004.

[30] Proceedings of the International Conference on Pattern Recognition.Model-based human body tracking. Yu Huang, Thomas S. Huang, 2002.

[31] Eugenio Aguirre Rafael Munoz Salinas and Miguel Garcıa Silvente.People detection and tracking using stereo vision and color.Image and Vision Computing, 2007.

[32] Neil Robertson and Ian Reid.A general method for human activity recognition in video.Computer Vision and Image Understanding, 2006.

[33] Adrian Hilton Thomas B. Moeslund and Volker Kruger.A survey of advances in vision-based human motion capture and analy-

sis.Computer Vision and Image Understanding, 2006.

Page 72: Tesis Master - Determinación de comportamiento humano basado en posturas
Page 73: Tesis Master - Determinación de comportamiento humano basado en posturas

Apendice A

Currıculum vitae

Datos personales

Nombre: Luis Gabriel Rojas AlbarracınFecha de nacimiento: 29 de mayo de 1982Pasaporte: CC11204824Dni: X-9599224-JDireccion: Calle lepanto no. 72 piso 4d, 02003 AlbaceteTelefono: 620 360 230

Formacion academica

Tıtulo: Ingeniero de sistemasCentro: Universidad de CundinamarcaAno de culminacion: 2005Ciudad: Chıa - ColombiaProyecto de fin de carrera: ”SIMIP - Sistema de identificacion y mues-tra de identificacion medica personal”Calificacion obtenida: Tesis meritoria.

Formacion complementaria

Certificacion ”Microsoft certified application developer (MCAD)”, 2006.

Ingles en Passport Language center, 2007.

73

Page 74: Tesis Master - Determinación de comportamiento humano basado en posturas

Experiencia laboral

Analista desarrolladorTrebol software - Axede17 meses, entre el 2007 y 2008.

Analista desarrolladorMVM Ingenierıa de software14 meses entre el 2005 y 2006.

Auxiliar de sistemas, Analista desarrolladorClınica Universitaria Teleton2 Anos y medio entre el 2003 y el 2005.

Auxiliar de sistemas, mantenimiento de equiposUniversidad de Cundinamarca (extension -Chıa)Durante el primer semestre del 2002.