What I want to do
Describe a workflow using free Surface From Motion (SFM) and 3D model mesh tools for automatic calculation of volume of features based on aerial and ground photos.
My attempt and results
This workflow example used other free 3D model mesh tools (Meshmixer and Blender ) and Meshlab's automatic volume measurement capabilities. Volume is automatically calculated for an earth mound feature in a SFM model from aerial mapping piles augmented by ground-based photos.
I used Autodesk's 123DCatch web tool make a 3D model from 70 images (max number allowed).
This is only an example workflow and is surely not the most elegant approach.
In prior observations I described the motivation and used the scaled measurements from the model to do manual area and volume calculations offline. I was also able to prepare an example closed base cube shell model which used Meshlab's automatic volume measurement capabilities feature to get meaningful results.
Based on suggestions from Matteo Dellepiane, author of Mr P.’s YouTube tutorials for MeshLab, and comments from Mathew Lippincott and others, I found one way to obtain a closed surface, in order to use the automatic volume calculation in MeshLab. While both suggested using Blender, I primarily relied on the Meshmixer tool for the ability to select and “crop” to a subsection of the model and automatically “close” it. I also used Blender capabilities to “close” the bottom of the earth mound feature. However, I struggled with the powerful and elegant toolset and interface for Blender and resorted to the Meshmixer tool to select and “crop” to a subsection of the model. (Meshmixer is another tool from Autodesk and one common use is for "fixing" models for 3D printing - where "closing" the base is a common requirement to make the make the model "watertight" for 3D printing). Both of these closed surfaces gave comparable volumes from MeshLab. The Blender model had been simplified to have fewer edges to select, so some variation is understandable.
Screenshots illustrate steps in the Meshmixer process:
Entire SFM model with Blender filled base of mound showing need to be "fixed", make it watertight for 3D printing (or volume calculation):
Selected subsection of model with mound:
Inverted selection of model with mound:
"Cropped" selection of model with mound:
Selected subsection of model with mound showing after "fix all":
Auto calculated volumes (see EXCEL file for details and notes):
For selected mound-only solid from Meshmixer: MeshLab calculated volume: 73,666 cu ft vs hand estimated 197,699; only 37.3% - a Big difference, need to check prior results.
For Blender smoothed, filled, then cropped in Meshmixer: MeshLab calculated volume: 83,869 cu ft vs hand estimated 197,699; only 42.4%- again a Big difference, need to check prior results.
However the MeshLab calculated volumes are close and given the Blender model had been simplified to have fewer edges to select, some variation is understandable.
Questions and next steps
I'd like to continue to explore Meshlab's automatic volume measurement capabilities. These initial results from an actual SFM model from aerial mapping of mounds are encouraging. Others are likely more familiar with using the capabilities of Blender and other tools. It is also worth noting there are a number of other mesh editing and viewing packages that are free or open source.
Why I'm interested
The capability to use the free and open-sourced cloud-based tools to autostitch images into maps and use their 3D models for area and volume calculations is powerful.