Texturing Dense Mesh

1,671 views
Skip to first unread message

elit...@gmail.com

unread,
Oct 1, 2017, 5:49:45 PM10/1/17
to COLMAP
I absolutely love COLMAP, and especially because it runs so fast on Microsoft Azures NC12/24 instances.

However, the COLMAP sparse + OpenMVS dense + mesh + texture produces better result because of the texturing when zooming in...

... the question is how to texture the COLMAP dense mesh?

What is the recommended CLI pipeline?

Thank you very much for your great job!

/ Björn

I use this for COLMAP + OpenMVS:

.\colmap\feature_extractor.exe --database_path .\output\database.db --image_path .\images\
.\colmap\exhaustive_matcher.exe --database_path .\output\database.db
.\colmap\mapper.exe --database_path .\output\database.db --image_path .\images\ --export_path .\output\
.\colmap\model_converter.exe --input_path .\output\0 --output_path .\output\model.nvm --output_type nvm
.\openmvs\InterfaceVisualSFM.exe -w .\images\ -i ..\output\model.nvm -o ..\output\model.mvs --output-image-folder ..\output -v 0
.\openmvs\DensifyPointCloud.exe -w .\images\ -i ..\output\model.mvs -o ..\output\model_dense.mvs -v 0
.\openmvs\ReconstructMesh.exe -w .\images\ -i ..\output\model_dense.mvs -o ..\output\model_dense_mesh.mvs -v 0
.\openmvs\RefineMesh.exe -w .\images\ -i ..\output\model_dense_mesh.mvs -o ..\output\model_dense_mesh_refine.mvs -v 0
.\openmvs\TextureMesh.exe -w .\images\ -i ..\output\model_dense_mesh_refine.mvs -o ..\output\model_dense_mesh_refine_texture.mvs --empty-color 0 -v 0

And this for COLMAP:

feature_extractor.exe --database_path output/database.db --image_path images
exhaustive_matcher.exe --database_path output/database.db
mapper.exe --database_path output/database.db --image_path images --export_path sparse
image_undistorter.exe --image_path images --input_path sparse/0 --output_path dense --output_type COLMAP --max_image_size 2000
dense_stereo.exe --workspace_path dense --workspace_format COLMAP --DenseStereo.geom_consistency true
dense_fuser.exe --workspace_path dense --workspace_format COLMAP --input_type geometric --output_path dense/fused.ply
dense_mesher.exe --input_path dense/fused.ply --output_path dense/meshed.ply

Johannes Schönberger

unread,
Oct 2, 2017, 3:29:47 AM10/2/17
to COLMAP
Hi,

Thanks for the positive feedback.

The mesh coloring in COLMAP is done using the Poisson reconstruction library, which simply assigns the vertex colors of the dense point cloud to the mesh triangles. This does not produce the nicest results. I don't know OpenMVS but I assume it maps the images of the input images directly onto the mesh, which should give much better quality. You could use https://github.com/PointCloudLibrary/pcl/blob/master/gpu/kinfu_large_scale/tools/standalone_texture_mapping.cpp to this for COLMAP as well. It probably needs a little rewrite to read in the COLMAP data format, but this should be easy. I am currently rather busy but I created a Github issue for the future: https://github.com/colmap/colmap/issues/227

Let me know if you have questions.

Best,
Johannes
> --
> You received this message because you are subscribed to the Google Groups "COLMAP" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to colmap+un...@googlegroups.com.
> To post to this group, send email to col...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/colmap/82730e2a-7b62-4c65-ac54-9fb1050cbdd8%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

elit...@gmail.com

unread,
Oct 2, 2017, 1:21:12 PM10/2/17
to COLMAP
Hi,

Thank you for your reply.

OpenMVS has a exe called TextureMesh.exe and takes a mvs-file and spits out a ply-file and a textures.png.

Since your ModelConvert produces a nvm-file for use with OpenMVS, are you able to output a file type in dense_mesher.exe for use with TextureMesh?

Or has someone else a working pipeline for texturing COLMAP dense meshes?

ago.s...@gmail.com

unread,
Mar 5, 2018, 8:38:37 PM3/5/18
to COLMAP
Hi there and thank you for colmap. I was looking for the same question: export colmap dense reconstruction for texturing in openmvs. I think it is also related to https://groups.google.com/forum/#!topic/colmap/kcm32t15qEQ and https://groups.google.com/forum/#!topic/colmap/5gIqyKWCoDM .

If it was possible to export the dense reconstruction to nvm, then we could use it in openmvs.

Cheers,
Reply all
Reply to author
Forward
0 new messages