Какие бесплатные альтернативы SIFT / SURF можно использовать в коммерческих приложениях?

66

Насколько я понимаю, SURF и SIFT защищены патентами.
Существуют ли альтернативные методы, которые можно свободно использовать в коммерческом приложении?

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

Андрей Рубштейн
источник
7
Помните, что они запатентованы только в тех странах, где разрешены патенты на программное обеспечение, которые (пока) не включают ЕС
Мартин Беккет
1
@MartinBeckett, это касается разработки, развертывания или того и другого?
Андрей Рубштейн
2
это сложная вещь о патентах на программное обеспечение. Патент останавливает производство или продажу в стране, но не занимается исследованиями или разработками. Теперь, что такое разработка программного обеспечения?
Мартин Беккет
Что именно запатентовано в SIFT? SIFT имеет три этапа: (i) построение масштабного пространства, (ii) детектор ключевых точек и (iii) генератор дескрипторов. Я чувствую, что запатентован только генератор дескрипторов. Я прав? Спасибо
Это не ответ на заданный вопрос, и поэтому он относится к комментариям, а не к ответам.
THP

Ответы:

62

Авторы SIFT и SURF требуют лицензионных сборов за использование своих оригинальных алгоритмов.

Я провел некоторое исследование ситуации и вот возможные альтернативы:

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

  • Детектор углов Harris
  • Харрис-Лаплас - масштабно-инвариантная версия детектора Харриса (также существует аффинно-инвариантная версия, представленная Миколайчиком и Шмидтом, и я считаю, что она также не защищена патентом).
  • Multi-Scale Oriented Patches (MOP) - несмотря на то, что он запатентован, детектор в основном является многомасштабным Harris, поэтому с этим проблем не возникнет (дескриптор представляет собой 2D-вейвлет-преобразованный патч изображения)
  • Фильтр LoG - поскольку запатентованный SIFT использует приближение DoG (разность по Гауссу) к LoG (лапласиан по Гауссу) для локализации точек интереса по шкале, только LoG можно использовать в модифицированном, не патентованном алгоритме, хотя реализация может работать немного медленнее
  • БЫСТРЫЙ
  • BRISK (включает дескриптор)
  • ORB (включает дескриптор)
  • KAZE - бесплатный в использовании дескриптор M-SURF (модифицированный для нелинейного масштабного пространства KAZE), превосходящий как SIFT, так и SURF
  • A-KAZE - ускоренная версия KAZE, бесплатная для использования, дескриптор M-LDB (модифицированный быстрый двоичный дескриптор)

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

  • Нормализованный градиент - простое, рабочее решение
  • PCA преобразованный патч изображения
  • Вейвлет-преобразованный патч изображения - подробности приведены в документе MOP, но могут быть реализованы по-разному, чтобы избежать выдачи патента (например, с использованием другой вейвлет-базы или другой схемы индексации)
  • Гистограмма ориентированных градиентов
  • глох
  • Леш
  • BRISK
  • ORB
  • ИГРА
  • БОД

Обратите внимание, что если вы назначите ориентацию на точку интереса и соответственно повернете участок изображения, вы получите вращательную инвариантность бесплатно. Даже углы Харриса вращательно инвариантны, и дескриптор может быть сделан таким же образом.

Некоторое более полное решение сделано в Hugin, потому что они также изо всех сил пытались иметь беспатентный детектор точки интереса.

ЛИБОР
источник
Спасибо за Ваш ответ. Они хотят роялти?
Андрей Рубштейн
1
Да, они оба хотят гонорар. Цена должна быть оговорена, но она составляет около 20 000 долларов США в год, а лицензионный сбор составляет около 5%. MOP теперь запатентованы Microsoft (я связался с Ричардом Шелиски для получения дополнительной информации о патенте).
Libor
1
Патенты в принципе являются публичными, поэтому, если вы хотите узнать о них больше, посмотрите их в патентных базах данных (например, Европейская база данных .
Geerten
Являются ли какие-либо из этих дескрипторов ключевых точек масштаб-инвариантными?
Диего
1
Харрис-Лаплас является масштабно-инвариантным. Или вы можете сделать другие детекторы инвариантными к масштабированию, отфильтровывая максимумы масштабного пространства и вычисляя характерный масштаб для каждой обнаруженной точки.
Либор
26

Существует относительно новый метод, который вы можете рассмотреть: BRISK , бинарные робастные инвариантные масштабируемые ключевые точки:

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

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

Geerten
источник
12

Не доверяйте никому здесь, поговорите с адвокатом. Правовой мир несколько отличается от нашего, если можно так выразиться. В зависимости от того, что именно вы хотите сделать (и где и т. Д.), Может быть решение, в котором вы можете использовать SURF или SIFT. В прошлом я был удивлен, как, казалось бы, сильные лицензии можно преодолеть.

Матиас Одисио
источник
8

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

Толга Бердал
источник
Благодарю. KAZE выглядит многообещающе - он имеет лучшую общую производительность, чем SIFT / SURF. Хотя вычисление нелинейного масштабного масштаба может быть трудным для реализации, оно может стоить усилий.
Либор