Extraction Of Representative Frames Of Digital Video Based On

Transcripción

Extraction Of Representative Frames Of Digital Video Based On
Extraction Of Representative Frames Of Digital
Video Based On Quadtree Partition
J. Y. Montiel, J. C. Torres and S. de la O
Abstract— In this paper the results of the implementation
of an algorithm are reported to extract representative frames of a
digital video. The algorithm is based on the partition of video
segments as in quadtree partition dimensional space. Discarded
frames are compared and the like. A comparison based on PSRN
and a recursive process is used.
proceso existen múltiples algoritmos y técnicas [9] [10], y entre
los recursos de software libre está el proyecto y librería FFmpeg
con el cual se pueden extraer los frames representativos de un
video [11] y varios software comerciales se basan en este [12].
Keywords— processing, representative frames, quadtree
partition, video processing, video summarization.
A. Generalidades de los algoritmos de extracción
Se considera que una imagen digital I(x,y) en un espacio
discreto de dos dimensiones es derivado de una imagen
analógica I[M,N] en un espacio continuo de dos dimensiones a
través de un proceso de muestreo. En este proceso se divide la
imagen en MxN secciones, y cada sección es un pixel que se
identifica por su posición (x,y) en la imagen digital y en tal
posición existe la información de ese elemento de imagen
(profundidad, color, etc).
L
I.
INTRODUCCIÓN
A CLASIFICACIÓN y generación de bases de datos de
contenidos multimedia es una tarea compleja debido a la
gran cantidad de información que se necesita clasificar y
ordenar. Los contenidos multimedia principalmente son
imágenes, audio y video. Tanto en bases de datos
gubernamentales como en internet, la clasificación e indización
es un problema que falta por resolver. Existen propuestas de
solución, como búsquedas por contenido y técnicas que se
utilizan en la búsqueda en la web, entre otras [1].
Para la catalogación e indexado de video digital se debe de
analizar y añadir etiquetas que lo describan. Con esto, en las
búsquedas se obtendrán resultados más acertados. Por ejemplo,
si un video contiene el reportaje de una ciudad, sus etiquetas
deberían ser: edificios, automóviles, personas, señales de
tránsito, etc. [2].
En general los pasos para catalogar de manera automática un
video digital son: (1) tener el video digital en un formato
estándar, (2) identificar los frames o segmentos de video
representativos del contenido del video [1] [2] [3] [4], (3)
analizar los frames o segmentos de video buscando los
descriptores para etiquetar [5] [6] [7], (4) generar la base de
datos con las etiquetas [8] y (5) emplear algoritmos de búsqueda
en consulta de la base de datos [8].
El presente trabajo está dedicado a la extracción de frames
representativos de un video. Esta etapa en la catalogación es de
suma importancia debido a que estos frames son los que pueden
ser analizados con un procesamiento de imagen para encontrar
descriptores que se asocien etiquetas. Entonces, entre mejor sea
la extracción de los frames, mejor será la descripción que se
tendrá del contenido del video.
_________________________
J. Y. Montiel, Escuela Superior de Cómputo del Instituto Politécnico
Nacional, Ciudad de México, México, [email protected].
J. C. Torres, Escuela Superior de Cómputo del Instituto Politécnico
Nacional, Ciudad de México, México, [email protected].
S. de la O, Escuela Superior de Cómputo del Instituto Politécnico Nacional,
Ciudad de México, México, [email protected].
El caso extremo es analizar todos los frames del video, pero
esto se verá reflejado en el tiempo de análisis. Para realizar este
II.
MÉTODO
Con base en lo anterior, un video se define como el conjunto
de imágenes secuenciales en el tiempo
V(I)={I(x,y,t1),I(x,y,t2 ),…I(x,y,tm)}
(1)
donde t es el tiempo en que aparece la imagen en la
secuencia.
En video con formato estándar se presentan 30 imágenes por
segundo para que el ojo humano perciba movimiento en el
contenido de la secuencia de imágenes.
Las imágenes que componen a un video se les conoce como
frames.
Para un video con compresión, por ejemplo con formato
mp4, si el video tiene una duración de tiempo T, el video se
puede dividir en n intervalos de tiempo, siendo estos los frames
claves del video, Figura 1.
Figura 1. Video de tiempo T segmentado en n partes.
Si el primer frame se analiza y compara con el segundo,
luego el primero con el tercero y así hasta compararlo con todos
los demás. Los frames similares se consideran que son escenas
semejantes y se eliminan. Entonces el segundo frame se
compara con el tercero y así sucesivamente hasta tener la
comparación de todos los frames del video, de igual manera los
frames similares se eliminan. Lo mismo se hace con el tercer,
cuarto hasta el frame n.
El número de análisis y comparaciones se estima por una
combinación que se representa por la ecuación (2) [13]
 n 
n!
C
=
 k  k!( n− k )!
(2)
donde, C es una combinación y en este caso representa el
número de comparaciones que se hacen entre los frames del
video, n es el número de segmentos del video y k es el número
de frames en el conjunto de comparaciones en este caso es 2.
El peor de los casos es cuando todos los frames de los
segmentos sean diferentes, es decir, cada frame representa una
escena distinta en el video.
்
La razón de partición de los segmentos del video es de .
௡
Este proceso descrito es el utilizado en la librería FFmpeg y
es la referencia que se utiliza para comparar con el algoritmo que
se propone en el presente trabajo.
Análisis(SecuenciaVideo_ps)
SI ps < 2%T
GUARDAR FrameCentral de
SecuenciaVideo_ps
TERMINAR
Dividir SecuenciaVideo ps/2
SecuenciaVideo_p1 -->
FrameCentral_p1
SecuenciaVideo_p2 -->
FrameCentral_p2
SI FrameCentral_p1 ≈ FrameCentral_p2
GUARDAR FrameCentral_p1
Análisis(SecuenciaVideo_p1)
Análisis(SecuenciaVideo_p2)
Terminar
்
La razón de partición de los segmentos del video es de ೙
ଶ
como se muestra en la Figura 3.
Los algoritmos de comparación y detección de cambios de
escenas son diversas y relativamente complejas. Por lo que ese
número de operaciones de comparación se debe de multiplicar
por el tiempo en que se hace la operación.
B. Propuesta de algoritmo de extracción de frames
representativos
En el presente trabajo se propone hacer una partición de
segmentos de video basada en particiones de espacio
unidimensional quadtree [14] [15]. Consiste en que se tiene un
video con duración de tiempo T. Este es dividido a la mitad,
Figura 2 (a) partición p0, obteniendo dos segmentos de video de
tiempo T/2 cada uno, Figura 2 (b). Cada segmento se vuelve a
dividir en dos y el frame central, Figura 2 (b) particiones p1 y
p2, estas particiones son comparadas con una relación señal a
ruido pico, PSRN [16]. Si los frames son semejantes, el segundo
segmento se elimina del análisis. Si los frames no son semejantes
son marcados como el punto de segmentación para producir
ahora cuatro segmentos de video, Figura 2 (c). Cada segmento
se divide en dos y los cuatro frames centrales se vuelven a
comparar, y se realiza el mismo procedimiento.
Figura 3. Partición de los segmentos de video.
Cabe mencionar que las particiones que se hacen a los
segmentos de video no es exactamente a la mitad; sino que la
partición p está alrededor de la mitad en un intervalo aleatorio
del 2% al 10% del tiempo total T del video, Figura 4. Este mismo
intervalo es utilizado en las comparaciones entre frames.
Figura 4. Partición de los segmentos de video en un intervalo que depende de T.
El proceso de partición y de análisis tienen una forma
jerárquica y semejante a un árbol binario. El software creado
utiliza esta característica e inherentemente se tiene el uso de la
recursividad en el proceso.
Figura 2. Segmentación de video basado en particiones de espacio
unidimensional quadtree.
El algoritmo se muestra a continuación. El proceso es
recursivo y se toma en cuenta que el tiempo mínimo entre frames
a analizar es del 2% del tiempo T total del video.
Con base en las condiciones descritas, la ecuación (3) para
un video de tiempo T, en el peor de los casos se contruye un
árbol binario completo de 6 niveles. Esto quiere decir, que como
máximo se analizan 63 frames independientemente de la
duración del video.
respectivo programa tiene como entrada un video con formato
mp4 y como salida un conjunto de imágenes en formato ppm.
T
> 0.02T
2 n−1
(3)
Esta relación se refiere a que las particiones del video serán
como máximo del 2% de la duración T del video.
Las comparaciones entre frames se realiza con el PSRN que
se expresa en (4)
 MAX I2 
PSNR = 10 ⋅ log10 

 MSE 
(4)
donde MAX es el máximo valor que puede tener un pixel en
la imagen o frame con una representación de B bits. Para este
trabajo B=8 bits.
MSE =
1 M −1 N−1
  I ( i, j ) − K ( i, j )
MN i=0 j =0
2
(5)
Con un error cuadrático medio para dos imágenes I y K; de
tamaño MxN. En este trabajo se utilizan imágenes RGB por lo
que se usa el promedio aritmético del MSE. Se define por medio
de observación que dos frames son similares si se tiene un PSRN
mayor que 16. El decir que dos frames son similares significa
que sus contenidos y las escenas del video son semejantes y una
de ellas se toma como un frame representativo.
La librería FFmpeg para extraer frames de un video es de
tipo combinatorio como se describió en la sección de
generalidades y con la ecuación (1).
Las pruebas se distribuyeron en varias etapas: a) prueba
general con una colección de 17 videos de diferente duración, b)
prueba con videos de corta duración.
El algoritmo fue programado en lenguaje C. Por otro lado, la
librería de referencia FFmpeg fue utilizada desde un programa
en lenguaje C.
Las pruebas se realizaron en una computadora MacBookpro
con procesador Intel core i7, 2.2 GHz con 16 Gb de memoria
RAM y con sistema operativo OS X 10.9.4. Durante las pruebas
únicamente se tuvo en ejecución el programa del algoritmo o el
de la librería.
A. Prueba general
Con una colección de 17 videos con formato mp4 y
dimensiones de 480x360, con tiempos de duración de 64 s, 95 s,
162 s, ..., 5004 s y 5564 s. Los videos son a color, excepto uno
que es en formato blanco y negro y de baja calidad de imagen.
Para el video 1.mp4 con duración de 64 s, se obtienen 7 frames
representativos y se muestran en la Figura 5.
De manera similar se obtienen resultados para los demás
videos. En la Figura 6 se muestra el total de los frames
representativos por cada video analizado. Cabe mencionar que
el máximo número de frames para analizar con el algoritmo
propuesto es de 63 más los frames menores del 2% T que se
obtengan por partición, veáse el algoritmo.
Figura 6. Número de frames que se analizan con el algoritmo propuesto y con la
librería de FFmpeg.
Figura 5. Conjunto de frames representativos del video 1.mp4 de 64 s.
III.
PRUEBAS
Para las pruebas se utilizó el algoritmo que se presenta en
este trabajo y como referencia el algoritmo de extracción de
frames contenido en la librería FFmpeg. En ambos casos, su
Conforme el video tiene mayor duración, como lo es para el
video 15, 16 y 17, mayor es la cantidad de frames que analiza el
algoritmo de la librería de FFmpeg. Ambos algoritmos extraen
los frames representativos. Se considera la efectividad de
extracción como la razón del número de frames representativos
y el total de frames analizados, se tiene como resultado la gráfica
de la Figura 7. Con respecto a los frames totales que se analizan,
el algoritmo de FFmpeg desecha más frames que el algoritmo
propuesto y por tanto disminuye su efectividad.
En la Figura 8 se muestra el tiempo de procesamiento para
los 17 videos ya mencionados. El máximo tiempo de
procesamiento del algoritmo propuesto es de 2 segundos en las
pruebas.
B. Pruebas con videos de corta duración
Se consideran como videos de corta duración a videos de
En la Figura 9 se muestran los tiempos en que se extrajeron
los frames representativos para 5 videos diferentes. Los tiempos
marcados para cada video y la cantidad de frames extraídos
dependen del contenido de las imágenes que conforman al video.
Con estos videos se realizó una prueba de estabilidad o
repetitividad de resultados. Esta prueba consiste en que un solo
video es tratado por el software varias veces y se comparan
resultados en cuestión del número de frames extraídos y su
localización temporal en el video.
Efectividad de extracción de frames
100.00%
90.00%
80.00%
Para cada ejecución del software con el mismo video se
obtienen conjuntos de frames diferentes, pero que
subjetivamente son representativos del video. Los resultados de
esta prueba con un video de 623 segundos se muestran en la
Figura 10.
70.00%
Efectividad
variados; como naturaleza, bosque, animales, ciudades, zonas
arqueológicas y reportajes informativos.
60.00%
50.00%
40.00%
30.00%
20.00%
Algoritmo
10.00%
FFmpeg
0.00%
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Video
Figura 7. Efectividad de la extracción de frames para los 17 videos de
prueba para el algoritmo propuesto y la librería de FFmpeg.
entre 5 a 6 minutos. Se probaron 10 videos con contenidos
Tiempo de procesamiento
128
algoritmo
64
FFmpeg
32
Figura 10. Frames señalados con respecto al tiempo que fueron extraídos de un
video para varias ejecuciones del algoritmo propuesto.
Tiempo, s
16
8
Para el caso del algoritmo contenido en la libería FFmpeg y
con el mismo video de la Figura 10, se obtiene el máximo de
frames que se pueden analizar en el video. Con intervalos
uniformes de tiempo entre frame y frame que tienen
caracteristicas generales no necesariamente representativas del
video, Figura 11.
4
2
1
0.5
0.25
0.125
0.0625
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Video
Figura 8. Tiempo de procesamiento para los 17 videos de prueba para el
algoritmo propuesto y la librería de FFmpeg.
Figura 11. Frames extraídos del video con la librería FFmpeg.
También se realizaron pruebas semejantes a las reportadas
en la sección anterior de porcentaje de efectividad y de tiempo
de procesamiento. Se obtuvieron resultados similares a los
reportados.
Figura 9. Frames extraídos de 5 videos diferentes de corta duración.
En la Figura 12 se observa que en diez ejecuciones del
algoritmo propuesto se tienen cantidades diferentes de frames
que se utilizan en el análisis. Cabe destacar que en ninguna se
superan los 63 frames que teóricamente se estiman como
máximo. Las pruebas son con el mismo video y como se infiere
por los resultados mostrados en la Figura 10, los frames
analizados probablemente sean diferentes entre ejecución y
ejecución del algoritmo. Como medio de comparación el mismo
video es procesado con el algoritmo de la librería FFmpeg y en
todas se utiliza el mismo número de frames.
utiliza la librería FFmpeg, pero para trabajo futuro se hará un
análisis de si efectivamente los frames extraídos son los
representativos del video.
Por lo pronto, el algoritmo propuesto cumple con el requisito
mencionado en la sección de la introducción donde se enfátiza
que el proceso de extracción de frames debe ser rápido.
AGRADECIMIENTOS
Figura 12. Número de frames que se analizan con el algoritmo propuesto y con
la librería de FFmpeg para un video de corta duración en 10 ejecuciones del
algoritmo.
Al realizar las pruebas con varias ejecuciones de análisis con
el video, se registraron los tiempos de procesamiento que se
muestran en la Figura 13. El algoritmo del FFmpeg para
cualquier ejecución tiene un tiempo de procesamiento similar,
mientras que para el algoritmo propuesto el tiempo es
proporcional al número de frames utilizados en el procesamiento
y es menor que el de FFmpeg.
Figura 13. Tiempo de análisis de un video con el algoritmo propuesto y con la
librería de FFmpeg en 10 ejecuciones.
Tanto para videos de corta o mayor duración, 5400
segundos, se obtienen resultados similares con ambos
algoritmos.
IV.
CONCLUSIONES
El resultado del análisis es un conjunto de imagénes o
frames del video, que conforman la información general del
contenido del video y con lo cual se puede tener una
representación general. Esto debido a que la restricción de la
unidad mínima de análisis es del 2% del tiempo de duración del
video. Las escenas menores a esta longitud de tiempo es
probable que no sea las que describan de manera general al
contenido de todo el video.
Las pruebas del algoritmo tiene como máximo un tiempo de
procesamiento de 2 segundos y en general tiempos menores de
1 segundo.
Las pruebas de repetitividad con varias ejecuciones del
programa se obtienen resultados diferentes en cuestión de la
localización temporal de los frames, pero mantienen la
representatividad del contenido del video. En el caso del
algoritmo del FFmpeg los frames que se extraen para cualquier
video son en intervalos regulares y su número depende de la
longitud de tiempo del video.
Con base en las gráficas incluidas en este trabajo se observa que
el algoritmo propuesto es más rápido y eficiente que el que
El presente trabajo se realizó bajo el financiamiento
del Instituto Politécnico Nacional con el proyecto de
investigación de registro 20141167 y del proyecto bilateral
2011 de ANR-CONACYT 158781 Mex-Culture.
REFERENCIAS
[1]
Markaki, O.I.; Charilas, D.E., "Personalization Mechanisms for
Content Indexing, Search, Retrieval and Presentation in a Multimedia Search
Engine," Systems, Signals and Image Processing, 2009. IWSSIP 2009. 16th
International Conference on , vol., no., pp.1,6, 18-20 June 2009.
[2]
Shavitt, Y.; Weinsberg, E.; Weinsberg, U., "Applying clustering
algorithms on Peer-to-Peer networks for content searching and
recommendation," Electrical and Electronics Engineers in Israel (IEEEI), 2010
IEEE 26th Convention of , vol., no., pp.000244,000248, 17-20 Nov. 2010.
[3]
Kanade, S.S.; Patil, P.M., "Representative Frame Decoration using
unsharp filter in video summarization," Communications and Signal Processing
(ICCSP), 2011 International Conference on , vol., no., pp.570,573, 10-12 Feb.
2011.
[4]
Xinding Sun; Kankanhalli, M.S.; Yongwei Zhu; Jiankang Wu,
"Content-based representative frame extraction for digital video," Multimedia
Computing and Systems, 1998. Proceedings. IEEE International Conference on
, vol., no., pp.190,193, 28 Jun-1 Jul 1998.
[5]
Shiyang Lu; Zhiyong Wang; Yuan Song; Tao Mei; Feng, D.D., "A
bag-of-importance model for video summarization," Multimedia and Expo
Workshops (ICMEW), 2013 IEEE International Conference on , vol., no.,
pp.1,6, 15-19 July 2013.
[6]
Genliang Guan; Zhiyong Wang; Kaimin Yu; Shaohui Mei; Mingyi
He; Dagan Feng, "Video Summarization with Global and Local Features,"
Multimedia and Expo Workshops (ICMEW), 2012 IEEE International
Conference on , vol., no., pp.570,575, 9-13 July 2012.
[7]
Ferman, A.M.; Tekalp, A.M.; Mehrotra, R., "Robust color
histogram descriptors for video segment retrieval and identification," Image
Processing, IEEE Transactions on , vol.11, no.5, pp.497,508, May 2002.
[8]
Sangkeun Lee; Hayes, M.H., "A fast clustering algorithm for video
abstraction," Image Processing, 2003. ICIP 2003. Proceedings. 2003
International Conference on , vol.2, no., pp.II,563-6 vol.3, 14-17 Sept. 2003.
[9]
Mohanta, P.P.; Saha, S.K.; Chanda, B., "Detection of representative
frames of a shot using multivariate Wald-Wolfowitz test," Pattern Recognition,
2008. ICPR 2008. 19th International Conference on , vol., no., pp.1,4, 8-11 Dec.
2008.
[10]
Genliang Guan; Zhiyong Wang; Kaimin Yu; Shaohui Mei; Mingyi
He; Dagan Feng, "Video Summarization with Global and Local Features,"
Multimedia and Expo Workshops (ICMEW), 2012 IEEE International
Conference on , vol., no., pp.570,575, 9-13 July 2012.
[11]
FFmpeg, http://www.ffmpeg.org, on line, consultado 10 de febrero
2014.
[12]
Chergui, A.; Bekkhoucha, A.; Sabbar, W., "Video scene
segmentation using the shot transition detection by local characterization of the
points of interest," Sciences of Electronics, Technologies of Information and
Telecommunications (SETIT), 2012 6th International Conference on , vol., no.,
pp.404,411, 21-24 March 2012.
[13]
García Sipols, Ana, “Manual de estadística”, Editorial Dykinson S.
L., 2008.
[14]
Oudin, S.; Helle, P.; Stegemann, J.; Bartnik, C.; Bross, B.; Marpe,
D.; Schwarz, H.; Wiegand, T., "Block merging for quadtree-based video
coding," Multimedia and Expo (ICME), 2011 IEEE International Conference
on , vol., no., pp.1,6, 11-15 July 2011.
[15]
Bai Jian-jun; Zhao Xue-sheng, "Quadtree-based indexing of
hierarchical diamond subdivisions of the global," Geoscience and Remote
Sensing Symposium, 2004. IGARSS '04. Proceedings. 2004 IEEE International
, vol.5, no., pp.2878,2881 vol.5, 20-24 Sept. 2004.
[16]
Rani, B.; Bansal, R.K.; Bansal, S., "Comparison of JPEG and
SPIHT image compression algorithms using objective quality measures,"
Multimedia, Signal Processing and Communication Technologies, 2009.
IMPACT '09. International , vol., no., pp.90,93, 14-16 March 2009.
[17]
Shinhaeng Lee; Omachi, S.; Aso, H., "A parallel architecture for
quadtree-based fractal image coding," Parallel Processing, 2000. Proceedings.
2000 International Conference on , vol., no., pp.15,22, 2000.
[18]
Helle, P.; Oudin, S.; Bross, B.; Marpe, D.; Bici, M.O.; Ugur, K.;
Jung, J.; Clare, G.; Wiegand, T., "Block Merging for Quadtree-Based
Partitioning in HEVC," Circuits and Systems for Video Technology, IEEE
Transactions on , vol.22, no.12, pp.1720,1731, Dec. 2012.
Jesús Yaljá Montiel Pérez received his Doctoral degree and
Master in Science degree from the Escuela Superior de
Ingeniería Mecánica, y Eléctrica of Instituto Politécnico
Nacional, Engineering degree by Universidad Autónoma
Metropolitana in México. His current research interests are
artificial intelligence and image processing.
Juan Carlos Torres Patiño is student in computer systems
engineerings by the Escuela Superior de Cómputo of Instituto
Politécnico Nacional. As part of their academic activities has
been a fellow in research projects. His current research interests
are artificial intelligence and image processing.
Saúl de la O Torres received his Master in Science degree and
Engineering degree from the Escuela Superior de Ingeniería
Mecánica, y Eléctrica of Instituto Politécnico Nacional. His
current research interest includes artificial intelligence and image
processing.

Documentos relacionados