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

[question] ImageMatchingMultiSfM matching modes #656

Open
natowi opened this issue Sep 24, 2019 · 1 comment
Open

[question] ImageMatchingMultiSfM matching modes #656

natowi opened this issue Sep 24, 2019 · 1 comment

Comments

@natowi
Copy link
Member

natowi commented Sep 24, 2019

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.

@cochetti
Copy link

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.

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

No branches or pull requests

2 participants