Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Worse color balance quality and outliers compared to openmvs #59

Open
saedrna opened this issue Nov 5, 2016 · 2 comments
Open

Worse color balance quality and outliers compared to openmvs #59

saedrna opened this issue Nov 5, 2016 · 2 comments

Comments

@saedrna
Copy link

saedrna commented Nov 5, 2016

Hi,

OpenMVS also implement the texrecon method,except for the hole filling part. I have tried both openmvs and texrecon and find out that except for the holes are filled gracefully, the color balancing and outlier detection are worse than openmvs.

Here is the result, in which images are processed with visual sfm and mesh are generated with openmvs. I have tried both gause_danglin and clamping, which produce similar results.

openmvs

openmvs

texrecon
texrecon

Also I attach the images, nvm and mesh file in the following. The bundle_dense_mesh_refine_texture.ply is produced with openmvs, castle.zip

I would like to know if I have done something wrong.

@saedrna
Copy link
Author

saedrna commented Nov 17, 2016

Hi,

I have figured out a solution for this problem. In photometric_outlier_detection, the outlier threshold gauss_rejection_threshold is hard coded to 6e-3, which I think is related to the 3-sigma rule.

However, when the number of observations is not too much and data variance is high, 3-sigma rule is too restricted. For example, in this case only 10 cameras is used and the color is varying a lot.

When set to 2-sigma, I have obtained a more reasonable result.

screenshot from 2016-11-17 14-49-04

Again, thanks for this wonderful library!

Han

@oleg-alexandrov
Copy link
Contributor

This parameter should be exposed to the user, with documentation, of course, not hard-coded.

More generally, the three sigma rule can fail miserably quite easily. A percentile-based logic can do much better. (Sort the values, throw out a percentage at the end points. Expand the obtained interval of inliers by a factor and keep all values in the given expanded interval.) Even better, if a model can be fit, RANSAC can be used, though here maybe it is overkill.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants