Problems processing dataset

Hi all!

First post, as I am just starting out with WebODM.

I have a set of images that just won’t process, apart from a strip to the west of the survey. The image set processes fine in Pix4D, and, after some error removal in Metashape. So what is the story here?

For context, the playing field is flat and full of grass (I appreciate that isn’t great!), and I didn’t use any GCP. I’ve bumped up number of matches to 40k, run on ‘Forest’ (guessing these settings might help with featureless surveys. Secondly, it is flown with Litchi, but I had done and checked all the calculations for spacing and overlap (70%). Finally, I used a Mini2 (not my usual craft), flying at 60m

I fully understand that this context is very much not in my favour, which is why I wasn’t surprised WebODM fell over. However, nothing I do seems to work, and other software does.

Does anyone have any thoughts how I might alter some of the functionality to get something workable. Thought I could find some points on the ortho I made, and use them as GCP in WebODM, but I’m finding the GCP interface a bit of a challenge ATM

3 Likes

Welcome!

Sorry for the trouble!

It sounds like we might be having issues with Rolling Shutter Distortion, which we do not currently correct for (but both Pix4D and Agisoft can).

Were you moving while capturing, or was it hovering for capture?

2 Likes

Thanks, Saijin!

I did wonder if that was an issue. However, I flew a waypoints mission in Litchi (rather than interval shooting), and the drone stopped to take a picture each time. Whether it was stable enough, it is difficult to tell, but the images do not seem very blurry.

I have tried again (no GCP, and I understand there is no MT provision). I can get the first three images to match by selecting, say, the first 8. I can then get pic 6, 7, and 8 to match, if I select images 3 to 12. If I do the whole flight line (20 images) I get nothing. If I do two or three lines, then I only get good matches at the western end of the survey (As I do if I run the whole image set). That just seems rather odd, but I don’t really understand all the maths behind SfM!

Cheers

Paul

2 Likes

Are you able to share the whole dataset somewhere like our DroneDB.app so we all can take a poke at it?

1 Like

Sure…Are there instructions in here, somewhere?

Secondly, I wondered whether it was simple enough to just see whether the software reads the geotags and aligns cameras ok…I am not even sure it can locate the images correctly.

I’ll look at DroneDB.app now.

PS I have already built models and orthos from 2 data sets, and that worked fine. One is with my fixed wing (eBee) and the other with the Mini2 stripping out frames from a mp3 of a side of a building. So I am confident the software is OK…it is just odd that it doesn’t work in this instance (but acknowledge I haven’t picked the best site!)

2 Likes

Hi Saijin!

Is this the link you need: Hub ?

Cheers

Paul

2 Likes


Link is exactly what I needed, and survey looks sane, though we might be lacking overlap/sidelap for such a flat/featureless area… I’ll try to poke at it later today.

1 Like

The first image is a bit overexposed, about 1.3 stops, so I’ve removed it from my list of images, and will have a go at it tomorrow.

1 Like

Thanks both…

Gordon. Yes, I had noticed that. I seem to recall that Litchi doesn’t perform well on first photo (it might have been resetting gimbal to nadir?). I have just seen a tip to have a preshot taken before your start the flight line.

Sajin…I had calculated on 70% (I thought). I have just rechecked my working out. I had, but for an image format that was 4000x3000, not 4000x2250 as these have turned out as). That does effect the image size on the ground 4263 sq m when I had assumed 5655 sq m. So, yes that would make overlap lower than I had thought, I assume?

Also, am I getting my image width/height mixed up? As I usually fly fixed wing, my photos are always the same orientation; the shorter side parallel to direction of travel. Here, it seems as if the Mini2 flew to its first waypoint, and then crabbed across the sky, so the long side of the image follows the direction of travel. As I worked out my waypoints based on a site that was c400m wide, c150 high is this incorrect? Actually for the photos in this orientation, my survey area is, in fact, 150m wide and 400m high? But, as I set overlap laterally and longitudinally to be the same, would that make any difference?

1 Like

I always edit waypoint 1-
Tilt gimbal
wait 2 seconds
take photo

I noticed that, and that would effectively increase sidelap and decrease forward overlap I think

2 Likes

I have just noticed that I had Mission Setting set to ‘Custom’ Heading mode. SO, definitely, the longest side of the sensor is running parallel to the survey line, which is bad practice (and also knackers my calculations)

So, if I redesign with better overlap, and make sure I am always rotated towards the next way point (making sure I rotate before I take a picture at the start of each line), I should get better results!!

2 Likes

Hi Gordon!

…What is the order of events, then:

  1. At the end of a survey line, a photo is taken (actioned from waypoint menu)
  2. Drone turns 90 degrees to the next waypoint
  3. Drone travels to waypoint at start of next flight line
  4. Drone turns 90 degrees to the next waypoint on that flight line
  5. Photo taken (actioned from waypoint menu).

So, does the Mission Setting take priority over the Waypoint action?

Apologies, I know this is a Litchi question, so have posted there too…don’t answer if inappropriate

1 Like

I ran OpenSfM with :

feature_min_frames: 16000
matching_gps_distance: 0
matching_graph_rounds: 50

Results are very good : super dense results and no holes.

Worked also very well with default matching settings :

matching_gps_distance: 150
matching_graph_rounds: 0

I’m not sure to understand what’s wrong with this dataset ?

1 Like

Hi Yann

Mmm…interesting…I’ll try on your parameters

Cheers

Paul

1 Like

Hi Yann

Within WebODM, I cannot find these parameters. I go to ‘Edit’ but none of these terms are viable. Am I looking in the wrong place?

Paul

…sorry, stupid question, it’s a totally different piece of software :grinning:

But it does beg the question…if it works in OpenSfm, what is stopping the matcing process in WebODM?

1 Like

I’m sorry, I never interact with WebODM directly, I usually just try things in OpenSfM (whjch is used internally by ODM to compute camera positions).

Normally, there should be a folder somewhere on your machine, where you should have a config.yaml and a camera_models.json files. Also, if you have the ODM log, that could help me troubleshooting what’s happening.

1 Like

I have appended the console text to my DroneDB account (link above)

I don’t seem to have the other files you mention

1 Like

Looking at the log, it seems that there’s something wrong with SIFT_GPU, there clearly not enough features. Using feature_type: "HAHOG" option override would solve the issue, until we figure out what wrong with SIFT_GPU.

Summoning pierotofy here.

2 Likes

It does seem like a bug in the SIFT_GPU code, the min-num-features parameter is not being respected (strange) so you get a small number of features. Using --feature-type hahog until we figure this out is a workaround like Yan suggested.

1 Like

Correction :

  • There is indeed, 19K features detected ('Detected features").
  • For some reason, only a few of them are matched (only 16K tracks in “Reconstructed Points”).
  • So I’d bet on either matching or SIFT_GPU descriptors

Paul, could you share the dataset folder (most notably the exif and the features folder) ?

For some reason, I can’t use ODM OpenSfM fork on my machine.

1 Like