# Mobile Robot Tracking with Deep Learning Models under the Specific Environments
## 2 Literature Review
### Faster RCNN  
The Faster RCNN is a single, unified network for object detection. It is composed of two modules. One is a deep fully convolutional neural network that generates candidate boxes. The other is the Faster RCNN detector based on the proposed regions [18; 21]. [PERSON] et al. [26] presented a novel Faster RCNN model with classifier fusion to automatically detect small fruits. [PERSON] et al. [27] applied a cascading Faster RCNN with a Gabor filter and a naive Bayes model to increase the precision of eye detection under conditions of reflection from glasses or occlusion. In addition, [PERSON] et al. [28] combined Faster RCNN with other models and achieved better performance for the detection of vehicles and pedestrians than conventional vision-based methods. The division of labor between the two stages of the Faster RCNN is clear, which brings about the improvement of accuracy, but the speed is relatively slow.  
In our implementation, for an arbitrary size image, a reshaping to the size of 600 \(\times\) 600 has been performed and imported into the web work. Resnet-50, a CNN model, includes convolution, batch norm, ReLU, max pooling and average pooling layers. It can extract features from the images and output feature maps. The feature maps are shared by the Region Proposal Network (RPN) network and fully-connected network. The RPN network generates proposed anchors directly, which increases the speed of the generation of proposed anchors significantly. After three convolutions of the feature map, anchors are classified into the foreground (positive) and background (negative) by the softmax classifier. Anchors that have over 0.7 Intersection over Union (IoU) overlap with truth ground anchors are assigned to a positive label while anchors that have less than 0.3 IoU overlap with truth ground anchors are assigned to a negative label. In the other branch, the offset values of anchors from the ground truth anchors are calculated to get an accurate proposal. In the final proposal layer, positive anchors and offset values are combined to achieve the function of object location. The multi-task loss function is as follows.  
\[L(\{p_{i}\},\{t_{i}\})=\frac{1}{N_{cls}}\underset{i}{\sum}L_{cls}(p_{i},p_{i}^ {*})+\lambda\frac{1}{N_{reg}}\underset{i}{\sum}p_{i}^{*}L_{reg}(t_{i},t_{i}^{*}) \tag{1}\]  
where \(i\) is the index of an anchor in a batch, \(p_{i}\) is the predicted probability of anchor \(i\) including an object, \(t_{i}\) is a vector representing coordinates of the predicted bounding box, \(t_{i}^{*}\) is a vector representing coordinates of the bounding box, \(L_{cls}\) is the classification loss over background and foreground, \(L_{reg}\) is the regression loss for positive anchors and \(\lambda\) is a constant which is set to 10 in the simulation [27].  
The classification stage of the algorithm outputs the probability vector from the feature map through the fully-connected layer and softmax classifier. More accurate target detection anchors from region proposals are then generated at the regression stage. During the training, we calculated the IoU between all proposed anchors and the real grounding box followed by filtering. If the IoU is larger than 0.5, the proposed box is regarded as a positive sample. Otherwise, it is taken as a negative sample.  
The training operation is divided into freeze and unfreeze training. To make use of the GPU memory, the batch size of freeze training is three. In unfreeze training, the backbone network is unfrozen, and all parameters are trained simultaneously. The batch size is set to one.