Propuesta DSI
Propuesta DSI
Proyecto
Reconocimiento Facial
Introducción:
Los seres humanos desde tiempos remotos hasta la actualidad se han visto en la
obligación de reconocerse unos a otros mediante nombres, apodos, etc., pero es el
rostro el que nos da una propia identidad a cada persona ya que por medio de
estudios la cara es una de las cosas que imposible de olvidar, es por esto que, por
medio de las nuevas tecnologías y algoritmos, se han implementado varias
funcionalidades propias en respecto a esta identidad. En los inicios de esta
tecnología llamada “Reconocimiento facial” se usaba algoritmos de reconocimientos
muy simples el cual daba mayor oportunidad a que los errores se produjeran, ya que
al ser así el mismo reconocimiento se podría dar para 2 personas diferentes. En la
actualidad y con los avances logrados, además de los algoritmos que han sido
exponencialmente mejorados, los errores son mínimos ya que se han afinado la
forma en cómo se reconoce cada rostro. A continuación se explica cómo funciona
cada uno de estos algoritmos además del funcionamiento y cada etapa en un
reconocimiento facial, como se muestra en la figura consta de varias secciones las
cuales en complemento darán un buen funcionamiento del software que se
implementará.
Objetivo General :
Marco de referencia
Anaconda
Filtro Kalman
Tecnologías usadas
Python
OpenCv
Tkinter
AdaBoost
Para detectar bien el rostro, las características elegidas por AdaBoost son
significativas y de fácil interpretación. La elección de la primera característica se
basa en la propiedad basada en que la región de los ojos es más oscura que la
región de la nariz y las mejillas. La segunda característica se basa en que los ojos
son más oscuros que el puente de la nariz
Desarrollo del Software
El sistema tiene como objetivo reconocer la cara de los usuarios para poder o no
darles acceso a un espacio determinado, las imágenes son procesadas para
obtener información que será procesada por un proceso que se encarga de emitir
eventos según las circunstancias, los eventos que se generan por medio de
predicción son resultados del uso de algoritmos de estimación de estados, mas
especifico el filtro kalman.
Detección de rostros
La detección facial es una tecnología de visión computarizada que determina el
lugar y el tamaño de rostros humanos en imágenes o videos. Es uno de los subtipos
de detección de objeto/clase, cuya tarea es encontrar la localización y el tamaño de
los objetos en una imagen perteneciente a la clase dada . Mientras que para el ser
humano es trivial esta tarea, una computadora presenta dificultades debido a
diversos factores como: variabilidad en la posición del rostro, presencia o ausencia
de componentes estructurales, expresión facial, oclusión (uso de lentes, gorro, etc.)
y condiciones del ambiente. Detectar el rostro humano es el primer paso en un
sistema de reconocimiento facial, sin embargo influye de manera significante en el
resultado del proceso, ya sea dado un conjunto de imágenes o video en tiempo real.
Por lo tanto, debe ser capaz de identificar los rostros independientemente de los
factores que anteriormente se mencionaron.
Método que se encarga de inicializar la configuración de la cámara (cv2
corresponde a la librería de OpenCV
Requerimiento General
Requerimientos funcionales
Requerimientos no funcionales
Diagrama de secuencia
Los diagramas de secuencia que se presentan a continuación tienen por finalidad la
de modelar la interacción entre objetos en un sistema.
Funciones
En este apartado toma la foto y busca un directorio como en este caso data-set y
guarda la foto en una carpeta interna en este caso jorge .
En este apartado se muestra la dirección del video para tomar la captura y como se
desplegara la ventana para la toma de datos.
Conclusión
Con este proyecto se logró a partir de una imagen, reconocer un rostro y saber si
pertenece a alguna de las personas almacenadas en nuestra base de datos,
además de mostrar el rostro almacenado con mayor coincidencia .
Se han obtenido buenos resultados en entornos controlados, aunque en lugares con
mucha variación de luz habría que reconsiderar la utilización de otras herramientas.
El trabajo incluye las mejores prácticas de programación, técnicas de optimización,
entre otras características obtenidas en la carrera.
Referencias
OpenCV Version 2.4.13. Haar feature-based cascade classifier for object detection.
https://docs.opencv.org/2.4/modules/objdetect/ doc/cascade_classification.html,
2018.
Ryan Allred. Image augmentation for deep learning using keras and histogram
equalization. https://towardsdatascience.com/
image-augmentation-for-deep-learning-using-keras-and-\
histogram-equalization-9329f6ae5085, 2017.
José Ramón Cuevas Diez. Interfaces Hombre Máquina Basados en Hardware Libre.
Universidad de Burgos, Burgos, España, 2017.