Які існують безкоштовні альтернативи SIFT / SURF, які можна використовувати в комерційних програмах?


66

Наскільки я розумію, і SURF, і SIFT захищені патентом.
Чи існують альтернативні методи, які можна вільно використовувати в комерційній програмі?

Для отримання додаткової інформації про перевірку патенту: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html


7
Пам’ятайте, що вони запатентовані лише в тих країнах, які дозволяють патенти на програмне забезпечення - до яких поки що не входить Eu
— Martin Beckett

1
@MartinBeckett, чи охоплює це розробка, розгортання чи те і інше?
— Андрій Рубштейн

2
ось що складно в патентах на програмне забезпечення. Патент припиняє виробництво чи продаж у країні, але не займається дослідженнями та розробками. Тепер що таке розробка програмного забезпечення?
— Мартін Бекетт

Що саме запатентовано в SIFT? SIFT має три етапи: (i) побудова простору масштабу, (ii) детектор ключових точок та (iii) генератор дескрипторів. Я відчуваю, що запатентований лише Генератор дескрипторів. Я прав? Спасибі

Це не відповідь на поставлене запитання, і як таке належить до коментарів, а не до відповідей.
— Чт

Відповіді:


62

І автори SIFT, і SURF вимагають ліцензійні внески за використання своїх оригінальних алгоритмів.

Я провів кілька досліджень щодо ситуації, і ось можливі альтернативи:

Детектор ключових точок:

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

Дескриптор ключових точок:

  • Нормалізований градієнт - просте, робоче рішення
  • PCA трансформований патч зображень
  • Патч зображень, трансформованих вейвлетом - деталі наведені у папці ЗВ, але можуть бути реалізовані по-різному, щоб уникнути випуску патенту (наприклад, використовуючи різну основу вейвлет або іншу схему індексації)
  • Гістограма орієнтованих градієнтів
  • GLOH
  • ЛЕШ
  • КРИТКА
  • ОРБ
  • ФРЕЙК
  • ЛДБ

Зауважте, що якщо призначити орієнтацію в точці інтересу і відповідно обертати патч зображення, ви отримуєте обертальну інваріантність безкоштовно. Навіть куточки Гарріса ротаційно інваріантні, і дескриптор також може бути зроблений.

Дещо більш повне рішення зроблено в Хугіні, оскільки вони також боролися за створення патентного детектора інтересів.


Дякую за вашу відповідь. Вони хочуть роялті?
— Андрій Рубштейн

1
Так, обидва хочуть гонорару за роялті. Ціну потрібно узгодити, але вона становить близько 20 000 доларів США / рік, а плата за роялті становить близько 5%. Тепер MOP патентовано Microsoft (я зв’язався з Річардом Шеліскі для отримання додаткової інформації щодо патенту).
— Libor

1
Патенти в принципі є загальнодоступними, тому якщо ви хочете дізнатися більше про це, загляньте в патентні бази даних (наприклад, Європейська база даних .
— Geerten

Чи є який-небудь з цих дескрипторів ключових точок-інваріант?
— Дієго

1
Харріс-Лаплас - інваріантний за масштабами. Або ви можете зробити інші детектори інваріантними за шкалою, відфільтрувавши максимум простору масштабу та обчисливши характерну шкалу для кожної виявленої точки.
— Libor

26

Існує порівняно новий метод, який ви, можливо, захочете вивчити: BRISK , Binary Robust Invariant Scalable Keypoints:

У цій роботі ми пропонуємо BRISK - новий метод виявлення, опису та узгодження ключових точок. Комплексне оцінювання наборів даних орієнтирів виявляє адаптивну, високу якість роботи BRISK, як у сучасних алгоритмах, хоча і при різко нижчих обчислювальних витратах (на порядок швидше, ніж SURF у випадках). Ключ до швидкості полягає у застосуванні нового детектора на основі FAST на основі масштабу в поєднанні з складанням біткордного дескриптора зі порівняння інтенсивності, отриманого за допомогою спеціальної вибірки кожного мікрорайону ключових точок.

Це без патенту та вільне у використанні (як розповів автор алгоритму).


12

Не довіряйте нікому тут, поговоріть з юристом. Юридичний світ дещо відрізняється від нашого, якщо можна сказати. Залежно від того, що саме ви хочете зробити (а де і т.д.), може бути рішення, де ви могли використовувати SURF або SIFT. Я в минулому дивувався тому, як, здавалося б, потужні ліцензії можна подолати.


8

Я б скоріше заглянув у KAZE / AKAZE, які однаково добре справляються зі значним прискоренням. Випадки деформації також допускаються. OpenCV нещодавно отримала реалізацію через GSoC 2014. Ви можете знайти її тут . Тут також присутній її підручник з OpenCV .


Дякую. KAZE виглядає багатообіцяючим - він має кращу загальну продуктивність, ніж SIFT / SURF. Хоча обчислення нелінійної шкали може бути важко здійснити, це може вартувати зусиль.
— Libor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.