# Three-Dimensional Human Head Reconstruction Using Smartphone-Based Close-Range Video Photogrammetry
## 2 Materials and Methods
### Frames Selection Methods
Feature vectors can be taken from any feature layer at any (row, column) position. The position (row, column) is determined from the results of the same network--the center of the detected BBox of the head (Figure 3). A suitable feature layer may be suggested according to the size of the receptive fields of the units and from the units that the feature layer has. The further the feature layer starts from the input, the larger the receptive fields of the units of that layer are. The size of the receptive field will determine what part of the image the extracted feature vector describes. We want to compare, by similarity only, the image regions that semantically represent the head. Intuitively, the size of the receptive field should be such that it spans the region of the head in the image. However, we will perform experiments to select the feature layer that is most helpful to provide feature vectors (Table 2). Particular feature vector (from a specific layer, certain (row, column) location) will mostly be shift invariant, but not scale or rotation invariant. Shift invariance was achieved by using information about the detected center of the head BBox to determine the (row, column) location of the feature vector. Rotation invariance is not as important because during the short video capture, the camera may be used without large tilt rotations. Scale invariance probably would be slightly needed if we made a selfie video using an outstretched hand. If the video was made with a strongly changing distance from the camera to the head, or if we use frames from different videos, the scale of the head in separate frames may differ. This can lead to the situation where feature vectors differently describe the same object due to the change of the object's size. Scale invariance may be achieved by performing double-pass head detection--after the first run, the detected BBox is used to \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Layer No.**} & \multirow{2}{*}{**Layer Name**} & \multicolumn{2}{c}{**Feature Layer Size**} & \multicolumn{2}{c}{**RF Size**} \\ \cline{3-5}  & & \(\mathbf{[N\times M\times K]^{1}}\) & **[px] 2** & **[\%] 3** \\ \hline
11 & Conv 5-1 & \(32\times 32\times 512\) & 51 & 10 \\
12 & Conv 5-2 & \(32\times 32\times 512\) & 59 & 12 \\
13 & Conv 5-3 & \(32\times 32\times 512\) & 67 & 13 \\
14 & Conv 6 (fc6) & \(32\times 32\times 1024\) & 287 & 56 \\
15 & Conv 7 (fc7) & \(32\times 32\times 1024\) & 287 & 56 \\
16 & Conv 8-1 & \(32\times 32\times 256\) & 287 & 56 \\
17 & Conv 8-2 & \(16\times 16\times 512\) & 287 & 56 \\
18 & Conv 9-1 & \(16\times 16\times 128\) & 287 & 56 \\
19 & Conv 9-2 & \(8\times 8\times 256\) & 287 & 56 \\
20 & Conv 10-1 & \(8\times 8\times 128\) & 287 & 56 \\
21 & Conv 10-2 & \(4\times 4\times 256\) & 289 & 56 \\
22 & Conv 11-1 & \(4\times 4\times 128\) & 289 & 56 \\
23 & Conv 11-2 & \(2\times 2\times 256\) & 511 & 100 \\
24 & Conv 12-1 & \(2\times 2\times 128\) & 511 & 100 \\
25 & Conv 12-2 & \(1\times 1\times 256\) & 511 & 100 \\ \hline \hline \end{tabular} 1 (rows \(\times\) columns \(\times\) channels);2 size of the layer unit’s receptive field in pixels; 3 size of the layer unit’s receptive field relative to the size of the input image, in percent.  
\end{table} 
Table 2: Summary of the CNN’s last 15 feature layers that were investigated for suitability to provide useful information for sorting images by similarity in order to predict the relative location of the frames in the space at the time of imaging. Figure 3: Method of selecting feature vector from feature layers for face area description. The features describing the image patch containing the face are used to sort images by similarity to predict the frames’ relative location in the scene’s space. The spatial position of the feature vector in the feature layer is relatively the same (proportional) as the position of the center of the head’s bounding box (BBox) in the image. crop the image region with the head, and the cropped image is passed to the model for the second detection.