sistema reconocimiento facial integrado a sistema de...

40
SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE CONTROL DE ACCESO Y A SOFTWARE DE NOMINA. Proyecto de pasantía Universidad Distrital Francisco José de Caldas Cindy Audrey Díaz Buelvas Director Interno: Julian Camargo Lopez Directora Externa: Juliana Ospina

Upload: others

Post on 24-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE CONTROL

DE ACCESO Y A SOFTWARE DE NOMINA.

Proyecto de pasantía

Universidad Distrital Francisco José de Caldas

Cindy Audrey Díaz Buelvas

Director Interno: Julian Camargo Lopez

Directora Externa: Juliana Ospina

Page 2: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Tabla de contenido INTRODUCCIÓN 3

1. Resumen Ejecutivo 4

2. Objetivo General 4

2.1. Objetivos Específicos 4

3. Marco Teórico 5

4. Alcance General Inicial. 9

5. Fases del proyecto 12

➢ Arquitectura de la solución. 13

Diseño Físico de la solución: 15

5.2. Fase 2 Despliegue y pruebas del sistema de reconocimiento facial. 16

5.3. Fase 4 Desarrollo de Web Service para conexión de sistema de control de acceso con sistema de

reconocimiento facial y módulo de software de nómina (ERP). 29

5.4. Fase 6 Enrolamiento de los trabajadores 36

5.6. Fase 8 Etapa de estabilización 37

6. Análisis de resultados, productos, alcances e impactos del trabajo de grado 37

7. Evaluación y cumplimiento de los objetivos de la pasantía. 38

8. Novedades presentadas en la etapa de estabilización. 39

9. Conclusiones y recomendaciones. 39

Page 3: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

INTRODUCCIÓN

Este proyecto se generó a partir de la necesidad de un cliente de NEC Colombia, para tener un

control de acceso con altos estándares de confiabilidad, donde solo las personas autorizadas

lograran ingresar, y exigiendo un alto nivel de seguridad en la validación del personal.

A raíz de la necesidad de este control de acceso seguro, el cliente había intentado implementar

anteriormente, soluciones como la huella dactilar y tarjetas de proximidad sin éxito. Sin

embargo, mediante una prueba de concepto que la compañía NEC de Colombia realizo en

diciembre de 2016, se logró demostrar que su sistema de reconocimiento Facial WATCH,

cumplía con las expectativas del cliente, al tener una mayor certeza del personal que realmente

ingresaba a la planta por medio de reconocimiento facial y demostró que es la solución más

viable para el sistema de control de acceso de la compañía.

Adicional a lo anterior, el cliente requería que el control de acceso se integrara al sistema de

nómina de la compañía, con la finalidad de entregar resultados certeros y adecuadas de las horas

de entrada y de salida de personal, con el fin de los poder liquidar las horas extras de los

trabajadores, y ver que cumplieran con su horario habitual.

El objetivo principal de este documentó es mostrar el desarrollo del proyecto y su descripción

detallada.

Page 4: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

1. Resumen Ejecutivo

El desarrollo de esta pasantía gira en torno a la implementación de un sistema de control de

acceso por medio de reconocimiento facial. El principal motivo por el cual el cliente busco a

NEC Colombia para el desarrollo de este proyecto fue para implementar un sistema que

aumentara la seguridad de la planta, la cual era vulnerada con facilidad bajo el sistema de tarjetas

lectoras utilizado anteriormente, y a su vez comprobar que sus trabajadores cumplían con sus

horarios de trabajo.

El sistema de reconocimiento facial fue integrado al sistema que controla el acceso por medio de

torniquetes y se desarrolló un sistema de reportes que permite al cliente visualizar la hora y

fecha, en la que sus empleados ingresan y salen de la planta. La comprobación se realizó por

medio de un emparejamiento de dos bases de datos de usuarios (trabajadores) de la planta, y de

las funciones de enrolamiento disponibles.

El desarrollo de esta pasantía requirió conocimiento en diversos campos de la electrónica tales

como telemática y redes, programación, entre otros.

2. Objetivo General

Implementar un sistema de reconocimiento facial integrado, con un sistema de control de acceso

y nómina, que permita el reporte automático del ingreso y salida del personal.

2.1. Objetivos Específicos

● Diseñar la arquitectura de la solución del sistema de control de acceso por reconocimiento

facial.

● Configurar los equipos con el sistema de reconocimiento facial de NEC que serán instalados

en la planta del cliente.

● Realizar pruebas sobre los equipos configurados que serán entregados al cliente.

● Integrar el sistema de reconocimiento facial de NEC con el sistema de control de acceso.

● Integrar el sistema de reconocimiento facial de NEC con el software de nómina (ERP) del

cliente.

● Enrolar a los trabajadores en el sistema de reconocimiento facial.

● Implementar la solución de reconocimiento facial en el cliente.

● Realizar seguimiento en la etapa de estabilización de la solución.

Page 5: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

3. Marco Teórico

Un sistema de reconocimiento facial tiene como objetivo detectar e identificar sujetos de manera

única, por medio de la combinación de distintas técnicas computacionales tales como análisis de

componentes principales (PCA), análisis de discriminación lineal (LDA), máquina de soporte

vectorial (SMV) o redes neuronales artificiales (ANN) que utilizan las características principales

de un rostro tales como distancias entre puntos específicos, profundidad, color, de piel, ojos

labios etc, que determinan una identidad única e irrepetible (Bhele, Mankar V. H., 2012).

En comparación con otros sistemas biométricos que usan huella digital o iris, el reconocimiento

facial tiene distintas ventajas debido a su proceso sin contacto. Las imágenes de rostros se

pueden capturar desde una determinada distancia sin necesidad de tocar a la persona, y la

identificación no requiere una interacción directa. El sistema de reconocimiento facial de NEC

utiliza las siguientes técnicas para su funcionamiento:

Método de detección de rostros de emparejamiento generalizado (GMFD)”Generalized

Matching Face Detection Method”

GMFD es un algoritmo basado en una red neuronal modificada de cuantificación generalizada de

vectores de aprendizaje (GLVQ) (Bhele, Mankar V. H., 2012), que busca y selecciona las

potenciales área del rostro a partir de la identificación de posibles puntos que puedan ser un par

de ojos. GLVQ permite la detección del rostro aun cuando el individuo use de gorras, sombreros,

gafas de sol, etc. El Algoritmo sigue el siguiente esquema

Ilustración 1 Esquema de algoritmo GMFD.

En primer lugar, se generan múltiples imágenes en distintas escalas de una imagen de entrada, y

luego se generan posibles zonas de rostros en el algoritmo por GLVQ el cual define mediante

una red neuronal de clasificación cuales son rostros y cuáles no.

Ilustración 2 Detección de múltiples posibilidades de rostros (Bhele, Mankar V. H., 2012).

Page 6: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 3 Clasificación de rostros (Bhele, Mankar V. H., 2012).

Luego de obtener las imágenes de posibles rostros, se realiza una técnica de entrenamiento para

clasificación denominada GLVQ, que utiliza un histórico de imágenes para determinar cuales

corresponden a un rostro humano y cuáles no.

Ilustración 4 Búsqueda de la posición exacta de los ojos (Bhele, Mankar V. H., 2012).

Posterior a este proceso la imagen del rostro se normaliza sobre la base de las posiciones de los

ojos. También la imagen es rotada de manera en que los ojos queden en el mismo eje horizontal.

Ilustración 5 Rotación de imagen a partir de ubicación de los ojos

(Bhele, Mankar V. H., 2012).

Método de perturbación espacial (PSM) “Perturbation Space Method”

El algoritmo PSM tiene como objetivo revertir los efectos negativos del entorno como

condiciones de luz o movimiento del sujeto, esto se logra mediante la conversión de imágenes a

“tres dimensiones” bajo un proceso denominado "Morphing". Esta técnica se obtiene por medio

de representaciones del rostro en distintas direcciones, con un procesamiento adicional se aplica

iluminación dependiendo de la dirección en la que está enfocada el rostro, esto permite que un

rostro coincida en mayor medida con los rostros del enrolamiento inicial.

Inicialmente a la imagen se le realizan distintas rotaciones basadas en un esquema de un rostro

3d estándar. Posteriormente se obtienen más combinaciones de las imágenes mediante el uso de

iluminación artificial aplicada (Bhele, Mankar V. H., 2012).

Page 7: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 6 Proceso algoritmo PSM.

Software de reconocimiento facial.

Desde el punto de vista de hardware y software el sistema de reconocimiento facial de NEC es

una plataforma web que posee una interfaz de usuario fácil de usar discreto y funciona de la

siguiente manera:

● Una cámara de vigilancia, esta cámara está instalada en un servidor local dentro de la misma

red del cliente.

● Los rostros de los individuos son captados y extraídos de la fuente de video.

● Compara los rostros del video con las bases de datos de listas de observación adecuadas y

genera alertas en tiempo real.

● Capacidad de adaptación de alto rendimiento con múltiples tomas de cámara.

● Detección de personas de interés en locales en tiempo real.

● Alertas en tiempo real para actuar según sea necesario.

● Adecuado para la detección de indeseables y VIP.

● Capacidad para procesar imágenes de video en vivo y archivadas.

Arquitectura de soluciones estándar.

Una solución típica de sistema de reconocimiento facial de NEC se basa en tener cámaras de

video IP conectadas a aplicaciones servidores y clientes de interfaz de usuario a través de una red

local para identificar personas de interés en varias listas de vigilancia. La arquitectura tiene los

siguientes componentes:

Cámaras.

Sistema de reconocimiento facial de NEC se integra con una amplia gama de cámaras que tengan

características tecnológicas tales como: alta resolución, compresión de video sin pérdida de

información, capacidad de transmisión y gestión de luz.

Red.

La red en donde sea instalado el sistema debe de ser una red dedicada, debido a que la señal de

video demanda mucho ancho de banda.

Page 8: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Servidores de aplicaciones Sistema de reconocimiento facial de NEC se ejecuta en equipos de que cumplan como mínimo

con las siguientes características físicas: core i7, 8Gb de RAM y 50GB en disco duro.

Salas de equipamiento.

Dispositivos de visualización de la plataforma del sistema de reconocimiento facial de NEC, el

cliente requerirá una serie de estaciones de trabajo o dispositivos que admitan HTML5 en un

navegador web (como Internet Explorer, Firefox, Chrome o Safari).

Arquitectura de software del sistema de reconocimiento facial de NEC.

El sistema de reconocimiento facial de NEC puede tener diferentes tipos de arquitectura las

cuales pueden ser desde un solo servidor hasta varios servidores de aplicaciones, proporcionando

una solución altamente escalable y flexible.

A continuación, el modelo de arquitectura que será utilizado para el desarrollo de este proyecto:

Modelo de implementación distribuida.

En este modelo, la captura de la cámara y la coincidencia se procesan en un computador local y

el servidor. El servicio para todas las cámaras se da un solo servidor; lo que proporciona un

proceso de instalación simple y un rendimiento optimizado.

En la siguiente ilustración se muestra la arquitectura del de NEC y además una descripción

resumida de cada una de sus partes:

Ilustración 7 Arquitectura estándar del sistema de reconocimiento facial de NEC (NEC

Corporation, 2016).

Page 9: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

IIS

Internet Information Services (IIS) es un servicio de Microsoft que aloja la web del sistema de

reconocimiento facial de NEC, dashboard, wallboard y mobile web services (NEC Corporation,

2016).

Base de datos SQL

Una base de datos de Microsoft SQL Server almacena toda la configuración del sistema de

reconocimiento facial de NEC. La creación de una base espejo de la base de datos SQL en

múltiples servidores de base de datos se puede implementar para proporcionar alta disponibilidad

y redundancia.

Servicio del sistema de reconocimiento facial de NEC

El servicio del sistema de reconocimiento facial de NEC es el componente principal. Se

comunica con todos los demás servicios para asegúrese de que tengan la última base de datos y

la configuración correcta del sistema.

Servicio de Host del sistema de reconocimiento facial de NEC.

El servicio host del sistema de reconocimiento facial de NEC administra todos los procesos web,

como la inscripción masiva, añadir / editar temas adicionales, creación de listas de ingreso y

alertas.

Servicio de Procesamiento del sistema de reconocimiento facial de NEC

El servicio de procesamiento del sistema de reconocimiento facial de NEC se basa en procesar

cada cuadro de video reconociendo rostros con un algoritmo biométrico que almacena la

coincidencia con un pequeño valor binario que acelera el proceso de emparejamiento.

4. Alcance General Inicial.

El desarrollo de este proyecto consiste en implementar un sistema que mejorara las prestaciones

de seguridad en la planta por medio de un sistema de reconocimiento facial que habilitara el paso

de los torniquetes a los usuarios autorizados, dicho sistema se quiere implementar debido a las

falencias de suplantación encontradas bajo el sistema de tarjetas lectoras utilizado anteriormente.

NEC de Colombia junto con el cliente determinaron los siguientes alcances del proyecto:

1. Implementar la solución basada en autenticación de reconocimiento facial, utilizando el

software de reconocimiento facial NEC.

2. El sistema que habilita el acceso estará integrado con el sistema de reconocimiento facial.

3. El sistema de torniquetes de acceso deberá recibir la señal proveniente del sistema de

reconocimiento facial para la habilitación y des habilitación del paso.

Page 10: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

4. Se implementará el sistema para las barreras físicas de acceso peatonal en este caso dos

(2) de tipo sencillas unidireccionales (una para entrada y otra para salida).

5. La solución a implementarse será de forma distribuida y se podrá escalar.

6. La solución se integrará con un módulo del ERP para el control de acceso del personal.

7. La solución de reconocimiento facial será de tipo colaborativa, requiere de la

colaboración del usuario para realizar la autenticación biométrica facial bajo un protocolo

definido.

8. La solución empleará una imagen de plano cerrado y a una distancia fija para la

autenticación facial.

9. Se dispondrán de todos los equipos software y hardware para la implementación del

proyecto.

Para la implementación de la solución se requerirá del uso de varios subsistemas integrados que

funcionarán de manera sincronizada, los cuales son:

1. Sistema de Reconocimiento Facial

2. Sistema de Control de Acceso e Integración

A continuación, se presenta una simulación del concepto presentado:

Ilustración 8 Concepto de Solución.

4.1. Funcionalidades y componentes

El sistema de reconocimiento facial tuvo como objetivo permitir el enrolamiento de los usuarios

y la autenticación de los mismos en la secuencia de ingreso al complejo, la solución cuenta las

siguientes funcionalidades y componentes:

● Enrolamiento desde la entrada a la empresa.

● Sincronización e integración con sistema de control de acceso existente.

● Informes personalizados para verificación del cumplimiento de acceso.

● Exportación de informes y datos históricos por medio de archivos planos.

● Dos (2) cámaras de reconocimiento facial instaladas dentro de los torniquetes.

● Dos (2) pantallas LCD LED Backlight para interiores.

● Un (1) servidor de procesamiento de tipo profesional para trabajo 7X24 con capacidad para

alojar la base de datos y todos los servicios necesarios para el despliegue de la solución de

reconocimiento facial.

● Un switch PoE de 8 puertos cobre y 2 puertos de fibra tipo SFP con desempeño profesional

para trabajo 7X24.

Page 11: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

4.2. Identificación de equipos del sistema.

A continuación, se encuentra la descripción técnica de los equipos que serán instalados:

Cámaras

El sistema instalado cuenta con una cámara de alto rendimiento Full-HD dividido, con un diseño

discreto, y con capacidad para integrarse de manera flexible en los espacios más reducidos, ideal

para la vigilancia interna.

El sistema cuenta con una unidad de cámara separada y núcleo de video, lo que permite que la

pequeña unidad de cámara (con un cable de 5 metros de largo) se instale de manera fácil y

flexible en cualquier decoración o diseño.

Hardware de Procesamiento

Para la implementación de este proyecto se instaló un workstation con las siguientes

características:

● Windows 10 Pro 64 - recommends Windows 10 Pro.

● 9.5 mm Slim DVD-Writer Optical Disc Drive

● HP Single Unit Packaging

● Operating System Load to SATA/SAS

● Intel® Xeon® E5-2667 v4 Processor (3.2 GHz, up to 3.6 GHz w/Turbo Boost, 25 MB

cache, 2400 MHz, 8 core)

● 1 TB SATA SSD

● HP Z640 925W 90 Percent Efficient Chassis

● HP USB Optical Mouse

● 64GB DDR4-2400 (4x16GB) 1 CPU Registered RAM

● HP 3/3/3 Warranty

● Intel® Ethernet I210-T1 Network Interface Card – PCIe

● Tarjeta GPU NVIDIA GeForce GTX 1080 8GB

● Licenciamiento SQL: Licenciamiento SQL server standard para un servidor y las cal

necesarias de acuerdo con los siguientes códigos de solicitud: 228-04628 SQLSvrStd SNGL

LicSAPk OLP NL(X1) + 359-01005 SQLCAL SNGL LicSAPk OLP NL UsrCAL(X1).

MEDIA PLAYER

El equipo instalado posee las características necesarias para procesar video y visualizar el

sistema de reconocimiento facial. Algunas características técnicas del media player son:

● Windows 7.

● Procesador core i3.

● RAM de 4 Gb.

● Disco duro de 200 Gb.

Page 12: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

COMPONENTES DE CONECTIVIDAD

Switch Borde

El swtich de borde tipo POE del proyecto es de ocho puertos, uno por cada punto de acceso, el

equipo es para aplicaciones profesionales de alto rendimiento, incluye todos los accesorios de

conexión a fibra óptica, algunas de las características más importantes de este equipo son:

● El switch Gigabit Ethernet cuenta con dos puertos Gigabit.

● Dos puertos combinados SFP y ocho puertos PoE + que ofrecen hasta 30 vatios por puerto

para admitir videovigilancia y cámaras de seguridad.

● La opción PoE elimina la necesidad de volver a cablear la alimentación y minimiza el

desorden de las fuentes de alimentación y adaptadores en lugares incómodos.

● El switch es ideal para entornos restringidos y de poco cableado.

5. Fases del proyecto

En esta sección se describirán todas las etapas del proyecto, cada una representa un alcance

funcional del sistema que fue implementado, a continuación, la explicación de cada una:

5.1. FASE 1: DIMENSIONAMIENTO O SIZING DE LA SOLUCIÓN

➢ Identificación de roles de acceso.

El tipo de personas que van a hacer uso del sistema de autenticación biométrico por reconocimiento

facial, serán dos tipos: empleados y visitantes. El sistema tendrá la capacidad de identificar

quienes no estén registrados, por ello en la pantalla se observará un letrero en donde muestre: no

registrado.

➢ Identificación de condiciones de entorno.

Luminosidad del sitio: El sitio es bastante iluminado, lo cual representa una ventaja para la

ubicación de la cámara, en este caso la cámara que será utilizada es una tipo “pinhole”1 que

estará empotrada dentro de un soporte el cual tendrá integrada la cámara y la pantalla LCD en

donde se realizará la visualización de la verificación de coincidencia o no coincidencia con la

base de datos del sistema de reconocimiento facial.

Ángulos: En este caso la cámara al estar en un punto fijo capta toda la imagen que tenga en

frente, por tal razón no tendrá problemas con los ángulos, para que las personas puedan ser

reconocidas por el sistema deben de acercarse a la cámara y esperar 5 segundos a que el sistema

haga la validación correspondiente.

1 Pinhole o cámara estenopeica que utiliza una abertura provista por un orificio en un diafragma opaco en lugar de

una lente.

Page 13: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

➢ Arquitectura de la solución.

Ilustración 9 Topología de conexiones.

Para desarrollar la arquitectura de la solución se realizaron diferentes cálculos de potencia y se

tuvieron en cuenta datos como el consumo energético que tendrán los nuevos equipos instalados,

a continuación el consumo en potencia de cada equipo:

Tabla 1 Especificaciones eléctricas equipos instalados.

Equipos Unidades Power W Total Power recomendada W Lugar

Pantalla LCD 1 36 46,8 Pedestal

Entrada Cámaras 1 4 5,2

Media Player 1 65 84,5

TOTAL 105 136,5

Equipos Unidades Power W Total Power recomendada

W Lugar

Pantalla LCD 1 36 46,8 Pedestal

Salida Cámaras 1 4 5,2

Page 14: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Media Player 1 65 84,5

TOTAL 105 136,5

Equipos Unidades Power W Total Power recomendada W Lugar

Servidor 1 950 1235

Datacenter Monitor 1 30 39

TOTAL 980 1274

Además, para realizar una adecuada conexión entre equipos se tuvieron en cuenta puntos de

datos, puntos eléctricos y el cableado para las conexiones entre equipos, descritos a

continuación:

Puntos Eléctricos.

● 3 puntos de energía en pedestal (entrada), 1 para la alimentación del media player, 1 para la

alimentación de la pantalla y 1 auxiliar en caso de que alguno de los anteriores mencionados

se dañe.

● 3 puntos de energía en pedestal (salida), 1 para la alimentación del media player, 1 para la

alimentación de la pantalla y 1 auxiliar en caso de que alguno de los anteriores mencionados

se dañe.

● 3 puntos de energía en el rack 1 cerca al molinete, 1 para la alimentación del switch POE y 2

para la alimentación de las controladoras.

● 4 patchcord de cables UTP, para transportar la señal desde las controladoras hasta los relés

del molinete, 2 cable UTP para entrada y 2 cable UTP para salida.

● 2 puntos de energía de lado del datacenter en el rack para la alimentación del servidor que

alojara el rack y la pantalla led.

Datos desde rack1:

● 2 puntos de red RJ45 correspondientes al pedestal de entrada, en los cuales se le provee

internet al Media Player y la cámara envía la señal de video (se recomienda cable en punta

RJ45 con 2mts de sobrante para manipulación).

● 2 puntos de red RJ45 correspondientes al pedestal salida, en los cuales se le provee internet al

Media Player y la cámara envía la señal de video (se recomienda cable en punta RJ45 con

2mts de sobrante para manipulación).

● 1 patch cord RJ45 entre el switch del cliente y el switch POE NEC.

● 1 patch cord entre la Controladora (entrada) y el switch POE NEC.

● 1 patch cord entre la Controladora (salida) y el switch.

POE NEC. Datos rack Datacenter:

● 1 patch cord RJ45 entre el switch del cliente y el servidor.

● Conexión de red al servidor donde se instalarán la aplicación de control de acceso.

● Conectividad a internet.

Page 15: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Las conexiones presentadas anteriormente son las encargadas de alimentar a los siguientes

equipos:

Media player.

Este equipo es el encargado de procesar el video y visualizar la plataforma online del alojado en

el servidor del datacenter, este está conectado a la pantalla LCD por medio de un cable HDMI y

a una red de datos (4) por cable RJ45, la alimentación de la red de datos viene del switch POE.

Pantalla LCD.

En la pantalla LCD se visualizará la verificación del , cuando la persona vaya a ingresar a la

planta.

Controladora.

Este equipo es el encargado de enviar la señal de habilitación a los torniquetes, además de que

realiza el procesamiento de la plataforma del software de control de acceso, el cual habilita a los

torniquetes para que se puedan mover y luego bloquear en el momento en que la persona ha

ingresado a la planta (antipassback), la señal enviada a los torniquetes es un pulso seco el cual

activa un PLC que ordena el movimiento de los torniquetes.

Switch POE.

Este switch es el encargado de alimentar las cámaras y de recibir la señal de video (5) además de

redireccionar esa señal al switch que está conectado al enlace de fibra y así transportar la señal

hasta el servidor donde se encuentra alojado el y seguidamente procesada por este.

Switch.

Este Switch es el encargado de conectar todas las cámaras con el enlace de fibra (1) y enviar la

señal de video al servidor en donde se realza el procesamiento del video.

Servidor.

El de NEC estará alojado en un servidor local que será instalado en la planta del cliente, en el

servidor se realizará todo el procesamiento de video adquirido por las cámaras.

Monitor.

El monitor es una pantalla Samsung de 27” encargada de mostrar el procesamiento que está

realizando el servidor.

Diseño Físico de la solución:

La expectativa de diseño físico que se tiene es la siguiente:

La cámara estaría ubicada dentro de un pedestal igual que la pantalla LCD y el rack de

controladoras estaría detrás de la pared.

Page 16: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 10 Diseño general físico del sistema.

Ilustración 11 Ubicación de la cámara en la entrada de la planta.

5.2. Fase 2 Despliegue y pruebas del sistema de reconocimiento facial.

Se realizó una configuración del sistema de reconocimiento facial de NEC (equipos y software),

la cual es una instalación preliminar (entorno de pruebas) a su implementación definitiva en las

instalaciones del cliente (entorno de producción)

Para entender el funcionamiento del sistema primero es importante establecer la arquitectura de

la solución a implementar, en esta etapa se definen también direcciones ip fijas para cada

Page 17: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

componente, esto permitirá una conexión estable de cada componente en la intranet.

Hoja de ruta de instalación.

Para realizar la instalación del de NEC, se deben comprender los conceptos básicos de operación

y planificar su sistema antes de iniciar el proceso de instalación real; en el siguiente diagrama se

ilustra los pasos a seguir:

Ilustración 12 Hoja de ruta de instalación (NEC Corporation, 2018).

Verificación de pre requisitos.

Para el buen funcionamiento del sistema de reconocimiento facial de NEC, se requieren

determinadas especificaciones técnicas del servidor, y contar con una base de datos Microsoft

SQL Server y una red interna en donde vaya a ser instalado, además de tener las versiones

correctas de software y sus respectivas actualizaciones. En el proyecto se utiliza la última versión

del software de reconocimiento facial y se dispone de una red de intranet con IP’s fijas para los

componentes.

Pre requisitos de servidor.

El sistema de reconocimiento facial de NEC debe instalarse en servidores dedicados sin otras

aplicaciones instaladas, compartir con un sistema u otras aplicaciones de uso intensivo de la

CPU, podría perjudicar el rendimiento y/o entrar en conflicto con la instalación de sus

componentes.

Page 18: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

A continuación, las especificaciones técnicas del software que debe tener el servidor:

Tabla 2 Características Técnicas Servidor

Sistema Operativo Windows Server 2012 R2 , Windows Server 2016

Base de datos Microsoft SQL Server 2012, Microsoft SQL Server 2014

Navegador Google Chrome, Internet Explorer, Mozilla Firefox

Resolución de Pantalla Mínimo: 1280 x 960 Recomendado: 1600x1050 o mayor

Para el desarrollo de este proyecto Se utilizó Windows Server 2016 y Microsoft SQL Server

2014 (NEC Corporation, 2018).

Instalación del servidor de NEC.

La instalación del servidor de NEC, es el primer paso en la instalación. Este procedimiento

utiliza un número de serie con licencia y un código único de activación que determine la

legalidad y la propiedad del software en el cliente que se aclarara más adelante en este

documento. Al iniciar la instalación del software de reconocimiento facial se determinó el

directorio de instalación del programa en donde se almacenan todos los archivos del sistema y se

define una instalación de servidor principal sencillo.

Ilustración 13 Directorio de instalación del software de reconocimiento facial y servidor.

Para la instalación de las cámaras, al igual que el servidor principal, se les asigna una ip fija en la

intranet. En el siguiente paso de la instalación se ingresa el número de cámaras que se utilizarán

en el proyecto, para este caso el número de cámaras es 2.

Page 19: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 14 Cantidad de cámaras a instalar.

Para iniciar automáticamente los servicios del software de reconocimiento facial, en el inicio del

sistema/servidor, se marcó la opción de inicio automático, la cual activa los servicios del sistema.

En la configuración de la cuenta del sistema, se ingresa el nombre de usuario y la contraseña para

el servidor, con el fin de que en el monitor del sistema se visualicen los servicios que ofrece el

software.

Despliegue de la base de datos en SQL Server

Inicialmente se realizó la instalación y configuración de una base de datos SQL Server, en la cual

el sistema de reconocimiento facial despliega todas las tablas de almacenamiento de los registros

y match que se realizan.

Ilustración 15 Creación base de datos del sistema.

La base de datos fue configurada con la IP del servidor, el software de reconocimiento facial se

conecta automáticamente a esta en el momento de la instalación, por ello se ingresaron las

credenciales en el servidor con el nombre de la base de datos y los campos de nombre de usuario

y contraseña para tener acceso a la base de datos.

Page 20: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 16 Configuración de SQL Server

Después de configurar la base de datos SQL, aparece la pantalla de Configuración de la Interfaz

Web:

Despliegue de la interfaz web

Ilustración 17 Configuración de la interfaz web.

Posteriormente se configura una instancia de Microsoft IIS Server requerida para configurar un

nuevo sitio web para la aplicación web del software. El instalador muestra los sitios web actuales

configurados en IIS en el cual se elige el configurado anteriormente cerciorándose de los puertos

que no están actualmente en uso.

Page 21: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 18 El resumen de la instalación y la dirección web.

Configurando cámara.

Una vez finalizada la instalación principal, aparece la pantalla Configurar cámaras (NEC

Corporation, 2018).

Ilustración 19 Configuración de cámaras.

Anteriormente en la instalación, se especificó el número de cámaras que se utilizarán con la

instalación. En este caso se ingresaron las configuraciones de las 2 cámaras, incluyendo Nombre,

Dirección IP y Velocidad de cuadros. 30 fps equivale a 30 frames per second, es decir 30

cuadros por segundo, una frecuencia de actualización suficiente para el proceso de autenticación

e ingreso, ya que los empleados deben detenerse al frente del sistema.

Como paso final, se reinicia el servidor.

Page 22: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 20 Reinicio del servidor.

Instalación de servicios adicionales

En esta instancia se requiere agregar un servicio adicional se realiza lo mostrado a continuación:

Ilustración 21 Instalación Servicios adicionales.

Este servicio es llamado camera Capture services. Para instalar servicios adicionales, se detienen

todos los servicios del software, luego en la pantalla del portal se elige la opción “change”, en la

siguiente pantalla se selecciona agregar servicio y se verifica la dirección IP del servidor actual

en el sistema de reconocimiento facial se selecciona el servicio de Camera

Capture Service para la instalación del servicio, este procedimiento se realiza en caso de querer

otro servicio adicional para del software de reconocimiento facial.

Administración de los servicios del software de reconocimiento facial.

Todo el sistema y todos los servicios del software pueden iniciarse y detenerse individualmente

con el panel de monitor del sistema.

Una vez que el dashboard del software está abierto desde el browser, se inicia sesión con las

credenciales predeterminadas.

Page 23: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 22 Servicios adicionales del software de reconocimiento facial.

Ilustración 23 Plataforma de ingreso.

Una vez que haya iniciado sesión, en el panel de control del software de reconocimiento facial se

da clic en el botón monitor del sistema para abrir la página monitor del sistema:

Page 24: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 24 Selección del monitor del sistema

El panel del monitor del sistema que proporciona una interfaz simple para realizar las

operaciones de inicio, parada, reinicio y puesta en modo de mantenimiento de los servicios del

software. Allí también se pueden ver todos los servicios instalados y su estado actual.

Ilustración 25 Visualización de los servicios, cámara y servidor.

En la mayoría de los casos, se deben usar los botones Iniciar y Detener de todos los servicios

(ubicados en la parte inferior de la lista), pero si es necesario, se pueden iniciar y detener los

servicios individuales.

Hay varias pestañas en el Monitor del sistema para cada componente principal para informar

sobre el rendimiento, las cámaras, la extracción de caras, la coincidencia y también incluye un

resumen de las métricas de rendimiento general y la indicación del estado del servicio.

Acceso a la plataforma web:

El sistema de reconocimiento facial tiene una interfaz web que permite al administrador hacer

uso de todas las funcionalidades de operación y configuración del sistema, los requisitos para

entrar en dicha interfaz son los siguientes:

1. Tener instalado el Software en un equipo servidor apropiado.

2. Estar conectado a la misma red LAN del servidor.

3. Tener un navegador web instalado, preferiblemente Google Chrome.

4. Conocer la dirección IP fija se aloja el software.

5. Tener un usuario asignado para el uso de la interfaz.

Page 25: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Teniendo definidos los puntos anteriores procedemos a abrir el navegador web y digitar la

dirección IP en la barra de direcciones.

Creación de listas de usuarios:

Una lista de usuarios es una carpeta donde se almacenarán grupos de personas con los mismos

privilegios o con características comunes, por ejemplo, empleados de una misma compañía, área

o dependencia.

Para crear una se ubica el icono de sujetos en la parte inferior izquierda de la pantalla, como lo

muestra la imagen

Ilustración 26 Interfaz Gráfica.

Luego se buscan las opciones Watchlist y new como lo muestra la imagen.

Ilustración 27 Listas existentes.

Se diligencian los campos name y description, y posteriormente se selecciona la opción Save

Matches, una vez terminado se da click en finalizar

Page 26: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 28 Creación de Lista de NEC

Al finalizar aparecerán todas las listas de usuarios creadas.

Ilustración 29 Lista de NEC creada.

Enrolamiento de personal

El enrolamiento es un procedimiento que permite el acceso a nuevos usuarios, mediante el

registro de su rostro en la base de datos, el cual se describe a continuación.

Este procedimiento consiste en registrar en la base de datos cada una de las personas que

requieren acceso a la empresa, se deben incluir datos básicos como nombres completos, Numero

de documento de identidad e incluir una fotografía.

Para realizar el enrolamiento se deben de seguir los siguientes pasos:

1. Ingreso al portal y adición de un nuevo empleado: Para enrolar un nuevo empleado, se hace

uso del portal web en la sección “subjects” new subject. En este paso es necesario Agregar

Nombres, Apellidos, y un título que en este caso es el nombre completo del empleado.

Page 27: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 30 Opción a escoger de los usuarios que fueron enrolados.

Ilustración 31 Muestra de usuarios que fueron enrolados.

2. Una vez configurado los datos del usuario se procede a identificarlo, este proceso puede

realizarse de dos maneras distintas, usando una fotografía digital, o tomando una fotografía

desde las cámaras del sistema de control de acceso. La persona debe ubicarse frente a la

cámara como en la siguiente imagen.

Ilustración 32 Ubicación de los usuarios para la identificación en el sistema.

3. Para el enrolamiento y uso de la cámara se recomienda lo siguiente:

● Ubicarse frente a la pantalla únicamente una persona.

Page 28: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

● Asegurarse de que el rostro es visualizado en pantalla, en caso contrario ajustar la

posición del display de acuerdo a la estatura del usuario.

● No tocar la pantalla, en caso de requerir ajuste de altura, hacer contacto con la

superficie metálica que la soporta.

● No desconectar los dispositivos abruptamente, esto puede ocasionar daños al Sistema

Operativo.

● Una vez habilitado el torniquete cruzar cuidadosamente, pasados 6 segundos se

volverá a bloquear.

● No ubicarse en la zona intermedia entre los torniquetes ya que puede generar doble

detección.

Identificación de personal: Es el procedimiento mediante el cual se realiza la captura de un

rostro, se coteja con la base de datos existente. Este consiste en 4 etapas:

1. Capturar: Etapa de la toma de la imagen para su posterior procesamiento

2. Evaluar: Paso en el cual se realiza una extracción de las características más importantes

de la imagen.

3. Coincidir: En este paso se determina el nivel de correlación con el banco de imágenes

existentes para definir una coincidencia de persona.

4. Decidir: Una vez determinada la coincidencia se proceda a ejecutar la acción de

validación.

Ilustración 33 Procesamiento que lleva a cabo para la identificación de personal.

Procedimiento para acceso:

Para lograr el objetivo del control de acceso, es necesario realizar el siguiente procedimiento:

1. Enrolarse en la base de datos del sistema (Ingresando los datos de la persona y una

fotografía)

2. Posicionarse en frente de la pantalla de entrada o de salida mirando a la parte central, una

vez sea identificado por el sistema aparecerá un recuadro verde con el nombre de la

persona, junto con un mensaje de autorización de ingreso.

Page 29: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

3. Una vez sea autorizado el ingreso, el sistema enviará un pulso que activará el

torniquete, esta señal tendrá una duración de 6 segundos, tiempo durante el cual el

usuario podrá cruzar el torniquete y acceder a la planta.

Estadísticas del funcionamiento del sistema.

El nivel de coincidencia del software de reconocimiento facial está entre 55% y el 100%, para

que un usuario tenga un 100% de coincidencia el ambiente en el que se coloque el sistema debe

de ser controlado y las condiciones ambientales deben de optimas, contar con una cámara que

solamente grabe en alta calidad, mientras esas condiciones no sean de esa manera, el sistema

siempre tendrá un margen de error, pero garantizando que la persona que está siendo reconocida

tenga una probabilidad del 90% que sea la que está registrada en el sistema, una de las ventajas

del software es que se puede configurar para que su porcentaje de coincidencia oscile entre el

50% o el 100%, este sistema fue configurado para que funcionara con el 55%. A continuación,

una gráfica de cómo se comporta el sistema.

Ilustración 34 Muestreo de las estadísticas arrojadas por el sistema.

5.3. Fase 4 Desarrollo de Web Service para conexión de sistema de control de acceso con

sistema de reconocimiento facial y módulo de software de nómina (ERP).

Para realizar las integraciones del sistema, se utilizó una de las APIs llamada Watch Api, la cual

es una interfaz de propósito general basada en clases de Windows Communication Foundation,

que expone los objetos para interactuar con el servidor, las imágenes, las listas de observación y

la coincidencia de reconocimiento facial, fue desarrollada con el fin de que pudiera integrarse

con otro tipo de sistemas y así hacerlo un sistema más versátil, el diagrama de flujo de la API es

el siguiente:

Page 30: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 35 Diagrama de flujo API (NEC Coporation, 2017).

Usando la Watch API, se pueden realizar las siguientes funcionalidades:

● Iniciar, detener y actualizar el sistema.

● Trabajar con nuevas caras, fotos, y enrolar sujetos.

● Crear, cambiar y administrar grupos en las listas de seguimiento.

● Métodos para encontrar coincidencias entre imágenes de las cámaras y fotos de sujetos.

● Recibir notificaciones en tiempo real cuando los componentes de procesamiento en

tiempo real detectan un resultado de coincidencia

Los cambios que realicen a través de la API se guardan automáticamente en la base de datos.

La Watch API cuenta con las siguientes características:

● Está diseñado para ser utilizado desde el entorno Microsoft .NET y se puede acceder a él

a través de la biblioteca net.tcp de Microsoft.

● API de servicios web estándar es compatible con el protocolo SOAP.

Configuración de la API

La Watch API puede ser configurada por medio del siguiente vínculo: http://xxxx

/NEC.Identity.NeoFace.API.Watch (NEC Coporation, 2017)

Con este vínculo dentro de la red local de la empresa se invocan todos los métodos para realizar

llamados a la aplicación, Watch API es configurada en el archivo App.config de la aplicación

desarrollada en Microsoft.NET.

El uso de Watch API se realiza en el lenguaje C# y tendrá como objetivo principal tomar alertas

en tiempo real, por medio de la subscripción a eventos y notificaciones cuando se producen

coincidencias de caras registradas, con imágenes tomadas por la cámara. Para su posterior

integración con otro sistema que habilite el sistema de torniquetes.

Page 31: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

En la Watch API existen 2 tipos de métodos los métodos update que sirven para configurar o

parametrizar el sistema y los métodos get o subscribe que sirven para recibir información.

Códigos de Integración

La implementación en este proyecto consta de 2 códigos principales utilizados para la

interacción con el módulo ERP denominado Veasytor el cual también está encargado de la

habilitación del paso de los empleados. El segundo código tiene como objetivo extraer la

información de manera periódica para la generación de reportes y control de horarios.

Código de Integración con módulo de habilitación veasytor.

A continuación, se define el flujo de ejecución del programa base, este consiste en la captura

asíncrona de eventos, estos ocurren cada vez que un usuario enrolado en el sistema de

reconocimiento facial es detectado, luego de dicha detección el sistema procede a hacer las

verificaciones de acceso para posteriormente enviar dicha información a la base de datos

MySQL de Veasytor, encargado de habilitar el torniquete y asociar al empleado en el registro

existente de la empresa. La información enviada consta de la información básica del usuario

(nombres apellidos), hora y fecha de evento, dirección del evento (entrada, salida).

Ilustración 36 Diagrama de flujo del programa de ejecución.

A continuación se muestra el código de ejecución del programa, las líneas de color azul muestran

la personalización del mismo tomando como referencia el código base del developer guide.

Page 32: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

using ConsoleApp1.WatchServiceReference;

using System;

using System.ServiceModel;

using System.ServiceModel.Security;

using MySql.Data.MySqlClient;

namespace MatchSubscriptionSample

{

class Program

{

private static WatchContractClient client = null;

private static WatchServiceCallbackImpl callback = new WatchServiceCallbackImpl();

private MySqlConnection conexion =new MySqlConnection(“server= 10.20.2.27; database=veasytor;

Uid=Administrador; pwd=admin;”); //Conexión base de datos

public static void CallbackOnWatchlistMatchFoundEvent(Object info){

if (info != null)

{

MatchResult matchResult = info as MatchResult;

Console.WriteLine(String.Format(“Fecha:{0}, Nombres:{1}, CC:{2}, Accion:{3}, Ubicacion:{4}”,

matchResult.CaptureTime, matchResult.Subject.FirstName + “ “ + matchResult.Subject.LastName,

matchResult.Subject.CustomField1, matchResult.Camera.Name, matchResult.Camera.Location.Name));

conexion.Open();

MySqlCommand comm = conn.CreateCommand();

comm.CommandText = “INSERT INTO RegIngreso(Fecha,Nombres,CC,Accion,Ubicacion)

VALUES(‘”+matchResult.CaptureTime+”’,’”+MatchResult.Subject.FirstName+””+matchResult.Subject.LastNa

me+”’,’”+matchResult.Subject.CustomField1+”’,’”+matchResult.Camera.Name+”’,’”+matchResult.Camera.Loc

ation.Name+’”);

conexion.Close(); }

else

{

Console.WriteLine(“Se recibió match nulo, No se autoriza ingreso”);

}

}

static void Main(string[] args) //Programa principal

{

Console.WriteLine(“Iniciando Cliente del Servicio Web de XXXX”);

callback = new WatchServiceCallbackImpl(); // Creación de callback necesario para crear contexto

context = new InstanceContext(callback); //Creación de contexto para crear cliente

client = new WatchContractClient(context); //Configura cliente del Web Service (usuario system)

client.ClientCredentials.UserName.UserName = “system”; //Autenticación

client.ClientCredentials.UserName.Password = “system”;

client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode =

X509CertificateValidationMode.None;

//Certificado de validación

//Verificación de conexión

Console.WriteLine(“XXXXX Web Service creado con status [” + client.State.ToString() + “]”);//

//Verificación de estado camará principal

CameraInfo[] caminfo = client.GetCameras();

Console.WriteLine(“IP primera camara en la lista: “ + caminfo[0].IPAddress);

Page 33: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Console.WriteLine(“Iniciando Suscripcion a eventos”);

Console.WriteLine(“Esperando eventos...”);

//Llamado al metodo de verificación de match, bifurcación (desarrollada en la parte superior del codigo)

callback.WatchlistMatchFoundEvent += (CallbackOnWatchlistMatchFoundEvent);

WatchSubscribeProperties ws = new WatchSubscribeProperties();

//Esperando subscripción.

var result = “”;

result = client.Subscribe(ws).Message.ToString();

Console.WriteLine(“Suscripcion creada con status [” + result + “]”);

}

}

}

Código de integración para generación de reportes.

Un segundo programa, se ejecuta de manera periódica semanal generando reportes para el

software de nómina, los datos de los usuarios son tomados desde la base de datos del sistema de

reconocimiento facial hacia una tabla del sistema de control de acceso y módulo de ERP llamado

Veasytor y los reportes son insertados en una tabla para luego ser entregados al cliente, quien

realizo un desarrollo interno para poder usar esa información y realizar el control de nómina. En

este reporte se envía información tan importante como: Identificación del usuario, hora y fecha

de ingreso, nivel de coincidencia en los match (valor entre 0 y 1), validación de usuario, y rol del

sujeto.

A continuación se muestra el código en cuestión, en azul se resalta la personalización del código

tomando como referencia el mostrado en el developer guide.

private void CallbackOnWatchlistsFullUpdateCompletedEvent(object info)

{

var result = info as ErrorInfo;

var str = string.Format( “[{0}] - WatchlistsFullUpdateCompleted event raised: {1}\n”,

DateTime.Now.ToLongTimeString(), result.Message);

System.Windows.MessageBox.Show(str);

private MySqlConnection conexion =new MySqlConnection(“server= 10.20.2.27; database=veasytor;

Uid=Administrador; pwd=admin;”);

}

private void CallbackOnWatchlistMatchFoundEvent(object info)

{

var res = info as WatchService.MatchResult;

if (res != null)

{

StringBuilder sb = new StringBuilder();

Page 34: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

sb.AppendLine (“WatchlistMatchFound event raised at “);

sb.AppendLine(DateTime.Now.ToLongTimeString());

sb.AppendLine(“Subject ID: “ + res.Subject.SubjectId);

sb.AppendLine(“First Name: “ + res.Subject.FirstName);

sb.AppendLine(“Last Name: “ + res.Subject.LastName);

sb.AppendLine(“Enrolled Photo ID: “ + res.EnrolledPhotoId);

sb.AppendLine(“Score: “ + res.Score);

sb.AppendLine(“Time: “ + res.CaptureTime);

sb.AppendLine(“Watchlist Name: “ + res.Subject.Watchlist.Name);

sb.AppendLine(“Unauthorized: “ + res.Unauthorized);

System.Windows.MessageBox.Show(sb.ToString());

conexion.Open();

MySqlCommand comm = conn.CreateCommand();

comm.CommandText = “INSERT INTO ReporteVeasytor(Fecha,Id,FirstName,LastName,EnrolledPhotoId,

Score,CC,WatchlistName,Unauthorized) VALUES(‘”+DateTime.Now.ToLongTimeString()+”’,

‘”+res.Subject.SubjectId+””+,’”+res.Subject.FirstName+”’+,’”+res.Subject.LastName+””+,

‘”+res.EnrolledPhotoID+””+,’”+res.Score+””+,’”+res.CaptureTime+””+,

‘”+res.Subject.Watchlist.Name+””+,+’”res.Unauthorized+””+); //Alimentación base de datos MySql

conexion.Close();

} }

Topología de redes.

La siguiente topología muestra el diagrama de conexión entre las aplicaciones involucradas.

Ilustración 37 Topología de redes.

Veasytor Sistema de control de acceso y módulo de ERP

El sistema veasytor es un módulo del ERP encargado de permitir el acceso del personal habilitando los torniquetes,

este sistema permite llevar un control directo sobre los empleados y visitantes. Por medio de este también se extraen

los reportes que permiten evidenciar el cumplimiento de horarios de los empleados

Page 35: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 38 Software de control de acceso y generador de reportes de SOFTWARE DE

NOMINA.

Ilustración 39 Tipos de usuarios que puede registrar Veasytor

Ilustración 40 Registro de usuario nuevo.

Page 36: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Ilustración 41 Opciones de visualización de reporte.

5.4. Fase 6 Enrolamiento de los trabajadores

El enrolamiento fue llevado a cabo de la forma en cómo se explicó en la segunda etapa del

proyecto, pero en esta oportunidad se realizó con los empleados del cliente, en total se enrolaron

a 400 personas.

5.5. Fase 7 Implementación del sistema de control de acceso por reconocimiento facial

La implementación se llevó a cabo con los equipos que se había configurado durante la primera

etapa del proyecto, a continuación, se presentan las licencias y los equipos que fueron instalados:

Tabla 4 Equipos instalados y su respectivo licenciamiento.

EQUIPOS PRODUCTO DESCRIPCION FABRICANTE

HP Z640 NFW NEU UK NFW NEC UK NFW NEU UK

HP Z640 Windows server 2016 english MICROSOFT Windows server 2016 english

LOGITECH

MediaPlayer

entrada/Salida

Windows server embebbed estándar 7 MICROSOFT Windows server embebbed estándar 7

HP Z640 SQL Server (SQLSvrStd 2017 SNGL

OLP NL) MICROSOFT

SQL Server (SQLSvrStd 2017 SNGL

OLP NL)

HP Z640 SQL Server (SQLCAL 2017SNGL

OLP NL UsrCAL)1CAL MICROSOFT

SQL Server (SQLCAL 2017SNGL

OLP NL UsrCAL)1CAL

Equipos

cliente

CONTROL DE ACCESO

VEASYTOR_ SOFTWARE+8

LICENCIAS ACCESO

IT Software

CONTROL DE ACCESO

VEASYTOR_ SOFTWARE+8

LICENCIAS ACCESO

Equipos

cliente

CONTROL DE ACCESO

VEASYTOR_10ADMINISTRADOR

ES

IT Software

CONTROL DE ACCESO

VEASYTOR_10ADMINISTRADOR

ES

Page 37: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

5.6. Fase 8 Etapa de estabilización

Esta última etapa define cuales son los resultados de la solución instalada, porque la solución

debe de permanecer estable sin presentar fallas durante 1 mes, en esta etapa se mide la calidad de

la solución y se depura en caso de una falla.

6. Análisis de resultados, productos, alcances e impactos del trabajo de grado

Para comprobar el cumplimiento de la solución se verifican todas las funcionalidades propias de

los sistemas de control de acceso tales como: autorizar ingresos por horas, prohibir ingresos,

antipassback, entre otras, a continuación, se muestra el contraste entre resultados esperados y

resultados obtenidos:

Resultados esperados Resultados obtenidos

El empleado debe acercarse al módulo de

reconocimiento dispuesto en cada

torniquete, luego tendrá de 3 a 5

segundos para garantizar la captura de su

rostro, el usuario tendrá la posibilidad de

visualizar su rostro para verificar la

posición correcta en la autenticación. El

torniquete emitirá una señal para indicar

el acceso ha sido autorizado, no

autorizado.

Se logró que el sistema fuera configurado de tal

forma en que tuviera una respuesta muy rápida y

los usuarios se acercaran directamente a la

cámara para no tener perdida de video o imagen

que dificultara la identificación del personal.

Si el usuario cede el paso a otra persona,

el sistema antipassback1 impedirá el paso

de vuelta. Si el usuario intenta ingresar,

pero para el sistema detecta que él ya se

encuentra dentro o, el usuario intenta

salir, pero para el sistema él ya se

encuentra fuera, no se permitirá el paso.

Por razones de presupuesto el cliente decidió

cambiar este alcance y pasarlo a la siguiente

etapa del proyecto, la cual no está contemplada

dentro de este documento, por ende, este

objetivo fue aplazado y no fue realizado durante

esta etapa.

El empleado debe lograr ingresar o salir,

de acuerdo con el registro previo para su

autorización, tan pronto se genera la

señal del torniquete de autorizado, en

caso de permitirse el acceso se deberá

consultar con el personal designado por

parte del complejo para determinar la no

autorización de ingreso.

Este resultado se logró por la integración

realizada con el software de control de acceso,

desde el cual era posible realizar la inscripción

de nuevos usuarios y la comprobación de su

existencia al estar conectada a la base de datos

con el sistema de reconocimiento facial, por ello

se mejoró el control que se tenía sobre los

empleados que entraban, la suplantación de

personal y con ello la seguridad de la planta.

Con los registros realizados en el sistema

de acceso por reconocimiento facial, se

sabrá si un empleado cumple con su

horario adecuadamente y también la

cantidad de horas extras con precisión,

Ese resultado se logró con los reportes generados

y el desarrollo que realizo el cliente

internamente, este alcance del proyecto se debió

modificar debido a que el cliente no permitió

que se tuviera acceso a su ERP por ello se llegó

Page 38: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

para ahorrar costos en la empresa y

prevenir la suplantación de personal.

a este acuerdo

Impactos del trabajo de grado.

Desde el punto de vista de gestiona miento fue un proyecto el cual necesito de un gran trabajo en

equipo, ya que para la ejecución de este se necesitó de personal de diferentes ámbitos, además de

una buena comunicación con dentro del equipo, lo cual incentivo la mejora de habilidades como

relacionamiento y la rápida búsqueda de soluciones ante los problemas generados.

7. Evaluación y cumplimiento de los objetivos de la pasantía.

Objetivo propuesto Cumplimiento de la pasantía.

Diseñar la arquitectura de la solución

del sistema de control de acceso por

reconocimiento facial.

Se realizó un diseño que se ajustaba al espacio

físico e instalaciones del cliente, que cumplía con

los requerimientos de técnicos, estéticos y de

seguridad.

Configurar los equipos con el sistema

de reconocimiento facial de NEC que

serán instalados en la planta del

cliente.

Los equipos fueron probados y configurados

previamente antes de ser enviados a las

instalaciones del cliente, lo que aseguro su

funcionamiento óptimo y la instalación de los

programas, actualizaciones y configuraciones

necesarias para que el sistema de reconocimiento

facial no presentara fallas futuras.

Realizar pruebas sobre los equipos

configurados que serán entregados al

cliente.

Integrar el sistema de reconocimiento

facial de NEC con el sistema de

control de acceso.

Se cumplió el objetivo principal el cual consistía en

permitir el ingreso a empleados y al personal

autorizado, esto se logró por medio del uso de la

integración de los sistemas por medio de API’s que

permitían el flujo de información entre las bases de

datos de ambos sistemas.

Integrar el sistema de reconocimiento

facial de NEC con el software de

nómina del cliente.

Se cumplió el acuerdo al que se llegó con el cliente

de generar reportes sobre el ingreso y salida del

personal de la planta.

Enrolar a los trabajadores en el

sistema de reconocimiento facial.

Se lograron enrolar los trabajadores que estaban

autorizados para ingresar. El enrolamiento puede

hacer de dos maneras, presencial al frente del

acceso o por medio de una foto enviada.

Implementar la solución de

reconocimiento facial en el cliente.

La implementación del sistema fue exitosa, de tal

manera que el cliente decidió ampliar el proyecto

incluyendo más puntos de acceso.

Realizar seguimiento en la etapa de

estabilización de la solución.

Se ha realizado satisfactoriamente seguimiento al

proyecto por medio de la etapa de estabilización,

muestra de ello es el cuadro de novedades

presentado a continuación

Page 39: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

8. Novedades presentadas en la etapa de estabilización.

Problema Descripción Solución

Circuitos PLC

existentes

Los PLC existentes tenían un

comportamiento anómalo

consistente en aperturas

fantasmas y con tiempos

distintos a los programados (6

segundos). Además, no tenía

control de fin de carrera, lo que

ocasionaba bloqueos

intermedios en la apertura.

Cuando el cliente cambió los PLC

por otra tarjeta de control de pulsos,

con el tiempo controlado desde esta

tarjeta, se solucionaron los

problemas mencionados. La tarjeta

también incluía un control

automático de fin de carrera, que

evitaba accidentes por el bloqueo

abrupto durante el paso de una

persona.

Match inmediato

repetido

El match inmediato de una

misma persona estaba

ocasionando mayor tiempo de

apertura del pulso al torniquete.

Gracias a la modificación de los parámetros del software de reconocimiento facial, para evitar matches repetidos en muy poco tiempo, se evitó este problema.

Falla de solenoides Luego de una falla de energía, se quemaron los selenoides por tiempo prolongado de apertura manual. Al poner selenoides de otros lugares, el sistema tenía comportamientos extraños.

Con el reemplazo de los selenoides

dañados, por unos nuevos, el

sistema volvió a operar

normalmente.

9. Conclusiones y recomendaciones.

Esta integración impacto positivamente, ya que ha ayudado a que el cliente empiece a reducir los

sobrecostos en los que estaba incurriendo debido a la suplantación de personal, además de tener

más control sobre sus empleado y sus tiempos laborables, se evitaron problemas recurrentes

como el robo de mercancía o de extravió de la misma.

Luego de la implementación del proyecto se una cultura de cambio al educar a los empleados

para que ingresaran al sistema y no tuvieran ninguna excusa para registrarse, además de que

empezaran a cumplir sus horarios con más rigurosidad, y no se encontraran más trampas para

burlar los controles de la empresa en los empleados.

La implementación de esta pasantía me permitió hacer uso de múltiples conocimientos de

ingeniería electrónica puestos en el mundo real, a pesar de distintos contratiempos que tuvo el

proyecto, los problemas fueron solucionados desde criterios desarrollados en la ingeniería,

además de permitirme desarrollar habilidades en otras áreas como la gestión de proyectos y

optimización de recursos para una mayor ganancia de las partes involucradas.

Page 40: SISTEMA RECONOCIMIENTO FACIAL INTEGRADO A SISTEMA DE …repository.udistrital.edu.co/bitstream/11349/14811/1/... · 2019-07-26 · reconocimiento facial de NEC. La creación de una

Bibliografía:

Bhele, Mankar V. H. (2012).A Review Paper on Face Recognition Techniques.

https://www.researchgate.net.https://www.researchgate.net/publication/270583005_A_Review_P

aper_on_Face_Recognition_Techniques

Suzuky, T, Toshinori, H, Imaoka, H. (2005). Advances in Face Detection and Recognition

Technologies.https://pdfs.semanticscholar.org.https://pdfs.semanticscholar.org/80e8/15ff6e3b51

74fe142c89f925b2e425ea74e9.pdf

NEC Corporation. (2016).NeoFace Watch Real-Time Site Survey Approach.

NEC Coporation.(2018).NeoFace Watch Installation Guide.

NEC Corportation.(2017). NEOFACE WATCH Developer Guide.