CNN–LSTM con Mecanismo de Atenci
´
on Suave
para el Reconocimiento de Acciones Humanas en
Videos
CNN–LSTM with Soft Attention Mechanism for Human Action Recognition in Videos
Carlos Ismael Orozco
1
, Mar
´
ıa Elena Buemi
2
and Julio Jacobo-Berlles
3
Departamento de Inform
´
atica, Facultad de Ciencias Exactas, Universidad Nacional de Salta.
Avda. Bolivia 5150. Salta, Argentina.
1
iorozco@exa.unsa.edu.ar
Departamento de Computaci
´
on. Facultad de Ciencias Exactas y Naturales. Universidad de Buenos Aires
Intendente G
¨
uiraldes, Pabell
´
on 1 2160, 1428 Buenos Aires, Argentina.
2
mebuemi@dc.uba.ar
3
jacobo@dc.uba.ar
Resumen—El reconocimiento de acciones en videos es
actualmente un tema de inter
´
es en el
´
area de la visi
´
on
por computador, debido a potenciales aplicaciones como:
indexaci
´
on multimedia, vigilancia en espacios p
´
ublicos, entre
otras. Los mecanismos de atenci
´
on se han convertido en un
concepto muy importante dentro del enfoque de aprendizaje
profundo, su operaci
´
on intenta imitar la capacidad visual
de las personas que les permite enfocar su atenci
´
on en
partes relevantes de una escena para extraer informaci
´
on
importante. En este art
´
ıculo proponemos un mecanismo
de atenci
´
on suave adaptado para degradar la arquitectura
CNN–LSTM. Primero, una red neuronal convolucional
VGG16 extrae las caracter
´
ısticas del video de entrada. Para
llevar a cabo las fases de entrenamiento y prueba, usamos
los conjuntos de datos HMDB-51 y UCF-101. Evaluamos
el desempe
˜
no de nuestro sistema usando la precisi
´
on como
m
´
etrica de evaluaci
´
on, obteniendo 40,7 % (enfoque base),
51,2 % (con atenci
´
on) para HMDB-51 y 75,8 % (enfoque
base), 87,2 % (con atenci
´
on) para UCF-101.
Palabras clave: reconocimiento de acciones; redes neuronales
convolucionales; redes neuronales lstm; mecanismo de
atenci
´
on.
Abstract— Action recognition in videos is currently a
topic of interest in the area of computer vision, due
to potential applications such as: multimedia indexing,
surveillance in public spaces, among others. Attention
mechanisms have become a very important concept within
deep learning approach, their operation tries to imitate the
visual capacity of people that allows them to focus their
attention on relevant parts of a scene to extract important
information. In this paper we propose a soft attention
mechanism adapted to a base CNN–LSTM architecture. First,
a VGG16 convolutional neural network extracts the features
from the input video. Then an LSTM classifies the video
into a particular class. To carry out the training and testing
phases, we used the HMDB-51 and UCF-101 datasets. We
evaluate the performance of our system using accuracy as an
evaluation metric, obtaining 40,7 % (base approach), 51,2 %
(with attention) for HMDB-51 and 75,8 % (base approach),
87,2 % (with attention) for UCF-101.
Keywords: action recognition, convolutional neural network,
long short-term memory, attention mechanism.
I. INTRODUCCI
´
ON
Dada una secuencia de observaciones X y una etiqueta
particular Y , los sistemas de reconocimiento de acciones
humanas (HAR) en general modelan la probabilidad a
posteriori P (Y |X) para aprender una relaci
´
on que vincula
las entradas X a su correspondente etiqueta de clase Y , es
decir, dada una lista de posibles acciones y un video en el
que se muestra a un actor llevando a cabo una de ellas, el
objetivo del problema es reconocer qu
´
e acci
´
on est
´
a siendo
ejecutada. Para un ser humano reconocer una determinada
acci
´
on empleando
´
unicamente su campo visual es un
problema simple, sin embargo, implementar una soluci
´
on
autom
´
atica es un problema complejo debido a los numerosos
factores implicados, como la gran diversidad existente entre
las personas tanto en su apariencia (constituci
´
on f
´
ısica,
ropas, ...) como en el estilo de ejecuci
´
on de la acci
´
on; el
escenario donde se realiza, a menudo se trata de entornos
concurridos, afectados por sombras, cambio de iluminaci
´
on
y oclusiones; adem
´
as, intervienen otros factores como
el
´
angulo de visi
´
on y la distancia del sujeto respecto a
la c
´
amara. Las acciones humanas llevan asociadas una
componente espacial y una temporal, ambas altamente
aleatorias, por lo que la realizaci
´
on de una misma acci
´
on
nunca es id
´
entica. Para una gu
´
ıa completa de los desaf
´
ıos
actuales del problema, debe leerse el trabajo de Jegham et
al. [1].
HAR es un tema de gran inter
´
es en el campo de
reconocimiento de patrones y visi
´
on por computadora ya
que la identificaci
´
on autom
´
atica de la acci
´
on ejecutada en
un video puede ser una herramienta valiosa para muchas
aplicaciones:
Un ejemplo com
´
un es el an
´
alisis de videos de
vigilancia [2]. Muchos sistemas de seguridad se basan
en los datos capturados por varias c
´
amaras. Cuando
el n
´
umero de c
´
amaras es grande, puede ser dif
´
ıcil,
o incluso imposible, detectar manualmente eventos
importantes en los videos.
Recibido: 31/03/21; Aceptado: 11/06/21
Creative Commons License - Attribution-NonCommercial-
NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
https://doi.org/10.37537/rev.elektron.5.1.130.2021
Original Article
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
37
Una aplicaci
´
on relacionada al inciso anterior es el uso
de t
´
ecnicas de comprensi
´
on de videos para el cuidado
de ancianos y ni
˜
nos en predios cerrados como las casas
y los hospitales inteligentes.
El monitoreo y el reconocimiento autom
´
atico de
actividades diarias puede ser de gran ayuda en la
asistencia de los residentes, as
´
ı como en la obtenci
´
on
de informes acerca de sus capacidades funcionales y
su salud [3].
Otra aplicaci
´
on relacionada es el resumen autom
´
atico
de v
´
ıdeos, que intenta obtener v
´
ıdeos cortos a partir
de las escenas importantes del video original. La
b
´
usqueda basada en contenido en bases de datos de
videos. La habilidad de obtener de manera autom
´
atica
descripciones textuales de un video dado evita la
necesidad de realizar anotaciones manuales, y puede
ser crucial para el desarrollo de bases de datos m
´
as
´
utiles e informativas.
La interacci
´
on humano-computadora [4] es otro campo
de aplicaci
´
on que se beneficia de las mejoras en las
t
´
ecnicas de reconocimiento de acciones. Por ejemplo,
dichas t
´
ecnicas pueden ser usadas para proveer
interfaces para personas con movilidad reducida,
facilitando su interacci
´
on con computadoras y con otras
personas.
Otro ejemplo es el desarrollo de videojuegos [5]
que permiten que el usuario interact
´
ue con la
consola/computadora sin la necesidad de usar un
dispositivo f
´
ısico.
La biometr
´
ıa basada en comportamiento ha recibido
tambi
´
en mucha atenci
´
on en los
´
ultimos a
˜
nos. A
diferencia de las herramientas biom
´
etricas cl
´
asicas
(como las huellas digitales), las t
´
ecnicas basadas en
comportamiento obtienen datos para identificaci
´
on sin
interferir con la actividad de la persona. Un ejemplo
t
´
ıpico es la identificaci
´
on a partir del modo de andar
de las personas.
Una aplicaci
´
on relacionada es el desarrollo de
herramientas que gu
´
ıen de manera autom
´
atica a
pacientes en rehabilitaci
´
on con problemas motrices.
En resumen, nuevos desarrollos en m
´
etodos de
reconocimiento de acciones en videos, pueden ser de
gran inter
´
es para una amplia gama de aplicaciones.
El objetivo de este trabajo es implementar un sistema de
reconocimiento de acciones en video. Para ello proponemos:
(1) trabajar sobre una arquitectura CNN–LSTM, esto es,
una red neuronal convolucional extrae las caracter
´
ısticas del
video, mientras que una red neuronal LSTM clasifica el
video en una categor
´
ıa determinada. (2) incluir mecanismo
de atenci
´
on sobre esta propuesta base. El trabajo est
´
a
organizado de la siguiente manera: en la secci
´
on II se
presenta un resumen del estado del arte del problema en
cuesti
´
on; en la secci
´
on III, se describe la estructura general
base del sistema; en la secci
´
on IV se presenta el mecanismo
de atenci
´
on. En la secci
´
on V se explican las bases de
datos utilizadas, el m
´
etodo de evaluaci
´
on, los experimentos
realizados y los resultados obtenidos. Finalmente, en la
secci
´
on VI se presentan las conclusiones y el trabajo futuro.
II. ESTADO DEL ARTE
Los m
´
etodos utilizados en la literatura para abordar el
problema de reconocimiento de acciones humanas puede ser
clasificado en tres grandes grupos:
II-A. Enfoques cl
´
asicos
Los enfoques cl
´
asicos consisten en extraer descriptores,
tanto para la apariencia como para la informaci
´
on de
movimiento de los fotogramas de video.
M
´
etodos basados en Puntos de Inter
´
es
Espacio-Temporal (STIP), captura puntos del video
en el dominio espacio-temporal. Un punto de inter
´
es
puede ser detectado de forma robusta mediante un
detector basado en STIP, por ejemplo, un punto de
esquina o un punto aislado donde la intensidad es
m
´
axima o m
´
ınima o el punto final de una l
´
ınea o el
punto de una curva donde la curvatura es m
´
axima.
Laptev et al. [6] generaliza el detector de bordes
de Harris [7] a un detector 3D-Harris. STIP son
invariantes a la translaci
´
on y a escala, sin embargo no
son invariantes a la rotaci
´
on.
M
´
etodos basados en trayectorias utilizan la ruta de
seguimiento de puntos caracter
´
ısticos para representar
las acciones. Wang et al. [8] proponen un enfoque
de trayectorias densa. Primero, se muestrea nubes
de puntos caracter
´
ısticos de cada fotograma del
video, luego, la informaci
´
on de desplazamiento se
calcula rastreando dichos puntos caracter
´
ısticos entre
los fotogramas empleando un enfoque de flujo
´
optico. Las trayectorias resultantes se utilizan para
representar los videos. En esta l
´
ınea de investigaci
´
on,
se comprob
´
o que corregir el movimiento de la c
´
amara,
es decir, hacer coincidir los puntos caracter
´
ısticos entre
fotogramas utilizando descriptores funciones robustas
aceleradas (SURF [9]) y tambi
´
en combinarlos con
otros descriptores locales histograma de gradientes
orientados (HOG [10]), histograma de flujo
´
optico
(HOF [11]) e histograma de l
´
ımites de movimiento
(MBH [12]) han logrado muy buenos resultados [13]
en entornos controlados.
II-B. Enfoques profundos
En los
´
ultimos a
˜
nos, la aplicaci
´
on del aprendizaje
profundo en problemas de visi
´
on por computadora ha
obtenido resultados muy destacados. El
´
exito clave de las
redes neuronales artificiales reside en su capacidad para
aproximarse a cualquier funci
´
on continua con suficientes
neuronas [14]. Las redes neuronales profundas deben
contener una cantidad suficiente de capas y neuronas para
aprender mapeos significativos de entradas y salidas de
manera efectiva. Aprenden representaciones jer
´
arquicas a
partir de datos sin procesar con un nivel creciente de
abstracci
´
on antes de la etapa de clasificaci
´
on.
Las Redes Neuronales Convolucionales (CNNs) fueron
dise
˜
nadas para manejar datos espaciales, a pesar de su
´
exito en la tarea de clasificaci
´
on de im
´
agenes, tienen el
problema de ignorar la estructura temporal en el caso de
datos espacio-temporales como videos. Particularment, las
CNN-3D son una extensi
´
on de las CNNs en el dominio
del tiempo que no solo puede capturar caracter
´
ısticas
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
38
http://elektron.fi.uba.ar
espaciales en un fotograma, sino tambi
´
en capturar la
evoluci
´
on temporal entre fotogramas consecutivos. Ji et
al. [15] proponen un enfoque 3D-CNN, extracci
´
on de las
caracter
´
ısticas de los datos en dos dimensiones: espacial
y temporal, capturando as
´
ı informaci
´
on de movimiento
en las transmisiones de video. Esta arquitectura genera
m
´
ultiples mapas de caracter
´
ısticas procesando informaci
´
on
de los fotogramas consecutivos del video realizando
operaciones de convoluci
´
on y submuestreo por separado
en cada canal. La representaci
´
on de la caracter
´
ıstica final
se obtiene combinando todos los canales. Los resultados
experimentales muestran que los modelos propuestos
superan significativamente la arquitectura 2D-CNN y otros
m
´
etodos cl
´
asicos. Cabe mencionar que la cantidad de
fotogramas consecutivos que se toma es fijo para cada
operaci
´
on de convoluci
´
on, por lo que se considera un
problema a la hora de generalizar dicho mapas de
caracter
´
ısticas.
Las Redes Neuronales Recurrentes (RNNs) se utilizan
para aprender din
´
amicas temporales complejas. Ellas han
sido exploradas exitosamente en muchas tareas como por
ejemplo procesamiento de texto y reconocimiento de voz.
Como las acciones humanas est
´
an hechas de secuencias
complejas de movimientos motores que pueden verse como
din
´
amica temporal, las RNN representan una soluci
´
on
adecuada. Las Redes Neuronales de Corta y Larga memoria
(LSTM) [16] son una arquitectura RNN espec
´
ıfica que
tienen la capacidad de usar celdas de memoria para
almacenar, modificar y acceder al estado interno para
descubrir dependencias temporales de largo alcance.
Ye et al. [17] implementan una arquitectura h
´
ıbrida
donde las caracter
´
ısticas espacio temporales se extraen
de los videos utilizando redes convolucionales 3D, y
luego se aplica una red neuronal LSTM para incrustar
la informaci
´
on secuencial en la representaci
´
on de
caracter
´
ısticas finales del video.
Zhang et al. [18], que utiliz
´
o el vector de movimiento
en la secuencia de video en lugar de la secuencia
de flujo
´
optico para mejorar la velocidad de c
´
alculo
y realizar el reconocimiento de acciones humanas en
tiempo real.
Sharma et al. [19] proponen una red neuronal LSTM
con un mecanismo de atenci
´
on que permite a cada
fotograma del video enfocarse en una regi
´
on que es
m
´
as distintiva para la tarea en cuesti
´
on. Aprender tales
pesos forma parte del entrenamiento del modelo.
II-C. Enfoques doble-flujo
Goodale et al. [20] describe la hip
´
otesis de dos corrientes,
donde la corteza visual humana contiene dos v
´
ıas: la
corriente ventral (que realiza el reconocimiento de objetos)
y la corriente dorsal (que reconoce el movimiento).
Simonyan et al. [21] presentan una red de dos flujos
que contienen una red espacial y temporal mediante
la explotaci
´
on del conjunto de datos ImageNet para
el preentrenamiento y el c
´
alculo del flujo
´
optico para
capturar expl
´
ıcitamente informaci
´
on de movimiento.
Feichtenhofer et al. [22] implementan una red
de dos flujos con arquitectura ResNet [23] y
conexiones adicionales entre flujos [24]. Los enfoques
adicionales de dos flujos incluyen Redes de segmentos
temporales [25], Acci
´
on Transformaciones [26] y
Fusi
´
on convolucional [27].
III. ENFOQUE CNN-LSTM BASE
Sea v = {x
1
, x
2
, . . . , x
n
} un video compuesto por una
secuencia de frames x
i
con i = 1, . . . , n, la Figura 1 muestra
un sistema HAR base formado por: Fase de entrada: el video
es normalizado en un total de 40 frames. Fase CNN: Una
VGG16 pre-entrenada extrae las caracter
´
ısticas del video
obteniendo features de tama
˜
no 40 × 25088. Fase LSTM
junto con una capa densa con un nodo por cada clase para
la clasificaci
´
on final. En el siguiente repositorio se puede
encontrar el c
´
odigo para la arquitectura propuesta
1
.
x
t
Encoder
7 × 7 × 512
X
t
Flatten
25088
LSTMunits
LSTM
M
LP
1
numbers
classes
Softmax
hug
Figura 1: Arquitectura base CNN–LSTM propuesta por [28].
Los bloques de color que constituyen la arquitectura base
CNN–LSTM, mostrados en la Figura 1, son:
Encoder: Usamos la arquitectura convolucional
VGG16 propuesta por [21]. Para cada x
t
v
codificamos el fotograma en un cuboide X
t
de tama
˜
no
7 × 7 × 512 resultante de la capa de submuestreo
VGG16.
LSTM: Propuesto por [16] tiene como
comportamiento natural, recordar informaci
´
on
durante largos per
´
ıodos de tiempo. Las entradas para
un tiempo espec
´
ıfico t son: fotograma x
t
, estado
anterior h
t1
y memoria anterior c
t1
. Mientras que
las salidas son: estado actual h
t
y memoria actual c
t
.
MLP
1: El perceptr
´
on multicapa est
´
a formado por
tres o m
´
as capas: una entrada, otra salida y el resto de
capas intermedias llamadas capas ocultas. Los detalles
de la etapa de clasificaci
´
on se presentan en la Tabla II
(primera fila).
: Indica la dimensi
´
on de salida.
Cabe se
˜
nalar que los pesos asociados con el LSTM, como
el MLP, ser
´
an parte del entrenamiento de arquitectura.
III-A. Extracci
´
on de Caracter
´
ısticas
Las CNNs est
´
an compuestas por un conjunto ordenado
de capas. Cada una de ellas, a su vez, est
´
a constituida por
unidades de procesamiento que operan sobre la salida de
la capa anterior. Las capas m
´
as utilizadas son: (a) capas
convolucionales, que tienen k filtros (o kernels) dedicados
a producir k feature maps. (b) capa de submuestreo:
Cada feature map se submuestrea por lo general mediante
una operaci
´
on de max-pooling, un proceso que reduce
progresivamente el tama
˜
no espacial de la representaci
´
on y la
1
https://gitlab.com/ciorozco/actionrecognition-cnn-lstm
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
39
http://elektron.fi.uba.ar
cantidad de par
´
ametros a entrenar. (c) Capa densa: capa con
neuronas totalmente conectadas. El prop
´
osito es usar estas
caracter
´
ısticas es clasificar la imagen de entrada en una de
varias clases seg
´
un el conjunto de datos de entrenamiento.
La arquitectura convolucional VGG16 propuesta por [21]
obtuvo muy buenos resultados en las tareas de clasificaci
´
on
y ubicaci
´
on en el desaf
´
ıo de reconocimiento visual a gran
escala ImageNet (ILSVRC-2014). El Cuadro I muestra las
capas que componen esta arquitectura, la primera columna
indica el n
´
umero de capa y el tipo de operaci
´
on (por
ejemplo: 2 × Conv: Convoluci
´
on, Max Pool: Max Polling,
FC: Fully Connected). La segunda columna indica la
cantidad de Feature maps. Size el tama
˜
no de los features
de salida de la capa. Kernel y Stride par
´
ametros de la
arquitectura.
Cuadro I: Implementaci
´
on de VGG utilizando el modelo
pre-entrenado [29].
Capa Feature Size Kernel
map
Entrada Imagen 1 224 × 224 × 3 -
1 2 × Conv 64 224 × 224 × 64 3 × 3
Max pool 64 112 × 112 × 64 3 × 3
3 2 × Conv 128 112 × 112 × 128 3 × 3
Max pool 128 56 × 56 × 128 3 × 3
5 2 × Conv 256 56 × 56 × 256 3 × 3
Max pool 256 28 × 28 × 256 3 × 3
7 3 × Conv 512 28 × 28 × 512 3 × 3
Max pool 512 14 × 14 × 512 3 × 3
10 3 × Conv 512 14 × 14 × 512 3 × 3
Max pool 512 7 × 7 × 512 3 × 3
13 FC - 25088 -
14 FC - 4096 -
15 FC - 4096 -
Salida FC - 1000 -
Por cada x
i
v codificamos el frame a un cuboide de
forma X
i
de 7×7×512 resultado de la capa de submuestreo
de la VGG16.
III-B. Clasificaci
´
on
Las redes LSTM propuesta por [16] tiene como
comportamiento natural recordar informaci
´
on por largos
per
´
ıodos de tiempo. La Figura 2 muestra la estructura
general de una unidad LSTM. Las entradas para un tiempo
espec
´
ıfico t son: fotograma x
t
, salida previa h
t1
y memoria
previa c
t1
. Mientras que las salidas son: salida actual h
t
y
memoria actual c
t
.
El LSTM tiene la capacidad de agregar o quitar
informaci
´
on a esta celda de memoria usando puertas (o
gates). Las puertas permiten que el sistema deje pasar
informaci
´
on opcionalmente, actualice la celda de memoria
o deje salir la informaci
´
on.
El primer paso en el LSTM es decidir qu
´
e informaci
´
on se
mantendr
´
a en la celda de memoria. Esta decisi
´
on es tomada
por la puerta de olvido, que en el momento t mira la salida
del bloque de memoria en el momento t 1, h
t
, en la
secuencia de entrada en el momento t, x
t
, y en el estado
anterior de la celda de memoria, c
t1
. La ecuaci
´
on 1 muestra
c
´
omo la puerta de olvido calcula su valor.
f
t
= σ(W
xf
x
t
+ W
hf
h
t1
+ b
f
) (1)
El siguiente paso es decidir qu
´
e informaci
´
on se agregar
´
a a
la celda de memoria. Esto se hace en dos pasos diferentes; el
σ
f
t
σ
i
t
Φ
σ
o
t
×
+
× ×
Φ
c
t1
h
t1
x
t
c
t
h
t
h
t
Figura 2: Unidad LSTM.
primer paso mira la entrada a la red neuronal y la salida del
bloque LSTM en el tiempo t 1 para calcular el vector que
actualizar
´
a la celda de memoria, mientras que el segundo
paso es calcular la puerta de entrada, que es muy similar
a la puerta del olvido, pero esta vez nos dice qu
´
e cantidad
de esta nueva informaci
´
on se dejar
´
a entrar en la celda de
memoria. Las ecuaciones 2 y 3 muestran estos c
´
alculos.
z
t
= φ(W
xz
x
t
+ W
hz
h
t1
+ b
z
) (2)
i
t
= σ(W
xi
x
t
+ W
hi
h
t1
+ b
i
) (3)
Una vez hemos calculado todos estos valores tenemos
todos los elementos necesarios para actualizar la celda de
memoria, as
´
ı que procedemos a hacerlo. Primero, el valor
antiguo de la celda de memoria se multiplica por la puerta
de olvido para olvidar toda la informaci
´
on que la puerta de
olvido decidi
´
o olvidar. Luego, otorgamos acceso a la nueva
informaci
´
on en la celda agregando esta nueva informaci
´
on
escalada por cu
´
anto decidi
´
o la puerta de entrada actualizar
la celda de memoria. Ambas cosas se hacen en un solo paso
como se muestra en la ecuaci
´
on 4.
c
t
= f
t
c
t1
i
t
φ(W
xc
x
t
+ W
hc
h
t1
+ b
c
) (4)
Finalmente, necesitamos decidir qu
´
e informaci
´
on vamos
a generar. La salida del bloque LSTM es el valor de la celda
de memoria con ligeras modificaciones. Primero ejecutamos
una activaci
´
on sigmoidea, llamada puerta de salida, similar
a las puertas de olvido o entrada, que decidir
´
a qu
´
e partes de
la celda de memoria vamos a generar. Luego, colocamos los
valores de la celda de memoria a trav
´
es de un tanh para que
la salida se limite a un rango entre 1 y 1 y lo multiplicamos
por el valor de la puerta de salida que acabamos de calcular,
de modo que solo generemos las partes que decidimos. Estos
pasos se realizan como en las ecuaciones 5 y 6.
o
t
= σ(W
xo
x
t
+ W
ho
h
t1
+ b
o
) (5)
h
t
= o
t
φ(c
t
) (6)
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
40
http://elektron.fi.uba.ar
Donde: σ es la funci
´
on sigmoidal, φ es la tangente
hiperb
´
olica, representa por el producto con los valores
de los gates y los pesos de la matriz denotada por W
ij
.
IV. ENFOQUE CNNLSTM CON ATENCI
´
ON
Siguiendo la arquitectura base vista en la Secci
´
on III
incluimos un mecanismo de atenci
´
on propuesta por [19].
La Figura 3 muestra el esquema general de la arquitectura.
Para generar un mapa de atenci
´
on:
Comprimimos el cuboide x
t
a una forma vectorial
realizando un promedio por mapa de caracter
´
ıstica para
alimentar un mlp
4
.
Tomamos el vector de contexto h
t1
para alimentar un
mlp
2
.
El vector de ponderaci
´
on se construye a partir de la
salida del mlp
3
, de esta manera, redefinimos el vector
a un tama
˜
no de F × F que representa la probabiliad
sobre todos los p
´
ıxeles de cada uno de los mapas de
caracter
´
ısticas. Cuanto mayor sea el valor del p
´
ıxel en
el mapa de atenci
´
on, m
´
as importante ser
´
a esa regi
´
on de
la imagen para la decisi
´
on en la etapa de clasificaci
´
on.
La Tabla II muestra la configuraci
´
on de los MLPs.
Cuadro II: Configuraci
´
on de los MLPs
MLP Capa Parametro
MLP
1
Dropout 0.5
FC #classes (neurons)
MLP
2
, MLP
3
and MLP
4
FC 128 (neurons)
Dropout 0.5
MLP
h
and MLP
c
FC 256 (neurons)
Dropout 0.5
Para la inicializaci
´
on de h
0
y c
0
Xu et al. [30], comprime
toda la informaci
´
on del video v logrando una convergencia
mas r
´
apida, esto se calcula como:
h
0
= mlp
h
(
1
T
T
X
t=1
(
1
F
2
F
2
X
i=1
X
t,i
)) (7)
c
0
= mlp
c
(
1
T
T
X
t=1
(
1
F
2
F
2
X
i=1
X
t,i
)) (8)
donde T = 40 cantidad de frames de los videos y
F = 7 dimensi
´
on del feature map de la VGG16. Todos
los fotogramas x
i
v a trav
´
es de la VGG16, produciendo
T cuboides. Para comprimir esta informaci
´
on, primero
tomamos un promedio sobre el n
´
umero de cuboidess y
luego sobre todos los valores de p
´
ıxeles en cada mapa de
caracter
´
ısticas. El vector resultante alimentar
´
a un mlp
h
para
obtener el estado inicial h
0
y un mlp
c
para obtener la
memoria inicial c
0
. La tabla II muestra la configuraci
´
on de
los MLP para la inicializaci
´
on.
V. EXPERIMENTOS Y RESULTADOS
V-A. Metricas de evaluaci
´
on
Para evaluar el rendimiento del sistema vamos a emplear
las siguientes m
´
etricas de evaluaci
´
on compatibles con
clasificaciones multiclase:
Exactitud (Accuracy): es definida como las muestras
clasificadas correctamente divididas por el n
´
umero total de
muestras. Esto es:
Accuracy =
T P + T N
T P + T N + F P + F N
(9)
Precisi
´
on (Precision) es definida como las muestras que son
clasificadas correctamente para la clase i sobre el total de
muestras clasificadas como la clase i.
P recision
i
=
T P
T P + F P
(10)
Exhaustividad (Recall): es definida como la porci
´
on de
muestras de clase i que son clasificados correctamente
Recall
i
=
T P
T P + F N
(11)
donde TP: Verdaderos Positivos, TN: Verdaderos
Negativos, FP: Falsos Positivos y FN: Falsos Negativos.
V-B. Base de datos
HMDB-51 Human Motion dataset [31] es un conjunto
de datos de categor
´
ıas de acci
´
on de videos recopilados
de diferentes fuentes, incluidas pel
´
ıculas, base de
datos de archivo Prelinger, videos de YouTube y
Google. Las acciones se agrupan en cinco tipos:
acciones faciales generales, acciones faciales con
manipulaci
´
on de objetos, movimiento corporal general,
movimiento corporal con interacci
´
on de objetos,
movimientos corporales para interacci
´
on humana.
El dataset proporciona informaci
´
on para realizar 3
divisiones, cada una de las cuales consta de 5100
videos, 3570 para entrenamiento y 1530 para test, es
decir, una proporci
´
on de 70/30 por clase.
UCF-101 dataset propuesto por [32] Estas 101
categor
´
ıas se pueden clasificar en 5 tipos (interacci
´
on
humano-objeto, solo movimiento corporal, interacci
´
on
humano-humana, tocar instrumentos musicales y
deportes). La duraci
´
on total de estos videos es de m
´
as
de 27 horas. Todos los videos se recopilan de YouTube
y tienen una velocidad de 25 FPS con una resoluci
´
on de
320×240. El dataset tambi
´
en proporciona informaci
´
on
para realizar 3 divisiones, los videos de una clase se
dividen en 25 grupos y cada divisi
´
on de test tiene
7 grupos los 18 grupos restantes se utilizan para el
entrenamiento.
V-C. Resultados
Nuestro sistema fue implementado en Python usando
la librer
´
ıa Tesnsorflow [33] sobre una computadora Intel
CORE i7-6700HQ con 16GB de memoria DDR3 y sistema
operativo Ubuntu 16,04. Los experimentos se llevaron a
cabo sobre una GPU NVIDIA Titan Xp montada en un
servidor con caracter
´
ısticas similares.
Los par
´
ametros de la red se optimizan minimizando
la funci
´
on de p
´
erdida de entrop
´
ıa cruzada utilizando
el descenso de gradiente estoc
´
astico con la regla de
actualizaci
´
on RMSProp [34].
El Cuadro III muestra los resultados obtenidos por nuestro
sistema aplicando un k-fold cross validation con k = 4,
usando 3 folds para entrenamiento y 1 fold para test. La
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
41
http://elektron.fi.uba.ar
x
t
Encoder
7 × 7 × 512
X
t
Average o
ver 7 × 7
512
MLP
4
unitsLST M
2
+
h
t1
MLP
2
unitsLST M
2
Tanh
MLP
3
49
Softmax
Reshape
sum over 7 × 7
512
LSTM
h
t
unitsLST M
MLP
1
numbersClasses
Softmax
hug
Figura 3: Arquitectura con mecanismo de atenci
´
on.
precision promedio (P recision) y recall promedio Recall
final del algoritmo es el promedio de las k iteraciones.
Cuadro III: Resultados para las m
´
etricas P recision
(precisi
´
on promedio) y Recall (recall promedio).
Precision Recall
HMDB-51
Enfoque base 39,56 % 41,67 %
Enfoque con atenci
´
on 47,14 % 48,21 %
UCF-101
Enfoque base 71,94 % 72,02 %
Enfoque con atenci
´
on 87,33 % 89,97 %
En el Cuadro III puede apreciarse un aumento en
P recision y en Recall al aplicar atenci
´
on, para ambas bases
de datos.
Durante la experimentaci
´
on, se observ
´
o tambi
´
en que la
discriminaci
´
on se torn
´
o dif
´
ıcil para algunos pares de
clases consistentes en acciones similares o en acciones
que presentaban fondos similares. Por ejemplo: en la base
HMDB-51, las clases drink y eat tend
´
ıan a confundirse m
´
as.
Lo mismo ocurr
´
ıa con las clases smile y smoke, tambi
´
en de
la base HMDB-1. En la base UCF-101 las clases brushing
teeth y apply lipstick tendieron a confundirse. Lo mismo
sucedi
´
o con field hockey penalty y golf swing.
El Cuadro IV resume la Exactitud (ACC) obtenidos
por nuestro sistema, aplicando el protocolo de evaluaci
´
on
original para cada una de las bases de datos HMDB-51 y
UCF-101 respectivamente, junto a los resultados obtenidos
con otros enfoques citados en la bibliograf
´
ıa. La columna
Tipo describe el enfoque general siguiendo la clasificaci
´
on
descripta en la secci
´
on II (donde EC: Enfoque Cl
´
asico, AP:
Aprendizaje Profundo y DF: Redes Doble Flujo).
Cuadro IV: Resultados obtenidos empleando la
configuraci
´
on de evaluaci
´
on de las bases de datos y
reporte de otros enfoques propuestos en la bibliograf
´
ıa.
Art
´
ıculo reportado Tipo ACC ( %)
HMDB-51 UCF-101
Kuehne et al. [31] EC 23,0 % -
Jiang et al. [35] EC 40,7 % -
Gaidon et al. [36] EC 41,3 % -
Sharma et al. [19] AP 41,3 % -
Wang et al. [13] EC 46,6 % -
Ye et al. [17] AP 55,2 % 85,4 %
Zhang et al. [18] AP - 86,4 %
Meng et al. [37] AP 53,1 % 87,1 %
Li et al. [38] AP 54,3 % 86,7 %
Simoyan et al. [21] DF 59,4 % 88,0 %
Feichtenhofer et al. [22] DF 58,5 % 91,4 %
Nuestro enfoque base 40,7 % 75,8 %
Nuestro enfoque con atenci
´
on 51,2 % 87,2 %
Nuestra propuesta CNN–LSTM base muestra un
rendimiento similar a los propuestos por [31], [35], [36]. A
diferencia de los enfoques cl
´
asicos donde la extracci
´
on de
caracter
´
ısticas se tiene que dise
˜
nar con cuidado, empleamos
las caracter
´
ısticas pre-definidas de una CNN (VGG16)
donde los hiperpar
´
ametros son ajustados para una tarea
de clasificaci
´
on de im
´
agenes (1000 clases en total). La
implementaci
´
on del mecanismo de atenci
´
on adaptado
a la arquitectura base muestra un mejor rendimiento
en ambas bases de datos. Dentro de los m
´
etodos de
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
42
http://elektron.fi.uba.ar
aprendizaje profundo (AP), nuestra propuesta obtiene un
mejor rendimiento con respecto al enfoque con atenci
´
on
propuesto por Sharma [19], donde por ejemplo usan una
extractor de caracter
´
ısticas GoogleNet. Como as
´
ı tambi
´
en
los enfoques propuestos por [13], [18], [37]. Finalmente,
podemos ver que nuestro resultado obtenido es competitivo
con enfoques doble flujo (DF) donde intervienen al menos
dos arquitecturas profundas, en este caso implica mayor
costo computacional para el procesamiento como asi
tambien tiempo de entrenamiento.
La Figura 4 muestra ejemplos de la salida de nuestro
sistema para los conjuntos de datos HMDB-51 (arriba)
y UCF-101 (abajo) respectivamente. Cada ejemplo viene
acompa
˜
nado de la siguiente informaci
´
on:
Etiqueta (Label): acci
´
on real etiquetada para el video.
Predicci
´
on (Prediction): respuesta de nuestro sistema
correspondiente a la clase con puntuaci
´
on m
´
as alta, es
decir la clase m
´
as probable.
Superposici
´
on del mapa de atenci
´
on. La regi
´
on en
amarillo son hacia donde mira el sistema y el brillo
indica la ponderaci
´
on.
VI. CONCLUSIONES Y TRABAJO FUTURO
En este trabajo implementamos un sistema de
reconocimiento de acciones de video, utilizando una
red neuronal CNN–LSTM. Primero, un VGG 16 extrae las
caracter
´
ısticas del video. Luego, una red neuronal LSTM
clasifica la escena en la clase a la que pertenece. Incluimos
un mecanismo de atenci
´
on adaptada para la arquitectura
base. La arquitectura se implement
´
o en Python usando la
librer
´
ıa Tensorflow, se entren
´
o y se prob
´
o usando las bases
de datos HMDB-51 [31] y UCF-101 [32] se realiz
´
o en una
GPU NVIDIA Titan Xp.
Evaluamos el rendimiento de la arquitectura siguiendo
las m
´
etricas de evaluaci
´
on estand
´
ar para las bases de
datos empleadas. obtenemos 40,7 % (base) y 51,2 % (con
atenci
´
on) para HMDB-51, 75,8 % (base) y 87,2 % (con
atenci
´
on) para UCF-101. Queremos destacar la mejora
del resultado final de la arquitectura base con respecto
a la utilizaci
´
on del mecanismo de atenci
´
on, resultados
competitivos con los de la literatura teniendo en cuenta la
simplicidad de la arquitectura. El aporte que se muestra en
este art
´
ıculo consiste en mostrar una soluci
´
on que utiliza
pocos recursos y obtiene buenos resultados comparables con
otras propuestas que consumen m
´
as recursos.
Como trabajo futuro:
Vamos profundizar sobre las m
´
etricas de evaluaci
´
on
para complementar la evaluaci
´
on de rendimiento de
nuestra propuesta.
Se consideraran el uso de otras bases de datos, como
Hollywood2 [39] y UCF-50 [40] para hacer que el
sistema sea m
´
as robusto y profundizar sobre t
´
ecnicas
para evitar el sobreajuste.
Proponer el uso de otras redes neuronales
convolucionales para la extracci
´
on de caracter
´
ısticas,
por ejemplo ResNet [23]. Profundizar sobre los
mecanismo de atenci
´
on [38], [41].
Otra l
´
ınea de investigaci
´
on es aplicar nuevos enfoques
Transformer [42] para el problema en cuesti
´
on.
AGRADECIMIENTOS
Los autores agradecen a NVIDIA por la donaci
´
on de
una GPU TITAN Xp para el Departamento de Inform
´
atica
- Facultad de Ciencias Exactas - Universidad Nacional de
Salta, Argentina.
REFERENCIAS
[1] I. Jegham, A. B. Khalifa, I. Alouani, and M. A. Mahjoub,
“Vision-based human action recognition: An overview and
real world challenges, Forensic Science International: Digital
Investigation, vol. 32, p. 200901, 2020. [Online]. Available: http:
//www.sciencedirect.com/science/article/pii/S174228761930283X
[2] M. A. Khan, K. Javed, S. A. Khan, T. Saba, U. Habib, J. A. Khan, and
A. A. Abbasi, “Human action recognition using fusion of multiview
and deep features: an application to video surveillance, Multimedia
tools and applications, pp. 1–27, 2020.
[3] J. Bao, M. Ye, and Y. Dou, “Mobile phone-based internet of
things human action recognition for e-health, in 2016 IEEE 13th
International Conference on Signal Processing (ICSP). IEEE, 2016,
pp. 957–962.
[4] N. Jaouedi, N. Boujnah, O. Htiwich, and M. S. Bouhlel, “Human
action recognition to human behavior analysis, in 2016 7th
International Conference on Sciences of Electronics, Technologies
of Information and Telecommunications (SETIT). IEEE, 2016, pp.
263–266.
[5] V. Bloom, D. Makris, and V. Argyriou, “G3d: A gaming action
dataset and real time action recognition evaluation framework, in
2012 IEEE Computer Society Conference on Computer Vision and
Pattern Recognition Workshops. IEEE, 2012, pp. 7–12.
[6] I. Laptev, “On space-time interest points, International journal of
computer vision, vol. 64, no. 2-3, pp. 107–123, 2005.
[7] C. G. Harris, M. Stephens et al., A combined corner and edge
detector. in Alvey vision conference, vol. 15, no. 50. Citeseer, 1988,
pp. 10–5244.
[8] H. Wang, A. Kl
¨
aser, C. Schmid, and C. Liu, Action recognition by
dense trajectories, in CVPR 2011, June 2011, pp. 3169–3176.
[9] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool, “Speeded-up robust
features (surf), Computer vision and image understanding, vol. 110,
no. 3, pp. 346–359, 2008.
[10] N. Dalal and B. Triggs, “Histograms of oriented gradients for human
detection, in 2005 IEEE Computer Society Conference on Computer
Vision and Pattern Recognition (CVPR’05), vol. 1, 2005, pp. 886–893
vol. 1.
[11] J. Per
ˇ
s, V. Suli
´
c, M. Kristan, M. Per
ˇ
se, K. Polanec, and S. Kova
ˇ
ci
ˇ
c,
“Histograms of optical flow for efficient representation of body
motion, Pattern Recognition Letters, vol. 31, no. 11, pp. 1369–1376,
2010.
[12] H. Wang, M. M. Ullah, A. Klaser, I. Laptev, and C. Schmid,
“Evaluation of local spatio-temporal features for action recognition,
in BMVC 2009 - British Machine Vision Conference, A. Cavallaro,
S. Prince, and D. Alexander, Eds. London, United Kingdom:
BMVA Press, Sep. 2009, pp. 124.1–124.11. [Online]. Available:
https://hal.inria.fr/inria-00439769
[13] H. Wang, A. Kl
¨
aser, C. Schmid, and C.-L. Liu, “Dense trajectories
and motion boundary descriptors for action recognition, International
journal of computer vision, vol. 103, no. 1, pp. 60–79, 2013.
[14] K. Hornik, Approximation capabilities of multilayer feedforward
networks, Neural networks, vol. 4, no. 2, pp. 251–257, 1991.
[15] S. Ji, W. Xu, M. Yang, and K. Yu, “3d convolutional neural networks
for human action recognition, IEEE transactions on pattern analysis
and machine intelligence, vol. 35, no. 1, pp. 221–231, 2013.
[16] S. Hochreiter and J. Schmidhuber, “Long short-term memory,
Neural Comput., vol. 9, no. 8, pp. 1735–1780, Nov. 1997. [Online].
Available: http://dx.doi.org/10.1162/neco.1997.9.8.1735
[17] Y. Ye and Y. Tian, “Embedding sequential information into
spatiotemporal features for action recognition, in 2016 IEEE
Conference on Computer Vision and Pattern Recognition Workshops
(CVPRW), 2016, pp. 1110–1118.
[18] B. Zhang, L. Wang, Z. Wang, Y. Qiao, and H. Wang, “Real-time
action recognition with deeply transferred motion vector cnns, IEEE
Transactions on Image Processing, vol. 27, no. 5, pp. 2326–2339,
2018.
[19] S. Sharma, R. Kiros, and R. Salakhutdinov, Action recognition
using visual attention, CoRR, vol. abs/1511.04119, 2015. [Online].
Available: http://arxiv.org/abs/1511.04119
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
43
http://elektron.fi.uba.ar
Figura 4: Ejemplos de salida de nuestra arquitectura. HMDB-51 (superior) y UCF-101 (inferior), junto con la clase de
mayor puntuaci
´
on (score).
[20] M. A. Goodale and A. D. Milner, “Separate visual pathways for
perception and action, Trends in neurosciences, vol. 15, no. 1, pp.
20–25, 1992.
[21] K. Simonyan and A. Zisserman, “Very deep convolutional networks
for large-scale image recognition, arXiv 1409.1556, 09 2014.
[22] C. Feichtenhofer, A. Pinz, and A. Zisserman, “Convolutional
two-stream network fusion for video action recognition, in
Proceedings of the IEEE conference on computer vision and pattern
recognition, 2016, pp. 1933–1941.
[23] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for
image recognition, in 2016 IEEE Conference on Computer Vision
and Pattern Recognition (CVPR), 2016, pp. 770–778.
[24] C. Feichtenhofer, A. Pinz, and R. P. Wildes, “Spatiotemporal residual
networks for video action recognition, CoRR, vol. abs/1611.02155,
2016. [Online]. Available: http://arxiv.org/abs/1611.02155
[25] Y. Wang, S. Wang, J. Tang, N. O’Hare, Y. Chang, and B. Li,
“Hierarchical attention network for action recognition in videos,
arXiv preprint arXiv:1607.06416, 2016.
[26] X. Wang, A. Farhadi, and A. Gupta, Actions˜ transformations, in
Proceedings of the IEEE conference on Computer Vision and Pattern
Recognition, 2016, pp. 2658–2667.
[27] C. Feichtenhofer, A. Pinz, and A. Zisserman, “Convolutional
two-stream network fusion for video action recognition, in
Proceedings of the IEEE conference on computer vision and pattern
recognition, 2016, pp. 1933–1941.
[28] C. I. Orozco, M. E. Buemi, and J. J. Berlles, “Cnn-lstm architecture
for action recognition in videos, in I Simposio Argentino de Im
´
agenes
y Visi
´
on (SAIV 2019)-JAIIO 48 (Salta), 2019.
[29] F. Chollet et al. (2015) Keras. [Online]. Available: https:
//github.com/fchollet/keras
[30] K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhudinov,
R. Zemel, and Y. Bengio, “Show, attend and tell: Neural image
caption generation with visual attention, in International conference
on machine learning, 2015, pp. 2048–2057.
[31] H. Kuehne, H. Jhuang, E. Garrote, T. Poggio, and T. Serre, “HMDB:
a large video database for human motion recognition, in Proceedings
of the International Conference on Computer Vision (ICCV), 2011.
[32] K. Soomro, A. R. Zamir, and M. Shah, “UCF101: A dataset of
101 human actions classes from videos in the wild, CoRR, vol.
abs/1212.0402, 2012. [Online]. Available: http://arxiv.org/abs/1212.
0402
[33] M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin,
S. Ghemawat, G. Irving, M. Isard et al., “Tensorflow: A system
for large-scale machine learning, in 12th {USENIX} Symposium on
Operating Systems Design and Implementation ({OSDI} 16), 2016,
pp. 265–283.
[34] Y. Dauphin, H. de Vries, and Y. Bengio, “Rmsprop and equilibrated
adaptive learning rates for non-convex optimization, in NIPS, 2015.
[35] Y.-G. Jiang, Q. Dai, X. Xue, W. Liu, and C.-W. Ngo,
“Trajectory-based modeling of human actions with motion reference
points, in European Conference on Computer Vision. Springer,
2012, pp. 425–438.
[36] A. Gaidon, Z. Harchaoui, and C. Schmid, Activity representation
with motion hierarchies, International journal of computer vision,
vol. 107, no. 3, pp. 219–238, 2014.
[37] L. Meng, B. Zhao, B. Chang, G. Huang, F. Tung, and L. Sigal,
“Where and when to look? spatio-temporal attention for action
recognition in videos, CoRR, vol. abs/1810.04511, 2018. [Online].
Available: http://arxiv.org/abs/1810.04511
[38] X. Li, M. Xie, Y. Zhang, G. Ding, and W. Tong, “Dual attention
convolutional network for action recognition, IET Image Processing,
vol. 14, no. 6, pp. 1059–1065, 2020.
[39] M. Marszalek, I. Laptev, and C. Schmid, Actions in context, in 2009
IEEE Conference on Computer Vision and Pattern Recognition, June
2009, pp. 2929–2936.
[40] K. K. Reddy and M. Shah, “Recognizing 50 human action
categories of web videos, Mach. Vision Appl., vol. 24, no. 5, pp.
971–981, Jul. 2013. [Online]. Available: http://dx.doi.org/10.1007/
s00138-012-0450-4
[41] H. Yang, C. Yuan, L. Zhang, Y. Sun, W. Hu, and S. J. Maybank,
“Sta-cnn: convolutional spatial-temporal attention learning for action
recognition, IEEE Transactions on Image Processing, vol. 29, pp.
5783–5793, 2020.
[42] R. Girdhar, J. Carreira, C. Doersch, and A. Zisserman, “Video action
transformer network, in Proceedings of the IEEE Conference on
Computer Vision and Pattern Recognition, 2019, pp. 244–253.
Revista elektron, Vol. 5, No. 1, pp. 37-44 (2021)
ISSN 2525-0159
44
http://elektron.fi.uba.ar

Enlaces de Referencia

  • Por el momento, no existen enlaces de referencia


Copyright (c) 2021 Carlos Ismael Orozco, María Elena Buemi, Julio Jacobo Berlles

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.


Revista elektron,  ISSN-L 2525-0159
Facultad de Ingeniería. Universidad de Buenos Aires 
Paseo Colón 850, 3er piso
C1063ACV - Buenos Aires - Argentina
revista.elektron@fi.uba.ar
+54 (11) 528-50889