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

Are there any plans to add sift and surf ?? #59

Open
zsz00 opened this issue Dec 13, 2018 · 12 comments
Open

Are there any plans to add sift and surf ?? #59

zsz00 opened this issue Dec 13, 2018 · 12 comments

Comments

@zsz00
Copy link

zsz00 commented Dec 13, 2018

Are there any plans to add sift and surf ??
Do you plan to add sift and surf in the future ??

@tejus-gupta
Copy link
Contributor

tejus-gupta commented Dec 13, 2018

SIFT and SURF are patented [1], [2] and hence can't be used freely (for commercial purposes; research is fine) without permission. I am not sure whether they can be included here. What do you think, @timholy?

FREAK and BRISK are excellent alternatives to SIFT/SURF and are available in ImageFeatures.jl.

@timholy
Copy link
Member

timholy commented Dec 14, 2018

They can't be in this package because it has an MIT license, and that isn't going to change. However, one could start a SIFTFeatures.jl or PatentedImageFeatures.jl 😉 package with a different license. Contributions welcome!

@juliohm
Copy link
Member

juliohm commented Dec 14, 2018 via email

@zsz00
Copy link
Author

zsz00 commented Dec 14, 2018

ok, I See.

@timholy
Copy link
Member

timholy commented Dec 14, 2018

Should we add this information to the docs or the README?

@zsz00
Copy link
Author

zsz00 commented Dec 19, 2018

I think there should be more information in the README .

@BASS10
Copy link

BASS10 commented Jun 7, 2020

So as far as I can tell, the SIFT patent has now expired (in the time since this thread was last active). Is there anything else standing in the way, or could SIFT now be added to ImageFeatures? I would be interested in helping in any way I can. I'm fairly new to Julia though so I can't vouch for how much use I would actually be, but the offer is there.

@timholy
Copy link
Member

timholy commented Jun 7, 2020

Thanks for the offer! Can you supply a reference for the expiration of the patent?

Does SIFT offer advantages over the feature-detectors already here? (I'm aware that it's widely used.)

@BASS10
Copy link

BASS10 commented Jun 7, 2020

Thanks for replying so quickly. The patent reference above from @tejus-gupta now shows the status as expired.
https://patents.google.com/patent/US6711293

I'm interested in SIFT for photogrammetry, where it seems to be one of the standard choices.

Having had a brief play with the lighthouse examples I've found the existing feature detectors don't seem very robust for scale transformations. Perhaps adjusting the parameters would help, I haven't tried much of that yet. I'm hopeful that SIFT might help.

Since the patent has expired, it would be nice to have an implementation in Julia and this seems like a good place for it to live.

I will try to get my head around the existing codebase in the meantime; but no promises! Any direction would be welcome.

@kmsquire
Copy link

kmsquire commented Jun 7, 2020

At the time SIFT came out, it was groundbreaking, and it was better than most descriptors that came after it for quite a while, extensions to SIFT itself notwithstanding.

I didn’t follow it closely after a while, and I haven’t kept track of what’s in this package, but my understanding is that other descriptors eventually caught up, although I haven’t looked for/at any recent comparisons.

I think it would be nice to have SIFT here. It would be nice to include in comparisons, and there were some nice extensions that (I think) were not patented, and that could also be included.

That said, I don’t personally have time to contribute any of these, beyond giving references (so thank you to @BASS10 for volunteering!).

@orkolorko
Copy link

@BASS10 I'm interested in helping

@jenkspt
Copy link

jenkspt commented Nov 20, 2021

Here's a pretty straightforward implementation of SIFT in pytorch.
https://kornia.readthedocs.io/en/latest/_modules/kornia/feature/siftdesc.html#SIFTDescriptor

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

8 participants