You are on page 1of 75

[Escriba su direccin] [Escriba Universidad Autnoma[Escriba su direccin de correoCiencias de la Computacin Benemrita su nmero de telfono] de Puebla Facultad de electrnico]

CHRISTIAN ONASSIS SNCHEZ BARRETO JUAN FERNANDO ELVIRA RAMIREZ

BENEMRITA UNIVERSIDAD AUTNOMA DE PUEBLA


Facultad de Ciencias de la Computacin

Vigilancia WEB basada en comparacin de objetos y alerta en mviles

Tesis Profesional para obtener el ttulo de: Ingeniero en Ciencias de la Computacin

Presenta: Christian Onassis Snchez Barreto

Asesor: M. C. Jos Esteban Torres Len

Verano 2011

CONTENIDO
1. 1.1 1.2 1.3 INTRODUCCIN... 1 VISIN ARTIFICIAL..... 1 VIGILANCIA WEB.................... 3 OBJETIVOS.................. 4 1.3.1 Objetivo General..... 4 1.3.2 Objetivos Especficos..................4

2.

MVILES Y MICROEDITION.................... 5 DESCRIPCIN DE LA PLATAFORMA JAVA. 5 JAVA MICRO EDITION (JAVA ME).................. 6 2.2.1 Configuraciones.................. 7 2.2.2 Perfiles.................. 8 2.2.3 MIDlets.8 2.3 HERRAMIENTAS DE DESARROLLO................... 10 2.3.1 NetBeans.................. 10 2.3.1.1 Introduccin.. 10 2.3.1.2 Instalacin de NetBeans 6.8 11 2.3.2 Java Wireless Toolkit..15 2.3.3 Access Point.16 2.3.4 Cmara IP 17 2.3.4.1 Instalacin de Cmara IP 18 2.3.5 Dispositivo Mvil... 22 2.3.5.1 Programacin en celulares.. 22 2.3.5.2 S60 Developer Tool(Simulador para los Nokia).. 23 2.3.5.3 Caractersticas del Nokia N95 24 2.3.5.4 Ligar Emulador con NetBeans................... 24 2.1 2.2 PROCESAMIENTO DE IMGENES.. 28 ADQUISICIN DE IMGENES.. 29 FILTRADO DE IMAGENES. 30 PREPROCESAMIENTO DE LA IMAGEN. 32 3.3.1 Umbralizacin. 33 3.3.2 Deteccin de Bordes... 34 3.3.2.1 Gradiente... 34 3.3.2.2 Laplaciano. 35 3.4 SEGMENTACIN DE IMGENES 36 3.5 RECONOCIMIENTO DE FORMAS.... 39 3.5.1 Transformada de Hough... 40 3.5.1.1 Deteccin de Lneas. 40 3.5.1.2 Deteccin de Crculos.. 41 3.1 3.2 3.3 ANALISIS DE REQUERIMIENTOS... 43 PLANTEAMIENTO DEL PROBLEMA... 43 DESCRIPCIN GENERAL DEL SISTEMA43 4.2.1 Contexto del Sistema..44 4.2.2 Metodologa 44 4.2.3 Cronograma de Actividades. 44 4.2.4 Infraestructura 45 4.3 ESTADO DEL ARTE.. 45 4.5 ESPECIFICACIN DEL SISTEMA.. 47 4.1 4.2

3.

4.

5. 5.1 5.2

DISEO Y TRABAJO. 48 DIAGRAMA DE CASOS DE USO... 48 MODELADO DEL DISEO. 53 5.2.1 Diagrama de Clases53 5.2.2 Diagrama de Colaboraciones 54 5.2.3 Diagrama de Despliegue... 54 DESARROLLO 55 ARQUITECTURA DEL SISTEMA................................... 55 CREANDO UNA NUEVA APLICACIN................. 56 INTERFAZ GRFICA DEL SISTEMA (SIMULADOR)....................59 PRUEBAS Y RESULTADOS..................... 64

6. 6.1 6.2 6.3 7. 8. 8.1 8.2 9. 10. 11. 12.

CONCLUSIONES Y PERSPECTIVAS 66 CONCLUSIONES... 66 PERSPECTIVAS.. 67 APENDICE A: FIGURAS... 68 APENDICE B: TABLAS. 70 APENDICE C: FORMULAS.. 71 REFERENCIAS 72

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

INTRODUCCIN

CAPTULO 1. Introduccin
En la actualidad, el reconocimiento de imgenes es una herramienta de gran utilidad en el rea de control y automatizacin. Varias empresas usan el reconocimiento de imgenes en procesos de control de calidad en donde intervienen defectos y seleccin de productos. Realizar un buen reconocimiento de imgenes requiere de un complejo sistema de procesamiento digital, que puede ser extremadamente difcil de implementar. De acuerdo con el propsito de sta tesis, se emplea el reconocimiento de imgenes para la determinacin de la forma y el lugar de un objeto en una imagen. En el presente proyecto, titulado Vigilancia WEB basada en comparacin de objetos y alerta en mviles, se propone resolver el problema de identificar objetos nuevos, de un escenario predefinido y avisar de esta anomala, a travs de una imagen, enviada a un celular, a los usuarios. El proyecto permite tomar imgenes del mundo real a travs de una cmara IP, sta est conectada a internet. La imagen que llega al servidor, se procesa y se enva a un celular del usuario, una vez que dentro del procesamiento de imgenes se ha identificado un objeto raro, ajeno a un conjunto de objetos. 1.1 VISIN ARTIFICIAL La visin artificial, tambin conocida como visin por computador o visin tcnica, es un subcampo de la inteligencia artificial. El propsito de la visin artificial es programar una computadora para que "entienda" una escena o las caractersticas de una imagen. DETECCIN DE BORDES Se conoce como bordes a los lmites de un objeto. Detectarlos es de suma importancia para realizar tareas de segmentacin, registro e identificacin de objetos en una imagen. Las tcnicas de deteccin de bordes se basan en la determinacin de los puntos en que se produce una variacin de la intensidad de gris del pixel. Los mtodos para la deteccin de borde se basan en el operador derivada. Con la deteccin de bordes se pretende realzar los contornos de los objetos que aparecen en una imagen, dndoles mayor nitidez. Lo anterior es requisito previo para realizar la segmentacin. Para tener una idea ms completa de la deteccin de bordes, la figura 1-1 nos muestra resultados obtenidos en la deteccin de bordes usando diferentes tcnicas.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

INTRODUCCIN

Figura 1-1. Deteccin de bordes usando diferentes tcnicas

SEGMENTACION DE LA IMAGEN En aplicaciones donde se requiere extraer la informacin de una imagen es imprescindible aplicar segmentacin. Este trmino se refiere a la divisin de la imagen en regiones que corresponden a unidades estructurales en la escena o en la distincin de objetos de inters. La segmentacin es uno de los pilares bsicos de la visin artificial, ya que permite resaltar un objeto separndolo del fondo, una de sus aplicaciones es reconocer si un objeto corresponde a una imagen patrn o de referencia (reconocimiento de objetos). La segmentacin se basa en tres propiedades: a. Similitud: Cada uno de los elementos tiene propiedades parecidas de color, textura, etc. b. Discontinuidad: Los objetos destacan del entorno y tienen por tanto unos bordes definidos. Lo mismo ocurre si existe un ocultamiento parcial de un objeto por parte de otro. La segmentacin fallar si no se ha delimitado adecuadamente al objeto de inters. c. Conectividad: Los pixeles deben de estar agrupados. Las anteriores propiedades se realizan por medio de herramientas de procesamiento de imgenes bsicas, tales como umbralizacin, deteccin de bordes, filtros digitales, etc.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

INTRODUCCIN

RECONOCIMIENTOS DE OBJETOS En muchas aplicaciones es necesario determinar los objetos presentes en una imagen (deteccin de etiquetas, de seales de trnsito, etc.), para controles industriales, anlisis mdicos, medios publicitarios, etc. Este proceso es una de las ltimas etapas dentro de lo que es la visin artificial y una de las ms difciles de llevar a cabo. El reconocimiento de objetos consiste en buscar un objeto y compararlo con un patrn ya dado (imagen predefinida) y se toma una decisin si al compararlos son iguales o diferentes. Las etapas para lograr el reconocimiento de objetos son: 1. Adquirir la imagen y darle las caractersticas ptimas para la aplicacin que se desea (aplicar filtrado de ruido, umbralizacin, etc.) 2. Segmentar la imagen a procesar es obtener todos los objetos presentes en la imagen (formacin de hiptesis). 3. En base a la hiptesis se comparan los objetos encontrados en la imagen con el patrn (disponible en una base de datos). Si encontr el objeto, la bsqueda acaba, en caso contrario contina la iteracin hasta terminar de comparar todos los objetos encontrados en la imagen. 1.2 VIGILANCIA WEB La tecnologa ha puesto a disposicin de uno un dispositivo que emula al ojo humano y que permite controlar a travs de imgenes todo lo que ocurre dentro del permetro de visin de su lente, es decir, las cmaras de vigilancia. Las cmaras de vigilancia, forman parte de lo que se conoce como circuito cerrado de televisin o su acrnimo CCTV, es una tecnologa de vdeo vigilancia diseada para supervisar una diversidad de ambientes y actividades. El circuito puede estar compuesto, simplemente, por una o ms cmaras de vigilancia conectadas a uno o ms monitores o televisores, que reproducen las imgenes capturadas por las cmaras. Aunque, para mejorar el sistema, se suelen conectar directamente o enlazar por red otros componentes como vdeos u ordenadores. Es muy parecida al sistema de monitoreo satelital, en donde nos envan las imgenes de nuestra vivienda al celular. Por ltimo, es importante que se tenga en cuenta el hecho de que si bien son convenientes, se debe decir que no ha mucha gente le gusta que una pgina de Internet monitoree su casa; no obstante es importante que se tenga en cuenta que tanto nuestra propiedad como nuestros datos se encuentran completamente protegidos, de manera que slo uno tendr acceso a ellos.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

INTRODUCCIN

1.3 OBJETIVOS

1.3.1 OBJETIVO GENERAL Desarrollar una aplicacin de vigilancia Web, basada en

procesamiento de imgenes, y que al detectarse objetos ajenos a un escenario, se de alerta en celulares


1.3.2 OBJETIVOS ESPECFICOS Investigar y seleccionar el dispositivo apropiado para la aplicacin. Diseo y desarrollo de la aplicacin Web Diseo y desarrollo de los algoritmos de procesamiento de imgenes para reconocer formas en el servidor. Desarrollo de la aplicacin para comunicar al cliente (dispositivo mvil) con el servidor para transmitir imgenes.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

CAPTULO 2 Mviles
El uso de dispositivos mviles, ya es una realidad, y la gama de aplicaciones es inmensa, actualmente existen proyectos donde a travs del uso de cmaras WEB es posible monitorear reas desde un dispositivo mvil o dispositivo remoto. 2.1 DESCRIPCIN DE LA PLATAFORMA JAVA El usuario final de cualquier tecnologa suele demandar cada vez mayor capacidad a esta a un costo ms bajo. El desarrollo e implantacin de la conectividad global a travs de la telefona mvil supuso que un usuario necesitar y demandar mejores servicios de sta y es ah donde entra Java. Un dispositivo que en un principio solo serva para comunicarse por medio del habla, ahora sirve para enviar mensajes de texto, como grabadora, cmara de fotos o vdeo, etc., pero para ciertos usos, como el de incluir conectividad a internet o desplegado de documentos en el dispositivo, no se puede depender solamente del hardware sino que se necesita software. Java fue concebido en su origen para dar la posibilidad a cualquier dispositivo electrnico de consumo de tener un software y poder mejorar as su rendimiento. Es posible incluir Java en casi cualquier tipo de hardware existente, por pequeo que sea este. Java es un nmero de productos de software y especificaciones creadas por Sun Microsystems, que juntos crean un entorno para desarrollo de aplicaciones independientes de la plataforma. Java puede ser utilizado en una amplia variedad de plataformas computacionales, como pueden ser telfonos celulares, dispositivos mviles, PCs, servidores web, empresariales y de aplicaciones, e incluso en supercomputadoras. Las sintaxis para programacin en el lenguaje Java es parecida a las de C y C++, pero eliminando algunas estructuras de bajo nivel como los apuntadores y el manejo detallado de memoria, aspectos manejados automticamente mediante la mquina virtual de Java (JVM), permitiendo una programacin ms sencilla pero con resultados no menos complejos. La mquina virtual de Java (JVM) es el componente crtico de la plataforma Java, y es el nico componente que debe crearse para ejecutarse en una plataforma especfica de hardware o software, esta mquina virtual permite interpretar, compilar y ejecutar el cdigo de un programa (bytecode),

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

no importando en que plataforma se haya programado, asegurando la portabilidad de la plataforma Java y su fcil adaptacin a las tecnologas emergentes. Algunos productos que utilizan ampliamente tecnologas Java son los siguientes: Android (Sistema Operativo para mviles). Discos Blu-Ray. Google Maps. Mifos (Plataforma para instituciones de microfinanzas). SAP NetWeaver (Servidor de aplicaciones). Existen tres grandes versiones de Java, cada una para un mercado diferente: Java Platform, Standard Edition (Java SE): Permite crear applets y aplicaciones para computadoras personales y servidores. Java Platform, Enterprise Edition (Java EE): Es el estndar Java para la industria, se utiliza para crear aplicaciones para empresas y web. Java Platform, Micro Edition (Java ME): Permite crear aplicaciones para dispositivos mviles y con memoria limitada. Otras tecnologas de Java que vale la pena mencionar son: JavaFX: Esta versin de Java est optimizada para crear aplicaciones altamente interactivas especficas para Internet (Rich Internet Applications). Java Runtime Environment (JRE): De manera autnoma provee libreras, la mquina virtual de Java y los componentes necesarios para ejecutar applets y aplicaciones creados con Java. 2.2 JAVA MICRO EDITION (JAVA ME) J2ME es el acrnimo de Java 2 Micro Edition. J2ME es la versin de Java orientada a los dispositivos mviles. Debido a que los dispositivos mviles tienen una potencia de clculo baja e interfaces de usuario pobres, es necesaria una versin especfica de Java destinada a estos dispositivos, ya que el resto de versiones de Java, J2SE o J2EE, no encajan dentro de este esquema. J2ME es por tanto, una versin reducida de J2SE. La configuracin es un mnimo grupo de APIs (Application Program Interface), tiles para desarrollar las aplicaciones destinadas a un amplio rango de dispositivos. La configuracin estndar para los dispositivos inalmbricos es conocida como CLDC (Connected Limited Device Configuration). El CLDC proporciona un nivel mnimo de funcionalidades para desarrollar aplicaciones para un determinado conjunto de dispositivos inalmbricos. Se puede decir que CLDC es el conjunto de clases esenciales para construir aplicaciones.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

En la arquitectura de J2ME, por encima de la configuracin, se tiene el perfil (profile). El perfil es un grupo ms especfico de APIs, desde el punto de vista del dispositivo. Es decir, la configuracin se ajusta a una familia de dispositivos, y el perfil se orienta hacia un grupo determinado de dispositivos dentro de dicha familia. El perfil, aade funcionalidades adicionales a las proporcionadas por la configuracin. No se pueden crear aplicaciones Java ME sin conocer de antemano la configuracin y el perfil al que van destinados, o sin conocer qu paquetes opcionales estn disponibles. En estos conceptos se encuentran las definiciones que determinan las caractersticas de Java que se pueden emplear, qu APIs usar y cmo se empaquetan, as como sobre cmo se realiza la distribucin de las aplicaciones. 2.2.1 Configuraciones En resumen, una configuracin, que provee las libreras y capacidades de la mquina virtual ms bsicas para utilizarse en una familia de dispositivos con capacidades similares. Una configuracin consiste en un entorno de ejecucin Java completo que define el entorno de ejecucin bsico de Java ME. Su objetivo es adecuarse a las necesidades de una familia de dispositivos con capacidades similares. Cualquier configuracin est formada por tres elementos: Una mquina virtual Java para ejecutar el bytecode de la aplicacin. Cdigo nativo para realizar la interfaz entre Java y el sistema operativo del dispositivo. Un conjunto de clases Java que constituyen el entorno de ejecucin. Aunque una configuracin proporcione un entorno Java completo, su conjunto base de clases es reducido y debe ser ampliado por medio de perfiles o bien por clases propias definidas por el desarrollador. Las configuraciones no son pensadas como una solucin completa, sino como un punto de partida, una base comn para crear APIs adicionales. Actualmente estn definidas dos configuraciones: Connected Device Configuration (CDC) y Connected Limited Device Configuration (CLDC). Connected Limited Device Configuration (CLDC): Esta Configuracin para Dispositivos con Conexin Limitada (CLDC) fue creada para poder mantener las caractersticas de Java sobre dispositivos de capacidades de procesamiento y memoria muy limitadas como telfonos celulares, pagers o PDAs.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Connected Device Configuration (CDC): La Configuracin para Dispositivos Conectados (CDC), est orientada a dispositivos con cierta capacidad computacional y memoria, adems deben poder conectarse a la red, de modo generalmente inalmbrico. CDC usa una mquina virtual Java similar a la de J2SE pero con limitaciones grficas y de memoria. Esta mquina virtual es llamada CVM (Compact Virtual Machine). 2.2.2 Perfiles Mientras que la configuracin define las caractersticas de las APIs de una familia de dispositivos, los perfiles definen las caractersticas de las APIs de cada dispositivo. Por eso, a la hora de construir una aplicacin se necesitan tanto las APIs del perfil del dispositivo como de la configuracin. Un perfil dado dota de funcionalidad especfica a una configuracin. Foundation Profile (FP): Este perfil es el de nivel ms bajo asociado a CDC, ya que los perfiles CDC pueden ser vistos como capas que se aaden a para proveer funcionalidades a los diferentes dispositivos. FP suministra una implementacin de CDC con capacidades de acceso a red que se utiliza para aplicaciones embebidas en alto grado y sin interfaz de usuario. Personal Profile (PP): es un perfil diseado expresamente para dispositivos con una interfaz grfica completa y con posibilidad de ejecucin de applets. Incluye adems las bibliotecas del Abstract Windows Toolkit (AWT); aadiendo as, una interfaz de usuario bsica. Personal Basis Profile (PBP): es un subconjunto de PP que suministra un entorno para dispositivos que se puedan conectar a una red y que dispongan de una interfaz un poco ms desarrollada que aquellos que posean los dispositivos donde PP va dirigido. PDA Profile (PDAP): Diseado para PDAs que tengan pantallas de mayor resolucin y ms memoria que los telfonos mviles. Game Profile (GP): Ofrece una plataforma para escribir juegos en dispositivos CDC. 2.2.3 MIDlets Las aplicaciones MIDP se denominan MIDIet, un MIDIet es un programa en lenguaje de programacin Java para dispositivos embebidos (se dedican a una sola actividad), ms especficamente para la mquina virtual de Java ME. Generalmente son aplicaciones y juegos que corren en un telfono mvil y estn desarrollados bajo el perfil MIDP.

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

El ciclo de desarrollo de un MIDIet es el siguiente: Crear y editar. Compilar. Pre-verificar MIDIet. Ejecucin en el emulador. Ejecucin en el dispositivo. Una vez realizados los MIDIets tienen que ser distribuidos en dos archivos especiales. Son los archivos JAR (Java Archive) y los archivos JAD (Java Application Descriptor). Un archivo JAR es un archivo comprimido (en formato ZIP) que contiene los archivos de clases (.class) que se han generado en la compilacin del programa. Adems puede contener los recursos necesarios para el MIDIet como son sonidos, grficos, etc. Finalmente, contiene un archivo con extensin .mf, es lo que se llama un archivo de manifiesto. Este archivo contiene informacin sobre las clases contenidas en el archivo JAR. El segundo archivo necesario para la distribucin de MIDIets son los archivos JAD. El archivo JAD contiene informacin necesaria para la instalacin del MIDIet contenido en el archivo JAR. Existen varias formas para transferir los archivos JAR y JAD al dispositivo mvil con soporte Java ME, esto dependiendo de la marca y modelo del dispositivo. Si el dispositivo tiene soporte de infrarrojos o Bluetooth, y la computadora tiene puerto IrDA o Bluetooth, se podr transferir fcilmente el archivo sin necesidad de cable alguno. Si no, se tendr que recurrir a un cable de datos. Otra posibilidad es poner los archivos JAR y JAD en un servidor WAP o HTTP y descargarlo directamente desde el mvil. Para ello es necesario que el dispositivo tenga un navegador WAP o web y soporte GPRS, EDGE o 3G para una descarga fiable. Para que una aplicacin MIDP trabaje en un dispositivo mvil, se requiere un dispositivo que implemento Java ME y MIDP para ser utilizada. Como otros programas desarrollados en Java, tienen la caracterstica, "Escribir una vez, ejecutar en cualquier parte" ("Write once, run anywhere"). Para escribir los programas se puede obtener el Sun Java Wireless Toolkit o NetBeans con el Mobility Pack. Para las distribuciones son necesarios dos archivos, archivo -JAR, conteniendo el bytecode del programa y un archivo .JAD que describe los contenidos del archivo .JAR. Un MIDIet tiene que cumplir los siguientes requisitos para poder funcionar en un dispositivo mvil: La clase principal necesita ser una subclase de javax.microedition.midlet.MIDIet

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

El MIDIet necesita estar empacado dentro de un archivo -JAR. El archivo .JAR necesita ser pre-verificado usando un preverificador. En algunos casos, el archivo -JAR necesita ser firmado digitalmente por un proveedor de dispositivos mviles. 2.3 HERRAMIENTAS DE DESARROLLO A continuacin se describen brevemente cada una de las herramientas de hardware y software utilizadas en la creacin de este proyecto. 2.3.1 NetBeans NetBeans es un entorno de desarrollo de aplicaciones (IDE) desarrollado en Java por Sun Microsystems, este brinda a los desarrolladores todas las herramientas necesarias para crear aplicaciones de escritorio, empresariales, web y mviles, NetBeans es fcil de instalar y utilizar y corre en varios sistemas operativos, incluyendo Windows, Linux, Mac OS X y Solaris. Para su funcionamiento, NetBeans necesita una mquina virtual de Java instalada en el sistema operativo, la cual puede ser una previamente instalada o la versin de Java 2 Standard Edition (J2SE) incluida con NetBeans. 2.3.1.1 Introduccin Hoy en da existen multitud de entornos de desarrollo o IDEs para disear e implementar aplicaciones para dispositivos mviles y concretamente para hacerlo usando el lenguaje J2ME, tales como Eclipse, JBuilder, IntelliJ o NetBeans, entre otros. El entorno NetBeans es un proyecto de cdigo abierto de gran xito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundo el proyecto de cdigo abierto NetBeans en junio de 2000 y contina siendo el patrocinador principal de los proyectos. Algunas caractersticas de NetBeans son las siguientes: Gratuito. Fcil construccin de aplicaciones tanto de escritorio como mviles combinado con un constructor de interfaces grficas de usuario (GUI). Creacin de aplicaciones web con Cascading Style Sheets (CSS), JavaScript y JavaServer Pages (JSP). Adems de aplicaciones Java y web, puede utilizarse para programar aplicaciones en C, C++, PHP, Symfony, Groovy, Grails, Ruby, Ruby on Rails y Python. Documentacin en lnea.

10

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

2.3.1.2 Instalacin de NetBeans Para instalar IDE NetBeans 6.8 en Windows XP, Vista, 7. Slo necesitamos descargar la ltima versin desde el sitio oficial: NetBeans IDE Download.

Del enlace anterior, tendremos una vista similar a la imagen (ver figura 2-1). Seleccionamos la versin ms completa, elegimos el idioma y la compatibilidad con el sistema operativo. Damos clic en descargar.

Figura 2-1. Icono del programa NetBeans 6.8

Una vez descargado el programa, se ejecuta el instalador (ver figura 2-2).

Figura 2-2. Instalador del NetBeans IDE 6.8

Se espera un momento a que el instalador recopile informacin del sistema. Posteriormente seleccionamos los componentes que deseamos instalar y damos clic en Next.

Los componentes que no se seleccionan se pueden instalar desde el IDE NetBeans.

11

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-3. Trminos y condiciones del programa

Se Aceptan los trminos y condiciones de uso (ver imagen 2-3).

Figura 2-4. Ubicacin donde quedara instalado el NetBeans 6.8

Se define el directorio de instalacin para el IDE NetBeans 6.8 y seleccionamos la versin ms actual de Java JDK (en caso de tener muchas versiones).

12

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-5. Ubicacin donde quedara instalado el GlassFish

Se define el directorio de instalacin para GlassFish, deje ste parmetro tal cual (ver figura 2-5).

Figura 2-6. Ubicacin donde quedara instalado el Apache Tomcat

Se define el directorio de instalacin para Apache Tomcat, deje ste parmetro tal cual (ver figura 2-6).

13

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-7. Verificacin de los requerimientos antes de comenzar la instalacin

El instalador da una lista de la informacin que usar para realizar la instalacin, si todo est en orden (ver figura 2-7). Daremos clic en Install.

Figura 2-8. Progreso de la instalacin

Esperar a que el instalador haga lo suyo. Seleccionar la casilla que indica nuestro aporte annimo al proyecto y quitamos la marca de la casilla para registrarnos. Finalmente pulsamos en Finish.

Ahora ya se puede usar el IDE NetBeans 6.8 instalado en la computadora.

14

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

2.3.2 Java Wireless Toolkit El Sun Java Wireless Toolkit es un toolbox para probar aplicaciones para dispositivos mviles basadas en Java Micro Edition y utilizando el Connected Limited Device Configuration (CLDC) y Mobile Information Device Profile (MIDP). Java Wireless Toolkit se puede descargar del sitio Java de Sun Microsystems, provee de un compilador (incluye CLDC y MIDP) y organizador de proyectos. Se crea en este programa un proyecto y automticamente se generan las carpetas donde se han de guardar los cdigos fuente, las clases, imgenes y otros accesorios que la aplicacin utilice. Disponible para Windows y Linux. En la figura 2-9 se muestra la barra de herramientas de JWT (Java Wireless Toolkit).

Figura 2-9. Barra de herramientas de JWT (Java Wireless Toolkit)

Este toolkit incluye entornos de emulacin de dispositivos, caractersticas de optimizacin, documentacin y ejemplos para crear aplicaciones mviles eficientes.

Figura 2-10. Emulador del Java Wireless Toolkit

15

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

2.3.3 Access Point Un punto de acceso inalmbrico (WAP o AP por sus siglas en ingls: Wireless Access Point) en redes de computadoras es un dispositivo que interconecta dispositivos de comunicacin inalmbrica para formar una red inalmbrica. Normalmente un WAP tambin puede conectarse a una red cableada, y puede transmitir datos entre los dispositivos conectados a la red cable y los dispositivos inalmbricos. Muchos WAPs pueden conectarse entre s para formar una red an mayor, permitiendo realizar "roaming". Por otro lado, una red donde los dispositivos cliente se administran a s mismos -sin la necesidad de un punto de acceso- se convierten en una red ad-hoc. Los puntos de acceso inalmbricos tienen direcciones IP asignadas, para poder ser configurados. Son los encargados de crear la red, estn siempre a la espera de nuevos clientes a los que dar servicios. El punto de acceso recibe la informacin, la almacena y la transmite entre la WLAN (Wireless LAN) y la LAN cableada. Un nico punto de acceso puede soportar un pequeo grupo de usuarios y puede funcionar en un rango de al menos treinta metros y hasta varios cientos. Este o su antena son normalmente colocados en alto pero podra colocarse en cualquier lugar en que se obtenga la cobertura de radio deseada. El usuario final accede a la red WLAN a travs de adaptadores. Estos proporcionan una interfaz entre el sistema de operacin de red del cliente (NOS: Network Operating System) y las ondas, mediante una antena inalmbrica.

Figura 2-11. Access Point SMCWEBT-G

16

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Acceder a la configuracin basada en Internet 1. Configure su adaptador Ethernet. Este adaptador est conectado al dispositivo SMCWEBT-G con un cable Ethernet y para una direccin IP esttica dentro del rango 192.168.2.xxx, donde xxx debe ser un nmero entre 1 y 254. No utilice la direccin 192.168.2.25. Consulte el manual de instrucciones si desea obtener informacin adicional sobre la configuracin y las direcciones IP. 2. Como mscara de subred, escriba [255.255.255.0] durante la configuracin de IP si no aparece seleccionada automticamente. 3. Abra su navegador de Internet y escriba [http://192.168.2.25/]. 4. De este modo acceder a la configuracin de SMCWEBT-G basada en Internet. Escriba la contrasea de administrador (la contrasea predeterminada es [smcadmin]) para acceder a las pginas html en las que figuran instrucciones adicionales. Nota: Si ya ha configurado el adaptador Ethernet para esta direccin IP, ahrrese escribir en su navegador de Internet la direccin IP como URL pulsando en el enlace [Access the Web-based Configuration] (Acceder a la configuracin basada en Internet). Su navegador predeterminado se iniciar automticamente y cargar la pgina de inicio de la unidad SMCWEBT-G. 2.3.4 Cmara IP Una cmara IP, es una cmara que emite las imgenes directamente a la red (Intranet o internet) sin necesidad de un ordenador. Las cmaras IP permiten ver en tiempo real qu est pasando en un lugar, aunque est a miles de kilmetros de distancia. Son cmaras de gran calidad que tienen incluido un ordenador a travs del que se conectan directamente a Internet. Una cmara IP (o una cmara de red) es un dispositivo que contiene: Una cmara que capta las imgenes. Un chip de compresin que prepara las imgenes para ser transmitidas por Internet. Un ordenador que se conecta por s mismo a Internet.

Figura 2-12. Cmara IP DCS-5300

17

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

2.3.4.1 Instalacin de Cmara IP Se insertar el CD que viene en la cmara para instalar el software y presione Install Software (ver imagen 2-13).

Figura 2-13. Men principal del software de la cmara

Luego presionamos Installation Wizard, con este paso comenzar la instalacin del software (ver figura 2-14).

Figura 2-14. Instalacin de la Cmara IP

Presione Next hasta llegar a la opcin Finish.

18

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Con este procedimiento nos aparecer en el escritorio, un icono como lo muestra la figura 2-15:

Figura 2-15. Icono del software de la cmara

Haremos doble clic con el Mouse para que se abra la siguiente ventana de exploracin:

Figura 2-16. Progreso de la instalacin

Figura 2-17. Men de la cmara D-Link

En este recuadro se mostrara la cmara Dcs-5300 con su respectiva mac Address, debemos tildar y luego presionar Setup (ver figura 2-17).

19

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-18. Opciones de seguridad de la cmara

En donde podemos ingresar una contrasea para la cmara y un nombre, el cual ya viene predefinido (ver figura 2-18), luego presionamos Next.

Figura 2-19. Opciones de direcciones para la conexin inalmbrica

En esta ventana se debe establecer la direccin IP, Subset Mask y Default Router o Gatewey. Es importante que retiremos el Tilde en RESET IP ADDRESS AT NEXT BOOT. Esto impedir que la IP que le hemos asignado, cambie en caso de corte de electricidad o reboteo de la cmara.

20

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Luego presionar Next.

Figura 2-20. Finalizacin de la instalacin y configuracin del software de la cmara

Para Finalizar presionar Apply. Aparecer la siguiente ventana, debemos presionar Done para que actualice la informacin ingresada y posteriormente presionar Link to Selected Device (ver figura 2-21).

Figura 2-21. Bsqueda de dispositivos

21

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Luego de esto se abrir el navegador de Internet como lo muestra la figura 2-22.

Figura 2-22. Vista de la cmara Ip desde una pgina WEB

En esta imagen, la cmara ya se encuentra configurada. 2.3.5 Dispositivo Mvil Los dispositivos mviles (tambin conocidos como computadora de mano) son aparatos de pequeo tamao, con algunas capacidades de procesamiento, mviles o no, con conexin permanente o intermitente a una red, con memoria limitada, diseados especficamente para una funcin, pero que pueden llevar a cabo otras funciones ms generales. 2.3.5.1 Programacin en Celulares Inicialmente surgieron juegos muy bsicos, como por ejemplo el clsico de Snake Serpiente, en donde se recolectaban esferas, o cuadrados, en un escenario, adems de aplicaciones como editores de texto entre otras. Sin embargo surgi un problema, haban muchos fabricantes de celulares, con muchos modelos, y cada uno con maneras de programar (lenguajes de programacin) diferentes, lo cual haca imposible tener el mismo juego, sin cambiar su cdigo (instrucciones del lenguaje), en diferentes dispositivos. Esto provoc que Sun Microsystems junto con un buen nmero de fabricantes de dispositivos mviles unieran esfuerzos, alrededor del ao 2000, para obtener un conjunto de libreras de componentes (clases) para conformar un subconjunto del lenguaje de programacin Java 2 simplemente Java (el cual fue hecho por Sun y se usa para aplicaciones de PC, Web, etc.) que sirviera

22

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

para los aparatos existentes (celulares, Asistentes Digitales Personales-PDA, etc.) y por venir (la nueva generacin de N-Gage de Nokia, etc.), y que adems los programas desarrollados con l fueran ejecutables (usables) en al menos el mismo tipo de dispositivo sin necesidad de cambiar su cdigo. Esto tuvo como resultado al lenguaje de programacin Java 2 Micro Edition (J2ME) que hoy se conoce como Java Micro Edition (Java ME JME) y es soportado por la gran mayora de mviles actuales. 2.3.5.2 S60 Developer Tool(Simulador para los Nokia) Descargamos la herramienta de desarrollo de Emulador para los Nokia para poder trabajar en un entorno de desarrollo en Java, para despus integrarlo junto con NetBeans para poder desarrollar aplicaciones en Java para este tipo de Mviles.

Figura 2-23. Pagina de descarga de S60 Developer Tools

Figura 2-24. Emulador para los Nokia

23

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

2.3.5.3 Caractersticas del Nokia N95 Smartphone con sistema operativo Symbian OS v9.2Especificaciones Tcnicas. El telfono Nokia N95 funciona en la red inalmbrica GSM a 850/900/1800/1900 MHz. Tiene 99 mm de altura, 53 mm de ancho y 21 mm de profundidad. La antena del celular es interna. El peso del telfono (Smartphone) es 120 gramos. Navegacin WEB: WAP 2.0, S60 OSS Browser Wi Fi: 802.11b/g Conexiones de alta velocidad: GPRS, EDGE, HSDPA, UMTS Modem: S Sincronizacin con PC: S Infrarrojo: S Bluetooth: S USB: S 2.3.5.4 Ligar Emulador con NetBeans Una vez instalado la plataforma de desarrollo y el emulador para los Nokia procedemos a ligar estas herramientas para el desarrollo de una aplicacin para estos dispositivos. Nos dirigimos hacia el Men Herramientas->NetBeans Platforms, para poder instalar la herramienta de desarrollo (ver figura 2-25).

Figura 2-25. Instalacin de la herramienta de desarrollo

Nos aparece un nuevo cuadro de dilogo que nos permite adjuntar nuevas plataformas a NetBeans, seleccionamos Add Platform (ver figura 2-26).

24

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-26. Agregar una nueva plataforma

Aqu permite seleccionar el tipo de plataforma que se desea instalar dentro de NetBeans, se selecciona el tipo de plataforma que deseamos instalar, en este caso ponemos Java ME MIDP Platform Emulator y pulsamos Siguiente (ver figura 2-27).

Figura 2-27. Seleccin de la plataforma Java ME MIDP Platform Emulator

Despus se busca donde se encuentra instalado el Emulador que deseamos instalar, para nuestro caso est instalado C: \S60\, lo seleccionamos y damos en siguiente para que busque el emulador (ver figura 2-28).

25

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Figura 2-28. Ruta en la que se encuentra ubicada la plataforma

Busca la nueva plataforma dentro de la ruta que se seleccion para poder instalarla, junto con todas sus herramientas (ver figura 2-29).

Figura 2-29. Deteccin de las plataformas instaladas

26

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

MVILES

Una vez que encontr el emulador, lo seleccionamos y damos siguiente para que proceda con la instalacin (ver figura 2-30).

Figura 2-30. Seleccin del emulador que se va a utilizar

Y finalmente agrega el Emulador al entorno de trabajo de NetBeans para que se pueda utilizar para realizar nuevas aplicaciones para los Nokia (ver figura 2-31).

Figura 2-31. Ligar el emulador al entorno de NetBeans

27

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

CAPTULO 3. Procesamiento de Imgenes


Se refiere a procesar las imgenes del mundo real de manera digital por medio de una computadora. Es un tema muy amplio, en el que se incluyen estudios de fsica, matemticas, ingeniera elctrica, computacin. El procesamiento de imgenes estudia los fundamentos conceptuales de la adquisicin y despliegue de imgenes y con detalle los fundamentos tericos y algortmicos del procesamiento como tal. Tiene adems, como objetivo mejorar el aspecto de las imgenes y hacer ms evidentes en ellas ciertos detalles que se desean hacer notar.

Tabla 3-1. Niveles de visin y procesos del PDI

DEFINICIONES Visin por computadora.- Consiste en la adquisicin, procesamiento, clasificacin y reconocimiento de imgenes digitales. Pxel.- Elemento bsico de una imagen. Imagen.- Arreglo bidimensional de pxeles con diferente intensidad luminosa (escala de gris).

Figura 3-1. Arreglo bidimensional de pixeles

28

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Color.- El color se forma mediante la combinacin de los tres colores bsicos rojo, azul y verde (en ingls RGB). A continuacin se presentan algunas definiciones bsicas para comprender los espacios de color: Brillo.- Indica si un rea est ms o menos iluminado. Tono.- Indica si un rea parece similar al rojo, amarillo, verde o azul o a una proporcin de ellos. Luminosidad.- Brillo de una zona respecto a otra zona blanca en la imagen. Croma.- Indica la coloracin de un rea respecto al brillo de un blanco de referencia. Espacio RGB.- se basa en la combinacin de tres seales de luminancia cromtica distinta: rojo, verde, azul (Red, Green, Blue). La forma ms sencilla de obtener un color especfico es determinar la cantidad de color rojo, verde y azul que se requiere combinar para obtener el color deseado, ver la figura 2; para lo cual se realiza la suma aritmtica de las componentes: X = R + G + B, grficamente representada por un cubo. Mapa de color.- El mapa de color es una matriz de n x 3, donde cada rengln es una tripleta de colores. El primer rengln corresponde al valor mnimo del eje de color y el ltimo rengln al mximo. Al definir diferentes distribuciones de intensidad de los tres colores bsicos, se crean diferentes mapas de color. Histograma de una imagen.- El histograma de una imagen es una representacin del nmero de pxeles de cierto nivel de gris en funcin de los niveles de gris. 3.1 ADQUISICIN DE IMGENES Es el proceso a travs del cual se obtiene una imagen digital utilizando un dispositivo de captura como una cmara digital, video cmara, escner, satlite, etc. Una imagen es un arreglo de pxeles, en nuestro caso datos o valores que deben adquirirse, transformarse y almacenarse para que tengan sentido. Las imgenes de color son arreglos tridimensionales, donde cada dimensin del arreglo representa un canal. Una imagen en escala de grises solamente tiene un canal o banda, sin embargo existen otras a color que pueden contener ms de 3 canales. Es importante comentar que las imgenes se guardan en formatos distintos, que fueron creados para la compresin y/o identificacin de ellas mismas. Cada imagen contiene una gran cantidad de datos numricos y alfanumricos. Al abrir una imagen esta puede estar en varios formatos: JPEG, BMP, TIFF, PNG, GIF, etc.

29

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

3.2 FILTRADO DE IMGENES Las tcnicas de filtrado son transformaciones de la imagen pixel a pixel, que no dependen solamente del nivel de gris de un determinado pixel, sino tambin del valor de los niveles de gris de los pixeles vecinos, en la imagen original.

Tabla 3-2. Tipos de filtros

Se va a decir que filtrar una imagen es hacer una operacin que cambien los valores de dicha matriz, dicha matriz puede cambiar dependiendo de diferentes factores y esto es lo que denomina el tipo de filtrado que puede hacer, a continuacin se describirn algunos de estos tipos de filtrado. Filtros orientados al Pxel. Se pueden definir operaciones estn orientadas al pxel estas operaciones pueden ser tanto aritmticas, lgicas, umbralizacin u operaciones, geomtricas. Estas funciones se caracterizan, por ser aplicadas a cada pxel, sin importar lo que pase a su alrededor de dicho pxel, por ejemplo, se puede definir la funcin del negativo de una imagen de la siguiente forma: G(x, y) = 255 - F(x, y), ver figura 3.1.

30

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

a b Figura 3-2. (a) Imagen original f(x,y), (b) Imagen procesada despus de aplicar G(x,y).

Filtros orientados al histograma. Las transformaciones histograma se pueden realizar mediante funciones de transferencia que corresponden a curvas acotadas entre abscisas y ordenadas con valores entre 0 y 1, es necesario especificar tambin que dicha funcin se tiene que adaptar dependiendo de la profundidad del imagen, que se quiere decir con esto, que si la funcin est acotada entre 0 y 1 y nuestra imagen tiene valores entre 0 y 255 se tendr que escalar nuestra funcin a los valores entre 0 y 255. Estas funciones realizan la funcin de aumentar o disminuir el contraste o la ecualizacin del histograma. Filtrado en el dominio de la frecuencia. Este tipo de filtros consiguen con base en a la repeticin de los pxeles consiguen representar la imagen en el dominio de la frecuencia, de esta forma una vez obtenida la frecuencia de repeticin de los elementos, se puede mover, cambiar o eliminar dichas alteraciones que son repetitivas o que tienen cierta frecuencia dentro del imagen como el ruido, y se puede apreciar directamente elementos como bordes, ruidos o texturas. Uno de los filtros ms conocidos es la transformada de Fourier que est dada por la siguiente frmula:

Formula 3-1. Transformada de Fourier

Al aplicar esta transformada a una imagen queda de la siguiente forma:

a b Figura 3-3. En (a) se muestra la figura original, en (e) se muestra la imagen en el campo de la frecuencia obtenida despus de aplicar la transformada de Fourier.

31

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Filtrado en el dominio espacial. ste tipo de filtrado de imagen tambin conocido como convolucin, est directamente relacionado con los pxeles que se encuentran a su alrededor de tal forma que los pixeles vecinos influyen en el valor del pixel resultante. Filtros Morfolgicos. En esta parte se ve cmo se pueden crear filtros de tal forma que a partir de una imagen binaria se considera el nmero de vecinos que posee un pxel, para aplicar una erosin o dilatacin de la forma de la imagen, esto es, que al tener una imagen se hace una regla para crear o desaparecer pxeles, as se crea una regla tomando en cuenta el nmero de vecinos que tiene cada pxel y se hace que se eliminen o generen ms segn se necesite.

a b c Figura 3-4. En (a) se tiene la imagen simplemente binarizada, en (b) se tiene la imagen aplicando que si tiene 3 o menos vecinos el pxel entonces reconvierte en negro sino se queda del color que est, se le conoce como dilatacin, en (c) se aplica la regla de que si en nmero de pxeles vecinos es mayor o igual a 2 entonces el pxel se convierte en color blanco, a este filtro se le conoce como erosin.

3.3 PREPROCESAMIENTO DE LA IMAGEN El pre-procesamiento de la imagen consiste en reducir la informacin en la misma, de modo que pueda ser interpretada por medio de una computadora. Para que esto fuera posible y diera los mejores resultados combinamos dos tcnicas de binarizacin, que fueron por umbral y por histogramas. Recoleccin de Histogramas. La recoleccin de los histogramas no fue hecha solamente por intensidades como se hace normalmente, sino que se tomo un histograma para cada componente RGB de la imagen. Se utilizaron lmites dentro de cada componente para determinar los rangos en los que se deba binarizar, siendo la interseccin de los tres lmites la que se tomara para uso. Esta tcnica se utiliz para recolectar los limites de las componentes RGB dentro de las cuales se poda encontrar cada objeto que nos interesara, pero esta tcnica no sera suficiente pues no sera posible limitar estrictamente cada objeto sin obtener algunos pocos pxeles o a veces trozos de otros objetos, por lo cual esta tcnica necesitara ser complementada con la binarizacin por umbral.

32

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

3.3.1 Umbralizacin La segmentacin es el proceso que divide una imagen en regiones u objetos cuyos pxeles poseen atributos similares (por ejemplo, niveles de gris, textura, etc.). Cada regin segmentada suele tener un significado fsico dentro de una imagen. La umbralizacin de una imagen en escala de grises, nos permite dado un umbral definido por algn mtodo, separar lo que es fondo de los que es objeto, siempre y cuando el fondo y el objeto tengan sus niveles de gris agrupados en dos modos dominantes. Mtodos del valor umbral. Grupo de algoritmos cuya finalidad es segmentar grficos rasterizados, es decir separar los objetos de una imagen que nos interesen del resto. Con la ayuda de los mtodos de valor umbral en las situaciones ms sencillas se puede decidir qu pxeles conforman los objetos que buscamos y qu pxeles son slo el entorno de estos objetos. Este mtodo es especialmente til para separar el texto de un documento del fondo de la imagen (papel amarillento, con manchas y arruguitas por ejemplo) y as poder llevar a cabo el reconocimiento ptico de texto (OCR) con ms garantas de obtener el texto correcto. Esto es especialmente til si queremos digitalizar libros antiguos, en los que el contraste entre el texto (que ya ha perdido parte de sus pigmentos) y el papel (oscurecido y manoseado) no es demasiado elevado.

Figura 3-5. Ejemplo de Histograma

33

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

3.3.2 Deteccin de Bordes Un borde es el lmite entre dos regiones con niveles de gris distintos, de manera que estos sean los suficientemente homogneos, para que la transicin entre dichas regiones se pueda mirar como un cambio abrupto. La idea bsica para la deteccin de bordes es el clculo de una derivada, teniendo en cuenta que para una constante su valor es cero y para un cambio ser diferente de cero. Es decir, en las regiones donde no exista un cambio brusco el valor de la derivada es cero y para la transicin entre regiones su valor es una constante. La primera derivada de un punto de una imagen se obtiene utilizando el modulo del gradiente de ese punto y, la segunda derivada, se obtiene de forma similar utilizando el Laplaciano. Las tcnicas de deteccin de bordes se basan en la determinacin de los puntos en que se produce una variacin de la intensidad de gris del pixel. Los mtodos para la deteccin de borde se basan en el operador derivada. Con la deteccin de bordes se pretende realzar los contornos de los objetos que aparecen en una imagen, dndoles mayor nitidez. Lo anterior es requisito previo para realizar la segmentacin. 3.3.2.1 Gradiente Para la obtencin del gradiente, lo primero que se realiza es la aplicacin de un filtro gaussiano a la imagen original con el objetivo de suavizar la imagen y tratar de eliminar el posible ruido existente. Sin embargo, se debe de tener cuidado de no realizar un suavizado excesivo, pues se podran perder detalles de la imagen y provocar un psimo resultado final. Este suavizado se obtiene promediando los valores de intensidad de los pxeles en el entorno de vecindad con una mscara de convolucin de media cero y desviacin estndar . Una vez que se suaviza la imagen, para cada pxel se obtiene la magnitud y mdulo (orientacin) del gradiente, obteniendo as dos imgenes. El mtodo del gradiente se basa en las primeras y segundas derivadas. Primero se saca el mdulo y el argumento del gradiente, luego se agrupan los pixeles pertenecientes a los bordes con sus vecinos. Para que dos pixeles pertenezcan al mismo borde deben cumplir que: Estar conectados. Y que la diferencia entre gradientes y ngulos sea menor que un valor prefijado. La derivada de una seal continua proporciona las variaciones locales con respecto a la variable, de forma que el valor de la derivada es mayor cuanto ms rpidas son estas variaciones.

34

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

En el caso de funciones bidimensionales f(x,y), la derivada es un vector que apunta en la direccin de la mxima variacin de f(x,y) y cuyo mdulo es proporcional a dicha variacin. Este vector se denomina gradiente y se define:

Formula 3-2. Derivada del vector gradiente (para el caso de funciones bidimensionales)

En el caso bidimensional discreto, las distintas aproximaciones del operador gradiente se basan en diferencias entre los niveles de grises de la imagen. La derivada parcial fx(x,y) (gradiente de fila GF(i,j) ) puede aproximarse por la diferencia de pxeles adyacentes de la misma fila.

Formula 3-3. Derivada parcial del vector gradiente (para el caso bidimensional discreto)

El gradiente de la fila GF y de columna GC en cada punto se obtienen mediante la convolucin de la imagen con las mscaras HF y HC, esto es:

Formula 3-4. Convolucin de la imagen con las mascaras

Los operadores ms utilizados son los de Roberts, Prewitt y Sobel y Frei-chen. 3.3.2.2 Laplacciano En algunos casos las transiciones de los niveles de grises son demasiado abruptas por lo anterior se prefiere tomar la segunda derivada, ya que su signo proporciona un valor que representa la "direccin" del cambio, es decir, si el cambio es de oscuro a claro de claro a oscuro. Adems toma un valor de cero justo en el borde y donde se uniformizan las intensidades de gris. El Laplacciano es un operador escalar de segunda derivada para funciones de dos dimensiones definido por la ecuacin:

Formula 3-5. Ecuacin de la segunda derivada del Laplacciano

La ecuacin se implementa en forma digital haciendo la convolucin de una imagen con una regin o mascara de 3x3 como la figura 3-6 lo muestra.

35

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Figura 3-6. Mascara de 3x3

El principio para la definicin de este operador es que el coeficiente asociado al pixel central sea positivo y los coeficientes asociados a los pxeles exteriores sean negativos, tal que la suma de todos los coeficientes sea cero. Al hacer la convolucin para cada punto de la imagen con cualquiera de las mascaras de las siguientes figuras, la respuesta es cero siempre que el punto central tenga el mismo valor que sus vecinos. Ya que la aplicacin de este operador es sensible al ruido, se utiliza despus de binarizar la imagen para mejorar el resultado.

Figura 3-7. Operadores Laplaccianos

3.4 SEGMENTACIN DE IMAGENES Esta etapa de la visin artificial trata de particionar ciertas regiones dentro de una imagen ya sea por forma, color, brillo, contraste, textura, etc. que tengan rasgos comunes, existen distintas formas de segmentar una imagen para obtener una parte que es la que interesa estudiar, los diferente mtodos de segmentacin intentan dividir y discriminar algunas regiones para hacer que el trabajo de reconocimiento se facilite tomando en cuenta que los objetos de la imagen de la que partimos puedan separare, para as poder reconocer cada uno de los objetos por separado. Segmentacin por umbralizacin. Este mtodo trata de separar las imgenes implemente binarizando y aplicando un umbral para definir el tono que se quiere discriminar por ejemplo:

36

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

a b Figura 3-8. En (a) se puede apreciar la imagen que se tiene de unas llaves, mientras que en (b) se ve la imagen aplicando un filtro de umbralizacin.

El filtrado por el mtodo de umbralizacin binariza una imagen fijando un umbral, como se ha mencionado anteriormente cada pxel tiene 256 tonalidades que puede tomar si se trata de una imagen en escala de gris, entonces lo que se hace es seleccionar a partir de alguna tonalidad: las que sean mayores se convierten en blanco y las que sean menores se convierten en negro, a esa tonalidad se le llama umbral. Con esta imagen ya se puede separar cada uno de los objetos y aislarlos para hacer el reconocimiento. Segmentacin mediante la deteccin de bordes. La segmentacin mediante la deteccin de bordes se puede hacer de distintas formas, una es tomando en cuenta que cuando hay un cambio significativo entre un pxel y otro esto genera un borde, el cual se hace resaltar entre una imagen y otra con esto se puede generar la imagen con los bordes y una vez generados los bordes se pueden separar cada una de las regiones para el reconocimiento.

a Figura 3-9. (a) Imagen de origen, (b) imagen de bordes.

Dentro de los mtodos para la deteccin de bordes se puede encontrar una gran variedad de tcnicas, como lo son los mtodos por derivadas en x y en y, los mtodos por medio de filtros de convolucin, la transformada de Hough, el detector de bordes de Canny, la Laplaciana de una Gausiana, por mencionar algunos.

37

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Segmentacin por regiones. Existe una tcnica basada en regiones, como es el mtodo de Watershet (en espaol la unin de las aguas), este mtodo maneja a la imagen como una representacin topogrfica, este mtodo se basa en morfologa matemtica, se inicia inundando la superficie de niveles ms bajos, hasta que llega el momento donde se comienzan a inundar las cuencas contiguas y se conectan las lneas de unin que representan las fronteras de regiones homogneas. Segmentacin por encadenamiento de pxeles. Este mtodo se utiliza ms para la caracterizacin que para la segmentacin pero se incluye en el tema de segmentacin ya que dentro del proyecto se utiliza. El cdigo de cadena de un contorno (de objeto o regin) se define partiendo de un pxel cualquiera de ste, encadenando la direccin en que se encuentran los puntos adyacentes del contorno mediante un convenio de seguimiento establecido. Con esto se consigue una cadena de smbolos que determinan unvocamente al contorno del objeto, que es invariante a traslaciones.

Figura 3-10. Direcciones del cdigo de cadena usando conectividad 4 y 8, respectivamente.

Con el fin de lograr invarianza frente a rotaciones se codifican las diferencias entre los dgitos del cdigo y no el cdigo mismo; para lograr invarianza respecto al punto de inicio, los dgitos del cdigo obtenido se disponen de forma que si se lee el cdigo se obtiene el menor entero posible con esa secuencia de dgitos; Para evitar que pequeos cambios en el contorno de un objeto produzcan cdigos diferentes se usa algn filtro de suavizado o algn escalado del objeto. El mtodo QuadTree. Dentro de los mtodos de la segmentacin de la imagen se puede incluir el Quad-Tree (rbol Cuaternario), aunque este mtodo puede ser utilizado para la caracterizacin de una imagen mediante el conteo de regiones, que equivale a sacar un rea del la imagen, pero con algunas modificaciones se muestra el mtodo original y en el captulo IV se explica cmo se utiliza el Quadtree para caracterizar la imagen.

38

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Este cdigo est basado en el principio de descomposicin recursiva del espacio. Inicialmente la imagen es descompuesta en 4 cuadrantes de igual tamao. Si uno de los cuadrantes no est vaco es subdividido en 4 nuevos cuadrantes. Esta descomposicin se detiene, si todo el cuadrante contiene una regin uniforme, o si se compone solamente por un pixel. El proceso de descomposicin recursiva puede ser representado como un rbol. El nivel superior del rbol, conocido como raz, corresponde a la imagen completa. La raz es conectada por medio de un arco a nodos hijos, los cuales representan de izquierda a derecha, los cuadrantes NO, NE, SO, SE. Si uno de estos cuadrantes no necesita ser subdividido, el mismo se representa con una terminacin del rbol, marcada por cuadrado, la cual es rellenada de negro y llamada black si el cuadrante pertenece al objeto; rellenada de blanco y llamada white en el caso contrario. Los nodos que no son etiquetados como terminaciones, es porque requieren una subdivisin, y son marcados por crculos y llamados gray. La codificacin de quadtree requiere el almacenamiento del tipo de nodo, esto se realiza con ayuda de los smbolos b (black), w (white), g (gray). Se inicia la codificacin con el valor del nodo raz, luego se revisan los valores de los nodos de izquierda a derecha. Cada vez que se encuentre un nodo g, se contina la codificacin del nivel bajo del rbol, retornando al nivel alto cuando se realiza la total codificacin del nivel bajo. Este cdigo es ms comprensible si se abren parntesis cada vez que se desciende un nivel en el rbol, y se cierran cuando se asciende de nivel.

Figura 3-11. a) Imagen Binaria. b) rbol que representa al QuadTree

3.5 RECONOCIMIENTO DE FORMAS En muchas aplicaciones es necesario determinar los objetos presentes en una imagen (deteccin de etiquetas, de seales de trnsito, etc.), para controles industriales, anlisis mdicos, medios publicitarios, etc. Este proceso es una de las ltimas etapas dentro de lo que es la visin artificial y una de las ms difciles de llevar a cabo.

39

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

El reconocimiento de formas consiste en buscar una forma y compararla con un patrn ya dado (imagen predefinida), y toma una decisin si al compararlos son iguales o diferentes. Las etapas para lograr el reconocimiento de objetos son: 1. Adquirir la imagen y darle las caractersticas ptimas para la aplicacin que se desea (aplicar filtrado de ruido, umbralizacin, etc.) 2. Segmentar la imagen a procesar, es decir, obtener todos los objetos presentes en la imagen (formacin de hiptesis). 3. En base a la hiptesis se comparan los objetos encontrados en la imagen con el patrn. Si encontr el objeto, la bsqueda acaba, sino contina la iteracin hasta terminar de comparar todos los objetos encontrados en la imagen. 3.5.1 Transformada de Hough Esta transformada intenta buscar figuras geomtricas simples en una imagen. Cuando se procesa emplea toda la imagen, hacindola robusta ante la presencia de ruido o las discontinuidades de las etapas previas, ya que para hacer esta transformada primero hemos de binarizar la imagen con los bordes seleccionados, o sea tenemos que aplicar un detector de bordes. A partir de aqu el algoritmo intentar buscar figuras geomtricas, como pueden ser lneas, crculos, elipses, etc. La transformada de Hough es un mtodo para encontrar formas en una imagen. La lnea de Hough se utiliza para encontrar las lneas de una imagen. La transformada de Hough tambin se puede utilizar para encontrar los crculos, o incluso generalizada para encontrar cualquier forma. La transformada de Hough es una tcnica que puede ser usado para aislar las caractersticas de una forma particular dentro de una imagen. Ya que requiere que las caractersticas deseadas se especifica en alguna forma paramtrica. Una transformacin generalizada de Hough puede ser empleado en aplicaciones en las que una simple descripcin analtica de una caracterstica (s) no es posible. Debido a la complejidad computacional del algoritmo de Hough generalizada, se restringe el enfoque principal de esta discusin a la clsica transformada de Hough. 3.5.1.1 Deteccin de Lneas Considerando un punto de coordenadas (Xi,Yi), como elemento que representa un borde; sobre ste pasarn infinitas rectas (ver formula 3-6). Yi = aXi+b (1)
Formula 3-6. Frmula para infinitas rectas que interceptan sobre un mismo punto

40

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

Que es la ecuacin de una recta, en la cual tendremos que calcular los parmetros a y b. Si despejamos b (ver formula 3-7). b = Yi-aXi (2)
Formula 3-7. Valor despejado del lugar donde pasaran todas las rectas

Al variar el parmetro a desde menos infinito hasta mas infinito se obtendr los infinitos valores de b. La representacin geomtrica de b = Yi aXi, es una recta. La caracterstica interesante de esta presentacin consiste que si dos puntos que pertenezcan a una misma recta (1) implicar que tengan el mismo valor de a y b. Entonces la transformada de Hough aplica este concepto a las lneas rectas de la imagen. Discretizando la imagen desde un valor de "a mnimo" hasta un valor de "a mximo" y desde "b mnimo" hasta "b mximo" creando unas rejillas de acumulacin. Por cada punto, considerado como borde, se hace recorrer el rango de a obteniendo b. Por cada valor de a y b se pone un voto.

Figura 3-12. Transformada de Hough para Lneas

3.5.1.2 Deteccin de Crculos En este caso utilizaremos la ecuacin de la circunferencia (ver formula 3-8). (Xi-Xo) ^ 2 + (Yi-Yo) ^ 2 = r ^ 2
Formula 3-8. Ecuacin de la circunferencia

Las votaciones se realizarn variando la posicin del centro del crculo, (Xo, Yo) para cada pxel etiquetado, (xi,yi), obteniendo los distintos valores del radio, r. Los crculos seleccionados sern aquellos que superen un cierto umbral de votos recibidos. El mayor inconveniente es su alto coste computacional. Una forma de ahorro en el clculo es prefijar el valor del radio del crculo. Si se conoce el radio, junto con la informacin de la orientacin del gradiente del pxel etiquetado, (Xi,Yi), las posibles coordenadas del centro del crculo darn una nube de puntos limitados.

41

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PROCESAMIENTO DE IMGENES

La ventaja de esta deteccin de los crculos proviene de las caractersticas inherentes de las transformadas de Houhg, la inmunidad al ruido y que es capaz de detectar crculos, aunque exista oclusin del mismo. Por otro lado, en este tipo de curvas, al ser cerradas, no hay problemas del carcter infinito de las lneas rectas. Los crculos estn definidos en la imagen, sin ninguna expansin.

Figura 3-13. Transformada de Hough para Crculos

42

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

ANALISIS DE REQUERIMIENTOS

CAPTULO 4 Anlisis de Requerimientos


Se pretende desarrollar un sistema que ser capaz de detectar figuras mediante el procesamiento de imgenes y poder dar alerta en el caso de que se detecte alguna anomala en el escenario. El sistema cuenta con un programa principal servidor y una aplicacin para dispositivos mviles. 4.1 PLANTEAMIENTO DEL PROBLEMA El proyecto de Vigilancia WEB basada en comparacin de objetos y alerta en mviles trata de abarcar dos grandes trabajos, la seguridad y la rapidez para localizar diversos objetos en una superficie o lugar. El proyecto est dividido en dos partes importantes, la primera abarca todo lo que es la comunicacin entre dispositivos, para el envi de imgenes de la cmara IP al servidor y del servidor al dispositivo mvil que es donde se mandar la fotografa que establecer los lugares en que el objeto/objetos nuevos (detectados como anomalas o cambio en el escenario) estarn ubicados. Por otro lado la ltima parte se refiere al procesamiento de imgenes para el reconocimiento de figuras 2D, donde se implementan diferentes algoritmos para deteccin de bordes, deteccin de formas y el reconocimiento de patrones. Por lo anterior, se desea realizar una aplicacin que ayude a travs de cmaras IP, la bsqueda de objetos por medio de una fotografa y enviarla a un mvil. 4.2 DESCRIPCIN GENERAL DEL SISTEMA En la actualidad, las aplicaciones basadas en Web son diversas. Por otro lado, la inseguridad social, obliga a que grupos de trabajo se enfoquen a usar la tecnologa, como internet, mviles, entre otros, para resolver stos problemas sociales. En el presente proyecto, titulado Vigilancia WEB basada en comparacin de objetos y alerta en mviles, se propone resolver el problema de identificar objetos nuevos, de un escenario predefinido y avisar de esta anomala, a travs de una imagen, enviada a un celular, a los usuarios. El proyecto permite tomar imgenes del mundo real a travs de una cmara IP, sta est conectada a internet. La imagen que llega al servidor, se procesa y se enva a un celular del usuario, una vez que dentro del procesamiento de imgenes se ha identificado un objeto raro, ajeno a un conjunto de objetos.
43

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

ANALISIS DE REQUERIMIENTOS

4.2.1 Contexto del Sistema Portabilidad. Las perspectivas que se esperan del producto es que debido a que es un sistema que est desarrollado bajo Java ser un sistema portable. Tanto en el sistema servidor, como en las aplicaciones clientes en las que la plataforma Java Micro Edition es comnmente usada en celulares. Fcil instalacin y uso. Para el sistema operativo Windows uno de los problemas con que se puede encontrar el usuario final para el uso del programa es que Java no genera ejecutables (.exe), as que se ha pensado en generar un ejecutable a partir del cdigo generado por java (.jar) para que su instalacin y ejecucin sea ms fcil. Utilizacin. En cuanto a su utilizacin, se ha pensado en dos cosas principales, una interfaz sencilla y amigable para que su uso sea intuitivo, y un tutorial para el usuario. Comunicacin. En cuanto a la comunicacin se presenta la flexibilidad de poder utilizar la tecnologa WiFi. 4.2.2 Metodologa Eleccin del lenguaje de programacin para el sistema servidor en este caso Java y para los dispositivos mviles JME. Eleccin de la forma en que se llevara a cabo el procesamiento de la imagen para la deteccin de figuras. En este aspecto se opto por un procesamiento similar al que llevaron a cabo los Doctores W. Phillips, III, M. Shah, and N. da Vitoria Lobo. En el que en primera instancia se hace una deteccin por color de los pixeles, y posteriormente se hace un anlisis progresivo de imgenes tomadas sucesivamente para determinar mediante el movimiento en el escenario si hay un caso de alerta. La configuracin del servidor para poder atender solicitudes de los dispositivos mviles sea por medio de la tecnologa WiFi. Realizacin de las aplicaciones para los dispositivos mviles, y su configuracin para el envi de datos e imgenes. 4.2.3 Cronograma de Actividades

Tabla 4-1. Cronograma de actividades

44

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

ANALISIS DE REQUERIMIENTOS

4.2.4 Infraestructura Tipo de Ordenador Sistema Operativo Tipo de Procesador Memoria del Sistema Pantalla Tarjeta de Video Disco Duro Celular Cmara IP Access Point VAIO VGN-NW230T Microsoft Windows Seven Ultimate Pentium Dual-Core CPU T4300, 2.10 GHz 3 GB (DDR2 SDRAM) Pantalla VAIO de 15.5 (1366 x 768) Mobile Intel Graphics Media Accelerator 4500MHD 320 GB Nokia N95 DCS-5300 SMS Networks

4.3 ESTADO DEL ARTE Actualmente el estudio de la programacin en mviles ha tenido un gran auge, que integra diferentes mtodos para resolver problemas que no puedan ser descritos por los algoritmos actuales o trata de mejorar ciertos aspectos de la vida cotidiana. En relacin con revistas de alto impacto como se destaca la IEEE (ver figura 4-1), como una de las ms interesantes; donde en el ao 1998 se public un artculo presenta un acercamiento a la localizacin de objetos a travs de robots.

Figura 4-1. Bsqueda de temas relacionados al proyecto en IEEE

Cabe mencionar que internet podemos encontrar mucha informacin pblica, que podemos obtener fcilmente (ver figura 4-2).

45

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

ANALISIS DE REQUERIMIENTOS

Figura 4-2. Bsqueda de temas relacionados al proyecto en la red

Para llevar a cabo nuestro estudio sobre el papel del proceso de visualizacin en la resolucin de problemas de geometra, es conveniente restringir el significado de visualizacin, distinguiendo las acepciones vinculadas a las caractersticas de la accin hecha por el sujeto sobre una configuracin. La utilizacin de los mviles como tecnologa computacional ha crecido en gran nmero y variedad de aplicaciones, tanto en aplicaciones comerciales y cientficas. Las diferentes aplicaciones de mviles se pueden asociar a diferentes disciplinas: Medicina Manufactura y reparacin Anotacin y visualizacin Planeacin de rutas de robots Entretenimiento Educacin Milicia Ejemplo de Aplicacin DETECCIN DE INCENDIOS. Un sistema que tiene como objetivo fundamental realizar una deteccin de incendios mediante el procesamiento de imgenes, monitoreando un rea especfica (principalmente enfocado hacia bosques) y de esta forma poder dar una alerta positiva en caso de que se haya detectado un incendio.

46

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

ANALISIS DE REQUERIMIENTOS

4.4 ESPECIFICACIN DEL SISTEMA Especificacin del sistema servidor: El sistema contar con una seccin de opcin para poder activar el sistema principal y la toma de fotografas de forma continua o manual. El sistema tendr la opcin de control de la webcam wireless mediante unos botones que permitirn girarla hacia diferente direccin y hacerle un zoom. Tendr un rea de texto a travs de la cual el sistema dar aviso del estado del rea monitoreada, as como de las solicitudes de los dispositivos mviles clientes. Contar con un botn de nombre Procesamiento, que permitir la visualizacin de cmo se lleva a cabo el procesamiento de la imagen. Para la deteccin de cambios de escenarios se llevar a cabo una comparacin de imgenes pixel a pixel, y su posterior anlisis de la forma de los bordes aplicando las tcnicas de transformadas de Hough. El desarrollo del sistema se llevar a cabo bajo Java con ayuda del entorno de desarrollo NetBeans 6.8. El sistema se desarrollar principalmente para poder ejecutarse en el sistema operativo Windows XP Home/Profesional. Especificacin de las aplicaciones para mviles: En el caso del sistema WiFi primero dar una pantalla de bienvenida y pedir el ingreso de la IP del servidor para poder establecer la comunicacin. Posteriormente si la confirmacin es correcta, mostrar una pantalla con informacin sobre el estado del rea monitoreada y una imagen tomada de la webcam. En esta pantalla tendr la opcin de salir o elegir de un men Actualizar o Rotar. Para la opcin de actualizar refrescar la informacin actualizando con informacin de ltimo momento del rea monitoreada. Para la opcin de rotar permitir girar la webcam para tener otra vista del rea monitoreada. El desarrollo del sistema se llevar a cabo bajo Java Micro Edition con ayuda del entorno de desarrollo NetBeans 6.8. Las aplicaciones se podrn ejecutar principalmente en dispositivos como: Palm, celulares Motorola, Sony Ericsson, Nokia, entre otros.

47

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

CAPTULO 5 DISEO Y TRABAJO


En este captulo se analiza el porqu de las especificaciones concretas que deber llevar el sistema y sus necesidades para ser implementadas posteriormente. 5.1 DIAGRAMA DE CASOS DE USO

Figura 5-1. Diagrama de Casos de Uso

Para que se pueda dar un mejor entendimiento del diagrama presentaremos una descripcin contextual de los casos de uso, as como de los actores.
RF-00 Descripcin Precondicin Pantalla de Bienvenida La aplicacin mostrara la pantalla de bienvenida. El usuario presiono el icono que permite ingresar a la aplicacin Vigilancia WEB basada en comparacin de objetos y alerta en mviles. Paso 1 2 3 Pos condicin Excepciones Accin La aplicacin muestra el mensaje Bienvenido. Se muestra la opcin de Entrar a la aplicacin. El usuario presiona Entrar. El usuario visualiza el Men. Ninguna.
Tabla 5-1.Pantalla de Bienvenida

Secuencia normal

48

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

RF-01 Descripcin Precondicin Secuencia normal Paso 1 2 3

Activar el Sistema El sistema deber seguir la siguiente secuencia cuando el administrador de vigilancia inicie el sistema. Sistema instalado y configurado a una red WLAN. (Laptop Server, Webcam, Dispositivo Mvil). Accin El administrador inicia el sistema con doble click al icono Vigilancia WEB. Se le pide ingresar la direccin IP de la Webcam para verificar la disponibilidad correcta. Se pre inicializan los hilos correspondientes para detectar figuras y el servidor WiFi, se activan los botones.

Pos condicin Excepciones

Iniciar finalmente el sistema al dar click en el botn Activar Sistema, y los servidores inalmbricos en el momento deseado. Paso 2 Accin Si la IP ingresada es incorrecta no se puede inicializar el sistema, y se pide ingrese la IP asociada con la Webcam

Tabla 5-2. Activar el Sistema

RF-02 Descripcin Precondicin Secuencia normal Paso 1 2 3 Pos condicin Excepciones Paso 1

Deteccin de Formas El sistema deber seguir la siguiente secuencia cuando se inicie el hilo correspondiente a la deteccin de formas. Click en el botn Activar Sistema Accin Se toman 7 imgenes consecutivas cada 5 segundos. A esta secuencia se les aplica un procedimiento para la deteccin de figuras. Se verifican otras acciones como rotar cmara, alertar y reportar, etc.

El sistema despus del anlisis dar un reporte sobre el estado del rea monitoreada. Accin Si se pierde la conexin con la webcam, no se podr continuar el anlisis y pedir el sistema ser reiniciado.

Tabla 5-3. Deteccin de Formas

49

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

RF-03 Descripcin Precondicin Secuencia normal Paso 1 2

Inicializar WiFi El sistema deber seguir la siguiente secuencia para inicializar el servicio de conectividad WiFi Dar click en el botn Activar correspondiente al servicio Wifi Accin Se inicializa el servidor WiFi en un bucle infinito. Se atendern las solicitudes de los clientes, como actualizacin y rotacin de cmara creando un hilo para cada uno de ellos. Se cierran las conexiones cuando el cliente haya finalizado Ninguna

3 Pos condicin Excepciones Paso 1

Accin Se inicializa la conexin por el puerto 5600, y se atender un mximo de 500 clientes.
Tabla 5-4. Inicializar Wifi

RF-04 Descripcin Precondicin Secuencia normal Paso 1 2

Actualizar Imgenes WebCam Se seguir la siguiente secuencia para obtener las imgenes de la webcam. Haber activado el sistema Accin Mediante la direccin IP hacer un llamado a la URL correspondiente para obtener la imagen. Obtener la imagen y pasarla al mtodo necesario si es un envi o tratamiento. Ninguna. Paso 1 Accin Si se pierde la conexin con la cmara se da un aviso.

Pos condicin Excepciones

Tabla 5-5. Actualizar Imgenes WebCam

50

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

RF-05 Descripcin Precondicin Secuencia normal Paso 1 2

Rotar WebCam El sistema seguir la siguiente secuencia para rotar la webcam. Haber iniciado el sistema. Accin Se verifica la direccin de rotacin. Se espera el tiempo necesario mximo 35 segundos, que es el tiempo necesario para llevar a cabo el anlisis de incendios. Se rota la cmara a la direccin elegida Ninguna. Paso 3 Accin Si se tienen varias elecciones de rotacin por diferentes clientes se atiende la ltima que llego.

3 Pos condicin Excepciones

Tabla 5-6. Rotar WebCam

RF-06 Descripcin Precondicin Secuencia normal Paso 1

Reportar y Alertar Estado del rea El sistema deber seguir la siguiente secuencia para mandar avisos sobre posibles anomalas. Detectar una anomala (cambio de escenario) o un Error. Accin Se verifica el estado del rea monitoreada, en caso de que haya una anomala en el escenario mandar una alerta. Si estn conectados los clientes en cuanto hagan una peticin mandar la alerta. Si se trata de un error grave se pedir reiniciar la aplicacin. Ninguna Ninguna
Tabla 5-7. Reportar y Alertar Estado del rea

2 3 Pos condicin Excepciones

51

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

RF-07 Descripcin Precondicin Secuencia normal Paso 1 2

Solicitar Informacin Mvil WiFi La aplicacin mvil seguir la siguiente secuencia. En el servidor haber activado el hilo correspondiente a WiFi mediante el botn Activar Accin La aplicacin mvil muestra una pantalla de inicio y pide inicializar con la IP del servidor. Una vez ingresado se muestra otra pantalla con la informacin del rea monitoreada, una imagen, y un men para actualizar o rotar la cmara. Si se trata de actualizar se refresca la informacin. Si se trata de rotar se enva la peticin para rotar la cmara, espera el tiempo necesario y refresca la informacin. Ninguna

3 4

Pos condicin Excepciones Paso 1 2

Accin Si la IP ingresada es incorrecta se pide volver a hacerlo. Si se pierde conectividad con la cmara se pide reiniciar aplicacin mvil.

Tabla 5-8. Solicitar Informacin Mvil Wifi

ACT-01 Descripcin Comentarios

Administrador de Vigilancia WEB Este actor representa la persona encargada de estar al tanto del rea monitoreada, anlisis y peticiones al sistema. Ninguno
Tabla 5-9. Administrador de Vigilancia WEB

ACT-02 Descripcin Comentarios

Sistema de Vigilancia WEB. El sistema encargado de procesar las imgenes, mandar alertas y enviar informacin a los mviles. Ninguno
Tabla 5-10. Sistema de Vigilancia WEB

ACT-03 Descripcin

Wireless Webcam Este actor representa el objeto fsico de la cmara web, que es el elemento que realiza la captura de imgenes para as poder realizar el monitoreo. En algunos casos el Propietario tambin desempea el papel del Administrador
Tabla 5-11. Wireless WebCam

Comentarios

52

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

ACT-04 Descripcin

Dispositivos Mviles Cliente Este actor representa los objetos fsicos mviles (Palms/Celulares) con los que el cliente podr hacer uso de los esenciales servicios ofrecidos. Ninguno
Tabla 5-12. Dispositivos Mviles Cliente

Comentarios

ACT-05 Descripcin

Computadora Servidor (Laptop) Este actor representa el objeto fsico (una computadora) que servir como herramienta al administrador para la vigilancia, y en donde estar montado el programa servidor. Ninguno
Tabla 5-13. Computadora Servidor (Laptop)

Comentarios

5.2 MODELADO DEL DISEO Para el modelado del anlisis de diseo, se utilizan diagramas que representen los requisitos de los datos de forma fcil de entender, y sobre todo conduzcan a una revisin para lograr la integridad y la consistencia del sistema ha desarrollar. Se empieza con la identificacin de las clases de anlisis mediante el diagrama de clases. 5.2.1 Diagrama de Clases

Figura 5-2. Diagrama de Clases

53

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DISEO Y TRABAJO

5.2.2 Diagrama de Colaboraciones Ahora para visualizar las relaciones que existen entre los objetos as como el paso de mensajes que se lleva a cabo entre cada uno de los objetos, se utiliza un Diagrama de Colaboraciones.

Figura 5-3. Diagrama de Colaboraciones

5.2.3 Diagrama de Despliegue Ahora se ver al sistema desde una perspectiva diferente, esto es desde una vista exterior ms general a nivel hardware, para esto se hace uso de los diagramas de despliegue. Los cuales muestran las relaciones entre estos.

Figura 5-4. Diagrama de Despliegue

54

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

CAPTULO 6 DESARROLLO DEL PROYECTO


En este captulo se explica la arquitectura del proyecto y su implementacin a nivel web y a nivel aplicacin, mostrando las pantallas finales para la interaccin con el usuario. 6.1 ARQUITECTURA DEL SISTEMA La arquitectura general del sistema consiste bsicamente de los siguientes elementos: Servidor de aplicaciones. Dispositivo mvil. Servicio de comunicaciones de dispositivos mviles. Agente para la comparacin de imgenes. Primero, el servidor de aplicaciones contiene la aplicacin y permite que esta sea descargada hacia el dispositivo mvil, de igual forma, mantiene el servicio de la aplicacin para el usuario. Segundo, el dispositivo mvil se comunica directamente con conectividad web, de esta forma permite revisar o vigilar el escenario de manera remota, o mover la posicin de la cmara a partir del mismo dispositivo mvil. Tercero, el servicio de comunicaciones para dispositivos mviles permite la comunicacin entre los dispositivos y el servidor. Finalmente, la aplicacin tiene un agente que realiza la comparacin de imgenes que es necesaria para detectar cualquier anomala en el escenario y que se lleva a cabo tanto manual como automticamente donde en la ltima es activada una alarma.

Figura 6-1. Arquitectura general del sistema

55

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

6.2 CREANDO UNA NUEVA APLICACIN Para mostrar la interfaz principal con la que interacta el administrador es necesario dar doble click sobre el icono del programa de nombre Vigilancia WEB (ver figura 6-2).

Figura 6-2. Icono del Sistema Vigilancia WEB

Una vez iniciado mostrara inmediatamente un cuadro de dialogo pidiendo ingresar la IP de la Webcam (ver figura 6-3).

Figura 6-3. Inicializacin de la cmara IP

Si la verificacin IP de la webcam es correcta y se establece una comunicacin con la cmara mostrara el programa principal con todos los botones activados para su uso. En caso contrario pedira reingresar la IP de la Webcam. El botn de Activar Sistema iniciara el sistema, tomando fotografas de forma sucesiva en intervalos de 5 segundos.

56

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Figura 6-4. Activacin del sistema, sesin Ip con WebCam iniciada

Se tienen las opciones de rotacin de la cmara hacia las direcciones: izquierda, derecha, arriba, abajo. Para la ejecucin de rotacin aparecer por un momento el browser Internet Explorer. En caso de ejecutar varias peticiones se tomara en cuenta la ltima. Tambin se ha puesto el botn de Ver Cmara USB para poder utilizar tu WebCam, este solo para probar el procesamiento de imgenes cuando no se cuenta con la Cmara IP como se muestra en la figura 6-5.

Figura 6-5. Ver Cmara USB de la computadora

El botn de Hough mostrara otra ventana por la cual se podr observar el procesamiento que se lleva a cabo en cada imagen para localizar figuras (ver figura 6-6).
57

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Figura 6-6. Transformada de Hough

El botn de Activar bajo la descripcin de WiFi inicializara el servidor para aceptar conexiones entrantes de los dispositivos mviles clientes y atender sus solicitudes. El botn de Comparar abrir otra ventana que primero realizara una comparacin mandando un aviso de si son iguales las imgenes para despus mostrar todas las diferencias que se encuentren en caso de que no lo sean.

Figura 6-7. Mensaje de alerta

Figura 6-8. Comparacin de imgenes cuando un objeto nuevo aparece

58

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

6.3 INTERFAZ GRFICA DEL SISTEMA (SIMULACIN) Se profundiza a continuacin sobre la forma que esta aplicacin subyace bajo esta plataforma, introduciendo paulatinamente el desarrollo de la aplicacin. A lo largo de la simulacin se ir introduciendo en la aplicacin que ilustran la totalidad de los aspectos bsicos en la programacin de dispositivos desde: arquitectura, configuraciones, perfiles, entornos de desarrollo, paquetes especficos, entre otras ms. Para crear una nueva aplicacin nos dirigimos a Archivo -> Nuevo Proyecto, dentro de las categoras seleccionamos Java ME -> Mobile Application, para crear una aplicacin para un Mvil, y damos en siguiente (ver figura 6-9).

Figura 6-9. Nueva Aplicacin para un Mvil

Le daremos un nombre al Proyecto, para esta aplicacin se llama Vigilancia WEB, despus seleccionamos el lugar donde se va a guardar el proyecto, que ser la que nos d por default la herramienta, todo lo dems lo dejamos como esta (ver figura 6-10).

59

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Figura 6-10. Nombre y Localizacin del nuevo proyecto

Despus seleccionamos la plataforma que instalamos anteriormente para el Nokia (S60 3rd Edition Fp2 SDK for MIDP) y todo lo dems se deja como viene por default. Y damos en Finalizar (ver figura 6-11).

Figura 6-11. Seleccin de la plataforma para el Nokia

Aparece el entorno de desarrollo grfico para poder empezar a desarrollar la aplicacin para el dispositivo mvil.

60

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Figura 6-12. Entorno grafico de la aplicacin

Una elementos. aplicacin, proyecto y aplicacin.

vez creado el nuevo proyecto procedemos a introducir los nuevos Se crean las clases independientes a la interfaz grfica de la estas clases contienen las diferentes funciones que se ocupan en el una clase global que contiene todos los elementos generales de la

Ahora se har la interfaz grfica que accede a cada uno de las clases creadas anteriormente. Esta es la pantalla donde aparecen cada uno de los elementos que necesitaremos en la aplicacin.

Figura 6-13. Pantalla de elementos utilizados en la aplicacin

Verificar que el dispositivo (ya sea Palm o celular) est conectado al mismo punto de acceso, red WLAN, en la que se encuentra el servidor. Y activar el servicio WiFi mediante el botn Activar en el Servidor.
61

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Ejecutar la aplicacin VigilanciaWEB.prc en la Palm (.jar para celular) como se muestra en la figura 6-14.

Figura 6-14. Activacin de aplicacin mvil

La pantalla de bienvenida pedir ingresar la direccin IP asignada al servidor dentro de la red WLAN para iniciar la comunicacin (ver figura 6-15). Esperar por la carga de datos y presentacin de la informacin, puede demorar hasta 1 minuto. En caso de fallo de conexin avisara de un error y es necesario reiniciar la aplicacin.

Figura 6-15. Pantalla de bienvenida, ingreso de IP

62

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

DESARROLLO DEL PROYECTO

Presentacin de la informacin y un men con las opciones Salir, Actualizar y Rotar. La opcin Actualizar refrescar la pantalla con informacin actualizada y Rotar permitir el movimiento de la Webcam, Salir terminara la aplicacin (ver figura 6-16).

Figura 6-16. Pantalla de presentacin, actualizar y rotar

En caso de elegir la opcin Rotar pasar a otra pantalla para elegir hacia qu direccin girar la webcam, y su confirmacin (ver figura 6-17). En caso de que no haya falla en la comunicacin con el servidor recargara la pantalla con la nueva imagen e informacin sobre el estado del sistema.

Figura 6-17. Pantalla de rotacin de webcam

63

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PRUEBAS Y RESULTADOS

CAPTULO 7 Pruebas y Resultados


Para probar la aplicacin se muestra la ejecucin en el servidor (laptop) para despus mostrar lo que recibe el celular Nokia N95 (ver figura 7-1 y 7-2).

Figura 7-1. Pantalla donde se ve como aparece un nuevo objeto, marcando donde aparece en el escenario

Figura 7-2. Vista del Mvil antes y despus de detectar la anomala

64

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

PRUEBAS Y RESULTADOS

VISIN GENERAL. El sistema consta de una aplicacin que realiza funciones de servidor, el cual est hecho en JAVA (J2SE) con la versin 1.6 de la mquina virtual; desarrollado con ayuda del IDE NetBeans 6.8, junto con la inclusin de algunas libreras por parte de terceros para el manejo del puerto serial virtual. Tambin se crearon aplicaciones cliente para dispositivos mviles mediante JAVA, en su versin para dispositivos mviles Java Micro Edition (antes J2ME). Y se cre una versin para su manejo utilizando tecnologa WiFi.

SISTEMA SERVIDOR. El objetivo principal de este servidor, es llevar a cabo la seguridad de cualquier escenario a travs del reconocimiento y comparacin de imgenes, y proporcionar los servicios de comunicacin a dispositivos mviles para que estos tengan acceso a la informacin relevante con respecto al estado del rea monitoreada.

INTERFACE. La interface fue diseada bajo el IDE Netbeans 6.8, y tiene el nombre de TesisProyecto.java es la parte medular que da pauta para que posteriormente se activan los dems threads.

65

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

CONCLUSIONES Y PERSPECTIVAS

CAPTULO 8 Conclusiones y Perspectivas


8.1 CONCLUSIONES Se ha presentado a lo largo de esta tesis una serie de nuevas tecnologas de la informacin y comunicacin que han revolucionado la funcionalidad de los dispositivos mviles, de manera particular, nos hemos dado a la tarea de conjuntar estas tecnologas y utilizarlas para realizar una aplicacin desarrollada especialmente para dispositivos mviles. Esta aplicacin es un primer paso para el desarrollo y uso autntico de aplicaciones mviles para la seguridad. Existe todava muchsimo trabajo que hacer para la mejora de esta aplicacin y versiones futuras; esto debido a las limitaciones de las tecnologas mviles en la actualidad. Con la terminacin del presente trabajo, las pruebas realizadas y resultados obtenidos, se puede decir que los objetivos planteados al inicio del presente se cumplieron al 100 %. Respecto al Objetivo General planteado, ste se cumple ya que: se diseo y desarrollo una aplicacin que permite acceder a la informacin registrada por una cmara a travs de un dispositivo mvil cuya funcin es monitorear o vigilar algn entorno, adems de una simulacin de un celular donde se muestre la manipulacin de la cmara y el entorno monitoreado. Mientras que los objetivos especficos se puede decir que se cumplen segn los siguientes puntos: El sistema se desarrollo para poder ejecutarse en el sistema operativo Windows XP Profesional, se llevo a cabo bajo Java con ayuda del entorno de desarrollo NetBeans 6.8, y el dispositivo utilizado fue un celular N95 as como su simulador para PC. Para la identificacin de formas se utilizo el mtodo de Transformada de Hough para la obtencin de figuras, y se realizo una comparacin de imgenes pixel a pixel mostrando las diferencias que llegaran a existir, cerrando con esto el reconocimiento de figuras y obteniendo as la informacin que se deber enviar al dispositivo mvil. La comunicacin entre los dispositivos y el servidor se hizo directa con conectividad WEB, de esta forma permite revisar o vigilar el escenario de manera remota, o mover la posicin de la cmara a partir del mismo dispositivo mvil. Adems de lo antes mencionado se incluye la posibilidad de analizar imgenes que se encuentren en archivos, abrirlas, hacer manualmente los pasos para el anlisis y ver el resultado de cada filtro para una buena comprensin del mtodo desarrollado.

66

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

CONCLUSIONES Y PERSPECTIVAS

Tambin se incluyen algunos filtros morfolgicos para dilatar los colores blanco, azul o negro, para operar en el caso de que la imagen tenga mucho ruido, se puede eliminar ste con este tipo de filtros, pero se tiene la desventaja de que se deforma la figura. Para realizar una aplicacin web para dispositivos mviles es necesario tener en cuenta la resolucin de los dispositivos ya que esta es muy limitada y no se puede hacer uso de imgenes muy grandes, de igual forma la informacin de la aplicacin no debe ser mucha ya que eso dificulta la navegacin, as que hay que modular nuestro sistema. El uso de realizar aplicaciones para dispositivos mviles nos permite el poder agilizar algunos procesos y tareas diarias. 8.2 PERSPECTIVAS Este sistema se puede mejorar, en cuanto a los mtodos de reconocimiento de figuras, ya que se asume que no se utilizaron los mejores mtodos, adems se requiere que se d una aplicacin especfica para poder definir un mejor mtodo. Tambin es posible realizar clculos del posicionamiento de las figuras con lo cual se podra realizar un mapa para la localizacin de estas figuras. Se puede aumentar un mdulo de calibracin de espacios para distinguir la distancia entre la cmara y las imgenes y de esta forma dar resultados con medidas aproximadas dependiendo de la calidad e la cmara. Tambin es posible crear un mdulo de simulacin para adaptarlo a algn tipo de robot, con lo que sera capaz de localizar en el mundo real a los objetos. Se puede implementar el reconocimiento de otro tipo de objetos, simplemente cambiando las imgenes de las plantillas y dando de alta stas en el programa, o cambiando alguna de las clases. Se puede implementar este tipo de mtodos para hacer la clasificacin de objetos en una lnea de produccin, en procesos de ensamble, entre otras. Se pude implementar este tipo de tcnicas de reconocimiento para diversos proyectos, ya sean industriales o de investigacin. Se pueden hacer un sin nmero de aplicaciones teniendo como base este proyecto, simplemente hay que hacer un anlisis y adaptacin de los mtodos a la aplicacin para obtener resultados, slo se deja todo este tipo de mejoras para posteriores trabajos esperando que sea una buena referencia para realizar un proyecto que satisfaga otras necesidades.

67

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

APNDICE A: FIGURAS

9.
1-1 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-25 2-26 2-27 2-28 2-29 2-30 2-31 3-1. 3-2 3-3 3-4

Apndice A: Figuras
Deteccin de bordes usando diferentes tcnicas. 2 Icono del programa NetBeans 6.8.. 11 Instalador del NetBeans IDE 6.8.11 Trminos y condiciones del programa.. 12 Ubicacin donde quedara instalado el NetBeans 12 Ubicacin donde quedara instalado el GlassFish 13 Ubicacin donde quedara instalado el Apache Tomcat. 13 Verificacin de los requerimientos antes de comenzar la instalacin.. 14 Progreso de la instalacin14 Barra de herramientas de JWT (Java Wireless Toolkit).. 15 Emulador del Java Wireless Toolkit.. 15 Access Point SMCWEBT-G. 16 Cmara IP DCS-5300 17 Men principal del software de la cmara... 18 Instalacin de la Cmara IP 18 Icono del software de la cmara. 19 Progreso de la instalacin19 Men de la cmara D-Link. 19 Opciones de seguridad de la cmara. 20 Opciones de direcciones para la conexin inalmbrica.. 20 Finalizacin de la instalacin y configuracin del software de la cmara... 21 Bsqueda de dispositivos21 Vista de la cmara Ip desde una pgina WEB..22 Pagina de descarga de S60 Developer Tools 23 Emulador para los Nokia 23 Instalacin de la herramienta de desarrollo. 24 Agregar una nueva plataforma.. 25 Seleccin de la plataforma Java ME MIDP Platform Emulator. 25 Ruta en la que se encuentra ubicada la plataforma. 26 Deteccin de las plataformas instaladas... 26 Seleccin del emulador que se va a utilizar..27 Ligar el emulador al entorno de NetBeans... 27 Arreglo bidimensional de pixeles.. 28 (a) Imagen original f(x,y), (b) Imagen procesada despus de aplicar G(x,y)...31 En (a) se muestra la figura original, en (e) se muestra la imagen en el campo de la frecuencia obtenida despus de aplicar la transformada de Fourier.. 31 En (a) se tiene la imagen simplemente binarizada, en (b) se tiene la imagen aplicando que si tiene 3 o menos vecinos el pxel entonces reconvierte en negro sino se queda del color que est, se le conoce como dilatacin, en (c) se aplica la regla de que si en nmero de pxeles vecinos es mayor o igual a 2 entonces el pxel se convierte en color blanco, a este filtro se le conoce como erosin 32 Ejemplo de Histograma... 33 Mascara de 3x3.. 36 Operadores Laplaccianos 36 En (a) se puede apreciar la imagen que se tiene de unas llaves, mientras que en (b) se ve la imagen aplicando un filtro de umbralizacin. 37 (a) Imagen de origen, (b) imagen de bordes. 37 Direcciones del cdigo de cadena usando conectividad 4 y 8, respectivamente... 38 a) Imagen Binaria. b) rbol que representa al QuadTree..39 Transformada de Hough para Lneas... 41 Transformada de Hough para Crculos 42

3-5 3-6 3-7 3-8 3-9 3-10 3-11 3-12 3-13

68

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

APNDICE A: FIGURAS

4-1 4-2 5-1 5-2 5-3 5-4 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-14 6-15 6-16 6-17 7-1 7-2

Bsqueda de temas relacionados al proyecto en IEEE... 45 Bsqueda de temas relacionados al proyecto en la red.. 46 Diagrama de Casos de Uso. 48 Diagrama de Clases.. 53 Diagrama de Colaboraciones.. 54 Diagrama de Despliegue. 54 Arquitectura general del sistema... 55 Icono del Sistema Vigilancia WEB. 56 Inicializacin de la cmara IP. 56 Activacin del sistema, sesin Ip con WebCam iniciada... 57 Ver Cmara USB de la computadora.57 Transformada de Hough. 58 Mensaje de alerta.. 58 Comparacin de imgenes cuando un objeto nuevo aparece... 58 Nueva Aplicacin para un Mvil... 59 Nombre y Localizacin del nuevo proyecto.60 Seleccin de la plataforma para el Nokia..60 Entorno grafico de la aplicacin. 61 Pantalla de elementos utilizados en la aplicacin... 61 Activacin de aplicacin mvil.. 62 Pantalla de bienvenida, ingreso de IP... 62 Pantalla de presentacin, actualizar y rotar. 63 Pantalla de rotacin de webcam.64 Pantalla donde se ve como aparece un nuevo objeto, marcando donde aparece en el escenario... 64 Vista del Mvil antes y despus de detectar la anomala... 64

69

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

APNDICE B: TABLAS

10. Apndice B: Tablas


3-1 3-2 4-1 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 Niveles de visin y procesos del PDI 28 Tipos de filtros.. 30 Cronograma de actividades 44 Pantalla de Bienvenida 48 Activar el Sistema. 49 Deteccin de Formas 49 Inicializar Wifi...50 Actualizar Imgenes WebCam... 50 Rotar WebCam.. 51 Reportar y Alertar Estado del rea... 51 Solicitar Informacin Mvil Wifi52 Administrador de Vigilancia WEB 52 Sistema de Vigilancia WEB. 52 Wireless WebCam 52 Dispositivos Mviles Cliente.. 53 Computadora Servidor (Laptop)................... 53

70

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

APNDICE C: FORMULAS

11. Apndice C: Formulas


3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 Transformada de Fourier 31 Derivada del vector gradiente (para el caso de funciones bidimensionales).............. 35 Derivada parcial del vector gradiente (para el caso bidimensional discreto)............. 35 Convolucin de la imagen con las mascaras 35 Ecuacin de la segunda derivada del Laplacciano.. 35 Frmula para infinitas rectas que interceptan sobre un mismo punto 40 Valor despejado del lugar donde pasaran todas las rectas 41 Ecuacin de la circunferencia. 41

71

VIGILANCIA WEB BASADA EN LA COMPARACIN DE OBJETOS Y ALERTA EN MVILES

REFERENCIAS

12. Referencias
1. JVigilancia vigilar en remoto su casa o negocio para la deteccin del movimiento, con servidor WEB embebido para el acceso a la imagen, Francisco Vega (1991), http://jvigilancia.sourceforge.net/spa/main.html 2. Informtica Mvil, Diseo de aplicaciones con J2ME, Jos Ramn Arias Garca, Ignacio Marn Prendes, Universidad de Oviedo Tecnologa de Computadoras (2005). 3. Agente para el Procesamiento Digital de Imgenes en 2D en ambientes distribuidos, David Andrs Buitrago Arenas, Ingeniera de Sistemas, Manuela Beltrn. 4. Computer Vision Demonstration Website, Mark S. Nixon Alberto S. Aguado, University of Southampton (2005), http://users.ecs.soton.ac.uk/msn/book/new_demo/ 5. Visin Artificial, Edwin Gamero (Agosto 2010), http://asysver.blogspot.com/2010_08_01_archive.html 6. Rafael C. Gonzales, Richard E. Woods, Tratamiento Digital de Imgenes, AddisonWesley, Das de Santos, 1996. 7. Fundamentos del Tratamiento de Imgenes. Visin por computador, Nicols Prez de la Blanca Capilla, 3 de Abril de 1995. http://www.uco.es/informa/local/cordoba/ccordoba/ccordoba.html 8. Robert J. Schalkoff, Digital Image Procesing and Computer Vision, John Wiley & Sons, Inc., Singapore, 1989. 9. Procesamiento Digital de Imgenes, Captulo II Segmentacin de Imgenes, Codificacin de contornos. http://www.ing.ula.ve/~abravo/document/tutorial/imagenes/indice.html 10. Java_ME_ Programming Wireless Devices With The J2ME, Addison Wesley Roger Riggs, Antero Taivalsaari, Jim Van Peursem, Jyri Huopaniemi,Mark Patel, Aleksi Uotila, Jim Holliday Editor (2003). 11. http://java.sun.com/ Copyright 1994-2009 Sun Microsystems, Inc.
12. http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Java.xhtml

Copyright 2010 Nokia 13. http://netbeans.org/ 14. http://www.j2meforums.com/wiki/index.php/Turorials/ This page was last modified 10:24, 10 Jul 2009. 15. Glvez Rojas, Sergio; Ortega Daz, Lucas. J2ME (Java 2 Micro Edition) http://www.lcc.uma.es/~galvez/J2ME.html/

72

You might also like