Industry Thoughts on Photogrammetry Software

The following exchange occurred on a cultural heritage imaging list that I am member of, I’m re-sharing here as I think it contains plenty of useful advice. I’ve anonymized the people involved for privacy’s sake.

What are your own thoughts on the subject?

Original Question - Scientific Documentation Technologist @ government agency

Hello everyone,

I’m planning on purchasing Agisoft MetaShape Professional Edition for myself and my colleague, and I’m wondering if you can tell me what the advantage is of this software over others when it comes to documenting cultural heritage objects.

We work with all different types of objects, including archeology, fine art, paper, books, textiles, metals, etc. We mostly provide documentation for conservation and scientific work, but the models could also be used to create object supports and curatorial content for exhibitions.

Reply One - Director @ Imaging Consultancy

First, it’s important to know that how you capture the images to get good, reproducible, measurable results for photogrammetry is independent of the software you will use to process them. Good capture methodology is key to good results. And, properly collected image sets can always be re-processed in other software at a later date (or by others)

That said, we currently recommend Agisoft Metashape Pro because it includes access to a lot of metrics about the imaging project and individual images. It also gives users access to select data using a variety of algorithms which allows for error reduction during processing. It produces detailed reports for photogrammetry projects that include a variety of useful metrics, and it also can export all kinds of valuable data about the project (including camera calibration data) which could be used in other contexts. As of right now, the competing packages don’t allow the users to get ahold of the detailed metrics (though they obviously have the data internally) or work with them directly. Metashape is available on Windows, Mac, and Linux (Reality Capture is Windows only) and has heavily discounted pricing for education.

I know you didn’t ask about Metashape Pro vs standard, but I’ll add a note about that as well. The standard version has a number of restrictions, the biggest one for our work is that it does not allow you to add scale, so there is no way to have measurable models. It also doesn’t allow adding real world coordinates, and some of the above metrics are not accessible. Standard can be great for getting started and learning about and practicing photogrammetry, but if you are serious about producing scaled models, you’ll need pro.

Again, I’ll stress the importance of proper image capture because without that most of the metrics are meaningless.

Reply Two - photographer @ large museum

I’ve been using Metashape/Photoscan for just over 5 years, and Reality Capture for almost 3 years or more. I am no expert with Reality Capture, but I can offer my thoughts.

The main advantage between Reality Capture and any other photogrammetric software is speed. Although it has its own intended user base and philosophy to the approach. Something that takes a few hours with Metashape, can easily only take 20 mins with Reality Capture on the same hardware.This is why its one of the standards for the commercial VFX and 3D production industry who seem to be the intended user base. This also alludes to the main difference in philosophy, in that Metashape is more of a slow walk through the processing pipe-line, giving the user several tools to change and edit the data as [previous reply] described. Where as Reality Capture will take your input once, and run you to the result.

But don’t take that as meaning Reality Capture doesn’t take accuracy seriously. There are several tools and methods to control your data, its just done differently. Just like in Metashape you can filter your data but its done during alignment instead of after. Filtering in Metashape is done using a specific tool and provides more control over the process. But Reality Capture is built differently. Each time you run the alignment tool it creates a cache of data for that specific alignment. That way if you change a setting or two, it doesn’t start from scratch the next time you run the alignment. It instead uses the cached alignment data to speed up the second alignment. This is just one way I do know it achieves faster processing times.

How this works: lets say you run your first alignment with a Max Reprojection Error of 4.0, to reduce the Reprojection Error to 3.0 you would change that one setting and re-run the alignment. Reality Capture will reprocess the first alignment’s cached data, simply removing the keypoints with an error above three. This is incredibly fast. But as I said its a completely different approach and offers less control and less insight into how this is affecting the point cloud data.

In the past, one major advantage of Metashape is that it can detect coded markers to provide further analysis and scale for the project. Recently however Reality Capture has also included that feature.

When I first started using both programs, only Metashape/Photoscan could provide the analytical analysis that [previous reply] so well described. However, Reality Capture seems to be slowly working variations of those tools into its functionality list over time.

All that being said, I would still suggest Metashape Pro for your listed use cases. Reality Capture can provide fast and high quality results, but its lacking the documented workflows and technical explanations that Metashape Pro offers. So it is ultimately difficult to defend the results as things are.

Reply three - Imaging Production Associate @ very big museum

At our museum, we have primarily used Metashape but have been experimenting with Reality Capture and Zephyr 3D Flow. As the previous replies have already pointed out, a methodical, sharp, broadly lit, robust image capture set is key to producing a high quality 3D render.

I can’t speak to 3D Flow as I’ve not used it much but I have some experience with Reality Capture and I’d say the main points of comparison between RC and Metashape are:

  • Processing speed (as Joseph mentions) - RC is much faster, a 550 image set took about 12 hours to produce a finished model in RC and about a week with Metashape.
  • Metashape requires more operator time manually performing functions that are automated in RC
  • Metashape has a steeper learning curve, takes a while to develop proficiency and the User Manual is not great. RC has a built-in tutorial that you can follow using your own images, although it does not go into more advanced functions.

That being said, so far my preference for the type of modeling we do is to use Metashape. I feel that once I had a good understanding of what was happening at each of the processing steps, the level of control I had in Metashape to optimize the data produced better results.

One last thing to keep in mind is that Reality Capture allows you to install and run their software for free. You can input your own images and build complete textured models, only paying a fee based on the # of images used to create the render, if you want to export the model. So I would recommend getting Metashape, and installing the free version of RC. Run the same image sets through both, and compare the results. Since RC is so fast you can even use it as a quick check to see if your capture set is ok.

5 Likes

Thanks for posting that here. Useful to hear the comments on speed, accuracy and workflow.

You can get away with using Metashape Standard if you don’t mind doing scaling and measurements in CloudCompare or Meshlab. It’s quite quick to do, assuming your scale is visible and hasn’t ‘drooped’!

Personally, I like the workflow of Metashape, and if I really want I can set up a batch job to automate everything and go from images to textured mesh uninterrupted. But I like to do things in stages so that I can control each one and make decisions as I go. On a complex photogrammetry project things rarely go from photos to finished high res mesh without tweaks, cleaning, and decisions along the way.

That said, being a Mac user I don’t have much choice as Reality Capture is Windows-only, but I do wish Metashape had some of Reality Capture’s speed.

1 Like

Thanks, Tom!

I’d love to learn more about using CloudCompare and Meshlab for scaling and measurements - are you aware of any tutorials?

I’ve not come across a CC scaling tutorial, but I could make one. There’s some calculations to do (very simple ones) so a screencast as well as some notes ought to do it. I’ll add it to my to-do list!

1 Like

Here’s some quick notes on scaling point clouds or meshes in CloudCompare.

Open your model in CloudCompare and use the point-to-point measurement tool to measure your scale or other element with known dimensions. The tool will give a distance in units and could be any number large or small. These are relative units and we need to scale the model to reflect real world units. In order to do this we need a scale factor.

So, in this example I open a model and use the Point Picking tool’s point-to-point measurement option to measure a scale that is visible in the geometry.

Screenshot 2020-11-05 at 10.16.12

It is 6.694500 units in length. The real distance should actually be 0.3m. So we need to scale 6.6945 to 0.3. This is done by simple division of the real world distance by the random unit distance to get a scale factor.

Distance divided by Units = Scale Factor

0.3 / 6.6945 = 0.044812906116962

Scale factor: 0.044812906116962

The maximum precision in CloudCompare is 8 decimal places so we will round the Scale Factor down to 0.0448129.

Now we have the Scale Factor we can move to actually scaling the model.

To scale the model:

Edit > Scale / Multiply

Paste scale factor (in our example this would be 0.0448129) into Scale(x)

Ensure “Same scale for all dimensions” and the other two boxes are checked.

Click OK.

Your model will zoom in or out depending on whether the scale is larger smaller than its initial size.

Your model is now to scale in the units of your choice and you can use the measuring tool or cross section tool to study your model with real dimensions in Cloud Compare.

Remember to export your model so that you have saved a copy of your scaled data.

This process is similar in MeshLab.

2 Likes

That’s awesome and very clear, thanks for sharing.

I’ll try and figure out a way to share this more widely as I think it’s a really useful method :+1:

I think it’d make a good screencast or Sketchfab blog post.

Agreed! I’ll email you :slight_smile: