Open natowi opened 5 years ago
Hey, so it's been five years... Is it possible to update the notation here? It is very unclear what these options mean.
a/a + a/b ???
Are these saying derive a vocabulary from a and then classes features from a and b based exclusively if they appeared in the a vocabulary?
How then is a/ab different? Does this mean reevaluate all features in a new joint vocabulary that combines a and b before creating features?
@natowi is being generous in saying the "notation is not optimal". The notation is cryptic at best, and incomprehensible at worst. This could be as easy as someone who knows what the current dropdown means just updating it to read:
• Create joint A & B feature set, keep pairs with matches from both A & B • Use Previous A featureset Only, match B images if contain A feature • Use New B featureset only, match A images if contain B features
Or if you prefer set theory (which personally I do): • FULL (OUTER) JOIN — A ∪ B (All features in A OR B) • INNER JOIN — A ∩ B (Only features in both A AND B) • LEFT (OUTER) JOIN — All Features from A + Subset of B matching A • RIGHT (OUTER) JOIN — All Features from B + Subset of A matching B • LEFT EXCLUSIVE — A ∩ B∁ (Features from A, not including overlap from B) • RIGHT EXCLUSIVE — B ∩ A∁ (Features from B, not including overlap from A) • ANTI (OUTER) JOIN — A △ B, A ⊖ B (Only non-overlapping features from A or B)
I'll be honest, I'm a SQL programmer and don't even know what your a/a + a/b, a/ab, a/b notation means. i think they are in order #2, #1, #3, but I'm not sure. As I understand it, a backslash is used for set difference so of a universe U, L∁ = U \ L. However, if being used this way the notation a/a + a/b should be interpreted as features a less those in a (null set) plus only those features in a not appearing in b (A complement). Yet this makes very little sense in context.
It is also unclear whether these relations are amongst collectively the images in the sets or if they are meant to apply to individual pairs images. If lowercase a is an image in A and lowercase b from B, does a/a + a/b mean only those images with a feature from set A that is contained in an image from set B? If so there does not appear to be any option which reevalutes images from A to see if they contain features from B.
I would appreciate if an update were made, to the documentation to actually describe the matching modes if nothing else.
Thanks.
Describe the problem
I could use some clarification for the Matching Mode:
ImageMatchingMultiSfM
Matching Mode description: The mode to combine image matching between the input SfMData A and B (notation is not optimal):
"a/a+a/b" for A with A + A with B. "a/ab" for A with A and B. "a/b" for A with B.'
This is how I understand the Input data is matched: 'a|a+a|b', -> merge (A with A) + (matches between A and B) -> Why (A with A) ? +? 'a|ab'-> merge A with (merge of A and B) ? 'a|b' -> merge (A with B)
It is difficult do understand, as this node computes matches between two inputs AND merges them.