Sei sulla pagina 1di 163

Autorizada la entrega del proyecto del alumno:

Miguel Barquero del Pozo




EL DIRECTOR DEL PROYECTO
Alejandro Garca San Luis



Fdo: Fecha: 10/06/2009



V B del Coordinador de Proyectos
Eduardo Alcalde Lancharro




Fdo: Fecha: 26/06/2009






PROYECTO FIN DE CARRERA


PROTOTIPO DE UN
SISTEMA DE VIDEO VIGILANCIA











AUTOR: MIGUEL BARQUERO DEL POZO
MADRID, JUNIO DE 2009
UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO TCNICO EN INFORMTICA DE GESTIN

i





Es el triunfo el que crea al gran hombre.

El triunfo no es vencer siempre,
sino nunca desanimarse.

NAPOLEN BONAPARTE


ii








A mi Familia y la Universidad Pontificia Comillas de Madrid,
las instituciones que me han enseado que los valores que mejor
guan la vida de los hombres son aquellos que perduran en el tiempo.


iii
Agradecimientos

Gracias a mi familia, esas personas tan queridas para m que me han apoyado
durante los momentos tan duros que se han sucedido estos ltimos aos, pero que
tambin han sabido compartir la dulzura de los momentos de triunfo que he vivido y
para los que me he preparado.

A mis amigos, con los que he crecido y desarrollado mi personalidad durante
toda mi vida. Gracias por esos momentos de risas tan refrescantes que me han
permitido oxigenar mis ideas y tomar las mejores decisiones.

Por ltimo, gracias a la Universidad Pontificia Comillas, una institucin que me
ha enseado que las relaciones entre las personas deben ser a la vez profesionales y
emocionales, y que buscar en cada momento una proporcin equilibrada de esta
dualidad es un aspecto esencial en el desarrollo de la personalidad de todos los seres
humanos.




iv
Resumen
El presente proyecto estudia las caractersticas de los sistemas de vigilancia basados en
la inteligencia artificial. A lo largo de la memoria del proyecto se recorren las distintas
fases que componen la vigilancia con inteligencia artificial y se analizan los algoritmos
que se emplean en ella.
El objetivo de este proyecto es ampliar las funcionalidades de los sistemas de vigilancia
actuales; se pretende cambiar los sistemas mecnicos y predecibles por un nuevo tipo de
sistema ms orgnico y con un rango de funciones ms completo, adems de dar cabida
a la inteligencia artificial dentro del mercado real y, en ltima instancia, permitir que el
conjunto de la sociedad se beneficie de la inteligencia artificial, no solamente los
sectores ms especializados.
Se han analizado los distintos filtros de imagen que se pueden aplicar a las imgenes de
las cmaras de vigilancia, incluidos los filtros de puntos y espaciales y se han
desarrollado los algoritmos que permiten integrar estos filtros de imagen dentro de la
aplicacin.
Se han analizado los algoritmos que se utilizan como herramientas de anlisis de video
y se han desarrollado otros algoritmos que permiten delimitar los bordes de las siluetas
de los elementos que se encuentran en el objetivo de la cmara.
Adems de analizar las herramientas disponibles para el anlisis de las imgenes de los
vdeos de vigilancia, se ha diseado e implementado una secuencia de anlisis que
permite localizar y estudiar el movimiento de los elementos que se encuentren bajo el
objetivo de las cmaras de vigilancia.
Como parte prctica del trabajo se exponen los resultados obtenidos despus del anlisis
ejecutado por el prototipo de la aplicacin diseado y desarrollado; adems, se analizan
estos resultados con el fin de evaluar los objetivos alcanzados y comprobar el alcance de
la aplicacin en un futuro.



v
Por ltimo, se exponen los problemas encontrados durante el desarrollo de la aplicacin
as como aquellos problemas que impiden la evolucin de la consola de anlisis; sin
embargo, junto con estos problemas se proponen soluciones que puedan paliar estos
problemas o incluso mtodos que puedan llegar a solucionarlos pero que no han sido
implantados en la consola final.
Como anexo a esta memoria se presentan estudios corolarios del tema principal de la
video vigilancia, como el reconocimiento de caras mediante algoritmos de
reconocimiento facial o la implementacin del sistema desarrollado en entornos con
cmaras de vigilancia dinmicas.


vi

Video vigilance system prototype
The present final-year project studies the characteristics of the video vigilance systems
based on artificial intelligence, which includes studying the main stages of the video
vigilance or analyzing the most important algorithms which are used during the
automatic analysis also.
The different image filters used during the automatic analysis have been studied along
this document; these filters include functions point to point and the special
transformations.
The algorithms which allow outlining the figure of the elements inside the pictures are
also analyzed along this final-year project. Moreover, some algorithms have been
designed and proposed in order to solve this problem.
Besides analyzing the mathematical tools which can be used to analyze an image, in this
document is proposed a sequence designed in order to locate, identify and make
decisions from the artificial intelligence point of view.
The results of the application are included as a practical part of this final-year project;
these results have been recorded after the analysis of the test videos by the application
developed. Furthermore these results are analyzed in order to check the functionality of
the application and evaluate the goals reached by the application.
Finally, problems reached during the evolution of the application are exposed and also
the problems which have stopped the development of this artificial intelligence system.
However, the explanation of these problems is followed by a theoretical solution; in
some cases this solution may decrease the problem, in other case the solution may solve
the problem completely but it has not been implemented in the application yet.
The annex of this final-year project is composed by the investigation of corollary
aspects of the main theme of this document. Aspects like human face recognition with
mathematical algorithms or the implementation of this application in settings with
dynamic video cameras are some examples of themes studied in the annex.


vii
TABLA DE CONTENIDOS

Captulo 1: Introduccin 1
Motivacin del proyecto 7
Objetivos 10

Captulo 2: Estado del arte 12
Estudio de la tecnologa y tcnicas existentes 13
Tecnologa actual 13
Tcnicas actuales 15
Tecnologas y recursos utilizados 17
Los Bitmaps y el lenguaje de programacin C# 20
La programacin orientada a objetos 23

Captulo 3: Metodologa Empleada 25
Caractersticas de la Metodologa Extrema 27
Las fases de desarrollo 29
Manipulacin de video mediante aplicaciones software 30
Anlisis de imgenes digitales 34
Anlisis de las secuencias de video 36


viii
Captulo 4: Desarrollo del prototipo 39
Introduccin 40
Configuracin del sistema 46
Soporte de las imgenes 49
Acceso a memoria 55
Tratamiento de las imgenes 57
La escala de grises 60
La funcin de contraste 65
Posterizacin 66
La funcin umbral 68
Pixelado 71
Anlisis de las imgenes 77
Filtrado con la imagen de referencia 77
Filtrado con la imagen inmediatamente anterior 80
Mejora de los filtros mediante el pixelado 82
Identificacin de categoras 86
Establecimiento de los criterios comunes de clase 86
Identificacin de los criterios de clase 88
Estudio del movimiento 89
Seguimiento del centro del objeto 91
El mtodo de correlacin de centros 93


ix
Captulo 5: Resultados 96
Mtodo de captacin de las imgenes 98
Filtros de imagen 99
Escala de grises 99
La funcin de contraste y el ecualizado 100
La funcin umbral 102
Posterizacin y pixelado 103
Anlisis de las imgenes 105
Filtrado con la imagen de referencia 105
Filtrado con la imagen inmediatamente anterior 106
Identificacin de categoras 108
La posterizacin y la segmentacin por zonas 108
Identificacin de formas geomtricas sencillas 110
Estudio del movimiento 113
Seguimiento del centro del objeto 113
El mtodo de correlacin de centros 115
Captulo 6: Anexos 117
Planificacin 118
La fase de documentacin 119
El desarrollo de la aplicacin 120
La elaboracin de la memoria 120


x
Estimacin del coste econmico del proyecto 122
Coste de los recursos humanos 122
Costes Software 123
Costes Hardware 124
Conclusiones 126
Apndices 128
Sistemas con cmaras de vigilancia dinmicas 128
El reconocimiento facial 134

Bibliografa 140
Libros 140
Proyectos de fin de carrera y tesis doctorales 141
Ensayos 142
Otras referencias 145


xi
NDICE DE IMGENES, ECUACIONES Y TABLAS
Imgenes
Captulo 1: Introduccin 1
Figura 1.1: Componentes de la visin artificial 4

Captulo 2: Estado del arte 12
Figura 2.1: Secuencia de captura de las imgenes 18
Figura 2.2: Recorrido de la informacin 19
Figura 2.3: Anlisis de un Bitmap 21
Figura 2.4: Filosofa de la programacin orientada a objetos 23

Captulo 3: Metodologa Empleada 25
Figura 3.1: Comparativa de las dos metodologas de desarrollo de aplicaciones 27
Figura 3.2: Descomposicin del problema principal 29
Figura 3.3: Diagrama de Gantt de la planificacin 30
Figura 3.4: Objetivos de la primera fase del desarrollo 30
Figura 3.5: Vista del interfaz de la consola durante la primera fase de desarrollo 31
Figura 3.6: Comunicacin con el interfaz del programa 31
Figura 3.7: Navegacin dentro del equipo para la seleccin del video 32
Figura 3.8: Detalle del flujo de datos en la fase de carga 32
Figura 3.9: Salida por pantalla del primer frame del video seleccionado 33
Figura 3.10: Objetivos de la segunda fase 34
Figura 3.11: Salida inicial de la aplicacin en la segunda fase 34
Figura 3.12: Detalle del flujo de datos de la segunda fase 35
Figura 3.13: Resultados de la segunda fase 35
Figura 3.14: Objetivos de la tercera fase de desarrollo 36
Figura 3.15: Detalle del flujo de datos del programa 37
Figura 3.16: Flujo de datos de la aplicacin final 38

xii
Captulo 4: Desarrollo del prototipo 39
Figura 4.1: Comparativa de imgenes 40
Figura 4.2: Flujo de informacin 41
Figura 4.3: Uso de la memoria segn el formato 50
Figura 4.4: Almacenamiento de una imagen 55
Figura 4.5: Histograma de un retrato 58
Figura 4.6: Histograma de un plano general 58
Figura 4.7: Filtro de la escala de grises 61
Figura 4.8: Diagrama de flujo del algoritmo de escala de grises 63
Figura 4.9: Aplicacin del filtro de escala de grises 64
Figura 4.10: Anlisis para el filtro de contraste 65
Figura 4.11: Anlisis de la posterizacin 66
Figura 4.12: Flujo de datos del proceso de posterizacin 67
Figura 4.13: Anlisis del filtro de la funcin umbral 69
Figura 4.14: Binarizacin de la imagen original 69
Figura 4.15: Flujo de datos del proceso de binarizacin 70
Figura 4.16: Aplicacin del filtro de pixelado 72
Figura 4.17: Esquema conceptual del filtro de pixelado 73
Figura 4.18.1: Flujo de datos en la fase de acumulacin del proceso de pixelado 74
Figura 4.18.2: Flujo de datos en la fase de carga del proceso de pixelado 75
Figura 4.19: Aplicacin del filtrado pxel por pxel 78
Figura 4.20: Comparacin de dos fotogramas consecutivos 80
Figura 4.21: Secuencia de anlisis de los fotogramas 81
Figura 4.22: Secuencia de anlisis de un fotograma con pixelado 82
Figura 4.23: Secuencia de almacenamiento de una imagen pixelada 83
Figura 4.24: Secuencia de localizacin de los elementos de las imgenes 84
Figura 4.25: Funcin umbral de una imagen de objetos en movimiento 86
Figura 4.26: Secuencia de clculo del mtodo de seguimiento del centro 91
Figura 4.27: Resultados del mtodo de seguimiento del centro 92
Figura 4.28: Secuencia de clculo del mtodo de correlacin de centros 93
Figura 4.29: Resultados del mtodo de correlacin de centros 94

Captulo 5: Resultados 96
Figura 5.1: Conexin del equipo con la cmara mediante un stream 98
Figura 5.2: Resultados reales de la escala de grises 99
Figura 5.3: Anlisis de los resultados de la funcin de contraste 101
Figura 5.4: Anlisis de los resultados del ecualizado 101
Figura 5.5: Anlisis de los resultados de la funcin umbral 102
Figura 5.6: Resultados de la posterizacin 103

xiii
Figura 5.7: Comparacin de la imagen actual con la imagen de referencia 105
Figura 5.8: Comparacin con la imagen inmediatamente anterior 107
Figura 5.9: Resultados del filtro por zonas 109
Figura 5.10: Diseo conceptual del filtro de reconocimiento de objetos 110
Figura 5.11: Ejemplos de otros algoritmos 112
Figura 5.12: Secuencia de estudio del mtodo de correlacin de centros 114
Figura 5.13: Resultados del mtodo de correlacin de centros 115

Captulo 6: Anexos 118
Figura 6.1: Planificacin del proyecto 118
Figura 6.2: Funcionamiento de las cmaras de vigilancia mviles 129
Figura 6.3: Biblioteca de imgenes de referencia de una cmara mvil 130
Figura 6.4: Clculo del vector de movimiento de las cmaras mviles 132
Figura 6.5: Comparacin de caras mediante la biometra 134
Figura 6.6: Comparacin de las facciones faciales con fines de entretenimiento 136
Figura 6.7: Posibles aplicaciones del reconocimiento facial en el marketing 137
Figura 6.8.1: Salida de las pruebas de posterizacin 138
Figura 6.8.2: Pruebas del filtro de zonas 139

Ecuaciones

Captulo 4: Solucin desarrollada 39
Ecuacin 4.1: Aplicacin de un filtro 59
Ecuacin 4.2: Descomposicin del sistema RGB 61
Ecuacin 4.3: Aplicacin del filtro de escala de grises 62
Ecuacin 4.4: Aplicacin del filtro de contraste 65
Ecuacin 4.5: Aplicacin del filtro de posterizacin 67
Ecuacin 4.6: Frmula de la funcin umbral 68
Ecuacin 4.7: Aplicacin del filtro de pixelado 72

Captulo 7: Anexos
Ecuacin 6.1: Ecuacin de bsqueda en cmaras mviles 131



xiv
Tablas
Captulo 6: Anexos 117
Tabla 6.1: Costes asociados a los elementos de recursos humanos 122
Tabla 6.2: Costes software del proyecto 123
Tabla 6.3: Costes hardware del proyecto 124
Tabla 6.4: Costes finales del proyecto 125



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

1







Captulo 1

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

2
Introduccin

Este proyecto de final de carrera investiga cmo mejorar, mediante las tcnicas
de programacin, los recursos y tecnologas disponibles, el rendimiento de los sistemas
de seguridad privados basados en la video vigilancia del entorno.

La seguridad de las personas fsicas y de sus pertenencias materiales es un
tema que preocupa a la sociedad actual; por este motivo, el avance tecnolgico en
este campo es un activo de utilidad general que puede ser explotado.

La mejora estudiada en este proyecto de fin de carrera se basa en implementar
ciertos aspectos caractersticos de la visin animal en un prototipo de sistema de visin
artificial. La visin artificial es una disciplina basada en el proceso y adquisicin
automtico de imgenes. Es un campo que actualmente se encuentra en pleno auge y
est alcanzando un gran desarrollo tanto en los mtodos usados para el anlisis de las
imgenes como en la potencia de los sistemas de procesamiento de datos.

Sus aplicaciones son mltiples, en entornos de muy distinta ndole, como
cientfico, civil, militar o industrial. Los sistemas de visin artificial son de gran ayuda
en la automatizacin de tareas repetitivas que resultan difciles de realizar para un
operario, por lo que se consigue una operacin continua y eficiente con un menor
coste. Tambin son de gran utilidad en el mbito cientfico para la investigacin de
mecanismos [MERY04], [RODR08] y [CORR09], visin foveal y perifrica [PARD96],
presentes en la visin en humanos.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

3
Para el desarrollo de una aplicacin que mejore las prestaciones de los sistemas
de vigilancia artificial se ha hecho un estudio comparativo sobre las caractersticas de
los dos sistemas de visin que influyen en este proyecto, el sistema de visin orgnico
o humano y el sistema de visin artificial. Las principales ventajas de cada sistema son:

Sistema humano:

Reconocimiento de objetos.

Adaptacin a situaciones imprevistas.

Utilizacin de conocimiento previo.

Destaca en las tareas de proceso de alto nivel.


Sistema artificial:

Mide mejor magnitudes fsicas.

Facilidad en la realizacin de tareas rutinarias.

Destaca en tareas de proceso de bajo nivel.


El proyecto desarrollado evala cules son las mejores alternativas para
integrar aquellas caractersticas que son mejores en los sistemas de visin orgnicos
dentro del sistema de visin artificial; gracias a la inclusin de estas caractersticas se
espera mejorar los resultados de los componentes de los sistemas de visin artificial.

Para determinar cules son aquellos elementos de los sistemas de visin
artificial susceptibles de ser mejorados se han analizado los componentes de estos
sistemas.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

4
Un sistema de visin artificial est compuesto por los siguientes elementos:

La fuente de luz: Es una parte importante en el sistema ya que la
capacidad de extraccin de los rasgos de los
elementos de una determinada escena por parte
del sistema depende de la intensidad de sta.

Cmara: Se encarga de recoger la imagen luminosa sobre
un soporte sensible, transformndola en seales
elctricas.

Sistema de procesamiento: Es la parte fsica donde se aloja la aplicacin. Sus
caractersticas dependen directamente de las
funciones planificadas para la aplicacin.

Algoritmos de anlisis: Son los componentes de la parte central del
sistema inteligente. Realizan las transformaciones
necesarias de las imgenes para extraer la
informacin de inters para los usuarios.


Figura 1.1: Componentes de la visin artificial
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

5
El nmero de aplicaciones relacionadas con la Visin Artificial aumenta cada
da; debido al alcance de esta disciplina son muchos los campos donde este sector
de la ciencia tiene aplicacin.

En el sector de la produccin (tanto industrial como agrcola).
Inspeccin de productos (papel, aluminio, acero,...).
Control de soldaduras.
Identificacin de piezas.
Inspeccin de circuitos impresos.
Control de calidad.
Control de calidad de los alimentos.
Agricultura.
Control de plantaciones.

En el control de elementos externos e internos de la sociedad.
Astronoma.
Meteorologa.
Control de trfico.
Trfico viario.
Interpretacin de fotografas areas.
Reconocimiento de caracteres.
Control de cheques, inspeccin de textos, etctera.
Etiquetados (fechas de caducidad, descripcin contenido).
Matrculas de coches.






PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

6
En la ingeniera civil.
Aplicaciones biomdicas
(Resonancias magnticas, tomografas, genoma humano).
Anlisis de imgenes tomadas mediante microscopio
(Bacterias, clulas, protenas).
Vigilancia por satlites.
Exploracin del Espacio.
Guiado de robots (vehculos no tripulados).
Seguridad y vigilancia.

Por otra parte hay que tener en cuenta los avances tecnolgicos en los
dispositivos de vigilancia, la facilidad de produccin y el amplio catlogo de la oferta en
este sector, avances que han permitido que la mayora de las comunidades posean su
propio sistema de seguridad.

Si se unifican los avances en los dos campos de estudio, la mejora de los
sistemas de vigilancia mediante la implementacin de mejores algoritmos de anlisis
de imagen es un paso hacia la meta final de la sociedad, que es que todos sus
integrantes se beneficien de compartir sus conocimientos y motivaciones.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

7
Motivacin del proyecto

La motivacin que impuls el desarrollo de este proyecto fue sobre todo la
posibilidad de finalizar la carrera de tcnico en informtica estudiando un campo
innovador como es la inteligencia artificial. Adems, este proyecto de video vigilancia
se integra dentro del campo de la visin artificial, un campo que por su naturaleza del
estudio de la geometra y la mecnica suscita un gran inters particular.

El alcance de los proyectos en el campo de estudio de la visin artificial se
encuentra todava en una fase inicial, lo cual permite realizar un estudio que
realmente extienda el alcance del conocimiento sobre este campo. Realizar un
proyecto sobre un tema de actualidad siempre es motivo para redoblar los esfuerzos
para obtener resultados que muestren un avance en ese campo.

El diseo, desarrollo e implantacin de un sistema de video vigilancia con base
en inteligencia artificial puede llegar a ser un hito dentro del mundo de la visin
artificial ya que es posible crear un sistema que sea atractivo para los dems miembros
de la comunidad, tanto los acadmicos como los profesionales del sector o incluso los
responsables de aprobar los presupuestos de los proyectos.

El objetivo de este proyecto es ampliar las funcionalidades de los sistemas de
vigilancia actuales; se pretende cambiar los sistemas mecnicos y predecibles por un
nuevo tipo de sistema ms orgnico y con un rango de funciones ms completo,
adems de dar cabida a la inteligencia artificial dentro del mercado real, y en ltima
instancia, permitir que el conjunto de la sociedad se beneficie de la inteligencia
artificial, no solamente los sectores ms especializados.

Este proyecto es revolucionario ya que tiene como objetivo unificar todos los
conocimientos, tcnicas y tecnologa desarrolladas en el campo de la video vigilancia;
esto incluye desarrollar algoritmos que permiten analizar las imgenes tomadas de un
entorno y realizar una serie de operaciones que permitan obtener y analizar
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

8
informacin concreta sobre el estado de los objetos de la imagen y cmo interactan
entre ellos.

La gran peculiaridad de este sistema es que est diseado para que la mayora
de clculos y operaciones las haga la consola, pero en trminos ejecutivos sern los
operarios que estn manejando el sistema quienes evaluarn la situacin y tomarn
las decisiones sobre las acciones a emprender. El fin de este proyecto es propiciar la
creacin de una consola de video vigilancia que se convierta en una herramienta
innovadora y prctica dentro del mundo de la seguridad.

Adems, el sector de la seguridad se est beneficiando actualmente de un
crecimiento espectacular, as que realizar este proyecto en este momento es una
buena oportunidad de negocio.

Este proyecto busca no solamente generar una nueva herramienta que permita
realizar las tareas de vigilancia de una forma ms fcil y sencilla, sino que busca ofrecer
al mercado una herramienta que d origen a una nueva serie de dispositivos que
hagan la vida mucho ms cmoda al conjunto de la sociedad.

Por ltimo, este proyecto est motivado por la necesidad de preservacin de
las personas y los bienes de la sociedad. Todos los integrantes de la sociedad que
tienen alguna posesin desean conservarla del hurto o de que alguien le cause
desperfectos; y el objetivo principal de este proyecto es proporcionar un servicio de
calidad que asegure la integridad fsica tanto de los elementos materiales como de las
personas.

Por este motivo, este proyecto est enfocado no solamente hacia el uso en el
marco profesional de la seguridad privada, sino que tambin se ha tenido en cuenta
que es posible que algn particular decida instalarlo en su casa. Por tanto, es posible
que el sistema no vaya a estar manejado por un tcnico cualificado, de modo que ser
el mismo sistema el que deba ser capaz de llegar a sus propias conclusiones y tomar
decisiones en base a sus clculos.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

9

Esto se traduce en la necesidad de un mejor diseo de la inteligencia artificial
del prototipo de la consola. Pese a que en el mbito profesional, donde las
especificaciones del producto indicarn que es importante una supervisin humana
constante para el mejor rendimiento del sistema, sern los tcnicos los que
proporcionarn ayuda al sistema para la toma de decisiones. Sin embargo, en el
mbito domstico es posible que los usuarios no mantengan este nivel de vigilancia;
no obstante, la falta de supervisin humana no debe frenar en modo alguno las tareas
de vigilancia del sistema.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

10
Objetivos

Este sistema de seguridad con apoyo de inteligencia artificial tiene como
objetivo prioritario proporcionar una seguridad mejorada en cualquier entorno, ya sea
en el marco de una empresa privada o bien en un entorno residencial. El objetivo de
este proyecto es disear y desarrollar un prototipo de un sistema de vigilancia con
inteligencia artificial integrada que en un futuro sea una opcin econmica y
tcnicamente rentable; una opcin de seguridad que tenga las mismas prestaciones
que los sistema de seguridad de gamas ms altas, pero con los precios que tienen los
sistemas ms convencionales.

Otro objetivo de este sistema, que aunque no es el principal s se revela como
necesario en su cumplimiento, es proporcionar este servicio de una forma sencilla y de
fcil manejo, lo que implica que el diseo debe estar adaptado a cualquier usuario.

Entre otras cosas, esto implica la utilizacin de un interfaz de usuario amigable,
fcil de usar y que se adapte a las necesidades y recursos de cada usuario, ya sea un
tcnico entrenado en la vigilancia o bien un particular interesado en mantener una
vigilancia constante sobre su casa de forma individual.

Para que el interfaz del usuario sea sencillo y de fcil manejo, las funciones de
la consola deben estar bien definidas. De este modo los usuarios pueden conectar el
modo de accin de la consola que ms les convenga; adems, gracias a esta
descripcin de los elementos es ms fcil desarrollar el proyecto siguiendo un cauce
concreto. Estas funciones principales sern tres: identificacin del movimiento, anlisis
del movimiento e identificacin de los objetos en movimiento.

La consola que se ha desarrollado tiene la capacidad de detectar el movimiento
dentro de su campo de accin, esto incluye filtrar aquellos movimientos que sean
superfluos (como el balanceo de las hojas de los rboles); la inteligencia artificial de la
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

11
aplicacin final debera ser capaz de detectar los movimientos repetitivos como el
parpadeo de los semforos.

Adems de detectar los objetos que se encuentran en movimiento, el prototipo
de la aplicacin debe analizarlos y clasificarlos segn su naturaleza. En principio, este
objetivo slo abarca la diferenciacin de los objetos entre tres naturalezas posibles,
objetos no-humanos, personas y vehculos.

Por ltimo, una vez la consola detecte el objeto en movimiento, la consola debe
establecer una estimacin sobre la direccin y velocidad de los objetos detectados.

Desde el punto de vista econmico, el objetivo principal es que el coste de
implantacin de este sistema no sea muy elevado, permitiendo as la llegada del
producto a todo el abanico de posibles clientes del mercado de la seguridad. Se ha
procurado disear un sistema que sea totalmente funcional y que cumpla con las
expectativas de cualquier usuario pero que no suponga una inversin excesiva para los
usuarios finales; esto implica que la base fsica del sistema est compuesta por
productos comunes en el mercado que sean de fcil acceso y econmicamente viables.
Adems, este objetivo restringe la complejidad del sistema, ya que este dispositivo
debe ser lo suficientemente sencillo como para que los operarios del sistema no
necesiten instruccin para dominar su manejo.


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

12






Captulo 2

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

13
Estado del arte


Como el estudio realizado en este proyecto se basa en el desarrollo de
programas que mejoren los resultados de dispositivos y tcnicas ya desarrolladas e
implementadas, a continuacin se presentan estos sistemas de vigilancia ya
desarrollados as como los componentes que los hacen ser sistemas de vigilancia
eficaces.

Estudio de la tecnologa y las tcnicas existentes

Tecnologa actual

Durante el proceso de documentacin del proyecto, se estudiaron los distintos
dispositivos de vigilancia disponibles en el mercado. Este estudio revel que los
sistemas de vigilancia disponibles para el sector civil haban sido desarrollados hace
tiempo y no presentaban avances significativos en el concepto de sistemas de
seguridad; no obstante, s que ha habido un avance significativo en el desarrollo de
nuevos dispositivos de vigilancia.

En este aspecto, todos los sistemas de seguridad, independientemente del su
nivel de sofisticacin, se componan de elementos de seguridad superpuestos; cada
uno de estos elementos estaba diseado e instalado para suplir las carencias del resto
de los elementos.

Los dispositivos convencionales disponibles para la gran mayora de los
ciudadanos son las alarmas sonoras, los sensores volumtricos, las cmaras de video, e
incluso micrfonos [WIKI01]. Estos elementos nunca fueron diseados para actuar
como un nico elemento de seguridad; es decir, estos dispositivos no se disearon con
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

14
la intencin de ser utilizados conjuntamente, si no que se disearon por separado,
pero se pueden utilizar en conjunto.

Sin embargo, uno de los sistemas de seguridad ms avanzados del momento s
que utiliza toda la informacin de los sensores instalados de forma conjunta; de esta
forma se implementa un sistema con funcionalidades que podran darse en un sistema
con inteligencia artificial [WEB001].

Este dispositivo de vigilancia se activa si alguno de los sensores volumtricos
capta la intromisin de algn elemento externo; en ese momento, las cmaras
empiezan a grabar y envan la seal a la centralita donde se encuentran aquellos
agentes que deben tomar las decisiones pertinentes para atajar la amenaza; el envo
de la informacin sirve para que los tcnicos evalen la amenaza y ofrecer una
respuesta con mayor precisin y eficacia. De este modo se genera una sinergia entre
los elementos de seguridad instalados; sta es una de las funcionalidades
caractersticas del sistema de este proyecto.

Otro dispositivo de vigilancia, instalado en las casas cuartel de la Guardia Civil y
las comisaras de Polica, permite la identificacin de elementos sospechosos en el
entorno del edificio con el fin de atajar la amenaza si se diera el caso. Este sistema
funciona analizando el entorno que vigila; en el caso de que un coche o furgoneta
estacione cerca del edificio, el sistema de vigilancia generara una alarma y
reconfigurara la posicin de la cmara de vigilancia, centrando el foco de la cmara
sobre la nueva amenaza detectada. Este control de los dispositivos de vigilancia por
parte de los elementos de la inteligencia artificial es una funcionalidad que no est
incluida dentro del alcance de este proyecto; sin embargo, es una idea que debe ser
desarrollada en el entorno de la visin artificial; si los seres vivos centran el foco de su
visin sobre los elementos, los elementos artificiales tambin deberan hacerlo
[CORR09].


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

15
Estos dispositivos de vigilancia han probado su eficacia, pero su estructura es
todava muy mecnica y predecible. Sin embargo, este proyecto propone que el
sistema de video vigilancia artificial desarrollado sea orgnico y reentrante, es decir,
que se nutra de la informacin que va generando adems de la que los sensores
externos van capturando.


Tcnicas actuales

En el otro campo que interviene en este proyecto, el campo de la visin
artificial, empez a ser investigado en la ltima dcada del siglo XX, y desde entonces
se han desarrollado mltiples avances.

A mediados de los aos 90, un estudio estableci cules eran los parmetros
que un sistema dedicado al anlisis del movimiento deba tener en cuenta [CDR95].
En este estudio se desarrollo un sistema que poda captar el movimiento de uno o
varios objetos de forma simultnea, para despus analizar y caracterizar el movimiento
de cada objeto, adems de la propia estructura y composicin del objeto. Aos ms
tarde, los cientficos estudiaron la forma en que los seres humanos identifican los
objetos de su entorno y descifraron las tareas que realiza el cerebro humano para
obtener una imagen mental del entorno. Gracias a este estudio, los investigadores
pudieron implementar un sistema artificial que se asemejase bastante a la visin
humana [VINC06].

Los estudios realizados en este campo dieron pie al desarrollo de algoritmos de
anlisis de imgenes; algunos de estos algoritmos se especializaron en el estudio del
movimiento no-rgido, como por ejemplo el estudio de plantillas deformables
[YUIL92], splines activos [CURW92], o el estudio de superficies activas [COHE92].



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

16
Otro de los campos de estudio en este sector es el anlisis de las tcnicas de
flujo ptico, que consisten en el anlisis por parte de un ordenador de series de pares
de imgenes [BEAU95], [RODR08]. La tcnica del flujo ptico se basa en estudiar el
movimiento que se percibe entre dos imgenes consecutivas, gracias a las diferencias
entre stas se puede analizar la velocidad o la distancia de los objetos.

Adems del estudio del movimiento de los objetos, este proyecto integra los
algoritmos de reconocimiento de objetos. Los algoritmos pueden estudiar los objetos
de 2D [BAND08], el reconocimiento de patrones [LIU07]. Otras tcnicas que se
desarrollaron para la identificacin de los objetos del entorno se basan en el estudio
de los colores como fuente de informacin; el trabajo principal de estos algoritmos se
basa en el anlisis de los colores y de su variacin como consecuencia del aumento o
disminucin de la fuente de luz [CUEV06].

Estos algoritmos se desarrollaron con el fin de capturar el movimiento de los
objetos y de estudiar despus el movimiento o la naturaleza de estos. Esta dinmica
supone un problema en el campo de la vigilancia ya que para mantener una seguridad
de calidad, el servicio prestado por el sistema de video vigilancia artificial debe ser
capaz de trabajar en tiempo real, lo cual implica que los resultados deben obtenerse
en el tiempo de respuesta de un ser humano, as que deben de estar entre un cuarto y
medio segundo.

Sin embargo, las tcnicas de flujo ptico implican un problema aadido, al estar
basadas en el anlisis de dos imgenes consecutivas implica un ligero retardo ya que se
trabaja con dos imgenes; sin embargo, el clculo de distancias y velocidades es un
objetivo principal del proyecto, de modo que estos algoritmos han sido modificados
para que tengan unas mejores prestaciones.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

17
Uno de los artculos estudiados tiene como objetivo estudiar el movimiento de
las manos dentro del entorno de la interpretacin del lenguaje de signos
[YANG08]. Este artculo ana los criterios de reconocimiento de patrones que
se persigue en el proyecto de seguridad por video vigilancia junto con los
criterios de anlisis del movimiento de los objetos dentro del campo de visin.


Tecnologas y recursos utilizados

Este proyecto se centra sobre el anlisis de imgenes de video mediante una
inteligencia artificial, por lo tanto, una gran parte de la elaboracin de este proyecto ha
consistido en la seleccin de los sistemas perifricos de video. Estos equipos son las
cmaras de vigilancia convencionales, las cmaras usb y las cmaras IP. Al tratarse de
un proyecto enfocado hacia la creacin de un sistema de video vigilancia a partir de
cualquier equipo que pudiera poseer el cliente con anterioridad, el desarrollo del
proyecto no se ha focalizado sobre una cmara de video especfica, sino que la mayor
parte del proyecto se ha trabajado sobre video ya grabados seleccionados con el fin de
desarrollar una funcionalidad concreta de la consola.

Las cmaras de vigilancia convencionales no envan la informacin digitalizada
sino que la envan con formato analgico. La seal generada por estas cmaras es un
flujo continuo de informacin, mientras que el sistema est diseado para recibir las
imgenes de video de una en una; por esto es necesario incluir un transformador de
seal para que la seal analgica se digitalice y pueda utilizarse en la consola de
seguridad. En cuanto mejor sea este convertidor de seal, ms ptimo ser el sistema
ya que la informacin en bruto proporcionada por las cmaras podr ser refinada con
ms tiempo.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

18

Sin embargo, no todos los dispositivos generan informacin analgica, hay
equipos perifricos de video que generan informacin digital; los dispositivos de este
tipo ms comunes son las cmaras usb, cmaras que mediante un puerto usb se
conectan al ordenador y gracias a cualquier aplicacin de video con enlaces a puertos
usb puede mostrar al usuario el video que estn capturando. Esta informacin est
ntegramente en formato digital, con lo cual puede empezar a tratarse mucho antes
que la informacin proporcionada por las antes mencionadas cmaras de vigilancia,
pues no es necesario pasar por el proceso de transformar el tipo de la seal.

Las cmaras usb son la mejor opcin para este sistema de seguridad para una
empresa que est muy localizada (que trabaje dentro de un nico edificio o complejo y
que utilice un nico servidor para tratar toda la informacin) ya que estas cmaras son
de fcil instalacin y tienen un muy buen rendimiento en distancias cortas Adems de
las cmaras usb, hay otro tipo de dispositivos que tambin procesan directamente la
informacin que generan en el ordenador sin necesidad de un transformador, estos
dispositivos son las Webcams.

Sin embargo, hay otra opcin para aquellas empresas que tengan varias zonas
que vigilar y deseen vigilarlas desde un nico punto, estos dispositivos permiten la
instalacin de un puesto de vigilancia remoto y centralizado.

Figura 2.1: Secuencia de captura de las imgenes
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

19
Las cmaras IP permiten recibir la seal digitalizada desde cualquier ordenador
con acceso a Internet. La instalacin de estas cmaras es muy sencilla con la salvedad
de que la empresa que las instale debe configurar unos permisos para acceder a la
informacin proporcionada por estas cmaras. Esto da la opcin a las empresas de
recibir informacin simultnea sobre varios puntos geogrficos distintos, y en ltima
instancia permite mantener la vigilancia sobre distintas zonas con la misma consola de
pantallas (como la consola de vigilancia de la D.G.T., que recibe la informacin desde
las cmaras de las distintas autovas, A-1, A-2, A-3, etctera pero se reciben todas en la
consola central).

Sea cual sea el
gnero de las cmaras
de vigilancia instaladas
en el sistema, toda la
informacin que
generen las cmaras
debe ser recibida en
ltima instancia en
formato digital; este
requisito es vital para el
funcionamiento ptimo
del sistema debido a
que ste funciona
analizando el stream de
video que generan
estas cmaras; es decir,
el sistema funciona
analizando la
informacin de las
Figura 2.2: Recorrido de la informacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

20
cmaras bajo un prisma digital. Un stream de video es una secuencia de frames, este
es el nombre tcnico de las imgenes que componen las secuencias de video; su
sinnimo en el formato analgico sera una diapositiva.

La consola de vigilancia se basa en el anlisis de estas imgenes
individualmente primero y como una secuencia completa despus, por lo tanto el
nico modo de poder aplicar la inteligencia artificial de la consola es que sta reciba las
imgenes una por una. Las cmaras usb y las cmaras IP son vitales para este sistema
de vigilancia artificial ya que proporcionan streams de video que pueden ser analizados
directamente, mientras que las cmaras de vigilancia convencionales proporcionan
una seal que debe ser convertida para ser recibida en un ordenador, lo que baja el
rendimiento del sistema.


Los Bitmaps y el lenguaje de programacin C#

Gracias a que la tecnologa ha avanzado y ahora se pueden generar imgenes
digitales. Este nuevo recurso informtico ha provocado que los lenguajes de
programacin de alto nivel, en concreto los lenguajes de programacin orientada a
objetos, como C# han incluido entre las clases de sus bibliotecas clases que permiten
trabajar con Bitmaps dentro de un entorno de programacin [WEB002].

Un Bitmap est compuesto por una serie unos y ceros que se agrupan para
formar los pxeles de las imgenes (series de bytes que generan el color de un punto
dentro de la imagen); cuanto ms largas sean las series de unos y ceros ms matices
tendrn los tonos de grises o habr ms colores en las imgenes. Por ejemplo, una
imagen con un formato de pxel de dos bits (aunque los formatos suelen ser mltiplos
de un byte, esto es slo un ejemplo) podr mostrar hasta dos tonos de gris (dos bits
permiten cuatro combinaciones distintas de colores), uno de blanco y otro de negro,
mientras que un pxel con formato de 1 byte podr mostrar hasta 256 tonos de grises o
colores diferentes [WIKI02].

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

21
Uno de los atributos principales de los Bitmaps es su resolucin, que es el
tamao en pxeles de la imagen; normalmente la calidad de las fotografas se
determina por este valor ya que representa la potencia con que se ve la imagen,
correspondiendo con el nmero de puntos digitales que hay en un centmetro
cuadrado de la imagen. Cuanto mayor sea este nmero, mayor ser la precisin con
que se mostrar la imagen.

Adems de la resolucin, otro atributo importante de los Bitmaps es el formato
de los pxeles; los pxeles tienen asignada una determinada cantidad de bits para
representar el color de los puntos de la imagen, de modo que en cuanta ms cantidad
de bits tengan asignada para representar el color en un punto de la imagen, ms
matrices y tonos de color se podrn representar en esta imagen digital. Esta cantidad
de color es conoce como paleta de colores de la imagen. Los formatos de las imgenes
se suelen representar en bpp, esta unidad representa los bytes por pxel que hay en la
imagen.


Figura 2.3: Anlisis de un Bitmap


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

22
En C# la clase Bitmap contiene algunos mtodos especficos para agilizar
operaciones de manipulacin de los Bitmaps como son el mtodo LockBits, que
permite acceder directamente a la zona de memoria donde est alojado el Bitmap y
manipular los datos de la imagen mucho ms rpido, o el mtodo GetPixel, que
mediante la introduccin de las coordenadas del pxel que se quiere analizar se
obtiene el valor numrico del color del pxel.

Pero no slo hay mtodos especficos para las imgenes digitales, sino que
tambin se incluyen propiedades (atributos propios de cada clase) que gestionan
informacin til a la hora de procesar un Bitmap, propiedades como PixelFormat, que
contiene el formato de los pxeles de la imagen, o Width y Height, propiedades que
contienen el ancho y la altura de la imagen, muy tiles en el caso de querer recorrer el
Bitmap para analizar la informacin.

Una de las propiedades que ha sido bsica para el desarrollo de este proyecto
es ColorPalette, una propiedad que almacena y muestra la paleta de color que utiliza la
imagen; gracias a esta propiedad se puede configurar esta paleta de colores desde
dentro del programa con un sencillo bucle. De este modo se implement la paleta de
colores de las imgenes para que stas pasaran de ser en color a ser representaciones
en escala de grises.

Gracias a estos mtodos es posible trabajar con la informacin contenida
dentro de las imgenes y realizar gracias a ella un proceso que analice la imagen en
bsqueda de objetos. En trminos prcticos, ahora la informacin de imgenes o
videos es tan fcil de utilizar desde un programa como la informacin de cualquier
fichero.



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

23
La programacin orientada a objetos

El vehculo que utiliza este proyecto para poder parametrizar y
manipular los objetos que la consola detecta es la Programacin Orientada a Objetos.
Gracias a los entornos de desarrollo que permiten trabajar con esta filosofa de
programacin se pueden disear programas que ayudan al programador a reconocer
fcilmente las entidades que se interrelacionan en el programa.

La Programacin Orientada a Objetos se basa en la creacin de clases (objetos)
que son modelos de la realidad diseados para representar un objeto real dentro de
un entorno de programacin [WIKI03].


Figura 2.4: Filosofa de la programacin orientada a objetos

Estos modelos incluyen atributos y mtodos, los atributos describen objetos del
modelo y los mtodos representan las acciones que puede realizar el modelo dentro
de su entorno; es de vital importancia que tanto los atributos como los mtodos
disponibles para las distintas clases capten lo mejor posible las funciones del objeto
real que modelan.

De este modo es fcil realizar un algoritmo que capte un modelo de la realidad
y trabaje con l de forma sencilla; en este caso, ajustar los atributos y los mtodos de
los objetos correctamente se traduce en conseguir hacer un modelo de la realidad en
tiempo real, lo cual es vital cuando el entorno donde se trabaja es el campo de la
seguridad.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

24
Gracias a la programacin orientada a objetos se puede mantener la atencin
del programa sobre distintos elementos de la imagen sin que la eficacia de ste se vea
mermada, ya que el diseo de estos lenguajes de programacin les hace mantener su
potencia aunque tengan que manejar grandes cantidades de objetos al mismo tiempo.
La ventaja ms importante de la programacin orientada a objetos es la sencillez con la
que se invocan los mtodos de los objetos; gracias a este diseo simple pero efectivo
los programadores pueden acceder a la informacin de una forma ms intuitiva y fcil
de programar.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

25






Captulo 3
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

26
Metodologa Empleada


Para asegurar el xito en el desarrollo de una aplicacin, es necesario aplicar
tcnicas que permitan planificar, organizar y controlar las actividades que dan forma al
conjunto del proyecto. Estas tcnicas de desarrollo y control son diferentes y cada
metodologa presenta una forma particular de utilizarlas, as como sus propios
mtodos y tcnicas.

La metodologa ms extendida en la actualidad es la metodologa estructurada,
que define el desarrollo de un proyecto como una serie de pasos consecutivos que se
conoce como ciclo de vida del sistema; una vez realizados estos pasos ya no se repiten
durante todo el proyecto. Durante cada fase del ciclo de vida se analizan al mximo
todos los matices del proyecto relacionados con el tema de estudio que se desarrolla
en la fase antes de pasar al siguiente paso, de tal manera que los resultados generados
en cada paso se conviertan en la informacin de entrada para la siguiente fase del ciclo
de vida.

La finalidad de las metodologas de desarrollo software es orientar a los
desarrolladores de aplicaciones mediante una serie de pasos para generar un producto
software de calidad que requiera el menor nmero posible de revisiones o nuevas
versiones; es decir, cada metodologa pretende automatizar la forma de generar
aplicaciones software el mximo posible.

Mientras que la metodologa estructurada pretende generar el producto final
mediante un nico ciclo de estudio, la metodologa extrema descompone el problema
inicial en una serie de problemas ms pequeos con una complejidad inferior para
cada una de las cuales se desarrollar una solucin; de este modo el producto final se
compone de una serie de aplicaciones ms pequeas integradas durante el desarrollo
del proyecto.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

27
Caractersticas de la Metodologa Extrema

Aunque la metodologa estructurada es la gua ms comn para el desarrollo de
productos software, este proyecto ha sido confeccionado mediante la metodologa
extrema o metodologa XP. La metodologa extrema aplica los mismos pasos que la
metodologa estructurada, pero repite todo el ciclo de vida ms de una vez. Con cada
iteracin el alcance del estudio del problema aumenta de forma exponencial, en vez
de tratar de llegar a la solucin final con una nica iteracin.

Este sistema de estudio hace que esta metodologa sea conocida tambin como
metodologa ligera o metodologa liviana, ya que cada fase de la secuencia de estudio
tiene una duracin inferior en esta metodologa que en la metodologa estructurada;
de este modo se puede repetir la secuencia de estudio ms de una vez, aadiendo
mayor profundidad al estudio con cada iteracin.

Adems, esta metodologa repite el ciclo de vida del sistema, de modo que las
reuniones de seguimiento del avance del producto son constantes, lo que implica que
el intercambio de informacin debe ser fluido; esta caracterstica de la metodologa
extrema no hace sino aumentar la agilidad del desarrollo de la aplicacin.




Figura 3.1: Comparativa de las dos metodologas de desarrollo de aplicaciones
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

28
Como con la metodologa extrema el alcance del proyecto se divide en varias
fases de desarrollo, los objetivos globales del producto final deben acotarse de forma
que se puedan alcanzar mediante la iteracin de las fases de estudio; este mtodo
implica que primero se cumplan los objetivos ms sencillos y bsicos de la aplicacin,
dejando para las iteraciones finales aquellos objetivos que sean crticos.

Este sistema ofrece una ventaja importante ya que siguiendo esta metodologa
es posible obtener resultados visibles desde las fases iniciales del desarrollo. Otra
ventaja de la metodologa extrema con respecto de la metodologa estructurada es
que los desarrolladores y analistas del producto tienen un mayor conocimiento del
funcionamiento de ste con cada iteracin; de modo que con cada iteracin su trabajo
es ms preciso, lo que implica que los objetivos crticos se desarrollen e implementen
con una mayor calidad.

Adems, gracias al desarrollo iterativo, se pueden modificar los objetivos
iniciales durante el transcurso del desarrollo as como ajustar las funcionalidades del
programa a los deseos del cliente y de los usuarios finales gracias a un anlisis de los
requisitos actualizado con cada ciclo de estudio, lo que hace que la metodologa
extrema sirva para desarrollar aplicaciones muy sensibles a las necesidades de los
clientes y los usuarios finales.



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

29
Las fases de desarrollo

La metodologa extrema permite descomponer el problema total en problemas
ms pequeos que pueden ser abordados por separado. Al plantear la estrategia para
obtener los resultados necesarios que requera este proyecto se dividi el problema
principal en varios problemas secundarios de forma que los resultados obtenidos al
solucionar un problema secundario se obtuviera a la vez la informacin necesaria para
ejecutar el siguiente paso.









Figura 3.2: Descomposicin del problema principal

Gracias a la descomposicin del problema se obtuvieron tres fases de estudio
que deban ser desarrolladas durante el proyecto para que la aplicacin final generase
los resultados deseados. Para el desarrollo de cada una de estas fases se planific un
calendario mediante un diagrama de Gantt con el cual guiar el desarrollo de la
aplicacin.

Los diagramas de Gantt permiten planificar las fases de desarrollo de una
aplicacin e incluso descomponer estas fases generales en sub-fases ms concretas;
adems, las tcnicas empleadas en este diagrama permiten relacionar las fases entre
ellas segn los criterios lgicos de desarrollo, creando una secuencia de elaboracin de
del proyecto y estableciendo una jerarqua entre las fases que lo componen, de modo
que la creacin del producto final se desarrolla de forma guiada.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

30

Manipulacin de video mediante aplicaciones software

La primera de las fases que se desarrollaron en el proyecto fue la fase de
generacin del proceso de carga del video dentro de la consola; este proceso tena que
abrir, identificar el formato del archivo, generar
el soporte correspondiente para las imgenes del
video y mostrar por pantalla los frames de los
videos.

Al ser la primera fase del proyecto,
durante esta parte del desarrollo tambin se
dise la mayor parte del interfaz de la consola
con el usuario. En esta fase inicial, el interfaz del
programa era bastante sencillo, se compona de
una ventana de seleccin donde slo haba un
recuadro de texto y un botn de seleccin.

Figura 3.3: Diagrama de Gantt de la planificacin
Figura 3.4: Objetivos de la primera
fase del desarrollo
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

31

Figura 3.5: Vista del interfaz de la consola durante la primera fase de desarrollo

Gracias a este interfaz la consola era capaz de solicitar los datos de entrada que
requera para el proceso de carga del archivo de video. Una vez localizados los datos, la
parte del interfaz se los enviaba al procesador del programa para que ste hiciera un
anlisis del archivo y generase una salida que el usuario pudiese identificar.








Mediante el botn de seleccin la aplicacin permitira al usuario navegar
dentro de su equipo para seleccionar el archivo de video que quisiera analizar. Esta
forma de seleccin de archivos acelerara el proceso ya que el usuario se evitaba tener
que conocer y escribir en el recuadro de texto la ruta de acceso al archivo de video
para que la aplicacin pudiera procesarlo.
Figura 3.6: Comunicacin con el interfaz del programa
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

32















Para obtener los resultados que se esperaban se consultaron diversas fuentes
web [MSDN06] y [WEB005]. Gracias a estas fuentes se pudieron comprender los
sistemas necesarios para cargar un fichero de video dentro de un sistema, para
manipular archivos desde las aplicaciones hacen falta procesos de manipulacin de
archivos multimedia y gestores especializados de archivos de video; estos procesos
necesitan bibliotecas de formatos de archivos para que los archivos de video puedan
descomponerse en imgenes.



Figura 3.7: Navegacin dentro del equipo para la seleccin del video
Figura 3.8: Detalle del flujo de datos en la fase de carga
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

33
Los gestores especializados analizan el formato del archivo multimedia que le
ha sido enviado para obtener informacin acerca de las imgenes contenidas en el
video, leyendo de los datos de la cabecera el tamao o la calidad de las imgenes.

De este modo es posible que los gestores de archivos inicialicen las imgenes
de tipo bmp con la anchura y altura requeridas, para despus volcar la informacin de
las imgenes del video pixel por pixel, de modo que descomponen todo el vector de
informacin del archivo de video en vectores de informacin ms pequeos que
contienen los valores del color de cada pixel. Una vez cargada la informacin del
primer pixel dentro de un archivo de tipo bmp, el proceso enva este archivo al gestor
del programa para que lo incluya dentro del contenedor correspondiente del interfaz.



Figura 3.9: Salida por pantalla del primer frame del video seleccionado

Gracias al proceso desarrollado durante la primera fase se pudieron introducir
archivos de video dentro de la consola y sta era capaz de descomponerlos para
tratarlos como una secuencia de imgenes independientes. Una vez se pudieron
identificar y manipular las imgenes de forma separada, se procedi a desarrollar la
segunda fase del proyecto; en esta fase se aplicaran los distintos filtros para analizar
las imgenes.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

34
Anlisis de imgenes digitales

Durante esta fase del desarrollo del proyecto se estableci como objetivo
principal desarrollar un proceso que fuera capaz de aplicar los distintos tipos de filtros
de anlisis de las imgenes.
Para ello el usuario
seleccionara un archivo de tipo
bmp que el sistema recibira
utilizando el mismo interfaz que
se desarroll en la primera fase
del proyecto.













Figura 3.11: Salida inicial de la aplicacin en la segunda fase

Para analizar las imgenes mediante la consola de la aplicacin, era necesario
abrir los archivos bmp desde el ms bajo nivel. Esto implicaba utilizar procesos que
manejaran punteros para el acceso a las zonas de memoria donde se encontraba la
informacin de las imgenes; una vez abierto el archivo de imagen se podran aplicar
los distintos filtros diseados y desarrollados para analizar las imgenes.
Figura 3.10: Objetivos de la segunda fase
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

35

Figura 3.12: Detalle del flujo de datos de la segunda fase

Una vez desarrollada por completo esta fase, la consola sera capaz de aplicar
los distintos filtros desarrollados y devolver una imagen transformada a partir de la
imagen original.
















Una vez desarrollada esta fase por completo, haba que unir los dos programas
desarrollados para generar una aplicacin que pudiera analizar una secuencia de video
completa.

Figura 3.13: Resultados de la segunda fase
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

36
Anlisis de las secuencias de video

Gracias a las dos fases de desarrollo anteriores se generaron dos programas
que podan abrir y descomponer un archivo de video y aplicar una transformacin a un
archivo de tipo bmp. Por lo tanto, en la tercera fase de desarrollo haba que
implementar las funcionalidades de ambos programas dentro de una nica aplicacin y
aadir la inteligencia artificial que analizara el movimiento de los objetos dentro del
video.








La implementacin de las funcionalidades desarrolladas en las fases anteriores
en una misma aplicacin dio origen a un recorrido que deba seguir las imgenes
obtenidas del video; el video era directamente enviado desde el interfaz al gestor de
archivos a travs del gestor del programa para ser analizado y que se generasen las
imgenes que lo componan. Una vez generadas estas imgenes, stas se
reconduciran a travs del gestor de archivos al gestor de imgenes para ser
analizadas; el gestor de imgenes almacenara las imgenes resultantes en una zona de
la memoria hasta finalizar el anlisis del video por completo.

Una vez generadas todas las imgenes transformadas, el gestor de imgenes
pasara el control del programa al gestor del programa, el cual accedera al almacn de
imgenes del programa para extraer todas las imgenes del video y abrir una conexin
con el gestor de archivos. A travs de esta conexin el gestor de archivos recibira las
imgenes transformadas con las cuales generara el archivo de video que se devolvera
al usuario.

Figura 3.14: Objetivos de la tercera fase de desarrollo
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

37

Figura 3.15: Detalle del flujo de datos del programa

Una vez integradas en el mismo programa las funciones desarrolladas en las
dos primeras fases, la aplicacin era capaz de generar video con imgenes
transformadas. En este punto se desarroll la inteligencia artificial que permita
analizar las imgenes generadas relacionando las imgenes entre ellas, hasta ahora el
anlisis de las imgenes slo implicaba el uso de una de ellas.

Para implementar esta funcionalidad a la inteligencia artificial de la aplicacin
se aadi un bucle en el gestor de imgenes, este bucle estableca que el gestor de
imgenes deba acceder al Almacn de imgenes una vez finalizara el anlisis inicial de
las imgenes. Este segundo acceso permitira al Gestor de imgenes comparar las
imgenes transformadas segn los algoritmos desarrollados y generar imgenes que
modelaran el movimiento de los objetos de la secuencia de video original.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

38

Finalmente, la aplicacin genera poda analizar un video descomponindolo en
imgenes individuales, aplicando a cada una de estas imgenes una serie de filtros con
el fin de realzar la informacin que se buscara en cada fase del anlisis, relacionando
estas imgenes por parejas para obtener informacin sobre el movimiento de los
objetos seleccionados en el video y finalmente generando un video de salida que
contuviera la informacin generada por la consola sobre los objetos capturados en la
secuencia de video.

Figura 3.16: Flujo de datos de la aplicacin final
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

39






Captulo 4

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

40
Desarrollo del prototipo

Introduccin

Este proyecto tiene como objetivo crear el prototipo de un sistema de vigilancia
hbrido; este sistema estar operado por un usuario humano, pero las tareas de
vigilancia ms repetitivas
(como el seguimiento de
individuos que hayan
entrado en escena o la
comprobacin del entorno
en busca de objetos que
hayan cambiado de posicin
o que hayan sido depuestos
con anterioridad por parte
de algn individuo) sern
resueltas por la consola.
Evitando la mecanizacin de
la actividad laboral de los
tcnicos de seguridad se
espera que los resultados de
la vigilancia sean ms
satisfactorios que con los
sistemas de vigilancia
convencionales.

Las tareas de
supervisin de una pantalla
de video vigilancia no
requieren una gran dosis de Figura 4.1: Comparativa de imgenes
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

41
concentracin pero son extremadamente repetitivas, creando as una rutina en la que
los vigilantes de seguridad se ven inmersos. Para adaptarse a esa rutina, los vigilantes
de seguridad desarrollan de manera instintiva tcnicas de vigilancia mecnicas, las
cuales ponen en peligro la integridad del sistema ya que el nivel de vigilancia se vuelve
insuficiente.

Mediante el procesado de las imgenes por parte del ordenador se espera
liberar del trabajo ms repetitivo al vigilante; el objetivo de este filtrado de la
informacin por parte del ordenador es que la mente de este sujeto mantenga la
alerta durante la totalidad de su turno de servicio pero se desgaste el mnimo posible
durante todo ese tiempo. Para facilitar la labor de los vigilantes de seguridad, se ha
desarrollado una aplicacin que permita distinguir los elementos de la imagen
proporcionada por una cmara de video, y resaltar las caractersticas e identificar
aquellos objetos que sean ms importantes. Este hecho permitir por lo tanto
mantener un nivel de calidad ptimo durante ms tiempo en lo que refiere a las
decisiones que deber tomar el responsable de seguridad.

Como este sistema de vigilancia es un prototipo, el sistema es capaz de definir
las acciones de los objetos que sean captados por las cmaras de vigilancia, pero con
un alcance muy inferior al que debera tener en caso de ser una herramienta
profesional. La funcin de definir los objetos que estn dentro de una zona, que a
priori es una tarea muy amplia, se descompone en varias subtareas ms pequeas,
fcilmente identificables y que en ltima
instancia generan una sinergia positiva
entre ellas y permiten una vigilancia
global superior; de cualquier modo,
todas estas subtareas deben
complementarse. Estas subtareas son el
anlisis de los objetos de la imagen, la
identificacin de estos objetos y el
anlisis de las acciones de los objetos capturados en la imagen.
Figura 4.2: Flujo de informacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

42
Gracias al desarrollo y la implementacin de estos tres elementos principales
de la vigilancia en la aplicacin, se espera que la consola de este primer prototipo
tenga un nivel de respuesta aceptable. El diseo de este sistema de vigilancia se ha
basado en un anlisis piramidal de las imgenes proporcionadas por un stream de
video.

En una primera aproximacin, la consola analiza las imgenes individualmente
en busca de los objetos que la componen para luego analizar estos objetos e
identificarlos y definir su naturaleza; finalmente, en la ltima etapa del anlisis, se
aplica la inteligencia artificial de la consola para evaluar las posibles acciones de estos
objetos y lanzar los avisos que correspondan a los vigilantes de seguridad.

La primera de estas tareas es la identificacin de objetos en movimiento dentro
de la imagen principal del la cmara que se est analizando. Esta subtarea se ocupa de
analizar la imagen de las cmaras para diferenciar cuales son las zonas de la imagen
donde se encuentran los objetos mviles y cules son las zonas de la pantalla que
representan el paisaje.

El alcance de esta subtarea en este proyecto es sencillo, se espera que la
consola sea capaz de localizar cualquier objeto que se est desplazando por la imagen
y generar una ocurrencia por cada uno de los objetos que haya localizado y definir la
naturaleza del elemento que ha generado esta ocurrencia; adems, se espera que la
consola sea capaz de filtrar el movimiento superfluo de los elementos, ya sean
elementos significativos o no (se espera que la consola sea capaz de filtrar el
movimiento de las hojas de los rboles debido al viento o eliminar los cambios de color
debidos al cambio de posicin del Sol durante el da).

Otra subtarea de la que se compone la vigilancia es la identificacin de los
objetos que hayan sido localizados dentro de la imagen. Esta subtarea es responsable
de definir la naturaleza de los objetos dentro de la imagen con el fin de recopilar la
mayor cantidad posible de informacin para los usuarios de nivel superior. Sin
embargo, un requisito indispensable en este punto es asegurar que la informacin que
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

43
se suministre a los niveles superiores sea totalmente fidedigna; en un entorno de
vigilancia automatizado, es mejor no establecer ningn elemento de juicio sin tener
una certeza absoluta antes que trabajar con un falso positivo. De modo que cuando un
sistema de vigilancia se encuentre operando en modo automtico debe ser capaz de
mantenerse a la espera para asegurar una identificacin que se acerque lo mximo
posible al 100%.

En el caso de una vigilancia compartida (una vigilancia compartida es aquella en
la cual la consola tiene el apoyo de un operario de seguridad) la consola lanzar un
mensaje de identificacin parcial cuando la identificacin alcance un porcentaje
predefinido, y ser el tcnico que est supervisando el sistema el que determine si la
identificacin es positiva o no, estableciendo un nuevo perfil ms completo para el
sujeto recientemente identificado. De este modo el usuario podr interactuar con la
aplicacin y ser parte activa en la vigilancia, ya que gracias a sus intervenciones, la
aplicacin podr definir antes la naturaleza de los objetos que haya capturado dentro
de la imagen.

El alcance de esta subtarea en este proyecto es modesto, la consola debe
analizar cada objeto localizado dentro de la imagen y a ser posible identificarlo como
perteneciente a una de estas categoras: gnero humano, objeto o vehculo.

Sin embargo, la identificacin de los objetos es un campo de difcil
automatizacin. Todos los seres humanos tenemos caractersticas comunes, esto hace
complicada la diferenciacin de un humano de otro por parte de una mquina, a
excepcin de las mquina con hardware especializado (como los lectores de huellas
dactilares o los lectores de retina). Por otra parte, incluso dos objetos iguales (un par
de mochilas de colegio, por ejemplo) son difciles de identificar como idnticos por
parte de una mquina debido a que hay variables que difieren de un objeto a otro (la
orientacin, la incidencia de la luz o los pliegues de la tela).

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

44
No obstante, es posible definir la naturaleza de los objetos capturados por las
imgenes siempre que las clases donde se incluirn estos objetos no sean muy
especficas. La definicin de la naturaleza de los objetos es una parte crucial de la
video-vigilancia; gracias a este paso, el sistema se puede tratar con una mayor
precisin a cada tipo de objeto que se identifique en la imagen.

Al identificar un objeto o individuo como tal dentro de una imagen, el sistema
debe ser capaz de aadir una entrada en su base de datos de objetos activos dentro de
la imagen; una vez completado el anlisis inicial de la imagen, el sistema tambin debe
ser capaz de recorrer estos registros y actualizar el estado de los objetos en funcin de
la informacin que haya recogido durante el anlisis.

Si el anlisis de la imagen fuera difcil porque la imagen se encontrase saturada
de objetos, sera posible dejar el anlisis en el estado en el que estuviera y retomarlo
en la siguiente iteracin de anlisis. De este modo se ira completando el anlisis de los
objetos en su totalidad hasta que ya no quedaran nuevos objetos dentro del entorno
de anlisis del sistema.

La ampliacin de las funcionalidades de esta subtarea tiene muchas
posibilidades; por ejemplo, en cuanto a la identificacin de los seres humanos, es
posible que la consola identifique a cada persona individualmente, de modo que se
pueda tener un seguimiento de todos los empleados de la plantilla de una empresa al
completo. Del mismo modo, los vehculos tambin pueden ser de nuevo categorizados
por su naturaleza (motos, utilitarios o camiones).

Finalmente, la ltima subtarea de este sistema de video-vigilancia es el
seguimiento de los objetos durante su recorrido dentro de la pantalla o en el entorno
que se establezca la vigilancia; esta subtarea permite lanzar avisos externos al sistema
para notificar de comportamientos extraos a los vigilantes encargados de la
supervisin de las pantallas de control del sistema.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

45
Los avisos lanzados por los procesos de este nivel sern ms precisos ya que
gracias a la clasificacin de los objetos se registra y analiza la informacin sobre estos
objetos de una forma ms concreta, y por lo tanto, las decisiones que se toman acerca
de ellos tienen una base con mayor fundamento. Esto implica que es necesario definir
para cada clase un comportamiento comn y una batera de acciones que no son
habituales; en el caso de que la aplicacin identifique a un objeto realizando una de
estas acciones no-comunes la aplicacin lanzar un mensaje de aviso al encargado de
seguridad de la consola de vigilancia.

El alcance de esta subtarea est definido por el clculo de vectores de
desplazamiento de los objetos y de la toma de decisiones sencillas por parte de la
inteligencia artificial de la consola acerca de la interactuacin de estos vectores con el
medio (discernir cuando un camin estaciona o cuando una persona deposita un
objeto en el entorno y de este modo modifica el entorno), pudiendo dar una idea
aproximada sobre la velocidad o la direccin del objeto que se muestra por pantalla.


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

46
Configuracin del sistema

La recepcin de las imgenes se tramitar en el dispositivo final a travs de una
cmara de video; gracias a esta cmara de video se recibe un stream de video en
formato digital. Un stream de video es un tipo de conexin digital que enva desde la
cmara a la consola principal una serie de imgenes que muestran los elementos que
est enfocando la cmara de vigilancia.

Al tener un formato digital es posible tratar la informacin de las cmaras
directamente desde la aplicacin; la consola recibe las imgenes directamente y las
convierte a un formato con el que es posible trabajar desde el entorno de
programacin, el formato de Bitmap, con lo cual puede empezar a trabajar con la
informacin directamente con las herramientas que se han diseado e incluido en el
entorno de programacin que estn incluidas en la clase Bitmap de la plataforma C#
(como los mtodos y los atributos de la imagen digital).

Gracias a esta conexin la consola puede recibir informacin en tiempo real
sobre el entorno que debe vigilar con un formato que se puede manipular. Gracias a
los mtodos de la clase Bitmap, se puede acceder a la informacin de la imagen para
realzar aquellos aspectos de la imagen que sean ms importantes para el anlisis o
para optimizar el consumo de memoria (cambiar el contraste para perfilar mejor los
elementos de la imagen o cambiar el formato de la imagen para que esta no tenga
colores pero ocupe menos espacio en la memoria).

Adems de configurar las imgenes para que faciliten el procesamiento de la
informacin que contienen, la conexin entre la aplicacin y la cmara de video puede
configurarse para que se ajuste a las necesidades del sistema que se desea
implementar. Si la velocidad de procesamiento de la consola es un poco baja, es
posible disminuir el ritmo con el que el stream de video vuelca las imgenes en la zona
de memoria reservada para guardar las imgenes que se analizarn; con esta
desaceleracin se pretende disminuir la cantidad de informacin que tendr que
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

47
procesar la consola y as liberar al procesador del sistema de toda la carga
computacional posible.

Al variar el ritmo de entrada de las imgenes se vara tambin la precisin del
sistema ya que con un ritmo de captura ms bajo, la vigilancia es menos constante, lo
cual puede suponer que la actualizacin de los indicadores de la imagen se d en
intervalos ms amplios, en vez de obtener una serie de imgenes donde los
indicadores siguen a los objetos de forma fluida.

No es necesario que el sistema analice todas las imgenes que la cmara de
vigilancia es capaz de generar; el ojo humano es capaz de analizar 25 frames por
segundo (un frame es la media con la que se expresa el nmero de imgenes que tiene
un segundo de video), en el caso de analizar un stream con una cantidad mayor de
frames se estara sobresaturando intilmente el sistema ya que la diferencia no es
apreciada por el ser humano.

Esto implica que si se analizaran todas las imgenes, el sistema tendra cuatro
dcimas de segundo para el ciclo de anlisis de la imagen; no obstante, se puede
omitir el anlisis de varios intervalos para lograr varios objetivos. El primero de ellos es
que si se obvian varios intervalos, el tiempo resultante para el anlisis del intervalo
ms grande es proporcionalmente mayor (es la suma de los intervalos ms pequeos).
El segundo beneficio que se obtiene de analizar intervalos ms distanciados en el
tiempo es que el movimiento de los objetos es ms fcil de identificar; mientras que
las diferencias entre dos frames seguidos (en un stream de 25 frames por segundo o
ms) es imperceptible, esta diferencia se intensifica a medida que los frames estn
separados por ms tiempo.

De modo que con intervalos de anlisis ms amplios el sistema tiene ms
tiempo para analizar las imgenes, pero adems la diferencia entre las imgenes es
ms grande, lo que ayuda con notoriedad al anlisis de la imagen.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

48
Para conseguir un sistema de vigilancia lo ms parecido al sistema ocular
humano en cuanto a localizacin, clasificacin, identificacin y prediccin de los
movimientos de los objetos del entorno, el sistema tendra que ser capaz no
solamente de localizar e identificar el movimiento de los objetos dentro de su entorno
de vigilancia; si no que adems, el sistema debera ser capaz de analizar el histrico de
movimientos del objeto y junto a una correlacin con su naturaleza, hacer un
prediccin de su comportamiento futuro. Adems, tanto el anlisis como el clculo de
la prediccin deberan ser en tiempo real, utilizando tan solo las cuatro dcimas de
segundo que hay entre dos frames seguidos en un stream de 25 frames por segundo.

Algunos estudios intentan automatizar ciertos aspectos de la visin humana,
como por ejemplo el seguimiento de los objetos [CORR09] o la identificacin de
objetos mediante la descomposicin en objetos ms sencillos [BAND08], [PINT08].

Durante este proyecto se ha implementado un prototipo de sistema de
vigilancia artificial que contiene estas funcionalidades; sin embargo, la informacin
recibida para el anlisis proviene de archivos de video que se encuentran dentro del
equipo de pruebas. En posteriores fases de desarrollo se podran codificar procesos de
dilogo con los dispositivos de entrada de archivos visuales, no obstante, como el
objetivo principal de este proyecto era desarrollar una inteligencia artificial que fuera
capaz de desarrollar tareas de procesamiento de imgenes de alto nivel, estos proceso
de dilogo se han obviado.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

49
Soporte de las imgenes

Gracias a la ampliacin de las bibliotecas de los lenguajes de programacin
orientada a objetos con clases como la clase Bitmap para C#, es posible para los
programadores interpretar y procesar imgenes desde aplicaciones de informtica.
Gracias a este avance, es posible disear aplicaciones que simulen el campo de visin
humano para despus ser integradas en aparatos robticos con los que desarrollar
actividades con el apoyo humano indispensable o aplicaciones de video vigilancia
automatizada.

Para trabajar con imgenes en C#, los diseadores del lenguaje han
desarrollado la clase Bitmap, una clase que est compuesta por mtodos y atributos
que resultan muy tiles al trabajar con imgenes. Los Bitmaps son el componente
principal de los videos de seguridad y en este caso son la materia prima que se refina
para obtener resultados tangibles.

Gracias al rango tan variado de mtodos con los que trabajar, es posible
desarrollar procesos que manipulen diversos aspectos de la informacin que se
encuentra dentro de una imagen; uno de estos atributos que pueden ser manipulados
es el formato de los Bitmaps.

El formato de los pxeles de los Bitmaps puede variar enormemente, puede ir
desde 1 bpp (los bpp son los bits por pxel; el bpp es una metida que relaciona la
cantidad de bits de memoria que se emplean en el sistema para representar un pxel,
que es como se llama a los puntos de las imgenes), que permite tener imgenes en
blanco o negro; hasta la el formato del sistema HDMI, que utiliza en su ltima versin
un formato de 48 bpp (con un orden de billones de colores). Sin embargo, en este
proyecto el formato de pxel ms extenso con el que se trata es el de 32 bpp, una
ampliacin del 24 bpp o RGB estndar, un formato que permite almacenar y procesar
imgenes en color.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

50
El formato de los pxeles de una imagen determina la cantidad de memoria que
ocupa una imagen; esta cantidad de memoria que se ocupa se puede utilizar para
representar ms colores dentro de la propia imagen o difuminar los colores ya
existentes en sucesivos tonos del mismo color.


En cuantos ms bytes de memoria se hayan asignado a cada pxel, ms se
tardar en acceder a la memoria ocupada por un pxel y por lo tanto ms se tardar en
analizar la informacin de la imagen completa. El formato de los pxeles representa por
tanto la definicin de cada punto de la imagen, la precisin con que se puede alcanzar
cada color real mediante los medios de que se disponen en el equipo, y hacer un buen
uso del formato de un Bitmap implica poder trabajar con la suficiente informacin
dentro de un programa sin comprometer la velocidad de procesamiento del programa.

A continuacin se presenta un pequeo repaso de las posibilidades de los
formatos que los programadores tienen a su disposicin; los formatos que han sido
incluidos dentro de la aplicacin tienen una explicacin adicional con el fin de
introducir al lector a su uso dentro de la consola.


Figura 4.3: Uso de la memoria segn el formato
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

51
- 1 bpp: Este formato genera imgenes en blanco y negro, con un bit para
cada pxel; 0 para el negro y 1 para el blanco. Estas imgenes sencillas
pueden servir para hacer un negativo de las imgenes reales con la
informacin ms vital de estas.

En este proyecto se ha utilizado este formato no para generar
imgenes como tal sino para generar un modelo de las mismas, de
modo que se pueda trabajar con las siluetas modeladas de los objetos
encontrados en las imgenes con formato superior, esta tcnica ya ha
sido utilizada en otros proyectos con finalidades similares [LEE08],
[LAND08].

De este modo se puede representar la informacin vital para los
niveles de anlisis superiores con imgenes que ocupen un espacio
mnimo y que por lo tanto no comprometen ni el espacio en memoria ni
la velocidad de procesamiento de la consola.

- 8 bpp: Este formato permite generar un rango de 256 colores distintos,
lo que permite a los ordenadores representar imgenes a color con una
paleta de colores sencilla con pocos matices. Adems, gracias a un
proceso sencillo, este formato puede ser configurado para que la paleta
de colores est compuesta nicamente por grises, creando as una
escala de grises con una gran profundidad (256 matices de gris).

Este proyecto se basa en gran medida por la utilizacin de este
formato, sobre todo mediante la variante de la escala de grises. Esta
opcin permite transformar imgenes a color que consumen ms
memoria (32 bpp o 24 bpp) en imgenes que consumen una cantidad de
memoria notoriamente menor (8 bpp, lo que es al menos una tercera
parte de la ocupacin de memoria original).


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

52
Sin embargo, este formato permite mantener una cantidad
importante de informacin de la imagen inicial en lo que se refiera a las
siluetas de los objetos de la imagen, lo que permite identificar las poses
y los movimientos caractersticos de los elementos de las imgenes.
Adems, pese a la prdida de informacin relativa al color de los
objetos, las 256 tonalidades de gris permiten analizar la imagen y
caracterizar los objetos tambin por su color, no slo por su forma.

- 16 bpp: Este formato est compuesto por dos bytes, de modo que las
opciones de configuracin son amplias; a priori se pueden utilizar como
la opcin de 8 bpp con una precisin superior (el doble de bits por pxel
permiten elevar al cuadrado la precisin de la imagen), pero adems se
dispone de una opcin adicional. Se pueden utilizar los dos bytes por
separado, uno para generar una paleta de colores exactamente igual a
la del formato de 8 bpp (en color o en escala de grises), y los ocho bits
restantes se pueden utilizar para dar matices a los colores, para
difuminar los colores con 256 tonalidades distintas.

Aunque este formato no se utiliza en este proyecto porque los
resultados seran muy parecidos a los obtenidos con el formato de
8bpp, sera interesante estudiar el desarrollo de una ampliacin de la
consola con este formato para la implementacin de cmaras con
tecnologa HDMI; de este modo se podran desarrollar procesos que
requiriesen mayor precisin en la imagen, como por ejemplo un
proceso que realizara un zoom sobre zonas concretas de la pantalla
(como por ejemplo para identificar los nmeros de una matrcula).





PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

53
- 24 bpp: Es el formato que se utiliza para el sistema RGB; con 24 bits se
obtienen 3 bytes, cada uno de estos bytes se asigna a uno de los colores
del RGB, azul, verde o rojo y a partir de la mezcla de los tres se obtiene
el color real de la imagen.

Este formato es el formato estndar que se utiliza en las
conexiones de medios audiovisuales, por lo tanto es de suponer que los
servicios de vigilancia ya implementados trabajen con este formato,
salvo los equipos ms especializados.

- 32 bpp: Cuatro bytes por pxel es un formato que se utiliza para generar
imgenes que adems de soportar el sistema RGB incluyen un byte
para representar el brillo del pxel, lo que redunda en una mayor
profundidad en los matices de los colores generados por el sistema
RGB.

- 36+ bpp: Estos formatos generan imgenes con un rango de colores
inmenso, para el formato de 36 bpp ms de 68 000 millones de colores
y para el formato de 48 bpp ms de 281 billones de colores.

Estos formatos se utilizan en la tecnologa HDMI, pero de
momento no son funcionales en el anlisis de la tecnologa artificial por
su carga computacional. No obstante, es de suponer que los nuevos
sistemas de vigilancia, trabajando sobre procesadores ms potentes,
incluyan en su software procesos que trabajen con este formato de
imagen digital.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

54
Este proyecto est diseado para recibir y devolver imgenes con formatos 24
bpp y 32 bpp, ya que son los ms comnmente utilizados en la actualidad en lo que se
refiere a captura de imgenes. Estos son formatos que proporcionan toda la
informacin del anlisis. Sin embargo, no se puede realizar este anlisis con imgenes
de este formato ya que se podra comprometer la velocidad de procesado de la
informacin.

Por este motivo, dentro de la consola slo se trabaja con imgenes en formato
8bpp o inferior. Al captar una imagen con formato superior a 8bpp, inmediatamente se
lanza un mtodo que transforma las imgenes con este formato en su rplica en
formato 8bpp, ganando una reduccin del consumo de memoria de un 300% o 400%,
lo cual permite disponer de ms tiempo para implementar ms niveles de anlisis para
la secuencia de imgenes. Esta transformacin de las imgenes permite trabajar con
un formato definido y establece un estndar dentro del programa para trabajar con los
filtros que se irn aplicando sucesivamente a las imgenes.

Tanto individualmente como por separado, los Bitmaps son analizados pxel por
pxel, esto es posible nicamente si se descompone la imagen por completo. La
descomposicin de la imagen implica que se debe trabajar con el nivel de la memoria
para saber la informacin que contienen los pxeles y a la vez poder trabajar con ella.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

55
Acceso a memoria

La memoria de un ordenador es una serie finita de casillas que est ordenada
como un vector lineal donde guardar la informacin. Toda la informacin con la que se
trabaja en un ordenado reside dentro de su memoria, almacenada en transistores
biestables (pueden almacenar el estado 0 1) conocidos como bits; los bits se
organizan en series de ocho bits, estas zonas son conocidas como bytes o palabras.
Estas palabras son series de unos y ceros ordenados de tal manera que mediante
procesos informticos se puede recomponer una traduccin de la informacin
analgica en formato digital.



Figura 4.4: Almacenamiento de una imagen
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

56
El sistema operativo de los ordenadores tiene mecanismos que protegen la
memoria de la manipulacin incorrecta durante la ejecucin de los programas; sin
embargo, los programas tienen implementados ciertos mtodos que les permiten
acceder a la memoria del sistema para satisfacer las necesidades del programador.
Gracias a estos mtodos es posible manipular la memoria de las imgenes de forma
segura, sin borrar ni sobrescribir informacin vital que estuviera alojada cerca de la
zona de memoria donde se encuentren las imgenes.

Gracias al mtodo LockBits se puede acceder a las zonas de memoria donde se
encuentran almacenados los bytes que representan la informacin de los pxeles de las
imgenes. De no utilizar este mtodo, los programadores no podran acceder a la
memoria de las imgenes directamente; sin embargo, gracias a este mtodo se puede
acceder a la informacin bit a bit, independientemente de la extensin del archivo de
imagen. Esto permite a los desarrolladores trabajar con la informacin desde la
aplicacin, no como un conjunto indisoluble, sino como una serie de parcelas de
informacin que pueden ser procesadas por separado.

Mientras que una fotografa o imagen sobre un soporte fsico como el papel o
sobre una pantalla puede ser fcilmente reconocible por cualquier persona, cuando se
guarda una de estas imgenes en formato digital esta facilidad a la hora de identificar
elementos se pierde.

En memoria, las imgenes son fragmentadas en parcelas de informacin ms
pequeas denominadas pxeles y almacenadas en la memoria del ordenador como si
se tratara de una serie de pequeas diapositivas. Por este motivo el desarrollador del
programa debe disear e implementar unos algoritmos con los cuales se pueda
acceder a la zona de memoria donde se encuentra la imagen, reorganizar la
informacin de la memoria y recomponer la imagen.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

57
Tratamiento de las imgenes

Al acceder directamente a la informacin se puede trabajar con ella al nivel ms
bajo, utilizando punteros que sealen directamente las zonas de memoria de los
pxeles, pudiendo trabajar incluso con el valor numrico de los pxeles, esto permite al
programador trabajar con los pxeles como si fueran una variable numrica, no como
una variable que est guardando un color. Slo de esta forma ha sido posible aplicar
los filtros de imagen necesarios para analizar las imgenes.

El acceso a la memoria ocupada por una imagen se hace gracias al mtodo
LockBits, mtodo que proporciona un vector con todos los bytes de la imagen, lo que
permite acceder a la informacin de la imagen desde un entorno de programacin.
Como hemos visto en el punto anterior, la presentacin de la informacin con este
vector podra dificultar al programador el diseo de los filtros que quisiera aplicar a la
imagen ya que las imgenes no estn guardadas en memoria como lo estn en el
formato analgico, esto es una gran diferencia con respecto a la vida real ya que en el
formato digital la aplicacin de estos filtros es mucho menos intuitiva.

Sin embargo, gracias a los atributos de altura y anchura del Bitmap, se puede
analizar la imagen como un mapa de bits, una cuadrcula que atraviese uniformemente
la imagen transversal y longitudinalmente; la imagen se puede representar por una
funcin del siguiente estilo:

f(x,y) donde x e y son las coordenadas del pxel
el resultado f(x,y) de la funcin es el valor del color del pxel

Gracias al acceso pxel a pxel de la imagen, es posible realizar una serie de
mediciones que permiten evaluar ciertas caractersticas de la imagen que se est
procesando. El histograma de una imagen es la herramienta ms completa para
evaluar la calidad de una imagen y por tanto valorar cuales son las transformaciones
ms oportunas que se deben aplicar a la imagen para que sta sea ms fcil de analizar
[WEB003].
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

58


El histograma de
una imagen contiene la
distribucin de los niveles
de gris de la imagen, gracias
al cual se pueden calcular la
intensidad media o la
dispersin de los valores
de gris de la imagen. El
objetivo es conseguir una imagen con un valor de dispersin lo ms grande posible, lo
que se traduce en unos valores de gris distribuidos uniformemente.

Los histogramas de
estas dos fotografas son muy
diferentes, en la primera, el
histograma es bastante
plano, con los niveles de gris
repartidos a lo largo de la
escala. Sin embargo, en la
segunda imagen el histograma
es unimodal, con la mayora de los niveles de gris acumulados alrededor de un nico
valor. Mientras que la primera imagen es candidata a seguir con el proceso de anlisis,
la segunda debe ser refinada para optimizar su anlisis.

El objetivo del clculo del histograma de una imagen no es otro que obtener un
elemento de referencia que permita a la inteligencia artificial determinar si la materia
con la que va a trabajar est en ptimas condiciones o si por el contrario debe ser
procesada, tanto para su uso por parte del sistema mismo o por parte del tcnico en
seguridad que supervisar la consola.

Figura 4.5: Histograma de un retrato
Figura 4.6: Histograma de un plano general
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

59
En el caso de que la imagen est en ptimas condiciones para ser analizada, se
aplicarn entonces una serie de filtros con los que se obtiene una informacin
concreta; por el contrario, si el anlisis del histograma as lo aconseja, se aplicarn otra
serie de filtros para pulir la imagen y as obtener informacin de mejor calidad.

Al procesar una imagen puede que sea necesario o til refinar antes la imagen
para obviar detalles que no sean importantes o agrupar la informacin para que sea
ms fcil al ordenador resaltar los objetos ms importantes. Para refinar la
informacin de imgenes se aplican los filtros de imgenes, estos filtros o efectos son
operaciones matemticas que se aplican a los valores numricos de los bytes de los
pxeles.

Un filtro es una funcin matemtica que se aplica a una imagen gracias a la
descomposicin de la imagen en la funcin f(x,y). La operacin del filtro se puede
representar por la siguiente operacin:


Ecuacin 4.1: Aplicacin de un filtro


Los filtros se pueden dividir en dos grandes grupos de filtros, los filtros de
punto o los filtros espaciales [WEB003], esta distincin entre los grupos hace
referencia al modo de calcular el valor del color de los pxeles de la imagen.

Los filtros de punto requieren conocer nicamente el valor de la intensidad de
un solo pxel a cada paso, la transformacin se aplica pxel por pxel; una vez aplicada
esta transformacin al pxel, ste ya no es necesario en el algoritmo.

El otro gran grupo de filtros est formado por los filtros espaciales, estos filtros
tienen como objetivo modificar la composicin de la imagen en funcin de las distintas
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

60
agrupaciones de los pxeles; es decir, el color de un pxel se obtiene en funcin del
valor de sus vecinos.

A continuacin se presentan aquellos filtros que han sido desarrollados y se
utilizan en la consola del proyecto. Aunque estos filtros se aplican siguiendo una
secuencia concreta dentro de la consola, en este captulo slo se presentan los efectos
de los filtros sobre las imgenes y los algoritmos desarrollados e implementados
dentro del prototipo.


La escala de grises

La escala de grises es un concepto que se emplea para definir a las imgenes en
blanco y negro; puede que haya ms o menos tonalidades, pero los colores siempre
son derivados del gris. Gracias a este filtro, es posible generar imgenes que
mantengan la informacin bsica de las imgenes originales; se mantiene la silueta de
las personas y los objetos que hay dentro de la imagen, pero sin el color de la imagen
original.

Una de las mayores ventajas que ofrece el filtro de escala de grises es que
permite reducir considerablemente la cantidad de memoria que ocupa una imagen.
Mientras que una imagen con color ocupa al menos 24 bpp, que con una resolucin
normal de 320 x 240 pxeles, implica un peso de 230400 bytes por imagen; sin
embargo, una imagen de 8 bpp del mismo tamao ocupa 76800 bytes, tres veces
menos. Este ahorro de memoria es todava mayor si el formato es de 32 bpp, lo cual
implicara una reduccin del 400% de la ocupacin de la memoria.

El formato de 24 bpp genera una secuencia nica de 16 777 216 valores
posibles para los colores de la imagen; no obstante, el sistema RGB est basado en la
generacin de una imagen a partir de la superposicin de los colores azul, verde y rojo;
Estas imgenes pueden descomponerse en tres funciones que acotan los valores de los
colores azul, verde y rojo entre 0 y 256.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

61



Ecuacin 4.2: Descomposicin del sistema RGB

Para aplicar el filtro de escala de grises a la imagen slo se deben recorrer los
bytes del vector de forma lineal, es decir, no hace falta saber cules son los pxeles que
estn cerca de pxel que se est analizando. La nica consideracin que hay que tener
es el formato de entrada de los datos; las imgenes de entrada pueden ser de formato
24 bpp o 32 bpp, esta diferencia de un byte es relevante as que se debe tener en
cuenta a la hora de calcular el valor en gris del color del pxel ya que de tener un
formato de 32 bpp, habra que saltar la casilla de memoria que contuviera la
informacin del nivel de alfa del pxel.











A continuacin se presenta la frmula para transformar una imagen en color a
una de escala de grises. Como el acceso a los bytes de la memoria es secuencial,
aplicarla no es problemtico ya que slo hay que acceder a la memoria de la imagen
original tres veces por cada pxel, el siguiente acceso a la memoria ser el acceso al
byte azul del siguiente pxel y este paso define el comienzo de la siguiente iteracin. En
Figura 4.7: Filtro de la escala de grises
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

62
caso de que el formato sea de 32 bpp, entonces hay que hacer un salto adicional para
obviar la informacin que hay en ese byte.


Ecuacin 4.3: Aplicacin del filtro de escala de grises

El algoritmo implementado en el prototipo de la aplicacin transforma las
imgenes con formato Format24bppRgb o Format32bppArgb; para
ello, al recibir la imagen de mapa de bits, el proceso lee la cabecera del archivo y crea
un archivo bmp con formato 8bbIndexed y dos punteros, un puntero con el cual
selecciona la zona de memoria donde se encuentra almacenado el vector que contiene
la informacin de los pxeles y otro que apunta al a zona de memoria vaca de la nueva
imagen generada.

Dentro del bucle anlisis, el sistema lee los tres primeros bytes con el puntero
(en caso de que la imagen tuviera un formato el sistema hara saltar un byte al
puntero) y acumula los valores ledos en una nica variable, al finalizar la iteracin, el
proceso divide el valor acumulado por tres y lo inserta en la zona de memoria a la que
apunta el segundo puntero, inmediatamente despus, ste avanza una posicin dentro
del vector de memoria de la nueva imagen. De esta forma se genera una nueva imagen
con escala de grises sin desechar la imagen original.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

63

Figura 4.8: Diagrama de flujo del algoritmo de escala de grises

Gracias a la aplicacin de este filtro se consigue un ahorro de memoria terico
del 300% o del 400% en el mejor de los casos ya que se transforma una informacin
que inicialmente ocupa en espacio de 24 bpp o 32 bpp a un tamao de 8 bpp, lo cual
es un tamao muy inferior. Esta reduccin del tamao no slo implica que se pueda
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

64
trabajar con un mayor nmero de cmaras de forma simultnea, sino que adems
significa que el procesador tardar menos tiempo en terminar de analizar la imagen.



Figura 4.9: Aplicacin del filtro de escala de grises




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

65
Funcin de contraste

El contraste
de una imagen es la
diferencia entre
niveles de gris
claros y niveles
oscuros; la tcnica
de realce del
contraste se basa en
dividir el rango de
niveles en tres
grupos de valores,
los grises claros, los
grises intermedios
y los grises oscuros
y aplicar a cada uno de estos grupos una transformacin que proviene de una funcin
lineal diferente para cada grupo.



Ecuacin 4.4: Aplicacin del filtro de contraste

Gracias a la aplicacin de esta tcnica, es posible expandir la dispersin de los
niveles de gris a lo largo del histograma consiguiendo una imagen con unos colores
ms definidos.

Figura 4.10: Anlisis para el filtro de contraste

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

66
Esta transformacin genera imgenes con ms calidad, adems, las
transformaciones necesarias son ejecutadas por la inteligencia artificial si los
parmetros de lectura del histograma as lo determinan.


Posterizacin
La posterizacin consiste en separar todos los niveles de grises de la imagen en
una serie limitada de zonas planas de valor constante. La asignacin del valor de un
pxel a una u otra zona
depende de su intensidad
en la imagen original. El
objetivo de este filtro es
limitar el nmero de tonos
que puede alcanzar en la
nueva imagen, haciendo
ms evidentes las
superficies de la imagen,
limitando de tal manera el
nivel de detalle que
pueden alcanzar las
imgenes.

Gracias a la posterizacin las facciones de los individuos y las lneas que definen
los contornos de los objetos son ms ntidas, de modo que identificar la naturaleza de
los objetos que se encuentran en la imagen se vuelve ms sencillo.

Esta tcnica puede especialmente til en entornos donde el nivel de luz no
influye demasiado, como en el interior de los edificios; gracias a la delimitacin de
estas zonas, se pueden determinar los rasgos de la cara de una persona y por lo tanto
llegar incluso a identificarla, como veremos ms adelante. Sin embargo, en el exterior,
Figura 4.11: Anlisis de la posterizacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

67
la eficacia de esta tcnica puede ser mermada por la rpida variacin del brillo de la luz
en las superficies y por la distorsin que esta variacin genera.



Ecuacin 4.5: Aplicacin del filtro de posterizacin

El algoritmo
implementado en el prototipo
del sistema genera una
imagen nueva y dos punteros
que apuntan inicialmente al
principio de la zona de
memoria de cada una de las
imgenes.

Un puntero recorre
todo el vector de informacin
de la imagen para acceder al
valor de gris de cada pxel para
luego calcular el estrato de
gris correspondiente. Una vez
calculado este valor, el
sistema lo asigna a la zona de
memoria a la cual apunta el
segundo puntero generado
por el proceso, que recorre la
imagen nueva en paralelo al
puntero que apunta a la
imagen original.
Figura 4.12: Flujo de datos del proceso de posterizacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

68
Funcin Umbral

Una de las transformaciones ms sencillas que podemos aplicar a una imagen
es la funcin umbral. El mtodo genera una imagen en dos tonos (blanco y negro) a
partir de otra con mltiples niveles de gris, es decir, la salida es binaria. Puede
afirmarse que la umbralizacin es en realidad un caso extremo de ampliacin de
contraste ( x
1
= x
2
; y
0
= y
1
= 0 ; y
2
= y
3
= L-1 ).

La expresin matemtica de esta transformacin es:

Ecuacin 4.6: Frmula de la funcin umbral

El umbralizado transforma el histograma de la imagen original en un
histograma de dos puntos, con valores slo para el negro y el blanco. El valor de
umbral B es el que sirve a la consola para calcular cuales son pxeles que cumplen las
condiciones de transformacin.

La eleccin de B es uno de los mayores problemas de la funcin umbral, puesto
que no se pueden dar unas reglas a seguir para calcularlo, cada imagen tendr uno o
varios valores vlidos para B segn sea la segmentacin que se desee conseguir.

La funcin umbral es una de las ms importantes y sencillas tcnicas de
segmentacin, puesto que en muchas aplicaciones de procesado de imgenes se desea
dividir una imagen de grises en subregiones; sin embargo, en este proyecto el umbral
no se ha definido de forma tradicional, sino que se ha implementado para ser utilizado
en complemento de la funcin de posterizacin.


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

69












La funcin de posterizacin delimita una serie de zonas de colores planos, el
algoritmo diseado identifica los cambios de color entre estas zonas y dibuja un punto
blanco en cada pixel donde haya identificado un cambio de color. De este modo se
genera una imagen con la delimitacin de las zonas del mismo color.

Figura 4.13: Anlisis del filtro de la funcin umbral
Figura 4.14: Binarizacin de la imagen original
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

70
Para implementar este algoritmo se desarroll un proceso que recorriera la
imagen original generando dos punteros situados sobre zonas de memoria
consecutivas y un tercer puntero que recorriera la imagen nueva en paralelo al
puntero menos avanzado de los otros dos.

Si al comparar los valores de las zonas de memoria los valores no son iguales, el
puntero que apunta sobre la zona de memoria de la nueva imagen escribe el valor
correspondiente al blanco absoluto sobre el pxel donde se encuentra. Esta
comparacin no se realiza si el puntero ms avanzado apunta a la primera posicin de
una lnea de la imagen.





















Figura 4.15: Flujo de datos del proceso de binarizacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

71
Algunos algoritmos espaciales [WEB003] tienen una fuerte carga
computacional, en concreto aquellos algoritmos que sirven para definir con mayor
precisin el contorno de los objetos de las imgenes. Debido a que esta precisin no es
necesaria para el desarrollo de este proyecto y que la carga computacional que implica
la implementacin de estos algoritmos es muy pesada, por lo que slo se ha incluido
un nico filtro espacial.

Sin embargo, hay que tener en cuenta que la implementacin de estos
algoritmos pueden ser el siguiente escaln para incorporar cmaras con tecnologa
HDMI en los procesos de vigilancia en tiempo real ya que permiten compensar y
definir mejor la informacin captada por las cmaras de HDMI, estas cmaras pueden
alcanzar un nivel de detalle que sobrepasa al alcance de este proyecto.


Pixelado

El nico filtro espacial que ha sido desarrollado en este proyecto es el filtro de
pixelado. Los filtros espaciales se basan en los valores de los pxeles que tiene a su
alrededor el pxel que se est procesando para calcular el valor resultante. Estos filtros
tienen una carga computacional muy importante y los resultados ofrecen una
precisin que no es requerida para el desarrollo de este proyecto, por este motivo, el
filtro del pixelado ha sido el nico filtro para el cual se ha desarrollado el cdigo que lo
implemente en el prototipo del sistema.

El filtro del pixelado permite obtener una imagen difusa con respecto a la
imagen original, no obstante, la imagen resultante mantiene el contorno bsico de los
objetos de la imagen original. Este filtro permite analizar los elementos ms comunes
de la imagen original, y aplicado a las imgenes de una secuencia, permite calcular los
movimientos ms bsicos de los objetos.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

72

Figura 4.16: Aplicacin del filtro de pixelado


Adems, este filtro permite reducir la cantidad de informacin que se debe
almacenar en memoria ya que el filtro del pixelado calcula el valor medio de gris de
una zona de la imagen. Si el rea de pixelado es de 5x5 pxeles, entonces slo hace
falta almacenar un valor por cada 25 pxeles de la imagen que se mostrar.



Ecuacin 4.7: Aplicacin del filtro de pixelado




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

73
El algoritmo desarrollado para implementar el filtro de pixelado dentro de las
funcionalidades del prototipo accede a la informacin de la imagen suministrada y
genera otra con un tamao ms reducido. Para calcular la media de los valores de las
reas se emplea un vector con un tamao igual al nmero de pxeles de la imagen que
se va a generar y dos punteros, uno apuntando hacia la primera posicin de memoria
de la imagen suministrada y otro apuntando hacia la segunda imagen, la imagen que
ser el resultado del filtro.


Figura 4.17: Esquema conceptual del filtro de pixelado

La codificacin de este filtro requiri desarrollar dos fases dentro del proceso,
en la primera se acumulan los valores de los pxeles de la imagen y en la segunda fase
se calculan y se cargan estos valores dentro de la imagen resultante.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

74

Figura 4.18.1: Flujo de datos en la fase de acumulacin del proceso de pixelado
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

75

Figura 4.18.2: Flujo de datos de la fase de carga del pixelado

En la primera fase del proceso dos bucles consecutivos que recorren los
vectores donde se encuentra almacenada la informacin, gracias a estos bucles los
punteros apuntan sobre las zonas de memoria correctas, adems se controla que los
punteros no salgan de la zona de memoria con la que se trabaja.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

76
Mientras que el primer bucle sirve para acumular el valor de los pxeles por
columnas, el segundo de estos bucles aade a los valores ya acumulados los valores de
las filas correspondientes, terminando as la acumulacin de los valores de los pxeles
de la misma rea.

Durante la segunda fase del filtro se recorre el vector generado en la primera
fase; mediante otros dos bucles, esta vez anidados, se pueden cargar los valores
almacenados en el vector (previamente se calcula el valor medio de cada pxel
dividiendo el valor almacenado por el rea que se pretende ocupar con cada megapxel
del pixelado) dentro del pxel correspondiente (cada uno de los bucles conserva la
cuenta de las coordenadas del pxel en la imagen final).

Gracias a los filtros de imagen se puede refinar cualquier frame del video para
que el resultado sea una imagen que realce la informacin que se quiere analizar. Una
vez aplicados estos filtros, lo que podra denominarse como la primera capa de la
inteligencia artificial, se procede a aplicar la segunda capa de inteligencia, un proceso
segn el cual se procesa la informacin con una finalidad ms concreta, como detectar
el movimiento de los objetos, evaluar dicho movimiento, o identificar los objetos de la
imagen.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

77
Anlisis de las imgenes

Una vez se ha completado el refinamiento de la imagen recibida por la consola,
se procede a su estudio desde el punto de vista de una secuencia de imgenes; es
decir, se relaciona la imagen que se est estudiando con el resto de las imgenes del
stream que recibe la consola.

El anlisis de la imagen actual se divide en dos, primero se analiza la imagen
actual con respecto a una imagen de referencia establecida por la configuracin del
sistema, y ms adelante con respecto a la imagen inmediatamente anterior de la
imagen actual; estas dos imgenes servirn como referencia para establecer cambios
en el instante actual con respecto a los instantes pasados y estudiar los movimientos
de los objetos que originaron estos cambios.


Filtrado con la imagen de referencia

El registro de una imagen que sirva de referencia es vital para la video vigilancia
automatizada; estas imgenes establecen una referencia para el anlisis del resto de
las imgenes del video. Estas imgenes corresponden con el fondo de imagen que se
pretende vigilar; es decir, representan el entorno que se desea vigilar sin objetos
adicionales como personas o vehculos.

La finalidad de capturar una imagen de referencia es establecer un filtro para
las siguientes imgenes; gracias a este filtro se pueden obtener imgenes que
contengan nicamente aquellos objetos que se encuentren en movimiento en la
escena sujeta a la vigilancia. Esta deteccin es posible mediante la comparacin de la
imagen que se desea analizar con respecto a la imagen que se ha tomado como
referencia. Se compara las imgenes pxel por pxel descartando aquellos que no han
cambiado, gracias a este proceso, se consigue una imagen donde nicamente se
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

78
mantienen los pxeles correspondientes con la representacin de los objetos que
hayan incurrido en la escena.


Esta tcnica presenta diversos problemas de implantacin; el ms importante
de ellos es la variacin del brillo de las superficies debido a la variacin de la luz.

A lo largo del da, la luz solar vara en potencia y en ngulo de incidencia ya que
la Tierra est en constante movimiento alrededor del Sol. Este fenmeno implica que
la luz no es constante durante todo el da, lo cual hace variar los colores que capta la
cmara. Como la comparacin de las imgenes se basa en comparar directamente los
Figura 4.19: Aplicacin del filtrado pxel por pxel
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

79
pxeles de las imgenes, estas variaciones en el brillo de las superficies pueden implicar
que el color captado para un mismo pxel sea distinto por la maana y por la tarde,
mientras que la superficie que lo refleja sigue siendo la misma.

Este problema puede solucionarse de dos formas distintas; mediante la
implementacin de un margen de filtrado en la consola o la actualizacin constante de
la imagen de referencia.

El margen de filtrado permite obviar las ligeras variaciones del color. Si durante
el anlisis de todos los pxeles de la imagen, se establece un rango de tonos alrededor
del nivel de gris del pxel de la imagen de referencia, y el color del pxel de la imagen
actual de la cmara se encuentra dentro del rango de tonos cercanos al color de su par
en la imagen de referencia, entonces este pxel se establecer como no variante.

El mtodo de actualizar la imagen de referencia se basa en que el fenmeno de
variacin de la luz durante el da es muy lento; las variaciones que se puedan dar en un
lapso de tiempo pequeo pasarn desapercibidas en la consola. Si la consola actualiza
constantemente la imagen de referencia que tiene del entorno que vigila, entonces las
variaciones en la luz a lo largo del da no afectarn en gran medida y no contaminarn
el anlisis de las imgenes.

El refresco constante de la imagen de referencia conlleva un peligro inherente,
puesto que si la cmara no tiene disponible una imagen parecida a la imagen inicial
(debido a que un coche haya estacionado dentro del entorno o que alguien haya
depuesto un objeto en un entorno interior) la imagen que se capturar no
corresponder completamente con la imagen de referencia que se tom inicialmente.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

80
Filtrado con la imagen inmediatamente anterior

El estudio de la imagen actual con respecto a la imagen inmediatamente
anterior permite a la consola actualizar y calcular con mayor precisin los movimientos
de estos objetos. El estudio de la imagen actual con respecto de la imagen
inmediatamente anterior aade matices a la descomposicin del movimiento de los
objetos.

Inicialmente, la consola puede comparar la imagen actual con la imagen de
referencia para estudiar de forma bsica el movimiento de los objetos, pero el anlisis
de la imagen anterior permite captar el movimiento de las partes en movimiento de
los objetos.

Mientras que la comparacin de la imagen con la imagen de referencia siempre
define el elemento en movimiento como un nico objeto indivisible, la comparacin de
la misma imagen con respecto del fotograma inmediatamente anterior proporcionar
una imagen donde slo se mantendrn aquellas partes del elemento que se
encuentren en movimiento. De este modo la consola tendr la informacin suficiente
para identificar los matices del movimiento de los elementos en desplazamiento.


Figura 4.20: Comparacin de dos fotogramas consecutivos
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

81
La operacin de comparar dos fotogramas consecutivos genera una imagen que
a priori parece incompleta puesto que no todos los pxeles que variaron con respecto
de la imagen de referencia se mantienen en esta nueva imagen. Esto se debe a que
normalmente la superficie de los objetos suele ser de colores homogneos y a que el
tiempo entre cada fotograma es mnimo; por lo tanto, aunque esta superficie se
mueva por el espacio las variaciones del color en un lapso de tiempo tan pequeo slo
son registradas en los bordes de la superficie en movimiento.



Figura 4.21: Secuencia de anlisis de los fotogramas

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

82

El ser humano no percibe los cambios entre dos imgenes consecutivas en una
secuencia de 24 fotogramas por segundo; sin embargo, una mquina s puede analizar
las imgenes y calcular la diferencia entre los valores de los pxeles que hayan
cambiado. Los resultados de este proceso sern el punto de partida para el anlisis del
movimiento de los elementos de la imagen.


Mejora de los filtros mediante el pixelado

Gracias a la comparacin pxel por pxel de las imgenes con la imagen de
referencia y la imagen inmediatamente anterior se pueden obtener imgenes que
contengan aquellos objetos que se encuentran en movimiento dentro de la imagen.
No obstante, antes de trabajar directamente con la informacin se debe procesar sta
para que su anlisis sea ms fcil para la consola.


Figura 4.22: Secuencia de anlisis de un fotograma con pixelado
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

83
Al aplicar el filtro del pixelado se agrupan los pxeles por reas, de este modo
los resultados son ms evidentes y ms fciles de interpretar para el ojo humano.
Adems, las imgenes generadas de este modo pueden ser vectorizadas, lo que
implica una reduccin del uso de la memoria, haciendo que el uso de estas imgenes
por la memoria sea ms rpido.

Cada pxel de una
imagen normal ocupa un bit,
sin embargo, gracias al
pixelado, los pxeles de la
misma rea de pixelado
comparten el mismo valor de
gris. Por lo tanto, si se aplica
un algoritmo que permita
registrar el valor de un rea
de la imagen dentro de un
vector de bits, se puede
almacenar una imagen
gracias a un vector de bits
que tenga unas dimensiones
ms reducidas que las
dimensiones de una variable
Bitmap estndar. En el caso
de almacenar una imagen
pixelada en reas de 5 pxeles
de longitud, se obtiene una
reduccin del 2500%, ya que
slo se almacena un pxel de
cada 25.



Figura 4.23: Secuencia de almacenamiento de una
imagen pixelada
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

84

Gracias a este filtro, se almacena la informacin en un espacio de memoria ms
reducido, lo que permite tener acceso ms rpido a la informacin, lo que redunda en
la posibilidad de aplicar ms filtros a las imgenes que hayan sido pixeladas y mejorar
as los resultados de procesamiento.

Adems, el uso del pixelado permite obtener informacin preliminar sobre el
estado de los objetos de la imagen, gracias al pixelado se puede enmarcar aquellos
objetos de la imagen que se encuentren en movimiento, haciendo ms evidente su
posicin en la imagen.


Figura 4.24: Secuencia de localizacin de los elementos de las imgenes

Una vez el objeto en movimiento ha sido localizado dentro de la imagen, la
consola genera una ocurrencia dentro de la base de datos con la informacin referente
al objeto. Esta informacin puede incluir datos bsicos como la posicin del objeto o el
nivel de color medio de la superficie; de este modo la consola puede identificar el
objeto durante una secuencia de imgenes, no slo en una nica imagen.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

85
Aunque este proceso permite lanzar mensajes a los operarios acerca de la
localizacin de los elementos en movimiento, los resultados que se pretenden alcanzar
con la consola son ms ambiciosos ya que los objetivos de este proyecto incluyen el
desarrollo de la inteligencia artificial necesaria para analizar las imgenes de una
secuencia y estudiar el movimiento de los objetos que se localicen.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

86
Identificacin de categoras

Una vez localizados los elementos dentro de las imgenes, la consola inicia el
proceso para el reconocimiento de estos objetos con el fin de discriminarlos para
poder determinar su posible comportamiento dentro de un rango ms concreto de
acciones.

El diseo y desarrollo de un sistema de inteligencia artificial que permita
analizar y evaluar la naturaleza de los elementos de las fotografas es una tarea
compleja; establecer los parmetros que definen la naturaleza de cada categora y
desarrollar aquellos algoritmos que permitan identificar estos elementos
caractersticos son las dos dificultades de esta fase de desarrollo.


Establecimiento de los criterios comunes de clase

Este proyecto se desarroll con el objetivo inicial de disear un sistema que
pudiera analizar una imagen e identificar los objetos en movimiento. Esta
identificacin deba ser efectiva para tres grupos distintos de elementos que pudieran
encontrarse dentro del objetivo de la cmara de vigilancia; estas tres categoras son los
las personas, los objetos, y dentro de la categora de objetos, separar los vehculos del
resto de objetos comunes.

A priori, la categora que result ser ms fcil de definir mediante la
implantacin de criterios comunes para todos los elementos de esa categora fue el
grupo de los vehculos.

Este grupo de objetos tiene varios elementos en comn; las ruedas y las luces
son elementos constantes que se incluyen en todos los vehculos que se desean incluir
en esta categora. Adems, gran parte de estos vehculos tienen otros elementos en
comn, pero que dependen de la categora especfica a la que pertenecen; las
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

87
furgonetas, los camiones y los coches, todos los vehculos con la carrocera cerrada,
tienen el parabrisas como elemento comn. La matrcula depende de la categora a la
que pertenezca el vehculo; las motocicletas slo tienen una placa en la parte posterior
del vehculo, mientras que los vehculos con cuatro ruedas o ms tienen dos placas,
una en la parte frontal y otra en la parte posterior.

En lo que respecta a la categora de personas, sta categora es mucho ms
difcil de definir ya que las personas pueden adoptar una gran cantidad de posturas y
aspectos que puede entrar en conflicto con la definicin de una ley estricta. Por
ejemplo, si nos centramos en la simetra de la anatoma humana (el cuerpo humano
tiene dos piernas, dos brazos, etctera), estos criterios sirven para identificar los
elementos de esta clase slo si la cmara de vigilancia capta al individuo de frente, sin
embargo, si la cmara capta nicamente el perfil del individuo, entonces estas reglas
se vuelven inefectivas; por este motivo no se han desarrollado reglas especficas para
identificar a las personas con este sistema de vigilancia.

Por ltimo, para la tercera categora, tampoco se han desarrollado reglas
especficas ya que este grupo incluye a todos los objetos; esta categora agrupa tanto
los objetos comunes en s (bolsas, libros, etctera) como aquellos elementos que
todava no han sido analizados o que no han dado una identificacin positiva para una
clase.

Al registrar un objeto porque ste se encuentra en movimiento se almacena en
la base de datos como integrante de la categora de objetos comunes; este sistema
permite mantener la informacin sobre los objetos que se han obtenido mediante al
anlisis sin que por ello se clasifiquen en una categora incorrecta.

Los elementos que se encuentren en la categora de objetos comunes slo
abandonarn esta categora si durante su anlisis la consola determina con total
certeza o mediante la ayuda de un usuario del sistema que el objeto analizado
pertenece a otra categora.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

88
Identificacin de los criterios de clase

La inteligencia artificial de la consola se basa en el establecimiento de una serie
de reglas que definan cada categora y la conjuncin de estos elementos para formular
hiptesis sobre la naturaleza de los objetos captados en la imagen.

Si durante el anlisis se cumplen varias de las reglas que definen una categora,
entonces la consola deber consultar su configuracin y si las reglas que se cumplen
son suficientes para declarar que un objeto pertenece a una categora concreta con
total seguridad, entonces la consola actualizar el registro asignado al elemento. En
este instante, el objeto dejar de estar considerado como un objeto comn para ser
identificado como una persona o un vehculo.

Sin embargo, si al analizar un objeto la consola determina que las reglas que se
cumplen no son suficientes para determinar que un objeto pertenece a una categora,
entonces la consola lanzar un mensaje de confirmacin al usuario para que ste
determine si la naturaleza del elemento analizado corresponde con aquella que la
consola le propone.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

89
Estudio del movimiento

Las imgenes obtenidas a partir de la comparacin con la imagen de referencia
y la imagen inmediatamente anterior y refinadas mediante el filtro del pixelado,
contienen toda la informacin necesaria para la consola; adems, la informacin est
almacenada de una forma intuitiva y fcil de manejar, lo que redunda en una mayor
facilidad para disear los algoritmos que tendrn que procesarla para el estudio del
movimiento de los objetos.

Adems de los filtros ya mencionados, para realizar ciertos clculos sobre las
imgenes se generan replicas de estas mediante el filtro de la funcin umbral como
parte de la operacin del proceso. Gracias a este filtro se obtiene una imagen en
blanco y negro puro de la imagen original.

Esta imagen
tiene un tamao de
memoria muy reducido
con respecto al resto de
imgenes ya que la
precisin del formato
es bsica, cada pxel se
representa nicamente
mediante un bit; en
conjuncin con el
mtodo de
almacenamiento de la
vectorizacin, el filtro
binario reduce el
tamao en memoria al
mnimo.

Figura 4.25: Funcin umbral de una imagen de objetos en
movimiento
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

90
Aunque la definicin de la funcin umbral establece que el umbral puede ser un
valor comprendido entre 0 y 255, en este proyecto el valor fijado para el umbral es 0,
el negro absoluto, ya que ste es el valor asignado a aquellos pxeles que no
representan pxeles de objetos en movimiento. De este modo se obtienen imgenes
que contienen nicamente la silueta de los elementos en movimiento y adems que
ocupan el espacio en memoria imprescindible.

Gracias a los procesos anteriormente descritos, es posible generar marcas en
las imgenes que tracen el movimiento de los objetos durante todo su
desplazamiento. A partir de la localizacin de los objetos en cada imagen se puede
analizar el movimiento de los elementos durante toda la secuencia de imgenes
analizando la evolucin de las marcas a lo largo del tiempo.

Al identificar la posicin de un elemento, se registra una ocurrencia de este en
la base de datos; este registro contiene la informacin esencial de cada elemento.
Aunque los datos que se guarden pueden modificarse, los datos principales son la
posicin del elemento dentro de la pantalla y el valor de gris de la superficie que ocupa
en la imagen.

Para estudiar e movimiento de los objetos dentro de una secuencia de
imgenes se han desarrollado dos mtodos distintos. El primero es el estudio del
movimiento mediante el seguimiento del centro del objeto durante la secuencia de
imgenes; el segundo de los mtodos es la correlacin del centro del objeto y el centro
de su zona en movimiento.


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

91
Seguimiento del centro del objeto

El primer mtodo desarrollado para el estudio del movimiento de los objetos
dentro de la secuencia de imgenes se basa en comparar la posicin de un objeto
dentro de la imagen durante toda la secuencia de imgenes en las que este objeto
aparece.



Figura 4.26: Secuencia de clculo del mtodo de seguimiento del centro

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

92
Este mtodo se basa en relacionar la posicin de un objeto dentro de la imagen
con el centro del mismo objeto en la imagen inmediatamente anterior. A partir de la
diferencia entre los puntos se puede obtener una magnitud que exprese la velocidad
con la que se mueve el objeto y a travs del clculo de la diferencia entre las
coordenadas de los puntos se puede establecer la direccin que est siguiendo el
objeto.



Figura 4.27: Resultados del mtodo de seguimiento del centro

Gracias a este mtodo se pueden obtener resultados a partir de un nico
anlisis de la imagen ya que se basa en comparar dos imgenes generadas mediante el
mtodo de comparacin con la imagen de referencia.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

93
El mtodo de correlacin de centros

En el punto anterior se defina el mtodo de seguimiento de centros, que se
basa en el mtodo de comparacin con la imagen de referencia. El mtodo de
correlacin de centros utiliza los resultados del mtodo de comparacin con la imagen
de referencia y la comparacin con la imagen inmediatamente anterior como base
para calcular el movimiento de los objetos de la imagen.

El mtodo de correlacin de centros obtiene el centro de los objetos resaltados
mediante el mtodo de comparacin con la imagen de referencia para establecer el
punto central del objeto en movimiento. Para calcular el movimiento de este slido, el
sistema calcula tambin el centro de la zona del objeto resaltada mediante el mtodo
de comparacin con la imagen inmediatamente anterior.


Figura 4.28: Secuencia de clculo del mtodo de
correlacin de centros
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

94
Gracias a este mtodo el anlisis del movimiento es ms rpido; el mtodo de
seguimiento de centro utiliza como datos de entrada las imgenes de dos instantes
consecutivos, mientras que el mtodo de correlacin de centros necesita dos
imgenes de un mismo instante. Esto implica que gracias a al mtodo de correlacin
de centros se puede calcular el movimiento de un objeto ms rpidamente.


Figura 4.29: Resultados del mtodo de correlacin de centros

Estos mtodos de clculo del movimiento permiten a la consola procesar las
imgenes originales y devolver una imagen donde se representa la trayectoria y la
velocidad de los elementos de la imagen; gracias a esta representacin los usuarios de
este sistema puede identificar fcilmente aquellos objetos que estn en movimiento.


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

95
Gracias a estos mensajes, los usuarios de este sistema de vigilancia
identificarn con mayor rapidez la trayectoria de los objetos que se encuentren en
movimiento. De este modo sern capaces de evaluar las situaciones comprometidas
con una mayor anticipacin, lo que facilitar su labor y mejorar sus resultados.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

96






Captulo 5

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

97
Resultados

Durante el desarrollo del proyecto se han analizado algunos videos con los
algoritmos explicados en el captulo anterior; a lo largo de esta serie de pruebas, los
algoritmos han sido analizados y se ha llegado a algunas conclusiones acerca de ellos.

Los algoritmos que han sido analizados con mayor profundidad son aquellos
que transforman la imagen original mediante un filtro como la escala de grises, la
funcin umbral o el pixelado. La mayor parte de este anlisis se ha centrado en la
secuencia en que se deban aplicar los filtros para que los resultados fueran lo ms
satisfactorios posible.

Adems de los algoritmos de filtrado se han analizado los mtodos de clculo
del movimiento; el anlisis de estos filtros se ha basado en evaluar los resultados
obtenidos y comparar los resultados entre los distintos algoritmos.

De este modo se ha llegado a algunas conclusiones que se expresan en el
captulo siguiente. Estas conclusiones sirvieron para reconducir la direccin de las
investigaciones en algunos casos, y en otros dan pie a nuevas hiptesis sobre el
desarrollo de los sistemas de vigilancia con base en inteligencia artificial.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

98
Mtodo de captacin de las imgenes

Las imgenes con las que se ha trabajado a lo largo de este proyecto provienen
de la descomposicin en fotogramas de los vdeos seleccionados para las pruebas. De
este modo se podan analizar los algoritmos sin que ello implicase la instalacin de una
cmara de video usb.

Pese a las diferencias que esto pueda representar con respecto del sistema
real, el objetivo de este proyecto es disear algoritmos que permitan analizar
imgenes dentro de secuencias de video, por lo que el origen de las secuencias de
vdeo tiene menos importancia en el desarrollo de este proyecto.

En una situacin real, el sistema de vigilancia se alimentar de imgenes
provenientes de las cmaras de vigilancia mediante la configuracin de una conexin
llamada stream; esta
conexin entre la cmara
de vigilancia y el nodo de
procesamiento del sistema
se establecer desde el
programa, permitiendo la
recepcin por parte de la
consola de las imgenes
generadas por la cmara.

Esta conexin almacenar las imgenes en la zona de memoria especificada por
el programador en la configuracin de la conexin; del mismo modo, la aplicacin
desarrollada separa los fotogramas de los videos y almacena las imgenes en una zona
de memoria accesible al programa. En ambos casos, los procesos lanzados por la
consola toman la informacin con la que trabajan de la memoria principal.



Figura 5.1: Conexin del equipo con la cmara
mediante un stream
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

99
Filtros de imagen

A lo largo de este proyecto se ha desarrollado varios algoritmos que permiten a
la consola transformar los fotogramas de un video de tal modo que el resultado sea
una imagen fcil de analizar, ya sea porque la informacin es ms resumida y por lo
tanto el menor rango de opciones permite a la consola calcular los resultados mejor o
bien porque el tamao de las imgenes es menor y por lo tanto el procesador consume
menos ciclos en analizarla.


Escala de grises

Los resultados esperados para este algoritmo eran que la imagen resultante
ocupase un espacio de memoria 3 veces ms pequeo, sin embargo el resultado fue
diferente.

Estos dos archivos
provienen de la zona de
pruebas de la memoria
destinada a la consola. El
archivo 18_move
corresponde con la imagen
filtrada del fotograma 18 de un
video de pruebas con el
formato 8bppIndexed y el
archivo 18_move24
corresponde con la misma imagen pero con el formato 24bppRGB, el formato de
salida de la consola. Como se puede apreciar en la imagen, los dos archivos tienen un
tamao parecido, la diferencia de tamao del archivo apenas supera un kilobyte; por
lo tanto, el resultado real no es el resultado esperado.

Figura 5.2: Resultados reales de la escala de grises
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

100
Este cambio en el resultado es sin duda provocado por el hecho de que adems
de la informacin de las imgenes, estos archivos contienen informacin propia de
este tipo de archivos guardada en la cabecera lo que implica que aunque la
informacin especfica de cada archivo tenga un tamao diferente, los formatos de
este tipo de archivos contienen informacin que ocupa un tamao mnimo para
cualquier archivo.

Para modificar este hecho y llegar al resultado esperado se podra haber
diseado una clase propia para almacenar los Bitmaps. En esta nueva clase habra de
guardarse nicamente aquella informacin que fuera absolutamente necesaria para el
desarrollo de los procesos de la consola. Adems del vector de bytes que contiene la
informacin sobre la imagen, habra que incluir aquellos mtodos y atributos que
resultaron necesarios durante el desarrollo de los procesos. Sin embargo esta nueva
clase no se desarroll porque los resultados obtenidos con la clase predefinida eran
ms que satisfactorios.


La funcin de contraste y el ecualizado

La funcin de contraste y la funcin de ecualizado son funciones que se utilizan
para mejorar la percepcin visual de la imagen capturada, son filtros para ver ms
ntidamente aquellos elementos de los fotogramas; aunque estas dos funciones tienen
el mismo objetivo y trabajan con los mismos datos, no funcionan de la misma manera.

Mientras que las dos funciones trabajan con el histograma de la imagen que
reciben, la funcin contraste necesita de unos argumentos de entrada para
transformar la imagen inicial y que los resultados obtenidos sean ptimos; y la funcin
de ecualizado slo necesita el histograma para generar los resultados.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

101
La funcin de
contraste depende de
una funcin compuesta
por tres funciones
lineal para generar la
transformacin, los
argumentos que
generan estas tres
funciones se obtienen a
partir del anlisis del
histograma de la
imagen.



Sin embargo, la
funcin de ecualizado
realiza su transformacin
de forma automtica, y
aunque el clculo
automtico de la funcin
de transformacin es una
ventaja con respecto a la
funcin de contraste, los
resultados son muy
parecidos a la imagen
original.

Aunque a priori los resultados de los filtros podran ser tiles para el desarrollo
del proyecto, los resultados obtenidos en las pruebas ponan de manifiesto que la
implementacin de estos algoritmos, que conllevaba el desarrollo de un proceso de
clculo del histograma adems del desarrollo del programa que implementar el filtro,
Figura 5.3: Anlisis de los resultados de la funcin de contraste
Figura 5.4: Anlisis de los resultados del ecualizado
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

102
disparaban el tiempo de desarrollo y de proceso sin por ello asegurar un mejor
rendimiento de la consola. Por este motivo la implementacin del ecualizado o la
funcin de contraste no han sido llevadas a cabo.


La funcin umbral

Gracias al filtro de la funcin umbral se han podido generar imgenes que
resaltaran la silueta de los objetos en movimiento usando el mnimo espacio de
memoria; estas imgenes se utilizan como los datos de entrada de la mayora de los
procesos de anlisis de la consola, as que son una herramienta indispensable de este
proyecto.














Estas imgenes con las siluetas dibujadas permiten a la consola centrar el foco
del proceso sobre las zonas resaltadas y realizar procesos complejos a partir de datos
sencillos sobre zonas concretas de la imagen, lo que implica evitar ciclos de
procesamiento superfluos.

Figura 5.5: Anlisis de los resultados de la funcin umbral
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

103
Por lo tanto, resultados obtenidos por el filtro de la funcin umbral han
correspondido con las expectativas generadas durante el diseo del filtro ya que se
esperaba que fueran la plataforma sobre la cual girase el anlisis de las imgenes de la
consola.


Posterizacin y pixelado

Las pruebas realizadas con el filtro de la posterizacin combinado con la
funcin de pixelado revelaron que las imgenes procesadas mediante combinacin
eran ms fciles de analizar.



Aunque la funcin de escala de grises permita trabajar con imgenes de fcil
acceso, la aplicacin de la combinacin de la funcin de la posterizacin y de la de
pixelado refinaba estas imgenes de tal modo que permita la extraccin de la
informacin mediante procesos sencillos.

Figura 5.6: Resultados de la posterizacin
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

104
Los dos filtros perseguan el mismo objetivo aunque su ejecucin fuera
diferente; el filtro de la posterizacin permita agrupar la informacin de tal manera
que las diferencias entre los tonos de los grises resaltaban de forma ms evidente, y el
filtro del pixelado permita agrupar localmente esta informacin, de modo que la
delimitacin de los cambios en las figuras de los elementos era ms sencillo y evidente.
La conjuncin de estos filtros permite maximizar las posibilidades de las dos funciones
siendo el resultado final ms contundente que los resultados parciales de cada
funcin.

No obstante, aunque a priori los resultados de la funcin de posterizacin
fueran excelentes, stos podran haber sido mejores. Como veremos ms adelante, la
funcin de posterizacin podra haber tenido otra aplicacin ms dentro de la
aplicacin; sin embargo, debido a la complejidad de las funciones de identificacin de
los elementos de la imagen, esta otra aplicacin no se llev a cabo.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

105
Anlisis de las imgenes

Filtrado con la imagen de referencia

Los resultados obtenidos gracias a la comparacin de la imagen actual con la
imagen de referencia son exactamente los esperados al disear este filtro.


Figura 5.7: Comparacin de la imagen actual con la imagen de referencia

Sin embargo, la dificultad de este filtro se manifest al establecer los criterios
que serviran para determinar de forma automtica el momento de almacenamiento
de una imagen como imagen de referencia.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

106
Las alternativas planteadas para el diseo de los mecanismos que llevaran a
cabo esta tarea son disear un proceso que evale la imagen analizada, y si esta
imagen es similar a la imagen de referencia entonces refrescar la imagen de referencia
tomando la imagen analizada como nueva imagen de referencia. Las similitudes entre
las dos imgenes deben ir en el sentido de que no tienen ningn elemento diferente
pero sin embargo s varan algunos tonos de gris por cuestin del brillo de la luz sobre
las superficies.

La otra alternativa se basa en disear un proceso que evale los elementos que
se encuentran en memoria. Este proceso debe determinar si los elementos de la
imagen que han sido almacenados se encuentran detenidos llevan detenidos el
suficiente tiempo como para considerarlos parte del trasfondo de la imagen. Si este
fuera el caso, entonces la consola debera recortar su silueta y aadir a la imagen de
referencia de forma artificial o tomar una imagen donde este elemento fuera el nico
elemento diferente con respecto de la imagen original; gracias a este proceso, en las
sucesivas comparaciones con la imagen inicial este elemento ser tomado como parte
del fondo de la imagen y as no ser causa de falsos resaltados.


Filtrado con la imagen inmediatamente anterior

Los resultados obtenidos gracias a la comparacin de la imagen actual con
respecto de la imagen anterior fueron muy difciles de interpretar en primera
instancia. Este mtodo generaba imgenes donde la silueta de los objetos
representados en la imagen original era desdibujada, slo se representaban algunos
pxeles, pero siempre se representaban aquellos pxeles que estaban situados en el
contorno de los elementos que se encontraban en movimiento.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

107

Figura 5.8: Comparacin con la imagen inmediatamente anterior

Aunque los resultados obtenidos mediante la aplicacin de la comparacin con
la imagen inmediatamente anterior eran difciles de interpretar, el resultado despus
de aadir la aplicacin del filtro del pixelado a la secuencia fueron mucho mejores. Por
este motivo se puede decir que los resultados iniciales de este mtodo fueron
desconcertantes, pero que despus de analizar los resultados y plantear una solucin
para mejorarlos, stos correspondieron con los resultados esperados en un primer
momento.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

108
Identificacin de las categoras de objetos

En este punto se iban a describir y analizar los resultados obtenidos al
implementar en la consola los criterios y los procesos que deban reconocer los
elementos de las imgenes e incluirlos dentro de una de las categoras que serviran
para clasificar los objetos de los vdeos de vigilancia.

No obstante, no hay resultados correspondientes a estos procesos ya que no
han sido desarrollados en este proyecto. Debido a la complejidad de los procesos que
se han diseado, adems de que algunos de estos criterios estuvieran incompletos, ha
propiciado que no se haya desarrollado ninguno de los procesos correspondientes con
este aspecto de la video vigilancia que fueron inicialmente propuestos.

An as, se expondrn algunos de los avances que se alcanzaron durante el
diseo de estos procesos; aunque en la prctica estos mtodos no fueron puesto a
prueba, el desarrollo terico de estos elementos tambin forma parte de este
proyecto, y su inclusin en este documento parece pertinente ya que pueden plantear
algunos problemas y soluciones sobre este punto en particular.


La posterizacin y la segmentacin por zonas de color

En puntos anteriores se presentaron los resultados obtenidos por mediante la
aplicacin del filtro de la posterizacin y cmo estos resultados eran mejorados
mediante la combinacin de este filtro con la funcin de pixelado de la imagen.

No obstante, el filtro de pixelado podra tener unas aplicaciones con mayor
alcance en la fase de identificacin de los elementos en movimiento dentro de la
imagen. Gracias a este filtro, las siluetas de los objetos en la imagen son resaltadas con
mayor claridad, y la eleccin correcta del nmero de niveles de gris representa la
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

109
posibilidad de identificar aquellos detalles que pueden permitir a la consola identificar
aquellos parmetros que identifiquen la categora de un elemento.

Durante el desarrollo de la consola se dise e implement un filtro que
dibujaba la lnea que separaba las zonas de la imagen que tuvieran un tono de gris
distinto. Este filtro se dise con el fin de poder identificar figuras geomtricas dentro
de las imgenes que permitieran identificar los componentes de las distintas
categoras (las ruedas como crculos, las matrculas como rectngulos, una nariz como
un tringulo).


Figura 5.9: Resultados del filtro por zonas

Las imgenes superiores muestran una imagen filtrada mediante la funcin de
posterizacin, la segunda imagen muestra el mismo instante de la secuencia de video
filtrado por la funcin que separaba las zonas de gris; el objetivo inicial de esta prueba
fue crear el entorno ideal para que el ordenador pudiera reconocer un crculo dentro
de la bola de billar en movimiento.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

110
Identificacin de formas geomtricas sencillas

El algoritmo para el reconocimiento de figuras geomtricas sencillas (crculos,
rectngulos y tringulos) dentro de la imagen se basaba en comparar los puntos del
contorno de una figura generada e insertada artificialmente por la consola en el punto
central del elemento en movimiento con los puntos del contorno del elemento real.


Figura 5.10: Diseo conceptual del filtro de reconocimiento de objetos

Aunque los diseos conceptuales sugeran que el desarrollo del filtro sera
rpido y sencillo (se deba desarrollar un proceso que tomase la distancia en pxeles de
las medidas de la silueta del objeto en la imagen binaria y despus generar e insertar
artificialmente en la imagen la figura geomtrica mediante las instrucciones
desarrolladas por la plataforma de desarrollo C#), durante las pruebas del mtodo con
imgenes reales generaban dudas acerca de la eficacia del sistema.

Los problemas que aparecieron durante las pruebas del sistema con imgenes
reales fueron de dos tipos diferentes; en la realidad las figuras sencillas se deforman y
generan formas geomtricas que evolucionan con el tiempo, lo cual las hace difciles
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

111
de identificar durante una secuencia completa mediante un sistema automatizado. El
otro problema proviene del hecho de que los objetos de la realidad no estn
compuestos por elementos geomtricos sencillos, sino por formas geomtricas
complejas.

Durante una secuencia de video los objetos que se identifiquen mediante la
inteligencia artificial de la consola pueden modificar su forma debido a su movimiento.
Estos cambios en las formas de los objetos implican que el mtodo desarrollado para
reconocer figuras geomtricas sea incompleto ya que ste no est diseado para
identificar estos cambios en las formas de los objetos reales; el mtodo compara los
objetos reales con figuras sencillas, si un crculo se transformase en la secuencia de
imgenes en una elipse (el caso que se dara al analizar la rueda de un coche durante
un giro) el sistema no slo sera incapaz de identificar la nueva forma del objeto
anteriormente captado, sino que adems dejara de identificar el elemento en
movimiento con la figura original.

En una imagen real, donde los elementos en movimiento estn compuestos por
distintas partes mviles, el mtodo de comparar las siluetas con formas geomtricas
sencillas se mostr ineficaz para identificar aquello objetos que contienen una mayor
cantidad de partes mviles. La composicin de estos elementos es tan compleja que la
comparacin de su silueta con una nica figura geomtrica resulta insuficiente.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

112

Sin embargo, algunos mtodos de descomposicin de los elementos naturales
son capaces de descomponer los elementos complejos en una serie de mltiples
figuras geomtricas con el fin de evitar esta fluctuacin de las formas de los elementos
de la imagen [ZHAO08] y [HSIE08].

Figura 5.11: Ejemplos de otros algoritmos
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

113
Estudio del movimiento

El estudio del movimiento ha sido el punto central del trabajo desarrollado en
este proyecto de final de carrera. Las vas de desarrollo que se han seguido para
generar la inteligencia artificial que controle la consola han basado sus clculos en los
resultados obtenidos al calcular el centro geomtrico de los diferentes elementos de
las imgenes.


Seguimiento del centro del objeto

El mtodo de seguimiento del centro del objeto calcula el centro del objeto a lo
largo de la secuencia de imgenes donde es captado por la cmara. Gracias a esta
secuencia de imgenes es posible determinar su posicin en la imagen y calcular el
centro de gravedad del objeto; al comparar el centro de gravedad del objeto en un
fotograma con el centro del fotograma consecutivo se obtiene una diferencia en el
punto central del objeto, esta diferencia en las coordenadas se utiliza para mostrar por
pantalla el vector de movimiento del elemento.

Aunque los resultados de este mtodo cumplen con las expectativas generadas
inicialmente, los resultados obtenidos en algunos casos concretos revelaron que el
mtodo no era perfecto ya que los resultados obtenidos no correspondan
exactamente con la realidad.

Los resultados obtenidos mediante este mtodo revelan que el mtodo de
clculo de centros, aplicado en los objetos situados en los laterales, obtena una
posicin incorrecta del centro del objeto en movimiento.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

114
En el caso de los objetos en el borde de la pantalla, los datos para realizar los
clculos para obtener el vector de movimiento eran incompletos, ya que mientras el
objeto no estuviera por completo dentro de la escena, la consola tomaba el borde de
la imagen como el contorno del objeto, provocando una falsa percepcin de la silueta
del objeto.























Debido a los resultados obtenidos en estos casos concretos, se desarroll otro
sistema de clculo del movimiento basado en el anlisis de una nica imagen, de este
modo se minimiza el efecto del corte de la silueta del objeto por el borde de la imagen,
Figura 5.12: Secuencia de estudio del mtodo de correlacin de centros
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

115
ya que el contorno del objeto no es la nica informacin que utiliza el mtodo de
correlacin de centros.


El mtodo de correlacin de centros

Gracias a los resultados obtenidos por la aplicacin del mtodo de seguimiento
en los casos del marco de las imgenes se revel que basarse en el contorno de los
objetos en movimiento era insuficiente para obtener resultados fidedignos.

El mtodo de correlacin de centros es una evolucin del mtodo de
seguimiento del centro de objetos ya que utiliza parte del sistema de clculo de
posiciones utilizado en el mtodo anterior pero se basa en otros datos de entrada para
obtener el vector de movimiento del objeto; al trabajar sobre un nico instante de la
secuencia de movimiento para obtener el vector de movimiento se minimiza el fallo
resultante de la imprecisin de la informacin sobre el contorno del objeto.



Aunque este
mtodo tampoco trabaja
con la informacin
completa de la silueta
del objeto, al comparar
el centro de la silueta
con el centro de la zona
en movimiento se
minimiza la influencia
que ejerce el error en el
resultado final.

Figura 5.13: Resultados del mtodo de correlacin de
centros
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

116
Los resultados obtenidos por este mtodo avalan las mejoras realizadas en el
mtodo de seguimiento de centros. Gracias al nuevo sistema de clculo del vector de
posicin se dispone de un mtodo que puede modelar el movimiento de un objeto de
forma ms fidedigna.

Adems de obtener mejores resultados en momentos concretos del anlisis, el
mtodo de correlacin de centros es complementario al mtodo de seguimiento de
centros. Aunque la informacin obtenida mediante el mtodo de correlacin de
centros se cie ms a la realidad, el tiempo de proceso de este mtodo es mayor que
el tiempo que se tarda en calcular los resultados mediante el mtodo de seguimiento
de centros, por lo tanto, es recomendable utilizar el mtodo de seguimiento de
centros como mtodo principal de estudio del movimiento y el mtodo de correlacin
de centros como mtodo secundario ya que de este modo se optimiza el uso del
procesador de la consola.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

117






Captulo 6


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

118
Anexos
Planificacin

A lo largo de este proyecto se han sucedido distintas etapas durante las cuales
naturaleza de las tareas realizadas ha variado desde la documentacin sobre el campo
de estudio al desarrollo de procesos en lenguajes de programacin en alto nivel,
pasando por etapas de aprendizaje de lenguajes de programacin o el diseo de
soluciones.

A continuacin se presenta una relacin de la distribucin del tiempo aplicado
al desarrollo de este proyecto de fin de carrera durante el curso 2008-2009 con las
tareas desempeadas.


Figura 6.1: Planificacin del proyecto
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

119
La fase de documentacin

Para asegurar el mximo xito posible del proyecto es importante informarse
sobre los avances ms recientes en los distintos campos de conocimiento que puedan
incluirse dentro del alcance del proyecto.

Hay distintas fuentes que pueden ser consultadas, las fuentes comunes como
Internet o las bibliotecas. Adems de estas fuentes se pueden consultar otras ms
especializadas como las bibliotecas de artculos de las universidades u otras
comunidades; los tutoriales de las prcticas y los apuntes de las asignaturas de las
universidades pueden ser tambin vas con las que comprender mejor el campo de
estudio.

Adems de los apuntes de las asignaturas de las universidades, las referencias
de este proyecto provienen de ScienceDirect, una biblioteca de artculos generados
por la comunidad cientfica. Gracias a los artculos de esta comunidad se han podido
comprender los mtodos empleados para el estudio de la visin artificial y ciertos
aspectos del estudio del movimiento de los objetos.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

120
El desarrollo de la aplicacin

El desarrollo de la aplicacin se ha realizado mediante la metodologa extrema,
una metodologa basa el desarrollo de aplicaciones en el diseo de prototipos. Esta
metodologa basada en descomponer el desarrollo total en prototipos ms pequeos
pero funcionales optimiza el uso del tiempo disponible para desarrollar la aplicacin.

Al generar un prototipo al inicio del desarrollo, y despus ampliar las
funcionalidades de este prototipo durante el desarrollo, se pueden obtener resultados
paulatinamente, y de este modo se puede ejercer un control sobre el desarrollo del
proyecto; mientras que con la metodologa escalonada, el tiempo de desarrollo de la
aplicacin puede verse comprometido por retrasos en las fases anteriores, lo cual
puede resultar en una falta total de resultados prcticos si los plazos de entrega no
pudieran ampliarse.

Por este motivo si se dispone de poco tiempo para el desarrollo del proyecto, la
metodologa extrema es la mejor opcin para planificar el desarrollo de la aplicacin ya
que permite al programador obtener resultados desde las fases iniciales y adaptar la
solucin a medida que se analizan los resultados de las fases anteriores.


La elaboracin de la memoria

Para asegurar la mxima fidelidad en la transcripcin de las ideas desarrolladas
en el proyecto es importante que el autor confeccione unos esquemas con los puntos
ms importantes del proyecto para ampliar su explicacin en el desarrollo del
proyecto. Es importante transcribir las ideas desarrolladas completamente una vez se
han estudiado todos los puntos del esquema antes de comenzar con el desarrollo de
otros puntos de inters del proyecto.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

121
Durante la elaboracin de la memoria es importante establecer hitos con los
cuales asegurar el control del desarrollo de la informacin escrita. Es importante
tambin que estos hitos establezcan fechas lmite de objetivos realizables, de este
modo tanto el cumplimiento de los objetivos como la no realizacin de stos pueden
representar una motivacin importante durante el desarrollo del proyecto.

Algunos de los hitos que se establecieron para controlar el documento escrito
fueron los siguientes:

- 10 de Abril 2009: 1 chequeo del proyecto (15% del escrito final).
- 25 de Abril 2009: 2 chequeo del proyecto (30% del escrito final).
- 10 de Mayo 2009: 3 chequeo del proyecto (60% del escrito final).
- 17 de Mayo 2009: 4 chequeo del proyecto (90% del escrito final).
- 20 de Mayo 2009: 5 chequeo del proyecto (100% del escrito final).

Durante el desarrollo de la memoria del proyecto se establecieron los hitos de
forma gradual ya que de este modo se establece un sistema de trabajo con el cual se
pueden transcribir las ideas desarrolladas cumpliendo los objetivos establecidos desde
el principio de la elaboracin de la memoria y de este modo adquirir fluidez en la
explicacin de los puntos del estudio con las partes de la memoria ms sencillas para
despus explicar con ms soltura y mejor estilo los puntos ms complejos de la
memoria.



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

122
Estimacin del coste econmico del proyecto

Coste de los recursos humanos

Para el desarrollo de este proyecto hizo falta invertir tiempo en un curso de
iniciacin a C# y manejo de bases de datos con SQL, as como realizar trabajo de
documentacin, anlisis y programacin.

Tanto los cursos de iniciacin como las fases de desarrollo de la aplicacin
fueron sufragados mediante la beca de colaboracin con la entidad externa a la
universidad; sin embargo, las horas de trabajo con la entidad externa estn limitadas y
se tuvieron que emplear horas extras a las convenidas en la beca.

Los costes inherentes a estas fases se especifican en la siguiente tabla:


Tabla 6.1: Costes asociados a los elementos de recursos humanos


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

123
Costes software

Durante el desarrollo de este proyecto se utilizaron distintos recursos software,
recursos como la plataforma de desarrollo Visual Studio 2008 o la suite Microsoft
Enterpise 2007.

Al ser productos del mercado cuyo usufructo est acotado en el tiempo de dos
formas posibles, se ha especificado la naturaleza del uso de los programas. Los costes
imputables a estos productos pueden representar el coste de la licencia del programa
por un ao o la amortizacin proporcional relacionada al uso del producto durante un
ao si el pago de ste implica su uso durante un periodo superior a un ao.

En el caso de las licencias para ms de un ao, se ha establecido que el tiempo
de amortizacin del programa es de cinco aos ya que los programas software suelen
beneficiarse de un reciclaje constante por parte de los proveedores, lo que implica que
la renovacin de los activos de una empresa con fines de lucro es una medida
adoptada por la mayora de la empresas del mercado.

La descripcin detallada del coste imputable a los productos software utilizados
durante el proyecto son los siguientes:




Tabla 6.2: Costes software del proyecto
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

124
Costes hardware

Para el desarrollo de este proyecto se utilizaron distintos recursos tangibles; los
recursos hardware, tanto para el diseo de los programas de la aplicacin como para la
elaboracin de la memoria, su almacenado y su impresin, o los recursos consumibles
de oficina como cuadernos de notas, hojas donde imprimir los cursos de aprendizaje o
los escritos de los proyectos de investigacin.

Al igual que los recursos software, los recursos tangibles tienen un tiempo de
consumo acotado. Los consumibles de oficina tienen una duracin de un ao, por lo
que la amortizacin imputable de estos productos es directamente su coste en el
mercado, mientras que los equipos como los porttiles o las impresoras pueden durar
ms tiempo y por lo tanto su coste se reparte en un lapso de tiempo mayor, dividiendo
su coste en amortizaciones anuales de cuanta inferior.













La suma total de los costes de recursos humanos, los recursos software y los
costes de los recursos hardware pueden dar una idea aproximada del coste total del
proyecto, aunque este valor no es la cuanta exacta del coste del proyecto ya que en el
desarrollo de esta aplicacin no se han imputado ciertos elementos como las cmaras
Tabla 6.3: Costes hardware del proyecto
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

125
de vigilancia o las infraestructuras de la empresa colaboradora. No obstante, el coste
total estimado del proyecto se puede ver en la tabla xxx.









Como se puede apreciar en la tabla xxx, el coste del desarrollo del proyecto
hasta la fecha asciende hasta los 5500 , la mayor parte de este coste se imputa a los
recursos humanos; sin embargo, si este proyecto se hubiera realizado sin una beca, el
coste del mismo proyecto hubiera sido muy superior (el salario de una hora de trabajo
para un becario es casi una dcima parte del coste imputado por el trabajo de un
programador en nmina).

La estimacin del porcentaje del proyecto final comercializable se encuentra en
torno al 45 %, lo que implicara que la aplicacin final costara alrededor de 12000 ,
un precio muy razonable teniendo en cuenta que la aplicacin final sera a media y
podra implementarse en sistemas de seguridad para realizar una vigilancia
semiautomtica.


Tabla 6.4: Costes finales del proyecto
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

126
Conclusiones

Durante el desarrollo del proyecto de fin de carrera se aplican todos los
conocimientos adquiridos a lo largo de los aos de la carrera; el proyecto de fin de
carrera es ante todo un trabajo con una funcin integradora de todas las asignaturas
que se han estudiado durante la carrera, por este motivo el alumno debe cuidar al
mximo cada aspecto del trabajo.

Para el desarrollo de este proyecto se han aplicado principalmente los
conocimientos adquiridos en las asignaturas de programacin, tanto en las asignaturas
de programacin con lenguajes de alto nivel como Java como con los lenguajes de bajo
nivel como C, ya que durante el desarrollo del proyecto se han utilizado bsicamente
punteros para el manejo de la informacin. Sin embargo, para completar el proyecto
tambin se han utilizado algunos conocimientos adquiridos durante las etapas iniciales
del mismo.

Hay etapas del proyecto que son muy diferentes entre s, etapas como la fase
de documentacin, en la cual el alumno debe extraer y comprender estudios y avances
realizados por otros profesionales especializados, o la etapa de diseo, donde su
iniciativa y sus capacidades creativas le permitirn disear una solucin original que
sea funcional o la etapa del desarrollo, durante la cual el alumno debe demostrar su
disciplina a la hora de desarrollar nuevas soluciones para los problemas establecidos.

Para garantizar el xito en el desarrollo del proyecto se han establecido una
serie de hitos mediante los cuales se poda controlar el desarrollo de la aplicacin y de
la memoria del proyecto. El establecimiento de estos puntos de control ha sido una
parte compleja del proceso de creacin del proyecto ya que los hitos tienen en
realidad una doble funcin; principalmente sirven para controlar el desarrollo del
proyecto, pero adems permiten evaluar el criterio del alumno sobre la capacidad de
juzgar tanto el trabajo realizado como el ritmo de trabajo.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

127
Sin embargo, algunos de los puntos del desarrollo escaparon a la clasificacin,
algunas etapas del desarrollo presentaron dificultades. La primera gran dificultad que
se afront durante el desarrollo fue el establecimiento de los filtros de imagen. Para
aplicar estos filtros la consola del prototipo deba acceder a la zona de memoria de
cada imagen, lo cual era sencillo una vez se descompona la imagen y se utilizaban los
mtodos proporcionados por la plataforma de desarrollo de C#.

Sin embargo, los resultados obtenidos gracias a estos mtodos no cumplan con
los requisitos establecidos para el prototipo, el tiempo de respuesta era muy superior
al tolerable ya que la consola se mantena en espera mientras se aplicaba el filtro. Por
este motivo se tuvieron que cambiar los mtodos de acceso a la cabecera del archivo y
acceder directamente mediante punteros a la zona de memoria de la imagen.

Gracias a este cambio en el proceso de acceso a la imagen se mejoraron los
tiempos de procesado ya que la consola pas a ser capaz de aplicar varios filtros sobre
una imagen y generar una nueva imagen durante un lapso de tiempo inferior a
dcimas de segundo, el tiempo esperado y gracias al cual se podan cumplir el resto de
especificaciones del prototipo del sistema de vigilancia.

Una vez solventados los problemas de desarrollo, el prototipo de la aplicacin
estaba operativo. Una vez desarrollado por completo, la consola poda abrir un video,
descomponerlo en imgenes y aplicar una serie de filtros sobre las imgenes por
separado y adems relacionar las imgenes dentro de una secuencia para obtener
resultados sobre el movimiento de los objetos presentes en el video original. Estos
resultados se presentaban en otro archivo de video con un tiempo de respuesta
aceptable.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

128
Apndices

En este punto del captulo de los anexos se presentan temas relacionados con
el tema principal del estudio del proyecto que han sido incluidos por su relativa
cercana al tema principal o su inters general.

Los dos temas que se tratan en esta parte son la implementacin de la
aplicacin desarrollada en sistemas con cmaras de vigilancia mviles, donde se
especificarn las caractersticas de estos sistemas y sus dificultades inherentes para la
instalacin del sistema desarrollado; el otro tema que se aborda en este punto de la
memoria son los sistemas de reconocimiento facial, estos sistemas artificiales
permiten reconocer las caras de las personas y por lo tanto su implementacin en los
sistemas de vigilancia puede representar un avance importante en la eficacia de los
sistemas de este campo.


Sistemas con cmaras de vigilancia dinmicas

Los sistemas de seguridad con cmaras de vigilancia integradas disponen de
unos dispositivos que vigilan el entorno mediante una rotacin programada del foco
de la cmara. Estos sistemas permiten optimizar el uso del dispositivo ya que la misma
cmara de vigilancia permite disponer de una visin ms amplia del entrono.

Sin embargo, estos sistemas tienen un problema inherente a su naturaleza, el
movimiento de estas cmaras provoca que se creen lagunas de informacin de
momentos concretos de la vigilancia que son conocidas como ngulos muertos.
Estos ngulos muertos tienen su origen en una alineacin concreta de las cmaras de
vigilancia durante un corto lapso de tiempo, durante ese tiempo, los focos de las
cmaras no vigilan una zona del entorno, creando una brecha en la seguridad que
pudiera ser registrada y utilizada por elementos externos al sistema.

PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

129

Aunque las cmaras de vigilancia tienen estas desventajas, conviene recordar
que de este modo se puede optimizar la utilizacin del dispositivo empleando un nico
elemento de seguridad para dar cobertura a una zona de terreno ms amplia. Adems,
el problema de las lagunas de informacin puntuales puede solucionarse acelerando el
ritmo con que la cmara rota sobre su eje.

Sin embargo, existen otras soluciones con las que paliar este problema; si la
cmara de vigilancia C2 de la figura xxx tuviera implementado un sistema que le
permitiera generar un ritmo de rotacin y un acotamiento del entorno aleatorios,
entonces los ngulos muertos del sistema variaran constantemente, impidiendo a
los elementos hostiles al sistema explotar la pauta de los fallos del sistema.

Adems de la pequea inteligencia artificial mencionada en el punto anterior,
los sistemas de video vigilancia con cmaras mviles pueden integrar la aplicacin
desarrollada a lo largo de este proyecto, sin embargo habra que incluir algunas
variaciones para los algoritmos desarrollados.

Figura 6.2: Funcionamiento de las cmaras de vigilancia mviles
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

130

Aunque los algoritmos de ms bajo nivel, como los de procesado de la imagen,
no se veran afectados por el cambio del tipo de cmara de vigilancia, los algoritmos
que emulan una tenue inteligencia s se veran afectados y por lo tanto tendran que
ser remodelados; los algoritmos de filtrado por la imagen de referencia y filtrado por la
imagen inmediatamente anterior seran los principales afectados, pero tambin los
algoritmos de deteccin de movimiento.

En el caso del algoritmo de filtrado por la imagen de referencia habra que
reconfigurar el algoritmo para que no tuviera una nica imagen de referencia, sino
toda una serie de imgenes que representaran el entorno a lo largo del recorrido
completo de la cmara. Una vez se hubiera construido la biblioteca de las imgenes del
recorrido de la cmara, la consola podra comparar la imagen del momento actual en
funcin de la fraccin de segundo en la que se encontrara el video.


Figura 6.3: Biblioteca de imgenes de referencia de una cmara mvil


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

131
Gracias a biblioteca de imgenes sera posible introducir un proceso que
determinara cual sera la imagen de referencia que corresponde con la imagen actual
de la cmara de vigilancia. Este proceso debera determinar mediante una ecuacin la
imagen de referencia que utilizara el filtro por imagen de referencia para comparar las
dos imgenes.

Para implementar este algoritmo dentro de un proceso de la consola, habra
que descomponer el video de referencia en una secuencia con un nmero entero de
frames. Adems, habra que inicializar un contador para cada una de las cmaras de
referencia que almacenara el valor del frame actual para poder compararlo con el
nmero de frames totales almacenados en la biblioteca y entonces obtener la imagen
de referencia con la que finalmente sera comparado.






Ecuacin 6.1: Ecuacin de bsqueda en cmaras mviles

Esta frmula tiene dos variaciones porque las cmaras mviles tienen dos
estados posibles, el primero es el estado durante el cual la cmara se dirige desde la
posicin inicial hasta la posicin final de vigilancia, el segundo estado es el que vive la
mquina cuando vuelve desde la posicin final hasta la posicin inicial. En la figura xxx
el estado inicial estara comprendido entre el momento t0 y el t1 y el segundo estado
se ubicara entre el momento t1 y t0 del ciclo.

Una vez implementados estas frmulas en los algoritmos, el algoritmo de
filtrado mediante la imagen de referencia tendra la informacin necesaria para
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

132
elaborar los mismos resultados que en el caso de una cmara de vigilancia esttica. Sin
embargo, la biblioteca de imgenes de referencia no tendra ninguna utilidad en el
caso del filtro mediante la imagen inmediatamente anterior.

El filtro de la imagen inmediatamente anterior sera muy difcil de implementar
en este caso ya que la relacin entre las dos imgenes consecutivas no es directa como
en el caso de las cmaras de vigilancia estticas. En este caso, habra que desarrollar
un algoritmo que modelara las variaciones en la relacin de las imgenes consecutivas
y relacionar los pxeles de las dos imgenes mediante estos algoritmos para descartar
aquellos pxeles que corresponden con los pxeles de la imagen anterior traslados
mediante los vectores resultantes de este algoritmo.

Para implementar este algoritmo habra que desarrollar un proceso que
localizara puntos concretos en las imgenes para despus buscar los puntos obtenidos
en la imagen anterior y calcular el vector de movimiento de las parejas de puntos. En
cuantos ms vectores fueran calculados, mayor precisin se obtendra en la estimacin
de la posicin de pxel de la siguiente imagen y por lo tanto mayor sera la
verosimilitud de los resultados obtenidos.

Mediante la implementacin de estos dos procesos, los mtodos de filtrado de
la imagen podran reutilizarse en este tipo de cmaras de vigilancia; no obstante,
habra que realizar una ltima modificacin a los algoritmos del sistema. En el caso de
Figura 6.4: Clculo del vector de movimiento de las cmaras mviles
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

133
los algoritmos de clculo de movimiento, habra que reutilizar el algoritmo de
compensacin de movimiento explicado en el punto anterior.

Gracias al clculo realizado por el algoritmo de compensacin del movimiento
de la cmara, sera posible reducir las impresiones en el clculo del movimiento
median los algoritmos desarrollados para la consola. Debido al movimiento de la
cmara, el clculo del movimiento podra dar un resultado impreciso, no obstante,
este resultado podra refinarse si se eliminaran las imprecisiones sumando el vector de
movimiento obtenido al vector de movimiento de la cmara que corresponda.



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

134
Reconocimiento facial

Actualmente existen distintos programas relacionados con el reconocimiento
facial de los individuos mediante el procesamiento de una secuencia de video
[DANS09]. Estos dispositivos se desarrollaron con el fin de proporcionar un nivel
adicional de seguridad adicional a los entornos sensibles.

Estos programas buscan los puntos de referencia de la cara y otras zonas del
cuerpo para generar marcadores con los que medir las distancias entre estos puntos.
La ciencia que estudia la localizacin de estos puntos de referencia y la medicin de las
distancias entre ellos se llama Biometra y su finalidad es establecer unos estndares
de medicin de las variables del cuerpo humano (establecer relaciones entre tamao,
altura, peso sexo, edad, etctera). Gracias a la comparacin de los resultados con los
registros almacenados en las bases de datos, los programas pueden realizar una
estimacin sobre la identidad de la persona que se est analizando.


Las aplicaciones de estos programas en el mbito de la seguridad exigan unos
requisitos de acierto muy elevados, pero adems los requisitos establecan la dificultad
aadida de que estos resultados se deban obtener mediante el anlisis de secuencias
de video. Este requisito en particular es muy difcil de implementar ya que si la persona
analizada se encuentra de perfil, la informacin suministrada por las cmaras de
vigilancia es incompleta, y por lo tanto el acierto total es casi imposible.

Figura 6.5: Comparacin de caras mediante la biometra
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

135
Los resultados obtenidos gracias a los programas desarrollados no fueron tan
espectaculares como se esperaban (las identificaciones correctas slo suponan un
53% de las caras procesadas); estos mediocres resultados fueron causados por que los
sistemas de reconocimiento eran incapaces de procesar las imgenes en movimiento
que generaban los videos de vigilancia.

No obstante, cuando el mbito de aplicacin de estos programas cambi, su
rendimiento se mejor considerablemente. Los programas desarrollados para el
reconocimiento facial en la vigilancia fueron aplicados a sistemas comerciales,
sistemas que tienen un nivel inferior de requisitos que cumplir, y que por lo tanto el
bajo rendimiento demostrado en labores de vigilancia no influa en su aplicacin en
otros mercados.

Una de las aplicaciones de estos programas es el reconocimiento facial para
permitir a un usuario de un ordenador registrarse en su mquina y empezar una sesin
con ella. Toshiba es una de las marcas de fabricantes que ya ha implementado este
sistema de reconocimiento facial en sus ordenadores [WEB003].

Otras empresas del sector han desarrollado sus propios programas de
reconocimiento facial, y aunque a priori las funcionalidades de stos deberan ser las
mismas, las empresas desarrolladoras los utilizan de modo distinto. Picasa I, la
aplicacin desarrollada por Google, analiza las imgenes almacenadas en servidores
para determinar si las caras de las personas que salen en las fotos coinciden con la cara
de los famosos en algn rasgo; sin embargo, para utilizar este programa hay que
registrarse y relacionar a la persona de la fotografa con una direccin email.







PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

136



















iPhoto es la opcin de Apple, este programa permite analizar las fotos de un
usuario sin que stas deban estar almacenadas en un servidor externo a la mquina
del usuario; adems, tampoco debe relacionarse la cara procesada con una direccin
de correo electrnico.

Las diferentes vas de utilizacin de un producto con las mismas
funcionalidades a generado ciertas dudas sobre la legitimidad del reconocimiento
facial puesto que si ste es utilizado de manera incorrecta, se podra dar el caso de
generar una besa de datos con personas que no fueran usuarias de los productos de
Google.

Figura 6.6: Comparacin de las facciones faciales con fines de entretenimiento
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

137
An as, la tecnologa de reconocimiento facial ha sido desarrollada por otras
firmas tambin [MUO09]; Yahoo se ha asociado con Comel para desarrollar una
aplicacin que permita analizar los rasgos de los individuos para generar anuncios
personalizados. Esta tecnologa lleva el marketing hasta un horizonte mucho ms
amplio ya que de este modo es posible asegurar un mayor xito con el lanzamiento de
cada anuncio.



La utilizacin de estas aplicaciones dentro del marketing implica la invasin de
los derechos de intimidad de las personas, por este motivo es necesario crear un
organismo internacional que regule el lmite de estas aplicaciones. Es importante
asegurar que las nuevas tecnologas no sean fuente de desconfianza por parte de los
usuarios finales. Una buena poltica, adoptada por el sistema desarrollado por Yahoo-
Comel, es borrar la imagen almacenada despus de emitir el anuncio y sin embargo,
almacenar la edad y el sexo de la persona para un posterior uso de la informacin
mediante tcnicas estadsticas.

Para cumplir con los objetivos establecidos al principio del desarrollo de este
proyecto, se realiz un intento de desarrollar un proceso que identificara los objetos
captados por la inteligencia artificial en la pantalla.

Figura 6.7: Posibles aplicaciones del reconocimiento facial en el marketing
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

138

Figura 6.8.1: Salida de las pruebas de posterizacin

Para conseguir con xito este objetivo se desarroll un filtro que se utilizara
junto con el filtro de posterizacin para definir las zonas existentes en la pantalla. Este
filtro realza las lneas de divisin entre los distintos tonos de gris de las imgenes del
filtro de posterizacin. La finalidad de este filtro consista en obtener una imagen con
las figuras sencillas que compusieran la imagen real; de este modo se podra analizar la
imagen generada para estudiar la composicin de las figuras y obtener los patrones
que compusieran las figuras ms complejas.




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

139

Tal y como se puede apreciar en las imgenes figura 6.8.1 y figura 6.8.2, la
combinacin de los dos filtros proporciona una imagen en la cual se intuye la
informacin original; no obstante, los intentos de analizar estas figuras mediante
logaritmos aplicables mediante los procesos de la consola no dieron resultados
positivos ya que la informacin final era demasiado voluble como para establecer los
patrones que definiran los algoritmos de estudio.



Figura 6.8.2: Pruebas del filtro de zonas
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

140
Bibliografa
Libros:

[FOXA07] El libro de Visual C# 2005
James Foxall, Ediciones Anaya Multimedia , 2007

[BARR01] Metodologa del anlisis estructurado de sistemas , 2 Edicin
Jess Barranco de Areba, Publicaciones de la Universidad Pontificia
Comillas, Madrid, 2001



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

141
Proyectos fin de carrera y tesis doctorales:

[OTE02] Juan Jos Otero Gmez
Director: D. Daro Maravall Gmez-Allende
Modelo interpolativo punto- superficie para calibrado de cmaras en
Visin Artificial
Departamento de Inteligencia Artificial, Universidad Politcnica de
Madrid.

[PFC01] Nodo IP de visin para la vigilancia remota de eventos contaminantes en
tiempo real.
Este proyecto presenta un software capaz de vigilar un entorno e
identificar elementos agresivos para este entorno como el fuego o la
polucin.

[MERY04] Domingo Mery
Visin por Computador
Departamento de Ciencia de la Computacin, Universidad Catlica de
Chile, Santiago de Chile.

[GONZ06] Grupo de Investigacin EDMANS Ana Gonzalez Marcos, Francisca Javier
Martnez de Pisn Ascacbar, Alpha Vernica Perna Espinosa, Fernando
Alba Espinosa, Manuel Castejn Limas, Joaqun Ordieres Mer, Eliseo
Vergara Gonzlez.
Tcnicas y algoritmos bsicos de visin artificial
Universidad de la Rioja, 2006.



PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

142
Ensayos:

[CORR09] J.A. Corrales, P. Gil, F.A. Candelas y F. Torres.
Diseo de una mini-cmara motorizada para el seguimiento de objetos.
Grupo de automtica, robtica y visin artificial, Universidad de
Alicante, Espaa.

[CDR95] C. Cdras y M. Shah.
Motion-based recognition: a survey. Image and Vision Computing, 1995.

[VINC08] Markus Vincze, Michael Zillich, Wolfgang Ponweiser, Vaclav Hlavac, Jiri
Matas, Stepan Obdrzalek, Hilary Buxton, Jonthan Howell, Kingsley Sage,
Antonis Argyros, Christophe BERST, Gerald Umgeher.
Integrated vision system for the semantic interpretation of activities
where a person handles objects, 2006.
Viena University, Czech Technical University, University of Sussex,
Foundation for Research and Technology Hellas (FORTH) and
PROFACTOR Austria.

[YUIL92] A. Yuille y P. Hallinan.
Deformable Templates. In Active Vision
The MIT Press, A. Blake y A. Yuille (eds.), 1992.

[CURW92] R. Curwen y A. Blake.
Dynamic Contours: Real-time Active Splines.
The MIT Press, A. Blake y A. Yuille (eds.), 1992.

[COHE92] I. Cohen, L.D. Cohen y N. Ayache.
Using deformable surface to segment 3d images and infer differential
structures.
The 2nd European Conference on Computer Vision, pp. 648-652, 1992.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

143
[BEAU95] S.S. Beauchemin y J.L. Barron.
The Computation of Optical Flow.
ACM Computing Surveys, 27(3):443-465, 1995.

[RODR08] J.A. Rodriguez, A. Garcia, C. Urdiales, A. Bandera y F. Sandoval.
Deteccin y seguimiento de objetos en entornos dinmicos mediante
estimacin predictiva del Flujo ptico. Dpto. de Tecnologa electrnica
de la Universidad de Mlaga, Spain.

[BAND08] A. Bandera, C. Urdiales, F. Arrebola y F. Sandoval.
Introduccin de algoritmos genricos en sistemas de reconocimiento de
objetos 2D.
Dpto. de Tecnologa electrnica de la Universidad de Mlaga, Spain.

[LIU08] Hong Liu, Ze Yu, Hongbin Zha, Yuexian Zou y Lin Zhang.
Robust human tracking base don multi-clue integration and meanshift.
National lab on machine perception, Pekin University, China.

[CUEV06] E.Cuevas, D.Zaldivar, R. Rojas, E. Tapia, M.Perez, A. de la Mora,
R.Cardenas.
Visin artificial: Segmentacin difusa de color.
Divisin de electrnica y computacin, Universidad de Guadalajara,
Mxico. Institut fr Informatik, Freie Universitt Berlin, Deutchland,
2006.

[YANG08] R.Yang and S. Sarkar.
Coupled grouping and matching for sign and gesture recognition.
Computer science and Engineering, university of Florida, USA, 2008.

[PINT08] Dr. Ral Pinto Elas
Aplicaciones de la Visin Artificial
Cenidet (Centro Nacional de Investigacin y Desarrollo Tecnolgico)
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

144
[LEE08] Chan-Su Lee, Ahmed Elgammal
Dynamic shape outlier detection for human locomotion
Department of Electronic Engineering, Yeungnam University, Korea
Department of Computer Science, Rutgers University, NJ 08854, USA

[LAND08] Jose-Luis Landabaso , Montse Pards , Josep Ramon Casas
Shape from inconsistent silhouette
Telefonica I+D (TID), Barcelona, Spain
Technical University of Catalunya (UPC), Barcelona, Spain

[ZHAO08] Qi Zhao , Hai Tao
A motion observable representation using color correlogram
and its applications to tracking
Department of Computer Engineering, University of California, USA

[HSIE08] Jun-Wei Hsieh, Yung-Tai Hsu
Boosted string representation and its application to video surveillance
Department of electrical engineering Yuan Ze University, Taiwan


PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

145
Otras referencias:

[WIKI01] es.wikipedia.org/wiki/Categor%C3%ADa:Dispositivos_de_seguridad
En esta pgina web se hace un recorrido por 14 dispositivos de
seguridad que han sido desarrollados para su uso en nuestra sociedad.

[WIKI02] es.wikipedia.org/wiki/BMP
En esta pgina se explican las principales caractersticas de los Bitmaps,
as como su procedencia adems de otros formatos para imgenes
digitales.

[WIKI03] es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
Gracias a esta pgina se puede profundizar ms sobre el concepto de
programacin orientada a objetos desde un punto de vista ms
convencional.

[WEB001] proton.ucting.udg.mx/expodec/sep98/memoria/e01/e01.html
En esta pgina web se expone el resumen de un proyecto que pretende
instalar en una casa un dispositivo que genere alertas a mviles a partir
de la informacin que recibe de unos sensores.

[WEB002] www.des.udc.es/~adriana/TercerCiclo/CursoImagen/curso/web/Intro.html
En esta entrada web se analizan profundamente cuales son las
transformaciones ms pertinentes para analizar automticamente una
imagen segn sus caractersticas.

[WEB003] http://es.computers.toshiba-europe.com/innovation/NEWSARCHIVE/
archived_news_article.jsp?service=ES&ID=RecoFacial_U400
En esta pgina Toshiba hace publicidad sobre su sistema de
reconocimiento facial.
PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

146
[WEB004] www.codeproject.com
En esta web se ofrecen distintas soluciones software para problemas de
programacin en todas las plataformas de desarrollo conocidas.

[MSDN06] http://msdn.microsoft.com/es-es/default.aspx
Esta es la pgina oficial de Microsoft Visual Studio, en ella se almacenan
soluciones para los lenguajes de programacin de Microsoft, as como la
API de .NET.

[DANS09] www.enriquedans.com/2009/02/misma-funcion-distintas-implicaciones.html
Reconocimiento facial: misma funcin, distintas implicaciones
En esta pgina web se publica una entrada sobre la funcin de
reconocimiento de caras desarrolla por dos empresas distintas, Apple y
Google. En ella se expresa la duda que generan los diferentes usos de
de dos aplicaciones con las mismas funcionalidades.
Enrique Dans, Investigacin y opinin de los Sistemas y Tecnologas de
la Informacin, 28 de febrero de 2009.

[PARD96] tapec.uv.es/pardo/doctorado/curso_pardo/tesis.ppt
Fernando Pardo Carpio
Directores: Bart Dierickx y Gregorio Martn Quetgls
Sensor Retnico Espacio Variante Basado en Tecnologa CMOS
Dpt. Informtica y Electrnica- Universidad de Valencia.
[MUO09] http://www.htcmania.com/showthread.php?p=376663
Yahoo y Comel crean un mtodo de reconocimiento facial para usar en
publicidad
Julio Muoz el 16 de Mayo del 2009




PROTOTIPO DE UN SISTEMA DE VIDEO VIGILANCIA

147

Potrebbero piacerti anche