33
Processamento Gráfico Envolve muitas operações em ponto flutuante. Considere padrão IEEE. A depuração é mais complexa. Tem como objetivo produzir imagens perceptualmente aceitáveis. Pode ter a eficiência melhorada, se levarmos em conta a arquitetura do sistema. Modelo de Processamento Visual IA369C – 2s2008 - Ting

Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

  • Upload
    phamtu

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Processamento Gráfico

�Envolve muitas operações em ponto flutuante. Considere padrão IEEE.

�A depuração é mais complexa.

�Tem como objetivo produzir imagens perceptualmente aceitáveis.

�Pode ter a eficiência melhorada, se levarmos em conta a arquitetura do sistema.

Modelo de Processamento Visual

IA369C – 2s2008 - Ting

Page 2: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Olho Esquem ático

1o Estágio: Percepção de Luminosidade

Campos receptivos de

neurônios

Page 3: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Resposta Gaussiana

Modelo de Diferença de Gaussiana

Acuidade em Resolução

IA369C – 2s2008 - Ting

tipicamente emtorno de 1-2

minutos de arco.

Page 4: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Ilusão de Banda de Mach

Contraste Simultâneo

ClaridadeBrilho

Page 5: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Ilusão de Munker-White

Resolução + Contraste

Page 6: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Constância na luminosidade

O tom de uma superfície varia com a razão entre a sua reflectância e a do seu fundo. Ele sofre pouca variação em relação àvariação na intensidade de iluminação.

Aberração Cromática

Muitas pessoas enxergam o vermelhomais próximo do que o azul.

Outras pessoas tempercepção inversa.

Diferentes respostas a feixes de distintos comprimentos de onda

Page 7: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

2o Estágio: Agrupamento

IA369C – 2s2008 - Ting

Leis de Gestalt

Conectividade

Proximidade

Similaridade

Fechamento

Continuidade

Região comum

Simetria

Tamanho relativo

Page 8: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Distorções em Percepção de Formas

Ilusão de Ebbinghaus

Ilusão “Café Wall”

Ilusão de Müller-Lyer

Evidências de Profundidade

•Sombras•Tonalização

Page 9: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Evidências de Profundidade

•Projeções perspectivas

• Gradiente de tamanho

• Gradiente de textura�Constância em tamanho

�Robustez em perspectiva linear

Evidências de Profundidade

Efeito de profundidade cinético

Paralaxe

•Movimento

Page 10: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Visão Binocular

Visão BinocularParalaxe

Page 11: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

3o Estágio: Formção de Objetos

IA369C – 2s2008 - Ting

Percepção de Objetos Visuais

Reconhecer Recordar

Objetos Visuais: Qualquer parte identificável, separada e distinta do mundo visual

Page 12: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Orientado a estrutura�Explica reconhecimento espontâneo de vistas distintas de

um mesmo objeto, mesmo sem pré-ativação.

�É invariante em relação ao ponto de vista.

�É robusto em relação à oclusão e distratores.

http://www.pigeon.psy.tufts.edu/avc/kirkpatrick/

Processamento Pré-atencional

Sem interferência Com interferência

Page 13: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

RadiaçõesSinais luminosos

Sinais elétricos

Sistema VisualSinais visuais

Respostas

Fóvea oumancha amarela

Cones sensíveis a comprimento de ondacurto, médio e longo

Sensação de cores

Percepção de Cores

Células Fotoreceptoras

Visão fotópica (diurna) : visãoadaptada a altos níveis de luminância. Visão colorida.

Visão mesópica: visão adaptada a regiões de níveis intermediários.

Visão escotópica (noturna): visãoadaptada a baixos níveis de luminância. Os bastonetesrespondem melhor.

(preto e branco)

(cores)

EA978 – 1s2009 - Ting

Page 14: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Células FotoreceptorasDaltonismo por ausência de cones

•Protanopia : ausência de cones "vermelhos" ou de "comprimento de onda longo", resultando naimpossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro.•Deuteranopia : ausência de cones "verdes" ou de comprimento de onda intermédio, resultando, igualmente, na impossibilidade de discriminar cores no segmentoverde-amarelo-vermelho do espectro,•Tritanopia : ausência de cones "azuis" ou de comprimentode onda curta, resultando na impossibilidade de ver cores na faixa azul-amarelo.

Teoria Tricrom áticaYoung, Helmholtz e Maxwell

bastonetes

cones

Funções de Sensibilidade Espectral

S(λ)

M(λ)

L(λ)

λλλλ

380nm 750nm

3 tipos de cones

Page 15: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

ProcessoOponente

Hering

Interações

Computador suporte em processamentos

Interagir com o computadoratravés de comunicação visual.

Processamentode máquina

Processamentohumano

Símbolosgráficos

Ações

Page 16: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de SaídaPeriféricos capazes de transmitir os resultados de um

processamento digital ao “mundo exterior”.

Classificação�Quanto ao modo de saída

�visual�verbal

�Quanto à persistência� removível� permanente

�Quanto ao tipo de dados� discreto� contínuo

pixelTubos de Raios Catódicos (CRT)

Dispositivos de SaídaMonitores CRT

Shadow Mask: fina folha metálica para evitar que feixe de elétrons atinja células vizinhas. Aumenta a nitidez da imagem.

Page 17: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

LCD – Liquid cristal displays

�Luz pode ser polarizada�Cristal líquido pode transmitir e polarizar luz�Estrutura do cristal líquido pode ser alterada pela corrente elétrica�Há eletrodos transparentes

Dispositivos de SaídaMonitores LCD

Dispositivos de SaídaImpressoras

Princípio de funcionamento: carga estática

Page 18: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de EntradaPeriféricos capazes de captar dados gerados pelos usuários em

interações

Classificação�Quanto ao modo de entrada

� Visual (sinais luminosos)� Áudio (sinais sonoros)� Pressão (forças)� Movimento

�Quanto ao tipo de dados� Discreto� Contínuo

�Quanto ao grau de liberdade�2-, 3-, 6-, ou mais

Dispositivos de EntradaLightpen

Não pode ser utilizado em telas LCD!

•Controle por sinal luminoso•Discreto•2 graus de liberdade•Aquisitor de pontos/Localizador (posição absoluta)/Selecionador/ Identificador

Page 19: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de EntradaMouse e Trackball

•Controle por movimento•Contínuo•2 graus de liberdade•Localizador (posição relativa)/ Selecionador/ Identificador

Dispositivos de EntradaTeclado

•Controle por movimento (de dedo)•Discreto•1 grau de liberdade•Aquisitor de caracteres/ Aquisitor de pontos/ Aquisitor de valores/ Localizador (posição relativa)/Selecionador/ Identificador

Page 20: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de EntradaTablet ou Pad digitalizador

•Controle por indução eletromagnética•Contínuo•2 graus de liberdade•Aquisitor de pontos/Localizador (posição absoluta)/Selecionador/ Identificador/Aquisitor de valores (ângulo)/ Aquisitorde caracteres (handwriting)

Dispositivos de EntradaJoystick

•Controle por movimento•Contínuo•2 graus de liberdade•Localizador (posição relativa)/ Selecionador/ Identificador

Page 21: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de EntradaSpaceball

•Controle por movimento•Contínuo•6 graus de liberdade•Aquisitor de pontos/Localizador (posição relativa)/Selecionador/ Identificador

1. Câmera/Filmadoracom lentes e DDC na ordem de cm2: captação de fótons.

2. Arranjo de fotosítios, com filtros de cor: formação de pacotes de elétrons livres.

3. Interação com pacotes adjacentes: criação de parede de potencial

Page 22: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de EntradaScanner (OCR)

Reconhecimento óptico de caracteres

Dispositivos de EntradaSensor de Profundidade

Page 23: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos FísicosData Glove

•Controle por movimento•Contínuo•graus de liberdade dependentes dos sensores•Aquisitor de pontos/Localizador(posição relativa)/Selecionador/ Identificador

Dispositivos Lógicos

EA978 – 1s2009 - Ting

� Saída� Entrada

Periféricos sob o ponto de vista de programação

Page 24: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Arquitetura Vetorial

Controlador de “ Display”

Arquitetura Raster

Controlador de Vídeo

Memória de Vídeo

(frame buffer )

Page 25: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Memória de Vídeo

Resolução (espacial)

Profundidade

640 pixels

480 pixels

Razão de aspecto: 4:3

Memória de Exibição Dupla

Page 26: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Dispositivos de Entrada LógicosFunção Lógica

� Aquisitor de cadeias de caracteres (string)�Cadeia de caracteres

� Localizador (locator)�Posição de um ponto no espaço

� Identificador (pick)�Um elemento gráfico dentre os exibidos

� Selecionador (choice)�Uma dentre as alternativas pré-estabelecidas

� Aquisitor de valores escalares (valuator)�Um valor

� Aquisitor de seqüências de segmentos (stroke)�Seqüência de pontos

Modos de Entrada

GatilhoCaptura

de DadosPrograma

Capturade Dados

Programa

GatilhoCaptura

de DadosPrograma

Fila de Eventos

Modo de Requisição

Modo de Amostragem

Modo de Evento

requisição

amostragem

ocioso

Page 27: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Modos de EntradaArquitetura em Rede

GatilhoCaptura

de DadosPrograma

Capturade Dados

Programa

GatilhoCaptura

de DadosPrograma

Fila de Eventos

Modo de Requisição

Modo de Amostragem

Modo de Evento

requisição

amostragem

Ocioso

Conexão por rede

Servidor Cliente

Programação Orientada a Eventos

Tratamento de Eventos

Despacho de Eventos

Açãodo usuário

A qual janela deve ser despachado o evento?

Como o tratamento pode ser

personalizado para cada aplicativo?

MainEventLoop

Evento

Page 28: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Tratamento de eventos

comuns às janelas

Despacho de Eventos

Açãodo usuário

Evento

Tratamento de eventos

específicos de cada aplicação

?

Programação Orientada a EventosSistema de Janelas

Interface Gráfica de UsuárioGUI

Componentes de interface (Widgets) providos de geometria (look) e comportamento (feel) próprios.

Page 29: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Programação Orientada a EventosModelo Callback

Quantas funções devem ser previstas?

Programa de Aplicação (passo inicial)

Programa Principal Função Callback

Plataforma de sistema de janelas

Laço Principal Registro da Função

chamadas

Programa de Aplicação (passos subseqüentes)

Programa Principal Função Callback

Plataforma de sistema de janelas

Laço Principal Registro da Função

chamadas

Toolbar + menubar

Spinner

List boxButton

Scrollbar

Dialog box

Alguns Exemplos de Componentes

Page 30: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

Área de Desenho/ Canvas

Aplicativo Gráfico Interativo

Hardware

Sistema Operacional + Sistema de Janelas

GUI

API Gráfica

Toolkit

Aplicação

Page 31: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

APIs para Desenvolvimento de Aplicativos Gráficos Interativos� GUI provida de área de desenho OpenGL

� GLUT� Fast Light Toolkit (FLTK)� wxWidgets� Qt – Trolltech� GTK� GLUI

� Gráfica (3D)�OpenGL�Direct3D

Algumas Diretrizes para Desenvolvimento de Aplicativos

Gráficos Interativos�Representação visual compatível com o contexto�Consistência em look e feel�Realimentação às ações dos usuários, respeitando os limites aceitáveis dos tempos de resposta

�Até 0.1s: nenhuma realimentação especial é necessária�Até 1s: o usuário ainda não perde a noção de fluidez �Até 10s: o usuário ainda aceita a espera�Mais de 10s: realimentação especial é necessária

�Minimização da probabilidade de ocorrência de erros, habilitando somente ações válidas�Minimização do esforço de memorização�Inclusão de ações: Undo, Redo, Reset, Cancel, ou similares.

Page 32: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

int main(int argc, char **argv) {glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE |

GLUT_RGB | GLUT_DEPTH);glutCreateWindow("red 3D lighted cube"); glutDisplayFunc(display);init(); glutMainLoop(); return 0; /* ANSI C requires main to return int. */

}

Um Aplicativo

void init(void) { /* Setup cube vertex data. */ v[0][0] = v[1][0] = v[2][0] = v[3][0] = -1; v[4][0] = v[5][0] = v[6][0] = v[7][0] = 1; v[0][1] = v[1][1] = v[4][1] = v[5][1] = -1; v[2][1] = v[3][1] = v[6][1] = v[7][1] = 1; v[0][2] = v[3][2] = v[4][2] = v[7][2] = 1; v[1][2] = v[2][2] = v[5][2] = v[6][2] = -1; /* Enable a single OpenGL light. */ glLightfv(GL_LIGHT0, GL_DIFFUSE,

light_diffuse); glLightfv(GL_LIGHT0, GL_POSITION, l

ight_position); glEnable(GL_LIGHT0);

glEnable(GL_LIGHTING); // Use depth buffering for hidden surface//elimination. glEnable(GL_DEPTH_TEST); setView();

}

setView(void) {/* Setup the view of the cube. */ glMatrixMode(GL_PROJECTION); gluPerspective( /* field of view in degree*/ 40.0, /* aspect ratio */ 1.0, /* Z near */ 1.0, /* Z far */ 10.0); glMatrixMode(GL_MODELVIEW); gluLookAt(

0.0, 0.0, 5.0, /* eye is at (0,0,5) */ 0.0, 0.0, 0.0, /* center is at (0,0,0) */ 0.0, 1.0, 0.); /* up is in +Y direction */

//Adjust cube position to be asthetic//angle. glTranslatef(0.0, 0.0, -1.0); glRotatef(60, 1.0, 0.0, 0.0); glRotatef(-20, 0.0, 0.0, 1.0);

}

Page 33: Modelo de Processamento Visual - UNICAMP · na impossibilidade de discriminar cores no segmento verde-amarelo-vermelho do espectro, ... dedo) •Discreto •1 grau de liberdade •Aquisitor

void display(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

drawBox(); glutSwapBuffers();

}

void drawBox(void) { int i; for (i = 0; i < 6; i++) { glBegin(GL_QUADS); glNormal3fv(&n[i][0]); glVertex3fv(&v[faces[i][0]][0]); glVertex3fv(&v[faces[i][1]][0]); glVertex3fv(&v[faces[i][2]][0]); glVertex3fv(&v[faces[i][3]][0]); glEnd(); } }