Matemática da detecção de pontos de canto de Harris

23

Esta é a expressão matemática para a detecção de canto de Harris:

Esta é a expressão matemática da detecção de canto de Harris ...

Mas tenho as seguintes dúvidas:

  1. Qual é o significado físico de e v ? Muitas referências dizem que é a magnitude em que a janela w mudou. Então, quanto é que a janela mudou? Um pixel ou dois pixels?uvw
  2. A soma das posições de pixel é coberta pela janela?
  3. Supondo simplesmente , I ( x , y ) é a intensidade do pixel único em ( x , y ) ou a soma das intensidades dentro da janela com o centro em ( x , y ) ?w(x,y)=1I(x,y)(x,y)(x,y)
  4. De acordo com o wiki, eles dizem que a imagem é 2D, denotada por I e, em seguida, pede para considerar um patch de imagem sobre a área , depois usa a notação I ( x , y )(x,y)I(x,y)

Estou achando confuso entender a explicação matemática. Alguém tem uma ideia?

rotating_image
fonte
2
Confira esta palestra sobre o detector de canto Harris. É muito claro: youtube.com/watch?v=P35WsRDnTsU&t=41m12s
Eu escrevi um post no meu blog pessoal baseado na palestra acima. matlabcorner.wordpress.com/2012/11/17/...
Andrey Rubshtein

Respostas:

31

O significado dessa fórmula é realmente bastante simples. Imagine que você pegue duas pequenas áreas do mesmo tamanho, a azul e a vermelha:

insira a descrição da imagem aqui

A função da janela é igual a 0 fora do retângulo vermelho (para simplificar, podemos assumir que a janela é simplesmente constante dentro do retângulo vermelho). Portanto, a função de janela seleciona quais pixels você deseja observar e atribui pesos relativos a cada pixel. (O mais comum é a janela gaussiana, porque é rotacionalmente simétrica, eficiente para calcular e enfatizar os pixels próximos ao centro da janela.) O retângulo azul é deslocado por (u, v).

Em seguida, você calcula a soma da diferença quadrática entre as partes da imagem marcadas em vermelho e azul, ou seja, você as subtrai pixel por pixel, calcula a diferença e soma o resultado (assumindo, por simplicidade, que a janela = 1 na área que estamos procurando às). Isso fornece um número para cada possível (u, v) -> E (u, v).

Vamos ver o que acontece se calcularmos isso para diferentes valores de u / v:

Primeiro mantenha v = 0:

insira a descrição da imagem aqui

Isso não deve surpreender: a diferença entre as partes da imagem é menor quando o deslocamento (u, v) entre elas é 0. À medida que aumenta a distância entre as duas amostras, a soma das diferenças ao quadrado também aumenta.

Mantendo u = 0:

insira a descrição da imagem aqui

O gráfico parece semelhante, mas a soma das diferenças quadráticas entre as duas partes da imagem é muito menor quando você altera o retângulo azul na direção da borda.

Uma plotagem completa de E (u, v) é assim:

insira a descrição da imagem aqui

O enredo parece um pouco com um "desfiladeiro": há apenas uma pequena diferença se você mudar a imagem na direção do desfiladeiro. Isso ocorre porque esse patch de imagem tem uma orientação dominante (vertical).

Podemos fazer o mesmo para um patch de imagem diferente:

insira a descrição da imagem aqui

Aqui, o gráfico de E (u, v) parece diferente:

insira a descrição da imagem aqui

Não importa como você muda o patch, ele sempre parece diferente.

Então a forma da função E (u, v) nos diz algo sobre o patch da imagem

  • se E (u, v) estiver próximo de 0 em todos os lugares, não haverá textura no patch de imagem que você está vendo
  • se E (u, v) for "em forma de desfiladeiro", o adesivo terá uma orientação dominante (pode ser uma aresta ou uma textura)
  • se E (u, v) for "em forma de cone", o adesivo terá textura, mas nenhuma orientação dominante. Esse é o tipo de patch que um detector de canto está procurando.

Muitas referências dizem que é a magnitude pela qual a janela 'w' mudou ... então, quanto a janela mudou? Um pixel ... dois pixels?

Normalmente, você não calcula E (u, v). Você só está interessado na forma dela na vizinhança de (u, v) = (0,0). Então você só quer a expansão Taylor de E (u, v) próxima de (0,0), que descreve completamente a "forma" dela.

A soma das posições de pixel é coberta pela janela?

Matematicamente falando, é mais elegante deixar o somatório variar sobre todos os pixels. Na prática, não faz sentido somar pixels onde a janela é 0.

Niki Estner
fonte
thanx uma tonelada Nikie ....
rotating_image
2
Eu sabia que você iria obter uma excelente resposta aqui, @rotating_image
karlphillip
thanx karlphillip ..
rotating_image
1
Um milhão de votos!
Phonon