cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.19k stars 892 forks source link

"invalid project" error in docker image when trying to compute dense point cloud #1056

Open atdrdeterminant opened 10 months ago

atdrdeterminant commented 10 months ago

Describe the bug I use openSfM to generate the point cloud and the camera pose, then I use openSfM method to convert it to scene.mvs Then I build the docker using the QUICK_START.sh script. Once in the docker I run : DensifyPointCloud scene.mvs

and got the error: 12:25:48 [App ] Build date: Dec 10 2019, 20:59:37 12:25:48 [App ] CPU: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz (8 cores) 12:25:48 [App ] RAM: 43.05GB Physical Memory 0B Virtual Memory 12:25:48 [App ] OS: Linux 5.15.0-82-generic (x86_64) 12:25:48 [App ] SSE & AVX compatible CPU & OS detected 12:25:48 [App ] Command line: scene.mvs 12:25:48 [App ] error: invalid project

To Reproduce Steps to reproduce the behavior:

  1. QUICK_START.sh <Path to data > where is the path where the images and all the results from OpenSfM are located
  2. I move where the file scene.mvs is cd /working/undistorted/openmvs/
  3. I run DensifyPointCloud scene.mvs

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Let me know if you need further information

cdcseacave commented 10 months ago

how did you generate scene.mvs?

atdrdeterminant commented 10 months ago

I ran bin/opensfm export_openmvs <Path to data> from the OpenSfM folder outside of the docker container

cdcseacave commented 10 months ago

possible the exporter in opensfm is not up to date anymore? I never used opensfm; I'll try to make some time and check it out, that is not code I mentain

atdrdeterminant commented 10 months ago

From what I understand, OpenSfM uses Interface.h in the exporter, I'll try to use the one from your repository and see how it goes

cdcseacave commented 10 months ago

pls try, that should fix the problem, assuming the data is correctly filled in the interface the interface should have extensive comments trying to make clear that each field means, but if you find something unclear pls reach out to me and we will extend the comments

atdrdeterminant commented 10 months ago

So I did the change, recompiled openSfM and ran everything including the point cloud generation, but I still got the same error with no more indication of what went wrong

13:48:11 [App ] Build date: Dec 10 2019, 20:59:37 13:48:11 [App ] CPU: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz (8 cores) 13:48:11 [App ] RAM: 43.05GB Physical Memory 0B Virtual Memory 13:48:11 [App ] OS: Linux 5.15.0-82-generic (x86_64) 13:48:11 [App ] SSE & AVX compatible CPU & OS detected 13:48:11 [App ] Command line: scene.mvs 13:48:11 [App ] error: invalid project

atdrdeterminant commented 10 months ago

I also tried using OpenMVG using their produced scene.mvs and I still get the same error

cdcseacave commented 10 months ago

pls share the images and the command lines you used with openMVG

atdrdeterminant commented 9 months ago

I've tested with the Sceaux Castle dataset : https://github.com/openMVG/ImageDataset_SceauxCastle

Using OpenMVG I used the command provided in the tuto to run the SfM :

python SfM_GlobalPipeline.py [full path image directory] [resulting directory]

and

To get scene.mvs I use :

openMVG_main_openMVG2openMVS -i sfm_data.bin -o scene.mvs -d scene_undistorted_images

It generates the scene.mvs file that you can find in the attached zip file scene.zip

cdcseacave commented 9 months ago

all works fine with the scene.mvs you sent me image

atdrdeterminant commented 9 months ago

Yes I don't think the problem comes from the file. I'll try to build the docker image using the ./buildFromScratch.sh --cuda --workspace /path/where/your/SFM/results/are command

atdrdeterminant commented 9 months ago

So I've rebuilt using the buildFromScratch.sh script and I'm getting this error :

10:23:24 [App ] OpenMVS x64 v2.2.0 10:23:24 [App ] Build date: Sep 14 2023, 08:37:51 10:23:24 [App ] CPU: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz (8 cores) 10:23:24 [App ] RAM: 43.05GB Physical Memory 0B Virtual Memory 10:23:24 [App ] OS: Linux 5.15.0-82-generic (x86_64) 10:23:24 [App ] Disk: 92.83GB (290.57GB) space 10:23:24 [App ] SSE & AVX compatible CPU & OS detected 10:23:24 [App ] Command line: DensifyPointCloud ./reconstruction_sequential/scene.mvs 10:23:24 [App ] CUDA device 0 initialized: Tesla V100-PCIE-16GB (compute capability 7.0; memory 15.77GB) 10:23:24 [App ] Camera model loaded: platform 0; camera 0; f 1.055x1.055; poses 11 10:23:24 [App ] Scene loaded from interface format (7ms): 11 images (11 calibrated) with a total of 63.22 MPixels (5.75 MPixels/image) 6054 points, 0 vertices, 0 faces 10:23:24 [App ] The camera directions mean is unbalanced; the scene will be considered unbounded (no ROI) 10:23:24 [App ] Point-cloud composed of 6054 points with:

From what I've seen in the other issues it might come from a mismatch between opencv and libjpeg but I don't see where to change that in the files that build the docker.

atdrdeterminant commented 9 months ago

Using openSfM + OpenMVS solved the issue.

Thank you @cdcseacave for your time !

hepeixin123 commented 1 month ago

how do you solve it, robot@robot:~/code/MVS/openMVS_build$ ./bin/DensifyPointCloud -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] Build date: May 26 2024, 22:31:03 19:57:55 [App ] CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz (16 cores) 19:57:55 [App ] RAM: 31.26GB Physical Memory 11.44GB Virtual Memory 19:57:55 [App ] OS: Linux 5.4.0-84-generic (x86_64) 19:57:55 [App ] SSE & AVX compatible CPU & OS detected 19:57:55 [App ] Command line: -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] error: invalid project I have the same question

Nicny commented 2 weeks ago

how do you solve it, robot@robot:~/code/MVS/openMVS_build$ ./bin/DensifyPointCloud -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] Build date: May 26 2024, 22:31:03 19:57:55 [App ] CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz (16 cores) 19:57:55 [App ] RAM: 31.26GB Physical Memory 11.44GB Virtual Memory 19:57:55 [App ] OS: Linux 5.4.0-84-generic (x86_64) 19:57:55 [App ] SSE & AVX compatible CPU & OS detected 19:57:55 [App ] Command line: -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] error: invalid project I have the same question

i have the same problem, do you solve it?

hepeixin123 commented 2 weeks ago

你可以将 -d 2.5 设置- d 4.0

hai-bo1017 commented 6 days ago

how do you solve it, robot@robot:~/code/MVS/openMVS_build$ ./bin/DensifyPointCloud -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] Build date: May 26 2024, 22:31:03 19:57:55 [App ] CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz (16 cores) 19:57:55 [App ] RAM: 31.26GB Physical Memory 11.44GB Virtual Memory 19:57:55 [App ] OS: Linux 5.4.0-84-generic (x86_64) 19:57:55 [App ] SSE & AVX compatible CPU & OS detected 19:57:55 [App ] Command line: -w /home/robot/code/MVS/data2 -i scene.mvs -o test_dense.mvs 19:57:55 [App ] error: invalid project I have the same question

i have the same problem, do you solve it?

do you solve it?

hai-bo1017 commented 6 days ago

你可以将 -d 2.5 设置- d 4.0

what's mean?