Protótipo de Software para Análise da Percepção de Profundidade Aparente em Computação Gráfica

Documentos relacionados
Marlise Frotscher Milbratz

Protótipo tipo de um Ambiente de. Estereoscopia. Edson Momm. Prof. Dalton Solano dos Reis Orientador

PROTÓTIPO DE SOFTWARE PARA ANÁLISE DA PERCEPÇÃO DE PROFUNDIDADE APARENTE EM COMPUTAÇÃO GRÁFICA

Implementação de um Ambiente para Modelagem de Objetos 3D com uso de Sweeping. Ednilson José ALUNO. Prof. Dalton Solano dos Reis ORIENTADOR

Motivação Por que estudar?

Introdução ao Processamento de Imagens Digitais Aula 01

Flávio André. Prof. Dalton Solano dos Reis

Processamento Digital de Imagens

Processamento Digital de Imagens

Processamento de Imagens. Texturas

Reconstrução e Síntese de Cenários Tridimensionais a partir de Imagens Estereoscópicas

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

Princípios e representação de imagens

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 2.0

Princípios sobre imagens digitais

6 Resultados Análise de Desempenho

Os computadores processam dados digitais ou discretos. Os dados são informação representada num sistema digital de símbolos.

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Protótipo de software para inserção e extração de mensagens em arquivo raster através de esteganografia

Processamento de Imagens

psicologia da percepção visual

Sumário. Bibliografia

O principal objetivo do estímulo visual, tanto em RV quanto em RA é fornecer ao usuário a sensação de tridimensionalidade.

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.

Esse tipo de visualização sempre exige uma preocupação adicional com eficiência pois o número de polígonos necessário para representar fielmente a

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

SEL-0339 Introdução à Visão Computacional. Aula 3 Processamento de Imagens Coloridas

Imagem e Gráficos. vetorial ou raster?

Imagem ou Desenhos e Gráficos vetorial ou raster?

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica

ENG1000 Introdução à Engenharia

ESTRUTURA DE DADOS I AULA I

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

Visão Computacional e Aplicações

VISÃO anatomia do olho. Retina: região no fundo do olho onde os estímulos visuais são captados e transmitidos ao

António Costa. Paulo Roma Cavalcanti

Programação Introdução

Engenharia de Faixa de Dutos Terrestres

Computação Gráfica - 01

LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

Propriedades da Imagem Amostragem & Quantização (Quantificação) Histograma Imagem Colorida x Imagem Monocromática. Propriedades da Imagem

Linguagem Visual Orientada. por Figuras Geométricas voltada. para o Ensino de Programação. Orientando. Prof. José Roque Voltolini da Silva Orientador

CARTOGRAFIA TEMÁTICA Teoria das cores. Prof. Luciene S. Delazari Departamento de Geomática Curso de Engenharia Cartográfica e de Agrimensura

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

PARTE 1- INTRODUÇÃO VERSÃO: JANEIRO DE 2017

Cores em Imagens e Vídeo

CONSTRUÇÃO DE UM PROTÓTIPO PARA AUTOMATIZAÇÃO DA LEITURA DE NÍVEIS DE FLUMENS

Processamento de Imagens e Aplicações

Ciência da Computação

Luz, Visão Humana e Cor Modelos de Cores

Descritores de Imagem (introdução)

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

ao paradigma imperativo

Universidade Federal do Rio de Janeiro. Flávio Henrique Schuindt da Silva. Estimativa de Fluxo Ótico com o método de Lukas-Kanade

Distribuição otimizada de polígonos em um plano bidimensional. Acadêmica: Denise Brandt Orientador: Dalton Solano dos Reis

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE IMAGENS SENSORIAMENTO REMOTO

Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martins

FACULDADE DE ENGENHARIA DE MINAS GERAIS SENSORIAMENTO REMOTO E AEROFOTOGRAMETRIA REVISÃO DE CONTEÚDO. Prof. Marckleuber

Árvores & Árvores Binárias

4 IMPLEMENTAÇÃO E APLICAÇÕES DO PROGRAMA DE COMPUTADOR

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster. ramal Sala 121 IEC

Processamento de Imagens

Padrões de Compressão de Imagens

FOTOGRAMETRIA E FOTOINTERPRETAÇÃO

COBOL Query 1.0. Ferramenta para extração de dados em arquivos COBOL. Aluno: André Luiz Jacinto Orientador: Adilson Vahldick

Disciplina: Aerofotogrametria e Tratamento de imagem

SSC304 Introdução à Programação Para Engenharias

API para transformação de imagem em cartum utilizando plataforma ios. Acadêmico Christian Hess Orientador Dalton Solano dos Reis

PRODUTOS DE SOFTWARE UTILIZANDO O MÉTODO M QUALITY FUNCTION DEPLOYMENT (QFD) Aluno: Sandro Niehues Orientador: Everaldo Artur Grahl

Processamento de Imagens: fundamentos. Julio C. S. Jacques Junior

As comunicações à distância estão crescendo consideravelmente pelo uso de aplicações através da Internet e de ambientes virtuais, tais como:

Exame de Ingresso Física Aplicada - Física Computacional Primeiro Semestre de 2018

O sistema visual humano e noções de colorimetria

Princípios Teóricos da Estereoscopia

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012.

Fundamentos Programação

Estatística e Modelos Probabilísticos - COE241

Processamento Digital de Imagens

Historia e efeitos visuais em C.G.

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Prof. Fernando Lang da Silveira

Imagem digital. Elicardo Gonçalves

Modulo 8: pequenos detalhes, grandes diferenças

4 Sistema Computacional

Gerenciamento de Memória

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

ϕ =Ângulo paralático d= profundidade Oe O intervalo médio para visão de profundidade varia de 25 cm a 600 metros;

Universidade Federal de Sergipe Departamento de Matemática. Imagem* Profª. Maria Andrade. *Parte desta apresentação foi do Prof. Thales Vieira.

Capítulo V : Um Tipo Estruturado de Dados: o array

Protótipo de Software para Reconhecimento de Impressões Digitais

ESTABELECIMENTO DE ROTAS PARA AR.DRONE UTILIZANDO DELPHI XE 10

Jorge Gustavo Bandeira dos Santos. Unidade: 3 de março de 2013

Exercícios de Programação e Computação para Arquitectura

Transcrição:

Protótipo de Software para Análise da Percepção de Profundidade Aparente em Computação Gráfica Eduardo Kohler Prof. Dalton Solano dos Reis Orientador

Roteiro Introdução Fisiologia do olho humano Percepção Visual e suas divisões Estereoscopia e Estereogramas Especificação e Implementação Análise dos Resultados Conclusão e Extensões 2

Introdução Percepção - meio de interação do indivíduo com o mundo Vivencia experiências ricas em cores, texturas, profundidades, formas e movimentos Se as imagens processadas pelo cérebro são 2D, então como pode-se perceber tridimensionalmente? 3

Introdução - Problemas O crescente uso de imagens estereográficas em anúncios publicitários, camisetas, etc Dificuldade em conseguir visualizar o efeito tridimensional de um estereograma a nível de usuário 4

Introdução - Justificativas Recebendo crescente atenção: Computação Gráfica Publicidade e Propaganda Medicina Contribuição à comunidade acadêmica 5

Introdução - Objetivos Criar imagens bidimensionais que proporcionem uma sensação aparente de profundidade (3D), baseando-se nas técnicas de Estereoscopia Analisar a criação de estereogramas a partir de dois algoritmos Apresentar formas de visualização dos efeitos gerados pelos estereogramas a nível de percepção do usuário 6

Fisiologia do Olho Humano Os olhos são órgãos sensitivos complexos de alto grau evolutivo que permitem uma análise minuciosa quanto a forma dos objetos, sua cor e a intensidade de luz refletida (Selkurt, 1986) Desempenha função de: instrumento óptico receptor sensorial 7

Fisiologia do Olho Humano Estrutura do Olho e Formação da Imagem 8

Fisiologia do Olho Humano Olhos focados no objeto Olhos Objeto 3D 9

Percepção Visual Percepção - Ser Humano x Mundo Não depende apenas de fatores físicos Ponto de partida para a compreensão humana Maneira de se comportar 10

Percepção Visual - Tamanho O tamanho visual de um objeto depende, em parte do tamanho da imagem que projeta na retina (Krech, 1973) 11

Percepção Visual - Forma Os objetos podem variar de formas simples ou formas mais complexas Constância: um objeto, mesmo quando muda o ângulo do qual é visto, possui uma mesma forma 12

Percepção Visual - Forma 13

Percepção Visual - Cores Toda luz é igual, exceto pelo comprimento de onda (Atkinson, 1995) Fatores físicos e psicológicos interferem na percepção das cores 14

Percepção Visual - Cores Influência das Imediações 15

Percepção Visual - Movimento Mudança na localização do espaço físico Direção - Velocidade Há movimento quando: o objeto atravessa o campo visual movimento dos olhos para acompanhar o objeto 16

Percepção Visual - Movimento Movimento Real - quando objeto está realmente se movendo Movimento Estroboscópico - percebe-se movimento quando nada se move 17

Percepção Visual - Movimento Movimento Real - quando objeto está realmente se movendo Movimento Estroboscópico - percebe-se movimento quando nada se move Movimento Induzido - Percebe-se em movimento uma imagem estática 18

Percepção Visual - Profundidade Onde o objeto está? Localização do Objeto A retina é uma superfície 2D. Não possui qualquer profundidade 19

Percepção Visual - Profundidade Indicações Monoculares Outras Indicações: Luz Sombra Nitidez 20

Percepção Visual - Profundidade Indicações Monoculares Densidade da Textura Toda imagem possui textura 21

Percepção Visual - Profundidade Indicações Binoculares Visão Estereoscópica Pares Estereoscópicos Separação Estereoscópica 22

Estereoscopia Abrange todas as técnicas que utilizam o mecanismo visual binocular do ser humano Criam uma sensação de profundidade em duas ou mais imagens 2D do mesmo objeto representado através de perspectivas diferentes Estereoscopia = stereos + skopein 23

Estereoscopia - Estereograma Formado por duas imagens: contem informações de uma cena 3D e que ocultará a cena proporcionada pela primeira imagem Principais tipos: SIRDS - Single Image Random Dot Stereogram SIS - Single Image Stereogram 24

Estereoscopia - Estereograma Mapa de Profundidade Ponto primordial para criaçao do estereograma 25

Estereoscopia - Estereograma Mapa de Profundidade Tradução da Cena Tridimensional 26

Estereograma SIRDS - Algo 1 Geometria do Algoritmo 1 27

Estereograma SIRDS - Algo 1 Geometria do Algoritmo 1 Profundidade = ProfMax h(x,y). (ProfMax ProfMin)/256 28

Estereograma SIRDS - Algo 2 Geometria do Algoritmo 2 Área ideal para abrangência do Objeto 3D é de 1/3 (Mroz, 1996) 29

Estereograma SIRDS - Algo 2 Geometria do Algoritmo 2 30

Estereograma SIRDS - Visualização Acostumar os olhos a saírem do foco Dificuldade inicial para percepção Técnicas que ajudam a sair do foco 31

Estereograma SIRDS - Visualização A B C D foco normal Pouco desfocado Foco correto Desfocado em excesso Baseia no segundo método de visualização 32

Desenvolvimento do Protótipo Prototipação Evolutiva produto final é o próprio sistema Ambiente de Programação Delphi Ferramenta Winsurfer 33

Especificação do Protótipo - Estrutura Matrizes Randômicas Arquivos Texto 1 do Algoritmo 1 Arquivo Texto 2 do Algoritmo 1 Mapa de Profundidade Cena Tridimensional Arquivos Texto 1 do Algoritmo 2 Arquivo Texto 3 Arquivo Texto 2 do Algoritmo 2 Fase Inic ial Fase Intermediária Fase Final 34

Especificação do Protótipo Diagrama de Contexto 35

Especificação do Protótipo Diagrama de Fluxo de Dados IMAGEM 1 Manter Imagem Mapa de Profundidade Matriz Randômicas Ocorrênicas Algoritmo 1 Ocorrênicas Algoritmo 2 2 Manter Ocorrências Mapa de Profundidade Matriz Randômicas Ocorrênicas Algoritmo 1 3 Médias Algoritmo 1 Manter Ocorrênicas Algoritmo 2 Médias Médias Algoritmo 2 USUÁRIO 4 Gerar Estereograma Médias Algoritmo 1 Médias Algoritmo 2 36

Início Fim y = 0.. (Altura - 1) Especificação x: = 0.. (Largura-1) Desfazer qualquer Dependência Fluxograma x = 0.. (Lagura -1) x = 0.. (Lagura -1) x = (Lagura -1).. 0 NÃO Calcular Separação Estereoscópica Encontrar os pontos extremos desta Separação Pontos extremos pertencem a imagem? SIM Criar Dependência entre os pontos NÃO Atribuir Cor Aleatória do Ponto Atual Ponto atual possui alguma dependência? SIM Atribuir a mesma Cor do ponto com o qual possui dependênica O Algoritmo 1 percorre da esquerda para direita, enquanto o Algoritmo 2 percorre ao contrário 37

Análise dos Resultados Percepção Visual: dificuldade subjetiva Precisão: composta por 36 arquivos Matrizes Randômicas Arquivos Texto 1 do Algoritmo 1 Arquivo Texto 2 do Algoritmo 1 Mapa de Profundidade Cena Tridimensional Arquivos Texto 1 do Algoritmo 2 Arquivo Texto 3 Arquivo Texto 2 do Algoritmo 2 Fase Inic ial Fase Intermediária Fase Final 38

Análise dos Resultados Percepção Visual: dificuldade subjetiva Precisão: composta por 36 arquivos Escala de Cinza e 24 bits Escolha: 9 arquivos Gráfico de Dispersão: Winsurfer 39

Análise dos Resultados Algoritmo 1 Algoritmo 2 Sem diferenças 50,10% 49,68% 0,22% 40

Análise dos Resultados Mesmo utilizando-se imagens com uma ou várias profundidade existe diferenças nos estereogramas Correlação no percentual das diferenças Diferenças nos cálculos separação estereoscópica e geometrias diferentes 41

Conclusões Nro. Limitado de camadas de profundidade Efeito lego SEP (pixel) Gráfico Relação SEP x Profundidade do Algoritmo 2 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 0,600 0,620 0,640 0,660 0,680 0,700 0,720 0,740 0,760 0,780 0,800 0,820 0,840 0,860 0,880 0,900 0,920 0,940 0,960 0,980 1,000 1,020 Profundidade (1-mz) 42

Conclusões Nro. Limitado de camadas de profundidade Efeito lego 43

Conclusões Nro Limitado de camadas de profundidade Efeito lego Fuzzy Edges Echos 44

Extensões Função estereoscópica linear Tratamento superfícies ocultas Echos Fuzzy edges Analisar os efeitos gerados pelos estereogramas a nível de percepção do usuário 45

Extensões Efetuar análise da criação colorida dos estereogramas Utilizar bitmaps ao invés de pontos para criar estereogramas 46

Anexo A Tipos de Estereogramas 47

Anexo A Tipos de Estereogramas 48

Anexo A Tipos de Estereogramas 49

Anexo A Tipos de Estereogramas 50

Apresentação do Protótipo 51

Anexo B Implementação Função para armazenar o Mapa de Profundidade procedure ArmazenarMapaProfundidade; var x,y: integer; R,G,B, cinza: byte; cor: dword; begin for y:=0 to Altura - 1 do begin for x:=0 to Largura - 1 do begin Cor:=Imagem.Canvas.Pixels[x,y]; R:=GetRValue(Cor); G:=GetGValue(Cor); B:=GetBValue(Cor); {se o ponto não estiver em tom de cinza} If not((r=g) and (G=B)) then Cinza:=Round((R+G+B)/3) else Cinza:=R; Mapa_Prof[x,y]:=Cinza; end; end; end; 52

Anexo B Implementação Função para atribuir funções à Matriz Randômica procedure gerarmatrizrandomica; var x,y: integer; cinza: byte; begin randomize; for y:=0 to Altura-1 do begin for x:=0 to Largura-1 do begin {se o usuário escolheu tons de cinza} if rgcor.itemindex = 0 then begin cinza:=random(256); Matriz_Rand[x,y]:= RGB(cinza,cinza,cinza); end else Matriz_Rand[x,y]:= random(16777216); end; end; end; 53

Procedure GerarEstereograma1(NroCam:integer); var SEP, disobs, ESQUERDA, DIREITA, Prof, x, y: integer; disolho: real; DEPENDENCIA : array [0..Largura-1] of integer; CORES: array [0..Largura-1] of dword; begin disobs:= 12 * Resolucao; disolho:= Separacao* Resolucao; for y:=0 to Altura-1 do begin for x:=0 to Largura - 1 do DEPENDENCIA[x]:=x; Anexo B Função Implementação do Algoritmo 1 for x:=0 to Largura - 1 do begin Prof:= trunc(255 Mapa_Prof[x,y]*(NroCam)/256); SEP:= trunc((disolho*prof)/(prof+disobs)); ESQUERDA:= trunc(x SEP/2); DIREITA:= x + SEP; if (ESQUERDA >= 0) and (DIREITA < largura) then DEPENDENCIA[DIREITA]:= ESQUERDA; end; for x:=0 to Largura - 1 do if (DEPENDENCIA[x]=x) then CORES[x]:= Matriz_Rand[x,y] else CORES[x]:= CORES[DEPENDENCIA[x]]; end; end; 54

procedure GerarEstereograma2; var x, y, SEP, ESQUERDA, DIREITA: integer; disolho, m, prof: real; DEPENDENCIA:array [0..Largura-1] of integer; CORES: array [0..Largura-1] of dword; begin disolho:= Separacao*Resolucao; m:= 1/3; for y:=0 to Altura - 1 do begin for x:=0 to Largura - 1 do DEPENDENCIA[x]:=x; Anexo B Função Implementação do Algoritmo 2 for x:=0 to Largura - 1 do begin prof:=mapa_prof[x,y]/255; SEP:= trunc( (1-m*Prof) *disolho/(2-m*prof)); ESQUERDA:= trunc(x - (SEP/2)); DIREITA:= ESQUERDA + SEP; If (ESQUERDA >= 0) and (DIREITA < largura) then DEPENDENCIA[ESQUERDA]:=DIREITA; end; for x:=largura - 1 downto 0 do If (DEPENDENCIA[x]=x) then CORES[x]:= Matriz_Rand[x,y] else CORES[x]:= CORES[DEPENDENCIA[x]]; end; end; 55