UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA
INGENIERÍA
EN INFORMÁTICA
PROYECTO FIN DE CARRERA
TraceMon: Sistema multiagente para Tracking multicámara en
entornos Monitorizados
David García Bermejo
Febrero, 2012
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA
INGENIERÍA
EN INFORMÁTICA
PROYECTO FIN DE CARRERA
TraceMon: Sistema multiagente para Tracking multicámara en
entornos Monitorizados
Autor: David García Bermejo
Director: Javier Alonso Albusac Jiménez
Tutor: Carlos González Morcillo
Febrero, 2012
David García Bermejo
E-mail:
c 2012 David García Bermejo
[email protected]
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections, no Front-
Cover Texts, and no Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
Se permite la copia, distribución y/o modificación de este documento bajo los térmi-
nos de la Licencia de Documentación Libre GNU, versión 1.3 o cualquier versión
posterior publicada por la Free Software Foundation; sin secciones invariantes. Una
copia de esta licencia esta incluida en el apéndice titulado «GNU Free Documenta-
tion License».
Muchos de los nombres usados por las compañías para diferenciar sus productos
y servicios son reclamados como marcas registradas. Allí donde estos nombres
aparezcan en este documento, y cuando el autor haya sido informado de esas marcas
registradas, los nombres estarán escritos en mayúsculas o como nombres propios.
TRIBUNAL:
Presidente:
Vocal 1:
Vocal 2:
Secretario:
FECHA DE DEFENSA:
CALIFICACIÓN:
PRESIDENTE
VOCAL 1
VOCAL 2
SECRETARIO
Fdo.:
Fdo.:
Fdo.:
Fdo.:
A mis padres y a mi Hermano, por su apoyo y
preocupación, y a Fátima, por ayudarme moralmente
cuando más lo necesitaba.
Resumen
La Vigilancia Inteligente (VI) emplea técnicas, métodos y algoritmos de Inteligencia
Artificial sobre sistemas de monitorización de entornos. El principal objetivo de los
Sistemas de Vigilancia Inteligente (SVI) puede definirse como la detección, clasificación
y seguimiento (análisis de trayectorias y comportamiento) de objetos de forma automática.
En la actualidad existen diversos métodos de segmentación y tracking que ofrecen
diferentes ventajas e inconvenientes. Así, es necesario elegir los métodos que mejor se
adapten a cada entorno de ejecución, ofreciendo los mejores resultados en detección de
objetos, posicionamiento 3D y evasión de oclusiones totales o parciales.
Como solución a este problema y, con el objetivo de desarrollar un SVI centrado sobre
las capas de segmentación y tracking de una arquitectura de SVI multi-cámara genérica,
se propone el presente proyecto fin de carrera: TraceMon, un sistema modular basado en
el paradigma de diseño multi-agente que permite homogeneizar los dispositivos de entrada
(archivos de vídeo, cámaras locales o remotas), y proporcionando una interfaz de usuario
para un SVI multicámara.
TraceMon en su etapa de calibración, obtiene los parámetros intrínsecos (distancia focal,
tamaño de píxeles y centro de la imagen) y extrínsecos (posición y rotación 3D) de cada
cámara. Así, el sistema desarrollado es capaz de realizar un seguimiento en el espacio 3D
del entorno que está monitorizando. TraceMon está construido empleando herramientas y
estándares libres, lo que facilita la exportación de eventos (tales como detección de personas
o vehículos) para que puedan ser analizados por otros sistemas.
IX
Abstract
The Intelligent Surveillance(IS) uses techniques, methods and algorithms of Artificial
Intelligence on environment monitoring systems. The main objective of the Intelligent
Surveillance Systems (ISS) can be defined as the automatic detection, classification and
monitoring (analysis the trajectories and behavior) of objects.
Nowadays,
there are several segmentation and tracking methods with different
advantages and disadvantages. Thus, it is necessary to choose the best methods in each
environment, offering the finest results in the detection of objects, 3D positioning and
eluding partial or total occlusions.
To solve this problem, and focusing on the tracking and segmentation layers of a generic
ISS, this project called TraceMon is proposed. TraceMon is a modular system based on the
paradigm of multi-agent design which eases the homogeneization of input devices (video
files and local or remote cameras), and provides an user interface for a multi-camera ISS.
At the calibration stage, TraceMon gets the intrinsic (focal length, pixel size and image
center) and extrinsic (position and 3D rotation) parameters of each camera. In this manner,
the developed system is capable of tracking directly in the 3D environment. TraceMon is
built using free software tools and open standards, making easy the exportation of events
(such as the detection of people or vehicles) that can be analyzed by other external systems.
XI
Índice general
Resumen
Abstract
Índice general
Índice de figuras
Índice de listados
1. Introducción
1.1. Qué es un Sistema de Vigilancia Inteligente . . . . . . . . . . . . . . . . .
1.1.1. Evolución e impacto socio-económico . . . . . . . . . . . . . . . .
1.1.2. Problemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Objetivo principal .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Objetivos
3. Antecedentes
3.1.
Introducción general
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Aplicaciones de los Sistemas de Vigilancia Inteligente . . . . . . .
3.1.2. Arquitecturas y frameworks de SVI
. . . . . . . . . . . . . . . . .
3.1.3. Áreas y campos relacionados . . . . . . . . . . . . . . . . . . . . .
3.2. Sistemas Multi-Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Marco matemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1. Puntos y Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2. Matrices . .
3.4. Raytracer (trazador de rayos) . . . . . . . . . . . . . . . . . . . . . . . . .
XIII
IX
XI
XIII
XVII
XXI
1
2
3
4
5
6
9
13
13
13
14
16
16
20
20
25
28
.
.
.
.
. .
. .
.
. . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1. El rayo .
3.4.2. El mundo 3D .
. . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3. Representación de una cámara virtual en un espacio tridimensional
3.5. Técnicas de visión por computador . . . . . . . . . . . . . . . . . . . . . .
3.5.1. Calibración de una cámara . . . . . . . . . . . . . . . . . . . . . .
3.5.2. Métodos de segmentación . . . . . . . . . . . . . . . . . . . . . .
3.5.3. Métodos de clasificación . . . . . . . . . . . . . . . . . . . . . . .
3.5.4. Métodos de tracking . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Herramientas de visión por computador y de diseño 3D . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
3.6.1. OpenCV .
.
3.6.2. Blender .
3.6.3. OpenGL .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4. Método de trabajo
.
.
4.1. Metodología de desarrollo .
.
4.2. Herramientas
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Lenguaje de programación . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Hardware . .
4.2.3. Software
.
. . . . . . . . . . . . . . . . . . . . . . . . . .
. .
.
.
. .
.
.
.
.
.
.
.
29
29
34
37
38
41
43
47
50
50
51
51
53
53
56
56
56
56
.
.
.
5. Arquitectura de TraceMon
.
.
5.1. Módulo de entrada
5.2. Módulo de procesamiento . .
61
63
. . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1. Submódulo de fuentes de stream . . . . . . . . . . . . . . . . . . .
63
65
5.1.2. Submódulo de importación de archivos XML . . . . . . . . . . . .
72
5.1.3. Submódulo de eventos . . . . . . . . . . . . . . . . . . . . . . . .
72
. . . . . . . . . . . . . . . . . . . . . . . . .
73
5.2.1. Submódulo de despliegue
. . . . . . . . . . . . . . . . . . . . . .
82
5.2.2. Submódulo de aprendizaje . . . . . . . . . . . . . . . . . . . . . .
83
5.2.3. Submódulo de tracking . . . . . . . . . . . . . . . . . . . . . . . .
88
5.2.4. Submódulo de raytracer
. . . . . . . . . . . . . . . . . . . . . . .
92
5.2.5. Submódulo de clasificación . . . . . . . . . . . . . . . . . . . . .
5.2.6. Submódulo de fusión . . . . . . . . . . . . . . . . . . . . . . . . .
94
5.2.7. Submódulo de depuración . . . . . . . . . . . . . . . . . . . . . . 103
5.3. Módulo de gestión de agentes . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.3.1. Submódulo de Agente . . . . . . . . . . . . . . . . . . . . . . . . 111
. . . . . . . . . . . . . . . . . . . . . . . . . 111
5.4. Módulo de visualización . .
5.4.1. Submódulo de reproducción del flujo de stream . . . . . . . . . . . 111
5.4.2. Submódulo de entorno . . . . . . . . . . . . . . . . . . . . . . . . 115
5.5. Módulo de exportación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.5.1. Submódulo de exportación de archivos XML . . . . . . . . . . . . 120
5.5.2. Submódulo de exportación del tracking . . . . . . . . . . . . . . . 121
5.6. Diagramas de clases de Diseño y Patrones . . . . . . . . . . . . . . . . . . 123
6. Evolución y Resultados
.
Iteraciones
6.1. Evolución .
.
.
.
127
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.1.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.1.2. Recursos y costes . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.1. Resultados con entorno virtual . . . .
Comentarios de: TraceMon: Sistema multiagente para Tracking multicámara en entornos Monitorizados (0)
No hay comentarios