Upload
ngodang
View
214
Download
0
Embed Size (px)
Citation preview
Montagem automática de painéis de azulejos
.
João Tiago Fonseca
Dissertação para a obtenção do grau de Mestre em
Engenharia Electrotécnica e de Computadores
JúriPresidente: Professor Doutor Nuno HortaOrientador: Professor Doutor João Paulo CosteiraCo-Orientador: Doutor Nuno Pinho da SilvaVogal: Professor Doutor Carlos Gomes Bispo
Dezembro 2012
Agradecimentos
Ao Instituto de Sistemas e Robótica (ISR/Lisboa), pelo financiamento desta dissertação.
Ao meu orientador, Professor Doutor João Paulo Costeira, a quem apenas consigo apontar aspec-
tos positivos. Pela sua permanente disponibilidade, por todo o conhecimento transmitido, dedicação
e orientação, sem a qual a realização deste trabalho não teria sido possível.
Os meus co-orientadores, Professor Doutor Gustavo Carneiro e em especial Doutor Nuno Pinho
da Silva, por todo o empenho, críticas e conselhos dados ao longo deste trabalho. Gostaria ainda de
agradecer ao Professor Doutor João Xavier, pela sua contribuição.
Aos meus pais, avós e aos restantes familiares pela sua infinita paciência e pelo seu apoio incon-
dicional e constante em todos os momentos da minha vida.
À minha namorada Rita Magalhães por todo o apoio, compreensão e optimismo sem a qual todo
o trabalho teria sido mais difícil senão mesmo impossível.
Quero ainda agradecer a todos os meus colegas que me têm acompanhado ao longo destes anos
e que se mostraram sempre disponíveis para ajudar, nomeadamente, André Martins, Daniel Santos,
João Halm, João Oliveira, João Paiva, Mário Almeida, Miguel Alexandre, Nuno Fonte, Pedro Santos,
Ricardo Martins, Roberto Tomé, Vasco Nascimento e Vítor Gomes.
A todos o meu muito obrigado.
iii
Abstract
The main goal of this work is to assemble Portuguese tile panels, from the individual tile images
and no other information. Using the color of the tile images as a feature, multiple compatibility functi-
ons were tested: Euclidean distance, l-½ norm, (Lp)q norm (with p and q rational), Pomeranz predic-
tion based distance, Mahalanobis Gradient distance and a distance function learned via KLFDA. After
that, the Portuguese tile was assembled in two different ways: firstly knowing the final orientation of
each tile and secondly without any kind of information.
For the first problem two different assembly methods were proposed: one approaching the problem
via an Augmented Lagrange Method and one using a greedy approach based on a modified Nearest
Neighbor rule. For the second problem, only the second approach proved to be useful.
Two different image databases were used, a 20 natural images database and a 12 Portuguese tile
database.
The greedy method solved both settings with performance comparable to the state-of-the-art;
surpassing it in the most challenging case, where the orientations of the pieces is unknown. In
particular, the proposed system accurately reconstructs 92.63% of the natural image puzzles and
35.91% of the Portuguese tiles panels.
It was also developed a specific software for image capturing and assembly testing platform.
Keywords
Portuguese Tile, Jigsaw Puzzles, Generalized Quadratic Assignment Problem, Nearest Neighbor
v
Resumo
O objectivo desta dissertação consiste em montar de forma automática um painel de azulejos
através de imagens individuais dos seus azulejos constituintes. Utilizando a cor das imagens como
feature, foram testadas várias funções de distância: distância Euclidiana, norma l-½ norma (Lp)q
(com p e q racionais), predição de Pomeranz, distância de Mahalanobis entre os gradientes dos
valores dos pixeis e função aprendida através de KLFDA. Seguidamente os painéis foram monta-
dos de dois modos diferentes: sabendo a orientação final de cada azulejo e sem qualquer tipo de
informação.
Para a montagem de um painel quando a orientação dos azulejos é conhecida foram propostos
dois métodos de montagem: abordando o problema como um GQAP e outro aplicando um algoritmo
greedy. Para a montagem de um painel quando a orientação dos azulejos é desconhecida foi apenas
proposto o método de montagem através de um algoritmo greedy.
Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens
naturais e outra composta por 12 porções de painéis de azulejos.
O método greedy conseguiu resolver ambos os problemas com um desempenho próximo do
actual estado de arte e obteve ainda resultados melhores no caso mais complexo, onde a orientação
de cada azulejo é desconhecida. Em particular, o sistema proposto conseguiu reconstruir 92.63% de
cada puzzle de imagens naturais e 35.91% de cada painel de azulejos.
Foram ainda desenvolvidas duas aplicações, uma com o intuito de facilitar a tarefa de capturar
as imagens dos azulejos e outra de servir de plataforma de testes para a montagem dos painéis de
azulejos.
Palavras-Chave
Painéis de Azulejos, puzzles, Problema de Atribuição Quadrático Generalizado, regra do Vizinho
mais próximo
vii
Conteúdo
1 Introdução 1
1.1 Apresentação do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Estrutura da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Formulação do problema 7
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Distância entre margens de azulejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Montagem de um painel com orientação dos azulejos conhecida . . . . . . . . . . . . . 9
2.4 Montagem de um painel com orientação dos azulejos desconhecida . . . . . . . . . . . 12
3 Solução proposta 13
3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Distância entre margens de azulejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Montagem de um painel com orientação dos azulejos conhecida - abordagem GQAP . 23
3.4 Montagem de um painel com orientação dos azulejos conhecida - abordagem Greedy . 27
3.5 Montagem de um painel com orientação dos azulejos desconhecida . . . . . . . . . . . 27
4 Análise Experimental 31
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Estudo das funções de distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Estudo da montagem de um painel com orientação dos azulejos conhecida . . . . . . . 37
4.4 Estudo da montagem de um painel com orientação dos azulejos desconhecida . . . . . 45
5 Aplicações desenvolvidas 51
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2 Aplicação de captura de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Plataforma de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 Conclusões e trabalho futuro 57
6.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ix
Bibliografia 63
Apêndice A Apêndices A-1
A.1 Base de dados de imagens de Cho et al. . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2 Base de dados de azulejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
A.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
x
Lista de Figuras
1.1 Tradicional método de montagem de um painel de azulejos . . . . . . . . . . . . . . . . 2
1.2 Apresentação do painel exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Algumas das dificuldades de trabalhar com azulejos . . . . . . . . . . . . . . . . . . . . 8
2.2 Formulação do problema como um Assignment Problem . . . . . . . . . . . . . . . . . . 9
2.3 Tipos de ligações presentes num painel de azulejos. . . . . . . . . . . . . . . . . . . . . 10
2.4 Matrizes de regras horizontais e verticais . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Identificação das posições dos azulejos num painel . . . . . . . . . . . . . . . . . . . . 14
3.2 Diagrama do métod de montagem de um painel de azulejos proposto . . . . . . . . . . 15
3.3 Espaço de cores RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Espaço de cores HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Espaço de cores CIELAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 Distância Euclidiana no espaço de cores RGB - exemplo de um painel 2x2 azulejos
formado a partir do painel Anjo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7 Norma l-½ no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado a
partir do painel Anjo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.8 Função de distância aprendida através de KLFDA no espaço de cores RGB - exemplo
de um painel 2x2 azulejos formado a partir do painel Anjo. . . . . . . . . . . . . . . . . 20
3.9 Norma (Lp)q no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado
a partir do painel Anjo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.10 Predição de Pomeranz no espaço de cores RGB - exemplo de um painel 2x2 azulejos
formado a partir do painel Anjo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.11 Distância de Mahalanobis no espaço de cores RGB - exemplo de um painel 2x2 azu-
lejos formado a partir do painel Anjo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.12 Exemplo da não simetria das matrizes Slr e Stb . . . . . . . . . . . . . . . . . . . . . . . 23
3.13 Primeiro passo da montagem Greedy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.14 Greedy - múltiplas margens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.15 Greedy - com e sem heurística de preferência por múltiplas margens . . . . . . . . . . . 29
4.1 Comparação das várias funções de distância para as várias features . . . . . . . . . . . 34
4.2 Melhores quatro curvas ROC para a base de dados Cho et al.[1] . . . . . . . . . . . . . 35
xi
4.3 Comparação das várias funções de distância para as várias features . . . . . . . . . . . 36
4.4 Melhores quatro curvas ROC para a base de dados de azulejos . . . . . . . . . . . . . 37
4.5 Taxa de Comparação média para a montagem do puzzle de 18x24 peças de cada
imagem da base de dados de Cho et al. através do método BALM. . . . . . . . . . . . . 39
4.6 Evolução do método BALM para o exemplo Anjo . . . . . . . . . . . . . . . . . . . . . . 40
4.7 Taxa de Comparação média para a montagem do puzzle de 18x24 peças de cada
imagem da base de dados de Cho et al. através de uma relaxação método BALM. . . . 41
4.8 Exemplo de utilização da heurística de Lowe Scores . . . . . . . . . . . . . . . . . . . . 43
5.1 Exemplo de utilização da aplicação de captura de imagens 1 . . . . . . . . . . . . . . . 52
5.2 Exemplo de utilização da aplicação de captura de imagens 2 . . . . . . . . . . . . . . . 53
5.3 Janela principal da aplicação de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4 Janela auxiliar de detalhes de ligações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.5 Janela de montagem do painel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A.1 Base de dados de Cho et al. - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2 Base de dados de Cho et al. - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.3 Base de dados de Cho et al. - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
A.4 Porçoes de painéis de azulejos de teste - 1 . . . . . . . . . . . . . . . . . . . . . . . . . A-6
A.5 Porçoes de painéis de azulejos de teste - 2 . . . . . . . . . . . . . . . . . . . . . . . . . A-7
A.6 Curvas ROC médias calculadas no espaço de cores RGB em imagens da base de
dados Cho et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
A.7 Curvas ROC médias calculadas no espaço de cores CIELAB em imagens da base de
dados Cho et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
A.8 Curvas ROC médias calculadas no espaço de cores HSV em imagens da base de
dados Cho et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
A.9 Melhores quatro curvas ROC para a base de dados Cho et al. . . . . . . . . . . . . . . A-11
A.10 Curvas ROC médias calculadas no espaço de cores RGB em painéis de azulejos . . . A-12
A.11 Curvas ROC médias calculadas no espaço de cores CIELAB em painéis de azulejos . A-13
A.12 Curvas ROC médias calculadas no espaço de cores HSV em painéis de azulejos . . . A-14
A.13 Melhores quatro curvas ROC para painéis de azulejos . . . . . . . . . . . . . . . . . . . A-15
xii
Lista de Tabelas
4.1 AUC das quatro melhores curvas ROC para a base de dados Cho et al.[1] . . . . . . . 35
4.2 Áreas inferiores das quatro melhores curvas ROC para a base de dados de azulejos . . 37
4.3 Comparação de resultados na montagem de puzzles quando a orientação final de
cada peça é conhecida, para as imagens da base de dados de Cho et al.[1]. Os
valores destacados correspondem aos melhores resultados de montagem por imagem. 42
4.4 Comparação de resultados na montagem de puzzles quando a orientação final de
cada peça é conhecida para as imagens da base de dados de Cho et al.[1]. Os valores
destacados correspondem aos melhores resultados de montagem por imagem. . . . . 44
4.5 Comparação de resultados de montagem dos painéis de azulejos quando a orientação
final de cada azulejo é conhecida para base de dados presente no Anexo A.2. Os
valores destacados correspondem aos melhores resultados de montagem por imagem. 45
4.6 Comparação de resultados na montagem de puzzles quando a orientação final de
cada peça é desconhecida para as imagens da base de dados de Cho et al.[1]. Os
valores destacados correspondem aos melhores resultados de montagem por imagem. 46
4.7 Comparação de resultados na montagem de puzzles quando a orientação final de
cada peça é desconhecida para as imagens da base de dados de Cho et al.[1]. Os
valores destacados correspondem aos melhores resultados de montagem por imagem. 48
4.8 Comparação de resultados de montagem dos painéis de azulejos quando a orientação
final de cada azulejo é desconhecida para base de dados presente no Anexo A.2. Os
valores destacados correspondem aos melhores resultados de montagem por imagem. 49
xiii
Abreviaturas
AUC Área inferior da curva ROC (Area Under the Curve)
BALM Modelação Bilinear através do método dos multiplicadores de Langrange (Bilinear modeling
via Augmented Lagrange Multipliers)
CIELAB Comissão Internacional de Iluminação 1976 L*a*b*
(Commission Internationale de l’Éclairage 1976 L*a*b*)
GQAP Problema de Atribuição Quadrático Generalizado (Generalized Quadratic Assignment Pro-
blem)
HSV Matiz, Saturação e Valor (Hue, Saturation e Value)
KLFDA Kernel Local Fisher Discriminant Analysis
LFDA Local Fisher Discriminant Analysis
MNAz Museu Nacional do Azulejo
MST Árvore de Suporte Mínima (Minimum Spanning Tree)
NP Tempo Polinomial Não Determinístico (Non-deterministic Polynomial time)
RGB Vermelho, Verde e Azul (Red, Green e Blue)
ROC Característica Operacional do Receptor (Receiver Operating Characteristic)
SVD Decomposição em Valores Singulares (Singular Value Decomposition)
xv
Lista da Símbolos
n Número de azulejos que constituem um painel . . . . . . . . . . . . . . . . . . . . . . 10
P ∗ Matriz de permutação solução do GQAP (n× n) . . . . . . . . . . . . . . . . . . . . . 10
P Conjunto das matrizes de permutação . . . . . . . . . . . . . . . . . . . . . . . . . . 10
P Matriz de permutação (n× n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Ah Matriz de regras horizontais (n× n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Av Matriz de regras Verticais (n× n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
s(i, j) Distância entre as margens i e j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
S Matriz de distâncias global (4n× 4n) . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Slr Matriz de distâncias horizontais, left-right (n× n) . . . . . . . . . . . . . . . . . . . . 23
Stb Matriz de distâncias verticais, top-bottom (n× n) . . . . . . . . . . . . . . . . . . . . 23
O Conjunto das matrizes de ortogonais . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
xvii
1Introdução
Conteúdos1.1 Apresentação do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Contribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Estrutura da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1
1.1 Apresentação do Problema
Frequentemente são doados ao Museu Nacional do Azulejo (MNAz) painéis de azulejos retirados
de edifícios antigos. Estes painéis muitas vezes carecem de instruções de montagem ou qualquer
outro tipo de referências, levando a que na sua recuperação, a montagem do painel se transforme
numa tarefa demorada.
Na figura 1.1 pode observar-se um funcionário do MNAz durante a montagem de um painel de
azulejos. Os vários azulejos que constituem o painel são colocados no chão e uma única pessoa
encarregue de voltar a montar o painel original, emparelha os mesmos. Dado que um painel de
dimensões médias é composto por mais de cem azulejos, é natural que o processo de montagem se
possa tornar bastante demorado.
Figura 1.1: Tradicional método de montagem de um painel de azulejos no MNAz, onde uma única pessoacoloca os azulejos no chão afim de proceder à montagem.
Este processo de montagem pode também ser visto como a montagem de um puzzle, em que
cada azulejo corresponde a uma peça. A dificuldade deste puzzle aumenta dado que não existe
qualquer informação sobre o aspecto final do painel, sendo por isso necessário determinar a posição
e orientação de cada azulejo. Outra dificuldade reside no facto de todas as peças deste puzzle
serem iguais e aproximadamente quadradas, não fornecendo assim qualquer informação sobre a
sua orientação. Para além destas dificuldades existe ainda o problema de muitos dos azulejos se
encontrarem em avançado estado de degradação, dificultando o emparelhamento dos mesmos. Esta
analogia entre a montagem de um painel de azulejos e a montagem de um puzzle, estará presente
em todo o trabalho desenvolvido nesta dissertação.
O problema que esta dissertação se propõe resolver pode ser então sucintamente descrito por:
Dado um conjunto de imagens individuais dos vários azulejos que cons-tituem um painel de azulejos, apresentar de uma forma automá tica o paineloriginal montado.
2
1.2 Trabalhos relacionados
A montagem de um puzzle pode ter aplicação em diversas áreas, tais como, na arqueologia - na
reconstrução de artefactos arqueológicos [2] , biologia molecular - aproximação de uma proteína com
uma sequência de aminoácidos conhecida num modelo de densidade de electrões 3D [3], recons-
trução forense de fragmentos de texto [4], edição de imagem - reorganização de elementos numa
imagem [5] e descodificação de fala [6].
Desde 1964 que têm sido desenvolvidos métodos para montar puzzles de forma automática com
o auxilio de computadores. Nesta data, Freeman e Garder [7] montaram o primeiro puzzle que
consistia em 9 peças e apenas a forma das mesmas era usada como característica no processo de
montagem. Desde então, várias publicações sobre montagem de puzzles usando a forma das peças
surgiram [8–13], sendo que só em 1994 foi pela primeira vez montado um puzzle utilizando também
informação proveniente da cor das peças por Kosiba et al. [9].
Após Kosiba et al., a variação de cor nas margens das peças passou a ser usada como caracte-
rística auxiliar de montagem em vários trabalhos [10, 12, 13] e usada como única característica pela
primeira vez por Demaine e Demaine em 2007 [14].
Grande parte dos algoritmos que se baseiam (exclusivamente ou parcialmente) na forma das
peças montam o puzzle em duas fases, começando por montar a moldura e só depois o seu interior
[8–11, 13]. Aproveitando as diferenças na forma das peças que constituem a moldura do puzzle,
estes algoritmos começam por posicionar estas peças recorrendo a uma heurística para o Travelling
Salesman Problem (inglês para Problema do Caixeiro-Viajante). Seguidamente as restantes peças
são colocadas seguindo uma abordagem greedy aproveitando a moldura do puzzle como referência.
Por outro lado, os métodos de montagem que se baseiam exclusivamente no conteúdo das peças
utilizam peças quadradas, despromovidas de quaisquer referências quanto à sua posição no puzzle,
pelo que a sua colocação possui um grau de dificuldade maior. Este tipo de método de monta-
gem revelou uma maior contribuição para a solução apresentada nesta dissertação, pelo que serão
analisados seguidamente e em separado dos anteriormente descritos.
Em 2007, Demaine e Demaine [14] estudaram a complexidade de vários tipos de puzzles (puzzle
tradicional, tamgram e edge-matching puzzle) assim como teoremas para conversão entre tipos de
puzzles. De todos os teoremas e conclusões apresentados, aquele que maior relevo tem para esta
dissertação é aquele que comprova que o problema da montagem de um puzzle, onde existe incer-
teza na compatibilidade entre peças, é um problema de complexidade NP-hard, justificando assim o
porquê de ser um problema tão desafiante até para uma pessoa.
Em 2008, Murakami et al. [15] desenvolveram um método de montagem de puzzles que come-
çando com todas as peças separadas, vai criando blocos de peças ligadas, ligando livremente as
mesmas. O método utiliza como critério de paragem a existência de um único bloco. O puzzle é
baseado numa imagem projectada no espaço RGB e assume que as peças não podem ser rodadas,
conhecendo assim a rotação de cada peça no puzzle final. Para calcular a distância entre pares de
3
peças é calculada a soma das diferenças entre pares de pixels adjacentes nas margens em questão.
Para evitar ambiguidades geradas por zonas do puzzle muito homogéneas (tipicamente o céu), foi
proposto um método que após o cálculo das distâncias entre todas as peças, efectua para cada peça
do puzzle uma série de subtracções entre a melhor peça candidata e todas as outras candidatas. As-
sim é possível quantificar quanto a melhor peça candidata se destaca entre todas as outras, dando
origem a uma maior confiança na nova ligação. Algo muito importante num método de montagem
por blocos que fica por esclarecer, é o método de avaliação de ligações entre blocos com uma única
margem comum e várias margens em comum. Murakami et al. afirmam que este método conse-
gue montar correctamente puzzles de dimensões 16x12 peças (peças de dimensões 80x80 pixels)
e ainda que foi possível montar com sucesso dois puzzles misturados, tendo usado como critério de
paragem do método dois blocos finais).
Em 2010, Cho et al. [1] propuseram um método probabilístico de montagem através de um mo-
delo gráfico. Este método baseia-se na transformada Patch [5] e necessita de algum conhecimento
prévio sobre o puzzle, seja este na forma de algumas peças âncora (peças cuja posição final é co-
nhecida) ou na forma de uma cópia de baixa resolução da imagem original. Foram ainda estudadas
várias funções de distância entre peças: Soma do quadrado das diferenças entre pixels adjacen-
tes de duas peças, Classificador treinado através do algoritmo Gentle Boost, Distância bidireccional,
compatibilidade baseada em informações estatísticas das peças e ainda uma função que combina
a primeira e última funções enumeradas. Destas cinco funções testadas, aquela que demonstrou
melhores resultados experimentais foi a soma do quadrado das diferenças entre pixels adjacentes,
obtendo cerca de 80% de ligações bem classificadas para o teste efectuado. Tal como Murakami et
al., a rotação de peças não é permitida e foram apresentados resultados bem sucedidos para puzzles
de 432 peças (peças de dimensões 28x28 pixels).
Em 2011, Pomeranz et al. [16] apresentaram um método de montagem que segue uma abor-
dagem greedy. A imagem do puzzle encontra-se projectada no espaço CIELAB e como funções
de compatibilidade foram testadas a soma do quadrado das diferenças entre pixels adjacentes de
duas peças, norma (L3/10)1/16 e uma predição baseada nas duas últimas colunas de pixels de cada
peça, sendo que esta apresentou melhores resultados. Com o intuito de auxiliar a função de com-
patibilidade foi introduzido um novo conceito - best buddies - que identifica duas peças que são
mutuamente as melhores candidatas entre todas as outras. O método proposto resolve o problema
em 3 fases, primeiramente as imagens são ligadas num único bloco que se vai expandido segundo
uma abordagem greedy, minimizando as distâncias entre peças e dando prioridade a best buddies.
Seguidamente é feita uma verificação da solução encontrada ,através de um algoritmo de segmen-
tação por expansão de regiões. Neste algoritmo duas peças pertencem à mesma região caso sejam
classificadas como best buddies. Posteriormente, é identificada a maior região e o método recomeça
usando esta região como semente inicial. Este método termina quando a avaliação através de best
buddies atingir um máximo local. Tal como os métodos anteriormente descritos, a rotação de peças
não é permitida e são ainda conhecidas à priori as dimensões finais do puzzle. Foram apresentados
resultados bem sucedidos para puzzles de 3300 peças (peças de dimensões 28x28 pixels).
4
Em 2012, A. Gallangher [17] desenvolveu um método que se destaca da restante literatura por
montar puzzles onde a orientação final das peças não é conhecida. A distância entre peças é cal-
culada através de uma medida chamada de Compatibilidade de Mahalanobis que visa penalizar
variações de intensidade no gradiente dos valores dos pixeis projectados no espaço de cor CIELAB
das duas margens. A montagem do puzzle é efectuada descobrindo a Árvore de Suporte Mínima
(Minimum Spanning Tree) (MST) no grafo gerado usando cada peça como vértice/nó e as compati-
bilidades entre duas peças como arestas. Para encontrar a MST foi usado um algoritmo de Kruskal
modificado de modo a gerar MST planares. Este método é actualmente o state of the art montando
um puzzle especifico de 9600 peças (sendo que foi admitido que a escolha da imagem original não
foi inocente) e vários de 1064 peças.
1.3 Contribuição
Esta dissertação apresenta um novo problema na categoria de montagem automática de puzzles,
propondo montar um painel de azulejos através de fotografias dos seus azulejos constituintes. Neste
sentido, primeiramente estudam-se várias funções de distância: distância Euclidiana, norma l-½
Função de distância aprendida através de KLFDA, Norma (Lp)q, Predição de Pomeranz e Distância
de Mahalanobis, sendo estas aplicadas a três espaços de cor diferentes: RGB, CIELAB e HSV.
Com base nas observações é proposto um método greedy que visa minimizar a distância entre
cada margem de azulejo. Quando testado em painéis de azulejos, este método conseguiu recons-
truir correctamente em média 35.91% de cada painel. Foram ainda efectuados testes com imagens
naturais, utilizando uma base de dados de imagens proposta por Cho et al. [1], reconstruindo correc-
tamente uma média de 92.63% de cada imagem natural, superando assim o actual estado de arte
[17].
À semelhança de outros trabalhos, o método proposto foi ainda testado na montagem de painéis
quando a orientação final de cada azulejo é conhecida. Quando testado em painéis de azulejos, este
método conseguiu reconstruir correctamente em média 57.82% de cada painel. Quando testado na
base de dados de imagens proposta por Cho et al. [1], conseguiu reconstruir correctamente uma
média de 93.80% de cada imagem natural, aproximando-se mais que qualquer outro método do
actual estado de arte [17].
Foi ainda proposto um método de montagem para o caso de ser conhecida a orientação final de
cada azulejo baseado na resolução de um GQAP através do método BALM [18], sendo que este
método não obteve resultados satisfatórios.
1.4 Estrutura da dissertação
Terminado este primeiro capítulo introdutório, esta dissertação está dividida em cinco capítulos.
No próximo capítulo é formulado o problema que esta dissertação se propõe solucionar, assim
como os subproblemas em que se divide.
5
Seguidamente, no Capítulo 3 são apresentadas as soluções para os vários subproblemas. Pri-
meiramente são descritas as várias funções de distância a testar. No seguimento é explicado o
algoritmo de montagem de um painel de azulejos sem qualquer informação prévia e ainda explicado
o algoritmo de montagem greedy utilizado quando a orientação final de cada azulejo é conhecida.
De seguida são apresentados e comentados, no Capítulo 4, os resultados obtidos, começando
com uma análise das funções de distância experimentadas e análise dos dois subproblemas de
montagem do painel.
No Capítulo 5, é apresentada a aplicação responsável pela aquisição e correcção das fotografias
individuais de cada azulejo e ainda a plataforma de testes criada e utilizada nesta dissertação.
Por fim, no Capítulo 6, são apresentadas as conclusões sobre a solução proposta e sugestões
de melhoramento de alguns pontos que não foram totalmente explorados no desenvolvimento deste
trabalho.
No decorrer desta dissertação será recorrentemente utilizado o painel Anjo como um exemplo
simples de pequenas dimensões, montado através do método proposto nesta dissertação, que visa
a clarificar algumas conceitos e algoritmos explicados. Como tal, para que o exemplo seja mais
facilmente identificado, este será apresentado de seguida na Figura 1.2.
Figura 1.2: Painel exemplo - Anjo
6
2Formulação do problema
Conteúdos2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Distância entre margens de azulejos . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Montagem de um painel com orientação dos azulejos conhec ida . . . . . . . . . 92.4 Montagem de um painel com orientação dos azulejos descon hecida . . . . . . . 12
7
2.1 Introdução
Este trabalho tem por objectivo resolver o problema de montar de forma automática um painel
de azulejos, recorrendo apenas a um conjunto de imagens individuais de cada um dos azulejos
constituintes.
Por forma que uma solução seja encontrada, terão que ser resolvidos dois subproblemas distin-
tos: cálculo de distância entre margens de azulejos, e de seguida, montagem do painel por estes
constituído.
De seguida serão formulados cada um dos subproblemas.
2.2 Distância entre margens de azulejos
Antes de proceder à montagem de um painel de azulejos é necessário efectuar uma medição da
distância entre as várias margens de todos os azulejos que o constituem. Deste modo é possível
quantificar quão distantes duas margens de azulejos diferentes são e, com base nesta informação,
seguir uma estratégia de montagem.
Esta função de distância terá a difícil tarefa de lidar com as dificuldades criadas pelo envelheci-
mento do revestimento vidrado dos azulejos, os cantos e margens que se encontram danificados,
as descontinuidades das linhas do desenho criadas entre azulejos, variações nas cores criadas pela
cozedura dos mesmo, diferentes misturas na coloração e texturas criadas pela pincelada tipicamente
pouco minuciosa (ver Figura 2.1).
Figura 2.1: Algumas das dificuldades de trabalhar com azulejos - como pode ser observado, para além do es-tado de degradação dos azulejos, é perdida a continuidade das linhas entre azulejos, dificultando a comparação
Dada a quantidade de dificuldades originadas pela utilização de azulejos como assunto de traba-
lho, não é difícil de prever que desenhar uma função de distância seja um problema complexo.
A solução encontrada para este subproblema pode ser consultada em 3.2.
8
2.3 Montagem de um painel com orientação dos azulejos conhe-cida
Assumindo que são conhecidas as dimensões do painel de azulejos e a orientação final dos
mesmos, a sua disposição final pode ser vista como uma atribuição de cada azulejo a uma posição
específica no painel.
Este problema é descrito como um Assignment Problem (inglês para Problema de Atribuição)
e a sua solução é apresentada na forma de uma matriz de Permutação, onde as linhas desta repre-
sentam as várias posições do painel de azulejos e as colunas os vários azulejos. Sabendo que uma
matriz de permutação é caracterizada por ser uma matriz binária, com apenas um 1 por cada linha
e um 1 por cada coluna, esta classe de matrizes contém as propriedades necessárias à montagem
de um painel de azulejos, uma vez que a cada posição do painel apenas pode estar associado um
azulejo e que cada azulejo apenas pode estar associada a uma posição (ver figura 2.2).
Figura 2.2: Formulação do problema como um Assignment Problem. À esquerda as posições enumeradasdo painel, ao centro a matriz de permutação, P, que atribui um azulejo a cada posição do painel e à direita o
conjunto de azulejos constituem o painel.
Cada posição no painel de azulejos pode ser descrita por duas componentes, horizontal e vertical.
Do mesmo modo, a distância de um azulejo aos azulejos adjacentes é também o resultado de duas
componentes, distância horizontal e distância vertical. Tendo em conta esta formulação, para cada
posição do painel de azulejos terão que ser optimizadas duas componentes de distância de azulejos
levando a que este subproblema seja um Generalized Quadratic Assignment Problem (GQAP)
(inglês para Problema de Atribuição Quadrático Generalizado).
O GQAP é um dos problemas fundamentais da optimização combinatória e foi provado que possui
uma complexidade NP-hard [19]. Um problema pertence à classe NP1, caso uma qualquer solução
deste possa ser verificada em tempo polinomial. Dado um método para resolver um problema da
classe NP-hard, qualquer problema da classe NP pode ser resolvido com apenas um acréscimo de
esforço polinomial. Ou seja, se um problema NP-hard pode ser usado para resolver qualquer pro-
blema NP, significa que um problema da classe NP-hard é tão ou mais difícil que qualquer problema
1NP significa Non-deterministic Polynomial time (inglês para Tempo Polinomial Não Determinístico)
9
NP [20].
Para um painel com n azulejos e n posições possíveis, é trivial verificar que existem n! soluções
possíveis. Dado que este subproblema é factorial, a busca por uma solução óptima não poderá ser
exaustiva.
Assim, a solução óptima, P ∗, para o subproblema foi definida como a matriz que minimiza uma
função de dois termos: um responsável pela avaliação entre todas as ligações horizontais presentes
no painel (ligações a vermelho na Figura 2.3) e outro responsável pela avaliação entre todas as
ligações verticais presentes (ligações a verde na Figura 2.3).
Figura 2.3: Tipos de ligação presentes num painel de azulejos. As ligações a vermelho representam as ligaçõeshorizontais e as ligações a verde representam as ligações verticais
À matriz de distâncias horizontais Slr (cujo elemento slr(i, j) representa a distância entre o azulejo
i colocado à esquerda do azulejo j) é aplicada uma permutação, P , às suas linhas e às suas colunas.
Esta matriz de permutação pertence ao conjunto das matrizes de permutação, P , caracterizadas por
serem matrizes binárias, com apenas um 1 por cada linha e um 1 por cada coluna.
Slr = PSlrPT (2.1)
Cada elemento pmn da matriz de permutação P atribui à posição m do painel, o azulejo n.
Garante-se assim que a cada posição do painel apenas um azulejo é atribuído e que o elemento
slr(m,n) da matriz Slr resultante (equação (2.1)), representa a distância entre os dois azulejos colo-
cados nas posições m e n do painel.
Nem todas as entradas de Slr farão sentido, como por exemplo o índice (2, 4) para a Figura 2.3,
uma vez que a posição 4 do painel não se encontra à direita da posição 2 (ver imagem 3.1). Para
efectuar a selecção apenas dos elementos que fazem sentido e anular os elementos que não fazem
qualquer sentido é aplicada a Matriz de Regras Horizontais, Ah, que seleccionaria os elementos:
(1,2), (2,3), (4,5), (5,6), (7,8) e (8,9) da matriz de distâncias permutadas, para o exemplo da figura
2.3.
10
H = AhPSlrPT (2.2)
Tendo todos os elementos referentes às distâncias horizontais sido seleccionados, estes são so-
mados, resultando na distância horizontal do painel. A selecção dos elementos horizontais efectuada
por Ah, que selecciona e transporta os mesmos para a diagonal principal de H . Para somar todos
os elementos basta usar a operação trace (inglês para traço), resultando na equação (2.3).
trace(AhPSlrPT ) (2.3)
Como a Matriz de Distâncias Horizontais, Slr, representa distâncias entre azulejos, a matriz óp-
tima de permutação, P ∗, para o problema apresentado, minimiza a equação (2.3)
Seguindo um método análogo ao anterior descrito, diferenciando-se apenas na matriz de regras,
agora Matriz de Regras Verticais, Av, é definido o segundo termo relativo à avaliação da distância
vertical entre azulejos. Somando os dois termos, resulta a função de custo (2.4),
f(P ) = trace(AhPSlrPT ) + trace(AvPStbP
T ), P ∈ P(n× n) (2.4)
Ambas as matrizes de regras, Ah e Av, são matrizes binárias de dimensão n×n cujos elementos
Ah(i, j) e Av(i, j) colocados a 1 identificam que a posição i está à direita, ou abaixo consoante a
matriz de regras, da posição j. A título de exemplo, para o painel Anjo (ver imagem 1.2, as matrizes
de regras Ah e Av correspondentes teriam a forma das matrizes presentes na figura 2.4.
(a) (b)
Figura 2.4: a) Matriz de regras horizontais e b) Matriz de regras verticais
De notar que na matriz Ah as colunas 3, 6 e 9 apenas possuem zeros, uma vez que as posições
3, 6 e 9 não se encontram ligadas a nenhuma posição à direita das mesmas. Do mesmo modo,
na matriz Av as colunas 7, 8 e 9 apenas possuem zeros, visto que as posições 7, 8 e 9 não se
encontram ligadas a numa outra posição abaixo das mesmas.
A solução óptima para o subproblema da montagem de um painel de azulejos, conhecendo as
suas dimensões e a orientação original de cada azulejo, é a matriz de permutação, P ∗, que minimiza
a anterior função de custo.
11
Este problema é formalmente definido por:
P ∗ = argmin trace(AhPSlrPT ) + trace(AvPStbP
T )subject to P ∈ P(n× n)
(2.5)
Tal como identificado em [21], este problema (2.5) é um GQAP e como C. Lee e Z. Ma [19]
provaram, este pertence à classe de problemas NP-hard. De modo que pudesse ser encontrada
uma solução sub-óptima em tempo polinomial, algumas relaxações tiveram que ser feitas.
O método utilizado para resolver este problema, assim como respectivas relaxações, pode ser
consultado em 3.3.
2.4 Montagem de um painel com orientação dos azulejos des-conhecida
Assumindo que apenas são conhecidos os vários azulejos que constituem o painel, isentos de
qualquer referência quanto à sua colocação, a solução final pode ser descrita por uma posição e uma
orientação que caracteriza cada um dos azulejos.
Tal como no subproblema anterior, o objectivo deste subproblema será procurar uma solução que
minimize a distância entre as várias margens de azulejos adjacentes.
Como será de esperar, existirá sempre algum grau de erro na distância entre margens, levando
a concluir que o facto de a distância entre duas margens ser baixa não significa que na solução
óptima estas sejam adjacentes. Em 2007, foi provado por Demaine e Demaine [14] que o problema
de montar um puzzle, cuja distância entre margens é caracterizada por uma incerteza, pertence à
classe NP-hard.
No caso de um painel com n azulejos, facilmente poderá ser deduzido que estes podem ser or-
denados em n! soluções possíveis. Dado que em cada posição, cada azulejo é caracterizado por
uma rotação, obtêm-se assim 4n(n!) soluções possíveis. Como três quartos das soluções serão
repetidas mas rodadas, teremos então 4(n−1)(n!) soluções diferentes. De notar que não são conhe-
cidas as dimensões do painel, podendo este apresentar-se num formado compreendido entre 1 × n
a√n × √n. Deste modo apenas se pode garantir um limite mínimo para o número de soluções
possíveis: 4(n−1)(n!).
Visto que existe um número factorial de soluções, a procura por uma solução óptima não pode de
forma alguma ser exaustiva.
A solução encontrada para este subproblema pode ser consultada em 3.5.
12
3Solução proposta
Conteúdos3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2 Distância entre margens de azulejos . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Montagem de um painel com orientação dos azulejos conhec ida - abordagem
GQAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 Montagem de um painel com orientação dos azulejos conhec ida - abordagem
Greedy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.5 Montagem de um painel com orientação dos azulejos descon hecida . . . . . . . 27
13
3.1 Introdução
Antes de proceder à exposição das soluções propostas para os problemas descritos no capítulo
anterior, alguns conceitos base deverão ser introduzidos.
De modo a facilitar a identificação dos azulejos no painel (final ou em montagem), as posições são
numeradas crescentemente da esquerda para a direita e de cima para baixo, tal como exemplificado
na Figura 3.1.
Figura 3.1: Identificação das posições dos azulejos num painel.
O termo “ligar” ou ”ligação” será usado para expressar a ideia de dois azulejos que são colocados
em posições adjacentes.
Tendo definido alguns conceitos base, será descrito o método de montagem de um painel de
azulejos proposto nesta dissertação, desde que é submetido um novo conjunto desordenado de
azulejos até que é sugerida uma solução.
O primeiro passo em direcção à criação de um painel passa por fotografar individualmente cada
um dos azulejos que o constituem. Para esta tarefa foi desenvolvida uma aplicação que tem a dupla
função de fotografar e corrigir as fotografias capturadas. Através da transformada de Hough [22]
são encontrados os cantos de um azulejo na fotografia capturada e posteriormente aplicada uma
homografia, corrigindo a perspectiva e cortando a fotografia de modo que apenas o azulejo ocupe
todo o espaço da imagem. Esta aplicação é descrita em maior detalhe no Capítulo 5.
Após fotografar e corrigir as imagens de todos os azulejos, é usada uma função de distância.
Esta é aplicada com o intuito de medir a distância entre cada uma das margens de cada azulejo e
todas as outras margens de todos os outros azulejos.
Sendo conhecida a distância entre as margens de azulejos, esta informação é usada por um
algoritmo que procede à montagem do painel.
Após a obtenção de uma solução esta é apresentada ao utilizador.
Este método pode ser consultado no diagrama da Figura 3.2.
14
Figura 3.2: Diagrama do método de montagem de um painel de azulejos proposto
Seguidamente serão apresentadas as soluções propostas para os problemas da compatibilidade
entre margens e montagem do painel de azulejos.
3.2 Distância entre margens de azulejos
O facto de os azulejos serem na sua maioria um quadrado, faz com que a sua forma não seja
discriminativa. Deste modo, apenas o conteúdo dos azulejos poderá servir como elemento de com-
paração.
A utilização do conteúdo dos azulejos como característica de compatibilidade tem o inconveniente
de ter de lidar com dificuldades criadas pela exposição dos mesmo aos elementos, as dificuldades
criadas pelas técnicas/tecnologias de fabrico e ainda do seu manuseamento.
A maioria dos painéis com necessidade de restauro são bastante antigos (por vezes com mais de
500 anos) e como tal, as técnicas de pintura e tecnologias de fabrico usadas na época eram bastante
rudimentares, influenciando directamente a qualidade dos próprios azulejos. Variações nas cores e
fissuras no revestimento vidrado criadas durante a cozedura, escorrimento das pinturas, variações
das cores criadas por misturas de tintas diferentes, texturas criadas pela pincelada tipicamente pouco
minuciosa e as descontinuidades na pintura criadas pela passagem de um azulejo para outro estão
presentes em qualquer painel. Para além destas dificuldades, o facto de muitos dos painéis terem
sido originalmente usados no exterior de edifícios, levou a que o revestimento vidrado dos azulejos
se tivesse deteriorado. A juntar às dificuldades já descritas, existem ainda os cantos e margens
15
danificados por terem sido retirados do seu local original e manuseamento posterior.
Dadas todas estas dificuldades, prevê-se que encontrar uma função de distância com um bom
desempenho seja uma tarefa difícil. Por este motivo, foram testadas várias funções de distância no
sentido de compreender aquela que melhor se adequa a este problema.
Caso exista uma função que quantifique com 0 a distância de duas margens que no puzzle original
são adjacentes e uma distância suficientemente grande no caso contrário, é possível montar o puzzle
em tempo polinomial usando um algoritmo greedy [14]. Como esta suposição é intangível, uma vez
que existirá sempre alguma ambiguidade na distância entre os vários azulejos, este problema resulta
num problema de classe NP-hard [14], não existindo um algoritmo que o resolva eficientemente.
No processo de comparação de duas imagens, existem duas perguntas elementares que devem
ser respondidas: ”o que comparar?” e ”como comparar?”.
”O que comparar” refere-se à feature (inglês para característica), que como já referido, não pode
ser a forma dos azulejos uma vez que estes são aproximadamente quadrados. Restando apenas o
conteúdo dos azulejos, foram usados para comparação os seguintes parâmetros da imagem de cada
azulejo:
• Valores no espaço de cores RGB - utilização dos valores das componentes vermelha, verde e
azul da imagem. Este espaço de cores aditivo é muito usado em computação gráfica, uma vez
que estas cores correspondem aos estímulos individuais das células foto-receptoras do olho
humano.
Este espaço de cores é caracterizado por um triângulo, onde as três cores primárias são colo-
cadas nos seus cantos e o branco no centro, como se pode observar na Figura 3.3
Figura 3.3: Representação do espaço de cores RGB.Fonte: http://www.avblog.nl/2007-wordt-het-jaar-van-hdmi-13
• Valores no espaço de cores HSV - utilização dos valores das componentes de matiz, saturação
e valor da imagem. Estes espaço de cores tem a vantagem de isolar a informação sobre o tom
de cor num dos seus canais.
Este espaço de cores é caracterizado por um cilindro, onde uma cor é caracterizada por um
ângulo (matiz), distância ao centro (saturação) e altura (valor). Este espaço de cor pode ser
16
observado na Figura 3.4.
Figura 3.4: Representação do espaço de cores HSV.Fonte: http://www.codeproject.com/Articles/80641/Visualizing-Complex-Functions
• Valores no espaço de cores CIELAB - utilização dos valores de luminosidade e duas compo-
nentes de cor. Este espaço de cores cromático foi criado para melhor modelar a percepção
humana das cores. Uma variação uniforme das componentes deste espaço de cores corres-
ponde a uma variação uniforme na percepção das cores humana.
Este espaço de cores é caracterizado por um eixo vertical que representa o canal L*, lumino-
sidade, com valores entre 0 e 100, respectivamente preto e branco. Os outros dois canais são
caracterizados por valores entre -50 e 50 nos eixos perpendiculares ao anterior. No eixo do
canal de cor a* é representado o balanço entre as cores vermelho, valores positivos, e verde,
valores negativos. No eixo do canal de cor b* é representado o balanço entre as cores amarelo,
valores positivos, e azul, valores negativos. Este espaço de cor pode ser observado na Figura
3.5.
Figura 3.5: Representação do espaço de cores CIELAB.Fonte: http://www.thyon.com/blog/gamut-lets-get-techni-colour
”Como comparar” refere-se à função que vai quantificar quanto duas margens de azulejos dife-
rentes são distantes. Para proceder à quantificação são usados os valores CIELAB das imagens dos
azulejos. Entre as quatro features apresentadas, foi escolhido o espaço de cores CIELAB dado este
apresentou melhores resultados nas experiências realizadas. Estas experiências são apresentadas
no Capítulo 4.
17
Seguidamente serão apresentadas as várias funções de distância usadas. Nestas funções, a
distância entre duas quaisquer margens é definida por s(i, j), onde i e j identificam duas margens.
De modo que se possa mais facilmente identificar o azulejo e a margem original a que um índice
i corresponde, terá que ser feita uma conversão. Para conhecer o número que identifica o azulejo
original, divide-se o índice i por 4 (numero de margens de um azulejo), sendo este valor arredondado
às unidades por excesso. Para conhecer o número que identifica a margem original, é efectuada uma
divisão inteira do índice i por 4, sendo que a margem superior é identificada por 0 e as restantes
incrementalmente no sentido dextrogiro.
Funções de distância
• Distância Euclidiana:
Função de distância amplamente usada um pouco por todo o tipo de aplicações. Esta função
mede a distância em linha recta entre dois pontos, sendo nula apenas se ambas as margens
forem precisamente iguais. A distância Euclidiana é simétrica, não sendo por isso necessário
ter em conta a orientação de duas margens na comparação de ambas, sendo por isso invariante
a rotações nos dados. O facto de as diferenças serem elevadas ao quadrado faz com que
diferenças maiores se distanciem mais de diferenças menores.
Para calcular a distância aplicada aos valores dos espaços de cor é utilizada a equação (3.1).
s(i, j) =
√
√
√
√
3∑
c=1
dmax∑
d=1
[mi(c, dmax, d)−mj(c, 1, d)]2 (3.1)
Onde mi representa a margem i, mj representa a margem j, c o canal de cor e d o índice do
pixel. O comprimento em pixels de uma margem é caracterizado por dmax.
Figura 3.6: Distância Euclidiana no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado a partirdo painel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias global. Ligações mais escuras
representam menor distância e ligações não permitidas a vermelho.Cada linha das matrizes corresponde às distâncias de ligação entre uma margem de um determinado azulejo e
as restantes margens de todos os azulejos.
18
• Norma l-½:
Esta norma não representa uma métrica visto que viola a desigualdade triangular. Contudo,
e para simplificar o texto, a matriz gerada por esta norma continuará ser chamada de matriz
de distâncias global, S. Tal como a Distância Euclidiana, esta função encontra-se elevada ao
quadrado fazendo com que diferenças maiores se distanciem mais de distâncias menores.
Para calcular a distância aplicada aos valores dos espaços de cor é utilizada a equação (3.2).
s(i, j) =
(
3∑
c=1
dmax∑
d=1
√
|mi(c, dmax, d)−mj(c, 1, d)|)2
(3.2)
Figura 3.7: Norma l-½ no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado a partir dopainel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias global. Ligações mais escuras
representam menor distância e ligações não permitidas a vermelho.
• Função de distância aprendida através de KLFDA:
Esta função de distância é aprendida através da utilização de uma extensão não linear do mé-
todo Local Fisher Discriminant Analysis (LFDA). A não linearidade desta extensão é garantida
através de uma função de kernel, e.g., Gaussiana [23].
Este método começa por analisar separadamente cada azulejo de dimensões dmax × dmax
pixels, considerando a última coluna de dmax pixels de cada uma das quatro margens como
um ponto em Rdmax . Estes pontos são usados como conjunto de treino do método LFDA, que
é usado para classificar separadamente cada um dos pontos. Como quatro pontos formam um
conjunto de treino muito reduzido, este é ampliado introduzindo nove pontos por cada margem,
gerados adicionando ruído gaussiano (µ = 0 e σ2 = 1) ao ponto original. Deste modo, um
azulejo passa a ser representado em Rdmax por 40 pontos. Como a separação deste conjunto
de treino em quatro classes (uma por cada margem) pode não ser definida por hiperplanos,
é utilizada uma função de kernel que mapeia o conjunto de treino num outro espaço onde se
espera que a separação das classes seja feita de forma linear.
19
Figura 3.8: Função de distância aprendida através de KLFDA no espaço de cores RGB - exemplo de um painel2x2 azulejos formado a partir do painel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias
global. Ligações mais escuras representam menor distância e ligações não permitidas a vermelho.
• Norma (Lp)q:
Esta função de distância foi sugerida por Pomeranz et al. [16] e é definida como uma potência
q de uma norma Lp, designada como norma (Lp)q e é expressa por,
s(i, j) =
(
3∑
c=1
dmax∑
d=1
(|mi(c, dmax, d)−mj(c, 1, d)|)p)
q
p
(3.3)
Esta distância foi motivada pelo facto de a distância Euclidiana (norma L-2) penalizar demasi-
ado (quadraticamente) diferenças grandes entre margens, sendo que estas diferenças grandes
existem realmente em imagens naturais. Como tal foram testadas outras normas L-p com
0 < p < 3 e para as 20 imagens da base de dados de Cho et al.[1] no espaço de cores RGB, o
valor p ≈ 0.3 mostrou-se adequado.
O valor de q não afecta a classificação das ligações uma vez que a potência será aplicada de
igual forma para todas as ligações mas foi usado por alegadamente melhorar a performance do
algoritmo de montagem em [16]. O valor utilizado por Pomeranz et al. é q = 1/16, não sendo
dada qualquer informação adicional sobre o método usado na sua obtenção.
Para calcular a distância aplicada aos valores dos espaços de cor é utilizada a equação (3.4).
s(i, j) =
(
3∑
c=1
dmax∑
d=1
(|mi(c, dmax, d)−mj(c, 1, d)|)310
)
524
(3.4)
20
Figura 3.9: Norma (Lp)q no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado a partir do
painel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias global. Ligações mais escurasrepresentam menor distância e ligações não permitidas a vermelho.
• Predição de Pomeranz:
Esta função de distância foi sugerida por Pomeranz et al. [16] e é motivada pela predição de
uma margem a partir do conteúdo de outra. Dada uma margem de um azulejo, esta distância
é calculada somando à ultima coluna de pixels da margem, a diferença dos pixels das suas
ultimas duas colunas. Deste modo é feita uma estimativa da primeira coluna da outra margem
envolvida na ligação. A qualidade desta estimativa pode ser calculada através da sua distância
a uma outra margem de outro azulejo, sendo utilizada a norma (Lp)q proposta por [16]. Este
cálculo é repetido para ambas as margem envolvidas na ligação, sendo expressa por,
s(i, j) =
[
3∑
c=1
dmax∑
d=1
(|2mi(c, dmax, d)−mi(c, dmax − 1, d)−mj(c, 1, d)|)310
+ (|2mj(c, 1, d)−mj(c, 2, d)−mi(c, dmax, d)|)310
]524
(3.5)
Figura 3.10: Predição de Pomeranz no espaço de cores RGB - exemplo de um painel 2x2 azulejos formado apartir do painel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias global. Ligações mais
escuras representam menor distância e ligações não permitidas a vermelho.
• Distância de Mahalanobis:
Esta função de compatibilidade foi sugerida por Gallagher et al. [17] e visa penalizar variações
21
de intensidade no gradiente das ligações. Para isso, é calculada a covariância entre os canais
de cor de cada margem e aplicada a distância de Mahalanobis.
Primeiramente é calculado o gradiente horizontal, GiL, entre as duas últimas colunas da mar-
gem i, que será posicionada à esquerda ou em cima, para os três canais de cor, c,
GiL(d, c) = mi(d, dmax, c)−mi(d, dmax−1, c) (3.6)
Através do gradiente horizontal é calculada a média de cada canal de cor, µiL,
µiL(c) =1
dmax
dmax∑
d=1
GiL(d, c)) (3.7)
Seguidamente é calculado o gradiente horizontal, GiLR, da margem i para a margem j, que
será posicionada à direita ou abaixo da margem j,
GiLR(d, c) = mj(d, 1, c)−mi(d, dmax, c) (3.8)
É então aplicada a distância de Mahalanobis, DLR(mi,mj), entre as duas margens,
DLR(mi,mj) =
3∑
c=1
dmax∑
d=1
[GiLR(d, c)− µiL(c)]S−1iL [GiLR(d, c)− µiL(c)]
T (3.9)
onde SiL é a covariância estimada a partir do gradiente horizontal, GiL(d, c).
De modo que esta função fosse simétrica foram somadas as distâncias para ambos os sentidos,
s(i, j) = DLR(mi,mj) +DLR(mj ,mi) (3.10)
Figura 3.11: Distância de Mahalanobis no espaço de cores RGB - exemplo de um painel 2x2 azulejos formadoa partir do painel Anjo. À esquerda as ligações originais e à direita a matriz de distâncias global. Ligações mais
escuras representam menor distância e ligações não permitidas a vermelho.
Os vários valores de distância s(i, j) definem a Matriz de distâncias global , S, de dimensões
4n× 4n. Esta matriz tem a particularidade de ser simétrica, s(i, j) = s(j, i), uma vez que a distância
entre duas margens não depende da orientação em que estas se encontram.
Como não tem qualquer sentido calcular a distância de uma margem de um azulejo com ou-
tra margem desse mesmo azulejo, colocam-se nos elementos em questão da matriz, um valor de
distância suficientemente alto para desencorajar qualquer ligação.
22
Para o problema da montagem do painel de azulejos, caso seja conhecida a orientação final de
cada azulejo, não existe necessidade de usar a Matriz de Distâncias Global, S, uma vez que esta
contem informação que nunca será usada para este problema. Por este motivo são apenas usadas
as seguintes matrizes:
• Slr - Matriz de distâncias horizontais , cada elemento desta matriz quantifica quão distante é
a margem direita de um azulejo à margem esquerda de outro;
• Stb - Matriz de distâncias verticais , cada elemento desta matriz quantifica quão distante é a
margem superior de um azulejo à margem inferior de outro;
Para um painel de azulejos de dimensões√n×√n, ambas as matrizes tem dimensão n×n, dado
que para qualquer caso (Slr e Stb) apenas uma margem de cada um dos n azulejos é comparada
com a margem oposta de todos os azulejos.
De referir que ambas as matrizes não são simétricas, dado que a distância varia caso a posição
de dois azulejos seja permutada, como demonstrado na Figura 3.12.
(a) (b)
(c)
Figura 3.12: Exemplo da não simetria das matrizes Slr e Stb. Na imagem c) está presente a matriz Slr, avermelho as ligações não permitidas, a cinza a ligação original (representada na imagem a) ) e a branco a
ligação incorrecta (representada na imagem b) )
3.3 Montagem de um painel com orientação dos azulejos conhe-cida - abordagem GQAP
Como já referido na Secção 2.3, o problema da montagem de um painel cuja orientação final dos
seus azulejos é conhecida, pode ser descrito como um GQAP. Segundo este problema, em cada
posição de um painel apenas um azulejo pode ser colocado e cada posição é descrita através de
duas componentes de distância em relação às posições adjacentes: horizontal e vertical.
Dado que este é um problema de optimização, a sua solução óptima, P ∗, é caracterizada por ser
a melhor solução dentro de um conjunto factível, sendo este formalmente definido por:
23
P ∗ = argmin trace(AhPSlrPT ) + trace(AvPStbP
T )subject to P ∈ P(n× n)
(3.11)
Como este problema tem uma complexidade NP-hard [19], tiveram que ser feitas algumas rela-
xações de modo que pudesse ser encontrada uma solução subóptima em tempo polinomial.
Soluções sub-óptimas através de relaxações convexas
Problema de Procrustes Ortogonal
No sentido de tornar este problema linear, uma das matrizes de permutação é substituída por uma
matriz ortogonal 1, Q (que pertence ao conjunto das matrizes ortogonais, O). É também adicionada a
restrição, P −Q = 0, que visa aproximar (de preferência igualar) ambas as matrizes de permutação e
ortogonal. Esta relaxação do problema é formalmente descrita pelo problema de optimização (3.12).
P ∗ = argmin trace(AhPSlrQT ) + trace(AvPStbQ
T )subject to P ∈ P(n× n)
Q ∈ O(n× n)P −Q = 0
(3.12)
Aplicando o método Lagrangiano Aumentado (Augmented Lagrangian method) ao problema de
optimização (3.12) obtém-se a seguinte função:
Lσ(P,Q;R) = trace(AhPSlrQT +AvPStbQ
T )− trace(RT (P −Q)) +σ
2‖P −Q‖2F (3.13)
Sendo R os multiplicadores de Lagrange, σ > 0 o peso do termo de penalização e ‖X‖ a norma de
Frobenius. A solução para o problema de optimização (3.12) é aquela que minimiza a função (3.13)
e pode ser obtida através do algoritmo Modelação Bilinear através do método dos multiplicadores de
Langrange (Bilinear modeling via Augmented Lagrange Multipliers) (BALM) [18] descrito no Algoritmo
3.1.
Foram usados como referência os valores propostos em [18] para R, σ, ε e η mas foram testados
outros valores. Para resolver o problema (3.14) foi usado um método iterativo, que resolve este
problema fixando alternadamente as variáveis de optimização P e Q.
Este método iterativo é apresentado no Algoritmo 3.2. A solução deste algoritmo baseia-se na
resolução alternada de dois problemas de optimização, (3.15) e (3.16), sendo estes repetidos um
numero fixo de vezes, Lmax.
O problema (3.15) tem como variável de optimização, Q, sendo as restantes variáveis constan-
tes. Substituindo o termo Lσ(k)(P [l], Q;R(k)) pela função (3.13) e ignorando os termos constantes, o
problema é equivalente a,
Q[l+1] = argmin trace(ZTQ)subject to Q ∈ O(n× n)
Z = AhP[l]Slr +AvP
[l]Stb +R(k) − σP (l)
(3.17)
Como, argminf(x) = argmax− f(x), obtém-se,
1Matriz ortogonal é uma matriz necessariamente quadrada, invertível, unitária e normal.
24
Algoritmo 3.1 Método BALM
1: k = 0 e εbest = +∞2: inicializar R(0), σ(0), γ > 1 e 0 < η < 13: inicializar P (0)
4: repeat5: resolver
(P (k+1), Q(k+1)) = argmin Lσ(k)(P,Q;R(k))subject to P ∈ P(n× n)
Q ∈ O(n× n)
(3.14)
segundo o Algoritmo 3.26: ε = ‖P −Q‖2F7: if ε > ηεbest8: R(k+1) = R(k) − σ(k)(P (k+1) −Q(k+1))9: σ(k+1) = σ(k)
10: εbest = ε11: else12: R(k+1) = R(k)
13: σ(k+1) = γσ(k)
14: end if15: update k ← k + 116: until ε < εmin ou k = kmax
Algoritmo 3.2 Método iterativo para resolver (3.14)
1: l = 0 e escolher Lmax
2: P [0] = P (k)
3: repeat4: resolver
Q[l+1] = argmin Lσ(k)(P [l], Q;R(k))subject to Q ∈ O(n× n)
(3.15)
5: resolverP [l+1] = argmin Lσ(k)(P,Q[l+1];R(k))
subject to P ∈ P(n× n)(3.16)
6: l← l + 17: until l = Lmax
8: P (k+1) = P [Lmax] e Q(k+1) = Q[Lmax]
25
Q[l+1] = argmax trace(−ZTQ)subject to Q ∈ O(n× n)
Z = AhP[l]Slr +AvP
[l]Stb +R(k) − σP (l)
(3.18)
Tal como demonstrado em [24] e [25], a matriz ortogonal que aproxima uma dada matriz, pode
ser obtida através da Decomposição em Valores Singulares (Singular Value Decomposition) (SVD).
Decompondo −ZT ,
− ZT = UΣV T (3.19)
Sendo U e V matrizes ortogonais que descrevem duas rotações e Σ uma matriz rectangular dia-
gonal com valores reais não-negativos que descreve um escalamento. Aplicando esta decomposição
ao problema (3.18),
Q[l+1] = argmax trace(ΣV TQU)subject to Q ∈ O(n× n)
(3.20)
Sendo V T , Q e U matrizes ortogonais, através da operação de grupo, V TQU é também ortogonal.
Como já referido, Σ é uma matriz rectangular diagonal com valores reais não-negativos e por este
motivo o máximo da função de custo de (3.20) acontece para V TQU = I. A solução do problema
(3.15) pode então ser facilmente calculada por,
Q[l+1] = Q = V UT (3.21)
O problema (3.16) tem como única variável de optimização a matriz de permutação, P . Substi-
tuindo o termo Lσ(k)(P,Q[l+1];R(k)) pela função (3.13) e ignorando os termos constantes, o problema
é equivalente a,
P [l+1] = argmin trace(WP )subject to P ∈ P(n× n)
W = SlrQ(l+1)TAh + StbQ
(l+1)TAv −R(k)T − σQ(l+1)T
(3.22)
Aplicando o método Húngaro (Hungarian method) [26] à matriz W , obtêm-se a solução para o
problema (3.16). Por este método sair fora do tema desta dissertação e por estar extensamente
documentado na literatura não será descrito o seu procedimento.
Como será referido e suportado no próximo capítulo 4, o método apresentado não resolve o
problema (3.11) com a eficácia desejada. Como tal, foi proposta uma relaxação do mesmo.
Aproximação de duas matrizes de Permutação
Um método alternativo de limitar a liberdade de soluções possíveis do problema (3.15) consiste
em substituir o problema de encontrar uma matriz ortogonal por um problema de encontrar uma outra
matriz de permutação. A solução deste novo problema é obtida através do método Húngaro [26], tal
como é resolvido o problema (3.16). Assim, o problema (3.15) é substituído pelo seguinte problema,
26
Q[l+1] = argmin Lσ(k)(P [l], Q;R(k))subject to Q ∈ P(n× n)
(3.23)
3.4 Montagem de um painel com orientação dos azulejos conhe-cida - abordagem Greedy
Outro método proposto para resolver este problema consiste na utilização de um algoritmo Gre-
edy. Pelo facto deste método se propor a resolver também um problema mais complexo que a
montagem de um painel quando a rotação de cada azulejo é conhecida, este método será descrito
em 3.5, onde será aplicado quando a rotação dos azulejos não é conhecida.
A montagem do painel procede-se de igual forma, quer a rotação dos azulejos seja conhecida ou
não, sendo apenas alterada a matriz de distâncias conhecida pelo método. No caso de ser conhecida
a orientação são usadas as matrizes de distâncias horizontais, Slr, e de distâncias verticais, Stb,
limitando a rotação dos azulejos. No caso de não ser conhecida a orientação é usada a matriz de
distâncias global, S, dando ao método total flexibilidade de colocação de azulejos.
3.5 Montagem de um painel com orientação dos azulejos des-conhecida
Devido à dificuldade de formalizar o conjunto de regras que define um painel de azulejos válido
numa função de custo, não foi possível encontrar um algoritmo que encontrasse garantidamente um
mínimo global para este problema. Ao invés, foi usado um algoritmo Greedy que procura um mínimo
local do problema, minimizando um custo (distâncias, neste caso) a cada iteração do mesmo.
O algoritmo para este problema, começa por procurar na Matriz de Distâncias Global, S, o ele-
mento de valor mais baixo. Deste modo, são identificadas as duas margens com menor distância
entre si (ver figura 3.13).
Figura 3.13: Primeiro passo da montagem Greedy, onde é efectuada a ligação de menor distância
Nesta fase da montagem, existindo seis margens disponíveis para ligar com um novo azulejo
dos n − 2 azulejos disponíveis, é criada uma máscara de tamanho 4n × 4n. O produto elemento-
a-elemento desta máscara com S, resulta numa nova matriz cujo mínimo corresponde à melhor
ligação possível para a configuração actual do painel. Esta máscara é constituída por uma matriz
27
de elementos com valores de distância suficientemente altos para desencorajar a sua ligação, cujas
linhas referentes às margens disponíveis para nova ligação dos azulejos presentes no painel são
anuladas. As colunas referentes aos azulejos já colocados são ainda preenchidas com o valores de
distância suficientemente altos, sendo que esta última regra prevalece sobre a anterior, fazendo com
que apenas ligações entre margens disponíveis dos azulejos já presentes no painel e margens dos
azulejos disponíveis para montar estejam presentes na matriz de distancias , S.
Este procedimento é repetido até que todos os azulejos sejam colocados no painel.
De modo que a eficácia deste algoritmo seja melhorada algumas heurísticas foram adicionadas:
• Margens Múltiplas - durante o processo de montagem do painel de azulejos, surgem posições
candidatas à colocação de um novo azulejo que se ligam ao painel em mais de uma margem
(ver exemplo da figura 3.14). Estas posições deverão ser analisadas prioritariamente e sepa-
radamente, esperando-se assim que com o aumento do número de ligações a analisar, o grau
de confiança de colocação de um novo azulejo aumente também.
Deste modo, o próximo azulejo a ser colocado no painel, será aquele que, para as posições
candidatas de maior número de ligações, obtiver um menor somatório de distâncias nas liga-
ções a criar.
Figura 3.14: Exemplo de uma situação com duas posições de múltiplas margens
Esta heurística tem ainda o efeito de produzir resultados visualmente mais agradáveis. Obri-
gando o painel final a apresentar um formato rectangular (ver exemplo da figura 3.15), evita-se
que este possa dispersar em várias direcções, ainda que eventualmente com um maior soma-
tório de todas as distâncias entre margens de azulejos adjacentes.
28
(a) (b)
Figura 3.15: Exemplo de painel final: Greedy com (imagem a) ) e sem (imagem b) ) heurística de preferênciapor Margens Múltiplas ao fim de 6 iteraç oes.
• Lowe Scores - quando uma das margens envolvidas numa nova ligação possui um segundo
melhor candidato com um valor próximo do primeiro, a ligação é rejeitada. Para realizar esta
comparação é efectuada uma relação entre a menor e a segunda menor distância de cada
margem envolvida na ligação e caso o valor desta relação seja inferior a um threshold (inglês
para limite) esta é rejeitada. Esta heurística foi proposta por David G. Lowe [27] e o que in-
tuitivamente propõe é que uma ligação não deve ser efectuada se existirem vários candidatos
próximos para a ligação. Com o avanço do algoritmo e consequentemente menos azulejos
candidatos, espera-se que esta ambiguidade desapareça.
29
30
4Análise Experimental
Conteúdos4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2 Estudo das funções de distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3 Estudo da montagem de um painel com orientação dos azulej os conhecida . . . 374.4 Estudo da montagem de um painel com orientação dos azulej os desconhecida 45
31
4.1 Introdução
A necessidade de classificar qualitativa e quantitativamente cada uma das funções de distância e
métodos de montagem do painel de azulejos, levaram à execução de um conjunto de experiências.
Primeiramente serão estudadas as funções de distância, sendo estas aplicada a várias imagens
naturais e painéis de azulejos.
Seguidamente serão efectuados vários testes relacionados com a montagem do painel de azule-
jos, sendo conhecida ou não a orientação final de cada azulejo.
No decorrer das várias experiências realizadas foram utilizadas duas bases de dados de imagens.
A primeira é composta por vinte imagens naturais, de dimensões 672x504 pixels, sugeridas por
Cho et al. [1]. Este conjunto de imagens foi posteriormente utilizado por Pomeranz et al. [16] e
Gallagher [17] e pode ser integralmente consultado no Apêndice A.1.
A segunda base de dados é composta por um conjunto de doze porções de painéis de dimen-
sões 5x5 azulejos reunidos propositadamente para este trabalho, podendo esta base de dados ser
consultada no Apêndice A.2. Cada painel é dividido, separando individualmente cada um dos seus
azulejos através da aplicação que foi criada para o efeito, podendo este processo ser consultado com
mais detalhe em 5.2.
De referir ainda que nenhum dos painéis escolhidos se refere a um padrão de azulejos, uma vez
que a monotonia e repetição dos mesmo não é objecto de estudo nesta dissertação.
4.2 Estudo das funções de distância
De modo que a eficácia das várias funções de distância propostas pudesse ser estudada, recorreu-
se à analise das suas curvas ROC.
A análise de curvas ROC é uma ferramenta extremamente útil na avaliação da qualidade de uma
classificação, possibilitando que através da área inferior de uma curva ou através do contorno da
mesma, seja possível quantificar a qualidade de um classificador.
Para desenhar uma curva ROC, para além da Matriz de Distâncias, S, é também necessário
conhecer uma avaliação correcta dos seus dados (também chamada de ground thruth). No caso de
um painel de azulejos, o ground thruth é uma matriz binária que identifica as margens originalmente
adjacentes.
Variando um threshold (inglês para limiar) incrementalmente, da menor para a maior distância
presentes na Matriz de Distâncias, S, são contabilizados o número de Verdadeiros Positivos - distân-
cias inferiores ao threshold que correspondem a margens adjacentes no ground truth - e de Falsos
Positivos - distâncias inferiores ao threshold que não correspondem a margens adjacentes no ground
truth. Estes valores são posteriormente normalizados, dando origem à Taxa de Verdadeiros Positivos
e à Taxa de Falsos Positivos. A curva ROC é apresentada num gráfico cujos eixos vertical e hori-
zontal correspondem respectivamente às Taxas de Verdadeiros Positivos e Falsos Positivos. A cada
incremento aplicado no threshold corresponde um ponto na curva ROC.
32
Duas curvas ROC podem ser comparadas através da Área inferior da curva ROC (Area Under
the Curve) (AUC), sendo que quanto maior a área inferior mais eficaz é o classificador.
Procedimento experimental
Após gerar um puzzle1 de 18x24 peças para cada uma das vinte imagens retiradas da base de
dados de Cho et al.[1] presentes no Apêndice A.1, foi calculada a matriz de distâncias para cada par
de feature/função de distância, introduzidos em 3.2.
A lista de features estudadas é constituída por: valores das imagens no espaço de cores RGB,
valores das imagens no espaço de cores HSV e valores das imagens no espaço de cores CIELAB; e
a lista de funções de distância por: distância Euclidiana, norma l-½ Função de distância aprendida
através de KLFDA, Norma (Lp)q, Predição de Pomeranz e distância de Mahalanobis.
Seguidamente foi calculada a curva ROC para cada matriz de distâncias obtida através de cada
par feature/função de distância para cada puzzle, sendo que através destas foi calculada a curva
ROC média para cada feature/função de distância. A curva média de cada feature/função de distân-
cia é calculada, efectuando a média da Taxa de Verdadeiros Positivos para cada valor da Taxa de
Falsos Positivos presente nas matrizes de distância referentes a cada imagem da base de dados.
Para o estudo dos pares feature/função de distância aplicados aos painéis de azulejos foi usado
um procedimento análogo ao descrito anteriormente. Porém, pelo facto de os painéis de azulejos
serem definidos por um conjunto de imagens individuais quadradas de cada azulejo, não existe a
necessidade de gerar um puzzle.
Para efeitos de teste, o ground thruth foi conhecido a priori, uma vez que este é essencial no
calculo das curvas ROC mas não acompanha as imagens dos azulejos.
Resultados
As curvas ROC médias obtidas para cada par de feature/função de distância, calculadas utili-
zando as vinte imagens que compõem a base de dados de Cho et al.[1], estão presentes na Figura
4.11Por gerar um puzzle entenda-se dividir uma imagem natural em várias peças quadradas, todas de dimensões iguais.
33
(a) RGB (b) CIELAB
(c) HSV
Figura 4.1: Comparaçao das várias funções de distância para as várias features utilizado a base de dados deCho et al.[1]. Curvas ROC médias para: (a) valores RGB, (b) valores CIELAB e (c) valores HSV.
Por observação dos gráficos da figura 4.1, duas funções destacam-se independentemente do
espaço de cor utilizado: a função de distância aprendida através de KLFDA e a distância de Mahala-
nobis.
A função de distância aprendida através de KLFDA destaca-se entre todas as outras funções
pela negativa. O fraco desempenho desta função é em grande parte explicado pela quantidade de
dados usados na aprendizagem. A aprendizagem é efectuada utilizando a informação dos pixels
das quatro margens de cada peça do puzzle. Neste sentido, os valores de intensidade dos pixels
da última coluna de cada margem de dmax pixels de cada peça são usados para representar um
ponto no espaço Rdmax. Como um conjunto de treino de apenas quatro pontos por cada azulejo é
insuficiente para efectuar uma classificação apropriada, são gerados mais nove pontos para cada
margem adicionando ruído ao ponto original, tal como descrito em 3.2. Como se pode ver pela curva
ROC desta função de distância, a tentativa de aumentar o conjunto de treino através de ruído não
representa uma opção válida para a utilização deste método.
34
A distância de Mahalanobis, por outro lado, destaca-se pela positiva. A penalização de variações
no gradiente de intensidade dos canais de cor, em vez da penalização de variações de intensidade
dos canais de cor (como utilizado em grande parte das restantes funções de distância), aliada a
uma distância de Mahalanobis mostrou-se bastante eficaz na medição de distância entre margens
de imagens naturais.
Para que se pudesse proceder à avaliação da montagem de puzzles de imagens naturais foi
escolhida a função de distância que melhores resultados apresentou nas experiências realizadas.
Assim, procedeu-se à comparação das áreas inferiores das curvas entre todas as funções de distân-
cia aplicadas a todos os espaços de cor.
Para que mais facilmente pudessem ser comparadas, as quatro melhores funções foram isoladas
no gráfico da Figura 4.2 e as respectivas áreas inferiores presentes na Tabela 4.1.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Taxa de Falsos Positivos
Tax
a de
Ver
dade
iros
Pos
itivo
s
dist. grand. de Mahalanobis (CIELAB)norma (L
p)q (CIELAB)
norma l−1/2 (CIELAB)dist. grand. de Mahalanobis (HSV)
Figura 4.2: Melhores quatro curvas ROC para a base de dados Cho et al.
Tabela 4.1: AUC das quatro melhores curvas ROC para a base de dados Cho et al.[1]
Função AUC
Distância de Mahalanobis (CIELAB) 0.9867Norma (Lp)
q (CIELAB) 0.9820
Norma l-½ (CIELAB) 0.9812Distância de Mahalanobis (HSV) 0.9794
Comparando as AUC, foi escolhida a função de distância de Mahalanobis aplicada ao espaço
de cores CIELAB por ser a função que maior área inferior obteve e consequentemente aquela que
melhor consegue classificar as ligações dos puzzles.
Seguidamente serão apresentadas na Figura 4.3, as curvas ROC médias obtidas para a base de
dados de azulejos presente no Anexo A.2.
35
(a) RGB (b) CIELAB
(c) HSV
Figura 4.3: Comparaçao das várias funções de distância para as várias features utilizando a base de dados depainéis de azulejos. Curvas ROC médias para: (a) valores RGB, (b) valores CIELAB e (c) valores HSV.
Através da comparação directa das curvas ROC obtidas para as imagens naturais (figuras 4.1) e
das curvas obtidas para os painéis de azulejos (figuras 4.3), é possível identificar um aumento signi-
ficativo de dificuldade na comparação de azulejos. Todas as dificuldades identificadas nos azulejos 2
fazem com que as AUCs desçam significativamente.
Através das curvas ROC obtidas é fácil prever que o processo de montagem de um painel de
azulejos será uma tarefa de dificuldade acrescida.
Tal como no estudo das funções de distância aplicadas a um puzzle de imagens naturais, foi
escolhida a função que melhor descreve as ligações de um painel de azulejos.
Para que mais facilmente pudessem ser comparadas, as quatro melhores funções de distância
foram isoladas no gráfico da Figura 4.4 e as respectivas áreas inferiores presentes na Tabela 4.2.
2Variações nas cores e fissuras no revestimento vidrado criadas durante a cozedura, escorrimento das pinturas, varia-ções das cores criadas por misturas de tintas diferentes, texturas criadas pela pincelada tipicamente pouco minuciosa e asdescontinuidades na pintura criadas pela passagem de um azulejo para outro estão presentes em qualquer painel. Deteri-oração do revestimento vidrado devido à exposição aos agentes erosivos e ainda cantos e margens danificados devido aomanuseamento dos azulejos após a sua remoção do local original.
36
Figura 4.4: Melhores quatro curvas ROC para a base de dados de azulejos
Tabela 4.2: Áreas inferiores das quatro melhores curvas ROC para a base de dados de azulejos
Função Área
Norma l-½ (CIELAB) 0.8899Norma (Lp)
q (CIELAB) 0.8895
Distância de Mahalanobis (CIELAB) 0.8814Predição de Pomeranz (HSV) 0.8779
Comparando as áreas inferiores das curvas ROC, foi escolhida a Norma l-½ aplicada ao espaço
de cores CIELAB por ser a função que maior área inferior obteve e consequentemente aquela que
melhor consegue classificar as ligações dos painéis.
4.3 Estudo da montagem de um painel com orientação dos azu-lejos conhecida
Procedimento experimental
Para estudar a eficácia dos dois métodos de montagem de um painel de azulejos descritos em
3.3: método BALM e algoritmo Greedy, estes foram primeiramente testados em imagens naturais.
Primeiramente, procedeu-se ao estudo da montagem através do método BALM, sendo este tes-
tado para as imagens da base de dados de Cho et al. [1]. As matrizes de distâncias utilizadas
foram calculadas através da função de distância de Mahalanobis, aplicada no espaço de cor CIELAB
(uma vez que este foi o par feature/função de distância que melhores resultados gerou para imagens
naturais em 4.2).
Tal como descrito em 3.3, este método necessita de uma matriz de permutação, P , como se-
mente inicial. Para que se pudesse eliminar a dependência da semente inicial no resultado final da
montagem, foram efectuadas 1000 experiências usando matrizes de permutação iniciais, P , aleató-
rias.
37
Este procedimento foi efectuado ainda para cada uma das relaxações apresentadas em 3.3:
Problema de Procrustes Ortogonal e Aproximação de duas matrizes de Permutação.
Efectuadas as experiências, os resultados finais foram avaliados segundo um critério proposto
por Cho e al. [1], Comparação de vizinhança. Este critério quantifica a fracção de pares de peças
adjacentes correctamente montadas mesmo que numa posição diferente da original e para o cálculo
deste critério de avaliação é necessário recorrer ao ground truth.
Após o estudo do primeiro método, seguiu-se o estudo da montagem de um painel de azulejos
utilizando um algoritmo Greedy descrito em 3.3.
As matrizes de distâncias utilizadas foram calculadas através da distância do gradiente de Maha-
lanobis aplicada no espaço de cor CIELAB para imagens naturais e norma l-½ aplicada no espaço
de cor CIELAB para painéis de azulejos.
No estudo deste método foram contempladas as heurísticas descritas em 3.3: Margens Múltiplas
e Lowe Scores, sendo estas utilizadas separadamente e em conjunto. Como a heurística de Lowe
Scores requer um limiar de rejeição de novas ligações, foram experimentados valores entre 0.05 e
0.95 com incrementos de 0.05.
Tal como no primeiro método, os resultados obtidos foram avaliados através do critério Compara-
ção de vizinhança [1].
Resultados - método BALM
De seguida são apresentados os dados relativos à montagem de vinte puzzles de dimensões
18x24 peças, retirados da base de dados de Cho et al.[1], com recurso à modelação bilinear através
do método dos multiplicadores de Lagrange Aumentado.
38
0
0.005
0.01
0.015
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Indice da imagem da base de bados Cho et al
Tax
a de
Com
para
cao
de V
izin
hanc
a
Figura 4.5: Taxa de Comparação média para a montagem do puzzle de 18x24 peças de cada imagem dabase de dados de Cho et al.[1] através do método BALM. Para cada imagem foram repetidas 1000 experiênciasutilizando sementes de montagem aleatórias. Os traços a vermelho representam os valores da mediana dasTaxas de Comparação de Vizinhança e os limites das caixas azuis correspondem aos primeiro e terceiro quar-tis. As extremidades dos tracejados representam os extremos das Taxas de Comparação de Vizinhança, sem
contabilizar os outliers (valores atípicos) que são representados pelas cruzes vermelhas
Como se pode concluir pela Figura 4.5, os resultados da montagens dos vinte puzzles são fran-
camente baixos. As medianas das Taxas de Comparação de Vizinhança são sempre inferiores a
0.005, sendo que este valor representa sensivelmente 4 ligações correctas em 822 possíveis.
O método utilizado na montagem, procura resolver um problema quadrático (mais especifica-
mente um GQAP) através de uma relaxação que iterativamente resolve dois subproblemas (Problema
de Procrustes Ortogonal e Método Húngaro). Iterativamente, as soluções destes dois subproblemas
convergem para uma mesma solução, resolvendo assim a relaxação do problema original.
A título de exemplo, é apresentada na Figura 4.6 a evolução deste método para uma dada se-
mente inicial para o exemplo Anjo.
39
0 5 10 15 20 25 30 35 402.4
2.6
2.8
3
3.2x 10
4
func
ao d
e cu
sto
orig
inal
iteracao
(a) Evolução da função de custo original
0 5 10 15 20 25 30 35 40−3
−2
−1
0
1x 10
8
func
ao L
agra
ngia
na A
umen
tada
iteracao
(b) Evolução da função Lagrangeano Aumentado
0 5 10 15 20 25 30 35 400
5
10
15
20
erro
iteracao
(c) Evolução do erro
Figura 4.6: Evolução do método BALM para o exemplo Anjo. Funções a verde representam valores de re-ferência para a solução correcta da montagem e valores a azul representam os valores obtidos pelo método
BALM
Para o exemplo Anjo, o método BALM apresentou uma solução com apenas 1 ligação correcta
em 12 possíveis, precisando de 37 iterações até que erro entre as matrizes de permutação, P , e
ortogonal, Q, calculado através de,
ε = ‖P −Q‖2F (4.1)
fosse inferior a um threshold próximo de 0 (ver figura 4.6c).
Na Figura 4.6a é possível identificar apenas dois valores para a função de custo original,
f(P ) = trace(AhPSlrPT ) + trace(AvPStbP
T ), (4.2)
onde P é a matriz de permutação obtida através do método BALM, Slr e Stb são respectivamente
as matrizes de distâncias horizontais e verticais, e Ah e Av são respectivamente as matrizes de
regras horizontais e verticais. Os dois valores desta função são explicados pelo facto de durante
todo o método BALM, a matriz de permutação, P , calculada apresentar apenas duas configurações
diferentes, resultando numa diminuição da função de custo original (4.2).
Observando a Figura 4.6b, pode observar-se que a função Lagrangeano Aumentado,
Lσ(P,Q;R) = trace(AhPSlrQT +AvPStbQ
T )− trace(RT (P −Q)) +σ
2‖P −Q‖2F , (4.3)
onde Q é a matriz ortogonal obtida através do método BALM, R são os multiplicadores de Lagrange
e σ o peso do termo de penalização,é maioritariamente marcada pela evolução dos multiplicadores
de Lagrange, R, e pelo peso do termo de penalização, σ. Apesar de à escala do gráfico da Figura
4.6b, poder parecer que a função Lagrangeano Aumentado, Lσ(P,Q;R), e função de custo original,
f(P ),convergem, estas estão distanciadas em 1.7971× 105.
40
O comportamento verificado para a montagem do exemplo Anjo apresentada, representa o com-
portamento que foi verificado na generalidade dos casos, identificando-se poucas alterações na ma-
triz de permutação, P , e algumas alterações na matriz ortogonal, Q, de modo a aproximar-se da
matriz P . Em conclusão, foi verificada uma maior disponibilidade do método para aproximar a matriz
Q da matriz P , que de aproximar a matriz P da solução do problema de optimização.
Foi ainda testada uma relaxação do método BALM, onde o Problema de Procrustes Ortogonal é
substituído por mais um Método Húngaro (ver 3.3). Deste modo, as matrizes P e Q passam a a ser
duas matrizes de Permutação.
Como se pode observar pela figura 4.7, esta relaxação do método BALM não veio trazer melhorias
em relação ao método original.
0
0.005
0.01
0.015
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Indice da imagem da base de bados Cho et al
Tax
a de
Com
para
cao
de V
izin
hanc
a
Figura 4.7: Taxa de Comparação média para a montagem do puzzle de 18x24 peças de cada imagem da basede dados de Cho et al.[1] através de uma relaxação método BALM. Para cada imagem foram repetidas 1000experiências utilizando sementes de montagem aleatórias. Os traços a vermelho representam os valores damediana das Taxas de Comparação de Vizinhança e os limites das caixas azuis correspondem aos primeiroe terceiro quartis. As extremidades dos tracejados representam os extremos das Taxas de Comparação de
Vizinhança
Dado que este método não conseguiu resolver o problema mais simples de montar um puzzle cuja
orientação final das peças é conhecida, este não foi submetido à montagem de painéis de azulejos.
Resultados - método Greedy
Os resultados obtidos para a montagem dos puzzles de dimensões 18x24 peças, retirados da
base de dados de Cho et al.[1], segundo o algoritmo Greedy, com e sem recurso às heurísticas
propostas, está presente na Tabela 4.3.
41
Tabela 4.3: Comparação de resultados na montagem de puzzles quando a orientação final de cada peça éconhecida, para as imagens da base de dados de Cho et al.[1]. Os valores destacados correspondem aos
melhores resultados de montagem por imagem.
sem Lowe Scores Margens Margens Múltiplas e Lowe Scoresheurística 0.50 0.55 0.60 0.65 0.70 0.75 Múltiplas 0.50 0.55 0.60 0.65 0.70 0.75
Imagem 1 0.66 0.878 0.815 0.784 0.747 0.763 0.728 0.208 0.2 0.242 0.242 0.242 0.181 0.180
Imagem 2 0.667 0.795 0.841 0.841 0.841 0.831 0.841 0.185 0.439 0.439 0.439 0.439 0.443 0.467
Imagem 3 0.885 1.000 0.999 0.988 0.988 0.971 0.933 0.338 0.328 0.381 0.381 0.28 0.381 0.381
Imagem 4 0.504 0.598 0.598 0.614 0.607 0.608 0.619 0.198 0.158 0.157 0.158 0.158 0.158 0.157
Imagem 5 0.968 0.895 1.000 1.000 1.000 0.975 0.975 0.464 0.470 0.464 0.464 0.464 0.464 0.464
Imagem 6 0.789 0.889 0.943 0.919 0.94 0.998 0.978 0.305 0.358 0.345 0.345 0.312 0.295 0.305
Imagem 7 0.783 0.868 0.892 0.868 0.918 0.917 0.872 0.168 0.447 0.760 0.760 0.281 0.211 0.28
Imagem 8 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.361 0.361 0.365 0.365 0.360 0.360 0.35
Imagem 9 0.988 1.000 1.000 1.000 0.987 0.988 0.987 0.236 0.243 0.242 0.242 0.242 0.242 0.242
Imagem 10 0.9 1.000 1.000 1.000 1.000 0.985 0.985 0.967 0.967 0.967 0.967 0.967 0.967 0.967
Imagem 11 0.853 0.945 0.962 0.962 0.963 0.961 0.901 0.262 0.203 0.24 0.252 0.255 0.255 0.255
Imagem 12 0.877 0.908 0.901 0.89 0.886 0.904 0.905 0.427 0.432 0.432 0.432 0.432 0.432 0.432
Imagem 13 0.764 0.881 0.896 0.882 0.882 0.854 0.863 0.202 0.287 0.287 0.287 0.287 0.287 0.288
Imagem 14 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.409 0.418 0.391 0.391 0.420 0.420 0.420
Imagem 15 0.779 0.856 0.912 0.875 0.909 0.837 0.851 0.214 0.299 0.227 0.227 0.227 0.227 0.227
Imagem 16 1.000 1.000 1.000 1.000 0.980 0.980 1.000 0.580 0.592 0.592 0.582 0.582 0.582 0.580
Imagem 17 0.967 1.000 1.000 1.000 1.000 1.000 1.000 0.367 0.872 0.872 0.367 0.367 0.367 0.367
Imagem 18 0.994 0.995 1.000 1.000 1.000 1.000 1.000 0.410 0.402 0.419 0.421 0.421 0.401 0.401
Imagem 19 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.978 0.978 0.978 0.978 0.978 0.978 0.978
Imagem 20 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.837 0.837 0.837 0.837 0.837 0.837 0.837
Média 0.8689 0.9254 0.9380 0.9312 0.9324 0.9286 0.9219 0.4058 0.4646 0.4819 0.4569 0.4275 0.4244 0.4289
Variância 0.0204 0.0102 0.0099 0.0102 0.0105 0.0107 0.0108 0.0630 0.0645 0.0679 0.0595 0.0570 0.0590 0.0577
Como se pode observar pela tabela 4.3, a montagem dos puzzles com recurso à heurística de
Margens Múltiplas (com ou sem heurística de Lowe Scores em simultâneo), produz quase sempre
resultados com uma Taxa de Comparação de Vizinhança inferior a uma montagem sem esta heu-
rística. Intuitivamente poderia esperar-se o contrário, uma vez que a razão para a implementação
desta heurística consiste na preferência de colocação de novas peças em posições com mais que
uma ligação, esperando que mais ligações contribuam para colocação com maior confiança.
A diferença entre os resultados esperados e os resultados obtidos reside no facto de a função
de distância não ser perfeita, levando à colocação errada de algumas peças. A verificação deste
acontecimento implica que no futuro será colocada uma peça cujas novas ligações minimizem si-
multaneamente a distância a uma peça correctamente colocada e outra incorrectamente colocada,
levando provavelmente à colocação de uma peça que não cria nenhuma ligação correcta. A coloca-
ção errada de uma nova peça, leva a que este processo se volte a repetir. Tal não acontece sem esta
heurística, uma vez que na colocação de uma nova peça apenas é analisada uma margem, podendo
assim criar pelo menos uma ligação correcta.
É ainda de notar que a utilização da heurística de Lowe Scores produz quase sempre resultados
com uma Taxa de Comparação de Vizinhança superior, quer em simultâneo com a heurística de
Margens Múltiplas ou não. O motivo para esta melhoria na montagem dos puzzles é justificada pela
rejeição de novas ligações sempre que não se destaquem como a melhor ligação entre todas as
possíveis. O esperado é que com o evoluir do algoritmo, as margens em questão sejam rejeitadas
suficiente número de vezes, diminuindo a quantidade de posições candidatas à sua colocação até
que seja mais evidente a sua colocação. Assim, sempre que a relação entre a melhor e a segunda
melhor ligações possíveis para cada margem envolvida na colocação de uma nova peça seja su-
perior a um threshold será rejeitada, mesmo que a melhor ligação candidata tenha uma distância
sedutoramente baixa. Esta heurística é extremamente útil para imagens com zonas muito homo-
42
géneas, como por exemplo porções de céu, que por existirem variações de cor muito subtis, leva
a que todas as ligações entre margens desta porção sejam extremamente baixas. Através desta
heurística, estas porções muito homogéneas são montadas numa fase mais avançada do algoritmo
e consequentemente em zonas mais limitadas do puzzle. Um exemplo deste caso é apresentado na
figura 4.8, onde na imagem da esquerda está apresentado o resultado final da montagem do puzzle
através do algoritmo Greedy e com recurso à heurística de Lowe Scores. Na imagem da direita está
apresentado o resultado final do puzzle montado apenas através do algoritmo Greedy, sendo possí-
vel verificar que o céu, por ser uma zona muito homogénea da imagem, foi erradamente usado como
parte central da imagem por sido montado numa fase inicial do algoritmo, produzindo um resultado
substancialmente pior que o da imagem da esquerda.
No sentido de tentar perceber de que forma a variação do threshold de rejeição de ligações in-
fluencia o resultado final da montagem de um puzzle, foram efectuados vários testes variando o
threshold entre os valores 0.05 e 0.95 com incrementos de 0.05. No entanto, na tabela 4.3 apenas
constam resultados para valores entre 0.50 e 0.75, visto serem os valores de maior relevância. Poste-
riormente foram calculadas a média e respectiva variância das taxas de Comparação de Vizinhança
de cada puzzle da base de dados montado, para cada incremento do threshold.
Como se pode concluir através da tabela 4.3, para o problema da montagem de um puzzle
gerado a partir de uma imagem natural, cuja orientação final d e cada peça é conhecida, o
método proposto que melhor taxa de Comparação de Vizinhança média gerou, consiste na
montagem através de um algoritmo Greedy auxiliado pela heurística de Lowe Scores e um
threshold de 0.55. De referir ainda que este foi ainda o método que maior consistência de resultados
apresentou, como se pode concluir pelo menor valor de variância de 0.099 obtido.
Figura 4.8: Exemplo de montagem do puzzle da imagem 14 da base de dados de Cho et al. [1]. A imagemda esquerda apresenta o resultado final da montagem do puzzle através do algoritmo Greedy e com recursoà heurística de Lowe Scores. A imagem da direita apresenta o resultado final da montagem do puzzle apenas
através do algoritmo Greedy
43
Como referido em 1.2, a montagem de um puzzle de peças quadradas, gerado a partir de imagens
naturais cuja orientação final de cada peça é conhecida, já foi elemento de estudo de Cho et al.[1],
Pomeranz et al.[16] e Gallagher [17]. Ainda que Cho et al. utilize uma imagem de baixa resolução
como auxílio na montagem e Pomeranz et al. utilize as dimensões finais do puzzle na montagem, o
método proposto foi confrontado com os vários métodos que se propõem a resolver o problema.
Os resultados para puzzles de 18x24 peças, gerados através das imagens da base de dados de
Cho et al.[1], obtidos pelos quatro métodos de montagem de puzzles está presente na Tabela 4.4.
Tabela 4.4: Comparação de resultados na montagem de puzzles quando a orientação final de cada peça éconhecida para as imagens da base de dados de Cho et al.[1]. Os valores destacados correspondem aos
melhores resultados de montagem por imagem.
Proposto Cho et al. Pomeranz et al. Gallagher(2012) (2010) [28] (2011) [29] (2012) [30]
Imagem 1 0.815 0.438 0.804 0.876Imagem 2 0.841 0.425 0.798 0.819Imagem 3 0.999 0.649 0.977 1.000Imagem 4 0.598 0.488 0.707 0.636Imagem 5 1.000 0.519 1.000 1.000Imagem 6 0.943 0.535 0.522 0.985Imagem 7 0.892 0.258 0.890 1.000Imagem 8 1.000 0.551 1.000 1.000Imagem 9 1.000 0.462 0.950 0.985Imagem 10 1.000 0.501 1.000 1.000Imagem 11 0.962 0.675 0.944 1.000Imagem 12 0.901 0.579 1.000 0.883Imagem 13 0.896 0.447 0.865 0.880Imagem 14 1.000 0.547 1.000 1.000Imagem 15 0.912 0.4 0.862 0.956Imagem 16 1.000 0.507 1.000 1.000Imagem 17 1.000 0.716 0.960 1.000Imagem 18 1.000 0.393 0.593 1.000Imagem 19 1.000 0.585 1.000 1.000Imagem 20 1.000 0.680 0.569 1.000
Média 0.9380 0.5178 0.8720 0.9510Variância 0.0099 0.0126 0.0250 0.0086
Os resultados obtidos para os métodos que também se propõem a resolver este problema, foram
adquiridos através dos softwares disponibilizados a 10 de Setembro de 2012 nos sites correspon-
dentes [28], [29] e [30].
Como se pode concluir, o método proposto apresenta resultados de taxa de Comparação de
Vizinhança média próximos do actual estado de arte. Ainda que o método de Gallagher apresente
resultados melhores e mais consistentes, o método proposto obtêm consistentemente resultados
muito próximos deste.
Os resultados obtidos para a montagem dos painéis de dimensões 5x5 azulejos, da base de
dados presente no Anexo A.2, segundo o algoritmo Greedy, com e sem recurso às heurísticas pro-
44
postas, está presente na Tabela 4.5.
Tabela 4.5: Comparação de resultados de montagem dos painéis de azulejos quando a orientação final decada azulejo é conhecida para base de dados presente no Anexo A.2. Os valores destacados correspondem
aos melhores resultados de montagem por imagem.
sem Lowe Scores Margens Margens Múltiplas e Lowe Scoresheurística 0.70 0.75 0.80 0.85 0.90 0.95 Múltiplas 0.70 0.75 0.80 0.85 0.90 0.95
Painel 1 0.457 0.441 0.562 0.500 0.485 0.576 0.457 0.667 0.282 0.282 0.525 0.667 0.641 0.621
Painel 2 0.281 0.314 0.306 0.400 0.419 0.344 0.343 0.237 0.200 0.200 0.385 0.225 0.125 0.125
Painel 3 0.528 0.528 0.722 0.588 0.600 0.657 0.568 0.718 0.825 0.641 0.641 0.825 0.825 0.825
Painel 4 0.472 0.541 0.667 0.639 0.621 0.538 0.553 0.275 0.500 0.500 0.500 0.575 0.282 0.282
Painel 5 0.343 0.333 0.500 0.429 0.378 0.444 0.486 0.410 0.350 0.282 0.400 0.359 0.200 0.103
Painel 6 0.378 0.417 0.444 0.765 0.394 0.571 0.543 0.250 0.225 0.225 0.200 0.325 0.333 0.308
Painel 7 0.424 0.407 0.364 0.500 0.371 0.500 0.424 0.225 0.225 0.231 0.231 0.231 0.425 0.225
Painel 8 0.529 0.529 0.515 0.515 0.368 0.457 0.455 0.300 0.333 0.333 0.333 0.256 0.300 0.300
Painel 9 0.711 0.351 0.737 0.400 0.737 0.703 0.737 0.625 0.615 0.615 0.650 0.650 0.700 0.625
Painel 10 0.879 0.879 0.879 0.879 0.879 0.879 0.879 0.385 0.385 0.385 0.385 0.385 0.385 0.385
Painel 11 0.322 0.345 0.313 0.265 0.257 0.469 0.323 0.154 0.128 0.179 0.205 0.205 0.205 0.154
Painel 12 0.667 0.469 0.676 0.684 0.700 0.800 0.865 0.342 0.289 0.410 0.410 0.289 0.500 0.500
Média 0.4993 0.4628 0.5571 0.5470 0.5174 0.5782 0.5528 0.3823 0.3631 0.3569 0.4054 0.4160 0.4101 0.3711
Variância 0.0314 0.0236 0.0334 0.0299 0.0352 0.0244 0.0341 0.0353 0.0390 0.0248 0.0234 0.0436 0.0473 0.0516
Tal como na montagem de puzzles através de um algoritmo Greedy, os melhores resultados
de taxa de comparação de vizinhança foram obtidos com recurso à heurística de Lowe Scores. A
rejeição de novas ligações sempre que estas não se destaquem como a melhor ligação entre todas
as possíveis provou-se uma melhoria também na montagem de painéis de azulejos.
De notar ainda que o valor de threshold que produz a taxa de comparação de vizinhança média
mais elevada, 0.90, é superior ao obtido na montagem de puzzles, 0.55. O motivo para a subida deste
valor está relacionado com a qualidade da classificação das funções de distância. Como estudado
anteriormente (em 4.2), todas as funções de distância obtiveram piores resultados na classificação
de painéis de azulejos, quando comparados com os resultados obtidos para puzzles. Como tal, a
distância entre uma classificação correcta e uma classificação incorrecta será menor. Este facto leva
a que o threshold tenha que aumentar, não exigindo que novas ligações se tenham de destacar tanto
como a melhor ligação entre todas as possíveis para serem efectuadas.
Como se pode concluir através da Tabela 4.5, para o problema da montagem de um painel
de azulejos, cuja orientação final de cada azulejo é conhecid a, o método proposto que me-
lhor taxa de Comparação de Vizinhança média gerou, consiste na montagem através de um
algoritmo Greedy auxiliado pela heurística de Lowe Scores e um threshold de 0.90.
4.4 Estudo da montagem de um painel com orientação dos azu-lejos desconhecida
Procedimento experimental
Para estudar a eficácia do algoritmo de montagem de um painel, quando a orientação de cada
azulejo é desconhecida, foram montados vários puzzles de imagens naturais e painéis de azulejos.
Primeiramente, procedeu-se à montagem dos puzzles gerados a partir de imagens naturais retira-
das da base de dados de Cho et al.[1], utilizando o algoritmo greedy descrito em 3.5. Na montagem,
45
foram utilizadas matrizes de distâncias calculadas através da função de distância de Mahalanobis
aplicada no espaço de cor CIELAB (uma vez que este foi o par feature/função de distância que
melhores resultados gerou para imagens naturais em 4.2).
Para cada puzzle, procedeu-se ainda à montagem aplicando as heurísticas de Margens Múltiplas
e Lowe Scores, sendo estas utilizadas separadamente e em conjunto. Como a heurística de Lowe
Scores requer um limiar de rejeição de novas ligações, foram experimentados valores entre 0.05
e 0.95 com incrementos de 0.05 (sendo que nas experiências apenas constam resultados para o
conjunto de valores de maior relevância).
Seguidamente foi aplicado este mesmo procedimento à montagem dos painéis de azulejos que
constam na base de dados presente no Anexo A.2. Para esta base de dados, as matrizes de distância
utilizadas foram calculadas através da Norma l-½ aplicada ao espaço de cores CIELAB (uma vez que
este foi o par feature/função de distância que melhores resultados gerou para painéis de azulejos em
4.2).
Efectuadas as experiências, os resultados foram avaliados através do parâmetro Comparação de
vizinhança [1].
Relembra-se que em nenhuma fase do processo de montagem existe qualquer tipo de informação
inicial referente à solução quer este seja na forma de referências de orientação dos azulejos ou
dimensões do painel de azulejos.
Resultados
Os resultados obtidos para a montagem dos puzzles de dimensões 18x24 peças, retirados da
base de dados de Cho et al.[1], segundo o algoritmo Greedy, com e sem recurso às heurísticas
propostas, está presente na Tabela 4.6.
Tabela 4.6: Comparação de resultados na montagem de puzzles quando a orientação final de cada peça édesconhecida para as imagens da base de dados de Cho et al.[1]. Os valores destacados correspondem aos
melhores resultados de montagem por imagem.
sem Lowe Scores Margens Margens Múltiplas e Lowe Scoresheurística 0.50 0.55 0.60 0.65 0.70 0.75 Múltiplas 0.50 0.55 0.60 0.65 0.70 0.75
Imagem 1 0.641 0.815 0.768 0.848 0.775 0.794 0.728 0.11 0.161 0.161 0.14 0.174 0.148 0.15
Imagem 2 0.640 0.821 0.821 0.795 0.788 0.781 0.773 0.166 0.224 0.238 0.206 0.206 0.206 0.203
Imagem 3 0.885 0.943 0.980 0.994 0.988 0.989 0.965 0.191 0.265 0.258 0.266 0.274 0.274 0.214
Imagem 4 0.528 0.601 0.624 0.617 0.643 0.637 0.65 0.132 0.176 0.176 0.186 0.186 0.285 0.285
Imagem 5 0.942 0.985 1.000 1.000 1.000 0.990 0.984 0.572 0.434 0.708 0.659 0.572 0.572 0.572
Imagem 6 0.837 0.884 0.931 0.902 0.926 0.944 0.896 0.189 0.254 0.257 0.268 0.259 0.275 0.275
Imagem 7 0.693 0.790 0.732 0.795 0.872 0.907 0.902 0.172 0.124 0.197 0.476 0.611 0.630 0.630
Imagem 8 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.311 0.311 0.311 0.325 0.324 0.310 0.310
Imagem 9 0.988 1.000 1.000 1.000 1.000 0.988 0.988 0.286 0.286 0.286 0.194 0.287 0.282 0.282
Imagem 10 0.903 0.981 0.996 0.936 1.000 0.953 1.000 0.799 0.799 0.791 0.791 0.791 0.971 0.795
Imagem 11 0.890 0.926 0.898 0.960 0.954 0.978 0.901 0.156 0.221 0.2 0.146 0.146 0.262 0.282
Imagem 12 0.786 0.857 0.862 0.842 0.876 0.855 0.824 0.387 0.359 0.359 0.359 0.359 0.382 0.392
Imagem 13 0.656 0.877 0.879 0.855 0.863 0.864 0.858 0.168 0.207 0.207 0.212 0.212 0.212 0.212
Imagem 14 0.967 1.000 1.000 1.000 1.000 1.000 1.000 0.391 0.391 0.409 0.409 0.409 0.409 0.409
Imagem 15 0.77 0.826 0.900 0.909 0.883 0.876 0.825 0.122 0.24 0.214 0.219 0.219 0.219 0.219
Imagem 16 0.936 0.984 0.974 0.995 0.958 0.973 0.994 0.245 0.534 0.540 0.540 0.547 0.547 0.547
Imagem 17 0.973 1.000 1.000 1.000 1.000 0.985 0.985 0.275 0.872 0.872 0.742 0.266 0.266 0.266
Imagem 18 0.973 1.000 0.988 1.000 1.000 1.000 1.000 0.366 0.34 0.356 0.356 0.337 0.366 0.366
Imagem 19 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.977 0.977 0.977 0.977 0.977 0.977 0.977
Imagem 20 0.996 1.000 1.000 1.000 1.000 1.000 0.996 0.87 0.87 0.87 0.87 0.87 0.87 0.87
Média 0.8502 0.9145 0.9177 0.9224 0.9263 0.9257 0.9134 0.3443 0.4022 0.4194 0.4170 0.4013 0.4231 0.4128
Variância 0.0219 0.0112 0.0118 0.0107 0.0099 0.0096 0.0112 0.0676 0.0700 0.0731 0.0674 0.0604 0.0657 0.0578
46
Tal como na montagem de puzzles onde a orientação de cada peça é conhecida, a utilização
da heurística de Margens Múltiplas produz resultados com uma Taxa de Comparação de Vizinhança
inferior a uma montagem sem esta heurística. A razão para esta diferença de resultados mantém-se,
a colocação errada de uma única peça leva a que numa futura colocação sejam minimizadas simul-
taneamente ligações com uma peça correctamente colocada e uma peça incorrectamente colocada.
Esta situação promove uma colocação errada de uma nova peça levando a que este processo se
volte a repetir.
A utilização da heurística de Lowe Scores, provou-se mais uma vez uma boa escolha, uma vez
que através da utilização desta foi possível reconstituir totalmente 12 puzzles (ainda que com dife-
rentes thresholds).
Como se pode concluir através da Tabela 4.6, para o problema da montagem de um puzzle
gerado a partir de uma imagem natural, cuja orientação final d e cada peça é desconhecida,
o método proposto que melhor taxa de Comparação de Vizinhanç a média gerou, consiste na
montagem através de um algoritmo Greedy auxiliado pela heurística de Lowe Scores com um
threshold de 0.65.
À semelhança do que foi feito em 4.3, método proposto foi confrontado com os métodos que
actualmente se propõem a resolver o problema, sendo que neste caso, o único método que se
propõe a resolver este problema foi o formulado por Gallagher [17].
Os resultados para puzzles de 18x24 peças, gerados através das imagens da base de dados de
Cho et al.[1], obtidos pelos dois métodos de montagem de puzzles está presente na Tabela 4.7.
47
Tabela 4.7: Comparação de resultados na montagem de puzzles quando a orientação final de cada peça édesconhecida para as imagens da base de dados de Cho et al.[1]. Os valores destacados correspondem aos
melhores resultados de montagem por imagem.
Proposto GallagherImagem 1 0.775 0.713Imagem 2 0.788 0.771Imagem 3 0.988 0.894Imagem 4 0.643 0.638Imagem 5 1.000 0.975Imagem 6 0.926 0.929Imagem 7 0.872 0.729Imagem 8 1.000 1.000Imagem 9 1.000 0.927Imagem 10 1.000 1.000Imagem 11 0.954 1.000Imagem 12 0.876 0.715Imagem 13 0.863 0.815Imagem 14 1.000 1.000Imagem 15 0.883 0.861Imagem 16 0.958 0.828Imagem 17 1.000 1.000Imagem 18 1.000 1.000Imagem 19 1.000 1.000Imagem 20 1.000 1.000
Média 0.9263 0.8898Variância 0.0099 0.0149
Como se pode concluir através dos dados da Tabela 4.7, o método proposto obteve uma taxa
de Comparação de Vizinhança média superior ao único método que também se propõe a resolver
o problema de montagem de um puzzle cuja orientação original das peças é desconhecida. Não
só o método proposto apresenta melhores resultados médios, como apresenta uma consistência de
resultados superior ao método proposto por Gallagher [17], conseguindo montar correctamente 9 das
20 imagens (mais uma que o método de Gallagher ).
Os resultados obtidos para a montagem dos painéis de dimensões 5x5 azulejos, da base de
dados presente no Anexo A.2, segundo o algoritmo Greedy, com e sem recurso às heurísticas pro-
postas, esta presente na Tabela 4.8.
48
Tabela 4.8: Comparação de resultados de montagem dos painéis de azulejos quando a orientação final de cadaazulejo é desconhecida para base de dados presente no Anexo A.2. Os valores destacados correspondem aos
melhores resultados de montagem por imagem.
sem Lowe Scores Margens Margens Múltiplas e Lowe Scoresheurística 0.70 0.75 0.80 0.85 0.90 0.95 Múltiplas 0.70 0.75 0.80 0.85 0.90 0.95
Painel 1 0.278 0.278 0.278 0.273 0.270 0.432 0.333 0.333 0.237 0.237 0.200 0.175 0.308 0.359
Painel 2 0.156 0.156 0.156 0.176 0.233 0.353 0.242 0.100 0.125 0.125 0.179 0.179 0.275 0.150
Painel 3 0.167 0.294 0.294 0.167 0.167 0.167 0.222 0.175 0.350 0.350 0.150 0.175 0.150 0.150
Painel 4 0.394 0.303 0.303 0.405 0.216 0.421 0.371 0.154 0.225 0.300 0.179 0.103 0.150 0.105
Painel 5 0.344 0.323 0.294 0.333 0.316 0.200 0.281 0.237 0.150 0.225 0.179 0.128 0.231 0.237
Painel 6 0.243 0.229 0.222 0.222 0.263 0.303 0.324 0.200 0.231 0.154 0.179 0.179 0.200 0.200
Painel 8 0.257 0.344 0.344 0.344 0.222 0.265 0.182 0.125 0.077 0.077 0.077 0.205 0.205 0.128
Painel 9 0.297 0.200 0.200 0.216 0.222 0.343 0.324 0.333 0.300 0.300 0.300 0.300 0.225 0.385
Painel 10 0.290 0.235 0.394 0.344 0.273 0.379 0.258 0.550 0.550 0.205 0.150 0.175 0.150 0.550
Painel 11 0.485 0.806 0.529 0.657 0.848 0.765 0.750 0.395 0.410 0.395 0.385 0.385 0.359 0.308
Painel 12 0.303 0.250 0.323 0.323 0.258 0.226 0.273 0.103 0.125 0.125 0.205 0.205 0.077 0.077
Painel 13 0.394 0.353 0.407 0.250 0.361 0.455 0.405 0.100 0.125 0.282 0.256 0.250 0.250 0.250
Média 0.3007 0.3142 0.3120 0.3092 0.3041 0.3591 0.3304 0.2338 0.2421 0.2313 0.2033 0.2049 0.2150 0.2416
Variância 0.0089 0.0274 0.0101 0.0175 0.0318 0.0251 0.0214 0.0201 0.0196 0.0096 0.0063 0.0058 0.0061 0.0192
Tal como na montagem de puzzles através de um algoritmo Greedy, os melhores resultados
de taxa de comparação de vizinhança foram obtidos com recurso à heurística de Lowe Scores. A
rejeição de novas ligações sempre que estas não se destaquem como a melhor ligação entre todas
as possíveis provou-se uma melhoria também na montagem de painéis de azulejos.
De notar também que, tal como na montagem de painéis cuja orientação final de cada azulejo
é conhecida, existe um aumento do valor de threshold (0.90) que produz a taxa de comparação de
vizinhança média mais elevada face ao valor de threshold (0.65) obtido na montagem de puzzles. O
motivo para a subida deste valor é o mesmo que foi referido na montagem quando a orientação final
de cada azulejo é conhecida e está relacionado com a qualidade da classificação das funções de
distância. Como todas as funções de distância obtiveram piores resultados na classificação de pai-
néis de azulejos, quando comparados com os resultados obtidos para puzzles, a distância entre uma
classificação correcta e uma classificação incorrecta será menor. Este facto leva a que o threshold
tenha que aumentar, não exigindo que novas ligações se tenham de destacar tanto como a melhor
ligação entre todas as possíveis para serem efectuadas.
Como se pode concluir através da Tabela 4.8, para o problema da montagem de um painel
de azulejos, cuja orientação final de cada azulejo é desconhe cida, o método proposto que
melhor taxa de Comparação de Vizinhança média gerou, consis te na montagem através de
um algoritmo Greedy auxiliado pela heurística de Lowe Scores e um threshold de 0.90.
49
50
5Aplicações desenvolvidas
Conteúdos5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2 Aplicação de captura de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 Plataforma de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
51
5.1 Introdução
No decorrer deste trabalho provou-se inevitável a criação de duas aplicações que facilitassem
todo o processo e que juntassem os vários algoritmos desenvolvidos.
Seguidamente são descritas as duas aplicações desenvolvidas.
5.2 Aplicação de captura de imagens
Esta aplicação foi criada com o objectivo de facilitar o processo de captura e correcção das ima-
gens a utilizar na montagem de um painel de azulejos.
Mantendo um ambiente minimalista, com apenas duas áreas reservadas a imagens e quatro
botões, a imagem carregada (proveniente quer de uma câmara conectada ao computador, quer de
um ficheiro de imagem) é apresentada do lado esquerdo da aplicação (ver Figura 5.1).
Após carregada a imagem, esta é preferencialmente corrigida de modo automático. Através da
transformadas de Hough [22] são encontrados os cantos do azulejo e de seguida é aplicada uma
homografia, corrigindo assim a perspectiva e cortando a imagem original de modo a ficar com uma
imagem quadrada apenas com o azulejo. A imagem corrigida é apresentada ao utilizador do lado
direito da aplicação (ver Figura 5.1).
Caso o utilizador fique satisfeito com resultado obtido, pode guardar a imagem, caso contrário
ou caso a correcção automática falhe (podendo acontecer se o azulejo tiver margens demasiado
danificadas), é possível corrigir a imagem manualmente. Clicando nos quatro cantos do azulejo
na imagem original, é aplicada uma homografia, resultando numa imagem quadrada apenas com o
azulejo.
Figura 5.1: Exemplo de utilização da aplicação na captura e correcção automática da perspectiva de um azulejo.
52
Para efeitos de testes de montagem de um painel de azulejos, é possível obter separadamente
cada um dos azulejos através de uma única imagem do painel previamente montado. Para isso,
após ter sido carregada a imagem, o utilizador corrige manualmente cada um dos azulejos, como
exemplificado na Figura 5.2.
Figura 5.2: Exemplo de utilização da aplicação na divisão de um painel previamente fotografado nos seusazulejos constituintes.
5.3 Plataforma de testes
Esta aplicação foi desenvolvida com o objectivo de juntar os vários métodos e algoritmos usados
na montagem do painel de azulejos. Esta demonstrou ser particularmente útil durante a fase de
testes e experimentações, apresentando resultados de uma forma mais compacta e personalizada.
A utilização desta aplicação começa com escolha de uma imagem ou conjunto de imagens. No
caso de uma única imagem, esta é dividida em quadrados mais pequenos de acordo com as dimen-
sões pretendidas pelo utilizador, sendo que no caso de ser escolhido um conjunto de imagens, esta
divisão já está efectuada.
Seguidamente, usando um menu global, é escolhida a feature das imagens a comparar, assim
como a função de distância. Usando duas zonas separadas da aplicação são apresentadas grafi-
camente duas matrizes: à esquerda as ligações originais do painel e à direita as distâncias entre
margens calculadas (ver Figura 5.3).
53
Figura 5.3: Exemplo da janela principal da aplicação de testes: à esquerda o ground truth do painel e à direitaas distâncias entre margens calculadas através de uma dada função de distância.
Após calcular a matriz de distâncias global é possível analisar em pormenor qualquer ligação de
margens (ver Figura 5.4) ou prosseguir para a montagem do painel.
Figura 5.4: Exemplo da janela auxiliar de detalhes de ligações.
A montagem do painel de azulejos é efectuada recorrendo a uma nova janela, que tal como a
janela principal da aplicação, está dividida em duas zonas. Em cada uma destas zonas é possível
escolher um método de montagem diferente (incluindo ainda a possibilidade de apresentar o painel
original), podendo assim confrontar a sua eficácia.
É ainda dada a possibilidade de sobrepor à imagem do resultado final do algoritmo, alguma
informação referente ao processo de montagem. Os dados que são possíveis consultar consistem
no índice de ordem de colocação de cada azulejo e nos valores de distância para cada ligação do
painel (ver Figura 5.5).
54
Figura 5.5: Exemplo da janela de montagem do painel. Foram ainda sobrepostos identificadores da ordem demontagem e valores de distâncias de cada ligação
55
56
6Conclusões e trabalho futuro
Conteúdos6.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.2 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
57
6.1 Conclusões
O trabalho descrito ao longo desta dissertação consiste na montagem automática de painéis de
azulejos, dado um conjunto de imagens individuais dos azulejos que o constituem.
Com vista a alcançar objectivo proposto, este trabalho foi dividido em três partes: estudo das
funções de distância (que classificam quão distantes são duas margens de azulejos diferentes),
estudo da montagem de um painel no caso de serem conhecidas as orientações finais de cada
azulejo e estudo da montagem de um painel no caso de não serem conhecidas as orientações finais
de cada azulejo.
Na realização dos vários testes, foram utilizadas duas bases de dados de imagens diferentes:
uma composta por vinte imagens naturais provenientes da base de dados de imagens publicada por
Cho et al.[1] e outra composta por doze porções de painéis de dimensões 5x5 azulejos criada para
este trabalho. De modo que as imagens naturais pudessem ser utilizadas como um puzzle, estas
foram divididas em 18x24 peças, formando assim peças quadradas de dimensões 28x28 pixels.
No estudo das funções de distância foram testadas seis funções: distância Euclidiana, norma
l-½ Função de distância aprendida através de KLFDA, Norma (Lp)q, Predição de Pomeranz e Dis-
tância de Mahalanobis. Estas funções de distância foram utilizadas nos espaços de cor RGB, HSV
e CIELAB e quando aplicadas a um painel ou puzzle constroem uma matriz de distâncias, S, que
quantifica a distância entre duas margens de diferentes azulejos ou peças.
Através do estudo das curvas ROC obtidas para cada função de distância aplicada em cada
espaço de cor estudado e a cada painel das bases de dados de imagens utilizadas, foi possível
identificar os pares função de distância/espaço de cor que melhor classificam um puzzle e um painel
de azulejos. No caso dos puzzles, o par função de distância/espaço de cor que melhores resultados
apresentou foi a distância de Mahalanobis aplicada no espaço de cor CIELAB, sendo que para o
caso dos painéis de azulejos o par que melhores resultados apresentou foi a Norma l-½ aplicada no
espaço de cor CIELAB.
Ainda através do estudo das curvas ROC, foi possível identificar uma maior dificuldade na clas-
sificação dos painéis de azulejos. Esta dificuldade já era esperada e está relacionada com vários
factores aos quais os azulejos estão sujeitos deste o momento da sua concepção. Dado o facto de
grande parte dos painéis (que foram retirados do seu local original e não possuem qualquer tipo de
referência) serem bastante antigos, é possível identificar facilmente em praticamente todos os azu-
lejos defeitos criados tanto pelas técnicas de pintura como pelas tecnologias de fabrico ou até pela
deterioração pelo passar do tempo ou mau manuseamento.
Variações nas cores e fissuras no revestimento vidrado criadas durante a cozedura, escorrimento
das pinturas, variações das cores de azulejo para azulejo criadas por misturas de tintas diferen-
tes, texturas criadas pela pincelada tipicamente pouco minuciosa e as descontinuidades na pintura
criadas pela passagem de um azulejo para outro estão presentes em praticamente qualquer painel.
A juntar às dificuldades enumeradas existe ainda o deterioramento inevitável do revestimento
58
vidrado dos azulejos causado pelo passar dos anos e ainda as margens e cantos danificados por
terem sido retirados do seu local original e manuseamento posterior à sua extracção.
Tendo os pares função de distância/espaço de cores definidos para os puzzles e para os painéis,
prosseguiu-se com o estudo da respectiva montagem quando a orientação final de cada peça ou
azulejo é conhecida.
O primeiro método utilizado na montagem descreve este problema como um Generalized Qua-
dratic Assignment Problem Problema de Atribuição Quadrático Generalizado (Generalized Quadratic
Assignment Problem) (GQAP), cuja solução é definida por uma matriz de permutação que atribui
uma posição no painel a cada azulejo. Como este problema possui uma complexidade NP-hard, foi
utilizado o método BALM para calcular a solução. Este método recorre à utilização de uma função
Lagrangeano Aumentado e divide ainda este problema quadrático resolvendo dois subproblemas,
Problema de Procrustes Ortogonal e um Problema de Atribuição Linear. Os dois subproblemas
calculam respectivamente uma matriz ortogonal e uma matriz de permutação, que iterativamente
convergem para a matriz de permutação que resolve o problema original.
Os testes efectuados com puzzles demonstraram resultados com taxas de vizinhança bastante
baixas, motivando a criação de uma relaxação deste método. Deste modo o problema quadrático
foi dividido em dois subproblemas de Atribuição Linear, sendo estes resolvidos com o recurso ao
Método Húngaro. Através deste método foram calculadas duas matrizes de permutação que itera-
tivamente convergem para uma mesma solução. Os resultados da montagem de puzzles através
desta relaxação do método BALM foram semelhantes aos obtidos para o problema original.
Assim, foi ainda proposto outro método para a montagem de painéis de azulejos quando a ori-
entação final de cada azulejo é conhecida. Este método baseia-se na utilização de um algoritmo
greedy, que inicia a montagem de um painel ligando entre si, as duas margens de azulejos diferen-
tes menos distantes. Os restantes azulejos são colocados iterativamente e de modo a criar ligações
com azulejos anteriormente colocados, minimizando sempre a cada iteração a distância das liga-
ções entre margens. Foram ainda propostas duas heurísticas: Margens Múltiplas e Lowe Scores,
com vista a melhorar os resultados do algoritmo greedy.
No estudo da montagem de um painel ou puzzle, quando a orientação final de cada peça ou
azulejo é desconhecida foi proposto um único método de montagem que, tal como o método de
montagem quando a orientação final é conhecida, recorre a um algoritmo greedy onde cada azulejo
ou peça possui a liberdade de ser rodada aquando a sua colocação. À semelhança do anterior
método greedy, foram também propostas duas heurísticas: Margens Múltiplas e Lowe Scores, com
vista a melhorar os resultados do algoritmo.
Nos testes efectuados com os vinte puzzles que constituem a base de dados de Cho et al.[1],
o método greedy com recurso à heurística de Lowe Scores com um threshold de 0.65 obteve uma
taxa de comparação de vizinhança média de 92.63%, mais 3.65% que o único trabalho que se propõe
também resolver este problema[17], batendo assim o actual estado de arte.
59
Na montagem dos doze painéis de azulejos, o método método greedy com recurso à heurística
de Lowe Scores com um threshold de 0.95 não foi além de uma taxa de comparação de vizinhança
média de 35.91%. Ainda que este valor possa parecer baixo, este constitui certamente uma mais va-
lia na montagem de um painel de azulejos quando nenhuma outra referência se encontra disponível.
6.2 Trabalho futuro
Com vista a melhorar os resultados obtidos nesta dissertação, alguns melhoramentos poderão
ser aplicados.
Dado que as dificuldades inerentes à montagem de um painel de azulejos dificilmente poderão ser
superadas na sua totalidade, a interacção com utilizador poderá ser vantajosa. A simples apresen-
tação da solução final da montagem de um painel ao utilizador para identificação de zonas correcta
e incorrectamente montadas, traz informação extremamente valiosa que pode ser usada numa nova
montagem. Alterando a matriz de distâncias global colocando distâncias nulas nas ligações iden-
tificadas como correctas e distâncias suficientemente altas para desencorajar a sua colocação nas
ligações identificadas como incorrectas. Deste modo, iniciando uma nova montagem pode esperar-
se uma solução mais próxima da correcta.
Tipicamente, um painel de azulejos possui uma moldura desenhada nos próprios azulejos. Esta
moldura normalmente contrasta com o interior do painel, criando alguma dificuldade na montagem
do mesmo. A identificação (automática ou manual) dos azulejos que formam a moldura constitui uma
informação extremamente útil que pode ser usada na montagem do painel. Através dos azulejos da
moldura é possível estimar as dimensões do painel, e tal como Pomeranz et al. [16] utiliza esta
informação, também no método proposto esta informação seria uma mais valia.
Por último, e com vista à criação de uma aplicação final, o desenvolvimento de um módulo de
montagem de painéis de azulejos, integrado na aplicação de captura de imagens. Deste modo o
utilizador, poderia proceder à captura das imagens e posteriormente à montagem do painel sempre
recorrendo à mesma aplicação
60
Bibliografia
[1] T. S. Cho, S. Avidan, and W. T. Freeman, “A probabilistic image jigsaw puzzle solver,” Proc.
CVPR, pp. 183–190, 2010.
[2] B. Brown, C. Toler-Franklin, D. Nehab, M. Burns, D. Dobkin, A. Vlachopoulos, C. Doumas, S. Ru-
sinkiewicz, and T. Weyrich, “A system for high-volume acquisition and matching of fresco frag-
ments: Reassembling Theran wall paintings,” ACM Transactions on Graphics, vol. 27(3), 2008.
[3] C. Wang, “Determining molecular conformation from distance or density data,” Ph.D. dissertation,
MIT, 2000.
[4] M. Levison, “The computer and its role in literary studies,” Bulletin of the Institute of Classical
Studies, vol. 11, pp. 65–69, 1964.
[5] T. S. Cho, M. Butman, S. Avidan, and W. T. Freeman, “The patch transform and its applications
to image editing,” Proc. CVPR, pp. 2339–2346, 2008.
[6] Y. Zhao, M. Su, Z. Chou, and J. Lee, “A puzzle solver and its application in speech descrambling,”
ICCEA, pp. 171–176, 2007.
[7] H. Freeman and L. Garder, “Apictorial jigsaw puzzles: the computer solution of a problem in
pattern recognition,” Electronic Computers, IEEE Transactions, vol. 13, pp. 118–127, 1964.
[8] H. Wolfson, E. Schonberg, A. Kalvin, and Y. Lamdan, “Solving jigsaw puzzles by computer,”
Annals of Operations Research, vol. 12, pp. 51–64, 1988.
[9] D. Kosiba, P. Devaux, S. Balasubramanian, T. Gandhi, and K. Kasturi, “An automatic jigsaw
puzzle solver,” Pattern Recognition, vol. 1, pp. 616–618, 1994.
[10] M. G. Chung, M. M. Fleck, and D. A. Forsyth, “Jigsaw puzzle solver using shape and color,”
Proceedings of the International Conference on Signal Processing, pp. 877–880, 1998.
[11] D. Goldberg, C. Malon, and M. Bern, “A global approach to automatic solution of jigsaw puzzles,”
Symposium on Computational Geometry, pp. 82–87, 2002.
[12] F.-H. Yao and G.-F. Shao, “A shape and image merging technique to solve jigsaw puzzles,” Pat-
tern Recognition Letters, vol. 24, pp. 1819–1835, 2003.
61
[13] M. Weiss-Cohen and Y. Halevi, “Knowledge retrieval for automatic solving of jigsaw puzzles,”
Computational Intelligence for Modelling, Control and Automation 2005 and International Con-
ference on Intelligent Agents, Web Technologies and Internet Commerce, International Confe-
rence, vol. 2, pp. 379–383, 2005.
[14] E. Demaine and M. Demaine, “Jigsaw puzzles, edge matching, and polyomino packing: Con-
nections and complexity,” Graphs and Combinatorics, vol. 23, pp. 195–208, 2007.
[15] T. Murakami, F. Toyama, K. Shoji, and J. Miyamichi, “Assembly of puzzles by connecting between
blocks,” ICPR, pp. 1–4, 2008.
[16] D. Pomeranz, M. Shemesh, and O. Ben-Shahar, “A fully automated greedy square jigsaw puzzle
solver,” Proc. CVPR, pp. 9–16, 2011.
[17] A. Gallagher, “Jigsaw puzzles with pieces of unknown orientation,” Proc. CVPR, 2012.
[18] A. Del Bue, J. Xavier, L. Agapito, and M. Paladini, “Bilinear modelling via augmented lagrange
multipliers (BALM),” Pattern Analysis and Machine Intelligence, pp. 1496–1508, 2012.
[19] C. Lee and Z. Ma, “The generalized quadratic assignment problem,” Department of Mechanical
and Industrial Engineering, University of Toronto, Toronto, Ontario, Canada, Tech. Rep., 2004.
[20] S. Arora and B. Barak, Computational Complexity: A Modern Approach. Cambridge University
Press, 2009.
[21] P. M. Hahn, B.-J. Kim, M. Guignard, J. M. Smith, and Y.-R. Zhu, “An algorithm for the generalized
quadratic assignment problem,” Comput Optim Appl, vol. 40, pp. 351–372, 2008.
[22] R. Duda and P. Hart, “Use of the hough transformation to detect lines and curves in pictures,”
Commun. ACM, vol. 15, no. 1, pp. 11–15, 1972.
[23] M. Sugiyama, “Local fisher discriminant analysis for supervised dimensionality reduction,” Proc.
23rd International Conference on Machine Learning, pp. 905–912, 2006.
[24] P. H. Schonemann, “A generalized solution of the orthogonal procrustes problem,” Psychome-
trika, vol. 31, pp. 1–10, 1966.
[25] R. A. Horn and C. R. Johnson, Matrix Analysis. Cambridge University Press, 1990.
[26] H. W. Kuhn, “The hungarian method for the assignment problem,” Naval Research Logistic Quar-
terly, vol. 2, pp. 83–97, 1955.
[27] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal
Compututer Vision, vol. 60, pp. 91–110, 2004.
[28] T. S. Cho, S. Avidan, and W. T. Freeman, “A probabilistic image jig-
saw puzzle solver,” consultado a 10 de Setembro 2012. [Online]. Available:
http://people.csail.mit.edu/taegsang/JigsawPuzzle.html
62
[29] D. Pomeranz, M. Shemesh, and B.-S. O., “Icvl - jigsaw solver project,” consultado a 10 de
Setembro 2012. [Online]. Available: http://www.cs.bgu.ac.il/~icvl/projects/project-jigsaw.html
[30] A. Gallagher, “Jigsaw puzzles with pieces of unknown orientation,” consultado a 10 de Setembro
2012. [Online]. Available: http://chenlab.ece.cornell.edu/people/Andy/research/puzzlePage.html
63
64
AApêndices
A-1
A.1 Base de dados de imagens de Cho et al.
(a) Imagem 1 (b) Imagem 2
(c) Imagem 3 (d) Imagem 4
(e) Imagem 5 (f) Imagem 6
(g) Imagem 7 (h) Imagem 8
Figura A.1: Conjunto de imagens que constituem a base de dados de Cho et al.
A-2
(a) Imagem 09 (b) Imagem 10
(c) Imagem 11 (d) Imagem 12
(e) Imagem 13 (f) Imagem 14
(g) Imagem 15 (h) Imagem 16
Figura A.2: Conjunto de imagens que constituem a base de dados de Cho et al.
A-3
(a) Imagem 17 (b) Imagem 18
(c) Imagem 19 (d) Imagem 20
Figura A.3: Conjunto de imagens que constituem a base de dados de Cho et al.
A-4
A-5
A.2 Base de dados de azulejos
(a) Painel 01 (b) Painel 02
(c) Painel 03 (d) Painel 04
(e) Painel 05 (f) Painel 06
(g) Painel 07 (h) Painel 08
Figura A.4: Porçoes de painéis de azulejos de teste
A-6
(a) Painel 09 (b) Painel 10
(c) Painel 11 (d) Painel 12
Figura A.5: Porçoes de painéis de azulejos de teste
A-7
A.3 Resultados
Figura A.6: Curvas ROC médias calculadas no espaço de cores RGB obtidas para cada função de distância ecalculadas utilizando as vinte imagens que compõem a base de dados de Cho et al.[1]
A-8
Figura A.7: Curvas ROC médias calculadas no espaço de cores CIELAB obtidas para cada função de distânciae calculadas utilizando as vinte imagens que compõem a base de dados de Cho et al.[1]
A-9
Figura A.8: Curvas ROC médias calculadas no espaço de cores HSV obtidas para cada função de distância ecalculadas utilizando as vinte imagens que compõem a base de dados de Cho et al.[1]
A-10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Taxa de Falsos Positivos
Tax
a de
Ver
dade
iros
Pos
itivo
s
dist. grand. de Mahalanobis (CIELAB)norma (L
p)q (CIELAB)
norma l−1/2 (CIELAB)dist. grand. de Mahalanobis (HSV)
Figura A.9: Melhores quatro curvas ROC para a base de dados Cho et al.[1]
A-11
Figura A.10: Curvas ROC médias calculadas no espaço de cores RGB obtidas para cada função de distânciae calculadas utilizando os doze painéis de azulejos que compõem a base de dados painéis
A-12
Figura A.11: Curvas ROC médias calculadas no espaço de cores CIELAB obtidas para cada função de distânciae calculadas utilizando os doze painéis de azulejos que compõem a base de dados painéis
A-13
Figura A.12: Curvas ROC médias calculadas no espaço de cores HSV obtidas para cada função de distância ecalculadas utilizando os doze painéis de azulejos que compõem a base de dados painéis
A-14
Figura A.13: Melhores quatro curvas ROC para os doze painéis de azulejos que compõem a base de dadospainéis
A-15
A-16