## 2 Related Works  
TinyML is an edge computing crossover between the IoT devices and the ML. This approach refines the low power aspect of the IoT devices and combines it with the algorithms capable of performing complex tasks, for example decision-making, prediction or classification. There are numerous established TinyML use cases [4], including: audio wake words, context recognition, control words, keyword detection, visual wake words, object detection, image classification, gesture recognition, object counting, text recognition, segmentation, forecasting, activity detection, sensing environmental factors (e.g., light or temperature), anomaly detection, motor control or predictive maintenance. Use cases similar to this paper are in the image classification group--we will discuss them in this section. One of the examples can be seen in the Ref. [13], where TinyML helps achieve better results in autonomous driving. Another example comes from the Ref. [14], where a person detector is built.  
There are also other works that are linked with the topic of this paper. The problem of face detection is solved in the Ref. [15]. The researchers use a state-of-the-art object detection system called You Only Look Once (YOLO) v3 [16], capable of real-time object detection. In the mentioned paper, researchers used a seventh-generation Intel i7 Central Processing Unit (CPU) in combination with GTX 1080 Graphics Processing Unit (GPU) and 7.7 GB of RAM memory, achieving the results in less than 30 ms. The other work solving the problem of face detection is the Ref. [17]. The researchers proposed a method based on Faster Region-based Convolutional Neural Networks (R-CNN) [18] that is capable of providing the results in 130 ms using Intel Xeon E5 8-core processor with GTX TITAN-X GPU. The authors of the Ref. [19] solved the problem of face mask detection. The researchers applied YOLOv2 [20] combined with ResNet-50 [21] to create the detector. As the YOLOv2 uses a custom network based on Googlenet [22], it needs 8.52 billion floating-point operations for a forward pass [20]. Another way of solving the problem of face mask detection is presented in the Ref. [23]. This paper evaluates the approach based on ResNet [21] and MobileNet [24] respectively. The ResNet requires billions of floating-point operations for a forward pass [21], while MobileNet requires hundreds of millions of floating-point operations [24] for a forward pass.  
There are very few recent works covering the topic of embedded systems used for face mask detection, for example, the Refs. [25; 26; 27]. The authors used powerful processorsin order to achieve impressive results. Our paper focuses on energy efficiency, taking the energy-efficient battery-operated device concept into consideration, which requires the usage of less powerful platforms. The chosen microcontroller is also cheaper than the ones proposed by the researchers, bringing the device cost down and making it more accessible in the process. Platform cost comparison is shown in Table 1. In the mentioned papers [25; 26; 27], the researchers focus on the binary classification problem: whether the person wears a face mask or not. Our paper focuses on the classification of the correctly masked face and incorrectly masked face. It should be underlined that, taking the existing ML and TinyML studies and devices into account, to the best of our knowledge, there are no TinyML research papers nor devices with resources comparable to the used STM32F411 microcontroller that were used to implement complex computer vision tasks. After discovering this field research gap, we propose a power-efficient TinyML system that can be used to verify whether the face mask is worn properly using strictly limited resources.  
Considering these approaches, despite splendid results, none of them can be transferred into the TinyML domain. This is due to the processing power and memory constraints, as well as immense energy consumption that is not acceptable on battery-operated devices.