Software Engineering Approaches for TinyML based IoT Embedded Vision: A Systematic Literature Review
arXiv:2204.08702 · doi:10.1145/3528227.3528569
Abstract
Internet of Things (IoT) has catapulted human ability to control our environments through ubiquitous sensing, communication, computation, and actuation. Over the past few years, IoT has joined forces with Machine Learning (ML) to embed deep intelligence at the far edge. TinyML (Tiny Machine Learning) has enabled the deployment of ML models for embedded vision on extremely lean edge hardware, bringing the power of IoT and ML together. However, TinyML powered embedded vision applications are still in a nascent stage, and they are just starting to scale to widespread real-world IoT deployment. To harness the true potential of IoT and ML, it is necessary to provide product developers with robust, easy-to-use software engineering (SE) frameworks and best practices that are customized for the unique challenges faced in TinyML engineering. Through this systematic literature review, we aggregated the key challenges reported by TinyML developers and identified state-of-art SE approaches in large-scale Computer Vision, Machine Learning, and Embedded Systems that can help address key challenges in TinyML based IoT embedded vision. In summary, our study draws synergies between SE expertise that embedded systems developers and ML developers have independently developed to help address the unique challenges in the engineering of TinyML based IoT embedded vision.
arXiv comment8 pages, 3 figures
References in corpus (8)
- Benchmarking TinyML Systems: Challenges and Direction
- Hardware for Machine Learning: Challenges and Opportunities
- TensorFlow Lite Micro: Embedded Machine Learning on TinyML Systems
- MicroNets: Neural Network Architectures for Deploying TinyML Applications on Commodity Microcontrollers
- Edge Intelligence: Architectures, Challenges, and Applications
- Robust Machine Learning Systems: Challenges, Current Trends, Perspectives, and the Road Ahead
- SpArSe: Sparse Architecture Search for CNNs on Resource-Constrained Microcontrollers
- TinyML for Ubiquitous Edge AI