# Place Recognition: An Overview of Vision Perspective
## 3 Convolutional Neural Networks  
Recently, convolutional neural networks have achieved state-of-the-art performance on various classification and recognition tasks, e.g., handwriting-digit recognition [34], object classification [9; 10; 13], and scene recognition [14; 15].The most representative convolutional neural networks include AlexNet [9], VGGNet [10], ResNet [35] and GoogleNet [13]. Features extracted from convolutional neural networks trained on very large datasets significantly outperform SIFTin a variety of vision tasks [9; 36]. The core idea behind CNNs is the ability to automatically learn high-level features trained on a significant amount of data through deep-stacked layers in an end-to-end manner. It works as a function that takes some inputs, such as images, and puts out the image representations characterized by a vector. A common CNN model for fine-tuning is VGG-16 [10], and its architecture can be seen from Table 2. For an intuitive understanding of what the CNN model learns in each layer, please see References [19; 37] for heatmap graphical explanation. Reference [38] was the first work to exploit CNN in place-recognition systems as a feature extractor. They used a pretrained CNN called Overfeat [39], which was originally proposed for ImageNet Large Scale Visual Recognition Challenge 2013 (ILSVRC2013), and proved that advantages of deep learning can shift to place-recognition tasks. Reference [36] provides an investigation on the performance of CNN and SIFT on a descriptor-matching benchmark. Reference [37] comprehensively evaluated and compared the utility and viewpoint-invariant properties of CNNs. They showed that features extracted from middle layers of CNNs have good robustness against conditional changes, including illumination \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & \multicolumn{5}{c}{**ConvNet Configuration**} \\ \hline
**A** & **A-LRN** & **B** & **C** & **D** & **E** \\ \hline
11 weight & 11 weight & 13 weight & 16 weight & 16 weight & 19 weight \\ layers & layers & layers & layers & layers & layers \\ \hline \multicolumn{5}{c}{input (224 \(\times\) 224 RGB image)} \\ \hline conv3-64 & conv3-64 & conv3-64 & conv3-64 & conv3-64 & conv3-64 & conv3-64 \\  & LRN & conv3-64 & conv3-64 & conv3-64 & conv3-64 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline conv3-128 & conv3-128 & conv3-128 & conv3-128 & conv3-128 & conv3-128 & conv3-128 \\  & conv3-128 & conv3-128 & conv3-128 & conv3-128 & conv3-128 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline conv3-256 & conv3-256 & conv3-256 & conv3-256 & conv3-256 & conv3-256 \\ conv3-256 & conv3-256 & conv3-256 & conv3-256 & conv3-256 & conv3-256 \\  & conv3-256 & conv3-256 & conv1-256 & conv3-256 & conv3-256 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\  & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\  & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\  & conv3-512 & conv3-512 & conv3-512 & conv3-512 & conv3-512 \\ \hline \multicolumn{5}{c}{maxpool} \\ \hline  & FC-4096 & & & \\ \hline  & FC-1000 & & & \\ \hline \multicolumn{5}{c}{soft-max} \\ \hline \hline \end{tabular}
\end{table} 
Table 2: VGG-16 configuration (shown in columns). Configuration depth increases from the left (A) to the right (E) as more layers are added (added layers are shown in bold). Convolutional layer parameters are denoted as “conv(receptive field size)-(number of channels)”. ReLU activation function is omitted for simplicity.