Repository for TFLite HSI CNN classification on the RP2040 microcontroller (Raspberry Pi Pico).
- Arduino IDE version 2.1.0 or later
- Web browser with internet access (for Google Colab)
- Open Google Colab
- Load the notebook:
HSI_Training_2D.ipynb - Run the "Initialization" section
- Grant Google Colab access to your Google Drive
- In the "Global" section, set the variables for execution
- Run the remaining sections
db_CNN.h(wheredbdepends on the selected dataset)tensor_correct.htensor_input.h
- Open Arduino IDE
- Connect the Raspberry Pi Pico
- In the left panel, go to Boards Manager (second icon)
- Search for
Arduino Mbed RP2040 Boardsand install version 4.0.2 or newer - Add TensorFlow Lite library:
Go to Sketch → Include Library → Add .ZIP Library, and load:
Libs/Arduino_TensorFlowLite-2.4.0-ALPHA.zip
- Load the sketch:
Sketch/sketch_cnn_in_i8_out_i8_db - In the same folder as the sketch, add the previously generated data files
- Click "Upload" to flash the board
- To monitor execution:
Go to Tools → Serial Monitor
J. V. S. Hütner, F. Viel, C. A. Zeferino and E. A. Bezerra, "TinyML Applied in Hyperspectral Image Classification on COTS Microcontroller," 2024 XIV Brazilian Symposium on Computing Systems Engineering (SBESC), Recife, Brazil, 2024, pp. 1-6, doi: 10.1109/SBESC65055.2024.10771925.
@INPROCEEDINGS{hutner2024tinyML, author={Hütner, João Victor Santos and Viel, Felipe and Zeferino, Cesar A. and Bezerra, Eduardo Augusto}, booktitle={2024 XIV Brazilian Symposium on Computing Systems Engineering (SBESC)}, title={TinyML Applied in Hyperspectral Image Classification on COTS Microcontroller}, year={2024}, volume={}, number={}, pages={1-6}, keywords={Deep learning;Adaptation models;Satellites;Microcontrollers;Tiny machine learning;Computational modeling;Convolutional neural networks;CubeSat;Hyperspectral imaging;Image classification;Hyperspectral Image;TinyML;CNN;CubeSat;COTS}, doi={10.1109/SBESC65055.2024.10771925}}