Any suggestions for alternative Structure from Motion Cameras?


For a while now I have been playing with structure from motion

Typically till now all of the SfM models I have generated have come from a simple single GoPro (Hero 3 Black or Hero 4 Silver dependent upon when I lost my 1st camera) but I have been starting to move on to multi camera systems to try and get more images and or better coverage of wreck sites. Due to this I have been trialling a couple of different camera systems looking more from cost effectiveness point of view if I want say 4or 6 or 8 cameras

In short my needs are pretty simple the best image quality I can get (subject to realistic $’s) camera suitable for taking a Time Lapse Photos @ 0.5, 1 seconds Intervals to generate the SfM models, a wide Field of Vision to get good coverage of the site suitable to at least 60m of water (happy to push the 45m units to the greater depth) and takes good images under low light conditions

This weekend just passed I used a camera rig with 2 cameras spaced 1.2m apart with a GoPro Hero 4 Silver (16MP FOV 122˚ vertical say $US400) and a Xiaomi Yi sports camera (16MP similar Vert FOV say $US90 with housing). I had wanted to do some comparisons stuff but we had pretty good vis on the wreck so I just swam the rear half of the wreck.

In short I am disappointed with the Xiaomi performance but not writing it off quite yet. Basically it has near same performance as the GoPro specs (16MP stills @ 0.5 images/second etc etc) and on the surface all of the images I have done with it look fine and no different to the GoPro.

But during the dive I was capturing a still every second but in the lower light all of the images were pretty much black whilst the GoPro images ran fine (see side by side performance bellow) The Xiaomi Yi sports camera was (I think) using stock standard settings so I may have to tweak a low light setting before I write it off.

I know I can add lights (and most likely will) and it will help things (and bring out more colours) but I was hoping that they may not be too needed in short term till I have settled on camera configurations (and number of cameras) given say a requirement of say 80 Lux (equivalent amount of light in a darker warehouse) and the FOV of the GoPro per camera and assuming the FOV of the OpenROV External Light Cube is equivalent to the GoPro’s FOV (XX Brian do you know the FOV for the light cube?)) and knowing I typically produce SfM say 2 to 4m off the bottom

Anyway the semi worked results from the GoPro are bellow (I still have to clean up a few mesh points to get a better image -there are WAY TOO many fish causing issues with false heights) but here is the 1st cut out of the software as it stands

PS the wreck is the SS Tuggerah in 46m you can see more details of the vessel and site here

In short anyone got any good options given $'s and low light


This is looking incredible. Measuring and documenting the FOV of the light cubes has been on my list of things to do. I will bump this up and try to get an answer for you in the next week.


@Scott_W Give the Sony Action Cam a look ( ) it’s a little less expensive than the GoPro but I find the image quality to be at least as good. They also offer a flat lens for underwater use. I’ve had good luck with mine.


Hi again @Scott_W!

We continued working with our SfM project for seabed mapping, and one of the cameras we employed was the Intova Sport HD Edge. When used in video mode (1080p@30fps) we were able to reconstruct some good models, BUT only under good ilumination conditions. When used in photo mode (14Mp), the resulting models where geometrically correct, but the grain in the image degraded the resulting mapped texture.
All this was valid for closed models (such as wrecks, or constrained geometries). The method fails for long linear transects (50m+), but i suspect this won’t be your case, so you shouldn’t be worried about.

We have started to work with a couple of webcams (720p and 1080p), that will be included as payload in the ROV. I’ll keep you posted about the results.



Thanks @Brian_Grau interesting to see maybe a picture (to tell a thousand words - surface would be OK) of the light facing onto a flat wall with the image taken by a GoPro on the wide lens setting as that should give a pretty good indication of the relative FOV in an ideal world you want the lighting to be a larger area than the GoPro FOV

Hi @Stretch and @Jose thanks for the links I can see a small comparison table coming up but look more and more like lighting is going to have push forward at the same time

@Jose interested to see some of your work

PS @Stretch how is your Garmin Panoptix going


@Scott_W - Not too much news to report, but here’s what I’ve learned so far:

  • Garmin has released numerous software updates for both the GPSmap 741 display and Panoptix PS31 transducer since my last post. I’ve submitted several suggestions that would make using the Panoptix better for our purposes and I’m hoping they will be implemented.

  • Garmin has also released a new sonar mode called “FrontVu”. FrontVu is a more detailed vertical slice of the water and structure directly ahead of the transducer. I’ve not had a chance to try it yet but it looks interesting and may be worthwhile for some:

  • At the same time Garmin also released a new Panoptix transducer, the PS21, which is smaller and 30% less expensive than the PS31. Although it doesn’t support RealVu 3D (3D multibeam) it supports “LiveVu-Forward” and “FrontVu”.

  • Lastly, as some may recall that one of the things I first learned about the Garmin system was that the transducer and display communicate via an Ethernet clone they call “Garmin Marine Network”. To see if any of the components might be recognized by my computer network I connected both the PS31 transducer and GPSmap 741 to a router. The router immediately connected with the 741 but not the transducer.

I’m still working on how best to integrate the transducer and ethernet comms into my ROV. I’ve got a couple ideas but nothing that I’m particularly happy with. As I learn more I’ll post updates both here and on my website:


Why can’t I click on REPLY button?!?