You are on page 1of 61

TRABALHO DE GRADUAO

ANLISE COMPARATIVA DE
COMPRESSO DE IMAGENS FISHEYE,
RETILNEAS E PANORMICAS

Augusto Cavalcante Valente

Braslia, 3 de setembro de 2010.

UNIVERSIDADE DE BRASILIA
FACULDADE DE TECNOLOGIA

UNIVERSIDADE DE BRASILIA
Faculdade de Tecnologia

TRABALHO DE GRADUAO

ANLISE COMPARATIVA DE
COMPRESSO DE IMAGENS FISHEYE,
RETILNEAS E PANORMICAS

Augusto Cavalcante Valente

Relatrio submetido como requisito parcial para obteno


do grau de Engenheiro Eletricista

Banca Examinadora
Prof. Ricardo Lopes de Queiroz, Ph.D.
UnB/ ENE (Orientador)
Prof. Joo Luiz Azevedo de Carvalho, Ph.D.
UnB/ ENE (Examinador interno)
Eng. Diogo Caetano Garcia, M.Sc.
(Examinador interno)

ii

Dedicatria
famlia (de sangue e de corao).
Augusto Cavalcante Valente

iii

Agradecimentos
Agradeo ao orientador Ricardo Queiroz pelo incentivo, compreenso e puxes de orelha na
hora certa e, de maneira especial, ao co-orientador Diogo Caetano, pela pacincia infinita e
pela perspiccia demonstrada ao propor diversas solues durante o desenvolvimento deste
trabalho.
A todos que cederam cmeras e equipamentos para os experimentos, Patrcia Mollo, Clia
Cavalcante, Tito Barros e, em especial, o colega de laboratrio Edson Mintsu.
Aos colegas de curso pelo companheirismo e pelos momentos de descontrao que ajudaram
a manter a sanidade.
Finalmente, este semestre foi um tanto quanto conturbado, e sem o apoio de familiares e
amigos prximos teria sido difcil encar-lo at o final. Agradeo e dedico este trabalho a
eles, portanto.

Augusto Cavalcante Valente

iv

RESUMO
Neste trabalho analisada a performance da compresso de imagens e vdeos nos formatos de
projeo fisheye, retilnea e de panorama, levando em considerao a calibrao de lentes
fisheye. Esta feita ajustando-se a distoro radial a um modelo de diviso polinomial com
centro de distoro arbitrrio. As anlises de compresso so feitas com o padro
H.264/AVC. Na primeira anlise, compara-se a eficincia entre mapear uma sequncia do
domnio fisheye para o retilneo antes e depois de comprimi-la. Na segunda anlise, comparase, em um sistema de gerao automtica de panoramas a partir de um conjunto de imagens
fisheye, a eficincia entre gerar o panorama com imagens recm-capturadas para depois
comprimi-lo e comprimir as imagens recm-capturadas para depois formar o panorama.
Resultados indicam que, para a primeira anlise, a retificao seguida de compresso
apresenta menos perdas, e para a segunda anlise, a gerao de panoramas seguida de
compresso apresenta melhores resultados.

ABSTRACT
In this work, the compression performance of image and video in fisheye, rectilinear and
panorama projections is analyzed, taking into account the fisheye lens calibration. The latter is
achieved by fitting the radial distortion in a polynomial division model with arbitrary center
of distortion. Image and video compression analysis are performed using the H.264/AVC
standard. On a first experiment, a comparison is performed between the efficiency of mapping
a sequence from its fisheye to a rectilinear domain before and after compressing it. On a
second experiment, supposing an automated panorama generation system that uses a set of
fisheye images, a comparison is performed between the efficiency of generating the panorama
with recently captured images prior to compressing it and first compressing the images prior
to generating the panorama. Results indicate that, for the first experiment, rectification before
compression performs better, and for the second experiment, generating panoramas before
compression also performs better.

SUMRIO
1
2

Introduo .................................................................................................................... 1
Calibrao de Lentes e Formao de Panoramas ..................................................... 1
2.1
2.2
2.3
2.3.1
2.3.2
2.4
2.5
2.6
2.7

Codificao de Vdeo e o Padro H.264 ....................................................................16


3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8

Formao da Imagem .......................................................................................................................... 1


Lentes Fisheye ..................................................................................................................................... 3
Modelamento da Distoro ................................................................................................................... 6
Modelos Polinomiais ........................................................................................................................ 6
Modelos No-Polinomiais ................................................................................................................ 9
Calibrao e Correo........................................................................................................................ 10
Formatos de Panoramas .................................................................................................................... 12
Captura e Registro de Imagens para Panoramas .............................................................................. 13
Composio e Blending...................................................................................................................... 14
Espao de Cores e Subamostragem .................................................................................................. 16
Mtricas de Qualidade........................................................................................................................ 17
Estrutura de um Codec de Vdeo ....................................................................................................... 18
Etapa de Predio .............................................................................................................................. 19
Modelo Espacial ................................................................................................................................. 21
Padro H.264/MPEG-4 AVC e seus Perfis......................................................................................... 23
Predio Inter ..................................................................................................................................... 25
Predio Intra ..................................................................................................................................... 27

Experimentos ..............................................................................................................28
4.1
Calibrao de Lentes Fisheye ............................................................................................................ 28
4.1.1
Descrio do Modelo e Algoritmo Utilizados ................................................................................. 28
4.1.2
Fluxo de Trabalho .......................................................................................................................... 30
4.2
Comparativo de Compresso entre Imagens Fisheye e Retilneas .................................................... 32
4.3
Comparativo de Compresso entre Imagens Fisheye e Panormicas ............................................... 33

Resultados e Anlises ................................................................................................35


5.1
5.2
5.3

6
7

Calibrao de Lentes Fisheye ............................................................................................................ 35


Compresso de Imagens Fisheye e Retilneas .................................................................................. 39
Compresso de Imagens Fisheye e Panoramas ................................................................................ 43

Concluso ...................................................................................................................47
Referncias Bibliogrficas .........................................................................................48

vi

LISTA DE FIGURAS
FIGURA 1.1 IMAGEM CAPTURADA COM LENTE FISHEYE COM CAMPO DE VISO DE 185. AUTOR: SUNEX, INC. ............................ 1
FIGURA 2.1 ETAPAS DA AQUISIO DIGITAL DE IMAGENS. (MODIFICADO [7]) ........................................................................ 1
FIGURA 2.2 EXPOSIO SEM BARREIRA (ESQ.) E COM BARREIRA (DIR.). ................................................................................ 1
FIGURA 2.3 SISTEMA COM LENTE E FORMAO DE UM OBJETO EM FOCO (RAIOS AZUIS) E FORA DE FOCO (VERMELHOS). ............... 2
FIGURA 2.4 FORMAO DE UM OBJETO DISTANTE [9]. ..................................................................................................... 2
FIGURA 2.5 VISUALIZAO DA JANELA DE SNELL. AUTORA: SUZY WALKER. .......................................................................... 3
FIGURA 2.6 COMPARAO ENTRE PROJEES PERSPECTIVA E FISHEYE EQUIDISTANTE. [11] ..................................................... 4
FIGURA 2.7 COMPARAO ENTRE PROJEO PERSPECTIVA (RETILNEA) E OUTRAS. ................................................................. 4
FIGURA 2.8 DIFERENA ENTRE PROJEES AO DISTORCER UM PADRO XADREZ COM MESMA DISTNCIA FOCAL. .......................... 5
FIGURA 2.9 DIFERENTES COBERTURAS DE CLASSES DE FISHEYE EM UM FILME 135: FULL-FRAME (A), QUASI-FISHEYE (B) E CIRCULAR
(C). [1] .................................................................................................................................................. 6
FIGURA 2.10 PROJETO DE LENTES FISHEYE FULL-FRAME DE 16 MM (ESQ.) E CIRCULAR DE 8 MM (DIR.). [10] .............................. 6
FIGURA 2.11 COMPARAO NO AJUSTE DOS MODELOS A) POLINOMIAL SIMPLES, B) PFET E C) DIVISO. [14] ............................. 7
FIGURA 2.12 AJUSTE DOS MODELOS DM E PFET PARA FOV = 179. ................................................................................. 8
FIGURA 2.13 ILUSTRAO DE DISTORO TANGENCIAL. [13] ........................................................................................... 11
FIGURA 2.14 CORREO DE IMAGEM SINTTICA: A) ORIGINAL, B) MAPEAMENTO DIRETO E C) MAPEAMENTO INVERSO. ............... 11
FIGURA 2.15 PANORAMA COM FOV HORIZONTAL E VERTICAL DE 360 E 180 RESPECTIVAMENTE. AUTOR: MANFRED GRUBER. . 12
FIGURA 2.16 FORMAO DE UMA PROJEO CILNDRICA (ESQ.) [25] E A PROJEO EQUIRETANGULAR (DIR.) [FONTE:
HTTP://WWW.PROGONOS.COM]. ............................................................................................................. 12
FIGURA 2.17 A) PROJEO GNOMNICA E B-D) VISES RETILNEAS EXTRADAS DE UM PANORAMA EQUIRETANGULAR................. 13
FIGURA 2.18 IMAGENS FULL-FRAME CAPTURADAS PARA FORMAO DE PANORAMA. [FONTE: HTTP://WWW.360DOF.COM] ...... 14
FIGURA 2.19 ROTAO DA CMERA A) CORRETA E B) INCORRETAMENTE, GERANDO PARALAXE NO SEGUNDO CASO. [5] .............. 14
FIGURA 2.20 COMPARAO ENTRE MTODOS DE SELEO DE PIXELS: A) MDIA, B) MEDIANA, C) FEATHERING E D) P-NORM (P = 10).
[7] ...................................................................................................................................................... 15
FIGURA 3.1 CUBO RGB. .......................................................................................................................................... 16
FIGURA 3.2 AMOSTRAGEM DE COMPONENTES NO YCBCR: A) 4:2:0, B) 4:2:2, C) 4:4:4. (MODIFICADO [3]) ........................... 17
FIGURA 3.3 SISTEMA TPICO DE AQUISIO E VISUALIZAO DE VDEO COM COMPRESSO. .................................................... 18
FIGURA 3.4 ESTRUTURA DE UM CODIFICADOR DE VDEO. ................................................................................................ 18
FIGURA 3.5 PREDIO TEMPORAL SIMPLES. (MODIFICADO [3]) ........................................................................................ 19
FIGURA 3.6 RESDUOS COM COMPENSAO DE MOVIMENTO. (MODIFICADO [3]) ................................................................ 20
FIGURA 3.7 BASES DA DCT 4 X 4. (MODIFICADO [3]) .................................................................................................... 22
FIGURA 3.8 EXEMPLO DE RECONSTRUO DE UM BLOCO A PARTIR DE SEUS COEFICIENTES DA DCT.......................................... 22
FIGURA 3.9 UNIDADES FUNCIONAIS TPICAS DE UM CODIFICADOR DO PADRO H.264. ......................................................... 24
FIGURA 3.10 UNIDADES FUNCIONAIS TPICAS DE UM DECODIFICADOR DO PADRO H.264..................................................... 24
FIGURA 3.11 POSSIBILIDADES DE PARTIO NA LUMINNCIA DE A) MACROBLOCOS E B) SUB-MACROBLOCOS. ........................... 26
FIGURA 3.12 PARTIES EM UM FRAME CODIFICADO COM PREDIO INTER. ...................................................................... 26
FIGURA 3.13 A) IDENTIFICAO DAS AMOSTRAS A SEREM ESTIMADAS E B) DIREO E SENTIDO DA INTERPOLAO (OU
EXTRAPOLAO) NOS MTODOS DE PREDIO (EXCETO DC) [2]. ..................................................................... 27
FIGURA 4.1 EQUIPAMENTO UTILIZADO PARA CAPTURA DE IMAGENS DE TESTE: A) CMERA DIGITAL SONY COM ADAPTADOR
MONTADO E B) ADAPTADOR FISHEYE OPTEKA. .............................................................................................. 30
FIGURA 4.2 ROTINA DE EXTRAO DE LINHAS MANUALMENTE: A) SELEO DO CRCULO DE IMAGEM EFETIVO, B) ENTRADA DO ZOOM
PARA O PASSO POSTERIOR E C) SELEO DE PONTOS NA FIGURA AMPLIADA (ESQ.) E JANELA DE NAVEGAO (DIR.). ... 31
FIGURA 4.3 ROTINA DE EXTRAO DE LINHAS AUTOMATICAMENTE A PARTIR DE PADRES DE CALIBRAO. ............................... 31
FIGURA 4.4 CADEIAS DE PROCESSOS ORIGINALMENTE PROPOSTAS PARA ANLISE DE COMPRESSO DE IMAGENS FISHEYE. ............ 33
FIGURA 4.5 CADEIAS DE PROCESSOS APLICADOS NA ANLISE COMPARATIVA DE COMPRESSO DE IMAGENS FISHEYE. ................... 33
FIGURA 4.6 CADEIA DE PROCESSOS PARA ANLISE COMPARATIVA DE COMPRESSO DE PANORAMAS. ....................................... 34
FIGURA 5.1 IMAGEM FULL-FRAME PARA TESTE DE CALIBRAO COM AS CURVAS SELECIONADAS DESTACADAS. .......................... 35
FIGURA 5.2 RETIFICAO DAS CURVAS EXTRADAS MANUALMENTE (EIXOS EM PIXELS): A) PONTOS EXTRADOS, B) PONTOS
CORRIGIDOS COM ESTIMAO DO COD E C) PONTOS CORRIGIDOS SEM ESTIMAO DO COD. ............................... 35
FIGURA 5.3 CORREO DA IMAGEM FISHEYE FULL-FRAME: A) ORIGINAL, B) REA TOTAL, C) REA TIL E D) REA TIL DESPREZANDO
ESTIMAO DO COD. ............................................................................................................................. 36
FIGURA 5.4 EXTRAO MANUAL DE CURVAS: A) IMAGEM ORIGINAL COM CURVAS DESTACADAS E RETIFICAO B) LEVANDO EM
CONTA O COD ESTIMADO E C) DESPREZANDO-O. .......................................................................................... 37
FIGURA 5.5 EXTRAO AUTOMTICA DE CURVAS: A) PADRO DE CALIBRAO E B) CURVAS DETECTADAS.................................. 37
FIGURA 5.6 RETIFICAO DAS CURVAS EXTRADAS AUTOMATICAMENTE (EIXOS EQUIVALEM S COORDENADAS EM PIXELS). .......... 38
vii

FIGURA 5.7 RETIFICAO APS CALIBRAO AUTOMTICA. ............................................................................................. 38


FIGURA 5.8 SEQUNCIA 1 UTILIZADA NA COMPARAO: A) FISHEYE E B) RETILNEA. ............................................................. 39
FIGURA 5.9 CURVAS DE PSNR PARA SEQUNCIA 1: COM PREDIO INTER E RDO A) DESABILITADO E B) HABILITADO, E SOMENTE
COM PREDIO INTRA E RDO C) DESABILITADO E D) HABILITADO. .................................................................... 40
FIGURA 5.10 CURVAS DO PROCESSO RET2 PARA SEQUNCIA 1 SOBREPOSTAS. ................................................................... 41
FIGURA 5.11 SEQUNCIA 2 UTILIZADA NA REPETIO DA COMPARAO: A) FISHEYE E B) RETILNEA......................................... 41
FIGURA 5.12 CURVAS DE PSNR PARA SEQUNCIA 2: COM PREDIO INTER E RDO A) DESABILITADO E B) HABILITADO. .............. 42
FIGURA 5.13 COMPARAO ENTRE CURVAS DE PSNR GERADAS PARA SEQUNCIAS 1 E 2. .................................................... 42
FIGURA 5.14 SEQUNCIAS UTILIZADAS NA CODIFICAO DE PANORAMAS: A) SEQUNCIA 1 E B) SEQUNCIA 2. ......................... 43
FIGURA 5.15 PANORAMAS OBTIDOS A PARTIR DA A) SEQUNCIA 1 E B) SEQUNCIA 2 (AS BORDAS FORAM INSERIDAS PARA
VISUALIZAO DO TAMANHO TOTAL). ......................................................................................................... 44
FIGURA 5.16 CURVAS DE PSNR PARA SEQUNCIA 1: A) COM PREDIO INTER E B) SOMENTE COM PREDIO INTRA. ................. 44
FIGURA 5.17 CURVAS DE PSNR PARA SEQUNCIA 2: A) COM PREDIO INTER E B) SOMENTE COM PREDIO INTRA. ................. 45
FIGURA 5.18 COMPARAO DE CURVAS DE PSNR PARA SEQUNCIAS NO PROCESSO A) PANO1 E B) PANO2. ......................... 45
FIGURA 5.19 ERRO NA SOBREPOSIO DE IMAGENS NO PANORAMA FORMADO PELO PROCESSO PANO1 NA SEQUNCIA 2: A)
REFERNCIA, B) QPI = 7, C) QPI = 12 E D) QPI = 17. ................................................................................... 46

viii

LISTA DE TABELAS
TABELA 2.1 DISTNCIA FOCAL E CAMPO DE VISO DE ALGUNS TIPOS DE LENTES PARA UM FILME DE 35 MM. ............................... 3
TABELA 5.1 - RESULTADOS OBTIDOS NOS EXPERIMENTOS DE CALIBRAO. ............................................................................ 38

ix

LISTA DE SMBOLOS
Smbolos Latinos
f

Distncia focal

[mm]

Smbolos Gregos

Parmetro de distoro no modelo DM


ngulo de incidncia

[]

Subscritos
f
p

Projeo fisheye
Projeo perspectiva (retilnea)

Siglas
COD
DCT
DLSR
DM
DPCM
FOV
FRExt
H.264/AVC
HVS
IDCT
ITU-T
JM
MPEG
MSE
PSNR
QP
RDO
RMSE
SAE
VCEG

Centro de distoro
Transformada de cossenos discreta
Digital single-lens reflex (tipo de cmera)
Modelo de diviso polinominal
Differential Pulse Coded Modulation
Campo de viso
Fidelity Range Extensions
Padro de compresso de vdeo (Advanced Video Coding)
Sistema de viso humano
Transformada inversa de cossenos discreta
Seo de padronizao da Unio Internacional das Telecomuniaes
Joint Model
Motion Pictures Expert Group
Erro mdio quadrtico
Peak Signal-to-Noise Ratio
Parmetro de quantizao
Otimizao de taxa-distoro
Raiz do erro mdio quadrtico
Soma dos erros absolutos
Video Coding Experts Group

1 INTRODUO
Projees do tipo fisheye so aquelas que representam uma poro significativa do ambiente em um
plano ao abrir mo da conformidade de representao de linhas retas [1]. Como poro significativa
entende-se um campo de viso que cobre mais do que 120. A Figura 1.1 ilustra uma imagem tpica na
projeo fisheye, que, no caso, mapeia um campo de viso de 185 graus em um plano. Nota-se que os
prdios retos na cena real so representados como curvos na imagem, e que os elementos perto das
bordas tm um aspecto achatado.

Figura 1.1 Imagem capturada com lente fisheye com campo de viso de 185. Autor: Sunex, Inc.

Esta projeo ser estudada neste trabalho e sua relao com tcnicas de compresso de imagem e
vdeo ser analisada experimentalmente. O padro de compresso adotado ser o H.264/AVC [2],
atualmente o estado da arte e um dos mais difundidos nos meios acadmico e industrial. Este padro
utiliza tcnicas de compresso que so aplicadas em blocos (quadrados ou retngulos) em cada quadro
do vdeo [3]. Supe-se que uma imagem retilnea seja melhor tratada por estas tcnicas do que uma
imagem fisheye. Projeo retilnea aquela que mantm as retas da cena como retas na imagem, e a
mais comum em qualquer fotografia ou vdeo. Uma imagem em projeo fisheye possui em geral mais
curvas e resoluo espacial varivel (o citado achatamento nas bordas).
Sero estudadas maneiras de se corrigir essa distoro na representao de linhas retas, e ser
analisado se a forma corrigida apresenta melhor performance em testes de compresso de vdeo. Os
experimentos so realizados supondo-se um cenrio prtico em que se queira transmitir uma imagem
adquirida em projeo fisheye (para se ter grande cobertura) mas que deve ser visualizada em projeo
retilnea (para manter aparncia mais familiar). Uma aplicao nesses moldes descrita em [4], na
qual proposto a colocao de uma cmera fisheye em laterais de caminhes para eliminar seus
pontos-cegos. Tambm vm mente aplicaes de segurana e monitoramento como o sistema de
cmeras de um prdio.
Outra tcnica que ser vista neste projeto a formao de panoramas imersivos, uma aplicao que
vem se tornando parte do cotidiano com a criao de servios como Google Street View e Microsoft
Streetside. Este um campo no qual as imagens fisheye possuem bastante aplicao. As imagens
panormicas so obtidas atualmente ao combinarem-se diversas fotos do mesmo local [5]. Caso seja
usada a projeo fisheye, so necessrias menos fotos para cobrir todo o ambiente.
Ser analisado se mais vantajoso formar o panorama a partir das imagens recm-obtidas para ento
comprimi-lo e armazen-lo (ou transmiti-lo), ou ento comprimir e armazenar (ou transmitir) as
imagens separadas para formarem um panorama posteriormente.

Entre as contribuies de destaque neste projeto citam-se o desenvolvimento de um fluxo de trabalho e


cdigo para calibrao manual e automtica de lentes fisheye e os resultados prticos das comparaes
extensivas de processos envolvendo compresso de vdeo detalhadas h pouco.
Este trabalho est dividido da seguinte maneira. No captulo 2, feita uma rpida reviso de geometria
ptica para, em seguida, serem abordados os detalhes relativos projeo fisheye e o processo de
calibrao de lentes. Por fim, as etapas bsicas da gerao automtica de panoramas so descritas. No
captulo 3, so primeiro introduzidos aspectos bsicos da codificao de vdeo para depois
descreverem-se as partes mais importantes do padro H.264/AVC para este trabalho. No captulo 4 so
relatados os procedimentos experimentais adotados, sendo os seus resultados apresentados e discutidos
no captulo 5. O captulo 6 apresenta concluses finais e propostas de trabalhos futuros.

2 CALIBRAO DE LENTES E
FORMAO DE PANORAMAS
2.1 FORMAO DA IMAGEM
Um sistema digital de aquisio de imagens fotogrficas requer em geral os seguintes estgios: captura
dos raios de luz, focalizao da imagem, exposio a um sensor, converso analgico-digital e psprocessamento[6]. As etapas esto organizadas em sequncia na Figura 2.1, que ilustra ainda passos
tpicos do ps-processamento para se obter um formato comprimido.

Figura 2.1 Etapas da aquisio digital de imagens. (modificado [7])

A primeira idia para se capturar a imagem de um objeto real de simplesmente posicionar um


material sensvel luz (filme) em sua frente. Porm, como todos os pontos do filme recebero luz de
diversas direes, a imagem no ser formada como esperado. A soluo usualmente empregada a
cmara escura, cujo princpio de funcionamento, conhecido desde a Grcia Antiga, ilustrado a Figura
2.2. O material fotossensvel colocado dentro de um compartimento escuro, que contm uma
pequena abertura. Desta maneira, apenas raios propriamente direcionados atingem o filme.

Figura 2.2 Exposio sem barreira (esq.) e com barreira (dir.).

Para que a resoluo obtida seja razovel, a abertura deve ser feita o menor possvel. Em
compensao, isto acarreta em menor exposio do filme luz, alm de indesejveis padres de
difrao [8]. O impasse resolvido ao incorporar-se uma lente ao sistema, como na Figura 2.3. Uma
lente um dispositivo que produz raios de luz convergentes ou divergentes devido refrao.
Aberturas maiores so permitidas, levando a uma maior iluminao disponvel. Alm disso, o efeito da
profundidade de campo introduzido. Apenas os raios de luz provenientes de uma determinada
1

profundidade so projetados como um ponto no filme, como os raios azuis na Figura 2.3. Raios
originados em distncias diferentes so projetados como manchas na forma da abertura, geralmente
circular, como os raios vermelhos da mesma figura.

Figura 2.3 Sistema com lente e formao de um objeto em foco (raios azuis) e fora de foco (vermelhos).

As lentes so descritas pela sua distncia focal, usualmente expressa em milmetros. Essa a distncia
na qual a imagem de um objeto muito distante formada. Essa afirmao vlida para lentes cuja
espessura desprezvel em relao prpria distncia focal. Na Figura 2.4, a formao da imagem de
um objeto de tamanho y a uma distncia a por uma lente convexa ilustrada. Neste caso, o objeto
formado com altura y a uma distncia q, a partir do ponto focal e b, a partir da lente. De semelhanas
de tringulos, tem-se que:
=

  
= = ,
  

onde m o aumento da lente. Substituindo  =  , obtm-se a conhecida equao:


1 1 1
= + .
  

(2.1)

(2.2)

Figura 2.4 Formao de um objeto distante [9].

Na prtica as lentes fotogrficas so compostas por vrias camadas que atuam como lentes
superpostas, a fim de minimizar efeitos indesejveis como aberrao cromtica e vinheta. Neste caso,
a Eq. (2.2) serve apenas como aproximao e deve ser expandida para se adaptar geometria utilizada.
A distncia focal determina o campo de viso da lente (FOV), que uma medida da poro da cena
que capturada. medida que a distncia focal diminui, o campo de viso aumenta, pois o aumento m
diminui, como visto na Eq. (2.1). A Tabela 2.1 mostra a distncia focal para diferentes tipos de lentes.
Nota-se que o campo de viso tambm depende obviamente do tamanho do filme ou sensor utilizado.
As lentes da Tabela 2.1 so classificadas como retilneas, i.e., elas reproduzem linhas retas da cena
como linhas retas na imagem. Caso seja capturado um FOV maior que 100, inevitvel a ocorrncia
de distores de perspectiva (esticamento) nos cantos da imagem. Isso pode ser explicado
intuitivamente pelo fato de se estar mapeando o interior de um hemisfrio em um plano, e, em seguida,
2

visualizando o resultado muito de perto. A imagem retilnea cobrir, na viso do observador, um


campo de viso menor do que aquele que foi capturado, causando estranheza na proporo de alguns
objetos da cena.
Tabela 2.1 Distncia focal e campo de viso de alguns tipos de lentes para um filme de 35 mm.

Lente
f (mm)
FOV
Super grande angular
14 a 20
114 a 94
Grande angular
24 a 35
84 a 63
Normal
50
47
Teleobjetiva
85 a 300
28 a 8
Super teleobjetiva
400 a 1000
6 a 3
De fato, aspectos fsicos do projeto de lentes tornam difcil sua construo para ngulos de viso
maiores que 120 e projeo retilnea [1]. As lentes do tipo fisheye so resultado de processos de
construo e mapeamentos distintos para superar este limite.

2.2 LENTES FISHEYE


De acordo com [10], o termo fisheye (olho-de-peixe) foi cunhado por Robert Wood em 1911, ao
descrever uma cmera pinhole preenchida com gua capaz de capturar imagens com FOV de 180. Tal
sistema tinha o funcionamento baseado no fenmeno da janela de Snell, em que um observador
submerso enxerga o ambiente da superfcie por um cone de luz com ngulo de abertura de 97, como
na Figura 2.5. A refrao na fronteira ar/gua faz com que raios incidentes a 90 com a normal entrem
na gua com pouco menos de 50, efetivamente comprimindo o campo de viso da superfcie. Esta a
idia bsica da geometria de lentes fisheye.

Figura 2.5 Visualizao da janela de Snell. Autora: Suzy Walker.

O primeiro prottipo de lente fisheye foi desenvolvido no Escritrio de Meteorologia do Reino Unido
em 1924, demonstrando o cunho inicialmente puramente cientfico destes modelos. A tcnica
denominada fotografia hemisfrica utiliza essas lentes e possui aplicaes em meteorologia,
astronomia (medio de posio de astros), biologia (acompanhamento do percurso do Sol em
florestas) e outras reas.
As lentes retilneas citadas na seo anterior mapeiam os raios de luz como no diagrama na Figura
2.6(a). Para uma projeo perspectiva, portanto:

 =  () ,

(2.3)

 =   ,

(2.4)

onde Rp a posio radial de um ponto na imagem relativo ao centro, o ngulo entre um ponto na
cena e o eixo ptico e f a distncia focal. Nota-se que Rp diverge medida que se aproxima de
 = 90.
Alternativamente, uma lente pode realizar o mapeamento de acordo com:

conforme o diagrama na Figura 2.6(b), onde Reqd a posio radial de um ponto. Esta representao
meramente didtica, visto que o filme ou sensor no se curvam. Tal representao permite observar
que haver um espao maior para se mapear os ngulos de incidncia, gerando um campo de viso
maior. O mapeamento da Eq. (2.4) denominado equidistante, e favorece a medio de ngulos na
imagem, pois incrementos em geram incrementos proporcionais em Reqd.

Figura 2.6 Comparao entre projees perspectiva e fisheye equidistante. [11]

Tambm so comuns em lentes fisheye as projees equislida e estereogrfica. No primeiro caso,


ngulos slidos1 iguais garantem reas iguais, comprimindo mais a periferia da imagem:
 = 2  sen (/2) .

(2.5)

# = 2  tan (/2) .

(2.6)

No caso da projeo estereogrfica, garante-se um aspecto visual mais agradvel ao comprimir menos
as regies longe do centro e preservar formas circulares [12]:

Figura 2.7 Comparao entre projeo perspectiva (retilnea) e outras.


1

Medido em esferorradianos, corresponde rea coberta por um objeto na superfcie de uma esfera de raio
unitrio. O ngulo slido de um hemisfrio 2, por exemplo.
4

A Figura 2.7 mostra uma comparao entre a distncia radial atingida com as quatro projees citadas.
A distncia focal foi fixada em 8 mm. Como esperado, a projeo perspectiva (retilnea) diverge antes
de conseguir mapear todo o hemisfrio. A diferena entre as projees equidistante e equislida
sutil, enquanto a estereogrfica distribui mais o campo de viso.
Na Figura 2.8, um padro xadrez distorcido com cada projeo fisheye, mantendo-se a mesma
distncia focal ajustada para melhor visualizao. Nota-se que a projeo estereogrfica provoca o
menor achatamento da periferia da imagem, e as projees equidistante e equislida so dificilmente
discernidas.

Figura 2.8 Diferena entre projees ao distorcer um padro xadrez com mesma distncia focal.

Como j mencionado, o campo de viso capturado depende das dimenses do filme ou sensor
utilizado. Historicamente, o formato de filme mais popular o de 35 mm (ISO 1007), batizado de 135
pela Kodak, e que possui dimenses de 36 x 24 mm e diagonal de 43,3 mm [6]. Os sensores de
cmeras digitais SLR possuem diagonal em geral 20 a 40% menor, o que denominado crop factor.
Este fator expresso como a razo entre a diagonal do filme 135 e a diagonal do sensor, sendo 1,3, 1,5
e 1,6 e valores comuns para este fator.
As lentes fisheye costumam ser projetadas para o filme 135 e so agrupadas em trs classes: fullframe, quando o crculo da imagem circunscreve o frame e o campo de viso mximo se estende na
diagonal; quasi-fisheye, tambm chamado drum shot, quando o crculo parcialmente inscrito,
deixando laterais de fora; e circular, quando o crculo totalmente inscrito. A Figura 2.9 ilustra a
cobertura de diferentes classes de lentes em um filme de 35 mm. A Figura 2.10 apresenta cpias de
projetos de lentes patenteadas nos Estados Unidos e arquivadas na base de dados LensVIEW
(Optical Data Solutions, NY). Os aspectos construtivos no sero abordados neste trabalho, mas notase que h um grupo de lentes frontal com grande poder de refrao responsvel pela forte curvatura
dos raios, seguido de combinaes de filtros para minimizar distores como as j mencionadas
aberrao cromtica e vinheta.

Figura 2.9 Diferentes coberturas de classes de fisheye em um filme 135: full-frame (A), quasi-fisheye (B) e
circular (C). [1]

Figura 2.10 Projeto de lentes fisheye full-frame de 16 mm (esq.) e circular de 8 mm (dir.). [10]

2.3 MODELAMENTO DA DISTORO


O termo distoro usado nesta seo para descrever o desvio entre os mapeamentos fisheye j
descritos e o mapeamento retilneo. Em outro contexto, poderia ser discutido o desvio do mapeamento
de uma lente fisheye real para o mapeamento terico esperado.
A distoro examinada essencialmente radial e no-linear. Por radial entende-se que pontos no plano
da imagem fisheye esto deslocados de sua posio ideal no modelo retilneo ao longo de um eixo
radial coplanar partindo do centro de distoro (COD), que no necessariamente o centro do crculo
de imagem. O fato de ser no-linear implica que ela no pode ser expressa na forma &' = & + ( + 
e ' = )& + * + , ou seja, uma transformao linear no espao 2-D. Um dos efeitos da distoro
fisheye a imagem possuir maior resoluo espacial na regio prxima ao COD, com um decrscimo
gradual no-linear medida que se aproxima da periferia.
A fim de posteriormente cancelar essa distoro, necessrio modelar a relao entre a distncia radial
de um ponto na imagem retilnea e na imagem fisheye. O processo de cancelamento da distoro
denominado retificao. Vrios modelos esto disponveis na literatura e so classificados em
polinomiais e no-polinomiais.

2.3.1 MODELOS POLINOMIAIS


O uso de polinmios para modelar a distoro radial uma prtica padro [13]. So atrativos do ponto
de vista computacional por no envolverem o uso de funes trigonomtricas, embora o uso de lookup tables para estes casos minimiza esta vantagem. Uma desvantagem a dificuldade de se inverter os
modelos, o que til no processo de mapeamento, como ser visto depois.
6

O modelo mais comum um polinmio com graus mpares:

+, = + + -. +/ + + -1 +213. +

(2.7)

onde rf a distncia radial do ponto no espao fisheye, rp a distncia radial no espao perspectivo
(retilneo) e kn so os coeficientes do modelo. A transformao feita do espao corrigido para o
distorcido denominada mapeamento inverso. A transformao direta para um modelo de quinta
ordem pode ser aproximada por:
+ = +, +, 4

-. +,2 + -2 +,5 + -. 2 +,5 + -2 2 +,6 + 2-. -2 +,7


1 + 4-. +,2 + 6-2 +,5

:.

(2.8)

Na Figura 2.11(a), mostrada uma medida da qualidade do ajuste do modelo polinomial a uma curva
de distoro fisheye equidistante. A medida adotada a raiz do erro quadrtico mdio (RMSE), dada
por:
?
;<= = > E

(+ +, )2

@AB (CD )

max (+ )

(2.9)

onde reqd a distncia radial de referncia (fisheye equidistante). Observa-se que possvel modelar
satisfatoriamente a distoro introduzida por uma lente com FOV de at 140 com um modelo
polinomial de pelo menos nona ordem. Porm, para um FOV acima disso, o erro aumenta
consideravelmente. mostrado em [14] que uma perturbao do tipo ripple ocorre mesmo para
aproximaes de 17 ordem.

Figura 2.11 Comparao no ajuste dos modelos a) polinomial simples, b) PFET e c) diviso. [14]
7

Em [15], os autores propem a utilizao de um polinmio com graus pares e mpares, alm de um
termo livre, e o chamam de Polynomial Fisheye Transform (PFET):
+, = -E + -. +. + + -1 +1 + .

(2.10)

Em [16], foi proposto o modelo de diviso (DM), dado por:


+,
+ =
.
2
1 + -. +, + + -1 +,21 +

(2.11)

Como pode ser visto na Figura 2.11(b), seu desempenho superior ao do modelo polinomial
tradicional. Com um polinmio de quinta ordem, o PFET alcana um RMSE abaixo de 0,03 para um
FOV de at 179.

Apesar da similaridade com a inverso do modelo polinomial simples, este um modelo diferente que
tenta aproximar a curva de distoro real. Ele portanto um modelo naturalmente invertido, mapeando
pontos do domnio distorcido de rf para o domnio retilneo de rp. O modelo usualmente aplicado
com apenas um parmetro de distoro, sendo simplificado como
+,
+ =
(2.12)
1 + H+,2
e o modelo direto

+, =

1 I1 4H+2
2H+

(2.13)

onde o parmetro de primeira ordem do modelo. Na Figura 2.11(c), nota-se que o modelo de
diviso supera os demais, mantendo a RMSE abaixo de 0,08 para todos os FOV testados. Este modelo
foi o escolhido para o sistema de calibrao implementado neste trabalho por obter um excelente
desempenho com apenas um parmetro. Isso pode ser visto na Figura 2.12, que ilustra uma
comparao entre o ajuste do modelo DM e o modelo PFET de grau 5 a uma curva fisheye
equidistante para FOV = 179. O modelo polinomial tradicional apresenta grande oscilao neste caso,
e no foi includo na comparao. O modelo PFET tambm apresenta oscilao, porm menos
acentuada. O ajuste foi feito com a funo nlinfit disponvel na toolbox de estatstica do ambiente
MATLAB 7.9, sendo obtido um RMSE de 4,810-4 para o modelo DM, e de 5,110-3 para o modelo
PFET, condizente com os grficos da Figura 2.11.

Figura 2.12 Ajuste dos modelos DM e PFET para FOV = 179.


8

2.3.2 MODELOS NO-POLINOMIAIS


Modelos no-polinomiais so obtidos a partir da modelagem geomtrica do sistema ptico da lente.
Envolvem funes transcendentais, que so menos computacionalmente eficientes, mas que podem ser
utilizadas apenas para gerar look-up tables. Modelos inversos so geralmente possveis de serem
obtidos analiticamente, facilitando o mapeamento na correo das imagens.
A modelagem mais bvia a combinao da Eq. (2.3) com as Eqs. (2.4) a (2.6), para obter a relao
entre a distncia radial perspectiva e a distncia radial em cada modelo fisheye. No modelo inverso,
resolve-se para Rp, e, no modelo direto, resolve-se para Reqd, Reqs ou Rest, de acordo com a projeo.
Para o caso equidistante, o mapeamento inverso e direto so, respectivamente:

 =  tan J
K


 =  tanL. J K.



 =  tan J2 senL. J
KK
2

(2.14)

Para a projeo equislida, tem-se, analogamente:




1
= 2  sen J tanL. J KK
2


#


1
= 2  tan J tanL. J KK .
2


#
 =  tan J2 tanL. J
KK
2

(2.15)

e, finalmente, para a projeo estereogrfica:

(2.16)

Devido a imperfeies na fabricao das lentes, essas projees no sero exatamente seguidas na
formao da imagem e, portanto, o seu nico parmetro, que a distncia focal, tambm necessita ser
calibrado.
Alternativamente, em [15], os autores propem, alm do j citado PFET, o modelo no-polinomial
denominado Fish-Eye Transform (FET). A forma direta e inversa so, respectivamente

, = M lnO1 + H P
(2.17)
* QR/ 1
 =
.
H
onde s um fator de escala e controla a quantidade de distoro. O modelo baseado na observao
de que a imagem fisheye possui maior resoluo na regio prxima ao COD, sofrendo uma queda
gradual ao aproximar-se a periferia. uma tentativa de aproximar a magnificao cortical, que a
distribuio de receptores visuais na retina.
Outros modelos interessantes tambm esto disponveis na literatura. O modelo proposto por
Devernay e Faugeras em [17], cujas formas direta e inversa so respectivamente dadas por
, =

1
S
tanL. T2 tan U
S
2

tanO, SP
 =
2 tan(S/2)

(2.18)

onde o FOV aparente da lente, baseado em um modelo ptico simples da lente fisheye, e pode
ser calibrado para seus diferentes tipos. J o modelo proposto por Pers e Kovacic em [18], com formas
direta e inversa dadas respectivamente por

, =  ln V
 =

2

+ >1 + W


*
2

2QR
,

(2.19)

QR
L
* ,

baseado na abstrao de que uma imagem com grande FOV composta por vrias imagens obtidas
com a mesma cmera imaginria que gira a partir de um ponto fixo.
Estes modelos foram pouco testados pois logo se constatou que era necessria a calibrao de seus
parmetros para que fossem utilizados com imagens geradas com lentes de projees e campos de
viso arbitrrios. Sempre que se fez necessria a utilizao de um modelo no-polinomial (e.g., na
gerao de panoramas), optou-se pelas Eqs. (2.14) a (2.16), de acordo com a projeo mencionada na
especificao da lente.

2.4 CALIBRAO E CORREO


No contexto da viso computacional, a calibrao de cmeras consiste em achar o mapeamento entre o
espao 3-D e o plano da imagem. Este mapeamento separado em duas transformaes distintas, os
parmetros de calibrao externos e internos. A primeira trata do deslocamento entre a origem do
espao 3-D e o sistema de coordenadas da cmera, composto pelo centro da cmera e o seu
direcionamento. A segunda transformao trata da forma com que pontos no espao 3-D so
mapeados em pontos no plano da imagem no sistema de coordenadas da cmera, devido distncia
focal, ao formato da imagem e o ponto principal da cmera. Esta seo descreve a calibrao de
parmetros internos, em particular a distoro radial. A componente radial domina a distoro
provocada por uma lente [19] e sua estimao e correo so alvo de vrias publicaes.
Os mtodos de estimao da distoro radial podem ser divididos em dois ramos: os que realizam
correspondncias entre mais de uma imagem e muitas vezes so auto-calibrveis e os que utilizam
apenas uma imagem mas dependem da presena de alguma caracterstica especfica. Do primeiro
grupo, cita-se o trabalho de Xiong e Turkowski [20], voltado para lentes fisheye, em que uma srie de
imagens com sobreposio registrada modelando-se a distoro radial com um polinmio cbico. Os
autores afirmam, porm, que mtodos auto-calibrveis so em geral bastante instveis caso no se use
nenhum parmetro conhecido da lente.
Entre os mtodos que utilizam s uma imagem, cita-se o de Hartley e Kang [21], em que um modelo
sem parmetros estimado a partir da imagem de um padro de calibrao. Devernay e Faugeras [17]
detectam segmentos de linhas 3-D em uma imagem e os ajustam em um modelo de distoro
iterativamente. A deteco de linhas deve ser feita com preciso sub-pixel para que um modelo seja
satisfeito. Este mtodo explora uma propriedade fundamental: uma lente segue a projeo perspectiva
se e somente se a projeo de toda linha reta no espao 3-D uma linha reta no plano da imagem.
Consequentemente, a distoro radial pode ser estimada ao medir-se o quanto as linhas retas esto
distorcidas na imagem. A desvantagem bvia deste mtodo que a cena contenha linhas retas, mas
isso vlido para a maioria dos ambientes construdos pelo homem. Wang et al [22] utilizam esta
proposio aliada ao modelo de distoro DM para reduzir o problema ao ajuste de arcos de crculos
s linhas distorcidas na imagem. Pode-se mostrar que a projeo de uma linha reta tridimensional no
espao de DM um arco de crculo no plano da imagem, portanto a calibrao se resume a ajustar
crculos nas curvas da imagem que deveriam estar retas.
tambm necessrio ressaltar a importncia da estimao do centro de distoro (COD) no processo
de calibrao. comum na literatura assumir que o COD conhecido e coincide com o centro da
imagem. Para lentes com FOV reduzido, esta simplificao vlida, mas no quando se trabalha com
campos de viso extensos. O COD pode estar deslocado por uma srie de fatores como
descentralizao da lente em relao ao sensor no corpo da cmera, desalinhamento dos elementos
pticos que compem a lente, ou o recorte da imagem visualizada pelo tamanho do sensor ou no ps-

10

processamento. Uma correo aplicada com o COD mal estimado pode acarretar em nova distoro
distor
radial, alm de uma componente tangencial, como na Figura 2.13.

Figura 2.13 Ilustrao de distoro tangencial. [13]

A correo da distoro radial o processo pelo qual pontos na imagem com projeo fisheye so
transformados para pontos em uma imagem com projeo retilnea. Este um processo feito
basicamente no ps-processamento
processamento de uma imagem, uma vez que um sistema ptico capaz de realizar
esta correo seria bastante caro ou provavelmente impossvel de ssee realizar devido a limitaes
fsicas dos materiais.
Uma maneira simples de se realizar a correo aplicar um modelo na forma direta aos pontos da
imagem distorcida, mapeando-os
os para pontos na imagem retilnea. Como imagens digitais so
compostas por elementos (pixels
pixels)) com posies discretas e o mapeamento contnuo, sero geradas
posies finais no inteiras, enquanto outras posies no sero mapeadas. Assim, a correo na forma
direta exige a interpolao de pontos em posies inteiras a partir dos ppontos
ontos j mapeados.
Outra soluo realizar o mapeamento inverso, ou seja, para cada elemento da imagem final corrigida,
buscar sua posio original na imagem distorcida. Este mapeamento tambm contnuo e gerar
posies iniciais no inteiras, mas que ag
agora
ora podem ser interpoladas pelos valores conhecidos de
posies vizinhas. Nota-se
se que til contar tanto com a forma direta do mapeamento, para estimar as
dimenses da imagem corrigida, quanto com a forma inversa, para realizar o mapeamento da correo
de fato. A Figura 2.14 ilustra o resultado do mapeamento direto e inverso na correo de uma imagem
sinttica. A imagem original, na parte (a), foi gerada com o modelo DM. Na parte (b), a imagem
corrigida
da com aplicao direta da Eq. (2.11) e simplesmente arredondando os resultados. Isso gera
vrios pixels mapeados no mesmo lugar, deixando out
outros
os vazios. Na parte (c), a Eq. (2.11) usada
apenas para estimar as dimenses da imagem corrigida, e o mapeamento feito das posies dessa
imagem para
ra a imagem original com a Eq. (2.12) e interpolao bicbica, gerando o resultado
esperado.

Figura 2.14 Correo de imagem sinttica: a) original, b) mapeamento direto e c) mapeamento inverso.

11

2.5 FORMATOS
ORMATOS DE PANORAMAS
Apesar de no haver uma definio rgida na literatura para classificar uma imagem como panormica,
em geral requerido que esta represente uma cena com campo de viso horizontal ao menos igual ao
da viso
o humana, que em geral 160 [23].. Este trabalho tratar de panoramas que representam uma
cena completa, isto , com FOV horizontal e ver
vertical
tical de 360 e 180, respectivamente, como na Figura
2.15.. A tcnica discutida ser a de mosaicing,, que consiste na superposio de vrias fotos da mesma
cena. Esta uma tcnica que desde o fim do sculo XIX possui aplicaes em mapeamento
topogrfico, e teve maior desenvolvimento com a fotograf
fotografia area
rea no incio do sculo XX [24]. At
ento a composio das imagens tinha que ser feita manualmente, mas sero discutidas aqui as
tcnicas automticas disponveis com o processamento digital de imagens.

Figura 2.15 Panorama com FOV horizontal e vertical de 360 e 180 res
respectivamente.
pectivamente. Autor: Manfred Gruber.

Como j foi mostrado, no possvel representar um campo de viso to elevado com uma projeo
perspectiva (retilnea). Do ponto de vista de um observador imerso em uma cena, o ambiente sua
volta pode ser considerado com a superfcie interna de uma esfera. O mapeamento desta cena no plano
2-D
D da imagem anlogo ao problema tratado na cartografia de se representar o globo em uma
superfcie plana. Das vrias classes de projees cartogrficas disponveis, so usadas em geral as
cilndricas para que a imagem final tenha o aspecto retangular familiar de uma foto. Neste tipo de
mapeamento, a esfera projetada
da em um cilindro circunscrito [25] como o diagrama esquerda na
Figura 2.16.. A projeo pode ser feita de diversas maneiras a fim de se manipular a distoro
envolvida para que alguma conformidade til seja alcanada ou apenas o aspecto visual seja mais
agradvel. As famosas projees de Mercator, Miller e Lambert so usadas para esse fim. Na criao
de panoramas se opta em geral pela projeo equiretangular pela sua simplicidade no tratamento
matemtico. A coordenada horizontal equivalente longitude e a vertical latitude.

Figura 2.16 Formao de uma proj


projeo cilndrica (esq.) [25] e a projeo equiretangular (dir.) [fonte:
[
http://www.progonos.com].

12

& = (H HE )
 = X

No contexto da cartografia, a latitude comumente representada por e a longitude por , portanto

(2.20)

onde R o raio da esfera, 0 a longitude central e x e y so as coordenadas no plano. A Figura 2.15


ilustra um panorama criado com este mapeamento, e nela pode-se notar que as linhas retas verticais
so preservadas, enquanto as horizontais ganham um aspecto curvo.
A partir da projeo equiretangular, que mapeia toda a esfera, possvel, a partir de simples
converses de coordenadas, obter projees retilneas de pores da imagem. A projeo retilnea
tambm chamada de gnomnica, ilustrada na Figura 2.17(a). Ainda nesta figura, so ilustradas pores
perspectivas extradas da Figura 2.15. Um sistema de navegao imersiva criado desta maneira,
reprojetando um panorama equiretangular de maneira interativa.

Figura 2.17 a) Projeo gnomnica e b-d) vises retilneas extradas de um panorama equiretangular.

2.6 CAPTURA E REGISTRO DE IMAGENS PARA PANORAMAS


Neste trabalho so considerados os panoramas formados a partir de um conjunto de imagens fisheye de
uma cena. O uso de lentes fisheye para elaborao de panoramas uma tendncia neste campo pois
possibilita que um nmero reduzido de fotos seja suficiente para cobrir todo o ambiente, dado que o
campo de viso de cada imagem considervel. Caso sejam usadas lentes retilneas, necessrio um
conjunto de 30 fotos em mdia [20], tornando o processo de aquisio bastante complexo e susceptvel
a erros. Com imagens fisheye circulares cobrindo 180, apenas trs fotos so necessrias. Em teoria,
apenas duas fotos bastariam para cobrir os 360 totais, mas a falta de sobreposio causaria artefatos
acentuados na linha de juno ao gerar-se um panorama retangular. Algumas lentes com FOV superior
a 180 garantem uma regio de sobreposio suficiente, mas seu custo bastante elevado.
A tcnica com melhor custo-benefcio entre quantidade de imagens e robustez no processo de
mosaicing automtico a captura de seis fotos full-frame na orientao de retrato girando-se a cmera
em um eixo vertical em ngulos igualmente espaados. Mais duas fotos so necessrias para o znite e
o nadir, caso se queira cobrir os 180 verticais. Assumindo que a imagem full-frame possua FOV de
180 na diagonal, ela cobrir em torno de 100 na horizontal e 140 na vertical, dependendo da
projeo especfica e do crop factor. A Figura 2.18 ilustra um exemplo de seis fotos capturadas do
centro de uma sala. Tambm possvel a captura de apenas quatro fotos ao longo da rotao caso
sejam usadas imagens quasi fisheye, mas a estabilidade do processo de registro ser um pouco menor.
importante ressaltar que o eixo vertical em torno do qual a cmera gira deve passar pela pupila de
entrada da lente, como indicado na Figura 2.19(a). Pupila de entrada a imagem ptica do bloqueador
de abertura vista do lado do objeto. Caso se gire em torno de outro eixo, ocorrer o efeito de paralaxe
na sequncia de imagens, que o aparente deslocamento de objetos, gerando possveis ocluses, como
na Figura 2.19(b). No caso de lentes fisheye, o processo se complica pois a pupila de entrada varia
13

com o ngulo de incidncia dos raios de luz. Neste caso, deve-se consider-la na posio angular das
subsequentes rotaes [26].

Figura 2.18 Imagens full-frame capturadas para formao de panorama. [fonte: http://www.360dof.com]

Figura 2.19 Rotao da cmera a) correta e b) incorretamente, gerando paralaxe no segundo caso. [5]

Uma vez capturadas, as imagens devem ser registradas, i.e., correspondncias entre elas devem ser
estabelecidas, a fim de se determinar quais so consecutivas e o quanto estas devem ser sobrepostas.
As correspondncias so denominadas pontos de controle. Este o processo central do mosaicing [24],
que garantir ou no o sucesso da operao. Embora possa ser feito manualmente atravs da seleo
interativa de pontos de controle, sero focados os mtodos automticos.
Um mtodo exaustivo que testa todos os possveis parmetros de deslocamento pouco vivel
computacionalmente, embora um processamento hierrquico (ajuste grosseiro seguido de fino) e
paralelo acelere notavelmente a performance. J um mtodo de ajuste iterativo no muito robusto,
pois comumente leva a um mnimo local, a no ser que uma boa estimativa inicial seja calculada com
uma busca global prvia. So possveis tambm mtodos que exploram correlaes no domnio da
frequncia ente as imagens, mas, embora sejam computacionalmente atrativos, necessitam de uma
regio de sobreposio grande entre as imagens (ao menos 50%).
A classe de mtodos mais eficaz aquela em que determinadas caractersticas so extradas de cada
imagem e, em seguida, so casadas baseado em alguma medida de similaridade. A falta das
caractersticas que se procura ou imagens muito simtricas podem levar este mtodo a falhar. Este
mtodo pode ser dividido em trs passos: deteco, descrio e casamento dos pontos de interesse [7].
No primeiro, buscam-se, em cada imagem, locais que tenham grande chance de serem encontrados em
outras imagens. No segundo, a regio em volta desses pontos de interesse convertida em um
descritor compacto e invariante, capaz de ser casado no ltimo passo com provveis candidatos de
outras imagens. Uma variante deste modelo que vem sendo bastante utilizada a Scale Invariant
Feature Transform (SIFT) [27]. Uma implementao de cdigo aberto (autopano-sift-C, includo no
software Hugin [28]) foi utilizada na gerao dos panoramas deste trabalho.

2.7 COMPOSIO E BLENDING


Aps o alinhamento das imagens, necessrio mapear cada imagem de acordo com a projeo de
sada escolhida. Nota-se que os pontos so mapeados de acordo com suas coordenadas de latitude e
longitude nas imagens, portanto o mapeamento fisheye da lente utilizada deve ser conhecido. Este
processo denominado warping, e deve ser adaptativo, de maneira que a correspondncia determinada
no alinhamento seja respeitada da melhor maneira possvel.
14

Por ltimo, deve ser decidido como combinar de fato os pixels do panorama. Caso todas as imagens
tenham sido perfeitamente registradas e possuam exposio idntica, a soluo trivial, pois qualquer
combinao serviria. Contudo, para imagens reais, comum a ocorrncia de junes visveis devido a
diferenas de exposio, borrados devido a um registro imperfeito e fantasmas devido movimentao
de objetos. Szeliski divide o processo em seleo de pixels (de-ghosting) e combinao de pixels
(blending), embora afirme que a distino entre os dois estgios sutil [7].
A maneira mais simples de se combinar os pixels calculando a mdia entre eles. Este mtodo no
possui grande vantagem alm de sua simplicidade pois as imperfeies citadas continuam visveis. J
um filtro de mediana capaz de remover objetos com posies distintas, mas tambm pode gerar
resultados indesejveis ao remover caractersticas demais. Uma abordagem intermediria a mdia
ponderada com pesos maiores para pixels no centro. A distncia Euclidiana de cada pixel ao pixel
invlido (i.e., fora do mapeamento) mais prximo usada como peso no clculo da mdia, sendo este
processo denominado feathering. Ele pode ainda ser melhorado ao elevar-se a mtrica a uma potncia
alta, fazendo com que os pesos sejam dominados pelos valores altos da mtrica original. A este ltimo
mtodo d-se o nome de p-norm, devido sua similaridade a uma norma vetorial. Os mtodos so
comparados na Figura 2.20, onde nota-se a reduo gradual de fantasmas da mdia simples na parte
(a) para o feathering na parte (c) e posteriormente o p-norm aplicado com p = 10 na parte (d). A
mediana, vista na parte (b), elimina diversos elementos da imagem de maneira agressiva e torna as
junes mais bvias.

Figura 2.20 Comparao entre mtodos de seleo de pixels: a) mdia, b) mediana, c) feathering e d) p-norm
(p = 10). [7]

Entre os mtodos de correo de variao na exposio e demais desalinhamentos, destacam-se o uso


de pirmides Laplacianas e de operaes no domnio do gradiente. A primeira tcnica consiste em
adaptar a largura da regio de combinao para cada banda de frequncia, ou seja, para cada nvel da
pirmide. Uma implementao de cdigo aberto desta tcnica foi utilizada na gerao dos panoramas
deste trabalho (Enblend [29]). Alternativamente, a combinao de pixels pode ser feita no domnio do
gradiente, sendo que a volta para o domnio da imagem calculada em geral resolvendo-se a equao
de Poisson.

15

3 CODIFICAO DE VDEO
E O PADRO H.264
3.1

ESPAO DE CORES E SUBAMOSTRAGEM

Vdeo digital, no contexto deste trabalho, a representao de uma cena natural amostrada
espacialmente e temporalmente [3]. A cena amostrada em um instante de tempo para que seja
composto um quadro (frame), que um composto por um conjunto de elementos (pixels) arranjados
espacialmente em um grid retangular. So necessrios trs elementos por posio amostrada para que
se tenha a informao de cor daquele ponto de maneira similar ao sistema de viso humano (HVS)
[30]. O mtodo escolhido para representar a cor e iluminao com esses trs elementos denominado
espao de cores.

Figura 3.1 Cubo RGB.

Um espao de cores bastante conhecido est ilustrado na Figura 3.1, o RGB. A amostra de cor
representada com trs valores que indicam as propores relativas de vermelho, verde e azul, que so
as trs cores primrias aditivas. Este espao apropriado para a captura e exibio de imagens. A
captura envolve a filtragem de cada faixa do espectro associada a uma das cores citadas para que
excitem sensores separadamente. Monitores do tipo LCD (display de cristal lquido) e CRT (tubos de
raios catdicos) exibem uma imagem RGB iluminando separadamente as componentes vermelha,
verde e azul de cada pixel de acordo com a intensidade de cada componente. A uma distncia de
observao normal, os pequenos pontos se confundem e do forma a uma imagem colorida.
Um espao alternativo que permite a representao mais eficiente da informao o YUV, tambm
chamado de YCbCr no domnio digital. Valendo-se do fato de que o HVS mais sensvel
luminncia (intensidade de luz ou brilho) do que s cores, o sistema separa essas componentes,
permitindo representar as menos importantes com resoluo menor. Em contraste, no sistema RGB,
cada componente igualmente importante e deve ser representada com a mesma resoluo. A
componente Y corresponde luminncia, e calculada como uma mdia ponderada entre os valores
R, G e B, com pesos -Y :
Z = -C  + -[ \ + -] ^.

(3.1)

A informao de cor pode ser representada como crominncia, que a diferena entre as componentes
R, G, B e a luminncia Y:
16

_ = ^ Z

_+ =  Z,

(3.2)

sendo a terceira componente de crominncia comumente estimada a partir das outras duas, uma vez
que a soma das trs uma constante. Os pesos utilizados na Eq. (3.1) no so nicos e dependem do
padro utilizado na aplicao. A recomendao da ITU-R BT.601 define -C = 0,299 e -] = 0,114,
sendo -[ = 0,587 obtido indiretamente, uma vez que a soma dos pesos deve ser igual unidade. Esta
a forma de converso adotada neste trabalho.
Como indicado anteriormente, as componentes de crominncia podem ser amostradas com menor
resoluo espacial, sem aparente perda de qualidade subjetiva. Este processo denominado
subamostragem. A Figura 3.2 ilustra as diferentes possibilidades para a amostragem espacial. Os
crculos brancos representam componentes Y e os cinzas os de crominncia. Na Figura 3.2(c), as trs
componentes so amostradas com a mesma resoluo espacial. Na Figura 3.2(b), as componentes
esto presentes a cada duas amostras de Y, e, na Figura 3.2(a), a cada quatro amostras. Cada formato
descrito por uma razo de trs partes na forma J:a:b, que descreve, para uma regio com largura de J
amostras e altura 2, quantos componentes de crominncia h na primeira linha (a) e quantos h na
segunda (b). Os formatos da Figura 3.2 so, portanto, na ordem, 4:2:0, 4:2:2 e 4:4:4. O formato 4:2:0
bastante comum em diversas implementaes de padres de compresso de imagem e vdeo, e foi
usado neste trabalho quando se fez necessrio trabalhar no espao YCbCr.

Figura 3.2 Amostragem de componentes no YCbCr: a) 4:2:0, b) 4:2:2, c) 4:4:4. (modificado [3])

3.2 MTRICAS DE QUALIDADE


A codificao de vdeo estudada neste trabalho ser do tipo com perdas, i.e., o vdeo descomprimido
apresentar qualidade visual inferior ao original. Com isso, taxas de compresso elevadas podem ser
alcanadas, ao custo de uma degradao no sinal recuperado. Esta degradao deve ser medida alm
da taxa de compresso para que sistemas diferentes possam ser comparados de maneira clara.
O processo de medio de qualidade visual um campo amplo de estudo pois no um problema com
soluo objetiva. A opinio de um observador acerca da qualidade de um vdeo pode variar de acordo
com sua interao com o contedo. O observador pode estar consumindo vdeo como entretenimento
em sua casa ou como parte do seu trabalho em uma videoconferncia, gerando expectativas e nveis de
ateno diferentes.
Metodologias de anlise de qualidade visual subjetiva so em geral difceis de serem postas em
prtica, portanto medidas objetivas so atrativas para pesquisadores. A mtrica mais utilizada a Peak
Signal to Noise Ratio (PSNR), baseada no erro mdio quadrtico (MSE). O MSE entre duas imagens
representadas pelas matrizes I e J, com dimenses   total de pixels d =  , dado por
l

1
;<= = e e(f(g, h) i(g, h))2 .
d
Yk. jk.

(3.3)

Assumindo que essas imagens sejam codificadas com 8 bits por amostra (valor mximo de 255), a
PSNR entre elas calculada como
17

2552
(3.4)
.
;<=
Caso seja usado o espao de cores YUV, comum obter esta mtrica para cada componente
separadamente, sendo que a qualidade da luminncia geralmente representa o parmetro de maior
interesse. Para um vdeo com vrios frames, a diferena no MSE calculada entre cada pixel
correspondente (mesma posio e mesmo frame), e N passa a ser o nmero de pixels total no vdeo.
m<d = 10 log.E

3.3 ESTRUTURA DE UM CODEC DE VDEO


A compresso envolve um par de sistemas complementar, um compressor (encoder ou codificador) e
um descompressor (decoder ou decodificador). O codificador converte os dados originais para uma
forma comprimida, ocupando menos bits, podendo ela ser transmitida ou armazenada. O decodificador
recupera, a partir da informao comprimida, uma representao na forma dos dados originais, que
pode ser utilizada como pretendido inicialmente. O par formado pelo codificador e decodificador
chamado de codec. Na Figura 3.3 mostrado um diagrama de blocos de um sistema tpico para um
codec de vdeo.

Figura 3.3 Sistema tpico de aquisio e visualizao de vdeo com compresso.

Na codificao de vdeo so exploradas redundncias espaciais e temporais a fim de se conseguir uma


compresso do sinal. No domnio do tempo, h uma alta correlao (similaridade) entre frames que
tenham sido capturados em instantes prximos, principalmente se a taxa de aquisio (framerate)
alta. No domnio espacial, geralmente h alta correlao entre pixels que estejam prximos uns dos
outros, comumente chamados de vizinhos.
Um codec representa a sequncia de vdeo original por um modelo, que uma representao
codificada eficiente e que pode ser utilizada para reconstruir uma aproximao do contedo original.
De maneira ideal, o modelo deve representar utilizando o menor nmero de bits e com a maior
fidelidade possveis. Esses dois objetivos so quase sempre conflitantes, ou seja, quanto menor a taxa
de bits (bitrate) de uma representao gerada pelo codificador, maior a perda em qualidade na
reconstruo feita pelo decodificador.
Um codificador de vdeo possui em geral trs unidades funcionais: uma etapa de predio, uma etapa
de transformao e quantizao, e um codificador de entropia, conforme ilustrado na Figura 3.4. A
entrada da etapa de predio a sequncia original no comprimida. Neste estgio, as redundncias
temporais e espaciais so minimizadas ao construrem-se predies de quadros a partir de pixels do
mesmo quadro (predio intra) e de outros quadros prximos, i.e., prevendo o movimento dos pixels
entre os quadros (predio inter). As predies podem ser feitas com base em quadros passados ou
futuros. A sada deste estgio um quadro residual, que a diferena entre o quadro estimado e o real,
mais um conjunto de parmetros descrevendo a movimentao que foi estimada.

Figura 3.4 Estrutura de um codificador de vdeo.


18

Os frames residuais formam a entrada para o prximo estgio, a etapa de transformada e quantizao,
no qual a redundncia espacial reduzida valendo-se das similaridades entre vizinhos. Um processo
comum a aplicao de uma transformada reversvel nas amostras residuais, para represent-las como
os coeficientes dessa transformao. Esses coeficientes so quantizados, semelhantemente a um
processo de arredondamento, e em seguida ordenados com base em sua importncia para a
representao do sinal. Assim, a quantizao garante que os coeficientes transformados sejam
representados em valores inteiros, ao invs de ponto flutuante, e os coeficientes menos relevantes so
descartados no arredondamento. Os coeficientes quantizados so a sada deste estagio.
Os parmetros das etapas de predio, transformao e quantizao so comprimidos com um
codificador de entropia. Este um processo sem perdas, pois dever ser revertido perfeitamente no
decodificador. A sequncia final comprimida consiste portanto em uma srie de parmetros vetoriais
(descrevendo as predies intra e inter) e coeficientes quantizados (descrevendo as amostras
residuais), ambos codificados, e informaes adicionais de cabealho.
O decodificador utiliza esta sequncia para reconstruir o vdeo original repetindo os passos do
codificador na ordem inversa. Um decodificador de entropia recupera os parmetros das predies
intra e inter e os coeficientes quantizados. Estes ltimos so usados para reconstruir as os frames
residuais, e os frames completos so obtidos a partir da informao de predio. As etapas de
predio, transformao e quantizao so detalhadas nas sees que seguem.

3.4 ETAPA DE PREDIO


O objetivo da etapa de predio reduzir a redundncia entre regies do mesmo frame e entre frames
adjacentes, ao apontar similaridades espaciais em um frame e formar predies da movimentao na
cena. Subtraindo a predio do frame a ser codificado, obtm-se frames residuais, que possuem bem
menos energia que um frame completo original, e portanto so mais eficientemente comprimidos. A
predio de movimentao da cena pode ser feita a partir de frames anteriores ou posteriores (frames
de referncia).
A forma mais simples de predio utilizar o frame anterior como predio do frame atual. A Figura
3.5 ilustra dois frames consecutivos, sendo que o frame 1 atua como predio do frame 2. O resduo ao
subtrair-se o frame 1 de 2 mostrado por ltimo, e a ele foi somado uma constante para melhor
visualizao. Quanto mais claras ou escuras as regies, mais diferena positiva e negativa,
respectivamente, h entre os frames. Regies cinza indicam pequena ou nenhuma diferena. Nota-se
que boa parte da energia residual fruto da movimentao de componentes da cena (o livro e a cabea
do homem esquerda), e a energia residual pode ser reduzida ao compensar-se essa movimentao
local entre os frames.

Figura 3.5 Predio temporal simples. (modificado [3])

As mudanas entre os frames podem ser causadas por movimentao de objetos (rgidos ou
deformveis), movimentao da cmera, ocluso de regies e alterao na iluminao. As duas
primeiras podem ser descritas simplesmente pela movimentao de pixels de um frame para outro. Ao
estimar-se a movimentao de cada pixel, gerado o que se chama de fluxo ptico, visualizado como
um campo de trajetrias. Com o conhecimento deste campo, possvel gerar uma estimativa bastante
apurada ao moverem-se os pixels a partir do frame de referencia de acordo com as trajetrias
19

calculadas. Algoritmos de estimao de fluxo ptico so objeto de grande pesquisa na literatura. Na


prtica, porm, este mtodo no se torna uma boa soluo por ser computacionalmente pesado e por
ser necessrio armazenar vetores de movimento para cada pixel, a fim de garantir a reconstruo no
decodificador, o que representa grande volume de informao e anula a vantagem de se utilizar frames
residuais. A soluo de compromisso realizar o processamento em blocos de pixels.
A estimao de movimento em blocos consiste em subdividir o frame em blocos retangulares e
compensar o movimento dessas estruturas, ao invs de realizar o processamento pixel a pixel como no
clculo de fluxo ptico. Um algoritmo comum consiste em fixar uma janela de busca em volta de um
bloco a ser estimado, e procurar dentro dessa janela, nos frames de referncia, pelo bloco de mesmo
tamanho que tenha maior semelhana ao bloco original. Uma mtrica comum para determinar o bloco
mais semelhante escolher aquele que minimiza a energia (soma dos erros absolutos, SAE) do bloco
residual (diferena entre os blocos). O candidato escolhido se torna a predio para o bloco em
questo, e o bloco residual armazenado. O processo de busca de um bloco semelhante se denomina
estimao de movimento, e a obteno do bloco residual, compensao de movimento. Com a
informao de origem do bloco de referncia e a sua movimentao gerado um vetor de movimento,
que codificado e transmitido junto ao resduo. Este conjunto de informaes suficiente para que o
decodificador seja capaz de reconstruir frames semelhantes aos originais ao recriar as predies com
os vetores de movimento e som-las aos blocos de referncia.
Essa tcnica popular por ser de fcil compreenso e computacionalmente vivel. Alm disso,
constitui em uma boa combinao para as transformadas em bloco aplicadas aos resduos, como a
DCT, e constituem em geral um modelo razovel para as variaes temporais em uma cena.
Obviamente, cenas reais no apresentam total conformidade a variaes espaciais em bloco, como no
caso de objetos deformveis, rotaes e movimentaes complexas (lquidos, fumaa etc.). Essas
variaes so difceis de serem compensadas por blocos e acabam gerando predies incompletas nas
imagens reconstrudas. Apesar disso, esta a base do modelo temporal de todos os padres de
codificao de vdeo atualmente.
O tamanho padro de um bloco em diversos padres de codificao um quadrado de 16 x 16 pixels
denominado macrobloco. Para uma sequncia de vdeo no padro YUV 4:2:0 (Figura 3.2(a)), ele
consiste em 256 amostras de luminncia arranjados em quatro blocos de 8 x 8 pixels e 128 amostras de
crominncia arranjados em dois blocos de 8 x 8 pixels (um para Cb e outro para Cr), totalizando seis
blocos. Porm, os objetos que se movimentam em uma cena raramente seguem um traado bem
delimitado de macroblocos, portanto desejvel utilizar-se um tamanho varivel de bloco para
predio e compensao de movimento. Outra possibilidade interpolar os frames de referncia para
uma resoluo sub-pixel, a fim de melhorar a busca por partes de um objeto que no se movam um
nmero inteiro de pixels entre frames.

Figura 3.6 Resduos com compensao de movimento. (modificado [3])

A Figura 3.6 mostra como seria a predio entre frames da Figura 3.5 com compensao de
movimento. Os resduos so mostrados da mesma forma que o resduo da Figura 3.5, e cada um
corresponde compensao de movimento usando um tamanho de bloco diferente, conforme a
legenda. Nota-se que todos apresentam bem menos energia (regies claras ou escuras) que o resduo
da Figura 3.5, e que, medida que o tamanho do bloco utilizado diminui, a energia residual tambm
diminui. Apesar de o resultado da compensao de movimento melhorar com a diminuio dos blocos,
a complexidade da predio tambm aumenta, i.e., so necessrias mais buscas (mais processamento)
20

para se chegar a estes resultados e mais informao de vetores de movimento devem ser armazenadas.
Como os vetores de movimento ocupam espao na sequncia codificada, deve-se avaliar com cuidado
at que ponto a diminuio dos blocos vantajosa na reduo da taxa de bits.
Uma soluo de compromisso interessante adaptar o tamanho dos blocos s caractersticas de
diferentes regies da cena. Por exemplo, fundos homogneos como um cu limpo ou uma parede lisa
podem ser estimados com blocos maiores de maneira eficiente e sem muita perda em qualidade,
enquanto que contedos com muitos detalhes e movimentos como rostos ou exploses se beneficiam
da predio com blocos de tamanho reduzido.
O frame residual pode ser gerado tambm a partir de predies partindo do mesmo frame. Assumindo
que a imagem seja codificada de maneira ordenada (e.g., raster) pixels j codificados acima e
esquerda podem ser usados para estimar o valor do pixel atual. Esta estimativa subtrada do valor
real e o resduo resultante codificado. O decodificador deve usar o mesmo formato de predio para
reconstruir o pixel corretamente. Diferentes formatos de predio podem ser usados em reas com
determinadas caractersticas na imagem, provendo estimativas mais prximas do valor real mas
aumentando o overhead de informao passado ao decodificador. Este processo denominado
predio intra ou ainda Differential Pulse Coded Modulation (DPCM) e descrito em maior detalhe
em 3.8.

3.5 MODELO ESPACIAL


O frame de um vdeo pode ser representado como uma funo bidimensional, na qual as coordenadas
no plano referentes posio de um elemento so associadas a um valor que indica a intensidade do
pixel. Imagens de cenas reais so em geral difceis de comprimir com codificao de entropia por
possurem alta correlao entre elementos vizinhos. J um frame residual, como os da Figura 3.6,
possui baixa correlao local, sendo, portanto, mais fcil de comprimir que o frame original. A funo
da etapa de transformao e quantizao converter os dados para uma forma que aumente a
eficincia de compresso.
A aplicao de uma transformada ao resduo converte as amostras para outro domnio de
representao, no qual elas devem apresentar menor correlao e maior compactao. Menor
correlao significa ser representado por elementos (coeficientes) que tenham mnima dependncia
entre si. Maior compactao requer que a maior parte da informao (energia) esteja concentrada em
um nmero reduzido de elementos. Alm disso, a transformada deve possuir uma inversa e ser
computacionalmente eficiente.
H duas categorias bsicas para os vrios tipos de transformadas existentes para compresso de vdeo
e imagem: transformadas de bloco e de imagem. Entre as transformadas de bloco, a mais utilizada a
Transformada de Cossenos Discreta (DCT), que ser descrita em maior detalhe a seguir. J entre as
transformadas que operam na imagem inteira (ou em uma poro), destaca-se a Transformada Wavelet
Discreta (DWT), utilizada no padro JPEG2000. Apesar de algumas medies indicarem uma
vantagem da DWT em relao a transformadas de bloco para imagens estticas, ela no se ajusta bem
compensao de movimentos em bloco utilizada em vdeo, ao contrrio da DCT.

A DCT bidimensional opera em um bloco de N x N amostras p e gera um bloco de coeficientes de


mesmo tamanho q. A aplicao da DCT pode ser descrita por uma matriz de transformao r, assim
como a aplicao da transformada inversa (IDCT). As formas direta e inversa da transformada so
dadas respectivamente por

Os elementos de s so dados por

q = spst

p = st qs.

rYj = _Y cos 4

(2h + 1)gv
:,
2d

onde _Y = w1/d, para g = 0, e _Y = w2/d, para g > 0.

(3.5)

(3.6)

21

Os coeficientes resultantes da aplicao da DCT podem ser interpretados como pesos de um conjunto
de padres de base no domnio da transformada. As bases so compostas de combinaes de funes
cosseno ao longo das linhas e colunas. Na Figura 3.7 so ilustradas as bases para a DCT 4 x 4. O bloco
original de mesmo tamanho pode ser reconstrudo a partir da combinao de todas essas bases,
multiplicando cada uma por um peso adequado, que so os coeficientes calculados.

Figura 3.7 Bases da DCT 4 x 4. (modificado [3])

A Figura 3.8 ilustra a vantagem da representao no domnio da DCT. Uma amostra p de tamanho 4 x
4 elementos e seus coeficientes q so dadas por:

Os elementos da amostra so representados por nveis de cinza entre 0 e 255. Fazendo todos os
elementos de q iguais a zero, exceto o nvel DC (537,25), aplica-se a IDCT e obtm-se um bloco cujos
elementos so todos iguais ao nvel de cinza mdio de p. Ao acrescentar-se o prximo coeficiente
mais significativo, a reconstruo comea a tomar a forma do bloco original, e com cinco coeficientes
a reconstruo satisfatria. Desta maneira possvel armazenar apenas cinco elementos para
representar p, ao invs dos 16 iniciais.
Original

1 coeficiente

2 coeficientes

5 coeficientes

Figura 3.8 Exemplo de reconstruo de um bloco a partir de seus coeficientes da DCT.

A etapa final do modelo espacial a quantizao dos coeficientes do bloco no domnio da DCT. Uma
funo quantizadora aquela que mapeia um sinal definido em um espao de valores permitidos para
outro espao com menos valores disponveis. Ao se reduzir a quantidade de valores que a funo pode
assumir, so necessrios menos bits para represent-la, portanto esta uma forma de compresso do

22

sinal. Sero discutidos quantizadores escalares, que mapeiam elementos individualmente, mas tambm
h os quantizadores vetoriais, que mapeiam grupos de elementos.
A quantizao pode ser entendida como um arredondamento, e este um processo de compresso com
perdas, i.e. no-reversvel, uma vez que no guardado um registro sobre as informaes descartadas.
A forma geral de um quantizador
Z = ym +z{) J

i
K,
ym

(3.7)

onde i a amostra original, Z o valor quantizado e ym o parmetro de quantizao, tambm


chamado de step, pois os valores de Z so igualmente espaados de ym. Nota-se que quanto maior o
ym, menor o alcance de valores permitidos, e o sinal pode ento ser eficientemente representado de
maneira comprimida. Por outro lado, a reconstruo ser prejudicada e ter uma forma sucessivamente
menos parecida com o sinal original. A estimao de ym um compromisso importante na codificao
do sinal, pois deve-se procurar um equilbrio entre sua compresso eficiente e a garantia de uma
reconstruo satisfatria. A sada tpica da quantizao de uma matriz de coeficientes da DCT uma
matriz esparsa, com vrios coeficientes de baixa energia zerados. Eles so ento ordenados de maneira
que os coeficientes nulos estejam agrupados, facilitando o processo de compresso com um
codificador de entropia. A quantizao vetorial um processo anlogo, com a diferena de que o
espao para o qual se mapeia um conjunto de padres de coeficientes (codebook). O decodificador
deve ter conhecimento do codebook utilizado para que seja possvel a reconstruo.

3.6 PADRO H.264/MPEG-4 AVC E SEUS PERFIS


Desenvolvido pelo Video Coding Experts Group (VCEG) da ITU-T e pelo Moving Pictures Expert
Group da ISO e IEC, o padro de codificao de vdeo denominado Advanced Video Coding
atualmente o mais disseminado na indstria e na academia. Publicado como parte 10 do MPEG-4 e
como recomendao H.264 da IUT-T [2], tambm comumente chamado H.264/AVC. O objetivo do
desenvolvimento do padro era prover funcionalidade similar aos padres anteriores H.263+ e MPEG4 Visual, porm proporcionando melhores taxas de compresso mesma qualidade e adicionando
suporte transmisso robusta em canais de comunicao. As aplicaes do padro so armazenamento
e teledifuso em alta definio2 ( o padro adotado no Sistema Brasileiro de Televiso Digital
SBTVD e uma das opes para discos Blu-Ray), videotelefonia e streaming em redes comutadas por
pacote como a Internet.
O padro um documento que define uma representao codificada (sintaxe) para representar as
sequncias de vdeo comprimidas e um mtodo para decodificar essa sintaxe, a fim de reconstruir a
sequncia corretamente. Um dos objetivos garantir que codecs compatveis sejam operveis entre si,
e ainda assim proporcionar aos desenvolvedores a liberdade para criar produtos competitivos e
inovadores. Nota-se que o padro no define um codificador (encoder), apenas a sada que este
codificador deve produzir. Um mtodo de decodificao (um decoder) apresentado, mas os
desenvolvedores so livres para programarem suas prprias verses, desde que estas produzam o
mesmo resultado do mtodo de referncia.
A Figura 3.9 ilustra as unidades funcionais tpicas de um codificador H.264/AVC: predio,
transformao, quantizao, codificao de entropia e o filtro anti-blocos, uma novidade da
especificao. Podem ser observados dois sentidos de fluxo da informao: um principal, denominado
direto, representado da esquerda para a direita, e um secundrio para reconstruo, representado da
direita para esquerda pela quantizao e transformao inversas, seguido da filtragem. A Figura 3.10
representa a estrutura tpica de um decodificador, com o fluxo da informao representado da direita
para esquerda a fim de se realar as semelhanas com o codificador da Figura 3.9.
Na Figura 3.9, o frame de entrada processado em unidades de macrobloco, como descrito em 3.4, e
para cada um deles formada uma predio no modo intra ou inter. No modo intra, a referncia para
as predies so amostras do quadro atual que j tenham sido codificadas, decodificadas e
2

Vdeo em alta definio se refere a qualquer sistema de vdeo com resoluo superior a 480 linhas (definio
padro ou SD). Geralmente se refere aos formatos 720p e 1080p.
23

reconstrudas. No modo inter, as predies so formadas com compensao de movimento a partir de


blocos de um ou dois quadros previamente codificados, reconstrudos e filtrados (frames de
}
referncia). Na Figura 3.9 est indicado |1L.
, mas as referncias tambm podem ser quadros
posteriores, bastando que tenham sido codificados antes do atual. A predio subtrada do bloco que
est sendo processado para produzir um bloco residual, que ser transformado em coeficientes por
uma aproximao da DCT (T), que so em seguida quantizados (y()) e ordenados para facilitar o
estgio final de codificao de entropia. Junto aos coeficientes so codificados vetores de movimento
e cabealhos necessrios (modo de predio, parmetro de quantizao etc.) para decodificar e
reconstruir o bloco, formando a sequncia de sada comprimida (bitstream). O fluxo de reconstruo,
na parte inferior da figura, responsvel por decodificar cada bloco que acabou de ser codificado, para
que possam ser usados nas predies seguintes. Os coeficientes da transformada so re-escalonados
(y L. ()) e processados pela transformada inversa (T-1), produzindo um bloco diferencial. Este bloco
somado ao resduo para formar uma verso reconstruda, que filtrada e utilizada para compor os
quadros de referncia.

Figura 3.9 Unidades funcionais tpicas de um codificador do padro H.264.

Na Figura 3.10, o decodificador recebe uma sequncia comprimida e utiliza um decodificador de


entropia para recuperar os coeficientes da transformada, os quais so reordenados, re-escalonados
(y L. ()) e transformados em blocos diferenciais pela transformada inversa (T-1). Utilizando as
informaes de cabealho e vetores de movimento, um bloco de predio gerado e somado ao bloco
diferencial, gerando um bloco reconstrudo, que filtrado e armazenado para compor a sequncia a ser
visualizada.

Figura 3.10 Unidades funcionais tpicas de um decodificador do padro H.264.

O padro H.264/AVC definiu, poca em que foi estabelecido (2003), um conjunto de trs perfis de
operao, que determinam um grupo de tcnicas e algoritmos que podem ser usados para gerar um
bitstream. Os perfis foram denominados Baseline, Main e Extended. Cada perfil voltado para um
24

tipo de aplicao, e essa classificao facilita o desenvolvimento de codificadores e decodificadores


especficos e que mantenham boa compatibilidade entre si. Entre as aplicaes do perfil Baseline esto
aquelas que necessitam de baixa complexidade computacional e alta resilincia como videotelefonia e
comunicaes sem fio em geral. O perfil Main j voltado para aplicaes em que a compresso
eficiente o objetivo maior como armazenamento de vdeo e teledifuso. O conjunto de tcnicas do
perfil Extended pode ser visto como um compromisso entre os dois ltimos, sendo este voltado para o
streaming de mdia. Nesta situao pode haver banda suficiente para suportar resolues maiores de
vdeo, mas as perdas na transmisso comuns em redes como a Internet tornam necessria a adoo de
tcnicas de resilincia.
Em 2005, foi adicionado especificao o perfil High e suas variaes, que, entre outras
caractersticas, fazem uso de um conjunto de extenses denominado Fidelity Range Extensions
(FRExt) para aumentarem a eficincia do codificador. Atualmente, a especificao conta com 17
perfis, destacando-se os que do suporte a Scalable Video Coding (SVC, conjunto de tcnicas
adaptativas de compresso) e Multiview Video Coding (MVC, voltado para viso estereoscpica e de
mltiplas vistas).
Dentro dos limites impostos pela sintaxe de um dado perfil, ainda existe a questo da variao de
performance do codificador e do decodificador dependendo de valores assumidos por parmetros da
sintaxe. Para estabelecer padres de complexidade, o H.264/AVC especifica para cada perfil o que so
chamados de nveis. Os nveis especificam restries numricas em parmetros ou combinaes de
parmetros. Dessa maneira, possvel julgar a compatibilidade de codificadores e decodificadores
com relao a uma capacidade de performance requerida.
A seguir sero analisadas as tcnicas de predio em blocos, por serem o alvo de interesse das
implicaes deste trabalho. Para tal, necessrio introduzir o conceito de slices e tipos de
macroblocos. Slice um conjunto de macroblocos ordenados (no necessariamente contnuos) em um
quadro, determinando uma regio. Os macroblocos podem ser do tipo I ou P. Os do tipo I so
codificados com predio intra, e os do tipo P com predio inter. Os slices podem ser do tipo I,
contendo apenas macroblocos I, ou do tipo P, contendo macroblocos I ou P. H ainda macroblocos do
tipo B e slices do tipo SP e SI, mas estes no foram usados nos experimentos e no sero abordados.
Sero focadas apenas tcnicas disponveis no perfil Baseline, utilizado nos experimentos.

3.7 PREDIO INTER


Na predio inter os blocos so estimados a partir de um ou mais frames previamente codificados e
reconstrudos utilizando compensao de movimento. Entre as inovaes do H.264/AVC nesta rea
esto a possibilidade de variao do tamanho dos blocos em funo das caractersticas de cada regio
da imagem e a preciso sub-amostra dos vetores de movimento.
A variao dos tamanhos dos blocos se d com a diviso dos macroblocos em blocos, e estes em
estruturas menores. Por conta da topologia ramificada, este mtodo chamado de compensao de
movimento em estrutura de rvore. A Figura 3.11 ilustra as possibilidades de partio para as amostras
de luminncia. O macrobloco (16 x 16 amostras) pode ser quebrado em duas parties de 8 x 16 (ou
16 x 8) ou em quatro de 8 x 8, como mostrado na Figura 3.11(a). No segundo caso, os blocos de 8 x 8
podem ser subdivididos analogamente, como na Figura 3.11(b), gerando o que so chamados submacroblocos. As parties das componentes Cb e Cr so anlogas e possuem metade das dimenses.

25

Figura 3.11 Possibilidades de partio na luminncia de a) macroblocos e b) sub-macroblocos.

A escolha da partio pode afetar diretamente a performance da compresso. Cada uma das estruturas
geradas necessita de um vetor de movimento separado e de uma sinalizao do mtodo de partio, e a
codificao desta informao adicional deve ser levada em conta. Caso se opte por parties de
tamanho maior (e.g., 16 x 8), sero necessrios poucos bits indicando os vetores de movimento e o
tipo de partio escolhido, mas o resduo da compensao de movimento poder apresentar energia
considervel se a regio codificada for muito detalhada. A escolha de parties de tamanho reduzido
(e.g., 4 x 4) implica na necessidade de mais bits para descrio dos vetores de movimento e do tipo de
partio, mas resulta em geral em um resduo com pouca energia. Em geral, parties de tamanho
maior so apropriadas para reas homogneas, e as de tamanho menor para reas com maior detalhe.
A Figura 3.12, gerada com o programa StreamEye (Elecard, Inc.), ilustra a partio de um frame de
tamanho 352 x 288 pixels da sequncia de teste foreman codificada a 200 kbps no perfil Baseline.
Nota-se a utilizao de parties maiores nas regies homogneas ao fundo e menores nas regies
mais detalhadas ao centro.

Figura 3.12 Parties em um frame codificado com predio inter.

A diferena de posio entre o bloco processado e o bloco do qual ele foi estimado no frame de
referncia medida com preciso de um quarto de amostra na componente Y e um oitavo nas
componentes de crominncia (devido subamostragem). As amostras em posies intermedirias so
geradas atravs da interpolao de amostras vizinhas. A grande quantidade de vetores de movimento
gerada pode prejudicar a eficincia do processo de compresso, portanto sua representao deve ser
otimizada. Os vetores de movimento de parties vizinhas so altamente correlacionados, portanto
possvel realizar estimativas a partir de parties previamente codificadas. Essa tcnica denominada
predio de vetores de movimento (MVp) e consiste em codificar a diferena entre o vetor de
movimento real e uma estimativa feita a partir de vetores de parties vizinhas.

26

3.8 PREDIO INTRA


No modo intra as predies so feitas a partir de blocos que estejam no mesmo slice e que tenham
sido previamente codificados e reconstrudos. Portanto, no so utilizadas informaes de outros
quadros. So formados blocos de tamanho 4 x 44, 8 x 8 ou 16 x 16 amostras para a componente de
luminncia, e de tamanho 8 x 8 para as componentes de crominncia. Diferentes mtodos de
interpolao e extrapolao a partir das amostras vizinhas so usados para gerar um bloco. Esse bloco
estimado subtrado do bloco
loco real, formando o resduo que ser codificado. O mtodo usado para
estimar as amostras geralmente escolhido como aquele que minimiza a energia do resduo.
Sero descritos os mtodos de predio para um bloco de 4 x 4 por serem os mais gerais. Para os
demais tamanhos os mtodos so simplificaes do caso 4 x 4. A Figura 3.13(a)
(a) mostra um bloco a ser
estimado, denominado P, cujas amostras so identificadas por letra
letrass minsculas, e as amostras
vizinhas previamente codificadas, identificadas por letras maisculas. As amostras de P (a
( a p) so
calculadas a partir de extrapolaes ou interpolaes envolvendo as amostras A a M, de acordo com o
mtodo escolhido. H nove mtodos
todos disponveis, identificados por um nmero de 0 a 8. O mtodo 2
denominado DC e consiste em uma mdia simples entre algumas amostras A a M, dependendo de
quais esto disponveis. Os demais s so utilizados se as amostras necessrias estiverem disponveis,
dispon
e a direo e sentido de interpolao (ou extrapolao) para cada um so mostrados na Figura 3.13(b).

Figura 3.13 a) Identificao das amostras a serem estimadas e b) direo e sentido da interpolao (ou
extrapolao) nos mtodos
todos de predio (exceto DC) [2].

Os mtodos 0 e 1 so simples e consistem em replicar respectivamente a linha A...D ou a coluna I...L.


Os demais mtodos so definidos como uma mdia ponderada de maneira um pouco mais complexa,
que ser exemplificada com o mtodo 3. Adotando
Adotando-se
se um eixo de coordenadas x e y com origem na
amostra a como indicado na Figura 3.13(a), define-se a funo (&, ),, com & = 1 7 e  =
1 3, que mapeia cada amostra a a p e A a M de acordo com sua posio. O valor de cada amostra
do bloco P dado no mtodo 3 por
(6, 1) + 3(7, 1)
,
&==3
4

+*)(&, ) =
(3.8)
(& + , 1)) + 2(& +  + 1, 1) + (& +  + 2, 1)
,
(. (.
(
4
A amostra e,, por exemplo, calculada neste caso como (^ + 2_ + )/4.. Nota-se
Not
que a direo
indicada na Figura 3.13(b)
(b) aproximadamente seguida.

A escolha entre esses vrios mtodos deve ser indicada ao decodificador, e isso implica em
informao adicional a ser inserida no bitstream,, prejudicando a taxa de compresso. Essa penalizao
minimizada estimando-se
se o mtodo mais provvel para aquele bl
bloco
oco e codificando a diferena entre
o mtodo estimado e o real. Esta tcnica vlida pois h alta correlao entre os mtodos de
codificao intra entre blocos 4 x 4 vizinhos.

27

4 EXPERIMENTOS
4.1

CALIBRAO DE LENTES FISHEYE

4.1.1 DESCRIO DO MODELO E ALGORITMO UTILIZADOS


A primeira parte dos experimentos realizados envolveu a calibrao e correo da distoro de lentes
fisheye, discutidos no captulo 2. A distoro referida, como j mencionado, se refere ao desvio da
projeo fisheye com relao projeo retilnea. Essa distoro majoritariamente radial, e a
calibrao o processo de ajustar um modelo matemtico a este comportamento. A correo
simplesmente o ato de se aplicar o modelo e obter uma imagem retilnea a partir de uma distorcida.
O modelo escolhido foi o da diviso polinomial (DM) por representar satisfatoriamente distores
moderadas a fortes com apenas um parmetro e pela facilidade na sua manipulao matemtica. O
modelo repetido por convenincia:
+,
+ =
1 + H+,2
(4.1)
1 I1 4H+2
+, =
2H+

onde + o raio no domnio retilneo (projeo perspectiva, sem distoro), +, o raio distorcido e H
o parmetro a ser calibrado e que determina a quantidade de distoro. A primeira forma da equao,
que leva do domnio fisheye ao domnio retilneo, ser tratada como forma direta, e a segunda, como
forma indireta. A aplicao deste modelo consiste em uma transformao espacial no-linear.
O mtodo de calibrao escolhido foi o de se mapear retas no domnio retilneo em arcos de crculo no
domnio DM, como descrito em [22]. Essa importante propriedade do modelo agora discutida.
Supondo o centro da distoro (COD) como o centro da imagem, pode-se reescrever a forma direta de
(4.1) em coordenadas cartesianas como:
&,
,
& =
(4.2)
2 e  =
1 + H+,
1 + H+,2
onde +,2 = &,2 + ,2 . Tomando-se a equao de uma reta no domnio retilneo como  = -& + ,
onde - a inclinao e  o valor da ordenada para a qual a abscissa se anula, vem
,
&,
+
(4.3)
2 =1 + H+,
1 + H+,2

1
1
(4.4)
&, , + = 0
H
H
H
que a equao de um crculo que passa pela origem no domnio fisheye. O processo de calibrao se
resume, portanto, a ajustar arcos de crculo em linhas na projeo fisheye que correspondem a retas no
domnio retilneo, determinando-se o parmetro H.

que pode ser rearranjada como

&,2 + ,2 +

Com discutido em 2.4, porm, no correto supor que o COD coincide com o centro da imagem,
portanto sua posio tambm deve ser estimada. Tomando-se as coordenadas do COD como (&E , E )
pode-se estender (4.4) para
(&, &E )2 + (, E )2 +

que pode ser reescrita como

1
1
O&, &E P (, E ) + = 0
H
H
H

(4.5)

28

fazendo

&,2 + ,2 + r&, ^, + _ = 0

2&E
H
1
^ = 2E
H
r=

(4.6)

1
1
&E + E +
H
H
H
O conjunto de equaes acima demonstra que, no domnio fisheye, a uma curva que deveria ser reta no
domnio retilneo pode-se ajustar um arco de crculo determinado por um grupo de parmetros
(rY , ^Y , _Y ). Ao se extrarem vrias curvas da imagem, o COD pode ser estimado a partir da
manipulao de (4.7) como
_ = &E2 + E2

(4.7)

(r. r2 )&E + (^. ^2 )E + (_. _2 ) = 0


(r r/ )&E + (^. ^/ )E + (_. _/ ) = 0
(4.8)
.
(r2 r/ )&E + (^2 ^/ )E + (_2 _/ ) = 0

que consiste em um sistema linear montado a partir de todas as combinaes possveis entre os
conjuntos de parmetros. Os parmetros (rY , ^Y , _Y ) podem ser ajustados a (4.6) de diversas maneiras.
Optou-se pelo mtodo dos mnimos quadrados pela sua simplicidade na implementao pelo processo
de aquisio das retas ser pouco automatizado, como ser descrito posteriormente. Para uma curva
com conjunto de pontos (&Y , Y ) no domnio fisheye, tem-se
r
(&Y , Y , 1) ^ = O&Y2 + Y2 P.
_
Ainda de (4.7), a estimao do parmetro H dada por
H=

&E2

+ E2

1
,
+ r&E + ^E + _

(4.9)

(4.10)

sendo que esta equao pode ser interpretada como de maneira escalar para cada curva, gerando
parmetros HY independentes, ou como um sistema linear gerando uma otimizao a partir de todas as
curvas
1
(&E2 + E2 + s&E + E + ) H = 1
(4.11)

onde A, B e C so vetores-coluna contendo os respectivos parmetros estimados para cada curva.

Em suma, o mtodo adotado consiste em


2) Para cada curva, determinar (rY , ^Y , _Y ), ajustando-as a arcos de crculos pelo mtodo dos mnimos
quadrados (Eq. (4.9)).
1) Na imagem fisheye, extrair n (n 3) curvas que correspondem a retas no domnio retilneo.

4) Estimar o parmetro H pela Eq. (4.11) ou por uma otimizao.

3) Estimar o COD pela Eq. (4.8).

O passo 4 no algoritmo desenvolvido ampliado para que todos os H estimados sejam testados
(incluindo o otimizado), e o que obtiver melhor resultado na correo escolhido. O mtodo de
comparao foi a colinearidade dos pontos corrigidos. Aps aplicar a forma direta de (4.1) aos pontos
extrados no passo 1, as retas resultantes so analisadas para determinar sua colinearidade. A
colinearidade foi analisada calculando-se primeiro uma regresso linear dos pontos que pertenciam a
uma mesma reta. As distncias Euclidianas de cada ponto sua reta determinada pelos parmetros da
regresso so somadas, determinando uma medida do quo eficiente foi a correo.

29

O passo 1 do algoritmo foi feito tanto de maneira manual, para imagens obtidas de terceiros, como de
maneira automatizada, para as imagens obtidas no laboratrio. O processo ser descrito a seguir.

4.1.2 FLUXO DE TRABALHO


Para os testes de calibrao, foram utilizadas imagens adquiridas no laboratrio e outras disponveis
em sites especializados na Internet. Para a captura das imagens no laboratrio, foi utilizado como
equipamento uma cmera fotogrfica digital do tipo single-les reflex (SLR) semi-profissional da marca
Sony, modelo DLSR-A200, e uma lente adaptadora fisheye com multiplicador focal 0.2X da marca
Opteka. Uma lente adaptadora apenas multiplica a distncia focal de outra lente na qual esteja
montada, fazendo com que esta passe a operar de maneira distinta. O equipamento est ilustrado na
Figura 4.1. A distncia focal utilizada na lente que acompanha a A200 foi de 35 mm, e a altura de seu
sensor de 15,8 mm. Assumindo uma projeo equislida no adaptador (no informado em sua
documentao), resolvendo para o ngulo de incidncia  na Eq. (2.5) e multiplicando por 2, o campo
de viso do sistema de aproximadamente 140.

Figura 4.1 Equipamento utilizado para captura de imagens de teste: a) cmera digital Sony com adaptador
montado e b) adaptador fisheye Opteka.

Com as imagens capturadas, aplicou-se o algoritmo de calibrao descrito na seo anterior. Os


cdigos para este trabalho foram desenvolvidos no ambiente MATLAB 7.9 (Mathworks, Inc.). A
escolha do ambiente se deu pela facilidade das operaes de entrada e sada com imagens e a notao
matricial de sua linguagem, que facilita as operaes de transformao.
O primeiro passo do algoritmo utilizado a extrao de curvas na imagem que correspondem a retas
no domnio retilneo. Em [17] descrito um processo automatizado para isso, mas sua implementao
envolve a deteco de bordas com preciso sub-pixel, conexo de bordas (edge linking) e um ajuste
iterativo para determinar as curvas de interesse. Ainda assim so detectados vrios outliers e
necessrio um algoritmo mais robusto como RANSAC ou Levenberg-Marquardt para o ajuste dos
pontos em arcos de crculos. Dada a complexidade apresentada, optou-se pela seleo manual dos
pontos, visto que um processo que s deveria ser requerido uma vez em aplicaes prticas, i.e., uma
vez determinados os parmetros para uma combinao cmera-lente pode-se somente reutiliz-los
toda vez que se for aplicar a correo.
Para auxiliar o processo, foi desenvolvida uma aplicao simples com auxlio de ferramentas
disponveis na toolbox de processamento de imagens do ambiente MATLAB. A aplicao ilustrada
na Figura 4.2. Caso a imagem seja do tipo fisheye circular, necessrio indicar a posio do crculo
efetivo da imagem, como em outros softwares de calibrao de cmeras (e formao de panoramas)
como PTGui (New House Internet Services BV) e Hugin (open source). Em seguida, extrada uma
reta por vez, selecionando-se os pontos e confirmando a operao. As retas anteriores so indicadas
com marcadores coloridos.
Este mtodo funcionou de maneira adequada para imagens obtidas na Internet com lentes profissionais
e de maior qualidade, mas para as imagens do laboratrio foi notada uma impreciso na calibrao
30

feita a partir da extrao manual de pontos, como ser discutido no captulo seguinte. A soluo
adotada foi o uso de padres de calibrao que fossem facilmente detectados de maneira automtica.
Um exemplo de padro adotado ilustrado na Figura 4.3(a). Sua deteco consistiu em uma
demarcao manual da rea de interesse (Figura 4.3(b)), para em seguida binarizar (representar com
apenas dois nveis) a imagem a partir de um limiar global, invert-la e, por fim, detectar todas as
formas binrias existentes, que correspondem s marcaes pretas. Foram utilizadas as coordenadas
dos centrides das reas detectadas para estabelecer um grid deformado (Figura 4.3(c)). Os pontos
desse grid foram conectados em retas com um algoritmo recursivo.

Figura 4.2 Rotina de extrao de linhas manualmente: a) seleo do crculo de imagem efetivo, b) entrada do
zoom para o passo posterior e c) seleo de pontos na figura ampliada (esq.) e janela de navegao (dir.).

Figura 4.3 Rotina de extrao de linhas automaticamente a partir de padres de calibrao.


31

O algoritmo recursivo parte de cada ponto do grid e seleciona um segundo ponto entre os vizinhos
deste. A cada iterao, tenta-se selecionar outro ponto dentre os vizinhos do anterior de maneira que a
variao da inclinao seja inferior a um limite imposto a partir de testes. Caso o ponto inicial possua
dois vizinhos com mesma inclinao, ambos so usados para se obter um conjunto maior. So ainda
descartadas combinaes repetidas de pontos. Ao final, tm-se vrios conjuntos de pontos que seriam
colineares em um domnio retilneo, portanto so usados como curvas de interesse para o algoritmo de
calibrao.
Os parmetros estimados pela calibrao (H e COD) so utilizados para aplicar a transformao
espacial na imagem dada pela Eq. (4.1). O mapeamento feito como descrito na seo 2.4, ou seja,
utiliza-se a forma direta para estimar as dimenses da sada, a forma inversa para fazer o mapeamento,
e um mtodo de interpolao para se determinar os valores. Os resultados obtidos so detalhados no
captulo 5.

4.2 COMPARATIVO DE COMPRESSO ENTRE IMAGENS FISHEYE E


RETILNEAS
Como aplicao do mtodo de calibrao desenvolvido, props-se uma comparao da performance
de compresso com o padro H.264/AVC entre sequncias de imagens com projeo fisheye e com
projeo perspectiva (retilnea). Dado que as tcnicas de compresso so aplicadas em blocos
retangulares e quadrados da imagem, espera-se que as imagens retilneas obtenham melhores
resultados.
As sequncias de imagens consistiram em fotos da mesma cena com bastante sobreposio, simulando
os frames de um vdeo. No foram encontradas cmeras de vdeo capazes de gravao com baixa
compresso e que fossem compatveis com o adaptador fisheye utilizado. Foram utilizadas somente
imagens do tipo fisheye circular, pois nelas a retificao guarda a proporo das dimenses da imagem
(quadrada, circunscrevendo o crculo), podendo-se gerar imagens retificadas com o mesmo tamanho
da original. Em imagens full-frame, a retificao altera a forma da imagem (ver seo 5.1) e a rea til
possui razo de aspecto diferente da imagem original. As imagens foram convertidas do espao de
cores RGB para o espao de cores YUV, padro em aplicaes de compresso.
A codificao dos vdeos foi feita com o software de referncia JM [31] para o padro H.264/AVC.
No foi feita nenhuma modificao no cdigo, sendo alterados apenas parmetros de codificao em
arquivos de configurao.
Os processos que seriam analisados a princpio esto ilustrados na Figura 4.4. As sequncias em
projeo fisheye so denotadas pela letra F, e as retificadas pela letra R. No processo FISH1, uma
sequncia de imagens fisheye codificada e decodificada. So medidas a distoro (PSNR) e taxa de
compresso (total de bits por total de pixels) da sequncia de sada. No processo FISH2, a sequncia
retificada antes da codificao utilizando a calibrao descrita na seo anterior. Aps ser
decodificada, ela retornada projeo fisheye original. Esta comparao no se mostrou justa ao
analisar-se que somente o processo de mapeamento e re-mapeamento das imagens introduz perdas
considerveis. A PSNR mdia entre uma imagem que passe por esse processo e sua original 30 dB,
que demonstra uma reconstruo pobre. Isso se deve ao fato de que regies no centro do crculo
fisheye, com maior resoluo espacial, passam a ocupar menor espao ao serem retificadas. Ao se
desfazer o mapeamento, as regies agora de baixa resoluo devem voltar a ocupar mais espao, o que
leva a grande perda de detalhes. Um processo anlogo reduzir o tamanho de uma imagem em 50%
(um quarto da rea total) para em seguida retornar ao tamanho original. O processo de interpolao
realizado no aumento no capaz de recuperar os detalhes originais, e a PSNR entre as imagens
redimensionada e original em torno de 30 dB tambm.

32

Figura 4.4 Cadeias de processos originalmente propostas para anlise de compresso de imagens fisheye.

Passou-se ento a considerar processos que tivessem como sada a imagem retificada, evitando as
perdas do mapeamento inverso. A Figura 4.5 ilustra os processos que sero comparados de fato nesta
parte do trabalho, com a mesma notao da Figura 4.4. No processo RET1, a sequncia retificada
aps ser codificada e decodificada. No processo RET2, ela retificada antes das etapas de
compresso. Nota-se que em ambos os casos a distoro da sequncia de sada calculada com
relao imagem retificada marcada como R. A taxa de compresso obtida do bitstream gerado em
cada processo.

Figura 4.5 Cadeias de processos aplicados na anlise comparativa de compresso de imagens fisheye.

Foram feitos testes com duas sequncias de imagens, embora do mesmo cenrio (uma sala no
laboratrio). Para a primeira sequncia, a retificao no processo RET1 feita no espao de cores
YUV, para evitar as perdas inerentes da converso YUV-RGB. Todos os testes utilizaram o perfil
Baseline no nvel 3. As sequncias foram codificadas de quatro maneiras: com predio intra em todos
frames ou somente no primeiro, e com otimizao de taxa-distoro (RDO) habilitado ou desabilitado.

4.3 COMPARATIVO DE COMPRESSO ENTRE IMAGENS FISHEYE E


PANORMICAS
O segundo comparativo proposto visa analisar a melhor alternativa na transmisso de imagens a fim
de se ter um panorama no receptor. Tem-se em mente como aplicao sistemas que necessitam gerar e
em seguida armazenar ou transmitir imagens panormicas em sequncia. Estes sistemas necessitam
gerar o panorama a partir de um nmero limitado de cmeras, portanto o uso de lentes fisheye
33

atrativo dado seu campo de viso ampliado. Aps a captura das imagens, pode-se optar entre as duas
cadeias de processamento descritas na Figura 4.6. No processo PANO1, as imagens so codificadas
antes do armazenamento ou transmisso para serem posteriormente utilizadas na gerao de um
panorama. No processo PANO2, gera-se o panorama para ento codific-lo e armazen-lo ou
transmiti-lo.
Foram feitos testes para dois grupos de 6 imagens fisheye, disponveis em pginas especializadas em
panoramas na Internet. As imagens estavam no formato fisheye full-frame e possuam reas de
sobreposio de 20% entre si. Foi utilizada a ferramenta open source Hugin [28] para automatizao
da formao de panoramas. Esta ferramenta consiste em um conjunto de aplicaes que realizam
etapas distintas da criao de panoramas, e que podem ser controladas de maneira independente pela
linha de comando, possibilitando a criao de rotinas.
Um panorama foi criado a partir das imagens de entrada sem nenhuma interferncia manual, e este
serviu de base para as comparaes de distoro. As coordenadas dos pontos de correspondncia
detectados entre as imagens e demais opes como formato do arquivo so guardados em um arquivo
em formato texto para ser utilizado posteriormente, garantindo uniformidade no processo de criao
dos panoramas. Este um cenrio realista pois o clculo das correspondncias bastante custoso
computacionalmente, sendo feito somente para um conjunto de imagens inicial. O arquivo texto
comprimido de maneira automtica no formato ZIP, e seu tamanho levado em conta no clculo da
taxa de compresso.
Para serem codificadas, as imagens foram agrupadas como frames de uma sequncia e convertidas
para o espao de cores YUV. O software de referncia JM foi novamente utilizado como
implementao do padro H.264/AVC. Foi utilizado o perfil Baseline no nvel 5, dado que as imagens
eram de resoluo elevada, e foi habilitado o RDO. A compresso foi testada com duas variaes:
predio intra em todos os frames e s no primeiro.
A imagem panormica tambm foi convertida para o espao de cores YUV e comprimida com os
mesmos parmetros, porm apenas com predio intra. Procurou-se manter, tanto nas imagens fisheye
quanto no panorama, dimenses mltiplas de 16, garantindo melhor performance na taxa de
compresso.

Figura 4.6 Cadeia de processos para anlise comparativa de compresso de panoramas.

34

5 RESULTADOS E ANLISES
5.1 CALIBRAO DE LENTES FISHEYE
Os algoritmos de calibrao desenvolvidos foram testados com as imagens do tipo fisheye circular
capturadas no laboratrio e com imagens do tipo full-frame disponveis no stio da empresa australiana
360 Degrees Of Freedom [32].
As imagens deste stio possuam FOV diagonal de 180, foram capturadas com uma cmera DSLR
profissional Nikon D100 e lente Nikkor, de distncia focal 10,5 mm e estavam comprimidas em JPEG
com qualidade 91. As curvas foram extradas destas imagens manualmente com auxlio das rotinas
desenvolvidas para tal. A Figura 5.1 ilustra a imagem de teste com as curvas selecionadas destacadas.

Figura 5.1 Imagem full-frame para teste de calibrao com as curvas selecionadas destacadas.

As coordenadas dos pontos das curvas foram usadas como entrada no algoritmo descrito na seo
4.1.1, resultando em H = 2,16 10L7 e COD 13,2 px direita e 33,8 px acima do centro da imagem,
cujas dimenses eram 660 x 993 px. Nos grficos da Figura 5.2 ilustrada a correo das curvas com
e sem estimao do COD, que indicado por um marcador (asterisco). Os pontos considerados esto
indicados por crculos, sobrepostos s retas ajustadas a eles por regresso linear.

Figura 5.2 Retificao das curvas extradas manualmente (eixos em pixels): a) pontos extrados, b) pontos
corrigidos com estimao do COD e c) pontos corrigidos sem estimao do COD.
35

A regresso linear foi calculada com a funo polyfit disponvel no ambiente MATLAB. A
mtrica de qualidade estabelecida para a correo foi a colinearidade dos pontos corrigidos, estimada
como a soma das distncias de cada ponto reta ajustada correspondente. Com a estimao do COD,
as distncias apresentaram mdia 3,79 px e desvio padro 1,22 px. Desprezando-se a estimao, estes
valores foram 3,93 e 1,76 px. A descentralizao vertical do COD estimado correspondeu a cerca de
3,4% da altura da imagem, o que pode ser considerado como significativo para uma lente profissional
como a que foi utilizada. H outras caractersticas que levam descentralizao do COD, mas pode-se
atribuir essa diferena sensibilidade do mtodo com relao distribuio das curvas extradas,
como ser visto adiante.
As imagens corrigidas so apresentadas na Figura 5.3. Na Figura 5.3(b) mostrada a imagem
corrigida por inteiro. Como a correo puramente radial, os cantos da imagem, como esto mais
distantes do centro, recebem uma correo mais acentuada, deixando a imagem corrigida com o
aspecto mostrado. Nas Figura 5.3(c) e (d) mostrada a rea til da correo, que corresponde ao maior
retngulo inscrito na regio de pixels vlidos da Figura 5.3(b). Nas Figura 5.3(b) e (c) usado a
estimao do COD, e, na Figura 5.3(d), assume-se que o COD coincide com o centro da imagem.

Figura 5.3 Correo da imagem fisheye full-frame: a) original, b) rea total, c) rea til e d) rea til
desprezando estimao do COD.

Para as imagens do laboratrio, tentou-se primeiramente a extrao de curvas manual. Na Figura


5.4(a) mostrada a imagem utilizada com as curvas selecionadas em destaque. Os parmetros
estimados pelo algoritmo de calibrao foram H = 4,81 10L7 e COD 6,15 px direita e 27,51 px
acima do centro do crculo da imagem, cujas dimenses eram 732 x 732 px. Na Figura 5.4(b),
mostrado o resultado para a retificao com a estimao do COD, e, na Figura 5.4(c), desprezando-se
tal estimao. Em nenhuma imagem capturada no laboratrio foi possvel obter uma correo
satisfatria como em outras que foram capturadas utilizando-se lentes fisheye de qualidade
profissional. Neste caso, as imagens corrigidas apresentam uma combinao de distoro radial e
tangencial, dada a oscilao apresentada por algumas curvas corrigidas.
A fim de investigar este fato e possivelmente melhorar os resultados, foi aplicada ento a extrao
automtica de curvas com a ajuda de padres de calibrao. A Figura 5.5(a) ilustra o padro utilizado,
que o mesmo representado na Figura 4.3. Os pontos marcados em vermelho naquela figura so
unidos em 111 curvas representadas na Figura 5.5(b). O algoritmo de calibrao estimou como
parmetros H = 3,65 10L7 e COD 9 px esquerda e 1,22 px acima do centro do crculo da
imagem, cujas dimenses eram 732 x 732 px (como no caso anterior). O COD mais prximo ao centro
leva a crer que a sua estimao pode estar vinculada distribuio das curvas extradas na imagem,
que nos casos anteriores estavam dispersas e neste esto quase simtricas em relao ao centro. A
Figura 5.6 ilustra a correo radial aplicada aos pontos detectados. A colinearidade das curvas
retificadas foi medida e apresentou mdia 4,46 px e desvio padro 3,5 px. Desprezando a correo
radial, obtm-se um resultado bastante parecido com o da Figura 5.6, e as medidas de colinearidade
passam a ter mdia e desvio padro 4,8 e 4,32 px, respectivamente.
36

Figura 5.4 Extrao manual de curvas: a) imagem original com curvas destacadas e retificao b) levando em
conta o COD estimado e c) desprezando-o.

Figura 5.5 Extrao automtica de curvas: a) padro de calibrao e b) curvas detectadas.


37

Figura 5.6 Retificao das curvas extradas automaticamente (eixos equivalem s coordenadas em pixels).

Contudo, o resultado da retificao para este caso, mostrado na Figura 5.7, evidencia que a
concentrao de curvas extradas no centro da imagem fez com que apenas a distoro naquela regio
fosse levada em conta, visto que o aspecto retilneo diminui medida que se afasta do centro. Isso leva
a crer que a distoro introduzida por esta lente adaptadora no radialmente uniforme, e no seria
possvel corrigir ao mesmo tempo regies mais prximas ao centro e s bordas do crculo de imagem
com o modelo utilizado, justificando os resultados insatisfatrios comentados anteriormente. Por
apresentar melhor performance de compromisso, os resultados da calibrao automtica foram
utilizados na seo seguinte. A Tabela 5.1 resume os resultados obtidos nesta seo.

Figura 5.7 Retificao aps calibrao automtica.


Tabela 5.1 - Resultados obtidos nos experimentos de calibrao.

Dimenses
(altura x
largura)
(px)

Extrao
de retas

Figura
5.1

660 x 993

Figura
5.4(a)
Figura
5.5(a)

Imagem

H 106

COD
(x0,y0)
(px)

manual

-2,16

732 x 732

manual

732 x 732

automtico

Distncias de pontos corrigidos s suas


respectivas retas (px)
Utilizando COD

Desprezando COD

Mdia

Desvio

Mdia

Desvio

(343,2,
462,7)

3,79

1,22

3,93

1,76

-4,8

(372,65,
338,99)

11,45

8,10

13,97

10,40

-3,65

(356,9,
364,8)

4,46

3,5

4,8

4,32
38

5.2 COMPRESSO DE IMAGENS FISHEYE E RETILNEAS


Sero comparados os processos RET1 e RET2 da Figura 4.5. No processo RET1, as sequncias so
retificadas aps serem codificadas e decodificadas. No processo RET2, a retificao ocorre antes da
codificao e decodificao. A retificao feita com os parmetros obtidos na calibrao automtica
descrita na seo anterior. A distoro ao final de ambos os processos medida com relao
sequncia retificada no comprimida, e a taxa de compresso calculada com base no bitstream
gerado no processo. As curvas foram geradas com o parmetro de quantizao de slices I assumindo
os valores 7, 12, 17, 22, 27, 32, 37, 42 e 47. O parmetro de quantizao de slices P assumiu os
mesmos valores somados a 1. A sequncia de imagens fisheye mostrada na Figura 5.8(a), e a
sequncia retificada na Figura 5.8(b). O conjunto de imagens da Figura 5.8 ser identificada como
Sequncia 1. Foram testadas configuraes com predio intra somente no primeiro frame (inter nos
outros) e em todos os frames, e ainda com otimizao de taxa-distoro (RDO) habilitada e
desabilitada, totalizando quatro combinaes. As comparaes entre curvas de PSNR versus taxa dos
processos RET1 e RET2 para cada caso so apresentadas na Figura 5.9, identificadas pelo ttulo.

Figura 5.8 Sequncia 1 utilizada na comparao: a) fisheye e b) retilnea.

39

Figura 5.9 Curvas de PSNR para Sequncia 1: com predio inter e RDO a) desabilitado e b) habilitado, e
somente com predio intra e RDO c) desabilitado e d) habilitado.

Nota-se que as curvas favorecem bastante o caso em que a retificao feita antes da compresso
(processo RET2). Isso pode ser justificado pelo fato de as operaes de predio no padro
H.264/AVC serem feitas em blocos retangulares, que so prejudicadas pele fato de uma imagem
possuir distoro espacial acentuada, como o caso na projeo fisheye. Pode-se observar tambm que
as imagens retificadas possuem mais reas homogneas ao afastar-se do centro, devido distoro
perspectiva introduzida pela correo. Tais reas com menos detalhes apresentam maior redundncia
espacial e so mais facilmente comprimidas. Por fim, o processo de correo radial com mapeamento
inverso baseia-se em um mtodo de interpolao para gerar a imagem de sada. Caso a imagem de
entrada j possua artefatos de compresso, estes so amplificados pela correo, degradando o sinal.
As curvas para o processo RET2 so sobrepostas na Figura 5.10, onde pode-se notar que h um
compromisso entre melhora na taxa de compresso e piora na distoro ao utilizar-se a predio inter,
alm de os resultados com RDO apresentarem melhor performance geral.
Foi analisada uma segunda sequncia obtida no mesmo local a fim de testar a repetibilidade do
experimento. Ela ser identificada como Sequncia 2 e mostrada na Figura 5.11. A retificao foi
feita com os mesmos parmetros do caso anterior. A comparao se limitou a habilitar e desabilitar a
RDO, mantendo a predio inter para os demais frames que no o primeiro. O parmetro de
quantizao de slices I assumiu os valores 22, 27, 32 e 37, sendo que para slices P os valores eram os
mesmos somando-se 1. As curvas comparativas entre os processos RET1 e RET2 so apresentadas na
Figura 5.12. Na Figura 5.13 os resultados so sobrepostos aos da Sequncia 1 para os mesmos
parmetros de quantizao e modo de predio.
40

Comparao do Processo RET2


60

55

PSNR (dB)

50

45

40

35
intra com
inter com
intra sem
inter sem

30

25

0.2

0.4

0.6
0.8
1
1.2
1.4
Taxa de compresso (bits/pixel)

1.6

RDO
RDO
RDO
RDO

1.8

Figura 5.10 Curvas do processo RET2 para Sequncia 1 sobrepostas.

Figura 5.11 Sequncia 2 utilizada na repetio da comparao: a) fisheye e b) retilnea.

41

a) Modo inter
sem RDO
44

PSNR (dB)

42
40
38
36
Processo RET1
Processo RET2

34
32

0.05
0.1
0.15
0.2
0.25
0.3
Taxa de compresso (bits/pixel)

0.35

b) Modo inter
com RDO
44

PSNR (dB)

42
40
38
36
Processo RET1
Processo RET2

34
32

0.05
0.1
0.15
0.2
0.25
0.3
Taxa de compresso (bits/pixel)

0.35

Figura 5.12 Curvas de PSNR para Sequncia 2: com predio inter e RDO a) desabilitado e b) habilitado.
Comparao entre sequncias
46
44

PSNR (dB)

42
40
38
Sequncia 1 (RET1)
Sequncia 1 (RET2)
Sequncia 2 (RET1)
Sequncia 2 (RET2)

36
34
32

0.1
0.2
0.3
0.4
Taxa de compresso (bits/pixel)

0.5

Figura 5.13 Comparao entre curvas de PSNR geradas para Sequncias 1 e 2.


42

Nota-se que as curvas apresentam a mesma forma que as da primeira sequncia, indicando que o
experimento foi reproduzido como esperado.
Os processos analisados nesta seo poderiam ter aplicaes prticas caso se necessitasse, por
exemplo, transmitir as imagens por algum meio a fim de se visualizar a projeo retilnea ao final.
Neste caso, seria mais adequado, de acordo com os resultados obtidos nesta seo, que a retificao do
vdeo fosse feita em um passo anterior compresso e transmisso do sinal. Caso a correo radial
fosse aplicada na imagem j comprimida e transmitida, a perda em qualidade visual seria maior.

5.3 COMPRESSO DE IMAGENS FISHEYE E PANORAMAS


Nesta etapa so comparados os processos PANO1 e PANO2 da Figura 4.6. No processo PANO1, so
codificadas e decodificadas as imagens separadas para em seguida formar-se um panorama. No
processo PANO2, formado um panorama com as imagens originais, que em seguida codificado e
decodificado. Foram utilizadas duas sequncias de imagens capturadas com equipamento profissional.
A primeira foi obtida na mesma fonte descrita na seo 5.1, e mostrada na Figura 5.14(a). A
segunda, mostrada na Figura 5.14(b), de autoria de Karl Harrison [33]. Esta sequncia foi capturada
com uma cmera DSLR Canon 5D e lente Canon de 15 mm, e estava comprimida com JPEG em
qualidade 98. As imagens de ambas as sequncias possuem FOV de 180 na diagonal, proporcionando
a formao de um panorama que cobre 360 na horizontal e cerca de 150 na vertical. O panorama
equiretangular formado a partir dessas imagens possui faixas na parte inferior e superior,
representando a regio no coberta na vertical. Os panoramas obtidos a partir das sequncias de
maneira automtica com o software Hugin so mostrados na Figura 5.15. As imagens da Sequncia 1
possuam dimenses 672 x 1008 px, e as da Sequncia 2, 608 x 912 px. Os dois panoramas gerados
possuam dimenses 3008 x 1504 px.

Figura 5.14 Sequncias utilizadas na codificao de panoramas: a) Sequncia 1 e b) Sequncia 2.

43

Figura 5.15 Panoramas obtidos a partir da a) sequncia 1 e b) sequncia 2 (as bordas foram inseridas para
visualizao do tamanho total).

Os processos foram comparados com a sequncia de imagens sendo codificada de duas maneiras: com
predio intra em todos os frames e com predio intra s no primeiro frame (predio inter nas
demais). Foi mantida a otimizao de taxa-distoro (RDO) habilitada, e o parmetro de quantizao
de slices I foi variado entre os valores 7, 12, 17, 22, 27, 32, 37, 42 e 47. Os mesmos valores somados a
1 foram usados no parmetro de quantizao de slices P. As curvas de PSNR obtidas na comparao
dos processos para a Sequncia 1 so mostradas na Figura 5.16. Para a Sequncia 2, as curvas so
mostradas na Figura 5.17. Na Figura 5.18 apresentada uma comparao entre a performance das
sequncias em cada processo.
b) Sequncia 1
(somente modo intra)

48

48

43

43
PSNR (dB)

PSNR (dB)

a) Sequncia 1
(processo 1 no modo inter)

38

33

28

33

Processo PANO1
Processo PANO2
0

0.5
1
Taxa de compresso (bits/pixel)

38

1.5

28

Processo PANO1
Processo PANO2
0

0.5
1
Taxa de compresso (bits/pixel)

1.5

Figura 5.16 Curvas de PSNR para Sequncia 1: a) com predio inter e b) somente com predio intra.

44

b) Sequncia 2
(somente modo intra)

46

46

40.5

40.5
PSNR (dB)

PSNR (dB)

a) Sequncia 2
(processo 1 no modo inter)

35

29.5

24

29.5

Processo PANO1
Processo PANO2
0

1
2
Taxa de compresso (bits/pixel)

35

24

Processo PANO1
Processo PANO2
0

1
2
Taxa de compresso (bits/pixel)

Figura 5.17 Curvas de PSNR para Sequncia 2: a) com predio inter e b) somente com predio intra.
a) Processo PANO1
48

PSNR (dB)

42

36
Sequncia 1 (pred.
Sequncia 1 (pred.
Sequncia 2 (pred.
Sequncia 2 (pred.

30

24

0.5

1
1.5
2
Taxa de compresso (bits/pixel)

inter)
intra)
inter)
intra)

2.5

b) Processo PANO2
48

PSNR (dB)

42

36

30
Sequncia 1 (pred. intra)
Sequncia 2 (pred. intra)
24

0.5

1
1.5
2
Taxa de compresso (bits/pixel)

2.5

Figura 5.18 Comparao de curvas de PSNR para sequncias no processo a) PANO1 e b) PANO2.

45

observado a partir das curvas que o processo PANO2 bastante mais eficiente do ponto de vista das
taxas de distoro e de compresso. necessrio ressaltar, como j descrito em 4.3, que as taxas de
compresso do processo PANO1 levam em conta um arquivo texto de 4000 bytes, comprimido no
formato ZIP, com as informaes para formao do panorama.
Apesar deste fato, a maior causa da baixa performance do processo PANO1 nas mtricas utilizadas a
apario de artefatos em reas de junes entre imagens devido a, durante o processo de formao do
panorama, ocorrer uma otimizao ruim na etapa de sobreposio das imagens. Isso ocorre pois,
mesmo com os pontos de correspondncia entre as imagens fixados no arquivo texto, o software deve
adequar o mapeamento das imagens na projeo equiretangular de maneira que uma mtrica de erro na
sobreposio das imagens seja minimizada. Este processo iterativo depende portanto do contedo das
imagens, e no sero obtidos os mesmos resultados para todas as sequncias comprimidas. A Figura
5.19 ilustra esse aparecimento de imperfeies na sequncia 2 em uma rea onde duas imagens foram
sobrepostas. A Figura 5.19(a) o panorama de referncia, e as Figura 5.19(b) a (d) so geradas a partir
de imagens sucessivamente mais comprimidas. Nota-se que a perda de qualidade em si das imagens
dificilmente notada, mas a presena dos erros de sobreposio prejudicam bastante a medida de
distoro utilizada (PSNR).

Figura 5.19 Erro na sobreposio de imagens no panorama formado pelo processo PANO1 na sequncia 2:
a) referncia, b) QPI = 7, c) QPI = 12 e d) QPI = 17.

Analisando-se a taxa de compresso nas curvas obtidas, nota-se que o processo PANO2 sempre
apresenta vantagem. A utilizao de dimenses das imagens mltiplas de 16 e de imagens com
tamanho menor na sequncia 2 foram tentativas de melhorar a peformance em compresso do
processo PANO1, mas ambas no surtiram efeito. A utilizao da predio inter ao invs da intra
apresentou uma melhora na razo taxa-distoro, mas insuficiente para alcanar a performance do
processo PANO2. As pequenas falhas observadas na Figura 5.19 poderiam ser relevadas caso a
performance em compresso do processo PANO1 fosse mais vantajosa, o que no ocorre. A melhor
alternativa , portanto, o processo PANO2, a no ser que seja possvel repetir exatamente o estgio de
sobreposio de imagens na formao automtica do panorama no processo PANO1.

46

6 CONCLUSO
Neste trabalho foi estudada a representao de imagens em projeo fisheye e sua relao com as
tcnicas de compresso do padro de codificao de vdeo H.264/AVC. Foram desenvolvidos
algoritmos de calibrao e correo de imagens obtidas nesta projeo que apresentaram bons
resultados para lentes de qualidade profissional e resultados de compromisso para lentes semiprofissionais. Uma srie de testes de codificao de sequncias de imagens em projeo fisheye e
retilnea foi feita, gerando resultados favorveis projeo retilnea, esperados dentro das condies
impostas. No se pde concluir diretamente sobre a implicao do modelo de projeo nas tcnicas de
compresso, mas o sistema como um todo pde ser analisado e recomendaes podem ser feitas para
aplicaes prticas baseado nos resultados aqui obtidos. Entre os sistemas de aquisio de imagens
que podem se beneficiar ao mesmo tempo do campo de viso ampliado das lentes fisheye e da
familiaridade da projeo retilnea, citam-se o monitoramento de cmeras de segurana e o auxlio
navegao de veculos de grande porte. Em ambos os casos, pode-se requerer a transmisso das
imagens por algum meio, sendo necessria a compresso do sinal para obter-se maior eficincia. Estes
cenrios so equivalentes aos procedimentos avaliados neste trabalho, e pode-se recomendar que a
correo da imagem seja feita anteriormente sua compresso e posterior transmisso. Caso a
correo da imagem seja realizada ao final da cadeia de processamento, antes da visualizao, haver
maiores perdas em eficincia de compresso e qualidade visual.
Foram estudadas tambm a formao de panoramas imersivos. Gerados a partir de um conjunto de
imagens que cobrem toda a cena, tambm se beneficiam de imagens obtidas com lentes fisheye pelo
seu maior campo de viso. Tendo em vista uma unidade mvel que obtm imagens panormicas
sequencialmente, foi analisada a vantagem em se formar o panorama antes ou depois de se
comprimirem as imagens. No caso em que o panorama formado a partir das imagens j
comprimidas, foi notado o fato de se necessitar de uma base de correspondncias fixa entre as
imagens. Com isso, poupa-se esforo computacional e garante-se que panoramas formados em
instantes distintos tenham uma composio suficientemente parecida. Isso, contudo, no foi o bastante
para que se evitassem erros na sobreposio das imagens, gerando imperfeies na imagem
panormica. A alternativa melhor avaliada, portanto, consistiu em formar-se o panorama logo aps a
sua aquisio das imagens, para ento comprimir a imagem resultante e transmiti-la ou armazen-la.
Como perspectiva de trabalhos futuros tem-se o aperfeioamento da gerao de panoramas
automaticamente a partir de um nmero reduzido de imagens utilizando-se lentes fisheye. Este ainda
um tpico aberto para pesquisas pois a distoro radial da projeo fisheye dificulta o estabelecimento
de correspondncias entre as imagens e, ainda, as lentes com campo de viso hemisfrico possuem um
custo elevado, sendo necessrias solues criativas. Pode-se tambm analisar mais a fundo o
comportamento das tcnicas de compresso, aplicadas geralmente em blocos retangulares, em imagens
que no possuam projeo retilnea, a fim de proporem-se mtodos alternativos para esses casos.

47

7 REFERNCIAS BIBLIOGRFICAS
[1] Sidney Ray, Applied Photographic Optics, 3rd ed. Oxford, UK: Focal Press, 2002.
[2] ITU-T Rec. H.264 and ISO/IEC 14496-10 (MPEG-4 Part 10), "Advanced Video
Coding for Generic Audiovisual Services," Edio 5.0, Maro 2010.
[3] Iain Richardson, H.264 and MPEG-4 Video Compression. West Sussex, UK: John
Wiley & Sons, 2003.
[4] Hughes C., Glavin M., Jones E., and Denny P., "Wide-angle camera technology for
automotive applications: a review," IET Intelligent Transport Systems, vol. 3, no. 1, pp.
19-31, Maro 2009.
[5] Arnaud Frich, Panoramic photography. Oxford, UK: Focal Press, 2007.
[6] Robert Hirsch, Light and Lens: Photography in the Digital Age. Oxford, UK: Focal
Press, 2008.
[7] Richard Szeliski, Computer Vision: Algorithms and Applications. New York, US:
Springer, 2010, [Online]. Disponvel: http://szeliski.org/Book. [Acessado: Agosto,
2010].
[8] Ravi Ramamoorthi, Computational Imaging and Photography, 2009, [Online].
Disponvel: UC Berkeley EECS Instructional and Electronics Support, http://wwwinst.eecs.berkeley.edu/~cs294-13/fa09/. [Acessado: Agosto, 2010].
[9] Takeshi Koyama, "Optics in Digital Still Cameras," in Image Sensors and Signal
Processing for Digital Still Cameras, Junichi Nakamura, Ed. Florida, Estados Unidos:
CRC Press, 2006, ch. 2.
[10] James Kumler and Martin Bauer, "Fisheye Lens Designs and their Relative
Performance," in SPIE Proceedings - Current Developments in Lens Design and
Optical Systems Engineering, 2000, pp. 360-369.
[11] Altera Corporation. (2008) A Flexible Architecture for Fisheye Correction in
Automotive Rear-View Cameras. [Online]. http://www.altera.com/literature/wp/wp01073-flexible-architecture-fisheye-correction-automotive-rear-view-cameras.pdf
[12] Margaret Fleck, "Perspective Projection: The Wrong Imaging Model," Dep. of
Computer Science, University of Iowa, Techical 1995.
[13] C. Hughes, M. Glavin, E. Jones, and P. Denny, "Review of Geometric Distortion
Compensation in Fish-Eye Cameras," in 16th IET Irish Signals and Systems
Conference, ISSC, Galway, 2008.
[14] C. Hughes, M. Glavin, E. Jones, and P. Denny, "Validation of Polynomial-based
Equidistance Fish-Eye Models," in 20th IET Irish Signals and Systems Conference,
ISSC, Dublin, 2009.
[15] A. Basu and S. Licardie, "Alternative models for fish-eye lenses," Elsevier Pattern
Recognition Letters, vol. 16, no. 4, pp. 433441, 1995.
[16] A. Fitzgibbon, "Simultaneous linear estimation of multiple view geometry and lens
distortion," in IEEE Conf. on Computer Vision and Pattern Recognition, 2001, pp. 125
132.
[17] F. Devernay and O. Faugeras, "Straight lines have to be straight: automatic calibration
and removal of distortion from scenes of structured enviroments," Springer-Verlag
Journal of Machine Vision and Applications, vol. 13, no. 1, pp. 1424, 2001.
[18] Janez Pers and Stanislav Kovacic, "Nonparametric, Model-Based Radial Lens
Distortion Correction Using Tilted Camera Assumption," in Computer Vision Winter
Workshop 2002, 2002, pp. 286-295.
48

[19] Z. Zhang, "Flexible camera calibration by viewing a plane from unknown orientations,"
in IEEE Int. Conference on Computer Vision, 1999, pp. 666673.
[20] Y. Xiong and K. Turkowski, "Creating image-based VR using a self-calibrating fisheye
lens," in In IEEE Computer Society Conference on Computer Vision and Pattern
Recognition (CVPR97), San Juan, 1997, pp. 237243.
[21] R Hartley and S Kang, "Parameter-free radial distortion correction with center of
distortion estimation," in IEEE Transactions on Pattern Analysis and Machine
Intelligence, 2007, pp. 13091321.
[22] A. Wang, T. Qiu, and L. Shao, "A Simple Method of Radial Distortion Correction with
Centre of Distortion Estimation," Journal of Mathematical Imaging and Vision, vol. 35,
no. 3, pp. 165-172, Novembro 2009.
[23] M. Deering, "The Limits of Human Vision," in 2nd International Immersive Projection
Technology Workshop, 1998.
[24] Sevket Gumustekin. (1999, Julho) Image Processing Place. [Online].
http://www.imageprocessingplace.com/downloads_V3/root_downloads/tutorials/An_In
troduction_to_Image_Mosaicing.htm
[25] John P Snyder, Map Projections: A Working Manual. Washington, DC, Estados
Unidos: United States Government Printing Office, 1987.
[26] John Houghton. (2009, Dezembro) Finding the No-Parallax Point. [Online].
http://www.johnhpanos.com/epcalib.htm
[27] G Lowe, "Distinctive image features from scale-invariant keypoints," International
Journal of Computer Vision, vol. 60, no. 2, pp. 91110, 2004.
[28] Pablo d'Angelo. (2003) hugin. [Online]. http://hugin.sourceforge.net
[29] Andrew Mihal. (2004) Enblend. [Online]. http://enblend.sourceforge.net
[30] Alan Bovik, "Introduction to Digital Image and Video Processing," in Handbook of
Image and Video Processing, Alan Bovik, Ed. Londres, UK: Academic Press, 2000,
ch. 1.
[31] Joint Model. (2009) JM. [Online]. http://iphome.hhi.de/suehring/tml
[32] 360 Degree of Freedom. 360dof. [Online]. http://www.360dof.com
[33] Karl Harrison. Panorama Tutorials. [Online].
http://www.chem.ox.ac.uk/oxfordtour/tutorial/

49

You might also like