Terrain surface has been modelled as two surfaces offset vertically form one another

I am processing a project in Pix4Dmatic the subject of which is a large swathe of Australian outback land, and in one specific area the software appears to have constructed two different surface and offset them by a few meters vertically, instead of modelling one continuous land surface. I have seen this before in Pix4Dmapper when I tried to process different adjoining flights together, however this imagery data was captured in the same mission.

There are no GCPs in the area to help tie it down, so I have tried to create MTPs across the ‘busted’ area to help tie it together. When I create the MTPs and mark the first few images things are ok, however once I mark one of the images that the software used to create the ‘other’ surface, I suddenly get a large reprojection error and the ‘outlier detected’ red flag next to the MTP.

After marking ~14 MTPs and running the calibrate step again, the issue does not seem to have been fixed. I then ran reoptimize but that also hasn’t fixed the issue.

I’ve uploaded a couple of images that hopefully show the issue better than I can explain it

Just providing an update that further attempts to reoptimize have had some impact on the surfaces. I’ve found that after removing marks from images in MTPs that have the “outliers detected” flag, I am eventually able to get this warning to disappear - and at the same time the reprojection error goes from ~3px up to 30-40px.

Then after recalibrating and reoptimizing, some of the reprojection errors of those MTPs lower by a little, while others drop down to ~3px but revert back to “outliers detected”.

In case there is any question, I am 100% certain about the markings of the MTPs (I realize this would be a big source of error).

I have also read and am following this article, however my situation is slightly different as I am having to use MTPs instead of GCPs.

@Pierangelo_Rothenbuhler sorry to do this but can I bump this to you for some consideration? I hate to ask so directly, it’s just that you provided a great response to the referenced article and I’m hoping you have some suggestions I could follow!

I’ve tried processing this several times now, with variations on all of the calibration phase parameters, however nothing seems to be eliminating the issue so far.

Hi @rory.oconnor, sorry I couldn’t get back earlier, I’m currently at a conference for work.

Adding Manual Tie Points (MTPs) is a correct thing to try in such situations, you also correctly proceeded by marking images that were used to create both surfaces. Usually there are two separate clusters of images responsible for the two point cloud surfaces, so MTPs are there to tie them together again.

In such situations, when you mark an MTP in a single cluster of images responsible for one surface, the reprojection error is usually low (as they were used to create the same surface, which in your case is on its own, rather well reconstructed), when you start marking in a second cluster of images (responsible for the other layer of points), then the reprojection error increases. This is normal, as the entire point of the MTP is to bring together images that were not correctly tied together in the first place. That said, the reprojection error should decrease once you Process > Reoptimize, or if you rerun the calibration. The goal is that it decreases afterwards as this would show that the additional information you provided to the software through MTPs was correctly taken into account and helped to fix the problem you were experiencing.

If the problem was not fixed already, there are usually two suspects:

  • either more images from the two clusters of images need to be marked. Here you can either check which reprojections are not at the right spot in remaining images, or find images with the rayCloud view (that’s the 3D view with the rays) that are supposed to see the point, but that were not marked yet.
  • more MTPs need to be marked in the same area, this helps sometimes to tie things together.

The “outlier” mark is not necessarily bad, especially if you are certain that all images were marked correctly. In certain cases, the fact that the outlier detected symbol is still there means that the software did not manage to tie the two clusters of images together correctly.

That would usually be a symptom indicating that more images from the two clusters need to be marked (or to add more MTPs) until both clusters get together.

Now that this is said, we are currently investigating if MTPs could be more strongly taken into account to solve the case you are describing.

Another approach to solving the issue, as you mentioned that all images were taken in the same flight, could be to set the “Internals confidence” parameter to “High” in the Calibrate step. To be more sure whether this would make sense, could you share a screenshot of the “quality report” panel in PIX4Dmatic? Or even better, the quality report itself? This might give some more indications, e.g. on the camera optimization.

1 Like

Thank you for the very thorough feedback @Pierangelo_Rothenbuhler! I have had to move on from the job where this issue was happening, but once I have finished the remaining ones from this project I will go back and reattempt to fix the offset with the advise you have provided, and upload a quality report if the issue persists

1 Like

@rory.oconnor Hi, following-up on this. We added a possibility to run “Rematch and Reoptimize” in the latest preview. In practice, this is accessible in the processing options panel in the new section “Reoptimize” that has an option to “Rematch”. This section appears only when there is new information to be taken into account in the calibration such as new marks, tie points, …

What does this do? When there are two layers in a project such as in the screenshot above, it usually means that these were not able to “match” together in enough images. What I described above is to “match” these together based on new Manual Tie Points (MTPs) together with Reoptimize, or by running the calibration again.

The “Rematch” will try to find new matches based on the information you provided to the software with the tie points, which should help to bring the two layers together without the need to run the entire calibration again. And it should find additional new matches in comparison to the “Reoptimize” workflow on its own.

Ok, I hope that made sense, let me know if it doesn’t.

PS: there should be more improvements related to outliers and displaying tie points in the next version, look out for them :wink:

1 Like

Hi @Pierangelo_Rothenbuhler thanks for the update, and thorough explanation - this makes sense perfectly to me.

This sounds exactly like the feature I need, thanks very much for letting me know about it. Unfortunately we ended up having to split the project where our issue manifested into three separate areas as we couldn’t solve the issue at the time. That being said, I am happy that this feature is implemented now as I think it will manifest in the future for us, considering the kind of terrain we have to map in remote Australian desert.

1 Like