# Comparison

After scoring two 3D models, respectively: David Scan (very economical solution) and NextEngine (more professional, but not too expensive) it is possible to analyze the differences and similarities of the results obtained. To make this comparison, and provide visual feedback, a good approach is to compare the two geometries obtained; can be calculated point by point the distance between the two objects and obtain the actual measurement in millimeters on which it is possible to carry out observations of various kind. Essentially: the smaller the distance between two points, the greater the similarity between the two models at that point. The process is quite simple, and will be analyzed in a series of steps.

Step 1 – Alignment (the best possible)
The first step to be taken is groped to better align the two objects. To align the two 3D models, the process is the same used to align each mesh of the project. We import the two project in MeshLab and align themselves through “Point Based Glueling” into the tool “Align”. In this case, however, a need to improve the step of processing by increasing the parameters of “Sample Number” and “Target Distance” algorithm of alignment. We then have the two objects perfectly stacked and ready to be compared.

There is an important clarification for the purposes of comparison, the model NextEngine, has an accuracy far greater than David Scan. As a result: from now on will be taken as the main reference, such as “zero model” that obtained with NextEngine for comparison. It will be observed as the geometry obtained by David Scan model differs from zero.

Step 2 – Hausdorff distance
MeshLab provides, among Filters “Sampling”, the Hausdoff distance. This tool compute the Hausdoff distance between two meshes, sampling one of the two and finding foreach sample the closest point over the other mesh. In other words, it is the greatest of all the distances from a point in one set to the closest point in the other set.

To obtain an exact result is, however, necessary to perform the first two operations: the first is the alignment of which we have already seen, while the second is to “lock” the matrix of rotational translation for both objects. Block matrices is necessary, since the instrument performs the algorithm starting from the starting position of the objects. If you do not fix the initial position, you are likely to perform calculations of distances to various rotations, heavily distorting the result. The command “Freeze current matrix” allows us to define the position of the matrix. It should run on both models. Once you have completed these two steps you can use the tool that calculates the Hausdorff distance.

In the Hausdorff distance, it is necessary to leave the parameters of defalut. The only things to change are Target and Sample Mesh. The mesh is held Target reference, namely that where the error is smaller. In other words, the mesh with more detail. We have already said that our Target Mesh that will be acquired with NextEngine. We can also define the maximum distance beyond which the distance is not considered, after some tests at 2 and 3 mm, it was decided to leave the default value, being the maximum distance lower than this number. This process assigns to each vertex of the mesh Sampled value of quality (VQ), equal to the distance to the target. Now, you are ready to view the results.

Step 3 – Quality Mapper
Through the Quality Mapper Dialog is possible to observe where there are major differences in the distance in a very simple manner. The distances have a color that tends toward the red, while the vertices are very close are blue, the intermediate values ​​are defined by a chromatic scale of this window. As there are differences very low, in the order of hundredths of a millimeter, you can define a percentage of the values ​​for which the histogram do not consider the error. And ‘possible to cut off this tail of values ​​by changing the value of “Clamp”, putting 1% you can observe the differences between the two models with the greatest emphasis. However it is very small distances, in particular:

• MIN distance: 0.00063 mm
• MAX distance: 0.12757 mm
• Average: 0.06410 mm

Most of the vertex is well below the average, therefore the two models are geometrically very similar. But there are some differences in some points, which will be analyzed specifically. You can also explore the model, colored according to these values ​​within this website, in the appropriate viewer, where you can move the object to find higher and lower distance points. For simplicity of scripting, on the viewer, it is possible to clamp the histogram only at 0%, 1% and 2%.

Step 4 – Analysis of the differences
The differences between the two objects, as we have seen are not many. The more they account for one-tenth of a millimeter, a difference is very low if no resolution is required particular acquisition. However, there are points where the error is caused by several reasons, let’s see some examples:

• Figure 1: in this part the differences are caused by a difficulty in surface scan. David Scan, in fact, wants that the laser is always pointed at an angle from the top down. In this way the parties “hidden” from protruding surfaces are very disadvantaged;
• Figure 2: the difference in this case is caused by an incorrect alignment of the two meshes which make up the rear part. Such misalignment is caused in part by the straw of the whistle (most difficult part to be acquired), and accordingly the surface is slightly varied;
• Figure 3: the straw of the whistle has the highest difference between the two objects, and it is not at all surprising. This piece was the most difficult to acquire Scan with David, because of small details and very low. In addition, the Poisson reconstruction has taken steps to increase this difference, tending to “to crown” the reconstructed surface. Moreover, this piece has caused different alignment difficulties which have in turn created other differences in the object;
• Figure 4: At points where the surface form a cusp is easy that there are errors, in this case the Scan David has had more difficulty compared to NextEngine to acquire the more detail internal to these parts;
• Figure 5: This area is difficult to capture, so the alignment has not been great, the form does not help the reconstruction of the surface. In addition, the algorithm Poisson, rebuilding, tends to inflate slightly the surface leading to lightweight errors.

Step 5 – Enjoy the difference!
See the model colored with the quality of the vertices described : go to the viewer >> 