Detección y seguimiento de objetos por colores en una plataforma Raspberry Pi

Pérez González, Carlos (2016). Detección y seguimiento de objetos por colores en una plataforma Raspberry Pi. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).

Descripción

Título: Detección y seguimiento de objetos por colores en una plataforma Raspberry Pi
Autor/es:
  • Pérez González, Carlos
Director/es:
  • Moreno González, Félix
  • Villaverde San José, Mónica
  • Pérez Daza, David
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Septiembre 2016
Materias:
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (2MB) | Vista Previa

Resumen

La visión artificial es una disciplina científica que pretende emular la visión humana a la par que complementar a ésta. Comprende desde la captura de imágenes hasta la interpretación de ellas mediante un sistema artificial “inteligente”. El presente proyecto pretende, basándose en el campo de la visión artificial, desarrollar unos algoritmos eficientes que puedan ser implementados en una Raspberry Pi para que ésta realice las funciones de detección y seguimiento de objetos en función del color deseado. Para ello ha de capturar las imágenes, procesarlas y seguir los objetos que sean detectados de forma autónoma. Además, el conjunto integrado por la Raspberry Pi con el Software desarrollado debe poder comunicarse con dispositivos externos con el fin de posibilitar la creación de un sistema más complejo y modular. Para la creación de este sistema se ha optado por utilizar una Raspberry Pi modelo 3B, tras haber descartado la Raspberry Pi modelo 1B debido a las menores prestaciones que ofrecía, y desarrollar los algoritmos sobre el sistema operativo Raspbian Jessie para aprovechar la gestión de procesos y memoria de éste. La captura de imágenes se realizará mediante la cámara oficial de Raspberry Pi, con el fin de utilizar la conexión CSI que presenta ésta, para obtener mayores velocidades de transmisión de datos y mejor compatibilidad. Para la comunicación se ha implementado el protocolo I2C, que ha sido testeado con un microcontrolador Arduino UNO. Dado que las características de la Raspberry Pi son limitadas, es una necesidad imperiosa desarrollar unos algoritmos que sean simples y eficientes para que puedan ser ejecutados por el procesador del dispositivo. Es por esto por lo que se han creado unos algoritmos, los cuales permiten realizar las funciones de detección y seguimiento de objetos, optimizados para sistemas computacionales limitados. El código que comprende estos algoritmos está desarrollado en C++, ya que éste permite gestionar la memoria utilizada de forma muy eficiente. Además, se ha modularizado el código en funciones independientes para que puedan ser reutilizadas en otros proyectos. Las funciones que han sido creadas para la detección de objetos son las siguientes: - Conversión de escala de colores: Esta función se encarga de convertir las imágenes capturadas por la cámara en la escala RGB a la escala HSV, ya que esta última permite realizar una distinción entre colores expuestos a luz natural con mayor eficacia, gracias a la utilización de las componentes de luminosidad e intensidad del color. - Operaciones morfológicas: Se ha optado por realizar las operaciones de erosión y dilatación a las imágenes que han sido capturadas, y posteriormente binarizadas, mediante una operación de umbralización o threshold, con el fin de reducir el ruido y los falsos positivos del sistema. - Identificación de contornos: Hasta el momento de ejecución de esta función, las imágenes capturadas son tratadas como tres matrices (una por cada componente de la escala HSV), lo cual consume muchos recursos ya que las operaciones sobre matrices son muy complejas. Esta función permite simplificar los objetos detectados a un único vector que define el contorno de éste, desechando datos innecesarios y simplificando los cálculos que deben realizarse para el posterior seguimiento de los objetos deseados. Las funciones creadas para el seguimiento de objetos son las siguientes: - Obtención del centro de masas: Una vez identificados los objetos que se desean seguir es necesario tomar una referencia para poder localizarles. Para ello, se ha optado por calcular su centro de masas, o centro geométrico, y asignarle unas coordenadas, medidas en píxeles, desde el origen situado en la esquina inferior izquierda de la imagen. De esta forma es posible tener localizados los objetos en la imagen y se podría utilizar el dato del centro de masas para ser transmitido a otros dispositivos, mediante la comunicación I2C antes mencionada. - Rectángulo circunscrito: Con el fin de proporcionar una mejor visualización de los objetos detectados que se desean seguir se ha desarrollado esta función, que permite crear un rectángulo circunscrito al contorno del objeto a seguir. Así, mediante el centro de masas ya calculado y este rectángulo, queda definido completamente el objeto dentro de la imagen. Este TFG crea un sistema de visión que puede actuar de forma autónoma o puede servir como punto de partida para el desarrollo de sistemas más complejos que integren la visión por computador, gracias al desarrollo modularizado que se ha implementado. Además, con la función desarrollada que permite la comunicación entre dispositivos por I2C, se facilita la tarea de incorporación de estos nuevos módulos gracias al protocolo estándar de comunicación mencionado.

Más información

ID de Registro: 43161
Identificador DC: http://oa.upm.es/43161/
Identificador OAI: oai:oa.upm.es:43161
Depositado por: Biblioteca ETSI Industriales
Depositado el: 26 Sep 2016 13:41
Ultima Modificación: 11 Oct 2016 14:38
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM