Noções básicas sobre o processo de cálculo de recursos do SURF

9

Então, eu estava lendo o artigo sobre SURF (Bay, Ess, Tuytelaars, Van Gool: Recursos Robustos Acelerados (SURF) ) e não consigo compreender este parágrafo abaixo:

Devido ao uso de filtros de caixa e imagens integrais, não precisamos aplicar iterativamente o mesmo filtro à saída de uma camada filtrada anteriormente, mas podemos aplicar filtros de caixa de qualquer tamanho exatamente à mesma velocidade diretamente na imagem original e mesmo em paralelo (embora o último não seja explorado aqui). Portanto, o espaço da escala é analisado aumentando o tamanho do filtro em vez de reduzir iterativamente o tamanho da imagem, figura 4.

This is figure 4 in question.

Figura 4

PS: O artigo possui uma explicação da imagem integral, no entanto, todo o conteúdo do artigo é baseado no parágrafo específico acima. Se alguém leu este documento, você pode mencionar brevemente o que está acontecendo aqui. Toda a explicação matemática é bastante complexa para se entender primeiro, por isso preciso de ajuda. Obrigado.

Editar, alguns problemas:

1

Cada oitava é subdividida em um número constante de níveis de escala. Devido à natureza discreta das imagens integrais, a diferença mínima de escala entre duas escalas subseqüentes depende do comprimento lo dos lóbulos positivos ou negativos da derivada parcial de segunda ordem na direção da derivação (x ou y), definida como terço do comprimento do tamanho do filtro. Para o filtro 9x9, esse comprimento é 3. Para dois níveis sucessivos, devemos aumentar esse tamanho em no mínimo 2 pixels (um pixel de cada lado) para manter o tamanho irregular e, assim, garantir a presença do pixel central . Isso resulta em um aumento total do tamanho da máscara em 6 pixels (veja a figura 5).

Figure 5

Figura 5

Eu não conseguia entender as linhas no contexto fornecido.

Por dois níveis sucessivos, devemos aumentar esse tamanho em no mínimo 2 pixels (um pixel de cada lado) para manter o tamanho desigual e, assim, garantir a presença do pixel central.

Eu sei que eles estão tentando fazer algo com o comprimento da imagem, se é que eles estão tentando torná-lo estranho, de modo que haja um pixel central que lhes permita calcular o máximo ou o mínimo do gradiente de pixel. Estou um pouco duvidoso quanto ao seu significado contextual.

2)

Para calcular o descritor, é usada a waaret Haar.

Haar Wavelet

Como a região do meio tem baixo mas alto. dx |dx|

3)

Outro

Qual é a necessidade de ter um filtro aproximado?

4. Não tenho problema com a maneira como descobriram o tamanho do filtro. Eles "fizeram" algo empiricamente. No entanto, tenho algum problema persistente com esse pedaço de linha

A saída do filtro 9x9, apresentada na seção anterior, é considerada como a camada de escala inicial, à qual nos referiremos como escala s = 1,2 (aproximando derivadas gaussianas com σ = 1,2).

Como eles descobriram o valor de σ. Além disso, como é que o cálculo da escala é mostrado na imagem abaixo. A razão pela qual afirmo sobre essa imagem é que o valor de s=1.2continua recorrente, sem indicar claramente sua origem. Dimensionar imagem

5. A matriz hessiana representada em termos da Lqual é a convolução do gradiente de segunda ordem do filtro gausssiano e da imagem.

No entanto, diz-se que o determinante "aproximado" contém apenas termos que envolvem filtro gaussiano de segunda ordem.

O valor de wé:

Minha pergunta: por que o determinante é calculado dessa forma acima e qual é a relação entre a matriz hessiana aproximada e a matriz hessiana?

motiur
fonte
Ei! Adicionei o nome do autor e o título do artigo nas suas perguntas. Espero que você não se importe. Primeiro, torna o artigo pesquisável, mesmo que o link fique inoperante. Em segundo lugar, como alguém que faz pesquisas, acho creditando autores com seus nomes e nomes da publicação é o mínimo que podemos fazer para reconhecer seu trabalho :)
penelope
@penelope: Eu estava com medo de que as pessoas me votassem no esquecimento.
motiur
Eu acho que é uma pergunta muito boa, uma das mais interessantes recentemente. Eu nunca entrei no SURF, mas posso tentar dar uma olhada amanhã e ver se posso contribuir, a questão realmente me interessou :) e PS: se você estiver fazendo isso como parte de um projeto "oficial" da Uni , Tenho certeza de que seu supervisor o ajudará com prazer (especialmente se você estiver no nível Master) Uma parte do trabalho deles é ensinar a ler literatura científica.
Penelope
PPS: você pode querer editar a sua pergunta para adicionar uma breve explicação dos termos de imagem integrado e filtro de caixa : a compreensão do que você entende provavelmente irão nos ajudar a entender o que você não entende;)
penelope
@penelope: Você é uma garota / cara muito legal, tanto faz. E não, eu tenho que ter uma revisão bibliográfica deste artigo, li o escrito por David Lowe em 2004 e 1999. Esse foi bastante compreensível, além disso, houve uma boa palestra no youtube sobre isso. O problema é que existem toneladas de termos matemáticos usados ​​neste artigo, aquele com SURF. Se você não tem um modelo matemático em sua cabeça, é complicado ver a ideia principal.
motiur

Respostas:

10

O que é SURF?

Para entender corretamente o que está acontecendo, você também precisa estar familiarizado com SIFT : SURF é basicamente uma aproximação do SIFT. Agora, a verdadeira questão se torna: o que é peneirar? .

SIFT é um detector de ponto - chave e um descritor de ponto - chave . Na parte do detector, o SIFT é essencialmente uma variante multi-escala de detectores de canto clássicos, como o canto Harris, e que tem a capacidade de ajustar automaticamente a escala. Em seguida, dada a localização e o tamanho do patch (derivado da escala), ele pode calcular a parte do descritor.

O SIFT é muito bom em combinar partes de imagens localmente afins, mas tem uma desvantagem: é caro (ou seja, longo) calcular. Uma grande quantidade de tempo é gasta na computação do espaço de escala gaussiano (na parte do detector), depois na computação dos histogramas da direção do gradiente (para a parte do descritor).

SIFT e SURF podem ser vistos como diferenças entre os gaussianos com a seleção automática de escala (ou seja, tamanhos gaussianos). Assim, você constrói primeiro um espaço de escala em que a imagem de entrada é filtrada em diferentes escalas. O espaço da balança pode ser visto como uma pirâmide, onde duas imagens consecutivas são relacionadas por uma mudança de escala (ou seja, o tamanho do campo passa-baixo gaussiano mudou) e as escalas são agrupadas por oitavas (ou seja, uma grande mudança no tamanho do filtro gaussiano).

  • No SIFT, isso é feito filtrando repetidamente a entrada com um Gaussiano de largura fixa até que a escala da próxima oitava seja atingida.
  • No SURF, você não sofre nenhuma penalidade de tempo de execução pelo tamanho do filtro gaussiano, graças ao uso do truque de imagem integral. Assim, você calcula diretamente a imagem filtrada em cada escala (sem usar o resultado na escala anterior).

A parte de aproximação

Como o cálculo do espaço de escala gaussiano e os histogramas da direção do gradiente são longos, é uma boa idéia (escolhida pelos autores do SURF) substituir esses cálculos por aproximações rápidas.

Os autores observaram que pequenos gaussianos (como os usados ​​no SIFT) poderiam ser bem aproximados por integrais quadrados (também conhecidos como desfoque de caixa ). Essas médias retangulares têm a propriedade agradável de serem muito rápidas de obter, graças ao truque de imagem integral.

Além disso, o espaço de escala gaussiano na verdade não é usado em si , mas para aproximar um Laplaciano de Gaussiano (você pode encontrar isso no documento SIFT). Portanto, você não precisa apenas de imagens desfocadas em Gauss, mas de derivadas e diferenças delas. Então, você apenas avança um pouco a idéia de aproximar um gaussiano por uma caixa: primeiro deriva um gaussiano quantas vezes for necessário, depois aproxima cada lóbulo por uma caixa do tamanho correto. Você acabará tendo um conjunto de recursos do Haar.

Incremento de 2

Este é apenas um artefato de implementação, como você adivinhou. O objetivo é ter um pixel central. O descritor de recursos é calculado em relação ao centro do patch da imagem a ser descrito.

Região do meio

todos os pix na colunax=UMAtodos os pix na colunax=-UMAx

número mágico

σ=1.2σ=1.2

sansuiso
fonte
Obrigado pela explicação, esclareceu algumas das coisas, deixe-me ver se alguém tem um entendimento mais elaborado.
motiur
Editei a resposta em relação às suas novas perguntas.
Sansuiso
Oh sim, obrigado, apreciável. O papel é longo, então muita coisa acontece ao mesmo tempo.
motiur
Gostaria de ver minha edição mais recente?
motiur
11
É uma mistura de conhecimento comum compartilhado (pequenos gaussianos são bem aproximados por desfocagens), experimentação (tamanhos mínimo / máximo de objetos de interesse em imagens do mundo real) e matemática (dado o tamanho inicial do patch, retângulos de computação e gaussianos que se encaixam) .
Sansuiso
4

Para identificar os pontos de interesse em potencial, a função diferença de Gauss (DOG) é freqüentemente usada para processar a imagem, tornando-a invariante em escala e orientação.

No SIFT, as pirâmides de imagem são estabelecidas filtrando cada camada com o DOG de sigmavalores crescentes e fazendo a diferença.

Por outro lado, o SURF aplica uma aproximação muito mais rápida de derivadas parciais gaussianas de segunda ordem com Laplaciano de Gaussiano (LoG) e filtros quadrados de tamanhos diferentes (9 * 9, 15 * 15, ...). O custo computacional é independente do tamanho do filtro. Não há amostragem reduzida (alteração sigma) para níveis mais altos na pirâmide, mas apenas a escala superior do tamanho do filtro, resultando em imagens da mesma resolução.

EDITAR

Uma nota adicional: os autores em seu papel de simplificar ainda mais a segunda derivada Gaussian nas 4 orientações (x, y, xy, Y | X) com o kernel [1 -2 1], [1 -2 1]', [1 -1;-1 1], e [-1 1;1 -1]. Quando o tamanho do filtro aumenta, você só precisa estender as regiões simplificadas do kernel para obter a maior. E é equivalente ao DOG com escalas diferentes (a curva LoG tem a mesma forma que o DOG, e o tamanho do filtro também torna sua largura igual).

lennon310
fonte