Thank you very much for providing this code. I was able to get it running pretty smoothly with the instructions provided, and (important) by setting -gencode arch=compute_75,code=sm_75 in the CMakeLists.txt for my RTX 2080TI. However, the depth maps look very bad.
For anyone curious of what the ACMMP results look like on an example, real-world dataset, see this issue. I took 46 1920x1080 images around a bench. I have experience with MVS, so I take extreme care to fix any camera sensor parameters and minimize motion blur. The 46 images can be seen/downloaded here.
The colmap camera calibration looks fine:
The colmap fused.ply confirms that the calibration is good:
For completeness, instant-ngp (NeRF) also is able to correctly reconstruct the scene using the camera params from colmap:
These are the results of ACMMP:
pair.txt looks perfect, so this is not an issue.
fused.ply looks okay, with some grass floating around the bench:
but the depth maps look far from state-of-the-art. Here is an example (some other depth maps are better, some worse, I choose a medium quality result here):
Btw, I used your readDepthDmb() in ACMMP.cpp to read in the depths_geom.dmb files and convert them to png. I clamped the float depth to [0, 30] and normalized them to 16-bit unsigned shorts.
So, do you think these results are expected? What do you recommend to improve the depth maps? The triangulation.png shows that ACMMP is at least aware that there should be a boundary around the bench, but the depth maps around the bench is not nicely defined.
Thank you very much for providing this code. I was able to get it running pretty smoothly with the instructions provided, and (important) by setting
-gencode arch=compute_75,code=sm_75
in the CMakeLists.txt for my RTX 2080TI. However, the depth maps look very bad.For anyone curious of what the ACMMP results look like on an example, real-world dataset, see this issue. I took 46 1920x1080 images around a bench. I have experience with MVS, so I take extreme care to fix any camera sensor parameters and minimize motion blur. The 46 images can be seen/downloaded here.
The colmap camera calibration looks fine:
The colmap fused.ply confirms that the calibration is good:
For completeness, instant-ngp (NeRF) also is able to correctly reconstruct the scene using the camera params from colmap:
These are the results of ACMMP:
pair.txt looks perfect, so this is not an issue.
fused.ply looks okay, with some grass floating around the bench:
but the depth maps look far from state-of-the-art. Here is an example (some other depth maps are better, some worse, I choose a medium quality result here):
For completeness, here is triangulation.png:
And cam.txt for that view:
Btw, I used your
readDepthDmb()
in ACMMP.cpp to read in the depths_geom.dmb files and convert them to png. I clamped the float depth to [0, 30] and normalized them to 16-bit unsigned shorts.So, do you think these results are expected? What do you recommend to improve the depth maps? The triangulation.png shows that ACMMP is at least aware that there should be a boundary around the bench, but the depth maps around the bench is not nicely defined.