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.K(χi,χj) =
χiTχj.
• POLY:Kernel polinomialK(χi,χj=γ χ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.K(χiχj) =e−γkχi−χjk
2
,γ>0.
• SIGMOID:Kernel sigmoid.K(χi,χj) =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