I tried processing a 72 image dataset of a house captured with Pix4D capture Circular mission type. The images are all off nadir and captured at 120 feet altitude. After running for 2 hours and 50 minutes in WebODM Lightning I got an out of memory error message as posted below
Is there an issue with processing all off nadir images and this mission type in WebODM?
Thanks
.
.
Input file size is 50806, 42988
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdalbuildvrt -resolution highest -r bilinear “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/merged.vrt” “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/tiles.small_filled.tif” “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/tiles.tmp.tif”
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdal_translate -co NUM_THREADS=4 -co TILED=YES -co BIGTIFF=IF_SAFER -co COMPRESS=DEFLATE --config GDAL_CACHEMAX 44.65% “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/merged.vrt” “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/tiles.tif”
Input file size is 50806, 42988
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Starting smoothing…
[INFO] Smoothing iteration 1
[INFO] Completed smoothing to create /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif in 0:19:29.543718
[INFO] Completed dsm.tif in 0:36:03.759874
[INFO] Cropping /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif
[INFO] running gdalwarp -cutline /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_georeferencing/odm_georeferenced_model.bounds.gpkg -crop_to_cutline -co TILED=YES -co COMPRESS=DEFLATE -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co BIGTIFF=IF_SAFER -co NUM_THREADS=4 /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.original.tif /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif --config GDAL_CACHEMAX 45.65%
Creating output file that is 48073P x 38068L.
Processing /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.original.tif [1/1] : 0Using internal nodata values (e.g. -9999) for image /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.original.tif.
Copying nodata values from source /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.original.tif to destination /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif.
…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Optimizing /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif as Cloud Optimized GeoTIFF
[INFO] running gdal_translate -of COG -co NUM_THREADS=4 -co BLOCKSIZE=256 -co COMPRESS=DEFLATE -co PREDICTOR=2 -co BIGTIFF=IF_SAFER -co RESAMPLING=NEAREST --config GDAL_CACHEMAX 45.05% --config GDAL_NUM_THREADS 4 “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm.tif” “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_dem/dsm_cogeo.tif”
Input file size is 48073, 38068
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Finished odm_dem stage
[INFO] Running odm_orthophoto stage
[INFO] running “/code/SuperBuild/install/bin/odm_orthophoto” -inputFiles /var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_texturing_25d/odm_textured_model_geo.obj -logFile “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_orthophoto/odm_orthophoto_log.txt” -outputFile “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_orthophoto/odm_orthophoto_render.tif” -resolution 50.0 -outputCornerFile “/var/www/data/17ee4a54-ba98-48c4-b44e-d6dced67fd71/odm_orthophoto/odm_orthophoto_corners.txt”
Error in OdmOrthoPhoto:
OpenCV(4.5.0) /code/SuperBuild/src/opencv/modules/core/src/alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 17088793040 bytes in function ‘OutOfMemoryError’
===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 1
Traceback (most recent call last):
File “/code/stages/odm_app.py”, line 94, in execute
self.first_stage.run()
File “/code/opendm/types.py”, line 340, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 340, in run
self.next_stage.run(outputs)
File “/code/opendm/types.py”, line 340, in run
self.next_stage.run(outputs)
[Previous line repeated 7 more times]
File “/code/opendm/types.py”, line 321, in run
self.process(self.args, outputs)
File “/code/stages/odm_orthophoto.py”, line 67, in process
system.run('“{odm_ortho_bin}” -inputFiles {models} ’
File “/code/opendm/system.py”, line 106, in run
raise SubprocessException(“Child returned {}”.format(retcode), retcode)
opendm.system.SubprocessException: Child returned 1
===== Done, human-readable information to follow… =====
[ERROR] Uh oh! Processing stopped because of strange values in the reconstruction. This is often a sign that the input data has some issues or the software cannot deal with it. Have you followed best practices for data acquisition? See https://docs.opendronemap.org/flying.html
100 - done.