Jakie są bezpłatne alternatywy dla SIFT / SURF, które można wykorzystać w zastosowaniach komercyjnych?

66

O ile rozumiem, zarówno SURF, jak i SIFT są chronione patentem.
Czy istnieją jakieś alternatywne metody, które można swobodnie stosować w aplikacji komercyjnej ?

Aby uzyskać więcej informacji na temat patentu sprawdź: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html

Andrey Rubshtein
źródło
7
Pamiętaj, że są opatentowane tylko w krajach, które dopuszczają patenty na oprogramowanie - które nie obejmują (jeszcze) UE
Martin Beckett
1
@MartinBeckett, czy obejmuje to programowanie, wdrażanie czy oba?
Andrey Rubshtein
2
to podstępna rzecz w patentach na oprogramowanie. Patent zatrzymuje produkcję lub sprzedaż w danym kraju, ale nie obejmuje badań ani rozwoju. Co to jest tworzenie oprogramowania?
Martin Beckett,
Co dokładnie jest opatentowane w SIFT? SIFT składa się z trzech etapów: (i) Budowa przestrzeni skali, (ii) Keypoint Detector i (iii) Generator deskryptorów. Mam wrażenie, że tylko Generator deskryptorów jest opatentowany. Mam rację? Dzięki
To nie jest odpowiedź na zadane pytanie i jako taka należy do komentarzy, a nie do odpowiedzi.
ThP

Odpowiedzi:

62

Zarówno autorzy SIFT, jak i SURF wymagają opłat licencyjnych za korzystanie z oryginalnych algorytmów.

Przeprowadziłem badania dotyczące tej sytuacji i oto możliwe alternatywy:

Detektor klawiszy:

  • Detektor narożny Harris
  • Harris-Laplace - niezmienna w skali wersja detektora Harrisa (istnieje również afiniczna wersja niezmiennicza, przedstawiona przez Mikołajczyka i Schmidta, i sądzę, że jest również wolna od patentów).
  • Łatki z wieloma skalami (MOP) - mimo że jest opatentowane, wykrywacz jest w zasadzie wieloskalowym Harrisem, więc nie byłoby z tym żadnych problemów (deskryptor to łatka obrazu przekształcona falą 2D)
  • Filtr LoG - ponieważ opatentowany system SIFT wykorzystuje przybliżenie DoG (Różnica Gaussa) LoG (Laplacian Gaussa) do lokalizacji punktów zainteresowania w skali, sam LoG może być używany w zmodyfikowanym, nieobsługującym patentu algorytmie, chociaż wdrożenie może przebiegać nieco wolniej
  • SZYBKI
  • BRISK (zawiera deskryptor)
  • ORB (zawiera deskryptor)
  • KAZE - darmowy, deskryptor M-SURF (zmodyfikowany dla nieliniowej przestrzeni skali KAZE), przewyższa zarówno SIFT, jak i SURF
  • A-KAZE - przyspieszona wersja KAZE, darmowa w użyciu, deskryptor M-LDB (zmodyfikowany szybki binarny deskryptor)

Deskryptor klucza:

  • Znormalizowany gradient - proste, działające rozwiązanie
  • PCA przekształcona poprawka obrazu
  • Łatka z transformowanym obrazem falkowym - szczegóły podano w dokumencie MOP, ale można je wdrożyć inaczej, aby uniknąć problemu patentowego (np. Stosując inną podstawę falkową lub inny schemat indeksowania)
  • Histogram zorientowanych gradientów
  • GLOH
  • LESH
  • ENERGICZNY
  • KULA
  • WYBRYK
  • LDB

Zauważ, że jeśli przypiszesz orientację do punktu zainteresowania i odpowiednio obrócisz łatkę obrazu, otrzymasz niezmienność obrotu za darmo. Nawet narożniki Harrisa są niezmienne obrotowo, a deskryptor może być również wykonany.

Bardziej kompletne rozwiązanie zostało zrobione w Hugin, ponieważ walczyli oni również o posiadanie nieopatentowanego detektora punktów zainteresowania.

Libor
źródło
Dzięki za odpowiedź. Czy chcą rodziny królewskiej?
Andrey Rubshtein
1
Tak, oboje chcą opłaty licencyjnej. Cena musi być negocjowana, ale wynosi około 20 000 USD rocznie, a opłata licencyjna wynosi około 5%. MOP jest teraz opatentowany przez Microsoft (skontaktowałem się z Richardem Szeliskim, aby uzyskać więcej informacji na temat patentu).
Libor,
1
Patenty są w zasadzie publiczne, więc jeśli chcesz dowiedzieć się więcej na ten temat, przejrzyj je w bazach patentowych (np. European Database .
Geerten
Czy któryś z tych kluczowych symboli nie zmienia skali?
Diego
1
Harris-Laplace jest niezmienny w skali. Lub możesz sprawić, że inne detektory będą niezmienne przez skalowanie, odfiltrowując maksima przestrzeni skali i obliczając charakterystyczną skalę dla każdego wykrytego punktu.
Libor,
26

Istnieje stosunkowo nowa metoda, którą warto przyjrzeć się: BRISK , Binary Robust Invariant Scalable Keypoints:

W tym artykule proponujemy BRISK, nowatorską metodę wykrywania, opisu i dopasowywania kluczowych punktów. Kompleksowa ocena zestawów danych porównawczych ujawnia adaptacyjną, wysokiej jakości wydajność BRISK, jak w najnowocześniejszych algorytmach, aczkolwiek przy znacznie niższym koszcie obliczeniowym (w niektórych przypadkach o rząd wielkości szybszym niż SURF). Kluczem do szybkości jest zastosowanie nowatorskiego detektora opartego na skali FAST w przestrzeni w połączeniu z zestawem deskryptora łańcucha bitów z porównań intensywności uzyskanych przez dedykowane próbkowanie każdego sąsiedztwa klucza.

Jest wolny od patentów i darmowy (jak powiedział autor algorytmu).

Geerten
źródło
12

Nie ufaj nikomu tutaj, porozmawiaj z prawnikiem. Świat prawny jest nieco inny niż nasz, jeśli mogę tak powiedzieć. W zależności od tego, co dokładnie chcesz zrobić (i gdzie itp.), Może istnieć rozwiązanie, w którym możesz użyć SURF lub SIFT. W przeszłości byłem zaskoczony tym, jak pozornie silne licencje można pokonać.

Matthias Odisio
źródło
8

Wolę przyjrzeć się KAZE / AKAZE, które osiągają równie dobre wyniki przy znacznym przyspieszeniu. Przypadki deformacji są również tolerowane. OpenCV niedawno uzyskał implementację poprzez GSoC 2014. Można go znaleźć tutaj . Tu jest także samouczek OpenCV .

Tolga Birdal
źródło
Dzięki. KAZE wygląda obiecująco - ma lepszą ogólną wydajność niż SIFT / SURF. Chociaż obliczenia w skali nieliniowej mogą być trudne do wdrożenia, mogą być warte wysiłku.
Libor,