Які існують безкоштовні альтернативи 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.