Instruções aos Autores de Contribuições para o SIBGRAPI

Propaganda
Texturização de Imagens Digitais Realistas: Comparativo
entre as Técnicas de Bump Mapping e Ray Tracing Aplicadas
a um Modelo em Três Dimensões da Face Humana.
Rafael de A. Soares, Alex Telocken, Patricia Mozzaquatro Chicon
Abstract. This paper explores the use of the techniques of Ray Tracing and
Bump Mapping in the synthesis of realistic images in order to compare them
and qualify them both applied in the animation of a human face in three
dimensions, this context is possible only fair that the two techniques, but apply
different effects, have the same goal which is the realistic representation of the
face. Thus it is necessary to obtain the results modeling and the creation of a
computer system that will allow qualitative assessment techniques.
Resumo. Este trabalho explora a utilização das técnicas de Ray Tracing e
Bump Mapping na texturização na síntese de imagens realistas, a fim de
compara-las e qualifica-las ambas aplicadas na animação de uma face
humana em três dimensões, este contexto se torna possível justo que as duas
técnicas, embora apliquem efeitos diferentes, possuem o mesmo objetivo que é
a representação realista da face. Deste modo se faz necessário para a
obtenção dos resultados a modelagem e a criação de um sistema
computacional que permitirá a avaliação qualitativa das técnicas.
1. INTRODUÇÃO
Com os avanços em termos de hardware e software, a computação gráfica vem
ocupando cada vez mais espaço no cotidiano do ser humano, seja ela na forma de
entretenimento, medicina, geologia, astronáutica e os mais variados ramos da
informática. A síntese de imagens esta interligada intimamente com esses avanços, pois
desde seu surgimento instiga a criação de novas tecnologias que possam reproduzir
virtualmente o mundo real.
As técnicas de texturização de imagens digitais são fundamentais para similar
realismo em animações, jogos e efeitos especiais, dentre elas cita-se a técnica de Ray
Tracing que é utilizada para simular sombreamento, reflexão, iluminação e
transparência em aplicações gráficas de acordo com Glassner (1989) e o método de
Bump Mapping, que utiliza uma abordagem mais simples de acordo com Azevedo e
Conci (2003), tendo como objetivo perturbar a normal, fazendo com que a superfície do
objeto adquira um aspecto rugoso, o que para a visão humana torna mais realista a sua
representação.
O presente trabalho trata de uma análise comparativa entre estas duas premissas,
a fim de verificar qual possui melhor qualidade de realismo, aplicados em um ambiente
gráfico, modelado em três dimensões. Está analise se dará através da implementação de
um Sistema que permitirá aplicar e demonstrar as técnicas em duas modalidades, uma
individualmente e a outra de forma unificada, a fim de capturar a opinião dos usuários
em função do nível de realismo apresentado em cada modalidade.
Em termos computacionais, este estudo possibilitará identificar por meios
qualitativos qual das técnicas, levando-se em consideração o contexto proposto, é a mais
viável e passível de ser utilizada. Pelo âmbito social, percebe-se que o realismo em
texturas é um aspecto essencial, além da movimentação e sonorização, para aperfeiçoar
a qualidade das animações, efeitos visuais, simulações e representações virtuais do
mundo real, sendo assim justifica-se a análise qualitativa dos resultados que serão
obtidos.
2. COMPUTAÇÃO GRÁFICA
O surgimento da computação gráfica (C.G.) aconteceu com a criação dos dispositivos
gráficos por volta da década de 50, onde o primeiro computador a possuir recursos de
visualização gráfica de dados foi desenvolvido, no intuito de representar graficamente
informações numéricas. Na década de 60 surge o conceito da C.G. interativa da forma
como conhecemos hoje, isso possibilitou a criação de programas de modelagem gráfica
para as indústrias automobilísticas, aeronáuticas e aeroespaciais, o que trouxe um dos
precursores dos sistemas Computer Aided Design (CAD). (COHEN; MANSSOUR,
2006).
Um marco no histórico da C.G foi à evolução dos circuitos integrados, o que
proporcionou a popularização dos computadores pessoais (PCS) juntamente com os
aplicativos integrados, como os editores gráficos. Outro fato importante foi o
crescimento da capacidade dos PCS e das placas de processamento gráfico o que
permitiu a geração e processamento de imagens com alto nível de realismo em tempo
real. (COHEN; MANSSOUR, 2006).
A C.G. pode ser vista como uma forma de arte não convencional utilizada para
ultrapassar as técnicas tradicionais de desenho e modelagem, unindo a matemática,
tecnologia e senso artístico, proporcionando ao artista um alto poder de abstração e
criação de imagens complexas até então não imaginadas, segundo Azevedo e Conci
(2003).
Atualmente a C.G. de acordo com Azevedo e Conci (2003) está presente em
muitos ramos do conhecimento, dentre eles cita-se a medicina, aeronáutica, cinema,
construção civil entre outras, ela pode ser compreendida em três grandes subáreas: o
processamento, a análise e a síntese de imagens digitais. O processamento tem por
objetivo utilizar técnicas de transformação, para melhorar ou realçar características
visuais de uma imagem de acordo com a sua finalidade. A análise por sua vez tem como
característica a obtenção de dados muitas vezes após o processamento, como se observa
no uso de imagens de satélite para definição de condições climáticas. A síntese de
imagens pode ser descrita como visualização científica ou computacional, pois é voltada
para a representação gráfica da informação, facilitando o entendimento de dados muitas
vezes complexos.
Como afirma Azevedo e Conci (2003), se o ser humano pode imaginar algo, isto
pode ser feito com a computação gráfica. Em outras palavras, tudo que pode ser
imaginado pelo ser humano, hoje pode ser representado pela computação gráfica através
das suas 20 técnicas de modelagem, texturização, animação, extração e captura de
informações visuais, o que a torna algo muito presente e importante para evolução
tecnológica.
3. SÍNTESE E TEXTURIZAÇÃO DE IMAGENS
A síntese de imagens digitais é uma área da computação gráfica responsável pela
criação e representação do mundo real através de imagens digitais realistas, é
principalmente usada em aplicações onde há a necessidade de simular virtualmente
fenômenos e objetos que podem ser muito caros e complexos de serem criados
fisicamente, porém sua utilização se propaga em variados meios como o do
entretenimento, educação, dentre outros, conforme afirma Pozzer (2000).
3.1 Técnicas de texturização
Segundo o estudo de Pozzer (2000), a texturização de imagens se caracteriza pela
geração de texturas e sua aplicação nos objetos, ela se divide entre a não-procedural e
procedural. A não-procedural se caracteriza por inserir texturas anteriormente projetadas
aos objetos, sem a utilização de nenhum método algorítmico. Por outro lado, a geração
de texturas procedural se refere à utilização de algoritmos e técnicas para criar, aplicar e
modificar as texturas de acordo com o objeto e a cena, transferindo o trabalho de criação
e programação visual para o computador.
3.1.1 Bump Mapping
O Bump Mapping é uma técnica de texturização de imagens que tem por objetivo
perturbar os pixels de uma imagem a fim de promover o aspecto de uma superfície
irregular, promovendo pequenas modificações na direção do vetor normal da superfície
antes que seja aplicado o processo de iluminação, simulando visualmente mudanças no
relevo do objeto, tais como rugosidades, sem a necessidade de uma modelagem
geométrica e com a vantagem de que com ele é possível utilizar outras técnicas de
texturização, para aumentar o nível de realismo da imagem, segundo Blinn (1978).
De acordo com Azevedo e Conci (2003), esta técnica adiciona realismo a
determinadas texturas sem que ocorram modificações na geometria dos objetos da cena,
adicionando um sombreamento nos pixels, fazendo com que ocorra uma modificação
simulada no objeto renderizado. O autor afirma que a intensidade da cor de um objeto é
formada pelo ângulo do vetor normal de uma superfície e a direção da luz, além disso,
em superfícies lisas o vetor normal é sempre o mesmo, sendo assim a cor da superfície
também será sempre a mesma. O Bump Mapping trabalha diretamente com este vetor,
perturbando-o, a fim de provocar uma mudança de cor em vários pontos desta
superfície, dando a ilusão que algumas áreas do objeto estariam elevadas ou rebaixadas,
conforme ilustra a figura 1.
Figura 1 - Ilusão de relevo provocada pelo Bump Mapping
Fonte: Azevedo e Conci (2003)
Utilizando o conceito de ilusão de relevo, tal técnica tem finalidade de promover o
aspecto áspero, rugoso, perfurado ou dentado produzindo um efeito visual muito
realista, principalmente em texturas de faces humanas (como ilustra a figura 2) que não
são homogêneas. (BATISTA, 2011).
Figura 2 - Bump Mapping aplicado a uma parte da face
Fonte: Adaptado de Reschenhofer (2015).
Como descrito nesta seção a técnica do Bump Mapping trabalha na perturbação das
cores dos objetos, simulando a existência de relevo, em contrapartida a seção a seguir
descreve as características, conceitos e algoritmos que fazem parte da técnica do Ray
Tracing que será comparado neste trabalho.
3.1.2 Ray Tracing
A técnica de Ray Tracing surgiu como um estudo militar onde se buscava um algoritmo
capaz de simular a trajetória de projeteis balísticos e de partículas nucleares, tal estudo é
datado na década de 1960. Com base nesses estudos, a técnica passou a ser utilizada em
computação gráfica, como uma forma para o cálculo das sombras nas superfícies. Junto
aos avanços de hardware ela pode ser aprimorada, assim em 1980 já pôde ser utilizada
para a síntese de imagens com sombra, reflexão e refração, como afirma Azevedo e
Conci (2003).
O Ray Tracing é uma das mais utilizadas técnicas de síntese de imagens de fácil
aplicação, pois possibilita a representação de cenas complexas com vários objetos e
efeitos (sombras, e muitos tipos de reflexão e refração) possuindo como princípio a
simulação óptica de um raio de luz que viaja no espaço da cena e suas interações com o
ambiente. (AZEVEDO; CONCI, 2003), a figura 3 ilustra uma cena texturizada.
Figura 3 - Cena texturizada utilizando a técnica de Ray Tracing
Fonte: adaptado de Stanford (2015)
De acordo com Glassner (1989), a técnica do Ray Tracing, tem como base o
disparo de raios que partem de um observador até a cena, deste modo são feitos testes de
intersecção para definir se o raio ira ou não interceptar os elementos primitivos da cena,
logo se ocorre uma intersecção a cor do pixel será definida pela normal do ponto de
intersecção e das configurações do material da primitiva juntamente com a incidência de
luzes presentes na cena.
Nesta seção a técnica do Ray Tracing foi caracterizada pela capacidade de criação de
efeitos de sombreamento, reflexão e refração, sendo ela capaz de atuar na texturização
completa de uma cena, aumentando assim o nível de realismo existente de acordo com
seu contexto.
4. METODOLOGIA
A pesquisa desenvolvida classifica-se, de acordo com Silva e Menezes (2005), como
qualitativa, pois considera dados obtidos de forma numérica passiveis de análise e
aspectos descritivos para interpretação voltados a qualidade.
O projeto está subdividido nas seguintes etapas:
Etapa 1 – Projeto

Estudo teórico referente aos métodos de texturização Bump Mapping e Ray
Tracing.

Pesquisa sobre modelagem 3D utilizando a biblioteca gráfica OpenGL integrada
à linguagem C++;

Estudo sobre análise qualitativa em função do realismo em imagens.

Estudo sobre modelagem de faces humanas em três dimensões e a utilização de
efeitos visuais para o realismo em animações;
Etapa 2 – Desenvolvimento

Modelagem de uma face humana em três dimensões utilizando os softwares
Make Human juntamente com o sofware Blender para criação do modelo.

Exportação do modelo para um ambiente de programação em C++ utilizando a
biblioteca Open GL

Criação de um diagrama de caso de uso do sistema proposto.

Implementação de um software onde as técnicas de Bump Mapping e Ray
Tracing serão aplicadas sobre a face modelada para a obtenção dos resultados.
Etapa 3 – Validação

Validação quantitativa por meio de pesquisa de opinião com o auxílio dos
discentes do curso de ciência da computação da Universidade de Cruz Alta, por
meio de demonstração das animações através de um software, utilizando ambos
os métodos em relação ao realismo, onde cada discente irá avaliar
individualmente as animações, cada uma delas utilizando uma técnica de
texturização descrita e também com ambas, com o objetivo de obter o nível de
realismo que a animação apresenta para cada técnica.
A etapa 1 que tratava sobre a fundamentação teórica e conceituação das técnicas já foi
desenvolvida, atualmente o projeto está na etapa 2, onde foi realizadas a modelagem da
imagem a ser texturizada.
5. RESULTADOS PARCIAIS E DISCUSSÕES
Para a realização deste trabalho abordou-se a conceituação da computação gráfica, sua
importância, e as subáreas que a envolvem dando-se foco para a síntese de imagens e
suas etapas para a criação de imagens digitais realistas.
A texturização de imagens foi definida através de seu principal conceito, e
dividida entre as duas técnicas principais abordadas neste trabalho, são elas o Ray
Tracing e o Bump Mapping. As duas técnicas foram conceituadas e exemplificadas,
contextualizando com o objetivo proposto da modelagem e texturização de imagens
digitais realistas.
Atualmente o projeto encontra-se na segunda etapa que se refere a criação da
imagem, modelagem e implementação do sistema.
A criação da imagem a ser texturizada foi feita através da utilização do software
Blender juntamente com o software Make Human, ambos softwares de modelagem 3D e
detalhamento de modelos. A figura 4 ilustra a criação do modelo com a utilização do
software Make Human
Figura 4 - Modelo elaborado com a utilização do Make Human
Após a criação do modelo foi feita a importação para o software Blender onde foi criada
a imagem que será utilizada para a aplicação das técnicas de texturização. A figura 5
ilustra a imagem a ser utilizada.
Figura 5 - Imagem modelada com o Blender
A próxima etapa do trabalho será com foco na modelagem, implementação e validação
de um sistema capaz de comparar as técnicas descritas em cima de um ambiente 3D
modelado com o OpenGL, para a utilização dos alunos da UNICRUZ na obtenção dos
resultados qualitativos.
6. REFERÊNCIAS
AZEVEDO, Eduardo; CONCI, Aura; Computação Gráfica Teoria e Prática. Vol. I.
Editora Campus, 2003.
BATISTA, Mônica de Lourdes Souza; Simulação de emoções em faces humanas
utilizando os algoritmos de Bump Mapping e Morphing implementados em
GPU. Dissertação de Mestrado em Computação, Universidade Federal Fluminense –
UFF, 2011.
BLINN, James F.: Simulation of Wrinkled Surfaces, Computer Graphics, Vol. 12
(3), pp. 286–292 SIGGRAPH-ACM, 1978.
COHEN, Marcelo; MANSSOUR, Isabel Harb; Introdução à Computação Gráfica.
RITA, Volume XIII, Número 2, 2006.
GLASSNER, Andrew S. An Introduction to Ray Tracing. Academic Press Ltd.,
London, 1989.
GLASSNER, Andrew S.. Principles of digital image synthesis. San Francisco: Morgan
Kaufmann, 1995.
POZZER, Cesar T., Uso de Técnicas de Síntese de Imagens Aplicadas a um
Ambiente de Representação de Superfícies Liquidas Estáticas e Dinâmicas.
Dissertação de Mestrado em Engenharia eletrônica e computação, Instituto
Tecnológico de Aeronáutica, 2000.
RESCHENHOFER.
Florian.
HumanSkin
shader
Disponível
em
:
<http://docs.cryengine.com/display/SDKDOC2/HumanSkin+shader#HumanSkinshad
er-Bumpmap(Normalmap)> . Acesso em 21 de junho de 2015.
SILVA, Edna Lúcia da; MENEZES, Estera Muskat. Metodologia da pesquisa e
elaboração de dissertação. 4ª ed. rev. e atual. Florianópolis: Laboratório de Ensino à
Distância da UFSC, 2005.
STANFORD. Ray Tracing Limited to 10 Recursive Bounces. Disponível em:
<http://stanford.edu/~bmild/raytracing/main.html> . Acesso em 1 de junho de 2015.
Download