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
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
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.
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.
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).
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).
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.
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).
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.
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.
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.
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.
➢ 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
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.
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.
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
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.
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.
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.
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.
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.
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.
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:
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.
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
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.
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.
● 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.
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:
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.
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.
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);
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();
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
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.
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
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ó
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
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.
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.