## 2 Literature Review
### Object Detection
#### 2.1.2 Deep Learning-Based Detection Methods  
Deep learning-based object detection breaks the deadlocks as deep convolutional neural networks can learn an image's robust and high-level features. With the development of the GPU computing resources and the availability of large-scale datasets, many deep learning-based object detection methods have been developed. This section introduces the milestone frameworks in object detection because almost all detectors proposed over the last seven years use one of them as the foundation. In general, deep learning-based object detection methods are grouped into two main categories: two-stage methods and one-stage methods.  
Regions with Convolutional Neural Network (R-CNN) is the first proposed deep learning-based object detection algorithm. The basic idea is extracting enormous proposals as candidate regions based on selective search [19], and then scaling all proposals to fixed-size images and feed them into a pre-trained CNN model to obtain object features. Finally, using Support Vector Machine (SVM) classifiers to predict the presence of the object and to recognize the object category. However, the redundant feature computations on many overlapped proposals lead to a plodding detection speed. Therefore, [PERSON] proposed Fast-RCNN [20] to improve R-CNN. It can train a detector and predict bounding box simultaneously under the same network configurations, which improves the detection speed.  
Faster-RCNN [21] is proposed shortly after the Fast-RCNN. Its main contribution is the design of the Region Proposal Network (RPN). RPN can generate region proposals quickly and efficiently. Although Faster-RCNN breaks through the speed bottleneck, computation redundancy occurs at the subsequent detection stage. [PERSON] presented a method called You Only Look Once (YOLO) [16] to solve this problem. This algorithm applies a single neural network to simultaneously divide the image into candidate regions and predict probabilities containing the object for each region. Although YOLO improves the detection speed significantly, it suffers from a low accuracy in localization compared with previous methods, especially in some small object detection. Meanwhile, the proposed Single Shot MultiBox Detector (SSD) [17] introduces the multi-reference and multi-resolution detection techniques to improve the detection accuracy while maintaining high detection speed.  
Although SSD and YOLO-based methods achieve good accuracy and computation efficiency performance, those models require too much-labeled data for training. However, sometimes much data are not available or easy to obtain for a specific object or task. These methods also suffer from bad performance for small object detection tasks. In addition, those milestone methods mainly focus on classifying and detecting different object categories, so it is not suitable for detecting a particular target CNC machine from many machines in the industrial environment. In this study, Siamese Neural Networks [22] are integrated with the region proposal network to solve this problem. It helps build models with good accuracy and efficiency, even with fewer data and imbalanced class distribution.