Estudo e Avaliação de Técnicas para - ULisboa · Este estudo indiciou que as técnicas baseadas...
Transcript of Estudo e Avaliação de Técnicas para - ULisboa · Este estudo indiciou que as técnicas baseadas...
Estudo e Avaliação de Técnicas para
Inpainting de Texto em Imagens e Vídeo
Adélcio de Jesus Mendes Soares da Rosa
Dissertação para obtenção do Grau de Mestre em
Engenharia Eletrotécnica e de Computadores
Orientador: Professora Maria Paula dos Santos Queluz Rodrigues
Orientador: Professor Tomás Gomes da Silva Serpa Brandão
Júri
Presidente: Professor José Eduardo Charters Ribeiro da Cunha Sanguino
Orientador: Professora Maria Paula dos Santos Queluz Rodrigues
Vogal: Professor Paulo Jorge Lourenço Nunes
Novembro de 2015
Dedico este trabalho aos meus pais, ao
meu filho, a minha companheira, a
todos os meus amigos e familiares.
i
Agradecimentos
Ao longo do meu percurso académico foram muitos os contributos para a conclusão desta
etapa. Devido ao tempo e espaço a citação de todas as contribuições torna-se impossível; por isso
são citadas as principais contribuições.
Primeiramente e acima de tudo agradeço a Deus pela força, motivação e persistência que
me tem dado desde o início desta etapa académica; pelo acompanhamento e pelos acontecimentos
(positivos e negativos) durante toda a minha vida.
Um muito obrigado a minha família pelo apoio moral e financeiro, sem isto nada disto seria
possível, em especial aos meus pais (Casimiro e Lúcia Rosa). Um especial obrigado: ao meu
“pequeno” (Gabriel Rosa) por ser a minha inspiração; a minha companheira (Lucialina Silva) pela
agradável companhia durante todos estes anos, pela motivação e pelas palavras de estímulo; ao meu
tio e grande amigo, Alexandrino Tavares, pelas longas conversas e pelos conselhos que foram
bastantes uteis.
Um obrigado a Professora Maria Paula Queluz e ao Professor Tomás Brandão pelo
acompanhamento rigoroso e metódico que sempre me dedicou em todas as fases desta dissertação,
revelando, sempre, uma incrível dedicação e quase infinita paciência.
Por fim, um especial agradecimento aos meus amigos dentro e fora do IST, em especial a
Ricardo Almeida, Elizangela Fernandes, Kátia Amarante, Odairson Cardoso e “maltas SP”, pelo
apoio, pela ajuda e pelos bons momentos passados.
A todos os que contribuíram para a conclusão desta etapa académica, MUITO OBRIGADO!
ii
iii
Resumo
Nesta dissertação começa-se por efetuar um estudo comparativo de algoritmos de
inpainting, com o intuito de identificar a técnica mais apropriada para a restauração de pequenas
regiões resultantes da extração de legendas em imagens e vídeo. Este estudo indiciou que as
técnicas baseadas em difusão seriam as mais adequadas para a aplicação em vista. Como tal,
implementaram-se e avaliaram-se quatro estratégias de inpainting baseadas no princípio de difusão:
método de Bertalmio, método TV, método de Oliveira e método de Telea. Os quatro métodos foram
aplicados a imagens fixas e sequências vídeo; no caso do vídeo, utilizou-se uma abordagem
puramente espacial, i.e., o inpainting foi aplicado a cada trama como se de uma imagem fixa se
tratasse. Os quatro métodos foram comparados quer em termos da qualidade resultante para a
imagem/vídeo restaurados, quer em termos de tempo de processamento associado. Qualquer um
dos métodos produziu bons resultados, quando aplicado ao inpainting de texto de imagens fixas (e
para texto com dimensões e espessuras semelhantes às utilizadas nas legendas de filmes). Quando
os mesmos métodos são aplicados ao inpainting de vídeo, os resultados não são, de um modo geral,
aceitáveis. Embora a qualidade de cada trama, quando avaliada isoladamente, seja elevada, quando
os vídeos restaurados são reproduzidos à sua frequência real, torna-se visível um efeito de flicker na
zona restaurada. Isto deve-se ao facto de os algoritmos não considerarem a dimensão temporal dos
vídeos. Na tentativa de minimizar o efeito de flicker resultante do inpainting de vídeo puramente
espacial, propôs-se um método de restauração das zonas de inpainting através de interpolação
temporal; neste método, as regiões do vídeo resultantes da extração do texto são restauradas através
da estimação/compensação do movimento feita com base nas tramas vizinhas, combinada com uma
técnica simples de difusão espacial. Na estimação de movimento, baseada no algoritmo block
matching (BMA), foram avaliadas quatro medidas de similaridade, tendo a medida “SSIM+SMD” sido
aquela cujos vectores conduziram à melhor qualidade de inpainting. Quando a região a ser
restaurada é pequena o algoritmo apresenta bons resultados para a maioria dos vídeos de teste,
sobretudo quando estes têm uma atividade espacial elevada e não contêm mudanças de cena; em
particular, o efeito de flicker que ocorre numa abordagem de inpainting puramente espacial, é
eliminado.
Palavras-chave: Inpainting digital, Inpainting de texto, Restauração de imagens, Restauração de
vídeo, Qualidade de Imagem, Qualidade de vídeo.
iv
v
Abstract
This thesis starts with a comparative study of inpainting algorithms, in order to identify the
most appropriate technique for the restoration of small regions resulting from the extraction of subtitles
on images and video. This study suggested that the diffusion-based techniques are the most suitable
for the application in view. As such, four inpainting strategies based on the diffusion principle were
implemented and evaluated: Bertalmio method, TV method, Oliveira method and Telea method; the
four methods were applied to still images and video sequences. In the video case, a purely spatial
approach was used, i.e., the inpainting was applied to each frame as a still image. The methods were
compared both in terms of the restored image/video quality, and of the associated processing time.
Any of these methods produced good results when used for text inpainting of still images (and for text
with dimensions and thicknesses similar to movie subtitles). However, when they are applied to video
text inpainting, the results are not generally acceptable; although the quality of each individual frame is
high, when the videos are displayed at their actual frequency, a flicker effect becomes visible on the
restored area. This is due to the fact that the algorithms do not consider the time dimension of the
video. In an attempt to minimize the flicker effect, a temporal interpolation based inpainting method
was proposed; in this method, the regions of the video resulting from text extraction are restored
through motion estimation/compensation based on neighboring frames, combined with a simple
spatial diffusion technique. In the motion estimation procedure, based on a simple block matching
algorithm (BMA), four similarity measures were evaluated; the "SSIM + SMD" measure was the one
whose vectors led to the best video inpainting quality. The proposed algorithm gives good results for
most of the tested videos, mainly when these have an high spatial activity and do not contain scene
changes; in particular, the flicker effect which occurs with a purely spatial inpainting approach, is
eliminated.
Keywords: Digital inpainting, Text inpainting, Image restoration, Video restoration, Image quality,
Video quality.
vi
vii
Índice
Agradecimentos .........................................................................................................................i
Resumo .................................................................................................................................... iii
Abstract .....................................................................................................................................v
Índice ....................................................................................................................................... vii
Lista de Figuras ........................................................................................................................ ix
Lista de Tabelas ..................................................................................................................... xiii
Lista de Acrónimos .................................................................................................................. xv
Capítulo 1. Introdução ........................................................................................................... 1
1.1. Contexto .................................................................................................................. 1
1.2. Objetivos .................................................................................................................. 3
1.3. Estrutura da Dissertação ......................................................................................... 3
Capítulo 2. Técnicas de Inpainting para Imagens e Vídeo ................................................... 5
2.1. Introdução ................................................................................................................ 5
2.2. Conceitos gerais ...................................................................................................... 7
2.2. Inpainting baseado em Difusão ............................................................................. 10
2.2.1. Difusão Isotrópica .............................................................................................. 10
2.2.2. Difusão Anisotrópica .......................................................................................... 12
2.2.3. Método da Variação Total (TV) .......................................................................... 13
2.2.4. Método de Bertalmio .......................................................................................... 14
2.2.5. Método de Oliveira ............................................................................................. 16
2.2.6. Método de Telea ................................................................................................ 16
2.3. Inpainting baseado em exemplos .......................................................................... 17
2.4. Inpainting baseado em métodos híbridos.............................................................. 20
2.5. Inpainting de Vídeo ................................................................................................ 21
2.6. Aplicações ............................................................................................................. 23
Capítulo 3. Inpainting Espacial de Texto em Imagens e Vídeo .......................................... 25
3.1. Introdução .............................................................................................................. 25
3.2. Implementação de inpainting baseado em difusão ............................................... 25
3.2.1. Método da Variação Total (TV) .......................................................................... 25
3.2.2. Método de Bertalmio .......................................................................................... 26
3.2.3. Método de Oliveira ............................................................................................. 28
3.3. Caracterização das Imagens e Vídeos de Teste .................................................. 29
3.3.1. Imagens e vídeos utilizados .............................................................................. 29
viii
3.3.2. Atividades espácio-temporais das sequências .................................................. 31
3.4. Resultados ............................................................................................................. 33
3.4.1. Métricas de qualidade ........................................................................................ 33
3.4.2. Qualidade das imagens/vídeos restaurados ..................................................... 34
3.4.3. Tempo de processamento ................................................................................. 41
3.5. Comentários finais ................................................................................................. 42
Capítulo 4. Inpainting Temporal de regiões de texto .......................................................... 45
4.1. Introdução .............................................................................................................. 45
4.2. Interpolação temporal de vídeo - princípio de funcionamento .............................. 45
4.3. Descrição do algoritmo .......................................................................................... 47
4.3.1. Estrutura geral ................................................................................................... 47
4.3.2. Estimação do movimento .................................................................................. 48
4.3.3. Inpainting com compensação do movimento .................................................... 50
4.3.4. Definição dos parâmetros .................................................................................. 51
4.4. Resultados ............................................................................................................. 52
4.4.1. Qualidade dos vídeos restaurados .................................................................... 52
4.4.2. Tempo de processamento ................................................................................. 61
4.5. Comentários finais ................................................................................................. 62
Capítulo 5. Conclusões ....................................................................................................... 65
ANEXOS ................................................................................................................................ 67
Anexo A. Cálculo dos pesos dos blocos ............................................................................. 69
A.1. Interpolação Linear ..................................................................................................... 69
A.2. Interpolação Bilinear ................................................................................................... 70
A.3. Pesos dos blocos ........................................................................................................ 70
Referências ............................................................................................................................ 75
ix
Lista de Figuras
Figura 1.1 Restauração de obras de arte através de inpainting manual: (a) pintura degradada; (b)
pintura restaurada. .................................................................................................................................. 1
Figura 1.2 Exemplo de aplicação para o inpainting (extraído de [3]): (a) trama de vídeo com letterbox
e legendas na parte útil da trama e na barra preta; (b) trama com reposicionamento das legendas. ... 2
Figura 2.1 Imagem com região a recuperar (representada por ) através de inpainting. .................... 5
Figura 2.2 Artefacto típico das técnicas baseadas em difusão: (a) Imagem original; (b) Imagem após
inpainting (com o método proposto em [1]) e onde é visível a suavização (blur) de contornos e
texturas. ................................................................................................................................................... 6
Figura 2.3 Artefactos típicos das técnicas baseadas em exemplos: (a) Imagem original; (b) Imagem
(a) após inpainting e onde são visíveis texturas incorretas; (c) Imagem original; (d) Imagem (c) após
inpainting e onde são visíveis contornos desconexos; (extraído de [7]). ................................................ 7
Figura 2.4 Filtros de Sobel para a obtenção do gradiente da imagem segundo x (a) e segundo y (b). . 9
Figura 2.5 Filtro 1D para o cálculo do Laplaciano de uma imagem. ..................................................... 10
Figura 2.6 Filtro 2D para o cálculo do Laplaciano de uma imagem. ..................................................... 10
Figura 2.7 Interpretação gráfica da difusão isotrópica a 1D. ................................................................ 11
Figura 2.8 Imagem com ruído (a) e após 100 iterações de difusão isotrópica (b)................................ 11
Figura 2.9 Imagem com ruído (a) e após 100 iterações de difusão anisotrópica (b)............................ 12
Figura 2.10 Imagem com ruído (a) e após 100 iterações do método TV (b). ....................................... 13
Figura 2.11 (a) Curvas de nível correspondentes aos isofotos (extraído de [15]); (b) Propagação de
intensidade de imagem segundo a direção dos isofotos (extraído de [16]). ......................................... 14
Figura 2.12 Resultado do inpainting de texto utilizando a técnica de Bertalmio; (a) Imagem a ser
restaurada; (b) Imagem restaurada (extraído de [1]). ........................................................................... 15
Figura 2.13 Filtros de difusão utilizados em [6]: a = 0.073235; b = 0.176765; c = 0.125. .................... 16
Figura 2.14 Elementos básicos do método de Telea. ........................................................................... 17
Figura 2.15 Exemplo de síntese de textura em que (a) representa o modelo de textura e (b) a textura
sintetizada (extraído de [7]). .................................................................................................................. 18
Figura 2.16. Estrutura de propagação de técnicas baseadas em exemplos (extraído de [9]). ............ 19
Figura 2.17. Algoritmo proposto por Bertalmio et al.: (a) Imagem que se pretende restaurar; (b)
Estrutura da imagem (a); (c) Textura da imagem (a); (d) Restauração da imagem (b); (e) Restauração
da imagem (c); (f) Junção das imagens (d) e (e) (extraído de [18]). .................................................... 21
Figura 2.18 Etapas do processo de inpainting utilizando o método de Lee (extraído de [19]. ............. 22
Figura 2.19. Visão esquemática do algoritmo proposto por Koochari et al. (extraído de [21]). ............ 23
Figura 3.1. Vídeos e imagens (primeira trama de cada vídeo) utilizados nos testes: (a) “Bigships”; (b)
“Oldtown”;(c) “Parkjoy”; (d) “Raven”; (e) “Snowmontain”; (f) “Soccer”; (g) “Station”; (h) “Sunflower”. .. 29
Figura 3.2. Máscaras utilizadas no processo de inpainting: (a) mask1; (b) mask2 (c) mask3. .................. 30
Figura 3.3 (a) Imagem original; (b) Máscara; (c) Imagem resultante da inserção da máscara. ........... 30
x
Figura 3.4. Atividades espacial e temporal das sequências de vídeo: (a) com percentil de 100%; (b)
com percentil de 90%. ........................................................................................................................... 32
Figura 3.5: (a) Imagem original (Snowmontain); (b) Imagem a ser restaurada; cortes correspondentes
a: (c) Zona a ser restaurada; (d) Imagem original; (e) Resultado do método TV; (f) Resultado do
método de Bertalmio; (g) Resultado do método de Oliveira; (h) Resultado do método de Telea. ....... 37
Figura 3.6: (a) Imagem original (Soccer); (b) Imagem a ser restaurada; cortes correspondentes a: (c)
Zona a ser restaurada; (d) Imagem original; (e) Resultado do método TV; (f) Resultado do método de
Bertalmio; (g) Resultado do método de Oliveira; (h) Resultado do método de Telea. ......................... 38
Figura 3.7 Evolução do PSNR (a) e do SSIM (b) da imagem Soccer, ao longo das várias iterações do
método de Bertalmio, e para as várias regiões da mask1. .................................................................... 39
Figura 3.8 Identificação das regiões de inpainting da máscara mask1. ................................................ 39
Figura 3.9 Cortes da região 2 de mask1 para a imagem Soccer correspondentes a: (a) imagem com
máscara; (b) imagem original; (c) imagem restaurada com o método de Bertalmio. ........................... 39
Figura 3.10 PSNR do vídeo Soccer utilizando a máscara mask3 e os algoritmos de Bertalmio e
Oliveira................................................................................................................................................... 40
Figura 3.11 PSNR e SSIM do vídeo Bigships utilizando a máscara mask3 e os algoritmos de Bertalmio
e Oliveira................................................................................................................................................ 40
Figura 3.12 Processo de inpainting do método de Oliveira utilizando uma máscara que ocupa toda a
região da imagem em que (a) é a imagem a ser restaurada e (b) é a imagem restaurada. ................ 42
Figura 3.13 Evolução temporal de PSNR (a) e de SSIM (b) utilizando uma máscara que ocupa toda a
região da imagem soccer e o método de Oliveira ................................................................................. 42
Figura 4.1 Interpolação temporal para o cancelamento de erros. ........................................................ 46
Figura 4.2 Interpolação temporal da trama 2. ....................................................................................... 46
Figura 4.3 Divisão em blocos da vizinhança da zona de inpainting. .................................................... 47
Figura 4.4 Vectores de movimento, v1 a v6, relevantes para o inpainting dos pixels a laranja. .......... 48
Figura 4.5 Princípio de funcionamento do block matching. .................................................................. 49
Figura 4.6 Resultado do inpainting temporal do vídeo bigships na fase do dissolve: (a) trama do vídeo
com máscara no inicio do dissolve; (b) trama do vídeo durante o dissolve; (c) trama do vídeo no fim
do dissolve; (d) corte da região de inpainting da trama do vídeo com máscara; (e) corte da região de
inpainting da trama do vídeo restaurado utilizando o inpainting temporal. ........................................... 54
Figura 4.7 Resultado de inpainting do vídeo Bigships depois do dissolve: (a) trama com máscara; (b)
corte da região de inpainting; (c) resultado do inpainting de (b). .......................................................... 55
Figura 4.8 Resultados de inpainting do vídeo Station: (a) trama do vídeo original; (b) trama com
máscara; (c) corte da região de inpainting; (d) corte do original; (e) resultado de inpainting utilizando
a técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira). .... 56
Figura 4.9 Resultados de inpainting do vídeo Soccer: (a) trama do vídeo original; (b) trama com
máscara; (c) corte da região de inpainting; (d) corte do original (e) resultado do inpainting utilizando a
técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira). ....... 57
xi
Figura 4.10 Resultados de inpainting do vídeo Sunflower: (a) trama do vídeo original; (b) trama com
máscara; (c) corte da região de inpainting; (d) corte do original (e) resultado do inpainting utilizando a
técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira). ....... 58
Figura 4.11 PSNR (a) e SSIM (b) para o vídeo Sunflower utilizando a mask3. .................................... 59
Figura 4.12 PSNR (a) e SSIM (b) para o vídeo Bigships utilizando a mask3. ...................................... 59
Figura 4.13 Resultado de inpainting temporal do vídeo Sunflower utilizando a mask4: (a) trama da
sequência original; (b) trama (a) com máscara; (c) corte de (b) na região de inpainting; (d) resultado
de inpainting na região de corte. ........................................................................................................... 60
Figura 4.14 Segunda máscara utilizada no inpainting temporal (mask4). ............................................. 60
Figura 4.15 PSNR (a) e SSIM (b) para o vídeo Sunflower utilizando a mask4. .................................... 61
xii
xiii
Lista de Tabelas
Tabela 3.1 Resolução temporal dos vídeos utilizados. ......................................................................... 30
Tabela 3.2 Atividades espacial e temporal das sequências de teste. .................................................. 32
Tabela 3.3 Relação entre valores de PSNR e qualidade subjetiva. ..................................................... 34
Tabela 3.4 Valores dos parâmetros utilizados na implementação do método de TV. .......................... 34
Tabela 3.5 Valores dos parâmetros utilizados na implementação do método de Bertalmio. ............... 34
Tabela 3.6 Valores de PSNR obtidos para imagens fixas utilizando mask2. ........................................ 35
Tabela 3.7 Valores de SSIM para imagens fixas utilizando a mask2. ................................................... 36
Tabela 3.8 Tempo de processamento de imagens fixas (mask2). ....................................................... 41
Tabela 4.1 Resultados para o SSIM da região da máscara, para as 4 medidas de qualidade na
estimativa do movimento, sem aplicação do filtro de difusão e com resolução de 1 pixel na estimativa
do movimento ........................................................................................................................................ 52
Tabela 4.2 Resultados para o SSIM da região da máscara, usando a métrica SSIM+SMD na
estimativa do movimento e aplicando filtro de difusão. ......................................................................... 53
Tabela 4.3. Tempos obtidos na estimação de movimento por trama para vários valores de Bsize, Wsize e
métricas de similaridade usadas na estimação de movimento. ............................................................ 62
Tabela 4.4. Tempos de execução do filtro de difusão por trama para vários valores de Niter, para um
total de 918 pixels da máscara. ............................................................................................................. 62
xiv
xv
Lista de Acrónimos
BMA Block Matching Algorithm
FMM Fast Marching Method
IP Internet Protocol
MAE Mean Absolute Error
MSE Means Squared Error
PDE Partial Differential Equations
PSNR Peak Signal to Noise Ratio
RGB Red Green Blue
SMD Side Match Distortion
SSIM Structural Similarity Index
SVM Support Vector Machine
TV Total Variation
xvi
1
Capítulo 1. Introdução
1.1. Contexto
O termo inpainting designa, genericamente, o processo de restauração de áreas
danificadas, ou em falta, em imagens. A origem deste termo remonta ao período do Renascimento
(finais do séc. XIV a inícios do séc. XVII), quando foram desenvolvidas as primeiras técnicas de
restauração manual de quadros do período Medieval (Figura 1.1). Atualmente, com o
desenvolvimento das técnicas de processamento digital de imagens, surgiram métodos que
permitem restaurar, de forma automática, imagens e vídeos digitais, dando origem ao termo
inpainting digital.
(a) (b)
Figura 1.1 Restauração de obras de arte através de inpainting manual: (a) pintura degradada; (b) pintura restaurada.
O conceito de inpainting digital foi introduzido no artigo de Bertalmio et al. [1], em 2000. Em
termos matemáticos, pode-se definir o inpainting digital como um problema de estimação a duas (se
aplicado a imagens) ou três (se aplicado a vídeo) dimensões. Seja uma região danificada ou
desconhecida de uma imagem/vídeo; conhecendo-se os valores dos pixels fora dessa região
(tipicamente, na vizinhança espacial e/ou temporal de ), o objetivo é estimar, a partir dos pixels
cujas intensidades são conhecidas, os valores dos pixels no interior de . O inpainting de imagens e
vídeos é pois um problema inverso, i.e., a solução tem de ser estimada a partir de dados observados
fora da região a estimar, sendo também mal colocado, i.e., os dados observados por si só não
permitem obter uma solução única. Para resolver o problema, é pois necessário introduzir condições
a priori sobre os dados a estimar. Todos os métodos de inpainting partem do pressuposto de que
tanto os pixels cujas intensidades são conhecidas, como os pixels pertencentes à zona a estimar, ,
têm as mesmas propriedades estatísticas (e.g., mesmo tipo de textura) ou a mesma estrutura
geométrica (e.g., fazem parte dos mesmos objetos, com contornos comuns). Estes pressupostos
podem-se traduzir em várias possibilidades de condições a priori, locais ou globais, com o objetivo de
obter uma imagem final plausível e com uma boa qualidade percetual.
2
Nos últimos anos, tem-se registado uma intensa atividade nesta área de investigação,
motivada por inúmeras aplicações: restauração automática de regiões na imagem/vídeo após a
remoção de texto, cancelamento de erros no contexto da transmissão com perdas, de imagem e
vídeo, remoção de objetos num contexto de edição, ou no preenchimento de regiões que surgem no
rendering de vistas intermédias em aplicações 3D multiview. Nesta dissertação, a aplicação visada é
a restauração de regiões de texto, em imagens e vídeo, resultantes do reposicionamento ou extração
de legendas de filmes, e foi motivada pelo trabalho desenvolvido no âmbito do projeto "MOG-QC on
the GO" [2].
Um dos objetivos do projeto "MOG-QC on the GO" foi o desenvolvimento de uma
ferramenta para a deteção e extração das barras pretas - designadas por letterbox (barras pretas
horizontais) e pillarbox (barras pretas verticais) - utilizadas na conversão de formatos de vídeo. A
letterbox é também muitas vezes utilizada para a transmissão das legendas dos filmes. Quando
estas legendas estão embebidas na trama de vídeo (hard captions), a eliminação da letterbox implica
a deteção, extração e reposicionamento das legendas. Se existirem também legendas na parte útil
da área das tramas, o reposicionamento dessas legendas poderá deixar zonas por preencher na
trama. Esta situação é visível no exemplo da Figura 1.2: no lado esquerdo da figura, apresenta-se
uma trama de um vídeo com letterbox, com legendas incluídas na parte útil da trama e na barra
preta; ao reposicionar as duas linhas de legenda na parte útil da trama, a primeira linha, sendo mais
longa que a segunda, vai deixar zonas na trama por preencher; no lado direito da figura apresenta-se
a trama com o novo posicionamento das legendas, e com o preenchimento das zonas a descoberto
feito através de uma simples interpolação da primeira e últimas linhas que delimitam essas zonas
(solução adotada no projeto MOG-QC); como se pode observar desta última figura, esta forma de
preenchimento conduziu a uma distorção do objeto (cesto transportado pelo homem). Pretende-se
pois, nesta dissertação, melhorar o preenchimento das zonas de texto através da utilização de uma
técnica de inpainting adequada a esta aplicação.
(a) (b)
Figura 1.2 Exemplo de aplicação para o inpainting (extraído de [3]): (a) trama de vídeo com letterbox e legendas na parte útil da trama e na barra preta; (b) trama com reposicionamento das legendas.
3
1.2. Objetivos
Como atrás referido, nos últimos anos foram desenvolvidos diversos algoritmos de
inpainting digital com o intuito de restaurar, de forma automática, áreas degradadas ou em falta numa
imagem/vídeo; a aplicação visada na presente dissertação envolve a restauração de pequenas áreas
da imagem/vídeo, como as resultantes da extração/reposicionamento de legendas. Deste modo, o
principal objetivo da dissertação é efetuar um estudo comparativo de algoritmos de inpainting, com o
intuito de identificar a técnica mais apropriada para a restauração de regiões de texto, considerando
quer a qualidade da imagem/vídeo resultante, quer o custo computacional associado. Este estudo
envolverá, inicialmente, uma pesquisa bibliográfica das técnicas propostas na literatura e,
posteriormente, a implementação dos algoritmos com as características mais adequadas ao
inpainting de texto. Numa primeira fase, o estudo incidirá sobre imagens fixas, sendo depois
estendido a sequências de vídeo.
1.3. Estrutura da Dissertação
Esta dissertação encontra-se estruturada em cinco capítulos, incluindo o presente capítulo
onde se faz a introdução do problema em estudo e se apresenta o contexto, a motivação e o objetivo
da dissertação.
No Capítulo 2 efetua-se uma revisão do estado da arte das técnicas de inpainting,
referindo-se as principais vantagens e desvantagens de cada técnica, bem como a sua adequação à
restauração de zonas de texto. No Capítulo 3 descrevem-se, implementam-se e comparam-se quatro
técnicas de inpainting adequadas ao preenchimento de pequenas regiões de imagens/vídeo: método
de Bertalmio [1], método da Variação Total (TV) [4], método de Telea [5] e método de Oliveira [6].
Todas estas técnicas são baseadas no princípio da difusão (que será introduzido no Capítulo 2);
quando aplicadas a sequências vídeo, a abordagem é puramente espacial, i.e., cada trama é
processada como se tratasse de uma imagem fixa. No Capítulo 4 propõe-se, implementa-se e avalia-
se um algoritmo de inpainting que opera essencialmente no domínio temporal, conseguindo-se deste
modo minimizar o principal artefacto - flickering das zonas restauradas - visível em vídeos
restaurados com uma abordagem puramente espacial. Neste algoritmo, que constitui o principal
contributo original desta dissertação, exploram-se estratégias tipicamente utilizadas na interpolação
temporal de vídeo para a alteração da frequência da imagem1. Por fim, no Capítulo 5 sintetizam-se
as principais conclusões obtidas durante a elaboração desta dissertação e apresentam-se algumas
perspetivas de trabalho futuro.
1 Este algoritmo foi desenvolvido em colaboração com o Eng. Bruno Roque, investigador do projeto
"MOG-QC on the GO" [2].
4
5
Capítulo 2. Técnicas de Inpainting para Imagens e
Vídeo
2.1. Introdução
O inpainting de imagens e vídeos é um problema inverso, i.e., a solução tem de ser
estimada a partir de dados observados, e mal colocado, i.e., os dados observados por si só não
permitem obter uma solução única. Para resolver o problema, é pois necessário introduzir condições
a priori sobre os dados a estimar [7]. Todos os métodos de inpainting partem do pressuposto de que
tanto os pixels cujas intensidades são conhecidas, como os pixels pertencentes à zona da imagem a
estimar têm as mesmas propriedades estatísticas ou a mesma estrutura geométrica. Estes
pressupostos podem-se traduzir em várias possibilidades de condições a priori, locais ou globais,
com o objetivo de obter uma imagem final plausível e com uma boa qualidade percetual. A primeira
categoria de técnicas de inpainting proposta na literatura, designada por inpainting baseado em
difusão, considera que as variações de intensidade dos pixels são localmente suaves; esta condição
é introduzida através de equações de derivadas parciais (PDE – partial differential equations), de
modo a propagar (ou difundir) estruturas locais a partir do exterior (representado por S na Figura
2.1), para o interior da área que se pretende estimar (representada por na Figura 2.1, sendo
a fronteira desta área).
Figura 2.1 Imagem com região a recuperar (representada por ) através de inpainting.
No conjunto de técnicas baseadas em difusão, é possível identificar diversas variantes,
utilizando diferentes modelos de difusão (lineares, não lineares, isotrópicos e anisotrópicos) que
tendem a favorecer a propagação numa direção particular ou de acordo com a estrutura presente
numa vizinhança local. Estes métodos estão naturalmente bem adaptados ao inpainting de linhas
retas e curvas, e de pequenas regiões. De um modo geral, evitam o aparecimento de contornos
desconexos, que têm um impacto percetual bastante negativo. No entanto, não são adequados para
recuperar a textura de grandes áreas, pois produzem neste caso a suavização (blurring) de
contornos e texturas [7], como é visível na Figura 2.2.
6
Uma segunda categoria de métodos baseia-se no trabalho seminal de [8], onde a textura da
região a recuperar é sintetizada a partir de texturas similares existentes numa base de dados de
texturas adquirida previamente, ou a partir de partes conhecidas da imagem. A síntese de textura é
feita por amostragem de pequenos blocos de pixels (da base de dados ou das zonas conhecidas da
imagem) e que neste contexto são designados por exemplos, e pela cópia do bloco que, em termos
de textura, melhor se encaixa na zona a preencher. Os métodos correspondentes são conhecidos
como técnicas baseadas em exemplos (examplar based techniques) [9].
(a) (b)
Figura 2.2 Artefacto típico das técnicas baseadas em difusão: (a) Imagem original; (b) Imagem após inpainting (com o método proposto em [1]) e onde é visível a suavização (blur) de contornos e texturas.
As técnicas baseadas em exemplos são mais adequadas do que as técnicas baseadas em
difusão para o preenchimento de grandes áreas de textura; no entanto, o inpainting baseado em
exemplos só produz bons resultados quando a região a preencher é composto por estruturas e
texturas simples [7]; se esta condição não se verificar, poderá ocorrer a propagação de texturas
incorretas, como exemplificado na Figura 2.3 (b) e o aparecimento de contornos desconexos, como
exemplificado na Figura 2.3 (d). Para minimizar as limitações associadas a ambos os tipos de
abordagens, têm sido propostos métodos híbridos (que combinam as técnicas de difusão com
síntese de texturas).
Uma outra classe de técnicas de inpainting utiliza métodos probabilísticos, muitas vezes em
conjunto com as técnicas de difusão ou com as técnicas baseadas em exemplos. Os métodos
probabilísticos caracterizam-se por modelizarem as características e estruturas relevantes da
imagem através de distribuições estatísticas globais; a estatística Bayesiana e os modelos de Markov
são amplamente utilizados nestes métodos [10].
7
(a) (b)
(c) (d)
Figura 2.3 Artefactos típicos das técnicas baseadas em exemplos: (a) Imagem original; (b) Imagem (a) após inpainting e onde são visíveis texturas incorretas; (c) Imagem original; (d) Imagem (c) após inpainting e onde são visíveis contornos desconexos; (extraído de [7]).
Neste capítulo efetua-se uma revisão de algumas das técnicas de inpainting propostos na
literatura, sendo dada mais relevância às técnicas baseadas em difusão pois são as implementadas
nesta dissertação (Capítulo 3). Na secção 2.2 define-se um conjunto de operadores matemáticos,
essenciais para a boa compreensão (e implementação) dos métodos descritos; na secção 2.2
apresenta-se um conjunto de técnicas baseadas em difusão, sendo a secção 2.3 dedicada às
técnicas baseadas em exemplos; na secção 2.4 descreve-se o princípio de funcionamento das
técnicas de inpainting baseadas em métodos híbridos, sendo apresentado um exemplo desta família
de técnicas. Todas as técnicas descritas nas secções 2.2 e 2.3 foram inicialmente propostas para o
inpainting de imagens fixas, tendo sido posteriormente adaptadas ao caso do inpainting de
sequências de vídeo - alguns dos métodos resultantes são sumariamente descritos na secção 2.5.
Termina-se, na secção 2.6, com uma descrição das áreas de aplicação das técnicas de inpainting.
2.2. Conceitos gerais
Seja I uma imagem digital, com M linhas e N colunas. Se esta imagem for policromática, e
estiver definida no espaço de cor RGB (vermelho-verde-azul), cada pixel (ou elemento de imagem) é
constituído por um conjunto de três valores:
8
, , , , , ,I i j R i j G i j B i j , (2.1)
em que (i, j) (com i = 1…M, j = 1…N) é a localização espacial do pixel e R(i, j), G(i, j) e B(i, j) são as
componentes de cor do pixel localizado na posição (i, j). Outro espaço de cor bastante usual em
aplicações de imagem e vídeo é o espaço YCBCR (luminância-crominância azul-crominância
vermelha). Ao longo desta dissertação serão utilizados ambos os espaços de cor – RGB e YCBCR -
para a representação de uma imagem ou vídeo. I (i, j) representa genericamente a intensidade da
imagem (i.e., qualquer uma das componentes de cor do espaço de cores utilizado) na posição (i, j).
Na grande maioria de técnicas de inpainting é frequente a utilização de um conjunto de
operadores matemáticos, que se definem seguidamente.
Operador Diferencial
O operador diferencial, a duas dimensões, é definido por:
,x y
. (2.2)
Gradiente de uma imagem
O gradiente de I resulta de aplicar o operador diferencial à imagem I:
, , , ,x yI i j I i j I i j , (2.3)
sendo a sua norma obtida a partir de (2.4):
1
2 2 2, , ,x yI i j I i j I i j
, (2.4)
com ,
,x
I i jI i j
x
e
,,y
I i jI i j
y
.
No domínio discreto, o operador gradiente pode ser implementado numa dimensão (1D) por
qualquer uma das equações (2.5), para a componente x, ou (2.6), para a componente y:
9
2
x
x
x
forward
backward
centered
I i, j = I i+1, j - I i, j ,
I i, j = I i, j - I i -1, j ,
I i+1, j - I i -1, jI i, j = ,
designado por
designado por
designado por
(2.5)
e
2
y
y
y
forward
backward
centered
I i, j = I i, j+1 - I i, j ,
I i, j = I i, j - I i, j -1 ,
I i, j+1 - I i, j -1I i, j = ,
designado por
designado por
designado por
. (2.6)
O gradiente da imagem é também muitas vezes implementado através da convolução da imagem
com filtros 2D, sendo os filtros de Sobel [11] dos mais utilizados. Estes filtros encontram-se
representados na Figura 2.4 (a) e Figura 2.4 (b), para obtenção de Ix (i, j) e Iy (i, j), respetivamente.
(a) (b)
Figura 2.4 Filtros de Sobel para a obtenção do gradiente da imagem segundo x (a) e segundo y (b).
Operador Divergente
Se F for um vetor em ℝ2, então o divergente de F, representado por div F, é uma grandeza
escalar que resulta do produto interno entre o operador diferencial e F.
Laplaciano de uma imagem
O Laplaciano de I, resulta de aplicar o operador divergente ao gradiente da imagem, i.e.:
2, , , , ,xx yyI i j div I i j I i j I i j I i j , (2.7)
com 2
2
,,xx
I i jI i j
x
e
2
2
,,yy
I i jI i j
y
.
10
No domínio discreto, e em 1D, Ixx(i, j) e Iyy(i, j) podem ser obtidos através da
convolução com o filtro representado na Figura 2.5, aplicado na direção x e na direção y,
respetivamente.
Figura 2.5 Filtro 1D para o cálculo do Laplaciano de uma imagem.
Em 2D, o Laplaciano da imagem é tipicamente obtido através da convolução com o filtro
representado na Figura 2.6.
Figura 2.6 Filtro 2D para o cálculo do Laplaciano de uma imagem.
2.2. Inpainting baseado em Difusão
O termo “difusão” surgiu da ideia de propagar localmente a informação sob a restrição (a
priori) da suavidade da solução, por analogia com fenómenos físicos, como a propagação de calor
em estruturas físicas; este fenómeno pode ser formalizado com recurso a equações de derivadas
parciais (PDE - Partial Differential Equations ) [7]. A redução de ruído da imagem [12] (ou denoising),
foi uma das primeiras aplicações deste conceito na área do processamento de imagem.
Os algoritmos de inpainting baseados em difusão tendem a propagar, de forma suave, as
estruturas locais da imagem do exterior para o interior da região que se pretende restaurar [7]. Na
literatura podem-se encontrar diversos algoritmos de inpainting baseados no processo de difusão,
sendo os mais referidos descritos nas próximas secções.
2.2.1. Difusão Isotrópica
A difusão isotrópica corresponde a minimizar o módulo do gradiente da imagem, podendo
ser formalmente descrita pela equação (2.8), também conhecida por equação do calor (heat
equation):
11
00 I t I
II div I
t
, (2.8)
onde I0 é a imagem inicial, 𝜕𝐼
𝜕𝑡 representa a variação da imagem ao longo do tempo e ρ é o coeficiente
de difusão térmica, que regula a convergência do processo – um valor de ρ demasiado pequeno
conduz a suavização intensa; se demasiado elevado, conduz a uma má qualidade das regiões
recuperadas. No instante (ou iteração) t+1, a equação (2.8) tem como solução:
1 , , ,t t tI i j I i j I i j . (2.9)
Na Figura 2.7 apresenta-se uma interpretação gráfica da difusão isotrópica a uma dimensão.
Figura 2.7 Interpretação gráfica da difusão isotrópica a 1D.
A difusão isotrópica atua como um filtro passa-baixo, eliminando as altas frequências
correspondentes a zonas de gradiente elevado. Por esta razão, a imagem resultante tem todos os
contornos suavizados (blur) [7], como se pode observar na Figura 2.8.
(a) (b)
Figura 2.8 Imagem com ruído (a) e após 100 iterações de difusão isotrópica (b).
12
2.2.2. Difusão Anisotrópica
A equação do calor descrita na secção anterior pode ser reescrita numa versão não linear
[13]:
2Idiv g I I
t
, (2.10)
introduzindo um coeficiente de difusão variável (no tempo e no espaço), resultante da função g(·). O
objetivo do coeficiente da difusão variável é limitar a difusão junto aos contornos, de modo a evitar a
sua suavização. Em [13] foram propostas duas funções para o cálculo do coeficiente de difusão:
2
/Ig I e
(2.11)
e
2
1
1 /g I
I
, (2.12)
onde α é uma constante escolhida experimentalmente com o objetivo de controlar a sensibilidade aos
contornos. Nos contornos, i.e., nas regiões de gradiente elevado, a função g(·) tem valores baixos e
nas regiões suaves ou lisas, i.e., regiões de gradiente baixo, a função g(·) retorna um valor que se
aproxima de 1. Na Figura 2.9 apresenta-se o resultado da aplicação da difusão anisotrópica a uma
imagem e utilizando o coeficiente de difusão dado por (2.12).
(a) (b)
Figura 2.9 Imagem com ruído (a) e após 100 iterações de difusão anisotrópica (b).
De referir que ambos os processos de difusão, isotrópica e anisotrópica, foram
originalmente propostos para a remoção de ruído em imagens, não sendo usualmente aplicados de
forma isolada para realizar o inpainting; no entanto, a difusão anisotrópica é por vezes utilizada numa
etapa inicial ou intermédia dos algoritmos de inpainting, com o objetivo de reduzir a influência do
ruído da imagem ou do vídeo.
13
2.2.3. Método da Variação Total (TV)
O método da Variação Total (Total Variation - TV) foi inicialmente proposto para a remoção
do ruído em imagens [14], tendo sido posteriormente adaptado ao inpainting de imagens [4]. Este
método parte do pressuposto de que uma imagem pode ser modelizada por uma função com
variação de energia total limitada; neste caso, a solução ótima para a região a restaurar é a que
minimiza a energia TV (dada pelo módulo do gradiente total) da região de inpainting e mantendo o
objetivo da variação suave da intensidade da imagem (comum às técnicas de difusão). A função a
minimizar é dada por:
2
0, , ,TV
S S
J I I i j dxdy I i j I i j dxdy
, (2.13)
onde o primeiro termo do integral representa o gradiente (ou variação) total da imagem e o segundo
termo mede a fidelidade da imagem reconstruída relativamente à imagem original. A solução desta
equação no instante (ou iteração) t+1, é dada por [4] (ara simplificar a expressão, omitiram-se os
índice (i,j)):
2 2
1 0
32 2 2
22
xx y x y xy yy xt t t
s
x y
I I I I I I II I I I
I I
, (2.14)
sendo todas as derivadas parciais calculadas sobre a imagem obtida na iteração t, onde ε é uma
constante, e.g. ε=0.01 que garante o denominador da equação (2.14) diferente de zero. O parâmetro
λs é dado por:
, ,
0, ,s
i j S
i j
. (2.15)
Como atrás definido (Figura 2.1), S e Ω designam, respetivamente, a região conhecida da
imagem e a região de inpainting. Na Figura 2.10 apresenta-se o resultado da aplicação do método
TV a uma imagem com ruído.
(a) (b)
Figura 2.10 Imagem com ruído (a) e após 100 iterações do método TV (b).
14
2.2.4. Método de Bertalmio
O método proposto por Bertalmio et al. em [1], é considerado um dos trabalhos pioneiros na
área do inpainting automático de imagens digitais. Neste método, procurou-se resolver algumas das
limitações das técnicas baseadas em difusão anteriormente propostas, nomeadamente no que
respeita à suavização (bluring) dos contornos que entram na zona a restaurar.
Subjacente à técnica de Bertalmio surge o conceito de isofotos, ou curvas de nível da
intensidade numa imagem; a direção do isofoto num determinado pixel da imagem é dada pela
normal ao vetor gradiente nesse pixel (Figura 2.11 (a)). No processo de inpainting, é utilizado um
modelo de difusão anisotrópico que propaga o Laplaciano da imagem na vizinhança externa da área
a recuperar para o interior da mesma (e de acordo com a condição a priori de variação local suave
na intensidade da imagem, comum a todas as técnicas de difusão); a direção de propagação é dada
pela direção dos isofotos, mantendo o ângulo com que entram na área a ser restaurada (Figura 2.11
(b)); garante-se assim a correta propagação da estrutura vizinha à área de inpainting, para o interior
desta área.
(a) (b)
Figura 2.11 (a) Curvas de nível correspondentes aos isofotos (extraído de [15]); (b) Propagação de intensidade de imagem segundo a direção dos isofotos (extraído de [16]).
Formalmente, o algoritmo proposto em [1] corresponde à resolução da equação:
I
I It
, (2.16)
aplicada apenas à intensidade da imagem na zona a preencher; a solução desta equação no instante
(ou iteração) t+1, é dada por [1]:
1 , , , , ,t t t
nI i j I i j t I i j i j , (2.17)
onde 𝐼𝑡(𝑖, 𝑗) é intensidade da imagem na posição (i, j) da região de inpainting, Ω, na iteração t, ∆𝑡 é a
taxa de alteração e 𝐼𝑛𝑡(𝑖, 𝑗) representa a atualização a aplicar a 𝐼𝑡(𝑖, 𝑗).
15
Designando por 𝐿𝑡(𝑖, 𝑗) a informação que se pretende propagar e por �⃗⃗� 𝑡(𝑖, 𝑗) a direção de
propagação, tem-se [1]:
, , ,t t t
nI i j L i j N i j , (2.18)
onde 𝛿𝐿⃗⃗⃗⃗ 𝑡(𝑖, 𝑗) é a medida da variação da informação (i.e., a variação da intensidade é projetada na
direção �⃗⃗� 𝑡(𝑖, 𝑗)). Uma vez que se pretende a propagação suave da intensidades da imagem, 𝐿𝑡(𝑖, 𝑗)
deve ser um estimador dessa suavidade, sugerindo-se em [1] a utilização do Laplaciano:
, , ,t t t
xx yyL i j I i j I i j . (2.19)
Para determinar a variação 𝛿𝐿⃗⃗⃗⃗ 𝑡(𝑖, 𝑗), é necessário ainda definir a direção de propagação, �⃗⃗� .
Uma vez que se pretende prolongar as linhas dos isofotos, a escolha natural para �⃗⃗� é a direção
desses isofotos, ou seja, a direção perpendicular ao gradiente da imagem. A direção de propagação,
�⃗⃗� , para cada iteração, é pois dada por:
, , ,tN i j t I i j . (2.20)
De forma a assegurar a correta direção de propagação, minimizando a influência do ruído,
sugere-se ainda em [1] intercalar o processo acima descrito com algumas iterações de difusão
anisotrópica (e.g., um dos métodos descritos nas secções 2.2.2 e 2.2.3). A título de exemplo,
apresenta-se na Figura 2.12 o resultado do processo inpainting de texto utilizando a técnica descrita
nesta secção.
No Capítulo 3, onde se simula e avalia o método de Bertalmio, será apresentada de forma
detalhada a implementação numérica da equação (2.17).
(a) (b)
Figura 2.12 Resultado do inpainting de texto utilizando a técnica de Bertalmio; (a) Imagem a ser restaurada; (b) Imagem restaurada (extraído de [1]).
16
2.2.5. Método de Oliveira
Seguindo a ideia e os conceitos do inpainting baseado em difusão, Oliveira et al.
propuseram, em [6], uma técnica de inpainting onde são utilizados modelos muito simples que,
contudo, podem gerar localmente (i.e., na zona próxima da fronteira entre região a recuperar e a
região conhecida) resultados semelhantes aos produzidos por modelos mais sofisticados.
Utilizando os pressupostos das técnicas de difusão, o processo de inpainting da técnica de
Oliveira propaga a informação da fronteira para o interior da área de inpainting, através da
convolução iterativa de Ω com os filtros de difusão definidos na Figura 2.13. O número de iterações é
controlado através da verificação do número de pixels alterados entre duas iterações consecutivas.
Alternativamente, o utilizador pode especificar o número de iterações.
O algoritmo é rápido e apresenta bons resultados para o inpainting de zonas da imagem
onde os contornos não apresentem contraste elevado, ocasionando suavização (blur) dos contornos
caso estes sejam muito salientes.
(a) (b)
Figura 2.13 Filtros de difusão utilizados em [6]: a = 0.073235; b = 0.176765; c = 0.125.
2.2.6. Método de Telea
Telea propôs, em [5], um algoritmo de inpainting que pode ser visto como uma abordagem
baseada em PDE mas com um custo computacional mais baixo; em consequência, é
consideravelmente mais rápido que outros métodos baseados em PDE, mas produzindo resultados
muito similares.
Tal como nos métodos anteriormente apresentados, é feita a difusão da intensidade da
imagem a partir da fronteira da região de inpainting; porém, o processo é baseado numa
aproximação de primeira ordem, 𝐼𝑞(𝑝), do valor da imagem num ponto p da região de inpainting Ω:
qI p I q I q p q , (2.21)
onde q é um pixel numa vizinhança, Ve(p), de p (Figura 2.14).
17
Figura 2.14 Elementos básicos do método de Telea.
O inpainting realizado no ponto p da imagem considera todos os pontos q presentes na
vizinhança do ponto p, considerando como intensidade final, I (p), a média ponderada dos valores
𝐼𝑞(𝑝) obtida pela expressão (2.22):
,
,
q V p
q V p
w p q I q I q p q
I pw p q
, (2.22)
onde os pesos w (p, q) devem ser normalizados de modo a que ∑ 𝑤(𝑝, 𝑞) = 1𝑝 .
O processo de inpainting inicia-se com a extração da fronteira da região de inpainting. O
procedimento utilizado na difusão é controlado pelo método de fast marching (FMM) [5], que gera um
mapa de distâncias dos pixels da região de inpainting, à fronteira desta região. O método de Telea
realiza a difusão da fronteira para o interior da região de inpainting aplicando a equação (2.22) a
cada curva de nível do mapa de distâncias; garante-se assim que as áreas mais próximas da
fronteira sejam corrigidas antes das áreas mais distantes, minimizando-se assim a geração de
artefactos. Após cada iteração, é recalculada a fronteira e o mapa de distâncias.
2.3. Inpainting baseado em exemplos
Como referido na introdução deste capítulo, um outro grupo de técnicas muito utilizado no
inpainting de imagens e vídeo é o baseado em exemplos (examplar-based), que tem a sua origem
nas técnicas de síntese de textura. A síntese de textura consiste na geração de uma imagem de
textura a partir de um modelo de textura conhecido, de tal modo que a textura resultante tem uma
aparência visual muito próxima da do modelo (Figura 2.15).
18
(a) (b)
Figura 2.15 Exemplo de síntese de textura em que (a) representa o modelo de textura e (b) a textura sintetizada (extraído de [7]).
O inpainting baseado em exemplos foi introduzido em [9] e pode ser descrito pelas
seguintes etapas:
1. definição do tamanho do exemplo, ou patch (e.g., um bloco com 9×9 pixels);
2. determinar a prioridade para cada pixel p pertencente à fronteira (interna) da região
de inpainting, e que estabelece a ordem com que os pixels desta fronteira vão ser
preenchidos. Seja Ψ𝑝 o patch centrado no ponto p (Figura 2.16 (b)). A prioridade do
patch é dada por:
P p C p D p , (2.23)
onde C (p) e D (p) representam os termos “confiança” e “dados”, respetivamente, e
podem ser obtidos a partir de (são possíveis outras medidas):
pq
p
C q
C p
(2.24)
e
p pI n
D p
, (2.25)
em que |Ψ𝑝| define a área do patch, np é a direção do isofoto, ∇𝐼𝑝⊥ é a direção
perpendicular à fronteira e α é um fator de normalização; C (p) = 1 se a intensidade
da imagem no ponto q já tiver sido obtida (ou for conhecida) e C (p) = 0 caso
contrário. O termo confiança, C (p), dá prioridade aos patches que já têm alguns
dos seus pixels preenchidos, por não fazerem parte da região de inpainting ou
porque já foram preenchidas nas iterações anteriores; o termo de “dados”, D (p),
atribui maior prioridade a patches com gradiente elevado;
19
3. para cada patch a preencher, e seguindo a prioridade calculada na etapa 2,
procurar na zona conhecida da imagem (ou numa base de dados previamente
obtida) o patch mais parecido, sendo este copiado para o patch a preencher; a
medida de similaridade mais usual é a diferença quadrática média (MSE - mean
squared error). Numa variante do método, é apenas copiado o pixel central do
patch, resultando numa execução bastante mais lenta.
4. recálculo da fronteira interna da região de inpainting e da prioridade dos pixels
dessa fronteira.
(a) (b)
(c) (d)
Figura 2.16. Estrutura de propagação de técnicas baseadas em exemplos (extraído de [9]).
A Figura 2.16 representa a processo de inpainting utilizando técnicas baseadas em
exemplos: (a) imagem original com a região de inpainting, a sua fronteira e a região conhecida
claramente assinaladas; (b) etapa do algoritmo onde se define a área do patch centrada no ponto
que se quer restaurar; (c) pesquisa do patch que mais se assemelha ao que se pretende restaurar;
(d) resultado do preenchimento do patch centrado em p, através da cópia do patch mais semelhante
encontrada durante a pesquisa.
20
2.4. Inpainting baseado em métodos híbridos
As técnicas de inpainting de imagens baseadas em PDE têm a capacidade de preservar os
contornos (i.e., a estrutura da imagem); no entanto, os resultados não são aceitáveis quando as
regiões a preencher têm muita textura e ocupam uma área significativa da imagem, como acontece
tipicamente após a remoção de objetos. Por esta razão, vários autores propuseram técnicas híbridas,
que combinam os métodos baseados em exemplos (que preservam a textura), com os métodos
baseados em PDE (que preservam a estrutura). Em termos gerais, as técnicas híbridas começam por
segmentar a imagem em zonas texturadas e zonas de estrutura, e aplicam a cada zona o método de
inpainting mais conveniente [17].
Como exemplo de técnica de inpainting híbrida, considere-se o método proposto em [18]
por Bertalmio et al., que estende a técnica apresentada na secção 2.2.4 de modo a incorporar a
síntese de texturas. A técnica abordada decompõe a imagem em duas funções: uma representa a
estrutura nos limites da região de interesse e a outra captura a textura, como se mostra na Figura
2.17.
A ideia básica dessa técnica consiste na decomposição da imagem original em duas
subimagens com diferentes caraterísticas básicas, e então reconstruir cada subimagem,
separadamente, com algoritmos de estrutura e preenchimento de textura. A primeira subimagem é
de variação limitada, representando a estrutura de imagem básica. A segunda captura a textura e
possíveis ruídos. A região da imagem de variação limitada é reconstruída utilizando algoritmos de
inpainting de imagem, enquanto a mesma região da imagem de textura é preenchida com técnicas
de síntese de textura. A reconstrução da imagem original passa por somar as duas subimagens [18].
A Figura 2.17 é um exemplo da funcionalidade do algoritmo proposto em [18] em que (a) é
a imagem original com regiões indesejadas; a imagem original é decomposta em duas subimagens,
(b) e (c), que representam, respetivamente, a estrutura e a textura da imagem original. Seguidamente
é realizado o inpainting sobre as subimagens resultantes da decomposição da imagem original, em
que para (b) é feito o inpainting para a reconstrução da estrutura da imagem, (d), e para (c) o
inpainting para a reconstrução da textura, (e). Finalmente, a imagem final, (f), resulta da junção das
subimagens previamente restauradas.
21
(a) (b) (c)
(d) (e) (f)
Figura 2.17. Algoritmo proposto por Bertalmio et al.: (a) Imagem que se pretende restaurar; (b) Estrutura da imagem (a); (c) Textura da imagem (a); (d) Restauração da imagem (b); (e) Restauração da imagem (c); (f) Junção das imagens (d) e (e) (extraído de [18]).
2.5. Inpainting de Vídeo
As técnicas de inpainting descritas anteriormente podem ser aplicadas a sequências de
vídeo, realizando o inpainting trama a trama. Porém, embora a qualidade das imagens resultantes
possa ser perceptualmente aceitável quando esta é avaliada para cada trama de forma isolada, o
mesmo poderá não acontecer na visualização do vídeo em tempo real. Com efeito, o inpainting
puramente espacial poderá resultar em pequenas diferenças de trama para trama, diferenças essas
que vão causar um efeito de cintilação (flicker) no vídeo, com forte impacto subjetivo. Para minimizar
este efeito, a informação temporal, resultante do movimento dos objetos ou da câmara, deve ser tida
em consideração.
A técnica proposta em [19] é uma técnica de inpainting que utiliza informações temporais e
espaciais para a restauração de regiões de texto em vídeos. Esta técnica foi desenvolvida para a
deteção e remoção automática de textos em vídeos onde são utilizados dois métodos para este
propósito: um método para a deteção automática de texto em imagens; e o outro método para a
remoção de texto e, simultaneamente, a restauração do fundo obstruído pelas regiões de texto na
sequência de vídeo. O método de deteção automática utiliza um método baseado em máquina de
vetor de suporte (do Inglês: support vector machine - SVM) [20]. O método de restauração consiste
na restauração temporal entre tramas consecutivas e na restauração espacial para as restantes
tramas. A restauração temporal é realizada através da informação obtida da estimação de
movimento (através do algoritmo de block matching). De modo a reduzir o erro da estimação de
22
movimento é utilizada a restauração espacial nos pixels sobre os quais foi feita restauração temporal.
A Figura 2.18 mostra o processo utilizado pela técnica de Lee na realização de inpainting de vídeo.
Figura 2.18 Etapas do processo de inpainting utilizando o método de Lee (extraído de [19].
A restauração espácio-temporal das sequências de vídeo é representada pela equação
(2.26)
, , , , 1 , ,T SI i j t I i j t I i j t , (2.26)
em que IT (i, j, t) e IS (i, j, t) são os resultados da restauração temporal e da restauração espacial no
tempo t, para o valor de pixel na posição (i, j), respetivamente, e σ é o peso da restauração temporal.
O peso da restauração espacial é dado por 1- σ.
Uma outra técnica de inpainting de vídeo foi proposta em [21] para o preenchimento de
dados perdidos usando o método de inpainting baseado em patch proposto em [9]. O algoritmo desta
técnica está dividido em etapas. A primeira etapa consiste na separação do fundo estático e os
objetos móveis do vídeo. Essa separação é feita utilizando um simples mecanismo de limiarização.
Depois obter os objetos e o fundo, realiza-se o inpainting dos componentes separadamente e, por
fim, o vídeo é reconstruído através da composição dos objetos e do fundo restaurados. A Figura 2.19
mostra o processo desta técnica.
A separação dos objetos e o fundo é feita utilizando um valor de threshold que é a diferença
absoluta da trama e o fundo modelado. Para cada objeto é desenhada uma janela retangular a volta
de modo que o objeto fique centrado na janela. O próximo passo é alinhar as janelas obtendo uma
imagem em mosaicos. O inpainting dos objetos e do fundo é realizado utilizando o método de
23
inpainting baseado em exemplos, onde para o fundo da imagem utiliza-se, diretamente, o método
baseado em exemplos e, para os objetos o método baseado em exemplos é aplicado iterativamente.
Figura 2.19. Visão esquemática do algoritmo proposto por Koochari et al. (extraído de [21]).
2.6. Aplicações
As técnicas de inpainting encontram aplicação em muitas áreas do processamento de
imagem. Entre as aplicações possíveis, destaca-se a restauração de imagens e vídeos degradados.
Tais degradações podem resultar de deterioração de fotografias e filmes antigos provocada por
processos químicos, ou de reflexões captadas no processo de aquisição da imagem e vídeo, entre
outras causas. A restauração de imagens de impressões digitais em sistemas de identificação
automática [22], é outra importante aplicação para as técnicas de inpainting.
Outras duas usuais áreas de aplicação das técnicas de inpainting é a edição de imagens,
quando o utilizador pretende remover um objeto deixando uma região por preencher na imagem, e a
remoção de oclusões, onde se pretende remover textos, legendas, riscas ou publicidade sobrepostos
à imagem ou ao vídeo.
As técnicas de inpainting têm também sido utilizadas no cancelamento de erros que
ocorrem durante a transmissão de vídeo. Como exemplo, no processo de transmissão de vídeo
através de uma rede IP (Internet Protocol), podem ocorrer perdas e/ou atrasos nos pacotes e o
descodificador poderão recorrer a técnicas de inpainting para tentar minimizar o impacto dos pacotes
perdidos no vídeo descodificado.
Devido à enorme diversidade de aplicações das técnicas de inpainting, não existe uma
solução "universal" que seja a melhor para todas as aplicações, sendo natural que umas técnicas
funcionem melhor que outras em determinadas situações. Também é importante referir que na
avaliação de uma técnica de inpainting, é necessário ter em consideração o tempo de
24
processamento e o custo de implementação associado, para além da qualidade das imagens ou
vídeos resultantes.
25
Capítulo 3. Inpainting Espacial de Texto em
Imagens e Vídeo
3.1. Introdução
No presente capítulo implementam-se e avaliam-se técnicas de inpainting puramente
espacial, adequadas para restaurar pequenas regiões, como as resultantes da extração de legendas
em imagens e vídeos. As técnicas consideradas são analisadas do ponto de vista de qualidade das
imagens e vídeos restaurados e do tempo de processamento associado.
As regiões de texto ocupam, tipicamente, uma pequena área das imagens e tramas de
vídeo, pelo que uma abordagem baseada em difusão deverá ser suficiente para a aplicação em vista.
Com este pressuposto, consideram-se neste capitulo as seguintes técnicas: variação total (TV) [23],
método de Bertalmio [1], método de Oliveira [6] e, por último, o método proposto por Telea [5]. Todas
as técnicas foram implementadas em Matlab, com exceção do método Telea para o qual se utilizou
um executável existente no OpenCV.
Este capítulo encontra-se organizado da seguinte forma: na secção 3.2 descrevem-se, no
domínio discreto, os algoritmos de inpainting selecionados; essa descrição é essencial para o seu
correto desenvolvimento em software. Na secção 3.3 caracterizam-se, em termos de conteúdo
espacial e temporal, o conjunto de imagens e vídeos utilizados nos testes. Na secção 3.4
apresentam-se e analisam-se os resultados obtidos para os vários algoritmos. Na secção 3.5
efetuam-se algumas considerações finais sobre os métodos implementados.
3.2. Implementação de inpainting baseado em difusão
Nesta secção detalham-se os métodos de inpainting baseados em difusão implementados
nesta dissertação, e que foram selecionados com o propósito de restaurar regiões de texto em
imagens e vídeos: método de Bertalmio, método TV e método de Oliveira.
3.2.1. Método da Variação Total (TV)
Como foi referido no Capítulo 2 (secção 2.2.3), o algoritmo de TV consiste na minimização
da energia total da região de inpainting. A função a minimizar é dada pela equação (2.13) e a sua
solução discreta é dada por (2.14), que aqui se repete
2 2
1 0
32 2 2
22
xx y x y xy yy xt t t
s
x y
I I I I I I II I I I
I I
, (3.1)
com 𝐼𝑡+1, 𝐼𝑡 e 𝐼0 a representarem, respetivamente, a imagem obtida na iteração atual, a imagem da
iteração anterior e a imagem inicial. Os gradientes segundo x e y são centrados e dados por:
26
1, 1,,
2
, 1 , 1,
2
x
y
I i j I i jI i j
I i j I i jI i j
, (3.2)
enquanto os Laplacianos são dados por:
, 1, 2 , 1,
, , 1 2 , , 1
1, 1 1, 1 1, 1 1, 1,
4
xx
yy
xy
I i j I i j I i j I i j
I i j I i j I i j I i j
I i j I i j I i j I i jI i j
. (3.3)
O coeficiente de difusão, ρ, é a taxa de atualização; o parâmetro ε garante um denominador diferente
de zero, e λs é definido por
, ,
0, ,s
i j S
i j
. (3.4)
3.2.2. Método de Bertalmio
Como referido no Capítulo 2 (secção 2.2.4), no processo de inpainting do método Bertalmio
a informação propaga-se da fronteira da região de inpainting, ∂, para o interior desta região, ,
através de um processo iterativo. De modo a estabilizar a solução, o processo de inpainting
(eq. (3.5)) é intercalado com um processo de difusão anisotrópica (eq. (3.12)); cada iteração global
do método é composta por Td iterações de difusão anisotrópica e Ti iterações de inpainting.
O processo de inpainting correspondente ao método de Bertalmio é descrito pela equação
discreta:
1, , , , ,i i it t t
nI i j I i j t I i j i j
, (3.5)
em que 𝐼𝑡𝑖(𝑖, 𝑗) é a imagem obtida na iteração ti, 𝐼𝑛𝑡𝑖(𝑖, 𝑗) representa a atualização da intensidade do
pixel na posição (i, j) em relação à iteração anterior e Δt representa a taxa de atualização (sendo um
parâmetro de entrada do algoritmo).
Em termos de implementação, a principal dificuldade encontra-se no cálculo de 𝐼𝑛𝑡𝑖 devido a
dificuldades na determinação da direção dos isofotos. Segundo o descrito em [1], o cálculo de 𝐼𝑛𝑡𝑖 é
obtido através de:
27
, ,, , ,
, ,
ii itt ti
n
i
N i j tI i j I i j I i j
N i j t
, (3.6)
onde
, ,
, ,
i
i
N i j t
N i j t representa a direção de isofoto na iteração ti, e é dada por:
, ,, , , ,
, ,
i i it t ti
x y
i
N i j tI i j I i j I i j
N i j t
. (3.7)
As direções dos isofotos dependem dos gradientes da imagem, sendo obtidos por:
2 2
2 2
,,
, ,
,,
, ,
i
i
i i
i
i
i i
t
yt
xt t
x y
t
t x
yt t
x y
I i jI i j
I i j I i j
I i jI i j
I i j I i j
, (3.8)
em que 𝐼𝑥𝑡𝑖(𝑖, 𝑗) e 𝐼𝑦
𝑡𝑖(𝑖, 𝑗) representam, respetivamente, os operadores gradientes da imagem segundo
x e y, e ∇⊥𝐼𝑥𝑡𝑖(𝑖, 𝑗) e ∇⊥𝐼𝑦
𝑡𝑖(𝑖, 𝑗) são as direções dos isofotos segundo x e y, respetivamente (direções
perpendiculares à direção do gradiente); para evitar divisões por zero, considera-se o parâmetro ε
(com ε > 0), no denominador de (3.8). Os gradientes são calculados utilizando equações centradas
(eqs. (2.5) e (2.6)).
A variação do Laplaciano, 𝛿 (∆𝐼)𝑡𝑖, é dada por
, 1, 1, , , 1 , 1i i i i it t t t t
I i j I i j I i j I i j I i j , (3.9)
em que ∆𝐼𝑡𝑖(𝑖, 𝑗) é obtido com a convolução do filtro da Figura 2.6 com a imagem obtida na iteração ti.
Depois de obtidas a variação do Laplaciano segundo a direção �⃗⃗� e a direção dos isofotos,
calcula-se a variação do Laplaciano segundo a direção dos isofotos, através de:
, ,, ,
, ,
iitt i
i
N i j ti j I i j
N i j t . (3.10)
Por último, multiplica-se a variação do Laplaciano segundo a direção do isofoto pela versão
atualizada do módulo do gradiente da imagem dada pela equação (3.11), obtendo-se finalmente a
atualização da imagem; os sub-índices b e f indicam que os gradientes são backward e forward,
respetivamente, e os sub-índices m e M representam o mínimo e o máximo, respetivamente, entre os
gradientes e zero.
28
2 22 2
2 22 2
, , 0
,
, , 0
i i i i i
bm fM bm fMi
i i i i i
bM fm bM fm
t t t t t
x x y yt
t t t t t
x x y y
I I I I i j
I i j
I I I I i j
. (3.11)
A difusão anisotrópica é calculada a partir da equação (3.12):
1
2 2*
d d
d d
d d
t t
xx yyt t
t t
x y
I II I
I I
, (3.12)
onde ρ é o coeficiente de difusão, Ixx e Iyy os Laplacianos da imagem segundo x e y, respetivamente,
Ix e Iy são os gradientes da imagem segundo x e y, respetivamente, e ε um parâmetro positivo que
garante o denominador diferente de zero. Os gradientes são calculados utilizando diferenças
centradas
1, 1,
2
, 1 , 1
2
d d
d
d d
d
t t
t
x
t t
t
y
I i j I i jI
I i j I i jI
, (3.13)
e os Laplacianos são calculados através do filtro 1D apresentado na Figura 2.5.
, 1, 2 , 1,
, , 1 2 , , 1
d d d d
d d d d
t t t t
xx
t t t t
yy
I i j I i j I i j I i j
I i j I i j I i j I i j
. (3.14)
Por último, referem-se alguns aspetos que devem ser tidos em consideração na
implementação do algoritmo, mas que não estão referidos no artigo original [1]:
a fronteira ∂Ω é obtida após alargar a máscara de inpainting utilizando uma filtragem
morfológica do tipo dilatação, com um filtro de tamanho 3×3; deste modo, garante-se o
conhecimento da intensidade de todos os pixels na vizinhança de ∂Ω;
os valores dos pixels têm de estar normalizados ao intervalo [0,1].
3.2.3. Método de Oliveira
O método de Oliveira, descrito na secção 2.2.5, é um método bastante simples que
consiste na convolução sucessiva de um filtro com a imagem a restaurar. Em [6] são sugeridos dois
filtros, que se apresentaram na Figura 2.13. O processo de restauração pode ser escrito em uma
forma iterativa como:
29
1
1 2, , ,t t tI i j a I i j b I i j , (3.15)
em que
1
2
, 1, 1 1, 1 1, 1 1, 1
, 1, 1, , 1 , 1
t t t t t
t t t t t
I i j I i j I i j I i j I i j
I i j I i j I i j I i j I i j
, (3.16)
e a e b são os valores dos coeficientes dos filtros. Para o filtro da Figura 2.13-(a), a = 0.073235 e
b = 0.176765; para o filtro da Figura 2.13 (b), a = b = 0.125. Esta dissertação faz uso apenas do filtro
da Figura 2.13 (a).
3.3. Caracterização das Imagens e Vídeos de Teste
3.3.1. Imagens e vídeos utilizados
As imagens e vídeos utilizados na avaliação do desempenho das técnicas de inpainting,
devem ter conteúdos espaciais diversos (e, em particular, incluir texturas e contornos de contraste
elevado), bem como diferentes tipos de atividade temporal, de modo a serem representativos do
conjunto de imagens e vídeos que podem ser encontrados numa aplicação real. Na Figura 3.1
apresenta-se a primeira trama do conjunto de oito vídeos selecionados para os testes, e
disponibilizados em [24]; estas tramas constituem também o conjunto de imagens fixas utilizado.
Todos os vídeos têm uma resolução espacial de 720 x 480 pixels, sendo a resolução temporal e o
número de tramas que os constituem indicados na Tabela 3.1.
Figura 3.1. Vídeos e imagens (primeira trama de cada vídeo) utilizados nos testes: (a) “Bigships”; (b) “Oldtown”;(c) “Parkjoy”; (d) “Raven”; (e) “Snowmontain”; (f) “Soccer”; (g) “Station”; (h) “Sunflower”.
Uma vez que o objetivo da presente dissertação é a restauração das regiões resultantes da
extração e/ou reposicionamento das legendas em filmes, para simular as imagens e vídeos
resultantes da extração do texto foram utilizadas as máscaras binárias apresentadas na Figura 3.2;
ao sobrepor a máscara à imagem ou vídeo originais, as suas componentes de cor são anuladas nas
posições coincidentes com as dos pixels a branco das máscaras. A máscara mask1 contém, para
30
além de texto, dois traços, que foram incluídos com o propósito de avaliar os métodos para outro tipo
de regiões a restaurar.
Tabela 3.1 Resolução temporal dos vídeos utilizados.
Vídeo Frequência [Hz] Número de tramas
Bigships 30 300
Oldtown 25 250
Parkjoy 25 250
Raven 30 300
Snowmontain 30 300
Soccer 30 300
Station 25 250
Sunflower 25 250
(a) (b) (c)
Figura 3.2. Máscaras utilizadas no processo de inpainting: (a) mask1; (b) mask2 (c) mask3.
Como exemplo, na Figura 3.3 apresenta-se uma trama original de um dos vídeos utilizados
nos testes (a), a máscara binária com a zona de inpainting a criar sobre o vídeo original (b) e a trama
resultante (c) após inserção da máscara na trama original.
(a) (b) (c)
Figura 3.3 (a) Imagem original; (b) Máscara; (c) Imagem resultante da inserção da máscara.
31
3.3.2. Atividades espácio-temporais das sequências
Como atrás referido, as sequências de vídeos escolhidas abrangem uma larga gama de
conteúdos espaciais e atividades temporal, concretamente:
O vídeo Bigships apresenta movimentos de objetos (barco), movimentos do fundo
(ondulação do mar), movimento da câmara, zoom-in da câmara e ainda uma
transição entre segmentos vídeo implementada através de um dissolve.
O vídeo Oldtown apresenta movimentos de pequenos objetos (carros) e um zoom-
in da câmara.
O vídeo Parkjoy apresenta movimento de objetos (pessoas) e ainda um rápido
movimento da câmara na horizontal (travelling).
O vídeo Raven apresenta movimento de objeto (corvo) com pequenas variações
do fundo (pequenas oscilações das plantas provocadas pelo vento), e movimento
da câmara a acompanhar o objeto.
No vídeo Snowmontain a câmara está inicialmente estática, havendo variações do
fundo da imagem (provocadas pelo movimento das nuvens). Posteriormente,
ocorre uma transição de segmento de vídeo (implementada através de um
dissolve) e no segundo segmento existe movimento da câmara.
O vídeo Soccer apresenta movimento rápidos de objetos (jogadores e bola) e da
câmara.
O vídeo Station apresenta movimento de objetos (pessoa e comboio) e um zoom
out da câmara ao longo de toda a sequência.
Por ultimo, o vídeo Sunflower apresenta movimento de objetos (abelha) e algum
movimento da câmara.
Para uma melhor perceção do tipo de conteúdo de cada vídeo, calcularam-se as suas
atividades espaciais e temporais, através do procedimento utilizado em [25]. Na determinação da
atividade espacial aplicaram-se os filtros de Sobel, referidos no Capítulo 2 (Figura 2.4), à
componente de luminância de cada trama do vídeo; um filtro é responsável pelo cálculo do gradiente
horizontal e o outro filtro calcula o gradiente na vertical. Para obter a atividade espacial de uma trama
calcula-se, para cada pixel, a norma do vetor gradiente (eq.(2.4)) e obtém-se o desvio padrão desta
norma sobre todos os pixels da trama; este processo é repetido para todas as tramas da sequência
de vídeo. A atividade espacial da sequência vídeo é dada pelo valor do desvio padrão da norma do
gradiente correspondente ao percentil 90%, no conjunto de todas as tramas. Para o cálculo da
atividade temporal, começa-se por obter a diferença, pixel a pixel, entre a componente de luminância
de pares de tramas consecutivas, sendo depois calculado o desvio padrão das diferenças.
Analogamente ao que acontece na atividade espacial, a atividade temporal global é determinada pelo
valor do desvio padrão correspondente ao percentil 90%. Com a utilização do percentil 90%
32
pretende-se minimizar, no cálculo das atividades temporais e espaciais, variações de atividade
abruptas e pontuais que podem ocorrer ao longo da sequência vídeo.
Na Tabela 3.2 apresentam-se os resultados das atividades espaciais e temporais obtidas
para os 8 vídeos de teste. A Figura 3.4 reforça a ideia do que já foi referido anteriormente: os vídeos
escolhidos, para os testes de inpainting, representam diferentes cenários abrangendo uma grande
variedade de situações, com diferentes conteúdos espaciais e temporais.
Tabela 3.2 Atividades espacial e temporal das sequências de teste.
Vídeo
Atividade espacial Atividade temporal
Percentil 100%
Percentil 90%
Percentil 100%
Percentil 90%
Bigships 80.14 74.63 20.22 18.53
Oldtown 22.86 21.01 15.42 3.34
Parkjoy 135.45 131.30 42.80 37.78
Raven 57.73 37.24 18.63 10.80
Snowmontain 120.69 116.34 22.06 16.31
Soccer 96.49 76.75 51.77 37.31
Station 61.35 59.97 27.33 8.39
Sunflower 89.99 86.55 41.67 25.52
(a) (b)
Figura 3.4. Atividades espacial e temporal das sequências de vídeo: (a) com percentil de 100%; (b) com
percentil de 90%.
33
3.4. Resultados
Nesta secção apresentam e analisam-se os resultados obtidos com os métodos de
inpainting descritos na seção 3.2. Com exceção do método Telea, todos os métodos foram
desenvolvidos em Matlab 2015a; para o método Telea utilizou-se um módulo implementado em C++,
disponibilizado na biblioteca de funções OpenCV. Os algoritmos foram executados num computador
com memória RAM de 8 GBytes e um processador Intel® Core™ i7, a funcionar a 2.8 GHz. A
avaliação dos métodos é feita quer em termos da qualidade da imagem restaurada, quer em termos
do tempo de processamento associado. A restauração das imagens foi efetuada no espaço de cores
YCRCB; no entanto, para a avaliação da qualidade apenas se considerou a componente Y.
3.4.1. Métricas de qualidade
Para determinar a qualidade das imagens e vídeos obtidos após a aplicação do inpainting,
comparou-se a componente de luminância (Y) das imagem/vídeos originais com a mesma
componente das imagem/vídeos restaurados, através de duas métricas objetivas: PSNR (Peak
Signal to Noise Ratio) e SSIM (structural similarity index) [26].
O PNSR é uma métrica amplamente utilizada na área do processamento de imagem e
vídeo, e mede a relação entre o valor da intensidade máxima ao quadrado, MAX𝐼2 , que um pixel
pode tomar (2552 numa representação a 8 bits), e o valor quadrático médio (MSE - mean squared
error) da diferença (ou erro) entre a imagem original e a imagem processada. Esta métrica é
representada pela equação (3.17):
2
I I10 10
MAX MAXPSNR 10 log 20 log
MSE MSEdB
, (3.17)
com
2
,
1MSE , ,t
i j
I i j I i jN
, (3.18)
sendo It a imagem restaurada na iteração t, a região de inpainting e N o número de pixels na
região de inpainting. Embora o PSNR não seja bem correlacionado com a perceção subjetiva de
qualidade, é comum utilizar (em aplicações de compressão de vídeo) a correspondência entre
intervalos de PSNR e qualidade subjetiva apresentada na Tabela 3.3 [27].
Ao contrário do PSNR, o índice SSIM é consistente com a perceção subjetiva de qualidade;
o índice SSIM estima a similaridade entre a imagem original e a restaurada através da comparação
da intensidade, do contraste e da estrutura dessas imagens, podendo tomar um valor compreendido
entre 0 (imagens totalmente diferentes) e 1 (imagens exatamente iguais). Para o cálculo do SSIM,
utilizou-se uma função disponibilizada no Matlab; como é uma métrica orientada ao bloco considerou-
se, para o seu cálculo, o menor retângulo que contem a máscara de inpainting.
34
Tabela 3.3 Relação entre valores de PSNR e qualidade subjetiva.
PSNR [dB] Qualidade
< 30 Baixa
30 – 36 Média
36 – 42 Alta
> 42 Excelente
3.4.2. Qualidade das imagens/vídeos restaurados
Nas Tabelas 3.4 e 3.5 apresentam-se os valores dos parâmetros utilizados na simulação
dos métodos TV e Bertalmio, respetivamente; estes valores tiveram como base de partida os
recomendados nos artigos originais e foram "refinados" através de testes realizados com as imagens
e vídeos apresentados na Figura 3.1.
Tabela 3.4 Valores dos parâmetros utilizados na implementação do método de TV.
Parâmetro Valor
Iterações, T 1500
Coeficiente de difusão, ρ 0.2
λ 0.05
ε 0.01
Tabela 3.5 Valores dos parâmetros utilizados na implementação do método de Bertalmio.
Parâmetro Valor
Iterações globais, T 100
Coeficiente de difusão, ρ 0.2
Iterações de difusão, Td 2
Iterações de inpainting, Ti 15
ε 0.001
Δt 0.1
35
Na Tabela 3.6, apresentam-se os valores de PSNR obtidos para cada uma das imagens
fixas (primeira trama de cada vídeo) e para cada técnica de inpainting, utilizando a mask2. Com base
nesta tabela, verifica-se que a qualidade das imagens resultantes dos métodos Bertalmio e Oliveira,
e com exceção da imagem Snowmontain, pode ser considerada como alta ou mesmo excelente, com
valores de PSNR claramente superiores a 36 dB. Este facto é confirmado pela Tabela 3.7, onde os
valores de SSIM são, em todas as imagens e para as duas técnicas acima referidas, superiores a 0.9.
Os métodos Telea e TV apresentam sempre resultados inferiores aos métodos de Bertalmio e
Oliveira, mas na maioria dos casos também nos intervalos de qualidade alta-excelente.
Tabela 3.6 Valores de PSNR obtidos para imagens fixas utilizando mask2.
Imagem PSNR [dB]
TV Bertalmio Oliveira Telea
Bigships 35.95 39.93 39.87 35.41
Oldtown 35.29 40.08 40.08 35.13
Parkjoy 37.91 49.63 49.64 45.81
Raven 40.88 45.51 45.50 39.65
Snowmontain 30.66 34.43 34.56 30.44
Soccer 37.10 41.93 41.78 37.34
Station 43.09 48.44 48.54 43.17
Sunflower 45.13 55.11 55.39 43.59
Na Figura 3.5 apresenta-se, em pormenor, a zona restaurada da imagem Snowmontain
para cada uma das técnicas em estudo, e que confirma os resultados das tabelas - a melhor
qualidade é a correspondente às técnicas de Bertalmio e Oliveira. Este resultado também permite
confirmar que a métrica SSIM é mais adequada que o PSNR, pois apesar de o PSNR ser de apenas
34 dB, a qualidade percetiva é muito próxima do original, o que está em acordo com o valor de 0.92
obtido para o SSIM. Na Figura 3.6 apresenta-se o mesmo tipo de resultados para a imagem Soccer.
Também neste caso se confirmam as conclusões anteriores: os métodos Bertalmio e Oliveira
apresentam os melhores resultados, e a métrica SSIM é também mais adequada que o PSNR. Com
efeito, apesar do PSNR resultante para a imagem Soccer ser superior em cerca de 7.5 dB ao obtido
para a imagem Snowmontain, a qualidade percetiva é muito semelhante em ambos os casos.
36
Tabela 3.7 Valores de SSIM para imagens fixas utilizando a mask2.
Imagem SSIM
TV Bertalmio Oliveira Telea
Bigships 0.79 0.93 0.93 0.87
Oldtown 0.82 0.93 0.93 0.87
Parkjoy 0.63 0.98 0.98 0.95
Raven 0.82 0.95 0.95 0.89
Snowmontain 0.82 0.92 0.92 0.87
Soccer 0.80 0.93 0.93 0.87
Station 0.78 0.97 0.97 0.92
Sunflower 0.88 0.99 0.99 0.95
Na Figura 3.7, apresenta-se a evolução do PSNR e do SSIM ao longo das várias iterações
do método de Bertalmio, para cada uma das regiões de inpainting correspondentes à máscara mask1
aplicada à imagem Soccer. Cada curva corresponde a uma das regiões de inpainting da máscara, e
que estão identificadas na Figura 3.8. Com base na Figura 3.7, comprova-se que há um aumento
progressivo na qualidade da imagem restaurada, até se atingir uma situação estacionária na qual
não há qualquer variação assinalável na qualidade. Também se pode verificar que quer o número de
iterações necessárias até à convergência do método, quer a qualidade final da região de inpainting,
são bastante condicionados pela espessura da região da máscara. O pior caso corresponde à região
2, para a qual se atingem valores máximos de PSNR e SSIM de cerca de 18 dB e 0.78,
respetivamente. Na Figura 3.9 apresentam-se os cortes das imagens a restaurar, original e
restaurada correspondentes à região 2 de inpainting.
37
(a) (b)
(c)
(d)
(e)
(f)
(g)
(h)
Figura 3.5: (a) Imagem original (Snowmontain); (b) Imagem a ser restaurada; cortes correspondentes a: (c) Zona a ser restaurada; (d) Imagem original; (e) Resultado do método TV; (f) Resultado do método de Bertalmio; (g) Resultado do método de Oliveira; (h) Resultado do método de Telea.
38
(a) (b)
(c)
(d)
(e)
(f)
(g)
(h)
Figura 3.6: (a) Imagem original (Soccer); (b) Imagem a ser restaurada; cortes correspondentes a: (c) Zona a ser restaurada; (d) Imagem original; (e) Resultado do método TV; (f) Resultado do método de Bertalmio; (g) Resultado do método de Oliveira; (h) Resultado do método de Telea.
39
(a) (b)
Figura 3.7 Evolução do PSNR (a) e do SSIM (b) da imagem Soccer, ao longo das várias iterações do método de Bertalmio, e para as várias regiões da mask1.
Figura 3.8 Identificação das regiões de inpainting da máscara mask1.
(a) (b) (c)
Figura 3.9 Cortes da região 2 de mask1 para a imagem Soccer correspondentes a: (a) imagem com máscara; (b) imagem original; (c) imagem restaurada com o método de Bertalmio.
40
Para o inpainting de vídeo, aplicaram-se os algoritmos descritos, trama a trama, utilizando a
mask3 nos vários vídeos de teste. A qualidade resultante para cada trama é, tal como se verificou
para as imagens fixas, elevada ou mesmo excelente. No entanto, quando se reproduzem os vídeos
restaurados com a sua frequência real, é visível um efeito de flicker na zona restaurada. Alguns
exemplos desse fenómeno podem ser encontrados em [28]. Tal é explicado pelo facto de a máscara
intersetar regiões cujo conteúdo espacial muda no decorrer do vídeo e, consoante a textura e
contornos existentes na região intersectada, a qualidade da zona restaurada varia - as variações de
qualidade, mesmo que impercetíveis quando as tramas são observadas individualmente, são visíveis
na reprodução do vídeo. A Figura 3.10 e a Figura 3.11 apresentam as evoluções temporais do PSNR
e do SSIM resultantes para os métodos de Bertalmio e de Oliveira. Estes resultados confirmam que,
para o inpainting de vídeo, não é suficiente aplicar um inpainting puramente espacial - é necessário
ter em consideração a dimensão temporal.
(a) (b)
Figura 3.10 PSNR do vídeo Soccer utilizando a máscara mask3 e os algoritmos de Bertalmio e Oliveira.
(a) (b)
Figura 3.11 PSNR e SSIM do vídeo Bigships utilizando a máscara mask3 e os algoritmos de Bertalmio e Oliveira.
41
3.4.3. Tempo de processamento
Um outro critério bastante importante na avaliação dos métodos de inpainting é o tempo de
processamento, mesmo que em muitas das aplicações destes métodos não exista o requisito de
execução em tempo real. Entre dois métodos que apresentem qualidades semelhantes nas
imagens/vídeos restaurados, o critério da decisão é o tempo de processamento (ou a complexidade
associada ao método).
Na Tabela 3.8 apresentam-se os tempos de processamento, em segundos por imagem,
para cada um dos métodos em análise e utilizando como máscara de inpainting a mask2. O tempo
indicado corresponde à iteração para a qual a qualidade resultante para as imagens restauradas
atinge uma situação estacionária. Como atrás referido, para o método de Telea utilizou-se uma
função desenvolvida em C++ (OpenCV), com código otimizado; todos os outros métodos foram
implementados nesta dissertação, num ambiente Matlab2015a, com diversos ciclos for sobre as
regiões de inpainting, não otimizados.
Analisando os resultados da Tabela 3.8 pode-se verificar que o método de Oliveira é, dos
métodos implementados, o que apresenta menor tempo de processamento por imagem. Tendo em
conta os resultados obtidos para a qualidade das imagens/vídeos restaurados pode-se concluir que,
dos vários métodos em análise, o método proposto por Oliveira et. al. em [6] é o mais eficaz no
inpainting de texto, e para caracteres de texto com dimensões semelhantes às utilizadas nas
legendas de filmes.
Tabela 3.8 Tempo de processamento de imagens fixas (mask2).
Imagem Tempo de processamento [s/trama]
TV Bertalmio Oliveira Telea
Bigships 350 80 1.5 1.23
Oldtown 300 75 1.3 1.02
Parkjoy 110 77 1.3 1.07
Raven 280 80 1.4 1.24
Snowmontain 300 70 1.1 1.22
Soccer 300 80 1.1 1.28
Station 200 90 1.4 1.05
Sunflower 200 90 1.5 1.09
De modo a avaliar o método de Oliveira numa situação de inpainting com maior densidade
de texto, utilizou-se a máscara representada na Figura 3.12; a Figura 3.13 apresenta a imagem
resultante do inpainting. Como se pode observar, a qualidade final é bastante boa, sobretudo tendo
em conta a densidade do texto utilizado. Este resultado é confirmado de forma objetiva pela Figura
3.13, onde se apresenta a evolução do PSNR e SSIM em função do tempo de processamento. A
42
qualidade final foi atingida em 4 segundos de processamento, com valores de PSNR e SSIM de 32
dB e 0.93, respetivamente.
(a) (b)
Figura 3.12 Processo de inpainting do método de Oliveira utilizando uma máscara que ocupa toda a região da imagem em que (a) é a imagem a ser restaurada e (b) é a imagem restaurada.
(a) (b)
Figura 3.13 Evolução temporal de PSNR (a) e de SSIM (b) utilizando uma máscara que ocupa toda a região da imagem soccer e o método de Oliveira
3.5. Comentários finais
Os métodos de inpainting baseados em difusão estudados nesta dissertação apresentam,
de um modo geral, bons resultados, quando aplicados ao inpainting de texto de imagens fixas (e para
texto com dimensões e espessuras semelhantes às utilizadas nas legendas de filmes). De entre os
métodos estudados, o que apresenta melhores resultados em termos de qualidade versus tempo de
processamento é o método proposto por Oliveira et al. em [6]. Quando os mesmos métodos são
aplicados ao inpainting de vídeo, e seguindo uma abordagem puramente espacial (i.e., cada trama é
43
processada como uma imagem fixa), os resultados não são, de um modo geral, aceitáveis. Embora a
qualidade de cada trama, quando avaliada isoladamente, seja elevada, quando os vídeos
restaurados são reproduzidos à sua frequência real, torna-se visível um efeito de flicker na zona
restaurada. Isto deve-se ao facto de os algoritmos não considerarem a dimensão temporal dos
vídeos. Como solução para este problema propõe-se, no Capítulo 4, a restauração das zonas de
inpainting através de interpolação temporal baseada na estimação/compensação do movimento,
combinada com uma técnica simples de difusão espacial.
44
45
Capítulo 4. Inpainting Temporal de regiões de
texto
4.1. Introdução
O presente capítulo tem como objetivo o estudo e a implementação de um método de
inpainting de regiões de texto em sequências vídeo, baseado em interpolação temporal. Esta forma
de interpolação tem sido proposta e usada nas comunicações de vídeo com diferentes objetivos,
destacando-se o cancelamento de erros no descodificador [29] [30] e/ou o aumento da frequência da
imagem no recetor [31] [32]; o método de inpainting proposto é inspirado nestas estratégias.
Este capítulo encontra-se organizado do seguinte modo: na secção 4.2 apresenta-se o
princípio de funcionamento da interpolação temporal utilizada em técnicas de cancelamento de erros
e de aumento da frequência de vídeo (frame rate up-conversion); na secção 4.3 descreve-se o
algoritmo proposto para o inpainting de texto em vídeo; na secção 4.4 apresentam-se os resultados
obtidos com a aplicação do algoritmo a sequências de vídeo de teste; termina-se, na secção 4.5,
com algumas considerações finais sobre o método implementado.
4.2. Interpolação temporal de vídeo - princípio de
funcionamento
Na transmissão de vídeo através de uma rede IP, poderão ocorrer atrasos e perdas de
pacotes devido ao congestionamento da rede. No entanto, a retransmissão dos pacotes perdidos
nem sempre é possível devido a restrições de funcionamento em tempo real ou de largura de banda;
no descodificador, com o propósito de minimizar o impacto da informação perdida, podem então ser
utilizadas técnicas de cancelamento de erros. Uma das possibilidades de cancelamento de erro é
estimar a informação em falta a partir da informação conhecida nas tramas temporalmente vizinhas,
e fazendo uso de técnicas de interpolação temporal [29] [30]. O princípio de funcionamento destas
técnicas pode ser explicado com base na Figura 4.1: na situação representada nesta figura,
pretende-se recuperar a informação perdida correspondente ao bloco assinalado por "2,2" na trama
2. Admitindo que o campo de vectores de movimento tem uma variação suave entre pixels
espacialmente próximos, o descodificador poderá utilizar os vectores de movimento dos pixels
vizinhos do bloco "2,2" - e.g., os vectores backward (B) obtidos para o bloco "2,1" com base nas
tramas anteriores, e/ou os vectores forward (F) obtidos com base nas tramas seguintes - e utilizar
esses vectores (ou uma combinação desses vectores) como estimativa do movimento dos pixels
perdidos; os pixels em falta são obtidos através de compensação do movimento, utilizando o
movimento estimado e o conteúdo espacial das tramas temporalmente vizinhas.
46
Figura 4.1 Interpolação temporal para o cancelamento de erros.
Uma outra aplicação que recorre a técnicas de interpolação temporal é o aumento da
frequência de imagem [31] [32]. Com efeito, para reduzir o débito binário de transmissão, o
codificador poderá optar por eliminar (de forma regular, ou pontualmente) algumas tramas - no
recetor, as tramas que não foram transmitidas podem ser estimadas com recurso a técnicas de
interpolação temporal, a partir das tramas vizinhas. Esta situação encontra-se representada na
Figura 4.2: a trama 2 não foi transmitida e deve ser interpolada, no recetor, a partir das tramas 1 e 3.
Admitindo que o movimento entre as tramas 1 e 3 é continuo, o campo de vectores de movimento
estimado entre essas tramas pode ser utilizado para recuperar a trama 2 a partir das tramas vizinhas
- se se usar uma técnica de block matching para estimar o movimento, a ideia básica da abordagem
descrita é fazer uma comparação entre blocos da trama (ou tramas) anterior e os blocos da trama
(ou tramas) seguinte e, através dessa comparação determinar a posição em que os blocos
"emparelhados" devem estar na trama que se pretende interpolar.
Figura 4.2 Interpolação temporal da trama 2.
47
4.3. Descrição do algoritmo
4.3.1. Estrutura geral
O método proposto neste capítulo realiza o inpainting da região do vídeo, resultante da
extração de texto, utilizando uma estimativa do movimento da região a restaurar e o conteúdo
espacial das duas tramas temporalmente vizinhas.
O algoritmo começa por determinar, através da máscara de inpainting, a região retangular
com a menor área possível e que contenha todos os pixels da máscara (indicada a vermelho na
Figura 4.3); seja m×n a área resultante para esse retângulo. As regiões imediatamente acima e
abaixo da área retangular são seguidamente divididas em blocos, tal como se representa na Figura
4.3, e onde os blocos resultantes estão assinalados pelos símbolos b1,k (na zona acima do retângulo)
e pelos símbolos b2,k (na zona abaixo do retângulo); a dimensão do bloco é definida pelo utilizador.
No processo de divisão, o primeiro bloco de cada região (blocos b1,1 e b2,1) deverá ficar com a
fronteira direita alinhada com a fronteira esquerda do retângulo; se n for um múltiplo inteiro do
tamanho do bloco, o último bloco de cada região (blocos b1,k e b2,k) será aquele que tem a fronteira
esquerda alinhada com a fronteira direita do retângulo (como representado na Figura 4.3); caso n
não seja múltiplo inteiro do tamanho do bloco, será o bloco imediatamente a seguir.
Uma vez feita a divisão em blocos das regiões vizinhas da máscara de inpainting, efetua-se
a estimativa do movimento backward (B), i.e., utilizando a trama anterior e forward (F), i.e., utilizando
a trama seguinte, para cada bloco, através de uma técnica de block matching (que será detalhada na
secção 4.3.2); retém-se, para cada bloco, o vetor (B ou F) com o melhor valor de similaridade
resultante da estimativa do movimento. Caso se trate de um vetor F, é necessário verificar se aponta
para uma zona da trama seguinte que inclua pixels a restaurar (i.e., se são pixels pertencentes a
legendas); se tal acontecer, utiliza-se o vetor B.
Figura 4.3 Divisão em blocos da vizinhança da zona de inpainting.
48
Uma vez obtidos os vectores de movimento para cada bloco, procede-se ao inpanting dos
pixels da máscara, através da compensação de movimento e utilizando para cada pixel os seis
vectores mais próximos, três do grupo b1,k e três do grupo b2,k (e seguindo uma estratégia proposta
em [29]). Como exemplo, considere-se a situação representada na Figura 4.4 - os seis pixels da
máscara assinalados a laranja são obtidos através das tramas vizinhas e utilizando os vectores v1 a
v6 para a compensação do movimento; os seis pixels resultantes da compensação do movimento
(um por vetor) são então combinados através de uma soma ponderada, sendo o peso de cada termo
dependente da distância do pixel (a restaurar) ao bloco correspondente a cada vetor. Por último,
aplica-se um filtro de difusão sobre a região de inpainting com o propósito de reduzir a visibilidade da
fronteira dessa região.
Figura 4.4 Vectores de movimento, v1 a v6, relevantes para o inpainting dos pixels a laranja.
4.3.2. Estimação do movimento
Como atrás referido, a estimação do movimento dos blocos de cada conjunto b1,k e b2,k é
feita através do algoritmo block matching (BMA), utilizando quer a trama anterior (estimativa
backward) quer a trama seguinte (estimativa forward) e, em ambos os casos, apenas a componente
de luminância. Esta técnica está representada esquematicamente na Figura 4.5 e para o caso da
estimativa backward. Nesta figura, representa-se por N×N a dimensão de cada bloco e por Ri×Rj a
dimensão da área de pesquisa, e que é definida na trama anterior (ou posterior) e em torno da
posição do bloco cujo vetor se pretende estimar. Para encontrar o vetor de movimento para um dado
bloco, esse bloco é comparado com todos os blocos da área de pesquisa, utilizando como medida de
similaridade uma de quatro possibilidades:
erro médio absoluto (MAE - mean absolute error);
índice SSIM;
combinação de MAE com SMD (side match distortion, [29]);
combinação de SSIM com SMD.
49
A diferença entre a posição do bloco para o qual se pretende estimar o movimento (a azul
na Figura 4.5) e a posição do bloco mais semelhante (a vermelho na Figura 4.5), diferença essa
representada por (di, dj) na Figura 4.5, é considerada como o vetor de movimento do bloco em
questão.
Figura 4.5 Princípio de funcionamento do block matching.
O algoritmo BMA implementado permite efetuar a estimação de movimento com a
resolução de 1 pixel ou de 0.5 pixel, de acordo com a opção do utilizador.
A métrica MAE é definida por:
12
1, ( , ) ( , )
blo(i,j) co
MAE i j t t i jd d I i j I i d j dN
. (4.1)
A métrica SMD (side match distortion), proposta em [29], é dada pelo erro médio absoluto
entre os pixels na fonteira interna do bloco de referência (a azul na Figura 4.5) e os pixels na fronteira
externa do bloco candidato. Caso se utiliza a métrica SSIM, a dimensão do bloco não deverá ser
inferior a 11×11 (limite imposto pelo módulo Matlab utilizado). Para permitir a combinação (e
comparação) das métricas individuais, o valor do MAE e do SMD é normalizado ao intervalo [0,1],
sendo 1 a similaridade máxima e 0 a similaridade mínima, entre blocos. Designando por Met a
métrica (MAE ou SMD) não normalizada, o seu valor normalizado é obtido por:
50
1255
normalizada
MetMet . (4.2)
A combinação das métricas MAE ou SSIM (já normalizadas) com o SMD, é realizada de
acordo com:
MAE&SMD
SSIM&SMD
Métrica MAE 1 SMD
Métrica SSIM 1 SMD
, (4.3)
onde µ é um parâmetro de entrada que mede o peso relativo das métricas em combinação.
4.3.3. Inpainting com compensação do movimento
Uma vez obtidos os vetores de movimento para cada bloco na trama a restaurar, efetua-se
o processo de inpainting através da compensação do movimento. Para cada pixel da máscara são
considerados os seis vetores de movimento mais próximos (Figura 4.4). Seja In (i, j) a intensidade
(relativa à componente Y, Cr ou Cb) resultante para o pixel na posição (i, j) da máscara, após a
compensação do movimento feita com o vetor vn; o valor da intensidade a usar no inpainting, I (i, j),
resulta de:
6
1
n n
n
I i, j w i, j I i, j
. (4.4)
Os pesos wn (i, j) refletem a distância entre o pixel na posição (i, j) da máscara e o vetor vn, e são
dados por:
51
1
2
3
4
5
6
1 11,
2 1 1
1 1,
2 1
11,
2 1 1
11,
2 1 1
1,
2 1
1,
2 1 1
n j m iw i j
m n
m iw i j
m
m i jw i j
m n
i n jw i j
m n
iw i j
m
j iw i j
m n
. (4.5)
A dedução das equações (4.5) encontra-se no Anexo A. De notar que nestas equações, os índices i
e j são relativos ao retângulo que contem a máscara (representado a vermelho na Figura 4.3), i.e., o
pixel no canto superior esquerdo deste retângulo tem coordenadas (i, j) = (1,1).
Após o inpainting de todos os pixels da máscara, e de modo a reduzir a visibilidade da
fronteira da região restaurada, são aplicados alguns ciclos de difusão espacial anisotrópica (método
descrito na secção 2.2.2).
4.3.4. Definição dos parâmetros
O algoritmo desenvolvido aceita, como entrada, um vídeo no formato RGB e uma máscara
que define a região de texto a restaurar, e permite escolher valores para o seguinte conjunto de
parâmetros:
a dimensão do bloco a ser usado, Bsize = N;
a dimensão da janela de pesquisa, Wsize = Ri/2 = Rj/2;
a métrica que se pretende utilizar na estimação do movimento: SSIM, MAE,
SMD+SSIM ou SMD+MAE;
o valor do peso µ a usar nas métricas combinadas: um valor entre 0 e 1;
a resolução com que os vectores de movimento são estimados, upScale = 1 (1 pixel)
ou 2 (0.5 pixel);
a indicação do uso do filtro de difusão, useFilter;
caso se use o filtro de difusão, o numero de iterações do filtro, Niter.
52
4.4. Resultados
Nesta secção apresentam-se e analisam-se os resultados obtidos com o método atrás
descrito. Nestes resultados utilizaram-se, como vídeos de teste, os referidos no Capítulo 3. A
máscara correspondente à região de texto foi aplicada a todas as tramas de cada vídeo, excetuando
a primeira trama, para a qual se usa a trama original. A análise dos resultados é feita quer em termos
da qualidade resultante para as regiões restauradas, utilizando as métricas PSNR e SSIM, quer em
termos do tempo de processamento associado. Para o cálculo do PSNR usaram-se apenas os pixels
restaurados; para o cálculo do SSIM usaram-se todos os pixels contidos na região retangular que
delimita a máscara.
4.4.1. Qualidade dos vídeos restaurados
A Tabela 4.1 apresenta os valores de SSIM entre o vídeo original e o vídeo resultante do
processo de inpainting, para as quatro métricas de qualidade na estimativa do movimento referidas
anteriormente; os valores de SSIM correspondem à média dos SSIM obtidos para cada trama do
vídeo. Nestes resultados não foi utilizado o filtro de difusão e a estimativa do movimento foi feita com
resolução de 1 pixel. O tamanho da janela de pesquisa, Wsize, foi escolhido de acordo com a atividade
temporal da sequência, e de forma a minimizar o tempo das simulações. Para os restantes
parâmetros usou-se:
tamanho dos blocos: Bsize = 16;
peso na combinação das métricas: µ = 0.2.
Tabela 4.1 Resultados para o SSIM da região da máscara, para as 4 medidas de qualidade na estimativa do movimento, sem aplicação do filtro de difusão e com resolução de 1 pixel na estimativa do movimento
Vídeos Wsize Medidas de Qualidade
SSIM MAE SSIM + SMD MAE + SMD
Bigships 5 0.722 0.636 0.734 0.653
Parkjoy 40 0.843 0.623 0.851 0.674
Raven 10 0.899 0.803 0.893 0.795
Snowmontain 5 0.684 0.752 0.702 0.578
Soccer 40 0.831 0.675 0.834 0.728
Station 10 0.853 0.800 0.857 0.759
Sunflower 10 0.971 0.956 0.953 0.865
53
Com base na Tabela 4.1 verifica-se que a métrica SSIM apresenta, de um modo geral, os
melhores resultados, sobretudo quando combinada com a métrica SMD. De modo a analisar o
impacto do filtro de difusão no processo de inpainting, repetiu-se a simulação para a métrica
SSIM+SMD, e utilizando os mesmos parâmetros. Os resultados obtidos através da aplicação do filtro
de difusão, e para 50 iterações de difusão, encontram-se na Tabela 4.2. Esta tabela permite
constatar, de forma objetiva, uma melhoria na qualidade dos vídeos, tendo esta melhoria sido mais
significativa nas sequências Bigships e Snowmountain. Estas sequências são particularmente difíceis
pois apresentam mudanças de cenas implementadas através de dissolves, e como tal os vetores
estimados na janela temporal em que ocorre o dissolve não correspondem ao movimento real do
vídeo. Em consequência, o inpainting puramente temporal produz maus resultados, como se pode
verificar na Figura 4.6, sendo no entanto atenuados com a utilização do filtro.
Tabela 4.2 Resultados para o SSIM da região da máscara, usando a métrica SSIM+SMD na estimativa do movimento e aplicando filtro de difusão.
Vídeo Wsize SSIM+SMD
Niter=0 Niter=50
Bigships 5 0.734 0.790
Parkjoy 40 0.851 0.855
Raven 10 0.893 0.899
Snowmontain 5 0.702 0.792
Soccer 40 0.834 0.839
Station 10 0.857 0.887
Sunflower 10 0.953 0.961
Ainda assim, o processo de interpolação temporal consegue eliminar a distorção provocada pelo
dissolve, decorridas algumas tramas, como se pode verificar na Figura 4.7.
De referir que foram também realizadas simulações com uma resolução de 0.5 pixel na
estimativa do movimento, e mantendo o filtro de difusão (com 50 iterações de difusão); no entanto,
os resultados obtidos não se traduziram em variações, com significado, nos resultados (quer
visualmente, quer em termos do valor SSIM resultante) sendo o tempo de execução bastante mais
elevado.
54
(a) (b) (c)
(d)
(e)
Figura 4.6 Resultado do inpainting temporal do vídeo bigships na fase do dissolve: (a) trama do vídeo com máscara no inicio do dissolve; (b) trama do vídeo durante o dissolve; (c) trama do vídeo no fim do dissolve; (d) corte da região de inpainting da trama do vídeo com máscara; (e) corte da região de inpainting da trama do vídeo restaurado utilizando o inpainting temporal.
Nas Figuras 4.8 a 4.10 apresentam-se mais alguns resultados que permitem avaliar de
forma subjetiva o método proposto, quando aplicado aos vídeos Station, Soccer e Sunflower. No
caso destes vídeos, a qualidade resultante é de um modo geral muito próxima da original. As
sequências Station e Sunflower têm pouco movimento, não têm mudanças de cena e contêm
bastante textura, o que permite uma boa estimativa do movimento e bons resultados na interpolação
temporal; a sequência Soccer contém movimento rápido dos objetos e da câmara, mas a região de
inpainting interseta regiões de muita textura, o que permite também neste caso uma boa estimativa
do movimento; por outro lado, a combinação do movimento rápido com o fundo texturado permite
mascarar alguns artefactos resultantes do inpainting.
55
(a)
(b)
(c)
Figura 4.7 Resultado de inpainting do vídeo Bigships depois do dissolve: (a) trama com máscara; (b) corte da região de inpainting; (c) resultado do inpainting de (b).
Nas Figuras 4.11 e 4.12 apresenta-se a evolução ao longo da sequência de vídeo do PSNR
e do SSIM para as sequência Sunflower e Bigships, respetivamente. No caso da sequência
Sunflower, apesar das fortes variações dos resultados, a qualidade percetiva é sempre excelente e
indistinguível da original. Para a sequência Bigships, os valores de PSNR e SSIM confirmam a menor
qualidade subjetiva obtida na restauração desta sequência; ainda assim, para alguns intervalos de
tempo, a qualidade resultante é muito próxima da original.
Os resultados obtidos permitem concluir que, de um modo geral, o algoritmo proposto
apresenta bons resultados quando aplicado a sequências sem mudanças de cena, não existindo o
efeito de flicker que surge numa abordagem de inpainting puramente espacial. Os melhores
resultados, quer objetivos quer subjetivos, foram obtidos para as sequências Raven, Station e
Sunflower. Estas sequências têm bastante atividade espacial e são constituídas por um único
segmento de vídeo (i.e., não contêm mudanças de cena), resultando em boas estimativas dos
vetores de movimento e numa boa qualidade da interpolação temporal. Os piores resultados foram
obtidos para as sequências Bigships e Snowmontain, sendo as regiões de texto visíveis em algumas
das tramas restauradas (Figura 4.6). Como já referido, estas sequências são particularmente difíceis,
já que contêm dissolves e movimento rápido da câmara.
Todos os vídeos restaurados podem ser visualizados a partir de [28].
56
(a) (b)
(c)
(d)
(e)
(f)
Figura 4.8 Resultados de inpainting do vídeo Station: (a) trama do vídeo original; (b) trama com máscara; (c) corte da região de inpainting; (d) corte do original; (e) resultado de inpainting utilizando a técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira).
57
(a) (b)
(c)
(d)
(e)
(f)
Figura 4.9 Resultados de inpainting do vídeo Soccer: (a) trama do vídeo original; (b) trama com máscara; (c) corte da região de inpainting; (d) corte do original (e) resultado do inpainting utilizando a técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira).
58
(a) (b)
(c)
(d)
(e)
(f)
Figura 4.10 Resultados de inpainting do vídeo Sunflower: (a) trama do vídeo original; (b) trama com máscara; (c) corte da região de inpainting; (d) corte do original (e) resultado do inpainting utilizando a técnica temporal; (f) resultado do inpainting utilizando a técnica espacial (método de Oliveira).
59
(a) (b)
Figura 4.11 PSNR (a) e SSIM (b) para o vídeo Sunflower utilizando a mask3.
(a) (b)
Figura 4.12 PSNR (a) e SSIM (b) para o vídeo Bigships utilizando a mask3.
Uma vez que a dimensão das legendas pode variar consoante o filme, foram também feitas
simulações utilizando a máscara apresentada na Figura 4.14, constituída por caracteres maiores do
que os da mask3; ainda neste caso, as sequências Raven, Station e Sunflower restauradas
continuam a apresentar boa qualidade, como mostra a Figura 4.13. Na Figura 4.15 apresenta-se a
evolução temporal do PSNR e SSIM resultante para a sequência Sunflower.
60
(a) (b)
(c)
(d)
Figura 4.13 Resultado de inpainting temporal do vídeo Sunflower utilizando a mask4: (a) trama da sequência original; (b) trama (a) com máscara; (c) corte de (b) na região de inpainting; (d) resultado de inpainting na região de corte.
Figura 4.14 Segunda máscara utilizada no inpainting temporal (mask4).
61
(a) (b)
Figura 4.15 PSNR (a) e SSIM (b) para o vídeo Sunflower utilizando a mask4.
4.4.2. Tempo de processamento
Nesta secção avalia-se o tempo de processamento associado ao método proposto. O
procedimento com maior com maior impacto neste tempo é a estimação do movimento, que por sua
vez é condicionado: pelo número de vectores de movimento a estimar (e que depende do tamanho
da máscara); pelo tamanho do bloco, Bsize; pelo tamanho da janela de pesquisa, Wsize; pela métrica
utilizada na estimativa dos vectores de movimento; e pela resolução usada nos vectores de
movimento (1 pixel ou 0.5 pixel); o procedimento de inpainting depende do tamanho da máscara e do
número de iterações de difusão anisotrópica.
O computador utilizado para executar as simulações usa um processador Intel Core i7-4770
@ 3.4GHz, e 16 GB de RAM. A Tabela 4.3 apresenta os resultados dos tempos de processamento
obtidos na estimação de movimento por trama para vários valores de Bsize, Wsize e métrica usada na
estimativa do movimento. A resolução espacial do vídeo de entrada é de 720×480 pixels e a da
região de inpainting é de 114 ×12 pixels (mask3). A resolução utilizada para os vectores de
movimento foi de 1 pixel.
Para Bsize = 16×16 existem 20 blocos para a estimativa do de movimento, enquanto para
Bsize = 32×32 existem 12 blocos. Seria de esperar que para a métrica ‘SSIM+SMD’ e ‘MAE+SMD’ o
tempo de processamento fosse mais elevado, mas o que acontece é que as duas métricas fazem
menos comparações que a métrica ‘SSIM’ e ‘MAE’, respetivamente; o número de comparações
diminui de (2 Wsize – 1)2 para (2 Wsize – 3)2 devido à forma como foi implementado o ‘SMD’. Na
estimativa do movimento utilizou-se pesquisa exaustiva, i.e., testaram-se todos os vectores
permitidos pela dimensão da janela de pesquisa; o tempo de processamento pode ser
substancialmente reduzido utilizando uma técnica de pesquisa sub-óptima.
62
Tabela 4.3. Tempos obtidos na estimação de movimento por trama para vários valores de Bsize, Wsize e métricas
de similaridade usadas na estimação de movimento.
Bsize Wsize
Tempo [s/trama]
SSIM MAE SSIM +
SMD
MAE +
SMD
16
10 4.2 1.5 3.6 1.4
20 15.7 5.3 14.8 5.3
30 34.7 11.9 34.4 12.1
40 61.0 21.0 59.7 21.2
32
10 3.5 3.4 3.0 2.9
20 12.7 12.1 12.1 11.2
30 27.5 27.3 27.3 25.7
40 48.3 46.1 50.5 46.7
Por último foi analisado o impacto do número de iterações do filtro de difusão, cujos
resultados se encontram na Tabela 4.4. O filtro é apenas aplicado nos pixels da máscara que
constituem a legenda, 918 pixels no caso da máscara mask3. Para obter o tempo total de simulação,
basta somar o tempo da estimação do movimento com o tempo do filtro.
Tabela 4.4. Tempos de execução do filtro de difusão por trama para vários valores de Niter, para um total de 918
pixels da máscara.
Niter Tempo [s/trama]
50 0.30
100 0.59
150 0.89
200 1.20
4.5. Comentários finais
O método de inpainting baseado em interpolação temporal apresenta, de um modo geral,
bons resultados, desde que aplicado a pequenas regiões de inpainting e a segmentos de vídeo que
não contenham mudanças de cena; em particular, resolve a questão do flicker temporal apresentado
pelos métodos de inpainting puramente espaciais estudados no Capítulo 3. Avaliaram-se quatro
medidas de similaridade na estimativa dos vectores de movimento - a combinação entre SSIM e
SMD foi a que apresentou melhores resultados para a maioria dos vídeos utilizados. Para melhorar a
63
qualidade do vídeo restaurado com base na compensação do movimento, reduzindo-se
nomeadamente a visibilidade da fronteira da região de inpainting, aplica-se difusão anisotrópica
espacial à região de inpainting de cada trama.
Nos resultados apresentados neste capítulo, a máscara de inpainting foi inserida em todas
as tramas, excetuando a primeira, das sequências de teste. Quando durante a sequência de vídeo
ocorre uma mudança de cena, o conteúdo espacial do vídeo muda (suave ou abruptamente)
reduzindo a informação útil para a estimação do movimento e para interpolação da zona de
inpainting, e conduzindo a uma diminuição na qualidade do vídeo restaurado. Este facto é bem
visível na sequência Bigships. Espera-se pois que os resultados possam ser melhorados se o
algoritmo proposto for complementado com uma técnica de deteção de mudança de segmentos de
vídeo, e com um dos métodos de inpainting espacial estudados no Capítulo 3 (e.g., o método de
Oliveira) – deste modo, a técnica de inpainting passará a ser um método híbrido espácio-temporal
(como proposto em [19]) sendo os pesos da componente de inpainting temporal e da componente de
inpainting espacial para cada trama dependentes da existência (ou não) de uma mudança de cena
nessa trama. Outro aspeto que pode ser explorado na determinação dos pesos associados às
componentes de inpainting temporal e espacial é a confiança que se tem nos vectores de movimento
estimados (por exemplo, utilizando o valor do gradiente espacial médio de cada bloco e o valor da
medida de similaridade na estimativa do movimento) – quanto maior a confiança no vetor, mais peso
poderá ser dado à componente temporal.
64
65
Capítulo 5. Conclusões
O principal objetivo desta dissertação foi estudar e avaliar um conjunto de técnicas para o
inpainting de texto em imagens fixas e vídeo. A revisão bibliográfica efetuada no Capítulo 2 indiciou
que as técnicas baseadas em difusão seriam as mais adequadas para a aplicação em vista. Como
tal, no Capítulo 3 implementaram-se e analisaram-se quatro estratégias de inpainting baseadas no
princípio de difusão: método de Bertalmio [1], método TV [4] , método de Oliveira [6] e método de
Telea [5] (para este último caso utilizou-se uma implementação existente no OpenCV). Os quatro
métodos foram aplicados a imagens fixas e sequências vídeo; no caso do vídeo, utilizou-se uma
abordagem puramente espacial, i.e., o inpainting foi aplicado a cada trama como se de uma imagem
fixa se tratasse. Os quatro métodos foram comparados quer em termos da qualidade resultante para
a imagem/vídeo restaurados, quer em termos de tempo de processamento associado. Qualquer um
dos métodos produziu bons resultados, quando aplicado ao inpainting de texto de imagens fixas (e
para texto com dimensões e espessuras semelhantes às utilizadas nas legendas de filmes). De entre
os métodos estudados, o que apresentou os melhores resultados em termos de qualidade versus
tempo de processamento foi o método proposto por Oliveira et al. em [6]. Quando os mesmos
métodos são aplicados ao inpainting de vídeo, os resultados não são, de um modo geral, aceitáveis.
Embora a qualidade de cada trama, quando avaliada isoladamente, seja elevada, quando os vídeos
restaurados são reproduzidos à sua frequência real, torna-se visível um efeito de flicker na zona
restaurada. Isto deve-se ao facto de os algoritmos não considerarem a dimensão temporal dos
vídeos.
Na tentativa de minimizar o efeito de flicker resultante do inpainting de vídeo puramente
espacial propôs-se, no Capítulo 4, a restauração das zonas de inpainting através de interpolação
temporal; neste método, as regiões do vídeo resultantes da extração do texto são restauradas
através da estimação/compensação do movimento, combinada com uma técnica simples de difusão
espacial. Na estimação de movimento, baseada no algoritmo block matching (BMA), foram avaliadas
quatro medidas de similaridade, tendo a medida “SSIM+SMD” sido aquela cujos vectores conduziram
à melhor qualidade de inpainting. Quando a região a ser restaurada é pequena (e.g., quando se usa
a mask3) o algoritmo apresenta bons resultados para a maioria dos vídeos de teste. A sequência que
apresenta piores resultados é a Bigships, onde é possível visualizar com facilidade a ocorrência de
artefactos na zona de inpainting. Para os vídeos sem mudanças de cena e com bastante atividade
espacial, a qualidade resultante é próxima da original.
Como trabalho futuro sugere-se complementar o método proposto com uma técnica de
deteção de mudanças de cena [33], e com um dos métodos de inpainting espacial estudados no
Capítulo 3 (e.g., o método de Oliveira) – deste modo, a técnica de inpainting passará a ser um
método híbrido espácio-temporal (e à semelhança do método proposto em [19]), sendo os pesos da
componente de inpainting temporal e da componente de inpainting espacial para cada trama
66
dependentes da existência (ou não) de uma mudança de cena nessa trama. Outro aspeto que pode
ser explorado na determinação dos pesos associados às componentes de inpainting temporal e
espacial é a confiança que se tem nos vectores de movimento estimados (por exemplo, utilizando o
valor do gradiente espacial médio de cada bloco e o valor da medida de similaridade na estimativa do
movimento) – quanto maior a confiança no vetor, mais peso deverá ser dado à componente
temporal.
67
ANEXOS
68
69
Anexo A. Cálculo dos pesos dos blocos
Neste anexo descreve-se o cálculo dos pesos dos seis blocos utilizados no inpainting
baseado em interpolação temporal, e tendo como base a interpolação linear de dois pontos.
A.1. Interpolação Linear
Figura A. 1 Esquema de interpolação linear entre dois pontos.
Conhecendo dois pontos 1p e
2p , então um terceiro ponto xp (Figura A. 1) calculado
através da interpolação linear é dado pela equação
1 2 2 1 2 1
1 2
1 2 1 2 1 2
x
p d p d d dp p p
d d d d d d
, (A.1)
ou
1 1 2 2xp w p w p , (A.2)
em que 2
1
1 2
dw
d d
, 1
2
1 2
dw
d d
e
1 2 1w w , sendo 1d a distância entre os pontos
1p e xp e
2d a
distância entre 2p e
xp .
70
A.2. Interpolação Bilinear
Figura A. 2 Esquema de interpolação bilinear entre 4 pontos.
Analogamente à interpolação linear, pretende-se calcular o ponto xp , mas agora em
relação a 4 pontos conhecidos (Figura A. 2).
O primeiro passo no cálculo de xp é determinar os pontos intermédios, a e b, através da
interpolação linear:
1 2 2 1
1 2 1 2
2 31 4
1 2 1 2
d p d pa
d d d d
d pd pb
d d d d
. (A.3)
Com os pontos intermédios determinados, o ponto xp é dado por:
2 1
1 2 1 2
x
l lp a b
l l l l
. (A.4)
A.3. Pesos dos blocos
Para calcular os pesos dos blocos utilizamos a interpolação, mas agora para seis pontos
como mostra a Figura A. 3.
71
Figura A. 3 Esquema de interpolação de um pixel.
O pixel, ,p i j , é dado por:
6
1
, k k
k
p i j w p
, (A.5)
onde kp é o valor do pixel na posição ,i j obtido com o vetor
kv , e kw é o peso do vetor
kv na
posição ,i j .
Para determinar os pesos kw recorre-se aos vetores
av e bv (Figura A. 3):
1 4
1 4
3 6
3 6
1 1
1 1 1
1 1
1 1 1
a
b
n i v i v n i iv v v
n i i n n
n i v i v n i iv v v
n i i n n
(A.6)
Para a posição ,i j , a estimativa a partir de av e
bv é:
1 4 3 6
1 1 2 2 3 3 4 4 5 5 6 6
1
1
1 1 1 1
1 1 1 1 1 1 1 1
a bv m j j v
m j j
m j n i m j i j n i i jv v v v
m n m n m n m n
w v w v w v w v w v w v
(A.7)
onde
72
1
3
4
6
1 1
1 1
1
1 1
1
1 1
1 1
m j n iw
m n
j n iw
m n
i n iw
m n
i jw
m n
. (A.8)
Para confirmar os valores calculados, calcula-se o somatório de kw , e o resultado dever
ser igual a 1:
6
1
1k
k
w
.
1 1 1 1
1 1
1 1 1
1 1
1 1 1
1 1
1
1
1
1
1.
m j n i j n i i m j i j
m n
m j n i i j n i i
m n
m j n j n
m n
m j j
m
m
m
Utilizando os vetores 2v e
5v , a estimativa do pixel no ponto ,i j é dado por:
5 2 5
2 2 2 5 5
1 1
1 1 1
i v n i v i vn iv w v w v
i n i n n
, (A.9)
onde
73
2
5
1
1
1
n iw
n
iw
n
(A.10)
Mais uma vez tem-se 2 5 1w w . Utilizando os seis vetores, os pesos de cada vetor têm
de ser multiplicados por 1 2 (para que a soma seja 1), i.e.,
1
2
3
4
5
6
1 11
2 1 1
11
2 1
11
2 1 1
11
2 1 1
1
2 1
1
2 1 1
m j n iw
m n
n iw
n
j n iw
m n
i m jw
m n
iw
n
i jw
m n
. (A.11)
74
75
Referências
[
1]
M. Bertalmio, G. Sapiro, V. Caselles e C. Ballester, “Image Inpainting,” em 27th Conf.
on Computer Graphics and Interactive Techniques, Nova Iorque, EUA, 2000.
[
2]
Projecto "MOG-QC on the Go", Ref. SIIDT/2013/034075, financiado pelo Fundo
Europeu para o Desenvolvimento Regional - QREN/Compete, Lisboa, Portugal, Julho de 2014 a
Junho de 2015.
[
3]
L. Carreira e M. P. Queluz, “Automatic Letter/Pillarbox Detection for Optimized Display
on Digital TV,” em Proc. International Conf. on Signal Processing and Multimedia Applications
(SIGMAP), Viena, Áustria, 2014.
[
4]
T. Chan e J. Shen, “Mathematical models for Local Deterministic Inpainting,” Siam
Journal on Applied Mathematics, pp. 1-11, Março 2000.
[
5]
A. Telea, “An image inpainting based on the fast marching method,” Journal of
Graphics Tools, vol. 9, nº 1, pp. 25-36, Janeiro 2004.
[
6]
M. Oliveira, B. Bowen, R. McKenna e Y.-S. Chang, “Fast Digital Image Inpainting,” em
International Conference on Visualization, Imaging and Image Processing (VIIP 2001), Marbella,
Espanha, 2001.
[
7]
C. Guillemot e O. Le Meur, “Image Inpainting,” IEEE Signal Processing Magazine, vol.
31, nº 1, pp. 127-144, Janeiro 2014.
[
8]
A. A. Efros e T. K. Leung, “Texture synthesis by non-parametric sampling,” em IEEE
International Conference Computer Vision, Corfu, Grécia, Setembro, 1999.
[
9]
A. Criminisi, P. Perez e K. Toyama, “Region filling and object removal by exemplar-
based inpainting,” IEEE Transactions on Image Processing, vol. 13, nº 9, pp. 1200-1212,
Setembro 2004.
[
10]
S. Roth e M. J. Black, “Fields of Experts,” International Journal of Computer Vision, vol.
82, nº 2, pp. 205-229, Abril 2009.
[
11]
R. C. Gonzalez e R. E. Woods, Digital Image Processing, Nova Jérsia, EUA: Upper
Saddle River, 2001.
[
12]
L. C. Evans, Partial Differential Equations. Graduate Studies in Mathematics, Califórnia,
EUA: AMS, Providence, 2010.
[ P. Perona e J. Malik, “Scale-space and edge detection using anisotropic diffusion,”
76
13] IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 12, nº 7, pp. 629-639,
Julho 1990.
[
14]
S. Masnou e J. M. Morel, “Level-Lines Based Disocclusion,” em International
Conference on Image Processing, Chicago, EUA, 1998.
[
15]
F. Benzarti e H. Amiri, “Repairing and Inpainting Damaged Images using Diffusion
Tensor,” International Journal of Computer Science Issues (IJCSI), vol. 9, nº 4, p. 150, Julho
2012.
[
16]
G. H. Chen, “Text Inpainting and Its Application in Videos CAPTCHA Text Removal,”
Rochester Institute of Technology, Rochester, EUA, 2013.
[
17]
M. Khodadadi e A. Behrad, “Text Localization, Extraction and Inpainting in Color
Images,” em 20th Iranian Conference on Electrical Engineering (ICEE2012), Teerão, Irão, Maio
2012.
[
18]
M. Bertalmio, L. Vese, G. Sapiro e S. Osher, “Simultaneous Struture and Texture Image
inpainting,” IEEE Computer Society Conference on Computer Vision and Pattern Recognition,
vol. 2, pp. 707-712, Junho 2003.
[
19]
C. W. Lee, K. Jung e H. J. Kim, “Automatic text detection and removal in video
sequences,” Journal Pattern Recognition Letters, vol. 24, nº 15, pp. 2607 - 2623, Novembro
2003.
[
20]
“Wikipedia,” Wikimedia Foundation, Inc., 02 09 2015. [Online]. Available:
https://en.wikipedia.org/wiki/Support_vector_machine. [Acedido em 30 09 2015].
[
21]
A. Koochari e M. Soryani, “Exemplar-based video inpainting with large patches,”
Journal of Zhejiang University-SCIENCE C (Computers & Electronics), vol. 11, nº 4, pp. 270-277,
Abril 2010.
[
22]
F. Bornemann e T. Marz, “Fast image inpainting based on coherence transport,”
Journal of Mathematical Imaging and Vision, vol. 28, nº 3, pp. 259-278, Julho 2007.
[
23]
T. F. Chan, J. Shen e L. Vese, “Variational pde models in image processing,” Notice of
American Mathematical Society, vol. 50, nº 1, pp. 14-26, Janeiro 2003.
[
24]
“Intituto de Telecomunicações,” [Online]. Available:
http://amalia.img.lx.it.pt/~tgsb/H264_test/.
[
25]
L. M. Roque, “Quality evaluation of coded video,” Lisboa, Portugal, 2009.
[
26]
Z. Wang, A. Bovik, H. Sheik e E. Simincelli, “Image Quality Assessment: From error
Visibility to Structural Simlilarity,” IEEE Transactions on Image Processing, vol. 13, nº 4, pp. 600-
77
612, Abril 2004.
[
27]
R. Gupta, D. Bansal e C. Singh, “A Survey on various objective Image Quality
Assessment Techniques,” International Journal of Engineering and Technical Research (IJETR),
vol. 2, nº 7, pp. 72-74, Julho 2014.
[
28]
A. Rosa, “Dropbox,” 03 10 2015. [Online]. Available:
https://www.dropbox.com/sh/is0wcny4bapg38t/AAB2gSv1NbZkNDSTslYcmh4Ua?dl=0.
[
29]
S. Tsekeridou, F. A. Cheikh, M. Gabbouj e I. Pitas, “Application of vector rational
interpolation to erroneous motion field estimation for error concealment,” IEEE Transactions on
Multimedia, vol. 6, nº 6, pp. 876-885, Dezembro 2004.
[
30]
S. Tsekeridou, F. A. Cheikh, M. Gabbouj e I. Pitast, “Motion Field Stimation by
Combined Vector Rational and Bilinear Interpolation for MPEG-2 Error Concealment,” em 10th
European Conference of Signal Processing, Tampere, Finlândia, 2000.
[
31]
B.-D. Choi e C.-S. Kim, “Motion-Compensated Frame Interpolation using Bilateral
Motion Estimation and Adaptive Overlapped Block Motion Compensation,” IEEE Transactions on
Circuits and Systems for Video Technology, vol. 17, nº 4, pp. 407-416, Abril 2007.
[
32]
J.-H. Kim, Y.-H. Ko, H.-S. Kang, S.-W. Lee e J. W. Kwon, “Frame Rate Up-Conversion
Method Based on Texture Adaptive Bilateral Motion Estimation,” em IEEE International
Conference on Consumer Electronics (ICCE), Las Vegas, EUA, Janeiro 2014.
[
33]
R. Almeida, “Deteção Automática de Descontinuidade Temporais em Sequências de
Video Digital,” Lisboa, Outubro 2015.