conceitos.ppt

Preview:

Citation preview

Processamento de Imagens

SCE 5830

Instituto de Ciências Matemáticas e de Computação

USP

Tópicos

• Definições vistas na aula passada

• Fundamentos

• Estudo de Cores

• Formatos de arquivos

• Etc.

Fundamentos de Visão Computacional e Processamento

de Imagens

• Computer Imaging: Manipulação de imagem por computador.– Aquisição e processamento de informação por

computador.– Sentido primário: visão– “Uma imagem vale por mil palavras”

Domício PinheiroAgência Estado

Computer Imaging: duas áreas

Visão Computacional

Processamentode Imagens

Manipulação de Imagens por computador

Visão X Processamento

“Em aplicações de visão computacional as imagens processadas (saídas) são usadas pelo computador. Em processamento de imagens, são para consumo humano.”

“Historicamente, o processamento de imagens evoluiu a partir da Eng. Elétrica (proc. Sinais). Visão computacional foi resultado dos desenvolvimentos em Ciência da Computação.”

Visão Computacional (VC)

• Aplicações não requerem pessoas no ciclo visual, ie, imagens são examinadas e manipuladas pelo computador.

• O computador é quem usa a informação visual diretamente– reconhecimento e inspeção de objetos– Análise de imagens (Image Analysis).

• Feature extraction

• Pattern Recognition

Aplicações em VC

• Tarefas “tediosas” para seres humanos– ambiente hostil– alta taxa de processamento– acesso e uso de grandes banco de dados

• Encontrados em ambientes variados– controle de qualidade em sistemas de

manufatura.

Aplicações em VC (cont.)– Ambiente médico

• Detecção automática de tumores

• sistemas de auxílio a neuro-cirurgias

• Identificação de impressões digitais

• Identificação de impressão DNA (DNA fingertips)

– Outros• Monitoração de rodovias.

• Sistemas de defesa (militares).

• Visão Robô (vision-guided robot)

• Croud control (controle de multidão) em metrô.

Metodologia de reconhecimento (deve considerar)

• Condicionamento (conditioning) : pré-processamento

• Rotulação (Labeling) : a informação é um conjunto de pixels

conectados. Deteçao bordos, limiarização

• Agrupamento (grouping): segmentação

• Extração (extraction) : lista de propriedades

• Matching (reconhecimento de padrão)

Computer and Robot Vision. Haralick and Shapiro

Processamento de Imagens (PI)

• Aplicações envolvem pessoas no ciclo visual, ie, as imagens são examinadas e manipuladas por pessoas.

• Necessidade de conhecimento do modo de operação do sistema visual humano.

PI: principais tópicos

• Restauração (restoration)

• Realce (enhancement)

• Segmentação

• compressão (compression)

Restauração de Imagem

• Processo de recuperação da aparência original de uma imagem que possui algum grau conhecido (ou estimado) de degradação.

• É possível desenvolver um modelo da distorção se soubermos algo sobre a degradação

• Modelo degradação: aplica processo inverso e obtém-se imagem restaurada

Realce de Imagem

• “Melhorar” uma imagem visualmente, baseado na resposta do sistema visual humano.

• Solução ótima depende do problema (problem specific techniques)

• exemplo:– Expandir o contraste (contrast stretching)

Restauração X Realce

• Ambos levam à “melhora” na imagem

“Métodos de restauração procuram modelar a distorção e aplicar o processo reverso, enquanto os métodos de realce utilizam a resposta do sistema visual humano para “melhorar” a imagem visualmente.”

Exemplo de Restauração

Exemplo de Realce de contraste

Típica operação do tipo s = T(r), conhecida como contrast stretching.

Realce: eliminação de ruído

Compressão de Imagem

• Redução da quantidade expressiva de dados necessária para representar uma imagem

• Eliminação do que é visualmente desnecessário

• Imagens apresentam redundância de dados.

• Redução na ordem de 10 a 50 vezes. (wavelets -> 65 – 80 %)

Compressão de Imagens

• Lossless compression mantém a integridade dos dados, utilizada para dados gerais e excetuáveis.

• Lossy compression não mantém a integridade dos dados. As imagens são parecidas mas não idênticas.

Lossless compression

• Compressão similar ao ZIP, ARJ, etc.

• Tipo Run Length Encoding (RLE): .bmpCompressed data Expanded data

03 04 04 04 04 05 06 06 06 06 06 06 00 03 45 56 67 00 45 56 67 02 78 78 78 00 02 05 01 Move 5 right and 1 down 02 78 78 78 00 00 End of line 09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 00 01 End of RLE bitmap

Lossless compression

P P P P P P P A A A A V V P P P P

P P P P P P P P P P A A V V V V V

A A V V A A A A A A P P P P P P P

7P 4A 2 V 4P

10P 2A 5V

2A 2V 6A 7P

Operação reversível

Imagem 24 bits

Lossy Compression

FFT DCT

Sistemas de Imagem por computador

Câmera

Scanner

ReprodutorVídeo

Monitor

Impressora

Filme

GravadorVídeo

Sistema deComputador

Digitalização

• Sinal de vídeo analógico é transformado em sinal digital através da discretização do sinal contínuo à taxa fixa.

• Esse processo é feito muito rapidamente.– Câmeras CCD

• O resultado é um vetor bi-dimensional de dados, onde cada elemento é chamado pixel.

Digitalização: discretização

• Amostragem (sampling)– discretização espacial– Imagens: uma matriz de pontos.

• Quantização (quantization) – discretização da amplititude– Imagens: qual a faixa de valores que um ponto

é capaz de armazenar.

Quantization

• Exemplo– valores de 8 bits para representar voltagens de

0-10 V. – 8 bits: 256 valores distintos– 10 V / 256 = 0.039 V !– 0 V = 00000000 10V = 11111111 – Cada mudança de 0.039, indica um novo

binário.

FalseContourFalse

Contour

8 bpp 4 bpp

2 bpp 1 bpp

Como reduzir efeito da quantização ?

• Halftoning

• Dithering

Halftoning

Halftoning Colorido

Dithering

original

Ruído uniforme Imagem resultante (binária)

Pixel > padrão: brancoPixel < padrão: preto

Amostragem (Sampling)

Pixel !

Quantização e Amostragem

• Resolução Espacial – Define riqueza de detalhes da imagem

• Resolução de Profundidade– Define riqueza de meios-tons– Define cores

• Tamanho da Imagem

Processo de DiscretizaçãoProcesso de Discretização

4x

16x

Processo de DiscretizaçãoProcesso de Discretização

95 80 80 8095 90 90 105

150 20 100 130220 150 160 150256 tons de cinza

640h x 480v em 256 cores

320h x 240v em 256 cores

160h x 120v em 256 cores

80h x 60v em 256 cores

40h x 30v em 256 cores

640h x 480v em 256 tons de cinza

640h x 480v em 8 tons de cinza

640h x 480v - imagem binária

• 20km/pixel 10km/pixel

Resolução Espacial

1 cm = 192 pixels, ou seja, 488 dpi

Resolução em ProfundidadeResolução em Profundidade

2 bits

8 bits

24 bits

Problemas amostragem: Aliasing

• Artefatos devido a sub-amostragem ou reconstrução ruim– Espacial – Temporal

Aliasing espacial

Jagged edges: efeito escada

Aliasing TemporalEfeitos de: Flickering: Monitor filmado na TV ! Strobing (luz estroboscópica): roda do carro girando para trás na TV ou à noite !

t1t2

strobing

Representação de Imagem

• imagem = função bidimensional da intensidade de luz recebida

• I = f(x,y), taxa de nível de cinza proporcional ao brilho da imagem

• Binárias (0 - Preto, 1 - Branco)

• Grey-scale (monocromáticas, one-colour)

• Coloridas, pseudo-colours...

Propriedades de uma imagem

• Vizinhança– 4-vizinhança: um pixel p tem 4 vizinhos

• dois horizontais e dois verticais N4(p)

– 8-vizinhança: N8(p) = N4(p) Nd(p), onde Nd(p) é o conjunto dos pixels na diagonal.

Propriedades de uma imagem

• Conectividade– dois pixels estão conectados se são adjacentes

segundo algum critério de vizinhança e se seus níveis de cinza satisfazem um critério de similaridade.

• 4-conectado: p e q são similares e q N4(p)

• 8-conectado: p e q são similares e q N8(p)

Propriedades: distâncias

• Sejam os pixels p = (x,y), q = (s,t), z = (u,v). Uma função de distância D tem as propriedades:

– D(p,q) 0 (D(p,q) = 0, se e somente se p = q)

– D(p,q) = D(q,p)

– D(p,z) D(p,q) + D(q,z)

– Distância Euclidiana D(p,q) = sqrt [(x-s)2+(y-t)2]

– Distância D4 (city-block): D(p,q) = |x-s| + |y-t|

– Distância D8 (Tabuleiro de xadrez)• D(p,q) = max(|x-s|,|y-t|)

Operações aritméticas e lógicas

• Adição: g = p+q (overflow ?)

• Subtração: g = p-q (underflow)

• Correção por– corrigir escala: g = 255 * (f - fmin) / (fmax-fmin)

– Truncamento: valor máx = 255 e valor min = 0

Operações lógicas

• AND

• OR

• XOR

• NOT– simples e bastante utilizadas. – http://www.dai.ed.ac.uk/HIPR2/and.htm

Alteração das dimensões

• Scaling– ampliar ou reduzir a imagem segundo um fator

(igual para horizontal e vertical, ou não)

• Sizing (ou resizing)– diz-se o novo tamanho da imagem, ao invés de

especificar o fator de ampliação/redução.

Ampliação: zoom in (um pixel, se torna 4)Redução: zoom out (4 pixels se tornam 1)

Transformações geométricas

• Seja o pixel de coordenada (x,y)– Translação: (x’,y’) = (x+x, y + y)– Rotação : x’ = x cos () + y sen ()

y’ = y cos () - x sen ()– Espelhamento (flip): reflexão.– Warping: projeção afim conforme um dado

template ou imagem...

• http://www.dai.ed.ac.uk/HIPR2/reflect.htm

Crop, cut e paste

• Cropping: selecionar porção de uma imagem (rubberband)

Percepção Visual Humana

• Envolve componentes fisiológicos e psicológicos

• Por que estudá-lo?– Projetar algoritmos de compressão (reduzir qtd

de informação, retendo informação visual)– algoritmos de realce de imagem (sabendo-se

como funciona o sistema visual, pode-se aplicar técnicas que melhorem as imagens).

Sistema visual humano

• Energia luminosa focalizada pelas lentes do olho nos sensores da retina

• Estes sensores respondem à energia luminosa por uma reação eletro-química que envia um sinal elétrico ao cérebro através do nervo óptico

• o cérebro usa esses sinais para criar padrões neurológicos que percebemos como imagens.

Cores

• Pode ser um poderoso descritor das propriedades de um objeto -> segmentação

• Humanos podem distinguir uma ampla variedade de nuances de cores, enquanto que poucos tons de cinza são perceptíveis (cerca de 100)

• full colour ou pseudo-cor

Percepção de Cores

• Fenômeno físico-psicológico

• 1666– Isaac Newton e o prisma de cores– Do violeta (+curta) ao vermelho (+ comprida) :

violeta, azul, verde, amarelo, laranja, vermelho

O que é cor

• Luz refletida pelo objeto

• Ondas eletromagnéticas: 400 – 700 nm

• Corpo que reflete luz relativamente balanceada em todos os comprimentos de onda visível “parece” branco ao observador

Luz “Visível”

• Ondas de 380 - 825 nanômetros – 10-9: milionésimo do milímetro

– resposta mínima acima de 700...

• Dividas em três bandas – Azul (400 - 500 nm)– Verde (500-600 nm)– Vermelho (600-700 nm)

Espectro eletromagnético

1024

1020

1022

104

106

102

1016

1014

Raios Gama

Raios X

Ultravioleta

NearInfraVerm

IV

MicroOndasRadio

Visível

10-16

106

10-10

10-2

1

400 500 600 700

violeta Azul Verde Amarelo Laranja Vermelho

Comprimento em Nanômetros

Luz Acromática

• Ausência de cor

• Único atributo: intensidade

• Brilho ou nível de cinza ou intensidade

• Nível de cinza: medida escalar de intensidade que vai do preto (0), passa pelos cinzas, chegando ao branco (1)

Luz Cromática

• Comprimentos de onda: espectro de energia entre 400:700 nm (nanômetros)

• 3 atributos:– Radiance : (Radiancia)– Luminance : (Luminância)– Brightness : (Brilho)

Radiancia

• Quantidade total de energia que flui da fonte de luz

• Medida em Watts (W)

Luminância

• Quantidade de energia que um observador percebe a respeito da fonte de energia.

• Exemplo: luz emitida em infra-vermelho com bastante energia (radiance) pode ser dificilmente notada por um observador (baixa luminância)

• Medida em Lúmens (lm)

Brilho

• Descritor subjetivo, difícil de se medir

• Engloba a noção acromática de intensidade

• Fator chave na sensação de cor– Ver modelos de cor...

• Deve ser usado em referências não quantitativas a sensações fisiológicas e percepção de luz.

Cores – RGB e Paleta

• RGB -> formato baseado na tricromaticidade da visão humana, onde temos sensores para ondas curtas (azul), médias(verde) e longas(vermelho).

No modelo RGB a imagem é constituída por 3 planos ou canais, de 256 níveis de profundidade. Este modelo é denominado por true color ou 24bits pelos programas gráficos (Adobe, GIMP, etc.).

Modelo RGB

• Curiosidade: o homem é capaz de discernir até 6 mil cores, o modelo RGB suporta 224, cerca de 16 milhões de cores

• Problemas do Modelo RGB

– Quantidade de memória ocupada

– Nos anos 70 e 80 as placas de vídeo não eram capazes de suportar grandes volumes de memória.

– Solução, utilização de paletas de cores.

Cores segundo olho humano

• Cor: combinação variável das 3 cores primárias: vermelho, verde e azul.

• Padrao CIE (Comission Internationale de l´Eclairage): comissão internacional de iluminação– Azul: 435.8 nm– Verde: 546.1 nm– Vermelho: 700 nm

• Cores de Luz, não cores de pigmento !

Cores de Luz: adição

• Cores primárias (R,G,B) são adicionadas, produzindo as cores secundárias de luz– Magenta: vermelho + azul– Cyan (turquesa): verde + azul– Amarelo: vermelho + verde

• Branco:– Vermelho + verde + azul– Uma secundária + sua primária oposta !

Cores por adição

Cores por adição: um exemplo típico são os televisores

http://www.mwit.ac.th/~physicslab/applet_01/library/30-7/index.html

Cores de pigmento

• Cor definida como aquela que subtrai ou absorve uma cor primária de luz e reflete as outras duas.

• Primárias: Magenta, Cyan e Amarelo

• Preto: – Combinar as 3 primárias– Uma secundária + sua primária oposta

http://www.glenbrook.k12.il.us/gbssci/Phys/Class/light/u12l2d.html

Cores por subtração

Cores são geradas subtraindo-se o comprimento da onda dominante da luz branca,

por isso, a cor resultante corresponde à luz que é refletida

Cyam (turquesa)

Yellow

Magenta

Impressoras utilizam este sistema

Cor na paleta de um pintor

Perda de luminância.A cor vai perdendo

seu brilho.

Formação de cores por pigmentação

Fatores de Distinção de Cores

• Brilho, Matiz e Saturação– Brilho: noção acromática nas cores– Matiz: onda dominante da cor, isto é, o

vermelho, o laranja, etc.– Saturação: quantidade de branco adicionada ao

matiz: Maior saturação, Menor qtd de branco

Cor

Cor

• Luminosidade: associada à quantidade de luz refletida por um objeto

- reflete mais -> mais branco

- absorve mais -> mais escuro (preto)

- depende do objeto

• Brilho(brightness): depende da iluminação (emissor)

Luminosidade (preto-branco) e brilho (escuro-claro)

http://www.cambridgeincolour.com/tutoriais/histogramas2.htm

Cromaticidade

• Matiz + Saturação

• Cor: cromaticidade + brilho.• A, B C : valores de estímulo de cada cor RGB• Coeficientes tri-cromáticos:

Diagrama de Cromaticidade do CIE

y

x

Imagens coloridas

• Modeladas por 3 bandas monocromáticas de dados

• Cada banda uma cor.

• Dado brilho do espectro de cada banda

• 8 bits por banda 24 bpp

• RGB nem sempre é “natural” ao homem.

Imagens Coloridas• Teoria Tricromática: é possivel formar uma

cor arbitrária super-impondo três cores básicas

• as 3 cores primárias (R, G, B) são projetadas numa região comum para reproduzirem a cor desejada;

• quaisquer 3 cores podem ser primárias desde que elas sejam independentes entre si. Nenhuma pode ser mistura das outras duas

Modelo RGB

R

G

B

(1,0,0)

(0,1,0)

(0,0,1)Cyan

Amarelo

Magenta Branco

Preto

Indexada: Pseudocolor

Indexada: True color: 3 LUT (look up tables)

Modelo Perceptual

Matiz

Luminância

Saturação

A deep, bright orange: um laranja claro e realçado (profundo)

A cor:LaranjaOnda dominante

Alta saturação:deep (profundo)Diluição de luz brancana cor

Alta intensidade: claro

RGB (A deep, bright orange): R-245, G-110, B-20

Modelo Perceptual HSV

Formatos de arquivos para imagens digitais

• Diversos formatos– requisitos diferentes, vários tipos de imagens– razões de mercado– software proprietário– falta de coordenação da indústria de imagens

• Computação Gráfica– imagens bitmap e imagens “vetores” (vector

images)

Formatos

• Bitmap (raster images)– I(r,c): pixel armazena o valor do brilho.

• Vector images– representação de linhas, curvas e formas– armazena os “pontos chaves” – rendering (renderização)

Imagem Vetorial

• Consiste de uma lista de comandos gráficos, que quando executados desenham o correspondente à imagem

• As imagens são simples, devido ao seu processo de formação

• Exemplos: Corel Draw (.cdr), Flash, windows metafile (.wmf)

LEGAL !

LEGAL !

• A imagem vetorial é definida através de uma linguagem gráfica que representa a estrutura do desenho através de formas geométricas: círculos, pontos, retângulos, triângulos, linhas, etc.– ex: desenho abaixo

• circulo (10,10,300, rgb= amarela) (posição, raio, cor)

• box (10,20,287,98, rgb=vermelha)

• box (10,10,200,210,azul)

• triangulo (10,10,40,40, 59,80,rgb=azul)

• text (30,87,tipo de letra, tamanho da letra, “texto que vai aparecer”, rgb)

Imagem Mapa de Bits (raster)

• No formato bitmap a matriz que representa a imagem é armazenada na memória.

• Este formato é o mais utilizado em processamento de imagens, uma vez que permite representar “ imagens reais “ ou seja adquiridas por um processo de digitalização.

• Exemplos: BMP, JPG, TIFF, PCX, GIF, PNG

• De que forma o pixel é armazenado?– Na memória de vídeo a imagem é representada como uma matriz,

onde cada elemento é um pixel.

• O tamanho das células variam de acordo com a profundidade e número de cores.

• Ex: uma imagem mapa de bit de 3 x 4 pixels true color (RGB)

. . .

. . .

. . .

. . .255,255,255 255,0,0 255,255,2550,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 255,255,255 0,0,0

IMAGEM AMPLIADA

MATRIZ

Imagens Bitmap

• BIN (raw image, sem cabeçalho)

• PPM (raw data + cabeçalho simples)– PBM(binário), PGM(grey-scale), PNM

(ambos)

• TIFF (Tagged Image File format) 24 bpp + compressão (LZW, RLE, JPEG)

• GIF (Graphics Interchange Format) 8 bpp + compressão LZW.

Imagens Bitmap

• JPEG: Joint Photographic Experts Group

• JFIF: JPEG Interchange Format– utiliza compressão jpeg

• Sun raster (Sun)

• SGI (Silicon Graphics)

Formato geral de um arquivo de imagem

Cabeçalho

Paleta

Dados

. . .

. . .

. . .

. . .1 2 33 3 33 3 33 1 3

IMAGEM AMPLIADA

MATRIZ na memória do computador

255,255,255 255,0,0 0,0,0

1 2 3

PALETA de CORES

Dados da Imagem

Imagem indexada de 256 cores