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).

Description

Title: Detección y seguimiento de objetos por colores en una plataforma Raspberry Pi
Author/s:
  • Pérez González, Carlos
Contributor/s:
  • Moreno González, Félix
  • Villaverde San José, Mónica
  • Pérez Daza, David
Item Type: Final Project
Degree: Grado en Ingeniería en Tecnologías Industriales
Date: September 2016
Subjects:
Faculty: E.T.S.I. Industriales (UPM)
Department: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview

Abstract

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.

More information

Item ID: 43161
DC Identifier: http://oa.upm.es/43161/
OAI Identifier: oai:oa.upm.es:43161
Deposited by: Biblioteca ETSI Industriales
Deposited on: 26 Sep 2016 13:41
Last Modified: 11 Oct 2016 14:38
  • 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