Processamento de Imagens no Plano Focal -...

247
Processamento de Imagens no Plano Focal UFRJ / COPPE / PEE José Gabriel R. C. Gomes CPE786 Notas de Aula CPE786 Notas de Aula

Transcript of Processamento de Imagens no Plano Focal -...

Page 1: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Processamento de Imagensno Plano Focal

UFRJ / COPPE / PEEJosé Gabriel R. C. GomesCPE786 – Notas de AulaCPE786 Notas de Aula

Page 2: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Planejamento das Aulasj- História dos Imageadores CMOS.

- Sistemas de Leitura CCD e CMOS.

- Fotodiodos.

- Modos de Aquisição.

- Algoritmos de Baixa Complexidade.

- Processamento de Sinais no Plano Focal.

- Compressão de Dados no Plano Focal.

- Análise de Erro.

- Projeto.

- Montagem de Sistemas Ópticos.

- Teste.

UFRJ / COPPE / PEE / CPE786 – Slide 2 – José Gabriel R. C. Gomes

Page 3: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #01 – Desenvolvimento Histórico

Page 4: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Desenvolvimento Inicial

1960: Solid-state Imager1963: S. R. Morrison (endereçamento X-Y)1964: J. W. Horton (scanistor)1964: J. W. Horton (scanistor)1966: M. A. Schuster e G. Strull (foto-transistores, 50 x 50)1967: P. K. Weimer et al. (photoconductive film, TFT scanning)1968: P. J. W. Noble (foto-diodo + chave, praticamente PPS)

1970: CCD e Primeiras Câmeras1970: W S Boyle e G E Smith invenção do CCD (AT&T Bell Labs)1970: W. S. Boyle e G. E. Smith – invenção do CCD (AT&T Bell Labs)1973: Texas Instruments1978: Polaroid

UFRJ / COPPE / PEE / CPE786 – Slide 4 – José Gabriel R. C. Gomes

Page 5: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Desenvolvimento Recente

1980: Sony Mavica, 1981 (primeira câmera comercial, CCD)980 So y a a, 98 (p a â a o a , CC )1987: Início do desenvolvimento dos sensores CMOS APS1988: o início das DSCs (Fuji DS Series)1989: Silicon Retina; amplificadores dentro do pixel (C. Mead)

1990: Imageadores CMOS consolidados1993 – “Are CCDs Dinossaurs?” (Eric Fossum)1994: Casio QV 10 (240 x 320 com primeiro LCD)1994: Casio QV-10 (240 x 320, com primeiro LCD)1995: 3T – APS (Photogate)

3T – APS (Photodiode)Guerra do número de pixelsp

1997: 4T – APS (Pinned Photodiode)2000: sensores de imagem CMOS inteligentes

2000: Diversificação 2006: sistemas comerciais para visão computacional2008: 25 megapixels, CCD / CMOS

UFRJ / COPPE / PEE / CPE786 – Slide 5 – José Gabriel R. C. Gomes

Page 6: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Diversificaçãoç a) Variações de câmeras: - “Silver Halide”

El t ô i E táti Câ E táti A ló i- Eletrônica Estática - Câmera Estática Analógica- Câmera Estática Digital (DSC)

DSC: - Point & ShootDSC: Point & Shoot- Single Lens Reflex- Camera Back- Toy Camera- Cell Phone

b) Chips de visão:

- Processamento a nível de pixels – Carver Mead, Silicon Retina– Subthreshold, low power

- Processamento a nível de colunas- Processamento a nível de chip

UFRJ / COPPE / PEE / CPE786 – Slide 6 – José Gabriel R. C. Gomes

Page 7: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Diversificaçãoç

) A li õ c) Aplicações

- Imageamento em geralImageamento em geral

- Imprensa e uso em rede

- Visão por máquina

- Aplicações científicas

- Astronomia- Biomedicina

- Aplicações militares

UFRJ / COPPE / PEE / CPE786 – Slide 7 – José Gabriel R. C. Gomes

Page 8: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Diversificaçãoç d) Estrutura Básica (configuração) de DSCs:

- Parte óptica- Dispositivos de imageamento- Circuito analógicoCircuito analógico- Circuito digital- Controle do sistema

UFRJ / COPPE / PEE / CPE786 – Slide 8 – José Gabriel R. C. Gomes

Page 9: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Pixel Detector

Elemento de matriz em um ambiente numérico

Elemento de um monitor ou display Elemento de um monitor ou display

UFRJ / COPPE / PEE / CPE786 – Slide 9 – José Gabriel R. C. Gomes

Page 10: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Estímulos e Tendências Tamanho do Pixel

Razão sinal/ruído – faixa dinâmica

Potência Potência

Custo de fabricação - tecnologia

UFRJ / COPPE / PEE / CPE786 – Slide 10 – José Gabriel R. C. Gomes

Page 11: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6. Futuro dos CCDs

Tamanho do pixel já em 2.3 µm de lado, em um quadrado (2006)p j µ , q ( )

Resolução – 6 megapixels (mais do que 15 parece ser desnecessário)

Faixa dinâmica – deve aumentar

Pixel com dois foto-diodos, 2003

Compatibilidade

Câmeras estáticas de alta resolução e filmadoras de alta qualidadeç q

Leitura de sinais em paralelo

Baixa potência – baixas tensões de controle (driving voltages)

UFRJ / COPPE / PEE / CPE786 – Slide 11 – José Gabriel R. C. Gomes

Page 12: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

7. Futuro dos Sensores de Imagem gCMOS

Redução das diferenças entre DSC e DVRedução das diferenças entre DSC e DV

Baixo consumo de energia e alto desempenho em modo de operação rápido

Sensores CMOS de alta resolução para filmes (8 MP, UDTV; 60 fps; 960 mW)

Flexibilidade de leitura – câmeras de modos múlitplos

Novos formatos – high-frame-rate imaging (5000 fps VGA)

3-D e imageamento com alta faixa dinâmica (HDR)g ( )

UFRJ / COPPE / PEE / CPE786 – Slide 12 – José Gabriel R. C. Gomes

Page 13: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências (Livros)( )

Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital Still Cameras, CRC Press, 2005.

J Oht S t CMOS I S d A li ti CRC P 2007 Jun Ohta, Smart CMOS Image Sensors and Applications, CRC Press, 2007.

Gerald C. Holst and Terrence S. Lomheim, CMOS/CCD Sensors and Camera Systems, JCD Publishing and SPIE Press, 2007.g ,

Orly Yadid-Pecht and Ralph Etienne-Cummings (Editors), CMOS Imagers: from Phototransduction to Image Processing, Kluwer Academic Publishers, 2004.

Carver Mead. Analog VLSI and Neural Systems. Addison-Wesley, Reading, MA, USA, 1989.

UFRJ / COPPE / PEE / CPE786 – Slide 13 – José Gabriel R. C. Gomes

Page 14: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências (Artigos)( g ) W. S. Boyle and G. E. Smith. Charge-Coupled Semiconductor Devices. Bell System Tech. J., vol. 49, pp. 587–593, 1970.

S. Morrison. A new type of photosensitive junction device. Solid-State Electronics, vol. 5, pp. 485–494, 1963 (abstract) S. Morrison. A new type of photosensitive junction device. Solid State Electronics, vol. 5, pp. 485 494, 1963 (abstract)

J. W. Horton, R. V. Mazza, and H. Dym. The scanistor — A solid-state image scanner. Proc. IEEE, vol. 52, no. 12, pp. 1513–1528, December 1964.

M. A. Schuster and G. Strull. A monolithic mosaic of photon sensors for solid-state imaging applications. IEEE Trans. Electron Devices, vol. ED-13, no 12, pp. 907–912, December 1966.

P. K. Weimer, G. Sadasiv, J. E. Meyer Jr., L. Meray-Horvath, and W. S. Pike. A self-scanned solid-state image sensor. Proc. IEEE, vol. 55, no. 9, pp. 1591–1602,September 1967.IEEE, vol. 55, no. 9, pp. 1591 1602,September 1967.

P. J. Noble. Self-scanned silicon image detector arrays. IEEE Trans. Electron Devices, vol. ED-15, no. 4, pp. 202–209, April 1968.

G.P. Weckler. Operation of p-n Junction Photodetectors in a Photon Flux Integration Mode. IEEE J. Solid-State Circuits, vol. SC-2, no. 3, pp. 65–73, September 1967.

R.H. Dyck and G.P. Weckler. Integrated arrays of silicon photodetectors for image sensing. IEEE Trans. Electron Devices, vol. ED-15, no. 4, pp. 196–201, April1968.vol. ED 15, no. 4, pp. 196 201, April1968.

W.F. List. Solid-state imaging — Methods of approach. IEEE Trans. Electron Devices, vol. ED-15, no. 4, pp. 256–261,April 1968.

UFRJ / COPPE / PEE / CPE786 – Slide 14 – José Gabriel R. C. Gomes

Page 15: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Próxima Aula

Sistema de Leitura CCD

Ler Capítulo 1 livro Nakamura

Ler Capítulo 1 livro Ohta

Ler List 1968 e Boyle 1970 Ler List, 1968 e Boyle, 1970

UFRJ / COPPE / PEE / CPE786 – Slide 15 – José Gabriel R. C. Gomes

Page 16: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #02 – Leitura de Dados em Sensores CCD

Page 17: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. CCDs Capacitor “MIS”

Transferência de carga entre áreas de armazenamento

– Coleção de cargaT f ê i d– Transferência de carga

– Conversão de carga para voltagem

Tensão positiva aplicada ao gate cria região sem carga positiva Tensão positiva aplicada ao gate cria região sem carga positiva

Fóton absorvido: par elétron-lacuna

Elétrons são acumulados

Quantidade de carga negativa acumulada proporcional a:

– VG

– Espessura do óxido– Área do eletrodo

UFRJ / COPPE / PEE / CPE786 – Slide 17 – José Gabriel R. C. Gomes

Área do eletrodo

Page 18: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Transferência de Cargag

Número total de elétrons acumulados = capacidade do poço

UFRJ / COPPE / PEE / CPE786 – Slide 18 – José Gabriel R. C. Gomes

Número total de elétrons acumulados capacidade do poço

Page 19: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. TC em CCDs com Três Fases

Três fases: tempo necesário para deslocar a carga um pixel = 6 períodos

Área disponível para o poço: 33% do pixel

UFRJ / COPPE / PEE / CPE786 – Slide 19 – José Gabriel R. C. Gomes

Page 20: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. TC em CCDs com Três Fases

Altenativas:

- Quatro fases: área do poço é 50% do pixel (8 períodos)D F d ó id iá l (4 í d ) ( H l t & L h i 52)

UFRJ / COPPE / PEE / CPE786 – Slide 20 – José Gabriel R. C. Gomes

- Duas Fases: espessura de óxido variável (4 períodos) (ver Holst & Lomheim, p. 52)

Page 21: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. BCCD (Buried-Channel CCD)( ) Valence-band pinning

Tornou-se padrão em CCDs, com eficiência de transferência de carga superior a 99.9999%

UFRJ / COPPE / PEE / CPE786 – Slide 21 – José Gabriel R. C. Gomes

Page 22: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Arquiteturas para a Matriz de Pixelsq p

Frame-Transfer CCD (FTCCD) Frame-Transfer CCD (FTCCD)

Interline-Transfer CCD (ITCCD)

Frame Interline Transfer CCD (FITCCD)

Fujifilm Super CCD (PIACCD)

UFRJ / COPPE / PEE / CPE786 – Slide 22 – José Gabriel R. C. Gomes

Page 23: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Frame-Transfer CCD (FTCCD)( )

Frame-Transfer CCD (FTCCD)

- Observações científicas / astronômicas- Sub-arraysy- Shielding- Estrutura simples- Pixel pequeno

h h f l k- Smear versus high-frequency clock- Resposta azul ruim

Obs.: shuttering ; no shielding – full frame transfer CCD

UFRJ / COPPE / PEE / CPE786 – Slide 23 – José Gabriel R. C. Gomes

Page 24: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Interline Transfer CCD (ITCCD)( ) Usado em aplicações de DSC e filmadores

Foto-diodo + gate de transferência

d ã d d bl Redução de smear ; mas ainda tem problemas:

- raios de luz inclinados (vazamento)

- difusão de elétrons foto-gerados

Fill-factor baixo – em torno de 20%

UFRJ / COPPE / PEE / CPE786 – Slide 24 – José Gabriel R. C. Gomes

Page 25: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Frame Interline Transfer CCD (FITCCD)

Alta proteção contra smear

Sistemas de câmera de mais alto custo

Transmissões de TV

UFRJ / COPPE / PEE / CPE786 – Slide 25 – José Gabriel R. C. Gomes

Page 26: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Fujifilm Super CCD (PIACCD)j p ( )

Matriz CCD com pixels “entrelaçados”

UFRJ / COPPE / PEE / CPE786 – Slide 26 – José Gabriel R. C. Gomes

Page 27: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4.1. Operaçãop ç

Scan progressivo versus scan “entrelaçado”

Time Delay and Integration (TDI)

UFRJ / COPPE / PEE / CPE786 – Slide 27 – José Gabriel R. C. Gomes

Page 28: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Conversão de Carga (Saída)g ( )

E t t d íd Estrutura de saída:

Ganho de conversão:

A = Gq/C (por exemplo, 80 uV/elétron)VSIGNAL = VRESET – VOUT = neGq/C

UFRJ / COPPE / PEE / CPE786 – Slide 28 – José Gabriel R. C. Gomes

Page 29: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Correlated Double Samplingp g Problema: incerteza quanto à quantidade de carga existente no “capacitor” (terminal n+ do

di d ) l ó tdiodo) logo após o reset.

UFRJ / COPPE / PEE / CPE786 – Slide 29 – José Gabriel R. C. Gomes

Page 30: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6. Estruturas Avançadasç a) Anti-Bloom Drain

- Substrato p – não é possível suprimir simultaneamente a corrente de difusão e a correntefoto-gerada.

E t t- Estrutura em poço p

- redução de efeitos indesejados, mas com resposta espectral diferente.- substrato n – vertical overflow drainsubstrato n vertical overflow drain

- Anti-bloom versus anti-smear

UFRJ / COPPE / PEE / CPE786 – Slide 30 – José Gabriel R. C. Gomes

- Pixels de baixo ruído

Page 31: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Low-Light-Level Detection DevicesgCharge-Injection Devices Intensified CCD (ICCD) (10-3 lux)

- Tubo de imageamento = intensificador de imagemF d MCP ( i h l l ) l (l (FFTCCD FTCCD))- Fotocatodo > MCP (microchannel plate) > tela ou (lente+(FFTCCD ou FTCCD))

Electron Bombarded CCD (EBCCD)- Fotocatodo e tubo a vácuoFotocatodo e tubo a vácuo- Degradação do CCD com o tempo; pode ser usada MCP

Electron Multiplying CCD (EMCCD)- ionização de impacto; registrador de multiplicação- FFTCCD (maximização de responsividade)

Ch I j ti D i (CID) ( t t l i ) Charge-Injection Devices (CID) (outra tecnologia)- Dois capacitores acoplados compartilhando ROWSELECT e COLSELECT- Carga foto-gerada com menos bloom e com menos smear- Pulso COLSELECT > corrente de deslocamento > saída ROWSELECT

UFRJ / COPPE / PEE / CPE786 – Slide 31 – José Gabriel R. C. Gomes

Pulso COLSELECT > corrente de deslocamento > saída ROWSELECT

Page 32: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Buried Photodiode

Vista em seção transversal de um pixel avançado ITCCD

UFRJ / COPPE / PEE / CPE786 – Slide 32 – José Gabriel R. C. Gomes

Page 33: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Próxima Aula

Sistemas de Leitura CMOS

Ler Capítulo 4 Nakamura (CCDs)

UFRJ / COPPE / PEE / CPE786 – Slide 33 – José Gabriel R. C. Gomes

Page 34: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aulas #03 e #04 – Leitura de Dados em Sensores CMOS

Page 35: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Introdução aos Sensores CMOSç

Redução de potência e funcionalidade “on-chip”ç p p

Originalmente:

- Fotodiodo com corrente de escuro elevada

- Ruído de leitura elevado

Final dos anos 90:

- Técnicas trazidas das tecnologias CCDg

- Chartge-transfer gate

d h d d- Pinned photodiode

- Microlente

UFRJ / COPPE / PEE / CPE786 – Slide 35 – José Gabriel R. C. Gomes

Page 36: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.1. Diferenças entre Sensores de çImagem CMOS e CCD

Smear raramente é observado em CMOS (APS)

Processos e instalações já existentes

Flexibilidade de leitura

Menor tensão de alimentação Menor tensão de alimentação

Integração com circuitos de controle e outros sistemas

UFRJ / COPPE / PEE / CPE786 – Slide 36 – José Gabriel R. C. Gomes

Page 37: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Arquitetura Básicaq

UFRJ / COPPE / PEE / CPE786 – Slide 37 – José Gabriel R. C. Gomes

Page 38: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Tecnologia de Pixels CMOS/APSg /

Carga foto-gerada

Scan de linha e scan de coluna

Fixed-Pattern Noise (FPN)

Offsset do amplificador- Offsset do amplificador

- Variação da tensão de threshold (VT) do transistor MRD

Métodos Básicos: 3T, 4T, 2.5T

UFRJ / COPPE / PEE / CPE786 – Slide 38 – José Gabriel R. C. Gomes

Page 39: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

PPS e APS

UFRJ / COPPE / PEE / CPE786 – Slide 39 – José Gabriel R. C. Gomes

Page 40: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.1. Fixed-Pattern Noise e Supressão de pFPN (APS-3T)

UFRJ / COPPE / PEE / CPE786 – Slide 40 – José Gabriel R. C. Gomes

Page 41: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.2. Pixel com Foto-diodo de Junção J çp-n (APS-3T)

UFRJ / COPPE / PEE / CPE786 – Slide 41 – José Gabriel R. C. Gomes

Page 42: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

PW / NSUB (APS-3T) / ( )

UFRJ / COPPE / PEE / CPE786 – Slide 42 – José Gabriel R. C. Gomes

Page 43: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Próxima Aula

í Ler Capítulo 5 Livro Nakamura (CMOS)

UFRJ / COPPE / PEE / CPE786 – Slide 43 – José Gabriel R. C. Gomes

Page 44: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.3. Pixels de Fotodiodo “Preso” (Pinned Photodiode Pixel) (4T)

UFRJ / COPPE / PEE / CPE786 – Slide 44 – José Gabriel R. C. Gomes

Page 45: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

CDS na Célula 4T

UFRJ / COPPE / PEE / CPE786 – Slide 45 – José Gabriel R. C. Gomes

Page 46: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.4. Outros Pixels Relevantes

Boosting

Pixel Logarítmico

2.5T etc.

UFRJ / COPPE / PEE / CPE786 – Slide 46 – José Gabriel R. C. Gomes

Page 47: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Boostingg

UFRJ / COPPE / PEE / CPE786 – Slide 47 – José Gabriel R. C. Gomes

Page 48: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Pixel Logarítmicog

UFRJ / COPPE / PEE / CPE786 – Slide 48 – José Gabriel R. C. Gomes

Page 49: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Multiplexação de Foto-diodos (2.5T)p ç ( )

UFRJ / COPPE / PEE / CPE786 – Slide 49 – José Gabriel R. C. Gomes

Page 50: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Próxima Aula

é Simular célula 3T

UFRJ / COPPE / PEE / CPE786 – Slide 50 – José Gabriel R. C. Gomes

Page 51: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

A l #05Aula #05Modos de Leitura (Read Out)Modos de Leitura (Read-Out) em Sensores de Imagem CMOSem Sensores de Imagem CMOS

Page 52: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Fotodiodo

Capacitância de junção: 5 fFp j ç

Corrente foto gerada: 5 pA Corrente foto-gerada: 5 pA

Luxímetros

UFRJ / COPPE / PEE / CPE786 – Slide 52 – José Gabriel R. C. Gomes

Page 53: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Tensão 3T

UFRJ / COPPE / PEE / CPE786 – Slide 53 – José Gabriel R. C. Gomes

Page 54: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Tensão 3T Alternativo

UFRJ / COPPE / PEE / CPE786 – Slide 54 – José Gabriel R. C. Gomes

Page 55: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Tensão 4T

UFRJ / COPPE / PEE / CPE786 – Slide 55 – José Gabriel R. C. Gomes

Page 56: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Tensão Logarítmicog

L b d Lembrando:

UFRJ / COPPE / PEE / CPE786 – Slide 56 – José Gabriel R. C. Gomes

Page 57: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Corrente com CDS

UFRJ / COPPE / PEE / CPE786 – Slide 57 – José Gabriel R. C. Gomes

Page 58: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo de Corrente Subthreshold

L b d Lembrando:

UFRJ / COPPE / PEE / CPE786 – Slide 58 – José Gabriel R. C. Gomes

Page 59: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Differential Data Sampling (DDS)p g ( )

UFRJ / COPPE / PEE / CPE786 – Slide 59 – José Gabriel R. C. Gomes

Page 60: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

A l #06Aula #06Processamento de ImagensProcessamento de Imagens –Conceitos e Algoritmos BásicosConceitos e Algoritmos Básicos

Page 61: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Circuitos Analógicos para g pProcessamento em Modo de Corrente

Winner-takes-allValor absoluto Valor absoluto

Inversor de correnteE i l Exponencial

QuadradoP d t I t Produto Interno

Current conveyord Comparador

Conversores lineares I-V e V-I

UFRJ / COPPE / PEE / CPE786 – Slide 61 – José Gabriel R. C. Gomes

Page 62: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Winner-Takes-All

Andreou, 1991

UFRJ / COPPE / PEE / CPE786 – Slide 62 – José Gabriel R. C. Gomes

Page 63: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Valor Absoluto

Mehta, 2006

UFRJ / COPPE / PEE / CPE786 – Slide 63 – José Gabriel R. C. Gomes

Page 64: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Inversor de Corrente

Bult, 1987

UFRJ / COPPE / PEE / CPE786 – Slide 64 – José Gabriel R. C. Gomes

Page 65: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Exponencial e Quadradop Q

Madrenas, 1996 e Bult, 1987

UFRJ / COPPE / PEE / CPE786 – Slide 65 – José Gabriel R. C. Gomes

Page 66: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Exponencial - Exemplop p

UFRJ / COPPE / PEE / CPE786 – Slide 66 – José Gabriel R. C. Gomes

Page 67: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Produto Interno com Espelhos de pCorrente

UFRJ / COPPE / PEE / CPE786 – Slide 67 – José Gabriel R. C. Gomes

Page 68: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Current Conveyory

Linãn, 2002 e Ferri, 2003 Obs : substituir “Y” por “X” no esquemático

UFRJ / COPPE / PEE / CPE786 – Slide 68 – José Gabriel R. C. Gomes

Obs.: substituir Y por X no esquemático

Page 69: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Produto Interno e Comparadorp

UFRJ / COPPE / PEE / CPE786 – Slide 69 – José Gabriel R. C. Gomes

Page 70: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Conversores Lineares V-I e I-V

Bult, 1987

UFRJ / COPPE / PEE / CPE786 – Slide 70 – José Gabriel R. C. Gomes

Page 71: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências A. G. Andreou et al., Current-mode subthreshold MOS circuit for analog VLSI neural systems, IEEE Trans. Neural Networks,

vol 2 no 2 pp 205-213 Março 1991vol. 2, no. 2, pp. 205-213, Março 1991.

S. Mehta e R. Etienne-Cummings, A simplified normal optical flow measurement CMOS camera, IEEE Trans. Circuits and Systems I, vol. 53, no. 6, pp. 1223-1234, Junho 2006.

K. Bult e H. Waalinga, A class of analog CMOS circuits based on the square-law characteristics of an MOS transistor in saturation, IEEE J. Solid-State Circuits, vol. SC-22, no. 3, pp. 357-365, Junho 1987.

J. Madrenas et al., A CMOS analog circuit for Gaussian functions, IEEE Trans. Circuits and Systems II, vol. 43, no. 1, pp. 70-74 Janeiro 199674, Janeiro 1996.

G. Ferri e N. C. Guerrini, Low-voltage low—power CMOS current conveyors, Kluwer Academic Publishers, 2003.

G. Linãn, Diseño de Chips Programables de Señal Mixta con Bajo Consumo de Potencia para Sistemas de Vision em Tiempo , p g j p pReal, Universidade de Sevilha, Junho 2002.

H. L. Haas et al., Analog inner product operations for image compression in 0.35 um CMOS, Springer Analog Integrated Circuits and Signal Processing, vol. 57, no. 3, pp. 141-150, Novembro 2008.

UFRJ / COPPE / PEE / CPE786 – Slide 71 – José Gabriel R. C. Gomes

Page 72: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

A l #07Aula #07Processamento de ImagensProcessamento de Imagens –Conceitos e Algoritmos Básicos IIConceitos e Algoritmos Básicos II

Page 73: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Mais Alguns Circuitos Analógicos para g g pProcessamento em Modo de Corrente

P d t I t U T i t Si Produto Interno com Um Transistor por Sinapse

R i Q d d Raiz Quadrada

T Hi bóli Tangente Hiperbólica

Circuitos para Leitura de Resultados

UFRJ / COPPE / PEE / CPE786 – Slide 73 – José Gabriel R. C. Gomes

Page 74: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Produto Interno 1T por Sinapsep p

UFRJ / COPPE / PEE / CPE786 – Slide 74 – José Gabriel R. C. Gomes

Page 75: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Produto Interno 1T por Sinapsep p

UFRJ / COPPE / PEE / CPE786 – Slide 75 – José Gabriel R. C. Gomes

Page 76: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Raiz QuadradaQ

UFRJ / COPPE / PEE / CPE786 – Slide 76 – José Gabriel R. C. Gomes

Page 77: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Circuitos para Saída (Leitura de p (Resultados)

UFRJ / COPPE / PEE / CPE786 – Slide 77 – José Gabriel R. C. Gomes

Page 78: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Sigmóide (Tangente Hiperbólica)g ( g p )

UFRJ / COPPE / PEE / CPE786 – Slide 78 – José Gabriel R. C. Gomes

Page 79: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Tangente Hiperbólica em Modo de g pCorrente

UFRJ / COPPE / PEE / CPE786 – Slide 79 – José Gabriel R. C. Gomes

Page 80: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Exemplo de Algoritmo de Baixa p gComplexidade

DPCM DPCM

T f d Li Transformada Linear

V l Ab l t Valor Absoluto

ã l Quantização Vetorial

UFRJ / COPPE / PEE / CPE786 – Slide 80 – José Gabriel R. C. Gomes

Page 81: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Imagem Dividida em Blocosg

UFRJ / COPPE / PEE / CPE786 – Slide 81 – José Gabriel R. C. Gomes

Page 82: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

DPCM

UFRJ / COPPE / PEE / CPE786 – Slide 82 – José Gabriel R. C. Gomes

Page 83: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Transformação Linearç

UFRJ / COPPE / PEE / CPE786 – Slide 83 – José Gabriel R. C. Gomes

Page 84: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Transformação Linearç

UFRJ / COPPE / PEE / CPE786 – Slide 84 – José Gabriel R. C. Gomes

Page 85: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Quantização VetorialQ ç

UFRJ / COPPE / PEE / CPE786 – Slide 85 – José Gabriel R. C. Gomes

Page 86: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Quantização VetorialQ ç

UFRJ / COPPE / PEE / CPE786 – Slide 86 – José Gabriel R. C. Gomes

Page 87: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Quantização VetorialQ ç

UFRJ / COPPE / PEE / CPE786 – Slide 87 – José Gabriel R. C. Gomes

Page 88: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aulas #08 e #09 DPCMAulas #08 e #09 – DPCM

Page 89: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Motivação (Imagens)ç ( g )

UFRJ / COPPE / PEE / CPE786 – Slide 89 – José Gabriel R. C. Gomes

Page 90: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Motivação (Histogramas)ç ( g )

- Obs.: 480513 pixels considerados

UFRJ / COPPE / PEE / CPE786 – Slide 90 – José Gabriel R. C. Gomes

Page 91: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projetoj% [1] Projeto SQ

clear all; load DPCM SQTrainSet;clear all; load DPCM_SQTrainSet; X = D(1:100:end); clear D; clear M;S = sign(X); X = abs(X); rand('state',0); randn('state',0);K=8; C = sort(rand(1,K))/10;L 100L = 100;for k=1:L, k

p = zeros(1,K);Cnovo = zeros(1,K);D(k) = 0;for n=1:size(X,2),

d = abs(X(n)-C);i = min(find(d == min(d)));p(i) = p(i)+1;Cnovo(i) = Cnovo(i)+X(n);Cnovo(i) Cnovo(i)+X(n);D(k) = D(k)+(min(d))^2;

end;C = Cnovo./p;D(k) = D(k)/size(X,2);

end;end;D0 = var(X);semilogx(10*log10(D0./D)); hold on; semilogx(10*log10(D0./D),'k.'); grid on;xlabel('Iteracao'); ylabel('SQNR (dB)');Cbkp=C;

UFRJ / COPPE / PEE / CPE786 – Slide 91 – José Gabriel R. C. Gomes

Page 92: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projetoj

% Arredondamento:

C=Cbkp;Tbkp = ([C 0]+[0 C])/2; T = [0.02 0.04 0.08 0.13 0.19 0.28 0.40]; p = zeros(1,K); C = zeros(1,K);for n=1:size(X,2),

i = sum(X(n) > T) + 1;p(i) = p(i)+1;C(i) = C(i)+X(n);

end;C = C /p; C = round(C*200)/200;

UFRJ / COPPE / PEE / CPE786 – Slide 92 – José Gabriel R. C. Gomes

C = C./p; C = round(C*200)/200;

Page 93: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aplicaçãop ç

% [2] Aplicacao

V = ImageToMatrix('lena');M = sum(V,1)/16; figure; imshow((reshape(M,128,128))'); MHat = zeros(1 1+length(M)); D = zeros(size(M)); p = zeros(1 8);MHat = zeros(1,1+length(M)); D = zeros(size(M)); p = zeros(1,8);for n=1:length(M),

D(n) = M(n) - MHat(n); X = abs(D(n)); Y = sign(D(n));i = sum(X > T) + 1;MHat(n+1) = MHat(n)+C(i)*Y;( ) ( ) ( )p(i) = p(i)+1;

end;MHat=MHat(2:length(MHat));

/clear D; p = p./sum(p); H = sum(-p.*log2(p)); D = mean((M - MHat).^2); [H 10*log10(D0/D)]figure; imshow((reshape(MHat,128,128))');

UFRJ / COPPE / PEE / CPE786 – Slide 93 – José Gabriel R. C. Gomes

Page 94: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

DPCM – Implementaçãop ç

UFRJ / COPPE / PEE / CPE786 – Slide 94 – José Gabriel R. C. Gomes

Page 95: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 95 – José Gabriel R. C. Gomes

Page 96: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação com Alguns Errosp ç g

% [3] Implementacao com Alguns Erros

MHat = zeros(1,1+length(M)); MHat2 = zeros(1,1+length(M)); D = zeros(size(M)); p = zeros(1,8);prandn('state',0); eC = 0.001*randn(size(C));for n=1:length(M),

D(n) = M(n) - MHat(n); X = abs(D(n)); Y = sign(D(n));i = sum(X > T) + 1;

( 1) ( ) ( (i) (i))*MHat(n+1) = MHat(n)+(C(i)+eC(i))*Y;MHat2(n+1) = MHat2(n)+C(i)*Y;p(i) = p(i)+1;

end;MHat=MHat(2:length(MHat));MHat=MHat(2:length(MHat));MHat2=MHat2(2:length(MHat2));clear D; p = p./sum(p); H = sum(-p.*log2(p)); D = mean((M - MuHat).^2); [H 10*log10(D0/D)]figure; imshow((reshape(MHat2,128,128))'); g pfigure; plot(MHat); hold on; plot(MHat2,'r-');

UFRJ / COPPE / PEE / CPE786 – Slide 96 – José Gabriel R. C. Gomes

Page 97: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação com Alguns Errosp ç g

UFRJ / COPPE / PEE / CPE786 – Slide 97 – José Gabriel R. C. Gomes

Page 98: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Correção de Erros em DPCMç

% [4] Correcao de Erros em DPCM

2figure; plot(MHat); hold on; plot(MHat2-(1:length(MHat2))/length(MHat2)*1.4,'g-');

figure; imshow((reshape(MHat2-(1:length(MHat2))/length(MHat2)*1.4,128,128))');

UFRJ / COPPE / PEE / CPE786 – Slide 98 – José Gabriel R. C. Gomes

Page 99: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Exercício

ExemploCompletoDPCM.m

UFRJ / COPPE / PEE / CPE786 – Slide 99 – José Gabriel R. C. Gomes

Page 100: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #10 – Quantizador Vetorial: Conceitos Básicos

Page 101: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Codificador

Dados de entrada (fonte):

UFRJ / COPPE / PEE / CPE786 – Slide 101 – José Gabriel R. C. Gomes

Page 102: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Decodificador

Dicionário:

UFRJ / COPPE / PEE / CPE786 – Slide 102 – José Gabriel R. C. Gomes

Page 103: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. VQQ

UFRJ / COPPE / PEE / CPE786 – Slide 103 – José Gabriel R. C. Gomes

Page 104: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Problema (Projeto do VQ)( j Q)

Dado X, encontrar Y tal que D = Dmin, q min

Exemplo (MATLAB):

M = 2N = 20N 20K = 4

UFRJ / COPPE / PEE / CPE786 – Slide 104 – José Gabriel R. C. Gomes

Page 105: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Problema (Código MATLAB)( g )

>> close all; clear all;

>> randn('state',0); rand('state',0); M = 2; N = 20; K = 4; G = 4; e = 0.05;

>> C = rand(M,G); X = []; L = N/G;

>> for g = 1:G, X = [X repmat(C(:,g),1,L)+e*randn(M,L)]; end;

l t(X(1 ) X(2 ) 'k ') id >> plot(X(1,:),X(2,:),'k.'); grid on;

>> hold on; plot(C(1,:),C(2,:),'c.');

>> Y = [ 0 7 0 75 0 8 0 85 ; 0 5 0 4 0 45 0 35];>> Y = [ 0.7 0.75 0.8 0.85 ; 0.5 0.4 0.45 0.35];

>> plot(Y(1,:),Y(2,:),'r.');

>> xlabel('x_{1}'); ylabel('x_{2}');

>> axis([0.2 1.2 -0.1 0.9])

UFRJ / COPPE / PEE / CPE786 – Slide 105 – José Gabriel R. C. Gomes

Page 106: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Considerações Básicasç

5.1. Condição da Partição (Codificador)

Fixando Y, calcular divisão de X em K sub-conjuntos

5.2. Condição do Centróide (Decodificador)ç

Fixando divisão de X, calcular Y,

UFRJ / COPPE / PEE / CPE786 – Slide 106 – José Gabriel R. C. Gomes

Page 107: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.1. Condição da Partiçãoç ç

>> voronoi(Y(1,:),Y(2,:),'r-');

UFRJ / COPPE / PEE / CPE786 – Slide 107 – José Gabriel R. C. Gomes

Page 108: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.1. Condição da Partição Considerando que y1, y2, ..., yK são conhecidos (dados):

ç ç

Particao otima:

Neste caso: Neste caso:

UFRJ / COPPE / PEE / CPE786 – Slide 108 – José Gabriel R. C. Gomes

Page 109: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.1. Condição da Partiçãoç ç

UFRJ / COPPE / PEE / CPE786 – Slide 109 – José Gabriel R. C. Gomes

Page 110: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.1. Condição da Partiçãoç ç

>> X

X =

Columns 1 through 13

0.9285 0.9564 0.8928 1.0096 0.9665 0.5975 0.5774 0.6000 0.6602 0.6021 0.9060 0.9270 0.85670.1479 0.2455 0.2907 0.2293 0.2399 0.5223 0.5951 0.4917 0.4889 0.4444 0.6953 0.8433 0.8050

Columns 14 through 20

0.9540 0.8193 0.4365 0.4972 0.5210 0.5160 0.45550.6824 0.7907 0.0530 0.0541 0.0519 -0.0416 0.0107

>> D = 0;>> for n=1:20, d = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1); k(n) = min(find(d==min(d))); D = D + min(d); end;>> D = D/20

D =

0.0899

>> k

k =

4 4 4 4 4 1 1 1 1 1 3 1 1 3 1 2 2 2 2 2

UFRJ / COPPE / PEE / CPE786 – Slide 110 – José Gabriel R. C. Gomes

Page 111: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.2. Condição do Centróideç

UFRJ / COPPE / PEE / CPE786 – Slide 111 – José Gabriel R. C. Gomes

Page 112: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.2. Condição do Centróideç

UFRJ / COPPE / PEE / CPE786 – Slide 112 – José Gabriel R. C. Gomes

Page 113: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5.2. Condição do Centróideç>> k

k =

4 4 4 4 4 1 1 1 1 1 3 1 1 3 1 2 2 2 2 2

>> p = zeros(K,1); Y = zeros(size(Y)); for n=1:20, Y(:,k(n)) = Y(:,k(n)) + X(:,n); p(k(n)) = p(k(n)) + 1; end;>> p

p =

85255

>> for j=1:K, Y(:,j) = Y(:,j)/p(j); end;>> Y

Y =

0.7050 0.4852 0.9300 0.95080.6227 0.0256 0.6888 0.2306

>> plot(Y(1,:),Y(2,:),'g.');>> D = 0; for n=1:20, D = D + sum((X(:,n)-Y(:,k(n))).^2);end;end;>> D = D/20

D =

0.0178

UFRJ / COPPE / PEE / CPE786 – Slide 113 – José Gabriel R. C. Gomes

Page 114: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projeto de VQ Ilustrativoj Q

UFRJ / COPPE / PEE / CPE786 – Slide 114 – José Gabriel R. C. Gomes

Page 115: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projeto de VQ Ilustrativoj Q

UFRJ / COPPE / PEE / CPE786 – Slide 115 – José Gabriel R. C. Gomes

Page 116: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projeto de VQ Ilustrativoj Q

load DadosX.mat; L=20; K=16; M=mean(X,2); Y=repmat(M,1,K); randn('state',1); Y=Y+0.001*randn(size(Y));for l=1:L, l

D(l)=0; p=zeros(1,K); Ynovo=zeros(size(Y));for n 1 si e(X 2)for n=1:size(X,2);

d = sum((repmat(X(:,n),1,size(Y,2))-Y).^2,1);k = min(find(d==min(d)));

D(l) = D(l)+min(d);Ynovo(:,k) = Ynovo(:,k) + X(:,n); p(k) = p(k) + 1;

end;Y=Ynovo./repmat(p,size(Y,1),1);

end;plot(D,'k.'); plot(D, k. ); figure; plot(X(1,:),X(2,:),'k.'); hold on;voronoi(Y(1,:),Y(2,:)); axis([-0.01 0.08 -0.01 0.08]);

UFRJ / COPPE / PEE / CPE786 – Slide 116 – José Gabriel R. C. Gomes

Page 117: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #11 – Quantizador Vetorial com Restrição de Entropia

Page 118: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Codificador de Fonte Discreta (VLC)( )

ã Função

UFRJ / COPPE / PEE / CPE786 – Slide 118 – José Gabriel R. C. Gomes

Page 119: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Decodificador de Fonte Discreta

ã Função

UFRJ / COPPE / PEE / CPE786 – Slide 119 – José Gabriel R. C. Gomes

Page 120: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. ECVQQ

UFRJ / COPPE / PEE / CPE786 – Slide 120 – José Gabriel R. C. Gomes

Page 121: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Entropiap

O VLC é parametrizado pelo vetor .

UFRJ / COPPE / PEE / CPE786 – Slide 121 – José Gabriel R. C. Gomes

Page 122: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Entropia e VLC – Exemplop p>> p = [1/2 1/4 1/8 1/8]

p p =

0.5000 0.2500 0.1250 0.1250

>> -sum(p.*log2(p))

ans =

1.7500

>> l = HuffLen(p)

l =

1 2 3 31 2 3 3

>> gamma = HuffCode(l)

gamma =

0 0 01 0 01 1 01 1 11 1 1

UFRJ / COPPE / PEE / CPE786 – Slide 122 – José Gabriel R. C. Gomes

Page 123: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Problema (Projeto do ECVQ)( j Q)

Minimizar D considerando se uma restrição (valor Minimizar D, considerando-se uma restrição (valor máximo aceitável) em H, ou vice-versa. Isso equivale a minimizar a função custo:a minimizar a função custo:

Problema: dados X e λ, encontrar Y tal que J = Jmin.

Exemplo (MATLAB): Slides #5 e #6 da aula passada.

UFRJ / COPPE / PEE / CPE786 – Slide 123 – José Gabriel R. C. Gomes

Page 124: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6. Considerações Básicasç

6.1. Condição da Partição (Codificador)

Fixando Y, calcular divisão de X em K sub-conjuntos

6.2. Condição do Centróide (Decodificador)ç

Fixando divisão de X, calcular Y,

UFRJ / COPPE / PEE / CPE786 – Slide 124 – José Gabriel R. C. Gomes

Page 125: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.1. Condição da Partição Considerando que y1, y2, ..., yK são dados, seja j(x,yk):

ç ç

Partição ótima (sem demonstração aqui):

Neste caso: Neste caso:

UFRJ / COPPE / PEE / CPE786 – Slide 125 – José Gabriel R. C. Gomes

Page 126: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.1. Condição da Partição (MATLAB) Na primeira iteração, não sabemos valores de lk.

ç ç ( )

>> X

X =

Columns 1 through 12

0.9285 0.9564 0.8928 1.0096 0.9665 0.5975 0.5774 0.6000 0.6602 0.6021 0.9060 0.92700.1479 0.2455 0.2907 0.2293 0.2399 0.5223 0.5951 0.4917 0.4889 0.4444 0.6953 0.8433

Columns 13 through 20

0.8567 0.9540 0.8193 0.4365 0.4972 0.5210 0.5160 0.45550.8050 0.6824 0.7907 0.0530 0.0541 0.0519 -0.0416 0.0107

>> L

L =

2 2 2 2

>> lambda = 0.05;>> J = 0;>> for n=1:20, j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*L; k(n) = min(find(j==min(j))); J = J + min(j); end;>> J = J/20

J =

0.1899

>> k

k =

4 4 4 4 4 1 1 1 1 1 3 1 1 3 1 2 2 2 2 2

UFRJ / COPPE / PEE / CPE786 – Slide 126 – José Gabriel R. C. Gomes

Page 127: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.2. Condição do Centróideç

É a mesma do Slide 5.2 da aula passada:

UFRJ / COPPE / PEE / CPE786 – Slide 127 – José Gabriel R. C. Gomes

Page 128: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.2. Condição do Centróide (MATLAB)ç ( )

>> k

k =

4 4 4 4 4 1 1 1 1 1 3 1 1 3 1 2 2 2 2 2

>> p = zeros(K,1); Y = zeros(size(Y)); for n=1:20, Y(:,k(n)) = Y(:,k(n)) + X(:,n); p(k(n)) = p(k(n)) + 1; end;>> p

p =

85255

>> for j=1:K, Y(:,j) = Y(:,j)/p(j); end;>> Y

Y =

0.7050 0.4852 0.9300 0.95080.6227 0.0256 0.6888 0.2306

>> plot(Y(1,:),Y(2,:),'g.');>> D = 0; for n=1:20, D = D + sum((X(:,n)-Y(:,k(n))).^2);end;end;>> D = D/20

D =

0.0178

UFRJ / COPPE / PEE / CPE786 – Slide 128 – José Gabriel R. C. Gomes

Page 129: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.2. E logo após a avaliação de p:g p ç p

>> p = p/sum(p)

p =

0 40000.40000.25000.10000 25000.2500

>> L = HuffLen(p)

L =

1233

UFRJ / COPPE / PEE / CPE786 – Slide 129 – José Gabriel R. C. Gomes

Page 130: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.3. Exemplo ECVQp Q

UFRJ / COPPE / PEE / CPE786 – Slide 130 – José Gabriel R. C. Gomes

Page 131: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

6.3. Exemplo ECVQp Qclear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);l = log2(K)*ones(1,size(Y,2));gF = 200; BK = zeros(F,4);

for i=1:F,% PartitionJ = 0; for n=1:N, j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l;

k(n) = min(find(j==min(j))); J = J + min(j); end; J = J/N;k(n) = min(find(j==min(j))); J = J + min(j); end; J = J/N;% Centroidp = zeros(K,1); Y = zeros(size(Y)); for n=1:N, Y(:,k(n)) = Y(:,k(n)) + X(:,n);

p(k(n)) = p(k(n)) + 1; end;for j=1:K, if p(j)~=0, Y(:,j) = Y(:,j)/p(j); end; end;% Cost Evaluation 0 f 1 (( ( ) ( k( ))) ^2) d /D = 0; for n=1:N, D = D + sum((X(:,n)-Y(:,k(n))).^2); end; D = D/N;Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); H = -sum(p.*log2(p)); BK(i,:) = [D H D+lambda*H J];% Codeword Length Updatel = HuffLen(p)';

end;;

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; [s lambda D H D+lambda*H size(Y,2)]

end;

plot(BKJ(: 3) BKJ(: 2) 'k '); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');plot(BKJ(:,3),BKJ(:,2), k. ); grid on; xlabel( H (bits per vector) ); ylabel( D (MSE) );

UFRJ / COPPE / PEE / CPE786 – Slide 131 – José Gabriel R. C. Gomes

Page 132: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

P. A. Chou, T. Lookabaugh, and R. M. Gray. Entropy-constrained vector quantization. IEEE Trans. Acoustics, Speech and Signal Processing, vol. 37, no. 1, pp. 31-42, January 1989.

A G h d R M G V t Q ti ti d Si l C i Kl B t 1992 A. Gersho and R. M. Gray. Vector Quantization and Signal Compression, Kluwer, Boston, 1992.

T. Kohonen. Self-Organizing Maps. Springer-Verlag, Berlin, Germany, 3rd Edition, 2001.

UFRJ / COPPE / PEE / CPE786 – Slide 132 – José Gabriel R. C. Gomes

Page 133: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #12 – Transformação Linear

Page 134: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Transformação em Blocos 4 4ç

UFRJ / COPPE / PEE / CPE786 – Slide 134 – José Gabriel R. C. Gomes

Page 135: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Transformação em Blocos 4 4çH = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 22 1 -1 -2 2 1 -1 -2 2 1 -1 -2 2 1 -1 -21 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 11 -2 2 -1 1 -2 2 -1 1 -2 2 -1 1 -2 2 -12 2 2 2 1 1 1 1 -1 -1 -1 -1 -2 -2 -2 -24 2 -2 -4 2 1 -1 -2 -2 -1 1 2 -4 -2 2 42 2 2 2 1 1 1 1 1 1 1 1 2 2 2 22 -2 -2 2 1 -1 -1 1 -1 1 1 -1 -2 2 2 -22 -4 4 -2 1 -2 2 -1 -1 2 -2 1 -2 4 -4 21 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 12 1 -1 -2 -2 -1 1 2 -2 -1 1 2 2 1 -1 -21 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 11 2 2 1 1 2 2 1 1 2 2 1 1 2 2 11 -2 2 -1 -1 2 -2 1 -1 2 -2 1 1 -2 2 -11 1 1 1 -2 -2 -2 -2 2 2 2 2 -1 -1 -1 -12 1 -1 -2 -4 -2 2 4 4 2 -2 -4 -2 -1 1 21 -1 -1 1 -2 2 2 -2 2 -2 -2 2 -1 1 1 -11 -2 2 -1 -2 4 -4 2 2 -4 4 -2 -1 2 -2 1 ];

H = [ 2 1 -1 -2 2 1 -1 -2 2 1 -1 -2 2 1 -1 -22 2 2 2 1 1 1 1 -1 -1 -1 -1 -2 -2 -2 -21 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 11 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 ];1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];

for k=1:size(H,1), H(k,:) = H(k,:)/norm(H(k,:)); end;H(1,:) = H(1,:)/10; H(2,:) = H(2,:)/10; H(3,:) = H(3,:)/3; H(4,:) = H(4,:)/3;

UFRJ / COPPE / PEE / CPE786 – Slide 135 – José Gabriel R. C. Gomes

Page 136: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Distribuição Laplacianaç p

UFRJ / COPPE / PEE / CPE786 – Slide 136 – José Gabriel R. C. Gomes

Page 137: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

abs(p) – Distribuição Exponencial(p) ç p

UFRJ / COPPE / PEE / CPE786 – Slide 137 – José Gabriel R. C. Gomes

Page 138: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

VQ ou ECVQ – Implementação Q Q p ç

UFRJ / COPPE / PEE / CPE786 – Slide 138 – José Gabriel R. C. Gomes

Page 139: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

IVQ (Interpolative VQ)Q ( p Q)

UFRJ / COPPE / PEE / CPE786 – Slide 139 – José Gabriel R. C. Gomes

Page 140: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

IVQ (Interpolative VQ)Q ( p Q)

UFRJ / COPPE / PEE / CPE786 – Slide 140 – José Gabriel R. C. Gomes

Page 141: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação Completa (Blocos)p ç p ( )

UFRJ / COPPE / PEE / CPE786 – Slide 141 – José Gabriel R. C. Gomes

Page 142: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação Completa (Circuito)p ç p ( )

UFRJ / COPPE / PEE / CPE786 – Slide 142 – José Gabriel R. C. Gomes

Page 143: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação Completa (Resultados)p ç p ( )

UFRJ / COPPE / PEE / CPE786 – Slide 143 – José Gabriel R. C. Gomes

Page 144: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

H. Malvar, A. Hallapuro, M. Karczewicz, and L. Kerofsky. Low-complexity transform and quantization with 16-bit arithmetic for H.26L. In Proc. IEEE Int. Conf. Image Processing, pages II.489-II.492, Rochester, NY, September 2002.

H. Malvar, A. Hallapuro, M. Karczewicz, and L. Kerofsky. Low-complexity transform and quantization in H.264/AVC. IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 598-603, July 2003.

A. Gersho. Optimal nonlinear interpolative vector quantization. IEEE Trans. Communications, vol. 38, no. 9, pp. 1285-1287, September 1990.

UFRJ / COPPE / PEE / CPE786 – Slide 144 – José Gabriel R. C. Gomes

Page 145: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #13 DPCM IIAula #13 – DPCM II

Page 146: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Elementos

Descorrelação de Imagem

Transformada em Blocos

Decomposição em Sub-Bandas

Codificação Preditiva Codificação Preditiva

Codificação de Entropia

Arquitetura do Chip

UFRJ / COPPE / PEE / CPE786 – Slide 146 – José Gabriel R. C. Gomes

Page 147: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Codificação Preditivaç

Gradiente calculado sobre pixels vizinhos

CALIC / DARC

ALCM

CLARA CLARA

DPCM

MED / LOCO / JPEG-LS

MED Simplificado: W, depois N dependendo do resultado

UFRJ / COPPE / PEE / CPE786 – Slide 147 – José Gabriel R. C. Gomes

Page 148: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Codificação de Entropiaç p

Códigos de Golomb-Rice

São ótimos para inteiros com distribuição Laplaciana

UFRJ / COPPE / PEE / CPE786 – Slide 148 – José Gabriel R. C. Gomes

Page 149: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Arquitetura do Chipq p

Matriz 80 x 44

Processamento a nível de colunas (ver Figura 2 do artigo)

Diagrama de blocos do processador de coluna (ver Figura 3 do artigo)

Memória analógica

CDS

Circuito de prediçãop ç

Conversor A/D com rampa (128 ciclos)

Golomb-Rice

Lógica de leitura

UFRJ / COPPE / PEE / CPE786 – Slide 149 – José Gabriel R. C. Gomes

Page 150: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.1. Circuito do Pixel

Pixel APS 3T com bias interno (M3) (ver Figura 4 do artigo)( ) ( g g )

34 um x 30 um

Seguidor de fonte (M2 e M3)

Chaves para leitura e escrita (M4 e M5)

Outro seguidor de fonte (M6 e Mb, sendo Mb externo)

Hard reset (M1)( )

Chave complementar do pixel (M7 e M8)

Capacitor de armazenamento

Fill factor: 18%

UFRJ / COPPE / PEE / CPE786 – Slide 150 – José Gabriel R. C. Gomes

Page 151: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.2. Circuito de Prediçãoç

Circuito analógico (Figura 7 do artigo)g ( g g )

Seleção de entradas do conversor A/D

Valor do pixel e valor da predição (vizinho)

Banco de capacitores

Chave atravessada para linhas pares e ímpares

Chaveamento a, b, c, d (Figura 8 do artigo), , , ( g g )

Controle W/N

UFRJ / COPPE / PEE / CPE786 – Slide 151 – José Gabriel R. C. Gomes

Page 152: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.3. CDS com Dois Transistores

Amplificador diferencial com dois transistores para reduzir FPN (Figura 10 do artigo)p p ( g g )

Duas tensões de reset diferentes

UFRJ / COPPE / PEE / CPE786 – Slide 152 – José Gabriel R. C. Gomes

Page 153: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.4. Circuito de Codificação, Adaptativoç , p

Esquema completo: ver Figura 11 do artigoq p g g

Conversor A/D com rampa (onde é implementada a codificação diferencial)

Lógica de seleção do preditor

Codificador Golomb-Rice adaptativo (detalhado em outro artigo anterior, [17])

Até 21 bits de comprimento para 256 possíveis níveis

Lógica para leitura serial das palavras bináriasg p p

UFRJ / COPPE / PEE / CPE786 – Slide 153 – José Gabriel R. C. Gomes

Page 154: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.5. Processador de Coluna

3252 um x 34.3 um (ver Figura 17 do artigo)( g g )

Contêm:

3.2. Circuito de Predição

3.3. CDS

3.4. Circuito de Codificação

UFRJ / COPPE / PEE / CPE786 – Slide 154 – José Gabriel R. C. Gomes

Page 155: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Resultados e Conclusões

Imagens residuais e reconstruídas quando o esquema adaptativo para seleção de vizinho é utilizado – ver Figura 24.

Compressão de imagens (sem perdas): taxas em torno de 5.5 bit/pixel (ver Tabelas III e IV)

Escolha adequada do parâmetro k

UFRJ / COPPE / PEE / CPE786 – Slide 155 – José Gabriel R. C. Gomes

Page 156: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

W. León-Salas, S. Balkir, K. Sayood, N. Schemm, and M. Hoffman, A CMOS imager with focal plane compression using predictive coding, IEEE J. Solid-State Circuits, vol. 42, no. 11, pp. 2555-2572, November 2007.

UFRJ / COPPE / PEE / CPE786 – Slide 156 – José Gabriel R. C. Gomes

Page 157: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #14 Múltipla ResoluçãoAula #14 – Múltipla Resolução

Page 158: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Elementos

Estrutura QTD (Quadtree Decomposition) e VQ hierárquico

Métodos associados a múltiplas escalas

QTD versus JPEG – ver Figura 8 (Artyomov2006)

Blocos 8 x 8 só para exemplificar Blocos 8 x 8 só para exemplificar

Na prática – tamanho de bloco inicial 2 x 2, indo até 4 x 4

UFRJ / COPPE / PEE / CPE786 – Slide 158 – José Gabriel R. C. Gomes

Page 159: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Arquiteturaq

É t d Fi 9 (A t 2006) É mostrada na Figura 9 (Artyomov2006):

1. APS Phtogate

2. Lógica de linha

3. Lógica de coluna

4. Processador (circuito computacional)

5 Clock5. Clock

Processamento simultâneo de duas linhas (Figura 10)

Operação snapshot

UFRJ / COPPE / PEE / CPE786 – Slide 159 – José Gabriel R. C. Gomes

Page 160: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Processador em Colunas

É mostrado na Figura 11 (Artyomov2006):g ( y )

1. S/H

2. WTA & LTA

3. Comparadores

4. Memória

5. Lógica de saída

Regras computacionais QTD

4 i t WTA/LTA él l di i d d t4-input WTA/LTA com células direcionadoras de corrente

00 – pixel não-usado; 01 bloco 1 x 1; 10 bloco 2 x 2; 11 bloco 4 x 4

UFRJ / COPPE / PEE / CPE786 – Slide 160 – José Gabriel R. C. Gomes

Page 161: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3. Regras Computacionais QTDg p Q

Figura 12 (Artyomov2006): diagrama de tempo referente ao controle do sistema computacional

Sinal “select” mostrado para oito linhasSinal select mostrado para oito linhas

Sinais “sample signal” e “sample reset”p g p

“Select” não-convencional

UFRJ / COPPE / PEE / CPE786 – Slide 161 – José Gabriel R. C. Gomes

Page 162: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

3.1. Regras Comp. QTD – Exemplog p Q p

Figura 13 (Artyomov2006): a operação do algoritmo de cálculo do tamanho do bloco é descritaconforme os intervalos de clock mostrados na tabela a seguir:

CLOCK OPERAÇÃO FIG. 131 Achar min e máx 56 a2 Achar min e máx 78 b3 min x max 56 a4 min x max 78 b > conclusão 2 x 25 e 6 achar 2 max 5678 cd7 e 8 achar 2 min 5678 ef9 e 10 min x max 2 vezes 5678 gh > conclusão 4 x 4

UFRJ / COPPE / PEE / CPE786 – Slide 162 – José Gabriel R. C. Gomes

Page 163: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4. Circuitos do Processador

São destacados na Figura 14 (Artyomov2006):

1. Pixel 4T Photogate

2. Chaves SW1 – SW4

3. Quatro células WTA (na figura só vemos uma)Q ( g )

4. Comparadores com threshold variável + appropriately switched inputs

- Faixa de tensões de entrada: 0 V a 1.3 V

- Limiar variável: 15 mV a 300 mV

- Limiar maior em torno de zero (não-uniformidade em torno de 50%)

UFRJ / COPPE / PEE / CPE786 – Slide 163 – José Gabriel R. C. Gomes

Page 164: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

4.1. Célula WTA em Modo de Tensão

Ver N. Donckers et al., 1999.

UFRJ / COPPE / PEE / CPE786 – Slide 164 – José Gabriel R. C. Gomes

Page 165: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Resultados e Conclusões

APS 32 x 32 pixels, processo 0.35 um 4M 2P n-well TSMC CMOS (pela MOSIS)

Pixel: photogate 4T 7 um x 7 um 31% FF

li ã 3 3 0 30 Alimentação 3.3V; 70 mW a 30 Hz

Chip 2.8 mm x 3 mm

Leitura: 29 uV/elétron; FPN 0.11%

Conversor A/D deixado de fora

T d ã l t d 4 8 12 8 MSE Taxa de compressão relatada: 4.8 a 12.8, sem MSE

Ver Figuras 16 e 17 (Artyomov2006)

UFRJ / COPPE / PEE / CPE786 – Slide 165 – José Gabriel R. C. Gomes

Page 166: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

5. Resultados e Conclusões

Imagens centrais da Figura 17 (Artyomov2006):

Resultado da divisão da imagem esquerda em blocos

Partes com intensidade uniforme não são divididos

Partes com detalhes são quase sempre divididas (falta de CDS no circuito computacional?)q p ( p )

Proposta: “first implementation of adaptive multiresolution sensor”

UFRJ / COPPE / PEE / CPE786 – Slide 166 – José Gabriel R. C. Gomes

Page 167: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

Evgeny Artyomov and Orly Yadid-Pecht, Adaptive Multiple-Resolution CMOS Active Pixel Sensor, IEEE Trans. Circuits and Systems I: Regular Papers, vol. 53, no. 10, pp. 2178-2186, Out. 2006.

N Donckers et al Design of complementary low power CMOS architecture for loser take all and N. Donckers et al., Design of complementary low-power CMOS architecture for loser-take-all and winner-take-all, in Proc. Int. Conf. Microeletron. Neural, Fuzzy, and Bio-Inspired Syst., Los Alamitos, CA, 1999, pp. 360-365.

UFRJ / COPPE / PEE / CPE786 – Slide 167 – José Gabriel R. C. Gomes

Page 168: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #15 – Múltipla Resolução e Wavelets

Page 169: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Lin et al., 2008 – Decomposição em , p çMúltiplos Níveis Filtragem Passa-Baixas e Filtragem Passa-Altas

Decomposição em Sub-Bandas

Wavelet – Base de Haar

UFRJ / COPPE / PEE / CPE786 – Slide 169 – José Gabriel R. C. Gomes

Page 170: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Decomposição em Sub-Bandasp ç

“Crianças” e “Árvores de Zeros”:

Embedded Zero-Tree Wavelet Coding (EZW – Shapiro, 1993) > SPIHT (1996)

UFRJ / COPPE / PEE / CPE786 – Slide 170 – José Gabriel R. C. Gomes

g ( p , ) ( )

Page 171: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Predição ao invés de Waveletsç

Substituir predição pelo uso de wavelets 9/7 e 5/3

Ver Figuras 2 e 3 do artigo (Lin 2008) Ver Figuras 2 e 3 do artigo (Lin, 2008)

Ver Tabela I do artigo (Lin, 2008)

UFRJ / COPPE / PEE / CPE786 – Slide 171 – José Gabriel R. C. Gomes

Page 172: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Projeto do Sensor CMOSj

Projeto do pixel – a capacitores chaveados

Cálculo de erros (residuais) combinado com APS ver Figura 5 do artigo (Lin 2008) Cálculo de erros (residuais) combinado com APS – ver Figura 5 do artigo (Lin, 2008)

Em cada pixel: 14 transistores e 4 capacitores

UFRJ / COPPE / PEE / CPE786 – Slide 172 – José Gabriel R. C. Gomes

Page 173: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Pixel APS com Cálculo de Residuais

Figura 5 do artigo (Lin 2008)

UFRJ / COPPE / PEE / CPE786 – Slide 173 – José Gabriel R. C. Gomes

Figura 5 do artigo (Lin, 2008)

Page 174: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Erro de Predição – Precisão do Cálculoç

UFRJ / COPPE / PEE / CPE786 – Slide 174 – José Gabriel R. C. Gomes

Page 175: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Resultados de Testes do Sensor APS 33 x 25 pixels, processo 0.5 um 3M 2P CMOS

Pixel: 3T 69 um x 69 um 20.7% FF

Alimentação: 0 25 mW a 30 Hz Alimentação: 0.25 mW a 30 Hz

Chip aproximadamente 2.3 mm x 2.3 mm

Leitura: 0.36 uV/elétron; FPN 0.7%

Codificação SPIHT não-implementada

Taxa de compressão relatada: PSNR acima de 38 dB, sem taxa de bits informada

Resultados: ver Figuras 11 e 13 Argumentam PSNR pelo menos igual a 38 dB já com Resultados: ver Figuras 11 e 13 . Argumentam PSNR pelo menos igual a 38 dB já com codificação SPIHT.

Aplicação do CDS com imagens de teste

UFRJ / COPPE / PEE / CPE786 – Slide 175 – José Gabriel R. C. Gomes

Page 176: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Imageador CMOS APS com T f d S á lTransformada Separável

(Chi et al 2009)(Chi et al., 2009)

Page 177: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Implementação do Circuitop ç

Ver Figura 3 do artigo (Chi 2009)

UFRJ / COPPE / PEE / CPE786 – Slide 177 – José Gabriel R. C. Gomes

Ver Figura 3 do artigo (Chi, 2009)

Page 178: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Multiplicadores a Capacitor Chaveadop p

Funcionamento baseado em H1 H2 S1 e S2

UFRJ / COPPE / PEE / CPE786 – Slide 178 – José Gabriel R. C. Gomes

Funcionamento baseado em H1, H2, S1 e S2.

Page 179: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Resultados e Conclusões

Características do chip: Características do chip:

- 0.5 um CMOS 3M 2P

- Área do chip: 3 mm x 3 mm

M t i 128 128 i l 17 17 40% FF- Matriz 128 x 128, pixel 17 um x 17 um com 40% FF

- Alimentação: 3.3 V

Compressão através de wavelets (ver Figura 5 do artigo) ou através de Compressive Sensing (ver Figura 6 do artigo)

UFRJ / COPPE / PEE / CPE786 – Slide 179 – José Gabriel R. C. Gomes

Page 180: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

Zhiqiang Lin et al., A CMOS Image Sensor for Multi-Level Focal Plane Image Decomposition, IEEE Trans. Circuits and Systems I: Regular Papers, vol. 55, no. 9, pp. 2561-2572, Out. 2008.

Yu M. Chi et al., Na Active Pixel CMOS Separable Transfom Image Sensor, em Proc. IEEE Int. Symp. Circuits and Systems, Taipei, Taiwan, Maio de 2009, pp. 1281-1284.

UFRJ / COPPE / PEE / CPE786 – Slide 180 – José Gabriel R. C. Gomes

Page 181: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Lista de Tópicos para Projeto Final da Disciplina

Page 182: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Lista de Tópicos para Projetop p j Estudo de células alternativas para captura (1.75 T; 2 T) – Bruno Pixel logarítmico e faixa dinâmica estendida – Victor Conversão A/D no plano focal e dentro do pixel Detecção e estimação de movimento no plano focal

C ã d i t l f l Compensação de movimento no plano focal Reconhecimento de padrões no plano focal Câmeras com auto-calibração espacial Registro de pixels estéreo (stereo-matching) no plano focal - Lúcio Registro de pixels estéreo (stereo matching) no plano focal Lúcio Demosaicking e outros algoritmos para processamento de cor (AWB) no plano focal – Diego,

Alexandre Conversão A/D sigma-delta espacial no plano focal DPCM no plano focal – mais blocos e análise de efeitos de erros de fabricação Quantização vetorial no plano focal – implementar ECVQ Quantização vetorial no plano focal – implementar IVQ Representação hierárquica de uma imagem no plano focal (múltiplas resoluções) Representação hierárquica de uma imagem no plano focal (múltiplas resoluções) Decomposição em sub-bandas no plano focal e codificação SPIHT Wavelets no plano focal – Diego Aferição do desempenho de imageadores – Ricardo

UFRJ / COPPE / PEE / CPE786 – Slide 182 – José Gabriel R. C. Gomes

ç p g

Page 183: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #16 – Estimação de Movimento

Page 184: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Fluxo Ópticop

A

UFRJ / COPPE / PEE / CPE786 – Slide 184 – José Gabriel R. C. Gomes

Page 185: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

S. Mehta e R. Etienne-Cummings, A simplified normal optical flow measurement CMOS camera, IEEE Trans. Circuits and Systems I: Regular Papers, vol. 53, no. 6, pp. 1223-1234, Junho de 20062006.

UFRJ / COPPE / PEE / CPE786 – Slide 185 – José Gabriel R. C. Gomes

Page 186: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #17 – AER e DPS

(Representação por Endereço de Eventos e Digital Pixel Sensor)Digital Pixel Sensor)

Page 187: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1. Representação por Endereço de p ç p çEventos (AER)

Pixel baseado em tempo (modulação por pulsos ou pixel PM)

Para outras referências sobre este assunto: A. N. Belbachir (Editor), Smart Cameras. Ed. Springer, 2010.

UFRJ / COPPE / PEE / CPE786 – Slide 187 – José Gabriel R. C. Gomes

Page 188: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

AER: Sensor Digital “Biomórfico”g

Ver artigo Culurciello et al., 2003. Ver artigo Culurciello et al., 2003.

Elementos:

- “Engenharia Reversa sobre Sistema Biológico”

- Canal de Comunicações AE

- Geração de Eventos (com Baixo Consumo de Energia)

- Comunicação de EventosComunicação de Eventos

- Operação do Imageador (interface com o computador)

- Reconstrução de Imagens

- Características do Chip

UFRJ / COPPE / PEE / CPE786 – Slide 188 – José Gabriel R. C. Gomes

Page 189: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.1. Canal de Comunicações AEç

UFRJ / COPPE / PEE / CPE786 – Slide 189 – José Gabriel R. C. Gomes

Page 190: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.2. Geração de Eventosç

UFRJ / COPPE / PEE / CPE786 – Slide 190 – José Gabriel R. C. Gomes

Page 191: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.3. Comunicação de Eventosç

UFRJ / COPPE / PEE / CPE786 – Slide 191 – José Gabriel R. C. Gomes

Page 192: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.4. Operação do Imageadorp ç g Circuitos para arbitragem de linha e de coluna (Figura 8 do artigo);

Diagrama de tempo para arbitragem da matriz inteira (Figura 9);

Consumo dos circuitos analógicos em torno de 100 uW, podendo cair para valores inferiores a 10 uW para situações em que o ambiente é pouco iluminado;

Análise dos transistores M2, M3, M4 e M5 em separado (Figura 10);

Frequência de disparos do imageador completo;

Análise de fontes de ruído (descasamento de tamanho 6.4%, ruído elétrico 0.15%, arbitragem 5%, crosstalk 3.5% a 35%, ruído de leitura 25%).

UFRJ / COPPE / PEE / CPE786 – Slide 192 – José Gabriel R. C. Gomes

Page 193: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.5. Reconstrução de Imagensç g

Conversão de intervalos entre disparos de volta para intensidade luminosa, levando em conta que a foto-corrente é diretamente proporcional à frequência dos disparos;

Histogramas;

Ampla faixa dinâmica e display em escala logarítmica (Figura 13 do artigo);

4 800 t t li ã it á id f it d íd d fi i ã d 4.800 eventos: atualização muito rápida, mas aparecem efeitos de ruído na definição do instante exato do disparo (Figura 14)

1.000.000 eventos: atualização mais lenta. O ruído temporal é atenuado, mas o FPN se torna visivel – solução com memória analógica e circuito a capacitores chaveados a ser publicada no futuro? (p. 288)

UFRJ / COPPE / PEE / CPE786 – Slide 193 – José Gabriel R. C. Gomes

Page 194: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

1.6. Características do Chipp

Ano publicação: 2003 Ano publicação: 2003

Processo 0.6 um 3M CMOS

Pixel: 32 um x 30 um com 14% FF

Tamanho da matriz: 80 x 60 pixels

Faixa dinâmica: 48.9 dB a 30 fps

FPN: 4%FPN: 4%

Potência: 3.4 mW (digital, a 0.1 mW/cm2) e 10 uW (analógica, a 0.1 mW/cm2)

Taxa máxima de atualização por pixel: 8300 amostras por segundo

UFRJ / COPPE / PEE / CPE786 – Slide 194 – José Gabriel R. C. Gomes

Page 195: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2. Digital Pixel Sensor (DPS)g ( ) Ver artigo Kleinfelder et al., 2001.

Elementos:

- Conversor A/D com rampaConversor A/D com rampa

- Pixel com photogate, comparador e memória dinâmica de 3 bits (37 transistores)

- Diagrama de blocos do sensor, ilustrando arranjo com 2 x 2 pixels

- Polarização do comparador com desligamento para economia de energia

- Modos de imageamento

- Quadro únicoQuadro único- CDS- Vários quadros em uma exposição (múltiplos quadros)- Alta velocidade contínua, com sobreposição entre integração e leitura

UFRJ / COPPE / PEE / CPE786 – Slide 195 – José Gabriel R. C. Gomes

Page 196: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2.1. Pixel com Comparador e Memóriap

UFRJ / COPPE / PEE / CPE786 – Slide 196 – José Gabriel R. C. Gomes

Page 197: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2.2. Polarização do Comparadorç p

Para temporização deste circuito, ver Figura 7 do artigo.

UFRJ / COPPE / PEE / CPE786 – Slide 197 – José Gabriel R. C. Gomes

Page 198: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

2.3. Características do Chipp

Ano publicação: 2001 Processo 0.18 um 5M CMOS

Pi l 9 4 9 4 15% FF 37 t i t d t t MOS h t t Pixel: 9.4 um x 9.4 um com 15% FF; 37 transistores; detector nMOS photogate Tamanho da matriz: 352 x 288 pixels (CIF), tamanho do die: 5 mm x 5 mm Leitura: 64 bits a 167 MHz; taxa de dados de saída máxima em torno de 1.33 GB/s Conversor A/D: 8 bits, conversão em 25 us Conversor A/D: 8 bits, conversão em 25 us FPN: 0.027% com CDS Ruído temporal: 0.15% Potência: 50 mW @ 10.000 quadros por segundo Eficiência quântica: 13.6% Ganho de conversão: 13.1 uV/elétron Sensibilidade: 0.107 V/lux.s

UFRJ / COPPE / PEE / CPE786 – Slide 198 – José Gabriel R. C. Gomes

Page 199: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

E. Culurciello, R. Etienne-Cummings e K. A. Boahen. A biomorphic digital image sensor. IEEE J. Solid-State Circuits, vol. 38, no. 2, pp. 281-294, Fevereiro de 2003.

S. Kleinfelder et al. A 10000 frames/s CMOS digital pixel sensor. IEEE J. Solid-State Circuits, vol. 36, no. 12, pp. 2049-2059, Dezembro de 2001.

UFRJ / COPPE / PEE / CPE786 – Slide 199 – José Gabriel R. C. Gomes

Page 200: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #18 – Compressive Sensing

Page 201: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

R. Baraniuk, ...

D D h D. Donoho, ...

V. Goyal, ...

UFRJ / COPPE / PEE / CPE786 – Slide 201 – José Gabriel R. C. Gomes

Page 202: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #19 – Reconhecimento de Padrões no Plano Focal

Page 203: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

G. L. Cembrano et al., A 1000 FPS at 128 x 128 vision processor with 8-bit digitzed I/O, IEEE J. Solid-State Circuits, vol. 39, no. 7, pp. 1044-1055, Julho 2004.

(Palestra) C. M. Giraldo, On the architectural design and applications of CMOS vision systems, palestra apresentada em IEEE CAS Workshop Image Sensors 2009, Rio de Janeiro & Belo Horizonte, Novembro 2009.

A. Rodríguez-Vázquez et al., ACE16k: the third generation of mixed-signal SIMD-CNN ACE chips toward VSoCs, IEEE Trans. Circuits and Systems I: Regular Papers, vol. 51, n. 5, pp. 851-863, Maio 2004.

T. Roska e L. O. Chua, The CNN universal machine: na analogic array computer, IEEE Trans. Circuits and Systems II: Analog and Digital Signal Processing, vol. 40, no. 3, pp. 163-173, Março 19931993.

UFRJ / COPPE / PEE / CPE786 – Slide 203 – José Gabriel R. C. Gomes

Page 204: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Aula #20 – Testes de ÓSensores Ópticos

Page 205: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 205 – José Gabriel R. C. Gomes

Page 206: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 206 – José Gabriel R. C. Gomes

Page 207: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 207 – José Gabriel R. C. Gomes

Page 208: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 208 – José Gabriel R. C. Gomes

Page 209: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 209 – José Gabriel R. C. Gomes

Page 210: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 210 – José Gabriel R. C. Gomes

Page 211: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 211 – José Gabriel R. C. Gomes

Page 212: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

UFRJ / COPPE / PEE / CPE786 – Slide 212 – José Gabriel R. C. Gomes

Page 213: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Referências

Gerald C. Holst, Electro-Optical Imaging System Performance, Quinta Edição, JCD Publishing SPIE Press, 2008.

UFRJ / COPPE / PEE / CPE786 – Slide 213 – José Gabriel R. C. Gomes

Page 214: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

ApêndicesApêndices

Page 215: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

A. Implementação p çRápida de ECVQ

Page 216: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básicogclear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);l = log2(K)*ones(1,size(Y,2));F 200; BK zeros(F 4);F = 200; BK = zeros(F,4);

for i=1:F,% PartitionJ = 0; for n=1:N, j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l;

k(n) = min(find(j==min(j))); J = J + min(j); end; J = J/N;% Centroid% Centroidp = zeros(K,1); Y = zeros(size(Y)); for n=1:N, Y(:,k(n)) = Y(:,k(n)) + X(:,n);

p(k(n)) = p(k(n)) + 1; end;for j=1:K, if p(j)~=0, Y(:,j) = Y(:,j)/p(j); end; end;% Cost EvaluationD = 0; for n=1:N, D = D + sum((X(:,n)-Y(:,k(n))).^2); end; D = D/N;Y = Y(:,find(p~=0)); p = p(find(p~=0));p p p pp = p/sum(p); H = -sum(p.*log2(p)); BK(i,:) = [D H D+lambda*H J];% Codeword Length Updatel = HuffLen(p)';

end;

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; [s lambda D H D+lambda*H size(Y,2)]

end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula2B;

UFRJ / COPPE / PEE / CPE786 – Slide 216 – José Gabriel R. C. Gomes

Page 217: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Tempo de Execuçãop ç

Programa Básico: 48 minutos

Programa Básico Modificado (XYtoYP): 28 minutos

Implementação MSVC / MEX Debug: 35 segundos

Implementação MSVC / MEX Release: 22 segundos

Implementação MEX –setup: 23 segundos

UFRJ / COPPE / PEE / CPE786 – Slide 217 – José Gabriel R. C. Gomes

Page 218: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básicogclear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);l = log2(K)*ones(1,size(Y,2));F 200; BK zeros(F 4);F = 200; BK = zeros(F,4);

for i=1:F,% PartitionJ = 0; for n=1:N, j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l;

k(n) = min(find(j==min(j))); J = J + min(j); end; J = J/N;% Centroid% Centroidp = zeros(K,1); Y = zeros(size(Y)); for n=1:N, Y(:,k(n)) = Y(:,k(n)) + X(:,n);

p(k(n)) = p(k(n)) + 1; end;for j=1:K, if p(j)~=0, Y(:,j) = Y(:,j)/p(j); end; end;% Cost EvaluationD = 0; for n=1:N, D = D + sum((X(:,n)-Y(:,k(n))).^2); end; D = D/N;Y = Y(:,find(p~=0)); p = p(find(p~=0));p p p pp = p/sum(p); H = -sum(p.*log2(p)); BK(i,:) = [D H D+lambda*H J];% Codeword Length Updatel = HuffLen(p)';

end;

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; [s lambda D H D+lambda*H size(Y,2)]

end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula2B;

UFRJ / COPPE / PEE / CPE786 – Slide 218 – José Gabriel R. C. Gomes

Page 219: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básicog% PartitionJ = 0; for n=1:N for n=1:N,

j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l; k(n) = min(find(j==min(j))); J = J + min(j);

end; J = J/N;% Centroidp = zeros(K,1); Y = zeros(size(Y)); f 1 N for n=1:N,

Y(:,k(n)) = Y(:,k(n)) + X(:,n); p(k(n)) = p(k(n)) + 1;

end;for j=1:K for j=1:K,

if p(j)~=0, Y(:,j) = Y(:,j)/p(j); end; end;% Cost EvaluationD = 0; for n=1:N, D = D + sum((X(:,n)-Y(:,k(n))).^2); end; D = D/N;Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); H = -sum(p.*log2(p)); BK(i,:) = [D H D+lambda*H J];% Codeword Length Updatel = HuffLen(p)';

UFRJ / COPPE / PEE / CPE786 – Slide 219 – José Gabriel R. C. Gomes

Page 220: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificado (XYltoYp)g ( p)

function [Yout,p] = XYltoYp(X,Yin,l,lambda);

p = zeros(size(Yin,2),1); Y = Yin; Ynew = zeros(size(Y));for n=1:size(X,2),

% Partitionj = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l; k = min(find(j==min(j))); % C t id% CentroidYnew(:,k) = Ynew(:,k) + X(:,n);p(k) = p(k) + 1;

end; for j=1:size(Yin 2) for j=1:size(Yin,2),

if p(j)~=0, Yout(:,j) = Ynew(:,j)/p(j); end; end;

UFRJ / COPPE / PEE / CPE786 – Slide 220 – José Gabriel R. C. Gomes

Page 221: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificado (XYltoYpD)g ( p )

function [Yout,p,D] = XYltoYpD(X,Yin,l,lambda);

p = zeros(size(Yin,2),1); Y = Yin; Ynew = zeros(size(Y)); D = 0;for n=1:size(X 2) for n=1:size(X,2),

% Partitionj = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l; k = min(find(j==min(j))); D = D + sum((X(:,n)-Y(:,k)).^2);, , ;% CentroidYnew(:,k) = Ynew(:,k) + X(:,n);p(k) = p(k) + 1;

end; / i ( 2)D = D/size(X,2);

for j=1:size(Yin,2), if p(j)~=0, Yout(:,j) = Ynew(:,j)/p(j); end;

end;

UFRJ / COPPE / PEE / CPE786 – Slide 221 – José Gabriel R. C. Gomes

Page 222: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

clear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);Y 0.5 randn(M,K);l = log2(K)*ones(1,size(Y,2));F = 200; BK = zeros(F,4);

for i=1:F-1,[Y,p] = XYltoYp(X,Y,l,lambda);Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); % Codeword Length Updatel = HuffLen(p)';

end;

[ ] l ( l l bd )[Y,p,D] = XYltoYpD(X,Y,l,lambda);p = p(find(p~=0)); p = p/sum(p);H = -sum(p.*log2(p));

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; [s lambda D H D+lambda*H size(Y,2)]

end;end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula3;

UFRJ / COPPE / PEE / CPE786 – Slide 222 – José Gabriel R. C. Gomes

Page 223: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

UFRJ / COPPE / PEE / CPE786 – Slide 223 – José Gabriel R. C. Gomes

Page 224: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç// 070614 [email protected] (from 040224 CoreECVQ2.cpp)// MATLAB Syntax is [Y,p] = XYltoYp_MF(X,Y,l,lambda);

#include <stdlib.h>#include <math h>#include <math.h>#include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

{// function [Yout,p] = XYltoYp_MF(X,Yin,l,lambda);

if (nrhs != 4) mexErrMsgTxt("4 input arguments required.");if (nlhs != 2) mexErrMsgTxt("2 output arguments required.");

// Getting input arguments

double *X, *Yin, *lambda, *l;X = mxGetPr(prhs[0]); Yin = mxGetPr(prhs[1]); l = mxGetPr(prhs[2]); lambda = mxGetPr(prhs[3]);X = mxGetPr(prhs[0]); Yin = mxGetPr(prhs[1]); l = mxGetPr(prhs[2]); lambda = mxGetPr(prhs[3]);

// Size definitions

const int *size_X, *size_Y;size_X = mxGetDimensions(prhs[0]); size_Y = mxGetDimensions(prhs[1]);int n_dimensions = size_X[0]; int n_elements = size_X[1]; int size_codebook = size_Y[1];

// Auxiliary stuff

int i, j, k, data_index, vector_index, codebook_index, best_index, offset;double e; double d; double J_min; double J;

// Getting output arguments

plhs[0] = mxCreateDoubleMatrix(n_dimensions,size_codebook,mxREAL);plhs[1] = mxCreateDoubleMatrix(1,size_codebook,mxREAL);double *Yout, *p; Yout = mxGetPr(plhs[0]); p = mxGetPr(plhs[1]);

// Main Code: ECVQ encode (evaluation of new cells and their density) ...

UFRJ / COPPE / PEE / CPE786 – Slide 224 – José Gabriel R. C. Gomes

Page 225: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

// Main Code: ECVQ encode (evaluation of new cells and their density)// Main Code: ECVQ encode (evaluation of new cells and their density)

data_index=0; codebook_index=0;

// p = zeros(size(Yin,2),1); Y = Yin; Ynew = zeros(size(Y));

for (i=0 ; i<size_codebook ; i++) {{

p[i]=0.0;for (j=0 ; j<n_dimensions ; j++){

Yout[codebook_index]=0.0;codebook_index++;

}}}

// for n=1:size(X,2), ...

UFRJ / COPPE / PEE / CPE786 – Slide 225 – José Gabriel R. C. Gomes

Page 226: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç// for n=1:size(X,2),

for (i=0 ; i<n_elements ; i++){

// j = sum((repmat(X(:,n),1,size(Y,2)) - Y).^2,1) + lambda*l; // k = min(find(j==min(j)));

vector_index=0; codebook_index=0;d = 0.0;for (k=0 ; k<n_dimensions ; k++){{

e = X[data_index+k]-Yin[codebook_index];d = d + e*e;codebook_index++;

}J_min = d + (*lambda)*l[vector_index];best_index = 0;vector index++;vector_index++;

for (j=0 ; j<(size_codebook-1) ; j++){

d = 0.0;for (k=0 ; k<n_dimensions ; k++){

e = X[data index+k]-Yin[codebook index];e = X[data_index+k]-Yin[codebook_index];d = d + e*e;codebook_index++;

}J = d + (*lambda)*l[vector_index];if (J < J_min){

J min=J;J_min=J;best_index=vector_index;

}vector_index++;

}

// Ynew(:,k) = Ynew(:,k) + X(:,n);// p(k) = p(k) + 1;// p(k) = p(k) + 1;

UFRJ / COPPE / PEE / CPE786 – Slide 226 – José Gabriel R. C. Gomes

Page 227: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

// Ynew(:,k) = Ynew(:,k) + X(:,n);// p(k) = p(k) + 1;

offset=best_index*n_dimensions;for (j=0 ; j<n_dimensions ; j++){

Yout[offset+j] = Yout[offset+j]+X[data_index];data_index++;}p[best_index]=p[best_index]+1.0;

}

// for j=1:size(Yin,2),// if p(j)~=0, Yout(:,j) = Ynew(:,j)/p(j); end;// end;

for (i=0 ; i<size_codebook ; i++) if (p[i]!=0) for (j=0 ; j<n_dimensions ; j++)Yout[i*n_dimensions+j] = Yout[i*n_dimensions+j]/p[i];

}

UFRJ / COPPE / PEE / CPE786 – Slide 227 – José Gabriel R. C. Gomes

Page 228: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 228 – José Gabriel R. C. Gomes

Page 229: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 229 – José Gabriel R. C. Gomes

Page 230: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 230 – José Gabriel R. C. Gomes

Page 231: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 231 – José Gabriel R. C. Gomes

Page 232: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 232 – José Gabriel R. C. Gomes

Page 233: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 233 – José Gabriel R. C. Gomes

Page 234: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 234 – José Gabriel R. C. Gomes

Page 235: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 235 – José Gabriel R. C. Gomes

Page 236: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 236 – José Gabriel R. C. Gomes

Page 237: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 237 – José Gabriel R. C. Gomes

Page 238: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

XYltoYp – Implementação MSVC / MEXp p ç

UFRJ / COPPE / PEE / CPE786 – Slide 238 – José Gabriel R. C. Gomes

Page 239: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

clear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);Y 0.5 randn(M,K);l = log2(K)*ones(1,size(Y,2));F = 200; BK = zeros(F,4);

for i=1:F-1,[Y,p] = XYltoYp_MF_Debug(X,Y,l,lambda);Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); % Codeword Length Updatel = HuffLen(p);

end;

[ ] l ( l l bd )[Y,p,D] = XYltoYpD(X,Y,l,lambda);p = p(find(p~=0)); p = p/sum(p);H = -sum(p.*log2(p));

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; % [s lambda D H D+lambda*H size(Y,2)]

end;end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula3B;

UFRJ / COPPE / PEE / CPE786 – Slide 239 – José Gabriel R. C. Gomes

Page 240: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

UFRJ / COPPE / PEE / CPE786 – Slide 240 – José Gabriel R. C. Gomes

Page 241: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo Release

UFRJ / COPPE / PEE / CPE786 – Slide 241 – José Gabriel R. C. Gomes

Page 242: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Modo Release

UFRJ / COPPE / PEE / CPE786 – Slide 242 – José Gabriel R. C. Gomes

Page 243: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

clear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;X = randn(M,N);Y = 0.5*randn(M,K);Y 0.5 randn(M,K);l = log2(K)*ones(1,size(Y,2));F = 200; BK = zeros(F,4);

for i=1:F-1,[Y,p] = XYltoYp_MF(X,Y,l,lambda);Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); % Codeword Length Updatel = HuffLen(p);

end;

[ ] l ( l l bd )[Y,p,D] = XYltoYpD(X,Y,l,lambda);p = p(find(p~=0)); p = p/sum(p);H = -sum(p.*log2(p));

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; [s lambda D H D+lambda*H size(Y,2)]

end;end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula3C;

UFRJ / COPPE / PEE / CPE786 – Slide 243 – José Gabriel R. C. Gomes

Page 244: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Programa Básico Modificadog

UFRJ / COPPE / PEE / CPE786 – Slide 244 – José Gabriel R. C. Gomes

Page 245: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

mex XYltoYp_MF_MATLAB.cpp;p ppmex –setup;mex XYltoYp_MF_MATLAB.cpp;

clear all; close all; S = 0.01; BKJ = [];

for s = 1:400,

lambda = S*(s-1);randn('state',0); rand('state',0); M = 2; N = 800; K = 8; e = 0.5;

d ( )X = randn(M,N);Y = 0.5*randn(M,K);l = log2(K)*ones(1,size(Y,2));F = 200; BK = zeros(F,4);

for i=1:F-1,[Y p] XYltoYp MF MATLAB(X Y l lambda);[Y,p] = XYltoYp_MF_MATLAB(X,Y,l,lambda);Y = Y(:,find(p~=0)); p = p(find(p~=0));p = p/sum(p); % Codeword Length Updatel = HuffLen(p);

end;end;

[Y,p,D] = XYltoYpD(X,Y,l,lambda);p = p(find(p~=0)); p = p/sum(p);H = -sum(p.*log2(p));

BKJ = [BKJ ; [lambda D H D+lambda*H size(Y,2)]]; % [s lambda D H D+lambda*H size(Y,2)]; , ; ,

end;

plot(BKJ(:,3),BKJ(:,2),'k.'); grid on; xlabel('H (bits per vector)'); ylabel('D (MSE)');

save Aula3D;

UFRJ / COPPE / PEE / CPE786 – Slide 245 – José Gabriel R. C. Gomes

Page 246: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

B FSVQB. FSVQ

Page 247: Processamento de Imagens no Plano Focal - pads.ufrj.brgabriel/cpe786/100921ProcessamentoImagensPlano... · Junichi Nakamura (Editor), Image Sensors and Signal Processing for Digital

Exemplop

• Executar FSVQ.m

UFRJ / COPPE / PEE / CPE786 – Slide 247 – José Gabriel R. C. Gomes