rennu / dpg

OpenMVG + OpenMVS Pipeline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error while executing OpenMVS.

kota03016991 opened this issue · comments

Environment : Mac OS 10.14 / Installed by Docker

When I try to run the pipeline, it always fails at the same time while executing mesh reconstruction like ...

  • UNDISTORT IMAGES -
    0% 10 20 30 40 50 60 70 80 90 100%
    |----|----|----|----|----|----|----|----|----|----|

Scene saved to OpenMVS interface format:
#platforms: 1
platform ( 0 ) #cameras: 1
11 images (11 calibrated)
6068 Landmarks
Reconstruct mesh

/opt/openmvs/bin/OpenMVS/ReconstructMesh scene.mvs -w /datasets/output_castle/densified/omvs -v 0

Could not find executable: /opt/openmvs/bin/OpenMVS/ReconstructMesh - Have you installed all the requirements?
Failed while executing:
/opt/openmvs/bin/OpenMVS/ReconstructMesh scene.mvs -w /datasets/output_castle/densified/omvs -v 0

When I run the pipeline without using OpenMVS (only using OpenMVG), it creates files without error.
Does some other things should be installed to run OpenMVS ?

commented

Hi,

The installation script should install all required software, however, you seem to be missing OpenMVS for some reason. My guess is that there was an error while running OpenMVS installation but because the installation script didn't care about errors, the docker build succeeded.

I have now updated the build script so that it will exit with error if any of the commands fail.

As to how to resolve your problem: Do git pull (so you'll have the latest version of the script) and then rerun docker build. After the build has completed, do docker run --rm dpg ls /opt to see if OpenMVS installed correctly this time (it should list OpenMVS).

Thanks to your advice, the pipeline works (executed mesh reconstruction) and create file without error!

Now, I have another problem when I try to create dense mesh reconstruction (just add
the option --densify). While creating densified point cloud, the process stops like...

  • UNDISTORT IMAGES -
    0% 10 20 30 40 50 60 70 80 90 100%
    |----|----|----|----|----|----|----|----|----|----|

Scene saved to OpenMVS interface format:
#platforms: 1
platform ( 0 ) #cameras: 1
11 images (11 calibrated)
6023 Landmarks
Densify point cloud

/opt/openmvs/bin/OpenMVS/DensifyPointCloud scene.mvs -w /datasets/output_castle/densified/omvs -v 0

04:11:16 [App ] Build date: Jun 13 2019, 08:38:49
04:11:16 [App ] CPU: Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz (3 cores)
04:11:16 [App ] RAM: 5.82GB Physical Memory 2.00GB Virtual Memory
04:11:16 [App ] OS: Linux 4.9.125-linuxkit (x86_64)
04:11:16 [App ] SSE & AVX compatible CPU & OS detected
04:11:16 [App ] Command line: scene.mvs -w /datasets/output_castle/densified/omvs -v 0
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_create
Failed while executing:
/opt/openmvs/bin/OpenMVS/DensifyPointCloud scene.mvs -w /datasets/output_castle/densified/omvs -v 0

I couldn't find out what the meaning is.

terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_create

Could you show me the way to resolve this problem?
Sorry for my lack of knowledge of C++

commented

That's great news!

That's an error caused by something going wrong with OpenMVS. I searched OpenMVS issues and it looks like someone had a similar kind of error 23 days ago.

I was able to reproduce the problem so it's not just you having it so I went on and created a new issue.

Thank you!
I just saw the issue you created and tried to do what you did. It worked fine!

commented

I added a workaround and the latest version should work again.

commented

It's fixed now.