Quali sono alcune alternative gratuite a SIFT / SURF che possono essere utilizzate in applicazioni commerciali?


66

Per quanto ne so, sia SURF che SIFT sono protetti da brevetto.
Esistono metodi alternativi che possono essere utilizzati in una pubblicità liberamente in un'applicazione ?

Per maggiori informazioni sul brevetto, consulta: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html


7
Ricorda che sono brevettati solo in paesi che consentono brevetti software - che non include (ancora) l'Eu
Martin Beckett,

1
@MartinBeckett, copre lo sviluppo, la distribuzione o entrambi?
Andrey Rubshtein,

2
questa è la cosa delicata dei brevetti software. Un brevetto interrompe la produzione o la vendita in un paese ma non la ricerca o lo sviluppo. Ora cos'è lo sviluppo del software?
Martin Beckett,

Cosa è esattamente brevettato in SIFT? SIFT ha tre fasi: (i) Costruzione dello spazio di scala, (ii) Rilevatore di punti chiave e (iii) Generatore di descrittori. La mia sensazione è che solo il generatore di descrittori sia brevettato. Ho ragione? Grazie

Questa non è una risposta alla domanda posta e come tale appartiene ai commenti piuttosto che alle risposte.
Giovedì

Risposte:


62

Entrambi gli autori SIFT e SURF richiedono costi di licenza per l'utilizzo dei loro algoritmi originali.

Ho fatto alcune ricerche sulla situazione e qui ci sono le possibili alternative:

Rilevatore di punti chiave:

  • Rilevatore d'angolo Harris
  • Harris-Laplace - versione invariante in scala del rivelatore Harris (esiste anche una versione invariante affine, presentata da Mikolajczyk e Schmidt, e credo sia anche senza brevetto).
  • Patch orientate su più scale (MOP) - sebbene sia brevettato, il rilevatore è fondamentalmente l'Harris multi-scala, quindi non ci sarebbero problemi (il descrittore è patch di immagine trasformata in wavelet 2D)
  • Filtro LoG - poiché il SIFT brevettato utilizza l'approssimazione DoG (differenza di gaussiana) di LoG (lapponia di gaussiano) per localizzare i punti di interesse in scala, LoG da solo può essere utilizzato in un algoritmo modificato e privo di brevetti, difficile l'implementazione potrebbe essere leggermente più lenta
  • VELOCE
  • BRISK (include un descrittore)
  • ORB (include un descrittore)
  • KAZE - descrittore M-SURF gratuito da usare (modificato per lo spazio su scala non lineare di KAZE), supera sia SIFT che SURF
  • A-KAZE - versione accelerata di KAZE, gratis da usare, descrittore M-LDB (descrittore binario veloce modificato)

Descrittore di punti chiave:

  • Gradiente normalizzato: soluzione semplice e funzionante
  • Patch di immagine trasformata PCA
  • Patch di immagine trasformata con wavelet: i dettagli sono riportati nel documento MOP, ma possono essere implementati in modo diverso per evitare il problema dei brevetti (ad es. Utilizzando diverse basi wavelet o diversi schemi di indicizzazione)
  • Istogramma dei gradienti orientati
  • GLOH
  • LESH
  • BRISK
  • ORB
  • FREAK
  • LDB

Si noti che se si assegna l'orientamento al punto di interesse e si ruota di conseguenza la patch dell'immagine, si ottiene l'invarianza rotazionale gratuitamente. Anche gli angoli di Harris sono invarianti a livello di rotazione e anche il descrittore può essere creato.

Qualche soluzione più completa viene fatta in Hugin, perché hanno anche lottato per avere un rilevatore di punti di interesse privo di brevetti.


Grazie per la tua risposta. Vogliono i reali?
Andrey Rubshtein,

1
Sì, entrambi vogliono una commissione. Il prezzo deve essere negoziato, ma si aggira intorno ai 20.000 USD / anno e il canone è di circa il 5%. I MOP sono ora brevettati da Microsoft (ho contattato Richard Szeliski per maggiori informazioni sul brevetto).
Libor

1
I brevetti sono in linea di principio pubblici, quindi se vuoi saperne di più,
cercali

Qualcuno di questi descrittori di punti chiave è invariante in scala?
Diego,

1
Harris-Laplace è invariante in scala. Oppure puoi rendere invarianti gli altri rilevatori in scala filtrando i massimi dello spazio scala e calcolando una scala caratteristica per ciascun punto rilevato.
Libor,

26

Esiste un metodo relativamente nuovo, che potresti voler esaminare: BRISK , Keypoints scalabili invarianti robusti binari:

In questo articolo proponiamo BRISK, un nuovo metodo per il rilevamento, la descrizione e la corrispondenza dei punti chiave. Una valutazione completa sui set di dati di riferimento rivela le prestazioni adattive e di alta qualità di BRISK come negli algoritmi all'avanguardia, sebbene a un costo computazionale drasticamente inferiore (un ordine di grandezza più veloce di SURF nei casi). La chiave per la velocità sta nell'applicazione di un nuovo rivelatore basato su FAST nello spazio di scala in combinazione con l'assemblaggio di un descrittore di stringhe di bit dai confronti di intensità recuperati dal campionamento dedicato di ciascun quartiere di punti chiave.

È privo di brevetti e gratuito (come è stato detto dall'autore dell'algoritmo).


12

Non fidarti di nessuno qui, parla con un avvocato. Il mondo legale è leggermente diverso dal nostro, se posso dire. A seconda di cosa esattamente vuoi fare (e dove, ecc.), Potrebbe esserci una soluzione in cui puoi usare SURF o SIFT. In passato sono stato sorpreso di quanto possano essere superate licenze apparentemente forti.


8

Preferirei esaminare KAZE / AKAZE, che funziona altrettanto bene con una notevole velocità. Anche i casi di deformazione sono tollerati. OpenCV ha recentemente ottenuto un'implementazione tramite GSoC 2014. Puoi trovarla qui . Il tutorial OpenCV è presente anche qui .


Grazie. KAZE sembra promettente: ha prestazioni complessive migliori rispetto a SIFT / SURF. Sebbene il calcolo della scala su scala non lineare possa essere difficile da implementare, può valere la pena.
Libor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.