Documente Academic
Documente Profesional
Documente Cultură
CODEBOOK Y FGDSTATMODEL.
Director
Julin Armando Quiroga Seplveda
Ingeniero Electrnico, M. Sc.
III
NOTA DE ADVERTENCIA
La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus
proyectos de grado. Slo velar porque no se publique nada contrario al dogma y la moral
catlica y porque los trabajos no contengan ataques o polmicas puramente personales. Antes
bien, que se vea en ellos el anhelo de buscar la verdad y la justicia.
IV
AGRADECIMIENTOS
Para lograr los objetivos de este trabajo de grado fue necesario que sus autores invirtieran gran
esfuerzo y dedicacin, sin embargo no hubiera sido posible sin el apoyo y colaboracin de
muchas personas. Queremos resaltar la maravillosa labor de apoyo y respaldo de nuestras
familias y seres queridos en el proceso.
A nuestro director de tesis Ing. Julin Quiroga, por su paciencia y apoyo incondicional. Y a Dios
por encima de todas las cosas por darnos la fortaleza y energa para culminar esta labor.
VI
TABLA DE CONTENIDO
TABLA DE CONTENIDO
INDICE DE FIGURAS ..
I
II
IV
VI
1. INTRODUCCIN
2. MARCO TERICO
2
3
3
6
6
6
9
11
11
11
11
12
13
14
14
16
17
17
17
18
19
20
20
20
20
24
27
27
28
29
29
31
32
INDICE DE FIGURAS
II
NDICES DE TABLAS
13
15
16
FGDStatModel .
Tabla 5 Resultado de evaluacin variando frames de entrenamiento en FGDStatModel.
21
22
22
23
23
23
Codebook..
Tabla 14 Resultados de Variacin de frames para Codebook..
Tabla 15 Resultados de Variacin de cvBounds para Codebook
Tabla 16 Resultados de Variacin de modMin y modMax para Codebook....
Tabla 17 Resumen de parmetros para FGDStatModel para los 3 videos de prueba.
Tabla 18 Valores de error y tiempo con los parmetros de estudio para FGDStatModel......
Tabla 19 Resumen de parmetros para Codebook con los 3 videos de prueba..
Tabla 20 Valores de error y tiempo con los parmetros de estudio para Codebook...
Tabla 21 Valores de parmetros de comparacin para de los algoritmos ....
Tabla 22 Resumen de resultados de FGDStatModel y Codebook...
III
23
24
24
24
25
25
26
27
27
28
28
29
29
LISTA DE ANEXOS
IV
1.
INTRODUCCIN.
2.
MARCO TEORICO.
El primer plano de una imagen se define como el conjunto de pxeles pertenecientes a objetos ajenos al
fondo de la escena, en el caso particular de este trabajo, donde se tienen video tomados con una cmara
esttica, es considerado como la regin de la imagen que cambia conforme pasa el tiempo en una escena
con el mismo fondo, es decir objetos (vehculos) que por lo general estn en movimiento. Por otro lado el
fondo de la imagen hace referencia a todos los pixeles de la imagen que no cambian conforme pasa el
tiempo o cuyos cambios no son tan notables conforme pasa el tiempo. El fondo de un video no siempre es
constante, puede presentar variaciones suaves y es por esto que debe actualizarse cada cierto intervalo de
tiempo.
En la Figura 3(a) se muestra una imagen de un video con 2 vehculos, en ese caso particular, los 2
vehculos en movimiento son el primer plano, ese primer plano se resalta en color blanco en una imagen
binarizada y se muestra en la Figura 3(b). De igual forma se muestra en la Figura 3(c) el fondo del video,
que sera la carretera o pavimento.
Figura 3 Ejemplo de imagen en video de inters (a) Ejemplo de primer plano de imagen a (b) Ejemplo de fondo de imagen a (c).
2.2.
La estadstica inferencial o inferencia estadstica es una rama de la estadstica que se encarga de predecir
y sacar conclusiones para una poblacin tomando como base una muestra de dicha poblacin [3]. En ese
mismo orden de ideas, la poblacin hara referencia a un conjunto de elementos o individuos de inters.
La inferencia bayesiana es un tipo de inferencia estadstica, en la cual para estimar la probabilidad de que
una hiptesis dada sea cierta, se utiliza un intervalo que tenga alta probabilidad de que dicha hiptesis sea
cierta, as como las observaciones previas se utilizan para estimar la probabilidad de que la hiptesis
pueda ser cierta. Se le denomina bayesiana porque en el proceso de inferencia se utiliza el teorema de
Bayes [4].
2.3
TEOREMA DE BAYES
El teorema de Bayes es uno de los ms importantes teoremas en la estadstica, porque permite aprender de
la experiencia. Esta regla, permite calcular cmo se modifican las probabilidades de determinados
sucesos, a partir de algn tipo de informacin adicional conocida. Este teorema es considerado la base
de la inferencia bayesiana y puede llegar a generalizarse a un mayor nmero de sucesos (ms de 2). El
teorema de Bayes permite calcular la probabilidad de cierto suceso a partir de la probabilidad conocida
de otro suceso que ya pas y que se relaciona con el que se busca [5].
Definicin: Sea el conjunto de eventos mutuamente excluyentes {A1,A3,...,Ai,...,An} de probabilidad no
nula, tales que la probabilidad de cada uno de ellos es distinta de cero. Sea cualquier suceso B del que se
conocen las probabilidades condicionales de B dado que ocurra cualquier evento A (P(B | Ai)). Entonces,
la probabilidad de Cualquier evento A dado que ocurri B (P(Ai | B)) viene dada por la expresin :
dnde:
P A B
se obtiene la Frmula de
P( B)
Bayes: [6]
Para hacer ms claridad en este concepto, se enuncia el siguiente ejemplo sobre cmo aplicar el
teorema de Bayes:
P( Ai / B)
0,50*0, 20
(0,50*0, 20) (0,30*0,10) (0, 20*0, 05)
P( Ai / B)
0,30*0,10
(0,50*0, 20) (0,30*0,10) (0, 20*0, 05)
P( Ai / B)
0, 20*0, 05
(0,50*0, 20) (0,30*0,10) (0, 20*0, 05)
0,114 R
Y 0, 299 0,587
U 1,147 0, 289 0, 436 G
V 0, 615 0,515 0,100 B
2.5 ALGORITMOS DE ESTIMACIN DE PRIMER PLANO
Un algoritmo de estimacin de primer plano es una secuencia de funciones que permiten procesar
una trama de imgenes obteniendo como resultado los objetos de primer plano en la imagen.
2.5.1
FGDStatModel.
FGDStatModel propuesto por Li, Liyuan et al [24], es un algoritmo usado para detectar y estimar el
primer plano de un video basado en la deteccin y clasificacin del cambio. Este algoritmo recibe una
secuencia de video y entrega una imagen binarizada resaltando los objetos de primer plano como se
muestra en la figura 4.
Secuencia
de video
FGDStatModel
Imagen
binzarizada
resaltando el
primer plano
Las operaciones realizadas comparan el frame actual con el anterior y el frame actual con el fondo de
referencia, a estos procesos se les llama diferencia temporal y diferencia de fondo respectivamente. Si la
variacin del pixel respecto al de comparacin supera un umbral de cambio, el cual se determina a partir
de la varianza de las diferencias entre pixeles de cada par de frames, se clasifican los pixeles como pixeles
mviles o pixeles estacionarios.
Los pixeles mviles son aquellos que al compararse variaron su valor por encima del umbral de cambio,
es decir las componentes de color superaron el umbral de variacin del color. Un pixel es clasificado
como estacionario si el resultado de la comparacin entre par de pixeles no supera el umbral de cambio de
color.
Pixel movil
Frame
anterior
Resultado de
comparacin
Frame
actual
Video
Pixel
estacionario
Pixel Movil
Fondo de
referencia
Resultado
comparacin
Pixel
estacionario
Para el caso en que el pixel es clasificado como estacionario, se genera un vector con la informacin de
color caracterstico de ese pixel Ct rt , gt , bt , para el caso en que se tienen pixeles mviles, se genera
T
un vector con la informacin de co-ocurrencia de color, es decir con las componentes actuales de color del
pixel y con la informacin de color del pixel justo en el instante de tiempo
anterior
T
CCt rt 1 , gt 1 , bt 1 , rt , gt ,bt . De esta forma se definen Ct o CCt como las componentes de color y
co-ocurrencia de color.
Paso 2 Clasificacin de cambio.
Luego de la deteccin de movimiento y la clasificacin inicial de pixeles (estacionarios o mviles), estos
son clasificados nuevamente en dos grupos: pixeles de primer plano o pixeles de fondo. Esta clasificacin
se hace por separado, es decir, cada uno de los grupos en los que anteriormente se haban clasificado los
pixeles, se clasifica nuevamente de forma independiente.
Sea st
asociada a cada pixel st en el instante de tiempo respectivo, la cual consta de: valores de las componentes
del pixel que tambin es llamado vector caracterstico del pixel vt , el valor de probabilidad de que las
componentes del pixel sean igual a vt P(v s) , y el valor de la probabilidad de que el pixel tenga el color
dado que el pixel ha sido clasificado como fondo P(v b, s) . Esta informacin del pixel st se encuentra
en una tabla llamada tabla de estadsticas de caractersticas.
Siendo Ct
o CCt
mviles respectivamente, y teniendo las tablas de estadsticas de las imgenes, se comparan Ct o CCt
con los primeros vectores de caractersticas del pixel en la tabla de estadsticas de fondo. A partir de esta
comparacin se obtienen las probabilidades que tienen las caractersticas del pixel de pertenecer a las
almacenadas en las tablas de color y co-ocurrencia de color, es decir, se encuentran las probabilidades de
qu tan cercana es la caracterstica del pixel respecto a la que se tiene almacenada en la tabla. Con este
proceso, al terminar de recorrer una imagen se recopila la informacin necesaria para determinar si los
pixeles pertenecen al fondo o primer plano.
Pixel movil
Frame anterior
Diferencia Temporal
CLASIFICACION POR
COLOR
Pixel estacionario
Video
CLASIFICACION POR
CO-OCURRENCIA DE
COLOR
Frame actual
PRIMER PLANO
Pixel Movil
Fondo de referencia
Diferencia de Fondo
Pixel estacionario
FONDO
Operaciones
morfologicas
SALIDA
2.5.2
Codebook.
Codebook [23] es un algoritmo de sustraccin de fondo, que tiene el propsito de muestrear valores de los
pixeles a lo largo del tiempo, sin necesidad de hacer clculos matemticos avanzados.
El algoritmo Codebook realiza la deteccin y segmentacin de los objetos de primer plano en un video en
dos etapas. La primera consiste en el entrenamiento del algoritmo, donde al recorrer cada frame del video
se obtienen los valores de las componentes en el espacio YUV para todos los pxeles que componen dicho
frame. Estos valores se almacenan en vectores de caractersticas denominados codewords. El nmero de
codewords en un pxel vara segn los cambios en las caractersticas del pxel a lo largo del tiempo. Todos
los codewords para un pxel se almacenan en un codebook. De esta forma, en una imagen hay tantos
codebooks como pxeles posea. Cada pixel tiene un tamao de Codebook diferente y este depende del
muestreo de la variacin del pixel. Los datos previos a esta etapa no pueden ser clasificados por Codebook
como fondo o primer plano, ya que son usados como informacin de entrenamiento.
Durante el entrenamiento, cada muestra del pxel que se analiza se compara con su respectivo codebook,
para determinar si hay alguna coincidencia entre las caractersticas del pxel y los codewords
almacenados. Si hay coincidencia se actualiza el codeword previamente creado. En el caso en que no haya
coincidencia, se crea un nuevo codeword. El conjunto de todos los codebooks obtenidos mediante el
entrenamiento, uno por cada pxel, conforman el modelo de fondo para el video.
Una vez se concluye la etapa de entrenamiento, se utiliza el modelo de fondo para comparar pxel a pxel
los codewords almacenados con las caractersticas en cada frame. Si hay coincidencia entre ellos se
clasifica el pxel como fondo. En caso contrario se dice que el pixel pertenece al primer plano del video.
Codebook [23] posee cuatro principales caractersticas mencionadas a continuacin:
o
o
o
o
Entrenamiento sin restricciones, lo que permite que hayan objetos mviles de primer plano en la
escena durante el perodo de entrenamiento.
Rapidez en la ejecucin, debido a que no requiere de anlisis probabilsticos en la clasificacin de
fondo o primer plano.
Codebook [23] recibe un video y lo procesa, entrenando tantos frames como lo tenga definido. Una vez
han transcurrido los frames de dicho entrenamiento, se cuenta con la informacin suficiente para poder
iniciar el proceso de clasificacin de pixeles (uno a uno) de la imagen de entrada, que bsicamente es una
comparacin de la informacin que encontr como caractersticas fundamentales de pixeles de fondo para
el caso entrenado. Con dicha informacin se puede determinar si el pixel puede o no ser clasificado como
fondo o primer plano, teniendo en cuenta que si no pertenece a uno, automticamente cae en la otra
clasificacin.
Finalmente Codebook almacena para cada pixel de la imagen, las caractersticas de color que permiten
clasificar el pixel por medio de codebooks. Con el conjunto de estos codebooks se obtiene un modelo de
fondo del video.
En la figura 9 se muestra el diagrama de bloques de este algoritmo.
Caractersticas de
frames de fondo
Video
ENTRENAMIENTO
CLASIFICACIN
PRIMER PLANO
FONDO
Frames de
clasificacin
10
SALIDA
Falsas Aceptaciones.
Las falsas aceptaciones (FA) son errores que se presentan cuando el resultado muestra pixeles que
realmente no hacen parte del primer plano de la imagen. Este tipo de error se ilustra en la figura 9.
Figura 8 Ejemplo de error de Falsa Aceptacin (FA). a) Imagen de primer plano de referencia, b) imagen de primer plano encontrada, c) error de
falsa aceptacin.
3.1.2
Falsos Rechazos.
Los falsos rechazos (FR) son errores que se presentan cuando el resultado no muestra pixeles que si
hacen parte del primer plano de la imagen. Este tipo de error se ilustra en la figura 10.
Figura 9. Ejemplo de error de Falso Rechazo (FR). a) Imagen de primer plano de referencia, b) imagen de primer plano encontrada, c) error de
falso rechazo.
11
Figura 10. Ejemplo de imgenes con segmentacin manual (abajo) e imagen resultado del algoritmo (arriba).
12
Videos tomados a cierta altura de la calle que permite visualizar los carriles por donde
transitan los vehculos.
Finalmente fueron seleccionados 3 videos que cumplan con las caractersticas mencionadas
anteriormente y con estos se llevaron a cabo los procesos y pruebas que se mencionan ms adelante.
Los videos hacen parte de la base de datos del grupo de investigacin SIRP [29] de la Pontificia
Universidad Javeriana. Los seleccionados para la aplicacin puntual de este trabajo, fueron tomados a
30 y 125 frames por segundo, a cierta altura del piso que permite visualizar los carriles de las calles por
donde circulan vehculos, en algunos casos estos videos incluyen parte del andn, registrando los
peatones que por all transitan, la informacin bsica de los videos est en la tabla 1.
Tabla 1
Informacin de videos seleccionados.
Nombre
Video1_30fps.avi
Video2_30fps.avi
Video3_125fps.avi
30 640 x 480
13
Figura 11. Ejemplo de frames de evaluacin (izquierda) con su respectiva segmentacin manual (derecha).
14
.
Los parmetros de entrada son los que se mencionan en la tabla 2.
Tabla 2
Parmetros de entrada de FGDStatModel y valores por defecto
Nombre
Niveles de cuantificacin para color
Nmero de vectores de color usados para el
modelo de la variacin de fondo.
Nmero de vectores de color recordados para un
pixel dado.
Nmero de cuantificacin para co-ocurrencia de
color
Nmero de vectores de co-ocurrencia de color
usados para el modelo de la variacin de fondo.
Nmero de vectores de co-ocurrencia de color
recordados para un pixel dado.
Alfa 1: qu tan rpido olvida valores de fondo
viejos
Alfa 2: Controla la velocidad de aprendizaje de
caractersticas.
Alfa 3: Se alterna con Alfa 2.
Delta: Afecta la cuantificacin de color y coocurrencia de color.
Valor en porcentaje que determina cuando
pueden ser reconocidas nuevas caractersticas
como un nuevo fondo.
Ignora los blobs cuando su bounding box es ms
pequeo que este umbral.
Valor
Smbolo por
defecto.
LC
128
N1C
15
N2C
25
LCC
64
N1CC
25
N2CC
40
alpha1
0.1
alpha2
0.005
alpha3
0.1
delta
0.9
minArea 15
A la versin que se us de FGDStatModel, se le adicionaron algunas funciones y lneas cuyo objetivo era
extraer la informacin relevante y calcular qu tan bien estaba trabajando el algoritmo. De esta manera, se
obtuvo la cantidad de frames encontrados como primer plano y los respectivos valores de los tipos de error
del algoritmo que era evaluado en cada uno de los 15 frames de evaluacin seleccionados y cuya
segmentacin manual de objetos de primer plano se tena almacenada.
15
Descripcin
Nombre
Valor por
defecto.
Umbral de aprendizaje
cvBounds[3]
[10,10,10]
modMin[3]
[3,3,3]
modMax[3]
[10,10,10]
16
nframesToLearnBG
300
PRUEBAS
Para poder determinar si los algoritmos tenan un buen comportamiento durante su ejecucin y saber si
obtenan un buen resultado, se implementaron pruebas con cada uno. Para tener resultados bajo las
mismas condiciones de procesamiento, se efectuaron todas las pruebas en un mismo computador
porttil marca ASUS, modelo U30JC-QX240V con procesador Intel Core i5 460M de 2,53 Ghz con
turbo boost hasta 2,8Ghz, de doble nucleo, memoria RAM de 4 GB a 1333Mhz, con tarjeta de video
Nvidia GeForce 310M de 512Mb. La plataforma utilizada fue OpenCV 2.1, en el compilador DevC++
4.9.9.2 y en el sistema operativo Windows 7 Home Premium edicin de 64 bits.
4.1 CALCULO DE ERROR DEL PRIMER PLANO
Las imgenes de segmentacin manual, tomadas como referencia a la hora de validar los resultados de
los algoritmos, arrojan la informacin necesaria para calcular el valor de los errores al compararla con
el resultado de los algoritmos, dicha comparacin se hace de la siguiente forma:
Con los valores de error FA, FR y la cantidad de pixeles de primer plano encontrados para cada
frame se hace una sumatoria de estos valores para 15 frames de evaluacin, obteniendo un valor
total para FA en el video, otro valor para FR y un valor total de pixeles de primer plano que se
usa como valor de normalizacin del error.
17
Se calcularon los errores de FA y FR para cada una de las 15 imgenes de evaluacin, con cada
configuracin de prueba.
Para calcular el nmero de pixeles que corresponden a cada error y al primer plano de
referencia se us una funcin encargada del clculo de error, haciendo un conteo de pixeles de
falsa aceptacin y falso rechazo.
La seleccin de los parmetros, se realiz teniendo como base encontrar el menor error en el
resultado del algoritmo.
El algoritmo entrena tantos frames como se le indique, desde el frame a evaluar hacia atrs, de
tal forma que si el frame a evaluar es el 100, y el algoritmo entrena 40 frames, iniciara su
entrenamiento desde el frame 59 hasta el 99 para evaluar el frame 100.
Se verificaron los resultados en la tabla respectiva, y se tom el menor valor de los frames de
entrenamiento a partir del cual el error del resultado no variaba significativamente.
Con el menor valor seleccionado para los frames de entrenamiento, se realiz la variacin para
los niveles de cuantificacin por color, Lc. Esta variacin se hizo desde 2 hasta 128 niveles.
Nuevamente se observaron los resultados en las tablas y se escogi el valor ms bajo para Lc .
18
Con los parmetros anteriormente establecidos, se realizaron las variaciones para los valores de
co-ocurrencia de color, de forma semejante al procedimiento anterior, se varan los niveles de
cuantificacin para co-ocurrencia de color, Lcc. Para este parmetro se hizo el recorrido desde
2 hasta 64 niveles de cuantificacin, se almacenaron los resultados y se obtuvo as el valor para
Lcc.
Con el parmetro Lcc encontrado se hizo la bsqueda de los valores de N1cc y N2cc.
Aplicando la relacin encontrada para color en los vectores de co- ocurrencia, N2cc=2*N1cc,
por lo tanto el recorrido para estos parmetros se hizo desde N1cc=2, N2cc=4 hasta N1cc=30,
N2cc=60.
Los dems parmetros de FGDStatModel se dejaron con el valor predeterminado debido a que
al realizar variaciones de estos parmetros no se encontr una variacin notable respecto a sus
valores por defecto.
A partir de los mismos videos evaluados con FGDStatModel, se realiz un proceso similar,
esta vez utilizando el algoritmo Codebook.
Por ltimo se realiz la variacin del valor de los umbrales de clasificacin modMin y
modMax desde 0 hasta 50, en sus tres componentes. Se seleccion el valor de umbral que
menor error arrojaba.
19
20
Tabla 4.
Resultados de evaluacin con Video1, 2 y 3 con parmetros por defecto de FGDStatModel.
Defecto Video1
Defecto Video2
Defecto Video 3
TIEMPO DE EJECUCIN(s)
3257,956389
TIEMPO DE EJECUCIN(s)
2298,15491
TIEMPO DE EJECUCIN(s)
3268,81185
ERROR
FA
FR
SEG
36%
42883 19941 173738
ERROR
FA
FR
SEG
21%
53452 57434 530611
ERROR
FA
FR
SEG
36%
4092 71787 213551
Una vez evidenciado el comportamiento del algoritmo por defecto se aplic el protocolo de pruebas con
los 3 videos variando uno a uno los parmetros de entrada.
En las tablas de resultados de las pruebas se muestran los siguientes valores: FALSAS ACEPTACIONES:
es el valor normalizado del error FA, FALSOS RECHAZOS: es el valor normalizado de FR, FA+FR: es
la suma de los valores normalizados de error y en la columna de la derecha se tienen los valores del
parmetro de variacin en la prueba.
En las tablas 7 a 13 se relacionan los valores seleccionados de los resultados, las tablas con toda la
informacin se encuentran en el Anexo 1.
En la figura 14 se encuentra un ejemplo de la grfica de resultados obtenida con la variacin del parmetro
frames de entrenamiento con las configuraciones de prueba. En estas grficas de resultados, en el eje
horizontal siempre se encontrar el parmetro de variacin mientras que en el eje vertical est el valor de
los diferentes errores. Las grficas son el resumen de las tablas de resultados y a partir de estas grficas
con sus respectivas tablas de valores, se obtienen los valores seleccionados para las diferentes
configuraciones de prueba del algoritmo. Las grficas se pueden encontrar en el Anexo 1.
En la tabla 7, se encuentra el resultado de las variaciones de frames de entrenamiento, en la tabla 8 se
encuentran los resultados para variaciones de niveles de cuantificacin de color, en la tabla 9 se relacionan
los resultados de las variaciones de N1c y N2c. De forma semejante se encuentran los valores de los
resultados de las pruebas para Lcc, N1 y N2cc en las tablas 10, 11 y 12 respectivamente. Para el caso de
alpha1, alpha2, alpha3 y T se dejaron los valores por defecto. Para el caso de delta se encontraron los
valores relacionados en la tabla 12 y los resultados obtenidos al variar minArea se relacionan en la tabla
13.
Figura 12 Grfica de error con prueba de variacin de frames de entrenamiento para Video 1 con FGDStatModel.
21
Tabla 5
Resultado de evaluacin variando frames de entrenamiento en FGDStatModel.
Tabla 6
Ejemplo de tabla de resultados de evaluacin obtenidos variando Lc en FGDStatModel en Video 1.
FA
0,143998
0,145017
0,154986
0,177451
0,197602
0,213264
0,224781
0,232569
0,235953
0,237375
0,238025
0,238681
0,239332
0,240051
FR
0,558882
0,448376
0,321824
0,23974
0,186114
0,158325
0,142404
0,136009
0,13251
0,132665
0,130277
0,127963
0,127928
0,12695
FA+FR
Lc
0,70288
0,593394
0,47681
0,417191
0,383716
0,371588
0,367185
0,368578
0,368463
0,37004
0,368302
0,366644
0,36726
0,367001
% de Error
Total
2
4
6
8
10
12
14
16
18
20
22
24
26
28
Figura 13 Grfica de error con prueba de variacin de Lc para Video 1 con FGDStatModel
22
59%
48%
42%
38%
37%
37%
37%
37%
37%
37%
37%
37%
37%
Tabla 7
Resultados de evaluacin variando Lc en FGDStatModel.
Figura 14 Grfica de error con prueba de variacin de Lcc para Video 1 con FGDStatModel
Tabla 9
Resultados de evaluacin variando Lcc en FGDStatModel
Video de prueba
FALSAS ACEPTACIONES
FALSOS RECHAZOS
FA + FR
Lcc
0,20144125
0,18859432
0,39003557 18
0,09259137
0,14687973
0,2394711 20
0,01892288
0,36024182
0,3791647 18
Tabla 10
Resultados de evaluacin variando N1cc y N2cc en FGDStatModel
Video de
prueba
1
2
3
23
Tabla 11
Resultados de evaluacin variando delta en FGDStatModel
Video de
prueba
FALSAS ACEPTACIONES
FALSOS RECHAZOS
FA + FR
Delta
0,20680842
0,17333912
0,38014755
0,10049735
0,13508389
0,23558125
1,5
0,01930218
0,34827278
0,36757496
1,5
Tabla 12
Resultados de evaluacin con Video 1 variando minArea en FGDStatModel
Video de
prueba
4.5.2
FALSAS ACEPTACIONES
FALSOS RECHAZOS
FA + FR
minArea
0,21142755
0,16765474
0,3790823
12
0,10084601
0,13304285
0,23388886
0,01933964
0,34565045
0,3649901
12
Resultados de Codebook.
El algoritmo configurado con los parmetros que vienen por defecto entrena durante 300 frames,
periodo durante el cual no puede procesar o evaluar las imgenes del el video ni clasificarlas como fondo
o primer plano. Se evalu el resultado del algoritmo en los 15 frames de cada video, sin embargo para
algunas de las pruebas con los parmetros por defecto fue necesario usar menos frames porque algunos
se encontraban entre los primeros 300 frames del video y no podan ser evaluados por encontrarse dentro
del periodo de entrenamiento del algoritmo. En la tabla 14 se encuentran los resultados de Codebook
con sus parmetros por defecto, probados en los 3 videos.
Para cada uno de los parmetros de funcionamiento que podan ser manipulados y que influan
notablemente en el resultado del algoritmo fue necesario llevar a cabo el protocolo de pruebas,
obteniendo los resultados respectivos para cada una de las configuraciones. Esta informacin completa
se encuentra en el Anexo 2.
Los frames de entrenamiento al igual que se hizo con FGDStatModel, se dejaron previos al frame de
evaluacin, de esta forma, se determin por medio de pruebas el nmero de frames de entrenamiento a
partir del cual el error del resultado del algoritmo era estable.
Tabla 13.
Resultados de evaluacin con Video1, 2 y 3 con parmetros por defecto de Codebook.
Defecto Video1
Defecto Video2
Defecto Video 3
TIEMPO DE EJECUCIN(s)
FA
199
FR
4708
TIEMPO DE EJECUCIN(s)
FA
162
FR
34446
TIEMPO DE EJECUCIN(s)
118
FA
261884
FR
7215
24
104984
164554
SEG
148619
SEG
453944
SEG
213551
ERROR
74%
ERROR
65%
ERROR
80%
En las configuraciones de prueba se incluyeron variaciones de cada parmetro mientras los dems se
dejaban por defecto, finalmente se determin la configuracin con los parmetros seleccionados basados
en los valores que menos errores arrojaron en las pruebas.
En las tablas 15, 16 y 17, se encuentran los valores seleccionados para el nmero de frames de
entrenamiento, umbral de aprendizaje y umbral de clasificacin para los 3 videos respectivamente.
En la figura 15 se encuentra un ejemplo de la grfica de resultados obtenida con la variacin de los
umbrales de clasificacin con las configuraciones de prueba. En el eje horizontal siempre se encontrar el
parmetro de variacin mientras que en el eje vertical est el valor de los diferentes errores. Estas grficas
se pueden encontrar en el Anexo 2.
Tabla 14
Resultados de Variacin de frames para Codebook.
Video de
prueba
FALSAS ACEPTACIONES FALSOS RECHAZOS FA + FR
Frames_entrenamiento
1
0,047283841
0,671960078 0,719243919
40
2
0,104904
0,435453
0,540356
40
3
0,051018
0,760624
0,811642
30
Tabla 15
Resultados de Variacin de cvBounds para Codebook.
Video de
prueba
FALSAS ACEPTACIONES
FALSOS RECHAZOS
FA + FR
Umbral de
aprendizaje
0,06525343
0,52758176
0,59283519
0,114232
0,385214
0,499447
0,06555343
0,69079986
0,75635328
25
Tabla 16
Resultados de Variacin de modMin y modMax para Codebook.
Video de
prueba
FALSAS ACEPTACIONES
FALSOS RECHAZOS
FA + FR
Umbral de
Clasificacin
0,11968021
0,26809909
0,3877793
0,15580152
0,13139946
0,28720098
0,13942337
0,35995617
0,49937954
26
ANLISIS DE RESULTADOS
Video 1-seleccionados
Video 2-seleccionados
Video 3-seleccionados
Promedio _
Defecto
Frames de
entrenamiento Lc N1c N2c Lcc N1cc N2cc Delta minArea
40 12
2
4
18
2
4
2
12
40 16
2
4
20
2
4
1,5
8
60 30
2
4
18
2
4
1,5
12
47 19
2
4
19
2
4
2
11
Todos 128 15 25
64
25
40
2
15
Tabla 18
Valores de error y tiempo con los parmetros de estudio para FGDStatModel.
Parmetros de
prueba
Parmetros
promedio
Tiempo de
ejecucin
(s)
Error
125
37%
83
23%
62
46%
Parmetros
seleccionados
Tiempo de
ejecucin(s)
128
80
64
27
Error
23%
38%
36%
Parmetros por
defecto
Tiempo de
ejecucin (s)
Error
3258
36%
2298
3269
21%
36 %
Con estos valores obtenidos se evidencia en 2 de 3 casos el aumento de error con la configuracin de
valores promedio para los 3 videos. Con los valores de los parmetros seleccionados se logr disminuir
las iteraciones y operaciones matemticas dentro del algoritmo que se ven reflejadas en el tiempo de
ejecucin de la prueba.
5.2 ANLISIS DE RESULTADOS Y EXPERIMENTACION PARA CODEBOOK.
De forma semejante a lo sucedido con el algoritmo anterior, en las pruebas con parmetros seleccionados
y con parmetros promedio, se mejor bastante el resultado respecto a la versin por defecto, sin embargo,
los resultados con los valores promedio arrojaron errores mayores en 2 de 3 casos. Los tiempos de
ejecucin tanto con los valores promedio como los seleccionados fueron muy cercanos. El resto de
parmetros que usa Codebook se van configurando y usando a medida que avanza la ejecucin del
algoritmo, pero no son parmetros para manipulacin de los usuarios.
Los resultados obtenidos para los parmetros por defecto de Codebook junto con los resultados por
defecto y resultados con parmetros promedio estn en la tabla 21. El resumen de los parmetros
seleccionados, los parmetros promedio y parmetros por defecto se encuentran en la tabla 20.
A diferencia de FGDStatModel, Codebook configurado por defecto entrena un nmero determinado de
frames, lo cual le permite un tiempo de ejecucin bastante pequeo respecto a la versin por defecto de
FGD.
Tabla 19
Resumen de parmetros para Codebook con los 3 videos de prueba.
Video 1 -seleccionados
Video 2-seleccionados
Video 3-seleccionados
Promedio _
Defecto
Frames de
entrenamiento cvBounds
modMin
modMax
40
6
2
2
40
2
2
2
30
2
0
0
37
3
1
1
300
10
3
10
Tabla 20
Valores de error y tiempo con los parmetros de estudio para Codebook.
Parmetros de
prueba
Parmetros
promedio
Tiempo de
ejecucin
(s)
Error
103
35%
53
36%
56
48%
Parmetros
seleccionados
Tiempo de
ejecucin(s)
100
61
57
28
Error
39%
31%
42%
Parmetros por
defecto
Tiempo de
ejecucin (s)
199
162
118
Error
74%
65%
80%
Algoritmo
CODEBOOK
Parmetros
Frames cvBounds modMin modMax
FGDStatModel
Frames Lc N1c N2c Lcc N1cc N2cc Delta minArea
Video1
40
40 12
4 18
12
Video2
40
40 16
4 20
1,5
Video3
30
60 30
4 18
1,5
12
Resultado Error
CODEBOOK
VIDEO 1
39%
38%
100
128
VIDEO 2
31%
23%
61
80
VIDEO 3
42%
36%
57
64
29
As se evidencia que el algoritmo con menor error en la evaluacin fue FGDStatModel, sin embargo en
tiempo de ejecucin Codebook obtuvo un comportamiento un poco ms favorable respecto a
FGDStatModel. Ambos algoritmos con los parmetros encontrados mejoran sus tiempos de ejecucin
y porcentaje de error respecto a sus versiones por defecto.
30
CONCLUSIONES
Para el algoritmo FGDStatModel, no es necesario actualizar todos los frames del video para
obtener un buen resultado en la estimacin del primer plano, ya que este proceso hace al algoritmo
muy lento en su ejecucin.
Los parmetros N1c-N2c y N1cc-N2cc, segn los resultados obtenidos, quedaron en valores que
junto con los anteriores, ayudan en el proceso de optimizar tiempos de ejecucin sin perjudicar el
error obtenido con el resultado.
Al variar los parmetros de configuracin de cada algoritmo, se determin que, para el caso de
estudio, es posible reducir los tiempos de ejecucin significativamente, sin alterar el desempeo
del algoritmo en la deteccin de objetos de primer plano.
Codebook a pesar de ser muy bueno por defecto en tiempos de ejecucin respecto a
FGDStatModel, tiene un error mayor a FGDStatModel. Con los valores de configuracin
encontrados se logr disminuir notablemente ese porcentaje de error.
FGDStatModel a pesar de ser muy bueno por defecto en porcentaje se error arrojado respecto a
Codebook, tiene un tiempo de ejecucin muchsimo mayor a Codebook, sin embargo con los
valores de configuracin encontrados se logr disminuir notablemente ese tiempo y con esto su
comportamiento en tiempo se acerc bastante al de Codebook.
De acuerdo a la aplicacin y al tipo de video usado, cada uno de los algoritmos presentados se
puede configurar de tal forma que pueda realizar mejor la estimacin del primer plano.
Se recomienda usar valores diferentes a los que se tienen por defecto en los algoritmos para
aplicaciones de deteccin de vehculos en videos con vista superior, en este caso particular se
recomiendan los valores encontrados con el proceso de seleccin del presente trabajo.
31
BIBLIOGRAFIA
7.1 Imgenes:
[1] http://www.iloveskate.net/leo-sk8er/blog/entrada_6898/ Consultada el da 17 de mayo de 2011.
[2] http://www.laplazareal.net/migueladelgado.htm Consultada el da 17 de mayo de 2011.
7.2
Pginas Web
Libros y documentos
[20] Intel corporation Open Source Computer Vision Library: Reference manual. 2001
[21] Bradsky, G. y Kaehler, A. Learning OpenCV. OReily Media, Septiembre 2008.
[22] Kim, K., Chalidabhongse, T., Harwood, D. y Davis, L. Background modeling and substraction by
codebook construction. Computer Vision Lab, University of Maryland, USA.
32
33