Академический Документы
Профессиональный Документы
Культура Документы
VISIÓN ARTIFICIAL
DOCENTE:
28 de mayo de 2019
Contenido
1. Tema .......................................................................................................................... 3
2. Objetivos ................................................................................................................... 3
General.............................................................................................................................. 3
Específicos ........................................................................................................................ 3
3. Marco teórico ............................................................................................................ 3
A. Visión Artificial......................................................................................................... 3
B. Algoritmos de detección facial .................................................................................. 4
C. Reconocimientos de las personas por rasgos de la cara ............................................ 5
D. ALGORITMO DE HAARCASCADE...................................................................... 5
E. Software de Programación ........................................................................................ 6
Python ............................................................................................................................... 6
4. Materiales y equipos.................................................................................................. 6
5. Procedimiento experimental ...................................................................................... 6
6. Desarrollo .................................................................................................................. 7
7. Resultados ............................................................................................................... 10
8. Conclusiones ........................................................................................................... 13
9. Recomendaciones .................................................................................................... 14
10. Bibliografía.............................................................................................................. 14
1. TEMA
Detección de Rostros utilizando visión artificial
2. OBJETIVOS
GENERAL
Aplicar algoritmos de visión artificial utilizados en la detección de rostros
ESPECÍFICOS
• Instalar los requerimientos necesarios para la realización de la práctica
• Desarrollar algoritmos que permitan realizar el seguimiento del rostro
• Implementar el algoritmo haarcascade para la detección de rostros
3. MARCO TEÓRICO
A. VISIÓN ARTIFICIAL
Se define a la “Visión Artificial” como un campo de la “Inteligencia Artificial” que,
mediante la utilización de las técnicas adecuadas, permite la obtención, procesamiento y
análisis de cualquier tipo de información especial obtenida a través de imágenes digitales
(Titudela, 2016).
Eigenfaces
Fisherfaces
Local Binary Patterns Histograms.
Eigenfaces
FisherFaces
Local BinaryPattern o Patrón Binario Local es un operador de textura que etiqueta los
pixeles de una imagen por thresholding o umbral, método de segmentación de imagen
que a partir de una en escala de grises se crea una imagen binaria, cada vecino del pixel
y el resultado de la operación se considera como un numero binario. Una de las
propiedades más importantes es su indiscriminación frente a los cambios en la escala de
grises como por ejemplo la luminosidad (Olguín & Guillen, 2015).
D. ALGORITMO DE HAARCASCADE
La Detección de objetos usando clasificadores en cascada basados en características de
Haar es un método efectivo de detección de objetos propuesto por Paul Viola y Michael
Jones en su artículo, "Detección rápida de objetos usando una cascada aumentada de
características simples" en 2001. Es un enfoque basado en el aprendizaje automático
donde La función de cascada se entrena a partir de muchas imágenes positivas y
negativas. Luego se utiliza para detectar objetos en otras imágenes.
E. SOFTWARE DE PROGRAMACIÓN
PYTHON
Python se define como un lenguaje de programación interpretado en donde la filosofía
de trabajo hace énfasis en que la sintaxis siempre asegure que el código pueda ser
legible. Es así mismo un lenguaje de programación multiparadigma, que puede soportar
la orientación a objetos, una programación imperativa y en una medida menor la
programación funcional.
Uno de los objetivos con este lenguaje de programación es que se automaticen procesos
para que así se consiga ahorrar tiempo y evitar complicaciones. Por esa razón son varias
las soluciones que se logran con pocas líneas de código en este programa.
4. MATERIALES Y EQUIPOS
Tabla 1 Materiales y Equipos
MATERIAL CANTIDAD
Computador 1
Cámara Web 1
Software Python y Open CV Versión 2,7 o 3.7
5. PROCEDIMIENTO EXPERIMENTAL
Instale en su computador
Dibuje una figura geométrica Imprima los datos
Python 2.7 los componentes
de lo detectado detectados
necesarios para OpenCV
Desarrollar un script y
evidenciar la funcionalidad
Ingrese las librerías
de un tracker con
necesarias.
servomotores para
seguimiento del rostro
6. DESARROLLO
1. Instalación del Software Python y los Complementos necesarios para OpenCV.
Se inicia con la descarga del Software desde su página principal
(https://www.python.org/)en la opción de descargas, de donde se escogerá la versión
según el usuario:
Seguido, ejecutamos el .exe descargado para iniciar con la práctica y verificamos que esté
correctamente instalado.
Javier Paspuezan
✓ Para el correcto funcionamiento del programa se necesita que todos los archivos
relacionados al programa estén en una sola carpeta, tanto el archivo del código en
Python como el algoritmo utilizado para el reconocimiento de rostro.
✓ En la parte de resultado y en el video anexo a este informe se puede apreciar como
los tiempos de procesamiento para la detección del rostro no superan los 2
segundos, lo cual es un tiempo más que suficiente para este tipo de reconocimiento
facial.
✓ Se concluye que para poder realizar la comunicación serial entre el Python y el
arduino, se tuvo que descargar una librería llamada pyserial la cual permitía enviar
datos a un puerto serial, y de esta manera hacer que el arduino lea estos datos y
los procese generando el movimiento en el servomotor.
✓ El algoritmo utilizado para el reconocimiento facial es muy eficiente ya que
cuando se estaba realizando las pruebas de reconocimiento, si tan solo nos
poníamos la mano en una parte de la cara ya no nos reconocía y también cuando
se estaba con gorra ya que esta cubría la parte superior del rostro lo cual no
permitía que reconociera el rostro.
✓ Por último, también se han aplicado varios de los conocimientos obtenidos
durante la carrera y nos hemos familiarizado más con el lenguaje de programación
Python. Se ha conseguido utilizar y conocer lo último en tecnología: la visión
artificial. Como reto personal, he conseguido desarrollar una interfaz para una
aplicación en Python. Sencilla, pero que me ha permitido ir conociendo los
campos que se pueden abrir a futuro, mediante estos programas.
Diana Tucanes
✓ Si no se tiene instalado correctamente los drivers necesarios y las librerías, el
programa al iniciarse mostrara un mensaje de error de librerías, por lo que no
detectara ninguna cara.
✓ Actualmente existen algunos algoritmos para el reconocimiento facial pero
también existen otros algoritmos que reconocen parámetros más específicos como
el reconocimiento de los ojos, para lo cual se debe descargar el archivo (.xml) del
algoritmo y colocarlo en la misma carpeta si se desea trabajar con el de
reconocimiento facial y el de los ojos.
✓ En la investigación realizada se encontró un sistema de reconocimiento facial
utilizando Tensorflow, una herramienta muy poderosa y multiusos basada en
machine-learning, la cual está a disposición de cualquiera en su repositorio oficial.
Pero luego de estudiar un poco su funcionamiento y mirar algunos tutoriales sobre
su uso general, se optó por una opción más cómoda y menos engorrosa, como era
el caso de OpenCV.
✓ El reconocimiento facial tiene a su vez muchas aplicaciones, cada día más
utilizadas, destacando las relacionadas con la seguridad, como la utilizada en los
aeropuertos para llevar un control de los pasajeros, o en las cámaras públicas de
las ciudades, para obtener información sobre atracos, ataques terroristas, etc
9. RECOMENDACIONES
▪ Se recomienda instalar todas las librerías a utilizar en el programa ya que, si tan solo
faltara una, el programa generara errores o no se inicia correctamente.
▪ Al momento de instalar los complementos de Python como numpy, hay que instalarlos
en la misma carpeta de instalación de Python.
▪ Se recomienda escribir el puerto COM en el código de Python correctamente, ya que este
será utilizado por el arduino para la lectura de los datos y la generación del movimiento
del servomotor.
▪ Se recomienda procurar que la fuente de luz refleje directamente en el rostro cundo el
reconocimiento facial sea efectuado por la noche, ya que, de otra manera , las imágenes
serán oscuras presentando resultados erróneos.
▪ Se recomienda iniciar una investigación más profunda en el ámbito de la visión artificial,
ya que esta permitirá la interacción con otros ambientes como la seguridad en lugares
públicos y privados.
10. BIBLIOGRAFÍA
Cognex. (20 de Junio de 2018). Qué es la Visión Artificial. Obtenido de
https://www.cognex.com/es-ar/what-is/machine-vision/what-is-machine-vision
Olguín, D. E., & Guillen, P. I. (2015). Reconocimiento Facial. Valparaíso.
Titudela, E. (Marzo de 2016). Visión Artificial. Obtenido de
http://www.etitudela.com/celula/downloads/visionartificial.pdf