openphotogrammetry / meshroomcl

MeshroomCL: An OpenCL implementation of photogrammetry with the Meshroom interface
Other
169 stars 8 forks source link

Creating surface mesh model... Check failed: !elems.empty() #9

Closed jujubeesloco closed 3 years ago

jujubeesloco commented 3 years ago

Meshing Method: Delaunay:

Extracting surface as min-cut... Creating surface mesh model... F0818 20:17:10.448833 5452 math.h:233] Check failed: !elems.empty() Check failure stack trace: @ 00007FFAD4E45FCB public: void cdecl google::LogMessage::Flush(void) ptr64 @ 00007FFAD4E44B29 public: cdecl google::LogMessageFatal::~LogMessageFatal(void) ptr64 @ 00007FF7B771D401 (unknown) @ 00007FF7B773CB2A (unknown) @ 00007FF7B773CFBC (unknown) @ 00007FF7B75FF849 (unknown) @ 00007FF7B75F17A6 (unknown) @ 00007FF7B76341BF (unknown) @ 00007FF7B7B4EB24 (unknown) @ 00007FFB4FB57034 BaseThreadInitThunk @ 00007FFB51A62651 RtlUserThreadStart


Meshing Method: Poisson:

Converting mesh to OBJ format Program called with the following parameters:

[09:21:12.517943][info] Geogram initialized. o-[I/O ] Loading file C:/Users/OurPc/Desktop/frog/MeshroomCache/MultiviewStereoCL/211dab829290cd492eeb4755d6f0f40b97081811\mesh.ply... Error: File contains no vertices Error: Could not load file: C:/Users/OurPc/Desktop/frog/MeshroomCache/MultiviewStereoCL/211dab829290cd492eeb4755d6f0f40b97081811\mesh.ply [09:21:12.519939][error] Failed to load mesh file: "C:/Users/OurPc/Desktop/frog/MeshroomCache/MultiviewStereoCL/211dab829290cd492eeb4755d6f0f40b97081811\mesh.ply".


The above an error log in MultiviewStereoCL for both Meshing Methods.

An empty is non-calculated or made?

Thanks again!

-Edit: I will update with the Buddha set if/when it can be processed. It seemed to progress further than the tries above, though would pause without log output for a while. If I stopped and then continued it would continue past the previous "pause/hang-up".

revisionarian commented 3 years ago

Hi @jujubeesloco, thanks again for reporting these issues with MeshroomCL; your feedback helps us improve the software.

In this issue, MeshroomCL is failing to create a mesh during execution of the MultiviewStereoCL node. The problem is likely that the dense point cloud (which is created immediately before meshing) is empty. Can you help us confirm this by checking the following:

  1. Can you post the complete error log from the MultiviewStereoCL node, so that we can look at what happened before the meshing?
  2. In the error log, do you see a line that says Number of fused points: ?
  3. Do you see a file named fused.ply in the MeshroomCache/MultiviewStereoCL/211dab82.... folder? That file is the dense point cloud. If it is there, how big (bytes) is the file? Can you see the number of vertexes, listed in the 3rd line of the file?

If we can see that the number of points in the dense point cloud is zero, then we will know that the problem occurred before meshing, in the multiview stereo matching step.

jujubeesloco commented 3 years ago
  1. Log:

============================================================================== Image undistortion

Undistorting image [1/2] Undistorting image [2/2] Writing reconstruction... Writing configuration... Writing scripts... Elapsed time: 0.047 [minutes] Reading workspace... Reading configuration... Configuration has 2 problems...

============================================================================== Processing view 1 / 2

Reading inputs...

PatchMatch::Problem

ref_image_idx: 0 src_image_idxs: 1

PatchMatchOptions

max_image_size: 3200 gpu_index: 0 depth_min: 15.1806 depth_max: 49.121 window_radius: 5 window_step: 1 sigma_spatial: 5 sigma_color: 0.2 num_samples: 15 ncc_sigma: 0.6 min_triangulation_angle: 1 incident_angle_sigma: 0.9 num_iterations: 5 geom_consistency: 0 geom_consistency_regularizer: 0.3 geom_consistency_max_cost: 3 filter: 1 filter_min_ncc: 0.1 filter_min_triangulation_angle: 3 filter_min_num_consistent: 1 filter_geom_consistency_max_cost: 1 write_consistency_graph: 0

PatchMatch::Run

OpenCL platform : Intel(R) OpenCL HD Graphics OpenCL device : Intel(R) UHD Graphics 750 Initialization: 0.460411s Sweep 1: 3.79329s Sweep 2: 2.42412s Sweep 3: 3.34202s Sweep 4: 2.82071s Iteration 1: 12.3807s Sweep 1: 3.75634s Sweep 2: 2.84597s Sweep 3: 3.76727s Sweep 4: 2.85663s Iteration 2: 13.2265s Sweep 1: 3.15085s Sweep 2: 2.65181s Sweep 3: 2.99483s Sweep 4: 2.62046s Iteration 3: 11.4181s Sweep 1: 2.95539s Sweep 2: 2.58556s Sweep 3: 2.9026s Sweep 4: 2.51115s Iteration 4: 10.9548s Sweep 1: 2.82908s Sweep 2: 2.44776s Sweep 3: 2.75318s Sweep 4: 2.33083s Iteration 5: 10.361s Filtering: 0.008291s Total: 58.8099s

Writing photometric output for 1850485610.JPG

============================================================================== Processing view 2 / 2

Reading inputs...

PatchMatch::Problem

ref_image_idx: 1 src_image_idxs: 0

PatchMatchOptions

max_image_size: 3200 gpu_index: 0 depth_min: 20.8672 depth_max: 57.1047 window_radius: 5 window_step: 1 sigma_spatial: 5 sigma_color: 0.2 num_samples: 15 ncc_sigma: 0.6 min_triangulation_angle: 1 incident_angle_sigma: 0.9 num_iterations: 5 geom_consistency: 0 geom_consistency_regularizer: 0.3 geom_consistency_max_cost: 3 filter: 1 filter_min_ncc: 0.1 filter_min_triangulation_angle: 3 filter_min_num_consistent: 1 filter_geom_consistency_max_cost: 1 write_consistency_graph: 0

PatchMatch::Run

OpenCL platform : Intel(R) OpenCL HD Graphics OpenCL device : Intel(R) UHD Graphics 750 Initialization: 0.356846s Sweep 1: 2.41281s Sweep 2: 1.67621s Sweep 3: 2.30201s Sweep 4: 1.84477s Iteration 1: 8.23596s Sweep 1: 2.51553s Sweep 2: 1.9836s Sweep 3: 2.72298s Sweep 4: 2.18277s Iteration 2: 9.40506s Sweep 1: 2.94853s Sweep 2: 2.20283s Sweep 3: 3.08027s Sweep 4: 2.22693s Iteration 3: 10.4588s Sweep 1: 2.98045s Sweep 2: 2.24316s Sweep 3: 3.03947s Sweep 4: 2.2061s Iteration 4: 10.4694s Sweep 1: 2.99355s Sweep 2: 2.19139s Sweep 3: 2.96523s Sweep 4: 2.0663s Iteration 5: 10.2167s Filtering: 0.008372s Total: 49.1511s

Writing photometric output for 795055170.JPG Elapsed time: 1.873 [minutes] Reading workspace... Reading configuration... Configuration has 2 problems...

============================================================================== Processing view 1 / 2

Reading inputs...

PatchMatch::Problem

ref_image_idx: 0 src_image_idxs: 1

PatchMatchOptions

max_image_size: 3200 gpu_index: 0 depth_min: 15.1806 depth_max: 49.121 window_radius: 5 window_step: 1 sigma_spatial: 5 sigma_color: 0.2 num_samples: 15 ncc_sigma: 0.6 min_triangulation_angle: 1 incident_angle_sigma: 0.9 num_iterations: 5 geom_consistency: 1 geom_consistency_regularizer: 0.3 geom_consistency_max_cost: 3 filter: 1 filter_min_ncc: 0.1 filter_min_triangulation_angle: 3 filter_min_num_consistent: 1 filter_geom_consistency_max_cost: 1 write_consistency_graph: 0

PatchMatch::Run

OpenCL platform : Intel(R) OpenCL HD Graphics OpenCL device : Intel(R) UHD Graphics 750 Initialization: 0.198917s Sweep 1: 9.97972s Sweep 2: 11.3015s Sweep 3: 14.6661s Sweep 4: 12.5911s Iteration 1: 48.5387s Sweep 1: 15.9384s Sweep 2: 13.2306s Sweep 3: 16.0215s Sweep 4: 13.2534s Iteration 2: 58.4441s Sweep 1: 16.0784s Sweep 2: 13.6725s Sweep 3: 15.8576s Sweep 4: 13.4118s Iteration 3: 59.0205s Sweep 1: 15.524s Sweep 2: 13.2287s Sweep 3: 15.149s Sweep 4: 12.9256s Iteration 4: 56.8274s Sweep 1: 14.7953s Sweep 2: 12.6017s Sweep 3: 14.3043s Sweep 4: 12.1667s Iteration 5: 53.8683s Filtering: 0.118136s Total: 277.016s

Writing geometric output for 1850485610.JPG

============================================================================== Processing view 2 / 2

Reading inputs...

PatchMatch::Problem

ref_image_idx: 1 src_image_idxs: 0

PatchMatchOptions

max_image_size: 3200 gpu_index: 0 depth_min: 20.8672 depth_max: 57.1047 window_radius: 5 window_step: 1 sigma_spatial: 5 sigma_color: 0.2 num_samples: 15 ncc_sigma: 0.6 min_triangulation_angle: 1 incident_angle_sigma: 0.9 num_iterations: 5 geom_consistency: 1 geom_consistency_regularizer: 0.3 geom_consistency_max_cost: 3 filter: 1 filter_min_ncc: 0.1 filter_min_triangulation_angle: 3 filter_min_num_consistent: 1 filter_geom_consistency_max_cost: 1 write_consistency_graph: 0

PatchMatch::Run

OpenCL platform : Intel(R) OpenCL HD Graphics OpenCL device : Intel(R) UHD Graphics 750 Initialization: 0.350276s Sweep 1: 10.6178s Sweep 2: 8.5409s Sweep 3: 11.8747s Sweep 4: 9.38097s Iteration 1: 40.4145s Sweep 1: 13.4724s Sweep 2: 10.1556s Sweep 3: 14.6307s Sweep 4: 10.8245s Iteration 2: 49.0834s Sweep 1: 15.2919s Sweep 2: 11.0884s Sweep 3: 15.4628s Sweep 4: 11.3191s Iteration 3: 53.1625s Sweep 1: 15.4539s Sweep 2: 11.4416s Sweep 3: 15.4192s Sweep 4: 11.1201s Iteration 4: 53.435s Sweep 1: 15.2204s Sweep 2: 11.1456s Sweep 3: 14.7688s Sweep 4: 10.575s Iteration 5: 51.7099s Filtering: 0.084192s Total: 248.24s

Writing geometric output for 795055170.JPG Elapsed time: 8.913 [minutes]

StereoFusion::Options

max_image_size: 3200 min_num_pixels: 5 max_num_pixels: 10000 max_traversal_depth: 100 max_reproj_error: 2 max_depth_error: 0.01 max_normal_error: 10 check_num_images: 50 cache_size: 32

Reading workspace... Reading configuration... Fusing image [1/2] in 4.643s (97 points) Fusing image [2/2] in 0.528s (97 points) Number of fused points: 97 Elapsed time: 0.094 [minutes] Writing output: C:/Users/OurPc/Desktop/bugfrog/MeshroomCache/MultiviewStereoCL/96ebcd3f201285f0e5750fc1e5195f69a10a8da7\fused.ply Triangulating points... Triangulation has 97 using 97 points. Initializing ray tracer... Initializing graph optimization... Integrating image [1/2] in 0.001s Integrating image [2/2] in 0.000s Setting up optimization... Running graph-cut optimization... Extracting surface as min-cut... Creating surface mesh model... F0819 19:07:33.288625 16252 math.h:233] Check failed: !elems.empty() Check failure stack trace: @ 00007FFAEDD25FCB public: void cdecl google::LogMessage::Flush(void) ptr64 @ 00007FFAEDD24B29 public: cdecl google::LogMessageFatal::~LogMessageFatal(void) ptr64 @ 00007FF7B771D401 (unknown) @ 00007FF7B773CB2A (unknown) @ 00007FF7B773CFBC (unknown) @ 00007FF7B75FF849 (unknown) @ 00007FF7B75F17A6 (unknown) @ 00007FF7B76341BF (unknown) @ 00007FF7B7B4EB24 (unknown) @ 00007FFB4FB57034 BaseThreadInitThunk @ 00007FFB51A62651 RtlUserThreadStart


  1. Yes, Number of fused points: 97

  2. Yes, 3kb. element vertex 97

I'm suspecting my images aren't good enough for reference. They were used in Google Colab with decent results, so tried again. Will continue with Buddha as well.

-Edit: Buddha mini set worked with 360,000 fused points! Wow. Thank you!

-Edit2: I have used my own photos with success! I guess Draft Meshing is more lenient.

Thank you. Sorry for the mistake.

revisionarian commented 3 years ago

Ok, my guess that your point cloud was empty (0 points) was incorrect, since you had 97 fused points in your bugfrogtest. From the log messages, it appears that MeshroomCL attempted to build a triangle mesh from the 97 points, but none of those points could be connected into a mesh surface, so the resulting mesh had 97 points and 0 triangles, and thus raised the error.

It sounds like you have things working now. If you encounter further problems or have ideas to improve the software, please let us know!