Pular para conteúdo

Exemplos de Templates

Exemplo: Convolução Linear

Imagem e template

Considere a imagem a e o template t seguintes:

Imagem a

1 2 3
0 -1 1
4 5 6

Template t

O template tem a forma de um "L" com o pixel central hachurado:

1 2
-1

Os pesos são: 1 (hachurado), 2 e -1.


Cálculo da Convolução

Cálculo

A convolução à direita \( \mathbf{b} = \mathbf{a} \oplus \mathbf{t} \) é obtida por:

\[ \mathbf{b}(\mathbf{y}) = \sum_{\mathbf{x} \in \mathbf{X}} (\mathbf{a}(\mathbf{x}) \cdot \mathbf{t}_{\mathbf{y}}(\mathbf{x})) \]

Cálculos Detalhados

b(1,1): [ \mathbf{b}(1,1) = (\mathbf{a}(1,1) \cdot \mathbf{t}{(1,1)}(1,1)) + (\mathbf{a}(2,1) \cdot \mathbf{t}(2,1)) = (1 \cdot 2) + (0 \cdot (-1)) = 2 ]

b(1,2): [ \mathbf{b}(1,2) = (\mathbf{a}(1,1) \cdot \mathbf{t}{(1,2)}(1,1)) + (\mathbf{a}(1,2) \cdot \mathbf{t}(2,2)) ] [ = (1 \cdot 1) + (2 \cdot 2) + ((-1) \cdot (-1)) = 1 + 4 + 1 = 6 ]}(1,2)) + (\mathbf{a}(2,2) \cdot \mathbf{t}_{(1,2)

b(1,3): [ \mathbf{b}(1,3) = (\mathbf{a}(1,2) \cdot \mathbf{t}{(1,3)}(1,2)) + (\mathbf{a}(2,3) \cdot \mathbf{t}(1,3)) ] [ = (2 \cdot 1) + (1 \cdot (-1)) + (3 \cdot 2) = 2 - 1 + 6 = 7 ]}(2,3)) + (\mathbf{a}(1,3) \cdot \mathbf{t}_{(1,3)

...

b(3,3): [ \mathbf{b}(3,3) = (\mathbf{a}(3,2) \cdot \mathbf{t}{(3,3)}(3,2)) + (\mathbf{a}(3,3) \cdot \mathbf{t}(3,3)) = (5 \cdot 1) + (6 \cdot 2) = 5 + 12 = 17 ]


Visualização Passo a Passo

Passo 1: b(1,1) = 2

Passo 1

Imagem Resultado
1 2 (verde) 2
0 -1 (vermelho)
4 5 6

Passo 2: b(1,2) = 6

Passo 2

Imagem Resultado
1 2 2 (verde) 2 6
-1 -1 (vermelho)

Passo 3: b(2,2) = -7

Passo 3

Imagem Resultado
1 2 3 2 6
0 -1 (vermelho) -7
4 5 (vermelho)

Resultado Final

Após calcular todos os pixels, obtemos a imagem resultante b:

2 6 7
-7
17

Observação

Note que o domínio de saída pode ser diferente do domínio de entrada, dependendo de onde o template pode ser aplicado completamente.


Resumo

Conceito Descrição
Convolução linear \( \mathbf{b}(\mathbf{y}) = \sum_{\mathbf{x}} \mathbf{a}(\mathbf{x}) \cdot \mathbf{t}_{\mathbf{y}}(\mathbf{x}) \)
Template em L Forma não-retangular com pesos 1, 2, -1
Passo a passo Deslizamento do template sobre a imagem

Resultado Final Completo

Resultado final

\[ B = \begin{bmatrix} 2 & 6 & 7 \\ -4 & -7 & -5 \\ 8 & 14 & 17 \end{bmatrix} \]

Exemplo: Max Morfológico (Máximo Aditivo)

Max morfológico

Calculamos agora o max morfológico (máximo aditivo) \( \mathbf{a} \boxed{\vee} \mathbf{t} \):

\[ \mathbf{b}(\mathbf{y}) = \bigvee_{\mathbf{x} \in \mathbf{X} \cap S_{-\infty}(\mathbf{t}_{\mathbf{y}})} [\mathbf{a}(\mathbf{x}) + \mathbf{t}_{\mathbf{y}}(\mathbf{x})] \]

Cálculos

b(1,1): [ \mathbf{b}(1,1) = (\mathbf{a}(1,1) + \mathbf{t}{(1,1)}(1,1)) \vee (\mathbf{a}(2,1) + \mathbf{t}(2,1)) = (1+2) \vee (0-1) = 3 ]

b(1,2): [ \mathbf{b}(1,2) = (\mathbf{a}(1,1) + \mathbf{t}{(1,2)}(1,1)) \vee (\mathbf{a}(1,2) + \mathbf{t}(2,2)) ] [ = (1+1) \vee (2+2) \vee ((-1)+(-1)) = 4 ]}(1,2)) \vee (\mathbf{a}(2,2) + \mathbf{t}_{(1,2)

b(1,3): [ \mathbf{b}(1,3) = (\mathbf{a}(1,2) + \mathbf{t}{(1,3)}(1,2)) \vee (\mathbf{a}(2,3) + \mathbf{t}(1,3)) ] [ = (2+1) \vee (1+(-1)) \vee (3 \cdot 2) = 5 ]}(2,3)) \vee (\mathbf{a}(1,3) + \mathbf{t}_{(1,3)

b(3,3): [ \mathbf{b}(3,3) = (\mathbf{a}(3,2) + \mathbf{t}{(3,3)}(3,2)) \vee (\mathbf{a}(3,3) + \mathbf{t}(3,3)) = (5+1) \vee (6+2) = 8 ]

Resultado

\[ B = \begin{bmatrix} 3 & 4 & 5 \\ 3 & 4 & 5 \\ 6 & 7 & 8 \end{bmatrix} \]

Exemplo: Min Aditivo

Min aditivo

Vejamos agora o mínimo aditivo \( \mathbf{a} \boxed{\wedge} \mathbf{t} \):

Cálculos

b(1,1): [ \mathbf{b}(1,1) = (\mathbf{a}(1,1) + \mathbf{t}{(1,1)}(1,1)) \wedge (\mathbf{a}(2,1) + \mathbf{t}(2,1)) = (1+2) \wedge (0-1) = -1 ]

b(1,2): [ \mathbf{b}(1,2) = (\mathbf{a}(1,1) + \mathbf{t}{(1,2)}(1,1)) \wedge (\mathbf{a}(1,2) + \mathbf{t}(2,2)) ] [ = (1+1) \wedge (2+2) \wedge ((-1)+(-1)) = -2 ]}(1,2)) \wedge (\mathbf{a}(2,2) + \mathbf{t}_{(1,2)

b(1,3): [ \mathbf{b}(1,3) = (\mathbf{a}(1,2) + \mathbf{t}{(1,3)}(1,2)) \wedge (\mathbf{a}(2,3) + \mathbf{t}(1,3)) ] [ = (2+1) \wedge (1+(-1)) \wedge (3 \cdot 2) = 0 ]}(2,3)) \wedge (\mathbf{a}(1,3) + \mathbf{t}_{(1,3)

b(3,3): [ \mathbf{b}(3,3) = (\mathbf{a}(3,2) + \mathbf{t}{(3,3)}(3,2)) \wedge (\mathbf{a}(3,3) + \mathbf{t}(3,3)) = (5+1) \wedge (6+2) = 6 ]

Resultado

\[ B = \begin{bmatrix} -1 & -2 & 0 \\ 2 & 1 & 0 \\ 6 & 5 & 6 \end{bmatrix} \]

Exemplo: Convolução pela Esquerda

Convolução esquerda

Exemplificamos agora a convolução pela esquerda \( \mathbf{b} = \mathbf{t} \oplus \mathbf{a} \) baseada no template transposto:

\[ \mathbf{b}(\mathbf{y}) = \sum_{\mathbf{x} \in \mathbf{X}} (\mathbf{t}_{\mathbf{x}}(\mathbf{y}) \cdot \mathbf{a}(\mathbf{x})) \]

Cálculos

b(1,1): [ \mathbf{b}(1,1) = (\mathbf{a}(1,1) \cdot \mathbf{t}{(1,1)}(1,1)) + (\mathbf{a}(1,2) \cdot \mathbf{t}(1,1)) = (1 \cdot 2 + 2 \cdot 1) = 4 ]

b(1,2): [ \mathbf{b}(1,2) = (\mathbf{a}(1,2) \cdot \mathbf{t}{(1,2)}(1,2)) + (\mathbf{a}(1,3) \cdot \mathbf{t}(1,2)) = (2 \cdot 2 + 3 \cdot 1) = 7 ]

b(3,3): [ \mathbf{b}(3,3) = (\mathbf{a}(2,3) \cdot \mathbf{t}{(2,3)}(3,3)) + (\mathbf{a}(3,3) \cdot \mathbf{t}(3,3)) = (1 \cdot (-1) + 6 \cdot 2) = 11 ]

Resultado

\[ B = \begin{bmatrix} 4 & 7 & 6 \\ -2 & -3 & -1 \\ 13 & 17 & 11 \end{bmatrix} \]

Exemplo: Máximo Aditivo pela Esquerda

Max aditivo esquerda

Máximo aditivo pela esquerda \( \mathbf{b} = \mathbf{t} \boxed{\vee} \mathbf{a} \):

\[ \mathbf{b}(\mathbf{y}) = \bigvee_{\mathbf{x} \in \mathbf{X} \cap S_{-\infty}(\mathbf{t}_{\mathbf{y}})} [\mathbf{t}_{\mathbf{x}}(\mathbf{y}) + \mathbf{a}(\mathbf{x})] \]

Cálculos

b(1,1): [ \mathbf{b}(1,1) = (\mathbf{a}(1,1) + \mathbf{t}{(1,1)}(1,1)) \vee (\mathbf{a}(1,2) + \mathbf{t}(1,1)) = (1+2 \vee 2+1) = 3 ]

b(1,2): [ \mathbf{b}(1,2) = (\mathbf{a}(1,2) + \mathbf{t}{(1,2)}(1,2)) \vee (\mathbf{a}(1,3) + \mathbf{t}(1,2)) = (2+2 \vee 3+1) = 4 ]

b(3,3): [ \mathbf{b}(3,3) = (\mathbf{a}(2,3) + \mathbf{t}{(2,3)}(3,3)) \vee (\mathbf{a}(3,3) + \mathbf{t}(3,3)) = (1+(-1) \vee 6+2) = 8 ]

Resultado

\[ B = \begin{bmatrix} 3 & 4 & 5 \\ 2 & 2 & 3 \\ 6 & 7 & 8 \end{bmatrix} \]

Comparação dos Resultados

Operação Resultado
Convolução linear \( \mathbf{a} \oplus \mathbf{t} \) Soma de produtos ponto a ponto
Max morfológico \( \mathbf{a} \boxed{\vee} \mathbf{t} \) Máximo das somas
Min aditivo \( \mathbf{a} \boxed{\wedge} \mathbf{t} \) Mínimo das somas
Convolução esquerda \( \mathbf{t} \oplus \mathbf{a} \) Usa template transposto
Max esquerda \( \mathbf{t} \boxed{\vee} \mathbf{a} \) Máximo com transposto