Baixe o app para aproveitar ainda mais
Prévia do material em texto
Resumo PDI: Propriedades estatísticas da imagem: Histograma: tabela que indica o número de ocorrências de cada NDC na imagem. Tabela que possui no eixo dos x, as intensidades (cores), e no eixo dos y, número de ocorrências de determinada cor por pixel. Podemos entender se as cores estão muito distribuídas ou juntas. Ajuda no cálculo da média e do desvio padrão. Histograma normalizado: obtém-se a partir do histograma, dividindo os valores de ocorrências por N (Número total de pixéis da imagem). Ou seja, apresenta a percentagem de pixéis de determinada cor. Já saiu uma pergunta questionando o que é o histograma normalizado de uma imagem. Mediana: ordena-se todos os pixéis da imagem do mais escuro para o mais claro, preservando as repetições; a mediana é o valor do pixel que se encontra na posição média desta ordenação. Já saiu uma pergunta a pedir para esboçar o histograma das imagens a seguir. Histograma acumulativo: obtido a partir do histograma, pela soma acumulada de todos os pixéis com NDC igual ou inferior ao NDC considerado a cada momento. Histograma muito útil para segmentar imagens. Já saiu uma pergunta a pedir para construir o histograma acumulado da imagem dando a matriz. Operações aritméticas: Operações: soma de imagens (soma matricial), subtração, divisão e multiplicação. Problemas: Passar do valor 255 ou menos que 0. As matrizes têm de ter o mesmo número de linhas e de colunas. Divisão: Números fracionários ou com números decimais não funciona. Ao dividir duas imagens descobrimos as diferenças entre as duas. Soma ponderada (Blending): somar duas imagens e uma ter mais intensidade que outra. Subtração de imagem: imagem de uma câmara estática subtraindo uma imagem com movimento vai dar a estática sem a parte que a imagem com movimento. Adição de uma constante: usa-se para realizar alterações de cores de uma imagem. Operações lógicas: Complemento: o que é branco passa a preto e vice-versa. Transformações da escala de NDC (Número de níveis de cinzento): Por uma questão de eficiência computacional, as transformações são geralmente implementadas através de uma LUT (look-up table): em vez de se refazerem os cálculos para cada um dos L.C pixéis da imagem, é computada uma tabela com 2 colunas e 2b linhas, onde a cada NDC original corresponde o valor após a transformação; depois, para cada pixel da imagem, a tabela é simplesmente consultada e os valores originais substituídos pelos novos. Por exemplo, invés de verificarmos e calcularmos três vezes para o 0, usamos a tabela logo, invés de gastarmos três vezes mais de tempo, é mais rápido. Já saiu uma pergunta a pedir os valores da imagem de saída quando é aplicado à imagem uma transformação descrita através de uma LUT (Look – Up – Table) Transformação logarítmica: Esta transformação “espalha” os NDC mais baixos e “concentra” os NDC mais altos, tornando mais visíveis os detalhes em zonas mais escuras à custa dos detalhes nas zonas mais claras. Só resulta bem em determinadas imagens, pode acontecer encontrar detalhes de zonas escuras da imagem de saída, mas o detalhe da zona clara desaparece. Transformação exponencial: Esta transformação “espalha” os NDC mais altos e “concentra” os NDC mais baixos, tornando mais visíveis os detalhes em zonas mais claras à custa dos detalhes nas zonas mais escuras. Acontece o inverso da anterior, perde detalhe na zona escura, mas ganha nas zonas claras. Teste: Imagem de entrada e saída: qual é a transformação, o que se ganha e o que se perde ou descrever como ficaria a imagem de saída (apresentando a imagem de entrada e o gráfico). Ou seja, Transformação logarítmica: ganha detalhe na zona escura e perde na clara. Transformação exponencial: ganha detalhe na zona clara e perde na escura. Alteração da gama dinâmica: Uma imagem que tem a zona dos claros e escuros, segundo o histograma mal aproveitado. Graças a este método, conseguimos aproveitar melhor as tonalidades claras e escuras. Faz uma melhor distribuição dessas zonas. Alteração de média e desvio padrão: Alterar a média, mas costuma ter problemas de contraste. Ao alterar a média e o desvio padrão, já conseguimos melhorar o contraste (com o desvio padrão) e o brilho (com a média). Negativo: Valores são obtidos subtraindo 255 pelos pixéis de entrada. Binarização global: Limiarização com vários níveis: Equalização do histograma: Uma importante transformação da escala de NDC, usada na melhoria do contraste da imagem, é a equalização, técnica pela qual se tenta tornar h(i) constante e consequentemente, numa função contínua. Procura fazer uma redistribuição para ter um histograma mais ou menos uniforme (depende das imagens). O objetivo é obter um histograma plano, tentar colocar todos os elementos com o mesmo número de cores de pixéis. Na prática, porque os NDC da imagem estão quantificados em valores discretos (donde os histogramas são funções discretas, e não contínuas), a equalização total nunca é alcançada: Filtragem Espacial São métodos que usam a informação de uma vizinhança do pixel da imagem de entrada para calcular o novo valor do correspondente pixel da imagem de entrada para calcular o novo valor do correspondente pixel na imagem de saída – operações locais. A filtragem Espacial possui três tipos: o Suavização (filtro de média, mediana e gaussiano) o Deteção de arestas (Gradiente, operador Laplaciano, LoG – Laplacian of Gaussian) o Realce da imagem (image sharpening) Operadores: Operador Objetivo Desvantagem Suavização Eliminar o ruído. Equivalente aos filtros passa-baixo no domínio da Transformada de Fourier. Esbater a imagem, suavizando as arestas dos objetos. Deteção de arestas Realçar as arestas da imagem. Equivalente aos filtros passa-alto no domínio da Transformada de Fourier. Realçam (aumentam) o ruído (que normalmente é de alta frequência. Como é calculada: realizada uma convolução discreta entre a imagem de entrada e um filtro ou máscara. A máscara é deslocada sobre toda a imagem (designada por janela deslizante) e em cada posição os valores correspondentes da máscara e dos pixéis da imagem de entrada são multiplicados e somados, sendo o resultado atribuído ao respetivo pixel da imagem de saída. Existem várias máscaras-padrão para aplicações específicas (depende do tamanho e dos coeficientes do filtro): Operações de suavização: Filtro de média: O valor de cada pixel na imagem de saída é calculado pela média dos seus vizinhos, incluindo-se também a ele próprio. Exemplos: Características: o Atenua as variações de intensidade do pixel central em relação aos seus vizinhos. o Esbate (desfoca) a imagem – quanto maior a janela, maior o esbatimento resultante. o Tempo de processamento reduzido. Exemplo: Para filtrar o 229 (a laranja), temos de somar a sua vizinhança mais ele a dividir por 9 (número de pixéis). Ou seja, 107+112+104+100+105+102+103+112+229=1074/9=119.33 Logo, fica 119. No caso da vizinhança desse, por exemplo, o 112 (em cima do 229), somar-se- ia a vizinhança deste mais ele, a dividir por nove. Ou seja: 109+102+105+104+100+229+112+107+112=1080/9=120 Como podemos verificar na matriz filtrada. O mesmo fazemos para todos os pixéis da vizinhança do pixel escolhido, para obter a matriz filtrada. Filtro de média ponderada: Atribui o maior peso dos pixéis mais próximos do pixel central do que àqueles que se encontram na periferia da vizinhança, assim preserva melhora as arestas da imagem do que o filtro de média simples. Exemplos: Filtro de média condicionado pelos dados: Procura evitar o esbatimento da imagem. Só afeta o valor de pontos da imagem que respeitem determinado critério. Previne o cálculo da média entre pixéis que pertençam a regiões diferentes da cena. Evita grandesvariações entre os valores dos pixéis das imagens de entrada e de saída. Grandes variações entre pixéis vizinhos são atribuídas à presença de arestas ou contornos, que são assim preservados. Filtro de Mediana: Filtro não linear: o valor de saída não é combinação linear dos valores da vizinhança. Considera uma vizinhança em torno de cada pixel, atribuindo-lhe na imagem de saída o valor central do vetor de valores ordenados da vizinhança considerada. Eficaz a remover pontos de ruído isolado com intensidades muito díspares (“ruído sal e pimenta”). Preserva arestas e contornos da imagem: um valor pouco representativo na vizinhança não altera a mediana. O valor do pixel é substituído por um existente na vizinhança (na imagem de saída não surgem valores que não constem na imagem inicial). Tempos de cálculo superiores ao filtro de média. Exemplo: Para o 229: 100 102 103 104 105 107 112 229 = 104,5 = 105 Para o 107: 99 100 102 107 109 112 229 = 107 Pois são os seus valores médios. Filtro de Moda: para uma dada vizinhança, o valor de cada pixel (na imagem de saída) é o do seu vizinho mais comum (considerando os valores da imagem de entrada). Filtro dos k vizinhos mais próximos: para uma dada vizinhança, o novo valor de cada pixel será igual à média dos k vizinhos cujo valor está mais próximo do seu valor original. Filtro sigma: para uma dada vizinhança, será igual à média dos vizinhos cujos valores não diferem mais do que T (derivado do desvio padrão dos pixéis da imagem) unidades do valor original do pixel considerado. Filtro Gaussiano: Filtro linear cujos coeficientes são determinados por uma função gaussiana com desvio padrão. Aproximação discreta do Gaussiano 2D: eficaz na remoção do ruído que siga uma distribuição gaussiana (ruído gaussiano). Atribui maior peso aos pixéis mais próximos do pixel central do que àqueles que se encontram na periferia da vizinhança (preserva melhor as arestas da imagem). O grau de suavização é controlado pelo valor do desvio padrão: quanto maior o desvio padrão, maior a largura do filtro e maior o seu poder de suavização. Filtro separável: pode ser implementado através de duas convoluções ortogonais com um filtro 1D – eficiente mesmo com filtros de grandes dimensões. Operações de deteção de arestas: Arestas: zonas onde ocorrem fortes variações nos valores da vizinhança de um pixel (forte transição de intensidade num dado local). Uma aresta está associada a um máximo local na primeira derivada do sinal da imagem. A deteção de aresta realça as zonas da imagem onde ocorrem essas variações significativas. Gradiente: o gradiente é o equivalente 2D da primeira derivada do sinal, sendo definido pelo vetor. A derivada de uma cor constante é 0. Significa que se der 0, não tem aresta. Pode acontecer haver aresta na vertical e não na horizontal e vice-versa. A primeira derivada de uma imagem bidimensional forma um vetor que possui: direção que aponta para a máxima variação do gradiente e o gradiente (vetor resultante) é sempre perpendicular à aresta. Operadores de Roberts: operadores não orientados segundo os eixos x e y: possui duas máscaras, que detetam duas direções. Na deteção de arestas naturalmente só usamos a magnitude, é raro usar a direção. Não interessa se a resposta é positiva ou negativa, pois fazemos o módulo do vetor. Problema da 1 derivada: quando a 1 derivada exceder um determinado limite, quer dizer que temos uma aresta -> usamos o nível de binarização threesholding. Operadores de segunda derivada: Problema: usando detetores de arestas baseados no cálculo da 1.ª derivada do sinal, sempre que o valor resultante da filtragem estiver acima de um limiar, considera-se estar-se na presença de uma aresta —daqui resulta um elevado número de pixéis pertencentes à aresta. Solução: encontrar máximos locais do gradiente (pontos com valores elevados na 1.ª derivada e com um cruzamento por zero na 2.ª derivada); as arestas corresponderão aos pontos onde estes cruzamentos por zero ocorrem. O zero da segunda derivada corresponde ao máximo da primeira derivada. Procurar o cruzamento por zero na segunda derivada para ter a certeza da aresta <-- outra forma de detetar aresta. Naturalmente é usado uma máscara única. Laplaciano: aproximação da segunda derivada. Laplaciano de Gaussiano: Problema: a segunda derivada das intensidades da imagem é muito sensível ao ruído. Solução: primeiro suavizara imagem e só depois realçaras arestas —Operador LoG. Há na mesma, alguns pontos de ruído. Operador de Canny: O operador LoG tem duas limitações: não raro deteta arestas “falsas” e erra na localização de arestas verdadeiras que sejam curvas. Uma solução mais avançada é, p. ex., o algoritmo de Canny, que procede à validação das arestas com base em máximos locais do gradiente. Este: reduz o ruído, deteta arestas, deteta os máximos locais e traçado das arestas usando binarização com histerese. Operações de realce da imagem: Unsharp masking: faz o realce das arestas (detalhes finos), mantendo a informação da imagem, interesse em termos de tratamento de imagem (estético, arte) Etapas: aplicar um filtro de suavização da aresta; um filtro passa-alto: destacar as zonas de transição, somar ao sinal original o que foi destacado, normalmente há uma constante K que é usada para escolhermos o realce que desejamos. Este também pode criar ruído. Segmentação: Definição: processo de isolar objetos de interesse do resto do cenário. Processo de subdividir uma imagem em regiões disjuntas. Cada região é homogénea relativamente à caraterística. Problema: complexa em alguns casos. Segmentação não é apenas a binarização. Na segmentação estamos a separar por regiões. Utilidade: extrai informação, realça detalhes, permite efetuar medições, fornece orientação e permite comparação. Dificuldades: mapeamento não uniforme, não homogeneidade, modelos de objetos inadequados, artefactos espontâneos e ruído. Processo: 1. Pré-processamento: identificar a imagem 2. Melhoramento da imagem: melhorar o ruído, a cor 3. Segmentação (exemplo: foto de alunos, identificar a cara das pessoas, por exemplo) 4. Análise do resultado 5. Classificação (mediante o resultado) Abordagem: Semelhança: o Binarização o Crescimento de regiões Descontinuidade o Detetor de arestas (exemplo: numa cara a deteção dos lábios - estes têm bom contraste) o Ligação de arestas Abordagem especifica: Baseado na deteção de descontinuidade (olha se para a imagem e procura-se localizações com transições abruptas): ex: uma porta numa parede (a "ligação" entre eles) o Detetar pontos isolados (ex: na face, os pontos característicos da face - olhos, nariz, ...), linhas, arestas Baseado na deteção de semelhanças (olhar para a imagem e procurar zonas uniformes comparando com uma característica - exemplo: a porta é castanha - todos os pixéis dela têm tonalidade castanha) o Detetar ligação de arestas, binarização (definimos uma região em relação à semelhança de pixéis), crescimento de regiões, divisão e reunião de regiões Binarização Defino um limite (um nível threeshold) para a separação. Limite de forma: Manual pelo utilizador (mas é subjetivo, funciona bem em imagens simples, mas é preciso que esteja lá um operador) Automática (algoritmos que em função das características da imagem, escolhe o valor) Semiautomática (primeira fase que o algoritmo escolha, mas o operador pode alterar) Tipos de binarização Global (um valor threeshold é aplicado a todos os pixéis) Local (defino uma vizinhança e dependendo das características do pixel e da vizinhança, calculamos o valor de threeshold) Dinâmica ou adaptativa (além de entrar com a vizinhança, numa coordenada x podemos alterar também) Binarização global simples: Baseado na inspeção visual dohistograma - numa impressão digital: fazemos o histograma da imagem (histograma bimodal -> duas zonas dominantes pelas cores do objeto de interesse e do fundo). vamos binarizar na zona do vale entre as duas (escolhendo aí o valor de threeshold). proporção dos pixéis (se é o objeto ou o fundo). obter uma imagem binarizada. TESTE: façam um esboço do histograma, no caso da binarização para termos noção que há duas regiões dominantes (o objeto e o fundo). para além disso, a proporção dos pixéis, o que ocupa mais. TESTE: saber explicar como o algoritmo de binarização funciona a partir de um histograma. Algoritmo Pico/Vale (binarização global): Tenho o histograma da imagem. Começa por procurar o tipo do histograma (valor máximo em termos de histograma). Com esse valor, vou buscar a cor que dá origem (o g1) - cor que está mais representada na imagem. Procurar o g2 (o 2º pico). Assumimos que é bimodal, vamos limitar uma região à volta do g1, sendo que não aparece aí, ignoramos. temos de ser nós a definir o intervalo. Comparamos todo o resto, até obtermos o 2º pico (g2). No meio, dos dois picos, encontra-se o vale (g3). Verificar se o histograma de g2 e g3 é maior que m(constante) - validar o valor de threeshold encontrado. Seleção automática do nível de binarização com base no histograma acumulado: Este método baseia-se no conhecimento da percentagem de área ocupada pelo objeto na imagem. O nível de binarização é escolhido com base no histograma acumulado, procurando qual o nível de cinzento para o qual se verifica a relação conhecida entre a área da imagem e a área ocupada pelo objeto. Binarização global Multinível: Quando se tem mais de duas regiões (n regiões) na imagem a binarização pode ser feita com n-1 níveis de binarização. Há medida que o número de regiões aumenta, torna-se mais difícil distinguir os vários picos, dificultando a escolha dos níveis de binarização Exemplo: Binarização Local: Threeshold global nunca conseguimos fazer a separação entre o objeto e um fundo. Dividir a imagem em pequenas subimagens e que cada uma tem um valor de threeshold pelo pico-vale, mas pode haver situações que não funcione pois não tem picos. Utilizando uma binarização local ou dinâmica e adaptativa conseguimos encontrar uma abordagem para segmentar a imagem. Objetivo: fazer uma abordagem local da vizinhança do pixel Binarização Dinâmica ou Adaptativa: Cada pixel da imagem é binarizado com um nível de binarização próprio que depende das caraterísticas da sua vizinhança. Permite a binarização de uma imagem cujo histograma não possui picos e vales distintos. Exemplo: Método eficaz na região onde existe texto, porque na vizinhança do pixel existem pixéis que pertencem ao fundo e outros ao texto. O valor pertence ao fundo e outros ao texto. O valor médio situa-se entre os valores das duas regiões e separa bem o fundo do texto. No entanto, nas margens, a média não é eficaz para valor de binarização, porque a gama de valores da vizinhança é muito estreita. Crescimento de regiões – agregação de pixéis: Método que agrupa pixéis ou sub-regiões em regiões maiores: o Partindo de um conjunto de pontos iniciais (“sementes”). o Crescimento das regiões através do agrupamento dos pixéis vizinhos de cada pixel semente com base num critério de similaridade (ex: NDC) Dificuldades: o Escolha de pontos iniciais apropriados. o Definição do critério de similaridade. o Definição do número de regiões. o Criação automática de novas regiões. Divisão e reunião de regiões: Funcionamento: Divisão o Verificamos se o quadrante é homogéneo, se é não subdivido mais (porque têm todos as mesmas características); se não for homogéneo, divido em quatro. o subdividindo a imagem em quadrantes de 4. o se as imagens subdivididas já forem homogéneas, não temos de subdividir mais. Se não forem, subdividimos a que não é. Reunião o ir a cada região e agregar regiões semelhantes e obtemos as regiões finais. Dificuldades em definir o que é semelhante e se é uniforme/caraterística idênticas. Deteção de pontos isolados: Abordagem: procurar zonas de descontinuidade (de fronteira) - Usado para a deteção de pontos isolados na imagem que correspondam a um pico ou um vale em termos de NDC. Aplicamos filtros e obtemos as arestas da imagem. Podemos criar filtros desenhados para determinar arestas com determinadas inclinações. Procurar descontinuidades: usar os detetores de arestas (baseados na 1ª derivada e 2ª derivada). A partir da imagem torna-se evidente que a magnitude da primeira derivada pode ser usada na deteção de arestas da imagem. O sinal da segunda derivada pode ser usado para determinar se um pixel pertence à parte mais escura ou mais clara da aresta. O cruzamento por zero da segunda derivada localizar a aresta na imagem. Ligação de contornos – Edge linking: A saída dos operadores que realizam a segmentação com base na deteção de descontinuidades, raramente conseguem caracterizar completamente o contorno dos objetos presentes na cena (contornos quebrados). Este problema é causado pelo ruído, quebras do contorno e outros efeitos indesejáveis. Para solucionar este problema, sobre o resultado da deteção de arestas binarizada são aplicados algoritmos realizar a ligação do contorno. aplicados algoritmos realizar a ligação do contorno. Duas abordagens possíveis: o Processamento Local: o Processamento Global: A outra técnica para a ligação de contornos consiste em determinar se os pixéis encontrados pelo detetor de arestas “assentam” sobre uma curva com uma determinada forma (reta, círculo, etc.). Técnica aplicável nos casos em que se tem pouco conhecimento acerca da localização do contorno, cuja forma é bem descrita por uma curva paramétrica Solução: Ligação de contornos – Transformada de Hough: Considera todas as retas possíveis que passam por esse ponto: y=ax+b (a é o declive). Dificuldade em trabalhar com retas verticais e horizontais pois o declive tende para infinito. Logo não é apropriada Forma distinta: o O a e b são da função y=mx+b (para saber os valores do eixo dos xx e yy) o Cria-se um espaço acumulador (matriz) (cada célula do espaço acumulador define retas) o Colocar tudo a zero o Colocamos os pontos nos sítios destes, onde criamos retas imaginárias em cada uma o Se houver pontos com o mesmo a e b, os pontos irão fazer uma reta o Vamos procurar zonas de votação elevada (onde passam muitos pontos), tornando-se uma reta Mas continua a ter problemas com as retas horizontais e verticais. sobre um ponto passamos um nº de retas imaginárias o O espaço passa a ser rho e theta. o Iremos criar a partir do pé da perpendicular, que vem da origem até cruzar com o ponto. o Rho é a distância entre o ponto e a origem. O theta é o ângulo entre a reta dessa distancia e o eixo. Invés de usar do m e b. Resolvendo assim os problemas das retas horizontais e verticais. Cria-se um espaço acumulador (matriz) (cada célula do espaço acumulador define retas). Colocar tudo a zero. Para cada ponto x e y, para cada valor de theta (traçar todas as retas imaginárias). Atribuímos o valor de rho. Arredondar o valor de rho para o valor mais próximo existente no plano acumulador. TESTE: assinale na imagem a reta correspondente ao ponto da imagem (no caso do exemplo do powerpoint é 2,3,4) Pode ser usado para ligar contornos quebrados -> podemos dizer que x pontos pertencem a uma reta Foi inicialmente concebida para retas, mas foi estendida para deteção de círculos Num espaço de votação (vai ser de 3 dimensões pois temos o centro(x,y) e um raio), cada ponto vai votar em muitos círculos (varia o raio e o centro) O sitio com maior votação, será um circulo identificadoque estará presente na imagem Transforma de hough consegue lidar com a falta de informação (consegue lidar com o ruído) Representação e Descrição: A representação está relacionada com a representação dos elementos da imagem (habitualmente regiões), por forma a preservar a informação essencial. A descrição está relacionada com a extração de informação compacta e sumária (normalmente na forma de propriedades como a área, comprimento, variância) que caracteriza a região. Representação de regiões: baseada nas caraterísticas externas (da sua fronteira) e internas (pixéis interiores) da região. Descrição das regiões: descritores da fronteira, como comprimento, diâmetro, curvatura; descritores da região, como a área, perímetro. Representação da fronteira por Chain code: A representação por chain code reproduz os pixéis da fronteira da região através de uma série de códigos de direção que representam as transições entre pixéis. O chain code é obtido através do seguimento da fronteira da região no sentido anti-horário e atribuindo uma direção ao segmento que liga cada pixel ao seu vizinho. Exemplo de Representação invariante do chain code: Técnicas de união: une os pontos da fronteira por uma reta até que o erro quadrático dos pontos à linha exceda um pré-determinado valor. O procedimento repete-separa os todos os pontos da fronteira. No fim do procedimento os pontos de intercessão de retas adjacentes constituem os vértices do polígono. Técnicas de divisão: subdividem um segmento inicial em vários segmentos até que determinado critério seja satisfeito (por exemplo, todos os pontos da fronteira têm uma distância na perpendicular ao segmento inferior a um determinado valor). Assinaturas: as fronteiras têm uma representação complexa. É necessário encontrar formas de representação mais simples que revelem as caraterísticas principais da forma da fronteira da região. A assinatura é uma representação 1D da fronteira de uma região. Podem ser processadas de modo a serem usadas na operação de reconhecimento de padrões. Descritores de Fourier: a transformada de Fourier da representação da fronteira é uma representação alternativa da forma da região. Em muitos casos, a função fronteira pode ser suavizada sem perder as caraterísticas da forma da região: isto significa que apenas a amplitude e a fase das componentes de baixa frequência são necessárias para caraterizar a forma genérica da região, podendo ser usados como descritores da região. Transformada de Fourier A transformada de Fourier é um conjunto de operações matemáticas que transformada um sinal numa representação alternativa caraterizada por senos e cossenos. Esta transformado demonstra que qualquer forma de função de sinal pode ser reescrita numa soma de funções sinusoidais. No âmbito de processamento digital, a transformada de Fourier é utilizada nas seguintes situações: Filtragem de frequências (ex : deteção de arestas, suavização de imagens) Extração de características para fins de reconhecimento e classificações de objetos de uma imagem. Reconhecimento de padrões Compressão de imagens (através da transmissão das componentes essenciais na imagem comprimida sendo que no recetor reconstruímos a imagem ao domínio espacial) Filtragem no Transformada De Fourier - Suavização A suavização das imagens pode ser realizada de duas formas: Domínio Espacial (Filtro espacial de media) o Filtro Espacial de Média no qual cada pixel de saída é a media aritméticas dos pixéis de uma vizinhança. o Obtém-se por convolução da mascara com a imagem original. Domínio das frequências (Filtro passa-baixo) o As frequências elevadas são eliminadas e as baixas amplificadas o Componentes individuais de frequência são multiplicadas por uma função monótona não crescente. Filtragem no Transformada De Fourier – Deteção de Arestas e\ou Realce da imagem A Deteção de Arestas e\ou Realce da imagem das imagens pode ser realizada de duas formas: Domínio Espacial (Filtro espacial de diferença) o Cada pixel de saída é a diferença entre o seu valor original e a média ponderara dos pixéis de uma vizinhança o Obtém-se por convolução da mascara com a imagem original. Domínio das frequências (Filtro passa-alto) o As frequências elevadas são amplificadas e as baixas eliminadas o Componentes individuais de frequência são multiplicadas por uma função monótona não crescente. Espectro de Fourier No espectro de Fourier, podemos verificar que quanto mais nós afastamos do centro do espectro, maior a frequências podendo obter diversos outputs como por exemplo uma frequência ser alta verticalmente, mas horizontalmente a mesma ser baixa. A nível de interpretação do pixéis a brancos e pretos: Pixel branco – são as componentes com presença mais forte na imagem; Pixel preto – são componentes com presença mais baixa na imagem. Sendo assim, como podemos verificar na imagem de baixo, as baixas frequências concentram- se no centro da imagem e quanto mais se afasta do centro, maior será a frequência (horizontal\vertical) Morfologia Matemática Elemento Estruturante: é uma mascara ou uma imagem binaria que permite definir a as estruturas das vizinhanças. Dilatação: a dilatação é um processo morfológico no qual os objetos aumentem de tamanho. Se qualquer pixel na vizinhança do pixel de entra estiver ativo, o pixel de saída fica ativo. Erosão: A erosão é um processo morfológico no qual os objetos diminuem tamanho. Se todos os pixéis da vizinha do pixel de entra estiver ativo, o pixel de saída fica ativo. NOTA: tipicamente, as operações de erosão e de dilatação não são operações inversas entre si, mas em certas situações uma erosão\dilatação pode reverter a aplicação de uma dilatação\erosão. Abertura – Aplicação de uma erosão seguida por uma dilatação com o mesmo elemento estruturante. Tem os seguintes efeitos nos objetos: Suavização dos contornos do objeto Remoção de ramificações Expansão das áreas de preto Fechamento – Aplicação de uma dilatação seguida por uma erosão com o mesmo elemento estruturante. Tem os seguintes efeitos nos objetos: Preenchimento de falhas em contornos dos objetos Expansão das áreas de branco. Extração de fronteiras – A extração de fronteiras é uma operação morfológica na qual efetua a diferença entre os conjuntos A e a sua erosão pelo elemento estrutural B resultando uma imagem que contem as fronteiras dos objetos da imagem A. Watershed – é um processo segmentação através de morfologia matemática. Primeiro define- se uma transformada chamada de “watershed transform” na qual esta pode se construída através das operações de “flooding”. De seguida, define-se um conjunto de propriedades para os objetos e para o “backround” ao qual chamamos de “object markers” e “backround backers”. Por fim, baseando se no conjunto de “markers” previamente definidos e numa transformação denominada de “homotpy modification” efetua-se a segmentação da imagem. Esqueletização – é um processo de aplicação sucessiva de erosões até que a imagem pretendida para esqueletização atinja uma espessura de um pixel. Afinamento (Thinning) – é o processo de processamento de imagem na qual as imagens binarias são reduzidas as linhas com o objetivo de extrária a informação necessária para analise e reconhecimentos. Também é utilizado para determinar componentes e clusters isolados Outros processos - Hit and miss, Operações aplicadas em grey-tone TESTE: 1. Para obter a imagem 2 foi aplicada um operador morfológico na imagem 1. Indique qual o operador morfológico aplicado e justifique. 2. Através da imagem A, refira como é possível chegar à imagem D a partir de operadores morfológicos a. Exemplo da aula pratica na qual é efetuada um sequencia de erosões b. Explicação é importante, realizar um esboço. Justificação: elemento estruturante suficientegrande para eliminar o ruido interno e externo, mas não excessivo ao ponto de eliminar o objeto. c. Carater - o tipo de operador morfológicos para melhorar os problemas para identificar com ele. Ex: pretende-se contar o número de círculos mais pequenos da imagem: 1º- Antes obter uma imagem só com bolas pequenas. TESTE: perante uma imagem, identificar o nº de grãos; o maior grão de arroz Para melhorar o ruído: filtragem de fourier; filtro de suavização (média, mediana, gaussiano) subtração do background transformação da escala de cinzas (alteração da gama dinâmica) Fazer uma binarização para saber o que é grão e o que não é (threeshold de forma automática - otsu, pico e vale, método iterativo) rotulagem/etiquetagem para atribuir uma etiqueta a cada objeto e assim ter uma contagem (para o caso de queremos identificar o nº de grãos) Correlação digital de imagem: para cada pixel da imagem encontrar a semelhança entre o padrão e o template - o professor aplicou num cheque para encontrar os números que estavam lá. Reconhecimento de padrões: Um padrão pode ser entendido como um arranjo de descrições (ou features), Vetores (padrões) com várias features colocados sobre esses vetores. Pode ser um número que convença ali informação sobre essa região (área, nº de buracos, ex). X = vetor de descritores Classe padrão: família de padrões que partilham um conjunto de propriedades comuns (p.e. comprimento e área) Podemos ter várias classes padrão num problema. Situação: exemplo de um cheque com uns números - para cada número nós extraímos o perímetro (descritor), quantas classes eu tenho? 10 classes, uma por cada número. Para fazer o reconhecimento não usamos um descritor, usamos vários. Classificador de distância mínima: Vários elementos daquela classe e calcular um padrão médio - para ter uma representação média de cada padrão. Ter várias amostras de cada classe - conjunto de treino. Depois de obter os padrões médios (vetor padrão de cada classe), tenho uma nova amostra e quero classificá-lo, extrair as features e ver qual é o padrão vetor que mais se assemelha. Se a distância de x à classe i for a menor, então é relacionado. é feito para todas as classes. Classificador por correlação: Define-se um padrão Operação de correlação (calcular um grau de semelhança entre o meu padrão e uma relação entre a imagem) - vamos ter uma matriz de semelhança. Os valores mais elevados dessa matriz correspondem às zonas de melhor semelhança entre o padrão e a imagem. Tenho imagem f, tenho um padrão w, que eu quero procurar este padrão na minha imagem, então uma operação possível é executar uma operação de correlação entre a imagem e o padrão para obter a semelhança entre estes. Problema: a correlação é dependente da amplitude das intensidades (da imagem e do padrão) então usa-se o cálculo do coeficiente da correlação. TESTE: uma imagem do cheque e discuta soluções para reconhecer os números do mesmo. - Correlação e o classificador de distância mínima.
Compartilhar