SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Evaluation of Keypoint Detectors and Descriptors
Francisco Assis da Silva1
, Maria Stela V. de Paiva2
1
Universidade do Oeste Paulista – Unoeste/FIPP
Presidente Prudente/SP, Brasil
2
Escola de Engenharia de São Carlos – Universidade de São
Paulo – USP, São Carlos/SP
chico@unoeste.br, mstela@sc.usp.br
Almir Olivette Artero, Marco Antonio Piteri
Universidade Estadual Paulista – Unesp
Faculdade de Ciências e Tecnologia – FCT
Presidente Prudente/SP, Brasil
{almir, piteri}@fct.unesp.br
Abstract—This paper presents a comparative study using
different combinations of keypoint detectors and descriptors,
applied in pairs of digital images (Object/Scene) in which the
scene images were degraded by: blurring, scale, lighting,
rotation, noise and all these degradations at the same time. All
combinations were analyzed using the detectors: SIFT, SURF,
FAST, STAR, MSER, GFTT (with Harris), GFTT and ORB; and
the descriptors: SIFT, SURF, BRIEF and ORB. The parameters
observed in this study are processing time, number of inliers and
generating of homographic matrix capable to accomplish
satisfactorily the matching between object and scene images. The
results of this study can be of great importance for the choice of
these techniques in applications that require high precision or
low processing time, or even treatment of images that have been
degraded in a previously known way.
Keywords — object recognition, local features, keypoint
detectors; keypoint descriptors.
I. INTRODUÇÃO
A identificação de pontos de interesse em imagens e a sua
descrição têm sido usadas em uma grande variedade de
aplicações, podendo-se citar: o reconhecimento de objetos [1]
[2][3][4], a construção de mosaicos de imagens [5], o
mapeamento visual [6], a reconstrução 3D [3], a recuperação
de imagem [2] e a localização de câmera [3]. Por conta disto,
ao longo dos últimos anos, surgiram várias propostas para
resolver este problema. Em geral, essa tarefa é realizada em
dois passos, sendo inicialmente usado um detector de pontos
chaves da imagem e, no passo seguinte, usado um descritor,
capaz de gerar atributos capazes de descrever os pontos chaves.
A inclusão dos algoritmos mais relevantes na biblioteca
OpenCV [7] tem facilitado bastante a implementação de
sistemas que usam estes recursos. Entretanto, a escolha de um
deles nem sempre é uma tarefa simples, por causa da falta de
informações a respeito de suas vantagens e desvantagens.
Assim, neste artigo, é apresentada uma análise da qualidade de
diferentes combinações detector / descritor destes operadores
mais conhecidos.
Um dos propósitos dos descritores locais invariantes é
prover uma representação que permita a correspondência de
estruturas locais entre imagens, o que é feito a partir da
obtenção de um conjunto de medidas locais que capturam a
essência das imagens [4]. Durante os últimos anos, métodos
usando descritores locais se tornaram os preferidos em
diferentes campos de Visão de Computacional.
Mudanças de escala, orientação, pontos de vista, ou
distorções como borramentos, alterações de iluminação ou
oclusão torna a tarefa de reconhecimento de objetos ainda mais
difícil. Investigações recentes [2][4][8][17] sugerem que o uso
de descritores locais é um bom caminho a seguir. Descritores
locais correspondem à informação que é provida pela área em
torno de um conjunto de pontos chave, que são distintos e têm
elevado conteúdo de informação. A comparação de dois
descritores locais é feita usando uma medida de distância,
como a distância Euclidiana, Hamming ou outra [8].
As demais seções deste artigo estão organizadas da seguinte
maneira: na Seção II são apresentados os principais detectores
e descritores de pontos chave; na Seção III é apresentado um
estudo comparativo, usando estes descritores em imagens que
sofreram degradações; por fim, são apresentadas as conclusões
e trabalhos futuros.
II. REVISÃO BIBLIOGRÁFICA
Nessa seção é apresentada uma revisão dos principais
algoritmos detectores e descritores de pontos chave,
disponíveis na biblioteca de Visão Computacional OpenCV
[7]. Os algoritmos investigados neste trabalho são:
• Detectores e Descritores: SIFT, SURF, ORB;
• Descritor: BRIEF;
• Detectores: FAST, STAR, MSER, GFTT (com Harris
ou CornerMinEigenVal – Autovalores).
A. SIFT
O algoritmo SIFT (Scale Invariant Feature Transform),
proposto por Lowe [1] consegue identificar e descrever pontos
chave em imagens, o que é feito através de um mapeamento
com diferentes vistas de um objeto ou cena, resultando em um
vetor com 128 valores que descrevem cada ponto chave da
imagem. O algoritmo consiste nas seguintes etapas:
Detecção de extremos no espaço-escala: os pontos chave
são detectados aplicando um filtro em cascata que identifica os
candidatos, que são invariantes à escala, usando uma função
que procura por descritores estáveis ao longo de diferentes
escalas. O espaço-escala é definido com a função L(x,y,σ) na
Equação 1, com uma imagem de entrada I(x,y) [9].
L(x,y,σ) = G(x,y,σ) * I(x,y) (1)
onde * é a convolução com a Gaussiana G(x,y,σ) na Equação 2.
222
2/)(
2
2
1
),,( σ
πσ
σ yx
eyxG +−
= (2)
Para detectar localização de pontos chave estáveis no
espaço-escala, Lowe [10] propôs o uso da função de diferença
Gaussiana (DoG) no espaço-escala convoluída com a imagem
I(x,y), resultando em D(x,y,σ), a qual pode ser calculada a
partir de duas escalas próximas separadas por um fator
multiplicativo constante k, como na Equação 3.
D(x,y,σ) = (G(x,y,kσ) – G(x,y,σ)) * I(x,y) (3)
Detecção de extremos locais: a partir de D(x,y,σ),
Lowe [1] sugere que os máximos e mínimos locais devem ser
detectados pela comparação de cada pixel com os seus oito
vizinhos na imagem corrente e nove vizinhos nas escalas
superior e inferior (26 vizinhos).
Atribuição de orientação: a escala do ponto chave é usada
para selecionar a imagem suavizada pela Gaussiana L, com a
escala mais próxima, de modo que toda a computação seja
realizada de modo invariante à escala. O gradiente de
magnitude m(x,y) é obtido com a Equação 4.
22
),( yxyxm ∆+∆= (4)
onde ∆x = L(x + 1, y) − L(x − 1, y) e ∆y = L(x, y + 1) −
L(x, y − 1). A orientação θ(x,y) é calculada pela Equação 5.
)/arctan(),( xyyx ∆∆=θ (5)
Descrição dos pontos chave: calcula um descritor para
cada região da imagem local, que é distinta e invariante a
variações adicionais, tais como mudanças na iluminação ou
ponto de vista 3D.
B. SURF
SURF (Speeded Up Robust Features Algorithm) [11] é um
detector e descritor de pontos chave invariante a rotação e a
escala, que é computacionalmente muito rápido. O detector de
descritores SURF é baseado na matriz Hessiana. O
determinante da matriz Hessiana é usado para determinar a
localização e escala do descritor. Dado um ponto p = (x,y) na
imagem I, a matriz Hessiana H(x,σ) em p na escala σ é
definida como segue:






=
),(),(
),(),(
),(
σσ
σσ
σ
xLxL
xLxL
xH
yyxy
xyxx
(6)
onde ),( σxLxx
é a convolução da derivada de segunda ordem
da Gaussiana )(2
2
σg
x∂
∂ com a imagem I no ponto p, e
similarmente para ),( σxLxy
e ),( σxLyy
. A matriz de
determinantes Hessianos é escrita como:
2
)9.0()( xyyyxxapprox DDDHdet −= (7)
Para localizar pontos de interesse sobre escalas, é aplicada
uma supressão não máxima em uma vizinhança 3x3x3.
O descritor SURF é extraído em duas etapas: a primeira
etapa é a atribuição de uma orientação com base nas
informações de uma região circular em torno dos pontos de
interesse detectados. A orientação é computada usando
respostas Haar-wavelet, nas direções x e y, que são pesadas
com uma Gaussiana (σ = 3.3s) centrada no ponto de interesse
a fim de aumentar a robustez às deformações geométricas, e
respostas Wavelet em direções dx horizontal e vertical dy são
adicionadas em cada sub-região. Os valores absolutos |dx| e |dy|
são somados a fim de obter informação sobre a polaridade das
alterações da intensidade da imagem. Portanto, cada sub-
região tem um vetor v de descritor de quatro dimensões.
( )∑ ∑ ∑∑= yxyx ddddV ,,, (8)
Isso resulta em um vetor de descritores para todas as sub-
regiões 4x4 de tamanho 64.
C. BRIEF
Binary Robust Independent Elementary Features (BRIEF)
[12] é um eficiente descritor binário com base em testes de
diferença de intensidade, que visa ser eficiente em memória e
rápido para calcular e realizar a correspondência. Ao contrário
do SIFT ou SURF, não calcula uma orientação do ponto chave
e, portanto, não é invariante às rotações de imagem. Com base
em uma distribuição gaussiana com média µ = 0 e desvio
padrão 2
25
1
S=σ , um conjunto de n pares de pontos é usado
para calcular o teste de intensidade τ em uma região p de
tamanho SxS como:


 <
=
contráriocaso0
,)(pp(x)if1
),;p(
y
yxτ (9)
Para construir um descritor BRIEF, um conjunto de
comparações pré-definidas de pixel é realizado. Este teste
padrão é um conjunto de nd pares de coordenadas de pixels
(x,y) que devem ser comparados em cada região da imagem.
Um descritor é então definido como uma sequência de bits
nd-dimensional:
∑≤≤
−
=
d
d
ni
ii
i
n yxτf
1
1
),;p(2)p( (10)
D. ORB
Baseado no descritor BRIEF, o descritor ORB [13] tenta
cobrir a variância de rotação e escala do BRIEF. O ORB usa a
abordagem FAST-9 como detector. Após a detecção dos
descritores em uma pirâmide de escala, todos os pontos chave
são classificados em uma linha com base no descritor de
cantos de Harris e, somente os N pontos da parte superior são
escolhidos. Uma métrica chamada centróide de intensidade C
é calculada com m momentos na região:






=
00
01
00
10
,
m
m
m
m
C (11)
onde: ∑=
yx
qp
pq yxIyxm
,
),(
A orientação de um vetor a partir do centro da região para
o centróide de intensidade é dada por:
),(2arctan 1001 mm=θ (12)
Usando a orientação θ da região e a correspondente matriz
de rotação Rθ para rotacionar os descritores da região, então o
descritor BRIEF é aplicado aos descritores rotacionados e
registra a sequência binária como descritor ORB. O descritor
ORB é muito rápido por causa da natureza binária, além disso,
é invariante em relação à rotação e escala.
E. FAST
O detector de cantos FAST (Features from Accelerated
Segment Test) [14] consiste em dois passos. No primeiro, um
teste de segmentos é aplicado em cada canto candidato P.
Dezesseis pixels em torno de P são considerados nesse teste
de segmentos. Sendo que Ip denota o brilho de P e t um valor
limiar configurável, se n pixels contíguos no círculo são todos
mais brilhantes do que Ip + t, ou mais escuros do que Ip – t, o
candidato P é definido como um canto.
A Fig. 1(b) ilustra doze pontos de teste de segmentos da
detecção de cantos em uma região da imagem.
(a) (b)
Fig. 1. Doze pontos de teste de segmentos da detecção de cantos usando o
FAST [14] (pixels pertencentes ao arco na imagem – linha tracejada).
É demonstrado que os melhores resultados são obtidos
quando n = 9, daí o nome FAST-9 [14]. A ordem para o teste
dos pixels vizinhos no círculo é obtida com o algoritmo ID3.
Como o teste de segmentos produz muitas respostas
adjacentes ao redor do ponto de interesse, utiliza-se uma
supressão não máxima com uma função de pontuação V, que é
definida como:








−−−−= ∑∑ ⊂
→
⊂
→
darkbright Sx
xpp
Sx
pxp tIItIIV ,max (13)
aplicada para remover cantos que têm um canto adjacente com
V maior. Por causa de sua eficiência [15], o FAST se tornou
um dos mais utilizados em aplicações em tempo real [16][17].
F. STAR
O detector STAR é derivado do detector CenSurE (Center
Surround Extrema) [18]. Assim como o SURF, o CenSurE é
baseado em filtros invariantes à rotação. A resposta do filtro é
calculada para sete escalas e cada pixel da imagem. Em
contraste com SIFT e SURF o tamanho da amostra é constante
em cada escala e conduz a uma resolução espacial completa
em todas as escalas. Etapas de pós-processamento são feitas
usando a supressão não máxima e supressão de linhas.
Descritores que se encontram ao longo de uma borda ou linha
são detectados devido à matriz Gradiente.
G. MSER
O detector MSER (Maximally-Stable Extremal Region
Extractor) [19] foi projetado para detectar subconjuntos
invariantes afins de máximos estáveis de regiões extremas.
MSER são detectados por binarização consecutiva em uma
imagem, usando um limiar, que é aplicado considerando o
valor mínimo e máximo de intensidade na imagem. Em cada
passo um conjunto de regiões Φ é calculado por análise de
componentes conectados. A resposta do filtro para cada região
i é definida como:
qi = |Φi+∆/Φi−∆|/|Φi| (14)
onde |…| denota a cardinalidade e i±∆ a região no
∆−nésimo limiar inferior ou superior. Os MSER são
identificados pelo mínimo local de q.
H. GFTT
O método GFTT (Good Features To Track Detector) [20]
foi projetado para detectar padrões de cantos. A matriz de
gradiente G é computada para cada pixel como:
∑Ω 







= 2
2
yyx
yxx
III
III
G (15)
com o valor de intensidade I(x, y) de uma imagem em tons de
cinza e derivadas espaciais Ix, Iy para uma região especificada
Ω. A matriz de gradiente é implementada por meio de imagens
integrais para 2
xI , 2
yI e yx II . Devido ao uso de imagens
integrais, a complexidade computacional da matriz de
gradiente é constante e independe do tamanho de Ω. Um bom
descritor pode ser identificado pelo máximo de λ(x, y), o
menor autovalor de G. Certamente cantos fortes aparecem nas
bordas do objeto, onde múltiplos movimentos são muito
prováveis. Em seguida, é aplicada uma supressão não máxima
seguida de uma limiarização com q.max(λ(x, y)), sendo q a
qualidade constante dos cantos.
I. RANSAC
O algoritmo RANSAC (RANdom SAmple Consensus) [21]
é um método de estimação robusto projetado para extração dos
inliers1
e outliers2
do conjunto de pontos chave. Tem sido
muito usado para o reconhecimento de objetos [2][3], pois
permite encontrar correspondências geometricamente
consistentes para resolver o problema de junção de pares de
imagens, mesmo em condições extremas, ou com algum tipo
de outlier.
1
inliers: pontos de dados que se ajustam com um determinado modelo
desejado dentro de uma certa tolerância de erro;
2
outliers: pontos de dados que não se ajustam ao modelo correspondente ao
objeto desejado, estão fora de uma certa tolerância de erro.
Ao contrário das técnicas convencionais que usam grande
quantidade de dados para obter uma solução inicial, e em
seguida eliminar os outliers, o RANSAC usa um conjunto
com um número mínimo de pontos para uma primeira
estimativa e continua o processo, aumentando o conjunto de
pontos de dados consistentes [21].
III. EXPERIMENTOS
Os experimentos apresentados nesta seção consistem na
degradação de uma imagem (mudança de iluminação, mudança
de escala, rotação, adição de ruído e borramento) e, em
seguida, comparar o desempenho das diferentes combinações
dos principais detectores e descritores implementados no
OpenCV. As combinações avaliadas são todas aquelas
possíveis, usando os detectores: SIFT, SURF, FAST, STAR,
MSER, GFTT (com Harris), GFTT (CornerMinEigenVal –
Autovalores) e ORB; e os descritores: SIFT, SURF, BRIEF e
ORB. Apenas as combinações SIFT-ORB e ORB-SIFT não
foram avaliadas. A máquina usada nos experimentos possui um
processador Intel Core i3 M330 2.13 GHz e memória de 4 GB
de RAM.
Os parâmetros observados no experimento são:
• TT – Tempo de Processamento – tempo necessário
para processar as duas imagens (Detecção, Descrição,
Correspondência e RANSAC – em milissegundos);
• NIn – Número de inliers, ou seja, pontos chave com
correspondência validadas pelo RANSAC;
• DMI – Distância Euclidiana media entre os pontos
Inliers, obtida após aplicar as transformações
necessárias para a correspondência entre imagem
original e transformada;
• QDMH – Quantidade de determinações da matriz
homográfica, ou seja, cada vez que os pontos chave
detectados permitem calcular adequadamente a matriz
de transformação entre a imagem original e a imagem
transformada.
A Fig. 2 apresenta o resultado do detector/descritor SIFT–
SIFT na imagem da Lena, após passar por um processo de
degradação composto por: borramento (Gaussiana), mudança
de escala (50%), rotação (30º), iluminação (escurecimento) e
ruído Gaussiano (10%).
Observa-se neste caso que foram obtidos 28 inliers, que
foram suficientes para a obtenção da matriz homográfica de
transformação, pois a imagem original transformada pela
matriz homográfica (retângulo verde em (b)) apresenta um bom
encaixe sobre a imagem cena em (b). Em (c), os círculos pretos
indicam as posições dos inliers da imagem degradada,
enquanto que os círculos brancos indicam as posições dos
inliers da imagem original, após a transformação usando a
matriz homográfica. Neste caso, nota-se um bom encaixe entre
eles, com uma distância média entre os pontos inliers
DMI = 0,7443 e um tempo de processamento TT = 1.559 ms.
Fig. 2. Inliers btidos com detector/descritor SIFT–SIFT; a) Imagem original
(objeto); b) Imagem transformada (cena); c) Imagem original transformada
pela matriz homográfica, destacando as distância entre os pontos original e
trasnformado.
A Fig. 3 apresenta o resultado do detector/descritor ORB–
ORB na imagem da Lena, após passar pela mesma degradação
anterior.
Fig. 3. Inliers obtidos com detector/descritor ORB–ORB; a) Imagem original
(objeto); b) Imagem transformada (cena); c) Imagem original transformada
pela matriz homográfica, destacando as distância entre os pontos original e
transformado.
(c)
(b)
(c)
(a)
(b)
(a)
Neste caso foram obtidos 117 inliers, que propiciaram um
resultado totalmente satisfatório para a obtenção da matriz
homográfica de transformação, pois a imagem original
transformada pela matriz homográfica (retângulo verde em (b))
apresenta um bom encaixe sobre a imagem cena em (b). Em
(c), os círculos pretos indicam as posições dos inliers da
imagem degradada, enquanto que os círculos brancos indicam
as posições dos inliers da imagem original, após a
transformação usando a matriz homográfica. Novamente, nota-
se um bom encaixe entre eles, com uma distância média entre
os pontos inliers DMI = 1,2293 pixels e tempo de
processamento TT = 546 ms.
A Fig. 4 apresenta o resultado do detector/descritor SURF–
SURF na imagem da Lena, após passar pela mesma
degradação anterior.
Fig. 4. Inliers obtidos com detector/descritor SURF–SURF; a) Imagem
original (objeto); b) Imagem transformada (cena); c) Imagem original
transformada pela matriz homográfica, destacando as distância entre os pontos
original e trasnformado.
Neste caso foram obtidos 33 inliers, que não foram
suficientes para a obtenção da matriz homográfica de
transformação. Portanto, não ocorrendo um encaixe entre eles,
embora o tempo de processamento TT=1.388 ms seja razoável.
Os tempos de processamento com todas as combinações
são apresentados na Tabela I.
Nota-se que o menor tempo de processamento obtido com a
imagem apenas borrada foi alcançado pelas combinações
ORB–BRIEF e ORB–ORB (detecção usando ORB e descrição
usando BRIEF e ORB) (TT=327 ms). Para a imagem que
sofreu apenas a mudança de escala, o menor tempo de
processamento foi obtido com a combinação ORB–ORB
(TT=358 ms). Para a imagem que passou por uma alteração
apenas na sua iluminação, a combinação que obteve o menor
tempo de processamento também foi obtida com a combinação
ORB–ORB (TT=281 ms). Para a imagem que sofreu apenas
uma rotação, esta combinação também foi a que apresentou o
menor tempo de processamento (TT=359 ms). O menor tempo
de processamento obtido com a imagem acrescida de ruído foi
obtido com a combinação STAR–ORB (TT=172 ms). Os
valores em azul indicam que as matrizes homográficas foram
obtidas com sucesso nestas duas combinações, significando
que as imagens objeto e cena apresentaram correspondência
satisfatória. Para a imagem que passou por todas as
degradações (borramento, escala, iluminação, rotação e ruído)
a combinação que obteve o menor tempo de processamento foi
obtido pela combinação STAR–ORB (TT=516 ms), porém,
não foi capaz de gerar a matriz homográfica adequada para
fazer a correspondência das imagens. A combinação que
apresentou o menor tempo de processamento e obteve a matriz
satisfatória foi ORB–ORB (TT=546 ms).
TABELA I. TEMPOS DE PROCESSAMENTO
Borramento Escala Iluminação Rotação Ruído Todos QDMH
SIFT–SIFT 1653 1342 1560 2043 1778 1559 6
SIFT–SURF 1201 889 826 1435 1201 983 4
SIFT–BRIEF 780 827 749 1342 827 874 3
SURF–SIFT 9859 8689 9641 14227 16989 8597 4
SURF–SURF 1498 1264 1357 2309 1966 1388 4
SURF–BRIEF 702 874 671 1170 890 827 3
SURF–ORB 733 796 607 952 687 811 4
FAST–SIFT 9000 9952 12090 16458 57299 14540 5
FAST–SURF 1653 2637 2433 4478 21591 5055 1
FAST–BRIEF 1544 2075 1591 3089 9016 3260 3
FAST–ORB 1498 1638 1342 2683 6522 2325 2
STAR–SIFT 2652 1981 2231 3526 2824 1794 3
STAR–SURF 562 515 578 640 328 530 1
STAR–BRIEF 546 530 546 608 187 530 3
STAR–ORB 515 483 531 593 172 516 3
MSER–SIFT 9563 7535 9111 12933 13244 7753 4
MSER–SURF 1373 1015 1216 1700 1654 1202 4
MSER–BRIEF 1122 1061 936 1357 1217 1124 3
MSER–ORB 1187 1046 952 1061 1170 1140 4
GFTTH
–SIFT 45912 29063 44664 65208 44834 33212 4
GFTTH
–SURF 44476 28533 43976 64382 44523 32807 1
GFTTH
–BRIEF 44211 28469 44149 64491 44320 32792 3
GFTTH
–ORB 44101 28440 43945 64272 44070 32636 2
GFTT–SIFT 45364 29936 45178 64929 45287 34288 4
GFTT–SURF 45006 29266 44631 64568 44928 33571 1
GFTT–BRIEF 44538 29204 44461 63555 44632 33587 4
GFTT–ORB 44336 28986 44007 63414 44195 33212 3
ORB–SURF 2168 1871 2185 2590 2216 2418 4
ORB–BRIEF 327 701 311 734 343 641 4
ORB–ORB 327 358 281 359 327 546 6
As quantidades de inliers obtidas com todas as
combinações são apresentadas na Tabela II.
A maior quantidade de inliers, obtida com a imagem
apenas borrada foi alcançada com a combinação GFTT–SIFT
(NIn=465). Entretanto, o tempo de processamento desta
combinação foi muito alto (TT=45.364 ms). As melhores
razões NIn/TT foram obtidas com as combinações ORB–
BRIEF (0,7859) e ORB–ORB (0,6422). Para a imagem que
sofreu apenas a mudança de escala, o maior número de inliers
foi obtido com a combinação FAST–SIFT (NIn=420). O tempo
de processamento desta combinação foi razoavelmente alto
(TT=9.952 ms). A melhor razão NIn/TT foi obtida com a
combinação SURF–SURF (0,1511). Para a imagem que passou
por uma alteração apenas na sua iluminação, a combinação que
obteve o maior número de inliers foi FAST–SIFT (NIn=2.268).
(c)
(a)
(b)
O tempo de processamento desta combinação também foi
razoavelmente alto (TT=12.090 ms). As melhores razões
NIn/TT foram obtidas com as combinações ORB–BRIEF
(1,4180), ORB–ORB (1,3737) e FAST–ORB (1,3458). Para a
imagem que sofreu apenas uma rotação, a combinação que
obteve o maior número de inliers foi ORB–ORB (NIn=322),
além disso, esta foi a combinação que obteve o menor tempo
de processamento (TT=359 ms). O maior número de inliers,
obtido com a imagem que teve apenas o acréscimo de ruído, foi
alcançado com a combinação FAST–SIFT (NIn=2.498).
Entretanto, o tempo de processamento desta combinação foi
extremamente alto (o maior de todos). As melhores razões
NIn/TT foram obtidas com as combinações ORB–BRIEF
(1,2041) e ORB–ORB (1,1040). Para a imagem que passou por
todas as degradações a combinação que obteve o maior número
de inliers foi ORB–ORB (NIn=117), que é a combinação que
obteve o tempo de processamento mais baixo e, que ainda
conseguiu obter a matriz homográfica.
TABELA II. QUANTIDADE DE INLIERS
Borramento Escala Iluminação Rotação Ruído Todos QDMH
SIFT–SIFT 137 76 160 211 167 28 6
SIFT–SURF 86 71 142 13 31 20 4
SIFT–BRIEF 131 22 153 12 150 24 3
SURF–SIFT 273 185 267 54 419 101 4
SURF–SURF 266 191 269 13 332 33 4
SURF–BRIEF 265 19 274 14 425 25 3
SURF–ORB 222 15 250 174 291 20 4
FAST–SIFT 234 420 2268 69 2498 71 5
FAST–SURF 75 29 1707 15 24 33 1
FAST–BRIEF 131 54 1909 26 1882 45 3
FAST–ORB 53 35 1806 18 1529 18 2
STAR–SIFT 21 19 29 11 135 45 3
STAR–SURF 15 15 14 10 54 24 1
STAR–BRIEF 31 15 28 8 135 23 3
STAR–ORB 20 20 29 8 125 21 3
MSER–SIFT 50 71 79 26 93 60 4
MSER–SURF 50 67 73 14 90 52 4
MSER–BRIEF 42 16 61 11 58 27 3
MSER–ORB 32 14 61 65 64 24 4
GFTTH
–SIFT 219 105 328 16 433 67 4
GFTTH
–SURF 18 17 237 15 11 51 1
GFTTH
–BRIEF 179 23 306 22 383 60 3
GFTTH
–ORB 174 23 295 18 354 63 2
GFTT–SIFT 465 66 877 19 465 18 4
GFTT–SURF 14 15 694 13 12 18 1
GFTT–BRIEF 399 18 821 19 478 25 4
GFTT–ORB 266 19 788 17 352 22 3
ORB–SURF 264 235 414 38 363 61 4
ORB–BRIEF 257 61 441 32 413 52 4
ORB–ORB 210 154 386 322 361 117 6
CONCLUSÕES
Os resultados obtidos neste estudo podem ser de grande
importância para a escolha destas técnicas em aplicações que
demandam maior precisão ou menor tempo de processamento,
ou ainda no tratamento de imagens que sofreram algum tipo de
degradação. Neste artigo foi estabelecida a razão NIn/TT como
um parâmetro razoável para medir a qualidade de uma solução,
entretanto, em trabalhos futuros deverão ser investigadas outras
alternativas para esta medida de qualidade. Também deverão
ser investigadas as aplicações destas combinações de
detectores e descritores em imagens de diferentes naturezas,
como: paisagens, desenhos, mapas, entre outros. Entre as
combinações avaliadas, apenas SIFT–SIFT e ORB–ORB foram
capazes de obter os pontos chave que permitiram calcular
adequadamente a matriz de transformação entre a imagem
original e as seis imagens degradadas.
REFERÊNCIAS
[1] D.G. Lowe, “Distinctive image features from scale-invariant keypoints”,
Intern. Journal of Computer Vision, Vol. 60, No. 2, pp. 91–110, 2004.
[2] A. Collet, D. Berenson, S. S. Srinivasa and D. Ferguson, “Object
recognition and full pose registration from a single image for robotic
manipulation”, In: IEEE International Conference on Robotics and
Automation, ICRA'09, pp. 48–55, 2009.
[3] T. Okabe and Y. Sato, “Object recognition based on photometric
alignment using RANSAC”, In Proceedings of Computer Society Conf.
on Computer Vision and Pattern Recognition. pp.221-228, 2003.
[4] K, Grauman and B. Leibe, “Visual object recognition: synthesis lectures
on artificial intelligence and machine learning”, Morgan & Claypool
Publishers, 2011, 163 p.
[5] M. Brown and D. G. Lowe, “Automatic panoramic image stitching using
invariant features”, International Journal of Computer Vision, Vol. 74,
Nol. 1, pp. 59–73, 2007.
[6] S. Se, D. Lowe, and J. Little, “Mobile robot localization and mapping
with uncertainty using scale-invariant visual landmarks”, International
Journal of Robotic Research, 21:735–758, August 2002.
[7] G.R. Bradsky, V. Pisarevsky and J. Bouguet, “Learning OpenCV:
computer vision with the OpenCV library”, Springer, 2008.
[8] C. Bulla, “Local features for object recognition,” in International
Student Conference on Electrical Engineering POSTER '12, (Prague,
Czech Republic), May 2012.
[9] T. Lindeberg, “Scale-space theory: A basic tool for analyzing structures
at different scales”, Journal of Applied Statistics, 21:224 270, 1994.
[10] D.G. Lowe, “Object recognition from local scale-invariant features”. In:
Intern. Conf. on Computer Vision, Corfu, Greece, pp. 1150–1157, 1999.
[11] H. Bay, T. Tuytelaars, and L.V. Gool, “SURF: speeded up robust
features”, In: 9th European Conf. Computer Vision, pp. 404–417, 2006.
[12] M. Calonder, V. Lepetit, C. Strecha, and P. Fua, “Brief: binary robust
independent elementary features”. In Proceedings of the 11th European
conference on Computer vision: Part IV, ECCV’10, pp. 778–792,
Berlin, Heidelberg, 2010. Springer-Verlag.
[13] E. Rublee, V. Rabaud, K. Konolige, and G. R. Bradski, “ORB: an
efficient alternative to SIFT or SURF”, In D. N. Metaxas, L. Quan, A.
Sanfeliu, L. J. V. Gool, editors, ICCV, pp. 2564–2571. IEEE, 2011.
[14] E. Rosten and T. Drummond, “Machine learning for high-speed corner
detection”, In In European Conference on Computer Vision, volume 1,
pp. 430–443. 2006.
[15] E. Rosten, R. Porter, T. Drummond, “Faster and better: a machine
learning approach to corner detection”, Pattern Analysis and Machine
Intelligence, IEEE Transactions on, Vol. 32, No. 1, pp. 105–119, 2008.
[16] G. Klein and D. Murray, “Parallel tracking and mapping for small AR
Workspaces”, In Proc. Sixth IEEE and ACM International Symposium
on Mixed and Augmented Reality (ISMAR’07). Nara, Japan, 2007.
[17] S. Taylor, E. Rosten and T. Drummond, “Robust feature matching in
2.3ms”, In IEEE CVPR Workshop on Feature Detectors and
Descriptors: The State Of The Art and Beyond. 2009. URL
http://mi.eng.cam.ac.uk/~sjt59/papers/taylor_2009_robust.pdf.
[18] Agrawal, M., Konolige, K., and Blas, M, “Censure: center surround
extremas for realtime feature detection and matching”, In European
Conf. on Computer Vision (ECCV 2008), pp. 102–115, 2008.
[19] Matas, J., Chum, O., Urban, M., and Pajdla, T, “Robust wide baseline
stereo from maximally stable extremal regions”, In British Machine
Vision Conference (BMVC 2002), pp. 384–393, 2002.
[20] Shi, J. and Tomasi, C, “Good features to track”, In Computer Vision and
Pattern Recognition (CVPR 1994), pp. 593 –600, 1994
[21] M. A. Fischler and R. C. Bolles, “Random sample consensus: a
paradigm for model fitting with applications to image analysis and
automated cartography”, Communications of the ACM, Vol 24, pp.
381–395, 1981.

Mais conteúdo relacionado

Mais procurados

Lista de exercícios 1º ano 4º bimestre
Lista de exercícios 1º ano 4º bimestreLista de exercícios 1º ano 4º bimestre
Lista de exercícios 1º ano 4º bimestrecarlos josé gomes
 
LISTA DE FUNÇÕES TRIGONOMÉTRICAS
LISTA DE FUNÇÕES TRIGONOMÉTRICASLISTA DE FUNÇÕES TRIGONOMÉTRICAS
LISTA DE FUNÇÕES TRIGONOMÉTRICASProfessor Carlinhos
 
Curvas de nível
Curvas de nívelCurvas de nível
Curvas de nívelfernando-tn
 
Laminas dioptros-e-prismas
Laminas dioptros-e-prismasLaminas dioptros-e-prismas
Laminas dioptros-e-prismasRildo Borges
 
Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidadePaulo Rijo
 
Matematica 2 exercicios gabarito 07
Matematica 2 exercicios gabarito 07Matematica 2 exercicios gabarito 07
Matematica 2 exercicios gabarito 07comentada
 
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabaritoprofzwipp
 
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabaritoprofzwipp
 
GEOMETRIA ANALÍTICA cap 08
GEOMETRIA ANALÍTICA cap  08GEOMETRIA ANALÍTICA cap  08
GEOMETRIA ANALÍTICA cap 08Andrei Bastos
 
GEOMETRIA ANALÍTICA cap 04
GEOMETRIA ANALÍTICA cap  04GEOMETRIA ANALÍTICA cap  04
GEOMETRIA ANALÍTICA cap 04Andrei Bastos
 

Mais procurados (20)

Lista de exercícios 1º ano 4º bimestre
Lista de exercícios 1º ano 4º bimestreLista de exercícios 1º ano 4º bimestre
Lista de exercícios 1º ano 4º bimestre
 
LISTA DE FUNÇÕES TRIGONOMÉTRICAS
LISTA DE FUNÇÕES TRIGONOMÉTRICASLISTA DE FUNÇÕES TRIGONOMÉTRICAS
LISTA DE FUNÇÕES TRIGONOMÉTRICAS
 
Curvas de nível
Curvas de nívelCurvas de nível
Curvas de nível
 
Laminas dioptros-e-prismas
Laminas dioptros-e-prismasLaminas dioptros-e-prismas
Laminas dioptros-e-prismas
 
Vetores
VetoresVetores
Vetores
 
Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidade
 
SeComp2003
SeComp2003SeComp2003
SeComp2003
 
Matematica 2 exercicios gabarito 07
Matematica 2 exercicios gabarito 07Matematica 2 exercicios gabarito 07
Matematica 2 exercicios gabarito 07
 
Projeções - JAI 1998
Projeções - JAI 1998Projeções - JAI 1998
Projeções - JAI 1998
 
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume3 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
 
Mat funcoes
Mat funcoesMat funcoes
Mat funcoes
 
Tutorial Java3D
Tutorial Java3DTutorial Java3D
Tutorial Java3D
 
Fundamentos de geoestatística
Fundamentos de geoestatísticaFundamentos de geoestatística
Fundamentos de geoestatística
 
Aspectos de modelagem e imageamento usando equação da onda
Aspectos de modelagem e imageamento usando equação da ondaAspectos de modelagem e imageamento usando equação da onda
Aspectos de modelagem e imageamento usando equação da onda
 
Geometria analítica: Notas de Aula
Geometria analítica: Notas de AulaGeometria analítica: Notas de Aula
Geometria analítica: Notas de Aula
 
Apostila 3 funções
Apostila 3 funçõesApostila 3 funções
Apostila 3 funções
 
Derivadas direcionais
Derivadas direcionaisDerivadas direcionais
Derivadas direcionais
 
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
2010 volume1 cadernodoaluno_matematica_ensinomedio_3aserie_gabarito
 
GEOMETRIA ANALÍTICA cap 08
GEOMETRIA ANALÍTICA cap  08GEOMETRIA ANALÍTICA cap  08
GEOMETRIA ANALÍTICA cap 08
 
GEOMETRIA ANALÍTICA cap 04
GEOMETRIA ANALÍTICA cap  04GEOMETRIA ANALÍTICA cap  04
GEOMETRIA ANALÍTICA cap 04
 

Destaque

Ponencia jane-rosa-silva
Ponencia jane-rosa-silvaPonencia jane-rosa-silva
Ponencia jane-rosa-silvapuntodocente
 
Positive psychology and game design & dynamics: Hind el Aoufi
Positive psychology and game design & dynamics: Hind el AoufiPositive psychology and game design & dynamics: Hind el Aoufi
Positive psychology and game design & dynamics: Hind el AoufiBen Gilchriest
 
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus..."Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...Sherry Jones
 
Ev docente-en-am-latina-ana-sneider (1)
Ev docente-en-am-latina-ana-sneider (1)Ev docente-en-am-latina-ana-sneider (1)
Ev docente-en-am-latina-ana-sneider (1)puntodocente
 
Course 7- Unit 9: Modals should and could. -
Course 7- Unit 9: Modals should and could. -Course 7- Unit 9: Modals should and could. -
Course 7- Unit 9: Modals should and could. -Martin Caicedo
 
Susana y-karina-evaluación-caba-1 (1)
Susana y-karina-evaluación-caba-1 (1)Susana y-karina-evaluación-caba-1 (1)
Susana y-karina-evaluación-caba-1 (1)puntodocente
 
Booklet setapak-indonesia
Booklet setapak-indonesiaBooklet setapak-indonesia
Booklet setapak-indonesiaAksi SETAPAK
 
The Psychology of the Player & Game Character Design and Representation by Sh...
The Psychology of the Player & Game Character Design and Representation by Sh...The Psychology of the Player & Game Character Design and Representation by Sh...
The Psychology of the Player & Game Character Design and Representation by Sh...Sherry Jones
 
Pengenalan kepada Pecahan
Pengenalan kepada Pecahan Pengenalan kepada Pecahan
Pengenalan kepada Pecahan IMSHA LEARNING
 
Estrategias para organoproteccion farmacológica durante la circulación extrac...
Estrategias para organoproteccion farmacológica durante la circulación extrac...Estrategias para organoproteccion farmacológica durante la circulación extrac...
Estrategias para organoproteccion farmacológica durante la circulación extrac...Miguel Ayala
 
Project Based Learning Power Point
Project Based Learning Power PointProject Based Learning Power Point
Project Based Learning Power PointHaylee Franklin
 
Course 10-Unit 9: Comparison with as...as
Course 10-Unit 9: Comparison with as...asCourse 10-Unit 9: Comparison with as...as
Course 10-Unit 9: Comparison with as...asMartin Caicedo
 
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...Himas El Hakim
 
Business Profile - TomYuhas
Business Profile - TomYuhasBusiness Profile - TomYuhas
Business Profile - TomYuhasThomas E. Yuhas
 

Destaque (20)

Ponencia jane-rosa-silva
Ponencia jane-rosa-silvaPonencia jane-rosa-silva
Ponencia jane-rosa-silva
 
Brenner Andres
Brenner AndresBrenner Andres
Brenner Andres
 
US Tech Support Data Leads Vendor/Provider
US Tech Support Data Leads Vendor/ProviderUS Tech Support Data Leads Vendor/Provider
US Tech Support Data Leads Vendor/Provider
 
Chagas
ChagasChagas
Chagas
 
Positive psychology and game design & dynamics: Hind el Aoufi
Positive psychology and game design & dynamics: Hind el AoufiPositive psychology and game design & dynamics: Hind el Aoufi
Positive psychology and game design & dynamics: Hind el Aoufi
 
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus..."Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...
"Machinima: Symbiosis of the Participatory Digital Culture and the Game Indus...
 
Ev docente-en-am-latina-ana-sneider (1)
Ev docente-en-am-latina-ana-sneider (1)Ev docente-en-am-latina-ana-sneider (1)
Ev docente-en-am-latina-ana-sneider (1)
 
Course 7- Unit 9: Modals should and could. -
Course 7- Unit 9: Modals should and could. -Course 7- Unit 9: Modals should and could. -
Course 7- Unit 9: Modals should and could. -
 
Susana y-karina-evaluación-caba-1 (1)
Susana y-karina-evaluación-caba-1 (1)Susana y-karina-evaluación-caba-1 (1)
Susana y-karina-evaluación-caba-1 (1)
 
Booklet setapak-indonesia
Booklet setapak-indonesiaBooklet setapak-indonesia
Booklet setapak-indonesia
 
The Psychology of the Player & Game Character Design and Representation by Sh...
The Psychology of the Player & Game Character Design and Representation by Sh...The Psychology of the Player & Game Character Design and Representation by Sh...
The Psychology of the Player & Game Character Design and Representation by Sh...
 
Cooptation dmi
Cooptation dmi Cooptation dmi
Cooptation dmi
 
Ur primera clase 2016
Ur primera clase 2016Ur primera clase 2016
Ur primera clase 2016
 
Pengenalan kepada Pecahan
Pengenalan kepada Pecahan Pengenalan kepada Pecahan
Pengenalan kepada Pecahan
 
Estrategias para organoproteccion farmacológica durante la circulación extrac...
Estrategias para organoproteccion farmacológica durante la circulación extrac...Estrategias para organoproteccion farmacológica durante la circulación extrac...
Estrategias para organoproteccion farmacológica durante la circulación extrac...
 
Project Based Learning Power Point
Project Based Learning Power PointProject Based Learning Power Point
Project Based Learning Power Point
 
Course 10-Unit 9: Comparison with as...as
Course 10-Unit 9: Comparison with as...asCourse 10-Unit 9: Comparison with as...as
Course 10-Unit 9: Comparison with as...as
 
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...
An Introduction of SWOT Analysis, Decision Making Principle and Conflict Reso...
 
Alfa Laval Share
Alfa Laval ShareAlfa Laval Share
Alfa Laval Share
 
Business Profile - TomYuhas
Business Profile - TomYuhasBusiness Profile - TomYuhas
Business Profile - TomYuhas
 

Semelhante a comparaciones

Semelhante a comparaciones (20)

kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Estatística - Aula 2
Estatística - Aula 2Estatística - Aula 2
Estatística - Aula 2
 
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
 
document
documentdocument
document
 
Apostila 2020 aluno 2
Apostila 2020 aluno 2Apostila 2020 aluno 2
Apostila 2020 aluno 2
 
Análise Espacial Baseada em Localização
Análise Espacial Baseada em LocalizaçãoAnálise Espacial Baseada em Localização
Análise Espacial Baseada em Localização
 
Curso de Matlab avancado 1
Curso de Matlab avancado 1Curso de Matlab avancado 1
Curso de Matlab avancado 1
 
Introducao Funcao
Introducao FuncaoIntroducao Funcao
Introducao Funcao
 
Geometria no táxi
Geometria no táxiGeometria no táxi
Geometria no táxi
 
Análise Espacial baseada em Localização - Prática no QGis - 2024
Análise Espacial baseada em Localização - Prática no QGis - 2024Análise Espacial baseada em Localização - Prática no QGis - 2024
Análise Espacial baseada em Localização - Prática no QGis - 2024
 
Aula10 ps
Aula10 psAula10 ps
Aula10 ps
 
Cg 03 primitivas_graficas
Cg 03 primitivas_graficasCg 03 primitivas_graficas
Cg 03 primitivas_graficas
 
estacao_livre.pdf
estacao_livre.pdfestacao_livre.pdf
estacao_livre.pdf
 
Análise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisaAnálise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisa
 
Analise exploratório de dados
Analise exploratório de dadosAnalise exploratório de dados
Analise exploratório de dados
 
Validacao cruzada
Validacao cruzadaValidacao cruzada
Validacao cruzada
 
Apostila regressao linear
Apostila regressao linearApostila regressao linear
Apostila regressao linear
 
Aula6final
Aula6finalAula6final
Aula6final
 
Indice de morisita classico e dw
Indice de morisita classico e dwIndice de morisita classico e dw
Indice de morisita classico e dw
 

comparaciones

  • 1. Evaluation of Keypoint Detectors and Descriptors Francisco Assis da Silva1 , Maria Stela V. de Paiva2 1 Universidade do Oeste Paulista – Unoeste/FIPP Presidente Prudente/SP, Brasil 2 Escola de Engenharia de São Carlos – Universidade de São Paulo – USP, São Carlos/SP chico@unoeste.br, mstela@sc.usp.br Almir Olivette Artero, Marco Antonio Piteri Universidade Estadual Paulista – Unesp Faculdade de Ciências e Tecnologia – FCT Presidente Prudente/SP, Brasil {almir, piteri}@fct.unesp.br Abstract—This paper presents a comparative study using different combinations of keypoint detectors and descriptors, applied in pairs of digital images (Object/Scene) in which the scene images were degraded by: blurring, scale, lighting, rotation, noise and all these degradations at the same time. All combinations were analyzed using the detectors: SIFT, SURF, FAST, STAR, MSER, GFTT (with Harris), GFTT and ORB; and the descriptors: SIFT, SURF, BRIEF and ORB. The parameters observed in this study are processing time, number of inliers and generating of homographic matrix capable to accomplish satisfactorily the matching between object and scene images. The results of this study can be of great importance for the choice of these techniques in applications that require high precision or low processing time, or even treatment of images that have been degraded in a previously known way. Keywords — object recognition, local features, keypoint detectors; keypoint descriptors. I. INTRODUÇÃO A identificação de pontos de interesse em imagens e a sua descrição têm sido usadas em uma grande variedade de aplicações, podendo-se citar: o reconhecimento de objetos [1] [2][3][4], a construção de mosaicos de imagens [5], o mapeamento visual [6], a reconstrução 3D [3], a recuperação de imagem [2] e a localização de câmera [3]. Por conta disto, ao longo dos últimos anos, surgiram várias propostas para resolver este problema. Em geral, essa tarefa é realizada em dois passos, sendo inicialmente usado um detector de pontos chaves da imagem e, no passo seguinte, usado um descritor, capaz de gerar atributos capazes de descrever os pontos chaves. A inclusão dos algoritmos mais relevantes na biblioteca OpenCV [7] tem facilitado bastante a implementação de sistemas que usam estes recursos. Entretanto, a escolha de um deles nem sempre é uma tarefa simples, por causa da falta de informações a respeito de suas vantagens e desvantagens. Assim, neste artigo, é apresentada uma análise da qualidade de diferentes combinações detector / descritor destes operadores mais conhecidos. Um dos propósitos dos descritores locais invariantes é prover uma representação que permita a correspondência de estruturas locais entre imagens, o que é feito a partir da obtenção de um conjunto de medidas locais que capturam a essência das imagens [4]. Durante os últimos anos, métodos usando descritores locais se tornaram os preferidos em diferentes campos de Visão de Computacional. Mudanças de escala, orientação, pontos de vista, ou distorções como borramentos, alterações de iluminação ou oclusão torna a tarefa de reconhecimento de objetos ainda mais difícil. Investigações recentes [2][4][8][17] sugerem que o uso de descritores locais é um bom caminho a seguir. Descritores locais correspondem à informação que é provida pela área em torno de um conjunto de pontos chave, que são distintos e têm elevado conteúdo de informação. A comparação de dois descritores locais é feita usando uma medida de distância, como a distância Euclidiana, Hamming ou outra [8]. As demais seções deste artigo estão organizadas da seguinte maneira: na Seção II são apresentados os principais detectores e descritores de pontos chave; na Seção III é apresentado um estudo comparativo, usando estes descritores em imagens que sofreram degradações; por fim, são apresentadas as conclusões e trabalhos futuros. II. REVISÃO BIBLIOGRÁFICA Nessa seção é apresentada uma revisão dos principais algoritmos detectores e descritores de pontos chave, disponíveis na biblioteca de Visão Computacional OpenCV [7]. Os algoritmos investigados neste trabalho são: • Detectores e Descritores: SIFT, SURF, ORB; • Descritor: BRIEF; • Detectores: FAST, STAR, MSER, GFTT (com Harris ou CornerMinEigenVal – Autovalores). A. SIFT O algoritmo SIFT (Scale Invariant Feature Transform), proposto por Lowe [1] consegue identificar e descrever pontos chave em imagens, o que é feito através de um mapeamento com diferentes vistas de um objeto ou cena, resultando em um vetor com 128 valores que descrevem cada ponto chave da imagem. O algoritmo consiste nas seguintes etapas: Detecção de extremos no espaço-escala: os pontos chave são detectados aplicando um filtro em cascata que identifica os candidatos, que são invariantes à escala, usando uma função que procura por descritores estáveis ao longo de diferentes escalas. O espaço-escala é definido com a função L(x,y,σ) na Equação 1, com uma imagem de entrada I(x,y) [9].
  • 2. L(x,y,σ) = G(x,y,σ) * I(x,y) (1) onde * é a convolução com a Gaussiana G(x,y,σ) na Equação 2. 222 2/)( 2 2 1 ),,( σ πσ σ yx eyxG +− = (2) Para detectar localização de pontos chave estáveis no espaço-escala, Lowe [10] propôs o uso da função de diferença Gaussiana (DoG) no espaço-escala convoluída com a imagem I(x,y), resultando em D(x,y,σ), a qual pode ser calculada a partir de duas escalas próximas separadas por um fator multiplicativo constante k, como na Equação 3. D(x,y,σ) = (G(x,y,kσ) – G(x,y,σ)) * I(x,y) (3) Detecção de extremos locais: a partir de D(x,y,σ), Lowe [1] sugere que os máximos e mínimos locais devem ser detectados pela comparação de cada pixel com os seus oito vizinhos na imagem corrente e nove vizinhos nas escalas superior e inferior (26 vizinhos). Atribuição de orientação: a escala do ponto chave é usada para selecionar a imagem suavizada pela Gaussiana L, com a escala mais próxima, de modo que toda a computação seja realizada de modo invariante à escala. O gradiente de magnitude m(x,y) é obtido com a Equação 4. 22 ),( yxyxm ∆+∆= (4) onde ∆x = L(x + 1, y) − L(x − 1, y) e ∆y = L(x, y + 1) − L(x, y − 1). A orientação θ(x,y) é calculada pela Equação 5. )/arctan(),( xyyx ∆∆=θ (5) Descrição dos pontos chave: calcula um descritor para cada região da imagem local, que é distinta e invariante a variações adicionais, tais como mudanças na iluminação ou ponto de vista 3D. B. SURF SURF (Speeded Up Robust Features Algorithm) [11] é um detector e descritor de pontos chave invariante a rotação e a escala, que é computacionalmente muito rápido. O detector de descritores SURF é baseado na matriz Hessiana. O determinante da matriz Hessiana é usado para determinar a localização e escala do descritor. Dado um ponto p = (x,y) na imagem I, a matriz Hessiana H(x,σ) em p na escala σ é definida como segue:       = ),(),( ),(),( ),( σσ σσ σ xLxL xLxL xH yyxy xyxx (6) onde ),( σxLxx é a convolução da derivada de segunda ordem da Gaussiana )(2 2 σg x∂ ∂ com a imagem I no ponto p, e similarmente para ),( σxLxy e ),( σxLyy . A matriz de determinantes Hessianos é escrita como: 2 )9.0()( xyyyxxapprox DDDHdet −= (7) Para localizar pontos de interesse sobre escalas, é aplicada uma supressão não máxima em uma vizinhança 3x3x3. O descritor SURF é extraído em duas etapas: a primeira etapa é a atribuição de uma orientação com base nas informações de uma região circular em torno dos pontos de interesse detectados. A orientação é computada usando respostas Haar-wavelet, nas direções x e y, que são pesadas com uma Gaussiana (σ = 3.3s) centrada no ponto de interesse a fim de aumentar a robustez às deformações geométricas, e respostas Wavelet em direções dx horizontal e vertical dy são adicionadas em cada sub-região. Os valores absolutos |dx| e |dy| são somados a fim de obter informação sobre a polaridade das alterações da intensidade da imagem. Portanto, cada sub- região tem um vetor v de descritor de quatro dimensões. ( )∑ ∑ ∑∑= yxyx ddddV ,,, (8) Isso resulta em um vetor de descritores para todas as sub- regiões 4x4 de tamanho 64. C. BRIEF Binary Robust Independent Elementary Features (BRIEF) [12] é um eficiente descritor binário com base em testes de diferença de intensidade, que visa ser eficiente em memória e rápido para calcular e realizar a correspondência. Ao contrário do SIFT ou SURF, não calcula uma orientação do ponto chave e, portanto, não é invariante às rotações de imagem. Com base em uma distribuição gaussiana com média µ = 0 e desvio padrão 2 25 1 S=σ , um conjunto de n pares de pontos é usado para calcular o teste de intensidade τ em uma região p de tamanho SxS como:    < = contráriocaso0 ,)(pp(x)if1 ),;p( y yxτ (9) Para construir um descritor BRIEF, um conjunto de comparações pré-definidas de pixel é realizado. Este teste padrão é um conjunto de nd pares de coordenadas de pixels (x,y) que devem ser comparados em cada região da imagem. Um descritor é então definido como uma sequência de bits nd-dimensional: ∑≤≤ − = d d ni ii i n yxτf 1 1 ),;p(2)p( (10) D. ORB Baseado no descritor BRIEF, o descritor ORB [13] tenta cobrir a variância de rotação e escala do BRIEF. O ORB usa a abordagem FAST-9 como detector. Após a detecção dos descritores em uma pirâmide de escala, todos os pontos chave são classificados em uma linha com base no descritor de cantos de Harris e, somente os N pontos da parte superior são escolhidos. Uma métrica chamada centróide de intensidade C é calculada com m momentos na região:       = 00 01 00 10 , m m m m C (11) onde: ∑= yx qp pq yxIyxm , ),(
  • 3. A orientação de um vetor a partir do centro da região para o centróide de intensidade é dada por: ),(2arctan 1001 mm=θ (12) Usando a orientação θ da região e a correspondente matriz de rotação Rθ para rotacionar os descritores da região, então o descritor BRIEF é aplicado aos descritores rotacionados e registra a sequência binária como descritor ORB. O descritor ORB é muito rápido por causa da natureza binária, além disso, é invariante em relação à rotação e escala. E. FAST O detector de cantos FAST (Features from Accelerated Segment Test) [14] consiste em dois passos. No primeiro, um teste de segmentos é aplicado em cada canto candidato P. Dezesseis pixels em torno de P são considerados nesse teste de segmentos. Sendo que Ip denota o brilho de P e t um valor limiar configurável, se n pixels contíguos no círculo são todos mais brilhantes do que Ip + t, ou mais escuros do que Ip – t, o candidato P é definido como um canto. A Fig. 1(b) ilustra doze pontos de teste de segmentos da detecção de cantos em uma região da imagem. (a) (b) Fig. 1. Doze pontos de teste de segmentos da detecção de cantos usando o FAST [14] (pixels pertencentes ao arco na imagem – linha tracejada). É demonstrado que os melhores resultados são obtidos quando n = 9, daí o nome FAST-9 [14]. A ordem para o teste dos pixels vizinhos no círculo é obtida com o algoritmo ID3. Como o teste de segmentos produz muitas respostas adjacentes ao redor do ponto de interesse, utiliza-se uma supressão não máxima com uma função de pontuação V, que é definida como:         −−−−= ∑∑ ⊂ → ⊂ → darkbright Sx xpp Sx pxp tIItIIV ,max (13) aplicada para remover cantos que têm um canto adjacente com V maior. Por causa de sua eficiência [15], o FAST se tornou um dos mais utilizados em aplicações em tempo real [16][17]. F. STAR O detector STAR é derivado do detector CenSurE (Center Surround Extrema) [18]. Assim como o SURF, o CenSurE é baseado em filtros invariantes à rotação. A resposta do filtro é calculada para sete escalas e cada pixel da imagem. Em contraste com SIFT e SURF o tamanho da amostra é constante em cada escala e conduz a uma resolução espacial completa em todas as escalas. Etapas de pós-processamento são feitas usando a supressão não máxima e supressão de linhas. Descritores que se encontram ao longo de uma borda ou linha são detectados devido à matriz Gradiente. G. MSER O detector MSER (Maximally-Stable Extremal Region Extractor) [19] foi projetado para detectar subconjuntos invariantes afins de máximos estáveis de regiões extremas. MSER são detectados por binarização consecutiva em uma imagem, usando um limiar, que é aplicado considerando o valor mínimo e máximo de intensidade na imagem. Em cada passo um conjunto de regiões Φ é calculado por análise de componentes conectados. A resposta do filtro para cada região i é definida como: qi = |Φi+∆/Φi−∆|/|Φi| (14) onde |…| denota a cardinalidade e i±∆ a região no ∆−nésimo limiar inferior ou superior. Os MSER são identificados pelo mínimo local de q. H. GFTT O método GFTT (Good Features To Track Detector) [20] foi projetado para detectar padrões de cantos. A matriz de gradiente G é computada para cada pixel como: ∑Ω         = 2 2 yyx yxx III III G (15) com o valor de intensidade I(x, y) de uma imagem em tons de cinza e derivadas espaciais Ix, Iy para uma região especificada Ω. A matriz de gradiente é implementada por meio de imagens integrais para 2 xI , 2 yI e yx II . Devido ao uso de imagens integrais, a complexidade computacional da matriz de gradiente é constante e independe do tamanho de Ω. Um bom descritor pode ser identificado pelo máximo de λ(x, y), o menor autovalor de G. Certamente cantos fortes aparecem nas bordas do objeto, onde múltiplos movimentos são muito prováveis. Em seguida, é aplicada uma supressão não máxima seguida de uma limiarização com q.max(λ(x, y)), sendo q a qualidade constante dos cantos. I. RANSAC O algoritmo RANSAC (RANdom SAmple Consensus) [21] é um método de estimação robusto projetado para extração dos inliers1 e outliers2 do conjunto de pontos chave. Tem sido muito usado para o reconhecimento de objetos [2][3], pois permite encontrar correspondências geometricamente consistentes para resolver o problema de junção de pares de imagens, mesmo em condições extremas, ou com algum tipo de outlier. 1 inliers: pontos de dados que se ajustam com um determinado modelo desejado dentro de uma certa tolerância de erro; 2 outliers: pontos de dados que não se ajustam ao modelo correspondente ao objeto desejado, estão fora de uma certa tolerância de erro.
  • 4. Ao contrário das técnicas convencionais que usam grande quantidade de dados para obter uma solução inicial, e em seguida eliminar os outliers, o RANSAC usa um conjunto com um número mínimo de pontos para uma primeira estimativa e continua o processo, aumentando o conjunto de pontos de dados consistentes [21]. III. EXPERIMENTOS Os experimentos apresentados nesta seção consistem na degradação de uma imagem (mudança de iluminação, mudança de escala, rotação, adição de ruído e borramento) e, em seguida, comparar o desempenho das diferentes combinações dos principais detectores e descritores implementados no OpenCV. As combinações avaliadas são todas aquelas possíveis, usando os detectores: SIFT, SURF, FAST, STAR, MSER, GFTT (com Harris), GFTT (CornerMinEigenVal – Autovalores) e ORB; e os descritores: SIFT, SURF, BRIEF e ORB. Apenas as combinações SIFT-ORB e ORB-SIFT não foram avaliadas. A máquina usada nos experimentos possui um processador Intel Core i3 M330 2.13 GHz e memória de 4 GB de RAM. Os parâmetros observados no experimento são: • TT – Tempo de Processamento – tempo necessário para processar as duas imagens (Detecção, Descrição, Correspondência e RANSAC – em milissegundos); • NIn – Número de inliers, ou seja, pontos chave com correspondência validadas pelo RANSAC; • DMI – Distância Euclidiana media entre os pontos Inliers, obtida após aplicar as transformações necessárias para a correspondência entre imagem original e transformada; • QDMH – Quantidade de determinações da matriz homográfica, ou seja, cada vez que os pontos chave detectados permitem calcular adequadamente a matriz de transformação entre a imagem original e a imagem transformada. A Fig. 2 apresenta o resultado do detector/descritor SIFT– SIFT na imagem da Lena, após passar por um processo de degradação composto por: borramento (Gaussiana), mudança de escala (50%), rotação (30º), iluminação (escurecimento) e ruído Gaussiano (10%). Observa-se neste caso que foram obtidos 28 inliers, que foram suficientes para a obtenção da matriz homográfica de transformação, pois a imagem original transformada pela matriz homográfica (retângulo verde em (b)) apresenta um bom encaixe sobre a imagem cena em (b). Em (c), os círculos pretos indicam as posições dos inliers da imagem degradada, enquanto que os círculos brancos indicam as posições dos inliers da imagem original, após a transformação usando a matriz homográfica. Neste caso, nota-se um bom encaixe entre eles, com uma distância média entre os pontos inliers DMI = 0,7443 e um tempo de processamento TT = 1.559 ms. Fig. 2. Inliers btidos com detector/descritor SIFT–SIFT; a) Imagem original (objeto); b) Imagem transformada (cena); c) Imagem original transformada pela matriz homográfica, destacando as distância entre os pontos original e trasnformado. A Fig. 3 apresenta o resultado do detector/descritor ORB– ORB na imagem da Lena, após passar pela mesma degradação anterior. Fig. 3. Inliers obtidos com detector/descritor ORB–ORB; a) Imagem original (objeto); b) Imagem transformada (cena); c) Imagem original transformada pela matriz homográfica, destacando as distância entre os pontos original e transformado. (c) (b) (c) (a) (b) (a)
  • 5. Neste caso foram obtidos 117 inliers, que propiciaram um resultado totalmente satisfatório para a obtenção da matriz homográfica de transformação, pois a imagem original transformada pela matriz homográfica (retângulo verde em (b)) apresenta um bom encaixe sobre a imagem cena em (b). Em (c), os círculos pretos indicam as posições dos inliers da imagem degradada, enquanto que os círculos brancos indicam as posições dos inliers da imagem original, após a transformação usando a matriz homográfica. Novamente, nota- se um bom encaixe entre eles, com uma distância média entre os pontos inliers DMI = 1,2293 pixels e tempo de processamento TT = 546 ms. A Fig. 4 apresenta o resultado do detector/descritor SURF– SURF na imagem da Lena, após passar pela mesma degradação anterior. Fig. 4. Inliers obtidos com detector/descritor SURF–SURF; a) Imagem original (objeto); b) Imagem transformada (cena); c) Imagem original transformada pela matriz homográfica, destacando as distância entre os pontos original e trasnformado. Neste caso foram obtidos 33 inliers, que não foram suficientes para a obtenção da matriz homográfica de transformação. Portanto, não ocorrendo um encaixe entre eles, embora o tempo de processamento TT=1.388 ms seja razoável. Os tempos de processamento com todas as combinações são apresentados na Tabela I. Nota-se que o menor tempo de processamento obtido com a imagem apenas borrada foi alcançado pelas combinações ORB–BRIEF e ORB–ORB (detecção usando ORB e descrição usando BRIEF e ORB) (TT=327 ms). Para a imagem que sofreu apenas a mudança de escala, o menor tempo de processamento foi obtido com a combinação ORB–ORB (TT=358 ms). Para a imagem que passou por uma alteração apenas na sua iluminação, a combinação que obteve o menor tempo de processamento também foi obtida com a combinação ORB–ORB (TT=281 ms). Para a imagem que sofreu apenas uma rotação, esta combinação também foi a que apresentou o menor tempo de processamento (TT=359 ms). O menor tempo de processamento obtido com a imagem acrescida de ruído foi obtido com a combinação STAR–ORB (TT=172 ms). Os valores em azul indicam que as matrizes homográficas foram obtidas com sucesso nestas duas combinações, significando que as imagens objeto e cena apresentaram correspondência satisfatória. Para a imagem que passou por todas as degradações (borramento, escala, iluminação, rotação e ruído) a combinação que obteve o menor tempo de processamento foi obtido pela combinação STAR–ORB (TT=516 ms), porém, não foi capaz de gerar a matriz homográfica adequada para fazer a correspondência das imagens. A combinação que apresentou o menor tempo de processamento e obteve a matriz satisfatória foi ORB–ORB (TT=546 ms). TABELA I. TEMPOS DE PROCESSAMENTO Borramento Escala Iluminação Rotação Ruído Todos QDMH SIFT–SIFT 1653 1342 1560 2043 1778 1559 6 SIFT–SURF 1201 889 826 1435 1201 983 4 SIFT–BRIEF 780 827 749 1342 827 874 3 SURF–SIFT 9859 8689 9641 14227 16989 8597 4 SURF–SURF 1498 1264 1357 2309 1966 1388 4 SURF–BRIEF 702 874 671 1170 890 827 3 SURF–ORB 733 796 607 952 687 811 4 FAST–SIFT 9000 9952 12090 16458 57299 14540 5 FAST–SURF 1653 2637 2433 4478 21591 5055 1 FAST–BRIEF 1544 2075 1591 3089 9016 3260 3 FAST–ORB 1498 1638 1342 2683 6522 2325 2 STAR–SIFT 2652 1981 2231 3526 2824 1794 3 STAR–SURF 562 515 578 640 328 530 1 STAR–BRIEF 546 530 546 608 187 530 3 STAR–ORB 515 483 531 593 172 516 3 MSER–SIFT 9563 7535 9111 12933 13244 7753 4 MSER–SURF 1373 1015 1216 1700 1654 1202 4 MSER–BRIEF 1122 1061 936 1357 1217 1124 3 MSER–ORB 1187 1046 952 1061 1170 1140 4 GFTTH –SIFT 45912 29063 44664 65208 44834 33212 4 GFTTH –SURF 44476 28533 43976 64382 44523 32807 1 GFTTH –BRIEF 44211 28469 44149 64491 44320 32792 3 GFTTH –ORB 44101 28440 43945 64272 44070 32636 2 GFTT–SIFT 45364 29936 45178 64929 45287 34288 4 GFTT–SURF 45006 29266 44631 64568 44928 33571 1 GFTT–BRIEF 44538 29204 44461 63555 44632 33587 4 GFTT–ORB 44336 28986 44007 63414 44195 33212 3 ORB–SURF 2168 1871 2185 2590 2216 2418 4 ORB–BRIEF 327 701 311 734 343 641 4 ORB–ORB 327 358 281 359 327 546 6 As quantidades de inliers obtidas com todas as combinações são apresentadas na Tabela II. A maior quantidade de inliers, obtida com a imagem apenas borrada foi alcançada com a combinação GFTT–SIFT (NIn=465). Entretanto, o tempo de processamento desta combinação foi muito alto (TT=45.364 ms). As melhores razões NIn/TT foram obtidas com as combinações ORB– BRIEF (0,7859) e ORB–ORB (0,6422). Para a imagem que sofreu apenas a mudança de escala, o maior número de inliers foi obtido com a combinação FAST–SIFT (NIn=420). O tempo de processamento desta combinação foi razoavelmente alto (TT=9.952 ms). A melhor razão NIn/TT foi obtida com a combinação SURF–SURF (0,1511). Para a imagem que passou por uma alteração apenas na sua iluminação, a combinação que obteve o maior número de inliers foi FAST–SIFT (NIn=2.268). (c) (a) (b)
  • 6. O tempo de processamento desta combinação também foi razoavelmente alto (TT=12.090 ms). As melhores razões NIn/TT foram obtidas com as combinações ORB–BRIEF (1,4180), ORB–ORB (1,3737) e FAST–ORB (1,3458). Para a imagem que sofreu apenas uma rotação, a combinação que obteve o maior número de inliers foi ORB–ORB (NIn=322), além disso, esta foi a combinação que obteve o menor tempo de processamento (TT=359 ms). O maior número de inliers, obtido com a imagem que teve apenas o acréscimo de ruído, foi alcançado com a combinação FAST–SIFT (NIn=2.498). Entretanto, o tempo de processamento desta combinação foi extremamente alto (o maior de todos). As melhores razões NIn/TT foram obtidas com as combinações ORB–BRIEF (1,2041) e ORB–ORB (1,1040). Para a imagem que passou por todas as degradações a combinação que obteve o maior número de inliers foi ORB–ORB (NIn=117), que é a combinação que obteve o tempo de processamento mais baixo e, que ainda conseguiu obter a matriz homográfica. TABELA II. QUANTIDADE DE INLIERS Borramento Escala Iluminação Rotação Ruído Todos QDMH SIFT–SIFT 137 76 160 211 167 28 6 SIFT–SURF 86 71 142 13 31 20 4 SIFT–BRIEF 131 22 153 12 150 24 3 SURF–SIFT 273 185 267 54 419 101 4 SURF–SURF 266 191 269 13 332 33 4 SURF–BRIEF 265 19 274 14 425 25 3 SURF–ORB 222 15 250 174 291 20 4 FAST–SIFT 234 420 2268 69 2498 71 5 FAST–SURF 75 29 1707 15 24 33 1 FAST–BRIEF 131 54 1909 26 1882 45 3 FAST–ORB 53 35 1806 18 1529 18 2 STAR–SIFT 21 19 29 11 135 45 3 STAR–SURF 15 15 14 10 54 24 1 STAR–BRIEF 31 15 28 8 135 23 3 STAR–ORB 20 20 29 8 125 21 3 MSER–SIFT 50 71 79 26 93 60 4 MSER–SURF 50 67 73 14 90 52 4 MSER–BRIEF 42 16 61 11 58 27 3 MSER–ORB 32 14 61 65 64 24 4 GFTTH –SIFT 219 105 328 16 433 67 4 GFTTH –SURF 18 17 237 15 11 51 1 GFTTH –BRIEF 179 23 306 22 383 60 3 GFTTH –ORB 174 23 295 18 354 63 2 GFTT–SIFT 465 66 877 19 465 18 4 GFTT–SURF 14 15 694 13 12 18 1 GFTT–BRIEF 399 18 821 19 478 25 4 GFTT–ORB 266 19 788 17 352 22 3 ORB–SURF 264 235 414 38 363 61 4 ORB–BRIEF 257 61 441 32 413 52 4 ORB–ORB 210 154 386 322 361 117 6 CONCLUSÕES Os resultados obtidos neste estudo podem ser de grande importância para a escolha destas técnicas em aplicações que demandam maior precisão ou menor tempo de processamento, ou ainda no tratamento de imagens que sofreram algum tipo de degradação. Neste artigo foi estabelecida a razão NIn/TT como um parâmetro razoável para medir a qualidade de uma solução, entretanto, em trabalhos futuros deverão ser investigadas outras alternativas para esta medida de qualidade. Também deverão ser investigadas as aplicações destas combinações de detectores e descritores em imagens de diferentes naturezas, como: paisagens, desenhos, mapas, entre outros. Entre as combinações avaliadas, apenas SIFT–SIFT e ORB–ORB foram capazes de obter os pontos chave que permitiram calcular adequadamente a matriz de transformação entre a imagem original e as seis imagens degradadas. REFERÊNCIAS [1] D.G. Lowe, “Distinctive image features from scale-invariant keypoints”, Intern. Journal of Computer Vision, Vol. 60, No. 2, pp. 91–110, 2004. [2] A. Collet, D. Berenson, S. S. Srinivasa and D. Ferguson, “Object recognition and full pose registration from a single image for robotic manipulation”, In: IEEE International Conference on Robotics and Automation, ICRA'09, pp. 48–55, 2009. [3] T. Okabe and Y. Sato, “Object recognition based on photometric alignment using RANSAC”, In Proceedings of Computer Society Conf. on Computer Vision and Pattern Recognition. pp.221-228, 2003. [4] K, Grauman and B. Leibe, “Visual object recognition: synthesis lectures on artificial intelligence and machine learning”, Morgan & Claypool Publishers, 2011, 163 p. [5] M. Brown and D. G. Lowe, “Automatic panoramic image stitching using invariant features”, International Journal of Computer Vision, Vol. 74, Nol. 1, pp. 59–73, 2007. [6] S. Se, D. Lowe, and J. Little, “Mobile robot localization and mapping with uncertainty using scale-invariant visual landmarks”, International Journal of Robotic Research, 21:735–758, August 2002. [7] G.R. Bradsky, V. Pisarevsky and J. Bouguet, “Learning OpenCV: computer vision with the OpenCV library”, Springer, 2008. [8] C. Bulla, “Local features for object recognition,” in International Student Conference on Electrical Engineering POSTER '12, (Prague, Czech Republic), May 2012. [9] T. Lindeberg, “Scale-space theory: A basic tool for analyzing structures at different scales”, Journal of Applied Statistics, 21:224 270, 1994. [10] D.G. Lowe, “Object recognition from local scale-invariant features”. In: Intern. Conf. on Computer Vision, Corfu, Greece, pp. 1150–1157, 1999. [11] H. Bay, T. Tuytelaars, and L.V. Gool, “SURF: speeded up robust features”, In: 9th European Conf. Computer Vision, pp. 404–417, 2006. [12] M. Calonder, V. Lepetit, C. Strecha, and P. Fua, “Brief: binary robust independent elementary features”. In Proceedings of the 11th European conference on Computer vision: Part IV, ECCV’10, pp. 778–792, Berlin, Heidelberg, 2010. Springer-Verlag. [13] E. Rublee, V. Rabaud, K. Konolige, and G. R. Bradski, “ORB: an efficient alternative to SIFT or SURF”, In D. N. Metaxas, L. Quan, A. Sanfeliu, L. J. V. Gool, editors, ICCV, pp. 2564–2571. IEEE, 2011. [14] E. Rosten and T. Drummond, “Machine learning for high-speed corner detection”, In In European Conference on Computer Vision, volume 1, pp. 430–443. 2006. [15] E. Rosten, R. Porter, T. Drummond, “Faster and better: a machine learning approach to corner detection”, Pattern Analysis and Machine Intelligence, IEEE Transactions on, Vol. 32, No. 1, pp. 105–119, 2008. [16] G. Klein and D. Murray, “Parallel tracking and mapping for small AR Workspaces”, In Proc. Sixth IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR’07). Nara, Japan, 2007. [17] S. Taylor, E. Rosten and T. Drummond, “Robust feature matching in 2.3ms”, In IEEE CVPR Workshop on Feature Detectors and Descriptors: The State Of The Art and Beyond. 2009. URL http://mi.eng.cam.ac.uk/~sjt59/papers/taylor_2009_robust.pdf. [18] Agrawal, M., Konolige, K., and Blas, M, “Censure: center surround extremas for realtime feature detection and matching”, In European Conf. on Computer Vision (ECCV 2008), pp. 102–115, 2008. [19] Matas, J., Chum, O., Urban, M., and Pajdla, T, “Robust wide baseline stereo from maximally stable extremal regions”, In British Machine Vision Conference (BMVC 2002), pp. 384–393, 2002. [20] Shi, J. and Tomasi, C, “Good features to track”, In Computer Vision and Pattern Recognition (CVPR 1994), pp. 593 –600, 1994 [21] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography”, Communications of the ACM, Vol 24, pp. 381–395, 1981.