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 modifica

Nome Linguaggio Open
Source
Descrizione
Original C++ No Implementazione originale
OpenSURF C++, C# Yes Implementation with detailed documentation and reference paper.
OpenSurfCL C++ Yes Implementazione libera di OpenSURF su OpenCL. Wrapper per C# e Java.
OpenCV SURF C++ Yes Implementazione dell'estrazione di caratteristiche SURF (OpenCV 2.0)
SURFmex MATLAB MATLAB Interface (MEX) per OpenCV's SURF code.
OpenSURF MATLAB MATLAB Yes Interface to OpenSURF for MATLAB
libmv SURF C++ Yes Implementazione di estrazione e confronto.
Python mahotas Python Yes package computer vision che include una implementazione di SURF.
Dlib C++ Library C++ Yes Implementazione dell'estrazione di caratteristiche SURF.
Pan-o-matic C++ Yes Software which includes an implementation of the SURF algorithm.
Parallel SURF[collegamento interrotto] C++ Yes Multi-threaded implementation based on Pan-o-matic.
ProcessorSURF C# Yes C# SURF plugin for Multi-Agent Serving System
JavaSurf Java Yes Implementazione Java di SURF
JOpenSURF Java Yes Traduzione in Java di OpenSURF
ImageJ SURF Java Yes Implementazione di SURF come plugin ImageJ con GUI e statistiche in uscita
BoofCV Java Yes Libreria Java di omputer vision che include SURF.
Speeded Up SURF Yes Implementazione GPU
CUDA SURF C++ CUDA Yes GPU implementazione usando CUDA
Mathematica Mathematica No Implementazione Mathematica
GPU SURF Archiviato il 25 febbraio 2011 in Internet Archive. C++, Cg, CUDA No GPU Implementation
FPGA SURF Archiviato il 1º ottobre 2011 in Internet Archive. Yes FPGA Implementation
clsurf C++ High performance cross platform OpenCL implementation of SURF with nearest neighbors matching
IPOL C++ Yes An implementation of SURF based on the original article with detailed explanations
OpenSurf AS3[collegamento interrotto] AS3 ? AS3 implementation, sources on github

Voci correlate modifica

Collegamenti esterni modifica

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