Action recognition in videos with a 3D convolutional neural network (3DCNN)
Resumen
Este proyecto tiene como objetivo el desarrollo de algoritmos basados en modelos de redes convolucionales 3D que sean capaces de detectar acciones en videos de cámaras de seguridad. Para ello se ha generado una base de datos de fuentes públicas como UCF101 y YouTube y se ha estudiado el bias y la ética de las muestras. En cuanto al post procesamiento, se recortaron y clasificaron las muestras, se dividió la base de datos, se aplicaron técnicas de data augmentation y se desarrolló un filtro de movimiento. Usando PyTorch como framework, se desarrollo el pipeline optimizando los recursos de procesamiento disponibles. Tras un estudio extensivo, se eligió usar el optimizador Adam y la función de perdidas Cross-Entropy. La optimización de hiperparámetros se realizó manualmente con expectativas de automatizar el proceso en un futuro. El guardado y visualización de los resultados se realizó con la librería TensorBoard, la cual permite comparar distintos entrenamientos y configuraciones. El algoritmo debe superar los problemas intrínsecos de la tarea, como puede ser la aparición de varias personas en el mismo fotograma, que estas estén en categorías distintas y, a diferencia de otros problemas de reconocimiento de acciones, el entorno no es representativo de la acción. El modelo desarrollado consta de capas convolucionales con métodos de regularización. Se cumplieron todos los objetivos a excepción de la obtención de un modelo con una alta precisión. Esto es debido a la falta de suficientes vídeos y la reducida calidad de estos. Además, las limitaciones de capacidad de computación limitaban la complejidad de los modelos lo que impedía superar estos obstáculos. This project aims to develop algorithms based on 3D convolutional network models that are able to detect actions in security camera videos. For this purpose, a database has been generated from public sources such as UCF101 and YouTube and the bias and ethics of the samples have been studied. As for post-processing, the samples were trimmed and classified, the database was split, data augmentation techniques were applied and a motion filter was developed. Using PyTorch as a framework, the pipeline was developed by optimizing the available processing resources. After extensive study, the Adam optimizer and the Cross-Entropy loss function were chosen. Hyperparameter optimization was performed manually with the expectation of automating the process in the future. Saving and visualization of the results were done with the TensorBoard library, which allows comparing different runs and configurations. The algorithm must overcome the intrinsic problems of the task, such as the appearance of several people in the same frame, the fact that they are in different categories and, unlike other action recognition problems, the environment is not representative of the action. The developed model consists of convolutional layers with regularization methods. All objectives were met with the exception of obtaining a model with high accuracy. This is due to the lack of sufficient videos and the reduced quality of the videos. In addition, computational capacity constraints limited the complexity of the models, which prevented overcoming these obstacles.
Trabajo Fin de Máster
Action recognition in videos with a 3D convolutional neural network (3DCNN)Titulación / Programa
Máster Universitario en Ingeniería Industrial + Máster en Industria Conectada / in Smart IndustryMaterias/ UNESCO
33 Ciencias tecnológicas3304 Tecnología de los ordenadores
330405 Sistemas de reconocimiento de caracteres
Materias/ categorías / ODS
M8BPalabras Clave
Entrenamiento profundo, 3DCNN, reconocimiento de acciones, PyTorch, TensorBoard, ética en la IADeep learning, 3DCNN, action recognition, PyTorch, TensorBoard, AI ethics