Sunteți pe pagina 1din 14

Implementación de plataforma para ampliación de

contenido multimedia sobre streaming de audio y video

José Medinab, Francisco Vegaa, Mauricio Espinozaa, Victor Saquicelaa,


a
Departamento de Ciencias de la Computación, Universidad de Cuenca,
Cuenca, Ecuador
{francisco.vegaz, mauricio.espinoza, victor.saquicela}@ucuenca.edu.ec
b
Departamento de Eléctrica, Electrónica y Telecomunicaciones, Universidad de Cuenca,
Cuenca, Ecuador
jose.medina@ucuenca.edu.ec

Resumen. Actualmente la Universidad de Cuenca cuenta con varios medios de transmisión de


audio y video en sus diferentes campus y facultades. Contenido dirigido a estudiantes profesores
y personal administrativo es producido y transmitido cada día a través de estas redes. A pesar de
la importancia de la información transmitida muchas veces no alcanza el interés necesario por
parte del televidente al cual va dirigido, por lo que es necesario incrementar las herramientas de
interacción entre los entes que transmiten el contenido y el usuario final que requiere de esa
información. En este documento se explica la implementación de una plataforma para la
ampliación de contenido multimedia sobre videos informativos de la Universidad de Cuenca. Se
describe un esquema general y tres modulos importantes dentro de la plataforma relacionados a
I) etiquetar automaticamente los videos producidos, II) buscar en la web información sobre
dichas eqtiquetas y III) una aplicación para sincronizar y aumentar el contenido multimedia.
Palabras Clave: Red Neuronal, Audio Fingerprint, Perceptual Image Hashing, Reconocimiento
Automatico de Contenido, Reconocimiento de Imágenes, Aumentación de contenido.
Eje temático: Infraestructura Tecnológica.

1 Introducción

El desarrollo de herramientas para manejo de contenido audiovisual ha tenido un gran


despliegue en los últimos años. La facilidad del manejo de estas herramientas hace que
contenido de calidad sea producido y difundido de manera inmediata y en una gran
cantidad cada día. Las redes sociales y el alcance del Internet han tenido un papel
importante para que hoy día el contenido multimedia cree una nueva forma de
comunicación denominada social media. Esto no lo han pasado por alto el sector
empresarial, de entretenimiento, e incluso el educativo; donde se intenta aprovechar la
facilidad de comunicar de manera ágil y clara cierta información a través de audio y
video.
Para hacer uso de esta cobertura la Universidad de Cuenca ha desplegado una red
de equipos para la difusión y visualización de contenido multimedia en los diferentes
campus. La producción de contenido es variada y se alimenta de programas como un,
canalIP, noticiero digital, segmentos producidos por estudiantes de la carrera de
comunicación social, e información general producida por el departamento de
comunicación. Sin embargo, este contenido muchas veces pasa desapercibido para el
público al cual va dirigido, por ello información clave se pierde y no se logra hacer
sentir al estudiante y personal de la universidad inmerso en las actividades que se
desarrollan dentro de la institución.
El problema anterior no es algo nuevo ya que desde sus inicios la televisión fue
pensada para comunicar a los usuarios con contenido sin que ellos tengan la capacidad
de participar sobre el mismo. Con la aparición de la televisión digital y recientemente
las redes sociales se transformó este panorama ya que por ejemplo las redes sociales
permiten una participación colectiva que brinda un valor agregado a cada vídeo subido
a estas plataformas. Entonces, para el caso de la plataforma audiovisual de la
Universidad de Cuenca el problema se resume en lograr que la comunidad universitaria
se interese y participe sobre el contenido transmitido.
Con este fin, se empiezan a analizar tecnologías que permiten al usuario sentirse más
inmerso dentro del contenido multimedia. Entre estas tecnologías está el
Reconocimiento Automático de Contenido (ACR) [4] que permite hacer el seguimiento
a contenido multimedia, enlazar información adicional, y además facilita el uso de
dispositivos de segunda pantalla [1][2]. La estrategia de ACR es reconocer el segmento
de contenido que está visualizando o escuchando un usuario y poner a su disposición
información ampliada sobre cada segmento. Para ello se debe contar con otros
módulos que permitan extraer información relacionada a cada video. Es decir
plataformas que entiendan el contenido multimedia, lo clasifiquen y lo enriquezcan con
información.
En los últimos años se ha incrementado el uso de redes neuronales artificiales de
aprendizaje profundo en especial las redes neuronales convolucionales CNN [10]. Estas
redes no son solo clasificadores de objetos sino que también tratan de entender y
relacionar los objetos a contextos más generales, lo que viene bien a la hora de tratar
de entender contenido audiovisual. Además de las CNN están técnicas como el
reconocimiento óptico de caracteres (OCR) [6] o la transformación de audio a texto
(ASR). Dichas estrategias facilitan el etiquetado de contenido multimedia para poder
categorizarlo y clasificarlo. Para enriquecer de información relacionada a los objetos y
etiquetas existen técnicas ampliamente usadas y efectivas como el Webscraping [5].
Con esto se puede tener un ciclo tecnológico que va desde la producción del video,
extracción de etiquetas, clasificación en categorías, extracción de información
relacionada, sincronización del contenido, visualización por el usuario y despliegue de
información relevante sobre dispositivos alternativos a la pantalla de televisión por
donde se transmite la información.
El presente documento describe la implementación de este ciclo tecnológico como
una plataforma para la ampliación de contenido sobre audio y video y consta de las
siguientes secciones. En la Sección 2 se habla de los requerimientos y las necesidades
a cubrir por parte de la plataforma y se muestra un esquema general de la misma. La
Sección 3 resume la implementación del módulo de extracción de etiquetas la cual es
usada para clasificar los videos. En la Sección 4 se describe cómo se ejecuta la búsqueda
de información a partir de las etiquetas, mientras que la Sección 5 muestra la
implementación del ACR. Finalmente la Sección 6 muestra los resultados de la
plataforma y en la Sección 7 se describen las conclusiones y recomendaciones que se
obtuvieron con la implementación de esta plataforma.

2 Descripción de Requerimientos y Arquitectura del Sistema


Esta sección describe algunos de los requerimientos que debe cumplir la plataforma de
enriquecimiento de audio y video. Primero se presenta un esquema general de la
plataforma, describiendo su interacción entre componentes y con el usuario.
Finalmente, se describe las funcionalidades de los módulos más importantes en la
plataforma y como éstos contribuyen a los objetivos de interacción entre el usuario y el
contenido multimedia.

2.1 Diagrama general de funcionamiento de la plataforma


La Fig. 1 muestra diferentes módulos y cómo interactúan con el usuario. Primero existe
un telespectador o usuario multimedia que está viendo el contenido difundido por el
módulo de producción y difusión de video. El usuario puede hacer uso de su
dispositivo de segunda pantalla para a través del módulo de sincronización y extensión
de contenido leer o ver información adicional sobre el programa o noticia que despertó
su interés. Cada video transmitido por producción y difusión de video es procesado
por los módulos de extracción de etiquetas y búsqueda de información. Aquí se
conecta al contenido con información que se encontró en la web y que está relacionada
con el segmento de interés.

Fig. 1. Arquitectura general del sistema de parqueo inteligente.

Como un ejemplo ilustrativo de la interacción de los módulos de la plataforma se


puede imaginar a un estudiante (usuario), que está viendo el canal IP de la universidad
en un monitor de acceso general colocado en su facultad (producción y difusión). En
el video el señor Rector se dirige a los estudiantes para informar sobre los días que
fueron aprobados para la semana del estudiante. Este video ha sido procesado
previamente por el módulo de extracción de etiquetas donde se ha podido obtener
palabras clave mencionadas en el video como: semana deportiva, eventos culturales,
estudiantes, actividades, recreación, universidad de cuenca, entre otras. Previamente
cada facultad ha subido a la página web de la universidad un cronograma de las
actividades que los estudiantes pueden hacer durante esta semana. Con las etiquetas
encontradas en el video el módulo de búsqueda de información inicia un proceso de
enriquecimiento de información desde la Web, donde uno de los enlaces que ha
encontrado es el cronograma de actividades.
Supongamos que a varios estudiantes les interesa lo dicho por el rector y desea
participar de las actividades y así integrarse a los eventos sociales y deportivos
organizados. Un estudiante a través de su teléfono inteligente (smartphone) ha
descargado una app de ACR (sincronización y extensión de contenido), la cual le
permite grabar un fragmento de audio o tomar una foto al contenido desplegado en el
monitor y enriquecer más información sobre el evento de interés. Con ello en su
teléfono móvil se puede desplegar por ejemplo el lugar del evento, fecha, hora y la
agenda detallada del evento de su interés. Para finalizar el ciclo de interacción, el
módulo de búsqueda de información le proporciona al estudiante un enlace directo a
redes sociales de la universidad y las asociaciones de estudiantes donde puede opinar
sobre las actividades o contactar estudiantes encargados de llevar a cabo estas
actividades.

2.2 Producción y Difusión de Video

Este módulo debe cubrir las siguientes características y necesidades.


 Producir contenido relevante que despierte de interés para la comunidad
académica
 Aprovechar las facilidades de la red interconectada de la Universidad de
Cuenca.
 Cada archivo multimedia (audio y video) a ser producido debe tener al menos
un hiperenlace1 hacia la web, el mismo puede ser producido por la universidad
u otros entes externos.
 Cada archivo multimedia debe ser accesible desde la plataforma para ejecutar
un pre-procesamiento que consiste en extraer sus características visuales y
auditivas. Posteriormente estas características permiten su búsqueda y
enriquecimiento de información.

2.3 Extracción de Etiquetas

Para la extracción de etiquetas que clasifican a cada archivo mutimedia se debe cumplir
las siguientes características.
 La extracción de etiquetas es un procedimiento automático que no requiere
intervención del productor de contenido.
 Se debe implementar técnicas de procesamiento de señales de audio y video
que permitan trabajar con algunos tipos de multimedia. Por ejemplo, OCR en
texto, ASR en audio, CNN sobre imágenes, etc.
 En conjunto las etiquetas extraídas deben describir un video de forma
específica y diferenciarlo de otros videos, por ello se debe combinar etiquetas
que provengan tanto de audio y video.
 La extracción de etiquetas debe ser un proceso asíncrono a la transmisión,
permitiendo que el pre-procesamiento de cada archivo multimedia no dependa
de cómo se difunde el contenido.

La relevancia de las etiquetas extraídas es algo subjetivo. Para poder evaluar su


importancia se tiene que mirar la información que proporcionen tanto individualmente
como en conjunto con las demás etiquetas del mismo video. Logos, personas, objetos
repetidos, frases repetidas pueden ser un ejemplo de etiquetas útiles para la búsqueda
de información.

1
Se entiende por hiperenlace a un enlace electrónico que hace referencia a un recurso web
externo.
2.4 Búsqueda de Información

En la búsqueda de información extendida se debe cubrir las siguientes necesidades.


 Proporcionar a cada etiqueta o conjunto de etiquetas del video un hiperenlace
extendido de información. El hiperenlace debe apuntar a contenido web
difundido previamente por la misma universidad o entes externos.
 Los enlaces de extensión de información pueden ser archivos de texto, paginas
html, videos relacionados o enlaces a redes sociales que amplían la
información difundida.
 La búsqueda de información extendida debe ser un procedimiento
semiautomático de tal forma que los productores de contenido audiovisual
tengan solo una pequeña intervención al validar la información a ser mostrada.

2.5 Sincronización y extensión de contenido

Para la sincronización del contenido entre el usuario y el medio de difusión se debe


cubrir lo siguiente.
 El medio de sincronización debe ser un dispositivo de segunda pantalla
(smarphone, tablet, o pc portátil).
 Para el caso de audio y video la sincronización debe ser por segmentos, es
decir un mismo video o audio puede tener varios enlaces de información a
medida que avanza la línea de tiempo al reproducirse.
 La sincronización no depende del medio por el cual el archivo multimedia esté
siendo difundido.
 La sincronización de contenido debe usar técnicas que por separado permitan
interactuar con varios tipos de multimedia.

3 Módulo de Producción y Difusión de Video

Este módulo tiene como meta difundir contenido de interés hacia la comunidad
universitaria. Los componentes principales que forman parte de este módulo son la
producción y la difusión de video.

3.1 Producción
Este componente que permite la producción de contenido audiovisual, no requiere
mayor desarrollo en un Instituto de Educación Superior (IES), ya que se viene
ejecutando en la mayoría de universidades por muchos años. En el caso concreto de la
Universidad de Cuenca este proceso tiene como responsable a la Unidad de Relaciones
Públicas y Comunicación. Esta unidad es la encargada de difundir información
relevante sobre la Universidad y cada día produce videos de alta calidad relacionada a
temas relevantes desarrollados en el ambiente universitario. Otro ente que tiene un
amplio repertorio en la generación de contenido audiovisual es la carrera de cine y
audiovisuales. Como parte de sus actividades académicas, los estudiantes de la carrera
producen audios y videos que suelen ser transmitidos por los canales de comunicación
que tiene la Universidad.
Adicionalmente están las facultades y los departamentos; actualmente estas unidades
han empezado a difundir videos sobre sus actividades diarias. Si bien dicho material
audiovisual no está dirigido a toda la comunidad universitaria, éstos son de gran
importancia para el público específico al cual van dirigidos. Por ejemplo, el
Departamento de Investigación de la Universidad de Cuenca (DIUC) está haciendo
importantes esfuerzos para producir entrevistas a sus investigadores y ofrecer reportajes
sobre los resultados de investigación obtenidos a través de los proyectos. Este
contenido puede llegar a otros investigadores que trabajan en temas similares o a
estudiantes que desean desarrollar su trabajo de fin de carrera en dicho proyecto,
ampliando así la participación en los temas de investigación compartidos.

3.2 Difusión

Para difundir todo el material audiovisual generado, este componente hace uso de las
redes interconectadas con las que todas las IES cuentan. En la Universidad de Cuenca,
el primer medio de difusión que fue instalado es un noticiero digital [8]. La plataforma
del noticiero digital consta de un servidor y varios monitores desplegados en las
diferentes unidades académicas de sus campus. El servidor almacena noticias de interés
para la comunidad universitaria y los monitores cuentan con un dispositivo cliente que
despliegan las noticias almacenadas en el servidor. En proyectos recientes la
universidad ha intentado dar mayor uso a estos dispositivos para ello también se ha
adquirido un servidor de videoIP que permite ampliar el alcance de las noticias,
visualizando contenido no solo en la red de monitores sino también a través de la página
Web de la universidad. Este servicio es un complemento a las tareas del noticiero digital
y en gran parte es utilizado para la transmisión de eventos en vivo por parte de los
departamentos y facultades de la universidad. Además se cuenta con una radio
universitaria donde los estudiantes tienen la participación principal. Otros medios de
difusión ya ampliamente utilizados son las redes sociales, donde se difunde gran
cantidad de contenido multimedia y dado su alcance se ha mantenido como el principal
medio de comunicación en la universidad.

4 Módulo de Extracción de Etiquetas


Para la extracción de etiquetas se ha implementado tres tecnologías que permiten
interactuar con contenido de audio y video por separado. Las mismas se describen a
continuación.

4.1 Software para OCR

Este componente tiene como función principal obtener los caracteres que son parte de
un video. Para ello, el componente trata de buscar palabras y oraciones presentes en
cada frame del video. En primer lugar, es necesario dividir el video en fragmentos más
pequeños. Por esta razón, considerando que un video está compuesto de una secuencia
de frames, la división lógica vendrá dada por shots. Un shot es el nombre que recibe un
conjunto de frames contiguos muy similares. La importancia de esta división se
fundamenta en la reducción del costo computacional debido a que, al tratarse de frames
muy similares no es necesario ejecutar el mismo proceso para cada uno de los frames,
basta con una muestra de un frame por shot para obtener las palabras claves de todos
los frames contiguos.
Fig. 2. Proceso de extracción de etiquetas mediante OCR.

Por otro lado, el contar con palabras claves exclusivas de cada sección del video
permitiría obtener información detallada de videos muy grandes que posean escenas de
diferente índole, como por ejemplo un noticiero completo. Para determinar la división
de los shots se utiliza el framework descrito en [1]. Donde frames contiguos
representados por un hash con una pequeña variación en distancia de hamming
suponen pertenecer a un mismo shot; este concepto será aclarado en la sección de
Perceptual Image Hashing.
Para la implementación de este algoritmo se puede utilizar la librería OpenCV en
Python. Primero se necesita implementar un preprocesamiento a las imágenes que
incluyen “thresholding”, “gradient magnitude” y operaciones morfológicas. Esto ayuda
a extraer los contornos donde se identifican los textos a ser transcritos por OCR.
Posterior a esto se puede utilizar la librería “PIL” de Python que mediante la función
“image_to_string” nos devuelve los caracteres presentes en cada contorno extraído de
la imagen.
Este procedimiento se ilustra en la fig. 2., en la imagen de la izquierda superior se
ve un frame de un video, correspondiente al saludo del señor rector a los nuevos
estudiantes. La imagen superior derecha muestra el procedimiento de “thresholding” y
la imagen inferior izquierda el proceso de extracción morfológica. Finalmente, la
imagen inferior derecha muestra como de este frame se ha podido extraer el nombre
del rector, así el sistema sabe que el video trata sobre el rector de la universidad.

4.2 Red Neuronal

Con este componente se pretende analizar cada video subido a la plataforma para así
detectar objetos importantes que lo caractericen. Una CNN puede ayudar a detectar
objetos pre-entrenados y clasificar cada frame del video según la aparición de los
objetos. Las CNN pertenecen a un conjunto de técnicas recientemente difundidas
denominadas aprendizaje profundo. Dentro del reconocimiento de imágenes su función
principal es dividir la imagen en un conjunto de características y comprobar si un objeto
cumple dichas características para clasificarlo.
Fig. 3. Arquitectura de la red neuronal AlexNet [10].

Para la implementación de esta red neuronal se utiliza librerías de OpenCV.


Además, se hace uso de las librerías de TensorFlow desarrollada por Google para la
implementación de la red neuronal. TensorFlow ofrece algunas ventajas como la
ejecución de procesos por GPU y que además tiene un toolkit para Python lo que facilita
la implementación de la red.
Para la implementación de la CNN se utiliza la arquitectura mostrada en la fig. 3
esta fue desarrollada en [10] y se utiliza ampliamente en proceso de reconocimiento de
objetos. La red además tiene un modelo pre-entrenado con unas 15 millones de
imágenes de un conjunto de datos llamado ImageNet [11]. TensorFlow cuenta con una
funcion llamada “Object_Detection” que permite utilizar estos modelos pre-entrenados
dentro de la red neuronal. El proceso que se ejecuta en el reconocimiento es dividir el
video en frames (OpenCV), reconocer objetos presentes en cada frame y finalmente
resaltar las más importantes como etiquetas del video.

4.3 Transformación de Audio a Texto

Mucho del contenido difundido no solo tiene que ver con imágenes sino también con
audio. El componente de transformación de audio a texto analiza los diálogos presentes
en un video y extrae de estos las palabras clave que clasifican al video. La fig 4 muestra
su implementación a través de dos algoritmos como se menciona en [7].

Fig. 4. Transformación de Audio a Texto.

El primer paso al momento de implementar este módulo es utilizar un algoritmo de


segmentación de audio. El algoritmo de segmentación permite dividir un dialogo en
partes y extraer los segmentos donde se presentan diálogos claros. Por ejemplo, una
publicidad de la universidad puede contener una mezcla de diálogos música, ruidos y
silencio. La herramienta utilizada en la segmentación es la librería “PyAudioAnalisis”
[9], en esta librería se pueden utilizar varios modelos de segmentación de los cuales se
escogió el modelo basado en HMM. Para realizar el entrenamiento de este modelo se
utiliza la función “trainHMMsegmenter”. Al momento del entrenamiento para cada
audio se debe tener un archivo que indique donde inicia y termina cada segmento.
El siguiente paso es tomar los segmentos donde se detectó diálogos y pasarlos por el
componente de transcripción del audio. Para su implementación se usa el servidor de
reconocimiento llamado “kaldi-gstreamer-server”, el cual se basa en el reconocedor
Kaldi2, y utiliza el framework multimedia GStreamer3 para manipular los archivos de
audio. Para el desarrollo del servicio se utilizó el protocolo cliente-servidor basado en
web sockets, permitiendo un reconocimiento en tiempo real.

5 Módulo de Búsqueda de Información

Este módulo permite a la plataforma extender la información sobre las etiquetas de cada
video. La estrategia para su implementación fue desarrollar un algoritmo de
webscraping que haga búsquedas de fuentes web basado en las etiquetas del video.
El webscraping es una manera automática de ir atacando fuentes de información.
Para esto se utiliza un algoritmo desarrollado en Python que mediante el paquete
“request” hace consultas http. Se ordena cada etiqueta del video y se introducen las
mismas como palabras clave para una consulta de tipo “GET” en Google. Se hace un
request a http://google.com.ec en modo consulta de donde se devuelven un conjunto de
enlaces http. Cada enlace es utilizado para hacer un request y así con la respuesta
almacenar varias páginas HTML que pertenecen a cada video.
Por el momento el razonamiento que se hace sobre el contenido HTML es sintáctico.
Es decir solo se compara la fuente de texto del HTML con las etiquetas y
transcripciones del video, midiendo la similitud entre las cadenas de caracteres. Se
pondera cada página web y se las ordena para luego ser presentadas al usuario según su
importancia. Para comparar los textos HTML, etiquetas y transcripciones se utiliza la
librería de Python “difflib” que permite hacer un “ratio” o porcentaje de similitud entre
cadenas de caracteres. Debido al amplio contenido difundido en la web se configura la
consulta de Google para atacar solo fuentes web conocidas como por ejemplo: página
web de la universidad, redes sociales de la universidad, periódicos locales, etc.

6 Módulo de Sincronización y Extensión de Contenido

Una parte esencial de la plataforma propuesta consiste en un módulo que permita la


correcta y veloz identificación de un video a partir de su contenido. La salida de este
módulo es un identificador de video (videoId) y un indicador temporal para poder hacer
el seguimiento de varios segmentos dentro de un mismo video. Adicionalmente, se
debe considerar que es el único modulo que permite la interacción del usuario con el
sistema a través de una aplicación móvil. La identificación de un video puede realizarse
a través de sus características visuales mediante algoritmos de Perceptual Image
Hashing o por medio de su señal de audio mediante Audio Fingerprinting.

2
http://kaldi-asr.org
3
https://gstreamer.freedesktop.org
6.1 Audio Fingerprint

Este procedimiento es implementado y reportado en [2], tiene como finalidad extraer


características únicas y relevantes de la señal de audio. Estas características deben
permanecer invariantes a la codificación y adición de ruido. A partir de estas
características se puede hacer una comparación de la señal de audio completa y una
pequeña muestra de audio (tres a diez segundos), con lo cual se puede identificar un
contenido. El algoritmo que se desarrolla para este componente sigue la
parametrización de [2], tomando características espectrales (dos picos de energía en un
punto y una zona del espectro). Con esto se logra modelar un fingerprint robusto,
llegando a tener un 98% de precisión con audios degradados en calidad. Dada la
cantidad de índices que puede generar un fingerprint se utiliza una tabla Look up Table
(LUT) y un procedimiento de descarte de candidatos con la finalidad que el algoritmo
se pueda utilizar en tiempo real, llegando a tener un tiempo de procesamiento cercano
a los 5 milisegundos para muestras de 10 segundos.

6.2 Perceptual Image Hashing

Es una técnica descrita detalladamente en [1], la cual consiste en adaptar un algoritmo


utilizado en la comparación de imágenes con técnicas de indexación. La finalidad del
algoritmo es extraer características derivadas del contenido de cada frame de video y
obtener una representación en short binary strings e indexarlas mediante árboles (Bk-
Tree) y LUT, para facilitar su comparación mediante la distancia de Hamming. Con la
implementación de este algoritmo se puede tener una precisión cercana al 98% en la
identificación, esto empleando un solo frame del video. En la implementación de este
algoritmo se utiliza una técnica denominada “Perceptive Hash” (PHASH).

6.3 Aplicación de Segunda Pantalla

La aplicación de segunda pantalla es una aplicación desarrollada en Android que


permite identificar el video que se está viendo y sincronizarlo con contenido extendido.
Esta aplicación permite hacer capturas de audio en el caso de Audio Fingerprint y
capturas de imágenes en el caso de PHASH.
Fig. 5. Aplicación de segunda pantalla en Android para el extensión de información en audio y
video.

En el caso del audio la aplicación graba unos 10 segundos del video que se está
reproduciendo. Envía dicho audio mediante un protocolo de streaming utilizando las
librerias de android “AudioManager” y “MediaPlayer”. A medida que el audio es
grabado una tarea asíncrona se realiza en background. Dicha tarea conecta un socket al
servidor y recibe los resultados de búsqueda. La tarea es asíncrona porque permite
enviar a la aplicación una respuesta parcial sin depender si el audio ha terminado de
grabarse. Esto debido a que en muchos casos solo con una pequeña muestra de audio
del servidor es suficiente para identificar el vídeo. De no identificar el video a los 10
segundos la aplicación le dará la opción al usuario de volver a hacer una grabación u
optar por captar (tomar una foto) una imagen del video y usar PHASH.
Para las imágenes la tarea que se realiza es enviar una imagen o foto del video que
se visualiza en la pantalla. Esta imagen es enviada a un servidor por medio de un socket,
el servidor hace la búsqueda y da una respuesta si encontró o no la información. Este
proceso es recurrente y funciona similar a lo que hace un escáner de códigos QR.
Primero al usuario se le señala una región donde debe centrar la imagen a ser enviada,
cada cierto tiempo una fotografía, se captura y se envía. El proceso permanece activo
hasta que el usuario haya logrado reconocer el video. En el caso de que no se llegue a
obtener ningún resultado es el usuario el encargado de parar la aplicación. El servidor
tanto de audio como video se encarga de enviar enlaces web hacia la información
extendida y los mismos son listados en la pantalla de la aplicación. El funcionamiento
y las interfaces de la aplicación se observan en la fig 4.

7 Resultados

La fase de evaluación de los resultados en la implementación de la plataforma tiene que


ver con la integración de cada uno de sus módulos.
La interpretación de los resultados del módulo de extracción de etiquetas tiene que
integrase al módulo de búsqueda de información. Si las etiquetas no son extraídas
adecuadamente se espera que la información resultante de esas etiquetas no sea
relevante para el video que se está viendo. Es este caso los resultados deben someterse
a una evaluación subjetiva donde se intenta medir que tan satisfactoria fue la
información extendida. Entonces, cada enlace web que se encuentre podrá ser
calificado como muy útil, medianamente útil y no tener relación, pero esto será una
decisión del usuario final.
Para ilustrar mejor estos resultados, imaginemos un caso en el que se transmite un
video sobre el inicio de clases. Para un estudiante será muy útil la información devuelta
por la plataforma que tenga que ver con la distribución de aulas y horarios del nuevo
periodo académico. Mientras que, para un profesor quizá solo el enlace web donde se
especifique el día que inician las clases sea de utilidad. Por ello los enlaces de
información devueltos por la plataforma se evalúan de acuerdo a un ranking mostrado
en la Tabla 1. En la primera columna de la tabla se especifica el número de enlaces
encontrados y que están relacionados al video buscado. El resto de columnas muestra
si la información presentada está relacionada o si era de interés para el usuario. Por
ejemplo, si el primer enlace era el que contenía más información se lo clasifica en el
Top 1, si el enlace estaba entre los tres primeros se lo coloca en el Top 3 y así
sucesivamente. En el ejemplo, el componente muestra precisiones altas y bastante
aceptables debido a que se configuró la búsqueda para que considere fuentes web
conocidas como: páginas Web de la universidad, redes sociales de la universidad y
periódicos locales.

Tabal 1. Resultados para el etiquetado y búsqueda de información.

Numero de Enlaces Top 1 Top 3 Top 5 Top 10


Encontrados
3 enlaces web 95% 97% -- --
5 enlaces web 92% 96% 99% ---
10 enlaces web 90% 95% 97% 100%

Para el caso del módulo de sincronización de contenido, éste se evalúa por separado
para los dos algoritmos (audio e imagen) y los resultados se muestran en la Tabla 2. A
pesar que la precisión del 97% en audio fingerprinting es menor al DHASH 99%, este
tiene la ventaja que puede ser usado en streaming de audio y video. Esto lo hace de
mayor alcance multimedia ya que funcionará tanto en las señales del canalIp como en
la radio universitaria.
Perceptual Image Hashing se entiende como un algoritmo de alta precisión, donde
el 99% de los casos de búsqueda son exitosos. La tasa de falsos positivos del 1%, son
debido a ambigüedades que se pueden presentar en las imágenes dado que muchas
publicidades de la universidad a veces comparten el mismo fondo de imagen u otras
veces comparten un fragmento de video similar. También se pueden dar casos en los
que la aplicación no logre capturar una imagen centrada desde el monitor de las
noticias, en este caso no habrá manera de hacer el reconocimiento y se tomará como un
falso negativo. Esta tasa es realmente baja ya que al enviar un flujo constante de frames
al servidor es de esperar que al menos uno de estos ofrezca como resultado el video
buscado.
Tabal 2. Resultados para los algoritmos de Sincronización de Contenido.

Algorithmo ACR Tasa de falso Tasa de falso Precisión


Positivo Negativo
Fingerprint 1.2% 1.8% 97%
Perceptual Image 0.95% 0.05% 99%
Hasihing

8 Conclusiones y Recomendaciones

En este documento se describió el proceso de implementación de una plataforma para


la extensión de información sobre contenido multimedia. El objetivo de dicha
plataforma es extender la información que se visualiza a través de los diferentes
dispositivos de comunicación que poseen los IES.
Cada módulo implementado tiene consideraciones críticas para su funcionamiento. En
el caso del módulo de extracción de etiquetas lo fundamental es el proceso de
entrenamiento de los algoritmos a utilizarse. Por ejemplo, en el caso de las
transcripciones de audio si no se cuenta con un adecuado modelo de lenguaje, entonces
las etiquetas extraídas de los diálogos analizados pueden no ser correctas. Lo mismo se
podría decir en el caso de reconocimiento de objetos sobre imágenes donde se necesita
de una red neuronal cuyo conjunto de entrenamiento esté relacionado al contexto a
utilizar. Para el módulo de búsqueda de información lo crítico viene dado por las
fuentes a las que se accede en la Web. Si las fuentes no son controladas, entonces la
información extraída no va a tener relación con el video procesado. Finalmente, en la
sincronización de contenido el elemento a considerar es la muestra que se tome
mediante el teléfono móvil. Por ejemplo, en ambientes ruidosos será necesario no
utilizar el algoritmo de audio y más bien utilizar el algoritmo basado en imágenes y
viceversa cuando el enfoque de la cámara hacia el monitor presenta alguna dificultad.
Las herramientas brindadas por Python facilitan en gran medida el procesamiento de
señales de audio y video. Por ejemplo, en el diseño de sistemas de clasificación de
imágenes basados en redes neuronales con OpenCV y TensorFLow los cálculos
complejos necesarios para el entrenamiento se reducen a pasos simples y llamadas a
funciones predeterminadas. También es necesario mencionar el fácil acople de sus
librerías con procesos por GPU lo que agiliza las respuestas de algunos algoritmo
implementados.
Algunas recomendaciones para mejorar los resultados obtenidos con la plataforma
es hacer que el razonamiento sobre etiquetas e información web sea semántico. El
razonamiento sintáctico implementado en esta plataforma limita su alcance. Con
razonamiento semántico se pueden integrar otras variables y características de un
usuario que facilitarán al sistema darse cuenta de sus necesidades para así presentar
información diferenciada. Además, el razonamiento semántico permitirá ampliar el
alcance de las búsquedas. Limitar las fuentes de búsquedas no es el procedimiento
adecuado, pero en el caso de esta plataforma es una restricción dado que el
razonamiento es sintáctico. No se puede dejar que el algoritmo busque información en
toda la web dado que es arriesgar a que se presente información sin sentido que solo
coincida sintácticamente en algunas palabras y frases con el video procesado.
En cuanto al costo de implementación de la plataforma cabe mencionar que para su
implementación se utilizó en su totalidad software libre y que cada uno de los módulos
se desplegó sobre redes ya implementadas dentro de la Universidad. Esto hace que la
plataforma sea una opción viable para redes implementadas en otras instituciones.
Agradecimientos

El presente trabajo es parte de los proyectos que se llevan a cabo por parte del
Departamento de Investigación de la Universidad de Cuenca DIUC.

Referencias
1. F. Vega, J. Medina, D. Mendoza, V. Saquicela, and M. Espinoza, “A robust video
identification framework using perceptual image hashing,” in 43th Latin American
Computing Conference, Lat. Am. Symp. On Computer Graphics, Virtual Reality, and Image
Processing, 2017.
2. J. Medina, F. Vega, D. Mendoza, V. Saquicela, and M. Espinoza, “Audio fingerprint
parametrization for multimedia advertising identification,” 2017, Second Ecuador Technical
Chapters Meetings (ETCM 2017).
3. HB Kekre, Nikita Bhandari, Nisha Nair, Purnima Padmanabhan, and Shravya Bhandari. A
review of audio fingerprinting and comparison of algorithms. International Journal of
Computer Applications, 70(13), 2013.
4. Automated content recognition creating content aware ecosystems. Technical report,
CIVOLUTION, 2013.
5. Munzert, Simon, et al. Automated data collection with R: A practical guide to web scraping
and text mining. John Wiley & Sons, 2014.
6. Mori, Shunji, Hirobumi Nishida, and Hiromitsu Yamada. Optical character recognition. John
Wiley & Sons, Inc., 1999.
7. Sigcha, Erik, et al. "Automatic speech-to-text transcription in an ecuadorian radio broadcast
context." Colombian Conference on Computing. Springer, Cham, 2017.
8. Morocho, Villie, Humberto Chacón, and Jackeline Fernández. "NotiCEDIA una alternativa
digital a un circuito interinstitucional de TV para promover la comunicación entre la
comunidad universitaria.", 2015.
9. Giannakopoulos, T. pyaudioanalysis: An open-source python library for audio signal analysis.
PloS one, 10(12), 2015.
10. A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep
convolutional neural networks. In Advances in neural information processing systems , pages
1097–1105, 2012.
11. A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010.
www.imagenet.org/challenges. 2010.

S-ar putea să vă placă și