Sie sind auf Seite 1von 11

“Año del Buen Servicio Ciudadano”

UNIVERSIDAD PRIVADA ANTENOR ORREGO

Software en reconocimiento facial a través de redes


Neuronales

Curso : Sistemas Inteligentes

Docente : Ing. Heber Abanto Cabrera

Carrera : Ing. De Computación y Sistemas

Alumno : Alvarado Huaman, Maicol


Perez Matos, Styven

Ciclo : IX

Trujillo – Perú
2017
Índice
INTRODUCCION....................................................................................................................... 3
1. Planteamiento y Análisis del Problema: ............................................................................ 4
1.1. Análisis de la realidad: ................................................................................................. 4
1.2. Oportunidad de Negocio: .............................................................................................. 4
2. Fundamento Teórico: .......................................................................................................... 5
2.1. Arquitectura de Software: ............................................................................................. 5
2.2. Redes Neuronales:......................................................................................................... 6
2.3. Sistemas Expertos:......................................................................................................... 8
3. Objetivo del Proyecto: ........................................................................................................ 9
3.1. Objetivo General ........................................................................................................... 9
3.2. Objetivo Especifico ....................................................................................................... 9
4. Alcance: ................................................................................................................................ 9
5. Lenguaje de Programación: ............................................................................................. 10
6. Etapas del proyecto: .......................................................................................................... 10
7. Fuentes de datos para el entrenamiento: ............................Error! Bookmark not defined.
INTRODUCCION

En la actualidad, Trujillo forma parte uno los lugares con mayor nivel de robos
generados en la ciudad. Incluso los centros comerciales o lugares públicos donde la
concurrencia de personas es mucho mayor. Sin embargo esto no impide a estos
“tendederos” cometer su delito y sobre todo sacar el o los productos que quieren. Ante
esta situación, los centros comerciales han debido capacitar al personal para identificar a
estos sujetos cuyo objetivo es evitar que realicen dicha acción en las zonas de fácil hurto
y de igual manera al personal de seguridad que se encuentra dentro del local. Para así
enfrentar este problema.

Las empresas invierten mucho en Cámara de Vigilancia, dispositivo sensor de


movimiento. Spiders, Piochas entro otras herramientas que son asociadas al producto
para que pueda ser detectado en las puertas de ingreso de clientes y allí detectar al
delincuente. Pero a su vez estas personas buscan la forma de evadir y/o retirar esos
dispositivos y así poder llevarlo sin problema.

En el presente documento se analiza la realidad de la seguridad en las empresas, así


como los dispositivos que se usan actualmente para el apoyo en el trabajo de las
resguardo de imágenes. A partir de este análisis, se identifica la problemática
existente, las características requeridas para una solución de software para esta
situación, y técnicas que la soportan. Posteriormente, se presenta el Software de
Reconocimiento facial como una propuesta de solución que tiene como objetivo apoyar
a las empresas en la identificación de “tendederos”, “cambiadores de productos” que
han actuado o que pueden actuar en actos delictivos.

A continuación, se detallan los requerimientos funcionales y no funcionales que el


producto software debe cubrir, la gestión del proyecto, el diseño de la solución y el
detalle de las pruebas realizadas sobre el mismo.
1. Planteamiento y Análisis del Problema:

En el Perú, el crecimiento del comercio o tiendas retail ha crecido en el país


durante los últimos años así mismo también los “tendederos” cuyo propósito es
hurtar los productos de los centro comerciales. Y en Trujillo cuyos centros
comerciales como Mall Plaza, Real Plaza, El Virrey, Zona Franca entre otros
centros. En este capítulo se hace estudio de la realidad para enfocar el problema
y dar una propuesta de solución.

1.1. Análisis de la realidad:


Como es de conocimiento popular, Trujillo es un foco latente de
problemas de seguridad. Según una encuesta desarrollada por el Instituto
de Defensa Legal (IDL)

Fuente: Inst. De Defensa Legal

A pesar de las estrategias tan bien definidas con las que cuenta ciertas
empresas, el modo de intervención a un cliente sospechoso es bastante
rudimentario.

1.2. Oportunidad de Negocio:

El ámbito de la seguridad ciudadana es un territorio prácticamente


desolado cuando se respecta a la tecnología, excepto por algunos países.
Poco esfuerzo de desarrollo de software es dedicado a este nicho de
negocio y mucho menos en el Perú. Inglaterra es un gran referente en
cuanto al uso de tecnologías orientadas a la vigilancia se refiere. La
aplicación de ciencia y tecnología en sus labores como herramientas para
mejorar el desempeño de su trabajo ha permitido que se desarrollen
múltiples aplicaciones de software, por ejemplo: sistemas de
reconocimiento facial, sistemas de reconocimiento de audio y video,
sistemas de reconocimiento de placas, entre otras.

Recientemente, en el Perú, se ha lanzado una unidad móvil de monitoreo,


denominada ViaPK. Esta unidad adquirida a inicios del 2008 por la
Municipalidad del Callao, cuenta con un equipo capaz de capturar la
imagen de un automóvil, reconocer la placa y confrontar la placa con la
base de datos de la Policía Nacional del Perú para verificar si el vehículo
presenta alguna irregularidad. Además puede detectar el exceso de
velocidad para tomar las acciones correspondientes.

Actualmente, la Policía Nacional del Perú cuenta con una serie de cámaras
distribuidas en algunos puntos estratégicos de la ciudad; sin embargo, se
puede anticipar un incremento en el número de estos equipos debido a su
gran utilidad en labores de seguridad y la reducción continua de su precio.
Un sistema capaz de orquestar la información capturada por estas cámaras,
además de algunos datos clave para la identificación de vehículos
sospechosos, puede llegar a ser una valiosa herramienta de apoyo a las
fuerzas del orden.

2. Fundamento Teórico:

Una serie de conceptos respaldan el desarrollo de un proyecto de esta naturaleza. En


este capítulo se hace una breve descripción de los términos más importantes que
ayudarán a tener un mejor entendimiento de este documento y del proyecto en
general.

2.1. Arquitectura de Software:


La arquitectura es la base fundamental de cualquier estructura. Gracias
al desarrollo de esta disciplina, el mundo ha visto majestuosas
construcciones que el hombre cada día desea superar, desde las
Pirámides de Egipto hasta las Torres Petronas en Kuala Lumpur.
Asimismo, su contraparte en el mundo del desarrollo de software es la
Arquitectura de Software, disciplina que también busca desarrollar
soluciones robustas y flexibles a la vez, de acuerdo al entorno de un
determinado problema y los requerimientos del negocio.

Tan importante es el desarrollo de una buena arquitectura de software


que la Organización Internacional para la Estandarización (ISO) ha
definido una serie de atributos de calidad que guían el desarrollo del
software, entre los que se encuentran los siguientes:
 Portabilidad
 Usabilidad
 Funcionalidad
 Confiabilidad
 Mantenibilidad
 Eficiencia
2.2.Redes Neuronales:
2.2.1. La neurona Artificial
un circuito eléctrico que realizaba la suma ponderada de las
diferentes señales binarias y produce una salida binaria según el
resultado de la suma con relación al umbral.
Una buena representación de lo que es una neurona artificial se
basa en los parámetros mostrados a continuación [Kas98].

 Entradas: x1, x2,. . ., xn. A cada entrada se encuentra atado un


peso: w1, w2,. . ., wn; una entrada a la neurona, llamada bias,
tiene un valor constante de 1 y usualmente es representado como
una entrada independiente, pero por simplicidad tratada como una
entrada normal con valor constante.

 Una función de excitación f, que por lo general calcula la


sumatoria de cada entrada por el peso que tiene asignado u= ().

 Una función de activación s que calcula el nivel de activación de


una neurona a = s(u).

 Una función de transferencia que calcula el valor que debe ser


enviado por la salida (el axón) de la neurona o = g(a); por lo
general la salida se supone igual al nivel de activación de la
neurona, o = a.

Las funciones de activación más usadas que se muestran en la figura


son:

1. La función de umbral escalón unitario. Si el valor de la sumatoria


u de la neurona está por encima del umbral, la neurona se vuelve
excitadora (valor de activación de 1); sino se vuelve inhibidora
(valor de activación de 0).
2. La función de umbral lineal. El valor de activación incrementa
linealmente con el valor u, pero cuando alcanza un umbral la
salida se satura (con un valor de 1); pero existen diferentes
variable de esta función dependiendo del rango que deba tomar la
salida de la neurona. (Figura 2.17 [b-1] and [b-2]).
3. La función sigmoide. Es una función de transformación no lineal
en forma de S que se caracteriza por lo siguiente:

A. Tener sus valores restringidos entre dos puntos, por ejemplo,


[0, 1], [- 1, 1].

B. El valor de s(u) nunca decrece a pesar de que u aumente.

C. Continua y suave, por lo tanto diferenciable en cualquier


punto del dominio. Diferentes tipos de funciones sinusoidales
son utilizadas en la práctica. La mayoría de ellas son la
función logística: a = 1/(1 + e-u). En forma mas general la
función logística se puede escribir como: a = 1/(1 + e-c·u),
con c como constante.

D. Existen alternativas a esta función como lo son la logística


bipolar:

h(u)= (1 - e-u)/(1 + e-u) = 2g(u) -1; esta función tiene un


rango entre [- 1, 1] y la tangente hiperbólica: tanh(u) = (eu -
e-u)/(eu + e-u).

2.2.2. Red neuronal artificial:


Por lo general una red neuronal artificial esta modelada
computacionalmente por cuatro parámetros:

1. Tipo de neuronas (también conocidos como nodos)


2. La organización de las conexiones entre neuronas
3. Algoritmo de entrenamiento
4. Algoritmo de memoria

En una red neuronal, la forma en la que las neuronas estén


conectadas define su topología, las neuronas pueden estar
totalmente conectadas, donde cada neurona esta conectada a cada
una de las otras neuronas o parcialmente conectada, por ejemplo,
cuando solo se aceptan conexiones entre neuronas en diferentes
capas o en general que no todas las conexiones posibles entre
neuronas estén conectadas [Kas98].

Dependiendo de la presencia o ausencia de retroalimentación en


la red neuronal, se distinguen dos tipos de arquitecturas:
 Arquitectura Feedforward. No existen conexiones de la
salida de la red neuronal a la entrada; este tipo de redes no
guardan memoria de su estado anterior, el estado siguiente sólo
depende de las nuevas entradas, las redes del tipo perceptrón
son un ejemplo.
 Arquitectura Feedback. Existen conexiones de la salida de la
red neuronal a la entrada; este tipo de redes guardan memoria
de su estado anterior, el estado siguiente no sólo depende de
las nuevas entradas sino también del estado anterior, las redes
Hopfield son un ejemplo de este tipo de redes.

La habilidad de aprender de una neurona es alcanzada a través de


la utilización de un algoritmo de aprendizaje. Los algoritmos de
entrenamiento pueden ser en su mayoría clasificados en los
siguientes tres grupos:

 Supervisado: Para el entrenamiento supervisado se tiene tanto


los vectores de entrada como de salida El entrenamiento es
logrado cuando la red asocia a cada uno de los vectores de
entrada da una salida deseada.
 No supervisado: Solo se le es suministrada a la red el vector
de entrada, la red neuronal aprende algunas características de
todo el conjunto de entrada que se le presenta.
 Aprendizaje con refuerzo: Algunas veces llamado
aprendizaje de recompensa y castigo, es una combinación de
los dos paradigmas anteriores; esta basado en presentar un
vector de entrada x a la red neuronal y mirando en vector de
salida calculado por red. Si se considera “bueno”, se da una
“recompensa” en el sentido de que se refuerzan las conexiones,
de otra manera, la red es “castigada”, las conexiones que “se
consideran no apropiadas” son inhibidas. De esta manera el
aprendizaje con refuerzo es un aprendizaje con un crítico y no
con un maestro.

2.3. Sistemas Expertos:


Son sistemas basados en conocimiento. Se plasma la experiencia de un
experto humano en forma de reglas que serán almacenadas en una base de
conocimientos, para que se puedan obtener conclusiones a partir de
algunos hechos que serán los inputs de un motor de inferencia. El motor
de inferencia es la parte del sistema experto que se encarga de
procesar la información (base de hechos) en base a las reglas especificadas
y la experiencia (base de conocimiento). El objetivo primordial de estas
aplicaciones es simular el análisis y conclusiones que tendría un ser
humano ducho en un área específica del saber ante una consulta.

Además, los sistemas expertos cuentan con algunas características muy


especiales.
Entre los muchos beneficios que brindan dichos sistemas está la
capacidad de poder brindar resultados aproximados que solo serán
aceptados si cumplen con un nivel de confianza definido. Como no
siempre se pueden obtener resultados 100% certeros, gracias al nivel de
confianza especificado, se le puede dar un rango de error al programa para
considerar acertadas o no sus conclusiones. Otra característica con la que
puede contar un sistema experto, es la capacidad de explicar su conclusión,
para tener una idea más clara que siguió para obtener sus resultados.

3. Objetivo del Proyecto:


3.1. Objetivo General
Desarrollar un software con la capacidad para resolver problemas de
detección facial que son muy difíciles de capturar para la empresa.
“Homecenter Peruanos S.A.” de la ciudad de Trujillo aplicado en la
seguridad de sus productos.

3.2. Objetivo Especifico


o Capturar y evaluar los rostros de personas con actitud sospechosa que
ingresan al establecimiento “Homecenter Peruanos S.A.”
o Procesar los datos de los clientes en tiempo real con información de
requisitorias suministradas por las fuerzas policiales
o Emitir las alertas de detección de vehículos sospechosos

4. Alcance:
Dentro del alcance del proyecto se considera el servicio implementación de
datos, servicio de reconocimiento de patrones vehiculares y modelo de
mantenimiento

 En resumen los subsistemas y las funciones que serán implementadas


son los siguientes:
 Reconocimiento de patrones de comportamiento
 Definición de un vehículo sospechoso: el sistema se
encargara de analizar el comportamiento de cada vehículo
que ingresara a la cochera por lo que ha estado
frecuentando, entre otros criterios
 Gestión
 Servidor
Manejo de un repositorio de datos: el acceso a la base
de datos se encontrara centralizado para tener un
mayor control sobre el acceso a la información

 Mantenimiento
Mantenimiento de la información del sistema y sus
usuarios: el sistema permitirá hacer mantenimiento a
ciertas tablas de la base de datos a las que deben tener
acceso los operadores
5. Lenguaje de Programación:

Las capas de red se implementan como matrices de estructuras. Los nodos de las
capas se implementan de la siguiente manera en un lenguaje de MATLAB

6. Etapas del proyecto:

a) Entrenamiento:
 Aplicar entrada a la red.
 Calcule la producción.
 Compare la salida resultante con la salida deseada para la entrada dada.
Esto se llama error.
 Modifique los pesos para todas las neuronas usando el error.
 Repita el proceso hasta que el error alcance un valor aceptable (p. ej.
error < 1%), lo que significa que el NN fue entrenado con éxito, o si
alcanzamos un conteo máximo de iteraciones, lo que significa que el
entrenamiento NN no fue exitoso.

b) Prueba:
 Debe haber una carpeta (entrada) que contenga imágenes de entrada [*.
bmp], [*. jpg].
 El nombre de cada imagen es el valor de destino (o de salida) para la red
(los valores de píxel de la imagen son las entradas, por supuesto).
 Relación de las imágenes en base a la comunicación directa con el
servidor.

7. Fuentes de datos para el Entrenamiento:

Para el entrenamiento se han generado 10 tipos de imágenes y variaciones de ellas,


por ejemplo en la siguiente figura se presenta dos tipos de imágenes:
8. Procedimiento de Solución:

Procedimiento de lectura de imagen:

Entrenamiento de la red neuronal: