Creating 3D Models from Aerial Photographs

Discussion in 'Drone Minds Blogs' started by Jonathan, Jul 19, 2015.

  1. Jonathan

    Jonathan Drone Expert
    Crew

    Aug 31, 2013
    1,289
    104
    63
    Male
    Drone Aerial Photographer
    York
    Creating 3D geo-referenced models from aerial photographs is still a relatively unknown technology, despite being around for a while now with quite a few companies offereing it as a service.

    Getting Started

    You will need:

    1. An aerial platform, fixed wing or multirotor (i.e. RC plane, quadcopter or hexacopter etc)

    2. A camera that can be triggered remotely or has a time lapse feature, such as a Canon DSLR with remote shutter switch or Gentled trigger or any of the Gopro cameras, Sony RX100 M2 and up or built in camera of DJI Phantom 3.

    3. A GPS Data Logger, unless your camera has the ability to tag images already.

    4. Software to extract the GPS coordinates and height data from your GPS logger and match up the data to your photographs.

    5. Software to create your 3D model. Potentially the most expensive element, though there is a free option for hobbyists. Read on to find out more.

    Geotagging and Modelling List in detail

    Any aerial platform will do really, so long as it can carry the camera you want to use. A cheap option would be an EasyStar II or Bixler II plane, or say an older DJI Phantom 1 or 2 quadcopter. These are good options to use with a Gorpo.

    For larger cameras you will obviously need larger machines. Either way you want your camera to be able to point down at 45 degrees, or you can get away with straight down on a wide angle lens. For better models you may want to do both, a run with camera pointing straight down and another with the camera at 45 degrees. You may have to make a special little rig on a plane for this as it will be better for the camera to be underneath, though with the right weight distribution you may be able to hang a Gorpro over the nose at the front. However you do it you don’t want any of your plane or quadcopter in the shot.

    Low tech method: GPS Logging

    Next you need a GPS data logger that records coordinates and elevation, or height, at regular intervals. Some are better than others. I’ve tried three and found the Holux M-1000C worked quite well, it starts logging pretty quickly and is reasonably accurately too.

    Note: for making 3D models with some software you don’t strictly need the GPS information. Agisoft, which I’ll mention again further along, for example can make models just from images, but the process is a lot quicker if you supply it geotagged images – plus you can use your images/model in Google Earth Pro and high end software if you geotag your images.

    Anyway, assuming you are geotagging, you need a device like the Holux which you can attach to the top of your plane or quadcopter. With the Holux you simply switch it on and an orange GPS light comes on solid, then starts blinking to indicate it has found the required amount of satellites and started logging information, after which you simply leave it until you’ve finished then switch it off. You then download the logs via a USB cable to your computer.

    After this you may need a free program called GPSBable which can interpret the logs from a whole list of devices and turn them into useful GPS data, .gpx files. After that you can use another free program called GPicSync to synch up your photos with your GPS data. This is done by utilizing the time-stamp created by your camera and matching up the times from your GPS logger, which is made easier if you match up the clocks in both devices beforehand. However GPicSync does let you input the time difference between the two if you didn’t do that.

    Cameras that Geotag for you

    First of all I will say you can skip the whole GPS logger bit by using a camera that tags your photos for you. This will save you a whole heap of work and bother. However, when I started there weren’t that many cameras around that did this for you in a useable fashion. I had a lot of trouble finding one and ended up using the GPS Logger route instead, which is what most people were doing. There were point and shoot cameras that geotag, but they either don’t tag the elevation for you or don’t have a time lapse function or the time lapse function isn’t frequent enough or their GPS logging isn’t accurate and/or regular enough. You could rig up some kind of servo action to trigger the camera button old-school style if there is no time lapse function or it’s too slow, like every 10 seconds, if you find a camera that is otherwise good for the job.

    Currently the Nikon D5300 and the Canon 6D have built in GPS and is actually quite cheap for what it is for pro users. The Canon 6D has a few shortcoming for photographers so it’s actually pretty cheap compared to the 5D MKIII. Most of the shortcomings, like lack of cross type focus points and slightly smaller than 100% viewfinder are totally irrelevant to aerial photography so it could well be a good buy for people like us. Furthermore, the Nikon D5300 does a pretty nice job, is quite small compared to some DSLRs. My only problem with it was not being able to find a useful prime lens for it. I used it with a 35mm prime lens, which is about the same as a 50mm on a full frame camera, which isn't very wide so you don't get a lot in the shot without getting a lot of height, where of course you will get less detail..

    A really good all in one option at the moment is the DJI Phantom 3. It's onboard camera takes geotagged images, and the camera has a fairly wide lens, so you can get nice and close, and the images aren't distorted, which makes it quite good for making 3D models.

    The Flight

    So, however you figured out your camera/GPS setup, the next step is the flight and taking the photos. If you’re taking images of a building to make a 3D model, you basically want to fly at a height about 20 meters higher than the top of the building and try and stay around the same height for every photograph. Fly at the building from all four sides, one side at a time, with your camera pointing straight down, and again at 45 degrees if you want to get more side on data, and make sure there is around a 70% overlap in the cameras field of view, i.e. so each picture has 70% of the previous picture in it. In the diagram (Fig.1) the blue box is your building, and the red dots represent the spots where you take a photo from on each side. The yellow lines represent the field of view for your camera lens, note how each image will overlap. Don’t worry, it doesn’t have to be exact so long as they overlap a good amount you will capture all the needed information.
    [​IMG]
    If you’re flying a quadcopter and triggering the camera yourself, you can literally stop at each red dot and take a photo and repeat the process for each side of the building. If you have a time lapse set to every 1 second you can just fly steadily along the blue lines facing the building and repeat for all sides. If you’re flying a plane you can fly in from one side, turn around and do the other side and scan up and down until you’ve covered all sides. For more detail you can do some head on shots if you like from the ground, but you don’t have to do that. You can use the same method to map hills or mountains and valleys, though these will probably be better achieved with a plane than a quadcopter in some cases where you’ll get longer flight times. Once you have your photos, if they’re not already geatagged by your camera, you need to do the synching process mentioned above.

    Also, if you want super cm accuracy, at the moment you will need an RTK (real time kinetics) GPS system, which costs a small fortune. Or maybe experiment with something like this: http://www.swiftnav.com/piksi.html

    With some machines you can do your flights autonomously, even triggering the camera for you at given places, but this article is mostly for people starting out, who want to give it a go and not blow $20,000 or more just yet. Or don't want to learn how to program an open source system like ardupilot. Keep and eye open though, there will be more and more options for autonomous systems that will do pretty much all the work for you. I'm watching DJI, 3Drobotics and Yuneec myself.

    3D Modelling Software

    The final stage is to load your geotagged (or not) images into some software to make your models. The prices for the software start from mostly free with Autodesk123D (with paid for upgrades), where the photos don’t have to be geotagged, to the moderate standard version on Agisoft Photoscan at $179, to the pocket-squeezing full version at £4499 to the eye-watering 5000 euros for Smart3DCapture and 6500 euros for Pix4D (rental options are available). There are others, but they’re really expensive and I don’t want to give anyone a heart attack, if you haven’t had one already.

    The two favorites in the drone world are probably PIX4D and Agisoft, both of these and Smart3DCapture either have paired down free versions or free trials.

    My personal fave setup for simplicity is the DJI Phantom 3 and Agisoft: Fly P3, take photos, upload them into Agisoft - boom, you have a model. It's great fun, give it a try!

    Please post any questions, corrections, updates or additions below.
     

    Attached Files:

    Peter likes this.
  2. DukeM

    DukeM Member

    Jul 21, 2015
    76
    7
    8
    Male
    Koln
    This sounds really fantastic. I am still a bit confused about it though. I wonder if you might make a video explaining?
     
  3. Jonathan

    Jonathan Drone Expert
    Crew

    Aug 31, 2013
    1,289
    104
    63
    Male
    Drone Aerial Photographer
    York
    Actually I went and took lots of photos of an abandoned windmill last week to make a computer model so my friend  can see if it's possible to 3D print it. I will make a video with the flight and using Agisoft to make the computer model.
     
  4. Jonathan

    Jonathan Drone Expert
    Crew

    Aug 31, 2013
    1,289
    104
    63
    Male
    Drone Aerial Photographer
    York
    Here's a tutorial using #agisoft and a @DJIGlobal Phantom 3 for making a 3D computer model.
     
  5. Dava

    Dava Active Member

    Sep 3, 2013
    216
    27
    28
    Male
    Walrus polisher.
    Now that sir, is way cool!  8)
     
  6. Mick

    Mick Member

    Oct 15, 2014
    106
    2
    18
    That was really fascinating, thanks Jonathan for taking the time to explain it to us.
     
  7. Jonathan

    Jonathan Drone Expert
    Crew

    Aug 31, 2013
    1,289
    104
    63
    Male
    Drone Aerial Photographer
    York
    Thanks guys, I really like making these models and hope other people will too.
     
  8. Ragnarok

    Ragnarok Member

    Jul 28, 2015
    123
    15
    18
    Male
    Netherlands
    Looks like places in Netherlands, very interesting use of drone.
     
  9. Jonathan

    Jonathan Drone Expert
    Crew

    Aug 31, 2013
    1,289
    104
    63
    Male
    Drone Aerial Photographer
    York
    Thanks, yes it does a bit. I can see what you mean. Been there quite a bit when I was younger.
     
  10. peterpl

    peterpl New Member

    Feb 8, 2016
    1
    0
    1
    Amazing tutorial!

    And here you can find an improved tutorial and create a georeferenced and measurable 3D model from a YouTube video captured by DJI Inspire using Agisoft PhotoScan and view it with Sputnik GIS

    Source video (4k / 2160p):


    3D Model created using Agisoft PhotoScan:
    [​IMG]

    If you're interested, you can read a tutorial.
     

Share This Page

About Drone Minds

Drone Minds is a forum for users of all types of drones and all skill levels..read more