Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
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
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
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.
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.
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
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-
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
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
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
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
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
TABELA 16 Testes com a utilização das Funções de distância e Filtros. Fonte:
Elaborada pelo autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
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
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
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
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
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.
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,
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.
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
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
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).
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
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.
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;
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
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.
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
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.
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
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).
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.
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
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.
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.
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
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
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
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
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
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
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-
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
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.
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.
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
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).
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.
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
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.
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
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.
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
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
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
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)))
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-
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
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
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.
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.
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
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
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.
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
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
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.
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).
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
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,
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.
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.
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.
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.
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-
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.
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.
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.
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
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
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%
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
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).
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,
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
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
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%
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
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.
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-
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.
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.
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.
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.