Max features per image capped @ 99809 ?

Comments

22 comments

  • Avatar
    Götz Echtenacher

    I just tried different images and now it seems to be 120k, even though the setting is at 160k...

    0
    Comment actions Permalink
  • Avatar
    Steven Smith

    What megapixel is the camera? 

    0
    Comment actions Permalink
  • Avatar
    Jonathan_Tanant

    I usually have images with more than 500k features, using a 42 MP sensor.

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    Steven, the first batch was 10MP and the second a wild mix.

    Jonathan, holy moly, how much RAM have you got??? :-) And what's your preselector?

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    Steven, my bad - you were right on cue!

    I had the max features per mpx still set to 10k, so naturally it would stop at 100k.

    Thank you two!

    0
    Comment actions Permalink
  • Avatar
    Jonathan Tanant

    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 ? 

     

    0
    Comment actions Permalink
  • Avatar
    Vlad Kuzmin

    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?

    0
    Comment actions Permalink
  • Avatar
    Vlad Kuzmin

    Increase features and preselectors is only needed when you have bad overlap and problems in images.

    And i can imagine only one reason for such high features count. Is export tie points as dirty sparse/dense cloud.

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    Hi Vlad,

    thank you very much for this detailed explanation!

    A lot of people will be quite happy reading this, including myself of course.

    0
    Comment actions Permalink
  • Avatar
    Jonathan Tanant

    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. 

    0
    Comment actions Permalink
  • Avatar
    Vlad Kuzmin

    Götz, you are welcome :)

    Jonathan, more than sure that first, RC will detect most “visible” for RC feature detection algo features.
    So super extra micro small sensitivity is probably useless :)

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    I think Jonathan has a point though.

    The question is how the preselector works. If it selects the "best" features, then it might be better to have as many features detected as possible. Granted that preselector is the same.

    0
    Comment actions Permalink
  • Avatar
    Jonathan_Tanant

    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 !

     

     

     

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    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...

    0
    Comment actions Permalink
  • Avatar
    Jonathan Tanant

    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...

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    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.

    0
    Comment actions Permalink
  • Avatar
    Jonathan Tanant

    thanks, I will try max repro=2 !

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    NP - just don't forget to report back!  :-)

    0
    Comment actions Permalink
  • Avatar
    Vlad Kuzmin

    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.

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    Hi Vlad,

    What I meant with my numbers though was not the preset (Max repro error) but the resulting (mean and median).

    Cheers for your input anyway. So you recommend to start with 4 for normal sets or just ones where there are problems?

     

    0
    Comment actions Permalink
  • Avatar
    Jonathan Tanant

    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 ?

     

    0
    Comment actions Permalink
  • Avatar
    Götz Echtenacher

    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?

    0
    Comment actions Permalink

Please sign in to leave a comment.