96

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS

Programa de Pós-Graduação em Informática

Computação Evolucionária para Recuperação de Vídeos

Rodrigo Santarelli

Belo Horizonte

2011

Page 2: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

Rodrigo Santarelli

Computação Evolucionária para Recuperação de Vídeos

Dissertação apresentada ao Programa de Pós-Graduação em Informática como requisito parcialpara obtenção do Grau de Mestre em Informática pelaPontifícia Universidade Católica de Minas Gerais.

Orientador: Prof. Dr. Zenilton K. G. Patrocínio Jr

Belo Horizonte

2011

Page 3: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

FICHA CATALOGRÁFICA Elaborada pela Biblioteca da Pontifícia Universidade Católica de Minas Gerais

Santarelli, Rodrigo S233c Computação evolucionária para recuperação de vídeos / Rodrigo Santarelli.

Belo Horizonte, 2011. 94f.: il.

Orientador: Zenilton Kleber Gonçalves do Patrocínio Júnior Dissertação (Mestrado) – Pontifícia Universidade Católica de Minas Gerais.

Programa de Pós-Graduação em Informática.

1. Gravação de vídeo. 2. Processamento de imagens. 3. Programação. 4. Algoritmos. I. Patrocínio Júnior, Zenilton Kleber Gonçalves do. II. Pontifícia Universidade Católica de Minas Gerais. Programa de Pós-Graduação em Informática. III. Título.

CDU: 681.3.093

Page 4: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade
Page 5: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

RESUMO

Este trabalho propõe o uso de Computação Evolucionária para Recuperação de Vídeos.A combinação de características que descrevem os quadros extraídos de vídeos é realizadapor meio de Algoritmo Genético e Programação Genética, executando a combinação dascaracterísticas com �ltros, funções de distância e pesos, para encontrar uma expressão(indivíduo do método de Programação Genética) adequada a se utilizar na recuperaçãode vídeos. Os testes realizados apresentam uma precisão acima de 80% na recuperação dosvídeos utilizando as expressões (compostas por características, �ltros, pesos e funções dedistância) do método de Programação Genética, e valores também acima de 80% de acertoao se utilizar o Algoritmo Genético para a recuperação dos vídeos. Conseguiu-se mostrarque os vídeos podem ser avaliados pelo cálculo de distâncias entre séries temporais comoas funções de distância ERP (Edit Distance with Real Penalty) e a DTW(Dynamic TimeWarping), e que a extração de características de baixo custo computacional dos quadrosdos vídeos é muito util no processo de busca por similaridade entre vídeos. Por �m,resultados experimentais demonstram que os vídeos podem ter um número de quadros di-ferente, descartando a necessidade de um pré-processamento para se igualar a quantidadede quadros do vídeo de consulta dos vídeos da base.

Palavras-chave: Programação Genética, Algoritmo Genético, Características, Filtros eFunção de Distância.

Page 6: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

ABSTRACT

This work considers the use of Evolutionary Computation for Video Retrieve, wherethe combination of characteristics that describe the extracted frames of videos is carriedthrough Genetic Algorithm and Genetic Programming, executing the combination of thecharacteristics with �lters, functions of distance and weights, to �nd an adequate expres-sion to use in video retrieve. Tests present precision above 80% in video retrieve usingexpressions of the Genetic Programming method, and also, above 80% of rightness usingGenetic Algorithm for video retrieve. It shows that videos can be evaluated by calculationof distances between time series as ERP and DTW, and the extraction of characteristics,by means of low cost computational execution, of video frames is very useful in the processof searching for similarity between videos. Finally, experimental results demonstrate thatvideos can have a di�erent number of frames, discarding the necessity of a pre-process toequalise the quantity of video frames to compare videos in a data base.

Key-words: Genetic Programming, Genetic Algorithm, Characteristics, Filters and Func-tions of Distance.

Page 7: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

LISTA DE FIGURAS

FIGURA 1 Bobinas de Aço Comerciais. Fonte: Elaborada pelo autor. . . . . . . . . . . 17

FIGURA 2 Exemplo de Etapas da Linha de Galvanização Contínua. Fonte: Ela-

borada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

FIGURA 3 Aciaria, Local para Produção de Aço. Imagem do Momento de Carre-

gamento de Gusa ao Convertedor. Fonte: Elaborada pelo autor. . . . . . . 19

FIGURA 4 En�amento de Chapas de Aço na Linha de Galvanização Contínua.

Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

FIGURA 5 Uso de PG na Combinação de Características, Filtros, Pesos e Funções

de Distância para se Obter uma Função de Similaridade. Fonte: Elaborada

pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

FIGURA 6 Imagem Exemplo para Obtenção de Características. Fonte: (VARELLA,

2005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

FIGURA 7 Exemplo do Processamento das Imagens Com e Sem a Aplicação de

Filtros. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

FIGURA 8 Exemplo de Expressão em Forma de Árvore. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

FIGURA 9 Laminação: Acidente Durante a Produção de Chapas de Aço. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Page 8: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

FIGURA 10 Aciaria: Acidente Durante a Produção de Aço. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

FIGURA 11 Laminação: Produção de Chapa de Aço com Defeitos. Fonte: Elabo-

rada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

FIGURA 12 Aplicação de PG para Classi�cação, adaptado de Espejo, Ventura e

Herrera (2010). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

FIGURA 13 Exemplo da Extração de um Quadro do Vídeo de Chapas de Aço. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

FIGURA 14 Caracterização de Imagem Insensível a Translação e Rotação. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

FIGURA 15 ERP: Avaliando Histogramas. Fonte: Elaborada pelo autor. . . . . . . . . 35

FIGURA 16 ERP: Avaliando Vídeos. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . 36

FIGURA 17 Cosseno Projetado: Avaliando Vídeos. Fonte: Elaborada pelo autor. 38

FIGURA 18 Programação Genética, adaptado de Koza (1992). . . . . . . . . . . . . . . . . . . 42

FIGURA 19 Programação Genética (estrutura executável) x Algoritmo Genético

(estrutura pré-de�nida)(ASHLOCK, 2005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

FIGURA 20 Uso de descritor para computar similaridade entre imagens - adaptado

de Torres et al. (2009). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

FIGURA 21 Evolução da Detecção de um Filtro Iterativo. Fonte:(SEGOND; FON-

Page 9: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

LUPT; ROBILLIARD, 2006). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

FIGURA 22 Modelo para o Reconhecimento de Padrões, Adaptado de (JAIN; DUIN;

MAO, 2000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

FIGURA 23 Etapas. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

FIGURA 24 Extração do Número Componentes Conexos de uma Imagem. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

FIGURA 25 Exemplo do Uso de Processamento Baseado Cor, o Espelho Virtual.

Fonte:(EISERT; RURAINSKY; FECHTELER, 2007). . . . . . . . . . . . . . . . . . . . . . . 52

FIGURA 26 Exemplo do Alinhamento dos Histogramas para o Processamento de

Caracterização dos Vídeos. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . 52

FIGURA 27 Imagem Exemplo para o Cálculo de Energia. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

FIGURA 28 Exemplo da Adaptação de Ritmo Visual. Fonte: Elaborada pelo au-

tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

FIGURA 29 Aplicação de Filtros sobre Quadro do Vídeo. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

FIGURA 30 Exemplo da Aplicação de Filtros sobre Quadro do Vídeo. Fonte: Ela-

borada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

FIGURA 31 Exemplo de Aplicação dos Filtros sobre Quadro Original Extraído de

Vídeo. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

FIGURA 32 Árvore de Derivação da Expressão Produzida/Gerada pela Gramática

Page 10: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

GSIM . Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

FIGURA 33 Exemplo de Expressão e Árvore na Programação Genética. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

FIGURA 34 Exemplo de Processamento dos Vídeos Va e Vb por meio de PG. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

FIGURA 35 Programação Genética, Processo de Evolução. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

FIGURA 36 Fluxograma das Fases do Método (Treino e Validação). Fonte: Elabo-

rada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

FIGURA 37 Fluxograma das Fases do Método (Treino e Validação). Fonte: Elabo-

rada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

FIGURA 38 Base de Dados de Vídeos para o Treinamento. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

FIGURA 39 Base de Dados de Vídeos para a Validação. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

FIGURA 40 Base de Dados de Vídeos 1 a 50. Fonte: Elaborada pelo autor. . . . . . 74

FIGURA 41 Vídeos de Consulta para Treinamento. Fonte: Elaborada pelo autor. 75

FIGURA 42 Vídeos Consulta para Teste. Fonte: Elaborada pelo autor. . . . . . . . . . 76

FIGURA 43 Grá�co de Precisão Média de Consultas com Tamanhos Diferentes.

Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 11: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

LISTA DE QUADROS

QUADRO 1 Exemplo de Valores que Representam Características de Interesse da

Figura 6. Fonte: Elaborado pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

QUADRO 2 Exemplo de Gramática. Fonte:(VIEIRA, 2006). . . . . . . . . . . . . . . . . . . . . 40

QUADRO 3 Computação Evolucionária × Domínio do Problema . . . . . . . . . . . . . . 49

QUADRO 4 Características Utilizadas. Fonte:Elaborado pelo autor. . . . . . . . . . . . 50

QUADRO 5 Filtros Utilizados. Fonte: Elaborado pelo autor. . . . . . . . . . . . . . . . . . . 56

QUADRO 6 Gramática GSIM Utilizada no Método e nos Testes. Fonte: Elaborado

pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

QUADRO 7 Expressão Gerada pela Gramática GSIM . Fonte: Elaborado pelo au-

tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

QUADRO 8 Mutação de um Indivíduo Original: Mutação de Operações e Mutação

de Estrutura. Fonte: Elaborado pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . 61

QUADRO 9 Exemplo de Estrutura de Indivíduos do Algoritmo Genético com Pesos.

Fonte: Elaborado pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 12: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

LISTA DE TABELAS

TABELA 1 Parâmetros Utilizados. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . 69

TABELA 2 Relação de populações e resultados do método da PG durante a fase

de treinamento. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . 75

TABELA 3 Precisão dos Testes com expressões compostas apenas pela função de

distância ZeroPadding, LastPadding, Cosseno Projetado, ERP ou DTW,

e uma das características (Histograma de Cinza, de Azul, de Verde ou de

Vermelho). Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

TABELA 4 Precisão dos Testes com expressões compostas apenas pela função de

distância ZeroPadding, LastPadding, Cosseno Projetado, ERP ou DTW,

e uma das características (Histograma do Matiz, da Saturação, do Ritmo

Visual Paralelo ou do Ritmo Visual Cruzado). Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

TABELA 5 Precisão dos Testes com expressões compostas apenas pela função de

distância ZeroPadding, LastPadding, Cosseno Projetado, ERP ou DTW,

e uma das características (Número de Componentes Conexos e Função de

Energia. Fonte: Elaborada pelo autor.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

TABELA 6 Precisão dos Testes com expressões selecionadas após 10 gerações do

método de PG, com dados apurados antes e pós validação. Fonte: Ela-

borada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

TABELA 7 Precisão dos Testes com Algoritmo Genético após 10 gerações.Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Page 13: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

TABELA 8 Precisão dos Testes, com expressões do método de PG validadas, porém

alteradas para possuir apenas um tipo de função de distância a cada

expressão. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

TABELA 9 Precisão dos resultados dos Testes com expressões de PG de pesos

variando entre 0 e 1, e realizados antes e após processo de validação.

Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

TABELA 10 Precisão dos resultados dos Testes com indivíduos de AG (sem ERP e

DTW) e pesos variando entre 0 e 1. Fonte: Elaborada pelo autor. . . . . 83

TABELA 11 Precisão dos Testes com expressões compostas por Filtros, Caracterís-

ticas e Função de distância (Cosseno Projetado, LastPadding e ZeroPad-

ding). Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

TABELA 12 Precisão dos Testes com expressões compostas por Filtros, Caracterís-

ticas e Função de distância (Cosseno Projetado, LastPadding e ZeroPad-

ding) e com uma expressão gerada Manualmente. Fonte: Elaborada pelo

autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

TABELA 13 Precisão dos Testes com expressões do método de PG aplicadas com

vídeo de consulta com número de quadros diferente dos vídeos da base de

dados. Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

TABELA 14 Precisão dos Testes com expressões de AG aplicadas com vídeo de

consulta com número de quadros diferente dos vídeos da base de dados.

Fonte: Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

TABELA 15 Testes com a utilização da Funções de distância ERP e DTW. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 14: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

TABELA 16 Testes com a utilização das Funções de distância e Filtros. Fonte:

Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 15: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

LISTA DE ABREVIATURAS

PG Programação Genética

ERP Edit Distance with Real Penalty

DTW Dynamic Time Warping

GLC Gramática Livre de Contexto

AG Algoritmo Genético

RGB Red, Green, Blue

Page 16: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

SUMÁRIO

1 INTRODUÇÃO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.2 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.4 Justi�cativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.5 Principais Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.6 Organização do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 CONCEITOS E TRABALHOS CORRELATOS. . . . . . . . . . . . . . . . . . . . . . 30

2.1 Imagem, Quadro e Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.1.1 Imagem ou Quadro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.1.2 Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2 Características e Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2.1 Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2.2 Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3 Funções de Distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3.1 ERP (Edit Distance with Real Penalty) . . . . . . . . . . . . . . . . . . . . 35

2.3.2 DTW (Dynamic Time Warping) . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.3 Cosseno Projetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.3.4 ZeroPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.3.5 LastPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4 Gramática e Expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.5 Computação Evolucionária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 17: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

2.6 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3 COMPUTAÇÃO EVOLUCIONÁRIA PARARECUPERAÇÃODE VÍ-

DEOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.1 Descrevendo características e Filtros . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.1 Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.2 Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.2 Descrevendo a Gramática GSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.3 Descrevendo o Método PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.4 Descrevendo o Método AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.5 Função de Aptidão (Fitness) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.6 Fases do Método de PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4 AVALIAÇÃO E ANÁLISE DE RESULTADOS. . . . . . . . . . . . . . . . . . . . . . . 68

4.1 Parâmetros de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.2 Groundtruth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.3 Treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.4 Validação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.5 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.6 Ambiente para os Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.7 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.7.1 Testes de Função de Distância e Características Separadamente 78

4.7.2 Testes Preliminares dos Métodos de PG e AG com Pesos Va-

riando de 1 a 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.7.3 Testes do Método de PG e do AG com Pesos de 0 a 1 (sem ERP

e DTW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.7.4 Testes com Filtros no Método de PG (Sem ERP e DTW) . . . . . 83

4.7.5 Testes de Consultas de Tamanhos Variados . . . . . . . . . . . . . . . . . 84

Page 18: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

4.7.6 Testes Preliminares usando ERP/DTW com Indivíduos de Po-

pulação Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.7.7 Testes usando as Funções de Distância e os Filtros . . . . . . . . . . . 88

4.8 Análise Global dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

5 CONCLUSÕES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . 90

5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Page 19: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

17

1 INTRODUÇÃO

A indústria necessita produzir em alta escala e com qualidade, e um dos meios

para alcançar este objetivo é a redução e a identi�cação de falhas, de modo que se reduza,

ou elimine, o tempo de paradas da produção. Para se eliminar ou reduzir as falhas e,

consequentemente, paradas não programadas, apresenta-se como solução o uso de métodos

computacionais de reconhecimento e análise de vídeos. O objetivo é permitir assim uma

maior produção industrial, com mais segurança e qualidade. Quanto à qualidade, pode-se

citar o cuidado em monitorar, usando técnicas de visão computacional, as chapas de aço

durante o processo de laminação (A laminação é um processo que consiste em modi�car

a forma de um corpo sólido por meio da passagem entre dois cilindros cuja distância é

menor do que sua secção transversal (MOURãO et al., 2007)). O objetivo é a entrega ao

cliente de uma chapa perfeita, como os exemplos de bobinas de aço da Figura 1 que servem

à industria automobilística e de eletrodomésticos, sendo chapas sem cortes, rugas, furos,

ondulações ou bordas amassadas, dentre outros problemas, e, quando da ocorrência de

falhas, ser possível identi�car onde se localizam, para que não haja ocorrência de perdas

na produção de chapas de aço.

É fator de motivação ao desenvolvimento deste trabalho o aumento da qualidade

na produção de aço, e da produção de chapas de aço galvanizadas (Figura 2) ou não

galvanizadas, além de aumentar efetivamente a produção. Para tanto, é objeto deste

Figura 1: Bobinas de Aço Comerciais. Fonte: Elaborada pelo autor.

Page 20: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

18

Figura 2: Exemplo de Etapas da Linha de Galvanização Contínua. Fonte: Elaborada pelo autor.

trabalho fornecer solução computacional que auxilie as indústrias, dos setores siderúrgicos

e metalúrgicos, a atingir tal aumento de produção, em qualidade e quantidade.

Aumentar a produção com qualidade é uma questão que pode ser resolvida re-

duzindo, ou eliminando, as denominadas paradas de produção não programadas. As

paradas não programadas podem ocorrer por razões como os erros operacionais, falhas

em equipamentos, defeitos na matéria prima, incidentes ou acidentes, dentre outras. É

um problema que torna relevante a pesquisa voltada ao desenvolvimento de soluções com-

putacionais baseadas em técnicas de procura de similaridade em vídeos. Por exemplo, na

esfera de produção industrial, podem-se analisar vídeos, possibilitando o reconhecimento

e, eventualmente, a predição de eventos e geração de alertas.

Pode-se perceber que o processamento de similaridade entre vídeos está relacionado

com uma quantidade de dados muito grande, e que a busca por vídeos similares não é um

processo trivial. Realizar a comparação entre vídeos é um processo que pode demandar

muito tempo e apresentar um resultado insatisfatório. Para se conseguir resultados sa-

tisfatórios no processo de busca de vídeos, a partir de um vídeo de consulta a uma dada

base de vídeos, faz-se uso da pesquisa por similaridade entre os vídeos, utilizando-se de

um algoritmo e�ciente, sendo esta a razão deste trabalho, ao apresentar uma expressão

que permita a busca mais e�ciente dos vídeos.

A busca por vídeos deve ser entendida, neste trabalho, como o processo que apre-

senta os k vídeos mais parecidos (similares) ao vídeo de consulta. Para realizar a consulta

é necessário extrair características dos quadros dos vídeos, e no intuito de melhorar os

resultados da comparação entre os vídeos, deve-se fazer uso de combinações entre essas

características extraídas dos vídeos. Na literatura pode-se encontrar diversas pesquisas e

autores que a�rmam ter na Programação Genética um bom recurso para realizar combina-

ções (KOZA, 1992; TACKETT, 1993; SHERRAH; BOGNER; BOUZERDOUM, 1996; STANHOPE;

DAIDA, 1998; ASHLOCK, 2005; TORRES et al., 2009), sendo este o principal motivo por es-

colher a Programação Genética, dentre as possibilidades da computação evolucionária,

Page 21: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

19

como o recurso a ser utilizado neste trabalho.

Além da combinação das características, uma contribuição relevante deste trabalho

é a utilização de diversos �ltros aplicados aos quadros extraídos dos vídeos. Isto devido ao

fato que os �ltros permitem realçar pontos importantes de interesse dos quadros extraídos,

melhorando assim a e�ciência na busca dos vídeos, como pode ser observado na seção de

Resultados. Os �ltros são utilizados na estrutura da expressão que representa o indivíduo

da Programação Genética, e até o presente momento, não foi encontrado pelo autor deste

trabalho proposta similar na literatura.

Como a busca e�ciente de similaridade entre vídeos é indispensável, fazer uso

dos �ltros e das técnicas de combinação das características, por meio de Programação

Genética para recuperação de vídeos, pode ser útil em áreas da indústria, como por

exemplo, aciarias (aonde se converte gusa em aço), no reconhecimento de panelas de aço e

gusa (Figura 3), posicionamento de segurança de convertedores, e indicação de momento

de Corrida (nome dado ao processo de produção de aço em aciarias). Pode-se pensar

nestas soluções como mais uma extensão a este trabalho, ao conseguir a extração das

características dos vídeos em tempo real.

Das aplicações industriais, são utilizados os vídeos de processo de laminação de

chapas de aço, que servem de base para avaliar a qualidade da produção, os padrões de

chapas de aço, o posicionamento destas chapas, a uniformidade ou não destas chapas,

podendo ser o vídeo obtido no momento do en�amento de chapas (Figura 4) como em

outro momento, para a avaliação da própria chapa após produção. En�amento de chapas

é o nome dado ao processo de introdução da chapa, obtida da bobina de aço, na linha de

produção.

Utiliza-se neste trabalho a união das técnicas de Programação Genética (PG -

Figura 3: Aciaria, Local para Produção de Aço. Imagem do Momento de Carregamento de Gusaao Convertedor. Fonte: Elaborada pelo autor.

Page 22: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

20

Figura 4: En�amento de Chapas de Aço na Linha de Galvanização Contínua. Fonte: Elaboradapelo autor.

Genetic Programming) ao uso de linguagens formais (gramáticas e expressões), realizando

a combinação de características dos quadros para o reconhecimento de objetos em vídeos,

processando e analisando as combinações para a escolha adequada das características a

se utilizar na busca por similaridade entre vídeos. Uma base de vídeo é a referência

para o treinamento, validação e teste, obtendo assim, uma função para avaliar o grau de

similaridade dos vídeos.

A Figura 5 representa a utilização de n características combinadas por meio de

Programação Genética e de m �ltros que permitem o realce de pontos de interesse para a

avaliação, além de permitir o uso de funções de distância para comparação entre os vídeos

de tamanhos diversos, e dos pesos, que permitem dar maior ou menor relevância a cada

combinação realizada pela Programação Genética. O indivíduo representa então a forma

de se calcular o grau de similaridade entre um vídeo de consulta e os vídeos da base.

Figura 5: Uso de PG na Combinação de Características, Filtros, Pesos e Funções de Distânciapara se Obter uma Função de Similaridade. Fonte: Elaborada pelo autor.

Neste trabalho, a Programação Genética é aplicada ao conjunto de características

extraídas dos quadros dos vídeos para executar suas operações sobre a combinação das

Page 23: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

21

características e funções de distância, e se ter o valor que representa a similaridade dos

vídeos armazenados na base de dados. E este grau de similaridade, que o indivíduo

permite apresentar, pode ser aumentado, ou reduzido, em razão do uso das técnicas da

Programação Genética, como mutação e recombinação (detalhes no capítulo de conceitos).

Aplicadas tais técnicas à composição do indivíduo, podem-se gerar outros indivíduos para

atingir melhores resultados. Importante citar que indivíduos e expressões possuem o

mesmo signi�cado neste trabalho.

1.1 Motivação

É motivação deste trabalho a construção de uma solução baseada em computação

evolucionária, com ênfase em Programação Genética, para se determinar a expressão que

melhor combine características e funções de distância para o cálculo de similaridade de

vídeos, no intuito de auxiliar o aumento da produção industrial, por exemplo.

Uma etapa importante do método é o processamento de cada quadro extraído dos

vídeos, aplicando, sobre o quadro, �ltros que realizam a inversão de cores e transformação

em tons de cinza, e realiza-se também o processamento para obtenção de dados de histo-

gramas de cores, o levantamento do número de componentes conexos, cálculo da função de

Energia, dentre outras características que se pode obter de cada quadro. Como ilustração,

observar a Figura 6 com os dados obtidos da imagem de um avião, e conforme o Qua-

dro 1 tem-se o registro de suas características extraídas da Figura 6, como: (a) o Número

de Componentes Conexos (de�nição no capítulo Conceitos), (b) a Distância da Margem

Superior, que indica a quantidade de pixels existentes até o pixel da margem superior da

imagem, (c) a Distância da Margem Inferior, que indica a quantidade de pixels existentes

até o pixel da margem inferior da imagem, (d) a Distância da Margem Direita, que indica

a quantidade de pixels existentes até o pixel da margem direita da imagem, (e) a Distância

da Margem Esquerda, que indica a quantidade de pixels existentes até o pixel da margem

esquerda da imagem, (f) Número de Pixels da Borda, ou seja, a quantidade de pixel que

compõe a borda binarizada da imagem do avião, (g) Quantidade de Segmentos, indicando

o número de retas que a imagem do avião possui, (h) Posição Coluna Inicial, apresentando

o valor da coluna do pixel mais a direita da imagem do avião, (i) Posição Coluna Final,

apresentando o valor da coluna do pixel mais a esquerda da imagem do avião, (j) Posição

Linha Inicial, apresentando o valor da linha do pixel superior da imagem do avião, (k)

Posição Linha Final, apresentando o valor da linha do pixel inferior da imagem do avião,

e (l) Cadeia, indicando orientação entre os pixels da borda da imagem do avião. Com a

Page 24: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

22

possibilidade de utilização de �ltros e operações sobre os quadros, prepara-se, então, uma

descrição de cada quadro dos vídeos, para que se tenha um vetor com as características,

quadro a quadro, de mesmo tamanho que o número de quadros que um vídeo possui.

Número de Componentes Conexos: 1 objetoDistância da Margem Superior: 12 pixelsDistância da Margem Inferior: 52 pixelsDistância da Margem Direita: 48 pixelsDistância da Margem Esquerda: 9 pixelsNúmero de Pixels da Borda: 104 pixelsQuantidade de Segmentos: 51 retasPosição Col. Inicial: 48Posição Col. Final: 122Posição Lin. Inicial: 12Posição Lin. Final: 54Cadeia de Representação 13443443444434344333443443das Orientações dos Pixels 44444333333432112111111111da Borda: 11111211111111121181818118

18188881871181333432344444

Quadro 1: Exemplo de Valores que Representam Características de Interesse da Figura 6.Fonte: Elaborado pelo autor.

Outra importante etapa é composta pela comparação entre as características que

descrevem os quadros dos vídeos, utilizando cálculos de distância para comparação das

sequências de dados entre os vídeos, como o cálculo das distâncias entre séries de da-

dos em um vetor que possa representar características como cores, ou a quantidade de

componentes conexos de cada quadro do vídeo, mostrando quão distante um vídeo é do

outro, e ainda outras possíveis ferramentas de comparação, como ERP (CHEN; NG, 2004)

e DTW (BERNDT; CLIFFORD, 1996), que também são opções de comparação entre se-

quências, neste caso, uma representação dos vídeos. Importante lembrar que o cálculo de

distância entre séries de dados, a ERP e a DTW não possuem sua origem na avaliação

de vídeos, e sim na avaliação de sequências de valores.

Em razão das características de cada grupo de quadros obtidas dos vídeos, algumas

descrições destes quadros possuem maior ou menor in�uência sobre o resultado desejado

de similaridade entre os vídeos. Assim sendo, cabe à Programação Genética realizar alte-

Figura 6: Imagem Exemplo para Obtenção de Características. Fonte: (VARELLA, 2005).

Page 25: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

23

rações nas expressões que representam o valor da similaridade entre os vídeos, à procura

de uma nova representação que seja mais adequada ao resultado esperado, ou seja, uma

nova expressão que mostre o processamento (quais características e funções de distância

devem ser utilizadas e como seus resultados devem ser combinados) a ser realizado para

comparar os quadros dos vídeos informando o quanto são similares.

(a) Avaliação por Histogramas.

(b) Avaliação após Aplicação de Filtros.

(c) Avaliação após Aplicação dos Filtros de Fatiar eDupla Inverção.

Figura 7: Exemplo do Processamento das Imagens Com e Sem a Aplicação de Filtros. Fonte:Elaborada pelo autor.

O exemplo da Figura 7(a) possibilita entender as etapas que o método segue para

obtenção da expressão gerada por uma GLC (Gramática Livre de Contexto) que denota

o caminho a se seguir para a�rmar a similaridade entre, neste exemplo, as chapas lisas

e com defeito. A forma adotada, no exemplo da Figura 7(a), é a avaliação dos dados

dos histogramas. Com o resultado obtido dos histogramas, é avaliado o resultado de

Page 26: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

24

uma expressão que denota operações como a inversão das cores dos quadros originais e

a aplicação de �ltro sobre a imagem já invertida. Desta imagem gerada, coletam-se os

dados, em que neste exemplo, Figura 7(b), o resultado é a apresentação da existência de

apenas um componente conexo na imagem de chapa lisa, e de um total de 28 componentes

conexos na imagem de chapa com rugas/defeitos.

Completando as possibilidades de processamento dos quadros, a Figura 7(c) per-

mite a avaliação baseada em fatiar as imagens originais, obtendo assim o realce das cores

mais claras, e em seguida, a dupla inversão das cores das imagens processadas, permitindo

a coleta de dados e resultando na existência de dois componentes conexos advindos da

chapa lisa, e 12 componentes da chapa com rugas/defeitos.

O propósito é poder utilizar PG e GLC para se construir expressões que deter-

minem o grau de similaridade dos vídeos, e ter como saída a expressão que representa o

adequado processamento dos mesmos, permitindo que se consiga apresentar os k vídeos

mais próximos de um dado vídeo de consulta.

Uma interpretação do processo mostrado de Figura 7(a) a Figura 7(c) deve ser feita

considerando Va como os quadros do vídeo da Chapa Lisa da Figura 7(a) e Vb os quadros

do vídeo da Chapa Defeito. Já a Figura 8 ilustra um exemplo de expressão combinando

características e funções de distância para avaliação da similaridade, em que d1, d2 e d3 são

representações numéricas de um valor de distância calculadas a partir das características

extraídas dos quadros dos vídeos Va e Vb.

Figura 8: Exemplo de Expressão em Forma de Árvore. Fonte: Elaborada pelo autor.

Page 27: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

25

em que:

d1, d2 e d3 Distâncias entre as características

Ident. Filtro identidade (não há aplicação de �ltros)

Sobel Aplicação do �ltro Sobel sobre os quadros de Va e Vb

Inversao Aplicação da invesão das cores sobre os quadros de Va e Vb

Fatiar Aplicação de �ltro com realce das cores mais claras

Com a Figura 8 tem-se um modelo da composição característica e função de

distância para mostrar o processo realizado na obtenção de uma das diversas possibi-

lidades de expressões que podem ser criadas, como exemplo (d2 × d1 + d3), em que:

Figura 7(a) d2 distância(HistogramaCinza(Va), HistogramaCinza(Vb))

Figura 7(b) d1 distância(NúmeroComponentesConexos(Sobel(InverterCores(Va))),

NúmeroComponentesConexos(Sobel(InverterCores(Vb))))

Figura 7(c) d3 distância(NúmeroComponentesConexos(InverterCores(InverterCores(Fatiar(Va)))),

NúmeroComponentesConexos(InverterCores(InverterCores(Fatiar(Vb)))))

Outras possibilidades seriam: (d1+d2+d3) ou (d1+d3). Há também a possibilidade

de impôr pesos (pi) a cada elemento da composição, o que se pode representar com as

expressões da seguinte maneira: ((p1× d1)× (p2× d2)+ (p3× d3)), ((p1× d1)+ (p2× d2)+(p3× d3)) ou ((p1× d1)+ (p3× d3)). Deve-se observar que ao se de�nir p2 com valor igual

a zero, tem-se a segunda e terceira expressões similares.

1.2 Objetivo Geral

O objetivo geral deste trabalho é o desenvolvimento de ferramenta que determine

a adequada combinação de características, funções de distância e pesos, via Computação

Evolucionária, especi�camente por Programação Genética (PG) e Algoritmo Genético

(AG), para recuperação de vídeos.

1.3 Metodologia

A metodologia utilizada basea-se em:

(a) Seleção e implementação de características, �ltros e funções de distâncias, combinados

para recuperação de vídeos;

(b) Implementação da representação das combinações por GLC (especi�camente árvores

de derivação);

(c) Implementação da ferramenta de Computação Evolucionária para se determinar a

adequada combinação em uma expressão a se usar na recuperação de vídeos;

Page 28: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

26

(d) Teste das diversas combinações de características, �ltros e funções de distâncias, apli-

cados à recuperação de vídeos;

(e) Avaliação dos vídeos recuperados para a de�nição e inspeção da qualidade das ex-

pressões;

(f) Teste do método em vídeos originados da produção industrial, e de outras classes como

vídeos de atividades esportivas.

1.4 Justi�cativa

Para ilustrar a importância do reconhecimento de vídeos e de eventos captados

por estes vídeos, é apresentado na Figura 9 uma sequência de quinze quadros extraídos

de vídeo, sendo este vídeo realizado durante a produção de chapas de aço laminadas. Os

quadros retratam os diferentes momentos em que a chapa, ao passar por uma determinada

área da linha de produção, se desloca para os lados, causando colisões da chapa com as

bordas da linha de produção, e por �m, além de rugas e cortes em partes da chapa, tem-se

o dano grave sobre a chapa.

Figura 9: Laminação: Acidente Durante a Produção de Chapas de Aço. Fonte: Elaborada peloautor.

Estes defeitos, marcados pelo entorno em vermelho nas imagens, e a parada da

produção em razão do dano grave causado à chapa, como pode-se observar nos últimos

quadros da Figura 9, poderia ser minimizado, ou até mesmo não ter ocorrido se um

sistema de visão computacional fosse capaz de detectar as primeiras rugas e colisões com

as bordas.

Ao interpretar as cenas do vídeo da esquerda para direita, linha a linha, pode-se

Page 29: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

27

observar o deslocamento da chapa, inicialmente centralizada na linha de produção, para a

direita, até que a chapa toque sua borda direita na base da máquina. Esta colisão resulta,

em primeiro momento, o amassar da borda direita, e rugas nas demais partes da chapa. O

sistema tenta centralizar novamente a chapa, mas acaba por tocar a extremidade esquerda

da máquina, causando novamente o amassar de bordas, outras rugas e danos maiores,

como o enrolamento (bobinamento) inadequado em uma área da linha de produção, com

a chapa já totalmente dani�cada.

Outro exemplo de reconhecimento de similaridade, a partir de vídeos, é apresentado

na Figura 10 uma sequência de quadros extraídos do vídeo realizado durante o carrega-

mento de gusa, para a produção de aço. São componentes da cena: o convertedor (vaso

para a produção de aço), panela com gusa (içada por ponte rolante), portas de proteção

contra explosão, e o evento explosão.

Figura 10: Aciaria: Acidente Durante a Produção de Aço. Fonte: Elaborada pelo autor.

Ao interpretar os quadros do vídeo da esquerda à direita, linha a linha, pode-

se observar o basculamento do vaso do convertedor, e a inclinação da panela de gusa

para o depósito de material líquido (gusa), com temperaturas acima de 700o C, e em

quantidade acima de dezenas de toneladas. O processo ocorreu de forma adequada, até

mesmo o fechamento das portas de proteção contra explosão. Porém, o evento denominado

carregamento de gusa, que deveria ter sido identi�cado por pessoas responsáveis pela

operação do sistema, justamente ao observar que a panela de gusa realizou o despejo

de material dentro do convertedor, não foi identi�cado pelos operadores do sistema, e

assim sendo, um novo basculamento ocorreu de forma automática, permitindo que o

convertedor lance o material de seu interior, ao solo, em grande quantidade e temperatura,

ocorrendo explosões, danos aos equipamentos e principalmente, riscos aos trabalhadores.

Caso o carregamento do convertedor estivesse sinalizado, todo e qualquer comando de

basculamento, automático ou manual, seria evitado.

Page 30: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

28

Este processo computacional sobre vídeos é propósito deste trabalho, reconhecendo

as similaridades, e permitindo que o erro humano possa ser minimizado, nos diversos

processos da produção industrial.

Outro objeto deste trabalho é o reconhecimento das imagens de vídeos para obten-

ção de falhas sobre as chapas. Defeitos que por vezes são de possibilidade de visualização

humana, porém, em muitos casos, senão a maioria, a visão humana pode ser falha ao ten-

tar reconhecer os defeitos, principalmente ao se imaginar que a velocidade de passagem da

chapa sobre o pontos de observação pode ser de até 300 metros por minuto. A Figura 11

mostra quatro chapas, com os defeitos sinalizados. Defeitos mais visíveis, como o defeito

observado na chapa superior esquerda, e outros menos visíveis, mas não menos graves,

observados nas demais três chapas. Uma ampliação das imagens das três chapas com os

defeitos menos visíveis pode permitir a observação visual das falhas sobre a chapa, o que

é de difícil percepção durante a produção.

Figura 11: Laminação: Produção de Chapa de Aço com Defeitos. Fonte: Elaborada pelo autor.

Este trabalho de pesquisa por similaridades em vídeos permite um auxilio às indús-

trias na localização dos defeitos na chapas de aço.

1.5 Principais Contribuições

As principais contribuições deste trabalho são:

(a) A utilização de �ltros de baixo custo computacional aplicados aos quadros

extraídos dos vídeos; e

(b) Aplicação de funções de distãncia entre séries temporais como ERP e DTW ao

resultado da série de valores de características extraídas dos quadros dos vídeos.

Outras contribuições são: (a) uso de PG para a combinação de características, fun-

ções de distância e pesos, aplicados à recuperação de vídeos; (b) uso de AG à recuperação

de vídeos; (c) uso de funções de distância de baixo custo computacional como Cosseno

Page 31: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

29

Projetado, LastPadding e ZeroPadding, aplicadas ao resultado da série de valores coleta-

dos da composição de características e �ltros; e (d) possibilidade de avaliar a similaridade

entre vídeos com número de quadros diferentes.

1.6 Organização do Texto

O texto está organizado da seguinte forma. O primeiro capítulo fornece uma in-

trodução ao problema, apresentando motivação, objetivos e justi�cativa deste trabalho.

No capítulo 2 tem-se a introdução de conceitos relevantes a este trabalho como a de�-

nição formal de imagem, quadro e vídeo, a de�nição de características, �ltros, funções

de distância, gramáticas e expressões, e a descrição formal de PG e AG. O capítulo é

encerrado com citação a trabalhos relacionados. No capítulo 3 apresenta-se a descrição

da metodologia PG e AG, e a importância do uso de função de aptidão, terminando com

um detalhamento das fases do método implementado. Em seguida, no capítulo 4, faz-se

a demonstração e avaliação dos resultados dos testes, para então apresentar, no capítulo

5 a conclusão e trabalhos futuros.

Page 32: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

30

2 CONCEITOS E TRABALHOS CORRELATOS

Este trabalho consiste da combinação de características, �ltros e funções de distân-

cia por meio de Programação Genética para recuperação de vídeos, e faz-se a busca por

similaridade entre o vídeo da consulta e os vídeos da base, sendo importante considerar o

trabalho de Espejo, Ventura e Herrera (2010), conforme pode ser visto na Figura 12, em

que o modelo de extração kNN (k-nearest neighbors), algoritmo que busca os k-vizinhos

mais próximos é relevante ao nosso trabalho. O algoritmo kNN é um método de classi�-

cação no qual um conjunto de dados é usado como uma referência para classi�car novas

instâncias, com a ajuda de uma adequada medida de distância obtida por meio da aplica-

ção de programação genética. Desta forma, nosso trabalho apresenta uma expressão que

permite a busca por similaridade dos k vídeos mais similares em uma dada pesquisa.

Figura 12: Aplicação de PG para Classi�cação, adaptado de Espejo, Ventura e Herrera (2010).

Ainda em relação a Figura 12, deve-se observar o bloco seleção de característi-

cas para se realizar um paralelo com o trabalho de Jain e Zongker (1997), que mostra

este problema de seleção de características (features) sendo de�nido como: "Dado um

conjunto de características candidatas, deve-se selecionar um subconjunto que tenha o

melhor desempenho sobre algum sistema de quali�cação. É um processo que pode reduzir

não somente o custo de reconhecimento por redução do número de características necessá-

rias a serem coletadas, mas também, em alguns casos, prover uma melhor classi�cação

devido ao tamanho �nito de amostragem". O termo seleção de característica refere-se ao

Page 33: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

31

algoritmo que tem como resposta um subconjunto retirado do conjunto de características

de entrada, e faz-se o uso, neste trabalho de computação evolucionária para recuperação

de vídeos, desta seleção de características.

Considerando os trabalhos de Lin e Bhanu (2005), Stanhope e Daida (1998) e

Tackett (1993), o método apresentado neste trabalho, que faz uso de PG, é classi�cado

na área de aplicação denominada Reconhecimento de Objeto. Já em relação a Jain, Duin

e Mao (2000), pode-se classi�car este trabalho como um modelo de reconhecimento de

padrões aplicados aos problemas do domínio de recuperação de base de dados multimídia,

análise de sequências, vídeos clips e medição de distância. Para Jain, Duin e Mao (2000),

o desenvolvimento de um sistema de reconhecimento de padrões envolve os aspectos de

aquisição de dados e pré-processamento, a representação dos dados, e por �m, a decisão

do que fazer. Torna-se, então, importante a introdução a tópicos e conceitos, para a

adequada compreensão do método desenvolvido a este trabalho, estando divididos nas

seguintes seções: (a) Imagem, Quadro e Vídeo; (b) Características e Filtros; (c) Funções

de Distância; (d) Gramática e Expressões; e (e) Computação Evolucionária (Algoritmo

Genético e Programação Genética).

2.1 Imagem, Quadro e Vídeo

Considerar A ⊆ N2, A = {0, ..., a − 1} × {0, ..., l − 1}, em que a corresponde à

altura e l como a largura de cada quadro, e T ⊆ N, T = {0, ..., N − 1}, em que N é o

tamanho do vídeo, pode-se de�nir imagem, quadro e vídeo.

2.1.1 Imagem ou Quadro

Uma imagem I é um par (DI ,→I ), em que DI é um conjunto �nito de pixels (pontos

em N2, onde DI ⊂ N2), e→I : DI → Rn é uma função que de�ne a cada pixel p em DI

um vetor→I (p) ∈ Rn, como por exemplo,

→I (p) ∈ R3 quando o sistema de cor RGB é

atribuído a um pixel (TORRES; FALCãO, 2006).

Outra forma equivalente seria considerar uma imagem ou um quadro q como uma

função de A para Z ou Z3, onde para cada posição espacial (x, y) em A, q(x, y) representa

um valor na escala de cinza (ou cor) a um pixel da posição(x, y) (PATROCÍNIO JÚNIOR;

GUIMARãES; PAULA, 2007).

Page 34: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

32

2.1.2 Vídeo

Um vídeo VN , no domínio A× T , pode ser visto como uma sequência de quadrosq. Podendo ser descrito por VN = (q)t∈T onde N é o número de quadros contidos no

vídeo (PATROCÍNIO JÚNIOR; GUIMARãES; PAULA, 2007). A Figura 13 objetiva mostrar

a extração de um dos quadros do vídeo, no caso, representado por uma sequência de

imagens da chapa de aço em produção.

Figura 13: Exemplo da Extração de um Quadro do Vídeo de Chapas de Aço. Fonte: Elaboradapelo autor.

2.2 Características e Filtros

2.2.1 Características

De acordo com Gonzalez e Woods (2002), durante o processamento de uma ima-

gem, deve-se especi�car um método que descreva em dados as características de interesse

da mesma. Descrições, também chamadas de características, são obtidas a partir da

extração de atributos que resultam em alguma informação quantitativa de interesse, ou

permitem a diferenciação de uma classe de objetos de outra. As características utilizadas

no método representam uma forma de descrever as propriedades de um objeto, e assim,

tais características devem ser insensíveis a translação, rotação e mudanças de escala (GON-

ZALEZ; WOODS, 2002), como visto na Figura 14, em que o número de componentes conexos

é sempre de valor um, independente de que o mesmo objeto avião esteja em diferentes

posições.

Page 35: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

33

Figura 14: Caracterização de Imagem Insensível a Translação e Rotação. Fonte: Elaborada peloautor.

2.2.2 Filtros

De acordo com Gonzalez e Woods (2002), os �ltros são operações sobre os valores

de tons de cinza dos pixels vizinhos de uma dada imagem, e que neste trabalho ampliou-se

a aplicação das operações sobre os tons de verde, vermelho e azul, saturação e matiz. A

matriz que processa a operação sobre a imagem origem, é chamada de �ltro, ou máscara,

ou semente, ou molde, ou janela, em que os primeiros três termos (�ltro, máscara, se-

mente) são terminologias mais predominantes. Os valores em um �ltro são referidos como

coe�cientes para aplicação em uma região de pixels vizinhos.

Em Marques Filho e Vieira Neto (1999) a�rma-se que o uso de máscaras espaciais

no processamento de imagens é normalmente denominado �ltragem espacial (em contraste

com a expressão �ltragem no domínio da frequência utilizada quando se opera, por exem-

plo, sobre a transformada de Fourier da imagem original) e tais máscaras são conhecidas

como �ltros espaciais. O �ltro é um algoritmo que permite limpar a imagem, eliminando

ruídos e detalhes que prejudicam ou di�cultam a extração de características.

Este trabalho faz o uso de �ltro(s) para auxiliar a comparação entre os vídeos, e

se pode fazer uso de nenhum, ou de vários �ltros em série sobre as imagens originais,

alterando-as conforme a aplicação de cada �ltro, para que, a partir deste momento, se

consiga ter o valor de uma das características que descrevem cada quadro extraído do

vídeo.

2.3 Funções de Distância

É necessário que se tenha uma forma adequada para realizar comparação entre as

sequências de características extraídas dos vídeos. E antes de citar as funções utilizadas,

é relevante conceituar medida de similaridade, ou função de distância.

De acordo com o trabalho de Bugatti (2008), um dos componentes fundamentais

para um sistema com a �nalidade de armazenamento e manipulação de imagens é a escolha

Page 36: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

34

das medidas de similaridade, ou funções de distância, já que ao contrário de buscas exatas,

a recuperação baseada em conteúdo fundamenta-se no cálculo de similaridade entre uma

dada imagem de amostra e um conjunto de imagens. Então, a determinação do grau de

similaridade entre objetos pode ser realizada a partir da comparação direta, ou a partir

de vetores de características extraídos dos objetos. Em ambos os casos, uma função de

distância é de�nida para se calcular o grau de similaridade, retornando um valor numérico

que quanti�ca o quão similar os objetos são. Tais valores são sempre maiores ou iguais

a zero. Esta função é chamada de Função de dissimilaridade ou de Função de

distância, segundo Bugatti (2008), e deveria ser sempre de�nida por um especialista no

domínio do problema em questão.

O trabalho de Chen e Ng (2004) explora as muitas aplicações que exigem a recu-

peração de Séries Temporais similares (séries também denominadas de séries cronológicas

ou sazonais). Como exemplos de aplicação de recuperação de séries cronológicas, pode-se

citar a análise de dados �nanceiros para a predição do mercado, a determinação de tra-

jetória de movimento de um objeto, e a recuperação de músicas. Os estudos nesta área

envolvem duas questões básicas: (a) a escolha de uma função de distância (um modelo de

similaridade), e (b) o mecanismo para melhorar a e�ciência da recuperação.

Segundo Chen e Ng (2004), os estudos existentes em séries cronológicas são ba-

seados em duas categorias de funções de distância: (a) a primeira categoria consiste em

utilizar normas Lp, que são funções de distância métricas, mas não suportam o desloca-

mento temporal, ou seja, dadas duas séries temporais R e S, ambas devem ser de mesmo

tamanho, (b) a segunda categoria consiste no uso de funções de distância que são capazes

de lidar com o deslocamento temporal, mas que não são necessariamente métricas.

Neste trabalho, utiliza-se como conteúdo de cada série temporal os valores obtidos

para uma das características de uma sequência de quadros de um vídeo, como o valor da

função de energia, ou da quantidade de componentes (binários) conexos, ou outro valor de

descrição apresentado anteriormente. Os valores são obtidos de cada quadro dos vídeos,

e sendo assim, é possível comparar dois vetores de dados de dois vídeos, mesmo que os

vídeos possuam tamanhos diferentes.

É importante informar que as duas primeiras funções de distância apresentadas

neste trabalho, ERP e DTW, são mais precisas, porém, são computacionalmente mais

caras, demandando mais tempo de execução, ou seja, possuem ordem de complexidade

superior às funções de distância ZeroPadding, LastPadding e Cosseno Projetado.

Page 37: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

35

2.3.1 ERP (Edit Distance with Real Penalty)

Chen e Ng (2004) propõem uma nova função de distância, denominada de ERP

(Edit Distance with Real Penalty), representando a união entre uma norma Lp e uma

distância de edição, permitindo que a ERP possa suportar o deslocamento temporal, e

ser métrica. Dado que a ERP é uma métrica, uma maneira de se reduzir falsos positivos

é aplicar a desigualdade triangular.

Dadas duas séries cronológicasR e S de mesmo tamanho, ou de tamanhos diferentes

(m e n), em que seus elementos são representados por Ri e Si, respectivamente, a ERP

tem seu cálculo baseado na equação ( 1), em que o gap representa uma lacuna que precisa

ser preenchida quando as séries são de tamanhos diferentes, e Rest(R) denota a sequência

de valores da série de R sem o primeiro elemento (o mesmo de aplica a Rest(S)). Se a

série R possuir apenas 1 elemento, Rest(R) é igual a vazio.

ERP (R,S) =

n∑i=1

|Si − gap| se m = 0

m∑i=1

|Ri − gap| se n = 0

min{ERP (Rest(R), Rest(S)) + disterp(R1, S1),

ERP (Rest(R), S) + disterp(R1, gap), ERP (R,Rest(S)) + disterp(S1, gap)} nos demais casos

(1)

E a função de distância disterp(Ri, Si) é representada pela equação ( 2):

disterp(Ri, Si) =

|Ri − Si| se Ri, Si não são gaps

|Ri − g| se Si é gap

|Si − g| se Ri é gap

(2)

em que g é um valor constante, sendo de�nido o valor de g = 0 para este trabalho,

seguindo o mesmo valor constante nos experimentos de Chen e Ng (2004).

(a) Histograma. (b) Histograma.

Figura 15: ERP: Avaliando Histogramas. Fonte: Elaborada pelo autor.

Para ilustrar o uso de ERP, sejam os histogramas da Figura 15(a) e Figura 15(b).

São histogramas obtidos de dois quadros quaisquer, e a ERP permite avaliar o quão similar

são os histogramas, e consequentemente, poder a�rmar se os dois quadros são similares.

Page 38: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

36

A utilização de ERP permite a�rmar que vídeos são similares, indicando a distância

entre os dados de cores, ou de Energia, por exemplo, e sua devida proporção de similari-

dade, ao apresentar o valor igual a zero, ou 100% similares, como pode ser observado na

relação entre Figura 16(a) e Figura 16(b).

(a) Série da Consulta. (b) Série do Vídeo 01.

(c) Série do Vídeo 02. (d) Série do Vídeo 03.

Figura 16: ERP: Avaliando Vídeos. Fonte: Elaborada pelo autor.

Observar que o resultado pode ser calculado pelo ERP utilizando-se vídeos de

tamanhos diferentes, como a relação entre a Figura 16(a) e Figura 16(c), sendo o valor

de distância normalizado calculado igual a 0,36207. O vídeo da Figura 16(c) possui três

quadro a menos que o vídeo da consulta.

Já em relação a Figura 16(a) e Figura 16(d) mostra-se que não há obrigatoriedade

de se iniciar uma comparação pelos mesmos quadros dos vídeos, ou seja, o deslocamento

entre os quadros de diferentes vídeos também é permitido para uma comparação (o valor

da distância é igual a 0,00492).

2.3.2 DTW (Dynamic Time Warping)

Outra função de distância utilizada é a DTW. DTW (Dynamic Time Warping)

foi introduzida por Berndt e Cli�ord (1996) para permitir que séries temporais sejam

capazes de prover uma melhor combinação com outras séries temporais. Dadas duas

séries cronológicas R e S de mesmo tamanho, ou de tamanhos diferentes (m e n), em que

Page 39: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

37

Rest(R) denota a sequência de valores da série de R sem o primeiro elemento (o mesmo

de aplica a Rest(S)), a DTW faz uso da seguinte equação ( 3) para o cálculo de distância.

Se a série R possuir apenas 1 elemento, Rest(R) é igual a vazio.

DTW (R,S) =

0 se m = n = 0

∞ se (m = 0 e n 6= 0) ou (m 6= 0 e n = 0)

distdtw(R1, S1) +min{DTW (Rest(R), Rest(S)),

DTW (Rest(R), S), DTW (R,Rest(S))} nos demais casos

(3)

E a função de distância distdtw(Ri, Si) é representada pela equação ( 4):

distdtw(Ri, Si) =

|Ri − Si| se Ri, Si não são gaps

|Ri − Si−1| se Si é gap

|Si −Ri−1| se Ri é gap

(4)

E a partir de duas séries temporais, no DTW, consegue-se indicar a distância entre

as séries, apresentando como resultado o valor igual a zero, ou 100% similares.

2.3.3 Cosseno Projetado

Em duas séries temporais R e S de mesmo tamanho n, ou de tamanhos diferentes

(m e n), o cálculo de distância de Cosseno Projetado é realizado de acordo com a equação

( 5):

COSPr(R,S) =

1−

n∑i=1

(Ri × Si) se n ≤ m

1−m∑i=1

(Ri × Si) se n > m

(5)

Quando duas séries temporais são iguais, o resultado da função de distância é o

valor zero, e quanto mais próximo de zero, mais similares são as séries temporais. Ocorre

que na comparação entre duas séries de tamanhos diferentes, a série de menor tamanho,

é preenchida, até alcançar o tamanho da maior série, com o valor zero (o que equivale

a projetar a maior série no espaço usado pela menor). E a�rmar que um par de séries

temporais é igual, signi�ca a�mar que o resultado da operação do valor um menos o

somatório das multiplicações de cada elemento resulta em zero. E para a�rmar o quão

diferente são as séries temporais, o resultado da função de distância tende ao valor um.

Figura 17(a) e Figura 17(b) mostram a relação entre um vídeo de consulta e um vídeo de

teste. É possível observar que os vídeos são similares em função dos dados apresentados

Page 40: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

38

na sequência de cada quadro, e que existe um deslocamento de dois quadros entre eles,

porém, isto não impede que o cálculo seja realizado, e que se apresente um resultado igual

a 0,091353 (1 - 0,908647), indicando que são muito similares.

(a) Série da Consulta (b) Série do Vídeo Teste

Figura 17: Cosseno Projetado: Avaliando Vídeos. Fonte: Elaborada pelo autor.

2.3.4 ZeroPadding

Uma importante proposta de função de distância é a denominada ZeroPadding,

sendo o cálculo de valores de norma Lp e uma soma das diferenças entre os valores

normalizados. Dadas duas séries R e S de mesmo tamanho, ou de tamanhos diferentes

(m e n), a ZeroPadding utiliza a equação ( 6) para o cálculo de distância:

ZeroPadding(R,S) =

n∑i=1

|Ri − Si| se n ≤ m

m∑i=1

|Ri − Si| se n > m

(6)

Para ilustrar o uso de ZeroPadding, considerar os histogramas da Figura 15(a)

e Figura 15(b). São histogramas obtidos de dois quadros quaisquer, e a ZeroPadding

permite avaliar o quão similar são os histogramas, e consequentemente, poder a�rmar se

as duas imagens são similares.

A utilização de ZeroPadding permite a�rmar que vídeos são iguais, indicando a

distância entre os dados de cores, ou de Energia, por exemplo, e sua devida proporção de

similaridade, ao apresentar o valor igual a zero diferença, ou 100% similares, como pode

ser observado na relação entre Figura 16(a) e Figura 16(b).

Observar que o resultado pode ser calculado pelo ZeroPadding utilizando-se vídeos

de tamanhos diferentes, como a relação entre a Figura 16(a) e Figura 16(c), sendo o valor

de distância calculado igual a (1,730142). O vídeo da Figura 16(c) possui três quadro a

menos que o vídeo da consulta. E a relação entre a Figura 16(a) e Figura 16(d), com

Page 41: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

39

valor de distância igual a (1,596486), mostra que não há obrigatoriedade de se iniciar uma

comparação pelos mesmos quadros dos vídeos, ou seja, o deslocamento entre os quadros

também é permitido, não havendo necessidade de alinhamento entre os vídeos para uma

comparação.

2.3.5 LastPadding

Faz-se uso também da função de distância denominada LastPadding, sendo o cál-

culo de valores de norma Lp e uma soma das diferenças entre os valores normalizados.

Dadas duas séries R e S de mesmo tamanho, ou de tamanhos diferentes (m e n), a

LastPadding utiliza a equação ( 7) para o cálculo de distância:

LastPadding(R,S) =

n∑i=1

|Ri − Si| se n ≤ m

m∑i=1

|Ri − Si| se n > m

(7)

A LastPadding permite avaliar o quão similar são os vídeos, baseando-se nas ca-

racterísticas extraídas de seus quadros.

2.4 Gramática e Expressões

A utilização de linguagens livres de contexto, de gramáticas (formalismo que per-

mite gerar todas as palavras de uma linguagem (MENEZES, 2000)) e de expressões são

necessárias para montar a composição de características, �ltros e funções de distância,

utilizada neste trabalho para o reconhecimento de vídeos.

De acordo com Vieira (2006), Gramática Livre de Contexto GLC é um forma-

lismo utilizado para se descrever linguagens formais. Uma gramática livre do contexto é

composta por um conjunto R de regras de derivação que de�nem como as sentenças da

linguagem podem ser produzidas. Cada regra de R é especi�cada utilizando-se terminais,

como os símbolos que compõem uma sentença, e não-terminais, símbolos temporários que,

no processo de produção de uma sentença, são substituídos. Desta forma, uma GLC é, for-

malmente, uma quádrupla (V,T,P,S), onde V é o conjunto dos símbolos não-terminais,

S ∈ V é o símbolo inicial, T o conjunto dos terminais e P o conjunto das regras de deriva-

ção, em que cada regra tem a forma X → w, onde X ∈ V e w ∈ (V ∪T )* (VIEIRA, 2006).Considerando a gramática dada no Quadro 2 é possível realizar a seguinte derivação:

E ⇒ E×E ⇒ [E]×E ⇒ [E+E]×E ⇒ [x+E]×E ⇒ [x+x]×E ⇒ [x+x]×x

Page 42: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

40

V = {E}T = {+,×, [, ], x}P = {E → E + E | E ∗ E | [E] | x}S = E

Quadro 2: Exemplo de Gramática. Fonte:(VIEIRA, 2006).

Ao considerar o operando x, da expressão [x+x]×x, como um modo de descrever

uma imagem, é possível perceber o quão poderoso é o uso de GLC nas combinações das ca-

racterísticas extraídas das imagens dos vídeos para obtenção de resultado de similaridade

dos mesmos.

2.5 Computação Evolucionária

Computação Evolucionária é o nome dado para uma simples ideia: usar a teoria

da evolução como princípio para concepção de um algoritmo. Qualquer programa que usa

um laço de repetição básico pode ser considerado como computação evolucionária, e os

algoritmos evolucionários operam sobre populações de indivíduos (ASHLOCK, 2005).

De acordo com Espejo, Ventura e Herrera (2010), o paradigma de algoritmo evo-

lucionário é baseado no uso de pesquisa probabilística inspirada por alguns pontos da

teoria da evolução de Darwin, e as características essenciais compartilhadas por todos os

algoritmos evolucionários são dadas por: a) fazer uso de uma população (um grupo) de

indivíduos candidatos a solução, ou parte da solução, ao contrário de se representar ape-

nas uma única solução; b) fazer uso de método intrínseco de geração, em que operadores

genéticos são aplicados aos indivíduos de uma população para dar nascimento a uma nova

população de indivíduos, denominada próxima geração, em que os principais operadores

genéticos são crossover (ou recombinação) e a mutação, sendo a recombinação uma troca

de parte do material genético entre dois indivíduos, e a mutação uma mudança randô-

mica de uma pequena porção do material genético de um indivíduo; e c) o uso de método

de seleção baseado em aptidão (�tness). A função de aptidão é utilizada para medir a

qualidade de um indivíduo, e quanto melhor é sua adequação, maior é a probabilidade

deste indivíduo ser selecionado para tomar parte em uma nova geração de indivíduos,

aumentando a probabilidade de que seu material genético sobreviva através do processo

evolucionário.

Este trabalho utiliza, da computação evolucionária, a PG - Programação Genética

e o AG - Algoritmo Genético como métodos para produzir expressões que determinem o

Page 43: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

41

grau de similaridade entre vídeos. Ashlock (2005) de�ne AGs como sendo os algoritmos

evolucionários que operam sobre uma estrutura de dados de tamanho �xo e que usam a

mutação e o crossover para realizar a variação na população de indivíduos. E ainda,

segundo Ashlock (2005), o Algoritmo Genético é, possivelmente, o tipo mais conhecido

de algoritmo evolucionário.

Para Koza (1992), o algoritmo genético é um algoritmo matemático altamente

paralelo que transforma um conjunto (população) de objetos matemáticos individuais

(cadeias de caracteres tipicamente de comprimento �xo e modeladas), cada qual com

um valor associado para a aptidão, em uma população nova (isto é, a geração seguinte)

que faz uso das operações modeladas seguindo o princípio Darwiniano de reprodução e

da sobrevivência do mais apto após a realização das operações genéticas naturais. Já a

programação genética é uma extensão do algoritmo genético convencional.

A Programação Genética é uma técnica de programação automática que propicia

uma possível evolução das formas de se solucionar problemas permitindo resolvê-los de

forma aproximada. Existe a possibilidade da manipulação das soluções corretas e incor-

retas, encorajando inconsistências e abordagens contraditórias. A Programação Genética

possui comportamento probabilístico, produzindo soluções não-parcimoniosas, ou seja,

sem moderação ou sem cuidados com um critério de terminação claramente de�nido. Foi

utilizada em razão de que suas operações como mutação, recombinação (crossover) e

reprodução, quando aplicadas às expressões, também de�nidas como indivíduos, que en-

volvem as características que descrevem os quadros dos vídeos, auxiliam na determinação

do grau de similaridade entre os vídeos.

Formalmente, a Programação Genética pode ser vista como um método automati-

zado para criar um programa de computador que trabalhe na solução de um problema de

alto nível. A Programação Genética parte de uma indicação de alto nível do que precisa

de ser feito e cria automaticamente um programa computacional para resolver o problema

(KOZA, 1992).

A Figura 18(a) apresenta o conceito de crossover da Programação Genética. Pode-

se observar que ocorre uma troca entre as formações de P1 e P2, resultando uma nova

possibilidade, uma nova expressão em C1 e C2. Já Figura 18(b) mostra o conceito

de mutação, em que na formação de P2 tem-se a alteração da operação de soma por

uma multiplicação e a substituição do elemento X por uma nova extrutura. O método de

otimização por Programação Genética (KOZA, 1992) é uma variação do algoritmo genético

que permite, pelo comportamento da Programação Genética, a solução de uma grande

Page 44: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

42

(a) Recombinação. (b) Mutação.

Figura 18: Programação Genética, adaptado de Koza (1992).

quantidade de problemas. A estrutura fundamental para o entendimento da utilização de

Algoritmo Genético e da Programação Genética é apresentada por Ashlock (2005), e a

seguir, tem-se uma descrição algorítmica:

1) Gerar uma população de expressões (indivíduos)

2) Repetir passos abaixo:

2.1) Teste das expressões (indivíduos) por qualidade

2.2) Selecionar expressões (indivíduos) para reprodução

2.3) Produzir novas variações de expressões (indivíduos) selecionados

2.4) Sobrepor antigas expressões (indivíduos) por novas expressões

3) Até que seja satisfeita a solução do problema

Deve-se atentar que neste trabalho são processadas alterações nas estruturas de

dados, ou seja, é realizada variação na montagem da expressão, podendo haver variação

de características, pesos, funções de distância e �ltros. Tais estruturas alteradas permitem,

assim, uma nova estrutura de expressão, no intuito de determinar o grau de similaridade

entre vídeos. Como apresentado por Ashlock (2005) a variação na composição da estrutura

de dados é a mutação, e a mistura de partes da estrutura é a denominada recobinação

(crossover).

Fan et al. (2004) apresentam conceitos como o de Algoritmo Genético e Progra-

mação Genética, e citam a importante diferença entre ambos (Figura 19), que é a re-

presentação interna, ou estrutura de dados, que no algoritmo genético é uma estrutura

de comprimento �xo, como uma string (11001110) ou sequência de números, também de

comprimento �xo (1.2, 2.4, 4, ...etc). Já na Programação Genética, a estrutura de dados

é mais complexa, podendo ser uma árvore, ou pilha. Os Algoritmos Genéticos são nor-

Page 45: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

43

malmente usados para resolver problemas de difícil otimização, tal qual a Programação

Genética também o faz, porém a PG é tipicamente usada para aproximação complexa e

funções não lineares de relacionamento.

Figura 19: Programação Genética (estrutura executável) x Algoritmo Genético (estrutura pré-de�nida)(ASHLOCK, 2005).

Blickle, Thiele e Mikroelektronik (1994) introduzem conceitos e características de

Programação Genética, além de apresentar um método e�caz para solução de proble-

mas descrevendo uma representação matemática do comportamento de árvores geradas

por Programação Genética. Maiores detalhes podem ser vistos na seção de trabalhos

relacionados a seguir.

2.6 Trabalhos Relacionados

Este trabalho faz uso das técnicas de Programação Genética e Algoritmo Genético

para recuperação de vídeos, permitindo informar o quão similiar são os vídeos, a partir

do uso da expressão que melhor compõe a combinação de características, �ltros e funções

de distância. Os trabalhos relacionados a seguir são de grande relevância, com destaque

para o trabalho de Torres et al. (2009).

Torres et al. (2009) mostram que a utilização de Programação Genética, aplicada

a combinação de descritores de imagens para obtenção de funções que determinam o grau

de similaridade, fornece um resultado superior quando comparado à métodos como a apli-

cação de Algoritmos Genéticos, ou quando comparado ao resultado obtido pela utilização

de descritores separadamente como, por exemplo, o BAS60 de Arica e Vural (2003). É

relevante informar que para o trabalho de Torres et al. (2009), vetor de características e

descritor não possuem o mesmo signi�cado, no mesmo, que para um melhor entendimento,

de�ne-se que descritor deva ser considerado como uma tupla formada pelo par algoritmo

de extração de características e função de similaridade.

O avançar das pesquisas permitiu a colaboração entre a Programação Genética e o

processamento digital de imagens, como visto no trabalho de Torres et al. (2009). É usado

Page 46: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

44

um simples descritor d, em composição, para computar similaridade entre imagens IA e

IB. A Figura 20 ilustra tal composição. Aplica-se cada descritor sobre as imagens IA e IB

no intuito de computar similaridades entre elas. A solução passa pela combinação genética

dos descritores aplicados às imagens, obtendo resultados superiores quando comparados

aos descritores conhecidos pelos pesquisadores.

Figura 20: Uso de descritor para computar similaridade entre imagens - adaptado de Torres etal. (2009).

Em Torres et al. (2009) propõe-se primeiramente extrair características das ima-

gens, e em seguida a aplicação de uma função de similaridade para a obtenção do descritor.

De posse de um conjunto de descritores simples, é realizada a composição dos mesmos

por PG para indicar o grau de similaridade entre as imagens. Um exemplo da composição

pode ser: (((d1 × d2)/d1) + raiz(d3)). Algumas das características utilizadas por Torres

et al. (2009) para a composição o BAS40 e BAS60 (ARICA; VURAL, 2003), o MS fractal

dimension (TORRES; FALCãO; COSTA, 2004), Fourier e Moment invariant, de Gonzalez e

Woods (2002); e como função de distância, o uso de norma Euclidiana (MARQUES FILHO;

VIEIRA NETO, 1999) e OCS (WANG; PAVLIDS, 1990).

O método proposto neste trabalho possui grande relação com o trabalho de Torres

et al. (2009), sendo que ambos aplicam as operações de PG sobre as características extraí-

das de quadros de vídeos, e fazem uso de soma e multiplicação, por exemplo, até encontrar

uma combinação satisfatória, ou seja, informar o quanto são similares os quadros. O tra-

balho de Torres et al. (2009) tem, como exemplo, aplicação sobre imagens binárias, com

o uso do método de PG e dos operadores +,×, /, raiz, e o método apresentado neste

trabalho utiliza quadros obtidos de vídeos, coloridos ou não, processando para a obtenção

do grau de similaridade entre os vídeos, através de operadores unitários, �ltros e GSIM ,

como pode ser observado no exemplo da Figura 8 da seção 1.1 deste trabalho.

Page 47: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

45

E em Poli (1996) é apresentado um trabalho focado na aplicação de Programação

Genética à análise de imagens, no caso, imagens do cérebro humano obtidas por ressonân-

cia magnética. Baseia-se no realce, na detecção de características, e na segmentação da

imagem. O realce da imagem tem por objetivo poder aumentar a qualidade da imagem,

removendo ruídos, e o faz em função da aplicação de algum tipo de �ltro. A detecção

de característica objetiva identi�car a posição de um dado tipo de estrutura presente na

imagem. Enquanto que a segmentação consiste em classi�car os pixels da imagem com

um pequeno número de rótulos. Poli (1996) avaliou os diferentes tons de cinza da imagem

via Programação Genética, obtendo signi�cante diferenciação em relação ao uso de redes

neurais para identi�cação, caracterização e realce de imagens. Desta forma, ele preocupa-

se em apresentar o uso da Programação Genética na análise de imagens, por utilização

de certos requisitos como conjuntos terminais, conjuntos funcionais e funções de forma.

Tais agrupamentos foram trabalhados por um processo de aprendizado e repetição, em

que o sistema computacional apresentou resultados expressivos. Poli (1996) destaca sua

descoberta, o uso de PG como um �ltro ótimo para a análise de imagens.

Outro estudo relevante é o de Segond, Fonlupt e Robilliard (2006) que auxilia a

prática da Programação Genética aplicada ao contexto de padronização de estruturas,

além disso preocupa-se com o reconhecimento de padrões de estruturas marinhas e iden-

ti�cação automática de tais estruturas. O estudo possui como meta veri�car a hipótese

que biólogos fazem quanto a in�uência da presença de estruturas retentivas (como recifes)

no oceano sobre a demogra�a da fauna aquática. O método utilizado por Segond, Fon-

lupt e Robilliard (2006) é baseado na geração de �ltros iterativos usando Programação

Genética, pois a solução do problema é de difícil tratamento por métodos clássicos de

análise de campo vetorial, sendo necessário então a utilização de conhecimento especiali-

zado, tornando-se, assim, um método de aprendizado não parametrizado que otimiza os

chamados parâmetros ocultos e as formas dos �ltros aplicados ao problema. A aborda-

gem de Programação Genética torna-se necessária em razão de se estar a frente de um

problema de aprendizado não parametrizado, ou seja, é necessário obter o aprendizado

de especialistas para a identi�cação das estruturas, e se podem ou não ser classi�cadas

como estruturas. E quanto aos uso de �ltros iterativos (SEGOND; FONLUPT; ROBILLIARD,

2006), a ideia é permitir a um mesmo programa examinar várias vezes o mesmo conjunto

de dados (como um mapa de correntes marinhas) a �m de melhorar a classi�cação a

cada iteração, tornando o resultado mais preciso, sendo um método evolucionário e e�-

caz baseado em Programação Genética a �m de resolver um problema de aprendizagem

orientado por critérios ocultos.

Page 48: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

46

Figura 21: Evolução da Detecção de um Filtro Iterativo. Fonte:(SEGOND; FONLUPT; RO-BILLIARD, 2006).

Destaca-se (ver Figura 21) que a adição do aspecto iterativo dos �ltros gerados per-

mite ao método atingir bons desempenhos na resolução do problema, o que não é possível

para �ltros clássicos. É possível observar a ocorrência da evolução do �ltro iterativo à

1a, 5a, 10a, 15a, 20a e 30a iteração, em que as principais estruturas são colocadas em evi-

dência. Este método possui boa capacidade de generalização e revela-se por conseguinte

muito robusto. Além disso, tem a vantagem de utilizar um processo estocástico (processo

regido pela imprevisibilidade) para gerar �ltros que são deterministas, que o difere de

outros trabalhos.

Já Fan et al. (2004) realizam o estudo que aborda o uso de diferentes desenhos

de funções de aptidão na Programação Genética, aplicando a Programação Genética à

recuperação de informação na Web. A Programação Genética é tipicamente usada para

aproximação complexa e funções não lineares de relacionamento. Fan et al. (2004) conclui-

ram que os testes usando Programação Genética para pesquisa sobre a Web foram um

sucesso.

Ainda em relação à aprendizagem que a Programação Genética permite realizar,

em sistemas computacionais, Barate (2008) propõe um método permanente de descrição e

aprendizagem de algoritmos de visão global para tomada de decisão por robôs. Objetiva-se

que o robô evite obstáculos durante sua movimentação, utilizando, para tanto, gramáticas

(linguagens formais) e Programação Genética, permitindo que o robô aprenda automa-

ticamente e possa adaptar seus controles a um dado contexto visual. Este trabalho de

Barate (2008) se deu em razão de que métodos anteriores para a montagem da imagem

visual usam descritores �xos, comprometendo assim a capacidade de adaptação do sis-

tema à um ambiente visual mutável. Os resultados obtidos sobre um robô móvel foram

satisfatórios, e assim foi provado que é possível utilizar o sistema proposto para conceber

Page 49: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

47

controladores e�cazes para uma utilização real.

Sherrah, Bogner e Bouzerdoum (1996) apresentaram um trabalho que envolve a

classi�cação automática de problemas, permitindo a substituição do envolvimento hu-

mano na seleção de características de um dado problema, pelo chamado Evolutionary

Pre-processor, que automaticamente extrai o conjunto de características de uma dada

classe de problemas. O Evolutionary Pre-processor faz uso de PG, realizando o processo

automático de extração de características, e foi aplicado a problemas reais, como os de se

diagnosticar diabetes em um grupo de pacientes Indianos, e o problema de avaliação de

qualidade de diferentes tipos de vidro, no qual dada uma amostra é possível identi�car o

tipo de vidro.

De acordo com Jain, Duin e Mao (2000), um sistema de reconhecimento/classi�cação

adota dois modelos (ver Figura 22), e um modelo de treinamento, também chamado de

aprendizagem, e um modelo de classi�cação, ou teste. O módulo de pré-processamento

separa um padrão de interesse de outros padrões. Já o módulo de extração/seleção pro-

cura a característica apropriada para a representação, sendo que o módulo de medição

de características indica a classi�cação que deve ser adotada, para, então, responder a

consulta realizada.

Ainda segundo Jain, Duin e Mao (2000), o método de extração de características

determina um subespaço apropriado de dimensionalidade m a partir do espaço original

de características de dimensão d (m ≤ d). A seleção de características é de�nida como

um subconjunto das características disponíveis que represente uma classi�cação de menor

erro.

E em relação ao Algoritmo Genético, que é parte deste trabalho, existe uma corres-

pondência com o trabalho de Cateni, Colla e Vannucci (2010), que apresenta um método

automático de seleção de entradas explorado através de AG. E Cateni, Colla e Vannucci

(2010) reforçam a idéia da grande importância da tarefa de seleção das variáveis de en-

Figura 22: Modelo para o Reconhecimento de Padrões, Adaptado de (JAIN; DUIN; MAO, 2000).

Page 50: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

48

trada para a solução de problemas reais, em que fornecido um conjuto de dados usados

para o desenvolvimento de um classi�cador, que contém um alto número de entradas, mas

não o conhecimento disponível, a priori, sobre a aplicação considerada, a qual deve-se per-

mitir distinguir quais variáveis, entre as entradas, são relevantes para sua classi�cação.

Entenda-se no presente trabalho o processo de seleção das melhores entradas como a se-

leção das entradas de maior precisão, podendo ser, por exemplo, a utilização da função

de distância ERP aplicada ao número de componentes conexos com peso 1, e sendo irre-

levante, não utilizado, a parte do indivíduo AG referente ao valor da função de distância

DTW da função de energia. Agrega-se à seleção de entradas o conceito proposto por

Shao et al. (2003) que mostra como organizar o uso das características selecionadas à

recuperação de imagens. O trabalho de Shao et al. (2003) é baseado na inserção de um

valor de peso a cada característica seleciona no AG, permitindo assim que haja um melhor

aproveitamento da composição das características selecionadas para a solução da pesquisa

de uma dada imagem. Outro trabalho relacionado a AG, já para recuperação de vídeos,

é o de Momtazpour, Saraee e Palhang (2010), que relata a di�culdade da extração de

características e o problema da complexidade da aplicação de descritores de vídeos, ao

qual é tratado pelo uso AG à recuperação de vídeos.

Complementando os trabalhos, principalmente relacionados à PG, deve-se citar o

de Ferreira et al. (2011), em que apresenta o método de recuperação de imagem usando

programação genética para a aprendizagem das preferências de um dado usuário, usando

funções de similaridade de�nidas para todos os descritores disponíveis (no trabalho em

questão). O objetivo do método é encontrar uma função de combinação de descritores que

melhor represente a percepção do usuário (realimentação de relevância). E o trabalho de

Calumby (2010) que apresenta uma abordagem para recuperação multimodal de imagens

com realimentação de relevância baseada em programação genética, supondo que cada

imagem da coleção possua informação textual associada além de ter suas propriedades

visuais codi�cadas em vetores de características.

Page 51: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

49

3 COMPUTAÇÃO EVOLUCIONÁRIA PARA RECUPERAÇÃO DEVÍDEOS

Antes de iniciar a descrição dos métodos utilizados neste trabalho, é importante

apresentar a relação entre as nomenclaturas utilizadas na computação evolucionária e as

do domínio do problema. A Tabela 3 mostra esta relação:

Computação Evolucionária Domínio do ProblemaPopulação: Conjunto �nito de expressões.Indivíduo: Expressão composta por operadores matemáticos e a representação da

combinação de Características, Filtros, Funções de Distância e Pesos.Genes: Partes das expressões que representam a combinação.Seleção: Processo resultante da função de aptidão.Mutação: Alteração de parte da expressão.Recombinação: Troca de partes entre duas expressões.Reprodução: Cópia de expressão para a próxima geração.Geração: População composta por expressões �lhas das população anterior.

Quadro 3: Computação Evolucionária × Domínio do Problema

Na implementação deste trabalho, cria-se uma população inicial de expressões que

são utilizadas para se avaliar a base de dados de vídeos. Ao �m de gerações de expressões

evoluídas, tais expressões são consideradas as mais aptas para atender as buscas em uma

base de vídeos, na qual uma amostra precisa ser encontrada. Os resultados deste trabalho

estão no capítulo de avaliação dos resultados, e a Figura 23 ilustra as etapas citadas.

Figura 23: Etapas. Fonte: Elaborada pelo autor.

A entrada de dados é focada na leitura de vídeos armazenados em arquivos no

Page 52: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

50

formato .avi, .mpeg, ou outros formatos, realizada por bibliotecas de uso geral, como o

exemplo de VideoCapture.dll de acesso gratuito na Internet. Uma vez lido cada quadro do

vídeo são extraídas informações para a caracterização do tamanho do quadro, a quantidade

de pixels que compõem o quadro e as cores de cada pixel, no formato RGB e em tons de

cinza, dentre outros dados que são necessários.

Tem-se a seguir as descrições dos métodos utilizados neste trabalho, que foram

codi�cados pelo autor, não fazendo uso de rotinas ou bibliotecas encontradas na literatura

ou em outros trabalhos.

3.1 Descrevendo características e Filtros

3.1.1 Características

As características adotadas neste trabalho descrevem quadros extraídos dos vídeos

e possuem baixa complexidade computacional, assim sendo, são de rápida execução. Estas

são razões por escolher e utilizar as dez características apresentadas no Quadro 4.

Siglas DescriçãoNC: Número de Componentes ConexosEN: Valor da Função de EnergiaHC: Histograma do CinzaHR: Histograma do VermelhoHG: Histograma do VerdeHB: Histograma do AzulHM: Histograma do MatizHS: Histograma de SaturaçãoRC: Ritmo Visual Paralelo de CinzaRX: Ritmo Visual Cruzado de Cinza

Quadro 4: Características Utilizadas. Fonte:Elaborado pelo autor.

De�nidas as características, faz-se necessário apresentação e descrição formal de

cada uma das características utilizadas no trabalho.

• Descrição do Número de Componentes Conexos: Componentes conexos são de�-

nidos como um subconjunto de elementos C da imagem que são conexos entre si.

Portanto, dois elementos f1 e f2 são ditos conexos se existir um caminho de f1 a

f2 contido em C (PEDRINI; SCHWARTZ, 2007). A imagem da Figura 24(a) possui

apenas um componente conexo, enquanto que a Figura 24(b) apresenta oito com-

ponentes conexos. Importante informar que a imagem precisa ser binarizada para

se calcular o número de componentes conexos.

Page 53: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

51

(a) Imagem Compostapor Um ComponenteConexo

(b) Imagem Compostapor Oito ComponentesConexos

Figura 24: Extração do Número Componentes Conexos de uma Imagem. Fonte: Elaborada peloautor.

• Descrição de Cor por Histogramas: A cor é a resultante da interação entre a luz física

(radiações eletromagnéticas) em um ambiente e o sistema visual humano. Utiliza-se,

neste trabalho, o sistema de cores RGB (Red ou vermelho, Green ou verde e Blue ou

azul). São estas denominadas cores primárias aditivas por ser possível obter qualquer

outra cor a partir de uma combinação aditiva de uma ou mais delas, em diferentes

proporções. Usa-se também os valores de matiz e saturação, que são duas das três

características normalmente utilizadas para distinguir as cores entre si: brilho (B -

brightness), matiz (H - hue) e saturação (S - saturation). O brilho, que representa

a noção de intensidade luminosa da radiação não faz parte do conjunto de dados

utilizados pelo presente trabalho, mas matiz, que é uma propriedade associada ao

comprimento de onda predominante na combinação das várias ondas visíveis, e a

saturação, que expressa a pureza do matiz ou, em outras palavras, o grau de mistura

do matiz original com a luz branca, são caracteristicas utilizadas neste trabalho.

Apenas para ilustrar a importância do uso de matiz e da saturação, as cores como

o rosa e o vermelho possuem o mesmo matiz, mas apresentam diferentes graus de

saturação. Gonzalez e Woods (2002), Pedrini e Schwartz (2007) e Marques Filho e

Vieira Neto (1999) apresentam detalhes sobre cores e sistemas de representação de

cores.

De acordo com Marques Filho e Vieira Neto (1999), o histograma de uma imagem

é simplesmente um conjunto de números indicando o percentual de pixels naquela

imagem que apresentam um determinado nível de cinza. Estes valores são normal-

mente representados por um grá�co de barras que fornece para cada nível de cinza

o número (ou o percentual) de pixels correspondentes na imagem. Através da vi-

sualização do histograma de uma imagem obtém-se uma indicação de sua qualidade

quanto ao nível de contraste e quanto ao seu brilho médio (se a imagem é predo-

minantemente clara ou escura). Para imagens coloridas é possível utilizar o mesmo

Page 54: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

52

princípio aplicado à cor cinza para os histogramas das cores verde, vermelho e azul,

por exemplo.

Figura 25: Exemplo do Uso de Processamento Baseado Cor, o Espelho Virtual. Fonte:(EISERT;RURAINSKY; FECHTELER, 2007).

A cor frequentemente simpli�ca a identi�cação de objetos. Já o brilho é conside-

rado uma descrição subjetiva. A Figura 25 ilustra como a cor pode apresentar um

determinado objeto na cena, em que no caso, o espelho virtual permite a pessoa se

ver com a mesma camisa (de cor verde), porém, em uma cor diferente da cor real

(vermelha) da camisa em questão.

Para cada quadro do vídeo, faz-se a coleta dos valores de cor e obtém-se o histograma

(a) Imagem doquadro 1.

(b) Histogramado quadro 1.

(c) Imagem doquadro 2.

(d) Histogramado quadro 2.

(e) Imagem doquadro 3.

(f) Histogramado quadro 3.

(g) Imagem doquadro 4.

(h) Histogramado quadro 4.

(i) Imagem doquadro 5.

(j) Histogramado quadro 5.

(k) Série de Histogramas.

Figura 26: Exemplo do Alinhamento dos Histogramas para o Processamento de Caracterizaçãodos Vídeos. Fonte: Elaborada pelo autor.

Page 55: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

53

correspondente. Os histogramas são armazenados em série, na mesma ordem com

que os quadros dos vídeos são coletados. Faz-se, então, o processamento dos dados

do histograma de cinza, e de outras cores como o vermelho, verde, azul, do matiz e

também da saturação. As Figuras de 26(a) até 26(k) exempli�cam o alinhamento dos

histogramas para o processamento de caracterização dos vídeos baseado em cores. A

Figura 26(k) exempli�ca o processo, em que dos quadros (Figura 26(a), Figura 26(c),

Figura 26(e), Figura 26(g), Figura 26(i)) tem-se a obtenção dos histogramas de tons

de cinza (Figura 26(b), Figura 26(d), Figura 26(f), Figura 26(h), Figura 26(j))

respectivamente, até que a composição serializada de dados seja realizada.

• Descrição do Valor da Função de Energia: O conceito de energia está relacionado

com o tamanho dos vetores de entrada e saída de uma transformada de dados (PE-

DRINI; SCHWARTZ, 2007). É uma medida calculada a partir do histograma de níveis

de cinza coletado do quadro do vídeo. Basicamente é o somatório dos quadrados

da função de densidade de probabilidade P(i) da ocorrência dos tons de cinza h(i),

sendo i a intensidade do tom e n a quantidade de pixels do quadro. O valor da

função de Energia é dado pela equação E =∑Hg

i=0(P (i))2 em que P (i) = h(i)

n, sendo

que Hg apresenta o valor máximo de tom de cinza.

A Figura 27 obtida a partir do quadro de um vídeo apresenta o valor 649 como

resultado para o valor da função de Energia. O valor da Função de Energia foi

escolhido para ser utilizado pois representa a uniformidade da imagem em relação

à sua textura (PEDRINI; SCHWARTZ, 2007).

Figura 27: Imagem Exemplo para o Cálculo de Energia. Fonte: Elaborada pelo autor.

• Descrição por Ritmo Visual: O Ritmo Visual adotado é uma adaptação do Ritmo

Visual por amostragem, usado por Guimarães (2003), em que um vídeo é transfor-

mado em uma imagem bidimensional contendo informações de cada quadro. Por

meio deste Ritmo Visual, é possível avaliar a relação de níveis de cinza no espaço de

Page 56: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

54

uma dada imagem. Em outras palavras, diferentemente do histograma, que poderia

apresentar valores idênticos de tons de cinza para imagens diferentes, em decor-

rência da posição do pixel em que se encontra cada tom de cinza, o Ritmo Visual

permite observar a posição que determinado nível de cinza se encontra na imagem.

Foram adaptados dois modos de calcular o Ritmo Visual de tons de cinza: (a) em

que coletam-se os valores do nível de cinza de cada pixel, iniciando-se tal coleta

na posição (0,0) da imagem, seguindo uma diagonal até a base inferior da imagem,

e paralelo a esta linha traçada, coleta-se também os valores do nível de cinza de

cada pixel partindo da posição de linha �nal e coluna �nal da imagem até a posição

superior da imagem, em que apresentam-se duas linhas paralelas à imagem obtida

do quadro do vídeo, como pode ser observado na Figura 28(a), e (b) em que a coleta

dos valores do nível de cinza é realizada por orientação de duas diagonais cruzadas,

sendo uma diagonal partindo da posição (0,0) da imagem, seguindo uma diagonal

até a base inferior da imagem, e a outra partindo da posição de última linha e

primeira coluna da imagem, seguindo a diagonal até a base superior da imagem

(Figura 28(b)).

(a) Obtenção de Ritmo VisualParalelo.

(b) Obtenção de Ritmo VisualCruzado.

Figura 28: Exemplo da Adaptação de Ritmo Visual. Fonte: Elaborada pelo autor.

3.1.2 Filtros

Neste trabalho, antes do processamento dos valores que caracterizam os quadros,

permite-se realizar uma �ltragem sobre cada quadro de cada vídeo em avaliação. Nos

exemplos vistos nas Figuras 7(b) e 7(c) pode-se entender a ocorrência serializada da

aplicação dos �ltros, em que a imagem original é alterada por in�uência de um dado

�ltro, escolhido pelo método, e que se pode, também, realizar uma nova alteração na

imagem, agora, sobre a imagem já alterada, havendo assim, alterações em sequência até

a apresentação de uma imagem resultante da aplicação dos �ltros. Sobre esta imagem

Page 57: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

55

resultante é que a característica é extraída, como a Figura 29 mostra.

Figura 29: Aplicação de Filtros sobre Quadro do Vídeo. Fonte: Elaborada pelo autor.

E a Figura 30 mostra um quadro extraído do vídeo de chapas de aço em produção,

e sobre este quadro aplicou-se o �ltro para inversão da cores do quadro. Desta inversão

de cores aplicou-se, então, o �ltro Sobel para que haja realce das partes de interesse para

uma descrição adequada do quadro.

Figura 30: Exemplo da Aplicação de Filtros sobre Quadro do Vídeo. Fonte: Elaborada peloautor.

O Quadro 5 apresenta os �ltros utilizados neste trabalho. Adota-se a possibilidade

da aplicação de qualquer um dos 22 �ltros sobre os quadros extraídos dos vídeos, sendo

permitido a serialização de �ltros. Da lista de �ltros do Quadro 5, deve-se explicar a

razão da utilização de: (a) Filtro Fatiar Bit 7 é o �ltro que permite o realce dos pontos

de tonalidade mais clara, ou seja, realiza-se sobre cada pixel do quadro uma avaliação

no valor da cor presente no pixel, em que o bit mais signi�cativo da cor representada é

testado, e no caso do valor deste bit ser 1, a cor do pixel é mantida no quadro resultante,

como pode ser observado na Figura 31(e), (b) Filtros Limiar 1/2 (de Cinza a Saturação)

são �ltros que permitem representar o quadro de forma binarizada, sendo que ao testar

o valor da cor atribuída a cada pixel, faz-se a comparação com o valor de 50% do valor

máximo que se pode atribuir a uma dada cor, e para o caso de valores inferiores a 50%

atribui-se a cor preta ao pixel, caso contrário, atribui-se a cor branca, como pode ser

Page 58: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

56

Filtro DescriçãoSOBEL: Realce de bordas utilizando os operadores horizontal e vertical.INVERTER CORES: Representação do complemento das cores pixel a pixel.LINHAS VERTICAIS: Realce de linhas verticais da imagem.LINHAS HORIZONTAIS: Realce de linhas horizontais da imagem.LINHAS +45 GRAUS: Realce de linhas em ângulo de +45 graus da imagem.LINHAS -45 GRAUS: Realce de linhas em ângulo de -45 graus da imagem.LINHAS: Realce do conjunto de linhas em vertical, horizontal e ângulos (+/-45).HIGHBOOST: Realiza a�namento dos tons da imagem.ROTACIONAR 90 GRAUS: Gira a imagem em 90 graus.FATIAR BIT 7: Realce dos pontos de tonalidade mais clara.ELIMINAR PONTOS ISOLADOS: Elimina da imagens pixels isolados.LIMIAR 1/2 CINZA: Limiarização meio a meio dos pontos de tonalidade de cinza.LIMIAR 1/2 AZUL: Limiarização meio a meio dos pontos de tonalidade de azul.LIMIAR 1/2 VERDE: Limiarização meio a meio dos pontos de tonalidade de verde.LIMIAR 1/2 VERMELHO: Limiarização meio a meio dos pontos de tonalidade de vermelho.LIMIAR 1/2 MATIZ: Limiarização meio a meio dos valores do matiz.LIMIAR 1/2 SATURAÇÃO: Limiarização meio a meio dos valores da saturação.LIMIAR CINZA MAIS EXPRESSIVO: Realce dos pontos de tonalidade mais frequente.Log TRANSFORMATION: Realiza a operação do logaritmo sobre os tons da imagem.PowerLaw TRANSFORMATION: Realiza operação de potência sobre os tons da imagem.MEDIA: Computado dentro de uma região local de n x n ao redor da posição (x,y).

O valor é usado para estimar o valor da média da área local de n x n.LAPLACE: Realce de bordas, insensível à rotação, sendo capaz de realçar

ou detetar bordas em qualquer direção.

Quadro 5: Filtros Utilizados. Fonte: Elaborado pelo autor.

observado nas Figuras de 31(f) a 31(j), e (c) o Filtro Limiar Cinza Mais Expressivo

também representa o quadro de forma binarizada, sendo que o mesmo permite o realce

dos pontos de tonalidade mais frequente no quadro, sendo que para tanto, deve-se calcular

o histograma da cor cinza e atribuir a cor branca aos pixels que possuem valor de cor

cinza superiores ao valor de nível de cinza mais frequente no quadro, e caso contrário,

atribui-se a cor preta aos pixels, como pode ser observado na Figura 31(k). Em relação

aos demais �ltros listados, maiores detalhes podem ser encontrados em Marques Filho e

Vieira Neto (1999), Gonzalez e Woods (2002) e Pedrini e Schwartz (2007).

Para mostrar o efeito da aplicação de �ltros, a Figura 31 apresenta o quadro original

(Figura 31(p)) juntamente com os demais resultados da aplicação individual (isolada) de

cada �ltro (Figuras 31(a) - 31(o)).

Como se pode fazer uso de nenhum, ou de vários �ltros em série sobre o quadro do

vídeo, uma única e simples expressão, que avalia tal quadro extraído do vídeo, pode ser

resultado de uma das 118.778.947 (= (227 − 1)/21) combinações possíveis de �ltragem,

ao caso de se aplicar o uso de até seis �ltros em série. A seguir três exemplos de possíveis

expressões com aplicação dos Filtros e do uso de características que descrevem os quadros

dos vídeos Va e Vb:

1) NúmeroComponenteConexos(Sobel(InverterCores(Va,Vb)))

2) NúmeroComponenteConexos(EliminarPontosIsolados(Limiar1/2Matiz(LogTransformation(Va,Vb))))

3) RitmoCruzado(Laplace(Media(Va,Vb)))

Page 59: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

57

(a) Filtro Sobel (b) Filtro Inver-ter Cores

(c) Filtro Linhas (d) Filtro High-boost

(e) Filtro Fatiar7

(f) Filtro Limiar1/2 Azul

(g) Filtro Limiar1/2 Verde

(h) Filtro Limiar1/2 Vermelho

(i) Filtro Limiar1/2 Matiz

(j) Filtro Limiar1/2 Saturação

(k) Filtro Cinza+ Expressivo

(l) Filtro Log-Transformation

(m) FiltroPowerLaw

(n) Filtro Média (o) Filtro La-place

(p) Quadro Ori-ginal

Figura 31: Exemplo de Aplicação dos Filtros sobre Quadro Original Extraído de Vídeo. Fonte:Elaborada pelo autor.

3.2 Descrevendo a Gramática GSIM

À gramática utilizada neste trabalho para a implementação e obtenção dos resul-

tados dos testes damos a denominação de GSIM , e está representada no Quadro 6.

Com a gramática GSIM é possível a geração de expressão composta por operadores

binário, operadores unários ou por uma única composição de função de distância, carac-

terística, �ltro e peso (linha 1). Os operadores binários utilizados são +, × e / (linha 2), e

os operadores unários são raiz ou log (linha 3). Na linha 4 apresenta-se a composição de

função de distância, característica adotada e uso ou não de �ltros, sendo o resultado desta

composição multiplicado pelo peso. A distância (linha 5) pode ser calculada por uma das

funções de distância entre séries temporais como a ERP e a DTW que realizam o alinha-

Page 60: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

58

1. E → Ob(E,E) | Ou(E) | D2. Ob→ + | × | /3. Ou→ raiz | log4. D → DistânciaCaracterística(F) × Peso5. Distância → ERP | DTW | Cossenos | ZPadding | LPadding |6. Característica→ NúmeroComponentesConexos | Energia | HistogramaCinza |

HistogramaVermelho | HistogramaVerde | HistogramaAzul |HistogramaMatiz | HistogramaSaturação | RitmoParalelo |RitmoCruzado

7. Peso → 0, 000 | 0, 001 | 0, 002 | ... | 0, 998 | 0, 999 | 1, 0008. F → Filtro(F) | V9. Filtro→ Sobel | InverterCores | LinhasVerticais | LinhasHorizontais |

Linhas+45Graus | Linhas-45Graus | Linhas | Highboost |Rotacionar | Fatiar | EliminarPontosIsolados | Limiar1/2Cinza |Limiar1/2Azul | Limiar1/2Verde | Limiar1/2Vermelho | Limiar1/2Matiz |Limiar1/2Saturação | LimiarCinza | LogTransformation |Media | PowerLawTransformation | Laplace

10. V → V a, V b

Quadro 6: Gramática GSIM Utilizada no Método e nos Testes. Fonte: Elaborado peloautor.

mento das séries à procura da menor distância entre as séries, ou calculada por uma das

funções de distância que complementam a série de menor tamanho com uma contante, ou

com o valor contido na última posição da menor série, como as funções Cosseno Projetado,

ZeroPadding e LastPadding. A composição gerada por GSIM ainda permite a escolha de

uma das características (linha 6) e a atribuição de pesos (linha 7) que variam entre 0 e 1,

com precisão de três casas decimais (exemplo: peso = 0,512). Na linha 8 pode-se observar

a possibilidade de não se utilizar �ltros (escolhendo então atribuição imediata aos vídeos),

ou a escolha por usar um ou mais �ltros em cascata. A linha 9 permite a seleção de um

dos 22 �ltros disponíveis neste trabalho, e por �m, na linha 10, tem-se a de�nição do par

de vídeos que possuem os quadros extraídos para �ltragem e caracterização.

O Quadro 7 apresenta um exemplo de expressão gerada pela gramática GSIM , e a

seguir pode-se observar, na Figura 32, a árvore de derivação da expressão produzida por

GSIM .

+(+(ERPHistogramaCinza(Sobel(Linhas(V a, V b)))× 0, 239,×(/(+(ERPHistogramaAzul(V a, V b)× 0, 004, CossenosHistogramaSaturacao(V a, V b)× 0, 779),

ERPRitmoParalelo(V a, V b)× 0, 509), DTWHistogramaAzul(V a, V b)× 0, 054)),×(×(DTWHistogramaMatiz(V a, V b)× 0, 100, CossenosHistogramaMatiz(V a, V b)× 0, 721),

+(DTWHistogramaCinza(V a, V b)× 0, 219, log(ERPRitmoCruzado(V a, V b)× 0, 030))))

Quadro 7: Expressão Gerada pela Gramática GSIM . Fonte: Elaborado pelo autor.

3.3 Descrevendo o Método PG

A combinação de características, �ltros, pesos e funções de distância, por meio de

Programação Genética para a recuperação de vídeos, faz uso da avaliação de expressões

Page 61: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

59

Figura 32: Árvore de Derivação da Expressão Produzida/Gerada pela Gramática GSIM . Fonte:Elaborada pelo autor.

em uma dada população. O método permite a geração de n indivíduos estruturados,

como expressões da gramática GSIM (apresentada no Quadro 6) que representam as ca-

racterísticas, os �ltros, as funções de distância e as operações. As operações utilizadas

pelo método são as operações de soma (+), multiplicação (×), divisão (/), raiz quadrada(raiz) e o logaritmo na base 10 (log). As operações de divisão, raiz e logaritmo são ope-

rações protegidas, em que cuidados foram tomados para que não haja divisão por zero,

ou extração de raízes/cálculo do logarítmo de valores negativos.

Em relação à população, cada uma das expressões pode ter de uma única e simples

operação até uma quantidade tão elevada quanto o número de níveis que a árvore repre-

sentando a expressão possa ter. Na implementação deste trabalho o número de níveis de

cada árvore (que representa a expressão gerada) é limitado em sua primeira população

de expressões. A Figura 33(a) exempli�ca uma expressão e a Figura 33(b) a árvore de

derivação correspondente gerada com apresentação das operações, características, funções

de distância e pesos.

Cada um dos dois vídeos, como pode ser visto na Figura 34, é avaliado pela função

de distância (ERP, DTW, Cosseno Projetado, ZeroPadding, LastPadding) que permite

comparar os valores dados das sequências de quadros, obtidos a partir da aplicação dos

�ltros (inversão de cores, Sobel etc) ou da identidade, e das características (dados dos

histogramas, número de componentes conexos etc). O resultado esperado é baseado na

Page 62: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

60

(a) Expressão Gerada a partir de GSIM .

(b) Árvore Derivada da Expressão.

Figura 33: Exemplo de Expressão e Árvore na Programação Genética. Fonte: Elaborada peloautor.

seguinte premissa: quanto mais próximo de zero for o resultado da função de distância,

e consequentemente, o resultado das operações, mais similares são os vídeos testados.

Então, quando a função/expressão da avaliação do grau de similaridade entre dois vídeos

apresentar resultado igual a zero, signi�ca a�rmar que os vídeos são iguais. À medida

que o resultado se torna maior que zero, a�rma-se que os vídeos comparados são menos

similares.

As expressões como as das Figuras 33 e 34 podem sofrer mutação, recombinação

e reprodução. Para o caso da reprodução da expressão, a mesma será reproduzida para

Figura 34: Exemplo de Processamento dos Vídeos Va e Vb por meio de PG. Fonte: Elaboradapelo autor.

Page 63: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

61

uma próxima geração quando o resultado de seu próprio desempenho estiver entre os

NPGTop melhores de uma população (detalhes da forma de avaliação do desempenho estão

descritos na seção 3.5).

A recombinação (crossover) entre duas expressões pode ocorrer para até o valor

de T PGCross de seu tamanho, de forma aleatória. O crossover utilizado neste trabalho é

baseado no multiple-point crossover de Ashlock (2005). Já a mutação de uma expressão

pode ocorrer para até T PGMut de seu tamanho, e de acordo com Ashlock (2005), a mutação

é a mudança na estrutura de um indivíduo solteiro, sendo assim chamada de variação

unária. Importante ressaltar que a mutação pode ocorrer apenas sobre as operações,

alterando, por exemplo, uma operação de soma (+) para divisão (/), ou pode ocorrer

também alterações das estruturas como um todo, havendo mutação das operações, de

funções de distância, de pesos e características.

Como exemplo de mutação, deve-se observar os dois exemplos dados no Quadro 8,

em que realizou-se, primeiramente, alteração apenas de algumas operações, mutação de

operações como a alteração do operador de soma por um operador de divisão na parte

da estrutura relacionada a CossenosHistogramaVerde(Va, Vb)×0,551, na segunda linha daexpressão. Observa-se que a estrutura é a mesma, com o mesmo número de níveis e as

mesmas características, �ltros, pesos e funções de distância. Já no segundo caso, houve

a alteração da estutura, em que novos ramos foram criados com novas operações, carac-

terísticas, funções de distância e pesos, como o log (ERPRitmoParalelo(Va, Vb)×0,509).

Indivíduo +(CossenosHistogramaMatiz(Va, Vb)×0,721,Original: +(CossenosHistogramaVerde(Va, Vb)×0,551,

×( /(ERPHistogramaCinza(Va, Vb)×0,356,×( /(ERPHistogramaCinza(Va, Vb)×0,356,/(DTWHistogramaMatiz(Va, Vb)×0,100, ERPRitmoParalelo(Va, Vb)×0,800),/(ERPRitmoCruzado(Va, Vb)×0,030, DTWHistogramaCinza(Va, Vb)×0,004)) )) )))

Mutação de +(CossenosHistogramaMatiz(Va, Vb)×0,721,operações: /(CossenosHistogramaVerde(Va, Vb)×0,551,

×( ×(ERPHistogramaCinza(Va, Vb)×0,356,+(DTWHistogramaMatiz(Va, Vb)×0,100, ERPRitmoParalelo(Va, Vb)×0,800),/(ERPRitmoCruzado(Va, Vb)×0,030, DTWHistogramaCinza(Va, Vb)×0,004)) ) ))

Mutação de +(CossenosHistogramaMatiz(Va, Vb)×0,721,estrutura: /(CossenosHistogramaVerde(Va, Vb)×0,551,

×( ×(ERPHistogramaCinza(Va, Vb)×0,356,+(DTWHistogramaMatiz(Va, Vb)×0,100, ERPRitmoParalelo(Va, Vb)×0,800),+( ×( +( /( +(CossenosRitmoParalelo(Va, Vb)×0,084,CossenosHistogramaSaturação(Va, Vb)×0,779), log(DTWHistogramaCinza(Va, Vb)×0,219) ),raiz(DTWHistogramaAzul(Va, Vb)×0,054) ),log (ERPRitmoParalelo(Va, Vb)×0,509) ),CossenosRitmoCruzado(Va, Vb)×0,643) ) )) )

Quadro 8: Mutação de um Indivíduo Original: Mutação de Operações e Mutação deEstrutura. Fonte: Elaborado pelo autor.

Page 64: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

62

No processo de evolução das gerações de indivíduos (expressões), a Figura 35(a)

ilustra a reprodução de indivíduos de uma dada população. Observa-se que dentre diversos

indivíduos da população, NPGTop foram aceitos na nova geração, e outros foram descartados.

Este processo de seleção e descarte das expressões basea-se na utilização de função de

aptidão que permite a comparação entre os resultados obtidos de cada expressão durante a

fase denominada de treinamento (detalhes podem ser observados no capítulo de Avaliação

e Análise de Resultados).

(a) Reprodução.

(b) Mutação e Crossover.

Figura 35: Programação Genética, Processo de Evolução. Fonte: Elaborada pelo autor.

E a Figura 35(b) ilustra a ocorrência de mutação e recombinação no processo

de evolução de gerações, em que indivíduos da geração K fazem parte da população

da geração K+1, porém com alguma alteração na estrutura dos indivíduos, sendo, no

Page 65: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

63

caso do exemplo, a representação da mutação de um indivíduo com parte originalmente

de cor amarela, e na geração seguinte, tal parte esta representada pela cor azul. Já a

recombinação é ilustrada pela composição das cores amarela e vermelho dos indivíduos

da geração K+1.

A implementação desenvolvida neste trabalho não limita o tamanho da população,

nem faz limite em relação à quantidade de gerações que se deseja processar, ou mesmo

quanto ao tamanho de uma expressão qualquer. Contudo, para viabilizar a realização dos

testes, valores limites foram adotados e serão apresentados no capítulo seguinte.

3.4 Descrevendo o Método AG

O Algoritmo Genético adotado no trabalho possui o número de genes �xo, sendo

assim, uma estrutura �xa, ocorrendo variação apenas no peso adotado em cada elemento

individual da estrutura. O indivíduo do AG possui tamanho máximo igual a 50, sendo

composto pela combinação função de distância (ERP ou DTW ou Cosseno Projetado

ou ZeroPadding ou LastPadding) e uma das características (histograma de Vermelho,

histograma de Verde, histograma de Azul, histograma de Cinza, histograma da Matiz,

histograma da Saturação, Dados do Ritmo Visual Paralelo, Dados do Ritmo Visual Cru-

zado, Dados da Função de Energia e o Número de Componentes Conexos). Sobre o valor

resultante da combinação característica e função de distância, aplica-se o valor de peso,

que varia entre 0 e 1. O Quadro 9 ilustra a estrutura de um indivíduo do AG adotada

com alguns valores de peso como exemplo.

Os indivíduos do AG, como pode ser observado no Quadro 9 podem sofrer mutação,

recombinação e reprodução. Para o caso da reprodução do indivíduo AG, o mesmo será

reproduzido para uma próxima geração quando o resultado de seu próprio desempenho

estiver entre os NAGTop melhores indivíduos de uma população (detalhes sobre a forma de

avaliação do desempenho estão descritos na seção 3.5).

A recombinação (crossover) entre dois indivíduos AG pode ocorrer para até TAGCross

do tamanho de cada indivíduo, de forma aleatória. Já a mutação de um indivíduo pode

ocorrer para até 100% do indivíduo. Importante ressaltar que a mutação e a recombinação

ocorrem apenas sobre os valores dos pesos.

São realizadas recombinações dos NAGTop melhores indivíduos ente si, e há também

a recombinação dos NAGTop melhores indivíduos com indivíduos escolhidos aleatoriamente,

dentro da população. A mutação é realizada nos NAGTop melhores indivíduos, e também

Page 66: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

64

Distâncias:Características: PesosERP:histograma de Vermelho: 0,000ERP:histograma de Verde: 0,000ERP:histograma de Azul: 0,201ERP:histograma de Cinza: 0,000ERP:histograma da Matiz: 0,443ERP:histograma da Saturação: 0,209ERP:Dados do Ritmo Visual Paralelo: 0,207ERP:Dados do Ritmo Visual Cruzado: 0,100ERP:Dados da Função de Energia: 0,987ERP:Número de Componentes Conexos: 0,200DTW:histograma de Vermelho: 0,721DTW:histograma de Verde: 0,551DTW:histograma de Azul: 0,000DTW:histograma de Cinza: 0,800DTW:histograma da Matiz: 0,644DTW:histograma da Saturação: 0,000DTW:Dados do Ritmo Visual Paralelo: 0,802DTW:Dados do Ritmo Visual Cruzado: 0,721DTW:Dados da Função de Energia: 0,907DTW:Número de Componentes Conexos: 0,560Cosseno Projetado:histograma de Vermelho: 0,551Cosseno Projetado:histograma de Verde: 0,356Cosseno Projetado:histograma de Azul: 0,710Cosseno Projetado:histograma de Cinza: 0,084Cosseno Projetado:histograma da Matiz: 0,219Cosseno Projetado:histograma da Saturação: 0,054Cosseno Projetado:Dados do Ritmo Visual Paralelo: 0,509Cosseno Projetado:Dados do Ritmo Visual Cruzado: 0,000Cosseno Projetado:Dados da Função de Energia: 0,137Cosseno Projetado:Número de Componentes Conexos: 0,213ZeroPadding:histograma de Vermelho: 0,600ZeroPadding:histograma de Verde: 0,070ZeroPadding:histograma de Azul: 0,281ZeroPadding:histograma de Cinza: 0,090ZeroPadding:histograma da Matiz: 0,403ZeroPadding:histograma da Saturação: 0,009ZeroPadding:Dados do Ritmo Visual Paralelo: 0,107ZeroPadding:Dados do Ritmo Visual Cruzado: 0,110ZeroPadding:Dados da Função de Energia: 0,187ZeroPadding:Número de Componentes Conexos: 0,201LastPadding:histograma de Vermelho: 0,651LastPadding:histograma de Verde: 0,656LastPadding:histograma de Azul: 0,716LastPadding:histograma de Cinza: 0,684LastPadding:histograma da Matiz: 0,269LastPadding:histograma da Saturação: 0,054LastPadding:Dados do Ritmo Visual Paralelo: 0,506LastPadding:Dados do Ritmo Visual Cruzado: 0,300LastPadding:Dados da Função de Energia: 0,337LastPadding:Número de Componentes Conexos: 0,233

Quadro 9: Exemplo de Estrutura de Indivíduos do Algoritmo Genético com Pesos. Fonte:Elaborado pelo autor.

Page 67: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

65

em NAGRandom outros indivíduos selecionados randomicamente. O processo de reprodução,

crossover e mutação, baseados nestes indivíduos, permite a geração de uma nova popu-

lação de novos indivíduos, como detalhado adiante no capítulo de Avaliação e Análise de

Resultados.

Como citado anteriormente, o AG e a PG fazem uso do recurso de de�nir alea-

toriamente a permissão, ou negação, de que uma determinada característica possa ser

utilizada na estrutura do indivíduo. Além disto, PG usa ainda o recurso de de�nir alea-

toriamente se haverá o processamento de �ltros ou não. Para esta escolha faz-se uso da

função Sigmoid, como utilizado nos trabalhos de Tommiska (2003) e Correa, Freitas e

Johnson (2006). Considerando rand um valor entre 0 e 1 da função de geração de nú-

meros aleatórios do programa aplicativo criado para testar o método, e S(y) o valor da

função Sigmoid de y, calculado a partir da função S(y) = 11+e−y , em que neste estudo y

tem valor 2. A implementação utilizada a seguinte regra:

• Se rand ≤ S(y), resultado 1, permitindo que haja �ltro na PG, ou que no AG a característica

possa ser processada. Caso contrário, resultado 0 é considerado, inibindo o uso de �ltro, ou de

determinada característica na estrutura AG.

O resultado da função apresentando valor 0, signi�ca que uma determinda carac-

terística não é processada no AG, ou que, em PG, não é utilizado �ltro em algumas partes

da estrutura da expressão.

3.5 Função de Aptidão (Fitness)

Como já citado anteriormente (ESPEJO; VENTURA; HERRERA, 2010), a função de

aptidão é utilizada para medir a qualidade da expressão, e quanto melhor é sua adequa-

ção, maior é a probabilidade desta expressão ser selecionada para se tomar parte da nova

geração de expressões, aumentando a probabilidade de que as composições que ela repre-

senta (Função de distância + Características + Filtros + Pesos) sobrevivam através do

processo evolutivo.

A função de aptidão (Fitness) adotada é uma das funções utilizadas em Fan et al.

(2004) e Torres et al. (2009) apresentando considerável performance em seus resultados,

e é representada por FFP1 =∑N

i=1 r(Vi) x k1 x ln−1(i+ k2) onde i é a posição do vídeo

após recuperação e Vi é o vídeo na posição i. Já r(Vi) ∈ {0, 1} é o valor de relevância

de�nido para o vídeo, sendo 1 se o vídeo é relevante e 0 caso contrário, e N é o número

total de vídeos recuperados. Para as constantes k1 e k2 foram utilizados os mesmos valores

Page 68: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

66

propostos no trabalho de Torres et al. (2009), isto é, k1 = 6 e k2 = 1, 2.

3.6 Fases do Método de PG

O �uxograma apresentado na Figura 36 permite o entendimento da execução de

cada fase do método, na busca por expressão (indivíduo) de melhor desempenho. Ao

�m da evolução de algumas gerações de expressões, a expressão que apresenta o melhor

desempenho no treinamento e na validação é utilizada para o teste através do algoritmo

kNN para a procura de vídeos similares a uma dada consulta.

Figura 36: Fluxograma das Fases do Método (Treino e Validação). Fonte: Elaborada pelo autor.

O processo é iniciado por uma divisão da base de vídeos em classes, e extraindo-se

vídeos de cada classe para a fase de treinamento, e outros vídeos de cada classe para a

fase de validação. A divisão em classes e a extração dos vídeos são realizadas manual-

mente por um especialista. Na sequência, é gerada a população de expressões pelo sistema

implementado, e esta população é avaliada no treinamento. O processo de avaliação da

expressões da população baseia-se na função de aptidão em que tal função permitirá

o descarte de expressões, e também iniciar as operações de reprodução, recombinação

e mutação das expressões selecionadas, em razão do desempenho apresentado de cada

expressão. Ao �m destas operações, tem-se uma nova população consolidada, da qual

armazena-se expressões de melhor desempenho para o processo de validação, a ocorrer.

E ainda, há a pergunta se é a geração �nal. Para caso negativo, repete-se o processo

de avaliação da população atual até que se tenha a população que represente a geração

Page 69: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

67

�nal. Neste caso, é realizado a comparação entre os resultados das expressões de melhor

desempenho, devidamente armazenadas a cada geração, durante o treinamento e a vali-

dação. A comparação é realizada de acordo com o trabalho de Lacerda et al. (2006) em

que a expressão escolhida é a que apresenta o resultado máximo obtido da diferença entre

o valor de média (treinamento x validação) e o desvio.

Formalmente, a escolha da melhor expressão segue a proposta de Lacerda et al.

(2006), que também foi utilizada no trabalho de Torres et al. (2009), em que se considera

f i como a performance média da expressão i na coleção de treinamento e validação, e

σ(fi) correponde ao seu desvio padrão. A melhor expressão é dada pela equação ( 8).

argmaxi(f i − σ(fi)) (8)

Como citado anteriormente, a expressão de melhor desempenho é aplicada ao pro-

cessamento da consulta de uma dada amostra em uma base de dados de vídeos. É possível

o uso da mesma expressão em outras consultas, em outras bases de vídeos, mas não se

pode a�rmar que é a de melhor desempenho para esta nova base de vídeos, por não ter

ocorrido treinamento e validação com esta nova base. Assim sendo, é sempre impor-

tante, dado um novo contexto composto por novos vídeos, separar os vídeos em classes,

e permitir que um especialista informe o que é relevante nesta base de vídeos para que

a função de aptidão possa apontar, a cada geração, as expressões de melhor desempenho

(SEGOND; FONLUPT; ROBILLIARD, 2006; BUGATTI, 2008). Ao �m da última geração que

foi realizada sobre as expressões as operações de reprodução, mutação e recombinação,

executa-se a validação das expressões de melhor desempenho, colecionados a cada gera-

ção. A expressão que apresenta o melhor desempenho no treinamento e na validação é o

selecionada para executar a consulta.

Page 70: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

68

4 AVALIAÇÃO E ANÁLISE DE RESULTADOS

Os resultados apresentados neste capítulo foram obtidos ao �nal de um trabalho

executado em fases: treinamento, validação e testes. Para a realização do treinamento,

validação e teste foram utilizados conjuntos de vídeos e de indivíduos baseados em ope-

radores e expressões, sendo tais expressões compostas por características que descrevem

os quadros do vídeo, �ltros e valores de pesos. Já as operações possíveis utilizadas em

uma expressão da PG são as operações de soma, multiplicação, divisão, raiz quadrada e

o logaritmo na base 10.

A fase de treinamento baseia-se na criação de populações de expressões por meio

de PG ou AG, e pela aplicação da função de aptidão sobre as populações, no intuito de

permitir a evolução das expressões da população, ou seja, aplicar operadores genéticos de

reprodução, mutação e crossover em expressões selecionadas pela função de aptidão, e

também em algumas outras expressões selecionadas, aleatoriamente, da população.

A fase de validação baseia-se na avaliação através da aplicação da função de aptidão

do conjunto de expressões PG coletadas a cada geração obtida durante o treinamento.

Esta população coletada para a validação é processada usando uma base de vídeos similar

a utilizada no treinamento, porém não se utiliza a mesma base de vídeos.

Finalmente o teste se dá por meio da busca de uma amostra, de cada classe de

vídeos, sobre uma base de vídeos maior, não sendo necessariamente os mesmos vídeos

aplicados no treinamento e validação, utilizando-se a expressão de melhor desempenho

apresentado após treinamento e validação.

Para a avaliação de e�cácia da implementação, fez-se o uso da taxa de precisão P

em que se objetiva uma recuperação de 10 vídeos (BUGATTI, 2008): P10 =|R|10, em que R

é o número de vídeos corretamente recuperados entre os 10 primeiros.

Como já relatado, a função de aptidão (Fitness) é uma das funções utilizadas nos

trabalhos de Fan et al. (2004) e Torres et al. (2009).

Page 71: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

69

4.1 Parâmetros de Teste

Para realização das etapas de treinamento, validação e testes deste trabalho, foram

di�nidos valores aos parâmetros de acordo com a Tabela 1.

Tabela 1: Parâmetros Utilizados. Fonte: Elaborada pelo autor.

Variáveis ValoresNAG

Top: 5

TAGCross: 1/3

NAGRandom: 5

NPGTop: 5

TPGCross: 1/4

TPGMut: 1/4

O �uxograma apresentado na Figura 37 auxilia o entendimento da execução de

cada fase do método, na busca por expressão (indivíduo) de melhor desempenho nos

testes. Ao �m da evolução de algumas gerações de expressões, a expressão que apresenta

o melhor desempenho no treinamento e na validação é utilizada para o teste através do

algoritmo kNN para a procura de vídeos similares a uma dada consulta.

Inicia-se o processo pela divisão da base de vídeos em 5 classes, e extrai-se 3 vídeos

de cada classe para a fase de treinamento, e outros 3 vídeos de cada classe para a fase de

validação. A divisão em classes e a extração dos vídeos são realizadas manualmente por um

especialista. Na sequência, é gerada a população de indivíduos (expressões) pelo sistema

implementado, e população esta que é avaliada no treinamento. Ao �m desta avaliação,

é criada uma nova geração de indivíduos composta pela reprodução dos 10 indivíduos

de melhor desempenho, mais 30 indivíduos provenientes da recombinação e outros 20

indivíduos da mutação, totalizando uma população de 60 indivíduos da nova geração.

Este processo se repete a cada nova geração de indivíduos, e sempre armazenando, a

cada geração, os 5 indivíduos de melhor desempenho para a população de indivíduos

a serem avaliados na fase de validação. Ao �m da última geração, a população dos

5 indivíduos selecionados a cada geração são avaliados utilizando-se a base de vídeos

de treinamento e de validação. Da comparação dos resultados de desempenho destes

indivíduos no treino e na validação, o indivíduo que apresenta o melhor desempenho e

menor desvio é considerado o indivíduo (expressão) mais apto a ser utilizado na fase de

testes.

O tamanho máximo inicial de uma expressão é de dez níveis de profundidade, e

a cada geração, a função de aptidão aponta as dez expressões de melhor desempenho

Page 72: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

70

Figura 37: Fluxograma das Fases do Método (Treino e Validação). Fonte: Elaborada pelo autor.

da atual população. Considerar o nome Top às expressões de melhor desempenho em

uma dada população. Na PG utilizada, as expressões Top 10 são reproduzidos para

a nova geração. Para a realização de crossover, a função de aptidão aponta as cinco

expressões de melhor desempenho da atual população, e que são levadas a ter uma relação

de recombinação entre elas da seguinte forma: crossover entre as expressões Top1 e Top2,

Page 73: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

71

Top1 e Top3, Top1 e Top4, Top1 e Top5, Top2 e Top3, Top2 e Top4, Top2 e Top5, Top3

e Top4, Top3 e Top5, Top4 e Top5, sendo que a geração da nova expressão ocorre em

ambos os sentidos, como exemplo, de Top1 em Top2, e de Top2 em Top1, resultado em

duas novas expressões baseadas nas mesmas duas fontes. Mas há também a geração, por

crossover, realizada pela escolha aleatória de duas expressões da população. O resultado

é que dez novas expressões são fruto de vinte expressões quaisquer da população.

Há ainda a mutação, que ocorre após a função de aptidão apontar as cinco ex-

pressões de melhor desempenho da atual população, e desta escolha, faz-se mutação nas

operações, gerando cinco novas expressões, e mutação de estrutura, nestas cinco selecio-

nadas, acarretando outras cinco novas expressões. E por �m, há a mutação que ocorre nas

cinco expressões escolhidas randomicamente da atual população, e desta escolha, faz-se

mutação nas operações, gerando cinco novas expressões, e também mutação de estrutura,

nestas cinco expressões escolhidas, acarretando outras cinco novas expressões. Assim

sendo, a nova geração apresenta 60 novas expressões, dentre a reprodução, a recombina-

ção e mutação.

Observar que a cada geração, as cinco expressões de melhor desempenho são ar-

mazenadas em um conjunto para o processo de validação. Ao �nal da última geração,

tem-se uma coleção em que encontram-se as expressões melhor preparadas para realização

da consulta de um vídeo em uma dada base de dados de vídeos. As demais expressões

das populações são descartadas do processo.

A coleção de expressões selecionadas a cada geração do método PG passa pelo pro-

cesso de validação. Como foram selecionadas cinco expressões a cada geração, tal coleção

possui, ao �nal da última geração, 45 expressões. Ao �nal da avaliação das expressões,

sobre a base de vídeos de validação, usando a mesma base de vídeos de consulta realizada

no treinamento, tem-se então a possibilidade de comparar os resultados apresentados pela

função de aptidão obtidos durante o treinamento e durante a validação. A expressão

que apresenta o valor máximo da diferença entre a média de desempenho e o desvio, no

composto treinamento e validação, é a expressão adequada para ser utilizada na fase de

testes. O processamento de tal expressão permite apresentar os 10 vídeos similares ao

vídeo de consulta.

Page 74: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

72

4.2 Groundtruth

A base de vídeos utilizada possui sua origem em vídeos coletados em diversos sites

gratuitos, sendo alguns de operação industrial, e outros não, além de que alguns vídeos

da base são réplicas rotacionadas e/ou alteradas em sua cor original. O groundtruth é

composto por três diferentes bases de vídeos, uma destinada ao treinamento, outra para

a validação das expressões no processo, e a última para realização dos testes. A base de

vídeos para o treinamento é composta por quinze vídeos divididos em cinco classes de três

vídeos cada. A Figura 38 ilustra a base para o treinamento exibindo um quadro de cada

um dos vídeos.

Figura 38: Base de Dados de Vídeos para o Treinamento. Fonte: Elaborada pelo autor.

A base de vídeos para a validação é composta por outros quinze vídeos divididos em

cinco classes de três vídeos cada, sendo vídeos similares aos vídeos das classes utilizadas

no teinamento. A Figura 39 ilustra a base para a validação exibindo um quadro de cada

um dos vídeos.

Já a base de vídeos para o teste é composta por 50 vídeos divididos em cinco classes

de dez vídeos cada. A Figura 40 ilustra a base para a realização dos testes exibindo um

quadro de cada um dos vídeos.

Page 75: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

73

Figura 39: Base de Dados de Vídeos para a Validação. Fonte: Elaborada pelo autor.

Os vídeos utilizados como consulta nas etapas de treinamento e validação são os

mesmos, ver Figura 41. Já para os testes, a consulta é realizada por uma única amostra,

e procura-se por vídeos similares à amostra, sendo resultado ótimo encontrar dez vídeos

similares à amostra, dentro da base de dados de 50 vídeos. Todos os vídeos (treino,

validação, teste, consulta) são de tamanho aproximado a 100 quadros, e todos coloridos.

Em relação às populações criadas para os métodos de PG e AG, deve-se informar

que uma população inicial possui tamanho de 200 expressões.

Considerando as populações do método de PG, a primeira geração de cada popu-

lação apresenta expressões com até dez níveis de profundidade em sua estrutura. Como

foram realizadas sucessivas gerações, até a última, no caso, a geração de número 10, a es-

trutura de algumas expressões, em razão de mutação e crossover, apresentaram tamanho

superior a dez níveis, o que já era esperado. No caso do método de AG, por ser uma

estrutura �xa (ASHLOCK, 2005), os indivíduos, a cada geração, até a última, sofreram

alterações nos pesos dos genes da estrutura.

Page 76: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

74

Figura 40: Base de Dados de Vídeos 1 a 50. Fonte: Elaborada pelo autor.

4.3 Treinamento

A fase de treinamento começa com a de�nição de cinco classes de vídeos. De cada

uma das cinco classe de vídeos, extrai-se um vídeo para servir de vídeo de amostra, ou

consulta. Esta divisão em classes é realizada por um especialista (BUGATTI, 2008). Tem-

se então a composição de cinco vídeos de referência, de consulta, como é possível observar

na Figura 41. Extraem-se também, outros três vídeos de cada uma das cinco classes,

compondo a base de dados de vídeos para o treinamento (Figura 38). Em resumo, tem-se

cinco vídeos para a realização da consulta em uma base de quinze vídeos.

Page 77: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

75

Figura 41: Vídeos de Consulta para Treinamento. Fonte: Elaborada pelo autor.

Realizada a composição dos conjuntos de vídeos (cinco para consulta e quinze

para o treinamento), foram criadas cinco populações de expressões para o método de PG,

sendo cada população composta de 200 expressões, podendo ter, cada uma destas cinco

populações, expressões de tamanho inicial com até dez níveis de profundidade (Tabela 2).

Isto remete a possibilidade de uma população ter expressões de tamanho igual a um único

nível, e outras, de tamanho igual a cinco, seis ou dez níveis de profundidade. A escolha da

profundidade da expressão para o método de PG é randômica, sendo estipulado pelo autor

deste trabalho apenas um limite inicial de dez níveis para os experimentos. A decisão por

dez níveis de profundidade para a estrutura da expressão no método de PG se deu por

encontrar, em experimentos iniciais com expressões de 2 ou 3 níveis, uma repetição de

expressões na população inicial, e no caso oposto, usar números muito acima, como 20,

40 ou 80 níveis, ter-se um tempo de execução computacional elevado, quando comparado

ao uso de dez níveis.

No treinamento das populações de expressões do método de PG foi aplicada a

função de aptidão no intuito de permitir a evolução das expressões da população, ou

seja, aplicar reprodução, mutação e crossover em expressões selecionadas pela função

de aptidão, e também em alguns outras expressões selecionadas aleatoriamente, como

observado nos números mostrados no �uxograma da Figura 36. Durante o treinamento,

foram realizadas dez gerações, a cada uma das cinco populações, separadamente.

Tabela 2: Relação de populações e resultados do método da PG durante a fase de treinamento.Fonte: Elaborada pelo autor.

Nome da População PopulaçãoA PopulaçãoB PopulaçãoC PopulaçãoD PopulaçãoEQuantidade de Expressões 200 200 200 200 200Tamanho Inicial Máx. Expressão 10 10 10 10 10Quantidade de Gerações 10 10 10 10 10Em Cada Geração tem-se:Expressões Reproduzidas 10 10 10 10 10Expressões Recombinadas(Top5) 20 20 20 20 20Expressões Recombinadas(Quaisquer) 10 10 10 10 10Expressões Mutadas(Top5) 10 10 10 10 10Expressões Mutadas(Quaisquer) 10 10 10 10 10

A Tabela 2 apresenta valores relativos a cinco populações testadas. Uma particu-

Page 78: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

76

laridade destas populações é que suas expressões são compostas pelas funções de distância

ZeroPadding, LastPadding e Cosseno Projetado, não sendo utilizadas nestas populações

a ERP e DTW, uma vez que são funções de distância de custo computacional elevado,

e neste primeiro treinamento, objetiva-se avaliar o desempenho baseado nas expressões

com as funções de baixo custo computacional. Outra particularidade está relacionada ao

número de expressões que participam da população da próxima geração, pois tem-se, em

função dos parâmetros adotados, dez expressões reproduzidas, mais vinte expressões re-

combinadas a partir de pares denominados Top5, e outras vinte expressões recombinadas

a partir de pares escolhidos aleatoriamente, e �nalmente vinte expressões que são geradas

em razão da mutação das expressões Top5 e de outras escolhidas aleatoriamente.

4.4 Validação

A coleção de expressões (selecionadas a cada geração) é avaliada pela função de

aptidão sobre uma outra base de vídeos, a base de vídeos para a validação (Figura 39).

Com a validação é possível apurar a capacidade que as expressões selecionadas e arma-

zenadas a cada geração tem de apresentar o quão similar são os vídeos de consulta e de

base. A escolha da melhor expressão segue a proposta de Lacerda et al. (2006), como

citado anteriormente, e tal expressão é utilizada nos testes.

4.5 Testes

Ao �nal do treinamento e da validação, as expressões escolhidas, de cada população,

são utilizadas para executar o teste. A base de vídeos de consulta para o teste está

ilustrada na Figura 42, em que apresenta-se apenas um quadro à ilustração.

Figura 42: Vídeos Consulta para Teste. Fonte: Elaborada pelo autor.

Cada expressão testada de sua respectiva população procura encontrar um dado

vídeo (Figura 42) na base de vídeos de teste (Figura 40). A base de vídeos de teste possui

50 vídeos, divididos em cinco classes compostas de dez vídeos cada. E aos resultados

obtidos, é considerado resultado ótimo, à uma expressão testada, encontrar os dez vídeos

similares ao vídeo de consulta.

Page 79: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

77

Os testes realizados visam responder questões como: (a) resultado obtido de ex-

pressões sem as funções de distância ERP e DTW; (b) resultado obtido de expressões

sem o uso de �ltros; (c) resultado obtido de expressões com as funções de distância ERP

e DTW; (d) resultado obtido de expressões com o uso de �ltros; (e) resultado obtido de

expressões contendo apenas uma única característica; (f) resultado obtido de expressões

com todas as possibilidades; (g) resultado comparativo entre o método AG e PG; e (h)

o resultado quando os vídeos de consulta possuem tamanho (número de quadros) signi�-

cantemente diferentes do tamanho dos vídeos da base.

4.6 Ambiente para os Experimentos

Os trabalhos de treinamento, validação e testes foram realizados em um Intel Core

2Duo P8400, de 2,26GHz e 3,45GB de RAM. O software aplicativo foi desenvolvido em

C#, sobre o Microsoft Windows XP Professional versão 2002. Com este ambiente foi

possível levantar o tempo aproximado de execução das seguintes etapas:

(a) A obtenção de dados (a cada gene da expressão do método de PG) utilizando até 6

�ltros possui o tempo de execução de aproximadamente 30 segundos para cada vídeo de

100 quadros;

(b) O treinamento (de cada geração) possui o tempo de execução de aproximadamente

120 segundos para a relação de 5 x 15 (consulta x treino) vídeos, considerando vídeos de

100 quadros;

(c) A validação possui o tempo de execução de aproximadamente 120 segundos para a

relação de 5 x 15 (consulta x validação) vídeos, considerando vídeos de 100 quadros;

(d) O teste possui o tempo de execução de aproximadamente 120 segundos para a relação

de 1 x 50 (consulta x teste) vídeos, considerando vídeos de 100 quadros;

4.7 Resultados

Esta seção destina-se a apresentar os resultados obtidos pela implementação, em

diferentes populações e etapas. Os vídeos da Figura 40 representam a base de dados de

vídeos para obtenção dos resultados do método deste trabalho.

Page 80: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

78

4.7.1 Testes de Função de Distância e Características Separadamente

Inicia-se a apresentação dos resultados pela Tabela 3, Tabela 4 e Tabela 5 que são

os resultados das expressões compostas exclusivamente por uma forma �xa de Função de

Distância e Característica. Este resultado visa responder a questão sobre qual seria o

desempenho da aplicação, na consulta, apenas de um par Função de Distância e Carac-

terística, sem uso do método de PG ou AG. A Tabela 3 apresenta os resultados dos testes

com expressões compostas apenas pela função de distância ZeroPadding, LastPadding,

Cosseno Projetado, ERP ou DTW, e uma das características obtidas como os valores do

histograma de cinza, de azul, de verde e de vermelho.

Tabela 3: Precisão dos Testes com expressões compostas apenas pela função de distância Zero-

Padding, LastPadding, Cosseno Projetado, ERP ou DTW, e uma das características (Histogramade Cinza, de Azul, de Verde ou de Vermelho). Fonte: Elaborada pelo autor.

ZeroPaddingcinza LastPaddingcinza COSPrcinza ERPcinza DTWcinza Média DesvioConsulta PadrãoMOVQA1 60% 50% 70% 90% 70%MOVQB1 80% 80% 70% 60% 80%MOVQC1 80% 60% 50% 60% 60%MOVQD1 80% 80% 70% 80% 70%MOVQE1 80% 80% 90% 60% 70%Precisão 76% 70% 70% 70% 70% 71,2% 2,68%

ZeroPaddingAzul LastPaddingAzul COSPrAzul ERPAzul DTWAzul Média DesvioConsulta PadrãoMOVQA1 50% 50% 50% 60% 60%MOVQB1 70% 70% 70% 60% 40%MOVQC1 50% 50% 70% 60% 60%MOVQD1 90% 90% 80% 90% 80%MOVQE1 90% 90% 90% 90% 70%Precisão 70% 70% 72% 72% 62% 69,2% 4,14%

ZeroPaddingVerde LastPaddingVerde COSPrVerde ERPVerde DTWVerde Média DesvioConsulta PadrãoMOVQA1 60% 60% 80% 90% 70%MOVQB1 80% 70% 70% 70% 50%MOVQC1 50% 50% 50% 60% 60%MOVQD1 70% 70% 80% 80% 70%MOVQE1 50% 40% 50% 60% 60%Precisão 62% 58% 66% 72% 62% 64% 5,92%

ZeroPaddingVerm. LastPaddingVerm. COSPrVerm. ERPVerm. DTWVerm. Média DesvioConsulta PadrãoMOVQA1 70% 60% 70% 80% 80%MOVQB1 80% 70% 70% 70% 30%MOVQC1 50% 50% 50% 60% 60%MOVQD1 70% 60% 70% 90% 80%MOVQE1 50% 40% 60% 60% 70%Precisão 64% 56% 64% 72% 64% 64% 5,66%

Já a Tabela 4 apresenta os resultados dos testes com expressões compostas com

as mesmas funções de distância, e uma das características obtidas como os valores do

histograma do matiz, da saturação, do ritmo visual paralelo e do ritmo visual cruzado.

Enquanto que a Tabela 5 mostra os resultados dos testes com as expressões compostas,

também, apenas pela função de distância e o número de componentes conexos ou a função

de energia.

Page 81: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

79

Tabela 4: Precisão dos Testes com expressões compostas apenas pela função de distância Zero-

Padding, LastPadding, Cosseno Projetado, ERP ou DTW, e uma das características (Histogramado Matiz, da Saturação, do Ritmo Visual Paralelo ou do Ritmo Visual Cruzado). Fonte: Elabo-rada pelo autor.

ZeroPaddingMatiz LastPaddingMatiz COSPrMatiz ERPMatiz DTWMatiz Média DesvioConsulta PadrãoMOVQA1 70% 70% 90% 100% 100%MOVQB1 90% 90% 90% 70% 80%MOVQC1 50% 50% 30% 60% 60%MOVQD1 90% 90% 90% 100% 100%MOVQE1 90% 90% 90% 100% 80%Precisão 78% 78% 78% 86% 84% 80,8% 3,9%

ZeroPaddingSat LastPaddingSat COSPrSat ERPSat DTWSat Média DesvioConsulta PadrãoMOVQA1 70% 70% 70% 70% 100%MOVQB1 90% 90% 80% 90% 80%MOVQC1 90% 50% 50% 60% 60%MOVQD1 80% 90% 80% 90% 100%MOVQE1 50% 90% 60% 80% 80%Precisão 76% 78% 68% 78% 84% 76,8% 5,76%

ZeroPaddingRC LastPaddingRC COSPrRC ERPRC DTWRC Média DesvioConsulta PadrãoMOVQA1 70% 70% 70% 70% 70%MOVQB1 50% 50% 50% 70% 40%MOVQC1 50% 50% 50% 60% 60%MOVQD1 20% 20% 20% 60% 70%MOVQE1 90% 80% 90% 40% 40%Precisão 56% 54% 56% 60% 56% 56,4% 2,19%

ZeroPaddingRX LastPaddingRX COSPrRX ERPRX DTWRX Média DesvioConsulta PadrãoMOVQA1 90% 90% 90% 80% 70%MOVQB1 50% 60% 60% 70% 60%MOVQC1 50% 50% 50% 60% 60%MOVQD1 40% 40% 30% 70% 80%MOVQE1 90% 90% 90% 40% 30%Precisão 64% 66% 64% 64% 60% 63,6% 2,19%

Tabela 5: Precisão dos Testes com expressões compostas apenas pela função de distância Zero-

Padding, LastPadding, Cosseno Projetado, ERP ou DTW, e uma das características (Número deComponentes Conexos e Função de Energia. Fonte: Elaborada pelo autor.)

ZeroPaddingCCon LastPaddingCCon COSPrCCon ERPCCon DTWCCon Média DesvioConsulta PadrãoMOVQA1 30% 40% 20% 60% 50%MOVQB1 20% 10% 30% 60% 60%MOVQC1 80% 60% 40% 80% 60%MOVQD1 0% 0% 0% 80% 70%MOVQE1 40% 20% 40% 50% 50%Precisão 34% 26% 26% 66% 58% 42% 18,7%

ZeroPaddingEnergia LastPaddingEnergia COSPrEnergia ERPEnergia DTWEnergia Média DesvioConsulta PadrãoMOVQA1 20% 20% 20% 30% 50%MOVQB1 20% 20% 20% 60% 60%MOVQC1 20% 40% 20% 60% 60%MOVQD1 40% 40% 20% 70% 80%MOVQE1 30% 50% 30% 90% 90%Precisão 26% 34% 22% 62% 68% 42,4% 21,18%

Dentre as características avaliadas individualmente, a que apresentou melhor de-

sempenho médio (80,8%) foi a que se calcula a partir do histograma do matiz. Dentre

as característcas que mostraram um resultado de baixo desempenho tem-se a função de

Page 82: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

80

energia, com precisão média de apenas 42,4%.

4.7.2 Testes Preliminares dos Métodos de PG e AG com Pesos Variando de1 a 10

Após apresentação do resultados obtidos individualmente, sem a utilização do mé-

todo PG ou AG, apresenta-se nesta seção os resultados obtidos da expressão de melhor

desempenho de cada uma das populações do método de PG, como pode ser visto na Ta-

bela 6, em que avalia-se a precisão das expressões em razão da recuperação dos dez vídeos

mais similares retornandos a partir do vídeo de consulta. A Tabela 6 apresenta os resul-

tados de P10 dos testes de cada expressão aplicada ao conjunto de consulta, e apresenta

também os valores da média e do desvio padrão da precisão resultante. As expressões

selecionadas são as que apresentaram melhor desempenho, após dez gerações, sendo re-

presentadas por expressões de cada uma das cinco populações (de A a E). E mostra-se

também os resultados das expressões após validação, ou seja, são expressões da população

treinada e que passaram pelo processo de validação, obtendo melhores desempenho.

Tabela 6: Precisão dos Testes com expressões selecionadas após 10 gerações do método de PG,com dados apurados antes e pós validação. Fonte: Elaborada pelo autor.

Programação Genética Expressões após TreinamentoPopulaçãoA PopulaçãoB PopulaçãoC PopulaçãoD PopulaçãoE Média Desvio

PadrãoConsultaMOVQA1 90% 90% 90% 70% 90%MOVQB1 70% 80% 80% 80% 50%MOVQC1 50% 50% 50% 50% 50%MOVQD1 90% 90% 90% 70% 70%MOVQE1 90% 90% 90% 90% 80%Precisão 78% 80% 80% 72% 68% 75,6% 5,367%

Programação Genética Expressões após ValidaçãoPopulaçãoA PopulaçãoB PopulaçãoC PopulaçãoD PopulaçãoE Média Desvio

PadrãoConsultaMOVQA1 90% 90% 70% 70% 70%MOVQB1 80% 80% 90% 100% 100%MOVQC1 50% 50% 50% 50% 50%MOVQD1 90% 90% 90% 90% 90%MOVQE1 90% 90% 90% 90% 90%Precisão 80% 80% 78% 80% 80% 79,6% 0,89%

Em relação ao método de AG, o processo de treinamento ocorreu de forma similar

ao treinamento de PG, ou seja, foram criadas cinco populações de 200 indivíduos cada.

Após realizada avaliação pela mesma função de aptidão para a seleção dos indivíduos AG,

ocorre a reprodução dos dez que mostraram melhor desempenho. Em seguida, escolhidos

os cinco indivíduos de melhor desempenho, fez-se o crossover entre os mesmos, seguindo

o mesmo modelo adotado com o método de PG, gerando vinte novos indivíduos AG.

Outros cinco indivíduos da população são escolhidos aleatoriamente para aplicação do

Page 83: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

81

crossover, havendo assim mais dez novos indivíduos gerados à próxima população de AG.

Quanto à mutação, foi realizada sobre os mesmos cinco de melhor desempenho, alterando-

se os valores de pesos, e até mesmo fazendo com que algumas partes do indivíduo AG

tenham peso igual a zero. E �nalmente, ocorre mutação também em indivíduos AG

selecionados randomicamente, apresentando então outros vinte indivíduos para a nova

geração, totalizando uma nova geração de 60 indivíduos no AG.

Tabela 7: Precisão dos Testes com Algoritmo Genético após 10 gerações.Fonte: Elaborada peloautor.

Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioAG Teste PadrãoConsultaMOVQA1 90% 90% 90% 90% 90%MOVQB1 90% 90% 90% 90% 90%MOVQC1 50% 50% 50% 50% 50%MOVQD1 90% 90% 90% 90% 90%MOVQE1 90% 90% 90% 90% 90%Precisão 82% 82% 82% 82% 82% 82% 0%

Foram realizadas três gerações em cada uma das populações do método AG, e os

resultados do teste utilizando o indivíduo de melhor desempenho ao �nal da última geração

é apresentado na Tabela 7. Importante comentar que o resultado de precisão média de

82% se deve em razão de ser composição do indivíduo AG todas as características e funções

de distância, ou seja, todas as possibilidades (características e funções de distância) foram

avaliadas.

Tabela 8: Precisão dos Testes, com expressões do método de PG validadas, porém alteradas parapossuir apenas um tipo de função de distância a cada expressão. Fonte: Elaborada pelo autor.

Programação Genética Expressões após Validação e com apenas um Tipo de Função de DistânciaZeroPadding A ZeroPadding B ZeroPadding C ZeroPadding D ZeroPadding E Média Desvio

Consulta PadrãoMOVQA1 90% 90% 80% 60% 70%MOVQB1 80% 80% 70% 80% 70%MOVQC1 50% 50% 50% 50% 50%MOVQD1 90% 90% 80% 80% 80%MOVQE1 90% 90% 90% 80% 50%Precisão 80% 80% 74% 70% 64% 73,6% 6,84%

LastPadding A LastPadding B LastPadding C LastPadding D LastPadding E Média DesvioConsulta PadrãoMOVQA1 90% 90% 90% 50% 70%MOVQB1 80% 80% 60% 80% 80%MOVQC1 50% 50% 50% 50% 50%MOVQD1 90% 90% 90% 80% 70%MOVQE1 90% 90% 90% 80% 40%Precisão 80% 80% 76% 68% 62% 73,2% 7,95%

COSPr A COSPr B COSPr C COSPr D COSPr E Média DesvioConsulta PadrãoMOVQA1 70% 40% 70% 70% 90%MOVQB1 50% 20% 70% 80% 80%MOVQC1 50% 10% 40% 50% 50%MOVQD1 0% 20% 20% 70% 80%MOVQE1 60% 20% 90% 90% 60%Precisão 46% 22% 58% 72% 72% 54% 20,92%

Page 84: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

82

O teste apresentado na Tabela 8 mostra resultados de precisão do método de PG

aplicada ao conjunto de vídeos de consulta, em que as expressões testadas objetivam re-

sponder a questão sobre qual seria o desempenho se as expressões validadas, até então,

fossem compostas exclusivamente de uma única função de distância. Ao formar as ex-

pressões, neste contexto, e aplicá-las ao teste, pode-se constatar que a escolha por uma

única função de distância não é a melhor solução. Nenhuma das expressões conseguiu

apresentar resultado melhor que as expressões do método de PG validadas da Tabela 6.

4.7.3 Testes do Método de PG e do AG com Pesos de 0 a 1 (sem ERP eDTW)

Para uma nova etapa de testes, foram criadas outras cinco populações para o

método de PG e cinco populações para o método de AG, sempre com pesos aplicados

aleatoriamente com valores entre 0 e 1. E a mesma quantidade de dez gerações foram

produzidas. Os resultados das populações do método de PG são apresentados na Tabela 9.

Tabela 9: Precisão dos resultados dos Testes com expressões de PG de pesos variando entre 0 e1, e realizados antes e após processo de validação. Fonte: Elaborada pelo autor.

Programação Genética Expressões após Treinamento (pesos de 0,000 a 1,000)PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média Desvio

Consulta PadrãoMOVQA1 60% 70% 90% 90% 90%MOVQB1 70% 80% 80% 80% 80%MOVQC1 50% 50% 50% 50% 50%MOVQD1 80% 70% 80% 80% 90%MOVQE1 50% 80% 90% 90% 90%Precisão 62% 70% 78% 78% 80% 73,6% 7,53%

Programação Genética Expressões após Validação (pesos de 0,000 a 1,000)PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média Desvio

Consulta PadrãoMOVQA1 90% 90% 90% 90% 90%MOVQB1 70% 80% 80% 80% 80%MOVQC1 50% 50% 50% 50% 50%MOVQD1 80% 90% 80% 80% 90%MOVQE1 90% 90% 90% 90% 90%Precisão 76% 80% 78% 78% 80% 78,4% 1,67%

A Tabela 9 apresenta os resultados da avaliação das expressões do método de PG

selecionadas após dez gerações no treinamento. Já o segundo grupo de expressões são as

que apresentam melhor desempenho após o processo de validação. Relevante apontar que

a etapa de validação permitiu um melhor desempenho nos testes, conseguindo aumentar

consideravelmente o porcentual de acertos das populações. Outra observação interessante

é que a distância entre os resultados de treinamento e validação, utilizando pesos entre 0

e 1, aumentaram quando se compara com os resultados do uso de pesos entre 1 e 10.

E ainda fazem parte dos testes os indivíduos AGA, AGB, AGC, AGD e AGE

obtidos pelo método de AG (ver Tabela 10). Todos possuem bom desempenho, mesmo

Page 85: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

83

não havendo uso das funções de distância ERP e DTW em suas composições. Destaque

para os indivíduos AGC e AGE com precisão igual a 84%, e a elevação da precisão média

para 82,8%, o que representou um aumento de 0,8% quando comparado aos resultados

dos testes com o método de AG utilizando pesos de 1 a 10 (Tabela 7).

Tabela 10: Precisão dos resultados dos Testes com indivíduos de AG (sem ERP e DTW) e pesosvariando entre 0 e 1. Fonte: Elaborada pelo autor.

Indivíduos AGA AGB AGC AGD AGE Média DesvioConsulta PadrãoMOVQA1 90% 90% 90% 90% 90%MOVQB1 90% 90% 90% 80% 90%MOVQC1 50% 50% 60% 60% 60%MOVQD1 90% 90% 90% 90% 90%MOVQE1 90% 90% 90% 90% 90%Precisão 82% 82% 84% 82% 84% 82,8% 1,09%

4.7.4 Testes com Filtros no Método de PG (Sem ERP e DTW)

Para �nalizar a descrição desta etapa de testes, a Tabela 11 mostra o resultado

de duas expressões compostas por �ltros aplicados aos vídeos, quadro a quadro, sendo

que as expressões selecionadas de uma dada população X, ExpressãoX0 e ExpressãoX4

mostram desempenho de 82% e 78%, respectivamente. São expressões selecionadas após

o treinamento e a validação, já na quarta geração, de uma população de 200 expressões

criadas inicialmente.

Tabela 11: Precisão dos Testes com expressões compostas por Filtros, Características e Funçãode distância (Cosseno Projetado, LastPadding e ZeroPadding). Fonte: Elaborada pelo autor.

ExpressãoX0 ExpressãoX4ConsultaMOVQA1 90% 70%MOVQB1 80% 70%MOVQC1 60% 70%MOVQD1 90% 90%MOVQE1 90% 90%Precisão 82% 78%

Já na Tabela 12, pode ser observado o resultado de uma expressão que foi ma-

nipulada para possuir apenas o operador de soma (+) aplicado a cada uma das dez

característica agregadas com uma função de distância (exceto ERP e DTW, devido ao

alto custo computacional associado), ou seja, uso de 30 possibilidades da composição de

características e função de distância. O peso de 0,999 foi aplicado por toda a composição

da expressão manipulada, que apresentou precisão 84%. O objetivo desta expressão foi

testar o comportamento de uma expressão do método de PG com aplicação obrigatória

de todas as características, e mostrar que seu resultado é tão bom quanto ao resultado de

indivíduos do método de AG de melhor precisão (Tabela 10 indivíduos AGC e AGE).

Page 86: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

84

E há também o teste com as expressões ExpressãoY0 e ExpressãoY2 (ambas com

82% de acerto), que são as expressões de maior precisão, selecionadas após sete gerações

de treinamento, e da validação de uma dada população Y. Em sua população Y original

de 60 expressões, forçadamente incluiu-se as expressões ExpressãoX0 e ExpressãoX4 (ver

Tabela 11), no intuito de avaliar o comportamento e possíveis recombinações do material

genético de ExpressãoX0 e ExpressãoX4 nesta nova população Y. As consultas são as

mesmas dos testes anteriores, de MOVQA até MOVQE, e a base de dados composta de

TMOV1 a TMOV50, sendo 10 positivos em 50 vídeos.

Tabela 12: Precisão dos Testes com expressões compostas por Filtros, Características e Funçãode distância (Cosseno Projetado, LastPadding e ZeroPadding) e com uma expressão geradaManualmente. Fonte: Elaborada pelo autor.

Expressão Manipulada ExpressãoY0 ExpressãoY2ConsultaMOVQA1 90% 90% 80%MOVQB1 90% 80% 90%MOVQC1 60% 60% 60%MOVQD1 90% 90% 90%MOVQE1 90% 90% 90%Precisão 84% 82% 82%

O que se deseja mostrar nesta seção é que a utilização de �ltros nas expressões

permitiu maior precisão na busca dos vídeos (mesmo sem a aplicação de ERP e DTW), o

que pode ser observado nos resultados de ExpressãoY0 e ExpressãoY2 (ambas com 82%

de precisão), já que até então, os resultados das expressões do método de PG, ou os

resultados da aplicação individual das características, não foram superiores em precisão

média a estes valores. Outro resultado importante é que utilizar �ltros no método de

programação genética mostra resultados muito próximos dos apresentados pelo método

de AG, mas com um processamento de menos partes (genes) levando à uma avaliação de

vídeos em menor tempo.

4.7.5 Testes de Consultas de Tamanhos Variados

Foram realizados alguns testes em que os vídeos de consulta (MOVQA1 a MOVQE1)

foram alterados em relação ao número de quadros, que originalmente possuiam aproxi-

madamente 100 quadros. As novas consultas possuem vídeos com até 75% de variação

do número de quadros da consulta original utilizada até este momento. Deve-se destacar

que as expressões utilizadas neste teste são as mesmas utilizadas no teste da Tabela 9,

sendo as que passaram pelo processo de validação. Os resultados estão na Tabela 13.

Quando realizada a consulta de vídeos com 1/4 do número de quadros que os

vídeos da base possuem, as expressões mostram uma signi�cativa redução de acertos,

Page 87: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

85

Tabela 13: Precisão dos Testes com expressões do método de PG aplicadas com vídeo de consultacom número de quadros diferente dos vídeos da base de dados. Fonte: Elaborada pelo autor.

Tamanho Exp.Validadas PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média DesvioConsulta Padrão

25% MOVQ25A1 70% 70% 70% 70% 70%MOVQ25B1 30% 0% 40% 10% 0%MOVQ25C1 50% 50% 50% 50% 50%MOVQ25D1 60% 40% 0% 80% 50%MOVQ25E1 60% 30% 60% 50% 30%Precisão 54% 38% 44% 52% 40% 45,6% 7,12%

Tamanho Exp.Validadas PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média DesvioConsulta Padrão

50% MOVQ50A1 70% 80% 80% 80% 80%MOVQ50B1 40% 20% 50% 50% 30%MOVQ50C1 50% 50% 50% 50% 50%MOVQ50D1 80% 90% 50% 80% 70%MOVQ50E1 70% 50% 60% 70% 50%Precisão 62% 58% 58% 66% 56% 60% 4%

Tamanho Exp.Validadas PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média DesvioConsulta Padrão

75% MOVQ75A1 70% 90% 80% 90% 90%MOVQ75B1 70% 60% 70% 70% 70%MOVQ75C1 50% 50% 50% 50% 50%MOVQ75D1 80% 90% 70% 80% 80%MOVQ75E1 80% 80% 90% 90% 80%Precisão 70% 74% 72% 76% 74% 73,2% 2,28%

Tamanho Exp.Validadas PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média DesvioConsulta Padrão

125% MOVQ125A1 80% 90% 90% 90% 90%MOVQ125B1 80% 90% 80% 80% 90%MOVQ125C1 50% 50% 50% 50% 50%MOVQ125D1 80% 90% 80% 80% 80%MOVQ125E1 90% 90% 90% 90% 90%Precisão 76% 82% 78% 78% 80% 78,8% 2,28%

Tamanho Exp.Validadas PopulaçãoA' PopulaçãoB' PopulaçãoC' PopulaçãoD' PopulaçãoE' Média DesvioConsulta Padrão

150% MOVQ150A1 60% 90% 70% 80% 90%MOVQ150B1 80% 90% 80% 90% 80%MOVQ150C1 50% 50% 50% 50% 50%MOVQ150D1 70% 90% 40% 80% 80%MOVQ150E1 80% 90% 90% 90% 90%Precisão 68% 82% 66% 78% 78% 74,4% 6,98%

porém, é importante relatar que mesmo sendo de tamanhos tão diferentes, conseguiu-

se um resultado de 54% de acertos com a expressão da PopulaçãoA'. É um resultado

expressivo, pois supera até mesmo alguns resultados da utilização exclusiva de uma única

característica associada a uma única função de distância. Já ao realizar o teste com

consultas de até 50% maiores (50% de quadros a mais) que os vídeos da base de dados, os

resultados são mais próximos dos avaliados com vídeos de tamanhos similares. Destaque

para a expressão da PopulaçãoB' com 82% de acerto. Este relato nos permite avaliar que

não é tão necessário se tentar igualar a quantidade de quadros que o vídeo de consulta e

os vídeos da base devam ter.

O mesmo experimento foi realizado com o método de AG, em que os vídeos de

consulta (MOVQA1 a MOVQE1) são os mesmos alterados para o teste com o método de

PG. Deve-se destacar que os indivíduos AG utilizados neste teste são os mesmos utilizados

Page 88: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

86

no teste da Tabela 7, sem ter realizado novos treinamentos. Os resultados estão na

Tabela 14, e se pode observar que a precisão é baixa quando o número de quadros do

vídeo de consulta é muito menor que a média do tamanho dos vídeos da base, porém,

quando a consulta possui um número de quadros maior que os dos vídeos da base, o

método de AG apresenta precisão tão alta quanto ao se utilizar vídeos (consulta e base)

de tamanhos iguais. Esse mesmo padrão foi observado no método de PG.

Tabela 14: Precisão dos Testes com expressões de AG aplicadas com vídeo de consulta comnúmero de quadros diferente dos vídeos da base de dados. Fonte: Elaborada pelo autor.

Tamanho Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioConsulta Padrão

25% MOVQ25A1 70% 70% 70% 70% 70%MOVQ25B1 0% 0% 0% 0% 0%MOVQ25C1 20% 30% 20% 20% 30%MOVQ25D1 30% 20% 30% 30% 30%MOVQ25E1 50% 50% 50% 50% 50%Precisão 34% 34% 34% 34% 36% 34,4% 0,08%

Tamanho Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioConsulta Padrão

50% MOVQ50A1 70% 70% 70% 70% 70%MOVQ50B1 30% 30% 30% 30% 30%MOVQ50C1 50% 50% 50% 50% 50%MOVQ50D1 90% 90% 90% 90% 90%MOVQ50E1 60% 60% 60% 60% 60%Precisão 60% 60% 60% 60% 60% 60% 0%

Tamanho Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioConsulta Padrão

75% MOVQ75A1 90% 90% 90% 90% 90%MOVQ75B1 70% 70% 70% 70% 70%MOVQ75C1 50% 50% 50% 50% 50%MOVQ75D1 90% 90% 90% 90% 90%MOVQ75E1 80% 80% 80% 80% 80%Precisão 76% 76% 76% 76% 76% 76% 0%

Tamanho Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioConsulta Padrão

125% MOVQ125A1 90% 90% 90% 90% 90%MOVQ125B1 100% 100% 100% 100% 100%MOVQ125C1 50% 50% 50% 50% 50%MOVQ125D1 90% 90% 90% 90% 90%MOVQ125E1 90% 90% 90% 90% 90%Precisão 84% 84% 84% 84% 84% 84% 0%

Tamanho Indivíduos ALGpop1 ALGpop2 ALGpop3 ALGpop4 ALGpop5 Média DesvioConsulta Padrão

150% MOVQ150A1 70% 70% 70% 70% 70%MOVQ150B1 100% 100% 100% 100% 100%MOVQ150C1 50% 50% 50% 50% 50%MOVQ150D1 90% 90% 90% 90% 90%MOVQ150E1 90% 90% 90% 90% 90%Precisão 80% 80% 80% 80% 80% 80% 0%

A Figura 43 ilustra a relação dos resultados de precisão das consultas de vídeos

com diferentes números de quadros em relação à base de vídeos. É possível ver que os

resultados utilizando o método de PG e do AG são similares, sendo que o método de

PG apresenta melhor resultado (diferença de precisão acima de 10%) quando o tamanho

do vídeo de consulta é muito menor que o tamanho dos vídeos da base. Já quando os

vídeos de consulta possuem a quantidade de quadros superior aos dos vídeos da base, a

Page 89: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

87

precisão é tão alta quanto se estivesse comparando vídeos de tamanhos similares. Outra

característica que se observa é que se o vídeo de consulta possuir um tamanho muito

maior que os vídeos da base, há uma tendência de redução da precisão.

Figura 43: Grá�co de Precisão Média de Consultas com Tamanhos Diferentes. Fonte: Elaboradapelo autor.

4.7.6 Testes Preliminares usando ERP/DTW com Indivíduos de PopulaçãoInicial

A Tabela 15 mostra o resultado do teste da expressão PopMutA', que é uma muta-

ção da expressão PopulaçãoA' validada (Tabela 9) alterada em suas funções de distância,

havendo a substituição da função de distância ZeroPadding por ERP e LastPadding por

DTW. Isto é, objetivou-se responder a questão sobre qual seria o desempenho da ex-

pressão nesta condição. O resultado mostra um ganho de 2% justamente em razão de se

utilizar a ERP e a DTW.

Tabela 15: Testes com a utilização da Funções de distância ERP e DTW. Fonte: Elaborada peloautor.

PopMutA' PopulaçãoA'ConsultaMOVQA1 90% 90%MOVQB1 70% 70%MOVQC1 60% 50%MOVQD1 80% 80%MOVQE1 90% 90%Precisão 78% 76%

Page 90: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

88

4.7.7 Testes usando as Funções de Distância e os Filtros

A Tabela 16 mostra os resultados do teste de expressões selecionadas após treina-

mento e validação de três populações, em que se compõem cada expressão da possibilidade

de utilizar a sequência dos �ltros e quaisquer funções de distância apresentadas neste tra-

balho. Relevante destacar que foi possível alcançar performance similar ao do método de

algoritmo genético, porém, com uso de uma expressão que pode apresentar em sua com-

posição menos características ao processamento, reduzindo assim, o tempo de execução

na busca dos vídeos.

Tabela 16: Testes com a utilização das Funções de distância e Filtros. Fonte: Elaborada peloautor.

ExPopA ExPopB ExPopCConsultaMOVQA1 90% 80% 80%MOVQB1 80% 80% 80%MOVQC1 60% 60% 60%MOVQD1 80% 100% 100%MOVQE1 50% 100% 100%Precisão 72% 84% 84%

Importante rea�rmar a real tendência por melhores resultados, tanto em relação

ao tempo de execução, quanto a precisão, ao fazer uso dos �ltros no método de PG.

4.8 Análise Global dos Resultados

Esta seção destina-se a mostrar uma análise global dos resultados obtidos. Inicia-se

por avaliar os resultados de expressões compostas exclusivamente por um tipo de carac-

terística e uma função de distância. Em seguida, informa-se quanto a avaliação do uso

de uma única função de distância nas expressões PG selecionadas para a fase de teste.

Avaliou-se também os testes com uso do método de AG e �nalmente com uso das ex-

pressões no método de PG.

Os testes mostraram que o uso exclusivo de uma característica e função de distância

não parece ser o melhor método para se calcular similaridade entre vídeos. E o mesmo

parece ocorrer ao se utilizar expressões compostas por mais de uma característica, mas

com uma única função de distância �xada, apesar de uma melhora dos resultados, não

parecer ser a melhor solução.

Já os testes com o método de AG apresentaram resultados aproximados a 80%

de acertos, e se deve destacar que tal valor ocorreu em virtude da utilização de até 50

combinações possíveis de características e funções de distância, aplicadas a uma busca

Page 91: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

89

limitada a dez vídeos para o conjunto de acerto. Quanto mais possibilidades (variantes)

se tem no método de AG, ou seja, quanto maior a diversidade de seus cromossomos, maior

a possibilidade de acerto em uma dada pesquisa, após o treinamento. Outra característica

que se pode observar é o over�t do método de AG, pois parece não conseguir resultados

melhores que os apresentados.

A utilização do método de PG para a combinação de características, �ltros, funções

de distância e pesos se mostrou e�ciente pois permitiu, após o treinamento de gerações, e

uma etapa de validação, apresentar uma expressão adequada à busca de vídeos a partir

de uma dada consulta. E com a expressão PG conseguiu-se mostrar que não é necessário

se igualar a quantidade de quadros do vídeo de consulta e dos vídeos da base, e ainda, ter

bom desempenho, em relação a tempo de execução, por poder utilizar um menor número

de características e funções de distância que um indivíduo AG.

Page 92: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

90

5 CONCLUSÕES E TRABALHOS FUTUROS

5.1 Conclusões

O presente trabalho apresenta a utilização da combinação de características, �ltros,

funções de distância e pesos através de Programação Genética para recuperação de vídeos,

e os resultados apresentaram que é possível e adequado a utilização de PG para se obter

uma expressão que permita uma busca e�ciente de vídeos em uma dada base de vídeos.

A construção de uma solução baseada em computação evolucionária, com ênfase em

Programação Genética para se determinar a expressão que melhor combine características

e funções de distância para o cálculo de similaridade de vídeos foi alcançada, e o objetivo

de se desenvolver/implementar uma ferramenta que determine a expressão adequada foi

realizado. Importante informar que o uso de Algoritmo Genético foi aplicado aos testes,

sendo o resultado encontrado relevante, com uma média de 80% de acertos apesar da

pouca �exibilidade.

Conseguiu-se mostrar que os vídeos podem ser avaliados pelo cálculo de séries

temporais como o ERP e o DTW, e que a extração de características de baixo custo

computacional dos quadros dos vídeos é muito útil no processo de busca por similaridade

entre vídeos, e vídeos estes que podem ter a quantidade de quadros diferentes, descartando

a necessidade de um pré-processamento dos vídeos para se igualar a quantidade de quadros

do vídeo de consulta e os da base de vídeos.

As principais contribuições são:

(a) A utilização de �ltros de baixo custo computacional, aplicados aos quadros

extraídos dos vídeos; e

(b) Aplicação de funções de distância entre séries temporais como ERP e DTW ao

resultado da série de valores de características extraídas dos quadros dos vídeos.

Outras contribuições são: (a) uso de PG para a combinação de características,

funções de distância e pesos, aplicados à recuperação de vídeos; (b) uso de AG à recu-

Page 93: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

91

peração de vídeos; (c) uso de funções de distância de baixo custo computacional como

Cosseno Projetado, LastPadding e ZeroPadding, aplicadas ao resultado da série de valores

coletados da composição de características e �ltros, obtendo desempenho próximo ao uso

de ERP e DTW; e (d) possibilidade de avaliar a similaridade entre vídeos com número de

quadros diferentes.

5.2 Trabalhos Futuros

Apresenta-se a seguir uma lista de sugestões de extensões do presente trabalho:

(a) Conseguir aplicar este trabalho à predição de eventos, e geração de alertas, em

função de uma possível aprendizagem baseada nos vídeos;

(b) Conseguir a extração das características dos vídeos em tempo real;

(c) Avaliar, na implementação, outros descritores como tensor scale (ANDALó et al.,

2007), o BAS40 e BAS60 (ARICA; VURAL, 2003), e o MS fractal dimension (TORRES;

FALCãO; COSTA, 2004);

(d) Aliar o uso de técnicas de sumarização aos �ltros;

(e) Investigar o efeito da alteração dos parâmetros utilizados neste trabalho;

(f) Investigar o efeito do uso de outras funções de aptidão (Fitness);

(g) Investigar o efeito do uso de �ltros para busca, reconhecimento e validações de

imagens;

(h) Realizar testes com outras bases de vídeos maiores, e inclusive com algumas

bases de vídeos da literatura;

(i) Conseguir implementar um modelo que represente e se ajuste à percepção do

usuário quanto à busca de vídeos.

Page 94: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

92

REFERÊNCIAS

ANDALó, F. A. et al. A new shape descriptor based on tensor scale. Proceedings ofthe 8th International Symposium on Mathematical Morphology (ISMM '07),v. 1, p. 141�152, 2007.

ARICA, N.; VURAL, F. T. Y. Bas: a perceptual shape descriptor based on the beamangle statistics. Pattern Recognition Letters, v. 24, n. 9-10, p. 1627�1639, 2003.

ASHLOCK, D. Evolutionary Computation for Modeling and Optimization. NewYork: Springer, 2005. 571 p.

BARATE, M. R. Aprentissage de fonctions visuelles pour un robot mobile parprogrammation génétique. Tese (Doutorado) � Université Pierre et Marie Curie,2008.

BERNDT, D. J.; CLIFFORD, J. Finding patterns in time series: A dynamicprogramming approach. Advances in Knowledge Discovery and Data Mining,American Association for Arti�cial Intelligence, p. 229�248, 1996.

BLICKLE, T.; THIELE, L.; MIKROELEKTRONIK, L. F. Genetic Programmingand Redundancy. 1994. 33�38 p.

BUGATTI, P. H. Análise da in�uência de funções de distância para oprocessamento de consultas por similaridade em recuperação de imagens porconteúdo. Dissertação (Mestrado) � Universidade de São Paulo, 2008.

CALUMBY, R. T. Recuperação Multimodal de Imagens Com Realimentaçãode Relevância Baseada em Programação Genética. Dissertação (Mestrado) �Universidade Estadual de Campinas, 2010.

CATENI, S.; COLLA, V.; VANNUCCI, M. A genetic algorithms-based approach forselecting the most relevant input variables in classi�cation tasks. UKSim FourthEuropean Modelling Symposium on Computer Modelling and Simulation,n. 6, p. 63�67, 2010.

CHEN, L.; NG, R. On the marriage of lp-norms and edit distance. Proceedings ofthe Thirtieth international conference on Very large data bases ('04 VLDB),v. 30, p. 792�803, 2004.

CORREA, E. S.; FREITAS, A. A.; JOHNSON, C. G. A new discrete particle swarmalgorithm applied to attribute selection in a bioinformatics data set. Proceedings ofthe 8th annual conference on Genetic and evolutionary computation ('06GECCO), n. 6, p. 35�42, 2006.

EISERT, P.; RURAINSKY, J.; FECHTELER, P. Virtual mirror: Real-time trackingof shoes in augmented reality environments. Image Processing, 2007. ICIP 2007.IEEE International Conference on, p. 557�560, 2007.

Page 95: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

93

ESPEJO, P. G.; VENTURA, S.; HERRERA, F. A survey on the application ofgenetic programming to classi�cation. Systems, Man, and Cybernetics, Part C:Applications and Reviews, IEEE Transactions on, v. 40, n. 2, p. 121�144, 2010.

FAN, W. et al. The e�ects of �tness functions on genetic programming-based rankingdiscovery for web search. American Society for Information Science andTechnology, v. 55, n. 7, p. 628�636, 2004.

FERREIRA, C. et al. Relevance feedback based on genetic programming for imageretrieval. Pattern Recognition Letters, n. 32, p. 27�37, 2011.

GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing. 2. ed. New Jersey:Pratice Hall, 2002. 793 p.

GUIMARãES, S. J. F. Video transition identi�cation based on 2D imageanalysis. Tese (Doutorado) � Universidade Federal de Minas Gerais, 2003.

JAIN, A.; ZONGKER, D. Feature selection: Evaluation, application, and small sampleperformance. Pattern Analysis and Machine Intelligence, IEEE Transactionson, v. 19, n. 2, p. 153�158, 1997.

JAIN, A. K.; DUIN, R. P.; MAO, J. Statistical pattern recognition: A review. PatternAnalysis and Machine Intelligence, IEEE Transactions on In Pattern Analysisand Machine Intelligence, v. 22, n. 1, p. 4�37, 2000.

KOZA, J. R. Genetic Programming: On the Programming of Computers byMeans of Natural Selection. Cambridge: MIT Press, 1992.

LACERDA, A. et al. Learning to advertise. Proceedings of the 29th annualinternational ACM SIGIR conference on Research and development ininformation retrieval ('06 SIGIR), p. 549�556, 2006.

LIN, Y.; BHANU, B. Evolutionary feature synthesis for object recognition. Systems,Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactionson, v. 35, n. 2, p. 156�171, 2005.

MARQUES FILHO, O.; VIEIRA NETO, H. Processamento Digital de Imagens.Rio de Janeiro: Brasport, 1999. 331 p.

MENEZES, P. B. Linguagens Formais e Autômatos. 3. ed. Porto Alegre: SagraLuzzatto, 2000. 165 p.

MOMTAZPOUR, M.; SARAEE, M. H.; PALHANG, M. The use of genetic algorithmfor feature selection in video concept detection. Proceedings of the 18th IranianConference on Electrical Engineering (ICEE), n. 10, p. 506�511, 2010.

MOURãO, M. B. et al. Introdução à siderurgia. ABM - Associação Brasileira deMetalurgia e Materiais, 2007.

PATROCÍNIO JÚNIOR, Z. K. do; GUIMARãES, S. J. F.; PAULA, H. B. de. Bipartitegraph matching for video clip localization. Proceedings of the XX BrazilianSymposium on Computer Graphics and Image Processing (SIBGRAPI), p.129�138, 2007.

Page 96: PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS … · Graduação em Informática como requisito parcial para obtenção do Grau de Mestre em Informática pela Pontifícia Universidade

94

PEDRINI, H.; SCHWARTZ, W. R. Análise de Imagens Digitais: Princípios,Algoritmos e Aplicações. São Paulo: Thomson Learning, 2007.

POLI, R. Genetic programming for image analysis. Proceedings of the First AnnualConference on Genetic Programming ('96 GECCO), p. 1�11, January 1996.

SEGOND, M.; FONLUPT, C.; ROBILLIARD, D. Génération de �ltres itératifs parprogrammation génétique. Congrès Reconnaissance de Formes et IntelligenceArti�cielle RFIA, 2006.

SHAO, H. et al. Automatic feature weight assignment based on genetic algorithm forimage retrieval. Intelligent Systems and Signal Processing IEEE InternationalConference on Robotics, n. 3, p. 731�735, 2003.

SHERRAH, J.; BOGNER, R. E.; BOUZERDOUM, A. Automatic selection of featuresfor classi�cation using genetic programming. Intelligent Information Systems,Autralian and New Zealand Conference on, p. 284�287, 1996.

STANHOPE, S. A.; DAIDA, J. M. Genetic programming for automatic targetclassi�cation and recognition in synthetic aperture radar imagery. Proceedings of the7th Annual Conference Evolutionary Programming VII Lecture Notes inComputer Science, v. 1447, n. 25, p. 735�744, 1998.

TACKETT, W. A. Genetic programming for feature discovery and image discrimination.Proceedings of the 5th International Conference on Genetic Algorithms, p.303�309, 1993.

TOMMISKA, M. E�cient digital implementation of the sigmoid function forreprogrammable logic. Computers and Digital Techniques IEE Proceedings,v. 150, n. 6, p. 403�411, 2003.

TORRES, R. da S.; FALCãO, A. X. Content-based image retrieval: Theory andapplications. Revista de Informática Teórica e Aplicada, v. 13, n. 2, p. 165�189,2006.

TORRES, R. S.; FALCãO, A. X.; COSTA, L. da F. A graph-based approach formultiscale shape analysis. Pattern Recognition Societ, v. 37, n. 6, p. 1163�1174,2004.

TORRES, R. S. et al. A genetic programming framework for content-based imageretrieval. Pattern Recognition Societ, v. 42, n. 2, p. 283�292, 2009.

VARELLA, P. Avião. 2005.

VIEIRA, N. J. Introdução aos Fundamentos da Computação. São Paulo: PioneiraThomson Learning, 2006.

WANG, Y.; PAVLIDS, T. Optimal correspondence of string subsequences. IEEETransactions on Pattern Analysis and Machine Intelligence, v. 12, n. 11, p.1080�1087, 1990.