Features (características)

Slides:



Advertisements
Apresentações semelhantes
Melhoramento de Imagens
Advertisements

Lista 3!!!.
Lista 3!!!.
GRAFOS. Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: –Existe um caminho para ir de um.
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Espelhos planos e esféricos
Dicas práticas para o uso do FEMM
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
Prof. Celso Gramática.
Vetores (2) Continuação.
INTRODUÇÃO À GEOMETRIA DO ESPAÇO-TEMPO
MÉTRICA ds2=dx2+dy2 Distância entre dois pontos numa superfície
 MORAL DA HISTÓRIA?? Nesse caso, os e - de maior  contribuição importante   pressão do gás; é a chamada PRESSÃO DE DEGENERESCÊNCIA. ►►
GEOMETRIA DE ESPAÇOS CURVOS
FA-023 – Adequação Trator-implemento
Prof. Dr. Helder Anibal Hermini
Introdução ao SPRING Extras Dicas.
Registro de Carta Topográfica
Ilusão de Ótica O termo Ilusão de óptica aplica-se a todas ilusões que «enganam» o sistema visual humano fazendo-nos ver qualquer coisa que não está presente.
Abertura: o pequeno traço vertical interrompendo uma das extremidades indica o limite da abertura abertura: indica o local onde deverá ser feita uma abertura.
PROFESSOR: MARCELO ALANO. REVISÃO PARA 3º ANO
Processamento de Imagens
Processamento de Imagens
Técnicas de Processamento Imagens
Processamento de Imagens
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
O Fluxo de Testes © Alexandre Vasconcelos
PotenCial ElÉTRICO Universidade Federal do Paraná
Estatística: Aplicação ao Sensoriamento Remoto SER 202 Aula 01 - ANO 2013 Camilo Daleles Rennó
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
"Tudo o que acontece, acontece em algum lugar." Gilberto Câmara - INPE Gilberto Câmara - INPE.
Modelos Digitais de Terreno
Técnicas de Amostragem
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
Capitulo 3 Técnicas de Diagnóstico CT-282 Tutores Inteligentes Diego Ajukas.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
CES-11 LAB 03 Bitmap Quadtree
Materiais Propriedades mecânicas Reologia.
Probabilidade Modelo matemático para incerteza Desenvolvimento relativamente recente –Cardano (século XVI) –Pascal (século XVII) Peter Bernstein, Against.
Probabilidade e Esperança Condicional
Copyright, 1999 © Marcelo Knörich Zuffo PEE-EPUSP Visualização Científica PSI a Aula – Conceitos Básicos de Iluminação.
Modelos de Iluminação e Tonalização
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
Teorema do Confronto Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
TE804 Eletrodinâmica Computacional
Interpolação Introdução Conceito de Interpolação
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Resolução de Sistemas Lineares- Parte 1
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
7. INTEGRAÇÃO NUMÉRICA Parte 1
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Visão Computacional Shape from Shading e Fotométrico Eséreo
Formação de Imagem - Sampling
Formação de Imagem - Aquisição
Visão Computacional Formação da Imagem
Visão Computacional Formação da Imagem
Robótica: Sistemas Sensorial e Motor
Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.
Computação Gráfica Geometria de Transformações
Processamento de Pixel
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Transcrição da apresentação:

Features (características) Visão Computacional Features (características) http://www.dca.ufrn.br/~lmarcos/courses/visao

Sinopse Conceito de features Arestas, contornos, curvas Features não geométricas

O que são features? Feature global Feature local Uma propriedade global de uma imagem ou parte dela, por exemplo, média dos níveis de cinza, área em pixel. Feature local Parte de uma imagem com propriedades especiais, por exemplo, um círculo, uma linha, ou uma região com textura numa imagem de intensidade, uma superfície plana numa imagem de profundidade

Definição Features (características) de imagem são partes detectáveis locais da imagem com algum significado (meaningful) Seqüência de operações iniciais dos sistemas de visão: Detecção (realce) de features Localização de features

Significado (meaningful) Associadas a elementos de interesse na cena via o processo de formação de imagens Variação alta da intensidade causada pelos contornos Regiões com nível de intensidade uniforme Algumas vezes procuramos features que não se traduzem a alguma característica na imagem mas refletem arranjos particulares dos pixels com certas propriedades desejadas (invariância, coisas fáceis de detectar).

Detectáveis Deve existir um algoritmo de localização, caso contrário, a feature não serve para nada Features diferentes são associadas a algoritmos de detecção diferentes; A saída geralmente são os descritores das features, especificando posição e outras propriedades essenciais da feature. Ex: descritor de linha contém o ponto central, seu tamanho e orientação.

Arestas (bordas) São pixels (ou regiões) da imagem onde o valor da intensidade possui uma variação brusca Problema de detecção de arestas: dada uma imagem (considere com erro), localizar as arestas geradas pelos elementos da cena (não pelo erro)

Por que aresta interessa? Contornos de elementos de interesse na cena objetos sólidos, marcas em superfícies, sombras Linhas, curvas e contornos (elementos básicos para muitos algoritmos) são cadeias de pixels de arestas Line drawing (wire frame) é são imagens comuns e sugestivas para seres humanos

Algoritmo Suavização do ruído Realce de arestas Localização de arestas suprimir ruídos sem destruir arestas assumir ruído branco ou gaussiano Realce de arestas projetar um filtro que responda a arestas valor alto nas arestas e baixo fora delas Localização de arestas decidir que máximos locais no filtro são arestas afinar arestas grossas para um pixel de largura estabelecer um valor mínimo para aresta (treshold)

Detetor de arestas de Canny Seja f(x,y) uma imagem, com ruído branco ou gaussiano Para eliminar (ou diminuir) ruído, convoluir com o filtro gaussiano

Gaussiano Espaço Freqüência

Gradiente do Gaussiano Espaço Freqüência

Laplaciano do Gaussiano Espaço Freqüência

Canny Então f*g suprime erro antes da detecção de arestas, ou seja, limita f em banda, mas ainda é uma boa aproximação de f Então, para detectar arestas, basta aplicar diferenciação

Canny Como o filtro gaussiano é linear, leva-se a diferenciação para a máscara da gaussiana e então aplica-se o resultado (outra máscara) à imagem original. O resultado é o mesmo que se fosse primeiro suavizado e depois diferenciado.

Algoritmo de Canny Aplicar CannyEnhancer a I(i,j) Aplicar NonMaxSuppression ao resultado Aplicar HysteresisThresh ao resultado

Es(i,j)=(Jx2(i,j)+Jy2(i,j))1/2 Função CannyEnhancer Aplicar suavização gaussiana a I(i,j) (filtro linear com kernel gaussiano discretizado) J=I*G Para cada pixel (i,j): a) calcule as componentes do gradiente Jy e Jx b) estime a magnitude da aresta (strenght) Es(i,j)=(Jx2(i,j)+Jy2(i,j))1/2 c) estime a orientação da normal da aresta E(i,j)=atan2(Jy,Jx)

Função NonMaxSuppresion Considere as direções dk = 0, 45, 90, 135o Para cada pixel em es(i,j) ache a direção dk que melhor aproxima a direção de E(i,j) (a normal à aresta) se Es(i,j) for menor que pelo menos um dos dois vizinhos ao longo de dk faça In(i,j)=0 (supressão); caso contrário, faça In(i,j)= Es(i,j) Saída é imagem In(i,j) de pontos de arestas afinadas, isto é, Es(i,j) após supressão de pontos de aresta não máximos (max. locais)

Eliminando máximos locais (tresholding) A imagem afinada ainda contém máximos locais criados por erro Uma idéia seria descartar pixels com valores menor que um treshold. Problemas: se tentarmos capturar arestas verdadeiras que sejam fracas, algum erro pode ainda passar (contornos falsos) os valores dos máximos verdadeiros podem flutuar ao longo de uma aresta, acima e abaixo do treshold, fragmentando a aresta resultante.

Função HysteresisTresh Entrada é a imagem In(i,j), E(i,j) e l e h, dois tresholds l<h Para todos os pontos em In(i,j), passando numa ordem fixa: localiza próximo pixel não visitado In(i,j) > h começando de In(i,j), tente achar uma cadeia de máximos locais conectados em ambas as direções perpendiculares à normal à aresta desde que In(i,j) > l. Marque todos os pontos visitados e salve a lista das posições dos pixels no contorno conectado encontrado.

Saída do algoritmo Conjunto de listas de arestas, cada uma descrevendo a posição de um contorno conectado na imagem Imagem de orientação Imagem de magnitude

Generalidades Hysteresis reduz probabilidade de falsos contornos, uma vez que estes devem produzir uma resposta maior que h para ocorrerem Reduz probabilidade de quebra, requerendo flutuações muito maiores que no caso de simples thresholding Tracking de arestas, achando máximos em arestas conectados, ou contornos conectados

Algoritmo RobertsEdgeDetector (Input: imagem I(i,j) e treshold ) Aplique remoção de ruídos caso deseje (Is) filtrar Is(i,j) com as máscaras de roberts 1-1 -1 1 -1 1 1-1 obtendo duas imagens I1(i,j) e I2(i,j) estime a magnitude do gradiente em cada pixel como G(i,j)=(I12(i,j)+I22(i,j))1/2 marque como aresta todos o pixels em que G(i,j)>.

Algoritmo SobelEdgeDetector Mesmo que Roberts, exceto as máscaras do segundo passo Prewitt: similar

Detectando cantos Considere o gradiente espacial da imagem dado por (Ex,Ey)t , com Ex=E/x e Ey=E/y; Considere um pixel p genérico na imagem, uma vizinhança Q de p e uma matriz C: Ex2 ExEy ExEy Ey2 onde as somatórias são tomadas sobre a vizinhança Q. A matriz C caracteriza a estrutura dos níveis de cinza da imagem, em cada pixel. C=

Auto-valores e auto-vetores A matriz C é simétrica, portanto pode ser diagonalizada por uma rotação do eixo de coordenadas, sem perda de generalidades: 1 0 0 2 Os dois auto-valores 1 e 2 são não negativos (assumamos 1 > 2). C=

Interpret. geométrica de 1 e 2 1) Considere uma vizinhança Q uniforme: o gradiente desaparece em toda a vizinhança, C vira uma matriz nula e 1=2=0 2) Assuma que Q contém um aresta degrau ideal preto para branco; temos então 2=0, 1>0 e o auto-vetor associado com 1 é paralelo ao gradiente da imagem O posto (rank) de C é deficiente nos dois casos (0 e 1, respectivamente).

Interpret. geométrica de 1 e 2 3) Considere que Q contém o canto de um quadrado preto contra um fundo branco: como tem duas direções principais em Q, espera-se que 1>2>0 e que quanto maior forem, mais forte (maior contraste) serão as linhas da imagem correspondente Posto de C é 2

Interpret. geométrica de 1 e 2 Auto-vetores codificam direções das arestas e auto-valores codificam sua magnitude. Um canto é identificado por duas arestas fortes, então sendo 1>2, um canto é uma localização onde o menor deles é grande

Algoritmo Corners (Input: I(x,y), threshold 2,  e tamanho de Q) Calcule o gradiente na imagem I(x,y) Para cada pixel p: a) componha a matriz C numa vizinhança 2n+1 b) calcule 2, o menor dos auto-valores de C c) se 2>, salve coordenadas de p numa lista L Ordene L em ordem decrescente de 2 Passando na lista (ordenada), para cada ponto corrente p, apague todos os pontos que aparecem depois na lista mas que pertençam também à vizinhança de p.

Generalidades O threshold  pode ser estimado a partir do histograma de 2. O tamanho da vizinhança Q não é trivial, não havendo um critério para sua definição. Experiências indicam um tamanho entre 2 e 10 como sendo adequado na maioria dos casos práticos

Operadores de textura Frei e Chen A probabilidade de operadores de aresta encontrarem uma evidência zero de uma aresta em qualquer lugar da imagem é muito pequena, devido ao ruído superposto em variações de baixa freqüência Algumas vezes, gradiente não funciona como esperado

Operadores de Frei e Chen Considere o conjunto de operadores:

Operadores de Frei e Chen Seja gk = f * hk, então: Definindo Se >threshold, reporte/rotule aresta

Magnitude do gradiente x Threshold de Frei-Chen

Detecção de linhas e curvas Dada a saída de um operador de arestas, encontrar todas as instâncias de uma dada curva (linha ou elipse) ou parte dela (segmentos de linha ou arcos de elipses) Agrupamento Quais pontos da imagem compõem cada instância da curva alvo na imagem Model fitting Dado um conjunto de pontos na imagem provavelmente pertencente a uma instância única da curva alvo, encontrar a melhor curva que interpola os pontos

Transformada de Hough (linhas) Transforma detecção de linhas em um problema de interseção de linhas Qualquer linha y=mx+n é identificada por um par (m,n), representada por um ponto no plano (m,n) , o espaço de parâmetros Por outro lado, qualquer ponto p=(x,y) na imagem corresponde a uma linha n=-mx+y no espaço de parâmetros Variando (m,n), pode-se representar todas as linhas possíveis que passam em p

Transformada de Hough (linhas) Uma linha definida por k pixels colineares p1,...pk, é identificada no espaço de parâmetros pela interseção das linhas associadas a p1,...,pk x n p2 p1  n y m m=tan 

Transformada de Hough (linhas) Basta transformar interseção de linhas em um problema de detecção de pico, procurando por um máximo de interseções Dividir o plano (m,n) numa grade discreta (resolução depende da precisão desejada) Associar um contador a cada célula, inicialmente zero para todas

Exemplo Seja apenas uma linha (m´,n´) na imagem, formada pelos pontos p1,...,pk Para cada pixel pi, incremente todos os contadores na linha correspondente no espaço de parâmetros Todas as linhas r1,...,rk no espaço de parâmetros associadas a p1,...,pk terão os mesmos parâmetros (m´, n´), de modo que c(m´,n´) = k e os contadores das outras linhas são 1. Basta então achar o pico de c(m,n)

Na prática n=-mx+y y=mx+n y n 2 m=1 n=0 1 1 1 2 x 1 m n=-m+1 x=1 y=1

Problemas com m e n Como manter m e n (que são infinitos) dentro de uma resolução desejada (discreto), de modo a não perder linhas? O par (m,n) não captura a linha x=c (com c constante)

Representação polar Usar representação polar: =x cos+y sin, onde  representa a distância entre a origem da imagem e a linha e  a sua orientação Os parâmetros  e  são finitos e podem representar qualquer linha x p2 x p2 p1  p1  n  y m=tan  =x cos+y sin y

Detecção de várias linhas Arestas na imagem podem ter varias linhas Encontrar todas: olhar para todos os máximos locais em c(m,n) Pontos em curvas ou ruídos geram pontos randômicos no espaço (m,n). Basta passar um threshold Ruídos

Algoritmo HoughLines Input: E(i,j), d<=(M2+N2)1/2,d [0,] e R,T Discretize espaço de parâmetros de  e  nos vetores d e d usando passos  e  Seja A(R,T) matriz de contadores,em zero Para cada pixel E(i,j)=1, e para h=1,...,T faça =i cosd(h)+j sind(h) ache o índice k, do elemento de d mais próximo de  incremente A(k,h) Encontre todos os máximos locais (kp,hp), tais A(kp,hp)>, trhreshold def. pelo usuário

HoughCurves Input: Seja f(x,a) parametrizacao da curva Discretize os intervalos de variação de a1, ..., ap. Sejam s1, ..., sp os tamanhos dos intervalos amostrados Seja A(s1, ..., sp) um vetor de contadores inteiros, inicialmente em zero Para cada pixel E(i,j)=1, incremente todos os contadores na curva definida por y=f(x,a) em A Encontre todos os máximos locais am tais que A(am)>, o trhreshold definido pelo usuário

Homework Implemente os algoritmos de deteção de arestas de Sobel, Prewit, Roberts, Chen e Frei. Implemente o algoritmo de detecção de cantos do livro do Trucco. Implemente os filtros Gaussiano, Gradiente do Gaussiano e Laplaciano do Gaussiano. Teste a transformada de hough para linhas (use uma implementação já existente). Faça um relatório, iincluindo as máscaras usadas de cada filtro, bem como as imagens resultantes. Comente os resultados.