• No se han encontrado resultados

Implementación e Integración de un Conjunto de Descriptores para Realizar el Seguimiento de Personas en Entornos Urbanos

N/A
N/A
Protected

Academic year: 2017

Share "Implementación e Integración de un Conjunto de Descriptores para Realizar el Seguimiento de Personas en Entornos Urbanos"

Copied!
56
0
0

Texto completo

(1)

P

ONTIFICIA

UNIVERSIDAD

JAVERIANA

F

ACULTAD DE

I

NGENIERIA

INGENIERIAELECTRONICA

IMPLEMENTACION E INTEGRACION DE UN CONJUNTO DE

DESCRIPTORES PARA REALIZAR EL SEGUIMIENTO DE PERSONAS

EN ENTORNOS URBANOS

Autor:

Juan Camilo TAFURTHZUNIGA˜

Director: Ing. Alejandro FOREROGUZMAN

(2)

P

ONTIFICIA

UNIVERSIDAD

JAVERIANA

F

ACULTAD DE

I

NGENIERIA CARRERA DE INGENIER´IA ELECTRONICA´

R

ECTOR

M

AGN

´

IFICO

PADREJOAQU´INEMILIO S ´ANCHEZGARC´IA, S.J

D

ECANO

A

CADEMICO

´

ING. JORGELUISS ´ANCHEZT ´ELLEZ M. SC.

D

ECANO DEL

M

EDIO

U

NIVERSITARIO PADRESERGIO BERNALS.J

D

IRECTOR DEL DEPARTAMENTO ING. FRANCISCOVIVEROSMORENO

D

IRECTOR DE

C

ARRERA

ING. JAIRO ALBERTO HURTADOLONDONO˜ PH. D

D

IRECTOR DEL PROYECTO

(3)

ART´ICULO 23 DE LA RESOLUCI ´

ON N

O

. 13 DE JUNIO DE 1946

“La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado. S´olo velar´a porque no se publique nada contrario al dogma y la moral cat´olica y porque los trabajos no contengan ataques o pol´emicas puramente personales. Antes bien, que se vea en ellos el anhelo de buscar la verdad y la justicia”.

(4)
(5)

´Indice general

1. Introducci´on 8

2. Marco Te´orico 10

2.1. Histogramas de Gradientes Orientados . . . 10

2.1.1. Implementaci´on del algoritmo HOG . . . 11

2.2. Transformada Discreta Wavelet . . . 13

2.2.1. Stationary Wavelet Transform . . . 14

3. Especificaciones 15 3.1. Condiciones del Entorno . . . 16

3.2. Condiciones de Iluminaci´on . . . 16

3.3. Especificaciones de Algoritmos . . . 16

3.4. Algoritmo Espec´ıfico . . . 17

4. Desarrollos 18 4.1. Interfaz . . . 18

4.2. Integraci´on con el grupo SIRP . . . 19

4.3. Caracterizaci´on de Descriptores . . . 19

4.3.1. Histogramas de gradientes orientados . . . 19

4.3.2. Transformada Discreta Wavelet . . . 23

4.4. Filtros de Color . . . 26

4.4.1. Vector de caracter´ısticas HOG . . . 26

4.4.2. Vector de caracter´ısticas DWT . . . 29

4.5. Integraci´on de los Descriptores . . . 31

4.5.1. Mascara AND . . . 33

4.6. Clasificaci´on y Seguimiento . . . 34

4.6.1. Muestras de entrenamiento . . . 35

4.6.2. HOG . . . 36

4.6.3. DWT . . . 39

4.7. Protocolo de Pruebas . . . 39

4.7.1. Descripci´on de las Escenas . . . 40

5. An´alisis de resultados 42 5.1. Resultados HOG . . . 42

5.2. Resultados DWT . . . 47

5.3. Sobre la integraci´on . . . 51

6. Conclusiones 52 6.1. Desarrollos Futuros . . . 53

(6)

´Indice de figuras

1. Diagrama general del algoritmo HOG de Dalal y Triggs.[3] . . . 10

2. Regiones HOG. . . 12

3. Algoritmo Descriptivo. . . 17

4. Interfaz de la aplicaci´on. . . 18

5. Organizaci´on del vector de caracter´ısticas HOG. . . 21

6. Imagen de trabajo de la figura 7. . . 22

7. Vector de caracter´ısticas HOG extra´ıdo de la figura 6. . . 22

8. Video de prueba. . . 22

9. Variaci´on del valor promedio en el tiempo. . . 23

10. Im´agenes de prueba al caracterizar el vector DWT. . . 24

11. Coeficientes de la SWT de orden J sobre las imagenes de la figura 10. . . 25

12. Variaci´on del valor promedio del vector de coeficientes DWT. . . 25

13. Ventanas de prueba para caracterizaci´on de descriptores sobre im´agenes filtradas. . . 26

14. Vector de caracter´ısticas HOG sobre las ventanas de la figura 13. . . 27

15. Vector de caracter´ısticas HOG sobre las ventanas de la figura 13 sin las personas. . . 27

16. Video de prueba VAL 75 %, HUE+SAT 50 %. . . 28

17. Variaci´on del valor promedio del vector HOG en el tiempo VAL 75 %, HUE+SAT 50 %. . . . 28

18. Video de prueba SAT+VAL 75 %, HUE 50 %. . . 29

19. Variaci´on del valor promedio del vector HOG en el tiempo SAT+VAL 75 %, HUE 50 %. . . . 29

20. Video de prueba HUE+SAT+VAL 75 %. . . 30

21. Variaci´on del valor promedio del vector HOG en el tiempo HUE+SAT+VAL 75 %. . . 30

22. Variaci´on del valor promedio del vector DWT en el tiempo VAL 75 %, SAT+HUE 50 %. . . 31

23. Variaci´on del valor promedio del vector DWT en el tiempo SAT+VAL 75 %, HUE 50 %. . . 31

24. Variaci´on del valor promedio del vector DWT en el tiempo HUE+SAT+VAL 75 %. . . 32

25. Im´agenes Detalle. . . 33

26. Producto punto entre los dos vectores. . . 33

27. Producto punto entre los dos vectores en un rango determinado. . . 34

28. Producto AND entre los dos vectores en un rango determinado. . . 34

29. Base de datos propia de peatones. . . 35

30. Base de datos INRIA de peatones. . . 36

31. Base de datos MIT de peatones. . . 36

32. Descripci´on de las escenas del trabajo. . . 41

33. Resultados de la clasificaci´on para el video 1. . . 42

34. Gr´aficas de pruebas realizadas a la Escena 1 con HOG. . . 44

35. Error cuadr´atico medio para la detecci´on con cuadricula. . . 44

36. Error cuadr´atico medio para la detecci´on con maquina de soporte vectorial. . . 46

37. Resultado de una ventana donde paso un veh´ıculo. . . 48

38. Persona pasando bajo el ´arbol en la escena 5. . . 50

(7)

´Indice de tablas

1. Resumen de resultados de HOG para el video 1 de la escena 1. . . 42

2. Resumen de resultados de HOG para el video 2 de la escena 1. . . 43

3. Resumen de resultados de HOG para el video 3 de la escena 1. . . 43

4. Resumen de resultados de HOG para el video 4 de la escena 1. . . 43

5. Resumen de resultados HOG de la escena 2 . . . 45

6. Resumen de resultados HOG de la escena 2 . . . 45

7. Resumen de resultados HOG de la escena 5 . . . 45

8. Resumen de resultados HOG de la escena 7 . . . 45

9. Resumen de resultados del an´alisis para los promedios DWT en la escena 1. . . 47

10. Resumen de resultados del an´alisis para los promedios DWT en la escena 3. . . 47

11. Resumen de resultados del an´alisis para los promedios DWT en la escena 3. . . 47

12. Resumen de resultados del an´alisis para los promedios DWT en la escena 5. . . 48

13. Resumen de resultados del an´alisis para los promedios DWT en la escena 5. . . 48

14. Resumen de resultados del an´alisis para los promedios DWT en la escena 6. . . 49

15. Resumen de resultados del an´alisis para los promedios DWT en la escena 6. . . 49

16. Resumen de resultados del an´alisis para los promedios DWT en la escena 7. . . 49

17. Resumen de resultados del an´alisis para los promedios DWT en la escena 9. . . 50

(8)

1 Introducci´

on

La visi´on por computador est´a posicionada como un tema de investigaci´on fuerte dentro de la comunidad de ingenieros y programadores, dado que pretende dar soluci´on a problemas importantes mediante la aplicaci´on de m´etodos vers´atiles de procesamiento de im´agenes. Dentro de esta ´area se comprende el problema de seguimiento tanto de personas como de veh´ıculos, este problema que se entiende como la identificaci´on del mismo objeto en pantalla en un periodo de tiempo, del cual se puedan registrar sus coordenadas por cada intervalo de tiempo analizado. El problema de seguimiento de personas, sin embargo, es m´as complicado que el seguimiento de veh´ıculos dado el comportamiento err´atico de las personas en un espacio determinado, mientras que con un veh´ıculo existen rutas establecidas por donde este puede transitar, la persona no tiene este tipo de limitaciones. Se han presentado diferentes soluciones al problema de seguimiento de personas a lo largo de los a˜nos y en el presente una soluci´on globalmente aceptada es el uso de descriptores para identificar a la persona en el tiempo. Un descriptor, que es el resultado de un procesamiento de cada frame de video, convierte los datos matem´aticamente complejos de una imagen representados en una dimensi´on alta (colores, canales, dimensiones) a una menor dimensi´on con la cual es m´as f´acil trabajar dado que en general es menos susceptible a los cambios independientes de cada uno de los elementos de la imagen original, como iluminaci´on y color. En el presente documento se expondr´a un m´etodo de integraci´on de tres algoritmos de descriptores que funcionan bien como soluci´on al problema de seguimiento de personas, y se aplicaran en entornos urbanos con condiciones de iluminaci´on variante. Estos algoritmos son histogramas de gradientes orientados (HOG), filtros de color lineales y transformada discreta wavelet (DWT).

Las soluciones existentes que utilizan algoritmos relacionados para dar soluci´on al problema de segui-miento de personas se desarrollaron con condiciones espec´ıficas y con objetivos demogr´aficos espec´ıficos, implementadas en su gran mayor´ıa para problemas de seguridad. La gran variedad de par´ametros que existen en una escena particular obligan a la modificaci´on de cualquier algoritmo no desarrollado para la misma. Un ejemplo de una soluci´on para un problema de seguimiento es el desarrollo que se realiz´o para el proyecto

ADVISOR, en el que se fusiono un algoritmo de seguimiento de personas desarrollado por la universidad de

Leeds y Reading, llamado”Reading People Tracker”[14]. Cuando se logra implementar e integrar exitosa-mente en un problema de seguridad, tal como los que se presentan en la industria automotriz o de vigilancia aumenta significativamente en el rendimiento y efectividad de la soluci´on actual que se tenga del problema, lo que incide positivamente en la tasa de criminalidad y mortalidad del ´area donde se aplique. La mejora es muy notoria en desarrollos como una grabaci´on de CCTV con m´etodos automatizados de identificaci´on y segmentaci´on de objetos dentro de la imagen[2] como en la identificaci´on de peatones en veh´ıculos en movimiento mediante clasificadores[6]. El presente trabajo busca identificar diferentes formas posibles para realizar los an´alisis mencionados, combinando algoritmos convencionales con algunos que son han sido muy utilizados en el ´area. Este an´alisis arrojara resultados que indican su posible efectividad en combinaci´on con sistemas de aprendizaje no supervisado. Adem´as, se estudiara la efectividad de los algoritmos aplicados sobre diferentes condiciones de iluminaci´on y enfoque para obtener informaci´on m´as completa de c´omo se deber´ıan comportar al ser implementados en productos finales.

Objetivos

(9)

CAP´ITULO 1. INTRODUCCI ´ON

Eval´uar la viabilidad de utilizar el trabajo desarrollado por el grupo SIRP como base, con el fin de reemplazar su bloque de seguimiento con el trabajo actual.

Implementar tres algoritmos, los cuales son histogramas de gradientes orientados(HOG), filtros de color lineales, y por ´ultimo la transformada discreta wavelet(Discrete Wavelet Transform-DWT).

Obtener e integrar los resultados de cada algoritmo en un vector de descriptores conjunto mediante operaciones matem´aticas que los relacionen.

(10)

2 Marco Te´

orico

Se utilizaron tres algoritmos para obtener vectores de descriptores de personas en los videos analizados, los cuales son Histogramas de Gradientes Orientados (HOG), Transformada Discreta Wavelet (DWT) im-plementada utilizando una versi´on m´as efectiva para c´alculos computaciones, la Transformada Estacionaria Wavelet (SWT), y se aplicaron filtros de color a los videos antes de ser analizados por los dos procedimientos anteriores.

2.1.

Histogramas de Gradientes Orientados

Originalmente desarrollados por Dalal y Triggs y publicados en su trabajo✭✭Histogram of Oriented Gradients for Human Detection✮✮[3], es un algoritmo utilizado en el seguimiento de personas que utiliza an´alisis en

[image:10.612.87.558.350.387.2]

bordes para obtener un vector de descriptores para una regi´on definida. El algoritmo original se compone del procedimiento como se observa en la figura 1.

Figura 1: Diagrama general del algoritmo HOG de Dalal y Triggs.[3]

Primero se normalizan los valores de gamma y color en la imagen completa que se analiza, para agregar una peque˜na invariancia global a cambios de iluminaci´on. Posteriormente se divide la imagen en bloques, los cuales a su vez se dividen en celdas. Cada una de estas celdas acumula un vector 1D que contiene informaci´on local sobre los pixeles contenidos en el ´area de aquella celda. Sobre las celdas se computan la magnitud y direcci´on de los gradientes. Cada celda aporta peso en una suma con pesos no distribuidos. En el siguiente paso, se normaliza el contraste sobre cada bloque para agregar invariancia local a cambios de iluminaci´on. Cada bloque y cada celda sobrelapan al bloque adyacente, por lo que el valor de la normalizaci´on en el espacio depende de los valores de los puntos adyacentes, esto genera robustez del algoritmo hacia los cambios de iluminaci´on. Posteriormente se obtienen todos los datos HOG utilizando el m´etodo en cada bloque hasta completar la ventana de detecci´on de la cual se extrae un vector con informaci´on de la escena denominado vector de caracter´ısticas. Por ultimo Dalal y Triggs utilizan una m´aquina de soporte vectorial para realizar el entrenamiento de los datos, este paso no se realiza en el presente trabajo dado que no es relevante para lo que se desea analizar.

Preparaci´on de la imagen

(11)

2.1. HISTOGRAMAS DE GRADIENTES ORIENTADOS CAP´ITULO 2. MARCO TE ´ORICO

C´alculo de gradientes

Los gradientes se calculan para la imagen completa mediante el algoritmo de OpenCV Bessel, si la imagen es de varios canales, se calculan los gradientes en cada canal y se selecciona el que tenga mayor promedio.

C´alculo de los histogramas

Este paso, probablemente el m´as importante del algoritmo calcula histogramas de orientaci´on de bordes, cada pixel aporta un voto al c´alculo bas´andose en la orientaci´on del gradiente centrado en el mismo, el c´alculo completo se realiza sobre celdas circulares o rectangulares dentro de la imagen. El voto puede ser el valor neto, la ra´ız cuadrada o el valor al cuadrado.

Normalizaci´on por bloques

Los resultados que se pueden obtener filtrando los colores de la imagen son modestos debido a que se realiza una normalizaci´on de la imagen por bloques, la raz´on detr´as de esta segunda normalizaci´on son los valores de iluminaci´on, los cuales pueden variar a lo largo de cada secci´on de la imagen. De esta manera se crea una invariabilidad a los cambios de iluminaci´on dado que se normaliza por color en la imagen completa y por bloques para las variaciones espaciales.

Extracci´on del vector de caracter´ısticas sobre la ventana de detecci´on

El algoritmo corre sobre una ventana de detecci´on sobre la imagen, la cual est´a dividida en bloques normalizados y estos a su vez divididos en celdas. El vector de caracter´ısticas resultante tiene una longitud dependiente del tama˜no de la ventana.

Regi´on de an´alisis

HOG seg´un las especificaciones dadas por Dalal y Triggs trabaja sobre una ventana, la cual se divide en bloques, los cuales a su vez se dividen en celdas, las cuales se dividen en contenedores. Para efectos del calculo, el vector de caracter´ısticas ser´a llamado WFV (✭✭Window Feature Vector✮✮). La longitud del WFV para cada celda es igual al n´umero de contenedores, el cual es9. La longitud del WFV para cada bloque es igual a la longitud del WFV de cada celda por el n´umero de celdas en el bloque. La longitud del WFV para la ventana es igual a la longitud del WFV de cada bloque por el n´umero de bloques en la ventana.

Tama˜no Ventana: 64×128 Tama˜no Celda: 8×8 Pixeles, 9 Contenedores

W FVcelda=9,W FVbloque=9×#Celdas=9×4=36 W FVventana=36×#Bloques=36×(7×15) =3780

Dado que los otros algoritmos no est´an completamente desarrollados en este punto no se sabe si trabajan sobre una regi´on espec´ıfica o utilizaran la funcionalidad de OpenCV ROI para determinar su ´area de acci´on, sin embargo se debe mantener el tama˜no del vector, que en ejemplo anterior es 1×3780 para una ventana de 64×128.

2.1.1. Implementaci´on del algoritmo HOG

(12)
[image:12.612.224.422.58.286.2]

2.1. HISTOGRAMAS DE GRADIENTES ORIENTADOS CAP´ITULO 2. MARCO TE ´ORICO

Figura 2: Regiones HOG.

1. Calculo de los valores de las integrales para la imagen completa.

Conversi´on a escala de grises.La funci´on cvtColor de OpenCV convierte la imagen original de 3 canales a una imagen del mismo tipo de 1 canal.

Calculo de la derivada en direcci´on X y Y.Los valores del gradiente se calculan utilizando la funci´on Sobel de OpenCV en ambas direcciones.

Almacenamiento de contenedores.Los contenedores se almacenan en un vector de matrices de dimensiones 1×9. Cada matriz tiene un valor num´erico con la magnitud y direcci´on del gradiente.

Almacenamiento de las integrales.Las integrales se almacenan en un vector igual al anterior.

Calculo de las integrales.Se utiliza la funci´on Integrals de OpenCV para calcular los valores de las integrales.

2. C´alculo del vector de caracter´ısticas en una celda.

Dado que los valores de los gradientes est´an calculados anteriormente se procede a calcular el valor num´erico de cada integral en cada celda.

Se aplica la normalizaci´on de la celda seg´un sea el caso1.

3. C´alculo del vector de caracter´ısticas sobre un bloque.

Tomar los valores del vector por celda.

Construir el bloque utilizando los valores de las integrales.

Normalizar por bloques.Se utilizan diferentes formas de normalizar dependiendo de las opcio-nes, mediante la funci´on cvNormalize de OpenCV o una alternativa que se desarrollara.

4. C´alculo del vector de caracter´ısticas sobre una ventana.

Crear del vector de caracter´ısticas con la longitud adecuada.

1En el desarrollo original de Dalal y Triggs no se normaliza a nivel de celdas, sin embargo se incluye para observar los resultados de

(13)

2.2. TRANSFORMADA DISCRETA WAVELET CAP´ITULO 2. MARCO TE ´ORICO

poblar el vector de caracter´ısticas con los valores de los vectores calculados en los anteriores pasos.

Nota. Los algoritmos tienen un orden inverso al descrito en este procedimiento, es decir primero se llama la funci´on de c´alculo sobre ventana, luego sobre bloques y por ultimo sobre celdas. Esto es debido a que los valores de los gradientes est´an calculados para toda la imagen en las primeras iteraciones, entonces para lograr una normalizaci´on efectiva se debe normalizar antes de poblar las matrices que contienen los valores definitivos. Esto es:

Se crea el vector de caracter´ısticas final.

Se crean las cabeceras que apuntan a los segmentos del vector final correspondientes al vector de cada bloque.

Se crean las cabeceras que apuntan a los segmentos del vector de bloques correspondientes al vector de cada celda.

Se normalizan los valores de los gradientes por celda(opcional)y se puebla el vector de carac-ter´ısticas.

Se normalizan los valores de los gradientes por bloque y se puebla el vector de caracter´ısticas.

2.2.

Transformada Discreta Wavelet

Este algoritmo presenta un comportamiento similar al algoritmo HOG cuando si se observa desde un punto de vista del vector de descriptores que se extrae, dado que ambos realizan an´alisis sobre las se˜nales transitorias de la imagen. Esto quiere decir que los vectores de caracter´ısticas que se extraen contienen informaci´on de bordes. En teor´ıa una persona movi´endose sobre una escena est´atica genera una alta cantidad de se˜nales de alta frecuencia sobre las cuales pueden trabajar los algoritmos. Para el presente trabajo se utiliza la transformada discreta mas no su inversa dado que no es necesario realizar trabajos de reconstrucci´on. Esto es innecesario precisamente por el paso que se omiti´o del desarrollo de Dalal y Triggs. Al extraer un vector de caracter´ısticas se procesan los datos y luego se analizan utilizando un sistema de aprendizaje supervisado. Dalal y Triggs utilizan una m´aquina de soporte vectorial en su c´odigo HOG y es posible asumir que dadas las similitudes el algoritmo que utiliza wavelets puede utilizarse como entrada de la m´aquina de soporte vectorial para realizar seguimiento de personas.

El desarrollo matem´atico se ilustra para introducir la Transformada Estacionaria Wavelet(SWT)[9], la cual es una extensi´on del algoritmo original DWT. Suponga una secuenciac0,c1, . . . ,cN−1dondeN=2Jpara un

entero J. Por el momento se analizara los aspectos del algoritmo de la expansi´on wavelet, sin asumir nada sobre la secuencia anterior.

La transformada discreta wavelet est´a basada en los filtrosH,G y en un operador binarioD0. El filtro

Hes un filtro pasabajo, definido por la secuencia convencionalmente denotada como{hn}. T´ıpicamente,

solo un peque˜no n´umero de{hn}son diferentes de cero. La acci´on del filtro pasabajo de secuencia infinita

(. . . ,x−1,x0,x1,x2, ...)esta definida como:

(H)k=

n

hn−kxn (2.1)

Se asume que el filtro satisface la relaci´on de ortogonalidad interna.

k

hnhn+2j) =0 (2.2)

para todos los enteros j6=0 y∑h2n=1.

(14)

2.2. TRANSFORMADA DISCRETA WAVELET CAP´ITULO 2. MARCO TE ´ORICO

gn= (−1)nh1−n (2.3)

para todo entero j.

Los filtros construidos de esta manera son llamados”filtros espejo en cuadratura”. El operador binarioD0

escoge cada miembro de una secuencia, entonces

(D0)j=x2j (2.4)

para todo entero j. De las propiedades de ortogonalidad mutua e interna de los filtros espejo en cuadratura se deduce que el mapeo desde la secuenciaxal par de secuencias(D0Gx,D0Hx)es una transformaci´on ortogonal.

Sixes una secuencia finita de tama˜no 2ncon condiciones de frontera peri´odicas aplicadas, entonces cada una deD0GxyD0Hxser´an secuencias de tama˜no 2m−1.

La transformada discreta wavelet se deriva del an´alisis multiresoluci´on, el cual se realiza de la siguiente manera. Para una mayor claridad de exposici´on, se impondr´an condiciones de frontera. Se define el suavizado en nivelJ, escritocJque ser´an los datos originales.

cJn=cnpara n=0,1, . . . ,2J−1. (2.5)

Ahora, para j=J−1,J−2, . . . ,0,recursivamente definiendo el suavizadocj en el nivel jpor:

cj=D0Hcj+1 y dj=D0Hcj+1 (2.6)

N´otese quecj ydj ser´an secuencias de tama˜no 2j. Puede verse en (2.6) que el suavizado en cada nivel es pasado al siguiente nivel para aumentar el suavizado y el detalle en ese nivel.

Como el mapeo(D0Gx,D0Hx)es una transformada ortogonal es muy f´acilmente invertible. No se exhibe

el proceso dado que para el presente trabajo no es necesario utilizar la transformada inversa.

La DWT se obtiene continuando este proceso para obtener el detalle en cada nivel junto al suavizado en el nivel cero, para que la secuencia original sea ortogonalmente transformada a la secuencia de secuencias

dJ−1,dJ−2, . . . ,d0,c0,del tama˜no total 2J.

2.2.1. Stationary Wavelet Transform

El concepto b´asico es muy simple. Se aplican filtros pasaaltos y pasabajos apropiados a los datos de cada nivel para producir dos secuencias en el pr´oximo nivel. No se reduce el n´umero de muestras, y las dos nuevas secuencias tienen el mismo tama˜no que la original. En cambio, se modifican los filtros en cada nivel introduciendo ceros, de la manera que se define a continuaci´on.

SeaZ el operador que alterna una secuencia dada con ceros, para que para todo entero j,(Zx)2j=xj y

(Zx)2j+1=0. Se definen filtrosH[r]yG[r]con pesosZrhyZrgrespectivamente. Entonces el filtroH[r]tiene

pesosh[2rr]j=0 sikes un m´ultiplo de 2r. El filtroH[r]se obtiene agregando ceros entre cada par de elementos

del filtroH[r−1]adyacentes, y de igual manera paraG[r]. Es inmediato que:

D′∇H[r]=HDr0 y D0rGr=GD

′ . (2.7)

Para definir la Transformada Estacionaria Wavelet (SWT), se defineajcomo la secuencia originalcJ en la notaci´on anterior. Para j=J,J−1, . . . ,1 y se define recursivamente:

aj−1=H[J−1]ajybj−1=G[j−1]aj. (2.8)

Si el vectoraJ es de tama˜no 2J, entonces todos los vectoresaJ ybJ ser´an del mismo tama˜no, en vez de volverse m´as cortos a medida que jdisminuye como pasa en la DWT. EntoncesbJ−1,bJ−1, . . . ,b0,a0tomaran

(15)

3 Especificaciones

El trabajo se ha desarrollado con el lenguaje de programaci´on C++, utilizando las librer´ıas de visi´on artificial OpenCV1para desarrollar su n´ucleo fundamental de procesamiento. Adicionalmente se implementado un

entorno grafico que soporta procesamiento sobre m´ultiplos hilos desarrollado utilizando Qt2. Todos los c´odigos est´an liberados bajo la licencia GPLv3 (GNU Public Licence v3)3.

El proyecto est´a estructurado e implementado sobre un trabajo previamente desarrollado por el grupo SIRP de visi´on por computador, el cual tiene un desarrollo robusto de procesamiento y segmentaci´on, como tambi´en un trabajo de seguimiento que se reemplazara por el m´etodo a desarrollar. Las entradas provienen desde la estructura del trabajo del grupo SIRP y las salidas son visualizaciones en pantalla y archivos de datos. El trabajo base esta implementado con las librer´ıas de OpenCV1, las cuales difieren sustancialmente de las librer´ıas de OpenCV2 utilizadas en el presente trabajo. OpenCV2 mantiene la compatibilidad de las librer´ıas antiguas por lo que reemplazar el trabajo no deber´ıa presentar ning´un problema, no obstante, se realizaran las pruebas correspondientes para verificar la correcta funcionalidad del programa integrado.

Entradas

Video. Proveniente de una c´amara en tiempo real o de un archivo pregrabado.

Opciones.

- Normalizaci´on.

- Selecci´on de algoritmos.

- Par´ametros especiales.

Salidas

Visualizaciones.

- Coordenadas.

- Valor promedio del vector de caracter´ısticas.

- Operaciones Matem´aticas del vector de caracter´ısticas.

- Registro de ruta.

Valores num´ericos. Salida a archivo de texto.

- Coordenadas.

- Valor Promedio.

- Resultados operaciones matem´aticas.

1http://opencv.org/

2http://qt-project.org/

(16)

3.1. CONDICIONES DEL ENTORNO CAP´ITULO 3. ESPECIFICACIONES

3.1.

Condiciones del Entorno

Las capacidades del sistema de seguimiento basado en la arquitectura propuesta est´an limitadas por la observabilidad del espacio y la observabilidad de los eventos que se pueden registrar sobre cada espacio. Se propone trabajar con im´agenes de 640x480 p´ıxeles y limitar el espacio observado a no m´as de 10m x 7,5m. Con esto se tendr´ıa un m´ınimo de 64 p´ıxeles por metro lineal. (64 p´ıxeles x 64 p´ıxeles porm2).

La escena sobre la cual se trabajara es un entorno urbano, grabado desde una vista superior con un densidad de 3 personas porm2, es decir que sobre todo el espacio (70m2) no habr´a m´as de 35 transe´untes simult´aneamente. Esta condici´on se debe cumplir en todos los momentos del tiempo para asegurar el correcto funcionamiento del algoritmo. Los colores presentes en la escena no deber´ıan afectar en gran medida el rendimiento del algoritmo de seguimiento. Los patrones de texturas del fondo afectaran el valor neto de los descriptores pero no afectan el resultado.

3.2.

Condiciones de Iluminaci´

on

Se espera que el algoritmo sea funcional a lo largo del d´ıa, siempre y cuando se cumplan las condiciones de iluminaci´on necesarias para que la c´amara de donde proviene el video a analizar tenga un funcionamiento correcto. Normalmente en un d´ıa el nivel de iluminaci´on en exteriores tiene los siguientes valores en promedio[11]:

D´ıa muy oscuro: 107,53lx. D´ıa nublado: 1,075,3lx.

Luz del d´ıa: 10,752,7lx.

Se espera que el algoritmo funcione correctamente desde un los valores de iluminaci´on de un d´ıa nublado hasta un d´ıa con plena luz del d´ıa. En un d´ıa muy oscuro el algoritmo tendr´a un rendimiento mucho menor que un d´ıa despejado, o incluso puede que no funcione correctamente.4

3.3.

Especificaciones de Algoritmos

Los algoritmos sobre los cuales se estructura el sistema de seguimiento de personas han probado ser efectivos para solucionar el problema en su aplicaci´on independiente. Los cuales son:

Filtros de color lineales[10].

Histogramas de Gradientes Orientados (HOG -✭✭Histograms of Oriented Gradients✮✮)[13].

Transformada Discreta Wavelet (DWT -✭✭Discrete Wavelet Transform✮✮)[6].

Cada uno de estos algoritmos debe cumplir ciertas condiciones que les permiten ser integrados en un solo vector de caracter´ısticas.

Son aplicados sobre el mismo espacio dentro de la imagen para cada iteraci´on.

La salida tiene el mismo formato y el mismo tama˜no. Es un vector de n´umeros de un tama˜no determinado por la ventana sobre la cual se analiza.

4Las medidas de iluminaci´on solo se proporcionan como una referencia, no se realiz´o ninguna medida de iluminaci´on para el

(17)

3.4. ALGORITMO ESPEC´IFICO CAP´ITULO 3. ESPECIFICACIONES

3.4.

Algoritmo Espec´ıfico

[image:17.612.94.550.145.693.2]

La l´ogica mediante la cual se realiz´o la integraci´on de los algoritmos para obtener el vector de caracter´ısticas conjunto proveniente de ambos algoritmos individuales con sus respectivos vectores de caracter´ısticas se ilustra en la figura 3

(18)

4 Desarrollos

[image:18.612.87.556.250.502.2]

Se desarroll´o una aplicaci´on gr´afica en C++ utilizando una combinaci´on de las librer´ıas OpenCV y Qt para obtener flexibilidad en los componentes del trabajo, tales como la visualizaci´on del video, las gr´aficas de los descriptores, y los componentes necesarios de la m´aquina de soporte vectorial. La ventana principal de la aplicaci´on se puede observar en la figura 4. La informaci´on de los componentes de la interfaz se puede encontrar en la 4.1.

Figura 4: Interfaz de la aplicaci´on.

4.1.

Interfaz

(19)

4.2. INTEGRACI ´ON CON EL GRUPO SIRP CAP´ITULO 4. DESARROLLOS

herramienta diferente. En la figura 4 se pueden observar seis herramientas, las dos primeras presentan las visualizaciones del promedio de cada vector de caracter´ısticas en el tiempo y tienen la opci´on de desactivar la ejecuci´on del algoritmo. Las cuatro restantes son herramientas de prueba. El panel inferior presenta controles para entrenar una m´aquina de soporte vectorial o cargar un modelo previamente entrenado, para que la ejecuci´on tenga en cuenta la clasificaci´on se debe activar mediante el cuadro a la izquierda. M´as abajo se cre´o una interfaz para obtener f´acilmente la ruta de los videos y cargarlas al programa. Por ultimo en la parte inferior se encuentran los controles de los filtros de color.

Una de las razones por la que se tom´o la decisi´on de implementar dicha interfaz es porque la mayor´ıa de los algoritmos de OPENCV2 aun funcionan en un muy bajo nivel con respecto al usuario. Este sistema tiene la capacidad de utilizar m´ultiples hilos en el computador para acelerar el desarrollo de aplicaciones de visi´on artificial las cuales normalmente tienen un alto costo computacional. En este trabajo se realiz´o una implementaci´on de este tipo de procesamiento pero para obtener mejores se debe realizar una implementaci´on con un an´alisis a fondo del funcionamiento de OPENCV, sin embargo esta fuera de los alcances de este trabajo y se podr´ıa implementar como un trabajo nuevo en el futuro.

4.2.

Integraci´

on con el grupo SIRP

En un principio el trabajo realizado se puede integrar con el grupo SIRP pero requiere algunos pasos adicio-nales. Dado que todas las pruebas se realizaron en un entorno de pruebas cerrado y sin un realizar tracking en toda la escena, se debe implementar esta funcionalidad. El trabajo del grupo SIRP esta implementado en OPENCV1 y el presente trabajo en OPENCV2 por lo que hay que escribir una interfaz entre los dos tipos de datos, especialmente porque el contenedor de matrices de OPENCV1 es IPlImage, el cual es parte de la interfaz C de OPENCV1, mientras que la interfaz de OPENCV2 es C++ la cual utiliza un contenedor llamado cv::Mat orientado a objetos. La ventaja de este nuevo contenedor es que utiliza manejo autom´atico de memoria para objetos que no son apuntadores. M´as all´a de esto hay otros problemas que no permiten la integraci´on pero se discutir´an en la secci´on de conclusiones cuando el lector tenga un mayor entendimiento sobre el desarrollo del trabajo. Por esta raz´on se decidi´o no implementar el actual desarrollo de seguimiento en el trabajo del grupo SIRP.

4.3.

Caracterizaci´

on de Descriptores

4.3.1. Histogramas de gradientes orientados

Este descriptor se implement´o siguiendo las indicaciones presentadas en el trabajo de Dalal y Triggs [3] con algunas modificaciones que se ilustraran en esta secci´on. El c´odigo que se utiliz´o para obtener el vector de caracter´ısticas HOG a partir de histogramas integrales fue desarrollado por Saurabh Goyal1. Este c´odigo esta implementado sobre la OpenCV1 y debi´o ser portado a OpenCV2 para aprovechar las funciones y clases C++ que este ofrece y para integrarlo al resto del trabajo. El procedimiento general se presenta en la figura 1, el cual se modifica para disminuir el costo computacional del algoritmo calculando las derivadas mediante el operador Sobel sobre la imagen completa o una ´area determinada de intereses definida por la descripci´on previa de la imagen.

Pseudocodigo: Calculo de histogramas integrales.

Procedimiento Calculo_Gradientes(Imagen, #contenedores){

ImagenGris = RGB2GRAY(Imagen); - Convertir a escala de grises. equalizeHist(Imagen,Imagen); - Normalizar.

xSobel = Sobel(Imagen,X);

(20)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

ySobel = Sobel(Imagen,Y);

New Contenedores(#Contenedores); for(0<x<filas){ for(0<y<columnas{ DireccionSobel(Imagen(x),xSobel,ySobel); MagnitudSobel(Imagen(Y),xSobel,ySobel); } } }

Una vez calculados los histogramas integrales la imagen esta lista para obtener el vector de caracter´ısticas para una ventana. En el presente trabajo el tama˜no de las ventanas debe ser m´ultiplo de(X,Y) = (16,32)

o(X,Y) = (32,16). Ambos tama˜nos se utilizan para diferentes funciones dentro de la aplicaci´on. Para una

ventana de tama˜noT, se extraen los valores de los histogramas dividi´endola en bloques y posteriormente los bloques en celdas. Existen una opci´on para normalizar a nivel de cada bloque si es necesario, sin embargo, esta funci´on esta normalmente deshabilitada porque no presenta mejor´ıas significativas en el rendimiento de los algoritmos e incluso con la arquitectura propuesta resulta contraproducente.

Pseudocodigo: Extracci´on por regiones

Procedimiento HOG_Ventana(Ventana, Integrales){ Tama~noCelda = 8;

Tama~noBloque = 2;

WFV = 0; - Vector de caracter´ısticas

for(Y;Y<=(Ventana.Y+Ventana.Alto)-Tama~noCelda*Tama~noBloque;Y+=Tama~noCelda){ for(Y;Y<=(Ventana.X+Ventana.Ancho)-Tama~noCelda*Tama~noBloque;Y+=Tama~noCelda){ //Vector donde se agregan los histogramas secuencialmente.

Vector = WFV.TomarColumnas(Col,Col+36);

HOG_Bloque(X,Y,Tama~noCelda*Tama~noBloque,Tama~noCelda*Tama~noBloque, Vector); Vector+=36;

} } }

El tama˜no del vector de caracter´ısticas depende del tama˜no de la ventana que se utiliza para extraer la informaci´on de gradientes. Dado que es un vector, las filas son 1 y las columnas se calculan utilizando la formula 4.1. Por est´etica del documento se utilizaron las siguientes convenciones.Celda = CD, Ventana = VT, Bloque = BQ.

AnchoV TAnchoCDAnchoBQ

AnchoCD +1

AltoV TAltoCDAltoBQ AltoCD +1

∗36 (4.1)

Las ventanas utilizadas en el trabajo son de 64x128 o 128x64 y se definen tama˜nos de celda(8,8)y tama˜no

de bloque(2,2)para las cuales el tama˜no del vector de caracter´ısticas resulta:

(64,128)−(8,8)∗(2,2)

(8,8) +1

(128,64)−(8,8)∗(2,2)

(8,8) +1

∗36= (3780,3780) (4.2)

Este vector est´a organizado de la siguiente manera: 0<X <AnchoV T y 0<Y <AltoV T iterandoX

(21)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

Figura 5: Organizaci´on del vector de caracter´ısticas HOG.

gradientes se encuentra organizada desde la parte superior derecha de la ventana para las primeras posiciones del vector y la parte inferior izquierda para las ´ultimas posiciones del vector.

Cuando se aplica el algoritmo a im´agenes extra´ıdas directamente del video se pueden observar el comporta-miento de los descriptores en el tiempo y las coordenadas. En la figura 7 se expone el comportacomporta-miento del vector de caracter´ısticas para una imagen tomada al azar que contiene la mitad de una persona en una esquina, representada en la figura 6 durante 4 iteraciones del algoritmo. El vector esta normalizado con m´argenes(0,1)

y se gr´afica en su totalidad. Si se observa la figura 7 se puede observar que el vector se puede separar en dos segmentos totalmente diferentes, tanto en su valor como en su comportamiento. El primer segmento, que coincide con aproximadamente los primero 1700 puntos del vector presentan el siguiente comportamiento:

Los valores m´aximos de cada punto presentan un comportamiento en escalera de mayor a menor cada 500 puntos.

El valor promedio durante los 1700 puntos se mantiene aproximadamente constante.

El segundo segmento, que coincide con los puntos del 1701 al 3780 presenta el siguiente comportamiento en comparaci´on al primero:

Presenta picos, pero su varianza es significativamente menor.

El valor promedio es ligeramente menor.

El comportamiento que presenta el vector de caracter´ısticas para la imagen de la figura 7 es completamente congruente con el comportamiento esperado a partir de la teor´ıa. En la imagen la persona se encuentra en la esquina superior derecha, dado que el algoritmo recorre la imagen empezando por la esquina superior derecha se puede deducir a partir del comportamiento expuesto anteriormente que los picos y valores mayores corresponden a los objetos de la imagen. El algoritmo obtiene informaci´on de bordes utilizando operadores de primera derivada por lo que la transici´on entre el blanco de la persona, el caf´e oscuro de la silla, y el caf´e claro del piso dan como resultado el comportamiento escalonado intermitente en la primera mitad del vector. Aproximadamente a partir de la mitad del alto de la imagen la persona termina y solo quedan peque˜nas variaciones de caf´es y una sombra al final lo que genera el comportamiento de la segunda mitad del vector. Es importante notar que el algoritmo convierte la imagen a escala de grises, por lo que aunque se realiza el an´alisis visual con colores hay que tener en cuenta que las derivadas provienen de cambios en la escala de grises.

(22)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

[image:22.612.247.392.56.125.2]

Figura 6: Imagen de trabajo de la figura 7.

Figura 7: Vector de caracter´ısticas HOG extra´ıdo de la figura 6.

variaci´on del valor promedio en el tiempo sobre una video de prueba, ilustrado en la figura 8. Estas gr´aficas se pueden observar en tiempo real en la interfaz de la aplicaci´on.

La persona que se observa en la figura 8a pasa por las ventanas de trabajo 1,3 y 5 en un peque˜no periodo de tiempo. Luego de salir de escena, cuatro personas entran en escena y atraviesan las ventanas como se observa en la figura 8b. Las gr´aficas presentadas en la figura 9 comprueban que el valor promedio varia cuando hay objetos en escena. Por ejemplo, si se observa el recorrido de la persona que aparece en el figura 8a, es decir las ventanas 5, 3 y 1 se pueden reconocer picos en el valor promedio con algunos puntos de separaci´on, esto mismo sucede con las personas en la figura 8b donde hay 1 persona pasando por las ventanas de la izquierda y 3 pasando por las ventanas de la derecha. Estas ´ultimas solo presentan dos picos en el valor, esto quiere decir que el pico de mayor valor representa a las dos personas que caminan juntas y el menor a la persona que camina sola.

Para informaci´on del resto de pruebas que se realizaron para caracterizar el descriptor HOG

(a) Segundos iniciales. (b) Segundos finales.

[image:22.612.85.555.90.306.2]
(23)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

[image:23.612.80.496.59.390.2]

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 9: Variaci´on del valor promedio en el tiempo.

remitirse a los anexos.

4.3.2. Transformada Discreta Wavelet

OpenCV2 no tiene ninguna implementaci´on de la transformada discreta wavelet, por lo que se utiliz´o una de las implementaciones en C++ existentes para obtener el descriptor. La librer´ıa Wavelib creada por Rafat Hussain[8] tiene la capacidad de realizar transformaciones wavelet en diferentes configuraciones para se˜nales en una dimensi´on o dos dimensiones. Dentro de las funciones para im´agenes se encuentra la Transformada Estacionaria Wavelet, esta funci´on llamadaswt2dtoma como argumentos la imagen, el nivel J de transformaci´on y el nombre de la wavelet que va a utilizar. Las wavelets disponibles en la funci´on son:

15 Wavelets Daubechies.db1-db15.

15 Wavelets biortogonales.bior1.1 ,bior1.3 ,bior1.5 ,bior2.2 ,bior2.4 ,bior2.6 ,bior2.8 ,bior3.1 ,bior3.3 ,bior3.5 ,bior3.7 ,bior3.9 ,bior4.4 ,bior5.5 ,bior6.8.

5 Coiflets.coif1-coif5. 10 Symlets.sym1-sym10.

(24)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

y nueve de detalle. La imagen de aproximaci´on es el resultado de una filtro pasabajo construido a partir de la wavelet seleccionada, mientras que las im´agenes de detalle son filtros pasabanda con diferentes centros.

Para entender el funcionamiento del algoritmo se caracteriz´o utilizando las 4 im´agenes ilustradas en la figura 10.

(a) Ventana #1 (b) Ventana #2

(c) Ventana #3 (d) Ventana #4

Figura 10: Im´agenes de prueba al caracterizar el vector DWT.

Esta im´agenes de tama˜no(X,Y) = (128,64)como entradas a la funci´on SWT generan un vector de 27385 posiciones para un orden J=3. Cada una contiene el valor de un coeficiente que representa un filtro diferente arreglado de la siguiente manera:

OU T PU T = A(J)Dh(J)Dv(J)Dd(J) .... Dh(J)Dv(J)Dg (4.3)

DondeA(J)es el vector de coeficientes para la imagen de aproximaci´on yD(J)son tres vectores de detalle

horizontal, vertical y detalleen el nivel J. Es importante recordar que los vectores de aproximaci´on y los de detalle tienen en realidad dos dimensiones as´ı que se necesita un vector apropiado si se quiere extraer informaci´on puntual. La figura 11 presenta el comportamiento de los coeficientes sobre las 4 im´agenes. La idea es averiguar si este vector es suficiente para tomarlo directamente como vector de caracter´ısticas o necesita procesamiento adicional. Ahora, las ventanas de detecci´on en donde hay personas son las figuras 10a y 10c, analizando las gr´aficas de aquellas ventanas en 11a y 11c se puede observar que los presentan componentes de im´agenes en detalle(pasabanda)a diferencia de las otras dos en las cuales los componentes de superiores son m´as peque˜nos o nulos. El filtro pasabajo no parece tener un comportamiento particularmente diferenciable en esta muestra, a excepci´on de la ventana #1 en comparaci´on a las dem´as. Gui´andose por una primera impresi´on este vector presenta suficientes diferencias como para realizar detecci´on de objetos en pantalla, lo m´as probable es que no sea lo suficientemente variante para lograr entrenar una un sistema de aprendizaje supervisado para solo personas, pero para eso se realizaron pruebas consignadas m´as adelante.

(25)

4.3. CARACTERIZACI ´ON DE DESCRIPTORES CAP´ITULO 4. DESARROLLOS

(a) Ventana #1 (b) Ventana #2

[image:25.612.86.557.65.387.2]

(c) Ventana #3 (d) Ventana #4

Figura 11: Coeficientes de la SWT de orden J sobre las imagenes de la figura 10.

(a) Ventana #1 (b) Ventana #2

(c) Ventana #3 (d) Ventana #4

[image:25.612.202.402.439.712.2]
(26)

4.4. FILTROS DE COLOR CAP´ITULO 4. DESARROLLOS

Despu´es de realizar la caracterizaci´on del vector de coeficientes DWT se tom´o la de utilizarlo directamente como vector de caracter´ısticas del descriptor DWT. Para las aplicaciones individuales se tomara el vector completo dado que contiene informaci´on de todas las frecuencias presentes en la imagen, sin embargo para la integraci´on se realizaron pruebas adicionales dado que el tama˜no de los vectores en cada descriptor es diferente.

4.4.

Filtros de Color

Se implementaron filtros de color en el espacio HSV sobre la escena completa utilizando la funci´on de OPENCV2 threshold y aritm´etica de bits.

Pseudocodigo

procedimiento filtroColor(Imagen, Parametros){

cvtColor(Imagen,BGR2HSV); //Conversion de espacio BGR a espacio HSV split(Imagen, HUE, SAT, VAL); //Separar Imagen en 3 canales

treshold(HUE, HUE_MIN, HUE_MAX, MODO_BINARIO); //Modificar rangos HUE HUE = HUE_MIN & HUE_MAX;

treshold(SAT, SAT_MIN, SAT_MAX, MODO_BINARIO); //Modificar rangos SAT SAT = SAT_MIN & SAT_MAX;

treshold(VAL, VAL_MIN, VAL_MAX, MODO_BINARIO); //Modificar rangos VAL VAL = VAL_MIN & VAL_MAX;

merge(Imagen, HUE, SAT, VAL); //Unir canales. }

El concepto general es simple, utilizando los controles de la interfaz modificar los valores de MATIZ, SATURACION y BRILLO para obtener una nueva imagen que funciona como imagen principal para todos los dem´as algoritmos. Este procedimiento se realiza para probar c´omo funcionan los dem´as algoritmos antes los cambios de color en este espacio en particular.

4.4.1. Vector de caracter´ısticas HOG

Se realiz´o una caracterizaci´on del vector HOG igual que la anterior pero con im´agenes filtradas de diferente forma para lograr entender los resultados cuando se apliquen los filtros de color en las pruebas. Las im´agenes sobre las cuales se trabaj´o se ilustran en la figura 13. La subfigura 13a representa los canales HUE, SAT y VAL con el 25 % de sus componentes superior filtrados, la subfigura 13b representan los canales SAT y VAL en 75 % y el canal HUE en 50 % y la subfigura 13c representan el canal VAL en 75 % y los canales HUE y SAT en 50 %. Los resultados de las iteraciones del algoritmo sobre estas im´agenes se presentan en la figura 14.

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

(27)

4.4. FILTROS DE COLOR CAP´ITULO 4. DESARROLLOS

(a) Ventana #1

(b) Ventana #2

[image:27.612.142.499.52.350.2]

(c) Ventana #3

Figura 14: Vector de caracter´ısticas HOG sobre las ventanas de la figura 13.

(a) Ventana #1

(b) Ventana #2

(c) Ventana #3

Figura 15: Vector de caracter´ısticas HOG sobre las ventanas de la figura 13 sin las personas.

[image:27.612.143.499.387.684.2]
(28)

4.4. FILTROS DE COLOR CAP´ITULO 4. DESARROLLOS

presentan en la figura 15. Se puede observar que el comportamiento de los descriptores varia con respecto a lo visto en la figura 7. Es importante notar que en aquella gr´afica los valores nulos se suprimieron mientras que en esta gr´afica existen valores muy peque˜nos que no se suprimen por esto la diferencia en la naturaleza de la gr´afica. Sin embargo al observar el patr´on de comportamiento de los valores visibles en la gr´afica se nota inmediatamente que es diferente al de la imagen no filtrada.

Por ´ultimo se prob´o la variaci´on del valor promedio sobre las seis ventanas en los videos expuestos en la figuras 16, 18 y 20. Para el procedimiento de caracterizaci´on se filtr´o el 25 % superior de los componentes de cada canal en el espacio de color HSV, el criterio para este intervalo es netamente visual, para cada escena se buscaron los valores donde se observara claramente una disminuci´on de ruido en la imagen.

[image:28.612.169.469.378.622.2]

(a) Segundos iniciales (b) Segundos finales

Figura 16: Video de prueba VAL 75 %, HUE+SAT 50 %.

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 17: Variaci´on del valor promedio del vector HOG en el tiempo VAL 75 %, HUE+SAT 50 %.

(29)

4.4. FILTROS DE COLOR CAP´ITULO 4. DESARROLLOS

el cambio en el valor promedio de los descriptores, incluso mejor que el an´alisis que se realiza con el rango completo de color.

[image:29.612.168.469.286.529.2]

(a) Segundos iniciales (b) Segundos finales

Figura 18: Video de prueba SAT+VAL 75 %, HUE 50 %.

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 19: Variaci´on del valor promedio del vector HOG en el tiempo SAT+VAL 75 %, HUE 50 %.

Los resultados presentados en la figura 19 pertenecientes al video ilustrado en la figura 18 son los corres-pondientes al an´alisis que se realiz´o filtrando 25 % superior en los componentes de los canales VAL y SAT y el 50 % de los componentes del canal HUE. Es virtualmente el mismo resultado que se obtuvo con la prueba anterior.

El resultado de la figura 21 pertenecientes al video ilustrado en la figura 20 corresponden al an´alisis que se realiz´o filtrando el 25 % de cada canal. Los resultados no var´ıan con respecto al caso anterior.

4.4.2. Vector de caracter´ısticas DWT

Utilizando las mismas escenas presentadas en las figuras 16, 18 y 20 se realizan pruebas para caracterizar el vector DWT siguiendo los mismos par´ametros y condiciones presentados en la secci´on 4.4.1.

(30)

4.4. FILTROS DE COLOR CAP´ITULO 4. DESARROLLOS

[image:30.612.168.467.236.479.2]

(a) Segundos iniciales (b) Segundos finales

Figura 20: Video de prueba HUE+SAT+VAL 75 %.

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 21: Variaci´on del valor promedio del vector HOG en el tiempo HUE+SAT+VAL 75 %.

cuando las personas entran a la ventana de detecci´on, presentando un comportamiento similar al de HOG. Este sin embargo presenta muy poco ruido lo cual resulta muy conveniente al trabajar con una m´aquina de soporte vectorial entrenada con las mismas im´agenes.

La figura 19 presenta la variaci´on del promedio del vector de caracter´ısticas DWT para el caso SAT+VAL 75 %, HUE 50 %. Es interesante este resultado dado que no presenta absolutamente ninguna variaci´on a las personas que entran a la ventana de detecci´on. Esta configuraci´on no es adecuada para la finalidad de este trabajo.

(31)

4.5. INTEGRACI ´ON DE LOS DESCRIPTORES CAP´ITULO 4. DESARROLLOS

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

[image:31.612.168.452.61.307.2]

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 22: Variaci´on del valor promedio del vector DWT en el tiempo VAL 75 %, SAT+HUE 50 %.

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 23: Variaci´on del valor promedio del vector DWT en el tiempo SAT+VAL 75 %, HUE 50 %.

4.5.

Integraci´

on de los Descriptores

[image:31.612.167.450.349.590.2]
(32)

4.5. INTEGRACI ´ON DE LOS DESCRIPTORES CAP´ITULO 4. DESARROLLOS

(a) Ventana #1 (b) Ventana #2 (c) Ventana #3

[image:32.612.169.451.61.308.2]

(d) Ventana #4 (e) Ventana #5 (f) Ventana #6

Figura 24: Variaci´on del valor promedio del vector DWT en el tiempo HUE+SAT+VAL 75 %.

Si se analizan las im´agenes construidas a partir de los elementos del vector de caracter´ısticas DWT presentadas en la figura 25 se puede observar que la imagen aproximaci´on presenta informaci´on de bordes, al igual que algunas de las im´agenes detalle. Esto indica que podr´ıa funcionar si se realizan operaciones entre el vector HOG y una parte del vector DWT del mismo tama˜no. Se consider´o realizar una suma, multiplicaci´on, producto punto y operaci´on entre bits. Sin embargo la suma y multiplicaci´on no dieron resultados satisfactorios porque los valores son muy diferentes.

Producto punto

Para observar el comportamiento de un algoritmo sobre el otro realizo el producto punto siguiendo los siguientes par´ametros:

DSU Mk= kn

k=0

n

i=0

VectorDW Ti siendo n=tamanoHOG. y K=

TamanoDW T n Punto=DSU MkVectorHOG

En cada iteraci´on del algoritmo hay un valor fijo por cada resultado, esto quiere decir que efectivamente se pierde resoluci´on. El resultado para esta operaci´on fue:

En la figura 26 se tom´o en 225 frames mientras paso una persona en escena, sin embargo no hay ning´un cambio notorio en el comportamiento del vector. La raz´on de este comportamiento es la suma que se le realiza al vector DWT, dado que son sustancialmente m´as valores efectivamente se pierde la informaci´on del vector HOG, y por la caracterizaci´on anterior se sabe que el vector DWT solo no presenta una diferencia significativa por s´ı solo. Para intentar mitigar este efecto se intent´o otra aproximaci´on entre los dos descriptores, tomando rangos individuales dentro de los descriptores.

(33)

4.5. INTEGRACI ´ON DE LOS DESCRIPTORES CAP´ITULO 4. DESARROLLOS

(a) Imagen Original (b) Imagen Aproxi-maci´on

(c) Im´agenes Deta-lle

Figura 25: Im´agenes Detalle.

Figura 26: Producto punto entre los dos vectores.

4.5.1. Mascara AND

(34)

4.6. CLASIFICACI ´ON Y SEGUIMIENTO CAP´ITULO 4. DESARROLLOS

Figura 27: Producto punto entre los dos vectores en un rango determinado.

Figura 28: Producto AND entre los dos vectores en un rango determinado.

4.6.

Clasificaci´

on y Seguimiento

La m´aquina de soporte vectorial de OPENCV2 fue utilizada para realizar la clasificaci´on necesaria en el trabajo para posteriormente realizar el seguimiento de las personas. Esta implementaci´on est´a basada en LIBSVM[1], y tienes las siguientes capacidades:

C SVC:Clasificador de C vectores de soporte. Realiza clasificaci´on imperfecta de N clases (N>2) con penalizaci´on de errores.

NU SVC: Clasificadorν vectores de soporte. Realiza clasificaci´on posiblemente imperfecta de N

clases (N>2). El par´ametroν(0..,1, entre m´as grande el valor, m´as suave la frontera de decisi´on ) es

utilizado en lugar de C.

ONE CLASS:Estimaci´on de distribuci´on. Todos los datos de entrenamiento son de la misma clase, la maquina construye una frontera que separa los elementos de la clase del resto del espacio posible.

EPS SVR:Regresi´on deε vectores de soporte. La distancia entre los elementos y el hiperplano de separaci´on debe ser menor aρ. Los errores se penalizan con el valor del par´ametro c.

NU SVR:Regresion deνvectores de soportes.νes utilizado en vez deρ.

(35)

4.6. CLASIFICACI ´ON Y SEGUIMIENTO CAP´ITULO 4. DESARROLLOS

KERNEL TYPE:Tipo en la que se formula la m´aquina de soporte vectorial, define el comportamiento del hiperplano de decisi´on y la soluci´on del problema de clasificaci´on.

• LINEAR: No se realiza mapeo a otras dimensiones. La discriminaci´on lineal (regresi´on) es realizada en la dimension original de los vectores de soporte. Es la opci´on m´as r´apida.Kij) =

χiTχj.

• POLY:Kernel polinomialKij=γ χiTχj+coe f0)DEGREE,γ>0.

• RBF: Radial Basis Function”, kernel de base radial, una buena elecci´on en la mayor´ıa de los casos.Kiχj) =e−γkχi−χjk

2

,γ>0.

• SIGMOID:Kernel sigmoid.Kij) =arctan(χiTχj+coe f0).

DEGREE:Grados utilizados en el kernel POLY.

GAMMA:Par´ametroγ (POLY/RBF/SIGMOID).

coef0:Par´ametrocoef0(POLY/SIGMOID).

Cvalue:Par´ametro C del problema de optimizaci´on (C SVC/NU SVC/NU SVR).

NU:Par´ametroνdel problema de optimizaci´on((C SVC/ONE CLASS/NU SVR)).

P:par´ametroε del problema de optimizaci´on(EPS SVR).

Durante las pruebas se utilizaron diferentes kernels para probar su funcionamiento y decidir el que se utilizar´ıa definitivamente. Para estas verificaciones se utiliz´o una ventana de tama˜no(X,Y) = (64,128)que se mueve por la ventana de detecci´on que se observa en las figuras anteriores al activar el m´odulo de seguimiento.

4.6.1. Muestras de entrenamiento

Para esta caracterizaci´on se utiliz´o una base de datos de 35 im´agenes positivas y 33 negativas de la escena en donde se trabaja, no necesariamente en el mismo video ni con la misma iluminaci´on. Las im´agenes positivas (figura 29a) son muestras de personas en el video y las im´agenes negativas (figura 29b) son muestras aleatorias del fondo

(a) Muestras positivas propias (b) Muestras negativas pro-pias

Figura 29: Base de datos propia de peatones.

(36)

4.6. CLASIFICACI ´ON Y SEGUIMIENTO CAP´ITULO 4. DESARROLLOS

[image:36.612.267.375.257.399.2]

(a) Muestras positivas INRIA (b) Muestras negativas INRIA

Figura 30: Base de datos INRIA de peatones.

Figura 31: Base de datos MIT de peatones.

4.6.2. HOG

El kernel lineal se prob´o con diferentes configuraciones, incluyendo la funci´on de auto-entrenamiento que incluye la m´aquina de soporte vectorial en OPENCV2. Para obtener los valores ´optimos de los par´ametros la funci´on realiza validaci´on cruzada entre los mismos y deduce la ´optima configuraci´on con menor error. Se utilizaron dos m´etodos de recursi´on para intentar mejorar el desempe˜no de la m´aquina de soporte vectorial. El primer m´etodo consiste en realizar un entrenamiento inicial, separar los falsos positivos de una nueva base de muestras negativas y agregarlos a la base de datos principal en cada iteraci´on hasta que no resulten falsos positivos. El segundo m´etodo consiste en el mismo procedimiento anterior, pero solo se agregan falsos positivos una vez. Las configuraciones con mejor rendimiento resultados se consignan aqu´ı, las que tienen el par´ametroNegativas Dif´ıcilesutilizan alg´un m´etodo de recursi´on.

Descripcion de parametros.

C:Limite superior de todas las variables (Parametro de regularizacion en una clasificacion de margen suave).

epsilon:Parametro epsilon del problema de optimizacion.

iterations: Numero de iteraciones para resolver el problema de optimizacion.

sv total: Numero total de parametros de soporte.

(37)

4.6. CLASIFICACI ´ON Y SEGUIMIENTO CAP´ITULO 4. DESARROLLOS

C:1.0000000000000001e-001.

epsilon:2.2204460492503131e-016.

iterations:10002.

sv total:2493.

Esta configuraci´on no dio resultados satisfactorios sobre la escena aplicada, fallo en detectar correcta-mente la mayor´ıa de las personas, esto se debe a que las escenas de la base de datos de INRIA son muy diferentes a la escena de prueba.

2. Positivas: 300, Negativas: 300, Base de datos: MIT, Modo: AUTO. C:1.0000000000000001e-001.

epsilon:2.2204460492503131e-016.

iterations:1000.

sv total:101.

Esta configuraci´on, id´entica a la anterior pero con la base de datos de peatones del MIT tampoco arrojo resultados satisfactorios, sin embargo el conteo de vectores de soporte fue menor, identifica un n´umero mayor de peatones pero en su gran mayor´ıa siguen sin detectarse.

3. Positivas: 924, Negativas: 800, Base de datos: MIT, Modo: AUTO.

C:1.0000000000000001e-001.

epsilon:2.2204460492503131e-016.

iterations:1000.

sv total:179.

Esta configuraci´on tuvo resultados insatisfactorios pero los vectores de soporte son mucho menores en comparaci´on a las dos anteriores.

4. Positivas: 10, Negativas: 10, Negativas Dif´ıciles: 10, Base de datos: PROPIA, Modo: MANUAL. C:1.

epsilon:2.2204460492503131e-016.

iterations:10000.

sv total:16.

Este fue el primer caso donde se implement´o un m´etodo de recursi´on al realizar el entrenamiento de la m´aquina de soporte vectorial. El m´etodo no tuvo mucho ´exito en mejorar el desempe˜no de la m´aquina. El conteo de vectores de soporte es alto.

5. Positivas: 10, Negativas: 10, Base de datos: PROPIA, Modo: AUTO. C:1.

epsilon:2.2204460492503131e-016.

iterations:100000.

sv total:9.

Este es el primer caso que satisfactoriamente detecta la mayor´ıa de las personas, sin embargo las clases se invierten despu´es del entrenamiento. Tiene un bajo conteo de vectores de soporte.

2N´umero m´aximo de iteraciones realizados para hallar la soluci´on al problema de optimizaci´on.

(38)

4.6. CLASIFICACI ´ON Y SEGUIMIENTO CAP´ITULO 4. DESARROLLOS

6. Positivas: 10, Negativas: 10, Base de datos: PROPIA, Modo: MANUAL.

C:2.

epsilon:9.9999997764825821e-003.

iterations:2147483647.

sv total:14.

Este caso tiene un muy buen rendimiento, detecta aproximadamente al 90 % de las personas en la escena de caracterizaci´on. Aunque el conteo de vectores de soporte es mayor al parecer la combinaci´on de par´ametros funciona mejor que los casos anteriores. Esta configuraci´on se hall´o siguiendo la tendencia de cada par´ametro hacia donde mejor trabaja.

7. Positivas: 33, Negativas: 10, Negativas Dif´ıciles: 10 Base de datos: PROPIA, Modo: AUTO.

C:1.0000000000000001e-001.

epsilon:2.2204460492503131e-016.

iterations:10000.

sv total:14.

Primer caso con el segundo m´etodo de recursi´on, tuvo resultados insatisfactorios.

8. Positivas: 35, Negativas: 33, Negativas Dif´ıciles: 10, Base de datos: PROPIA, Modo: MANUAL.

C:2.

epsilon:9.9999997764825821e-003.

iterations:2147483647.

sv total:14.

Este caso tuvo un buen resultado, detectando aproximadamente el 85 % de los peatones en escena. Las clases resultan invertidas. El conteo de vectores de soporte es bajo.

9. Positivas: 35, Negativas: 33, Base de datos: PROPIA, Modo: AUTO. C:1.0000000000000001e-001.

epsilon:2.2204460492503131e-016.

iterations:100000.

sv total:39.

Este caso tuvo el peor resultado, no detecto ning´un peat´on en escena. El conteo de vectores de soporte es alto.

10. Positivas: 35, Negativas: 33, Base de datos: PROPIA, Modo: MANUAL.

C:2.

epsilon:9.9999997764825821e-003.

iterations:2147483647.

sv total:36.

Este caso tuvo muy buen resultado, 90 % de las personas detectadas. Tambi´en detecto como falsos positivos algunas sillas. El vector de soporte es alto.

(39)

4.7. PROTOCOLO DE PRUEBAS CAP´ITULO 4. DESARROLLOS

4.6.3. DWT

Para este descriptor se probaron diferentes configuraciones de la m´aquina de soporte vectorial para buscar una configuraci´on funcional. Solo se utiliz´o la base de datos de peatones propia bas´andose en los resultados del entrenamiento del vector HOG donde las dem´as bases de datos no dieron ning´un resultado satisfactorio. A pesar de probar diferentes configuraciones con el vector DWT normalizo y en valor absoluto, la m´aquina de soporte vectorial no respondi´o adecuadamente a las im´agenes de prueba. En esta secci´on se resumen los resultados que dio la m´aquina de soporte vectorial.

1. Positivas: 35, Negativas: 33, Base de datos: PROPIA, Modo: MANUAL, kernel: LINEAL, Mues-tras: 5000

C= 2.

epsilon:9.9999997764825821e-003. iterations: 2147483647.

sv total: 0

Ninguna prueba de caracterizaci´on realizada con el kernel lineal presenta buenos resultados.

2. Positivas: 35, Negativas: 33, Base de datos: PROPIA, Modo: AUTO, kernel: RBF, Muestras: 5000

C:1.0000000000000001e-001.

epsilon:1.1920928955078125e-007 iterations:1000.

sv total:64

Las pruebas realizadas utilizando kernel RBF resultaron en un alto n´umero de vectores de soporte lo que indica que la mayor´ıa de las muestras est´an cerca del hiperplano de separaci´on lo que de acuerdo a la teor´ıa de la m´aquina de soporte vectorial no es algo deseable al clasificar.

4.7.

Protocolo de Pruebas

Se tiene una base de datos de videos de peatones grabados desde una vista superior y en diferentes ´angulos. Se tomaron 8 videos en el campus de la universidad y 42 videos en escenarios anteriores, de hasta 30 segundos cada uno. Normalmente en un video no toda la escena son puntos de inter´es para las posibles finalidades de una aplicaci´on como la desarrollada, en los cuales no se deber´ıa realizar an´alisis. Estos sectores de inter´es se definen realizando una descripci´on de cada una de las escenas sobre las cuales se van a realizar las pruebas, definiendo mediante un criterio predeterminado donde se va a realizar el an´alisis. Estos criterios pueden estar definidos por un requerimiento espec´ıfico, por ejemplo una entrada o un espacio restringido o mediante reglas de conducta dado que los objetos a identificar son personas.

Despu´es de identificar las ´areas de inter´es en la escena se aplican ambos m´etodos del algoritmo, el seguimiento por clasificaci´on y el seguimiento por la cuadricula de 2x3 de instancias de HOG y DWT. Para evaluar se tienen las siguientes referencias:

Conteo manual de personas en la cuadricula de 2x3.

Validaci´on cruzada de los resultados de ambos m´etodos de detecci´on.

(40)

4.7. PROTOCOLO DE PRUEBAS CAP´ITULO 4. DESARROLLOS

4.7.1. Descripci´on de las Escenas

Las escenas sobre las cuales se trabaj´o se presentan en la figura 32, se realiz´o una descripci´on utilizando segmentaci´on por colores. En la figura 32a se pueden observar dos sectores, el verde representa lugares donde las personas podr´ıan transitar con mayor probabilidad dado que es su espacio definido. El azul representa un lugar que no est´a designado para transitar pero podr´ıan haber personas quietas o transitando en situaciones menos comunes. En esta escena el sector azul fue designado porque es un ahora donde las personas entran a sentarse, por lo que normalmente no habr´a mucho movimiento, adem´as para salir deben pasar por el sector verde. Por lo tanto el ´area de inter´es del video a analizar es la verde. Esta es la escena en la cual se realizaron las caracterizaciones.

La escena ilustrada en la figura 32b Es el mismo lugar de la Escena 1, sin embargo presenta un sector adicional. Los sectores rojos representan sitios que por reglas no deben ser transitados por peatones, por lo que no tiene normalmente no tendr´ıa sentido realizar el an´alisis en estos lugares. En la escena esto representa la carretera.

(41)

4.7. PROTOCOLO DE PRUEBAS CAP´ITULO 4. DESARROLLOS

(a) Descripci´on Escena 1 (b) Descripci´on Escena 2

(c) Descripci´on Escena 3 (d) Descripci´on Escena 4

(e) Descripci´on Escena 5 (f) Descripci´on Escena 6

(g) Descripci´on Escena 7 (h) Descripci´on Escena 8

[image:41.612.137.506.60.588.2]

(i) Descripci´on Escena 9

(42)

5 An´

alisis de resultados

5.1.

Resultados HOG

El algoritmo HOG funciona bien como era de esperarse dado que ya se ha implementado de diferentes trabajos[13][12][4][5], en la figura 33 se pueden observar los resultados de la clasificaci´on para la primera escena. El resumen de los resultados obtenidos en esta escena para el algoritmo HOG se presentan en las tablas 1 y 2. Estas tablas consignan las detecciones satisfactorias para cada uno de los videos analizados en la escena 1. Se tienen dos medidas diferentes, la consignada por el cambio en la cuadricula, quiere decir que se detect´o un objeto tanto en el algoritmo HOG como el algoritmo DWT en las ventanas de detecci´on y la medida con la m´aquina de soporte vectorial, realizando un barrido por la escena, cuando satisfactoriamente se clasifico por el 80 % del n´umero de frames que se encuentra la persona dentro de la cuadro de detecci´on.

Figura 33: Resultados de la clasificaci´on para el video 1.

Tabla 1: Resumen de resultados de HOG para el video 1 de la escena 1.

Video 1

Frame Cuadricula SVM Manual

125 1 1 1 0 0

225 1 0 1 0 1

238 1 1 1 0 0

304 1 1 1 0 0

304 1 0 1 0 1

566 1 1 1 0 0

MSE 1 0 0.33333

Las tablas

Las tablas 1, 2, 3, 4 presentan el resumen de resultados para dos videos tomados en la escena 1. Este tiene un particularidad y es que toda la iluminaci´on dentro de la escena es uniforme, por lo que el algoritmo funciona muy bien con la muestra de personas con la que se entren´o. Como se puede observar el error no es muy grande tanto en la m´aquina de soporte vectorial como en la cuadricula. El m´aximo error es de 0,45 en el

video 2 de la m´aquina de soporte vectorial pero esto se debe a que el n´umero de muestras de entrenamiento no es lo suficientemente grande para realizar una clasificaci´on ideal. Como regla general se dice que entre mayor sea la muestra de entrenamiento mayor es la precision de entrenamiento. La ´unica escena en la que se muestran gr´aficas individuales es la 1 porque es la misma informaci´on contenida en las tablas. Estas gr´aficas se ilustran en la figura 34.

(43)

5.1. RESULTADOS HOG CAP´ITULO 5. AN ´ALISIS DE RESULTADOS

Tabla 2: Resumen de resultados de HOG para el video 2 de la escena 1.

Video 2

Frame Cuadricula SVM Manual Err. Cuad Err. SVM

128 1 1 1 0 0

150 1 0 1 0 1

150 1 0 1 0 1

156 1 1 1 0 0

156 1 0 1 0 1

156 1 0 1 0 1

191 1 1 1 0 0

191 1 0 1 0 1

300 1 1 1 0 0

300 1 1 1 0 0

362 0 1 1 1 0

MSE 0.09090909 0.454545455

Tabla 3: Resumen de resultados de HOG para el video 3 de la escena 1.

Video 3

Frame Cuadricula SVM Manual

215 0 1 1 1 0

282 1 1 1 0 0

283 1 0 1 0 1

300 1 1 1 0 0

422 0 1 1 1 0

491 1 1 1 0 0

[image:43.612.163.475.96.301.2]

MSE 0.333333 0.166667

Tabla 4: Resumen de resultados de HOG para el video 4 de la escena 1.

Video4

Frame Cuadricula SVM Manual Err. Cuad Err. SVM

68 1 1 1 0 0

68 1 0 1 0 1

184 0 1 1 1 0

304 1 1 1 0 0

304 1 0 1 0 1

526 1 0 1 0 1

575 1 1 1 0 0

575 1 0 1 0 1

Figure

Figura 1: Diagrama general del algoritmo HOG de Dalal y Triggs.[3]
Figura 2: Regiones HOG.
Figura 3: Algoritmo Descriptivo.
Figura 4: Interfaz de la aplicaci´on.
+7

Referencias

Documento similar

Un método de estudio aparte de ser una herramienta muy útil al momento de estudiar también nos ayuda a agilizar nuestra mente y tener una buena memoria para futuro?. Palabras

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Cada época, a través de la poesía, avanza sus propias reivindicaciones, y el lector de este libro, ante todo, descubrirá cuán fecunda es hoy en día la lectura de José

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

La invalidez en el MMPI por no respuestas no se considera criterio positivo (sólo se puede considerar tal posibilidad en caso de daño neurológico que justifique tal estilo

Como análisis de la gráfica anterior, destacamos que durante el proceso de aceleración encontramos una serie de valores de BIAS RATIO que supere el máximo

PLAN DE NEGOCIOS DE UN RESTAURANTE QUE POSTERIORMENTE SIRVA COMO BASE PARA LA CREACIÓN DE UNA FRANQUICIA COLOMBIANA, COMERCIALIZADORA DE ALITAS DE POLLO A DOMICILIO Y EN PUNTO