Processing Drone Imagery with Open Source NodeMICMAC
NodeMICMAC is a free and open source project that allows anyone to easily process drone imagery on their native Linux install or via Docker. The project was forked from NodeODM (OpenDroneMap) and is backwards compatible with the WebODM GUI. The project provides a lightweight REST API to the very powerful underlying photogrammetry engine MICMAC, which has been in development since 2008. NodeMICMAC is developed and sponsored by DroneMapper.com as an alternative to DroneDeploy, Precision Mapper, Propeller Aero, PIX4D Cloud and other costly cloud processing services.
We recommend using a mission controller and planning application such as Map Pilot or DJI GS Pro. Both of these applications will execute the mission plan over the area of interest, control camera settings and obtain the required overlap between images and flight lines. It is of the utmost importance to execute your aerial photogrammetry missions using an application mentioned above.
You can find an example data set containing 48 NADIR images from a DJI Phantom 3 Advanced here. For the remainder of this guide, we’ll be working with this example imagery set called “4th Ave”.
Start Processing
The simplest way to start processing imagery is to use the Docker image. It is available on the public docker hub or you can build it yourself from the NodeMICMAC repository. We’ll use the public docker image for this guide working under PopOS/Ubuntu.
$ cd ~ ; mkdir 4th
$ wget https://dronemapper.com/software/4thAve.zip ; unzip 4thAve.zip -d 4th/
$ cd ~ ; mkdir 4th_output
The commands above will download and unzip the 4th Ave. example imagery data set into the ‘4th’ folder. Next, we will run the NodeMICMAC docker image and setup a virtual mount point to the ‘4th_output’ folder.
$ docker run -p 3000:3000 -v ~/4th_output:/var/www/data dronemapper/node-micmacinfo: Authentication using NoTokenRequired
info: No tasks dump found
info: Checking for orphaned directories to be removed…
info: Server has started on port 3000
Now you can open a browser window to your localhost port 3000 to upload imagery and load the web interface/API. The URL is http://localhost:3000
Type a name for your project and load the ‘4th Ave’ images. Use the default processing options or update them as you see fit. Click the ‘Start Task’ button and follow the console log output.
Once the processing is completed, the Status indication will change to “Complete” and the geo-referenced Digital Elevation Model, Orthomosaic and Point Cloud will be available.
Viewing Geo-referenced Output
Navigate to the ‘4th_output’ folder and you should see a structure similar to the screenshot below.
The Digital Elevation Model, Orthomosaic and Point Cloud are geo-referenced with UTM WGS84 project and can be viewed with QGIS, Global Mapper or similar GIS software. Once you load the DEM and Ortho you should see something that resembles the following.
Happy processing! Contact us with any questions or feedback.