Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens...

100
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úri Presidente: Professor Doutor Nuno Horta Orientador: Professor Doutor João Paulo Costeira Co-Orientador: Doutor Nuno Pinho da Silva Vogal: Professor Doutor Carlos Gomes Bispo Dezembro 2012

Transcript of Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens...

Page 1: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 2: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 3: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 4: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 5: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 6: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 7: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 8: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 9: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 10: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 11: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 12: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 13: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 14: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 15: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 16: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 17: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 18: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 19: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 20: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta
Page 21: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 22: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 23: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 24: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 25: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 26: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 27: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 28: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 29: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 30: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 31: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 32: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 33: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 34: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 35: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 36: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 37: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 38: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 39: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

• 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

Page 40: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 41: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 42: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 43: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 44: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 45: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 46: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 47: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 48: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 49: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 50: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

30

Page 51: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 52: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 53: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 54: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 55: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 56: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 57: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 58: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 59: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 60: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 61: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 62: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 63: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 64: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 65: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 66: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 67: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 68: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 69: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 70: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

50

Page 71: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

5Aplicações desenvolvidas

Conteúdos5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2 Aplicação de captura de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 Plataforma de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

51

Page 72: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 73: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 74: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 75: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 76: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

56

Page 77: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

6Conclusões e trabalho futuro

Conteúdos6.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.2 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

57

Page 78: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 79: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 80: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 81: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 82: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

[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

Page 83: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

[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

Page 84: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

64

Page 85: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

AApêndices

A-1

Page 86: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 87: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 88: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 89: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

A-5

Page 90: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 91: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

(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

Page 92: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 93: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 94: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 95: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 96: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 97: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 98: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

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

Page 99: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

Figura A.13: Melhores quatro curvas ROC para os doze painéis de azulejos que compõem a base de dadospainéis

A-15

Page 100: Montagem automática de painéis de azulejos - Autenticação · Duas bases de dados de imagens diferentes foram utilizadas, uma composta por 20 imagens naturais e outra composta

A-16