## 2 Case Study
### Load Classification  
State-of-the-art NN models are complex and require high computational resources to run, hindering their applicability to embedded devices, and putting at risk the deployment of AI-enabled low-end commercial appliances. However, it should be noticed that those models have been thought and designed so as to tackle complex and general tasks. Indeed, classification models presented in the upper section of Table 1 are trained to classify natural images available in complex datasets like ImageNet [29] or CIFAR-100 [30]. On the other hand, object detection models of Table 1 are trained over Microsoft COCO [31] or Pascal-VOC [32]--which are complex datasets containing the most diverse natural images. That level of complexity is, most of the times, not really required by commercial appliances, and, more often than not, represents an overkill with respect to the actual application needs. In fact, many low-end commercial appliances require the use of AI for simpler tasks, involving few entities--e.g., person detection, face detection, etc.--or simpler research spaces--e.g., smart-home devices, etc. Moreover, deploying general-purpose architectures to tackle more narrow-fielded tasks may hinder the success of the AI solution itself. Indeed, the more NNs are complex--i.e., more parameters -, the more they tend to overfit when presented with simple tasks. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline
**Device Name** & **RAM** & **Cores** & **Work Frequency** & **\#FLOPS** & **GPU Availability** \\ \hline ARM Cortex M7 _(ours)_ & 32 MB & 1 & 480 MHz & \(0.48\times 10^{9}\) & ✗ \\ Raspberry Pi-3B+ [24, 25] & 1 GB & 4 & 1400 MHz & \(5.3\times 10^{9}\) & Broadcom \\  & & & & & VideoCore IV \\ Odroid Xu-4 [26] & 2 GB & 8 & 2000 MHz & \(6.25\times 10^{9}\) & Mali-T628 MP6 \\ Latte Panda [26] & 4 GB & 4 & 1440 MHz & \(7.01\times 10^{9}\) & Intel HD \\  & & & & & Graphics \\ Raspberry Pi-4 [13] & 8 GB & 4 & 1500 MHz & \(13.5\times 10^{9}\) & Broadcom \\  & & & & & VideoCore VI \\ Nvidia Jetson-Nano [13, 27] & 4 GB & 4 & 1400 MHz & \(472\times 10^{9}\) & 128-Core \\  & & & & & NVIDIA Maxwell \\ Nvidia Jetson-TX1 [8, 27, 28] & 4 GB & 4 & 1700 MHz & \(1\times 10^{12}\) & 256-Core \\  & & & & & NVIDIA Maxwell \\ Nvidia Jetson-TX2 [13] & 8 GB & 6 & 2000 MHz & \(1.3\times 10^{12}\) & 256-Core \\  & & & & & NVIDIA Pascal \\ Nvidia Jetson-AGX & 16 GB & 8 & 1900 MHz & \(11\times 10^{12}\) & 512-Core \\ Xavier [11, 26, 27] & & & & NVIDIA Volta \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Comparison between available embedded devices. Along this line, we now focus on a simple and representative case study, which aims at faithfully representing the level of smartness actually required by common low-end commercial devices. The case study we introduce deals with image classification, and considers the task of _load classification_. Given a commercial appliance, the simplest and most common task possibly required by the end user is to automatically identify the input provided to the appliance. Automatic recognition could ease many processes required for the proper operation of the appliance at hand, like identification of the process to run, detection of stopping criteria, reduction of energy consumption and wastes, and the like. For that sorts of case study, we only rely on the image classification task, as we consider it enough to satisfy the requirements of most low-end devices. We also limit the problem to the recognition of a fairly-limited amount of entities--i.e., classes of labels--, given that many devices target a fairly-small amount of objects. More specifically, here we consider classifying the load of a common dishwashing machine, identifying four different classes for the given load. In order to collect the load classification dataset, we produce a prototype of a standard dishwashing machine, installing the same embedded device of Section 2.1 inside its loading cabinet.