Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ENTREGABLE Nº 01
PROYECTO DE INVESTIGACIÓN – 2019
“SISTEMA AUTOMATIZADO BASADO EN TECNOLOGIA DE VISION
COMPUTACIONAL PARA LA GESTION DE ASISTENCIA ESTUDIANTIL DE
LA FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS DE LA
UNIVERSIDAD NACIONAL DE INGENIERÍA
ELABORADO POR:
DESCRIPTORES TEMÁTICOS............................................................................5
RESUMEN............................................................................................................ 6
Perfilometría Wavelet.................................................................................. 26
2.6 ObjMark...............................................................................................36
2.8 OpenCV...............................................................................................46
2.8.1 Matrices............................................................................................... 50
2.8.2 Crear menús interactivos.....................................................................51
Ventajas........................................................................................................51
Inconvenientes..............................................................................................52
2.12 TKINTER..........................................................................................55
DISEÑO METODOLOGICO................................................................................60
REFERENCIAS BIBLIOGRÁFICAS...................................................................63
DESCRIPTORES TEMÁTICOS
Base de datos
Computacional
Curso
Grupos Horario
Gestor de Modelamiento
Inteligencia Artificial
Interfaces
Librerías
Visión
RESUMEN
Este trabajo no solo nos ayudará a poder captar las asistencias de los alumnos,
también veremos cómo podremos obtener una serie de datos y estadísticas
que nos beneficiarán para futuros proyectos de mejora.
Estos resultados sirven para las autoridades conocer los alumnos con cursos
en riesgo académico.
8
1.2.2 Problemas específicos
a) ¿Cómo influye la Tecnología de Visión Computacional en el
rendimiento estudiantil ¿
b) ¿ Cómo influye la Tecnología de Visión Computacional en la calidad
estudiantil ¿
a)Tecnológico
c) Práctico
9
El uso del sistema S.A.S facilita la utilización por parte de los estudiantes
donde ellos solo posicionaran su rostro para su identificación y posterior
automático marcado de asistencia.
d)Preciso y robusto
e)Justificación
11
1.6 HIPÓTESIS Y VARIABLES
1.6.1 Hipótesis General
Como la Con la Tecnología de Visión Computacional mejora la gestión de
asistencia estudiantil.
1.6.2 Hipótesis Específicas
12
1.8 OPERACIONALIZACIÓN DE VARIABLES
Fuente: Propia.
Elaboración: Propia.
13
CAPÍTULO II
MARCO TEÓRICO Y CONCEPTUAL
16
• Mapeo de una escena para generar un modelo
tridimensional de la escena
• Estimación de las posturas tridimensionales de humanos.
'Entorno informático.
Un sistema de visión artificial se compone de los siguientes
elementos:
a. Fuente de Luz
La fuente de luz constituye un aspecto importante ya
que debe proporcionar unas condiciones de iluminación uniforme e
17
independiente del entorno, facilitando además, si es posible, la extracción de los
rasgos de interés para una determinada aplicación.
b.- Sensores de Imágenes
Los sensores de imágenes son componentes sensibles a la
l u z q u e modifican su señal eléctrica en función de la intensidad luminosa
que perciben. Es el elemento encargado de recoger las características del objeto bajo
estudio.
Figura 1:
Elementos de un sistema de visión artificial.
18
2.2.1 Dinámica de reconocimiento de rostros
El sistema de reconocimiento facial es una aplicación dirigida por un
ordenador que identifica automáticamente a una persona en una imagen
digital. Esto es posible mediante un análisis de las características faciales
del sujeto extraídas de la imagen o de un fotograma clave de una fuente de
video, y comparándolas con una base de datos.
20
2.2.2 Historia del reconocimiento facial
El reconocimiento facial es un concepto relativamente nuevo, las
primeras investigaciones se remontan a la década de 1950 en el área de
la psicología (Bruner y Tagiuri 1954), y a la década de 1960 en la
literatura ingenieril (Bledsoe 1964). Este concepto hace referencia a la
acción de reconocer a una persona mediante su rostro, teniendo en
cuenta todas las características posibles que puedan visualizarse o
medirse. En los primeros trabajos, en los años 60, según [Duane
Blackburn et al, 2006], las técnicas desarrolladas eran un sistema
semiautomático para reconocimiento facial que requería de un
“administrador” (la persona que lo utilizaba), para localizar rasgos (ojos,
orejas, nariz, boca) en las fotografías. Y se comparaban las distancias
medidas entre los puntos de referencia elegidos. Este es el caso del
proyecto de Bledsoe, donde una persona utilizando una tabla RAND
tomaba coordenadas de distintos puntos en una fotografía como, por
ejemplo, el centro de las pupilas, los bordes internos y externos de los
ojos, entre otros. Y se realizaban mediciones de unas 20 distancias:
ancho de la boca, ancho de los ojos, distancia entre pupilas. Esta
información se asociaba al nombre de una persona y pasaba a formar
parte de la base de caras. Luego en el proceso de identificación se
comparaban las distancias de la nueva fotografía con los datos de la
base y se retornaba la más cercana.
22
2.2.3 Modelo dinámico
El modelo dinámico tiene la tarea de mostrar el comportamiento del
sistema durante el transcurso del tiempo o mejor dicho en función al
tiempo.
23
2.2.5 Diagrama de Sucesos:
“Es un diagrama que muestra la interacción entre los distintos objetos
mediante los mensajes que se mandan entre ellos, en un escenario en
específico”.
Creo que el concepto está realmente claro, pero creo que mejoraría si
defino que es un escenario.
Con esto ya está claro que modela el diagrama de sucesos, por lo cual
solo me resta explicar los elementos con los que se modela este
diagrama.
E(x , y)=∑(u ,v ) W (u ,v ) ¿
24
Donde:
I (u , v)=Intensidad
E(x , y)=∑(u ,v ) W (u ,v ) ¿
min (R , G , B)
min(c)=
255
med ( R ,G , B )
med (c )=
255
max ( R , G, B)
max(c)=
255
25
Donde k(c) indica el número de secuencia y f (c) se utiliza para calcular el
ángulo.
Luminosidad:
Saturación:
1 1
l (c) = (max ¿ ¿(c)−min (c ) )− (med ¿ ¿ ( c ) −min(c ))¿ ¿
3 3
[ ]
u11 … u1 j
U= … … …
ui 1 … uij
26
Por tanto, esta matriz U se puede transformar en una nueva matriz D de
distancias, debido a los puntos que forman los datos de los usuarios en
j- dimensional, con las mismas dimensiones i x j:
[ ]
d 11 … d 1 j
D= … … …
d i 1 … d ij
[ ]
m11 … m1 j
M= … … …
m j 1 … m jj
T
U =D∗M
Matriz de covarianza
[ ]
c 2u 1
… cu u 1 j
C= … … …
cu u 1 j
… c 2u j
27
2
Donde c ui representa la varianza de la variable U i de en el conjunto y,
c u u es la covarianza U i y U j.
i j
S B ' =∑ ∑ (x i−u c ¿ )¿ ¿ ¿
c i=c
1
uc = ∑x
N c i=c i
1 1
x= ∑x= ∑N u
N i=c i N c c c
29
puede ser vista a diferentes escalas de resolución. La forma de onda de
la Wavelet es lo que permite no limitarse a funciones seno y coseno,
pues es una onda irregular y puede ser asimétrica. Es la variación de los
coeficientes lo que dan origen a los diferentes tipos de wavelets, en la
medida en la que estos coeficientes (escala y traslación) son
modificados en la función llamada Wavelet madre, se derivan estos
tipos, tales como: Paul, Shannon, B-Spline, Mexican Hat, Morlet, Fan,
entre otras. La transformada Wavelet trabaja con tiempo y escala,
permitiendo trabajar con ventanas anchas para obtener frecuencias
bajas y con ventanas angostas para la información de alta frecuencia.
La función madre está definida por:
31
de características orientadas a una imagen como las regiones, entonces
la Wavelet isotrópica es la adecuada, por su análisis puntal, es decir, si
las características no orientadas están presentes o son relevantes en la
señal se puede elegir una Wavelet isotrópica 2D. La Wavelet Morlet
Compleja 2D se deriva de la Wavelet Gabor madre, en este caso la
Morlet presenta un buen desempeño solo con variaciones suaves en el
patrón de franjas. La Wavelet Morlet está dada por:
32
2.3 ELEMENTOS Y RELACIONES EN LOS MODELOS DINÁMICOS
Para el Diagrama de Estados se utiliza:
Estado:
Estado Inicial:
Estado Final:
Transición:
33
La transición se representa con una línea recta y encima de esta el
evento que produjo el cambio de estado:
Estado Compuesto:
Actor:
El actor, es quien interactúa con el sistema, este actor puede ser una
persona real, otro sistema o alguno objeto de nuestro sistema, todo
depende de nuestro escenario, al actor se lo representa como un
hombrecito.
34
Objeto:
Mensaje:
Los mensajes se representan con una línea recta y una flechita, además
en la parte de arriba se encuentra la etiqueta de este, como un apunte
recordar, que los mensajes que se indiquen en el diagrama de sucesos
previamente debieron de ser definidos en el diagrama de estados, ya
que en ese diagrama definimos las relaciones que por donde fluye el
mensaje.
35
mayoría de los modelos de datos se pueden representar por medio de
un diagrama de base de datos acompañante.
Modelo relacional
Modelo de red
Modelo entidad-relación
Modelo de documentos
Modelo entidad-atributo-valor
Esquema de estrella
37
Dentro de la base de datos, las tablas se pueden normalizar, es decir,
hacer que cumplan las reglas de normalización que hacen a la base de
datos flexible, adaptable y escalable.
CLASIFICADOR DE CASCADA:
38
Relación de uno a uno (1,1).
2.6 OBJMARK
Como ya hemos indicado anteriormente el aprendizaje consiste en
introducir una muestra significativa de imágenes positivas para que el
algoritmo sea capaz de diferenciar entre lo que realmente queremos
encontrar y lo que no. En primer lugar, se necesita un gran número de
imágenes, alrededor de 3000 para poder identificar bien qué es una
cara. Aunque el número dependerá en gran medida en la fisonomía del
objeto que queremos detectar y de las condiciones ambientales, es
decir, si el objeto está en un entorno controlado, donde hay poca
posibilidad de obtener falsos positivos o falsos negativos el aprendizaje
no será necesario que sea tan exigente. Para realizar esto, debemos
recopilar para el aprendizaje la posición de todas las caras dentro de las
imágenes obtenidas. Es obvio que no podemos automatizar este
proceso, ya que si pudiéramos detectar donde se encuentran las caras
dentro de las imágenes iniciales estaríamos resolviendo el problema de
base. Es por ello que hemos tenido la necesidad de desarrollar una
aplicación que permita de manera mecánica y manual indicar esto y
obtener como resultado los ficheros indicando por cada imagen la
posición y tamaño de las caras. Esta aplicación a la que he llamado
40
ObjectMarker recibe un directorio lleno de imágenes y genera un
documento con el formato que haartraining necesita.
41
2.7 ELEMENTOS DE SOFTWARE
Lo primero que hacemos para usar Tkinter es agregar el modulo a
nuestro script python en la primera línea de código :
La Ventana Principal
Codigo:
42
Si queremos ponerle un titulo a la ventana usamos la funcion title() es
decir : ventana.title(‘titulo de mi ventana’).
Codigo :
Codigo :
43
Trabajando con la Funcion Grid
Los valores para la funcion grid pueden ser los mismos que estan en la
tabla dependiendo de la posicion donde se quiera poner el elemento.
Para usar un boton usamos los mismos parametros que para agregar
una etiqueta : la instancia de la ventana y el valor de texto del boton ,
aparte el boton tiene 3 parametros extras ,2 para modificar la apariecia
del boton : bg y relief, y un parametro para modificar el comportamiento
del boton al ser precionado : command.
El codigo de un boton :
44
Podemos cambiar el fondo del boton, e incluso agregar otro boton, para
cambiar el color de boton usaremos el parametro bg=’color’ donde color
puede sustituirse por un color del ingles : red, blue,green,lime … etc .
Y para agregar otro boton usamos otra variable para diferenciarlo del
primero. y para poner una nueva posicion usaremos la posicion row=1,
column=2.
Codigo :
45
Existen varias formas ver un boton, o el relieve del boton , se usa el
parametro relief y puede tomar valores constantes ya definidos los
cuales son : RAISED , SUNKEN,RIDGE,SOLID,FLAT,GROOVE , un
ejemplo a continuacion :
Las cajas de texto suelen ser la forma de entrada de datos mas basicas
cuando se trabaja con interfaces graficas, con Tkinter usamos la funcion
Entry, aunque con una diferencia en cuanto a los parametros que usa la
funcion Entry.
Codigo :
46
Aunque normalmente una caja de texto va acompa~ada de una etiqueta
para saber de que se trata el dato que debera insertarse en la caja.
Codigo :
Finalizando
48
2.8 OPENCV
La librería OpenCV está dirigida fundamentalmente a la visión por
computador en tiempo real. Entre sus muchas áreas de aplicación
destacarían: interacción hombre-máquina (HCI4 ); segmentación y
reconocimiento de objetos; reconocimiento de gestos; seguimiento del
movimiento; estructura del movimiento (SFM5 ); y robots móviles.
50
Análisis del movimiento y seguimiento de objetos: plantillas de
movimiento, seguidores (i.e. Lucas-Kanade), flujo óptico, etc.
Reconocimiento de objetos: objetos propios (eigen objects),
modelos HMM, etc.
Calibración de la cámara: morphing, geometría epipolar,
estimación de la pose (i.e. POSIT), etc.
Reconstrucción tridimensional (funcionalidad experimental):
detección de objetos, seguimiento de objetos tridimensionales,
etc.
Interfaces gráficos de usuarios y adquisición de video
52
Figura : Seguidor de caras CamShift implementado con Matlab®.
2.8.1 Matrices
53
2.8.2 Crear menús interactivos
Un programa interactivo aquél que necesita la realimentación continúa
del usuario para poder ejecutarse. Este concepto se enfrenta al
de procesamiento por lotes en el cual se le indica al programa todo lo
que debe hacer antes de empezar, con lo cual el usuario se puede
desentender de la máquina. Sin embargo esto último requiere mayor
planificación.
54
Ventajas
Inconvenientes
55
2.9 EJEMPLOS DE PROGRAMAS INTERATIVOS
Cajero automático
Compresor de archivos
57
de investigación. Mezclan 3D con 2D y la interfaz de enfoque del usuario
o ZUI, Zooming User Interface.
58
Para poder hacer una interfaz dinámica, pues podemos utilizar cualquier
tipo de lenguaje de programación, en este caso usaremos el Python
junto con una librería muy común entre los diseñadores de interfaces, el
cual es el Tkinter.
2.12 TKINTER
Tkinter es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de
programación Python. Se considera un estándar para la interfaz gráfica
de usuario (GUI) para Python y es el que viene por defecto con la
instalación para Microsoft Windows.
59
Tkinter ayuda a crear un interfaz del usuario, combinando celdas,
colores, títulos, imágenes, tamaño de letra y ventana o cualquier tipo de
concepto para que la interfaz creada sea de buen gusto y atractivo para
el usuario.
Además, para que las imágenes tengan color una computadora debe
crear 3 vectores uno para cada canal de color RGB (Rojo, Verde y
Azul) por lo que al final terminamos con un vector que contiene 3
vectores dentro cada uno con un canal de color.
61
¿CÓMO RECONOCER UN ROSTRO?
62
Comparando rostros: Para saber de quién es el rostro que se
detectó, se debe restar la distancia entre su eigenface con
cada uno de los eigenfaces extraídos de los rostros en la base
de datos.
CAPÍTULO III:
DISEÑO METODOLOGICO
63
3.1.1 Tipo
La investigación aplicada busca la generación de conocimiento con
aplicación directa de la tecnología a los problemas de la sociedad o el sector
productivo. Esta se basa fundamentalmente en los hallazgos tecnológicos de
la investigación básica, ocupándose del proceso de enlace entre la teoría y la
aplicación opencv para generar el S:A:S
3.1.2 Diseño
3.3POBLACIÓN Y MUESTRA
3.3.1 Población
“La población es el conjunto de todos los individuos a los que se desea hacer
extensivo los resultados de la investigación. Se simboliza por N. La definición y
la delimitación clara de la población permitirán concretar el alcance de una
investigación.
Población
64
La población estar compuesta por 600 alumnos de la escuela de sistemas
3.3.2 Muestra
Behar (2008, p. 51) define la muestra como “un sub conjunto de
elementos que pertenecen a ese conjunto definido en sus necesidades al
Muestra 1
Se calcula:
Z = 95% -> 1.96
E = 5% ->0.05
p = 0.5
Q=1-0.5 = 0.5
N= 600 alumnos de la escuela de sistemas
n= 220 alumnos
65
66
REFERENCIAS BIBLIOGRÁFICAS
BIBLIOGRAFÍA
[1]https://www.vexsoluciones.com/biometria/ventajas-beneficios-
reconocimiento-facial/
IMPORTANCIA DEL RECONOCIMIENTO FACIAL
[2]https://www.practicaespanol.com/llega-el-control-de-asistencia-a-clase-
por-reconocimiento-facial/
RECONOCIMIENTO FACIAL EN ESTUDIANTES CHINOS
[3]http://itcelaya.edu.mx/ojs/index.php/pistas/article/viewFile/683/616
RECONOCIMIENTO FACIAL ORIENTADO A CLASES
[4]http://itcelaya.edu.mx/ojs/index.php/pistas/article/viewFile/683/616
RECONOCIMIENTO FACIAL APLICADO A LA TOMA DE ASISTENCIA
(GUIA PRINCIPAL)
[5]http://materias.fi.uba.ar/7500/PamelaPereira.pdf
TESIS DOCTORAL (RECONOCIMIENTO FACIAL MEDIANTE IMAGENES
ESTEREOSCOPICAS
PARA CONTROL DE INGRESO) *GUIA 2DARIA*
[6]http://cup-coffe.blogspot.com/2009/06/modelo-estatico-dinamico-y-
funcional-en.html
MODELO DINAMICO - DIAGRANA DE ESTADO - DIAGRAMA DE
SUCESOS Y DE ESTADO
[7]file:///E:/Usuario/Administrador/Downloads/Dialnet
DisenoDeUnSistemaDeReconocimientoDeRostrosMediante-4966234.pdf
67
MODELOS MATEMATICOS
68