Point Cloud-Based Object Detection and Classification at the Edge of the Internet of Things

  1. Wisultschew, Cristian
Dirigida por:
  1. Jorge Portilla Berrueco Director/a

Universidad de defensa: Universidad Politécnica de Madrid

Fecha de defensa: 25 de julio de 2022

Tribunal:
  1. Eduardo Torre Arnanz Presidente/a
  2. José Andrés Otero Marnotes Secretario/a
  3. Marta Portela García Vocal
  4. José Manuel Lanza Gutiérrez Vocal
  5. Susana Borromeo Vocal

Tipo: Tesis

Resumen

Esta tesis doctoral se enmarca dentro del campo de la inteligencia artificial aplicado a escenarios de Internet de las cosas (en inglés Arificial Internet of Things, AIoT), un campo novedoso que está experimentando actualmente un tremendo crecimiento. En particular, esta tesis se centra en sistemas que se encuentran cerca de la generación de la información, lo que se conoce como borde (o edge en inglés) que se corresponde a la capa más baja del continuo edge-to-cloud en el paradigma de Internet of Things (IoT). Realizar el procesado cerca del lugar de la toma de datos proporciona ciertos beneficios en términos de velocidad de respuesta, consumo energético, seguridad, privacidad y escalabilidad. Este tipo de procesado se convierte en un requisito fundamental para algunos sistemas, sin embargo, ciertos sistemas necesitan grandes capacidades de cómputo para realizar el procesado, lo que dificulta su implementación en dispositivos pertenecientes al edge. Tradicionalmente, los dispositivos edge se han caracterizado por disponer de capacidades de cómputo muy reducidas comparadas con las que se pueden encontrar en la nube. Esto permite mantener el consumo energético reducido, requisito fundamental en los dispositivos edge, ya que la gran mayoría son autónomos. Sin embargo, en los últimos años, se han incrementado el número de dispositivos edge con altas capacidades de cómputo y a su vez manteniendo un consumo ajustado. Esto se debe gracias a que ciertas arquitecturas de procesado de altas prestaciones como Graphic Processing Unit (GPU)s, Field Programmable Gate Array (FPGA)s o aceleradores neuronales han sido optimizadas en coste y prestaciones. Esto abre un nuevo campo de aplicación en el cual se pueden ejecutar en el edge aplicaciones que tradicionalmente se procesaban en el cloud debido a sus altos requisitos computacionales, como aplicaciones que hacen uso de la inteligencia artificial, por poner un ejemplo. El concepto de inteligencia artificial surgió en los años 50. Se planteaba si la inteligencia humana podría ser descrita con el detalle suficiente para poder ser reproducida por una computadora. La idea principal detrás de la inteligencia artificial consiste en conseguir que una máquina solucione un problema del mismo modo que lo haría un ser humano. Gracias al gran avance de los últimos años producido en los circuitos integrados junto con la aparición de las tecnologías del Big Data, el desarrollo de algoritmos de inteligencia artificial ha tenido un crecimiento exponencial, en particular los algoritmos basados en redes neuronales profundas (en inglés Deep Neural Networks, DNNs), que se enmarcan dentro de los que se conoce como Deep Learning (DL). Estos algoritmos proporcionan muy buenos resultados en tareas como visión por computador, reconocimiento de voz y de texto. Actualmente, estas tareas están aumentando en popularidad gracias a aplicaciones como vehículos autónomos o asistentes personales controlados por voz. Los algoritmos de DL existen desde hace tiempo, sin embargo, no se ha extendido su uso hasta ahora, ya que necesitan una gran capacidad de cómputo para ser procesados. Debido a esto, también se ha limitado su utilización en sistemas embebidos. Gracias al incremento de la capacidad de computo junto a la integracion de arquitecturas de procesado en paralelo de los dispositivos edge actuales, comienza a ser posible implementar estos algoritmos de DL. Las arquitecturas en paralelo son las más indicadas para realizar este complejo procesado. Recientemente, se han desarrollado arquitecturas de procesado de DL optimizadas para la ejecución de estos algoritmos en el cloud. Estos elementos de procesado consumen una gran cantidad de energía, por lo que no encajan con los requisitos de los sistemas edge. Sin embargo, en los últimos años se pueden encontrar en el mercado arquitecturas de procesado de DL con versiones de bajo consumo pensadas para su utilización en el edge. Estos factores abren un nuevo paradigma de posibilidades, ya que se puede realizar todo el procesado en el edge cumpliendo los requisitos de tiempo real, manteniendo unos consumos muy reducidos y con todas las ventajas antes mencionadas respecto al procesado en el cloud. Gracias a esto, se puede realizar el procesado en el edge de sensores que tradicionalmente se han procesado en el cloud, como los sensores 3D, los cuales generan una gran cantidad de información sobre el escenario. En este trabajo de tesis, se presenta una caracterización completa de diferentes dispositivos edge de altas prestaciones computacionales al realizar el procesado de algoritmos de DNNs para tareas de clasificación de objetos sobre nubes de puntos. Además, se utilizan diferentes arquitecturas de algoritmos de DNNs para procesar nubes de puntos, ofreciendo una comparativa de los algoritmos más utilizados en el estado del arte actual con las ventajas e inconvenientes de cada uno. Cada una de estas arquitecturas de algoritmos de DNNs se evalúa utilizando diferentes dispositivos que encajan en un enfoque dentro del edge con arquitecturas de procesado basadas en tecnologías como Central Processing Units (CPUs), GPUs, FPGAs y aceleradores neuronales. De este modo se puede elegir tanto el dispositivo como la arquitectura de DNN que mejor se adapte a los requisitos de cada problema llegando a un compromiso de coste y prestaciones. Además, en esta tesis se evalúa un dispositivo custom diseñado y fabricado específicamente para la implementación de algoritmos de DNNs en el edge, ya que dispone de un acelerador neuronal integrado en la misma placa. Con ello se proporciona un sistema custom completo de bajo coste de fabricación capaz de ejecutar algoritmos de DNNs con altas velocidades de procesado y manteniendo los consumos reducidos. Por otro lado, el uso de sensores 3D se está empezando a convertir en un requisito fundamental para algunos dispositivos edge y algunos escenarios de aplicación como los vehículos autónomos. Estos sistemas tienen que ser capaces de percibir el escenario que les rodea de forma muy precisa, y sin embargo, con los sensores tradicionales que generan imágenes en 2D resulta muy dificil localizar los objetos con altas precisiones. Uno de los sensores 3D que cuentan con una mayor popularidad en la actualidad para proporcionar visión por computador en sistemas autónomos es el sensor tipo Light Detection And Ranging (LiDAR), que proporciona información en forma de nubes de puntos. La creciente popularidad de este tipo de sensor se debe a su alta precisión junto con su buen funcionamiento en todo tipo de condiciones ambientales gracias a que están basados en la tecnología láser. A diferencia de las cámaras RGB, a los sensores LiDAR no les afecta la ausencia de luz, o las condiciones meteorológicas adversas como la lluvia o niebla. Sin embargo, generan una gran cantidad de información comparada con los sensores 2D, lo que es un inconveniente al realizar el procesado en dispositivos con limitados recursos computacionales. No obstante, gracias a los algoritmos de DNNs se puede realizar su procesado de manera muy eficiente, ya que estos algoritmos presentan buen comportamiento con grandes cantidades de datos. Al utilizar algoritmos de DNNs existe una fase previa a la implementación en la cual se realiza el entrenamiento del algoritmo. Para ello se necesita disponer de una gran cantidad de datos etiquetados. Al emplear algoritmos de DNNs, los cuales usan imágenes 2D como las cámaras RGB, se dispone de una gran cantidad de datos etiquetados en Internet. Sin embargo, al utilizar sensores como los LiDARs, la situación es opuesta. Además, cada modelo de LiDAR tiene unas características distintas, por lo que los datos para entrenar los algoritmos de DNNs no son compatibles entre los distintos modelos. Esto supone un problema, ya que al emplear sensores LiDAR hay que generar desde cero los datasets etiquetados. Este es un proceso que conlleva mucho tiempo, puesto que es completamente manual. Para ello hay que conseguir un LiDAR, desplegarlo para capturar información y posteriormente etiquetar esa información manualmente. Esta metodología supone varios inconvenientes. Primero, la gran cantidad de tiempo y por consiguiente de coste necesario para la generación de la base de datos etiquetada. Segundo, hay que adquirir un sensor LiDAR sin saber si va a cumplir los requisitos de la aplicación. Finalmente, hay datos que pueden ser muy difíciles de capturar en un entorno real, como, por ejemplo, entornos con animales. Por este motivo, en este trabajo de tesis se propone una metodología para generar datos etiquetados de forma sintética, los cuales pueden ser directamente utilizados para entrenar los algoritmos de DNNs sin necesidad de capturar datos reales. De este modo, se ahorra mucho tiempo y costes en la etapa de desarrollo. Además, se puede seleccionar el sensor LiDAR que mejor se adapte a los requisitos de cada aplicación antes de comprarlo. Adicionalmente, se propone un algoritmo capaz de detectar cualquier objeto en una nube de puntos. Para ello, se proyecta la nube de puntos sobre el plano XZ para generar una imagen de profundidad en la cual cada pixel representa el valor de la coordenada Y de cada punto. A esta imagen se le aplica el método de valor umbral para la detección de los objetos en la imagen. En este método se compara esa imagen con una imagen del fondo, capturada previamente, con el objetivo de detectar los objetos presentes en la imagen a partir de la diferencias respecto a la imagen de fondo. Para ello, primero se filtra la imagen para eliminar el ruido seguido de aplicar el método de valor umbral para destacar los pixeles que muestren diferencias significativas respecto a la imagen de fondo. De este modo se consigue detectar los elementos de la imagen que no corresponden a la imagen de fondo. Este método es muy ligero en términos computacionales, lo que es fundamental al trabajar con dispositivos edge. Existen otras alternativas para realizar la detección de objetos basadas en la utilización de algoritmos de DNNs. Sin embargo, estos algoritmos son muy complejos en términos computacionales, ya que funcionan dividiendo el escenario a analizar en un gran número de secciones, para posteriormente utilizar una red neuronal profunda (en inglés, Deep Neural Network, DNN) de clasificación de objetos para analizar cada una de estas secciones. Debido a la gran cantidad de veces que se ejecuta el algoritmo de clasificación de objetos, se necesitan grandes capacidades de cómputo para procesar un escenario entero, ya que estos algoritmos son muy pesados en términos computacionales. En esta tesis se busca optimizar los algoritmos para que puedan ser ejecutados en dispositivos de reducidas prestaciones, proporcionando así altas velocidades de respuesta, por lo que para efectuar la detección se optó por emplear métodos más ligeros en términos computaciones. Para ello, se implementa una metodología híbrida en la cual se realiza la detección de objetos con el método de valor umbral seguido de la utilización de una DNN para realizar la clasificación de cada uno de los objetos detectados. La utilización de esta metodología proporciona unas precisiones durante la detección y clasificación de objetos muy altas, manteniendo los requisitos computacionales muy reducidos respecto a efectuar todo el proceso utilizando DNNs. Para unir todas las aportaciones proporcionadas en esta tesis se desarrolla y despliega una aplicación basada en un sistema capaz de detectar y clasificar cualquier objeto que atraviese cierta región crítica. Se utiliza un sensor LiDAR para obtener información precisa del escenario y además aprovechar las ventajas que este proporciona respecto a utilizar sistemas basados en cámaras RGB. El procesado se realiza en el dispositivo edge custom con un acelerador neuronal integrado en la misma placa. De este modo, se consigue una gran capacidad de cómputo con un buen compromiso coste/prestaciones. La clasificación de objetos se realiza empleando el algoritmo de DNN capaz de procesar nubes de puntos con la mejor relación entre precisión y tiempo de inferencia de los algoritmos implementados en esta tesis. Por otra parte, el entrenamiento de este algoritmo se efectúa con una base de datos sintética, como se ha mencionado anteriormente. El caso de uso para esta aplicación en el marco de esta tesis, consiste en un paso a nivel de tren, en el cual hay que detectar y clasificar cada uno de los objetos que se encuentra en una zona cercana a las vías del tren para aumentar la seguridad en este tipo de escenarios peligrosos. La información sobre la posición junto con la clase de cada uno de los objetos detectados será enviada al tren a través de Internet. El objetivo de este caso de uso es incrementar la seguridad en este tipo de entornos ferroviarios, donde se producen aún accidentes anualmente. A modo de resumen, las principales contribuciones de esta tesis se presentan a continuación: • Diseño y despliegue de Multi-View Depth Map Neural Network (MVDMNet), la cual es una DNN propuesta en esta tesis para realizar tareas de clasificación de objetos sobre nubes de puntos. MVDMNet toma como entrada imágenes 2D generadas mediante la proyección de la nube de puntos en un mapa de profundidad desde diferentes vistas. • Desarrollo, fabricación y despliegue del nodo edge custom Cookie Coral que incluye un procesador de bajo consumo y un chip acelerador neural integrado en la misma placa. • Se propone una metodología para la generación de datasets sintéticos etiquetados de forma automática. Al emplear esta metodología, cualquier sensor basado en nubes de puntos puede ser simulado, permitiendo generar tanto objetos como escenarios personalizables. • Una metodología para proporcionar la capacidad de detectar y traquear objetos sobre nubes de puntos, manteniendo reducidos los requisitos computacionales. Se presenta una arquitectura híbrida que primero realiza la etapa de detección de objetos para posteriormente clasificar cada uno de los objetos detectados utilizando una DNN. De este modo, los requisitos computacionales se reducen considerablemente respecto a realizar ambas etapas de forma conjunta utilizando una DNN. Durante el desarrollo de esta tesis se ha publicado dos artículos en revistas científicas JCR y un artículo en conferencia. Esta tesis ha sido subvencionada gracias a la participación en el proyecto de plan nacional de PLATINO (TEC2017-86722-C4-2-R) y los proyectos del programa de investigación e innovación de la Unión Europea H2020 SCOTT (grant agreement número 737422) e InSecTT (grant agreement número 876038)