Capítulo 5. Análisis de Resultados
5.3. Evaluación del Algoritmo ViBe Extendido
5.3.1. Metodología
Hay varios criterios que pueden considerarse importantes para medir la precisión de un algoritmo de sustracción de fondo, dependiendo de qué aspectos sean preferibles para la línea de procesamiento general. Por ejemplo, si se realiza reconocimiento sobre las siluetas directamente, la preservación de la forma resulta de suma importancia; por otro lado, si la sustracción sirve sólo como etapa previa para activar algoritmos de reconocimiento que trabajan sobre secciones enteras de la imagen, entonces pasan a ser más importantes la sensibilidad y la flexibilidad por sobre la forma. Distintos trabajos han tenido diferentes aspectos en cuenta, según la problemática que pretendían solucionar. Los autores del ViBe mencionan el problema de la falta de marcos estandarizados para la evaluación de la precisión de algoritmos de sustracción de fondo y proponen el uso de una métrica simple y general, ampliamente utilizada en visión computacional para clasificadores binarios [11]; el porcentaje de clasificación correcta (PCC, por sus siglas en inglés), que se define como sigue:
𝑃𝐶𝐶 = 𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
Donde 𝑇𝑃 y 𝑇𝑁 son los píxeles clasificados correctamente como positivos y negativos,
y 𝐹𝑃 y 𝐹𝑁 son los falsos respectivamente. Para complementar el análisis se definieron también las métricas de porcentaje de positivos correctos 𝑃𝐶𝑃 = 𝑇𝑃
𝑇𝑃+𝐹𝑃 y porcentaje de
negativos correctos 𝑃𝐶𝑁 = 𝑇𝑁
𝑇𝑁+𝐹𝑁.
Se evaluaron dos variaciones de la solución. En ambos casos se consideró importante que el fondo de inicialización haya sido generado en un día distinto al día del test, para evaluar la capacidad de adaptación sin requerir regenerar el fondo constantemente. Primero se inicializó el modelo con un fondo único, y después se realizó el mismo test con la inicialización compuesta, que fue descrita en la alternativa para tolerar distintas condiciones de iluminación inicial. Todas las imágenes fueron tomadas por el domo
experimental DCS-6818B1 en el campus universitario utilizando la proyección
implementada mientras la zona se encontraba vacía. Las fotos panorámicas se generaron los días sábado y domingo – aprovechando la falta de concurrencia durante el fin de semana – a intervalos de una hora; a las 13, 14, 15, 16 y 17 hs. Luego se llevaron a cabo
71
tests durante los días de semana, aplicando la solución en el contexto de la detección de automóviles estacionados. En todos los casos se configuró la cámara con los modos BLC (Blacklight Compensation) y WDR (Wide Dynamic Range) apagados, el balance de blancos fijo y la autoexposición desactivada. De esta forma se minimizan los cambios en la iluminación introducidos por la cámara.
El primer caso inicializa el modelo con una sola imagen repetida para las 20 muestras, seleccionada de acuerdo a la hora del día de realización del test. El segundo caso lo hace con todas las imágenes construidas durante el fin de semana, con dos muestras idénticas por cada una de las panorámicas tomadas. Esto se debe a que es necesario brindar cierto grado de redundancia para que el algoritmo tenga en cuenta diferencias entre la iluminación de dos días distintos a la misma hora: en vez de considerar 10 horarios de iluminación se tomaron 5, pero repetidos en ambos días.
Tras calcular las métricas para un solo cuadro se obtuvo poca información útil, por lo que se decidió medirlas automáticamente cuadro a cuadro y evaluar su comportamiento en el tiempo. Con este fin se programó un nuevo filtro dentro del esquema de pipes & filters, con la responsabilidad exclusiva de calcular todas las métricas en un hilo de ejecución concurrente. Esto fue necesario para no entorpecer la normal ejecución del algoritmo de sustracción, que acumularía retrasos si calculara las métricas y almacenara los cuadros durante el procesamiento.
5.3.2. Caso de Test
A continuación se muestran el fondo, la toma de test y el ground truth de un caso experimental. En la tabla que les sigue se presentan las máscaras de primer plano comparando el progreso de ambas inicializaciones.
Imagen de inicialización (una de las fotos del fin de semana)
72
La inicialización con múltiples imágenes (compuesta) muestra resultados muy superiores en los primeros cuadros, donde la inicialización simple detecta casi toda la escena como primer plano. Las variaciones de iluminación y los errores tratados antes producen numerosos falsos positivos, haciendo que ninguno de los dos casos genere una máscara de primer plano bien definida y cercana al ground truth. Por otro lado, las máscaras sí son de utilidad como primera detección, para elegir áreas de interés para
N° de Cuadro Inicialización Simple Inicialización Compuesta
0 (antes de actualizar el modelo) 10 30 60 100 200 300
73
analizar con mayor profundidad, y aseguran contener a los objetos nuevos dentro del primer plano. Los resultados de la inicialización compuesta serían más provechosos si se les aplicara un procesamiento posterior para eliminar las detecciones alargadas y unir clusters.
La Figura 28 grafica la evolución del PCC para ambas inicializaciones a través de los cuadros.
La inicialización compuesta exhibe porcentajes altos desde el comienzo, en contraste con la simple, que alcanza valores aceptables solo luego del cuadro número 50. Esto coincide con las máscaras de la versión simple de la tabla anterior: entre los cuadros del 0 al 25 le debe el progreso del PCC casi completamente a la propagación de los píxeles del césped, entre los cuadros 25 y 40 aproximadamente el crecimiento es más lineal, y finalmente se acelera al consumir el camino de la izquierda.
Como el modelo del fondo termina por incorporar toda la imagen, dados suficientes cuadros ambas versiones tienden al valor 0.93, porque es el porcentaje que el fondo representa del ground truth. En la Figura 28 la versión simple supera a la compuesta en el cuadro 75, pero esto es porque la versión compuesta se estabiliza antes.
74
5.3.3. Selección de la Máscara de Detección
Existen tres categorías de detección en la solución: el fondo, los objetos actualmente en movimiento, y los objetos estáticos que son nuevos con respecto a la última toma de la cámara de la región observada. A medida que avanza el tiempo todos los objetos estáticos son consumidos por el modelo hasta obtener una máscara completamente negra. Este comportamiento es deseado, porque permite al algoritmo adaptarse al fondo y continuar con nuevas detecciones online, pero significa también que el momento de selección de la máscara es crítico para diferenciar entre objetos estáticos nuevos y objetos actualmente en movimiento.
La selección del mejor momento para detectar objetos estáticos nuevos es arbitraria, pero una heurística puede hacerse en base al PCP y al PCN.
En general se quiere que el valor de ambas métricas sea lo más alto posible, pero una vez alcanzado cierto umbral de PCN mínimo, lo más importante es que el PCP se mantenga lo suficientemente alto como para detectar la posición los objetos. Con este criterio, dado que el PCP siempre disminuye, el mejor momento para detectar los objetos estáticos es el primer cuadro donde el PCN supera el umbral de aceptación. Un umbral plausible es aquel a partir del cual el error de clasificar el fondo erróneamente empieza a representar una sección de la imagen más pequeña que todo el primer plano verdadero. Siguiendo con el caso de test tomado, el primer plano representa el 7% del ground truth y el fondo el 93%, por lo tanto un buen cuadro para detectar los objetos estáticos nuevos es el primero donde se cumple que PCN > 1 −0.07
0.93= 0.9247. Esto equivale al cuadro
75
número 52 para la inicialización simple y al cuadro número 4 para la compuesta. Existe una diferencia en la calidad desde el punto de vista del PCP: 0.7 en la versión simple en contraste de 0.51 en la versión compuesta. Esto se debe a que la versión compuesta no rellena correctamente los objetos, pero dado que para determinar BLOBS no es necesario un PCP tan alto mientras que los bordes de los objetos estén conectados, el 0.51 de la versión compuesta es suficientemente bueno. La versión final de la solución procesa entre 4 y 11 cuadros por segundo, por lo que esta reducción del cuadro 52 al 4 resulta relevante en el procesamiento en tiempo real.
Para la detección del fondo y de los objetos actualmente en movimiento, los mejores resultados se obtienen una vez que el modelo sustractor se estabiliza – lo cual también sucede más rápidamente para la versión compuesta, como se observa en todas las curvas graficadas.