Upload
junior-souza
View
220
Download
3
Embed Size (px)
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