Detección Automática Multicanal de Anuncios en TV
en Tiempo Real
Autor: Enrique Robles Rodríguez
Tutor: José Ramón Cerquides Bueno
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
Contenidos de la Presentación
• Desarrollo software de la aplicación
• Estudio del método de detección
• Introducción: Objetivos y Punto de partida
• Conclusiones y líneas futuras de investigación
• Resultados experimentales
Detección Automática Multicanal de Anuncios en TV en tiempo Real
Objetivos• Obtención de una herramienta software para la
Detección Automática Multicanal de Anuncios en TV en tiempo real.
Introducción
• Características: Rapidez Robustez Automatización Sencillez Flexibilidad Fiabilidad
SPOT
Detección Automática Multicanal de Anuncios en TV en tiempo Real
Punto de partida• Versión anterior de SPOT
Introducción
• 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
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
Estudio del método de detección
• 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
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
Estudio del método de detección
• 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
Patrones de secuencia de vídeo (II)
• Método 1: Diferencia de imágenes Diferencia entre dos frames consecutivos
Estudio del método de detección
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
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
Estudio del método de detección
• 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
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.
Estudio del método de detección
• 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
Método de División de Imágenes• Sin diferencia de imágenes.
Estudio del método de detección
• 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
RequerimientosDesarrollo software de la aplicación
• 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
Cambios en la InterfazDesarrollo software de la aplicación
• Objetivo: facilitar el uso del programa.
• 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
• Versión anterior Interfaz más pequeña Menor posibilidad de acción del usuario
Detección Automática Multicanal de Anuncios en TV en tiempo Real
• Guardado de una imagen de la secuencia detectada en el disco duro Posibilidad de comprobar la detección Muy util
Módulo de DetecciónDesarrollo software de la aplicació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:
Detección Automática Multicanal de Anuncios en TV en tiempo Real
Cuadro de diálogo FichasDesarrollo software de la aplicación
• 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
Independencia de rutaDesarrollo software de la aplicación
• 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
Menú de la aplicación (I)Desarrollo software de la aplicación
• 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
Menú de la aplicación (II)Desarrollo software de la aplicación
• 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
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
Menú de la aplicación (III)Desarrollo software de la aplicación
• 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
Detección Automática Multicanal de Anuncios en TV en tiempo Real
Menú de la aplicación (IV)Desarrollo software de la aplicación
• 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
Menú de la aplicación (V)Desarrollo software de la aplicación
• 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
Menú de la aplicación (y VI)Desarrollo software de la aplicación
• Menú Acerca de... Muestra información sobre el programa y su autor
Detección Automática Multicanal de Anuncios en TV en tiempo Real
• 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
• 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
Carga computacionalResultados experimentales
• Estudio de la antigua versión Inestabilidades que hereda nuestra versión
• Nueva versión estable y menor consumo de CPU
Detección Automática Multicanal de Anuncios en TV en tiempo Real
• Este estudio nos ayudó a depurar tiempos de ejecución Solución al consumo de CPU
Simulaciones (I)Resultados experimentales
• 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
Detección Automática Multicanal de Anuncios en TV en tiempo Real
Simulaciones (y II)Resultados experimentales
• 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 detecta correctamente todos los anuncios
• Para probar la falsa detección Dejamos correr el programa durante 12 horas, con 8
anuncios en la base de datos.
Nueva versión más robusta y fiable, incluso en un solo canal
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
ConclusionesConclusiones y líneas futuras de investigación
• 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
Líneas futuras de investigaciónConclusiones y 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
Fin de la presentación
Turno de Preguntas
Top Related