Visão geral Universidade Federal do Rio Grande do Norte Material compilado em 30 de novembro de 2016. Licença desta apresentação: http://creativecommons.org/licenses/
Introdução Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução
Introdução Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Área de visão computacional Conceitos básicos Aplicações nesta aula: Features: Moravec e Harris : método de Lucas-Kanade
Introdução: Conceitos básicos Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Função f:n 2 C Podemos pensar em uma imagem digital também como a representação de uma função contínua 1 1 "Serengeti Lion Running saturated"by Taken by Schuyler Shepherd (Unununium272). Contrast and saturation edited by norro - Canon 350D, 100-400mm f/4.5-5.6 L IS. Contrast and saturation edited by norro. Licensed under CC BY-SA 2.5 via Wikimedia Commons - https://commons.wikimedia.org/wiki/file:serengeti L ion R unnings aturated.jpg/media/file : Serengeti L ion R unnings aturated.jpg
Introdução: Conceitos básicos Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Operações em imagens: Operadores pontuais Filtragem Base para as diversas aplicações em visão computacional: restauração, melhoria das imagens, extração de features, atenuação de ruídos, compressão de imagens, etc.
Introdução: Operadores pontuais Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Transformação de intensidade: s = T(r)
Introdução: Operadores pontuais Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Transformação de intensidade: s = T(r)
Introdução: Operadores pontuais Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Transformação de intensidade: s = T(r)
Introdução: Operadores pontuais Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Transformação de intensidade: s = T(r)
Introdução: Operadores pontuais Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Transformação de intensidade: Correção gamma:
Introdução: Filtragem Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Filtragem: Transforma um sinal de entrada em um sinal de saída Aplicação prática através de convolução
Introdução: Filtragem Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Convolução em imagens:
Introdução: Filtros de suavização Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Filtro gaussiano:
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas Detecção abruptas na intensidade em decorrência de: descontinuidades na profundidade mudanças na orientação ou material da superfície efeitos de iluminação Não é um problema bem posto (soluções não são únicas):
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas O módulo da derivada é alto se há uma transição abrupta na intensidade.
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas Componente x do gradiente:
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas Componente y do gradiente:
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas [ ] f / x Vetor gradiente: f = f / y Magnitude do gradiente: ( f / x) 2 + ( f / y) 2 Orientação do gradiente: tan 1 (( f / y)/( f / x))
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas Filtro de Sobel:
Conceitos básicos Operadores pontuais Filtragem Filtros de suavização Filtros de detecção de bordas Introdução: Filtros de detecção de bordas Exemplo:
Projeto NMAR (CNPq): Objetivo: desenvolvimento de um barco autônomo
Projeto Propesq: Objetivo: detecção de superfícies aquáticas em nuvem de pontos
Aquisição Através de uma placa de vídeo, o software calcula uma nuvem de pontos
O problema: detectar quais pontos pertencem à superfície aquática Assume-se que a superfície aquática é um plano: z = ax + by + c
Como obter os coeficientes a, b e c? x 1 y 1 1 x 2 y 2 1 a z 1 b z 2 =... c. x n y n 1 z n
Qual a influência dos pontos que não pertencem ao plano?
Corners Corners (Moravec) Corners (Harris)
Corners Corners (Moravec) Corners (Harris) Como conseguimos alinhar essas duas imagens?
Corners Corners (Moravec) Corners (Harris)
Corners Corners (Moravec) Corners (Harris) Como sabemos que o jogador está impedido?
Corners Corners (Moravec) Corners (Harris) Não há uma definição exata para features (características) Possível definição: partes de uma imagem que são relevantes para determinada tarefa Features comuns: Edges (bordas): Prewitt, Sobel, Canny, etc Linhas/círculos: transformada Hough Corners (cantos): Moravec, Harris, etc Blobs
: Corners Corners Corners (Moravec) Corners (Harris) Ponto em torno do qual há variação significativa de intensidade em mais de uma direção Métodos: Moravec Harris
Corners Corners (Moravec) Corners (Harris) : Corners (Moravec) S(u, v) = x A (f (x + u, y + v) f (x, y)) 2 y B
Corners Corners (Moravec) Corners (Harris) : Corners (Moravec) O que acontece com a função S(u, v) nos seguintes casos? Há um canto em (x, y) se o menor valor S(u, v) na vizinhança desse pixel for um valor alto Se for uma borda e sua direção não for analisada, pode haver um falso positivo
Corners Corners (Moravec) Corners (Harris) : Corners (Harris) Considere agora S(u, v) ponderada por uma função peso w(x, y): S(u, v) = w(x, y)(f (x + u, y + v) f (x, y)) 2 x y
Corners Corners (Moravec) Corners (Harris) : Corners (Harris) Definição de S(u, v): S(u, v) = x w(x, y)(f (x + u, y + v) f (x, y)) 2 y Pela expansão da série de Taylor: f (x + u, y + v) f (x, y) + f x (x, y)u + f y (x, y)v Substituindo em S(u, v): S(u, v) w(x, y)( f x (x, y)u + f y (x, y)v) 2 x y
Corners Corners (Moravec) Corners (Harris) : Corners (Harris) Continuando: S(u, v) x w(x, y)( f x (x, y)u + f y (x, y)v) 2 y pode ser expressa de forma quadrática: S(u, v) ( u v ) ( ( f x(x, y) 2 ) ( ) f x(x, y) f y(x, y) u w(x, y) f x y x(x, y) f y(x, y) f y(x, y) 2 ) v ou onde: S(u, v) ( u f x(x, y) 2 A = x y f x(x, y) f y(x, y) x y v ) ( ) u A v f x(x, y) f y(x, y) x y f y(x, y) 2 x y
Corners Corners (Moravec) Corners (Harris) : Corners (Harris) Gráfico da aproximação de S(u, v):
Corners Corners (Moravec) Corners (Harris) : Corners (Harris) Análise dos autovalores: λ 1 0 e λ 2 0, então é uma região homogênea λ 1 possui um valor alto e λ 2 0, então é uma borda λ 1 e λ 2 possuem valores altos, então é um canto
Introdução Método Lucas-Kanade
Método Lucas-Kanade Análise do movimento em imagens: Motion field: projeção do movimento dos pontos (em coordenadas de mundo) no plano imagem : movimento aparente pela mudança de intensidade Qual o motion field e fluxo óptico das imagens abaixo? 2 2 "Spinning Dancer"by Nobuyuki Kayahara - Procreo Flash Design Laboratory. Licensed under CC BY-SA 3.0 via Commons - https://commons.wikimedia.org/wiki/file:spinning_dancer.gif#/media/file:spinning_dancer.gif
Método Lucas-Kanade : Método Lucas-Kanade Seja a imagem ao longo do tempo: f (x, y, t) : R 3 C Dado um ponto p, assume-se que sua intensidade não muda, portanto: df (p) = 0 dt Aplicando a regra da cadeia:
Método Lucas-Kanade : Método Lucas-Kanade Uma equação duas incógnitas: f x (x, y)u + f y (x, y)v + f t (x, y) = 0 Assume-se que todos os pontos p i = (x i, y i ) na região possuem mesmo vetor (u, v): f x (p 1 )u + f y (p 1 )v + f t (p 1 ) = 0 f x (p 2 )u + f y (p 2 )v + f t (p 2 ) = 0... f x (p n )u + f y (p n )v + f t (p n ) = 0
Método Lucas-Kanade : Método Lucas-Kanade Expressando de forma matricial: f x (p 1 ) f y (p 1 ) f t (p 1 ) f x (p 2 ) f y (p 2 ) [ ] u f t (p 2 ). =. v. f x (p n ) f y (p n ) f t (p n ) Qual a resolução por mínimos quadrados?
Método Lucas-Kanade : Método Lucas-Kanade Resposta: [ f x (p i ) u = i v] 2 f x (p i ) f y (p i ) i f x (p i ) f y (p i ) i f y (p i ) 2 i 1 i i f x (p i ) f t (p i ) f y (p i ) f t (p i )
Método Lucas-Kanade : Método Lucas-Kanade Problema da abertura 3 : 3 http://web.mit.edu/persci/demos/motion&form/demos/one-square/one-square.html