Quelles sont certaines des alternatives gratuites à SIFT / SURF qui peuvent être utilisées dans des applications commerciales?

66

Autant que je sache, SURF et SIFT sont tous deux protégés par un brevet.
Existe-t-il d'autres méthodes utilisables librement dans une application commerciale ?

Pour plus d'informations sur la vérification des brevets: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html

Andrey Rubshtein
la source
7
N'oubliez pas qu'ils ne sont brevetés que dans les pays autorisant les brevets de logiciels - ce qui ne comprend pas (encore) l'UE
Martin Beckett
1
@MartinBeckett, cela couvre-t-il le développement, le déploiement ou les deux?
Andrey Rubshtein
2
c'est la chose la plus délicate à propos des brevets logiciels. Un brevet arrête la fabrication ou la vente dans un pays mais pas la recherche ou le développement. Maintenant, quel est le développement de logiciels?
Martin Beckett
Qu'est-ce qui est breveté dans SIFT? SIFT comporte trois étapes: (i) la construction de l'espace de la balance, (ii) le détecteur de points-clés et (iii) le générateur de descripteur. Mon sentiment est que seul le Descriptor Generator est breveté. Ai-je raison? Merci
Ce n'est pas une réponse à la question posée, et en tant que telle appartient aux commentaires plutôt qu'aux réponses.
ThP

Réponses:

62

Les auteurs SIFT et SURF exigent des droits de licence pour l’utilisation de leurs algorithmes originaux.

J'ai fait des recherches sur la situation et voici les alternatives possibles:

Détecteur de points clés:

  • Détecteur d'angle Harris
  • Harris-Laplace - version invariante d'échelle du détecteur Harris (une version invariante affine existe également, présentée par Mikolajczyk et Schmidt et, à mon avis, est également sans brevet).
  • Patchs orientés multi-échelles - bien qu’il soit breveté, le détecteur est essentiellement le Harris multi-échelles, il n’y aurait donc aucun problème (le descripteur est un patch d’image 2D transformé en ondelettes)
  • Filtre LoG - puisque la SIFT brevetée utilise l'approximation DoG (Différence de Gauss) de LoG (Laplacien de Gaussien) pour localiser les points d'intérêt en échelle, LoG seule peut être utilisée dans un algorithme modifié et exempt de brevet, mais sa mise en œuvre pourrait être un peu plus lente.
  • VITE
  • BRISK (inclut un descripteur)
  • ORB (inclut un descripteur)
  • KAZE - libre d'utilisation, le descripteur M-SURF (modifié pour l'espace non linéaire de KAZE), surpasse les performances de SIFT et de SURF
  • A-KAZE - version accélérée de KAZE, libre d'utilisation, descripteur M-LDB (descripteur binaire rapide modifié)

Descripteur du point clé:

  • Gradient normalisé - solution simple et efficace
  • Patch d'image transformé par PCA
  • Image transformée en ondelettes - les détails sont donnés dans le document MOPs, mais peuvent être implémentés différemment pour éviter le problème de brevet (par exemple, en utilisant une base d'ondelettes différente ou un schéma d'indexation différent)
  • Histogramme des gradients orientés
  • GLOH
  • LESH
  • RAPIDE
  • ORBE
  • FREAK
  • LDB

Notez que si vous affectez une orientation au point d’intérêt et que vous faites pivoter le patch d’image en conséquence, vous bénéficiez d’une invariance par rotation gratuite. Même les angles de Harris sont invariants par rotation et le descripteur peut être créé de la même manière.

Hugin a mis au point une solution plus complète, car il lui était également difficile de disposer d’un détecteur de points d’intérêt sans brevet.

Libor
la source
Merci pour votre réponse. Veulent-ils la royauté?
Andrey Rubshtein
1
Oui, les deux veulent une redevance. Le prix doit être négocié, mais il tourne autour de 20 000 USD / an et la redevance est d’environ 5%. Les brevets sont maintenant brevetés par Microsoft (j'ai contacté Richard Szeliski pour plus d'informations concernant le brevet).
Libor
1
Les brevets sont en principe publics, alors si vous voulez en savoir plus, consultez-les dans des bases de données sur les brevets (par exemple, European Database .
Geerten
Certains de ces descripteurs de points-clés sont-ils invariants en termes d'échelle?
Diego
1
Harris-Laplace est invariant à l'échelle. Vous pouvez également faire en sorte que les autres détecteurs restent invariants en fonction de l'échelle en filtrant les maxima d'espace d'échelle et en calculant une échelle caractéristique pour chaque point détecté.
Libor
26

Il existe une méthode relativement nouvelle que vous voudrez peut-être examiner: BRISK , Points clés clés évolutifs invariants robustes binaires:

Dans cet article, nous proposons BRISK, une nouvelle méthode de détection, de description et d’appariement de points-clés. Une évaluation complète des ensembles de données de référence révèle les performances adaptatives et de haute qualité de BRISK comme dans les algorithmes de pointe, bien qu’à un coût de calcul considérablement inférieur (un ordre de grandeur plus rapide que SURF dans certains cas). La clé de la rapidité réside dans l'application d'un nouveau détecteur FAST à échelle d'échelle en combinaison avec l'assemblage d'un descripteur de chaîne de bits à partir de comparaisons d'intensité récupérées par échantillonnage dédié de chaque voisinage de points-clés.

Il est libre de droit et gratuit d'utilisation (comme l'a dit l'auteur de l'algorithme).

Geerten
la source
12

Ne fais confiance à personne, parle à un avocat. Le monde juridique est légèrement différent du nôtre, si je puis dire. Selon ce que vous voulez faire exactement (et où, etc.), il peut exister une solution permettant d’utiliser SURF ou SIFT. J'ai été surpris par le passé de voir comment des licences apparemment puissantes peuvent être surmontées.

Matthias Odisio
la source
8

Je préférerais me tourner vers KAZE / AKAZE, qui fonctionnent tout aussi bien avec une accélération significative. Les cas de déformation sont également tolérés. OpenCV a récemment obtenu une implémentation via GSoC 2014. Vous pouvez le trouver ici . Son tutoriel OpenCV est également présent ici .

Tolga Birdal
la source
Merci. KAZE semble prometteur - sa performance globale est meilleure que celle de SIFT / SURF. Bien que le calcul d'échelle non linéaire puisse être difficile à mettre en œuvre, l'effort en vaut la peine.
Libor