Using a GoPro for Aerial Photography

Hello, like many people here I'm interested in making planar panoramas and potentially some 3D surface reconstruction from aerial images. My hardware:

Quadcopter: 3DR Iris

Camera Gimbal: Tarot 2D for GoPro

Camera: GoPro Hero 4 Silver

The first thing I realized when I got the GoPro is that there is no way to programmatically trigger a photo capture! One can achieve this from the GoPro app, but that requires a wifi connection which should be disabled while operating the Iris otherwise there might be interference with the radio signals (though I have not experimented with keeping the wifi on and checking for how far the quad needs to be before the wifi becomes a problem). 

There are some YouTube videos showing people soldering wires to the GoPro shutter connection and controlling the camera by manually closing the circuit, however I don't really want to do this. It voids the warranty on the camera for one, and just seems way too hacky.

In the absence of programmatic control of the GoPro trigger, I tried the following options for frame capture:

1. Use the photo mode to take pictures at a regular interval. There are two primary photo modes on the GoPro that allow for taking pictures at different FPS - Continuous mode and Multi-Shot mode. I chose the Time Lapse option under Multi-Shot mode settings as the GoPro automatically takes pictures at the set FPS without the user needing to press the shutter button. As far as I know, the other options require the user to push the shutter button, which makes them unsuitable for our purpose. There are many FPS options offered under Time Lapse. 2 or 1 FPS should work ok for most applications.

The pictures at the beginning and the end of the mission will be redundant, but that's not a big problem with a SD card with large enough capacity

2. Capture a video and use ffmpeg to strip out frames. I tried capturing videos at different resolutions and frame rates and then stripped out frames using the default options for ffmpeg. Some results are below:



Significant image distortion can be noticed near the edge of the car in the center of the picture.



The quality of the frame capture with the higher resolution video is slightly better.



increase the frame rate of the video capture leads to significantly better image capture quality. Finally, the key distinguishing feature of the GoPro Hero 4, 4K video:



Now the frame capture is of significantly higher quality, almost rivaling the quality of a time lapse picture

Time Lapse at 2 FPS:


So it appears that quality of the frame captures from a 4K video are comparable in quality to that of a photo. However, 4K videos take a lot of memory to store, a 32GB SD card can store about an 1 hour 10 min of 4K footage. Other considerations come into play as well - grabbing frames from a massive video file takes time and the number of resulting frames can be huge, making processing difficult. Also, at 30FPS, there can be significant motion blur during fast rotations, leading to poor quality of the frame captures. Keeping all this in mind, using Time Lapse photos seems to be the way to go for taking aerial pictures. I haven't tried experimenting with other photo mode settings such as exposure time, white balance, ProTune settings and so on. 

Which cameras/camera gimbals are you guys using for aerial photos? I should have done a bit more research on the GoPro cameras, because they don't appear to be ideally suited for aerial photography. The fish eye lens and lack of shutter control being the most important reasons. Although the fish eye effect can be mitigated by image processing. Also, the Tarot gimbal I have only supports GoPro cameras. Has anyone succeeded in modifying a Tarot gimbal to hold a different camera? I'm also learning about CHDK (Canon Hacker Dev Kit) that allows controlling some Canon cameras using scripts stored on the SD card. Has anyone tried this on an Iris?


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Hi, I don't know if you've moved on or not, but I can tell you what I'm doing.  I use an Iris or Iris + and have been mapping restoration sites for monitoring using a GoPro.  Because I don't have the money for the fancy mapping software, I'm stitching the images together using Autopano Giga, which is about $300 I think.  I found that the distortion using the wide field of view (time lapse at 1 sec intervals) was causing problems with the stitching so I started flying on medium FOV and it seems to be much better.  Because I end up needing a ton of images to stitch together, I recently bought a Canon SX260 on eBay and have been trying it out.  I'm using CHDK and KAP-AUV.lau script to shoot at 2 sec intervals since this camera doesn't have a time lapse setting.  I'd say about 70-80% of my images are good but the rest are blurry or soft.  I've tried a few different settings in the script so far to get the best images but I'm still experimenting.  Today I flew a 5 acre parcel and stitched the images together using Autopano Giga.  It worked pretty well and will serve as a base map for GIS.  Because I'm not using geotagged images, I bring all my stitched images into ArcGIS and georeference them.  Oh, and I don't use the gimbal.  I find that just pointing the GoPro down works fine and the Canon is mounted on the underside of the Iris.  

    Hope that helps.  I'd love to hear how things are progressing for you.


This reply was deleted.