Processamento de Imagens Texturas Exemplos Introdução • Texturas – Não existe abordagem formal – Não existe definição formal – São definidas qualitativamente e não há consenso quanto a sua definição quantitativa Definição 1 “Textura pode ser definida como uma estrutura composta de uma área contendo um número grande de elementos relativamente ordenados ou padrões, que individualmente não representam muito. Mas se observados globalmente, tais elementos podem ser usados para identificar uma determinada área” L.V. Gool et al. Texture Analysis anno 1983. Computer Vision, Ghaphics and Image Processing, 31:336-357, 1985. Definição 2 “Textura é definida como o arranjo espacial e a natureza de componentes estruturais que podem ser pontos individuais em uma imagem ou textons mais complexos” B.Julesz. A brief outline of the texton theory of human vision. Trends in Neurosciences, 7:41-45, 1984. Definição 3 “Um imagem com textura pode ser descrita pelo número e tipos de suas primitivas e pela organização espacial ou layout de suas primitivas. A organização espacial pode ser aleatória ou pode obedecer um padrão relativamente uniforme entre uma primitiva e suas primitivas vizinhas. Esta dependência pode se estrutural, probabilística ou funcional.” R.M. Haralick. Statistical and structural approaches to texture. Proceedings o fthe IEEE, 67(5):786-804, 1979. Resumindo • Textura é uma propriedade de um pixel com relação aos seus pixels vizinhos. Portanto, pode-se falar em texturas com diferentes graus de aspereza, granulosidade, suavidade, etc. Objetivos da análise de texturas a) 5 tipos de tecido b) Classificação: identificação dos tecidos c) Segmentação: rotulação, localizar bordas Síntese de Texturas Textura a partir de formas Motivação • Superfícies naturais exibem textura • Sistemas bons de visão devem “enxergar” texturas • A percepção de textura sob dois ângulos: – Visão humana ou psico-física – Aplicações de sistemas de visão Psico-física • Um tigre se camufla numa folhagem: – Seu sucesso é função da incapacidade do nosso sistema visual em discriminar (segmentar) ambas texturas • Qual é o processo visual que permite separá-los • A performance de muitos algoritmos de textura é feita com relação ao desempenho humano na realização da mesma tarefa. • Estatística de primeira ordem: depende somente de valores de pixel individuais e não da interação ou co-ocorrência de pixels vizinhos. Pode ser computada a partir do histograma. Exemplo: média • Estatística de segunda ordem: observação de um par de pixels, em uma distância randômica numa imagem, numa orientação e posição randômica. Psico-Física: Julesz Psico-Física: Julesz • Um sistema de visão que discrimine as texturas da figura anterior está correto? • Sim: se pensarmos que o objetivo é discriminar os dois padrões de texturas apresentados • Não: se o sistema devesse ser fiel a maneira como um humano percebe textura! Psico-Física: Julesz • Definiu textons: eventos visuais (colinearidades, terminações, fechamentos) – Terminações: os pontos extremos de uma reta. Na figura a) os “endpoits” são os mesmos em ambas regiões. O sistema visual não é capaz de detectá-los. Em b) isso não acontece. Psico-Física • Sugere que a imagem formada na retina é analisada pelo cérebro por meio da orientação, freqüência, utilizando-se de multi-canais • Gabor !. Textura: aplicações • • • • • Imagens satélite Sensoriamento remoto Inspeção Medicina Processamento de documentos Taxonomia de Modelos Textura • • • • Métodos Estatísticos Métodos Geométricos Métodos Baseados em Modelos Métodos baseados em processamento de Sinais Estatísticos • • • • • • Matrizes de co-ocorrência Auto-correlação Run-length Texture Spectrum Características de Laws Medidas Direcionais Descrevem texturas que não apresentam regularidadegeomét rica Geométrico • Tecelagem de Voronoi • Gramáticas Baseados em Modelo • Campos Aleatórios de Markov • Fractais Métodos Processamento Sinais • Filtros no domínio espacial • Filtros no domínio freqüência: Fourier • Gabor Análise de Textura Estatística • Textura é descrita por regras estatísticas que governam a distribuição de, e relação entre, os níveis de cinza de uma imagem • A interação espacial, ou falta de, entre as primitivas é medida por meio de probabilidades Matrizes de Co-ocorrência (1) • Relação entre nível de cinza e textura – se uma pequena área na imagem tem pouca variação nas primitivas de nível de cinza, a propriedade dominante é o próprio nível de cinza – se a variação é grande, então a propriedade dominante é a textura Matrizes de Co-ocorrência • Relação entre nível de cinza e textura – Quando o padrão espacial das primitivas é randômico, pode-se dizer que uma textura mais “fina” está presente. Na medida em que os padrões espaciais se tornam mais óbvios, diz-se que a textura se torna mais “aspera” • Para caracterizar a textura é preciso caracterizar as propriedades das primitivas dos níveis de cinza Dependência • Estimativa das probabilidades de funções de densidade de segunda ordem f(i,j,d, ) – probabilidade de um pixel i para j, segundo uma distância d e ângulo • Este valores estimados são na realidade freqüências de uma matriz: f(i,j,d,0o) = # Matrizes de Co-ocorrência • Procuram caracterizar a textura ao analisar as probabilidades de transição de níveis de cinza através do que é conhecido como matrizes de co-ocorrência • As SGLDM levam em conta a distribuição e a dependência espacial dos níveis de cinza de uma determinada área de uma imagem Cálculo das matrizes Na realidade, o cálculo é feito para as 4 principais direções Cálculo das matrizes A partir dessas matrizes, várias características podem ser calculadas Características Contraste: Retorna valores mais altos para pixels de borda Correlação: Mede a correlação entre a intensidade do NC e a uniformidade da distribuição dos NC Segundo Momento Angular: Mede a dispersão dos níveis de cinza Características Soma das Entropias: Mede a não uniformidade das regiões. Quanto maior a ocorrência de NC de diferentes intensidades, maior será a soma da entropia Onde, Run Length (2) • Abordagem semelhante às matrizes de coocorrências • Produz medidas baseado no nro de seqüências de tons de cinza p/um certo comprimento (run length). • Seqüência: conjunto de pixels consecutivos e co-lineares com a mesma intensidade. Run Length Características Segundo Momento com respeito a Run Length Multiplica o valor da Run length pelo comprimento da “run” ao quadrado. Isso enfatiza runs que são longas... Segundo Momento com respeito ao Tom de Cinza Multiplica o valor da Run length pelo tom de cinza ao quadrado. Isso enfatiza regiões com tons de cinza mais intensos. NumRuns = Laws Features (3) • Caracteriza a micro textura das imagens • Utiliza filtros (impulse arrays) de convolução Laws Features •Cada micro-textura M é usada para computar uma imagem de ‘energia’ S. •W é a dimensão da janela de uma vizinhança de um pixe na imagem F. Análise de Textura Estrutural • Textura caracterizada por primitivas e conjunto de regras p/ localização e relações espaciais. • Menos aplicáveis que os métodos estatísticos, pois as texturas mias comuns não são tão regulares assim. Análise de Textura Estrutural • Shape Grammars • Tree Grammars • Array Grammars Shape Grammars • Definida pela tupla: Textura e Segmentação Computar texturas usando máscaras de 16x20. Textura e Segmentação Resultado com texturas de co-ocorrência Textura e Segmentação Resultado com texturas de Run Length Textura e Segmentação