ESCUELA CIENCIAS DE LA COMPUTACIÓN MODALIDAD ABIERTA Y A DISTANCIA
“
Identificación de patrones utilizando modelos ocultos de
Markov
”
Trabajo de fin de carrera previo a la obtención del título de ingeniero en informática.
Autores:
Balcázar Jumbo, Paola de Jesús Godoy Maza, Viviana Marisol
Director:
Ing. Gómez Alvarado Héctor Fernando
i Ingeniero
Héctor Gómez DIRECTOR DE TESIS
CERTIFICA:
Que el presente trabajo de tesis ha sido objeto de un minucioso análisis, construcción, revisión, corrección, cumpliendo de tal forma con los requisitos exigidos para este tipo de proyecto. Por lo que autoriza su presentación, sustentación y defensa.
……… Ing. Héctor Gómez
ii
CESIÓN DE DERECHOS
Paola de Jesús Balcázar Jumbo y Viviana Marisol Godoy Maza, declaramos conocer y aceptar las disposiciones del Art. 67 del Estatuto Orgánico de la Universidad Técnica Particular de Loja, que en su parte pertinente, dice textualmente: For a parte del patri o io de la Universidad la propiedad intelectual, de investigación, trabajos científicos o técnicos y tesis de Grado que se realicen a través o con el apoyo financiero, académico o institucional
operativo de la U iversidad .
iii
AUTORÍA:
Todos los conceptos, opiniones e ideas realizadas en el presente proyecto, son de exclusividad de las autoras.
iv
Con mi amor incondicional y mucho cariño dedico este trabajo a quienes me dan la inspiración para vivir.
A Dios porque ilumina mis pensamientos y me dio la oportunidad de vivir; a mis Padres que son los guías de mi camino y por toda la ayuda brindada tanto en el aspecto económico como moral; a mi hija mi mayor orgullo y motivación para seguir adelante; a mis hermanos y sobrinos que durante todo este tiempo me brindaron todo su apoyo moral. A todos ellos muchas gracias.
PAOLA
Con todo mi amor dedico este trabajo a Dios supremo padre quién es el autor y la luz de mi vida.
A mi esposo e hijos que con su amor y cariño me impulsaron a seguir luchando por mi ideal; a mis queridos padres y hermanos, quiénes hicieron posible mi superación brindándome su apoyo incondicional día a día en lo económico y moral; gracias a ellos he logrado culminar con éxito mi carrera universitaria ya que sin su apoyo no lo hubiera logrado.
v
AGRADECIMIENTO
Agradezco de todo corazón a Dios por haberme regalado ese don maravilloso que es la vida, a mis padres, hermanos y amigos, y a todas las personas que me brindaron su apoyo y confianza para culminar con éxitos este proyecto.
A la Universidad Técnica Particular de Loja por haberme brindado la oportunidad de superarme, de manera especial a la escuela de Ciencias de la Computación y su director en la persona del Ing. Nelson Piedra, a los distinguidos catedráticos y catedráticas que con abnegación supieron inculcarme sus conocimientos a lo largo de nuestra vida universitaria, además por brindarnos su amistad y confianza.
Un agradecimiento de manera especial al Ing. Héctor Gómez por todo el apoyo y comprensión brindados a lo largo del desarrollo del Proyecto sinceramente sin su ayuda no hubiera sido posible lograrlo.
6
PROYECTO DE TESIS ... 10
INTRODUCCIÓN GENERAL ... 10
MOTIVACIÓN …. ... 10
PLANTEAMIENTO DEL PROBLEMA ... 10
METODOLOGÍA ... 10
OBJETIVOS ... 11
Objetivo General ... 11
Objetivos Específicos ... 11
HIPÓTESIS ... 11
PREGUNTAS QUE EN ESTE PROYECTO DE TESIS SE HA PLANTEADO ... 11
ESTRUCTURA DEL PROYECTO DE TESIS ... 11
CAPÍTULO I: 1. MARCO TEÓRICO ... 13
1.1 Cadenas de Markov ... 13
1.1.1 Procesos Estocásticos ... 13
1.1.1.1 Variables Aleatorias ... 13
1.1.1.2 Correlación ... 13
1.1.2 Estado ... 13
1.1.3 Evento ... 13
1.2 Redes Bayesianas ... 15
1.3 Modelos Ocultos de Markov ... 17
1.4 Medidas de Seguridad en Supermercados ... 23
1.4.1 Videovigilancia ... 23
1.5 Comportamiento Humano ... 23
CAPÍTULO II: 2. OBTENCIÓN DE PATRONES POR MEDIO DE MODELOS OCULTOS DE MARKOV ... 25
2.1 Comportamiento Normal (Compra) ... 25
2.1.1 Descripción ... 25
7
2. Diseño de la solución ... 29
3. Pruebas de los estados efectuados por las personas ... 31
2.2 Comportamiento sospechoso (hurto) ... 41
2.2.1 Descripción ... 41
2.2.2 Diagrama de flujo ... 42
2.2.3 Experimentación ... 43
1. Análisis de vídeos de comportamiento sospechoso con MOM ... 43
2. Diseño de la solución ... 44
3. Pruebas de los estados efectuados por las personas ... 47
Discusión del tema ... 56
Conclusiones ... 57
Recomendaciones ... 58
Trabajos futuros ... 59
Bibliografía ……….. ... 60
Enlaces ... 62
[image:9.595.105.542.113.444.2]ÍNDICE DE TABLAS TABLA N°1 ... 28
TABLA N°2 ... 44
ÍNDICE DE GRÁFICOS Figura N°1 (a) ... 14
Figura N°1 (b) ... 14
Figura N°2 (a) ... 15
Figura N°2 (b) ... 16
Figura N°2 (c) ... 16
Figura N°3 ... 32
Figura N°4 ... 33
Figura N°5 ... 34
8
Figura N°9 ... 38
Figura N°10 ... 39
Figura N°11 ... 40
Figura N°12 ... 47
Figura N°13 ... 48
Figura N°14 ... 49
Figura N°15 ... 50
Figura N°16 ... 51
Figura N°17 ... 52
Figura N°18 ... 53
[image:10.595.117.541.113.409.2]Figura N°19 ... 54
Figura N°20 ... 55
ÍNDICE DE ANEXOS ANEXO N°1 ... 67
ANEXO N°2 ... 70
ANEXO N°3 ... 73
ANEXO N°4 ... 74
ANEXO N°5 ... 78
ANEXO N°6 ... 80
ANEXO N°7 ... 82
ANEXO N°8 ... 84
ANEXO N°9 ... 91
ANEXO N°10 ... 163
[image:10.595.118.539.434.647.2]9
RESUMEN
La presente tesis tiene como objetivo el Inferir patrones que representen el comportamiento sospechoso de las personas en supermercados a través de Modelos Ocultos de Markov.
Por medio de la observación directa de videos de compras y de hurto se procedió a etiquetar manualmente los estados camina, parado, observa cámaras de seguridad, toma producto; sumando el total de estas acciones (estados) y partir de estos datos obtener los porcentajes y promedio de las mismas.
Para la identificación de dichos patrones se procedió a realizar el diseño de la solución, el cuál consiste en utilizar los porcentajes del aparecimiento de veces de los estados en los videos y obtener de estos datos probabilidades.
De acuerdo a estos resultados que sirven como entradas en el entorno de Matlab se procedió a realizar las simulaciones correspondientes para cada estado y conocer el número de alertas y/o alarmas que se generan dado el aparecimiento de un conjunto de estados.
10
PROYECTO DE TESIS
INTRODUCCIÓN GENERAL
En este capítulo se describe la motivación, planteamiento del problema, metodología, objetivos generales y específicos, hipótesis, preguntas que en el proyecto de tesis se han planteado, y la estructura del proyecto de tesis.
MOTIVACIÓN
Cuando las personas compran en un supermercado registran patrones de comportamiento, otras cuya acción es el hurto tienen patrones similares. Es importante, para la persona que vigila, clasificar el comportamiento de unas y otras. En esta investigación, se clasificó el comportamiento y se aplicó una técnica que emite alertas y/o alarmas según sea su tipo.
PLANTEAMIENTO DEL PROBLEMA
En la actualidad un gran número de supermercados han reforzado los sistemas de seguridad con cámaras de vídeo. Por medio de este sistema, una persona vigilante
detecta anomalías. Pero, el cansancio distrae a la persona y no le permite estar atento.
En esta tesis, se propone aplicar los Modelos Ocultos de Markov (MOM), con el fin de inferir la secuencia de estados relacionados con actitudes anómalas (actitudes sospechosas). Creemos que la propuesta en producción ayudaría a una persona vigilante.
METODOLOGÍA
En este proyecto de tesis, se utilizó la experimentación como metodología:
Observación de los videos recolectados de hurto y compras en supermercados,
con el fin de obtener la secuencia de las actitudes (estados) registradas por las personas en los videos (registro).
Etiquetado manual de los estados.
11
Elaboración de un cuadro comparativo de las probabilidades de transición para el
comportamiento normal y sospechoso.
Experimentación en el entorno de simulación Matlab.
OBJETIVOS
Objetivo General:
Inferir patrones que representen el comportamiento sospechoso de las personas en
supermercados a través de Modelos Ocultos de Markov.
Objetivos específicos:
1. Etiquetar estados en videos de hurto y compra.
1 Identificar a los estados ocultos (alerta y alarma).
2 Clasificar los estados por registro y tiempo de duración.
HIPÓTESIS
Los Modelos Ocultos de Markov aplicados a un proceso de compra en supermercados, infieren patrones sospechosos.
PREGUNTAS QUE ESTE PROYECTO DE TESIS SE HA PLANTEADO:
En un proceso de compra en supermercados:
1 ¿Cómo se puede diferenciar a una persona con comportamiento normal de una persona considerada sospechosa?
2 ¿En qué momento deben generarse las alertas y alarmas?
ESTRUCTURA DEL PROYECTO DE TESIS:
PROYECTO DE TESIS: Introducción general, motivación, planteamiento del problema, metodología, objetivos, hipótesis, preguntas, estructura del proyecto de tesis.
12 CAPÍTULO II: O te ió de pat o es po edio de Modelos O ultos de Ma ko , e este apítulo se lasifi ó los ideos o te idos o el fi de ide tifi a pat o es ue ep ese te a las pe so as e ese ia ua do o ete o o o hu to.
13
CAPÍTULO I
1. MARCO TEÓRICO
En este capítulo se incluyen conceptos y ejemplos de algunos modelos probabilísticos tales como: Cadenas de Markov, Redes Bayesianas y Modelos Ocultos de Markov (MOM). Además, temas relacionados al trabajo de investigación (Seguridad en los supermercados, videovigilancia y comportamiento humano) serán descritos en los siguientes párrafos.
1.1 Cadenas de Markov
“egú “heldo , U a ade a de Ma ko es u odelo ue ep ese ta u proceso que cambia de estado en el transcurso del tiempo. De cambio en cambio, se dice que ocurre una transición. La cadena de Markov corresponde a una clase específica de p o eso esto ásti o e el á ito de odelos p o a ilísti os .
En otras palabras, las cadenas de Markov son una serie de eventos que cambian de estado a lo largo del tiempo, en la cual la probabilidad de que ocurra un evento futuro depende del evento inmediato anterior.
1.1.1 Procesos estocásticos: Es una sucesión de variables aleatorias (estocásticas) que evolucionan en función de otra variable, generalmente el tiempo. Cada una de las variables aleatorias del proceso tiene su propia función de distribución de probabilidad y entre ellas, pueden estar correlacionadas o no". http://diccionario.sensagent.com
1.1.1.1 Variables aleatorias: También se le llama variable de azar o variable estocástica, y significa cantidad que puede tomar varios valores imprevistos . http://www.monografias.com
1.1.1.2 Correlación: Indica la fuerza y la dirección de una relación lineal entre dos variables aleatorias . http://www.definicionabc.com
1.1.2 Estado: En el lenguaje cotidiano, al igual que en la física y en la química, un estado es una situación en la que se encuentra algo o alguien. En estos casos, la palabra refiere a un mododeser o de estar . http://definicion.de
14 Ejemplo:
En relación al dominio en estudio, en la Figura Nº 1 se muestran algunos de los estados que registra un individuo cuando ingresa a un supermercado.
F i g u r a N ° 1 M o d e l o d e M a r k o v q u e r
Figura N°1 Modelo de Markov que representa el cambio de estados en la actitud de un individuo al ingresar a un supermercado. (a) Estados normales, (b) Estados sospechosos.
La Figura N°1 representa las acciones realizadas por una persona que ingresa a un supermercado. Las transiciones entre estados (de caminando a parado y luego a caminando) permite que el proceso sea representado por medio de cadenas de Markov. En la Figura N°1(a) la persona compra el producto mientras que en la Figura N°1(b) la persona registra estados sospechosos que pueden producir una alerta. El nivel de alerta a generarse dependerá del número de veces que repita la persona los estados y además del resultado obtenido al calcular la probabilidad de transición entre los estados registrados. Por ejemplo, Si una persona esta parada y luego camina, observa cámaras de seguridad, está parada y luego observa cámaras de seguridad, etc., está repitiendo los estados y al mismo tiempo los estados que registra empiezan a generar una probabilidad de alerta.
Individuo
Caminando
Actitud Normal Caminando Parado
Parado
Caminando
Ingresa al supermercado
Observa producto (s)
Toma producto (s)
Se dirige a caja
Cancela producto (s)
Sale del supermercado
Individuo Actitud Sospechosa
Caminando
Caminando Parado
Ingresa al supermercado
Observa producto (s)
Toma producto (s)
Sale del supermercado
Se desplaza dentro del supermercado
Observa cámaras
Devuelve producto (s) a)
[image:16.595.121.514.196.525.2]15
1.2 Redes bayesianas
“egú López et al. U a ed a esia a es u tipo o eto de g afo ue se denomina grafo dirigido acíclico (GDA). Es dirigido porque los enlaces entre los vértices de la estructura están orientados. Por ejemplo, si (A, B) E pero (B, A) E, se diría que ha u e la e di igido o a o e t e los odos lo ep ese ta e os o o A → B. Po su parte, es acíclico porque no pueden existir ciclos o bucles en el grafo; esto es, que si empezamos a recorrer un camino dirigido desde un nodo nunca podríamos regresar al pu to de pa tida. U a o e ió tipo A → B i di a depe de ia di e ta e t e las variables .
Entonces definimos que redes bayesianas son grafos acíclicos dirigidos, toman ese nombre porque no tienen ciclos de repetición, esto significa que para cada vértice no hay un camino que empiece y termine en el mismo lugar, además los enlaces entre los vértices representan relaciones de dependencia directa.
[image:17.595.127.477.431.589.2]Ejemplo: Figura Nº2 a) Se muestra por medio de Grafos acíclicos dirigidos el proceso de evolución del comportamiento de un individuo para determinar el estado normal o sospechoso.
Figura Nº 2 (a) Comportamiento Normal Individuo Observa
producto
Toma producto Ingresa al
supermerca do
Verifica Precio
Camina a caja Sale Cancela
16 2
[image:18.595.123.499.210.621.2]3
Figura Nº 2 (b) Comportamiento Sospechoso
Figura Nº 2 (c) Descripción detallada de los estados efectuados por los usuarios dentro de un supermercado.
Figura Nº2 (a, b, c) Grafos acíclicos dirigidos del proceso de evolución del comportamiento de un individuo cuando ingresa a un supermercado.
En la Figura Nº 2 se utilizó grafos acíclicos dirigidos para representar los estados efectuados por las personas dentro de un supermercado, de acuerdo a estos estados y al comportamiento de los mismos, se separa los estados que diferencian a los compradores normales de los posibles sospechosos.
Observa cámaras Camina por el Ingresa al supermerca do Individuo Observa producto
Sale Devuelve producto
Toma producto
Individuo Ingresa al supermercad Camina por el Busca producto Observa producto Verifica Toma producto Busca otro producto(s) Toma nuevo Verifica Precio Lleva producto(s) a caja Devuelve algún producto(s) Cancela
17
1.3 Modelos ocultos de Markov
“egú Mo ga , Los Modelos O ultos de Ma ko des i e u p o eso de probabilidad el cual produce una secuencia de eventos o símbolos observables. Son llamados ocultos porque hay un proceso de probabilidad subyacente que no es o se a le, pe o afe ta la se ue ia de e e tos o se ados .
Otros autores tales como Xuang, Acero, y Hon defi e a Los odelos o ultos de Markov como una extensión de las cadenas de Markov, en donde la salida del sistema puede tomar varios valores para cada estado, con lo que nace una nueva variable aleatoria (discreta o continua), conocida como vector de variables aleatorias. Este tipo de sistemas se implanta como un doble proceso estocástico: el de las transiciones entre estados el de la salida pa a ada estado .
En un modelo oculto de Markov, el estado no es visible directamente para el observador, pero sí lo son las variables influenciadas por el estado. Los parámetros ocultos se los determina a partir de los parámetros observados.
En esta investigación, se utilizará la propuesta de Morgan (Morgan, 1991) debido a que es la más cercana a los objetivos.
Ejemplo de utilización:
I agí ese ue tie e u a igo ue i e lejos y con quien habla a diario por teléfono acerca de lo que hizo durante el día. A su amigo le interesan tres actividades: caminar por la plaza, salir de compras y limpiar su departamento. Lo que su amigo hace depende exclusivamente del estado del tiempo en ese día. Usted no tiene información clara acerca del estado del tiempo donde su amigo vive, pero conoce tendencias generales. Basándose en lo que su amigo le dice lo que hizo en el día, usted intenta adivinar el estado del tiempo.
Supóngase que el estado del tiempo se comporta como una cadena de Markov discreta. Existen dos estados, "Lluvioso" y "Soleado", pero usted no los puede observar directamente, es decir, están ocultos. Existe también una cierta posibilidad de que su amigo haga una de sus actividades cada día, dependiendo del estado del tiempo: "caminar", "comprar" o "limpiar". Dado que su amigo le cuenta sus actividades del día, esas son las observaciones. El sistema completo es un Modelo Oculto de Markov.
18 estados = ('Lluvioso', 'Soleado')
observaciones = ('caminar', 'comprar', 'limpiar')
probabilidad_inicial = {'Lluvioso': 0.6, 'Soleado': 0.4}
probabilidad_transicion = {
'Lluvioso' : {'Lluvioso': 0.7, 'Soleado': 0.3}, 'Soleado' : {'Lluvioso': 0.4, 'Soleado': 0.6}, }
probabilidad_emision = {
'Lluvioso' : {'caminar': 0.1, 'comprar': 0.4, 'limpiar': 0.5}, 'Soleado' : {'caminar': 0.6, 'comprar': 0.3, 'limpiar': 0.1}, }
En esta porción de código se tiene:
La probabilidad_inicial: que representa el estado en el que usted cree que se encuentra el MOM la primera vez que su amigo lo llama (es decir, sabe que es un poco más probable que esté lluvioso). La distribución de probabilidades que se usó aquí no es la de equilibrio, que es (dadas las probabilidades de transición) aproximadamente {'Lluvioso': 0.571, 'Soleado': 0.429}.
La probabilidad_transicion: representa el cambio del tiempo en la cadena de Markov por detrás del modelo. En este ejemplo, hay un 30% de probabilidad de que mañana esté soleado si hoy llovió.
La probabilidad_emision: representa con cuanta probabilidad su amigo realiza una actividad determinada cada día. Si llueve, hay un 50% de probabilidad de que esté limpiando su departamento; si hay sol, hay un 60% de probabilidades de que haya salido a a i a . http://advancedtech.wordpress.com/2008/08/09/modelos-ocultos-de-harkov/
Ejemplo de los estados registrados por un individuo dentro de un supermercado:
19 Asignacion de variables a los estados:
estados = ('Normal', 'Sospechoso')
observaciones = ('comprar', 'observar', 'verificar')
probabilidad_inicial = {'Normal': 0.6, 'Sopechoso': 0.4}
probabilidad_transicion = {
'Normal' : {'Normal': 0.7, 'Sospechoso': 0.3},
'Sospechoso' : {'Normal': 0.4, 'Sospechoso': 0.6},
}
probabilidad_emision = {
'Normal': {'comprar: 0.8, 'observar': 0.15, 'verificar': 0.05},
'Sospechoso': {'comprar': 0.1, 'observar': 0.7, 'verificar': 0.2},
}
En este algoritmo se tiene:
La probabilidad_inicial: representa el estado en la que se cree se encuentra el MOM la primera vez que el individuo ingresa al supermercado (es decir, se sabe que es un poco más probable que realice compras). Las probabilidades que se usó fueron aproximadas {'Normal': 0.6, 'Sospechoso': 0.4}.
La probabilidad_transicion: representa el cambio del tiempo en la cadena de Markov por detrás del modelo. En este ejemplo, hay un 30% de probabilidad de que pase de un estado sospechoso a normal.
La probabilidad_emision: representa con cuanta probabilidad un individuo realiza una actividad determinada. Si su estado es normal la probabilidad es del 80% para que realice compras a diferencia del estado sospechoso que es del 70% si observa cámaras de seguridad.
20 Los datos de la secuencia de entrenamiento son una probabilidad de experimento es decir podrían variar; las entrevistas realizadas fueron utilizadas para representar las redes bayesianas como se muestra en el Anexo Nº 4, las cuales ayudaron a obtener datos reales del porque las personas acuden a los supermercados, personas que actúan de manera inapropiada y cuando se pueden generar alertas.
En el ejemplo de la predicción climatológica que se asemeja a la propuesta. Utiliza la fórmula:
P= probabilidad
q= evento
qn= número de evento
Dependiendo del evento conocido buscamos la ocurrencia del siguiente evento basándonos en factores que se van generando.
a) Para analizar la secuencia de estados es decir la probabilidad de que ocurra un evento dada la ocurrencia anterior de otros se utiliza la siguiente fórmula:
∏
La probabilidad (P) de que ocurra un número de eventos (qn) dependerá de la sucesión de los eventos anteriores (q), en razón de que estos siempre están condicionados por el primer evento de ocurrencia.
b) Para estudiar la ocurrencia de alertas y alarmas (estados ocultos para HMM)
∏
La Probabilidad (P) de que un evento (q) ocurra dependerá de la sucesión de observaciones (X1) el estado que generará alertas y alarmas para confirmar comportamiento sospechoso y normal es (bq) debido a los cambios en los eventos.
Los Modelos Ocultos de Markov han sido utilizados en aplicaciones de diferentes campos tales como: videovigilancia, reconocimiento de imágenes, comportamiento humano etc. A continuación se hace una breve descripción de las mismas:
21 acceso a inmuebles de los usuarios para que en lugar de llaves u otros objetos solo desplazaría su dedo y podrán entrar. Escuela Técnica Superior de Ingeniería [ETSI] (s.f.).
- Sistemas de reconocimiento de acciones humanas basado en modelos probabilísticos de espacios de estados; este trabajo es un sistema capaz de reconocer automáticamente acciones humanas capturadas mediante una video cámara integra un amplio abanico de aplicaciones video vigilancia, sistemas interactivos, anotación e indexación de videos, contextualiza los principales tipos de modelos gráficos probabilísticos dirigidos y no dirigidos en el ámbito del reconocimiento de acciones humanas, examinando sus ventajas y desventajas frente al problema.Universidad de Granada [UG] (2009).
- Sistema de Video Vigilancia para el Sistema de Transporte Colectivo (STC) este trabajo tiene como objetivo fortalecer y extender las funciones y capacidades del personal de Vigilancia y/o corporaciones policiales, con la finalidad de incrementar la seguridad para usuarios, empleados, material rodante en instalaciones. (Bases para la licitación pública internacional. Nº 30102003_006/007.Red de comunicaciones y Servicios http://www.metro.df.gob.mx/imagenes/licitaciones/bases006_07anexo2.pdf)
- Empleo de sistemas biométricos para el reconocimiento de personas en aeropuerto. Este trabajo fue desarrollado en el 2005, probando un prototipo de un sistema de verificación facial con imágenes extraídas de las cámaras de video vigilancia del aeropuerto de Barajas, el sistema incluye digitalización de las imágenes, localización y recorte de las caras en escena, verificación de sujetos y obtención de resultados. Instituto Universitario de Investigación sobre seguridad interior [IUI] (s.f.).
- Vigilancia Inteligente: Modelado de Entornos Reales e Interpretación de conductas para la seguridad este trabajo trata de la elaboración de un estado de arte sobre los sistemas de video vigilancia que incluye desde los primeros sistemas rudimentarios hasta los últimos y más avanzados reducir la dependencia humana en los sistemas de vigilancia en lo posible. Universidad de Castilla la Mancha [UCM] (2008).
22 - Diseño y Desarrollo de un Sistema de Reconocimiento de caras el objetivo de este proyecto es realizar el diseño y la implementación de un prototipo de un sistema de reconocimiento de caras humanas, en concreto, un sistema bidimensional; es decir dada una base de datos de fotografías de personas y una fotografía de prueba, encontrar a la persona de la fotografía de prueba entre las que hay en la base de datos, dado como resultado las cinco personas de la base de datos que más se parecen a la persona fotografía de prueba. Universidad Carlos III de Madrid [UCM] (2009).
- Soft computing and non-parametric techniques for effective video surveillance systems. Esta tesis se centra en las aplicaciones con fines de seguridad en lugares públicos (videovigilancia), utilizando Modelos ocultos de markov para modelar probabilidades de emisión.
Proponiendo varios objetivos interconectados para el diseño de un sistema de ıdeo igilancia cuyo funcionamiento es pensado para un amplio rango de condiciones.
Primeramente propone una métrica de evaluación del detector y sistema de seguimiento basada en una mínima referencia. Dicha técnica es una respuesta a la demanda de ajuste de forma rápida y fácil del sistema adecuándose a distintos entornos.
También propone una técnica de optimización basada en Estrategias Evolutivas y la combinación de funciones de idoneidad en varios pasos. El objetivo es obtener los parámetros de ajuste del detector y el sistema de seguimiento adecuados para el mejor funcionamiento en una amplia gama de situaciones posibles Finalmente, propone la construcción de un clasificador basado en técnicas no paramétricas que pudieran modelar la distribución de datos de entrada independientemente de la fuente de generación de dichos datos. Se escogen actividades detectables a corto plazo que siguen un patrón de tiempo que puede ser fácilmente modelado mediante HMMs. La propuesta consiste en una modificación del algoritmo de Baum-Welch con el fin de modelar las probabilidades de emisión del HMM mediante una técnica no paramétrica basada en estimación de densidad con kernels (KDE). UCM (2008).
23
1.4 Medidas de seguridad en supermercados
Basándose en [Anexo Nº 2], se sugiere tomar en cuenta las siguientes medidas:
Guardias de seguridad dentro y fuera del supermercado
Cámaras de seguridad
Sistemas de videovigilancia
1.4.1Videovigilancia
Actualmente en nuestra sociedad el uso de cámaras que capturan imágenes para reforzar la vigilancia es una práctica muy amplia, con el fin de garantizar la seguridad de los bienes y personas en entornos empresariales, ya sean públicos o privados, permitiendo la captación y grabación de imágenes, para conseguir disminuir el alto índice de delincuencia.
Los sistemas de vigilancia poco a poco han ido evolucionando, pero aún están limitados en su proceso de captación de imágenes el cual se fundamenta en la detección de movimiento en escenas estáticas, los mismos que están formados por una o más cámaras de seguridad y necesitan de la manipulación de operadores humanos. Es por ello que la videovigilancia tradicional ya no es tan factible debido a que en la actualidad los sectores demandan de mayor seguridad.
En la actualidad los estudios en el campo de la videovigilancia se han extendido notablemente, con el fin de mejorar estos sistemas de seguridad, centrándose en el desarrollo de algoritmos los cuales sean capaces de detectar automáticamente patrones que interpreten movimientos de personas, con una mínima intervención humana.
Los sistemas de videovigilancia que capturan imágenes y actúan en tiempo real, deben analizar las secuencias de actividades de las personas, identificando comportamientos normales y activando alarmas cuando se produce un comportamiento sospechoso.
1.5 Comportamiento humano
Un ser racional puede comportarse de distintas maneras dependiendo del entorno en que se encuentra.
25
CAPÍTULO II
2. OBTENCIÓN DE PATRONES POR MEDIO DE MODELOS OCULTOS DE MARKOV
En este capítulo detallamos los pasos a seguir en la obtención de estados; los mismos que se les realizará un análisis y se representan en patrones estos sirven como entradas para la Simulación en Matlab.
2.1 Comportamiento normal (compra)
2.1.1 Descripción
En la fase de la observación se realizó lo siguiente:
1) Para obtener la base de datos de estados de comportamiento normal (BCN), se escogió de entre 98 vídeos de comportamiento normal, 70 vídeos lo más representativos posibles. Una vez escogidos los 70 vídeos, se etiquetó manualmente los estados que se han registrado en cada vídeo.
2) En BCN se anotó el tiempo que dura cada estado y el aparecimiento de las transiciones. De acuerdo a estos se determinó los estados que más repiten.
3) Cada estado etiquetado se identificó mediante la observación directa a través de los videos.
4) Para cada BCN, se realizó la sumatoria de los tiempos que dura cada estado para obtener un promedio de duración de los mismos. El valor promedio de duración de un estado sirve de base para comparar la duración de los estados con nuevos estados registrados en un nuevo vídeo. Por ejemplo, si en un nuevo vídeo se tiene que el estado parada duro 10 segundos y el promedio del estado parada para BCN es 4 segundos, esta duración probablemente genere una alerta. La lógica de este paso responde a que la repetición de un estado está directamente atado al tiempo que dura el mismo.
26
2.1.2 Diagrama de flujo
Si
No
Si
No Si
No
Inicio
Proceso comportamiento
normal
Ingresa al supermercado.
Camina por el supermercado
Parada
Devuelve producto
K = 0
Continúa compran Toma producto
K=k+1
K=k-1
27
No
Si
No
En el diagrama de flujo del proceso de comportamiento normal muestra que k es una variable numérica que tiene valor inicial 0 y sirve para guardar la cantidad de productos que ha tomado una persona al hacer sus compras. Ingresa al supermercado camina, se para si toma un producto k irá en aumento si lo devuelve k se disminuye hasta llegar a pagar en caja o salir del supermercado sin comprar.
2.1.3 Experimentación
1. Análisis de vídeos de comportamiento normal con Modelos Ocultos de Markov
Para este análisis, se tomó en cuenta de cada video, el número de veces y el tiempo que cada persona se ha mantenido parada, caminando, observando cámaras de seguridad y tomando productos. Los resultados se pueden observar en la Tabla Nº 1 de donde se obtuvo el detalle del etiquetado manual.
1) Total de repetición de veces de los estados observados en 70 videos:
a. Repetición de veces
La persona está parada 368 veces La persona camina 539 veces
La persona toma producto 184 veces
La persona observa cámaras de seguridad 8 veces
Número total de acciones realizadas por las personas en los videos = 1099 acciones.
Camina paga en caja
Camina y sale del
Fin k>0
28
b. Porcentajes
(Número estado*100)/número total acciones
En los 70 videos la persona está parada 33.48% En los 70 videos la persona camina 49.04%
En los 70 videos la persona toma producto 16.74%
En los 70 videos la persona observa cámaras de seguridad 0.73% Total= 100%
2) Total de tiempo en segundos de los estados observados en 70 videos:
a. Tiempo en segundos
La persona está parada 1717seg. ; La persona camina 2493seg. ; La persona toma producto 655seg. ;
La persona observa cámaras de seguridad 17seg.
Número total de segundos realizados por las personas en los videos =4882seg.
b. Porcentajes
(Número seg.*100)/número total seg.
En los 70 videos la persona está parada 35.17% En los 70 videos la persona camina 51.07%
En los 70 videos la persona toma productos 13.42%
En los 70 videos la persona observa cámaras de seguridad 0.35% Total= 100%
Resultados de los estados en aparecimiento de veces y el tiempo:
Tabla N°1
Estado Porcentaje de aparecimiento de los
estados en los videos
Porcentajes de tiempo de los estados en los videos
[image:30.595.125.538.516.583.2]Parado 33.48% 35.17% Caminando 49.04% 51.07% Observa cámaras de seguridad 0.73% 0.35% Toma producto 16.74% 13.42% Tabla N°1 Porcentajes de 4 estados tanto en repetición de veces y tiempo
29
2. Diseño de la solución
Para este diseño solo tomamos en cuenta los porcentajes de la repetición de veces (aparecimientos) de los estados en los videos. Teniendo estos datos como probabilidad inicial y a partir de los mismos obtener la probabilidad de transición y la probabilidad de emisión.
1) Simulación de generación de alertas y alarmas usando los Modelos Ocultos de Markov
Para realizar las simulaciones se procedió a activar cada estado utilizando MOM. Los resultados son los siguientes.
estados = 'pa ada', ' a i a', o se a á a as de segu idad , to a p odu to
observaciones = ('alerta', 'alarma')
probabilidad_inicial = {'parada': . , ' a i a': . , o se a á a as de segu idad : . , to a u p odu to : . :}
Repetición de sucesos:
Probabilidad de transición de la persona cuando está parada.
Parada = 33.48
Camina = 49.04/33.48=1.46+33.48=34.94 Observa cámaras de seguridad = 0.73/33.48=0.02
Toma producto = 16.74 /33.48=0.5
Dado el estado parada se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando camina.
Parada = 33.48/49.04=0.68 Camina = 49.04
Observa cámaras de seguridad = 0.73/49.04=0.014 Toma producto = 16.74 /49.04=0.34
30 sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando observa cámaras de seguridad.
Parada = 33.48/0.73=45.86+0.73=46.59 Camina = 49.04/0.73=67.17+0.73=67.90 Observa cámaras de seguridad = 0.73
Toma producto = 16.74 /0.73=22.93+0.73=23.66
Dado el estado observa cámaras de seguridad se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando toma producto.
Parada = 33.48/16.74=2+16.74=18.74 Camina = 49.04/16.74=2.92+16.74=19.67 Observa cámaras = 0.73/16.74=0.04
Toma producto = 16.74
Dado el estado toma producto se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
probabilidad_transicion = {
'pa ado' : {'pa ado': . , ' a i a do': . , o se a do á a as de segu idad : . , to au p odu to : . : },
'caminando' : {'parado': . , ' a i a do': . , o se a do á a as de segu idad : . , to a u p odu to : . : },
'observando cámaras de seguridad': {'parado': 0.4659, 'caminando': 0.6790, o se a do á a as de segu idad : . , to a u p odu to : . :},
'toma u p odu to': {'pa ado': . , ' a i a do': . , o se a do ámaras de segu idad : . , to au p odu to : . :},
}
probabilidad_emision = {
'parado' : {'alarma': 0.3, 'alerta': 0.7}, 'caminando' : {'alarma': 0.3, 'alerta': 0.7},
'observando cámaras de seguridad' : {'alarma': 0.2, 'alerta': 0.8}, 'toma un producto' : {'alarma': 0.4, 'alerta': 0.6},
31
2. Pruebas de los estados efectuados por las personas
Con el resultado del conjunto de probabilidades descritas anteriormente, se procedió a realizar las simulaciones correspondientes para cada estado etiquetado de los vídeos. El objetivo es conocer el número de alertas y/o alarmas que se generan dado el aparecimiento de un conjunto de estados.
HMM en MATLAB
El programa comercial MATLAB en su paquete (toolbox) de estadística, ofrece las funciones básicas para construir, simular y analizar HMM discretos. Mediante la creación de redes neuronales con las herramientas: JNNS (Java Neural Network Simulator),
JHMMSim (Java Hidden HarkovModel Simulator).
Esta herramienta desarrollada por Relex, es una herramienta flexible, de gran alcance para modelar sistemas complejos, Relex Markov proporciona una muy buena capacidad de análisis de las cadenas ocultas de Markov en una forma fácil de usar. Relex Markov proporciona un rápido, análisis de fiabilidad de sistemas complejos con los fallos por causa común, la degradación, inducidos o fracasos dependen de múltiples componentes operativos, y otros que dependen de secuencia de eventos.
32 Activando el estado la persona está parada dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[1 0 0 0 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura Nº 3 Gráfico de generación de alertas y alarmas activando el estado la persona está parada.
En la Figura N°3 se genera el estado de alerta 2 veces cuando la persona está parada, y 3 veces cuando la persona camina.
[image:34.595.87.508.305.604.2]33 Activando el estado la persona está parada y observando cámaras de seguridad dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[1 0 1 0 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:35.595.87.510.316.633.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura Nº 4 Gráfico de generación de alertas y alarmas activando el estado la persona está parada y observando cámaras de seguridad.
En la Figura N°4 se genera el estado de alerta una vez cuando la persona está parada, una vez cuando la persona observa cámaras de seguridad y una vez cuando la persona camina.
34 Activando el estado la persona está parada y toma producto dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[1 0 0 1 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°5 Gráfico de generación de alertas y alarmas activando el estado la persona está parada y toma producto.
En la Figura N°5 se genera el estado de alerta una vez cuando la persona está parada, 5 veces cuando la persona camina.
[image:36.595.87.515.343.651.2]35 Activando el estado la persona camina dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 1 0 0 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°6 Gráfico de generación de alertas y alarmas activando el estado la persona camina.
En la Figura N°6 se genera el estado de alerta 2 veces cuando la persona está parada y 4 veces cuando la persona camina.
[image:37.595.86.517.318.631.2]36 Activando el estado la persona camina y observa cámaras de seguridad dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 1 1 0 ] A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:38.595.87.517.299.613.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°7 Gráfico de generación de alertas y alarmas activando el estado la persona camina y observa cámaras de seguridad.
En la Figura N°7 se genera el estado de alerta 2 veces cuando la persona está parada y 2 veces cuando la persona camina.
37 Activando el estado la persona camina y toma producto dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 1 0 1]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N° 8 Gráfico de generación de alertas y alarmas activando el estado la persona camina y toma producto.
En la Figura N°8 se genera el estado de alerta una vez cuando la persona está parada y 5 veces cuando la persona camina.
[image:39.595.90.512.331.629.2]38 Activando el estado la persona observa cámaras dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 0 1 0 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°9 Gráfico de generación de alertas y alarmas activando el estado la persona observa cámaras.
En la Figura N°9 se genera el estado de alerta 4 veces cuando la persona camina, y 2 veces cuando la persona está parada.
[image:40.595.86.517.330.645.2]39 Activando el estado la persona observa cámaras y toma producto dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 0 1 1 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°10 Gráfico de generación de alertas y alarmas activando el estado la persona observa cámaras y toma producto.
En la Figura N°10 se genera el estado de alerta 2 veces cuando la persona observa cámaras, y una vez cuando la persona está parada, y 3 veces cuando la persona camina.
[image:41.595.86.518.317.635.2]40 Activando el estado la persona toma producto dentro de un supermercado cuando realiza sus compras; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[0 0 0 1 ]
A_w = [0.3348 0.3494 0.02 0.5; 0.68 0.4904 0.014 0.34; 0.4659 0.6790 0.73 0.2366; 0.1874 0.1967 0.04 0.1674]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:42.595.88.513.316.631.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°11 Gráfico de generación de alertas y alarmas activando el estado la persona toma producto.
En la figura N°11 se genera el estado de alerta 2 veces cuando la persona está parada, y 3 veces cuando la persona camina.
41
2.2 Comportamiento sospechoso (hurto)
2.2.1 Descripción
En la fase de la observación se realizó lo siguiente:
1) Para obtener la base de datos de estados de comportamiento sospechoso BCS, se escogió de entre 694 vídeos de comportamiento sospechoso, 70 vídeos lo más representativos posibles. Una vez escogidos los 70 vídeos, se etiqueto manualmente los estados que se han registrado en cada vídeo.
2) En BCS se anotó el tiempo que dura cada estado y el aparecimiento de las transiciones. De acuerdo a estos se determinó los estados que más repiten.
3) Cada estado etiquetado se identificó mediante la observación directa a través de los videos.
4) Para cada BCS, se realizó la sumatoria de los tiempos que dura cada estado para obtener un promedio de duración de los mismos. El valor promedio de duración de un estado sirve de base para comparar la duración de los estados con nuevos estados registrados en un nuevo vídeo. Por ejemplo, si en un nuevo vídeo se tiene que el estado parada duro 10 segundos y el promedio del estado parada para BCN es 4 segundos, esta duración probablemente genere una alerta. La lógica de este paso responde a que la repetición de un estado está directamente atado al tiempo que dura el mismo.
42
2.2.2 Diagrama de flujo
si
no
El presenta diagrama de flujo muestra el comportamiento sospechoso de una persona al ingresar a un supermercado la misma que camina por el supermercado observa las cámaras de seguridad, se para, toma el producto, camina y sale del supermercado.
Proceso robo o hurto
Ingresa al supermercado.
Camina por el supermercado
Toma producto
Parada
Fin Camina y sale
del supermercado
Inicio
Observa cámaras de
43
2.2.3 Experimentación
1. Análisis de vídeos en caso de hurto con Modelos Ocultos de Markov
Para el este análisis, se tomó en cuenta en cada video, el número de veces y el tiempo que cada persona se ha mantenido parada, caminando, observando cámaras de seguridad y tomando productos. Los resultados se pueden observar en la Tabla Nº 2. de donde se obtuvo el detalle del etiquetado manual.
1) Total de repetición de veces de los estados observados en los 70 videos en caso de hurto:
a. Repetición de veces
En los 70 videos la persona está parada = 589 veces. En los 70 videos la persona camina = 392 veces.
En los 70 videos la persona observa cámaras de seguridad = 93 veces. En los 70 videos la persona toma producto = 124 veces.
Número total de acciones realizadas por las personas en los videos = 1198 acciones.
b. Porcentajes
(Número estado*100)/número acciones
En los 70 videos la persona está parada = 49.2% En los 70 videos la persona camina = 32.7%
En los 70 videos la persona observa cámaras de seguridad = 7.7% En los 70 videos la persona toma producto = 10.4%
Total=100%
2) Total de tiempo en segundos de los estados observados en los 70 videos en caso de hurto:
a. Tiempo en segundos
En los 70 videos la persona está parada= 2347seg. ; 39:07 En los 70 videos la persona camina = 1219seg. ; 20:19
En los 70 videos la persona observa cámaras de seguridad= 123seg. ; 2:03 En los 70 videos la persona toma producto= 219seg. ; 3:39
Número total de segundos = 3908seg. ; 65:08
b. Porcentajes
(Número estado*100)/número total acciones
En los 70 videos la persona está parada = 60.06% En los 70 videos la persona camina = 31.19%
En los 70 videos la persona observa cámaras de seguridad =3.15 % En los 70 videos la persona toma producto= 5.60%
44
Resultados de los estados en aparecimiento de veces y el tiempo
Tabla N°2
Estado Porcentaje de aparecimiento de los
estados en los videos
Porcentajes de tiempo de los estados en los videos
Parado 49.2% 60.06% Caminando 32.7% 31.19% Observa cámaras de seguridad 7.7% 3.15 % Toma producto 10.4% 5.60% Tabla N°2 Porcentajes de 4 estados tanto en repetición de veces y tiempo
Dado los resultados del total de repetición de veces observados en 70 videos: se elaboró la tabla Nº 2 la cual muestra los resultados obtenidos de las actividades que realizan las personas cuando cometen hurto o robo, detallando de cada estado el porcentaje de aparecimiento de los estados en los videos y el porcentajes de tiempo de los mismos.
2. Diseño de la solución
Para este diseño solo tomamos en cuenta los porcentajes de la repetición de veces (aparecimientos) de los estados en los videos. Teniendo estos datos como probabilidad inicial y a partir de los mismos obtener la probabilidad de transición y la probabilidad de emisión.
1) Simulación de generación de alertas y alarmas usando los Modelos ocultos de Markov
Para realizar las simulaciones se procedió a activar cada estado utilizando MOM. Los resultados son los siguientes.
Se obtiene 4 estados que efectúan las personas
estados = 'pa ada', ' a i a', o se a á a as de segu idad , toma u p odu to
observaciones = ('alerta', 'alarma')
p o a ilidad_i i ial = {'pa ada': . , ' a i a': . , o se a á a as de segu idad : . , toma u p odu to : . }
Repetición de sucesos:
Probabilidad de transición de la persona cuando esta parada.
Parada = 49.2
45 Dado el estado parada se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando camina.
Parada = 49.2/32.7=1.50+32.7=34.2 Camina = 32.7
Observa cámaras de seguridad = 7.7/32.7=0.23 Toma producto = 10.4/32.7=0.31
Dado el estado camina se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando observa cámaras de seguridad
Parada = 49.2/7.7=6.38+7.7=14.08 Camina = 32.7/7.7=4.24+7.7=11.9 Observa cámaras de seguridad = 7.7
Toma producto = 10.4/7.7=1.35+7.7=9.05
Dado el estado observa cámaras de seguridad se procedió a obtener los resultados para los demás tomando en cuenta que si la probabilidad de los demás estados es mayor al estado activado se sumara el resultado de la división entre el estado activo y los demás estados más la probabilidad del estado activo.
Probabilidad de transición de la persona cuando toma producto
Parada = 49.2/10.4=4.73+10.4=15.13 Camina = 32.7/10.4=3.14+10.4=13.54 Observa cámaras de seguridad = 7.7/10.4=0.74
Toma producto = 10.4
46 p o a ilidad_t a si io = {'pa ado' : {'pa ada': . , ' a i a': . , o se a á a as de segu idad : . , toma producto: . },
' a i a do' : {'pa ada': . , ' a i a': . , o se a á a as de segu idad : . , toma p odu to : . },
'o se a do á a as de segu idad' : {'pa ada': . , ' a i a': . , o se a á a as de segu idad : . , toma p odu to:0.905 },
}
'toma u p odu to' : {'pa ada': . , ' a i a': . , o se a á a as de segu idad : . , toma p odu to : . },
probabilidad_emision = {
'parada' : {'alarma': 0.3, 'alerta': 0.7}, 'camina' : {'alarma': 0.3, 'alerta': 0.7},
'observa cámaras de seguridad' : {'alarma': 0.2, 'alerta': 0.8}, 'toma producto' : {'alarma': 0.4, 'alerta': 0.6},
47
2) Pruebas de los estados efectuados por las personas
Dado el conjunto de probabilidades descritas anteriormente, se procedió a realizar las simulaciones correspondientes para cada estado etiquetado los vídeos. El objetivo es conocer el número de alertas o alarmas que se generan dado el aparecimiento de un conjunto de estados.
Activando el estado la persona está parada dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 1 0 0 0 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:49.595.88.513.398.677.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°12 Gráfico de generación de alertas y alarmas activando el estado la persona está parada.
En la Figura N°12 se genera el estado de alerta 2 veces cuando la persona está parada, 4 veces cuando la persona camina y una vez cuando la persona observa cámaras.
48 Activando el estado la persona está parada y observa cámaras de seguridad dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 1 0 1 0 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:50.595.89.518.316.629.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°13 Gráfico de generación de alertas y alarmas activando el estado la persona está parada y observa cámaras de seguridad.
En la Figura N°13 se genera el estado de alerta una vez cuando la persona está parada y 4 veces cuando la persona observa cámaras de seguridad.
49 Activando el estado la persona está parada y toma producto dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 1 0 0 1 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:51.595.88.515.317.620.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°14 Gráfico de generación de alertas y alarmas activando el estado la persona está parada y toma producto.
En la Figura N°14 se genera el estado de alerta una vez cuando la persona está parada, 4 veces cuando la persona camina y 2 veces cuando la persona observa cámaras de seguridad.
50 Activando el estado la persona camina dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 1 0 0 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°15 Gráfico de generación de alertas y alarmas activando el estado la persona camina.
En la Figura N°15 se genera el estado de alerta 2 veces cuando la persona está parada, 3 veces cuando la persona camina y una vez cuando la persona observa cámaras de seguridad.
[image:52.595.88.515.317.620.2]51 Activando el estado la persona camina y observa cámaras de seguridad dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 1 1 0 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°16 Gráfico de generación de alertas y alarmas activando el estado la persona camina y observa cámaras de seguridad.
En la Figura N°16 se genera el estado de alerta una vez cuando la persona camina y 4 veces cuando la persona observa cámaras de seguridad.
[image:53.595.88.515.317.625.2]52 Activando el estado la persona camina y toma producto dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 1 0 1 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°17 Gráfico de generación de alertas y alarmas activando el estado la persona camina y toma producto.
En la Figura N°17 se genera el estado de alerta 4 veces cuando la persona camina y 4 veces cuando la persona observa cámaras de seguridad.
[image:54.595.88.515.317.623.2]53 Activando el estado la persona observa cámaras dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 0 1 0 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°18 Gráfico de generación de alertas y alarmas activando el estado la persona observa cámaras de seguridad.
En la Figura N°18 se genera el estado de alerta 2 veces cuando la persona observa cámaras de seguridad, 2 veces cuando la persona está parada, y 3 veces cuando la persona camina.
[image:55.595.89.512.316.628.2]54 Activando el estado la persona observa cámaras y toma producto dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 0 1 1 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°19 Gráfico de generación de alertas y alarmas activando el estado la persona observa cámaras de seguridad y toma producto.
En la Figura N°19 se genera el estado de alerta 5 veces cuando la persona observa cámaras de seguridad.
[image:56.595.88.512.315.630.2]55 Activando el estado la persona toma producto dentro de un supermercado cuando existe hurto; de acuerdo a sus movimientos podremos reconocer cuando se produce una alerta y cuando una alarma.
Pi_w=[ 0 0 0 1 ]
A_w = [0.492 0.66 0.15 0.21; 0.342 0.327 0.23 0.31; 0.1408 0.1194 0.77 0.905; 0.1513 0.1354 0.74 0.104]
B_w = [0.3 0.7; 0.3 0.7; 0.2 0.8; 0.4 0.6; 1 0]
[image:57.595.86.515.315.639.2][data,hidden] = sample_dhmm(Pi_w,A_w,B_w,1,10) plotseq_w(data,hidden)
Figura N°20 Gráfico de generación de alertas y alarmas activando el estado la persona toma producto.
En la Figura N°20 se genera el estado de alerta 2 veces cuando la persona observa cámaras de seguridad, 2 veces cuando la persona está parada, y 3 veces cuando la persona camina.
56
Discusión del tema:
En la presente tesis se utilizó la metodología experimental; partiendo de la obtención de datos a través de la observación de videos, etiquetado manual de los estados, y normalización de datos obtenidos tanto de comportamiento normal como de comportamiento sospechoso.
Para realizar la investigación se seleccionó de un número determinado de videos tanto de compras y hurto en supermercados; los eventos de ocurrencia relevantes tomando en cuenta acciones predeterminadas como son: caminar, pararse, observar cámaras de seguridad y tomar producto.
Cabe recalcar que para los videos tomamos en cuenta ventanas temporales de 5seg. Para poder etiquetar las actividades efectuadas por las personas es decir: se etiquetaba el número de veces que la persona en el video caminaba, se paraba, observaba cámaras de seguridad o tomaba un producto, sumando el total de acciones y sacando el promedio de las mismas realizamos una comparación con los videos de hurto arrojando como resultado que las personas permanecen el mayor tiempo paradas.
Además se tomó como principio tres modelos probabilísticos para el desarrollo de la tesis tales como: Cadenas de Markov, Redes Bayesianas, y los Modelos Ocultos de Markov; después de un breve análisis a cada uno de estos modelos, se utilizó el más acertado que es Modelos Ocultos de Markov, ya que a través de él se identificó los patrones que representan el comportamiento sospechoso de las personas en los supermercados, y a partir de los estados observables se obtuvo los estados ocultos de alerta y alarma. (Estos estados se generan cuando el sistema identifica los patrones de comportamiento sospechoso).
Para la identificación de dichos patrones se siguió una serie de pasos mediante los cuales se obtuvo los estados; a los mismos que se les realizó un análisis y se representan en patrones, de acuerdo a estos resultados que sirven como entradas en el entorno de simulación Matlab. El cual nos ayudaba a predecir la ocurrencia de los estados ocultos (alerta y alarma) e identificar la ocurrencia de una alarma y el tiempo en que se desarrolló.
57
Conclusiones:
A través de los 140 videos observados se concluyó que generalmente las personas realizan una serie de actividades que las denominamos estados, entre las más comunes son: caminar, pararse, observar cámaras de seguridad, tomar producto.
En los videos de compras observados, se obtuvo como resultado que las personas permanecen caminando un 49.04%, este porcentaje es mayor a los porcentajes de los otros estados.
En las diferentes pruebas que se realizó utilizando Matlab se observa que cuando las personas realizan sus compras el estado que genera mayor número de alertas es cuando las personas caminan, y el estado que genera mayor número de alarmas es cuando las personas se mantienen paradas.
Al realizar las pruebas en Matlab se generan mayor número de alertas que de alarmas. Las personas mantienen una similitud de eventos lo que hace obtener patrones (camina, parado, observa cámaras de seguridad, toma producto) que representan el comportamiento de las mismas; proporcionado el número de repeticiones de los patrones nos ayudarán a diferenciar entre compradores y posibles sospechosos.
A través de los modelos ocultos de Markov se pudo identificar patrones sospechosos y estados ocultos (alerta y alarma).
En los 70 videos observados en que las personas cometen hurto se determinó que estas permanecen paradas un 49.2%, siendo el porcentaje de este estado mayor a los porcentajes de los otros estados observados.
Cuando las personas cometen hurto los estados que generan mayor número de alertas es cuando observan cámaras de seguridad; y el estado que genera mayor número de alarmas es cuando las personas caminan. Esto quiere decir que el sistema es satisfactorio