Brenden has made a couple of tutorial videos about using free (for non-commercial use) software which creates 3D models of surfaces from multiple photographs of the surface. This process, unfortunately known as structure from motion, is a powerful way to visualize landscapes from collections of many aerial photographs. We have tried online tools to accomplish this, but these have relatively low resolution. There are also expensive commercial programs (Agisoft Photoscan) which I have not tried. So it was good to learn about Brenden’s workflow.
I had to use four different programs to produce the model in the video below:
- VisualSFM: Matches the multiple photos and makes a 3D point cloud.
- PMVS/CMVS: Integrated into VisualSFM to prepare its result for the next program.
- CMPMVS: Command line tool to make the high resolution surface model and paint it with the photos.
- MeshLab: Display, scale, edit, and annotate the result.
The model I made is of a single 50x50m vegetation study plot which was photographed in the rain. The only input was 76 10MP kite photos, there was no GPS or orientation data involved. The processing time for the first three programs above was about 15 hours on a Windows 64 desktop with 3.1 GHz, quad core, 8 GB RAM, and 2 GB CUDA graphics card. The project created 4000 files totaling 40 GB. I probably won’t do this for all 18 of the study plots.
CMPMVS produced several videos (below) as part of its processing (even though I tried to ask it not to). These are sequential views of versions of the 3D model from each camera position. They are not very useful videos, but with kite photos, they do make you feel like you are seeing what the kite saw as the photos were taken. The textured model used in one of these videos has a lot more detail than the model I opened in MeshLab and used for the video above. So I'm not sure I found the proper output among the 4000 files.
Brenden’s first tutorial points to his zip file of everything required to install the first two programs above on a Windows 64 computer. For the second tutorial, two other programs must be installed. CMPMVS requires C++ and DirectX libraries (see readme files for links).