TinyML Applied in Hyperspectral Image Classification on COTS Microcontroller - Hütner, João Victor Santos; Viel, Felipe; Zeferino, Cesar A.; Bezerra, Eduardo Augusto (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2024: Anais do XIV Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2024)
Commercial off-the-shelf (COTS) microcontrollers used in remote sensing are increasingly being used because of the great versatility of application and development provided by this type of component. There has been a significant increase in missions using CubeSats, mainly due to the greater accessibility and flexibility of the COTS equipment used, as well as lower development costs related to this type of equipment. However, CubeSats have main constraints in power, size, and data transmission capacity. As a solution, numerous works use onboard data processing to compress or classify the captured data to reduce the use of storage memory and the amount of data sent to Earth stations. One of the types of data collected by remote sensing satellites are hyperspectral images, which despite being computationally challenging for classification in microcontrollers. Several algorithms are capable of doing hyperspectral image classification even that constrained by low-power microcontrollers with the advances in deep learning. In this sense, the aim and contribution of this study was to demonstrate and explore the feasibility and performance of implementing a deep learning model on a COTS microcontroller for hyperspectral image classification. We developed a convolutional neural network (CNN) architecture adapted for microcontrollers using the TinyML concept with the TensorFlow Lite library to demonstrate the feasibility and performance of deep learning in COTS microcontroller. The results for the overall accuracy of the embedded model were from 82.57 % to 95.81 % for three different literature datasets. The dissipated power was 105 mW for all dataset samples, with the execution time per sample varying from 12.14 ms to 93.18 ms, and the total energy consumed varying from 4.09 mJ to 7.52 mJ for the entire dataset tested.