Software Engineering Approaches for TinyML based IoT Embedded Vision: A Systematic Literature Review

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.

READ FULL TEXT
research
10/10/2019

Studying Software Engineering Patterns for Designing Machine Learning Systems

Machine-learning (ML) techniques have become popular in the recent years...
research
11/07/2020

Software engineering for artificial intelligence and machine learning software: A systematic literature review

Artificial Intelligence (AI) or Machine Learning (ML) systems have been ...
research
08/12/2020

Synergy between Machine/Deep Learning and Software Engineering: How Far Are We?

Since 2009, the deep learning revolution, which was triggered by the int...
research
11/17/2022

Machine Learning for Software Engineering: A Tertiary Study

Machine learning (ML) techniques increase the effectiveness of software ...
research
11/05/2022

A review of TinyML

In this current technological world, the application of machine learning...
research
06/20/2021

TinyML: Analysis of Xtensa LX6 microprocessor for Neural Network Applications by ESP32 SoC

In recent decades, Machine Learning (ML) has become extremely important ...
research
01/24/2022

Just Enough, Just in Time, Just for "Me": Fundamental Principles for Engineering IoT-native Software Systems

By seamlessly integrating everyday objects and by changing the way we in...

Please sign up or login with your details

Forgot password? Click here to reset