Speeded Up Robust Feature

In informatica un algoritmo Speeded Up Robust Feature o in sigla SURF è un rilevatore robusto di caratteristiche locali di una immagine presentato da Herbert Bay nel 2006 che può essere usato nell'ambito del riconoscimento di oggetti e ricostruzione 3D in Computer vision. È parzialmente ispirato al descrittore scale-invariant feature transform (SIFT). La versione standard di SURF è diverse volte più veloce di SIFT e come dichiarano i suoi autori più robusta tra diverse trasformazioni di immagini rispetto a SIFT. SURF si basa sulle risposte della wavelet di Haar 2D e fa un uso efficiente di immagini integrali. Per rilevare punti di interesse, SURF usa un'approssimazione intera del determinante del rilevatore blob di Hessian, che può essere calcolato con 3 operazioni intere usando un'immagine integrale precalcolata. Il suo descrittore di caratteristiche è basato sulla somma della risposta della wavelet Haar intorno al punto di interesse; il quale anch'esso può essere calcolato con l'aiuto di un'immagine integrale. I descrittori SURF possono essere usati per localizzare e riconoscere oggetti, persone o facce, per creare scene 3D, per tracciare oggetti e per estrarre punti di interesse. Un'applicazione dell'algoritmo è brevettata negli Stati Uniti d'America.

Implementazioni

NomeLinguaggioOpen
Source
Descrizione
OriginalC++NoImplementazione originale
OpenSURFC++, C#YesImplementation with detailed documentation and reference paper.
OpenSurfCLC++YesImplementazione libera di OpenSURF su OpenCL. Wrapper per C# e Java.
OpenCV SURFC++YesImplementazione dell'estrazione di caratteristiche SURF (OpenCV 2.0)
SURFmexMATLABMATLAB Interface (MEX) per OpenCV's SURF code.
OpenSURF MATLABMATLABYesInterface to OpenSURF for MATLAB
libmv SURFC++YesImplementazione di estrazione e confronto.
Python mahotasPythonYespackage computer vision che include una implementazione di SURF.
Dlib C++ LibraryC++YesImplementazione dell'estrazione di caratteristiche SURF.
Pan-o-maticC++YesSoftware which includes an implementation of the SURF algorithm.
Parallel SURF[collegamento interrotto]C++YesMulti-threaded implementation based on Pan-o-matic.
ProcessorSURFC#YesC# SURF plugin for Multi-Agent Serving System
JavaSurfJavaYesImplementazione Java di SURF
JOpenSURFJavaYesTraduzione in Java di OpenSURF
ImageJ SURFJavaYesImplementazione di SURF come plugin ImageJ con GUI e statistiche in uscita
BoofCVJavaYesLibreria Java di omputer vision che include SURF.
Speeded Up SURFYesImplementazione GPU
CUDA SURFC++ CUDAYesGPU implementazione usando CUDA
MathematicaMathematicaNoImplementazione Mathematica
GPU SURF Archiviato il 25 febbraio 2011 in Internet Archive.C++, Cg, CUDANoGPU Implementation
FPGA SURF Archiviato il 1º ottobre 2011 in Internet Archive.YesFPGA Implementation
clsurfC++High performance cross platform OpenCL implementation of SURF with nearest neighbors matching
IPOLC++YesAn implementation of SURF based on the original article with detailed explanations
OpenSurf AS3[collegamento interrotto]AS3?AS3 implementation, sources on github

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica