An Open-Source Tool for Classification Models in Resource-Constrained
  Hardware
  Applications that need to sense, measure, and gather real-time information
from the environment frequently face three main restrictions: power
consumption, cost, and lack of infrastructure. Most of the challenges imposed
by these limitations can be better addressed by embedding Machine Learning (ML)
classifiers in the hardware that senses the environment, creating smart sensors
able to interpret the low-level data stream. However, for this approach to be
cost-effective, we need highly efficient classifiers suitable to execute in
unresourceful hardware, such as low-power microcontrollers. In this paper, we
present an open-source tool named EmbML - Embedded Machine Learning that
implements a pipeline to develop classifiers for resource-constrained hardware.
We describe its implementation details and provide a comprehensive analysis of
its classifiers considering accuracy, classification time, and memory usage.
Moreover, we compare the performance of its classifiers with classifiers
produced by related tools to demonstrate that our tool provides a diverse set
of classification algorithms that are both compact and accurate. Finally, we
validate EmbML classifiers in a practical application of a smart sensor and
trap for disease vector mosquitoes.
