## 4 Results  
Figure 22 shows the different stages of the proposed approach using a prototype. Figure 22: Stages of the proposed approach using prototype. In this section, we present the testing results for each of the sub-systems. We tested our robotic arm in both the manual control mode and the automatic mode. Our testing results show that the communication between the gamepad and the microcontroller has a delay of around 10 ms. The execution of the response to that event takes about 45 ms, resulting in a total time of 55 ms, which is acceptable for its application. The system takes about 5 to 20 s to obtain an item. The extreme delay occurs, due to the linear actuator speed. Thus, the time consumed highly depends on the height of the location of the item. The system then takes 2 s for scanning the item and 1 s for validation. The execution time of the whole process is presented in Figure 23.  
The precision-recall curve is shown in Figures 24 and 25 for the two VGG19 networks with different regularization terms. As shown, the model with less regularization was less accurate by 2.4, compared to the first one. We conducted an earlier, similar test, but on a small random portion of the training set, and the network showed better performance than the current results. This is because decreasing the regularization term helps the model learn on the training data; however, overfitting occurs when it is too low, and testing on the same set provides misleading results. Training on high resulted in poor performance in earlier tests due to underfitting, as the data could not be learned sufficiently from the training set. Figure 23: Execution time of the full process. Figure 24: Recall–precision curve for VGG19 networks trained for 12 epochs. IoU threshold = 0.1. By increasing the threshold as in Figure 25, we can see that the mAP score decreased from 94.7% to 68.6%, as many bounding boxes with low confidence scores are ignored, even if they represent correct barcode locations. However, we can tolerate a low score in our application since the scanner can scan barcodes without accurate localization of its center. Approximation of the barcode location is sufficient in this case, as shown in Figure 26 for low and high confidence scores, respectively. We can see in Figure 27 that the average precision for the VGG19 network is better by 3% than the same network trained for a longer time. This can be attributed to overfitting after training for too long; however, as depicted in Figure 28, an increase in the IoU threshold tolerance increases the precision score for the network trained for 12 epochs. During the training process, the loss starts to converge after the second epoch, so we can say that training for a long time after conversion is not favorable, especially when the score at a lesser threshold tolerance is better for the less-trained network. By comparing the different network structures, we can see that VGG19 clearly has the advantage; however, it was the slowest. The pipeline speed comparison for all networks is shown in Table 3.  
Figure 26: Detection of clear barcodes with high confidence score and unclear one with a lower confidence score. Figure 25: Recall–precision curve for VGG19 networks trained for 12 epochs. IoU threshold = 0.5. The execution of the system's components, including YOLOv2 and GMM, is done using the \"Nividia GEFORCE GTX 1050 Ti\" processor, which works at 27-30 frames per sec with 75 watts. On the other hand, the testing done on the FPGA \"Jetson AGX Xavier\" showed that it works at 24-30 frames per sec with 30 watts. Although the execution time of YOLOv2, being the heaviest component of the system, on FPGA is expected to be longer, the efficiency of the power consumption is much better when operating in real-time is maintained. These results confirm that the system can be integrated in the future to being operated using FPGA. The DarkNet network is dismissed as a choice since a high drop in the mAP score was noticed in exchange for a small FPS improvement.