Working with Components: Merging components

Processing bigger amounts of data is always a challenge. Even though RealityCapture has no limit in the amount of processed images, working with components makes the whole process more comfortable, transparent and effective. Using components offers a possibility to achieve higher quality of models by adding more images to the already aligned ones, better time management, while the processing can be done simultaneously at several desktop devices and then merged together, or simply shortening the time of processing of bigger projects, where the data is collected sequentially. There are 2 main ways how to work with components: merging components and incremental alignment. We will begin with merging components.

We will be creating a 3D model of a 19th century fountain created by Ferdinand von Miller.

Step 1: Data sorting

The first step we need to take is to sort the data we have collected according to how the loops have been taken. In this case, we will be merging 4 components:

  1. Context - a general loop, which captures the whole fountain without any particular details
  2. Middle loop - a loop capturing the stone part of the fountain
  3. Top loop - a detailed loop of the copper pedestal of the statue
  4. Detail - details of the stone statue under the pedestal

Then, for each of the dataset loops we will create a separate project, align the respective images, and export the calculated models as components.

Step 2: Individual processing of particular components

WARNING: You do not need to calculate the model for further merging of components.

As we have already mentioned above, the basic principle of component merging is aligning the loops separately within different projects, saving them separately as RealityCapture alignment components and then loading the single components into a new project, where they would be eventually merged together and calculated as a model.

1. Context

So, first we need to do the well-known process of loading images into the workspace and then align them. After the alignment is finished, we can continue by using the Inspect tool through:

ALIGNMENT → Analyze → Inspect

After switching the Inspection Tool on, you can also scale the size of the cameras through:

SCENE → Alignment Cameras → Camera Scale

As we can see in the picture above, as well as on the following 2 images, the way of taking images in this case is done in a good way: the loop is complete, the angle of the shooting is constant as well as the distance from the captured object.

You can check the alignment report in the 1Ds view on the left side of the workspace.

One of the basic hints for checking whether your images have been taken properly is the amount of images mutually aligned. In this case it is full load of 88 images.

After the alignment, we are ready to export the aligned images as a so-called RealityCapture alignment component for later merging or storage. We do this through ALIGNMENT → Export → Registration and choosing to save as RealityCapture alignment component.

And, of course, do not forget to save also your project file through clicking on the Capturing Reality logo in the top-left corner: Save As… → Reality Capture Project Files.

Summary:

No. of images aligned / loaded: 88/88
Alignment time: 41 s

  1. Middle loop

Here we go with the second loop. As we can see, it has been taken from a closer distance to capture the central part of the fountain in a higher detail.

We can see again that the loop is quite constant, which also results in the even density of the point cloud.

The report shows that all of the input images have been aligned and that the time of alignment with respect to the previous loop is proportional to the number of images.

Summary:

No. of images aligned / loaded: 74/74
Alignment time: 38 s

  1. Top loop

In this case just 63 out of 64 images have been aligned, but the imaging constellation and loaded-to-aligned images ratio remains still suitable to the alignment time of 15 seconds.

Summary:

No. of images aligned / loaded: 63/64
Alignment time: 15 s

  1. Detail

The last, but not least, component is the detail. This one shows quite well that if the general and the supplementary loops map well the overall shape of the object, we can also add details of the objects, which are not full loops but dense partial loops.

image

Summary:

No. of images aligned / loaded: 33/33
Alignment time: 14 s

Step 3: Merging components

After we have successfully managed to separately process all 4 components, we can continue with creating a new project file, where we will load all the previously aligned components, and then align them together.

First, we have to load the previously exported RealityCapture alignment components in .rcalign format WORKFLOW → Import & Metadata → Component.

image

Now that we have all the components opened in one project, we can proceed to their mutual alignment through ALIGNMENT → Registration → Align Images , or simply by pressing F6 .

As we can see, our data collection has been quite good. The first, second, and third loop are closed, the images have been taken from more or less equal distance, the loops are circular, and the camera angles are also quite constant. While taking images for photogrammetric 3D models, the right deployment and density of the camera positions is often more important than the resolution or quality of the camera. We can see this also in our particular case, where the images have been taken with a hobby gadget Canon Digital IXUS 85 IS, and we can confirm, again, that RealityCapture is a software solution for experienced professionals with high-quality equipment as well as freelance artists or enthusiastic beginners with no special equipment.

SUMMARY

Alignment of components themselves as well as their mutual alignment is not a highly time-consuming process, and represents a good solution when we are taking images in multiple batches, or when we are working with more complex and rugged objects, such as this fountain.

Here we can see the final report of the reconstruction:

image

image

COMPARISON: Merging components vs. alignment of the whole dataset at once

Here we have loaded the whole dataset and aligned it all at once:

image

image

The merging of the previously aligned components has taken 30% less time than aligning the whole dataset. In cases where the time of processing is around 1 minute, it does not matter that much, but in cases, where the data is being collected in a few consecutive days, or stages, aligning components during a further data collection, or simultaneous aligning at various devices, can make the whole process much faster during the final alignment of the whole dataset.

I have been trying this for a whole day now and it does nothing.

  1. I create the components and export as .rcalign.
  2. I create a new project.
  3. I load the components.
  4. I hit Align Images.
  5. The app does something, but takes ages and the “Processing” bar keeps at 0% .
  6. after an hour or two I cancel the alignment, because the processing bar is still at 0% even though each of the aligned components took about 5 minutes each to align, and I have 4 of them, so anything over 20 minutes should at least show some progress, but RC doesn"t.

Yes, I tried deleting the cache. Yes, I tried Shift starting the app with “make like new install” option.