Está en la página 1de 27

UNEMI

INTRODUCCIÓN 4

ANTECEDENTES 5
¿QUE PROGRAMA USAN? 5

“UNIVERSIDAD ESTATAL DE MILAGRO”


Microsoft Visual Studio 5
Software 6
AUTOR:
Algoritmo 6
BONILLA LOJA DANIEL ELIECER
Algoritmo De Viola Jones 6
CEDEÑO
SITUACIÓN PROBLEMÁTICA OCHOA ANTHONY JAVIER 7
Face2Gene BAYAS BARRAGAN ANGEL FABRICIO 7

CHIQUITO
OBJETIVO GENERAL VALAREZO FREDDY EDWARD 8

OBJETIVOS ESPECÍFICOS PERIODO: 8

MÉTODOS Y ALGORITMOS DE RECONOCIMIENTO FACIAL 8


7mo. SEMESTRE A-1
ALGORITMO EIGENFACES 8
DOCENTE:
PASOS PARA CREAR EL MODELO EIGENFACES 9
FisherFaces ING. JHONNY ORTIZ  11
Local Binary Pattern TEMA: 11
REDES NEURONALES CONVOLUCIONALES RECONOCIMIENTO FACIAL
12

MILAGRO
ARQUITECTURAS DE REDES NEURONALES CONVOLUCIONALES –ECUADOR
13
Alexnet 13
VGGNet16 13
VGGNet19 14
ResNet50 15

Requisitos de Hardware 15

Requisitos de Software 16
Tool Image Processing en Matlab 16
LIBRERÍAS EN PYTHON 17
TENSOR FLOW 17
KERAS 18
NumPY 18
Matplotlib Dataset 19
DIAGRAMA DE FLUJO DEL PROGRAMA 20

CONCLUSIÓN 21

RECOMENDACIONES 22

ANEXOS 23

REFERENCIAS 26
INTRODUCCIÓN
El reconocimiento facial se ha ido desarrollando con una rapidez innegable. Alphonse
Bertillon(1883) fue quien dio las pautas y asentó las primeras bases de lo que hoy en dia
es el sistema de reconocimiento facial, en aquel tiempo se usó un número considerable
de factores antropométricos como son: rasgos faciales de la persona, simetría y la
distancia de separación de los ojos. Es importante mencionar que este sistema es muy
usado en el ámbito forense, y sí, también en la corte judicial,donde ha llegado a jugar un
papel importante para demostrar la inocencia de un procesado o así mismo determinar
su culpabilidad.

El reconocimiento facial es una versión mucho más mejorada de lo que es la tecnología


que se usa en un celular o computadora para identificar a un grupo de amigos en las
fotos capturadas. El uso para identificar y validar identidades agiliza el control acceso
en edificios gubernamentales y corporativos, pues los sistemas sofisticados están en la
capacidad de poder obtener datos, identificando personas sospechosas o quizás
criminales en serie, logrando así que las empresas puedan tomar las medidas necesarias
para contrarrestar la situación.

Para describir en que se basa el reconocimiento facial tenemos que partir mencionando
que los avances que hasta hoy se han conseguido son gracias a la biometría, así como
también de la tecnología. Los factores mencionados anteriormente han permitido que se
lograra la toma y análisis de nuestros datos biológicos como es el ADN, el iris , la voz y
la huella de la mano. Así surgen los sistemas de reconocimiento facial, los cuales han
sido programados bajo condiciones que se apoyan en la toma de decisiones con ayuda
de fotografías y videos en donde se muestran las características personales y lo plasma
en una imagen en software en donde se realiza el proceso de reconocimiento y
validación.

Bien, en el reconocimiento facial se utilizan algoritmos en donde se analizan cientos o


miles de rostros y usa el mapeo correspondiente que toma 100 expresiones, para obtener
mejores resultados como normativa todas las imágenes tienen que ser 50 x 50 (alto y
ancho de píxeles), dando una cantidad de 2500 pixeles, lo cual influye
considerablemente en el costo de desarrollo del software.
ANTECEDENTES

El reconocimiento facial fue desarrollado en años 60, el primer sistema para


reconocimiento facial era semiautomático y requería un administrador para localizar
rasgos en las fotografías antes de que este calculará distancias a puntos de referencia en
común. No fue hasta finales de los años 80 que, con la aparición de técnicas como el
principal Component Analysis (Turk, 1991), se crearon los primeros sistemas
automatizados de reconocimiento facial en tiempo real fidedignos. A partir de ese
punto, surgieron 2 enfoques predominantes: el fotométrico o basado en experiencia, que
analiza una imagen en plano, y el geométrico o basado en modelos que estudia las
siguientes las características (ojos, nariz, etc.)

A medida que han pasado los años, el interés por este campo ha ido aumentando
progresivamente hasta el día de hoy. Podemos comprender que este nuevo método de
reconocimiento facial ha logrado niveles de progreso muy elevado.

¿QUE PROGRAMA USAN?

Microsoft Visual Studio

Es un entorno de desarrollo integrado (IDE), Soporta múltiples lenguajes de


programación tales como C++, C#, Visual Basic.Net, F#, Java, Python, Ruby, PHP, al
igual que entornos de desarrollo web como ASP.NET MVC, Django, etc. Lo cual suma
nuevas capacidades online bajo Windows Azure en forma de editor Mónaco. Lo cual es
compatible con XML, XSLT, HTML/XHTML, JavaScript y Css. (Microsoft, 2015)

Ilustración 1.Programa Visual Studio

Software

Según (Jain, Ross, & Prabhkar, 2004), Visionics trabaja con un sistema de captura un
rostro entre multitud y lo compara con aquellos que tiene en su base de datos. Reconoce
los puntos nodales de la cara, analizando la distancia entre los ojos, anchura de la nariz,
línea de la barbilla, mentón, pómulos, profundidad de la cuenca de los ojos, etc.

Ilustración 2. Software Visionics

Tenemos en cuenta que existen otros software que tiene un nivel muy altos que son

Cognitec, Identix y Eyematic. Funcionan realmente bien cuando la captura.

Algoritmo

Algoritmo De Viola Jones

Paul viola y Michael Jones desarrollaron este algoritmo en 2001. Este sistema de
detección de rostros representa un gran avance debido a su rapidez para identificar caras
humanas , ya que realiza las clasificación mediante característica extraídas en una escala
de grises, a diferencia de sus predecesores que realizaban pixel a pixel y en imágenes de
color (Viola, 2001).

En el método de Viola Jones se definen los siguientes conceptos:

Integral de la Imagen, es usada para la rápida detección de las características.

· Características de rectángulos, llamados característica de Haar.

· AdaBoost, es un método machine-Learning, este consiste en el


reconocimiento de patrones y el estudio y construcción de algoritmo que aprenden y
predicen el estilo que es un conjunto de datos. (W., 2005)

· Una cascada de decisión para combinar características de manera


eficiente.
SITUACIÓN PROBLEMÁTICA

Face2Gene

Ilustración 3. Aplicación de reconocimiento facial para determinar ciertos trastornos y variantes para sus pacientes

Es una aplicación de salud potencialmente innovadora que utiliza reconocimiento facial


para ayudar a los médicos y a la bioinformática a priorizar y determinar ciertos
trastornos y variantes para sus pacientes. Funciona utilizando un algoritmo patentado
que compara las caras de los individuos con aquellos con síndromes que presentan una
morfología similar. Como resultado, los pacientes posiblemente puedan ser
diagnosticados con síndrome genéticos más rápido y de manera más eficiente.

Según (Gurovich, 2019) los investigadores describen la tecnología detrás de la ayuda de


diagnóstico, una aplicación para teléfonos inteligentes llamada Face2Gene. Se basa en
algoritmo de aprendizaje automático y redes neuronales similares al cerebro para
clasificar las características faciales distintivas en fotos de personas con trastornos
congénitos y el desarrollo neurológico. Usando los patrones que infiere de las imágenes,
el modelo se enfoca en posibles diagnósticos y proporciona una lista de opciones
probables.

Los médicos han estado utilizando la tecnología como ayuda, aunque no está destinada
a proporcionar diagnósticos definitivos. Pero plantea una seria de preocupaciones éticas
y legales, dicen los investigadores. Estos incluyen el sesgo étnico en los conjuntos de
datos de capacitación y la fragmentación comercial de las bases de datos, que podrían
limitar el alcance de la herramienta de diagnóstico.

OBJETIVO GENERAL

Realizar la programación y la interfaz de usuario, para un sistema de reconocimiento


facial, mediante Matlab y Python.
OBJETIVOS ESPECÍFICOS

● Aprender los conceptos y estructuras que se usan para el reconocimiento facial.


● Diferenciar los métodos de programación entre el software de Matlab y Python.
● Demostrar el correcto funcionamiento del software desarrollado.
● Sugerir en qué lenguaje se desarrollaría el software de manera más fácil.

MÉTODOS Y ALGORITMOS DE RECONOCIMIENTO FACIAL

ALGORITMO EIGENFACES

El método de reconocimiento facial ‘Eigenfaces’ usa un conjunto de vectores que se


usan para el reconocimiento facial. Fue planteado en el año 1987 por Sirovich y Kirby,
finalmente fue desarrollado por Alex Pentland y Matthew Turk en 1991. “Eigen” hace
referencia a un conjunto almacenado de vectores. La principal característica de este
algoritmo es que está en la capacidad de poder representar un conjunto de imágenes
formadas en estructura ‘eigen’ que nos da una dimensión más pequeña que la de las
imágenes de formato original. Los vectores propios se obtienen a partir de la matriz de
covarianza en la distribución de probabilidad dividido para espacio vectorial de
dimensionalidad de la imágenes del rostro.

Eigenfaces se genera a través de un minucioso proceso matemático que es llamado


‘Análisis de Componentes Principales’ en un grupo de imágenes que muestran distintas
caras humanas. Eigenfaces partió con la necesidad de encontrar la manera de
representar dimensiones de imágenes con rostros. Aquí cada rostro original va a ser
construido tal como una combinación lineal del conjunto base, se debe extraer solo
aquella información crítica o de más importancia y que después se deberá codificar con
una eficacia extrema para que los resultados que se quieran obtener sean de calidad. Las
fotografías de los rostros se muestran en un lugar de características donde se observa de
mejor manera la manera en que varía con las imágenes de los rostros conocidos. Los
eigenfaces que son creados en el proceso aparecen como unas imágenes claras y
obscuras que estarán dispuestas en un patrón en específico. El patrón es establecido para
anotar características distintas encontradas en una cara para que después puedan ser
evaluados, así mismo se evalúa la simetría, algo diminuto como es un bello facial,
donde está ubicada la línea del cabello y analizar el tamaño de la nariz y boca.
PASOS PARA CREAR EL MODELO EIGENFACES

1. En el primer paso se prepara el conjunto de entrenamiento de las imágenes con


el rostro, las mismas que deben cumplir con ciertos parámetros como son:
condiciones de luminosidad adecuada, luego se deben de normalizar para que los
ojos y boca sean alineados en cada imagen del entrenamiento. Estas imágenes
son almacenadas en una matriz donde sus columnas representarán una imagen.
2. Como segundo paso encontramos el cálculo de la media de la imagen,con la
resta de las imágenes correspondientes en la matriz se obtendrá una distancia d.
3. En el paso tres se debe calcular los autovectores y valores propios de la matriz
covarianza, los eigenvectores deben tener la misma dimensión que las imágenes
originales y así ser una representación casi exacta de dicha imagen. Las
direcciones en la imágenes difieren de la imagen media.
4. En el cuarto paso se eligen todos los componentes principales y se ordenan todos
los valores propios de manera ascendente y así estos eigenfaces pueden ser
usados para representar caras existentes o nuevas. Aquí se puede observar como
una imagen puede diferir de la imagen original.

Ejemplo.

Se muestra una imagen que aleatoria que se va procesar con el algoritmo de eigenfaces
Ilustración 4. Imagen antes de usar el algoritmo Eigenfaces

A continuación se muestra el resultado de la imagen luego de aplicar el algoritmo de Eigenfaces


y la manera que difiere con la imagen original.

Ilustración 5. Imagen procesada con el algoritmo Eigenfaces


FisherFaces

De acuerdo, esta técnica se considera las imágenes de entrenamiento de un mismo


individuo como clases, por lo tanto existen el mismo número de clases que personas.
Una vez que hemos definido estas clases se procede a calcular dos matrices: La matriz
de dispersión entre clases y la matriz de dispersión dentro de clases. De esta manera se
calcula estas matrices que se obtiene una matriz de proyección donde cada columna será
la base del nuevo sub-espacio, que se denomina Fisherfaces.

Para realizar el cálculo de la matriz de proyección, se requiere que las matrices de


dispersión sean no-singulares(inversa), esto no siempre es posible a que el número de
las imágenes casi siempre es menos el número de píxeles de cada imagen.Para reducir
su dimensión.

Podemos recalcar que FisherFaces permite una reconstrucción de la imagen, ya que se


utiliza en la comparación de imágenes mediante una distancia euclidiana.

Local Binary Pattern

Patrón Binario Local, Podemos decir que es un operador de textura que etiqueta los
pixeles de una imagen por Thresholding o umbral, ya que es un método de
segmentación de imagen que a a partir de una escala de grises crea una imagen binaria,
cada píxel y el resultado de esa operación se puede considerar como un número binario.

De acuerdo una de las propiedades más importantes en su indiscriminación frente a los


cambios en las escala de grises como por ejm. La luminosidad.

Como se puede apreciar en la imagen tenemos el rostro de la persona que se ha


dividido en bloques de igual tamaño, aunque no es necesario que sean igual, ya que
cada uno de ellos se le ha calculado un histograma el cual se ira complementando con
los demas para asi crear una para toda la imagen. Podemos recalcar que cada histograma
se ve referenciado por tonos grises y por esto se posee varios niveles de altura en su
gráfico.

REDES NEURONALES CONVOLUCIONALES

Una red neuronal convolucional (sus siglas en inglés CNN) involucra al menos una capa
convolucional (regularmente con un paso de submuestreo) y luego sigue al menos una
capa completamente asociada como en un sistema neural multicapa estándar. La
ingeniería de una CNN está destinada a explotar la estructura 2D de una imagen de
información. Esto se logra con asociaciones cercanas y cargas atadas, seguidas de algún
tipo de agrupación que genera interpretaciones invariantes. Otra ventaja de las CNN es
que son más simples de preparar y tienen muchos menos parámetros que los sistemas
completamente asociados con un número similar de unidades ocultas. En este momento
hablaremos sobre el diseño de una CNN y el cálculo de generación posterior para
calcular la pendiente en cuanto a los parámetros del modelo para utilizar la mejora
basada en la inclinación. Vea los ejercicios de instrucción individuales sobre
convolución y agrupación para obtener más sutilezas en esas tareas particulares.

Una CNN consta de una serie de capas convolucionales y de submuestreo


opcionalmente seguidas de capas completamente conectadas. La entrada a una capa
convolucional es una imagenm∗m∗r donde m es la altura y el ancho de la imagen y r es
el número de canales, p. una imagen RGB tiene r =3. La capa convolucional tendrá k
filtros (o núcleos) de tamaño n∗n∗q donde n es menor que la dimensión
de la imagen yq puede ser igual al número de canales r o menor
y puede variar para cada núcleo. El tamaño de los filtros da
lugar a la estructura conectada localmente, cada uno
convolucionado con la imagen para producir k mapas de
características de tamaño m − n+1. Luego, cada mapa se submuestra
típicamente con una agrupación media o máxima sobre regiones contiguas p∗p donde p
varía entre 2 para imágenes pequeñas (por ejemplo, MNIST) y generalmente no es más
de 5 para entradas mas grandes. Antes o después de la capa de submuestreo, se aplica un
sesgo aditivo y una no linealidad sigmoidal a cada mapa de características. La siguiente
figura ilustra una capa completa en una CNN que consiste en subcapas convolucionales
y de submuestreo. Las unidades del mismo color tienen pesos atados.
Ilustración 6. Subcapas convolucionales y de submuestreo

ARQUITECTURAS DE REDES NEURONALES CONVOLUCIONALES

Alexnet

AlexNet es un sistema neuronal convolucional que se prepara con más de un millón de


imágenes de la base de datos ImageNet. El sistema tiene 8 capas de profundidad y
puede caracterizar imágenes en 1000 clases de artículos, por ejemplo, consola, mouse,
lápiz y numerosas criaturas. Por lo tanto, el sistema ha aprendido representaciones de
elementos ricos para una amplia gama de imágenes. El sistema tiene un tamaño de
entrada de imagen de 227 x 227.

VGGNet16

“VGG-16 es una ingeniería de sistema neuronal convolucional, su nombre VGG-16 se


origina en la forma en que tiene 16 capas. Sus capas se componen de capas
convolucionales, capas de agrupación máxima, capas de activación, capas
completamente asociadas” (Hassan, 2018).

Hay 13 capas convolucionales, 5 capas de Max Pooling y 3 capas densas que resumen
en 21 capas y solo 16 capas de peso.
Conv 1 tiene un número de canales como 64, mientras que Conv 2 tiene 128 canales,
Conv 3 tiene 256 canales mientras que Conv 4 y Conv 5 tiene 512 canales. El sistema
VGG-16 está preparado en el conjunto de datos de ImageNet que tiene más de 14
millones de imágenes y 1000 clases, y alcanza el 92.7% de precisión entre los 5
mejores. Supera a la organización de AlexNet al suplantar canales enormes de tamaño
11 y 5 en la primera y segunda capas de convolución con canales pequeños de tamaño
3x3.

Ilustración 7. Arquitectura VGGNet16

VGGNet19

VGG-19 es una red neuronal convolucional que se entrena en más de un millón de


imágenes de la base de datos ImageNet. La red tiene 19 capas de profundidad y puede
clasificar imágenes en 1000 categorías de objetos, como teclado, mouse, lápiz y muchos
animales. Como resultado, la red ha aprendido representaciones de características ricas
para una amplia gama de imágenes. La red tiene un tamaño de entrada de imagen de
224 por 224. Para obtener más redes pre-entrenadas en MATLAB®, vea Redes
neuronales profundas pre-entrenadas.
Ilustración 8. Arquitectura VGGNet-19

ResNet50

ResNet-50 es un sistema neuronal convolucional que se prepara con más de un millón


de imágenes de la base de datos ImageNet. El sistema tiene 50 capas de profundidad y
puede agrupar imágenes en 1000 clases de artículos, por ejemplo, consola, mouse, lápiz
y numerosas criaturas. En consecuencia, el sistema ha aprendido representaciones de
componentes ricos para una amplia gama de imágenes. El sistema tiene un tamaño de
entrada de imagen de 224 por 224.

Requisitos de Hardware

Hardware Descripción

Pantalla HD o Full HD

Procesador Intel I5 8° generación o Ryzen 5 (AMD)

Almacenamiento 20 GB libres

RAM 4 GB recomendado

Tarjeta gráfica soporte para OpenGL y con 1GB CPU

Cámara web Resolución 1080x720p, alimentación 5V,


con tasa de 30 a 40 fotogramas por
segundo.
Requisitos de Software

Software Descripción

Sistema Operativo Windows 7-8-10 64 bits

Matlab Versión completa 2018

Funciones Procesamiento Imágenes Descripción

Toolbox Image Procesing Proporciona los algoritmos para la prueba


y análisis de las imágenes.

Librerías para la camara web Para poder establecer una comunicación


entre la cámara web y el algoritmo en
Matlab.

vision.CascadeObjectDetector Es una función para detectar el rostro,


cuerpo y ojos del sujeto estudiado.

Tool Image Processing en Matlab

La caja de herramientas de procesamiento de imágenes ofrece muchas capacidades y


aplicaciones para la preparación, investigación y representación de imágenes. Hay
numerosas capacidades accesibles para el examen de imágenes, la división de imágenes,
la mejora de imágenes, la disminución del clamor, los cambios geométricos y el
alistamiento de imágenes. Además, numerosas capacidades soportan CPU y GPU
multinúcleo y multiprocesador.

La caja de herramientas de procesamiento de imágenes refuerza un amplio surtido de


tipos de imágenes, incluyendo una gama alta y única, objetivos de gigapíxeles, perfil
ICC incrustado y tomografía. Las capacidades de percepción permiten a los clientes
investigar imágenes y grabaciones, mirar un distrito de píxeles, alterar el sombreado y la
diferencia, hacer formas o histogramas y controlar áreas de primera calidad.

La caja de herramientas de procesamiento de imágenes ofrece numerosas capacidades


potenciadas por la GPU. Para realizar una actividad de manejo de imágenes en una
GPU, se pueden aplicar los avances que la acompañan:

● Mover información, por ejemplo, una imagen, de la CPU a la GPU haciendo


objetos gpuArray.
● Realice la actividad de preparación de imágenes en la GPU ya sea utilizando las
capacidades de la GPU que reconocen un objeto gpuArray o realizando tareas de
componentes astutos o de pixelado en conjunto con respecto a una GPU que
utiliza arrayfun y bsxfun.
● Mover la información de vuelta a la CPU desde la GPU utilizando la
acumulación de wo

LIBRERÍAS EN PYTHON

TENSOR FLOW
Tensor Flow es una plataforma de código abierto de extremo a extremo para el
aprendizaje automático. Cuenta con un ecosistema integral y flexible de herramientas,
bibliotecas y recursos comunitarios que permite a los investigadores impulsar el estado
del arte en ML y los desarrolladores crean y despliegan fácilmente aplicaciones con
tecnología ML.(Tensor Flow.org)

Las ventajas que ofrece:

● Se puede crear y entrenar modelos ML fácilmente utilizando API intuitivas de


alto nivel como Keras con ejecución entusiasta, lo que permite la iteración
inmediata del modelo y la depuración fácil.
● Permite capacitar e implementar fácilmente modelos en la nube, en las
instalaciones, en el navegador o en el dispositivo, sin importar el idioma que
utilice.
● Una arquitectura simple y flexible para llevar nuevas ideas del concepto al
código, a los modelos más modernos y a una publicación más rápida.

Para poder trabajar junto con python es necesario seguir los pasos que se indican en la
página web.

KERAS
Keras es una API de sistemas neuronales de nivel significativo, escrita en Python y
equipada para ejecutarse sobre TensorFlow, CNTK o Theano. Fue creado con énfasis en
potenciar la experimentación rápida. Tener la opción de pasar del pensamiento al
resultado con el aplazamiento menos concebible es vital para hacer una gran
investigación.

Use Keras si necesita una biblioteca de aprendizaje profundo que:


Tiene en cuenta la creación de prototipos simple y rápida (a través de la facilidad de
uso, la calidad medida y la extensibilidad).

Admite tanto sistemas convolucionales como sistemas intermitentes, al igual que las
mezclas de los dos.

Se ejecuta sin problemas en CPU y GPU.


NumPY

NumPy es el paquete central para el procesamiento lógico con Python. Contiene además
de otras cosas:

Ilustración 9. Características de NumPy

Además de sus usos lógicos conspicuos, NumPy también puede utilizarse como un
poseedor multidimensional competente de información no exclusiva. Se pueden
caracterizar los tipos de información subjetiva. Esto permite que NumPy se incorpore de
manera consistente y rápida con una amplia variedad de bases de datos.

Matplotlib Dataset

Matplotlib es una biblioteca de trazado 2D de Python que produce figuras de calidad de


producción en una variedad de diseños de copias impresas y situaciones intuitivas en
todas las etapas. Matplotlib se puede utilizar en el contenido de Python, el editor de
texto de Jupyter, los servidores de aplicaciones web y cuatro cajas de herramientas
gráficas de UI.

Ilustración 9. Usos de Matplotlib

Matplotlib intenta hacer que las cosas simples sean simples y que las difíciles sean
posibles de concebir. Puede crear diagramas, histogramas, espectros de potencia,
contornos de barras, diagramas de error, diagramas de dispersión, etc., con solo un par
de líneas de código. Para modelos, vea las parcelas de ejemplo y la exposición de
miniaturas.
DIAGRAMA DE FLUJO DEL PROGRAMA

Ilustración 9. Diagrama de flujo del proyecto


CONCLUSIÓN

En fin, el programa presentado para el procesamiento de imágenes el cual consistía


analizar a un individuo por medio de una cámara web fue todo un éxito y quedamos
satisfechos por los resultados obtenidos, teniendo en cuenta el tiempo que fue designado
por la autoridad pertinente para la elaboración del mismo. También cabe reconocer
conocer la ayuda que presentó matlab para la finiquitación del proyecto, debido a la
cantidad de recursos con que cuenta para el procesamiento de imágenes.

El presente trabajo ha permitido pulir nuestras habilidades de programación y además


extender nuestro conocimiento respecto a Matlab, así como también el conocimiento en
materia de procesamiento de imágenes. Este proyecto también nos da una oportunidad a
elaborar un una progresión del mismo donde toma un alcance más amplio y que pueda
ser de utilidad en diversas áreas de tipo científico y técnico.

El presente trabajo se elaboró con la finalidad de aprender sobre la tarea de procesar y


analizar a partir de imágenes cargadas donde se analiza el rostro del individuo y da
como resultante una matriz que se prestara para el diagnóstico de una posterior prueba.
RECOMENDACIONES

La cámara web debe tener los respectivos protocolos de seguridad ya que caso contrario
es fácil que un tercero pueda acceder a ellas sin que los involucrados en el proyecto se
den cuenta.

Otra observación muy notable sería que para obtener un desempeño mejor se debería
migrar el código de Matlab a Python, como resultante se obtendrá una mayor velocidad
de ejecución.

Otra recomendación sería que el individuo que estará sujeto a la validación por el
programa esté sin ningún tipo de accesorio extra (gafas, gorra, etc.) o algo que impida
capturar el rostro de manera eficiente.
ANEXOS

Ilustración 10. Creación Interfaz del Proyecto

Ilustración 11. Interfaz del Proyecto


Ilustración 12. Interfaz del Proyecto

Ilustración 13. Interfaz del Proyecto


Ilustración 11. Interfaz del Proyecto
REFERENCIAS

Qidwai, U., & Chen, C. H. (2010). Digital image processing: An algorithmic


approach with MATLAB. Chapman & Hall/CRC.
Marques, O. (2011). Practical image and video processing using MATLAB. J.
Wiley & Sons/IEEE Press.
Haque, M. I., Valles, D., Resendiz, M. D., & Koutitas, G. (2019). A facial
expression recognition application development using deep convolutional neural
network for children with autism spectrum disorder to help identify human
emotions. Texas State University.
Lyra, M., Ploussi, A., & Georgantzoglou, A. (2011). MATLAB as a Tool in
Nuclear Medicine Image Processing. INTECH Open Access Publisher.
Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data mining: Practical
machine learning tools and techniques. Elsevier.
Pietikäinen, M. (2011). Computer Vision Using Local Binary Patterns. Springer.
Jain, A. K., Ross, A., & Prabhkar, S. (2004). An introduction to biometric recognition”.
IEEE Transactions on circuits and systems for video technolgy, pp. 4-20.
Microsoft. (1 de septiembre de 2015). Obtenido de
https://visualstudio.microsoft.com/es/vs/features/universal-windows-platform/
Turk, M. P. (1991). Eigenfaces for recognition. Journal of Cognitive
Neuroscience. pp. 71–86.
Viola, P. J. (2001). Robust Real-Time Face Detection. International Journal,
pp,137-154.
W., H. (22 de septiembre de 2005). Machine Learning. Obtenido de Machine
Learning.:

Gurovich, Y. y. (2019). Nature Med . Obtenido de https://doi.org/10.1038/s41591-018-


0279-0

Cowley, J. (07 de Diciembre de 2018). Redes neuronales convolucionales. Obtenido de


Ibm.com: https://www.ibm.com/developerworks/ssa/library/cc-convolutional-neural-
network-vision-recognition/index.html

Ploskas, N., & Samaras, N. (2016). Image Processing Toolbox. Obtenido de


sciencedirect.com: https://www.sciencedirect.com/topics/computer-science/image-
processing-toolbox
Rosebrock, A. (20 de Marzo de 2017). ImageNet: VGGNet, ResNet, Inception, and
Xception with Keras. Obtenido de pyimagesearch.com:
https://www.pyimagesearch.com/2017/03/20/imagenet-vggnet-resnet-inception-
xception-keras/

Tewari, S. (25 de Noviembre de 2019). CNN Architecture Series -VGG-16 with


implementation. Obtenido de Medium.com:
https://medium.com/datadriveninvestor/cnn-architecture-series-vgg-16-with-
implementation-part-i-bca79e7db415

Zheng, Y., & Yang, C. (Mayo de 2018). Breast cancer screening using convolutional
neural network and follow-up digital mammography. Obtenido de Researchgate.net:
https://www.researchgate.net/publication/325137356_Breast_cancer_screening_using_c
onvolutional_neural_network_and_follow-up_digital_mammography

También podría gustarte