Thursday, March 11, 2021

Agisoft Metashape

Agisoft Metashape is a stand-alone software package that processes digital images into a 3D spatial data. 

Improved from their earlier quite popular Photoscan, this photogrammetry program uses a Structure From Motion (SFM) technique to build a "mesh" structure of the object's surface. Briefly, SFM uses overlapping digital images combined with the camera's location data (metadata) to perform complex geometric calculations to determine a "point cloud" of surface dots. The dots are then connected to produce a polygon mesh of the object. Metashape can also extract images from video.

Metashape has a large support structure - tutorials, user manuals, blogs to rely upon. It has an educational license for significant cost savings. The Educational license ($59) is available in both Floating (installed on multiple work stations), or Node-locked (a single rehostable work station). 

Metashape has a straightforward UI for loading and processing photos.The number of photos is under no restriction (unlike other packages both free and commerical). Once photos are added, a mask function can be used to reduce irrelevant elements (background, accidental foreground, etc.) to reduce noise and prevent "merging" of the object with other surfaces. The mask function has nice feature where you only need to mask a few images, select points based on the masks, and clean up the other images automatically. It has intuitive masking tools (Magic Wand and Intelligent Selection tools) that make an otherwise tedious task less tedious,

Next the photos are aligned to refine the camera locations and then a dense point cloud is produced. A number of tools exist to refine the point cloud. For example a manual bounding box can be created to orient and refine the point cloud (this is can also be done automatically). The dense point cloud is calculated using depth information from the camera location data. Once the point cloud is built, the mesh is built and ready for export. Each step has a number of parameters that can be used to further refine the 3D model. 

The nice thing about this batch process is it is relatively quick compared to other photogrammetry packages (seconds to minutes versus minutes to hours or days) and also has a tooling feature that will optimize the batch for a specific GPU on your computer, significantly speeding up processing time. You may also have a low/medium//high feature settings to get a quick and dirty 3D model, and then reprocess with high setting for the final model.

The mesh can also be refined from the depth maps (the camera location data) to create better details as well. 

It's a solid piece of software, rarely freezing or crashing, that produces nicely detailed results in a timely manner.


  1. Replies
    1. Thanks for this information. Crusty as I am in information technology, I have an embarrassing lack of knowledge in the graphics processing space. Case in point, I racked and configured one of these a few weeks ago - but I'll never get to use it.

      Aside from daily posting consensus errata to blogger - I have a long term project I've been leisurely diddling with - that would greatly benefit from familiarity with tools, what's doable, and what's already being done.

      A few months ago, my project dictated that I figure out a straightforward and inexpensive way to document movement. I was astonished to find that there exist two or three systems of movement notation, but scant technology supporting their use.

      I set up credo interactive and laban notater and am just depressed by how fragmentary and rudimentary these tools seem to me to be. Their outputs are insufficiently intuitive or usable to warrant the effort to employ this notation.

      So all my whining aside, if you wanted to make short digital stickman movement sequences, what tool(s) would you use to do that? I KNOW that isht has to exist, I just haven't been able find what I'm looking for. Given my limited knowledge and exposure to this space, and the fact that it's not a problem I'd previously given much thought - I really like the Eshkol Wachman approach. Placing a stickman in a spherical frame that can be used to trace the position and movement of a stickman's extremities through defined coordinates - JUST MAKES SENSE TO ME.

      But then, cuneiform made a whole lot of sense to people never exposed to a phonetic alphabet. Any guidance or recommendations you might offer would be greatly appreciated.

    2. I'll write up what I've discovered in my next essay.