## 4 Results
### Deployment of SSD MobileNet V2 on a Smartphone  
It should be noted that although the mAP, precision, recall, and F1 score values are lower than that of Faster R-CNN model, a quantized SSD MobileNet model can easily be deployed on low cost device operating systems, such as Android. Quantization of the model reduces the size of the model through model compression to allow models run faster on low cost devices. This, however, comes with a trade-off in performance.  
The TensorFlow Lite converter (see Figure 8), a Python API was used to convert our pre-trained TensorFlow model (.pb file format) into the TensorFlow Lite format (.tflite). TensorFlow Lite has capability for achieving low latency, optimizing the kernels for mobile deployment and pre-fused activation to allow smaller and faster models [46].  
The application was developed in Flutter using the tflite package and a pre-trained quantized SSD-MobileNet model for localizing malaria parasites and WBCs in images and real-time camera streams. Images can be taken from within the app and are then fed to the detection model.  
Figure 8: Pipeline for model conversion and integration of pre-trained model for mobile deployment.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Slide** & **Faster R-CNN** & **SSD** & **Manual** \\  & **Parasites/\(\upmu\)L** & **Parasites/\(\upmu\)L** & **Parasites/\(\upmu\)L** \\ \hline Slide\({}_{1}\) & 2326 & 1028 & 485 \\ Slide\({}_{2}\) & 5740 & 4174 & 5768 \\ Slide\({}_{3}\) & 3160 & 1958 & 1638 \\ Slide\({}_{4}\) & 4682 & 2535 & 2783 \\ Slide\({}_{5}\) & 3011 & 1808 & 2195 \\ Slide\({}_{6}\) & 7238 & 5007 & 5685 \\ Slide\({}_{7}\) & 1906 & 1081 & 1483 \\ Slide\({}_{8}\) & 47,982 & 57,404 & 30,502 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Malaria parasitemia on a unique set of each validation thick blood smear slide with corresponding clinical interpretation.  
The image-picker was used for picking images from the gallery, tflite for running our model, and [PERSON]'s camera package for controlling the camera. Once the app is launched, camera descriptors are passed on to all classes that require it. To detect objects in images, we first load the model using the Tflite.loadModel method available in the tflite package. We then retrieve images from the phone gallery or take them from the app camera. On loading the image, we feed it into the model, which returns the detected class, confidence, and points of interest that will help us draw bounding boxes around the objects (in our case trophozoites and WBCs). The basic idea of drawing bounding boxes around the detected object is to use the model's POIs (Point Of Interests) and the image dimensions (see APK (Android Package Kit) at ([[https://drive.google.com/file/d/1](https://drive.google.com/file/d/1) GmWMyQ_IZnxcZQbmW7]([https://drive.google.com/file/d/1](https://drive.google.com/file/d/1) GmWMyQ_IZnxcZQbmW7) g4 QUa2 DepthL14/view?usp=sharing)). All mobile smartphone model deployment experiments were performed on a Samsung j6 Android smartphone camera operating at a resolution of 3264 \(\times\) 2448 pixels (see inference in Figure 9).  
Figure 9: Malaria detection application on Android smartphone.