Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DOCENTE:
Ingeniero de Sistemas
INGENIERÍA DE SISTEMAS.
INTELIGENCIA ARTIFICIAL
VALLEDUPAR – CESAR
(2020)
Resumen
Palabras Claves
This work describes the process of extracting facial gesture patterns with the
help of Artificial Neural Networks. The information of the Neural Network
together with the preselected images, will be stored in a data bank, they will
undergo a treatment and after having made the image classification, the state of
mind obtained from the person will be indicated by means of from image.
Keywords
1. Introduccion.....................................................................................................................4
2. Estado del arte.................................................................................................................6
3. Planteamiento del problema..........................................................................................16
4. Objetivos........................................................................................................................18
4.1. Objetivo General....................................................................................................18
4.2. Objetivos Específicos...........................................................................................18
5. Justificacion....................................................................................................................19
6. Metodologia...................................................................................................................20
6.1 Metodología del conexionismo...............................................................................21
6.1.1 Modelo de red neuronal de Hopfield....................................................................21
6.1.2 Modelo de Red Neuronal Backpropagation.........................................................22
6.1.3 Algoritmos genéticos..............................................................................................23
Bibliografia.................................................................................................................................32
ANEXOS......................................................................................................................................34
1. Introduccion
Reconocimiento de firmas
Reconocimiento de caracteres
Además de los algoritmos que nos permitan manipular las imágenes con
comodidad y puesto que en el proyecto se intenta identificar qué características
son las más apropiadas para la identificación de las imágenes se hace
necesario añadir algún tipo de algoritmo de inteligencia artificial que nos ayude
a identificar qué parámetros son los más adecuados, es aquí donde entran las
redes neuronales artificiales.
En esta investigación, las redes neuronales nos ayudarán a, dados unos datos
de entrada, que serán las características extraídas de las imágenes,
indicaremos a qué imagen corresponden esos datos de entrada, de tal forma
que al entrenar la red los pesos de las neuronas se vayan reajustando hasta
obtener la salida deseada con el menor error posible.
Cuando las imágenes son complejas y no se sabe muy bien qué patrones o
características son las que definen mejor dichas imágenes, la utilización de
redes neuronales puede ayudar a averiguar estas características.
Por otro lado, toda la información que viaje a través del servicio web tendrá que
estar almacenada en algún sitio. Es por esto que se utilizará una base de datos
Microsoft SQL Server11, donde se guardará la información de las imágenes.
Se podría haber optado por cualquier otro tipo de sistema gestor de base de
datos como MySql12, pero puesto que la mayor parte de los programas de
reconocimiento de imágenes en el servidor se han desarrollado con el IDE
Visual Studio13 de Microsoft y dado que el servicio web está instalado y
corriendo sobre Internet Information Service (IIS), da menos problemas al
permitir una mejor depuración de errores, y ser más amigable (mayor aporte de
IntelliSense) en su programación.
En [5] se describe un método para detectar piel en una imagen, usando redes
neuronales del tipo SOM (Self-Organizing Map o mapas auto organizados), el
cual alcanza una efectividad de un 94% en imágenes faciales (rostros).
Además, se describe un procesador particular (AXEON) como base para la
construcción de un detector de piel por hardware, y se muestran los beneficios
de utilizar este sistema en un entorno de grandes dimensiones.
Las causas de este predicamento que sufren los pacientes alojados en estos
sitios, pueden variar dependiendo de su vida (o incluso por algún problema
biológico), es por eso que los comportamientos y los estados emocionales de
estos pacientes suele ser bastante errático. Como la parte esencial en el centro
médico es la pronta recuperación del paciente, es indispensable que éste se
mantenga relajado y evitar que tenga cualquier alteración posible, siendo clave
hacer un seguimiento en su estado emocional. Es aquí donde los sistemas de
reconomiento de imágenes que determinan patrones del comportamiento del
ser humando utilizando redes neuronales, entran a jugar un papel importante,
debido a que éste mantendrá una supervisión constante del paciente, haciendo
un análisis de su estado emocional basados en las expresiones faciales.
6. Metodologia.
Este modelo es otro tipo de estructura del conexionismo propuesto por Werbos,
P.J., (1974). Poco después Parker, D., (1982) y Rumelhart, D., (1986) llegaron
al algoritmo Backpropagation, solucionando el problema de aprendizaje en los
valores de pesos de conexiones en unidades de capas ocultas en una Red
Neuronal Multicapa. En un modelo de propagación feedforward, las señales de
entrada son procesadas desde una capa a la siguiente por capas ocultas
múltiples y después de esto, se propagan a la capa de salida. Cada neurona de
salida en una capa sólo afecta el estado de la siguiente capa. Un modelo
Backpropagation consiste en minimizar el tipo de error en el aprendizaje, cuyo
proceso de aprendizaje es realizado en dos partes: propagación feedforward de
entrada y propagación feedback de error. El error es propagado hacia atrás
cuando aparece entre la entrada y la salida esperada durante el proceso
feedforward. Durante la Backpropagation, se efectúa valores de los pesos en
cada conexión entre cada capa de neuronas, son corregidos y gradualmente
ajustados hasta que el error de salida mínimo sea alcanzado.
Esta red neuronal debe ser entrenada con las salidas de las imágenes
clasificas de forma que se obtenga el mínimo error posible.
Tratamiento de la imagen
Es el primer paso para conseguir nuestros objetivos es obtener las
características que nos permitan diferenciar entre las distintas clases de
imágenes almacenadas, en nuestro caso utilizaremos un banco de
imágenes de 200 fotografías, relacionadas con los gestos que tienen las
personas en el momento que se capturo la imagen. Para la correcta
obtención de las características de las imágenes se realizan diferentes
operaciones sobre cada tipo. Estas operaciones podrían ser distintas
dependiendo del tipo de imagen estudiada.
Escala de grises.
Primero la imagen debe convertirse en un formato más apropiado para
extraer las características. Se considera que, en esta primera
aproximación, los más relevante de las imágenes a tratar es su
contorno, y para hallar su contorno no es necesario tener en cuenta el
color de las imágenes. Por lo que es más conveniente convertir la
imagen a una escala de grises. En este proyecto se trabaja con el
modelo RGB. En este modelo se asigna una intensidad a cada uno de
los tres colores primarios de luz: rojo, verde y azul, de esta manera cada
pixel en una fotografía se representa mediante un valor que identifique la
intensidad de cada uno de estos tres colores que, mezclados por
adición, y se acerque más al color verdadero del pixel, las cámaras
digitales modernas utilizan valores entre 0 y 255 (28 ), permitiendo de
esta manera más de 16 millones de colores distintos.
En una escala de grises en cambio, cada pixel es representado con un
único valor entre 0 y 255, el cual representa que tan oscuro es el mismo.
Para convertir un pixel de una imagen en color a uno en escala de grises
se suele hacer un promedio ponderado de la intensidad de cada uno de
los tres colores en donde a cada color se le asigna un peso. Al ser un
promedio ponderado la suma de los tres pesos debe ser igual a 1.
El resultado de aplicar lo anterior es el siguiente:
Filtrado de Imagen
Es necesario filtrar la imagen para quitar ruido, para realizar esto es necesario
reducir la amplitud de las variaciones de la imagen, una forma simple de hacer
esto, es reemplazar cada pixel por la media del valor de los pixeles del
alrededor, de esta forma las variaciones rápidas de intensidad pueden ser
suavizadas y reemplazadas por una transición más gradual. La función elegida
para realizar este suavizado ha sido GaussianBlur, esta función tiene en cuenta
el peso de los pixeles más cercanos que los alejados. La función realizada por
este algoritmo de suavizado es la siguiente.
2 2
− x +− y
1 2∗a
2
G ( x , y )= 2
∗e
2∗π∗σ
Donde la “x” es la distancia desde el origen (punto del pixel a tratar) en el eje
horizontal, e “y” es la distancia desde el origen en el eje vertical y “σ ” es la
desviación estándar de la distribución Gaussiana. Cuando se aplica en dos
dimensiones, esta fórmula produce una superficie cuyos contornos son círculos
concéntricos con la distribución Gaussiana desde el punto central.
Binarizacion
Una vez obtenida la imagen en escala de grises y después de filtrarla se
procedió a hacer una binarización. La Binarizacion es un proceso que
transforma una imagen que está en escala de grises a una imagen en dos
colores: blanco y negro. Esto es útil para el reconocimiento de las imágenes
porque éstas se distinguen principalmente por la forma de la imagen más que
por la intensidad de los píxeles que los componen. De esta forma, al convertir
las imágenes en blanco y negro se pierde muy poca información relevante y se
simplifica la representación de cada píxel, pasando de 256 posibles valores a
tan solo 2. Un método muy utilizado para binarizar una imagen es escoger un
valor umbral T(x, y) para cada pixel (x, y) y establecer el valor de cada píxel
como THRES_BINARY
0 si I ( x , y ) <T ( x , y )
dst (x , y)=
{255 ,∧en cuanlquier otro caso
0 si I ( x , y ) <T ( x , y )
dst (x , y)=
{255 ,∧en cuanlquier otro caso
Añadir que si se quiere aislar y dibujar la figura con contorno mayor del resto.
Existe un método llamado drawContour que dibuja el contorno, pero además la
opción thickness si se indica un -1, dibuja todo el interior del contorno del color
elegido.
Extracción de características
Finalmente, después de procesar adecuadamente las imágenes se obtienen
las características mas significativas que permitan diferenciar los objetos a
clasificar, independientemente del tamaño o inclinación que tenga la imagen en
cuestión. Si las imágenes fueran adquiridas mediante un escáner, la inclinación
podría ser muy pequeña, incluso tanto que podría despreciarse. Sin embargo,
cuando las imágenes son adquiridas de otra forma, la inclinación entra a ser un
factor importante. Por esta razón es necesario encontrar características que
sean invariantes a la rotación y a la escala, es decir, que al rotar o escalar una
imagen el valor numérico de las características sean similar.
μ pq=∬ ( x−x́ ) f ( x, y ) dy dx
θ1=n20+ n02 θ2=(n ¿ ¿ 20+ n02 )2+ 4 n211´ ¿θ3 =(n ¿ ¿30+ 3 n12)2+ ( 3 n21−n03 ) 2 ,¿
'
θ5 =(n ¿ ¿30−3 n12)+ ( n30+ n12) ( ( n30 +n12 ) 2−3 ( n21 +n13 ) 2)+(3 n21−n 03)(n03 )(n21 +n03) x (3 ( n30 +n12 ) 2−( n
θ6 =(n ¿ ¿ 20−n 02) ( n30+ n12) 2 ¿−(n21 +n03 )2 ¿+ 4 n11 (n30 +n12)(n21+n 03)
θ7 =(3 n ¿ ¿ 21−n03) ( n30 +n 12) ( ( n30+ n12 ) 2−3(n 21+n 03)2)−(n30−3 n 12)(n21 +n03 )x (3 ( n30 +n12 ) 2−( n 21 +n 0
Una vez extraídas las características de las imágenes conocidas que tenemos
almacenadas en el banco de imágenes, debemos encontrar un sistema que
dado un conjunto de características de una imagen nos diga a que imagen de
las almacenadas se parece mas o corresponde. Esto es lo que se conoce
como clasificador o reconocedor de datos.
Por las características del proyecto se decidió utilizar un tipo de red neuronal
Backpropagation.
Entre las ventajas que tienen este tipo de redes, es que aprovecha la
naturaleza paralela de las redes neuronales para reducir el tiempo requerido
por un procesador secuencial para determinar la correspondencia entre unos
patrones dados. Por otro lado, hay que reconocer que patrones son los mas
adecuado, es decir, de todos los parámetros enviados a la red unos serán mas
significativos que otros. Las redes neuronales ayudaran a encontrar los
parámetros más significativos.
Una vez que se ha aplicado un patrón de entrada a la red como estímulo, este
se propaga desde la primera capa al resto de capas de la red, hasta generar
una salida. La señal de salida se compara con la salida deseada y se calcula
una señal de error para cada una de las salidas.
Bibliografia
https://eprints.ucm.es/23444/1/ProyectoFinMasterPedroPablo.pdf .
http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S0122-
34612012000200006
[4] Juan J. Igarza, Amalur Colau, Iñaki Goirizelaia, Inmaculada Hernáez, Raúl
Méndez.
Universidad del País Vasco. Sistema de verificación de firmas off-line basado
en modelos
ocultos de Markov. Archivo electrónico, último acceso el 2 de septiembre de
2013:
http://ursi.usc.es/articulos_modernos/articulos_coruna_2003/actas_pdf/SESION
%208/S8.%20Aula%202.4/1355-SISTEMA.PDF.
[5] D. Brown and I. Craw, "A SOM Based Approach to Skin Detection with
Application in Real Time Systems", 12th British Machine Vision
Conference, Manchester, 2001. [En
línea].Disponible: http://www.comp.leeds.ac.uk/bmvc2008/proceedings/2001/pa
pers/33/accepted_33.pdf. ** pertenece al del estado del arte a nivel
nacional ****
[5] Juan Manuel Pascual Gaspar. Uso de Firma Manuscrita Dinámica para el
Reconocimiento Biométrico de Personas en Escenarios Prácticos. Archivo
electrónico,
último acceso el 2 de septiembre de 2013:
http://uvadoc.uva.es/bitstream/10324/130/1/TESIS52-100223.pdf. ** pertenece
al del estado del arte a nivel internacional ****
[6] Nancy Rangel Galán, Israel Delgado Guerra, Bravo Zúñiga Haydee.
Reconocimiento de
caracteres manuscritos. Archivo electrónico, último acceso el 2 de septiembre
de 2013:
http://www.encuentra.gob.mx/APF?q=RECONOCIMIENTO%20POR
%20REGIONES%20DE%20CARACT
ERES%20MANUSCRITOS&client=cio.
ANEXOS
[ANEXO A.1]
RED NEURONAL
y=f ( ⃗
w , ⃗x )
Aprendizaje adaptativo
Tiene la capacidad de aprender a realizar tareas basadas en
entrenamiento o en experiencia.
Autoorganización
La red puede crear su propia organización o su propia representación de
la información después de una etapa de aprendizaje.
Tolerancia a fallos
Una destrucción parcial de la red conduce a una degradación de los
resultados, pero puede seguir funcionando
Operación en tiempo real
Las redes (los computadores neuronales) pueden ser realizadas en
paralelo.
Fácil inserción dentro de la tecnología existente
Una red puede ser rápidamente entrenada, comprobada, verificada y
trasladada a hardware con bajo coste, lo que permite su inserción para
tareas específicas.