• No se han encontrado resultados

PARTE III. CIERRE DE LA INVESTIGACIÓN

CAPITULO 7. CONCLUSIONES

7.3. Síntesis del modelo propuesto

Este proyecto parte de la necesidad de aumentar la seguridad en el control de ingreso de personal, ante lo cual se propone la una solución a partir de verificación de usuarios basada el rostros.

Se utiliza el esquema propuesto por Amazon Rekognition para tal fin y se implementa utilizando su SDK de java.

Se complementa la solución con una captura automática de fotografía a través de la biblioteca de visión por computador OpenCv.

42

Objetivo Evidencia de cumplimiento

Analizar y evaluar las diferentes opciones de tecnología de reconocimiento facial disponibles para integración a través de internet.

En el análisis y desarrollo de la investigación se presentan consideraciones sobre las alternativas.

Desarrollar un módulo que permita la toma automática de fotografía.

En el desarrollo de la investigación se evidencia la implementación de este módulo mediante la biblioteca OpenCv.

Desarrollar un módulo para integración con la tecnología de reconocimiento facial seleccionada.

En el desarrollo de la investigación se evidencia el uso del SDK de AWS para java para la comparación de rostros.

Tabla 3. Contraste de objetivos con evidencia de cumplimiento

7.4. Aportes originales

En este proyecto se propone el uso de tecnología de reconocimiento facial para mitigar riesgos de seguridad en los sistemas de control de acceso de empresas, comparando el rostro de una persona que desea acceder a una instalación, mediante integración con APIs de reconocimiento de imágenes ampliamente probadas, con gran fiabilidad en sus resultados y basadas en Deep learning, por tanto permite explotar el potencial de estos nuevos avances tecnológicos para mejorar la seguridad.

43 CAPITULO 8

PROSPECTIVA DEL TRABAJO DE GRADO

8.1. Líneas de investigación futuras

De acuerdo con los desarrollos y las pruebas realizadas a la tecnología, es posible proyectar ampliaciones de las aplicaciones de este proyecto al análisis de imágenes en videos para seguimiento automático de personas con actividad sospechosa en la empresa, o con expresiones faciales que correspondan con algunos estados emocionales que puedan representar un riesgo para la seguridad de las instalaciones.

8.2. Trabajos de Investigación futuros

- Diseño del sistema de control de ingreso, con capa de persistencia, interface de administrador, interface de usuario final y protocolo con cámara remota.

- Seguimiento automático de personas en las instalaciones de una empresa, por medio de tecnología de reconocimiento facial aplicada en videos.

- Análisis de emociones a través de microgestos faciales detectados por tecnología basada en Deep learning.

44

BIBLIOGRAFIA

AMAZON, Amazon rekognition, análisis de videos e imágenes basado en aprendizaje profundo. Disponible en:

https://aws.amazon.com/es/rekognition/

ANGULO USATEGUI, J. (1986). Visión Artificial por Computador. Madrid: Thomson Paraninfo S.A.

BRANCH, J., & Olague, G. (2001). La visión por computador: Una aproximación al estado del arte.Revista Dyna.

CÁCERES, T. J. (2002). La visión artificial y las operaciones morfológicas en imágenes binarias. Alcalá, España.

CALLE, A. S. (2005). Aplicaciones de la visión artificial y la biometría informática. Madrid: Dykinson.

CAMBRIDGE, A. L. (1994). The Database of Faces. Obtenido de AT&T Laboratories Cambridge: http://face-rec.org/databases/.

FEIGENBAUM, E. A. (1984). The fifth generation: artificial intelligence and Japan's computer challenge to the world. New York: New American Library.

FREUND, Y., & SCHAPIRE, R. E. (1997). A decision-theoretic generalization of on-line learning. Journal of Computer and System Sciences.

45

GÁMEZ JIMÉNEZ, Carmen Virginia, Diseño y desarrollo de un sistema de reconocimiento de caras.

GÓMEZ VERDEJO, V., ORTEGA-MORAL, M., ARENAS-GARCÍA, J., & FIGUEIRASVIDAL, A. R. (2006). Boosting by weighting critical and erroneous samples.

HESELTINE, T., Pears, N., & AUSTIN, J. (2002). Evaluation of image preprocessing techniques for eigenface-based face recognition. In Second International Conference on Image and Graphics.

JAIN, A., Bolle, R., & PANKANTI, S. (2006). Biometrics: personal identification in networked society. New York: Springer Science & Business Media.

JAIN, A., Flynn, P., & Ross, A. A. (2007). Handbook of biometric. New York: Springer Science & Business Media.

Ken-Ichi, M., MASATSUGU, K., & HIDENORI, S. (1978). Design of local parallel pattern processor for image processing. Proceedings of the National Computer Conference.

KIRBY, M., & SIROVICH, L. (1990). Application of the Karhunen-Loeve procedure for the characterization of human faces. IEEE Transactions on Pattern analysis and Machine intelligence.

LÓPEZ BELTRÁN, R., SOTTER SOLANO, E., & ZUREK VARELA, E. (2001). Aplicación del sistema Robot Visión PRO para operaciones automáticas de control de calidad

46

M. NARASIMHA Murty y V. SUSHEELA Devi, Pattern Recognition. An Algorithmic Approach.

MARR, D. (1982). Vision - A computational investigation into the human representation and processing of visual information.

MICHALSKI, R. S., CARBONELL, J. G., & MITCHELL, T. (2013). Machine learning: An artificial intelligence approach. Springer Science & Business Media.

NISHINO, H. (1978). PIPS (Pattern Information Processing System). Proc. 4th Int. Joint Conf. Pattern Recognition.

PAUL VIOLA, MICHAEL JONES. Rapid Object Detection using a Boosted cascade of Simple Features. Conference On Computer Vision And Pattern Recognition 2001.

PAJARES MARTINSANZ, G., & Santos Peñas, M. (2006). Inteligencia artificial e ingeniería del conocimiento. México: Alfaomega Grupo Editor.

PEDREGOSA, F., VAROQUAUX, G., & GRAMFORT, A. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research.

PRESSMAN, R. S. (2005). Software engineering: a practitioner's approach. Palgrave Macmillan.

ROCHA, C. A., & ESCORCIA, J. R. (2010). Sistema de Visión Artificial para la Detección y el Reconocimiento de Señales de Tráfico basado en Redes Neuronales. Obtenido de Eighth LACCEI Latin American and Caribbean Conference for Engineering and Technology: http://www.laccei.org/

47

RODRÍGUEZ SALAVARRÍA, J. P. (Octubre de 2009). Sistema de control de acceso basado en el perfil lateral de una persona utilizando visión artificial.

Obtenido de Escuela Politécnica Nacional:

http://bibdigital.epn.edu.ec/handle/15000/1906.

SUCAR, L. E. (2002). Procesamiento de Imágenes y Visión Computacional.

THE OPEN GROUP. ArchiMate 2.0 Specification.

THE OPEN GROUP, ArchiMate 3.0.1 Specification. Disponible en: http://pubs.opengroup.org/architecture/archimate3-doc/apdxd.html

THE OPEN GROUP. TOGAF 9 Foundation, Preparation for the TOGAF 9 part 1 Examination.

Turk, M. (1997). Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection. IEEE Transactions on Pattern Analysis and Machine Intelligence.

XIAO, Q. (2007). Technology review-biometrics-technology, application, challenge, and computational intelligence solutions. IEEE Computational Intelligence Magazine.

48 ANEXOS

Ejemplo de comparación de dos imágenes mediante AWS SDK para java.

package com.amazonaws.samples;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.nio.ByteBuffer;

import java.util.List;

import com.amazonaws.AmazonClientException;

import com.amazonaws.auth.AWSCredentials;

import com.amazonaws.auth.AWSStaticCredentialsProvider;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;

import

com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;

import com.amazonaws.services.rekognition.AmazonRekognition;

import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;

import com.amazonaws.services.rekognition.model.Image;

import com.amazonaws.util.IOUtils;

import com.amazonaws.services.rekognition.model.BoundingBox;

import com.amazonaws.services.rekognition.model.CompareFacesMatch;

import com.amazonaws.services.rekognition.model.CompareFacesRequest;

import com.amazonaws.services.rekognition.model.CompareFacesResult;

import com.amazonaws.services.rekognition.model.ComparedFace; public class CompareFacesExample {

public static void main(String[] args) throws Exception{ Float similarityThreshold = 70F;

String sourceImage = "source.jpg"; String targetImage = "target.jpg"; ByteBuffer sourceImageBytes=null; ByteBuffer targetImageBytes=null; AWSCredentials credentials;

try {

credentials = new

ProfileCredentialsProvider("AdminUser").getCredentials(); } catch (Exception e) {

throw new AmazonClientException("Cannot load the credentials from the credential profiles file. "

+ "Please make sure that your credentials file is at the correct "

49

+ "location (/Users/userid/.aws/credentials), and is in valid format.", e);

}

EndpointConfiguration endpoint=new

EndpointConfiguration("endpoint", "us-east-1"); AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder .standard() .withEndpointConfiguration(endpoint) .withCredentials(new AWSStaticCredentialsProvider(credentials)) .build();

//Load source and target images and create input parameters

try (InputStream inputStream = new FileInputStream(new

File(sourceImage))) {

sourceImageBytes =

ByteBuffer.wrap(IOUtils.toByteArray(inputStream)); }

catch(Exception e) {

System.out.println("Failed to load source image " + sourceImage);

System.exit(1); }

try (InputStream inputStream = new FileInputStream(new

File(targetImage))) {

targetImageBytes =

ByteBuffer.wrap(IOUtils.toByteArray(inputStream)); }

catch(Exception e) {

System.out.println("Failed to load target images: " + targetImage);

System.exit(1); }

Image source=new Image()

.withBytes(sourceImageBytes); Image target=new Image()

.withBytes(targetImageBytes);

CompareFacesRequest request = new CompareFacesRequest() .withSourceImage(source)

.withTargetImage(target)

50

// Call operation

CompareFacesResult

compareFacesResult=rekognitionClient.compareFaces(request); // Display results

List <CompareFacesMatch> faceDetails = compareFacesResult.getFaceMatches();

for (CompareFacesMatch match: faceDetails){ ComparedFace face= match.getFace();

BoundingBox position = face.getBoundingBox();

System.out.println("Face at " + position.getLeft().toString() + " " + position.getTop()

+ " matches with " + face.getConfidence().toString() + "% confidence.");

}

List<ComparedFace> uncompared = compareFacesResult.getUnmatchedFaces();

System.out.println("There were " + uncompared.size() + " that did not match");

System.out.println("Source image rotation: " + compareFacesResult.getSourceImageOrientationCorrection()); System.out.println("target image rotation: " + compareFacesResult.getTargetImageOrientationCorrection()); }

Documento similar