Composition of UHDTV Ready Images Utilising Free Tools

50
Programa Jovens Talentos para Ciência – Relatório Final (30/08/2013) Título do projeto: Composição de Imagens UHDTV Utilizando Ferramentas Livres Nome do Aluno: Davi Rabelo Ozolin RA do aluno: 11000312 E-mail do aluno: [email protected] Nome do Orientador: Celso Setsuo Kurashima E-mail do orientador (institucional): [email protected] Palavras-chave do projeto: UHDTV, composição de imagens Área de conhecimento do projeto: 10303057 PROCESSAMENTO GRÁFICO (GRAPHICS)

Transcript of Composition of UHDTV Ready Images Utilising Free Tools

Programa Jovens Talentos para Ciência – Relatório Final (30/08/2013)

Título do projeto: Composição de Imagens UHDTV Utilizando Ferramentas Livres

Nome do Aluno: Davi Rabelo Ozolin

RA do aluno: 11000312

E-mail do aluno: [email protected]

Nome do Orientador: Celso Setsuo Kurashima

E-mail do orientador (institucional): [email protected]

Palavras-chave do projeto: UHDTV, composição de imagens

Área de conhecimento do projeto: 10303057 PROCESSAMENTO GRÁFICO (GRAPHICS)

Sumário

1. Introdução ................................................................................................ 4

2. Objetivo ................................................................................................... 6

3. Metodologia ............................................................................................. 7

4. Atividades Realizadas ............................................................................. 9

4.1. Pesquisa e familiarização com as bibliotecas PanoTools ............. 9

4.2. Requisitos para o projeto ............................................................ 12

4.3. Método Utilizado – A costura ...................................................... 13

4.3.1. Introdução.............................................................................. 13

4.3.2. Diretrizes para obtenção de imagens .................................... 13

a) Margens adequadas ........................................................ 13

b) Tempo de captura ............................................................ 15

c) Tempo de exposição ........................................................ 15

d) Foco ................................................................................. 15

e) Abertura ........................................................................... 15

f) Qualidade de imagem ...................................................... 16

4.3.3. Remapeamento ..................................................................... 16

a) Transformação de imagem plana para esférica ............... 16

b) Alinhamento relativo ......................................................... 17

c) Projeção plana ................................................................. 18

4.3.4. Mescla ................................................................................... 20

4.4. Interface Gráfica – Hugin ............................................................ 20

4.4.1. Introdução.............................................................................. 20

4.4.2. Apresentação da Interface..................................................... 21

a) Assistente ......................................................................... 21

2

b) Imagens ........................................................................... 22

c) Câmera e Lente ............................................................... 23

d) Cortar ............................................................................... 24

e) Máscara ........................................................................... 25

f) Pontos de Controle .......................................................... 26

g) Otimizador ........................................................................ 27

h) Exposição ......................................................................... 28

i) Pré-Visualização .............................................................. 29

j) Montador .......................................................................... 30

4.4.3. Costura-teste ......................................................................... 31

5. Cronograma de Atividades de Iniciação Científica ................................ 33

6. Conclusões ............................................................................................ 35

7. Referências ........................................................................................... 36

3

1. Introdução

Desde sua idealização até os dias modernos, os aparelhos televisivos

passam por um constante processo de evolução. Após a introdução de som,

cores e painéis dos mais diversos tamanhos, passamos atualmente pelo

processo de transição do sinal em SD (Standard Definition) para o sinal de

alta definição em HD (High Definition). Entretanto, mesmo que o modelo

HDTV ainda esteja se popularizando, já há pesquisas no próximo grande

passo evolutivo: a TV de Ultra Alta Definição (Ultra HDTV).

Da mesma maneira que a HDTV traz grande melhoria na definição das

imagens em relação ao SDTV (uma transmissão em 1080p possui 6x mais

pixels que uma transmissão em 480p), a UHDTV 8K apresenta 16 vezes mais

pixels que uma transmissão HDTV de 1080p. Desta forma, são geradas

imagens muito mais verossímeis e definidas, proporcionando ao

telespectador uma sensação muito melhor de imersão e realismo [1].

A Tabela 1 e Figura 1 evidenciam as diferenças nas resoluções e

número de pixels nos padrões de resolução utilizados atualmente e a

capacidade do UHDTV, comparando-os com o atual sinal analógico (480i).

Tabela 1: Resoluções padrão dos modelos de TV e seus respectivos números de pixels [2] [3]

Nomenclatura Resolução em AR 16:9 Número de Pixels Aumento relativo ao 480i

SDTV 480i 720 × 480 345.600 -

SDTV 576i 720 × 576 414.720 1,2 vezes maior

HDTV 720p 1280 × 720 921.600 2,6 vezes maior

HDTV 1080p 1920 × 1080 2.073.600 6 vezes maior

UHDTV 4K 3840 × 2160 8.294.400 24 vezes maior

UHDTV 8K 7680 × 4320 33.177.600 96 vezes maior

4

Figura 1: Comparativo gráfico entre resoluções de modelos de TV (Extraído de WikiMedia Commons, http://pt.wikipedia.org/wiki/Ficheiro:UHDTV.svg, acesso em 19 de Setembro de 2012)

A NHK 1 , emissora japonesa de sinais televisivos e de rádio, é a

precursora das pesquisas e desenvolvimento da tecnologia UHD, trabalhando

na área desde 1995 [1]. Em Outubro de 2004, a empresa apresentou duas

câmeras: Uma capaz de captar imagens na chamada Ultra HD 4K e outra já

na resolução 8K [4]. Entretanto, o alto custo de fabricação de câmeras como

estas, capazes de capturar imagens nesta faixa de resolução, inviabiliza a sua

atual utilização em larga escala. Na Figura 2, pode-se ver um destes

protótipos de câmera fabricados pela NHK, que utiliza três sensores CMOS

de 33 megapixels cada. Para efeitos comparativos, uma câmera digital

compacta comum possui um único sensor de, em média, 8 megapixels.

1 <http:// www.nhk.or.jp> 5

Figura 2: Protótipo de câmera UHDTV (Retirado de “Super Hi-Vision on the Horizon”, IEEE Consumer Electronics Magazine, Abril de 2012, 36-42)

Neste contexto, este projeto buscará investigar alternativas de baixo

custo para a captura e composição de imagens UltraHD 4K e 8K, através de

uma abordagem com múltiplas câmeras.

2. Objetivo

O objetivo deste projeto é investigar métodos de composição de

imagens UHDTV a partir de imagens de resoluções menores, obtidas com

câmeras de custo mais baixo e através de softwares livres. Uma meta é

capturar múltiplas imagens simultaneamente, através de um arranjo de

câmeras, para formar uma única imagem panorâmica de alta resolução

através de técnicas de mistura de bordas adequadas. Outra meta é utilizar o

mesmo método para formar imagens em resoluções de 4K (3840 × 2160

pixels). Estas imagens de ultra alta resolução visam aplicações em sistemas

de telepresença imersiva, e são esperadas obter contribuições nas áreas de

TV Digital e de vídeo 3D.

6

3. Metodologia

Para capturar as imagens, foram utilizadas câmeras posicionadas em

uma matriz que permitiu que cada uma delas captasse uma parte do cenário

teste, possibilitando a união posterior das fotografias individuais em uma

única imagem de ultra alta resolução. A Figura 3 mostra uma simulação do

processo, identificando câmeras de 1 a 12 e mostrando qual parte da imagem

cada câmera seria responsável por capturar.

Figura 3: Simulação de composição de cenário utilizando imagens de 12 câmeras (Fotografia original extraída de WikiMedia Commons,

http://upload.wikimedia.org/wikipedia/commons/4/46/Greenland_scenery.jpg, acesso em 29 de Setembro de 2012)

Para realizar esta captura, utilizamos 4 câmeras Dragonfly 2 2 da

empresa Point Grey3 arranjadas primeiramente em uma estrutura de 1 linha

por 4 colunas e posteriormente 2 linhas por 2 colunas, conforme mostrado na

Figura 4, utilizando o software de captura projetado por Adenilson Tomé [5]. O

2 < http://www.ptgrey.com/products/dragonfly2/dragonfly2_firewire_camera.asp> 3 < http://www.ptgrey.com/>

7

mesmo método se aplica a disposições matriciais de mais câmeras, tendo

como único fator limitante o número de equipamentos disponíveis.

Figura 4: À esquerda, disposição das 4 câmeras FireWire em matriz 1x4 e à direita, em matriz 2x2.

Para que as imagens sejam costuradas de maneira eficiente, é

necessário que haja uma área em comum entre as fotografias individuais

adjacentes, que sirva tanto como margem de erro como para guiar em quais

pontos as fotografias devem ser unidas. A Figura 5 mostra esta área de

segurança, destacada em verde.

Figura 5: Evidência das áreas em sobreposição (Fotografia original extraída de WikiMedia Commons, http://upload.wikimedia.org/wikipedia/commons/4/46/Greenland_scenery.jpg, acesso em 29 de

Setembro de 2012) 8

Não há um valor mínimo ou máximo para o tamanho desta área.

Utilizaremos uma sobreposição de torno de 40%, pois, desta forma, haverá

margem suficiente para a orientação necessária e não haverá grande perda

da resolução individual, o que ocorreria com margens superiores a este valor.

A composição da imagem foi feita com a biblioteca PanoTools [6] e

suas funções através da interface do software Hugin [7]. Foram utilizados

seus métodos de costura das imagens, considerando possíveis correções de

balanço de branco, brilho, saturação e contraste.

Após o estudo e análise de viabilidade, foram realizadas as

composições das imagens com as amostras capturadas. Em seguida, foram

analisada a eficiência gráfica (verossimilhança com a realidade), recursos de

hardware necessários, tamanho final das imagens e possibilidades de

compressão. Foi avaliada também a possibilidade de utilizar as imagens

estáticas para gerar vídeos curtos em resolução UHDTV-4K.

4. Atividades Realizadas

4.1. Pesquisa e familiarização com as bibliotecas PanoTools

O Panorama Tools, também conhecido como The PanoTools, é um

conjunto gratuito de programas e bibliotecas originalmente escrito pelo

professor Helmut Dersch. O PanoTools fornece um framework poderoso para

redefinir e unificar várias imagens em vários tipos de panoramas imersivos.

Helmut iniciou o desenvolvimento do PanoTools em 1998, produzindo

um dos mais versáteis e eficazes softwares para construir panoramas e

outros tipos de imagens, mas precisou abandonar o desenvolvimento em

2001 devido a pressões legais e acusações de infrações de patentes. Após o

9

abandono do desenvolvimento pelo Prof. Helmut, os membros do grupo de

discussão do projeto continuaram o desenvolvimento, implementando

melhorias e expansões da biblioteca por conta própria. O projeto foi movido

para a plataforma SourceForge e desde então, está disponível para a

utilização de forma aberta e livre [8].

O PanoTools é uma coleção de várias ferramentas voltadas para a

manipulação de imagens de formato panorâmico e para a criação de objetos

em 3D. Os softwares inclusos no pacote são:

Tabela 2: Tabela dos softwares e bibliotecas inclusos no pacote PanoTools [8]

PTEditor Editor de Panoramas interativo programado na

linguagem Java.

PTPicker

Interface gráfica utilizada para selecionar pontos de

costura, necessários para unificação de diferentes

imagens.

PTCrypt Ferramenta Java para preparar as imagens

panorâmicas para serem exibidas na interface web.

PTStitcher

Ferramenta de costura de imagens que remapeia,

ajusta e combina imagens arbitrárias para visualizações

panorâmicas.

PTmender Software open source em substituição ao PTStitcher.

PTOptimizer Ferramenta para otimizar os pontos de controle em

múltiplas imagens.

10

PTStereo Cria objetos tridimensionais a partir de duas ou mais

imagens estereoscópicas.

PTInterpolate

Ferramenta utilizada para interpolar imagens obtidas de

diferentes posições, criando possíveis visualizações de

qualquer posição intermediária.

PTMorpher Ferramenta utilizada para criar transformações

intermediárias (unificação) entre diferentes imagens.

PTAverage

Realiza análise de diferentes imagens do mesmo objeto

para redução do ruído. Utilizado principalmente para

melhorar a qualidade de imagens obtidas por scanner.

PTStripe Combina diferentes imagens em uma única imagem em

formato de tira.

Plugins Plugins de correção de imagens para os softwares

Photoshop, GraphicConverter e GIMP.

Biblioteca pano12

A biblioteca utilizada pelos vários softwares citados,

sejam programas somente utilizáveis via linha de

comando ou por interface gráfica. Pode ser chamado

pano12.dll, libpano12.so, libpano12.dylib ou pano12.lib,

dependendo do sistema operacional utilizado.

11

4.2. Requisitos para o projeto

a) Computador com um dos seguintes sistemas operacionais: BSD, Linux,

Windows ou OS. Em termos de hardware, a CPU não é um fator limitante

para a execução do projeto, porém é desejável que seja utilizado um

computador com um processador potente, uma vez que unificar e distorcer

imagens é um processo que requer considerável poder de processamento.

Uma CPU menos potente não impediria a execução, porém o tempo de

espera para obtenção da imagem final seria elevado. Já a memória RAM

mostra-se como o fator mais importante no processo. Ao manipular uma

imagem, o software frequentemente precisa armazenar a imagem em

formato sem compressão na memória. Desta forma, ao processar uma

imagem de 3 Megapixels (2048 × 1536), esta ocupa cerca de 24MB de

RAM. As câmeras utilizadas neste projeto geram imagens na resolução

máxima de 1024 × 768 pixels. Para possibilitar o processamento de uma

imagem nesta resolução, aproximadamente 10MB de RAM seriam

utilizados. No caso de um arranjo de 12 câmeras, um mínimo de 120MB

seriam dedicados exclusivamente às imagens. Somados aos processos do

sistema operacional e softwares carregados, é recomendado a utilização

de ao menos 2GB de RAM. Para o armazenamento de arquivos de

trabalhos temporários e arquivos finais, um disco rígido é necessário.

Estima-se que 10GB sejam suficientes para tal fim [9].

b) Câmeras para obtenção das imagens. Estas podem variar conforme a

necessidade e disponibilidade do executor do projeto. Para o objetivo de

gerar imagens na resolução 4K, é necessário que a soma das resoluções

individuais de cada uma das câmeras, com a remoção da margem de

12

segurança de cerca de 40%, seja igual ou superior a 3840 × 2160 pixels.

O número de câmeras necessárias pode ser determinado pela fórmula:

𝑛𝑛 ≥𝑎𝑎 ∗ 𝑏𝑏

𝑥𝑥 ∗ 𝑦𝑦 ∗ 0.6

Sendo 𝑛𝑛 o número de câmeras necessárias, 𝑎𝑎 e 𝑏𝑏 o número de pixels de

resolução horizontal e vertical, respectivamente, da resolução final de

imagem que deseja ser criada e 𝑥𝑥 e 𝑦𝑦 o número de pixels de resolução

horizontal e vertical, respectivamente, da câmera que será utilizada para

obter as imagens. A resultante 𝑛𝑛 deverá ser um número inteiro, portanto, o

resultado deverá ser arredondado para cima para o inteiro mais próximo.

4.3. Método utilizado – A Costura

4.3.1. Introdução

“Costura” é o processo de criar uma única imagem através da

unificação de várias outras. O desenvolvimento deste projeto baseia-se

em mostrar que, através da costura realizada de maneira adequada,

poderemos alcançar imagens de ultra-alta definição.

4.3.2. Diretrizes para obtenção de imagens

a) Margens adequadas: Conforme apresentado anteriormente, é

necessário que as fotos contenham uma margem de sobreposição

apropriada, para que haja margem de erros de correção de

exposição e vinheta, além de uma margem para orientação de

quais pontos devem ser utilizados como guias para a costura. As

Figuras 6, 7 e 8 ilustram problemas de diferença de exposição,

presença de vinheta e evidências de margem comum e pontos-guia,

respectivamente. 13

Figura 6: À esquerda, fotografia com tempo de exposição demasiadamente curto, causando uma imagem obscurecida. À direita, imagem corrigida. (Fotografia original extraída de PanoTools Wiki,

http://wiki.panotools.org/images/2/2f/Img08231.jpg, acesso em Março de 2013)

Figura 7: À esquerda, fotografia apresentando o fenômeno de vinheta, causando uma imagem obscurecida nas bordas. À direita, imagem corrigida. (Fotografia original extraída de PanoTools Wiki,

http://wiki.panotools.org/images/2/2f/Img08231.jpg, acesso em Março de 2013)

Figura 8: Evidência em verde da margem em comum entre duas imagens e destaque em vermelho de alguns pontos em comum em ambas que podem ser utilizados como pontos-guia para a costura.

(Fotografias originais extraídas de PanoTools Wiki, http://wiki.panotools.org/images/2/2f/Img08231.jpg e http://wiki.panotools.org/images/2/26/Img08232.jpg, acesso em Março de 2013)

14

b) Tempo de captura: Neste projeto, as imagens foram obtidas no

mesmo instante de tempo através de sincronização das câmeras

pelo software projetado por Adenilson Tomé [5]. Entretanto, no caso

de imagens obtidas em diferentes instantes, é necessário atentar

para objetos móveis, como nuvens, pessoas ou veículos transitando.

Nestes casos, devem-se obter imagens de tal forma que os objetos

móveis não bloqueiem partes do cenário que deseja ser registrado.

As margens de segurança supracitadas são normalmente

suficientes para corrigir este problema.

c) Tempo de exposição: O tempo de exposição deve ser

manualmente ajustado para o mesmo valor em todas as câmeras

ou em todos os momentos fotografados. Deve-se atentar para áreas

de superexposição ou subexposição, causando perda de

informações. Um fotômetro pode ser utilizado para auxiliar na

medição da quantidade de luz no ambiente e o tempo de exposição

adequado.

d) Foco: O foco deve ser manualmente ajustado para a mesma

distância focal em todas as câmeras ou em todos os momentos

fotografados. O modo automático, caso presente, não deve ser

utilizado.

e) Abertura: Deve-se utilizar a mesma abertura de diafragma em

todas as câmeras ou momentos fotografados. Caso contrário, cada

imagem capturada terá uma vinheta diferente, uma vez que este

fenômeno é influenciado pelo diâmetro da abertura. Deve-se

15

também buscar manter a abertura em um intervalo tal que a

profundidade de campo seja suficiente para manter em foco todo o

objeto ou cenário desejado. Este intervalo normalmente encontra-se

ótimo entre f/8 e f/11 e gera imagens nítidas.

f) Qualidade de imagem: Deve-se sempre capturar as imagens de

trabalho na maior resolução e melhor qualidade que o dispositivo de

captura permitir. Caso haja grande compressão de imagem e perda

de informações nos passos intermediários de processamento, a

perda de qualidade se acumularia entre as etapas, causando um

resultado final de qualidade indesejável para os padrões UHD.

4.3.3. Remapeamento

Remapeamento é o processo que alterar a geometria da imagem de

maneira que imagens adjacentes possam ser costuradas de maneira

eficaz e verossímil. Este passo depende do alinhamento, que é o

processo de encontrar as posições relativas corretas entre todas as

imagens que deverão compor a imagem final. Este processo pode ser

dividido em 3 etapas:

a) Transformação de imagem plana para esférica: A imagem da

câmera precisa ser transformada para um espaço esférico,

visualizado como uma projeção de uma câmera virtual, invertendo o

caminho da luz até uma esfera. Isto se mostra necessário, pois para

reduzir o tamanho real do objeto para este ser capturado no sensor

da câmera, lentes esféricas são utilizadas. Logo, uma imagem

originalmente capturada encontra-se em um plano esférico. Como

16

na costura buscamos alcançar o efeito de uma única imagem

capturada por uma única câmera, é preciso obter novamente a

imagem no formato esférico e costura-las desta perspectiva. Esta

etapa é ilustrada na Figura 9.

Figura 9: Processo de reversão da luz –Transformação de figura plana para plano esférico. (Fotografia original extraída de PanoTools Wiki, http://wiki.panotools.org/Remapping, acesso em

Março de 2013)

b) Alinhamento relativo: Devido a processos de distorção geométrica

das lentes fotográficas, as imagens apresentam arredondamentos

(barrel distortion) nas bordas, impedindo o alinhamento correto

durante a costura. Para corrigir este fenômeno, são marcados pares

de pontos em comum dentro das margens de erro nas imagens

adjacentes a serem costuradas e as distâncias entre estes pontos

são minimizadas em uma média entre as imagens, de maneira a

otimizar o alinhamento geral. Estes pontos devem ser escolhidos de

forma a ligar vértices bem definidos, para que estes mesmos

vértices sejam escolhidos na imagem adjacente. Vértices de retas 17

que formem ângulos agudos ou retos são escolhas viáveis. Neste

projeto, esta etapa não se mostra necessária, uma vez que o

software de captura projetado por Adenilson Tomé já realiza esta

correção [5]. Entretanto, imagens capturadas diretamente de

câmeras convencionais ou através de outros softwares necessitam

da correção. O processo se ilustra na Figura 10.

Figura 10: Processo de alinhamento de pontos. Cada par de pontos é representado por uma cor diferenciada. (Fotografia original extraída de PanoTools Wiki, http://wiki.panotools.org/Remapping,

acesso em Março de 2013)

c) Projeção Plana: Imagens em ambientes computacionais são

planas, portanto, é necessário remapear a imagem esférica para um

plano. Há várias maneiras de remapeamento. Neste projeto,

utilizaremos a projeção retilínea, que pode ser definida como uma

projeção óptica, usando uma fonte de luz pontual no centro da

esfera. Esta etapa é ilustrada na Figura 11.

18

Figura 11: Projeção esférica para o plano. (Fotografia original extraída de PanoTools Wiki, http://wiki.panotools.org/Remapping, acesso em Março de 2013)

O processo de remapeamento é primordial para que o resultado final

seja condizente com a imagem real. A Figura 12 mostra um comparativo

entre a simples sobreposição de imagens, que gera problemas de retas

adquirindo características curvas, ângulos relativos de retas alterados e

falhas na junção, e imagens unificadas após o processo de

remapeamento.

Figura 12: Comparação entre costura não remapeada (esquerda) e remapeada (direita). As retas representadas em vermelho foram corrigidas de concorrentes para paralelas e as curvas em verde

foram corrigidas para retas. (Fotografias originais extraídas de PanoTools Wiki, http://wiki.panotools.org/Remapping, acesso em Março de 2013)

19

4.3.4. Mescla

A linha de junção entre as imagens deve ser então suavizada de forma

que sua presença se torne imperceptível para o visualizador final [10]. A

Figura 13 mostra o resultado final de uma costura feita seguindo

corretamente todos os procedimentos apresentados.

Figura 13: Costura de duas imagens realizada corretamente. (Fotografia extraídas de PanoTools Wiki, http://wiki.panotools.org/images/a/a1/Img0823xstitch6crop.jpg, acesso em Março de 2013)

4.4. Interface Gráfica - Hugin

4.4.1. Introdução

O Panorama Tools, na maior parte de suas ferramentas, é composto

por softwares que trabalham através de linhas de comando. Apesar de

eficiente, este método é pouco prático, pois não permite a visualização

imediata das alterações e ajustes realizados. Por isto, existem diversos

programas que servem como interface gráfica para o Panotools, agindo

como uma “ponte” entre o visual e a linha de comando. O software

20

utilizado no presente projeto é o Hugin, por apresentar uma interface

intuitiva, de fácil aprendizado e por ser um projeto que está atualmente

ativo [7].

4.4.2. Apresentação da Interface

A versão utilizada neste projeto foi a 2012.0.0 – 64bit – Python Enabled.

Para utilizá-la, é necessário instalar a linguagem de programação Python

em sua versão 3.2.3 [11]. Nesta seção, serão apresentadas as abas que

guiaram o processo de costura das imagens.

a) Assistente

Nesta aba, as imagens a serem trabalhadas são carregadas no

software. Nesta mesma, também é possível gerar uma tentativa de

automatizar o processo. Foram realizados testes com três diferentes

conjuntos de imagens e somente em um caso a automatização gerou

resultados finais satisfatórios. Portanto, o processo manual é

recomendado. A aba pode ser visualizada na Figura 14.

21

Figura 14: Aba “Assistente” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

b) Imagens

Nesta aba, todas as manipulações referentes às imagens podem

ser realizadas. É possível: adicionar mais fotos; alterar a ordem na qual

são exibidas durante o fluxo de trabalho; visualizar informações EXIF

de cada imagem individualmente; alterar a posição, inclinação e nas

quais cada uma das imagens será inserida na costura final e definir

uma das imagens como âncora, ou seja, torna-la fixa e alinhar todas as

outras em função desta. É desejável que a imagem âncora seja aquela

na qual o objeto principal da imagem final desejada esteja presente. A

aba pode ser visualizada na Figura 15.

22

Figura 15: Aba “Imagens” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

c) Câmera e Lente

Nesta aba, são realizadas a identificação das configurações das

lentes e câmeras utilizadas para obter cada uma das imagens

individualmente adquiridas. No caso de a câmera suportar tags EXIF, o

software automaticamente reconhecerá todas as especificações da

lente e câmera e ajustará os campos de acordo. Caso as tags EXIF

não estejam presentes, é possível adicionar manualmente cada um

dos campos e salvá-los para utilização futura. Os campos disponíveis

são separados em aspectos geométricos e fotométricos. Ângulo de

visão; distância focal; fator de corte; distorção de tipo radial; 23

deslocamento horizontal e vertical do centro da imagem e cisalhamento

da imagem são categorizados como aspectos geométricos. Os

fotométricos dividem-se em: exposição, multiplicador vermelho,

multiplicador azul, vinheta, deslocamento do centro de vinheta e

reposta da câmera. A aba pode ser visualizada na Figura 16.

Figura 16: Aba “Câmera e Lente” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

d) Cortar

Nesta aba, é possível realizar cortes nas margens de cada uma

das imagens individualmente adquiridas. Ajustes individuais nas

margens superior, inferior, esquerda e direita são possíveis, assim

24

como cortar concomitantemente as margens diretamente opostas. A

aba pode ser visualizada na Figura 17.

Figura 17: Aba “Cortar” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

e) Máscara

Nesta aba, é permitido selecionar áreas em cada uma das imagens

individuais para receberem tratamento diferenciado. É possível

escolher determinada área que deve, obrigatoriamente, estar presente

na imagem final (região de inclusão) e áreas que devem ser excluídas

da imagem final (região de exclusão). Regiões de inclusão são úteis

em casos que determinada parte da imagem é de crucial importância

para o objeto ou cenário desejado, como, por exemplo, a fachada de 25

um prédio. Regiões de exclusão são úteis em situações como objetos

móveis, como veículos ou transeuntes, estão presentes em uma das

imagens individuais e são indesejados da imagem final. É importante

ressaltar que, para que isto seja possível, é necessário que a área

coberta pelo objeto desejado em uma das imagens esteja presente na

área contida dentro da margem de segurança de outra imagem. A aba

pode ser visualizada na Figura 18.

Figura 18: Aba “Máscara” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

f) Pontos de Controle

Nesta aba, são escolhidos os pontos de controle, principal

configuração necessária para uma costura bem sucedida. As imagens 26

que possuem margens de segurança compartilhadas são visualizadas

lado e lado e os pontos de controle são inclusos, um a um, pelo usuário,

de maneira que coincidam nas duas janelas. A cada ponto é atribuído

uma coordenada cartesiana e a distância entre os pontos adjacentes.

Não há limite máximo ou mínimo de pontos que devam ser escolhidos.

Porém, é recomendado que sejam inclusos, ao menos, 6 pares. A aba

pode ser visualizada na Figura 19.

Figura 19: Aba “Ponto de Controle” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

g) Otimizador

Nesta aba, são realizadas as otimizações de posição e translação

dos pontos, processo anteriormente identificado como “remapeamento”. 27

O Hugin é capaz de automaticamente otimizar os pontos, porém é

possível, caso necessário, realizar alterações manuais em cada um

dos ajustes, divididos em: orientação das coordenadas x, y e z;

guinada; inclinação; distorção em formato de barril e deslocamento nas

coordenadas x e y. A aba pode ser visualizada na Figura 20.

Figura 20: Aba “Otimizador” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

h) Exposição

Nesta aba, é possível realizar correções de exposição, balanço de

branco e correções de vinheta em cada uma das imagens individuais.

É possível escolher otimizações pré-configuradas para preservar áreas

de baixa faixa dinâmica (contraste baixo) ou alta faixa dinâmica 28

(contraste alto) e intermediários entre estes. Caso necessário, também

é possível alterar cada um dos parâmetros manualmente. A aba pode

ser visualizada na Figura 21.

Figura 21: Aba “Exposição” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

i) Pré-visualização

Nesta janela, é possível visualizar uma prévia das configurações

escolhidas antes da costura final para verificação se estão de acordo

com o esperado. Esta janela pode ser vista na Figura 22.

29

Figura 22: Janela de Pré-Visualização da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

j) Montador

Esta é a aba responsável por coletar todas as informações

anteriormente incluídas e montar (costurar) a imagem final. Uma

grande gama de configurações é possível: Tipo de projeção, campo de

visão, tamanho do panorama (em pixels), corte da imagem final para

remoção de áreas em branco, correção de faixa dinâmica, formato final

da imagem, compressão desejada e homogeneizador de cores. A aba

pode ser visualizada na Figura 23.

30

Figura 23: Aba “Assistente” da interface do Hugin – Versão 2012.0.0. (Imagem extraída diretamente do software)

4.4.3. Costura-Teste

Foi realizada uma costura com imagens de teste disponibilizadas no

website do Hugin4 através dos passos anteriormente descritos. Correções

de perspectiva, exposição e vinheta foram realizados. As imagens iniciais,

resultado parcial e resultado final são exibidos nas figuras 24 a 26.

4 http://hugin.sourceforge.net/tutorials/multi-row/en.shtml 31

Figura 24: Conjunto de imagens utilizadas para o teste de costura (Fotografias extraídas de Hugin SourceForge, http://hugin.sourceforge.net/tutorials/multi-row/en.shtml, acesso em Março de 2013)

Figura 25: Costura realizada com as correções especificadas

Figura 26: Imagem final, com o corte de áreas não preenchidas pelas imagens originais

32

4.5 Captura de imagens e costura

Tendo realizada a familiarização com as ferramentas e a possibilidade

de sua utilização para os fins desejados com as imagens de teste, foram

iniciados efetivamente os testes com captura de imagens com as câmeras

DragonFly 2. Pelo fato de as câmeras estarem dispostas e presas a um

suporte metálico e por limitações da universidade, cujo patrimônio não

pode ser retirado de suas dependências, os testes foram todos realizados

dentro do laboratório de pesquisa multimídia do Núcleo de Tecnologias

Audio-Visuais Imersivas & 3D (NAVI3) da UFABC. O laboratório possui boa

iluminação natural devido à presença de ampla janela, possuindo apenas

cobertura parcial por uma persiana metálica. Durante os horários de

captura, a luz do sol adentrava de maneira direta no laboratório. Com este

ambiente, foram realizados testes para obter as imagens conforme

orientações descritas na sessão 4.3.2 deste relatório, livres de problemas

de sub/superexposição e outros. Os resultados ótimos foram encontrados

através de testes realizados em tempo real, utilizando para visualização da

alterações o software FlyCapture2 Camera Control 2.1.3.4 de propriedade

da Point Grey Research, parte do FlyCapture SDK 5. As configurações

ótimas, que exibiam as imagens com maior verossimilhança, mostraram-se

as seguintes:

Brightness: +0.00%

Exposure: 0.899

Sharpness: 1529

Hue: 0,000 deg

5 < http://ww2.ptgrey.com/sdk/flycap> 33

Saturation: 100.00%

Gamma: 1,000

Iris: 256

Pan/Tilt: 0

Shutter: Automático

Gain: 0,000 dB

Frame Rate: 1fps

White Balance (Red): 540

White Balance (Blue): 650

Determinadas as configurações ótimas, estas foram repetidas nas

quatro câmeras disponíveis para captura. Também foi necessário realizar

padronizações de taxas de atualização em quadros por segundo, espaço

de cor e resolução das imagens gravadas. A taxa de atualização de

quadros por segundo máxima permitida por cada uma das câmeras

depende do tipo e resolução das câmeras utilizadas. O padrão DCAM

especifica um número específico de bytes-por-pixel (Bpp) para cada

combinação de formato de vídeo/modo de captura/taxa de quadros por

segundo [12]. Para determinar com precisão se há ou não largura de banda

o bastante disponível para a configuração desejada, é preciso realizar

alguns cálculos. Por exemplo, uma câmera capturando imagens com

resolução de 640×480 no modo de cor Y16 a 15 fps (quadros por segundo)

envia 640 pixels por pacote. Cada pixel consiste de 16 bits (ou 2 bytes) de

dados. Portanto, a câmera está enviando 640*2 = 1280 Bpp de dados. O

máximo suportado para um barramento 1394a para um único pacote a este

34

fps são 4096 Bbp. Por este motivo, com estas configurações, um máximo

de 3 câmeras simultâneas (4096/1280, com arredondamento para baixo)

poderiam funcionar de forma síncrona. A fim de possibilitar a utilização das

quatro câmeras simultaneamente em um mesmo barramento FireWire

1934a, capturando imagens na resolução máxima disponível de 1024×768

pixels e no espaço de cor RGB, isento de perdas, foi preciso configurá-las

para funcionarem com taxa de atualização de 1.875 Hz – 1 fps.

A fim de sincronizar as quatro câmeras para captura simultânea de

imagens, o software PGR MultiSync6, da Point Grey Research, foi utilizado.

Em seguida, as câmeras foram dispostas em matriz 1x4 e ajustadas por

rotação em torno do eixo vertical, possibilitada pela bases giratórias móveis

na qual as câmeras estão fixadas. Com auxílio de visualização em tempo

real pelo software FlyCapture2, cada câmera foi rotacionada até exibir uma

fração diferente do cenário teste (laboratório), contando com a margem de

segurança. O ângulo em relação à horizontal foi padronizado através de

nivelador embutido na base, conforme mostra a Figura 27:

Figura 27: Em evidência, o nivelador da base fixadora das câmeras

6 <http://www.ptgrey.com/products/multisync/> 35

As lentes acopladas nas câmeras oferecem foco manual e distância

focal variável, como recomendado pelas diretrizes de captura de imagens.

A distância focal das lentes varia entre 3.5 e 8 mm. Foram realizadas

capturas nos dois extremos possíveis. A principal vantagem de utilizar a

distância focal mínima, 3.5 mm, é que o campo de visão disponível a esta

distância é maior. Ou seja, é possível capturar, em uma mesma foto, mais

área real do cenário fotografado. Por outro lado, quanto menor a distância

focal, maior a distorção geométrica em forma de barril gerada, o que

dificultou a costura verossímil de imagens capturadas a esta distância,

gerando curvas no lugar de retas e causando desconforto visual ao

observar os resultados finais. Por outro lado, ao fotografar à distância focal

máxima permitida pelas lentes utilizadas, 8 mm, a distorção geométrica foi

substancialmente reduzida, possibilitando costuras mais verossímeis.

Porém, menos área real pôde ser retratada na costura final, necessitando o

afastamento das câmeras do cenário, caso haja a necessidade de incluí-lo

por completo na composição.

Ao carregar as imagens geradas no software Hugin, por falta de

informações no EXIF nos arquivos, o software foi incapaz de

automaticamente reconhecer os dados da lente. Portanto, foi necessário

inserir manualmente os valores de distância focal e multiplicador de

distância focal (crop factor). A distância focal varia conforme configuração

manual da lente, portanto, pôde ser determinada facilmente em cada um

dos experimentos. O multiplicador de distância focal foi determinado

experimentalmente e o valor determinado como ótimo foi de 7.21x. Estas

configurações foram salvas como um padrão no Hugin para utilização em

36

costuras posteriores. O processamento das imagens foi realizado em um

computador com as seguintes configurações: Processador Intel Core i5 650

– 3.2 GHz, 8 GB de memória RAM DDR3, sistema operacional Windows 7

64 bits. Todas as imagens, tanto as capturas individuais como a costura

final, foram salvas no formato .PNG, por este ser um formato lossless (livre

de perdas). O software Hugin possibilita a escolha do formato JPEG para a

costura final, permitindo a configuração do grau de compressão aplicado à

imagem. Em uma escala de compressão de 0 a 100, foi verificado que

valores inferiores a 70 geram imagens com ruídos indesejados para a

finalidade de utilização em altas resoluções.

Na próxima seção, serão mostradas 5 das várias sessões de captura

realizadas, analisando seus problemas e possibilidade de aplicação para

os fins desejados.

37

4.5.1 Captura I

Imagens individualmente capturadas:

Figura 28: Capturas individuais – Captura I

Costura Final:

Figura 29: Costura Final – Captura I

Análise: A costura final apresentou diversos problemas. Devido à alta distorção em

forma de barril presente em distâncias focais curtas, o Hugin não foi capaz de

reconhecer com pleno sucesso as junções entre as figuras individuais, mesmo com

elevado número de pontos de controle. Algumas linhas ainda mostraram-se curvas,

principalmente as próximas ao teto. O cano ao lado esquerdo da figura apresentou

38

descontinuidade. Os armários ao fundo apresentaram aparência “estufada”. Alguns

artefatos indesejáveis de cor foram introduzidos, como a área esverdeada no centro-

inferior da imagem. Os resultados não foram satisfatórios para utilização em UHD 4K.

4.5.2 Captura II

Imagens individualmente capturadas:

Figura 30: Capturas individuais – Captura II

Costura Final:

Figura 31: Costura Final – Captura II

39

Análise: Os resultados foram melhores em relação aos da Captura I, devido ao

melhor alinhamento vertical das câmeras. A imagem apresenta melhor

verossimilhança, porém, os problemas devido à distorção em forma de barril ainda

mostram-se presentes, muito evidentes na parte central da imagem, com canos e

divisões do piso curvilíneas. O resultado pode ser utilizável em UHD 4K em alguns

casos, onde o efeito de distorção é desejável, como em vídeos artísticos.

4.5.3 Captura III

Imagens individualmente capturadas:

Figura 33: Capturas individuais – Captura III

Costura Final:

Figura 34: Costura Final – Captura III

40

Análise: Com a distância focal em 8 mm, a distorção em forma de barril foi

significantemente reduzida, melhorando grandemente a qualidade da costura em

verossimilhança. Não foram identificados problemas nas adjacências das imagens,

de forma que a junção ocorre de maneira suave e sutil, tornando imperceptível que a

origem da imagem final são diferentes imagens individuais. O problema encontrado

é que, devido à grande superposição de imagens pela margem de segurança, a

costura final obteve aumento de resolução menos significativo relativo à resolução

individual de cada câmera. Assim, a fim de obter imagens aptas a atuarem no

padrão UHD 4K, seriam necessárias mais capturas individuais.

4.5.4 Captura IV

Imagens individualmente capturadas:

Figura 35: Capturas individuais – Captura IV

Costura Final:

Figura 36: Costura Final – Captura IV

41

Análise: Utilizando uma matriz 2×2, busca-se obter uma costura final mais próxima a

uma imagem que seria capturada por uma única câmera, em vez de uma imagem

panorâmica. Novamente, ao realizarmos capturas com a distância focal de 3.5 mm,

a distorção em forma de barril mostra-se forte empecilho para alcançar a

verossimilhança. O teto mostra-se claramente curvilíneo e os armários distorcidos. O

resultado final não é aconselhável para utilização UHD.

4.5.5 Captura V

Imagens individualmente capturadas:

Figura 37: Capturas individuais – Captura V

Costura Final:

Figura 38: Costura Final – Captura V

Análise: Conforme esperado, utilizando a distância focal de 8 mm, a distorção

geométrica foi significantemente reduzida, possibilitando uma costura final com mais

verossimilhança. Na presente captura, os resultados foram satisfatórios, com

exceção de leve distorção perceptível no alinhamento dos armários. Isto se deu pois

42

as câmeras, a fim de captar diferentes partes do cenário, foram rotacionadas em vez

de transladadas. Isto gera um ponto de vista diferente de cada câmera, contrariando

o ideal de uma captura frontal de cada trecho do cenário.

43

5. Discussão de Resultados

Foi observado, em todas as séries de captura, que o maior problema

na aplicação do método para o objetivo de utilização para criação de imagens

em UHD é a distorção geométrica em forma de barril, pois esta possui difícil

correção com base em software e gera imagens com pouca semelhança com

a realidade, causando desconforto ao visualizador. Este é um forte problema,

pois fornece justamente o contrário almejado e buscado para o padrão UHD,

que é o máximo de imersão no conteúdo. Este efeito foi substancialmente

reduzido ao utilizarmos a distância focal máxima permitida pelas lentes

utilizadas, 8 mm. Por este motivo, não é recomendada a utilização de lentes

com distâncias focais rasas, ou seja, lentes grande-angulares. Entretanto, é

importante ressaltar que os valores de distância focal estão intimamente

ligados ao crop fator (multiplicador de distância focal) do respectivo sensor da

câmera escolhida para realizar o processo. Assim, pode-se generalizar a

recomendação de que devem ser utilizadas combinações lente vs. sensor que

ofereçam captação de imagens com campo de visão horizontal, no máximo,

30º.

Na Tabela 2, foram sumarizados dados relevantes das séries de

captura:

44

Tabela 2: Dados e análise de séries de captura

Na tabela, estão discriminados valores de: distância focal; razão de

tamanho de arquivo, ou seja, a soma dos tamanhos das imagens individuais

utilizadas para a costura e a imagem final; formato da matriz de arranjo das

câmeras; resolução resultante da costura; o aumento relativo da imagem final

à resolução máxima de captura individual (neste caso, 1024×768); perda da

resolução máxima, ou seja, se não houvesse perdas pelas margens de

sobreposição de segurança e o preenchimento percentual de resolução 4K,

ou seja, o quão próxima a costura final ficou de alcançar a resolução para o

padrão 4K.

Com base nesta súmula de dados, pode-se notar que, em todos os

casos, foi obtida uma imagem com resolução significativamente maior que a

resolução individual de cada câmera. Entretanto, também é evidente o

aumento da perda de resolução máxima nas séries de captura que tiveram

resultados mais positivos. Isto se dá pois, nestas costuras, foram descartadas

partes maiores das bordas das imagens, que são mais suscetíveis às

Captura Distância Focal

Razão Tamanho (Soma / Costura)

Matriz Resolução Resultante

Aumento relativo à resolução individual

Perda de resolução máxima

Preenchimento de resolução

UHD 4K

I 3.5 mm 1.004 1×4 2626×1114 3.72 x 7,01% 35,27%

II 3.5 mm 1.025 1×4 2291×1104 3.21 x 19,60% 42,22%

III 8 mm 0.577 1×4 2343×912 2.72 x 32,07% 25,76%

IV 3.5 mm 0.388 2×2 1113×1324 1.87 x 53,15% 17,77%

V 8 mm 0.299 2×2 911×1486 1.72 x 56,96% 16,32%

45

distorções geométricas que causam estranheza visual. Por este motivo, foram

as séries com menos preenchimento percentual de resolução 4K.

Também pode-se observar que, na configuração matricial ideal 2×2,

houve perda muito mais significante de resolução. Isto ocorre pois,

diferentemente da disposição linear, neste caso há também perda de

resolução pelas margens de segurança nas bordas inferiores e superiores.

Isto mostra que a resolução de 1024×768, oferecida pelas câmeras Dragonfly

2, é muito baixa para gerar imagens 4K, devido à alta porcentagem de perdas

em disposições de matrizes com mais de uma linha. Câmeras com resoluções

superiores a 8 MegaPixels seriam mais recomendadas, pois as perdas,

apesar de grandes relativamente, seriam pequenas quantitativamente, não

impossibilitando a geração de imagens finais de no mínimo 3840 × 2160

pixels.

Outro fator importante para a determinação da validade da técnica é,

além da resolução final da imagem costurada, a definição ou nitidez da

imagem. As câmeras Dragonfly 2, juntamente com as lentes oferecidas no kit

de varejo, não oferecem imagens de nitidez elevada. Isto seria um empecilho

para a utilização destas na criação de imagens efetivamente válidas para 4K,

pois faltam com o grau de definição necessários para desempenho imersivo

satisfatório.

Os tempos de processamento para a costura de cada série não

ultrapassaram 5 segundos. O consumo de memória RAM do software ficou

entre 200 e 250 MB, comprovando a hipótese inicial. Estes dados mostram

que o processo é bastante eficiente em termos de consumo de recursos.

46

A possibilidade de criar vídeos 4K através do método apresentado

neste projeto é bastante limitada, uma vez que as capturas não podem ser

realizadas em altas velocidades pelas limitações de largura de banda do

barramento, discutidas anteriormente. Para criar vídeos 4K aceitáveis, seria

necessário capturar imagens a uma taxa mínima de 29.97 quadros por

segundo. Por este método, a velocidade máxima é de 1 quadro por segundo,

taxa insuficiente para criar a sensação de movimento.

47

6. Conclusões

Através dos estudos teóricos e testes laboratoriais realizados, conclui-

se que a técnica é viável e de realização de fácil alcance para os mais

variados fins, podendo ser executada por pessoas ou organizações com ou

sem experiência em manipulação de imagens. Os requisitos para a realização

do projeto também são de fácil acesso, pela versatilidade de câmeras e

dispositivos que são capazes de capturar as imagens necessárias e pelos

baixos requisitos de hardware, tendo em vista que a configuração da maior

parte dos computadores de uso pessoal presentes atualmente no mercado

são suficientes para concretizar o projeto. Entretanto, a fim de criar imagens

satisfatórias para o padrão 4K, há limitações de resolução e qualidade mínima

de imagem individual a serem capturadas pelas câmeras.

48

7. Cronograma de Atividades de Iniciação científica

A Tabela 3 apresenta as atividades do projeto de iniciação científica.

Estas atividades foram divididas em cinco fases.

Tabela 3: Cronograma de Atividades de Iniciação Científica

Atividades Mês (a partir do início das atividades)

1 2 3 4 5 6 7 8 9 10 11 12 Fase 1: Elaboração da estrutura de disposição das câmeras, estudo de configurações ótimas e obtenção das imagens

Fase 2: Estudo das bibliotecas Panotools através da interface do Hugin

Fase 3: Composição das Imagens UHD em diversas configurações e tipos de ambientes

Fase 4: Análise dos resultados

Fase 5: Elaboração do relatório final da pesquisa

49

8. Referências

1. NAKASU, E. Super Hi-Vision on the Horizon. IEEE Consumer Electronics Magazine, p. 36-42, 2012.

2. LIST of common resolutions. Wikipedia. Disponivel em: <http://en.wikipedia.org/wiki/List_of_common_resolutions>. Acesso em: 10 Outubro 2012.

3. INTERNATIONAL TELECOMMUNICATION UNION. Parameter values for ultra-high definition television systems for production and international programme exchange, 2012. Disponivel em: <http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-0-201208-I!PDF-E.pdf>. Acesso em: 19 Setembro 2012.

4. SHIMAMOTO, H. et al. An Ultrahigh-Definition Color Video Camera With 1.25-inch Optics and 8k x 4k Pixels, 20-23 Outubro 2004. Disponivel em: <http://www.nhk.or.jp/digital/en/technical/pdf/02_3.PDF>. Acesso em: 19 Setembro 2012.

5. TOMÉ, A. J. A.; KURASHIMA, C. S. Captura e Composição de Vídeo Tridimensional a partir de Câmeras Firewire. Revista IEEE América Latina, Volume 10, Nº 1, Janeiro 2012. 1428-1432.

6. Panorama Tools. ISSN http://panotools.sourceforge.net/. Acesso em: 10 Outubro 2012.

7. Hugin - Panorama photo stitcher. Disponivel em: <http://hugin.sourceforge.net/>. Acesso em: 10 Outubro 2012.

8. PANORAMA Tools. PanoTools Wiki, 2011. Disponivel em: <http://wiki.panotools.org/Panorama_tools>. Acesso em: mar. 2013.

9. PANOTOOLS Wiki - Hardware. Panotools Wiki, 2012. Disponivel em: <http://wiki.panotools.org/Hardware>. Acesso em: mar. 2013.

10. HOW Stitching Works. Panorama Tools Wiki, 2009. Disponivel em: <http://wiki.panotools.org/How_stitching_works>. Acesso em: mar. 2013.

11. PYTHON Programming Language – Official Website. Python. Disponivel em: <http://www.python.org/>.

12. FIREWIRE camera - Interface. Wikipedia, 12 ago. 2013. Disponivel em: <http://en.wikipedia.org/wiki/FireWire_camera#Interface>.

50