Max features per image capped @ 99809 ?
I'm working with an extreme image set and was trying to increase the Max features per image to 160k. All 47 images only got 99809 features, which means this number cannot be a coinsidence.
How is it determined?
-
64 GB RAM , preselector is usually at 50 000 and max features between 500 000 and 700 000. I know that the doc says preselector between 1/4 and 1/2 of the features, but this works for me like this... I am usually working at low or medium sensitivity, never above to avoid false positives.
By the way, maybe that would be great to have a "super low" preset for sensitivity ?
-
Jonathan.
Try to imagine this:
On 42Mpx image you have about 44mln pixels.
This 44mln pixels have about 10-100K unique features.
From this 100K features only 1% is 99,99% unique, 10% is 80% unique, etc.
When you ask RC detect 500 000 features. If you do not have repeated patterns on your images RC probably will find best possible 500 000 features where only 1% is perfect and other or not so unique or on surfaces that looks not toward to camera sensor.
Now RC will try to match this features. Between 50 000 features from this 500 000. It will try to use Best from them, but more preselectors you set, more false positive matches you'll have. Because RC don't know which one best and which one not until RC will estimate lens and align cameras. And only in this moment RC can tell that this feature have 0.01px error and that have 2px. As you understand for RC 2px errors features are worse than 0.01px. But this can be false positive matches.
And as result you have cameras aligned but aligned wrong because this alignment based on 90% bad matches. And 10% of good matches just can't compensate so high errors from bad matches.
Now one moment. For correct lens and camera estimation can be enough about 10 points, 100 is more than enough and 1000 correct points enough for any cases.
And now you can answer this question for you:
Are you sure you really need rise detected features and preselectors so high if this can decrase lens and camera estimation precision. Can required many times more CPU and memory for same result that can give default or only slightly changed default settings?
-
Yes, thanks.
And that is why I would be happy to have a super low sensitivity.
Because I feel like when I cap the max features to, for example, 100 000, every images reports 100 000 features, but how are they selected in the image ? are they sorted in some way, is this rows by rows ? I feel like the detection is just stopped when the feature count is above the threshold... But I will try with a much lesser feature count on a known dataset.
-
I did some quick tests with some reasonable numbers : max features 50 000, preselector 25 000, sensitivity low.
All my features detection are capped to 50 000 (which concerns me because I feel like the process stops at some point) and my components are a bit smaller (of a few percent, not much, something like 1478 cameras before, 1446 after, but every properly aligned camera counts ! ;-) ). I will investigate much with other datasets.
But I am wondering : what are these first 50 000 features ? and how are they chosen, are we sure this is really the best ones ? And as Götz stated, then how the preselector works to select the 25 000 out of the 50 000 ? is this a statistic/random choice, or is there a ranking at some point ?
Important point, the alignment is much faster - 3 h before, 30 min after. Which makes sense because we have less features.
I am very happy to have this discussion because I was looking for ways to improve my workflow, so thanks Vlad, Götz for this !
-
Hey Jonathan, I am learning from this as well. So thanks to both of you, too!
Was your preselector before also 25k?
The significant difference in processing time would mean in my opinion that RC chooses those 25k from all available features during alignment. Which means in turn that they are not weighted during detection yet.
Is there any difference in mean and median errors or mesh quality?
Because I agree that every camera counts and this could be a viable option for difficult image sets. Of course the final result still depends on the individual case...
-
My preselector was at 50k before.
I didn't calculate the mesh yet, but the numbers for alignments are :
Max reproj error 1 (my usual setting) for both .
Before (500k features / 50k preselector) : median=0.3078 mean=0.3275 totalprojections=99M averagetracklen=2.78
After (50k features / 25k preselector) : median=0.4273 mean=0.4499 totalprojections=10M averagetracklen=2.47
I don't know how to handle these numbers, because the error seams to be worst with less features...
-
Cheers for the info!
I learned to not pay too much attention to the errors, meaning don't obsess about them by trying to get them as low as possible. Some say everything below 1 is fine, below 0,5 near perfect.
Try using the standard 2 for Max repro error - it will raise the median and mean error slightly but you will end up with a lot more tie points and by extension more aligned cameras.
-
Götz, you can use 4px as start reprojection error settings.
But do more than one alignment step, just in next alignments lower error to 2 and 1px.
But remember that smaller reprojection error you set, more points with that give higher error for component will dropped.
And I do not recommend for non studio environment scans go lower than 0.5px result can be opposite. -
About this max number of features topic...
I am using a lot the components reuse workflow, which is really a key feature of RC ! : align clusters, export registration and align clusters together with images in "use component features" mode.
I did some more tests and with less features (max 100 000 / preselector 25 000), the components do not align anymore together (export and import in another project). Maybe I need to do more tests to find the best settings, but even if the individual clusters align faster, I am then stuck after. It makes sense, because in "use component features" you need to have enough features to align to other features sets (coming from other components). But maybe I am doing something wrong... Still experimenting...
And I am still very concerned by this saturation at max features - When I see all my images report 100 000 features exactly, I really feel like there is a stop somewhere. Are we really sure that the features are sorted ?
-
Hey Jonathan,
if you got good results with your epic feature numbers, then why not continue like this?
If you don't mind the calculation times, then all is well.
Especially if you don't get the same results with the standard settings?
Did you try Max repro error 4 with the first run?
Please sign in to leave a comment.
Comments
22 comments