Composition of UHDTV Ready Images Utilising Free Tools
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