Installing a Low Cost (or No Cost) Drone mapping solution on CentOS 7 Linux.
Drone mapping and 3D modelling solutions range from free or very reasonable cost, to very high end solutions, with a price tag to match! Here we’re going to install a free, open source application, onto a free Operating System.
Having previously installed, and utilised OpenDroneMap on a Mint 18 Linux Laptop and Workstation, as well as a Windows 10 Desktop, we took the opportunity, when rebuilding a dual boot video, photo and audio editing machine, to use CentOS 7.7 (mainly so we could utilise Davinci Resolve in a linux environment) as the dual boot OS alongside Windows 10.
As it was, the install of OpenDroneMap was quite straightforward, using most of the documentation provided on their documentation pages.
Our workstation setup.
Our workstation consists of a ZooStrom Origin PC, Intel Core i7-7700 3.6GHz, 16GB RAM, to which we added an Nvidia GeForce GTX1060 6GB GPU (And an upgraded PSU as the one supplied with the Zoostorm Origin isn’t up to the task of running any sort of GPU)
We also added a 500GB SSD to serve both Windows 10 and CentOS 7, leaving the 2TB disk for data
As is the norm with such instructions, they come with no warranty, and should you decide to follow them, you do so at your own risk! REMEMBER to take backups of your data before beginning!
We started with our Base build of CentOS 7, and ensured that it was updated to the latest levels of patches.
Installing the required ‘extras’ to ensure that OpenDroneMap can run.
As ‘root’ run the commands:
# yum check-update
# yum upgrade
(If the kernel has been updated, then you should probably reboot at this point)
When you’re happy that the system is up to date, then you need to add the extras that are needed to run OpenDroneMap.
As the ‘user’ that you need to run the software as, run the commands:
$ cd ~
$ curl -fsSL https://get.docker.com -o get-docker.sh
This should have installed docker, git, python and pip, as they are all required.
‘docker-compose’ is also required, you can check it is installed by running the command:
$ docker-compose –version
Which should return a version number. If not, then it needs to be installed by using the command:
$ sudo pip install docker-compose
This command did not work for us, we had to use the commands:
$ sudo curl -L “https://github.com/docker/compose/releases/download/1.25.1/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
(Using the current docker version 1.25.1)
$ sudo chmod +x /usr/local/bin/docker-compose
Setting up ‘docker’ to run and enabling it to start at boot time.
Although it’s possible to run OpenDronemap as the ‘root’ user, it’s not recommended to do so. To enable your user to run the software, you need to add the userid to the ‘docker’ group. This can be done with the command:
# usermod -aG docker username
To start docker, and enable it to be started at boot time, the commands that need to be run, as root, are:
# systemctl start docker
# systemctl enable docker
Downloading, installing and running the application.
From your home directory, as your userid, run the commands:
$ cd ~
$ git clone https://github.com/OpenDroneMap/WebODM
$ cd WebODM
$ ./webodm.sh start
If you get an error stating that there is a problem connecting to http at this point, ensure that you’re in the docker group. If the output to the command:
doesn’t show ‘docker’ as one of your groups, then log out and back in again.
Hopefully you should see quite a lot of output, and no errors.
If successful, you should be able to browse to port 8000 on localhost, where you’ll be prompted for a username and password.
Once these are setup, you should be able to login to your dashboard.
Adding a project.
To add a project, just click on the ‘Add Project’ button, give it a name and description:
Then, ‘Create Project’
Browse to the location of the files you want to process and add them.
Review the project, and add a task name
Then, ‘Start Processing’, go and make a cup of coffee, it may take a while!
30 minutes and 40 seconds to be precise for these 80 photographs!
Clicking on the ‘View Map‘ button should give you an orthophoto image, superimposed on Google Maps Satellite View (It may not completely line up as we didn’t use any GCPs with this old data set)
Clicking on the ‘Surface Model‘ button, will display the relative heights of the area flown.
Clicking on the ‘3D’ button allows you to view the ‘3D model‘. The ruins of the building are not fantastic in this view due to the drone only taking nadir photos, as I discussed, this is a particularly old set of photos, not really having the overlap to produce the best 3D models!
Was it all worth it?
Services like Maps Made Easy are well worth a look at, for low cost, or even no cost (if you keep within your limits), and no doubt, the larger companies have their place, albeit being quite expensive for people who don’t need to do drone mapping on a day to day basis.
However, since OpenDroneMap is essentially free (a reasonably priced installer is available for Windows and Mac users) it has to be worth a look at, even if it’s a ‘stepping stone’ to higher priced commercial systems. If you have a reasonably specced PC it can provide a great introduction to mapping with drones, especially using CentOS, Ubuntu, Debian or Mint Linux!
As with any ‘open source’ software, if you find it useful, the developers would appreciate any donations to keep their products up to date, and free!