## 3 Background  
### Efficient Neural Networks  
Computer vision applications, such as image classification, image segmentation, and object detection, have been dominated by deep learning models that have been applied differently and implemented in novel architectures [48; 49]. For instance, convolutional neural networks have been widely exploited due to their well-known ability of automatic feature extraction. However, deep learning models are not always efficient, and their performance is not always optimal due to several challenges, including the lack of data and the quality of the learned representations, hyperparameters, and network structure (components), leaving a large margin for improvement and optimization. Recently proposed networks, such as MobileNetV3 [50], EfficientNet [51], DenseNet[52], and MnasNet [53], have been successfully applied in computer vision tasks in which the researchers' goal was the optimization of the network structure, time and resource complexity, and overall performance of the model. The depthwise convolution structure proposed in an efficient DL model such as MobileNetV3 can be used to replace the canonical convolution structure. The proposed depthwise convolution structure is more efficient than the canonical convolution structure in terms of the exploitation of spatial information, which is applied separately on each input channel, and the minimization of the model size [54].  
Furthermore, efficient models that adopt the depthwise convolution structure use fewer resources and fewer training parameters, provide a higher prediction quality, and take a short time to train. In addition, various techniques have been adopted to increase the efficiency of DL models, including knowledge distillation, weight sharing, data augmentation, data parallelism, matrix factorization, and attention mechanisms [55]. For instance, knowledge distillation transfers the knowledge learned by a teacher (original) model to a student (distilled/new) model. The weight-sharing technique uses pre-trained model weights on large amounts of data to improve the new model's performance without retraining from scratch. Data augmentation uses different data transformation techniques to increase the size of the training data. Data parallelism uses multiple training devices, such as GPUs or TPUs, to boost the training speed. Matrix factorization tends to reduce the model size alongside the feature representation space of the feature vectors. An attention mechanism boosts a model's robustness by focusing on the most relevant features during the learning process rather than considering all features. For example, MobileNetV3 improves the latency and accuracy over those of the previous versions by 3.2% and 20%, respectively, in comparison with MobileNetV2 through the adoption of the following techniques and components: using the NetAdapt algorithm as a network architecture search (NAS) to select the optimal network structure, depthwise separable convolution, \(1\times 1\) convolution (pointwise convolution), an inverted residual block [56], a squeeze-and-excite block (SE block) [53], and the _h-swish_ activation function [57; 58]. In this study, we used MobileNetV3 as our main feature extractor in the proposed framework; more details on the network architecture and the parameters are introduced in Section 4.