Analyzing the Measurement Accuracy of 3D Reconstruction for Small Objects using Different Software; A Case Study
by Indrit Enesi*
, Anduel Kuqi
Polytechnic University of Tirana, Electronic and Telecommunication Department, Faculty of Information Technology, Tirana, 1000, Albania
* Author to whom correspondence should be addressed.
Journal of Engineering Research and Sciences, Volume 1, Issue 12, Page # 9-14, 2022; DOI: 10.55708/js0112002
Keywords: Photogrammetry, 3D reconstruction, Meshroom, MeshLab, Meshmixer, 3D Slicer, Blender, size accuracy, small objects
Received: 12 August 2022, Revised: 27 November 2022, Accepted: 26 September 2022, Published Online: 21 December 2022
APA Style
Enesi, I., & Kuqi, A. (2022). Analyzing the Measurement Accuracy of 3D Reconstruction for Small Objects using Different Software; A Case Study. Journal of Engineering Research and Sciences, 1(12), 9–14. https://doi.org/10.55708/js0112002
Chicago/Turabian Style
Enesi, Indrit, and Anduel Kuqi. “Analyzing the Measurement Accuracy of 3D Reconstruction for Small Objects using Different Software; A Case Study” Journal of Engineering Research and Sciences 1, no. 12 (December 1, 2022): 9–14. https://doi.org/10.55708/js0112002.
IEEE Style
I. Enesi and A. Kuqi, “Analyzing the Measurement Accuracy of 3D Reconstruction for Small Objects using Different Software; A Case Study,” Journal of Engineering Research and Sciences, vol. 1, no. 12, pp. 9–14, Dec. 2022, doi: 10.55708/js0112002.
3D reconstructions are widely used, the main challenge of them is the accuracy especially for small and detailed objects. Various software exists for 3D reconstruction, free and paid ones with various performances. In this paper the performance of 3D object reconstruction will be evaluated in terms of size accuracy. The aim of the paper is analyzing the size accuracy of the reconstructed 3D models based on photogrammetry for small objects. Meshroom is used for 3D photogrammetry reconstruction and various software are used for measurement. MeshLab, Meshmixer and Blender and 3D Slicerare used for measurements, all are free software’s. Experimental results show a high accuracy for objects sizes measured using Meshmixer.
1. Introduction
Undoubtedly that the uses of 3D computer vision are growing at an extraordinary rate in different fields of industry, among which we can mention 3D printing, archeology and medical, etc. As the fields for 3D application possibilities are constantly increasing, so are the various solutions for providing these technologies. The aim of the paper consists in the study of software that provides 3D reconstruction from images taken with usual camera, a mobile phone camera or a professional one. The software used for 3D reconstruction based on photogrammetry is Meshroom [1]. It is a free, open-source 3D Reconstruction Software based on the AliceVision framework [2]. AliceVision is a Photogrammetric Computer Vision Framework which provides 3D reconstruction and camera tracking algorithms [2]. Meshroom is designed as a nodal engine [3]. This is a very special feature of Meshroom because the parameters can be changed very easily. It allows to add other nodes besides those provided by default, and the parameters for the added nodes can be modified easily. Meshroom is developed in Python while the AliceVision framework is developed in C ++ [3]. It is as a very good place for 3D reconstruction based on photogrammetry, for analysis and for measurements [1]- [6], widely used by researchers.
The dimensions of the object reconstructed in Meshroom are determined to compare the measured values of the target object with the real ones. For measurementsfour different software’s will be used, MeshLab, Meshmixer, Blender and 3D Slicer. Based on the comparison, the optimal solution will be concluded.
Section two describes the methodology used in the paper, section three describes the experimental part and its analysis of results, concluding with the conclusions of the paper.
2. Methodology
2.1. Photogrammetry
Photogrammetry is a technique that enables the creation of 3D models from photos taken from real objects in different positions, possibly keeping the object static [3][7]. It works by extracting 2-D data and superimposing them. Since objects are of different sizes, photogrammetry is used in various fields and applications such as topographic maps or points clouds [8]. The process of obtaining 3D models would be much more complex if we did not use modern software today.
For this article the software we will use are Meshroom, MeshLab, Meshmixer,Blender and 3D Slicer.
2.2. Meshroom Software
The photo inputs are placed below the left-top part, the right-top part serves to display the output of the photo processing (more specifically it serves to display the final output, the created 3D object, but in this position can also be displayed the result of special nodes when executed). The bottom part is undoubtedly the most important part, more specifically in the left-bottom part is given the graph editor which shows the nodes that participate in the workflow execution. As we mentioned, the nodal environment makes Meshroom software very special because each node is performed individually. While the bottom-right section shows the characteristics for each particular node, more specifically the outputs, statistics and status are displayed as shown in figure 1. The photos were taken by through usual cameras. The individual tasks are represented by nodes combined into directed acyclic dependency graphs that are named pipelines [9].

In this paper the default nodes will be used, camera initialization, feature extraction, image matching, feature matching, structure from motion, depth map, depth map filter, meshing, mesh filtering and texturing.
CameraInit loads image metadata, sensor information and generates viewpoints.sfmcameraInit.sfm. FeatureExtraction extracts features from the images as well as descriptors for those features [10].ImageMatching is a processing step which figures out which images make sense to match each other. FeatureMatching finds the correspondences between the images using feature descriptors. StructureFromMotion will reconstruct 3D points cloud from the input images. DepthMap retrieves the depth value of each pixel for all cameras that have been resolved by SFM. Certain depth maps will claim to see areas that are occluded by other depth maps. The DepthMapFilter step isolates these areas and forces depth consistency. Meshing generates mesh from sfm point cloud or depthmap. MeshFiltering filter out unwanted elements of the mesh. Texturing projects the texture change quality and size/file type of texture [10][11].
2.3. Meshlab Software
Meshlab is an open source systems for 3D image processing and preparing models for 3D printing. It works based on point clouds or in meshes. A set of tools are provided from Meshlab software as rendering, meshes, texturing, measurement of distances, cleaning, healing etc. [12].
2.4. Meshmixer software
Meshmixer is a 3D software offered by Autodesk, it is free and available in Windows and MAC OS. Meshmixer is relatively easy to use and is therefore recommended for people who have no experience in the field of 3D modeling. Meshmixer software does not offer the possibility of creating a model from scratch, but instead requires that the model must be imported once into Meshmixer and then you can make changes here.
Meshmixer is based on triangular meshes that consist of three elements: vertices, edges and faces (or triangles). The vertices correspond to points in 3D space, the edges connect two vertices together and the faces correspond to the association of three vertices [13].
2.5. Blender software
Blender is a free and open-source 3D computer software. It is used for a wide variety of applications such as the creation of animated films, 3D printing models, virtual reality, video games, etc.
2.6 3D Slicer
3D Slicer is a free, open source and multi platform software package widely used for medical, biomedical, and related imaging research [14] .
3D Slicer is a software application for visualization and analysis of medical image computing data sets. All commonly used data sets are supported, such as images, segmentations, surfaces, annotations, transformations, etc., in 2D, 3D, and 4D [15]. Analysis includes segmentation, registration, and various quantifications.
3. 3D reconstruction of small objects
Small objects are difficult to be reconstructed, they must be well distinguished from the background, especially if they have details on them and a small number of photos is required. Measuring the sizes from the reconstructed objects helps us in the assessment of cloned ones using a 3D printer. Small objects with complex shape are difficult to be reproduced and the accuracy of the sizes obtained from the 3D reconstruction plays an important role.
3D reconstruction of objects is realized in Meshroom. Its reconstruction is very sensitive from the input images, usually a considerable overlap between images is suggested to have a better reconstruction. The reconstructed object is obtained as a scaled version of the real one. To reconstruct it with real sizes, a known size element is needed. Rescaling the reconstructed object using the known dimension, enables the acquisition of the object in real size.
4. Experimental analysis
As mentioned above Meshroom offers a nodal environment and each node will perform specific functions. The work consists in analyzing the measurement accuracy of 3D reconstruction using three different software: MeshLab, Meshmixer and Blender. The photos are taken by Xiaomi mobile phone Readme Note 8 pro. A small, detailed object is used for 3D reconstruction. As object of thestudy an ordinary office key is used and the reconstruction is done with Meshroom software. The dimensions of the reconstructed object are determined and the measurement results will be compared with the real ones.
Initially the experiment was performed by a set of 40 photos that are randomly selected for the specified object. A white surface is used as the background. Photos are uploaded to Meshroom, the process of executing the nodes went up to the node structure from motion and did not continue. This is due to the white background, which stops the photo processing in the structure from motion node.The background is changed as shown in figure 2. Randomly, 31 photos are obtained.

The reconstructed object using Meshroom is shown in figure 3.

It is noticed that the set of 31 photos as input, was all passed for further processing. The reconstructed 3D object is satisfactory recognizable, as even the most complex part of the key, which is the part of the teeth, has been completely reconstructed and is easily distinguishable.
4.1. Case I
To determine the dimensions of the reconstructed object as above specified, MeshLab will be used as the first case. The meshing that was generated by Meshroom will be imported in MeshLab and the result is shown in figure 4.

As can be seen from the photo, the part of the teeth is notquite recognizable in terms of quality, but the shape of the key is satisfactory recognizable, while in the final object obtained in Meshroom (figure 3), the teeth are satisfactory recognizable. With final result that MeshLabgives, the dimensions of the object in focus are determined. Substituting the new values at x , y and z plane, the distances to be measured will be of the same nature as those of the real object.


The length of the measured key using MeshLab results in 5.4668 cm while the real length of the same distance is 5.5 cm, so the measurement error is 0.0332 cm as shown in figure 5.
The distance of the two key points as in the picture above measured using MeshLab results in 2.2455 cm while the real length of the same distance is 2.3 cm, the measurement error is 0.0545 cm as shown in figure 6.

The height of the key measured by MeshLab results in 0.203 cm while the real length of the same distance is 0.19 cm, the measurement error is 0.013 cm as illustrated in figure 7.

The distance of the two key points as illustrated in the figure 8 measured using MeshLab results in 0.935 cm while the real length of the same distance is 1 cm, the measurement error is 0.065 cm as shown in figure 8.
4.2. Case II
To determine the dimensions of the reconstructed object in Meshroom, the Meshmixer software will be used as the second case. Initially, the meshing that was generated by Meshroom will be imported in Meshmixer, and the result is shown in figure 9.

As can be seen from the photo, the part of the teeth is not satisfactory recognizable in terms of quality, but the shape of the key is sufficiently recognizable. The dimensions of the object in focus will be measured. Substituting the new values at x, y and z, now the distances to be measured will be of the same nature as those of the real object.
The total length of the key measured by Meshmixer results in 5.515 cm while the real length of the same distance is 5.5 cm, the measurement error is 0.015 cm as shown in figure 9.

The distance of the two key points as in the picture above measured by Meshmixer results in 2.2 cm while the real length of the same distance is 2.3 cm, the measurement error is 0.01 cm as shown in figure 10.

The height of the key measured by Meshmixer results in 0.18 cm while the real length of the same distance is 0.19 cm, the measurement error is 0.01 cm as illustrated in figure 11.

The distance of the two key points as in the picture above measured by Meshmixer results in 0.954 cm while the real length of the same distance is 1 cm, the measurement error is 0.046 cm as shown in figure 12.
4.3. Case III
To determine the dimensions of the reconstructed object in Meshroom, Blender software is used as the third case. Initially the meshing that was generated by Meshroom will be imported in Blender and the result is as shown in figure 13.

As can be seen from the figure 13, the object in focus is not recognizable at all in terms of quality. Therefore, it is not useful to measure the distance for this reconstructed object, because the focus of this paper is to create the 3D reconstructed object as clear as possible in terms of quality. And for that reconstructed object we can try to find the dimensions. Since this is what Blender software allows us, the distances for the target object cannot be determined, concluding that Blender’s performance for these types of small objects is not at a good level.
4.4. Case IV
To determine the dimensions of the reconstructed object in Meshroom,3D Slicer software is used as the fourth case. Initially the meshing that was generated by Meshroom will be imported in 3D Slicer and the result is as shown in figure 14.

As can be seen from the photo, the part of the teeth is not sufficiently recognizable in terms of quality. The dimensions of the object in focus will be measured.
The total length of the key measured by 3D Slicer results in 6.54 cm while the real length of the same distance is 5.5 cm, the measurement error is 1.04 cm as shown in figure 14.

The distance of the two key points as in the picture above, measured by 3D Slicer results in 2.7 cm while the real length of the same distance is 2.3 cm, the measurement error is 0.4 cm as shown in figure 15.
5. Performance comparison
The results of the measurements and quality for three software used are shown in table 1.
Table 1: Performance comparison
Software | Visuality | Length error (cm) | Diagonal error (cm) | Thickness error (cm) | Two ordinary point error (cm) |
Meshlab | Satisfactory recognizable | 0.0332 | 0.0545 | 0.013 | 0.065 |
MeshMixer | Sufficiently recognizable | 0.015 | 0.01 | 0.01 | 0.046 |
Blender | Insufficiently recognizable | N/A | N/A | N/A | N/A |
3D Slicer | Sufficiently recognizable | 1.04 | 0.4 | N/A | N/A |
As we can see from the above results, Blender is eliminated, while MeshLab gives the best result, followed by Meshmixer and 3D Slicer, in terms of quality. But in our analysis we also include the dimensions of the reconstructed objects. As we showed above, taking in consideration the dimensions of the reconstructed objects, the best results are given by Meshmixer, followed by MeshLab. So from the analysis we can easily eliminate Blender and 3D Slicer. And as the best result we choose Mexhmixer, because both it and MeshLab are recognizable in terms of quality,but since we are in small objects, the determination of the dimensions also plays a decisive role. And as can be seen from the measurements in the table 1, MeshMixer gives the best results.
6. Conclusions
Changing the background from white in a suitable one brought the possibility of processing all Meshroom nodes to generate the reconstructed 3D object. In this paper the focus was on small objects possibly with complex shapes.
The reconstructed object with a set of 31 photos resulted in a satisfactory recognizable, complemented by content and clear contours. Having a known size element of the object, the reconstructed object is scaled. The dimensions of the small object are measured in four different software: MeshLab, Meshmixer, 3D Slicer and Blender and a comparison is done between them. Experimental results show that dimensions of the object are obtained with high accuracy in a range of errors between 0.013 cm to 0.065 cm in MeshLab and in a range of errors between 0.01 cm and 0.046 cm in MeshMixer.
In conclusion, the best results are those provided using Meshmixer software with an average error of 0.3 mm and sufficiently recognizable in terms of quality.
Conflict of Interest
The authors declare no conflict of interest.
Acknowledgment
This work was supported by the National Agency for Scientific Research and Innovation under the Contract no. 831.
- [Online]. – 2022. – www.meshroom.com.
- [Online]. – https://en.m.wikipedia.org/wiki/Triangle_mesh
- Meshroom Manual [Online] // Meshroom. – 2022. – https://meshroom-manual.readthedocs.io/en/latest/index.html#.
- [Online]. – https://meshroom-manual.readthedocs.io/en/latest/.
- Reprojection error [Online] // Pix4D. – Photogrammetry knowledge, 2021. – 2022. – https://support.pix4d.com/hc/en-us/articles/202559369-Reprojection-error.
- What is the meaning of the parameters indicated in the Sfm report ? [Online] // GitHub. – 2022. – https://github.com/alicevision/meshroom/issues/1075.
- Stark, E.; Haffner, O.; Kučera, E. Low-Cost Method for 3D Body Measurement Based on Photogrammetry Using Smartphone [Journal]. – [s.l.] : Electronics,2022, 2022. – 1048 : Vol. 11. – https://doi.org/10.3390/electronics11071048.
- ASADPOUR A. Documenting historic tileworks using smartphone-based photogrammetry. [Journal]. – [s.l.] : Mersin Photogrammetry Journal . – 15-20 : Vol. 3 (1)
- Poux, F.; Valembois, Q.; Mattes, C.; Kobbelt, L.; Billen, R.Initial User-Centered Design of a Virtual Reality Heritage System: Applications for Digital Tourism [Journal]. – [s.l.] : Remote Sens. 2020,. – 12, 2583..
- Fidji Berio,Yann Bayle Scyland3D: Processing 3D landmarks [Journal]. – [s.l.] : Journal of Open Source Software, 2020.
- Lee, W.H.; Yu, K. Bundle Block Adjustment with 3D Natural Cubic Splines. [Journal]. – [s.l.] : Sensors 2009,. – 12 : Vol. 9.
- [Online]. – www.meshlab.net.
- M. Aysha [Online]. – October 23, 2020. – 2022. – https://www.3dnatives.com/en/meshmixer-231020204/#!.
- [Online]. – https://www.slicer.org/.
- Community Slicer 3D Slicer [Online]. – 2020. – 2022. – https://slicer.readthedocs.io/en/latest/user_guide/about.html.