Procesado de Imagen con Deep Learning

Blanes Saumell, Raimon (2020). Procesado de Imagen con Deep Learning. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Procesado de Imagen con Deep Learning
Author/s:
  • Blanes Saumell, Raimon
Contributor/s:
  • Sáenz Lechón, Nicolás
Item Type: Final Project
Degree: Grado en Ingeniería de Sonido e Imagen
Date: October 2020
Subjects:
Freetext Keywords: Reconocimiento de objetos; Tensorflow
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Ingeniería Audiovisual y Comunicaciones [hasta 2014]
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only until 19 June 2021 - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB)

Abstract

Este proyecto es un diseño de una aplicación que es capaz de identificar objetos con un tiempo de respuesta inmediato o prácticamente inmediato, a la vez que pretende ser una ventana que permita al lector conocer una parte de las últimas tecnologías desarrolladas en el campo de las redes neuronales convolucionales, más concretamente aquellas enfocadas en identificación mediante imágenes con tiempos de procesado bajo. Actualmente la investigación en este tipo de redes está en alza tanto en el sector público como el privado. Cada vez son más las carreras tecnológicas que agregan este campo de conocimiento a su lista. Esto se debe principalmente a la gran eficiencia y versatilidad que el aprendizaje profundo puede brindar. A día de hoy son varias las tecnologías que permiten alcanzar el objetivo de este proyecto, sin embargo, se ha optado por la opción que aportaba más libertad al proyecto. Tensorflow, escrito en Python y de código abierto, aporta una gran gama de posibilidades ya que dispone de muchas librerías con las que se puede complementar. Además, el autor posee mucho interés en desarrollar sus conocimientos en este entorno de trabajo. A la hora de trabajar en el proyecto se han utilizado varias herramientas de desarrollo como Anaconda o Google Colaboratory, que han aportado gran utilidad y han reducido la carga de trabajo, sobre todo esta última ya que se usó esta plataforma como vía para entrenar la red neuronal. Proceso que requiere de un hardware de rendimiento aceptable y de mucho tiempo de computación (días). El aprendizaje profundo busca patrones para identificar los objetos que se desea mediante imágenes que se introducen como entrenamiento, pero en ocasiones no se obtiene el resultado esperado. En estos casos es necesario volver a realizar el entrenamiento con una base de datos con un mayor número de muestras. En este proyecto aparte de contar con una gran base de datos de imágenes se ha utilizado la técnica de aprendizaje por transferencia, que reduce significativamente el tiempo de entrenamiento. Para acercarse a las tecnologías más potentes del panorama se ha decidido usar el sistema de detección de objetos Yolov4, que fue publicado mientras se planteaban las líneas de desarrollo de este proyecto. Sin duda este sistema ha brindado una gran eficiencia al proyecto y ha aportado unos resultados muy satisfactorios. Para hacer más accesible esta tecnología se ha desarrollado una interfaz gráfica con la que un usuario sin grandes conocimientos técnicos puede utilizar este sistema de detección. Siendo más funcional que estética, esta aplicación se ha desarrollado con la librería tkinter ya integrada por defecto en el lenguaje Python.Todo lo anteriormente mencionado ha ayudado al desarrollo de una aplicación que permite la identificación de un determinado número de objetos (en concreto 10) sobre imágenes y videos. Además, los bajos tiempos de procesado han permitido que esta detección se pueda aplicar sobre el flujo de imágenes continuo que proporciona una cámara web y obtener unos resultados inmediatos y precisos. Abstarct: This project is a design of an application able to identify objects with an immediate or almost immediate response time, while it aims to be a window that allows the reader to know a part of the latest technologies developed in the field of convolutional neural networks, more specifically those focused on identification through images with low processing times. Currently research in this type of networks is on the rise in the public and private sectors. There are more and more technological degrees that add this field of knowledge to their list. This is mainly due to the great efficiency and versatility that deep learning can provide. Nowadays, there are several technologies that allow to reach the objective of this project, however, the option that has been chosen is the one that brings more freedom to the project. Tensorflow, written in Python and open source, provides a wide range of possibilities since it has many libraries with which it can be complemented. In addition, the author is very interested in developing his knowledge in this work environment. When working on the project, several development tools have been used such as Anaconda or Google Collaboratory, which have been very useful and have reduced the workload, especially the latter since this platform was used as a way to train the neural network. This process requires an acceptable performance hardware and a lot of computing time (days). Deep learning looks for patterns to identify the desired objects through images that are introduced as training, but sometimes the expected result is not obtained. In these cases, it is necessary to retrain with a database with a larger number of samples. In this project apart from having a large database of images it has used the technique of transfer learning, which significantly reduces training time. In order to approach the most powerful technologies of the panorama, it has been decided to use the Yolov4 object detection system, which was published while the development lines of this project were being considered. Undoubtedly this system has provided great efficiency to the project and has provided very satisfactory results. To make this technology more accessible, a graphic interface has been developed with which a user without great technical knowledge can use this detection system. Being more functional than aesthetic, this application has been developed with the tkinter library already integrated by default in the Python language. All the above has helped the development of an application that allows the identification of a certain number of objects (specifically 10) on images and videos. In addition, the low processing times have allowed that this detection can be applied on the continuous flow of images provided by a webcam and obtain immediate and accurate results.

More information

Item ID: 66791
DC Identifier: http://oa.upm.es/66791/
OAI Identifier: oai:oa.upm.es:66791
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 20 Apr 2021 05:32
Last Modified: 20 Apr 2021 05:32
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM