To solve the problem one needs to transform 2D images of 3D structures from different angles/perspectives into a solid model. This was earlier a manual job, but software allows for automated processes.
Remember that processing software could provide both digital surface models (DSM) or digital elevation models (DEM)
Products from such processes can include Digital Elevation Models as well as Point Clouds, Digital Surface Models, Textured Digital Surface Models, Orthorectified Imagery and Classified Point Clouds. This is known as Structure from Motion analysis.
Processing can be done locally, through online services or a combination of the two. The software is basically the same, although one will find that local processing allows for more specialized settings.
pix4D is an overall good tool providing exceptional ease of use for inexperienced to more experienced users. In addition to provide a desktop tool it also integrates with a cloud based service. A youtube video introduces the software in a good way. It is a bit in the high end with re to price.
Agisoft Metashape (formerly known as PhotoScan) is available for Windows, OSX and Linux. Agisoft is flexible on the platform side. Having tried it out it produces good terrain models and ortophotos. A feature which lacks on Pix4D is the ability to set up batch jobs. You can also script the processing using a python API.
Drone2Map from ESRI can create orthomosaics, 3D meshes and more. This is not an integrated ArcGIS desktop tool, but effectively a stand alone 64 bit application. On their webpage they state that: "Drone2Map for ArcGIS is powered by Pix4D." Opposed to Pix4D the information provided to the user while calculating is poor. From what I understand this is Pix4D under the hood under a different licensing model.
OpenDroneMap now provides a desktop version, WebODM, which runs fine on a desktop computer. It will let you create good ortophotos, digital elevation models as well as the rest of the products mentioned in the beginning of this answer. Set up correctly the tool can process projects of more than 4.000 images. It is important the computer has enough memory to do the processing. 32 GB or more is advised for projects over 2.000 pictures. You can also find code and more on github.
ERDAS Imagine have an UAV add-in module. Combined it's more expensive than Agisoft Photoscan, but if you're already an ERDAS user it integrates really well.
3Dsurvey in addition to imagery analysis also offers what looks like good point cloud editing tools.
Processing of aerial imagery is resource demanding and will require some serious hardware. Online services are therefore pay-as-you-go or tied to a license.
Dronemapper is an online service where you can upload imagery and have it processed.
Dronedeploy was initially made as a planning and processing framework for DJI drones. It now supports creating maps and 3D models for any drone imagery. One can also do analysis based on the imagery. Produces good maps. Their app is also a marketplace where you can install apps for free.
MicaSense MicaSense Atlas is a cloud-based data platform for processing, storage, management, presentation, and analytics of multispectral data captured with professional multispectral cameras like the MicaSense RedEdge and Parrot Sequoia.
Maps Made Easy is another provider of online processing and data management.
3Dsurvey Is also an option.
pix4D also provides an online processing service for users with a desktop license.
Apps seem to be more and more popular. They usually serve several purposes.
- Help the user to plan surveys
- Take pictures according to the plan
- Upload survey plans to the drone
- Provide updated information from the drone during a survey
- Help the user to adjust plans during a survey based on earlier flights
- Facilitate for upload of data so that data can be processed using an online service.
DroneDeploy has an app which has an extraordinary update rate. The app is very flexible and also has an option to use plugins to focus the survey effort. Recent (July 2017) updates fixed issues with image spacing, but at the same time put limitations on the flight speed.
Pix4D Capture provides a stable work tool for collecting aerial images. It is probably the best available. On the downside the app has some shortcomings (unclear exposure settings, accurate control of speed, manual and not flexible way of controlling flight direction, lacking upload of survey areas (only android has this) and more) which should be fixed. It is rarely updated.
Dronelink and Litchi allow programmatically controlling your drone, including flying a structured mapping mission among others. Pricing can be more affordable compared to some of the above, especially for individuals. Dronelink in particular is usable for mapping with the DJI Mini, which otherwise does not allow enough automated control using some of the other apps.
VisualSFM is a software package which in combination with CSVS might be a way to go. A youtube movie on the www.flightriot.com webpage gives a practical example of potential endpoint products. The resulting products are not referenced and as such not useful for GIS work. Visual SFM seems to be a project which lacks momentum. As far as I can see there has not been any development on the software for a couple of years.