<< Volver atrás

Tesis:

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


  • Autor: WISULTSCHEW PUIGDELLIVOL, Cristian

  • Título: Point Cloud-Based Object Detection and Classification at the Edge of the Internet of Things

  • Fecha: 2022

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS INDUSTRIALES

  • Departamentos: AUTOMATICA, INGENIERIA ELECTRICA Y ELECTRONICA E INFORMATICA INDUSTRIAL

  • Acceso electrónico: https://oa.upm.es/71520/

  • Director/a 1º: PORTILLA BERRUECO, Jorge

  • 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). ----------ABSTRACT---------- This thesis is included in the field of Artificial Intelligence (AI) applied to Internet of Things (IoT) systems, which is called Artificial Internet of Things (AIoT), a novel area that is currently experiencing a huge development. Specifically, this thesis focuses on systems that are close to the source of the data generation, which is known as the edge. The edge corresponds to the lowest layer of the edge-to-cloud continuum in the IoT paradigm. Performing the processing close to the data source provides benefits in terms of performance, power consumption, security, privacy and scalability. This way of processing data becomes an essential requirement for some systmes, however, certain systems require a huge amount of computing resources to performthe processing; fact that complicates their implementation in edge devices. Traditionally, edge devices offer very limited computing capabilities compared to the unlimited resources of the cloud. This allows to dramatically reduce the power consumption, an essential requirement for edge devices, since most of them are designed to be autonomous. In the last few years, the number of edge devices that provide high computing resources maintaining the power consumption requirements low is increasing. This is possible because certain high-performance processing architectures, such as Graphic Processing Units (GPUs), Field Programmable Gate Arrays (FPGAs) or neural accelerators, have been optimized in terms of cost and performance. With this technology, a new research line is being developed in which the applications that traditionally are performed in the cloud, can run in the edge. As an example, some AI applications are starting to run in edge devices. Artificial intelligence exist from the 1950s. Researchers questioned whether human intelligence could be described with enough detail to be replicated by a computer. The main idea behind artificial intelligence consists of making machines solve a problem in the same way as a human does. As a result of the significant advances in integrated circuits in recent years, together with the emergence of Big Data technologies, the development of AI algorithms has grown exponentially, in particular algorithms based on Deep Neural Network (DNN), which are part of what is known as Deep Learning (DL). These algorithms really shine in tasks such as computer vision, speech and text recognition. Nowadays, these tasks are increasing in popularity thanks to applications such as autonomous vehicles or voice-controlled personal assistants. DL algorithms were developed a long time ago, however, they have not been widely used until now, since they need a huge amount of computing resources to be processed. For this reason, their use in embedded systems has also been limited. With the current evolution of devices, which integrate parallel processing architectures, these algorithms are beginning to be implemented. Parallel architectures are the best suited for performing this complex processing. Optimized processing architectures have recently been developed for the execution of DL algorithms in the cloud. These processing elements consume a large amount of power, so they do not fit the requirements of edge systems. However, in recent years, high performance and low-power processing architectures designed for being used at the edge have become available on the market. These factors are opening new possibilities, since it is feasible to perform all the processing at the edge while meeting real-timerequirements, maintaining very low-power consumption, and also with all the advantages mentioned before compared to performthe processing in the cloud. With this new technology, it is possible to implement sensors at the edge that have traditionally been processed in the cloud, such as 3D sensors, which generate a large amount of information about the scene. In this thesis, a complete characterization of different edge devices with high computing capabilities is presented when processing DNN algorithms for object classification tasks using point clouds as input. Additionally, different architectures of DNN algorithms are used to process point clouds, offering a comparison of the most used algorithms in the current state of the art with the advantages and drawbacks of each one. Each of these DNN algorithm architectures is evaluated using different devices that fit into an edge approach with processing architectures based on technologies such as Central Processing Units (CPUs), GPUs, FPGAs, and neural accelerators. In this regard, it is possible to select both the device and the DNN architecture that best suits the requirements of each specific application, reaching a compromise between cost and performance. Besides, this thesis evaluates a custom device designed and manufactured specifically for the implementation of DNNalgorithms at the edge, since it has a neural accelerator integrated into the same board. Thus, a complete custom system with low manufacturing cost is provided, capable of running DNN algorithms with high performance while keeping power consumption low. On the other hand, the use of 3D sensors is starting to become a key requirement for some edge devices and application scenarios such as autonomous vehicles. These systems have to be able to sense the surrounding scenario with high accuracy. However, with traditional sensors that generate 2D images, it is extremely difficult to locate objects with high precision. One of the most popular 3D sensors for providing computer vision in autonomous systems today is the LiDAR sensor, which provides information in the formof point clouds. The growing popularity of this type of sensor lies in the high accuracy that provides, together with its high reliability in different environmental conditions because it is based on laser technology. As opposed to RGB cameras, LiDAR sensors are not affected by the absence of light or adverse weather conditions such as rain or fog. They generate a huge amount of information compared to 2D sensors, which is a drawback when performing processing on devices with limited computational resources. However, by using DNN algorithms, the processing can be performed efficiently, as these algorithms work especially well with large amounts of data. When using DNN algorithms there is an initial stage before the implementation in which the training of the algorithm is carried out. This stage requires a large amount of labeled data. When using DNN algorithms based on 2D images such as RGB cameras, a vast quantity of labeled data is available on the Internet. However, when using sensors such as LiDARs, the situation is the opposite. In addition, each LiDAR model has different properties, so the data used for training the DNN algorithms are not compatible between models. This is a challenge, as the labeled datasets have to be generated from scratch when using LiDAR sensors. Such a process is timeconsuming because it is completely manual. This process requires first acquiring a LiDAR, then deploying it to capture information, and finally, labeling the data manually. There are several drawbacks when using this methodology. First, the huge amount of time and therefore cost required to generate the labeled dataset. Second, a sensor must be purchased without knowing if it will meet the requirements of the application. Finally, some data are difficult to capture in a real situation, such as scenarios with animals. For this reason, a methodology to generate synthetically labeled data is proposed in this thesis, which can be directly used to train the DNN algorithms avoiding the need of capturing real data. As a result, significant time and costs are reduced in the development stage. Additionally, it is possible to select the sensor that best suits the requirements of each application before purchasing it. Additionally, an algorithm capable of detecting any object in a point cloud is proposed. For this purpose, the point cloud is projected over the XZ plane to generate a depth map image in which each pixel represents the value of the Y-axis of each point. The threshold value method is applied to this image to detect the objects present in it. In this method, this image is compared with a background image, previously captured, to detect the objects contained in the image according to the differences compared to the background image. To achieve this, the image is first filtered to remove the noise. Then, the thresholding method is applied aiming to highlight pixels that showsignificant differences compared to the background image. In this regard, the elements of the image that do not correspond to the background image are detected. This method is very light in terms of computation, which is essential when working with edge devices. There are other alternatives to perform object detection by using DNN algorithms. However, these algorithms are very complex in terms of computation, since they work by dividing the scenario to be analyzed into a large number of sections. Then, an object classification Deep Neural Network (DNN) is used to analyze each of these sections. Because of the large number of times the object classification algorithm is executed, high computing capacities are needed to process an entire scenario, since these algorithms are very heavy in computational terms. In this thesis, the algorithms must run on devices with limited computing resources. For this reason, lighter methods in terms of computation were selected to perform the object detection. In this regard, a hybrid methodology is implemented in which object detection is performed first using the threshold value method, followed by the use of a DNN to perform the classification of each detected object. This methodology provides high accuracy results during object the detection and classification stage, while keeping the computational requirements significantly reduced compared to performing the entire process using DNNs. To unify all the contributions provided in this thesis, an application based on a system capable of detect and classify any object that passes through a certain critical region is developed and deployed. A LiDAR sensor is used to obtain accurate information about the scenario and also to take advantage of the benefits it provides over using RGB camera-based systems. The processing is performed using the edge custom device with a neural accelerator integrated on the same board described before. In this regard, a high computational capacity with a good cost/performance trade-off is achieved. The object classification stage is performed using the DNN algorithm capable of processing point clouds with the best ratio between accuracy and inference time among the algorithms implemented in this thesis. On the other hand, the training of this algorithm is performed with a synthetic dataset, as mentioned before. The use case for this application consists of a train level crossing, in which it is necessary to detect and classify each of the objects located in an area close to the train tracks in order to increase safety in this type of dangerous scenarios. The position information together with the class of each detected object will be sent to the train via the Internet. This use case aims to increase safety in this type of railway environment, where accidents still occur every year. As a summary, the main contributions of this thesis are presented below: • Design and deployment of Multi-View Depth Map Neural Network (MVDMNet), a novel DNN to provide object classification results in point clouds. MVDMNet takes 2D images generated using a point cloud depth map projection from different views as input. • Development, manufacturing, and deployment of the Cookie Coral custom edge IoT node which includes a low-power processor and an EdgeTPU neural accelerator chip integrated into the same board. • A point cloud generation methodology for automatically producing synthetic high-fidelity labeled datasets. Using this methodology, any point cloud-based sensor with customizable objects and scenarios can be simulated to provide a labeled dataset as similar as possible to the real data. • A methodology for providing lightweight object detection and classification capabilities when using point cloud data as input. A hybrid architecture that first performs the object detection stage and then each detected object is classified using aDNN. Thus, the computational requirements are significantly reduced compared to processing both stages by using a DNN. During the development of this thesis, two JCR journal articles and one conference paper have been published. This thesis has been funded by the participation in the Spanish R&D PLATINO project (TEC2017-86722-C4-2-R) and the European Union Horizon 2020 research and innovation programme projects SCOTT (grant agreement No 737422) and InSecTT (grant agreement No 876038).