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

Create corresponding tutorial chapter for geometric verification code #77

Open
adamconkey opened this issue Aug 12, 2023 · 3 comments
Open

Comments

@adamconkey
Copy link

@vadixidav created code for a geometric verification tutorial which was slotted for a Chapter 5 tutorial, but there is no corresponding tutorial to describe it. This is a nice example to show a consensus algorithm (ARRSAC), and is a nice extension to the feature matching of Chapter 4 to demonstrate how the features can be utilized to infer camera motion. It would be nice to have the corresponding markdown description to solidify it as an example in the tutorial book.

@adamconkey
Copy link
Author

I'm happy to take a crack at creating this tutorial page if you wish to assign it to me.

One question I have, is there ends up being some redundancy across the tutorial chapters (e.g. the code to save images, do symmetric feature matching, etc.). Do you like to have it that way to keep the tutorials self-contained, or would it be better to abstract some of this functionality, either in the tutorial code or have some utility functions in the cv framework to absorb the boilerplate in these common tasks? I imagine it would be useful to have a utility for annotating keypoints, drawing side-by-side images, drawing feature matches, etc.

I'd be interested to hear the maintainers' perspective on the goals of the tutorials. I find a lot of the tutorial code to include many details on these common tasks, while the core CV functions are well-encapsulated so there aren't actually as many details on the methods themselves. Are the tutorials intended to be more focused on basic usage of the CV features, or more educational about CV concepts grounded in using the CV functionality the repo offers?

@xd009642
Copy link
Member

Yeah feel free to get started on a tutorial. As for the common tutorial functions, I think some like symmetric matching could make sense to move into the crate so users don't have to write it as a convenience function, but some functions likely make less sense as they'll be very specific to the tutorial work.

I believe the tutorials should be focused on basic usage of the features the crate offers, but with basic information about the CV concepts where appropriate - and definitely enough info to act as a jumping off point to find more in-depth material. For example say we had a HOG feature extractor explaining the basics of what HOG features are and the usage of it but not putting in the mathematical details you'd see in education materials about it. Though this is largely vibes based from my perspective - so if a tutorial is very well written I think it likely has merit regardless of where the focus is (but should be shown using the API provided by cv crate).

@adamconkey
Copy link
Author

FYI I started working on this on my fork branch tutorial_ch5_geometric_verification, the markdown is here. It's just slow-going for me because I'm learning some of these concepts/methods as I go.

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