Experiments with the GoPro cameras

Written by Paul Bourke
June 2011

Please note the following applies to the GoPro HD Hero released early in 2011. The specifications for the GoPro HD Hero2 are different.


The small GoPro cameras gained rapidly in popularity during 2011, and found uses in areas other than for what they were originally intended, namely an action sports camera. For example, being light and self contained they were used on kites and remote miniature helicopters for aerial photography. Having relatively wide angle lens they also caught the interest of those capturing panoramic video, the following briefly notes some activities by the author in that area during 2011.

The camera is both a still, timelapse, and full 1080 HD video camera. In video mode it uses a portion of the sensor as shown below, and a correspondingly narrower field of view.

Example of three shots with the cameras aligned horizontally. (Click for higher resolution). The pipeline here generally involves an image rectification (turning the lens distorted image into a pure pinhole camera), followed by colour histogram matching, and finally a stitching/blending of the images together. This last stage can be performed purely on a geometric basis or by doing an initial feature point extraction between pairs of images and using that to perform the stitching.


Example of seven shots with the cameras aligned vertically. (Click for higher resolution)


Mount for multiple camera rig designed for 360 degree video panorama (Click for higher resolution). Six cameras gave 360 degrees with easily enough overlap for blending/stitching.


Sample QuickTime movie (scaled down to 1024 pixels wide). Vertical field of view approximately 50 degrees, note cameras are mounted horizontally. The black portion masked out on the left and right hides the cyclist, performed in post production. The biggest impediment to a high quality result are artifacts arising from the rolling shutter of the camera. This essentially means that time at the top of the frame is not the same as time at the bottom of the frame. This places an upper limit in stitching quality when the camera or objects in the scene move rapidly. This is in addition to the stitching errors that inevitably arise from the cameras not all having the same nodal point, this is only solved by mounting the cameras pointing upwards say and having mirrors to reflect the FOV onto the horizontal. Such a system can align the nodal points of the cameras to a single point.

Instructions (full): instructionsfull.pdf
Instructions (summary): instructionsummary.pdf
Cable: cable.png