SfM_georef - georeferencing SfM point clouds

SfM_georef in use

*** The original focus of sfm_georef (georeferencing 'SfM' surveys, as described below), is now directly implemented in many SfM software. However, sfm_georef also includes code for processing the output of ground control point and point precision analyses, which are carried out using Monte Carlo approaches with PhotoScan (see the James et al. (2017) papers given at the end of the page). If you want to use these functions, then you will only need the appropriate Monte Carlo Python codes for compatibility with the PhotoScan version you are using - it will not matter if sfm_georef itself is not compatible.***

Sfm_georef is software for scaling and geo-referencing structure-from-motion (SfM) point clouds to real-world coordinates, using observations made directly in the SfM image set (rather than identifying and matching features from the point cloud). A valid SfM project is required, and the following reconstruction software and pipelines are currently supported:

For scaling a project, at least one distance (a control length) between positions that can be directly observed in two or more images is needed. For scaling and geo-referencing a project, the real 3D positions of three or more points (control points) that can each be observed in two or more images, is necessary. v2.3 alternatively allows you to provide the camera locations. Once the transform is determined, this can be applied to point cloud (.ply) files generated by Bundler (sparse) or PMVS2 (dense), with provision given for merging multiple files (such as produced by CMVS clustering for PMVS2) into one. Sfm_georef is originally written in Matlab, with recent versions (2.0 and above) compiled into a stand alone application (Windows only).

Downloads

If you use sfm_georef, please cite the James and Robson (2012) paper listed below.

Current version: sfm_georef v3.1 [download]

    This is a Win-64 executable, zipped along with instructions. You will also need the appropriate freely available Matlab runtime library (see below). Please contact me with any bug reports. Note - if you are upgrading from a version prior to v3.0, you will need to update the MCR due to this version being compiled under a new compiler.
    • Processing of Monte Carlo GCP analysis and Monte Carlo Precision analysis outputs
    • Compatible with PhotoScan v1.3
    • Automated target localisation (image matching) – particularly for UAV imagery
    • Sparse points statistics
    • Standalone executable (Matlab not required, but you need the appropriate runtime libraries available from the MathWorks' MATLAB Compiler Runtime (MCR) webpage). Select the R2015a (8.5) version for your particular platform.
    • ** Updated 16/05/17 ** Bug fix in Monte Carlo GCP results visualisation for recent PhotoScan versions - with thanks to Mike Grilliot
    Legacy versions

    Analysis of systematic doming and error correction

    This software is associated with the paper James et al. "Mitigating systematic error in topographic models for geomorphic change detection: Accuracy, precision and moving beyond off-nadir imagery" (submitted to Earth Surf. Proc. Landforms).

    This is a Win-64 executable, zipped along with instructions. You will also need the appropriate freely available Matlab runtime library available from the MathWorks' MATLAB Compiler Runtime (MCR) webpage. Select the R2018a (9.4) version for your particular platform. Please contact me with any bug reports.

    Current version: doming_analysis_v1.0 [download]

    Demonstration data: example_data [download]

    Updated Monte Carlo Python scripts for PhotoScan

    Precision analysis (including Precision Maps for surveys)

    SfM precision maps
    See - James et al. (2017) 3-D uncertainty-based topographic change detection with structure-from-motion photogrammetry: precision maps for ground control and directly georeferenced surveys, Earth Surf. Proc. Landforms, doi:10.1002/esp.4125
    SfM_georef includes functions to process the output of Monte Carlo precision analyses in PhotoScan, as described in this paper. The published work was carried out using PhotoScan v.1.2.3; and updated Python scripts are required to reproduce the analyses in more recent versions of PhotoScan:
    precision_estimates.py [download for PhotoScan v.1.4.0, sfm_georef v.3.1] [updated 15/03/18]

    precision_estimates.py [download for PhotoScan v.1.3.0, sfm_georef v.3.1] [updated 28/05/17]


    GCP analysis

    SfM GCP survey design and performance
    See - James et al. (2017) Optimising UAV topographic surveys processed with structure-from-motion: Ground control quality, quantity and bundle adjustment, Geomorphology, 280, 51–66, doi:10.1016/j.geomorph.2016.11.021
    SfM_georef includes functions to process the output of Monte Carlo analyses of GCPs and camera models in PhotoScan, as described in this paper. The published work was carried out using PhotoScan v.1.1.6; and updated Python scripts are required to reproduce the analyses in more recent versions of PhotoScan:
    Monte_Carlo_BA.py [download for PhotoScan v.1.2.6]
    Monte_Carlo_BA.py [download for PhotoScan v.1.3.0, sfm_georef v.3.1]

    Examples

    Geological hand sample

    Montserrat volcanic bomb This volcanic bomb (~10 cm across) from Soufrière Hills volcano was scanned by an Arius3d laser scanner (Stuart Robson, University College London) and also reconstructed using the SfM-MVS technique, with the results scaled by sfm_georef. Differences between cross sections through the two models have RMS values of ~0.3 mm.

    Point cloud: low res (6 Mb)

    Volcanic edifice

    Piton de la Founaise Prior to the more recent collapse of the crater floor, photos were taken of the summit craters of Piton de la Fournaise volcano, Reunion (Ben van Wyk de Vries, Univ. Blaise Pascal, Clermont Ferrand). The resulting SfM-MVS model (top) that was then scaled and geo-referenced using sfm_georef and control targets that were deployed at the time. The positions of the control targets are shown as red triangles on the resulting DEM given below. Coordinate units are metres, and overall RMS of the DEM to one produced from traditional oblique photogrammetry techniques is ~1 m over a viewing distance of ~1 km.

    Reference

    James, M. R. and Robson, S. (2012) Straightforward reconstruction of 3D surfaces and topography with a camera: Accuracy and geoscience application, J. Geophysical Res., 117, F03017, doi:10.1029/2011JF002289

    Associated data:

    Instructions for using Bundler Photogrammetry Package (.pdf).

    Publications using SfM_Georef

    James, M. R., Robson, S. and Smith, M. W. (2017) 3-D uncertainty-based topographic change detection with structure-from-motion photogrammetry: precision maps for ground control and directly georeferenced surveys, Earth Surf. Proc. Landforms, doi:10.1002/esp.4125

    James, M. R., Robson, S., d'Oleire-Oltmanns, S. and Niethammer, U. (2017) Optimising UAV topographic surveys processed with structure-from-motion: Ground control quality, quantity and bundle adjustment, Geomorphology, 280, 51–66, doi:10.1016/j.geomorph.2016.11.021

    Farquharson, J., James, M. R. and Tuffen, H. (2015) Examining rhyolite lava flow dynamics through photo-based 3-D reconstructions of the 2011-2012 lava flowfield at Cordón Caulle, Chile, J. Volcanol. Geotherm. Res., 304, 336-348, doi:10.1016/j.jvolgeores.2015.09.004

    Eltner, A. and Schneider, D. (2015) Analysis of different methods for 3D reconstruction of natural surfaces from parallel-axes UAV images, Photogram. Record , 30, 279-299, doi:10.1111/phor.12115

    Nouwakpo, S. K., James, M. R., Weltz, M. A. and Chagas, I. (2014) Evaluation of structure from motion for soil microtopography measurement, Photogram. Record , 29, 297-316, doi:10.1111/phor.12072

    Castillo, C., Taguas, E. V., Zarco-Tejada, P., James M. R., Gómez, J. A. (2014) The normalized topographic method: an automated procedure for gully mapping using GIS, Earth Surf. Proc. Landforms, doi:10.1002/esp.3595

    Tuffen, H., James, M. R., Castro, J. M. and Schipper, C. I. (2013) Exceptional mobility of an advancing rhyolitic obsidian flow at Cordón Caulle volcano in Chile, Nature Comms., 4, 2709, doi:10.1038/ncomms3709

    James, M. R. and Quinton, J. (2013) Ultra-rapid topographic surveying for complex environments: The hand-held mobile laser scanner (HMLS), Earth Surf. Proc. Landforms, doi:10.1002/esp.3489 Download pdf

    James, M. R. and Varley, N. (2012) Identification of structural controls in an active lava dome with high resolution DEMs: Volcán de Colima, Mexico, Geophys. Res. Letts., 39, L22303, doi: 10.1029/2012GL054245

    Castillo, C., Pérez, R., James, M. R., Quinton, J. N., Taguas, E. V. and Gómez, J. A. (2012) Comparing the accuracy of several field methods for measuring gully erosion, Soil Sci. Soc. Am. J., 76, 1319-1332, doi: 10.2136/sssaj2011.0390

    James, M. R. and Robson, S. (2012) Straightforward reconstruction of 3D surfaces and topography with a camera: Accuracy and geoscience application, J. Geophysical Res., 117, F03017, doi:10.1029/2011JF002289

    Contact details