17
Segmentação de Fundo Marcelo Gonella [email protected]

Segmentação de Fundo Marcelo Gonella [email protected]

Embed Size (px)

Citation preview

Page 1: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Segmentação de Fundo

Marcelo [email protected]

Page 2: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• ObjetivoDado um quadro (imagem) de um jogo de futebol, devemos remover o fundo (gramado) deixando apenas os jogadores.

• Técnicas de SegmentaçãoPara atingirmos o objetivo proposto usaremos duas técnicas distintas em conjunto

– Limiarização de Histograma

– Detecção de descontinuidade

Page 3: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

• Limiarização de HistogramaPara entendermos a estratégia é preciso analisar o comportamento do histograma neste tipo de imagem.

Podemos notar que, existe uma grande concentração de pixels em uma mesma faixa do histograma. Isto se dá pela grande quantidade de gramado que aparece na imagem.

Fundamentos em Computação Gráfica – T2

Page 4: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Limiarização de HistogramaSe substituirmos os pixels neste pico, pela cor branca, estaríamos atacando diretamente grande parte daqueles convertidos a partir do gramado. Isso seria uma maneira de tentar remover o fundo.

As linhas vermelhas marcam o limite. Os pixels entre as linhas são substituídos pela cor branca na imagem original.

Page 5: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Resultado: Limiarização de Histograma

Page 6: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Análise do ResultadoDevido a grande perda de informação no momento em que convertemos uma imagem com milhões de cores para uma imagem com 256 tons de cinza (para faremos o histograma), os resultados não são bons.

Muitas das cores dos jogadores acabam sendo convertidas para as mesmas cores que os diversos tons do gramado são convertidos. Desta forma, ficam buracos nos jogadores.

Page 7: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Detecção de descontinuidadePara tentar melhorar os resultados obtidos pela técnica anterior, implementamos a técnica de detecção de bordas, que em imagens digitais são levemente borradas. A idéia é aplicar a primeira derivada no perfil de níveis de cinza.

Esta derivada será nula nas áreas onde o nível de cinza é constante, positiva na primeira borda e negativa na segunda.

Esta técnica será computada através de um operador local denominado Operador de Sobel

Page 8: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Operador de SobelPara implementar o operador de Sobel, pegamos um pixel da nossa imagem original e analizamos os vizinhos em todas as

direções, obtendo suas intensidades.

As derivadas parciais utilizando Sobel ficam assim:

Gx = (z7 + 2z8 + z9) - (z1 + 2*z2 + z3)Gy = (z3 + 2z6 + z9) - (z1 + 2*z4 + z7)

Page 9: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Cálculo do GradienteCalculamos então o gradiente para z5, para a obtenção do próximo valor deslocamos toda a mascara. Para cada valor encontrado, verificamos se ele fica abaixo ou acima de determinado valor. Este valor pode ser, por exemplo 25, que representa 10% do maior nível de cinza da imagem (255).

Aos pixels que obdecem a esta regra, foram recuperados da imagem original e escritos na imagem resultado, que já estava segmentada pelo histograma, fazendo com que as bordas dos

objetos ganhassem mais contorno e definição.

GradF(z5) = abs(gx) + abs(gy)

Page 10: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Resultados Obtidos aplicando apenas Sobel

Page 11: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Resultados finais: Original (tons de cinza)

Page 12: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Resultados finais: limiarização do histograma

Page 13: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Resultados finais: limiarização do histograma + Sobel

Page 14: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Outros Resultados

Page 15: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Outros Resultados

Page 16: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Outros Resultados

Page 17: Segmentação de Fundo Marcelo Gonella gonella@tecgraf.puc-rio.br

Fundamentos em Computação Gráfica – T2

• Outros Resultados