Was sind einige kostenlose Alternativen zu SIFT / SURF, die in kommerziellen Anwendungen verwendet werden können?

66

Soweit ich weiß, sind sowohl SURF als auch SIFT patentgeschützt.
Gibt es alternative Methoden, die in einer kommerziellen Anwendung frei verwendet werden können?

Weitere Informationen zum Patent finden Sie unter: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html

Andrey Rubshtein
quelle
7
Denken Sie daran, dass sie nur in Ländern patentiert sind, in denen Softwarepatente zugelassen sind. Dies schließt (noch) nicht die Eu
Martin Beckett vom
1
@MartinBeckett, umfasst dies die Entwicklung, Bereitstellung oder beides?
Andrey Rubshtein
2
Das ist das Schwierige an Softwarepatenten. Ein Patent stellt die Herstellung oder den Verkauf in einem Land ein, nicht jedoch die Forschung oder Entwicklung. Was ist nun Softwareentwicklung?
Martin Beckett
Was genau ist in SIFT patentiert? SIFT besteht aus drei Phasen: (i) Aufbau des Skalenraums, (ii) Schlüsselpunktdetektor und (iii) Deskriptorgenerator. Ich habe das Gefühl, dass nur der Descriptor Generator patentiert ist. Hab ich recht? Thanks
Dies ist keine Antwort auf die gestellte Frage und gehört daher eher in die Kommentare als in die Antworten.
Do

Antworten:

62

Sowohl für SIFT- als auch für SURF-Autoren fallen Lizenzgebühren für die Verwendung ihrer ursprünglichen Algorithmen an.

Ich habe etwas über die Situation recherchiert und hier sind die möglichen Alternativen:

Schlüsselpunktdetektor:

  • Harris Eckdetektor
  • Harris-Laplace - skalierungsinvariante Version des Harris-Detektors (es gibt auch eine affine invariante Version, die von Mikolajczyk und Schmidt vorgestellt wurde und die meines Erachtens ebenfalls patentfrei ist).
  • Multi-Scale Oriented Patches (MOPs) - obwohl patentiert, handelt es sich bei dem Detektor im Grunde genommen um den Multi-Scale-Harris, so dass dies kein Problem darstellt (der Deskriptor ist ein 2D-Wavelet-transformiertes Bild-Patch).
  • LoG-Filter - Da das patentierte SIFT die DoG-Näherung (Difference of Gaussian) von LoG (Laplaceian of Gaussian) verwendet, um interessierende Punkte in der Skala zu lokalisieren, kann LoG allein in modifizierten, patentfreien Algorithmen verwendet werden, da die Implementierung möglicherweise etwas langsamer verläuft
  • SCHNELL
  • BRISK (enthält einen Deskriptor)
  • ORB (enthält einen Deskriptor)
  • KAZE - frei verwendbarer M-SURF-Deskriptor (modifiziert für den nichtlinearen Skalenraum von KAZE) übertrifft sowohl SIFT als auch SURF
  • A-KAZE - beschleunigte Version von KAZE, frei verwendbar, M-LDB-Deskriptor (modifizierter schneller Binärdeskriptor)

Schlüsselpunkt-Deskriptor:

  • Normalisierter Gradient - einfache, funktionierende Lösung
  • PCA-transformierter Image-Patch
  • Wavelet-transformiertes Bild-Patch - Details sind in MOPs angegeben, können jedoch zur Vermeidung des Patentproblems unterschiedlich implementiert werden (z. B. unter Verwendung einer anderen Wavelet-Basis oder eines anderen Indexierungsschemas).
  • Histogramm orientierter Farbverläufe
  • GLOH
  • LESH
  • REGE
  • ORB
  • FREAK
  • LDB

Beachten Sie, dass Sie kostenlos eine Rotationsinvarianz erhalten, wenn Sie dem Interessenpunkt eine Ausrichtung zuweisen und das Bildfeld entsprechend drehen. Sogar Harris-Ecken sind rotationsinvariant und der Deskriptor kann auch so gemacht werden.

Eine etwas umfassendere Lösung wird in Hugin durchgeführt, da es auch schwierig war, einen patentfreien Zinspunktdetektor zu haben.

Libor
quelle
Danke für deine Antwort. Wollen sie Könige?
Andrey Rubshtein
1
Ja, beide möchten eine Lizenzgebühr. Der Preis muss ausgehandelt werden, liegt aber bei ca. 20.000 USD / Jahr und die Lizenzgebühr beträgt ca. 5%. Die MOPs sind jetzt von Microsoft patentiert (ich habe Richard Szeliski wegen weiterer Informationen bezüglich des Patents kontaktiert).
Libor
1
Patente sind grundsätzlich öffentlich. Wenn Sie mehr darüber wissen möchten, schauen Sie in Patentdatenbanken nach (z . B. Europäische Datenbank .
Geerten
Sind einige dieser Schlüsselpunktdeskriptoren skalainvariant?
Diego
1
Harris-Laplace ist skalierungsinvariant. Sie können auch andere Detektoren skalierungsinvariant machen, indem Sie die Skalenraummaxima herausfiltern und für jeden erkannten Punkt eine charakteristische Skala berechnen.
Libor
26

Es gibt eine relativ neue Methode, die Sie untersuchen sollten: BRISK , Binary Robust Invariant Scalable Keypoints:

In diesem Artikel schlagen wir BRISK vor, eine neuartige Methode zur Erkennung, Beschreibung und Zuordnung von Schlüsselpunkten. Eine umfassende Auswertung von Benchmark-Datensätzen zeigt BRISKs adaptive, qualitativ hochwertige Leistung wie bei modernsten Algorithmen, allerdings zu einem dramatisch geringeren Rechenaufwand (in einigen Fällen um eine Größenordnung schneller als SURF). Der Schlüssel zur Geschwindigkeit liegt in der Anwendung eines neuartigen FAST-basierten Scale-Space-Detektors in Kombination mit der Zusammenstellung eines Bit-String-Deskriptors aus Intensitätsvergleichen, die durch dedizierte Abtastung jeder Schlüsselpunktnachbarschaft abgerufen werden.

Es ist patentfrei und kostenlos zu verwenden (wie vom Autor des Algorithmus angegeben).

Geerten
quelle
12

Vertraue hier niemandem, sprich mit einem Anwalt. Die Rechtswelt unterscheidet sich geringfügig von unserer, wenn ich sagen darf. Abhängig davon, was genau Sie tun möchten (und wo usw.), gibt es möglicherweise eine Lösung, bei der Sie SURF oder SIFT verwenden können. Ich war in der Vergangenheit überrascht, wie stark Lizenzen überwunden werden können.

Matthias Odisio
quelle
8

Ich würde eher in KAZE / AKAZE schauen, die mit bedeutender Beschleunigung ebenso gut abschneiden. Die Verformungsfälle werden ebenfalls toleriert. OpenCV hat vor kurzem eine Implementierung durch GSoC 2014 erhalten. Sie finden sie hier . Das OpenCV-Tutorial ist auch hier vorhanden .

Tolga Birdal
quelle
Vielen Dank. KAZE sieht vielversprechend aus - es hat eine bessere Gesamtleistung als SIFT / SURF. Obwohl die Berechnung der nichtlinearen Skalenskala schwierig zu implementieren ist, kann sich der Aufwand lohnen.
Libor