Image Descriptor Extraction Using Android Mobile Devices for a

Anuncio
2890
IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 6, JUNE 2016
Image Descriptor Extraction Using Android
Mobile Devices for a Video Search System
F. Quintanilla, B. Bustos and J. Bustos
1
Abstract—The increasing amount of multimedia data makes it
challenging to search for content, specially over an unlabeled
database. Meanwhile, the proliferation of smartphones, which
possess both video cameras and powerful processors, makes it
possible to use these devices as part of a video search process.
This paper presents a system for performing video searches using
an Android mobile device, that records a video and extract one of
three different kinds of global image descriptors, then it sends
them to a server to perform a similarity search over a database.
The precision of each kind of descriptor was measured. The
efficiency of the system was compared with an analogous
implementation which sends entire videos to the server and it was
found to improve the system’s response time and data usage.
Keywords—Content-based search, Video copy detection,
Android.
C
de consulta midiendo la distancia entre sus descriptores, según
alguna función de distancia apropiada.
Se cuenta con soluciones existentes para realizar búsquedas
por similitud en colecciones de videos. La herramienta usada
en este trabajo se llama P-VCD [2, 3] y es capaz de extraer
diversos tipos de descriptores de video y realizar búsquedas
por similitud.
B. Objetivos
El objetivo de este trabajo es diseñar y probar un sistema de
búsqueda de video con el cual un usuario puede grabar un
video usando un dispositivo móvil, el dispositivo calcula y
envía descriptores de imágenes a un servidor capaz de realizar
búsqueda por similitud que identifique el video original y le
comunique los resultados al cliente.
I. INTRODUCCIÓN
ada día crece la cantidad de contenido audiovisual
disponible gracias en parte a la televisión y por otro lado
a la proliferación de métodos de captura de video de bajo
costo y de servicios de almacenamiento de video en internet.
Sin embargo, gran parte de este contenido no está etiquetado,
es decir, no presenta metadatos que faciliten su búsqueda. Para
buscar videos en colecciones no etiquetadas se usa la
búsqueda por similitud, que se basa en comparar (esto es,
medir cuanto se parecen) dos videos. Para medir esta similitud
se utilizan descriptores de video, que corresponden a vectores
que representan características del contenido del video, y bajo
los cuales las comparaciones están definidas por funciones de
distancia.
La masificación de los smartphones, o teléfonos inteligentes
aporta al aumento de contenido no etiquetado, pero a la vez
ofrece una solución para la búsqueda de videos. Estos
dispositivos permiten grabar video fácilmente, y
recientemente han aumentado su poder de cómputo haciendo
posible realizar tareas de procesamiento complejo.
A. El Problema
El problema que se desea solucionar consiste en identificar la
fuente de un segmento de video grabado con un celular
basándose en su contenido para realizar una búsqueda por
similitud.
Para realizar la búsqueda por similitud primero se extraen
descriptores [1] para cada video dentro de una colección y se
almacenan. Luego se extraen los descriptores del video de
consulta y se comparan con los extraídos previamente.
Finalmente se pueden identificar los videos similares al video
1
B. Bustos, Departamento de Ciencias de la Computación Universidad de
Chile, bebustos@dcc.uchile.cl
J. Bustos Departamento de Ciencias de la Computación Universidad de
Chile, jbustos@niclabs.cl
II. DISEÑO DEL SISTEMA
Se diseñaron dos arquitecturas para el sistema, una que
graba y envía archivos de videos completos a un servidor,
luego el servidor realiza la extracción de descriptores y la
búsqueda. En otra alternativa el dispositivo móvil realiza la
extracción de descriptores y solo envía los descriptores al
servidor. Luego el servidor realiza la búsqueda y le comunica
los resultados al cliente.
Se implementaron ambas versiones del sistema para poder medir el efecto
en la eficiencia (tiempo de respuesta y uso de la red móvil) del sistema al
extraer descriptores en el dispositivo móvil. El código de ambas versiones está
disponible
en
repositorios
git,
uno
para
el
cliente
(1
https://github.com/fquintan/MovieDetector
)
y
otro
para
el
servidor
(https://github.com/fquintan/MovieDetectorServidor).
A. Diseño centralizado
Se le llama centralizada a la versión del sistema que envía
videos completos al servidor puesto que todos los cálculos
(extracción de descriptores y búsqueda) se realizan de forma
centralizada en el servidor.
La Figura 1 muestra un diagrama de la arquitectura del
sistema.
Figura 1. Diagrama de la versión centralizada del sistema. El celular graba
un video y envía el archivo al servidor (1), el servidor extrae descriptores para
el video recibido (2), y luego realiza la búsqueda (3). Finalmente se envían los
resultados de vuelta al cliente.
QUINTANILLA et al.: IMAGE DESCRIPTOR EXTRACTION
2891
Este sistema es simple de implementar pero presenta
distintas falencias. Por un lado el enviar archivos de video
completos al servidor requiere un uso excesivo de la red de
datos del cliente. Por otro lado al realizar todos los cálculos en
el servidor se corre el riesgo que se convierta en un cuello de
botella que limite la escalabilidad del sistema.
B. Diseño distribuido
Para intentar mejorar las falencias expuestas del diseño
anterior se propone la arquitectura ilustrada en la Figura 2,
donde el dispositivo móvil se encarga de extraer los
descriptores del video y el servidor solo se encarga de realizar
la búsqueda. Se le llama distribuida a esta alternativa porque
los cálculos necesarios para la búsqueda quedan distribuidos
entre el cliente y el servidor.
Figura 3. Ilustración del proceso de extracción del descriptor GHD.
Descriptor de Distribución de Color (CLD):
Figura 2. Diagrama de la versión distribuida del sistema. El celular extrae
descriptores del video mientras lo graba (1). Envía solo los descriptores al
servidor (2). El servidor realiza la búsqueda usando los descriptores
calculados por el cliente (3) y envía los resultados de vuelta al cliente (4).
Este descriptor representa la distribución de colores en la
imagen [4]. La Figura 4 ilustra la extracción del descriptor.
Primero se divide la imagen en secciones iguales, luego se
calcula un valor de color promedio para cada sección. El
descriptor final se forma concatenando los valores de rojo,
verde y azul de cada sección.
Al enviar solo los descriptores del video al servidor se reduce
la cantidad de datos transferidos. Por otro lado el realizar la
extracción de descriptores en el cliente alivia la carga de
trabajo del servidor y hace mejor uso de los recursos
computacionales del sistema completo.
C. Descriptores
Un descriptor es una forma de representar un video por sus
características, como su distribución de colores, bordes, etc.
Comúnmente se extraen descriptores correspondientes a
frames equiespaciados del video.
En este trabajo se implementaron tres tipos distintos de
descriptores que representan distintas características del
contenido del video. La implementación está restringida a
dispositivos Android puesto que se hizo uso del framework
Renderscript de Android, el cual permite hacer uso de los
múltiples núcleos del procesador para realizar cálculos.
Descriptor de histograma de grises por zona (GHD):
Este descriptor representa la distribución espacial de luz en
la imagen. La Figura 3 ilustra el proceso de extracción del
descriptor GHD. Primero se convierte la imagen a escala de
grises, luego se divide en secciones de igual tamaño y se
calcula un histograma de grises para cada sección. Finalmente
el descriptor corresponde a la concatenación de los
histogramas de cada sección.
Figura 4. Ilustración del proceso de extracción del descriptor CLD.
Descriptor de histograma de bordes (EHD):
Este descriptor representa la orientación de bordes presentes
en la imagen [5]. Para extraer el descriptor primero se divide
la imagen en secciones, luego cada sección se divide en
bloques, a su vez cada bloque se divide en cuatro sub-bloques
como muestra la Figura 5.
Después de dividir la imagen se clasifica cada sub-bloque
dependiendo del tipo de borde presente. Para esto se usan los 5
tipos de filtros mostrados en la Figura 6, cada uno asociado a
un tipo de borde. Para cada bloque se calcula la energía de
cada filtro, la energía corresponde a la sumatoria del producto
de cada sub-bloque por su elemento correspondiente del filtro.
Luego se selecciona el filtro de mayor energía y se clasifica el
bloque con su borde correspondiente. Para cada sección de la
imagen se crea un histograma con la cantidad de bloques
clasificados con cada tipo de borde. El descriptor final
corresponde a la concatenación de los histogramas de cada
sección.
2892
IEEE LATIN AMERICA TRANSACTIONS, VOL. 14, NO. 6, JUNE 2016
descriptores aproximadamente un tercio menos tiempo que la
versión centralizada.
Figura 5. Ilustración del proceso de subdivisión de la imagen usado por el
descriptor EHD.
Figura 7. Tiempo promedio de respuesta de cada descriptor bajo ambas
versiones del sistema.
Figura 6. Tipos de borde usados por el descriptor EHD, cada uno con su filtro
correspondiente.
Al observar el detalle del tiempo usado por cada operación
del servidor en la Figura 8 podemos apreciar la razón para la
disminución del tiempo de respuesta. La extracción de
descriptores del video de consulta toma justamente un tercio
del tiempo del servidor, al eliminar esta operación se logra la
reducción observada. En la misma Figura se puede apreciar la
reducción en el tiempo utilizado transmitiendo datos del
cliente al servidor.
III. EVALUACIÓN EXPERIMENTAL
A. Pruebas Realizadas
Para realizar pruebas del sistema de recopiló una colección
de videos correspondientes a películas de dominio público.
Los videos fueron descargados de un canal de Youtube
dedicado a recopilar y almacenar películas que han caído bajo
el dominio público2. La colección recopilada consiste de 119
películas que corresponden a aproximadamente 110 horas de
video.
Se seleccionaron 10 videos aleatorios dentro de la colección
y se realizaron 4 consultas para cada uno usando siempre la
versión distribuida de la aplicación. Se repitió el proceso
anterior variando la cantidad de videos en la base de datos
para evaluar la precisión de los descriptores ante un aumento
del tamaño de la base de datos.
En cada consulta se midió la cantidad de respuestas correctas,
la cantidad de datos enviados al servidor y el tiempo de
respuesta del sistema, que está definido como el tiempo
transcurrido entre que el cliente termina de enviar datos hasta
que recibe la respuesta del servidor.
Adicionalmente se repitieron las consultas usando la
versión centralizada del sistema. Se midió nuevamente el
tiempo de respuesta del sistema para comparar la eficiencia de
ambos sistemas.
B. Resultados
La Figura 7 muestra los resultados de comparar el tiempo de
respuesta promedio de cada versión del sistema usando cada
descriptor. La versión distribuida cumplió su objetivo de
disminuir el tiempo de respuesta, tomando para todos los
2
Ver: https://www.youtube.com/user/BestPDMovies
Figura 8. Comparación de tiempo requerido por cada operación en ambas
versiones del sistema.
Con respecto al uso de la red de datos del cliente
observamos en la tabla 1 que el uso disminuyó
QUINTANILLA et al.: IMAGE DESCRIPTOR EXTRACTION
2893
significativamente al usar la versión distribuida del sistema.
Mientras enviar el video completo utiliza más de 6 Megabytes,
enviar solo los descriptores toma alrededor de 20 Kilobytes.
Kilobytes
enviados
Centralizado
Distribuido
GHD
Distribuido
EHD
Distribuido
CLD
6389.64
22.69
11.98
19.60
Tabla 1. Resultados de cantidad de datos enviada al servidor por cada
implementación del cliente.
Finalmente al evaluar la precisión de cada descriptor, esto
es, el porcentaje de resultados correctos, se obtuvieron los
resultados de la Figura 9. Solo el descriptor CLD obtuvo
resultados favorables mientras que la precisión de los otros 2
fue apenas mejor que el azar para tamaños pequeños de la
base de datos y prácticamente nulos para la base de datos
completa.
transformación en distintas medidas, distorsionando cada vez
más la imagen, al comparar la efectividad de los descriptores
con estos videos se puede deducir su comportamiento ante la
transformación.
Finalmente, la reducción de tiempo de respuesta y de
transmisión de datos lograda al extraer descriptores en el
dispositivo revela una oportunidad interesante de hacer uso del
poder de cómputo de dispositivos móviles para realizar
cálculos que previamente estaban relegados al servidor,
especialmente los que involucren procesamiento de imágenes.
AGRADECIMIENTOS
Este trabajo fue parcialmente financiado por el Núcleo
Milenio Centro de Investigación de la Web Semántica, Grant
N° NC120004
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
Figura 9. Resultados de medir la precisión de cada descriptor al variar la
cantidad de video en la base de datos.
Estos resultados pueden explicarse al considerar la manera
en que cada descriptor extrae características de la imagen.
Mientras que los descriptores GHD y EHD dividen la imagen
y realizan un proceso de conteo de ciertas características, CLD
funciona calculando un promedio de las características sobre
cada sección de la imagen. Si al grabar el video el usuario no
logra encuadrar correctamente la pantalla se grabarán
características que no estaban presentes en el video original,
como por ejemplo el marco de la pantalla. Mientras que en los
descriptores basados en histogramas este error puede resultar
en un cambio drástico del descriptor final, en CLD el error se
suaviza al calcular el promedio sobre cada sección, resultando
menos afectado.
IV. TRABAJO FUTURO
El sistema implementado es capaz de extraer descriptores
de video usando un dispositivo móvil Android y de enviarlos a
un servidor, que utiliza los descriptores para realizar una
búsqueda por similitud en una base de datos de videos.
Solo uno de los tres descriptores probados presentó
resultados favorables en términos de su precisión. Se
presentaron hipótesis de las razones de este desempeño pero
es necesario validarlas realizando más pruebas del sistema.
Para probar si la ventaja del descriptor CLD es causada por
una mayor tolerancia a la transformación ocasionada por la
grabación se pueden generar videos donde se simule la
Y. Aslandogan and C. Yu. Techniques and systems for image and video
retrieval. Knowledge and Data Engineering, IEEE Transactions on,
11(1):56–63, Jan/Feb 1999.
Juan Manuel Barrios and Benjamin Bustos. P-vcd: a pivot-based
approach for content-based video copy detection. In Proc. IEEE
International Conference on Multimedia and Expo (ICME’11), 2011.
Juan Manuel Barrios, Benjamin Bustos, and Xavier Anguera.
Combining features at search time: Prisma at video copy detection task.
In Proc. TRECVID 2011, 2011.
E. Kasutani , The MPEG-7 Color Layout Descriptor: A Compact Image
Description for High-Speed Image/Video Segment Retrieval. In Proc.
of I CI P20D 1 , vol. 1 , pp.74 -677
B. S. Manjunath, J. R. Ohm, V. V. Vasudevan, and A. Yamada. Color
and texture descriptors. IEEE Trans. Cir. and Sys. for Video Technol.,
11(6):703–715, June 2001.
Felipe Quintanilla, Estudiante de Ingeniería en Computación
de la Universidad de Chile. Actualmente realizando su
memoria de Ingeniería en NIC Chile Research Labs. Sus áreas
de interés incluyen procesamiento de imágenes y búsqueda
multimedia. Su correo de contacto es felipe@niclabs.cl.
Benjamín Bustos es Profesor Asociado del Departamento de
Ciencias de la Computación de la Universidad de Chile.
Participa como Investigador Joven del Núcleo Milenio,
Centro de Investigación de la Web Semántica, y es director
del grupo de investigación PRISMA. Sus intereses de
investigación se centran en las áreas de búsqueda por similitud, recuperación
de información multimedia basada en contenido, y matching de modelos 3D.
Obtuvo el grado de Doctor en Ciencias Naturales de la Universität Konstanz,
Alemania (2006). Su correo de contacto es bebustos@dcc.uchile.cl.
Dr. Javier Bustos-Jimenez es actualmente Director Ejecutivo
de NIC Chile Research Labs, Universidad de Chile, donde
lidera un equipo de alrededor de 20 ingenieros y M.Sc. en la
producción
de
investigación
de
alto
nivel
en
telecomunicaciones. Desde el 2001 es profesor de la
Universidad de Chile. Actualmente enseña el curso de
Sistemas Distribuidos. Es Doctor en informática de la Escuela
Doctoral STIC, Universidad de Niza Sophia-Antípolis, Francia (2006),
ingeniero (2000), M.Sc.(2002) y Phd en Ciencias de la Computación (2006)
de la Universidad de Chile. Su correo de contacto es jbustos@niclabs.cl.
Descargar