• No results found

Aunque esta operaci´on no tiene mucho sentido porque el tipo de datos y la forma en que cada algoritmo extrae datos es diferente, pero de igual manera se intent´o realizar y de acuerdo a la gr´afica 28 los valores no cambian mucho de una iteraci´on a la siguiente.

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ρ.

Como practica regular se inici´o la implementaci´on utilizando la maquina C SVC con 2 clases y diferentes im´agenes de entrenamiento de la escena con la que se ha hecho todo el desarrollo. Los par´ametros de la m´aquina de soporte C SVC son los siguientes:

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.

Ademas de la base de datos propia se utilizaron en la caracterizaci´on las bases de datos de peatones del MIT(figura 31) e INRIA(figura 30).

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

(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.

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. 3Conteo total de vectores de soporte

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.

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.

Si ambas referencias coinciden con los resultados de la prueba se contara como un positivo. Si cualquiera de los dos m´etodos presenta un comportamiento similar al obtenido con las personas con alg´un otro objeto en la escena se tendr´a un falso negativo. Adem´as de esto para cada prueba se tiene una ruta registrada por observaci´on y una ruta registrada en la cuadricula, estas deben coincidir.

4.7. PROTOCOLO DE PRUEBAS CAP´ITULO 4. DESARROLLOS