І автори SIFT, і SURF вимагають ліцензійні внески за використання своїх оригінальних алгоритмів.
Я провів кілька досліджень щодо ситуації, і ось можливі альтернативи:
Детектор ключових точок:
- Кутовий детектор Харріса
- Гарріс-Лаплас - інваріантна версія детектора Гарріса (існує також афінна інваріантна версія, представлена Миколайчиком та Шмідтом, і я вважаю, що це також без патенту).
- Багатомасштабні орієнтовані патчі (MOP) - якщо він запатентований, детектор в основному є багатомасштабним Харрісом, тому проблем з цим не виникне (дескриптор - це двовимірний патч зображення, трансформований вейвлетом)
- LoG фільтр - оскільки запатентований SIFT використовує DoG (різницю Гауссова) апроксимацію LoG (Лаплаціан Гаусса) для локалізації точок інтересу в масштабі, лише LoG може використовуватися в модифікованому алгоритмі без патенту, але реалізація може працювати трохи повільніше
- ШВИДКО
- БРИСК (включає дескриптор)
- ORB (включає дескриптор)
- KAZE - дескриптор M-SURF - вільний у користуванні (модифікований для нелінійного простору масштабів KAZE), перевершує як SIFT, так і SURF
- A-KAZE - прискорена версія KAZE, безкоштовна у використанні, дескриптор M-LDB (модифікований швидкий бінарний дескриптор)
Дескриптор ключових точок:
- Нормалізований градієнт - просте, робоче рішення
- PCA трансформований патч зображень
- Патч зображень, трансформованих вейвлетом - деталі наведені у папці ЗВ, але можуть бути реалізовані по-різному, щоб уникнути випуску патенту (наприклад, використовуючи різну основу вейвлет або іншу схему індексації)
- Гістограма орієнтованих градієнтів
- GLOH
- ЛЕШ
- КРИТКА
- ОРБ
- ФРЕЙК
- ЛДБ
Зауважте, що якщо призначити орієнтацію в точці інтересу і відповідно обертати патч зображення, ви отримуєте обертальну інваріантність безкоштовно. Навіть куточки Гарріса ротаційно інваріантні, і дескриптор також може бути зроблений.
Дещо більш повне рішення зроблено в Хугіні, оскільки вони також боролися за створення патентного детектора інтересів.