# Intelligent Detection of Parcels Based on Improved Faster R-CNN
## 3 Experiments
### Experimental Settings  
**(A) Experimental dataset:** To verify the effectiveness of the proposed algorithm for parcel detection, we experimented with our method using two datasets, one for the parcel dataset and the other for the public dataset SKU110K [33]. The parcel dataset was obtained by manual photography at an industrial site with a CCD camera mounted on a robotic arm, as shown in Figure 11. The camera model is a Sony JHUM504s color camera with a resolution of 2448 \(\times\) 2048, an exposure time adjustment range of 27 \(\upmu\)s-10 s, an image element size of 3.45 \(\times\) 3.45 \(\upmu\)m, effective pixels of up to 5 million and a camera frame rate of 35 FPS, allowing precise data to be acquired while the robot arm is in motion. A total of 1000 dense parcel images was acquired using the above imaging device, of which 900 images were used to train the network, and 100 images were used to validate the model performance. In addition, to reduce the cost of the network, the parcel images were uniformly scaled to 512 \(\times\) 512. Finally, the parcels were manually labelled using the labelling tool Labelme [34] to generate Ground Truth, which captures information about the location of the parcels in the images. Note that to ensure the correctness of the parcel dataset, we designed a labelling strategy. We did not label the poorly imaged parcel areas in the image and did not label the parcels in the image that covered more than 75% of the area.  
SKU110K provides 11,762 images, including 8233 images for training, 588 images for validation, and 2941 images for testing, for approximately 1,733,678 detection objects. The images were collected from thousands of supermarket shops with different scales, perspectives, photo conditions and noise levels, all at a resolution of around one million. Most of the objects in SKU110K are closely spaced, and their object angle variation is usually at a particular value in the range [\(-15^{\circ}\), \(-15^{\circ}\)], part of whose image is shown in Figure 12.  
Figure 11: **(a)** Industrial robot of a local company; **(b)** example of captured parcel image.  
Figure 12: Example of a SKU110K dataset.  
**(B) Experimental parameters:** Training and testing are performed on an i9-9900 KF CPU with Nvidia GeForce RTX 3090 GPU. The operating system is ubuntu 18.04, and the deep learning framework is PyTorch1.6. All frameworks are programmed in Python3.6. The training relies on 50 epochs. The batch size is 8, and the initial learning rate is set to 0.005 and adjusted along with the training epochs in the lr_scheduler.StepLR strategy (step size = 5, gramma = 0.03). All of our experiments followed the above settings unless otherwise stated.  
**(C) Evaluation Standards:** As a rule [35], we employed the Precision (Pr), Recall (Re), average precision (AP), and processing time metrics, while True positives (_TP_), false negatives (_FN_), and false positives (_FP_) are calculated to generate the recall and precision. Re measures the completeness of the test results, while Pr indicates accuracy.  
\[\text{Re}=\frac{TP}{TP+FN} \tag{15}\]  
\[\text{Pr}=\frac{TP}{TP+FP} \tag{16}\]  
AP is obtained by calculating the area under the Precision-Recall (_PR_) curve according to Equation (17). The frames per second (_FPS_) metric is commonly used to measure processing time and is defined as the number of images that the training model detected in one second.  
\[\text{AP}=\int_{0}^{1}PRdr \tag{17}\]  
Furthermore, we utilized the missed detection rate (_MD rate_) and false detection rate (_FD rate_) to measure the model's effectiveness in the ablation experiment:  
\[MD\ rate=\frac{FN}{TP+FN} \tag{18}\]  
\[FD\ rate=\frac{FP}{FP+TN} \tag{19}\]