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.
