Transcript material
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 Pinheiro Agência Estado Computer Imaging: duas áreas Manipulação de Imagens por computador Visão Computacional Processamento de Imagens 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 Restauração X Realce • Realce • Restauração • Subjetivo • Objetivo • Processo heurístico • Conhecimento a priori do fenômeno de degradação • Alargamento de contraste, por exemplo, • Remoção de borramento, ao aplicar uma função de redução de borramento (deblurring) é restauração. Modelo de Degradação Restauração: dado g(x,y) + algum conhecimento sobre a função de degradação H + algum conhecimento sobre o ruído → estimar f. g(x,y) = h(x,y) * f(x,y) + n(x,y) Restauração Muitas vezes “ignoramos” H e consideramos o processo de restauração como algo que lida com degradações em função do ruído apenas. Neste caso, como devemos proceder a restauração? Observe a equação do slide anterior? Será que basta subtrairmos o ruído, para obter f ??? Como encontrar H ? Observação: imagem borrada.. analise uma pequena seção retangular dela (gs), identificando o que é fundo e o que é objeto. Para reduzir o ruído, aplique um processo que gere um resultado menos borrado possível (fs) (como?) → Hs = gs/fs . • Experimentação • Modelamento matemático 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 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): .bmp Compressed data Expanded data 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01 04 04 04 06 06 06 06 06 45 56 67 78 78 Move 5 right and 1 down 78 78 End of line 1E 1E 1E 1E 1E 1E 1E 1E 1E End of RLE bitmap Lossless compression P P P P P P P A AAA V V P P P P P P P P P P P P P P A A V V VVV Imagem 24 bits A A V VA AA 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 Lossy Compression FFT DCT Sistemas de Imagem por computador Monitor Câmera Impressora Scanner Filme Reprodutor Vídeo Sistema de Computador Gravador Vídeo 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. • Isso nos leva a pensar no conceito de resolução. Resolução de Imagem • Resolução de intensidade – Cada pixel tem uma “profundidade” em bits para cor ou intensidade • Resolução Espacial – Uma imagem tem altura x largura pixeis. • Resolução Temporal – Taxa de “refresh” (retraço) do monitor 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. 8 bpp 2 bpp False Contour 4 bpp 1 bpp False Contour Como reduzir efeito da quantização ? • Halftoning • Dithering Halftoning Halftoning Colorido Dithering original Ruído uniforme Pixel > padrão: branco Pixel < padrão: preto Imagem resultante (binária) Amostragem (Sampling) Pixel ! Teorema de Nyquist De acordo com o Teorema de Nyquist, a quantidade de amostras por unidade de tempo de um sinal, chamada taxa ou frequência de amostragem, deve ser maior que o dobro da maior frequência contida no sinal a ser amostrado, para que possa ser reproduzido integralmente sem erro de aliasing. Amostragem Suponha uma frequência de amostragem (fam) = 8kHz. A chave se fecha 8000 vezes por segundo (125 micro segundos). Como a chave se fecha por um tempo muito curto, temos pulsos muito estreitos, com Amplitude igual ao valor instantâneo do sinal (PAM – Pulsos Modulados em Amplitude) Amostragem Frequencia de amostragem > duas vezes a freq. do sinal. Ok.. há amostragem suficiente para que o sinal seja reproduzido sem aliasing. Frequencia de amostragem IGUAL a duas vezes a freq. do sinal. Não é possível reproduzir o sinal, pois PAM = 0. Se houver mudança de fase, haverá sinal, mas com amplitude errada (a não ser que caia no pico da senoide !!) daí precisar ser MAIOR que o dobro ! Frequência de amostragem MENOR que duas vezes a freq. do sinal. Sinal reproduzido está errado, revelando o efeito de aliasing. Problemas amostragem: Aliasing • Artefatos devido a sub-amostragem ou reconstrução ruim – Espacial – Temporal Aliasing espacial Jagged edges: efeito escada Aliasing Temporal Efeitos de: Flickering: Monitor filmado na TV ! Strobing (luz estroboscópica): roda do carro girando para trás na TV ou à noite ! t1 t2 strobing 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ção 4x 16x Processo de Discretização 256 tons de cinza 95 95 150 220 80 90 20 150 80 90 100 160 80 105 130 150 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 Resolução Espacial • 20km/pixel 10km/pixel 1 cm = 192 pixels, ou seja, 488 dpi Resolução em Profundidade 8 bits 24 bits 2 bits 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 (centenas de milhares), 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 O que é cor ? • Cor depende primariamente das propriedades de reflexão de um objeto. Vemos os raios que são refletidos, enquanto outros são absorvidos. • Deve-se considerar a cor da fonte de luz também e a natureza da visão humana. • Um objeto que reflete tanto vermelho quanto verde vai se revelar verde quando houver luz verde, mas nenhuma luz vermelha o iluminando. Ou vai aparecer vermelho, na ausência de luz verde. • Sob luz branca pura, ele se mostrará amarelo (= vermelho+verde). 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 10 24 10 22 10 20 10 16 Ultra violeta 10 14 10 Near InfraVerm 6 10 4 10 MicroOndas Radio Raios Gama Visível Raios X 10 -16 10 violeta 400 IV -10 10 Azul Verde 500 Amarelo -2 Laranja 600 Comprimento em Nanômetros 10 1 Vermelho 700 6 2 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) (ou 0 - 255) Luz Cromática • Comprimentos de onda: espectro eletromagnético de energia entre 400:700 nm (nanômetros) • Atributos/propriedades importantes • Luminância • Radiância • Brilho Luz Cromáticas (prop.) • Radiância • 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 (radiância) é dificilmente notada por um observador humano (baixa luminância). Medida em Lúmens (lm) • Brilho • Descritor subjetivo, que não é normalmente medido. Análogo a noção da intensidade em luz acromática, sendo um dos principais fatores na descrição da sensação de cores. Outros termos/propriedades •Matiz – Três quantidades independentes são usadas para descrever qualquer cor. O matiz é determinado pelo comprimento de onda dominante. Cores visíveis estão entre 400 (violeta) e 700 nm (vermelho) •Saturação – Determinada pela pureza da excitação e depende da quantidade de luz branca misturada ao matiz. Um matiz puro é totalmente saturado, ou seja, nenhuma luz branca é misturada. •Cromaticidade – Matiz e saturação determinam a cromaticidade para uma dada cor. Brilho • Descritor subjetivo, difícil de se medir • Devido a sua complexidade, CIE definiu o conceito de Luminância • 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 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 ! Os três tipos de cones existentes na visão humana e a sensibilidade por cada uma delas. Repare que absorvemos mais verde do que as outras cores ! Diagrama de Cromaticidade do CIE As cores ao longo da borda são as cores do espectro de cores como enxergadas pelo ser humano Diagrama de Cromaticidade do CIE Z=1–x-y Misturando cores: todas as cores sobre a linha GB podem ser obtidas pela mistura das cores G e B. Todas as cores no triângulo RGB podem ser obtidas pela mistura das cores R,G e B. Espaço e modelo de Cores • O universo de cores que podem ser reproduzidas por um sistema é chamado de espaço de cores (colour space ou color gamut) • Um espaço de cores pode ser definido como uma representação visual de um modelo de cores • Modelos de cores: aditivos e subtrativos. 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 ! * São chamadas primárias porque são cores criadas pela mistura de fontes de luz destas cores. No caso de uma TV, elementos de fósforos reluzentes. 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 Cada tríade de fósforos primários constitui um único pixel no monitor. A pessoa não vê a tríade, mas a mistura dos três: o pixel ! A manipulação da intensidade com que as três cores são exibidas (excitação do fósforo) cria o gamut de cores do monitor. Cores secundárias e primárias Movendo-se no círculo de uma primária à outra, adiciona-se mais da cor de que se aproxima e menos da que se distancia. Ao se afastar 180 graus de uma primária, não se tem nada desta misturada. Esta cor é, por esta razão, chamada de complemento da primária. Estas cores são também conhecidas como secundárias (ou primárias de impressão). 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 Quando uma superfície com a cor Ciano é iluminada com luz branca, nenhuma luz vermelha é refletida, ou seja, o pigmento ciano subtrai a luz vermelha da luz branca refletida. Magenta Cyam (turquesa) Modelo de cor CMY Yellow Cores são geradas subtraindo-se o comprimento da onda dominante da luz branca. Por isso, a cor resultante corresponde à luz que é refletida. Espaço de cor CMY é subtrativo. 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 Modelo de cor RGB • 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. 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. Modelo RGB Preto B (0,0,1) Cyan Branco Magenta G (0,1,0) Amarelo R (1,0,0) Indexada: Pseudocolor Indexada: True color: 3 LUT (look up tables) Modelo Perceptual A deep, bright orange: um laranja claro e realçado (profundo) Luminância Matiz A cor: Laranja Onda dominante Alta intensidade: claro Saturação Alta saturação: deep (profundo) Diluição de luz branca na cor RGB (A deep, bright orange): R-245, G-110, B-20 Modelo Perceptual HSV •H é a cor pura e é expressa em graus de ângulo onde 0 é a cor vermelha. •S é a “pureza da cor” (saturação) e é medida como a distância do eixo V •V é medido ao longo do eixo do cone hexagonal, onde V=0 é o preto e V=1 é o branco. Modelo HSI •H (matiz) é a cor pura e é expressa em graus de ângulo onde 0 é a cor vermelha. •S é a “pureza da cor” (saturação). Diluição da cor pura com o branco •I (Intensidade ou Brilho) nível de cinza. Mais intuitivo que HSV uma vez que o pico da saturação é representado na intensidade 0.5 e tem máximo (1) branco e mínimo (0) em preto. 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 ! • 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) LEGAL ! 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) ... ... ... ... IMAGEM AMPLIADA MATRIZ 255,255,255 0,0,0 0,0,0 0,0,0 255,0,0 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 0,0,0 0,0,0 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 Imagem indexada de 256 cores ... ... ... ... IMAGEM AMPLIADA MATRIZ na memória do computador PALETA de CORES 255,255,255 255,0,0 0,0,0 1 2 Dados da Imagem 3 1 3 3 3 2 3 3 3 3 3 1 3