Cannot save the SfM data file: '/meshroom/.../sfm.abc'. The file extension is not recognized.

225 views
Skip to first unread message

Ladislav Petruš

unread,
Jun 4, 2018, 4:06:43 PM6/4/18
to AliceVision

Hello,


I keep getting an error that I do not understand in Structure from Motion node:

[19:53:08.968706][info] Structure from motion took (s): 4.401000

[19:53:08.968753][info] Generating HTML report...

[19:53:08.969789][info] Export SfMData to disk: /meshroom/MeshroomCache/StructureFromMotion/a3227762bc13bbc1e91ebf06d92bc4bd93569a58/sfm.abc

[19:53:08.970684][error] Cannot save the SfM data file: '/meshroom/MeshroomCache/StructureFromMotion/a3227762bc13bbc1e91ebf06d92bc4bd93569a58/sfm.abc'.

The file extension is not recognized.

[19:53:08.974724][info] Structure from Motion results:

- # input images: 13

- # cameras calibrated: 2

- # landmarks: 84


I am running meshroom inside a docker container. It is possible that I did not bring in some dependency that causes this error. Can you please advise?


I am attaching the dockerfile for reference, but beware - it is ugly. I plan to simplify it once I get meshroom working correctly and publish a working image on docker hub.


best regards, Ladislav


Dockerfile

Fabien Castan

unread,
Jun 4, 2018, 4:25:11 PM6/4/18
to Ladislav Petruš, AliceVision
Hi Ladislav,

You need to install Alembic to be able to store the sparse reconstruction results.
It would be great to make a PR on AliceVision to include the Dockerfile.
There is an old trailing Dockerfile at the root of the project that needs to be replaced.

Best,


--
You received this message because you are subscribed to the Google Groups "AliceVision" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alicevision+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/alicevision.
To view this discussion on the web visit https://groups.google.com/d/msgid/alicevision/6f7882f0-9909-4b2a-8101-658118eb73a1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ladislav Petruš

unread,
Jun 5, 2018, 2:39:11 AM6/5/18
to AliceVision
Thanks for the hint!

When I get the docker build working completely I will make a PR.  Probably by the end of the week because I want to clean the build a little bit,

best regards,

On Monday, June 4, 2018 at 10:25:11 PM UTC+2, Fabien Castan wrote:
Hi Ladislav,

You need to install Alembic to be able to store the sparse reconstruction results.
It would be great to make a PR on AliceVision to include the Dockerfile.
There is an old trailing Dockerfile at the root of the project that needs to be replaced.

Best,

2018-06-04 22:06 GMT+02:00 Ladislav Petruš <ladisla...@gmail.com>:

Hello,


I keep getting an error that I do not understand in Structure from Motion node:

[19:53:08.968706][info] Structure from motion took (s): 4.401000

[19:53:08.968753][info] Generating HTML report...

[19:53:08.969789][info] Export SfMData to disk: /meshroom/MeshroomCache/StructureFromMotion/a3227762bc13bbc1e91ebf06d92bc4bd93569a58/sfm.abc

[19:53:08.970684][error] Cannot save the SfM data file: '/meshroom/MeshroomCache/StructureFromMotion/a3227762bc13bbc1e91ebf06d92bc4bd93569a58/sfm.abc'.

The file extension is not recognized.

[19:53:08.974724][info] Structure from Motion results:

- # input images: 13

- # cameras calibrated: 2

- # landmarks: 84


I am running meshroom inside a docker container. It is possible that I did not bring in some dependency that causes this error. Can you please advise?


I am attaching the dockerfile for reference, but beware - it is ugly. I plan to simplify it once I get meshroom working correctly and publish a working image on docker hub.


best regards, Ladislav


--
You received this message because you are subscribed to the Google Groups "AliceVision" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alicevision...@googlegroups.com.

Fabien Castan

unread,
Jun 5, 2018, 6:25:26 AM6/5/18
to Ladislav Petruš, AliceVision
Great!
I don't know if you've seen it before, but you have an example to build all dependencies in the CMakeList.txt root (with the option -DALICEVISION_BUILD_DEPENDENCIES=ON):
https://github.com/alicevision/AliceVision/blob/develop/CMakeLists.txt



To unsubscribe from this group and stop receiving emails from it, send an email to alicevision+unsubscribe@googlegroups.com.

Ladislav Petruš

unread,
Jun 5, 2018, 6:29:29 AM6/5/18
to AliceVision
No, I didn't see that.  I will modify the dockerfile and try that option later today.

However, I have another question concerning CUDA.  It seems that CUDA is required for some steps in the meshroom workflow (at least DepthMap).  Is there a workaround for notebooks that do not have NVIDIA gpus?

Fabien Castan

unread,
Jun 5, 2018, 6:56:15 AM6/5/18
to Ladislav Petruš, AliceVision
For the docker, as many dependencies can be installed by apt-get, I don't know if it's better to use the option  ALICEVISION_BUILD_DEPENDENCIES. I was mentioning it, because if you need to build some dependencies manually in the Dockerfile, you have the right commands to launch in this CMakeList.txt.
But yes, installing nothing on the OS and using ALICEVISION_BUILD_DEPENDENCIES should also work.

For CUDA, unfortunately there is no plan to have a workaround. Depth map computation is a compute intensive step and the approach used maximize the quality but is quite brute force and only make sense on GPU.
We plan to support meshing directly the sparse point cloud, which will provide a solution without depth map computation (so without GPU) but the mesh quality will be much lower. We plan to do it to provide a quick preview without doing the full computation.

The solution to have a pipeline without GPU would be to integrate an other depth map approach. That's not on our roadmap, but it would be an interesting contribution.

Best,

Ladislav Petruš

unread,
Jun 5, 2018, 7:59:24 AM6/5/18
to AliceVision
Concerning CUDA - I currently do not have access to an NVIDIA GPU so I will not be able to test that.  Did you consider implementing the intensive part using OpenCL?  Additionally - do you have any minimum requirements on the NVIDIA GPU?

Concerning Dockerfile and dependencies - I agree, I will modify the Dockerfile to use as many packaged dependencies and only build what is necessary using commands from CMakeLists.

Carsten Griwodz

unread,
Jun 6, 2018, 12:24:47 AM6/6/18
to Ladislav Petruš, AliceVision
Unfortunately, all code in AliceVision relies heavily on CUDA’s texture handling and hardware interpolation. 

This cannot be ported to OpenCL, we would have to re-write all of it from scratch. That would be useful but we have no current plans. Perhaps someone could contribute it.

The current CUDA hardware required is CC 3.5 or better.

Best,
Carsten
--
You received this message because you are subscribed to the Google Groups "AliceVision" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alicevision...@googlegroups.com.
Visit this group at https://groups.google.com/group/alicevision.

Ladislav Petruš

unread,
Jun 7, 2018, 3:36:42 AM6/7/18
to AliceVision
Ok, I understand.  Would a GT 1030 with 2 GB RAM be sufficient for alice vision?

Concerning the Dockerfile - does a pull request with a Dockerfile that does not support CUDA make sense?  Until I get a CUDA capable card I can not test the whole workflow in meshroom.

best regards, Ladislav
Reply all
Reply to author
Forward
0 new messages