# Three-Dimensional Human Head Reconstruction Using Smartphone-Based Close-Range Video Photogrammetry
## 2 Materials and Methods
### 3D Reconstruction Algorithms
#### 2.1.3 Baseline Algorithm  
The default _Photogrammetry Pipeline_ from the AliceVision Meshroom software (version 2021.1.0) [57] with small adjustments was used as a general-purpose 3D reconstruction algorithm, and in the comparative evaluation of the algorithms it represented the baseline algorithm. The reasons that led to the choice of the Meshroom were its functionality (features), popularity among users, acceptable reconstruction quality, being open-source, active development, the possibility to access and modify intermediate data, modular structure, and command-line interface. In order to evaluate the proposed modifications of the 3D reconstruction pipeline, a flexible environment for experimentation was needed. Meshroom provides a means to adapt the pipeline through its customizable workflow and/or by accessing intermediate data. It is easy to intervene in the workflow with custom data processing steps. It is worth mentioning that there exist a number of other photogrammetry software as free/open-source and commercial packages. Free/open-source applications for SfM [58]: COLMAP [59,60], OpenMVG [61], VisualSFM [62], Regard3D [63], OpenDroneMap (ODM) [64], MultiViewEnvironment (MVE) [65], MicMac [66]. Commercial solutions [67]: 3 Dflow 3 DF Zephyr [68], Agisoft Metashape [69], Autodesk ReCap [70], Bentley ContextCapture [71], CapturingReality RealityCapture [72], PIX4 Dmapper [73], PhotoModeler [74], DroneDeploy [75], OpenDroneMap WebODM [76], Trimble Inpho [77], and Elcovision 10 [78]. The adjustments and their justification are following:  
* Describer Types in FeatureExtraction node were changed from _sift_ to a combination of _sift_upright_ and _akaze_occ_--the first change because the camera is not rotated during the capture and hence the feature orientation may be fixed; the second change adds more diverse features to increase matching robustness;
* In FeatureMatching node parameters, Cross Matching and Guided Matching, were enabled--to increase matching robustness;* The default single StructureFromMotion node was changed to a sequence of two StructureFromMotion nodes with the following different settings--in the first StructureFromMotion node, the value of parameter Min Input Track Length was changed from 2 to 3, and the value of parameter Min Observation For Triangulation was changed from 2 to 4. In the second StructureFromMotion node, the parameter Lock Scene Previously Reconstructed was enabled, and the value of parameter Min Observation For Triangulation was changed from 2 to 3. Such setup increases the number of reconstructed cameras and reduces the noise in the point cloud;
* Only the sparse reconstruction part of the whole reconstruction pipeline was used, so the sparse point cloud from the last StructureFromMotion node was used as the test model in the evaluation. This baseline algorithm in the context of the generalized 3D reconstruction pipeline (Figure 1) consists of the steps: _1. Frame extraction from video; 2. Camera initialization; 6. Feature point detection; 8. Feature description; 9. Image matching; 10. Feature (descriptor matching; 11. Structure from motion (sparse reconstruction))_. Formally, 5. Frame selection step was also performed in a simple way because a large amount of extracted frames from the video was reduced 3 to 4 times, depending on the initial frame count, so that the remaining frame count was near 400. The set of frames was reduced by taking every third or fourth frame. All selected frames from the videos were sent to the 3D reconstruction algorithm without any preprocessing. Any geometric distortions, for instance, due to camera optics, were corrected during the bundle adjustment process of 11. Structure from motion step when the extrinsic and intrinsic parameters of all cameras, together with the position of all 3D points, are being refined. The following are the essential steps of the Meshroom's StructureFromMotion node [57; 79], which is an incremental algorithm, and are concealed under the _11. Structure from motion_ step (Figure 1): 1.