Riccardo Berta;Ali Dabbous;Luca Lazzaroni;Danilo Pietro Pau;Francesco Bellotti
{"title":"Developing a TinyML Image Classifier in an Hour","authors":"Riccardo Berta;Ali Dabbous;Luca Lazzaroni;Danilo Pietro Pau;Francesco Bellotti","doi":"10.1109/OJIES.2024.3451959","DOIUrl":null,"url":null,"abstract":"Tiny machine learning technologies are bringing intelligence ever closer to the sensor, thus enabling the key benefits of edge computing (e.g., reduced latency, improved data security, higher energy efficiency, and lower bandwidth consumption, also without the need for constant connectivity). This promises to significantly enhance industrial applications but requires suited development tools to deal with the complexity of the edge technologies and context. We propose an agile Jupyter Python notebook as a simple, manageable tool to efficiently and effectively develop microcontroller-based intelligent imaging classification sensors. The notebook implements a methodology involving hyperparameter tuning and comparison of different shallow and deep learning models, with quantization. It exports TensorFlow Lite models, deployable on several microcontroller families, and optionally exploits the STM32Cube.AI developer cloud service, which allows benchmarking the developed models on a set of real-world tiny hardware target platforms. Assessment concerns various types of metrics, both for machine learning (e.g., accuracy) and embedded systems (e.g., memory footprint, latency, and energy consumption). We have verified the support for development effectiveness and efficiency on four ultralow resolution image-classification datasets, with different levels of input and task complexity. In all cases, the tool was able to build microcontroller-deployment ready, beyond the state-of-the-art models, within 1 h on Google Colab CPUs.","PeriodicalId":52675,"journal":{"name":"IEEE Open Journal of the Industrial Electronics Society","volume":"5 ","pages":"946-960"},"PeriodicalIF":5.2000,"publicationDate":"2024-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10659231","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Open Journal of the Industrial Electronics Society","FirstCategoryId":"1085","ListUrlMain":"https://ieeexplore.ieee.org/document/10659231/","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"ENGINEERING, ELECTRICAL & ELECTRONIC","Score":null,"Total":0}
引用次数: 0
Abstract
Tiny machine learning technologies are bringing intelligence ever closer to the sensor, thus enabling the key benefits of edge computing (e.g., reduced latency, improved data security, higher energy efficiency, and lower bandwidth consumption, also without the need for constant connectivity). This promises to significantly enhance industrial applications but requires suited development tools to deal with the complexity of the edge technologies and context. We propose an agile Jupyter Python notebook as a simple, manageable tool to efficiently and effectively develop microcontroller-based intelligent imaging classification sensors. The notebook implements a methodology involving hyperparameter tuning and comparison of different shallow and deep learning models, with quantization. It exports TensorFlow Lite models, deployable on several microcontroller families, and optionally exploits the STM32Cube.AI developer cloud service, which allows benchmarking the developed models on a set of real-world tiny hardware target platforms. Assessment concerns various types of metrics, both for machine learning (e.g., accuracy) and embedded systems (e.g., memory footprint, latency, and energy consumption). We have verified the support for development effectiveness and efficiency on four ultralow resolution image-classification datasets, with different levels of input and task complexity. In all cases, the tool was able to build microcontroller-deployment ready, beyond the state-of-the-art models, within 1 h on Google Colab CPUs.
期刊介绍:
The IEEE Open Journal of the Industrial Electronics Society is dedicated to advancing information-intensive, knowledge-based automation, and digitalization, aiming to enhance various industrial and infrastructural ecosystems including energy, mobility, health, and home/building infrastructure. Encompassing a range of techniques leveraging data and information acquisition, analysis, manipulation, and distribution, the journal strives to achieve greater flexibility, efficiency, effectiveness, reliability, and security within digitalized and networked environments.
Our scope provides a platform for discourse and dissemination of the latest developments in numerous research and innovation areas. These include electrical components and systems, smart grids, industrial cyber-physical systems, motion control, robotics and mechatronics, sensors and actuators, factory and building communication and automation, industrial digitalization, flexible and reconfigurable manufacturing, assistant systems, industrial applications of artificial intelligence and data science, as well as the implementation of machine learning, artificial neural networks, and fuzzy logic. Additionally, we explore human factors in digitalized and networked ecosystems. Join us in exploring and shaping the future of industrial electronics and digitalization.