Error during processing 128 images on 15GB and 7 threads

Hello Everyone!
I try to make the orthophoto from images. I took pictures by Mapir Survey3 camera. Approximately overlapping 80%. Cout of images 128. I didn’t calibrate it (I don’t have calibration image and available Windows computer yet)

Images on GoogleDrive

Link to taskoutput

I use WebODM installed via Docker on MacMini. Allocated RAM for Docker - 15GB. CPU - 2.6 GHz Quad-Core Intel Core i7. Allocated cores/threads - 7

Browser Safari Version 13.0.5 (15608.5.11)
MacOS Catalina 10.15.3 (19D76)

I got a strange error. I can’t find a clear solution or advice on forum or GiHub.
I tried different inpuptoptions but nothing help.

Just for info. Previously I used WebODM version 1.1.0 - And it works fine (if it wasn’t a RAM error) on configuration RAM 4GB (before Mac Upgrade). After upgrade MAC and WebODM - it happens.

The last error message in taskoutput. Looks like I don’t have enough CPU threads?

OUTPUT

[INFO] running /code/SuperBuild/src/elibs/mve/apps/meshclean/meshclean -t0.6 --no-cle an --component-size=0 “/var/www/data/ec727f25-0513-461c-8891-e6212a0ca089/mve/mve_dense_point_cloud.ply” “/var/www/data/ ec727f25-0513-461c-8891-e6212a0ca089/mve/mve_dense_point_cloud.filtered.ply”
MVE FSSR Mesh Cleaning (built on Mar 8 2020, 16:24:26)
Loading mesh: /var/www/data/ec727f25-0513-461c-8891-e6212a0ca089/mve/mve_dense_point_cloud.ply
PLY Loader: comment Export generated by libmve
Reading PLY: 0 verts…
done.
Error: Mesh is empty!
Traceback (most recent call last):
File “/code/run.py”, line 57, in
app.execute()
File “/code/stages/odm_app.py”, line 92, in execute
self.first_stage.run()
File “/code/opendm/types.py”, line 464, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 464, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 464, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 464, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 445, in run
self.process(self.args, outputs)
File “/code/stages/mve.py”, line 89, in process
system.run(’%s -t%s --no-clean --component-size=0 “%s” “%s”’ % (context.meshclean_path, min(1.0, args.mve_confidence), tree.mve_model, mve_filtered_model), env_vars={‘OMP_NUM_THREADS’: args.max_concurrency})
File “/code/opendm/system.py”, line 76, in run
raise Exception(“Child returned {}”.format(retcode))
Exception: Child returned 1

Please any your advice or solution - will be helpful. Thank you :wink:!

P.S. If I typed an incorrect title - notify me :metal:

Your memory is fine (and your CPU also). It seems like there are no points in the point cloud… probably a reconstruction issue.

Try running with --camera-lens perspective. We switched the default to brown, so that might explain why you were able to process it in the past.

Hello Kostiantyn,
I tried to process the dataset with no success. Even without resizing the images and increasing the number of required features the sfm-algorithm is not able to build a point cloud.
I also use a survey 3w OCN and in my experience it has some limitations for agricultural mapping:

  1. It has a rolling shutter, what makes it really difficult to get good image quality, espescially with a copter with some vibrations (props not balanced)
  2. In the standard parameters, it uses a shutter time of 1/500 s and a fixed ISO of 50. This leads to very dark pictures wirh low contrast under low light conditions. In fact, you have to fly at noon with clear sky.

I think in your case the reason why webodm fails is because of very dark pictures with low contrast.
I use a plane, what increases the mapping performace and has lower vibrations.

Thank you, @Hubertus_Paetow and @pierotofy!
You helped a lot. Really changing camera-lens to perspective made images better. But the main problem was in too dark images as @Hubertus_Paetow says.
I made a new pack of images (additional flight) with RAW files which can be used for future processing.
So, after processing RAW into TIF files (via MCC Application) I got a heavy pack of images.

Finally, WebODM works fine and completed tasks successfully, but sometimes the result was bad (rotation, clipping, full white color, etc.).
The documentation from ODM helps a lot. I set the next options for the task:

OPTIONS
  • orthophoto-png:true
  • min-num-features:20000
  • orthophoto-no-tiled:true
  • mesh-size:400000
  • opensfm-depthmap-min-consistent-views:5
  • merge:orthophoto
  • texturing-data-term:area
  • texturing-skip-visibility-test:true

By those parameters, I could process pack with 169 images.

:wink: If you could update or add some notes, please, you are welcome!

:beetle: P.S. I got a few strange errors, but it’s a reason for a new topic. I’ll collect all the data and behaviors and provide the report.

1 Like