Problema resolvido na íntegra
-
Magnitude do gradiente no píxel (31, 3) da imagem de teste em xadrez 9 passos
A imagem de teste em xadrez — preto e branco puros, quadrados de 32 píxeis de largura — a σ = 1,0 com o núcleo de desfocagem 3×3, Tlo = 30 e Thi = 80. Deduza a magnitude do gradiente no pixel (31, 3), a última coluna branca antes da primeira fronteira vertical, e depois determine com quantos píxeis de largura fica a aresta a que pertence.
-
Primeiro a escala de cinzentos, que nesta imagem não faz nada: os três pesos somam exatamente 1, pelo que um pixel com valores iguais de vermelho, verde e azul mantém o seu valor. O branco mantém-se em 255, o preto mantém-se em 0, pelo que todos os números abaixo provêm apenas desses dois valores.
-
Os pesos gaussianos diminuem com o quadrado da distância. A σ = 1 o centro recebe 1, os 4 píxeis que partilham uma aresta recebem e-0,5 = 0,6065 e os 4 cantos recebem e-1 = 0,3679; dividindo pelo total de 4,8976 obtém-se uma média ponderada.
-
A linha 3 situa-se bem dentro de uma faixa horizontal, pelo que as 3 linhas de qualquer janela aí situada são idênticas e a estrutura vertical do núcleo anula-se. Apenas os seus totais de coluna importam, e há apenas 2 deles.
-
Desfocagem ao longo da fronteira. Em x = 31 a janela cobre 2 colunas brancas e 1 preta; em x = 32 cobre 1 branca e 2 pretas. O degrau abrupto de 255 para 0 tornou-se na rampa 255, 185, 70, 0 — esses 2 valores intermédios, arredondados, são os que o inspecionador mostra.
-
O Sobel pondera a coluna da esquerda por -1, -2, -1 e a da direita por +1, +2, +1, e a coluna central por nada. Sendo as 3 linhas iguais, esses pesos colapsam num único fator de 4, pelo que toda a convolução é 4 vezes a diferença entre as colunas de cada lado.
-
O gradiente vertical anula-se pela razão simétrica oposta: a linha acima do pixel e a linha abaixo dele têm os mesmos 3 números, pelo que a soma +1, +2, +1 anula a soma -1, -2, -1 termo a termo. Esta aresta tem um gradiente puramente horizontal, o que facilita o passo seguinte.
-
Ao combinar ambos, a magnitude é simplesmente a horizontal.
-
Compare com o que a mesma aresta daria sem desfocagem: um simples degrau de 255 através do mesmo núcleo. O suavizamento consumiu 280 contagens, um pouco mais de 27% da resposta disponível, e esse é o preço da imunidade ao ruído — não uma perda por arredondamento, mas uma troca deliberada.
-
Agora repita uma coluna para a direita. Em x = 32 a janela lê 185, 70, 0, pelo que a diferença é novamente -185 e a magnitude é novamente 740. Uma coluna mais para fora de qualquer um dos lados, a diferença colapsa para cerca de -70 e a magnitude para 280.
Resposta
740 — e a aresta fica com 2 píxeis de largura. A supressão de não-máximos mantém um pixel quando a sua magnitude é ≥ a ambos os vizinhos ao longo do gradiente. Aqui o gradiente aponta ao longo de x, pelo que o pixel 31 é comparado com 280 à sua esquerda e 740 à sua direita, o pixel 32 com 740 e 280. Cada um empata com o outro, e um empate satisfaz ≥, pelo que ambos sobrevivem; a 740 ambos são mais de 9 vezes Thi = 80, pelo que ambos ficam brancos. Nenhum par de limiares os consegue separar, porque os limiares não são a causa. A fronteira real situa-se em x = 31,5, exatamente a meio caminho entre o último pixel branco e o primeiro preto, e uma desfocagem simétrica deixa o gradiente simétrico em torno desse valor meio-inteiro — não há um único máximo para encontrar. É algo que vale a pena saber antes de ajustar o quer que seja: uma linha duplicada num mapa de arestas é por vezes uma falha de limiarização e por vezes aritmética, e aqui é 740 = 740 numa imagem cujos quadrados acontecem ter um número inteiro de píxeis de largura.
-
Referências (1)
- Insight block 3 — the three criteria, and the trade-off between two of them: J. Canny, "A Computational Approach to Edge Detection." IEEE Transactions on Pattern Analysis and Machine Intelligence PAMI-8(6), 679–698, 1986.