Detección automática multicanal de anuncios en tv en tiempo real

27
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

Transcript of Detección automática multicanal de anuncios en tv en tiempo real

Page 1: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 2: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 3: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 4: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 5: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 6: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 7: Detección automática multicanal de anuncios en tv en tiempo real

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.

Page 8: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 9: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 10: Detección automática multicanal de anuncios en tv en tiempo real

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.

Page 11: Detección automática multicanal de anuncios en tv en tiempo real

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.

Page 12: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 13: Detección automática multicanal de anuncios en tv en tiempo real

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:

Page 14: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 15: Detección automática multicanal de anuncios en tv en tiempo real

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.

Page 16: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 17: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 18: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 19: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 20: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 21: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 22: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 23: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 24: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 25: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 26: Detección automática multicanal de anuncios en tv en tiempo real

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

Page 27: Detección automática multicanal de anuncios en tv en tiempo real

Detección Automática Multicanal de Anuncios en TV en tiempo Real

Fin de la presentación

Turno de Preguntas