mvs-texturing icon indicating copy to clipboard operation
mvs-texturing copied to clipboard

Artifacts of texturing due to somewhat inaccurate cloud

Open oleg-alexandrov opened this issue 4 years ago • 3 comments

I found texrecon very useful. One quite troublesome issue I ran into was that the cloud I wanted to project on was not quite accurate. Sometimes the texture projected by texrecon instead of projecting onto a foreground object it would bleed into the background because the edge of the object was not very accurate so a ray would miss the object edge and hit the background.

It took me a very long time to understand that the option -d area can take care of this. I am surprised it is not the default, as the default -d gmi gave rather terrible results for me, and even in flat areas. And even with -d gmi, one could have some better logic to give more weight to rays that are normal to the surface than the ones that are very oblique, as it is well known that very oblique rays would cause more misalignment issues.

Of course, having some simple documentation rather than the cryptic help message when the tool is run can help with such things. Here's for example a very well documented related tool (https://github.com/rafapages/SSMVtex) (though that one is a pain to compile).

Thank you for the nice work.

oleg-alexandrov avatar Dec 04 '19 21:12 oleg-alexandrov

texecon can crate strange output even with the -d area option. In addition to prioritizing rays that hit the surface closer to the normal it should also prioritize shorter rays over longer rays when it decides which intensity is inlier and which is outlier. I had a very oblique image from a big distance which messed up the texture. But removing it manually resulted in very nice output.

oleg-alexandrov avatar Dec 05 '19 20:12 oleg-alexandrov

I would like to encourage you to read the paper that describes the properties of the two different data terms. The gradient magnitude integral has advantages over the area based data term when there are effects like out of focus blur in the images. In cases of inaccurate geometry the edges in the image might actually have a negative influence on the view selection as you have experienced.

To be honest I always assumed that everyone arriving here would look for an implementation of the algorithm after reading the paper and thus did not write the help in a self explanatory way.

I am glad that you were able to find a solution for you dataset and were able to achieve a nice result.

nmoehrle avatar Jan 22 '20 20:01 nmoehrle

Thank you for your response. I did read the paper (in some detail). I understand about the advantages of the gradient magnitude integral.

To be honest I always assumed that everyone arriving here would look for an implementation of the algorithm after reading the paper and thus did not write the help in a self explanatory way.

Well, now that you published the solution, and that given that it works great, of course people will try to use it in unforeseen circumstances and ask questions. :) I am using your code for mapping of the International Space Station. This is part of a funded project to fly our robot that started working there recently to create a 3D model of the station by fusing depth clouds acquired by the robot, then texturing them, and later overlaying (still using texrecon) other 2D sensor info. The texrecon tool is doing great and I am happy it does not assume any coupling between the point cloud acquisition and the image acquisition (which we do using separate sensors).

I put a pull request at:

https://github.com/nmoehrle/mvs-texturing/pull/131/files

I don't know why it failed. As you can see, my changes are trivial. The error I see:

/tmp/ccUzYi3w.s:15569: Error: operand type mismatch for `vxorps'

is likely due to something else.

oleg-alexandrov avatar Jan 22 '20 20:01 oleg-alexandrov