El documento presenta un sistema de detección automática multicanal de anuncios en TV en tiempo real. El sistema fue desarrollado mediante el estudio de diferentes métodos de detección y la creación de un software que implementa un método de división de imágenes. Los resultados experimentales muestran que el sistema cumple con los objetivos de detección rápida, robusta y fiable de anuncios en múltiples canales de TV.
Tema 2 teoría de la información y capacidad de canal
Detección automática multicanal de anuncios en tv en tiempo real
1. Escuela Técnica Superior de Ingenieros
Departamento de Ingeniería Electrónica
Teoría de la Señal y Comunicaciones
Detección Automática
Multicanal de Anuncios en TV
en Tiempo Real
Autor: Enrique Robles Rodríguez
Tutor: José Ramón Cerquides Bueno
2. Contenidos de la Presentación
• Introducción: Objetivos y Punto de partida
• Estudio del método de detección
• Desarrollo software de la aplicación
• Resultados experimentales
• Conclusiones y líneas futuras de
investigación
Detección Automática Multicanal de Anuncios en TV en tiempo Real
3. Introducción
Objetivos
• Obtención de una herramienta software para la
Detección Automática Multicanal de Anuncios en
TV en tiempo real.
• Características:
Rapidez
Robustez
Automatización
SPOT
Sencillez
Flexibilidad
Fiabilidad
Detección Automática Multicanal de Anuncios en TV en tiempo Real
4. Introducción
Punto de partida
• Versión anterior de SPOT
• Aplicaciones Existentes
Detectar un anuncio en particular
AUDICOM
SI.RE.N.A
• Todas aplicaciones existentes 1 solo CANAL
Detección Automática Multicanal de Anuncios en TV en tiempo Real
5. Estudio del método de detección
Método de detección
• Necesidad de rediseñar el método
Aplicación multicanal
Tiempo de cambio de canal
Tiempo de permanencia en canal
• Sistema de comparación
Correlación
• Obtención de patrones de secuencia de
vídeo
Detección Automática Multicanal de Anuncios en TV en tiempo Real
6. Estudio del método de detección
Patrones de secuencia de vídeo (I)
• Método experimental Matlab
Grabación anuncios base de datos
Pruebas de diferentes métodos construidos con
esa base de datos SIMULACIONES
• Procesamiento de imágenes
Conversión a escala de grises
Reescalado a 320x240
Obtención de datos de interés de cada imagen
• Almacenamiento de anuncios en matrices
Detección Automática Multicanal de Anuncios en TV en tiempo Real
7. Estudio del método de detección
Patrones de secuencia de vídeo (II)
• Método 1: Diferencia de imágenes
Diferencia entre dos frames consecutivos
Cálculo de media o varianza de la imagen
Almacenamos datos en un vector
Tiempo por canal = 1 seg 20 frames
Realizamos todas las simulaciones posibles
Vemos el porcentaje de valores por encima de
un determinado umbral. Detección del 90%
80% de falsa detección.
Detección Automática Multicanal de Anuncios en TV en tiempo Real
8. Estudio del método de detección
Patrones de secuencia de vídeo (III)
• Método 2: Diferencia y División
División de la imagen diferencia
4, 9 y 16 cuadros. 2 y 4 filas o columnas
Descartamos el cálculo de la varianza
• Método 3: Diferencia y Separación
Separamos valores positivos y negativos de la
diferencia de imágenes
Porcentaje de detección del 90% 30% de
falsas detecciones
Detección Automática Multicanal de Anuncios en TV en tiempo Real
9. Estudio del método de detección
Patrones de secuencia de vídeo (y IV)
• Método 4: Diferencia y División en una matriz
Igual que Método 2, pero almacenamos valores de
cada división en filas diferentes.
• Método 5: Diferencia, División y Separación
4, 9 y 16 cuadros
20 y 30 frames
Porcentaje detección > 90% y de falsa detección
< 10% Mejora con 30 frames
• Método 6: División
Detección Automática Multicanal de Anuncios en TV en tiempo Real
10. Estudio del método de detección
Método de División de Imágenes
• Sin diferencia de imágenes.
• División en cuadros de la imagen.
• Cálculo de la media de intensidad de cada
cuadro.
• Pruebas exhaustivas del método:
Barrido de 20 a 45 frames.
Divisiones en 9, 16, 25, 64, 100, 256 y 400
cuadros.
Aumento de la base de datos.
• Resultados perfectos con nuestra base de datos.
Detección Automática Multicanal de Anuncios en TV en tiempo Real
11. Desarrollo software de la aplicación
Requerimientos
• Arquitectura hardware
Ordenador.
Tarjeta de TV.
• Arquitectura software
S.O. Windows.
Microsoft DirectX 9.0c.
Microsoft Visual C++ 6.0.
Detección Automática Multicanal de Anuncios en TV en tiempo Real
12. Desarrollo software de la aplicación
Cambios en la Interfaz
• Objetivo: facilitar el uso del programa.
• Versión anterior
Interfaz más pequeña
Menor posibilidad de acción del usuario
• Nueva versión
Mayor tamaño de interfaz
Inclusión de menú mayor versatilidad
Botones de cambio de canal Más y Menos
Botón para borrado de resultados
Botones de Play, Pause y Stop
Detección Automática Multicanal de Anuncios en TV en tiempo Real
13. Desarrollo software de la aplicación
Módulo de Detección
• Adecuar el programa al método de Detección
hallado.
Programar en C++ lo que teníamos en Matlab
• Inclusión de mensajes de advertencia:
• Guardado de una imagen de la secuencia
detectada en el disco duro
Posibilidad de comprobar la detección Muy util
Detección Automática Multicanal de Anuncios en TV en tiempo Real
14. Desarrollo software de la aplicación
Cuadro de diálogo Fichas
• Cuando grabamos un nuevo anuncio
actualizamos la base de datos
El usuario puede utilizar el programa con el
nuevo anuncio inmediatamente después a su
grabación
• Inclusión de botón de borrado de anuncios
La base de datos es más manejable para el usuario
Desde el programa accedemos a todas las
funciones necesarias
Detección Automática Multicanal de Anuncios en TV en tiempo Real
15. Desarrollo software de la aplicación
Independencia de ruta
• Versión anterior
Necesidad de existencia del directorio c:video
donde se incluye la base de datos
Uso de librerías dinámicas necesidad de
incluirlas en directorio del sistema
Problemático para el usuario inexperto
• Nueva versión
Independencia de la ubicación de la aplicación
Librerías estáticas incluidas en el ejecutable
El ejecutable funciona en cualquier PC, sin instalación.
Sólo es necesario copiar y pegar en la nueva ubicación.
Detección Automática Multicanal de Anuncios en TV en tiempo Real
16. Desarrollo software de la aplicación
Menú de la aplicación (I)
• Inclusión de un menú en nuestra aplicación
Entorno más parecido a los existentes en Windows
Complementa la funcionalidad de la interfaz
Permite incorporar numerosas funciones sin sobrecargar
el entorno usuario.
Permite acceder a parámetros de configuración internos
de nuestra aplicación
Detección Automática Multicanal de Anuncios en TV en tiempo Real
17. Desarrollo software de la aplicación
Menú de la aplicación (II)
• Menú Archivo
Emula programas sobre Windows
Apertura, cerrado y guardado de archivos
Abrir Abre un archivo multimedia
Cerrar lo cierra
Fichas, Salvar y Salir efectúan las mismas funciones
que los botones de la interfaz
Detección Automática Multicanal de Anuncios en TV en tiempo Real
18. Desarrollo software de la aplicación
Menú de la aplicación (III)
• Menú Canales
Incluye gran funcionalidad en el modo TV
• Entradas:
Lista de Canales
Elección de canales para el modulo Detección
Guardado de dichos canales en fichero Config.dat al
cerrar y volver a abrir el programa siguen en memoria
Memoria arriba y Memoria abajo
Cambio de canal arriba o abajo por la lista de canales
guardada
Canal Más y Menos igual que los botones
Detección Automática Multicanal de Anuncios en TV en tiempo Real
19. Desarrollo software de la aplicación
Menú de la aplicación (IV)
• Menú Reproducir
Entradas Play, Pause y Stop se corresponden con
las entradas de la interfaz principal
• Menú Detección:
Entradas: elección de fuente, modulo de Detección
y modulo de Aprendizaje se corresponden con
las entradas de la interfaz principal
Detección Automática Multicanal de Anuncios en TV en tiempo Real
20. Desarrollo software de la aplicación
Menú de la aplicación (V)
• Menú Configuración
Permite acceder y modificar a los parámetros
internos de configuración del algoritmo de
detección de anuncios
Los parámetros se guardan en el fichero Config.dat
cuando cerramos y abrimos siguen guardados
Funciones LeeConfig() y GuardaConfig()
Configuración actual muestra parámetros actuales
Divisiones Imagen, Tiempo de Detección y Umbral
Permiten cambiar dichos parámetros
Detección Automática Multicanal de Anuncios en TV en tiempo Real
21. Desarrollo software de la aplicación
Menú de la aplicación (y VI)
• Menú Acerca de...
Muestra información sobre el programa y su autor
Detección Automática Multicanal de Anuncios en TV en tiempo Real
22. Resultados experimentales
Carga computacional
• Estudio de la antigua versión
Inestabilidades que hereda nuestra versión
• Consumo lineal de memoria RAM. Causa
Reserva de memoria sin ser liberada
Se solucionó reservando la memoria necesaria fuera de la
función que la utiliza
• Uso de CPU del 100% durante todo el tiempo
Causa Escalado de imagen dura mas de 40 ms
Solución No realizar el escalado de imagen, capturando
directamente la TV en la resolución deseada
• Nueva versión estable y menor consumo de CPU
Detección Automática Multicanal de Anuncios en TV en tiempo Real
23. Resultados experimentales
Simulaciones (I)
• Para optimizar la aplicación
Estudio de tiempos de ejecución de funciones internas
Timer aleatorio > 40 ms
Comparación entre anuncios Tiempo muy elevado
• Conclusiones
Timer > 40 ms estamos más tiempos por canal y
perdemos frames
Timer aleatorio anuncios en base de datos siempre
distintos posibles fallos en la detección
Máximo de anuncios en nuestra base de datos
• Este estudio nos ayudó a depurar tiempos de
ejecución Solución al consumo de CPU
Detección Automática Multicanal de Anuncios en TV en tiempo Real
24. Resultados experimentales
Simulaciones (y II)
• Para probar la correcta Detección
Se crea un vídeo con los 8 anuncios de nuestra base de
datos
Pruebas con la antigua versión y con la nueva
Versión anterior falla
Nueva versión más robusta y fiable, incluso en los anuncios
Nueva versión detecta correctamente todos
un solo canal
• Para probar la falsa detección
Dejamos correr el programa durante 12 horas, con 8
anuncios en la base de datos.
12 horas = 16000 comparaciones 6 erróneas = 0.0375%
falsa detección
Porcentaje muy bueno. Mucho mejor que en la anterior versión
Detección Automática Multicanal de Anuncios en TV en tiempo Real
25. Conclusiones y líneas futuras de investigación
Conclusiones
• Se cumplen los objetivos marcados
Programa más rápido y con menor consumo de
recursos
Se han eliminado bugs más estable
Interfaz amigable más sencillo
El usuario puede acceder y modificar parámetros
de detección más flexible y potente
Porcentajes de detección casi perfectos más
fiable
Objetivo más importante Detección Multicanal
Detección Automática Multicanal de Anuncios en TV en tiempo Real
26. Conclusiones y líneas futuras de investigación
Líneas futuras de investigación
• Programa en fase de desarrollo
Hacer más preciso el Timer
Trabajar con los drivers de tarjeta de TV y DirectX
Utilizar otro método de detección
Cambiar manejo de base de datos
Imágenes en JPG
Utilizar imágenes capturadas para detección
automática
Detección Automática Multicanal de Anuncios en TV en tiempo Real
27. Fin de la presentación
Turno de Preguntas
Detección Automática Multicanal de Anuncios en TV en tiempo Real