Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPUTACIÓN E INFORMÁTICA
ÍNDICE
introducción 4
2.1.- Objetivos 18
2.2.- Alcance 19
2.4.- Ubicación 22
3.4.- Financiamiento 51
Conclusiones 53
Recomendaciones 54
Bibliografía 55
Anexos 01 y 02 57
INTRODUCCIÓN
Desde hace muchos años hasta a hoy las personas, animales y objetos visibles
nuestro rostro quien nos da una propia identidad a cada persona, esta que
gestos.
escritorio es usando códigos o token que fácilmente pueden ser utilizados por
otros usuarios, los clientes tienden hacer colas y no ser atendidos según las
Esto permitirá una identificación más rápida, segura y confiable, una solución
Los beneficiados serían los usuarios en general, los clientes, ya que mediante
dado pie para empezar a ver su un software que realice la identificación facial,
resultados a obtener.
CAPÍTULO 1
magnética y luego usar su huella dactilar para acceder al área donde fue
Los clientes en tienda realizan largas colas para obtener un Boucher y ser
aplicación creada para estos casos no es tanto usada por los usuarios ya
vez se han encontrado métodos para clonar las tarjetas, la mano completa
Esto puede llegar a generar una presión importante que conduzca a una
esto, debes especificar los motivos por los que la organización opta por
1
Reniec: se extiende en Perú uso de verificación biométrica de identidad (https://andina.pe/agencia/noticia-reniec-se-
extiende-peru-uso-verificacion-biometrica-identidad-682948.aspx)
2
Telecomunicaciones y otros Servicios de Información 2017 Pag.54
(https://www.inei.gob.pe/media/MenuRecursivo/publicaciones_digitales/Est/Lib1483/cap21/cap21.pdf)
297334.
3
Control de presencia mediante huella dactilar: ventajas e inconvenientes de implantarlo
(http://empresas.infoempleo.com/hrtrends/control-presencia-huella-dactilar)
4
Ley de protección de datos personales Nº 29733 (https://www.minjus.gob.pe/wp-content/uploads/2013/04/LEY-
29733.pdf)
5
Hasta Apple cayó en una trampa de este tipo (https://9to5mac.com/2017/11/27/face-id-tricked-with-mask-video/)
6
Tecsup creó un software de reconocimiento facial desarrollado con tecnología IBM Cloud
(https://elcomercio.pe/tecnologia/ciencias/reconocimiento-facial-desarrolla-peru-noticia-504469-noticia/?ref=ecr)
7
Reniec: ciudadanos peruanos pueden ser identificados con sistema de reconocimiento facial
(https://andina.pe/agencia/noticia-reniec-ciudadanos-peruanos-pueden-ser-identificados-sistema-reconocimiento-facial-
548350.aspx)
preferencias.
Inteligencia Artificial9.
protegido por la ley) que puede llegar a ser captado sin nuestro
9
Todo por la cara: límites y retos del reconocimiento facial (https://www.niusdiario.es/economia/empresas/reconocimiento-
facial-limites-retos-datos-biometricos-cara_18_2817945044.html)
10
CONSTITUCION POLITICA DEL PERU - 1993 (http://www.pcm.gob.pe/wp-content/uploads/2013/09/Constitucion-
Pol%C3%ADtica-del-Peru-1993.pdf)
003-2013-JUS.
Personales.
utilizando Anaconda.
11
¿Qué es el software libre? (https://www.gnu.org/philosophy/free-sw.es.html)
12
Instalar ambiente de Desarrollo Python Anaconda para Aprendizaje Automático
(https://www.aprendemachinelearning.com/instalar-ambiente-de-desarrollo-python-anaconda-para-aprendizaje-
automatico/)
13
Welcome to OpenCV-Python Tutorials’s documentation! (https://opencv-python-tutroals.readthedocs.io/en/latest/)
14
Primeros pasos con TensorFlow: Kit de herramientas (https://developers.google.com/machine-learning/crash-
course/first-steps-with-tensorflow/toolkit?hl=es-419)
15
Deep Learning básico con Keras (Parte 1) (https://enmilocalfunciona.io/deep-learning-basico-con-keras-parte-1/)
16
PROCESADORES INTEL® CORE™ i5 (https://www.intel.la/content/www/xl/es/products/processors/core/i5-
processors.html)
administración de este.
productos.
intranet.
oportunidades de mejora:
datos.
tradicionales.
accede.
CAPÍTULO 2
aplicativo.
más.
El aplicativo estará operativo las 24/7 horas del día y podrá utilizarse con
Acceso a la aplicación:
a su vez mostrará una interfaz con botones “Capturar” para tomar una
nueva foto en tiempo real, “Limpiar” para volver a seleccionar otra imagen
Generar Perfil
usuarios”.
Validación de usuarios
2.1.- Objetivos
TiempoConSistema 6seg.
1 40% de Reducción
Indicador TiempoSinSistema 10seg.
2.2.- Alcance
1.0 Especificar 2.0 Analizar App 3.0 Diseñar la 4.0 Codificación 5.0 Pruebas
necesidades de identificación Aplicación
Facial
1.1 Estudiar 2.1 Estudiar los 3.1 Diseño de 4.1 Creación de 5.1 Prueba de
Sistema Actual de procesos B.D. esquema características
Acceso
1.2 Identificar 2.2 Estudiar 3.2 Diseño de 4.2 Codificación 5.2 Prueba de
nuevas Datos Aplicación de Programas sistema
características.
2.3.- Ventaja Comparativa
17
El MultiBio 800-H es un equipo multibiométrico http://zkteco-peru.com/biometricos/102-zk-ca-multibio800h.html
18
FacePass https://dms.com.pe/producto/facepass/
Informe de Proyecto de Titulación Diplomado de Titulación
ZK-CA- Software de
FacePass
Funcionalidad MULTIBIO800H Identificación
DMS
zkteco-peru Facial
Software
X
Personalizable.
Compatibilidad con
cualquier dispositivo de X
imagen.
Sincronización con la
X
web.
Alta confidencialidad y
seguridad, sin
X
manipulación de
usuario.
Ilimitada capacidad de
almacenamiento e X
higiene.
Sincronización con la
X X X
red.
Visualización de
X X X
Rostros en tiempo real.
2.4.- Ubicación
Lima.
piso 13.
Se tendrá un módulo táctil con una cámara USB integrada, para registrar
participantes:
Directos:
Colaborador involucrado de nuestra empresa SOFTWA.PE en la
facial en el momento que sea necesario para él, dentro del plazo
determinado.
Indirectos:
Los beneficiarios indirectos del proyecto son los siguientes:
con normalidad.
Reducir en un
Reducir en un
Reducir en un 70% los Gastos
40% la
50% el tiempo Totales en
identificación
Metas de acceso a las adquisición e
de personas no
instalaciones de instalación de
gratas en la
la organización. equipos
organización.
biométricos.
Realizar el marcado
de asistencia en un X X
menor tiempo
Realizar de la
Identificación Facial X X
de manera íntegra y
fiable.
Cubrir las
necesidades del X X
usuario.
Obtener mayor
participación de los
Colaboradores para X
las pruebas de
reconocimiento.
Dejar de usar las
tarjetas magnéticas
o la identificación X
por huella dactilar
tradicional en de la
Identificación Facial
CAPÍTULO 3
1.2 PLANIFICACIÓN
nuestro proyecto
entre los casos de uso, los actores y los procesos del proyecto.
1.3 DISEÑO
1.3.2 Diseño técnico. Diseñar una buena presentación visual, según los
el aplicativo producirá
Oracle en producción.
1.4 DESARROLLO
proyecto
19
JavaScript https://developer.mozilla.org/es/docs/Web/JavaScript
20
JavaFX 13 https://openjfx.io/
21
Instalar ambiente de Desarrollo Python Anaconda para Aprendizaje Automático
(https://www.aprendemachinelearning.com/instalar-ambiente-de-desarrollo-python-anaconda-para-aprendizaje-
automatico/)
22
Welcome to OpenCV-Python Tutorials’s documentation! (https://opencv-python-tutroals.readthedocs.io/en/latest/)
23
Primeros pasos con TensorFlow: Kit de herramientas (https://developers.google.com/machine-learning/crash-
course/first-steps-with-tensorflow/toolkit?hl=es-419)
24
Deep Learning básico con Keras (Parte 1) (https://enmilocalfunciona.io/deep-learning-basico-con-keras-parte-1/)
1.6 CIERRE
proyecto.
1.6.2 Cierre del proyecto. Hay que confirmar que todos los
A. Modelo de Requerimiento
a. Requerimientos (STRQ)
STRQ DESCRIPCION
STRQ2 FEAT4
STRQ4 El aplicativo permitirá buscar los nombres de la Identificación
STRQ1 FEAT5 Facial.
FEAT1 CU5
Mantener Usuario
FEAT3 Administrativo Administrador de Aplicativos
FEAT14 CU6
El asistente de Gestión
FEAT10 Generar Perfil Humana
FEAT15 CU7 El asistente de Gestión
Buscar Rostro Humana
FEAT12 CU8 Registrar Rostro Agente de seguridad
FEAT11 CU9 Registrar los nombres de la
Identificación Facial realizada. Agente de seguridad
FEAT10 CU10 Buscar Perfil Colaborador
FEAT8 CU11
FEAT13 Validar Rostros Colaborador
FEAT6 CU12 Generar Reporte y Control Asistente Gestión Humana
FEAT5 CU13 Buscar Los nombres
Identificación Facial Asistente Gestión Humana
1. Breve Descripción
2. Actor (es)
Usuario
3. Flujo de Eventos
componentes:
Rostros.
paso 5.
paso 6.
espere 15 minutos”.
4. Pre-Condiciones
5. Post Condiciones
Ninguno.
6. Puntos de Extensión
Ninguno
7. Requerimientos Especiales
Ninguno
8. Prototipos
1. Breve Descripción
Identificación Facial.
2. Actores
Colaborador/Cliente
3. Flujos de eventos
rellenado
NINGUNO.
4. Pre-Condiciones
5. Postcondiciones
NINGUNO.
6. Puntos de Extensión
Ninguno.
6.1 Pre-Condiciones
Ninguno.
7. Requisitos Especiales
No tiene.
8. Prototipos
Breve Descripción
2. Actores
3. Flujos de eventos
Ninguno.
4. Pre-Condiciones
5. Postcondiciones
Ninguno.
6. Puntos de Extensión
Ninguno.
6.1 Pre-Condiciones
7. Requisitos Especiales
Ninguno.
8. Prototipos
1. Breve Descripción
2. Actores
3. Flujos de eventos
Principal”.
Opciones:
Registrar Usuario
Actualizar Usuario
Eliminar Usuario
siguientes Componentes:
• Nombres
• DNI
• La Identificación Facial
• TIPO USUARIO
Además de las opciones: Listar, Actualizar y Salir.
Componentes:
• Nombres
• DNI
• La Identificación Facial
• TIPO USUARIO
“Mantenimiento Usuario”.
siguientes Componentes:
• Nombres
• DNI
• La Identificación Facial
foto correspondientes.
4. Pre-Condiciones
5. Postcondiciones
6. Puntos de Extensión
No tiene.
7. Requisitos Especiales
No tiene.
8. Prototipos
1. Breve Descripción
de asistencia y accesos.
2. Actores
3. Flujos de eventos
el campo:
• Asistencia
Identificación Facial.
Reporte.
4. Pre-Condiciones
5. Postcondiciones
NINGUNO.
6. Puntos de Extensión
Ninguno.
6.1 Pre-Condiciones
7. Requisitos Especiales
No tiene.
8. Prototipos
CONCEPTOS / PERIODO 0 1 2 3
3.4.- Financiamiento
este proyecto. Este capital más el monto solicitado por préstamo a Banco
Dónde:
inversionista.
empréstito recibido.
FINANCIAMIENTO
COK 0.20
Tasas financieras
i 0.34
Total, a financiar 59,300.00 100.00%
Recursos propios 26,000.00 43.84% Costo Medio de Capital
27.86%
Banco de Comercio Ponderado (CMCP)
(Maxi Préstamo 33,300.00 56.16%
Digital)
VAN = 40,741.17
debe resultar positivo y en monto tal que cubra las expectativas de utilidad
TIR: 64%
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
servicio.
USB.
Recomendaciones
ATM.
BIBLIOGRAFÍA
34-58.
http://tesis.ipn.mx/bitstream/handle/123456789/6111/DISENOIMPLEMFACI
AL.pdf
Recuperado de:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.128.2614&rep=rep
1&type=pdf
http://global.britannica.com/technology/machine-learning
http://face-rec.org/interestingpapers/General/ImAna4FacRcg_lu.pdf
3(3), 90-93.
Trefný J. Matas J (2010). Extended Set of Local Binary Patterns for Rapid
https://www.visualstudio.com/features/universal-windows-platform-vs
http://www.cse.iitk.ac.in/users/vision/dipakmj/papers/OReilly%20Learning%2
0OpenCV.pdf
http://www.emgu.com/wiki/index.php/Main_Page
http://vision.ucsd.edu/content/yale-facedatabase
recognition-37fa7cb860e8
http://todoproductosfinancieros.com/tir-calculo-y-concepto/
ANEXOS
Conexión a BD
19. PreparedStatement
pst = conexion.prepareStatement(sql, Statement.RETURN_GENERATED_
KEYS);
20. if(pst.executeUpdate()>0){
21. ResultSet rs = pst.getGeneratedKeys();
22. rs.next();
23. return rs.getInt(1);
24. }
25.
26. return -1;
27. }
28.
29. public void CERRAR(){
30. try {
31. conexion.close();
32. } catch (SQLException ex) {
33.
Logger.getLogger(ConexionBD.class.getName()).log(Level.SEVERE, n
ull, ex);
34. }
35. }
36.
37. public Connection getConexion() {
38. return conexion;
39. }
40.
41. public void setConexion(Connection aConexion) {
42. conexion = aConexion;
43. }
44.
45. public Statement getStatement() {
46. return statement;
47. }
48.
49. public void setStatement(Statement aStatement) {
50. statement = aStatement;
51. }
52.
53. }
54.
Entrenar
1. package Facce;
2.
3. import java.io.File;
4. import java.nio.IntBuffer;
5. import org.bytedeco.javacpp.DoublePointer;
6. import org.bytedeco.javacpp.IntPointer;
7. import org.bytedeco.javacpp.opencv_core;
8. import static org.bytedeco.javacpp.opencv_core.CV_32SC1;
9. import org.bytedeco.javacpp.opencv_core.Mat;
10. import org.bytedeco.javacpp.opencv_core.MatVector;
11. import org.bytedeco.javacpp.opencv_face.LBPHFaceRecognizer;
12. import org.bytedeco.javacpp.opencv_imgcodecs;
13. import static
org.bytedeco.javacpp.opencv_imgcodecs.IMREAD_GRAYSCALE;
14.
15. public class Entrenar {
16.
17. private LBPHFaceRecognizer lbphRecognizer;
18.
19. public Entrenar() {
20. }
21.
22. public void entrenarImagenes(){
23. File rostros = new File("rostros");
24. File imageFiles[] = rostros.listFiles();
25.
26. MatVector
images = new MatVector(imageFiles.length);
27.
28. Mat
labels = new Mat(imageFiles.length, 1, CV_32SC1);
29.
30. IntBuffer labelsBuf = labels.createBuffer();
31.
32. int counter = 0;
33.
34. for(File image : imageFiles){
35. System.out.println("Entrenando
"+image.getName());
36. Mat
img = opencv_imgcodecs.imread(image.getAbsolutePath(), IMREAD_GR
AYSCALE);
37.
org.bytedeco.javacpp.opencv_imgproc.equalizeHist(img, img);
38. int
label = Integer.parseInt(image.getName().split("\\-")[0]);
39.
40. images.put(counter, img);
41.
42. labelsBuf.put(counter, label);
43.
44. counter++;
45. }
46.
47. lbphRecognizer = LBPHFaceRecognizer.create();
48. lbphRecognizer.train(images, labels);
49. }
50.
51. public void loadDatabase(){
52. lbphRecognizer = LBPHFaceRecognizer.create();
53. lbphRecognizer.read("dataBase.yml");
54. }
55.
56. public void saveDatabase(){
57. lbphRecognizer.save("dataBase.yml");
58. }
59.
60. public int reconocer(opencv_core.Mat img){
61. IntPointer label = new IntPointer(1);
62. DoublePointer confidence = new DoublePointer(1);
63. lbphRecognizer.predict(img, label, confidence);
64. int predictedLabel = label.get(0);
65.
66.
System.out.println(confidence.get(0)+"\t"+predictedLabel);
67.
68. if(confidence.get(0)>65){
69. return -1;
70. }
71.
72. return predictedLabel;
73. }
74.
75. public static void main(String[] args){
76. Entrenar r = new Entrenar();
77. r.entrenarImagenes();
78. r.saveDatabase();
79. }
80.
81. }
82.
Aplicación principal
1. package Facce;
2.
3. import javafx.application.Application;
4. import javafx.fxml.FXMLLoader;
5. import javafx.scene.Parent;
6. import javafx.scene.Scene;
7. import javafx.stage.Stage;
8.
9.
10.
11. InterfazGraficaController
igc = loader.getController();
12.
13. Scene scene = new Scene(root);
14.
15. stage.setScene(scene);
16.
17. stage.setOnCloseRequest(evt->{
18. igc.cerrarCamara();
19. });
20.
21. stage.show();
22. }
23. public static void main(String[] args) {
24. launch(args);
25. }
26. }
Entrenando al reconocedor
Guardar
Cargar
Resultados