Classificação e Fusão de Classificadores Utilizando Redes Neuronais Artificiais: Aplicação na Detecção de Peões e Veículos



Documentos relacionados
Modelos Pioneiros de Aprendizado

Aplicação de Ensembles de Classificadores na Detecção de Patologias na Coluna Vertebral

Do neurônio biológico ao neurônio das redes neurais artificiais

Análise comparativa dos classificadores Máquinas de Suporte Vectorial e Redes Neuronais Artificiais: Aplicação na detecção de Peões e Veículos

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Computação Adaptativa

Redes Neurais. A IA clássica segue o paradigma da computação simbólica

Reconhecimento de Padrões. Reconhecimento de Padrões

Curva ROC. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

UMA ABORDAGEM DE PODA PARA MÁQUINAS DE APRENDIZADO EXTREMO VIA ALGORITMOS GENÉTICOS

MLP (Multi Layer Perceptron)

CAPÍTULO 2. Grafos e Redes

Equações Diferenciais Ordinárias

Expansão de Imagem #2

4 Avaliação Experimental

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

Prova Escrita de Matemática A

Exercícios Teóricos Resolvidos

Reconhecimento de Padrões Utilizando Filtros Casados

Análise de Regressão Linear Simples e Múltipla

Transcrição Automática de Música

Algoritmo. Iniciação do Sistema e Estimativa do consumo. Perfil do utilizador. Recolha de dados

1 Introdução. 2 Exemplo de aplicação

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

Redes Neurais Artificiais na Engenharia Nuclear 2 Aula-1 Ano: 2005

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

3 Estratégia para o enriquecimento de informações

Matemática Aplicada às Ciências Sociais

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica

Ferramenta computacional para implementação de redes neuronais optimização das capacidades gráficas

Lista de Exercícios Tratamento de Incerteza baseado em Probabilidade

Cálculo em Computadores trajectórias 1. Trajectórias Planas. 1 Trajectórias. 4.3 exercícios Coordenadas polares 5

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Introdução ª Parte - Acesso à Aplicação Avaliação Online... 4 I Aceder à Aplicação Inscrição Acesso à Aplicação...

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

Resolução de sistemas lineares

Problemas de Valor Inicial para Equações Diferenciais Ordinárias

Análise de componentes independentes aplicada à avaliação de imagens radiográficas de sementes

3 Previsão da demanda

Trabalho de Implementação Jogo Reversi

Sistema de formação e certificação de competências

Segmentação de Imagens

Optimização de um Mundo Virtual

EXERCÍCIO - ROMA : Modelar Capitel de uma Coluna Clássica

Aula 1: Demonstrações e atividades experimentais tradicionais e inovadoras

4. Tarefa 16 Introdução ao Ruído. Objetivo: Método: Capacitações: Módulo Necessário: Análise de PCM e de links

Notas sobre a Fórmula de Taylor e o estudo de extremos

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Aspectos Sócio-Profissionais da Informática

MINISTÉRIO DA EDUCAÇÃO DEPARTAMENTO DO ENSINO SECUNDÁRIO MATEMÁTICA B 12º ANO

c. Técnica de Estrutura de Controle Teste do Caminho Básico

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

4 Experimentos. 4.4 detalha os experimentos com os algoritmos V-Wrapper e NCE. 4.1

Entrevista ao Professor

Actividade 2 Intensidade da luz

Ajuste de Curvas. Ajuste de Curvas

Numa turma de 26 alunos, o número de raparigas excede em 4 o número de rapazes. Quantos rapazes há nesta turma?

Sistemas de Telecomunicações I

Ciências Físico - Químicas. Planificação de uma Actividade Laboratorial No contexto dos Novos Programas

Aprendizagem de Máquina

ESTEREOSCOPIA INTRODUÇÃO. Conversão de um par de imagens (a)-(b) em um mapa de profundidade (c)

Scale-Invariant Feature Transform

INDAGAR E REFLECTIR PARA MELHORAR. Elisabete Paula Coelho Cardoso Escola de Engenharia - Universidade do Minho elisabete@dsi.uminho.

Lista 1 para a P2. Operações com subespaços

Introdução ao estudo de equações diferenciais

Nome: Lucas da Silva Oliveira. Professor: Ricardo Fabbri

Uma globalização consciente

Testes (Não) Paramétricos

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

Investigação Operacional

Silvano Nogueira Buback. Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado

Dossiês Didácticos LUÍSA CANTO E CASTRO LOURA MARIA EUGÉNIA GRAÇA MARTINS

O Manual do ssc. Peter H. Grasch

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

1. Criar uma nova apresentação

O comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Clip-art Retrieval using Sketches PTDC/EIA-EIA/108077/2008

ANÁLISE DE DIFERENTES MODELOS DE ATRIBUIÇÃO DE NOTAS DA AVALIAÇÃO INTEGRADORA (AVIN) DO CURSO DE ENGENHARIA CIVIL DO UNICENP

Secção II. A utilização nas empresas das tecnologias de inteligência artificial

XXIX Olimpíada Internacional de Física

Manual do Gestor da Informação do Sistema

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

ANEXO. Manual do utilizador

MODELAGEM DO CUSTO MARGINAL DA ENERGIA ELÉTRICA EM FUNÇÃO DO NÍVEL DE ARMAZENAMENTO NOS RESERVATÓRIOS

MS777: Projeto Supervisionado Estudos sobre aplicações da lógica Fuzzy em biomedicina

Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5

Submissão Autenticada de Ficheiros ao SIGEX

4 Segmentação Algoritmo proposto

FEUP RELATÓRIO DE CONTAS BALANÇO

Transcrição:

Universidade de Coimbra Faculdade de Ciências e Tecnologia Departamento de Engenharia Electrotécnica e de Computadores Classificação e Fusão de Classificadores Utilizando Redes Neuronais Artificiais: Aplicação na Detecção de Peões e Veículos David Emanuel Ribeiro Delgado Coimbra, 2009

Classificação e fusão de Classificadores Utilizando Redes Neuronais Artificiais: Aplicação na Detecção de Peões e Veículos Orientadores: Prof. Doutor Urbano José Carreira Nunes Prof. Doutor Rui Alexandre de Matos Araújo Co-Orientador: Mestre Oswaldo Ludwig Junior Júri: Presidente: Vogais: Prof. Doutor Urbano José Carreira Nunes Prof. Doutor Rui Alexandre de Matos Araújo Prof. Doutor Rui Pedro Duarte Cortesão Prof. a Doutora Teresa Martinez dos Santos Gomes David Emanuel Ribeiro Delgado Dissertação submetida para obtenção do grau de Mestre em Engenharia Electrotécnica e de Computadores Departamento de Engenharia Electrotécnica e de Computadores Faculdade de Ciências e Tecnologia, Universidade de Coimbra Setembro 2009

À minha família, e amigos

Agradecimentos Gostaria de agradecer às várias pessoas, que de diferentes formas contribuíram para a realização desta tese. O meu reconhecimento aos meus orientadores Prof. Dr. Urbano Nunes e Prof. Dr. Rui Araújo, pela sua orientação ao longo desta tese. Também gostaria de dar o meu profundo agradecimento ao meu co-orientador Mestre Oswaldo Ludwig Junior pelo acompanhamento, motivação, encorajamento e conhecimentos transmitidos ao longo desta tese. Um especial agradecimento aos meus pais que sempre me deram força para continuar. E que muito esforço fizeram para me conseguirem ajudar a tirar um curso superior, tanto financeiramente como através da sua amizade e dedicação. Quero agradecer profundamente aos meus colegas e amigos Carlos Baptista e João Henriques pela sua amizade, apoio e companheirismo durante o curso. Quero também agradecer a minha amiga Helena Paulino e ao Pedro Miraldo, pela sua ajuda na recta final da tese. Também pretendo agradecer aos meus colegas do ISR, Jérôme Mendes, João Loureiro, Ricardo Maia e Valter Gonçalves, pela união e amizade que sempre demonstraram. E um muito obrigado também a todos os meus familiares e amigos que eu não mencionei anteriormente, mas que também foram muito importantes para mim nesta longa jornada. Agradeço ao ISR-UC pelas condições e meios disponíveis que me possibilitaram fazer esta tese. Um agradecimento também a Fundação para a Ciência e Tecnologia (FCT) através do projecto PMITS06 (PTDC/EEA-ACR/72226/2006) e co-financiado pelo FEDER.

Resumo O trabalho desenvolvido nesta tese teve como objectivo contribuir na área de reconhecimento de padrões para o desenvolvimento de um sistema de detecção de objectos, com especial ênfase na detecção de peões. Para isso, fez-se o estudo e aplicação de diversos extractores de características (HOG (Histograma de Gradientes) [1], COV (covariâncias) [2] [3] [4] e a sua combinação HOG-COV), classificadores (GDX (Gradient descent with momentum and adaptive learning rate backpropagation) [5], GDX-MCI (Minimization of InterClass Interference) [6], SVM (Support Vector Machines) com kernel RBF [7] e FLDA(Fisher Linear Discriminant Analysis) [8]) e métodos de fusão de classificadores (fusão treinável [9] e regras de fusão apresentadas em [10]: Median rule, MAX rule, MIN rule e regra de fusão inspirada no teorema de Bayes ). Nesta tese foi utilizado o dataset Daimler Pedestrian Classification Benchmark [11], tanto na comparação entre os vários métodos usados no estudo da detecção de peões, como em estudos comparativos com outros trabalhos nesta área científica [12] [13], [14] [15] [16] [17]. Dos resultado obtidos, verificou-se que o algoritmo de fusão treinável contribuiu para um melhoramento significativo nos resultados da detecção em comparação com os obtidos sem fusão de classificadores e num aumento da robustez (na troca de esquema de fusão) em relação aos algoritmos de fusão não treináveis. Também se efectuaram testes utilizando uma janela deslizante em imagens reais. Para isso utilizou-se a combinação de HOG e COV para extractor de características, enquanto que na classificação utilizaram-se os dois seguintes esquemas: 1) o primeiro utiliza apenas FLDA devido à sua elevada precisão verificada sobre o dataset Daimler Pedestrian Classification Benchmark; 2) o segundo tira partido das qualidades do primeiro esquema e utiliza também outros classificadores FLDA em conjunto com Redes de Kohonen que têm a característica interessante de conseguir separar a informação em clusters, utilizando para isso, um esquema de aprendizagem não supervisionado. Neste estudo utilizou-se o dataset Daimler Pedestrian Classification Benchmark para treino e dois datasets da Caviar [18] para teste.

Adicionalmente à detecção de peões, também foi investigada a detecção de veículos, utilizando a camada oculta de uma Rede Neuronal Artificial como extractor de características e GDX,GDX-MCI, SVM com kernel RBF e FLDA como classificadores. Palavras-chave: Reconhecimento de padrões, Redes Neuronais Artificiais, extractores de características, detecção de peões, detecção de veículos, fusão de classificadores.

Abstract This thesis aims to contribute in the area of pattern recognition for object detection with particular attention on pedestrian s detection. It describes research results on feature extractors (HOG (Histogram of Gradients) [1], COV (covariances) [2] [3] [4] and their combination HOG-COV), classifiers (GDX (Gradient descent with momentum and adaptive learning rate back-propagation) [5], GDX- MCI (Interclass Minimization of Interference) [6], SVM (Support Vector Machines) with RBF kernel [7] and FLDA (Fisher Linear Discriminant Analysis) [8]), and classifier fusion methods (trainable fusion [9], and fusion rules described in [10]: Mean, MAX, MIN and a fusion rule inspired in the Bayes theorem). The Daimler Pedestrian Classification Benchmark dataset [11] was used, not only to make comparison studies regarding the several pedestrian detection methods addressed in this thesis, but also to make comparison analysis with other works [12] [13], [14] [15] [16] [17]. From the obtained results, we can conclude that the trainable fusion algorithm contributed to a significant improvement in detection performance in comparison with the results obtained with classifier fusion, and an increase on robustness (in the exchange of scheme) relatively to the non-trainable fusion algorithms. Tests on entire images have also been carried out. For this, as feature extractor a combination of HOG and COV descriptors was selected, while two sort of classifier schemes were used: 1) the first one uses a single FLDA classifier given its high rate of success in the tests carried out previously; 2) the second scheme takes advantage of the qualities of the first one and also uses other FLDA classifiers in conjunction with Kohonen networks [5] have the interesting property of separating information in clusters using a unsupervised learning scheme. In this study we used the Daimler Pedestrian Classification Benchmark dataset for training and two datasets of Caviar for testing.

In addition to the detection of pedestrians, other studies were carried out on vehicle detection, using the hidden layer of a Neural Network as feature extractor and GDX, GDX-MCI, SVM with RBF kernel and FLDA as classifiers. Keywords: Pattern recognition, Neural Networks, features extractors, pedestrian recognition, vehicles recognition, fusion algorithms.

Conteúdo 1 Introdução 1 1.1 Motivação e Contexto.......................... 1 1.2 Objectivos................................. 2 1.3 Trabalho realizado e contribuições chave................ 2 1.4 Trabalhos em detecção de peões que utilizam o dataset DPCB.... 3 2 Rede Neuronal Artificial 6 2.1 O Neurónio Artificial........................... 7 2.2 Funções de Activação/Transferência................... 8 2.3 Conceitos Gerais............................. 9 2.4 Aprendizagem Supervisionada...................... 10 2.4.1 RNA treinada por GDX..................... 11 2.5 Aprendizagem Não Supervisionada................... 12 2.5.1 Rede de Kohonen......................... 12 3 Extractores de Características 14 3.1 Camada Oculta de uma Rede Neuronal................. 14 3.2 Histograma dos Gradientes........................ 15 3.3 Covariâncias................................ 19 3.4 HOG-COV................................. 22 4 Classificadores 23 4.1 RNA treinada por GDX-MCI...................... 23 4.2 FLDA................................... 25 4.3 SVM.................................... 26 i

5 Fusão de Classificadores 27 5.1 Métodos de Fusão não treináveis..................... 27 5.2 Fusão Treinável.............................. 28 6 Datasets 30 7 Resultados Experimentais 32 7.1 Veículos.................................. 32 7.2 Peões.................................... 33 7.2.1 Testes utilizando classificadores sem algoritmo de fusão.... 34 7.2.2 Testes utilizando fusão de classificadores............ 36 7.2.3 Testes utilizando redes de Kohonen............... 42 7.2.4 Resultados de outros trabalhos, utilizando o mesmo Dataset. 45 8 Testes em imagens inteiras 48 8.1 Utilização de FLDA para fazer a detecção............... 48 8.2 Utilização de Redes de Kohonen e FLDA para fazer a detecção.... 50 9 Conclusão e Trabalhos futuros 53 9.1 Conclusão................................. 53 9.2 Trabalhos Futuros............................. 54 Bibliografia 57 Artigo 58 ii

Lista de Figuras 1.1 Classificador não utilizando fusão..................... 3 1.2 Adaboost.................................. 3 1.3 Fusão de Classificadores.......................... 3 2.1 Neurónio biológico [19]........................... 6 2.2 Neurónio artificial............................. 7 2.3 Funções de Activação........................... 8 2.4 Exemplo de uma curva ROC....................... 10 2.5 Exemplo das duas arquitecturas de Redes de Kohonan......... 13 3.1 Médias, Minimos e Máximos das Características do Histograma de Gradientes do dataset DPCB. A azul,são os exemplos negativos e a vermelho os positivos. E as médias são representadas por um ponto. As linhas interligam as médias...................... 16 3.2 Exemplo das células utilizadas para calcular o Histograma de Gradientes num peão............................... 17 3.3 Histogramas de Gradientes das diversas células da Figura 3.2..... 17 3.4 Exemplo das células utilizadas para calcular o Histograma de Gradientes de uma imagem sem peão...................... 18 3.5 Histogramas de Gradientes das diversas células da Figura 3.4..... 18 3.6 Médias, Minimos e Máximos das Características de Covariância do dataset DPCB. O azul representa as imagens negativas e o vermelho as positivas. O simbolo representa a média das imagens negativas e + das positivas.............................. 20 3.7 Exemplo de uma imagem de um peão.................. 21 3.8 Covariâncias de uma imagem de um peão................ 21 iii

3.9 Exemplo de uma imagem sem peão.................... 22 3.10 Covariâncias de uma imagem sem peão.................. 22 6.1 Exemplos do dataset DPCB........................ 31 6.2 Exemplos do dataset de veículos utilizado................ 31 6.3 Exemplos de imagens do dataset da Caviar.............. 31 7.1 ROC dos classificadores utilizando a camada oculta da rede neuronal como extractor de caracteristicas..................... 33 7.2 Curvas ROC dos diversos classificadores, utilizando 3 extractores de características diferentes......................... 35 7.3 Esquema 1 de fusão............................ 37 7.4 Curvas ROC dos três Esquemas de Fusão considerados........ 37 7.5 Esquema 2 de fusão............................ 38 7.6 Esquema 3 de fusão............................ 39 7.7 Curvas ROC dos melhores resultados................... 40 7.8 Curvas ROC dos 3 Esquemas de Fusão, utilizando regras de fusão não treináveis............................... 41 7.9 Esquema 1 utilizando a rede de Kohonen................. 44 7.10 Esquema 2 utilizando a rede de Kohonen................. 45 8.1 Bons resultados utilizando classificação em imagem inteira...... 49 8.2 Falsos positivos em classificação numa imagem inteira......... 50 8.3 Não detecção de positivo em classificação numa imagem inteira.... 50 8.4 Bons resultados utilizando classificação em imagem inteira...... 51 8.5 Falsos positivos em classificação numa imagem inteira......... 51 8.6 Não detecção de positivo em classificação numa imagem inteira.... 52 8.7 Problemas na detecção de imagens inteiras................ 52 iv

Lista de Tabelas 1.1 Adaboost.................................. 4 1.2 Classificador sem Fusão.......................... 5 1.3 Fusão de classificadores.......................... 5 4.1 SVM Kernels................................ 26 7.1 Performance dos classificadores não utilizando extractor de características..................................... 33 7.2 Performance dos classificadores utilizando a camada oculta da Rede Neuronal como extractor de características................ 33 7.3 Parâmetros de NN............................. 34 7.4 Parâmetros de SVM............................ 34 7.5 Resultado dos Classificadores utilizando HOG.............. 34 7.6 Resultado dos Classificadores utilizando COV.............. 36 7.7 Resultado dos Classificadores utilizando HOG e COV.......... 36 7.8 Desempenho da Fusão Treinável utilizando o Esquema 1........ 38 7.9 Desempenho da Fusão Treinável utilizando o Esquema 2........ 39 7.10 Desempenho da Fusão Treinável utilizando o Esquema 3........ 40 7.11 Esquema 1 com regras de fusão não treináveis.............. 40 7.12 Esquema 2 com regras de fusão não treináveis.............. 42 7.13 Esquema 3 com regras de fusão não treináveis.............. 42 7.14 Parâmetros utilizados na Rede de Kohonen............... 43 7.15 Testes utilizando o algoritmo de treino 2................. 45 7.16 Testes utilizando o algoritmo de treino 3................. 45 7.17 An Experimental Study on Pedestrian Classification [12]........ 46 7.18 Ensemble of Multiple Pedestrian Representations [13]......... 46 v

7.19 Pedestrian Detection using KPCA and FLD Algorithms [14]..... 46 7.20 An Experimental Evaluation of Local Features for Pedestrian Classification [15]................................ 47 7.21 Approximate RBF Kernel SVM and Its Applications in Pedestrian Classification [16]............................. 47 7.22 Feature Mining for Image Classification [17].............. 47 vi

Glossário ANN Artificial Neural Network AUC Area Under Curve COV Covariance Desempenho Taxa de acerto DPCB Daimler Pedestrian Classification Benchmark FLDA Fisher s Linear Discriminant Analysis FP False Positive Rate GDX Gradient descent with momentum and adaptive learning rate back-propagation HOG Histogram of Oriented Gradients HW Haar Wavelet ITS Intelligent Transportation Systems K-NN K-Nearest Neighbor KPCA Kernel Principal Component Analysis LBP Invariant Local Binary Patterns LDA Linear Discriminant Analysis LEM Laplacian EigenMaps LRF Local Receptive Fields MCI Minimization of Inter-Class Interference vii

MLP Multilayer Perceptron MSE Mean Squared Error NN Neural Network RBF Radial Basis Function RNA Rede Neuronal Artificial ROC Receiver Operating Characteristic SIFT Scale-Invariant Feature Transform SVM Support Vector Machine TP True Positive Rate viii

Capítulo 1 Introdução 1.1 Motivação e Contexto A detecção é, de um modo geral, um problema de difícil resolução. E quando falamos na detecção de peões em particular maior é a dificuldade, devido às diferentes poses que resultam em grandes variações de aparência. A detecção de peões pode ter várias aplicações, como por exemplo, seguir os movimentos de uma pessoa para aplicações de vigilância e segurança. Nesse caso, a utilidade da detecção é a de possibilitar um posterior seguimento. Outro importante contributo dessa detecção é a possibilidade da sua implementação num automóvel, para assim poder avisar o condutor do perigo de colisão com um peão, evitando-se potenciais atropelamentos. Segundo [20] o número de atropelamentos em 2008 foi em média de catorze por dia, só em Portugal, o que justifica esta aplicação. No futuro, com o desenvolvimento de novos algoritmos de detecção, que possibilitem uma certeza na detecção na ordem dos cem por cento, pode-se pensar num automatismo que imobilize a viatura, ou que contorne o peão, no caso de não a conseguir imobilizar, sem intervenção humana. Os motivos acima descritos dão força à necessidade de investigação de novos algoritmos para a detecção de peões. O fluxo de carros nas cidades é cada vez mais um problema. Diversos factores colaboram para isso, entre eles o crescimento do número de carros, a falta de planeamento e manutenção das vias de tráfego e semáforos, sem adaptabilidade às necessidades variáveis do dia-a-dia. Devido aos motivos acima referidos existe a 1

CAPÍTULO 1. INTRODUÇÃO 2 necessidade de outra detecção, a de veículos. 1.2 Objectivos Os objectivos traçados para a tese foram os seguintes:: Fazer um estudo comparativo entre diversos classificadores utilizando diferentes extractores de características em diferentes datasets. Elaborar uma fusão entre classificadores de modo a melhorar o desempenho na classificação. Estudar o problema da detecção de peões, em imagens inteiras. 1.3 Trabalho realizado e contribuições chave As principais contribuições deste trabalho são as seguintes: implementação e aperfeiçoamento de código em M atlab para utilização de quatro classificadores (GDX (Gradient descent with momentum and adaptive learning rate back-propagation), GDX M CI (Minimization of Inter-Class Interference), SV M (Support Vector Machine) com kernel RBF (Radial Basis Function) e F LDA (Fisher s Linear Discriminant Analysis)) em datasets para detecção de peões e veículos; comparação dos diversos classificadores num dataset de veículos; e utilização de um extractor de características baseado na camada oculta da Rede Neuronal Artificial (RNA) nos classificadores F LDA e SV M com kernel RBF. Foi feita também a comparação exaustiva dos quatro classificadores utilizando dois tipos de extractores de características, HOG (Histogram of Oriented Gradients) e COV (Covariance), tanto isoladas como em conjunto (concatenação das duas) para um dataset de peões de grandes dimensões. Foi ainda realizado o desenvolvimento e implementação de um novo algoritmo de fusão baseado na ideia do Co-orientador Oswaldo Ludwig Junior, que permite um treino na parte da fusão, e comparação dos resultados com outros métodos de fusão não treináveis e com os resultados sem fusão de classificadores. Para além dos testes anteriores, também foram realizados testes utilizando redes de Kohonen com o dataset de peões. Para finalizar os testes, utilizaram-se os

CAPÍTULO 1. INTRODUÇÃO 3 Extractor Imagem De Classificador Peão Caracteristicas Não peão Figura 1.1: Classificador não utilizando fusão. cascata Extractor Imagem De Classificador Classificador Classificador Peão Caracteristicas Não peão Figura 1.2: Adaboost. classificadores parametrizados por treino sobre o dataset Daimler Pedestrian Classification Benchmark (DPCB) na detecção sobre imagens reais de outro dataset, verificação de resultados e possíveis problemas. Do trabalho desenvolvido, utilizando o método de fusão treinável proposto neste trabalho, e através da sua comparação com outros métodos de fusão não treináveis e com classificadores sem fusão associada, resultou o artigo Trainable Classifier- Fusion Schemes: an Application to Pedestrian Detection [9]. 1.4 Trabalhos em detecção de peões que utilizam o dataset DPCB Nesta secção são referidas abordagens ao problema da detecção de peões em imagens recortadas, dando ênfase aos trabalhos realizados com o dataset DPCB. As soluções são normalmente apresentadas numa de três configurações: classificador Extractor De Caracteristicas1 Classificador1 Peão. Imagem Extractor De Caracteristicas2 Classificador2 Classificador Da Fusão.. Extractor De Caracteristicas n. Classificador n Não peão Figura 1.3: Fusão de Classificadores.

CAPÍTULO 1. INTRODUÇÃO 4 Tabela 1.1: Adaboost. Referência Extractor Q. Zhu [23] HOG P. Geismann [22] HW sem fusão (Figura 1.1), Adaboost (Figura 1.2) [21] e fusão de classificadores (Figura 1.3). Na Tabela 1.1, estão duas referências à utilização de Adaboost. No segundo caso [22] a parte do Adaboost serve para detectar as regiões de interesse e nessas regiões é aplicado um extractor de características HOG e sobre estas um classificador SV M Linear. Na Tabela 1.2, lista-se um conjunto de trabalhos em detecção de peões em que se usam abordagens constituídas por um único classificador. Finalmente, em [13] propõe-se uma abordagem à detecção de peões em que se faz uso de fusão de classificadores (ver Tabela 1.3). Todos os trabalhos referenciados anteriormente utilizaram o dataset de peões DPCB, o que torna fácil a comparação com os resultados obtidos nesta tese. Essa comparação irá ser feita posteriormente, na secção 7.2 relativa à análise de resultados.

CAPÍTULO 1. INTRODUÇÃO 5 Tabela 1.2: Classificador sem Fusão. Referência Extractor Classificador P. Geismann [22] HOG SV M LINEAR S. Munder [12] LRF SV M P olinomial LRF K NN LRF SV M RBF LRF AN N HW SV M P olinomial HW K NN HW SV M RBF HW ANN Y. Hong Liang [14] KP CA F LDA HW SV M P olinomial S. Paisitkriangkrai [15] HOG SV M P olinomial HOG SV M LINEAR COV SV M P olinomial COV SV M RBF LRF SV M P olinomial H. Cao [16] HOG SV M LINEAR HOG SV M RBF HOG SV M AT 2 RBF HOG SV M AU2 RBF HOG SV M AP 2 RBF P. Dollar [17] HOG SV M RBF L. Nanni [13] LRF SV M RBF Tabela 1.3: Fusão de classificadores. Referência Extractor Classificador Fusão L. Nanni [13] LEM SV M RBF Sum rule LBP SV M RBF

Capítulo 2 Rede Neuronal Artificial Neste capítulo faz-se uma breve introdução ao conceito de RNA [5]. As Redes Neuronais Artificiais são mais facilmente entendidas por analogia com a biologia. O cérebro humano consiste em cerca de 10 biliões de neurónios, num número de sinapses na ordem dos 60.000 biliões que interligam os neurónios. É sabido que o cérebro humano tem uma grande capacidade de processamento. Um neurónio isolado é, de certa forma, equivalente a uma porta lógica de silício num circuito digital, embora relativamente mais lento. Todavia, o seu impressionante número serve como compensação. Assim, o cérebro trabalha como um computador extremamente complexo, não linear e capaz de executar funções em paralelo. Figura 2.1: Neurónio biológico [19]. 6

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 7 Figura 2.2: Neurónio artificial. 2.1 O Neurónio Artificial No cérebro humano um processo começa quando são recebidos estímulos do meio envolvente. Os receptores (presentes nos orgãos sensoriais) transformam a informação recebida em impulsos eléctricos e transmitem-nos para a RNA (sinapses e neurónios). Após uma avaliação, a RNA toma uma decisão e envia-a para os emissores (representados pelos músculos) através de impulsos eléctricos. Tanto os neurónios artificiais como os biológicos são unidades elementares de processamento de informação. Por isso são blocos fundamentais nas RNA, tal como no nosso cérebro. Nas figuras 2.1 e 2.2 podemos ver as configurações dos Neurónio Biológico e Artificial, respectivamente. Na configuração artificial, podemos verificar que as sinapses ω i transferem o sinal (estímulo) x i para o neurónio. ω i pode ser interpretado como um peso, representando a importância dessa entrada específica x i. Já na biologia também temos uma configuração semelhante, o terminal axônico comporta-se como a camada de saída, as dendrites comportam-se como uma camada de entrada, e as sinapses têm a mesma função, tanto no biológico como no artificial. Dentro do neurónio é efectuada a soma dos factores ω ki x i adicionada de uma constante b k (valor do bias referente ao neurónio k). O resultado é é condicionado por uma função de activação, introduzindo uma componente de não linearidade e que normalmente limita a saída do neurónio ao intervalo [0, 1] ou [ 1, 1]. É de notar que as sinapses e o bias são parâmetros escalares ajustáveis. Nas aplicações com RNA é objectivo ajustar eses parâmetros de modo a que a rede responda bem a diferentes padrões na entrada, fazendo-se o ajuste na fase de treino da rede de modo a conseguir o melhor resultado possível. As equações 2.1 e 2.2 representam a entrada

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 8 Figura 2.3: Funções de Activação. da função de activação para um dado neurónio k e a própria função de activação, respectivamente, e descrevem em termos matemáticos o princípio de funcionamento do Neurónio Artificial. n z k = ω ki x i + b k (2.1) i=1 y k = f(z k ) (2.2) 2.2 Funções de Activação/Transferência As funções de activação mais comuns são a função escalão (2.3), a linear piecewise (função linear definida por troços) (2.4) e a sigmóide (2.5), representadas na Figura 2.3. Em (2.5) a variável a permite a manipulação da inclinação da curva. 1, x 0 f(x) = 0, x < 0 (2.3)

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 9 f(x) = 1, x 1 2 x, 1 2 < x < 1 2 0, x 1 2 (2.4) f(x) = 1 1 + e a(x) (2.5) 2.3 Conceitos Gerais Antes de proceder a algumas explicações mais concretas acerca de RNA, existem alguns termos que necessitam de alguma atenção. A curva ROC (Receiver Operating Characteristic), ver exemplo na Figura 2.4, permite verificar a relação de acerto nas imagens positivas (imagens com peão no caso da detecção de peões), quando se aumenta a tolerância à possibilidade de detecção de falsos positivos. No eixo dos yy temos o acerto em imagens positivas, e no eixo xx representa-se os não acertos em imagens negativas (imagens sem peão no caso da detecção de peões). A AUC é a área sob a curva ROC, e um novo termo utilizado também neste trabalho AUC use, é a Área Sob a Curva ROC que está no intervalo [0, 0.05] no eixo dos falsos positivos, porque o ponto óptimo (ponto de maior taxa de acerto) da curva ROC que tenta minimizar os falsos positivos (com certa tolerância, até 5 por cento) ocorre dentro desse intervalo. Datasets de treino, validação e teste, são os conjuntos de exemplos utilizados para treinar e verificar a generalização do classificador em questão. O dataset de treino é utilizado para os classificadores ajustarem parâmetros, de modo a conseguirem ter a maior taxa de acerto possível, o de validação é utilizado por alguns classificadores para aumentar o indice de generalização durante o processo de treino, noutros é integrado no de treino. O dataset de teste serve para avaliar se o treino dá bons resultados, observando o nível de acerto num dataset nunca antes aplicado ao classificador. Existem três paradigmas fundamentais de aprendizagem: o supervisionado; o não supervisionado e o de reforço. Os paradigmas considerados neste trabalho foram apenas o supervisionado e o não supervisionado e são descritos de seguida.

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 10 Eixo dos yy Eixo dos xx Figura 2.4: Exemplo de uma curva ROC. 2.4 Aprendizagem Supervisionada A aprendizagem supervisionada procura prever resultados para exemplos conhecidos. É o tipo de aprendizagem normalmente utilizado para treinar Redes feedforward. Compara as previsões que obteve com o resultado correcto conhecido previamente, tentando assim aprender com os seus erros. O Erro é representado pela equação (2.6), onde T e Y são a saída correcta e a saída do processo, na iteração t, respectivamente. E é a soma do erro de predição para todos os exemplos de treino. Este processo de aprendizagem faz-se dando à camada de entrada a informação relativa aos exemplos. De seguida os exemplos são propagados à camada seguinte através das sinapses. As sinapses atribuem maior ou menor peso (ω 1, ω 2,..., ω n ) a cada característica de cada exemplo. Passada a camada oculta (ou várias), a informação relativa aos exemplos chega à camada de saída, a qual faz uma previsão do resultado desse exemplo. É através da quantidade de camadas ocultas que se classifica a Rede, no caso de ter apenas uma camada oculta, é chamada de Perceptron, se tiver mais de uma é denominada de Multilayer Perceptron. Num sistema de aprendizagem supervisionada, a previsão é comparada com o resultado correcto para determinado exemplo, e no caso de serem iguais, os pesos das sinapses não são alterados. Mas, quando são diferentes, o erro é enviado para o sistema, e os pesos

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 11 são ajustados adequadamente. Esta transmissão do erro para o sistema é chamada de back-propagation. O objectivo de um algoritmo de treino é o de minimizar E para um dataset de treino. Existem várias formas para o fazer, sendo a mais utilizada a GDX (Gradient descent with momentum and adaptive learning rate back-propagation). 2.4.1 RNA treinada por GDX E = 1 N (T i Y i ) 2 (2.6) 2 i=1 O GDX (Gradient descent with momentum and adaptive learning rate backpropagation) utiliza uma aprendizagem dita supervisionada e o ajuste das sinapses é feita através do algoritmo de treino back-propagation. A descrição do método é feita de seguida. Existem 3 fases distintas: Na primeira são escolhidos valores aleatórios para os parâmetros do modelo. Na segunda calcula-se o gradiente do erro (E). Na terceira são alterados os parâmetros do modelo de modo a ir na direcção de menor erro, ou seja no sentido oposto a (E). Repete-se o segundo e o terceiro passo até que o (E) fique próximo de zero. Se o MSE (Erro Médio Quadrático) decresce em direcção ao zero, então o coeficiente de aprendizagem (α) é aumentado por um factor η. Se o MSE aumenta mais do que um determinado limiar γ relativamente ao dado anteriormente, ou seja, não há melhoria, o coeficiente de aprendizagem decresce por um factor ϕ, e a alteração não é realizada. O modelo é composto pelas equações (2.7) onde yh representa a saída do neurónio e (2.8) em que ŷ é a saida do sistema. Os seus parâmetros são alterados através das equações (2.9) e (2.10) onde t é o número da iteração, k é neurónio correspondente e α é o coeficiente de aprendizagem.. yh = f(w 1 x + b 1 ) (2.7)

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 12 ŷ = W 2 yh + b 2 (2.8) W k (t + 1) = W k (t) α E(t) W k (2.9) b k (t + 1) = b k (t) α E(t) b k (2.10) 2.5 Aprendizagem Não Supervisionada As RNA que utilizam uma aprendizagem não supervisionada são mais efectivas para descrever informação do que para prevê-la [5]. A RNA não conhece a saída real como parte do processo de treino; de facto, não existe noção de saída neste tipo de sistema. A primeira rede não-supervisionada a ser proposta foi a de Kohonen. A principal aplicação desta topologia é na análise de agrupamentos (clusters), em que o objectivo é o de agrupar amostras semelhantes em classes (ou clusters). A maior vantagem é não precisar de informação prévia sobre as classes ou de quantas classes existem. 2.5.1 Rede de Kohonen A rede de Kohonen utiliza uma aprendizagem dita não supervisionada. A Rede pode ter duas arquitecturas, uma com forma de uma grelha, e outra com forma hexagonal, como se pode ver nas Figuras 2.5a e 2.5b respectivamente. O processo de aprendizagem desta rede é feito através dos seguintes passos: Inicialização dos pesos de cada neurónio de saída aleatoriamente Enquanto a alteração aos pesos não for insignificante, para cada exemplo: Encontrar o neurónio vencedor deste exemplo Achar todos os neurónios vizinhos do neurónio vencedor Actualizar os vectores das sinapses para todos esses neurónios Reduzir o número de vizinhos se for necessário

CAPÍTULO 2. REDE NEURONAL ARTIFICIAL 13 9 Posição dos Neurónios Posição dos Neurónios 8 7 7 6 6 5 Posição(2,i) 5 4 Posição(2,i) 4 3 3 2 2 1 1 0-2 0 2 4 6 8 Posição(1,i) (a) Exemplo da arquitectura em Grelha com uma Grelha de 8 por 10 neurónios. 0-1 0 1 2 3 4 5 6 7 8 Posição(1,i) (b) Exemplo da arquitectura Hexagonal considerando 8 x 10 neurónios. Figura 2.5: Exemplo das duas arquitecturas de Redes de Kohonan. O neurónio vencedor é simplesmente o que tem a menor distância ao vector de entrada do exemplo em questão. Os seus vizinhos são definidos como todos os neurónios com uma distância inferior a um determinado limiar, no espaço das características. Os pesos de cada neurónio i da vizinhança de um neurónio vencedor (incluindo o próprio neurónio vencedor) são actualizados, utilizando a equação (2.11), onde α representa o coeficiente de aprendizagem e w i o vector de pesos do neurónio i. Isto faz com que cada elemento da vizinhança se aproxime mais do padrão do exemplo da entrada x i. Este método iterativo converge, na solução, e o coeficiente de aprendizagem e o tamanho da vizinhança vão diminuindo ao longo das iterações. w i (k + 1) = w i (k) + α (x i w i (k)) (2.11)

Capítulo 3 Extractores de Características Neste capítulo são apresentadas as três formas de extrair características das imagens utilizadas neste trabalho: camada oculta de uma RNA; Histograma de Gradientes; Covariâncias. 3.1 Camada Oculta de uma Rede Neuronal Uma das formas de extrair características de uma imagem é baseada no treino de uma Rede Neuronal e foi utilizada, tanto quanto sabemos, pela primeira vez no contexto IT S em [6]. Nesta extracção é utilizada uma Rede Neuronal, com apenas uma camada oculta, descrita pelas equações (3.1) e (3.2). A rede é treinada através do método de gradiente descendente já explicado anteriormente, e tem como entrada o valor dos pixeis em graylevel. Após o treino, os pesos da camada oculta são utilizados como características, correspondendo cada neurónio a uma característica. A grande vantagem desta extracção de características é o facto de reduzir em muito o número de caracteristicas. Considerado, por exemplo 15 neuroniós na camada oculta da rede neuronal, fica-se com 15 características por cada exemplo, em vez das 1024, considerando os pixeis de uma figura em graylevel com tamanho 32 por 32 pixeis. yh = f(w 1 x + b 1 ) (3.1) 14

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 15 ŷ = W 2 yh + b 2 (3.2) 3.2 Histograma dos Gradientes O Histograma dos Gradientes (HOG) pode ser considerado uma versão simplificada dos extractores de características SIF T [1], visto não serem invariantes à escala e apenas utilizarem uma orientação para o cálculo das células (área rectangular, sobre a qual se extraiem características; na figura 3.2 podemos observar as nove células consideradas para uma imagem). Alguns trabalhos anteriores utilizaram HOG como extractor de características e SV M como classificador ou adaboost [23] também como classificador [24]. Para compor o histograma de uma célula, cada pixel dessa célula contribui de acordo com o gradiente de norma 1 (H = H/(norm(H)+ɛ), onde H é o vector de características e ɛ é uma constante de baixo valor), para um histograma baseado na orientação. Nesta tese o histograma é calculado em células rectangulares, através do cálculo de gradientes sem sinal. As células sobrepõem-se em cinquenta por cento do seu tamanho (como se pode ver pela figura 3.2, onde estão as nove células de uma imagem), de forma à que cada célula contribui mais do que uma vez para o vector de características final. Para ter em conta as alterações de iluminação e contraste, a magnitude do gradiente é normalizada localmente, ou seja, é normalizada por cada célula. Os parâmetros de HOG foram adoptados após uma série de testes no dataset DPCB utilizando a composição HOG com M LP (Rede Neuronal com aprendizagem supervisionada, que utiliza duas ou mais camadas ocultas). A maior área sob a curva ROC, calculada num conjunto de validação, foi encontrada utilizando nove células rectangulares e nove bins por célula. Para cada célula, apenas se considera a orientação do gradiente e não o, reduzindo a amplitude angular para 180 graus. Utilizam-se nove bins, com limites de 20 em 20 graus. Os bins de todas as células são depois concatenados, formando assim um vector de características de dimensão 81. Na figura 3.1 está representado o vector média de todos os exemplos negativos a azul, o vector média de todos os positivos a vermelho, e pode também ver-se o máximo e o minimo de cada um. Pela figura podemos constatar que existem diferenças entre peões e não peões, principalmente relativamente às médias, mas devido

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 16 1 0.9 Valores das caracteristicas de Histograma de Gradientes 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 Vector de Características do Histograma de Gradientes Figura 3.1: Médias, Minimos e Máximos das Características do Histograma de Gradientes do dataset DPCB. A azul,são os exemplos negativos e a vermelho os positivos. E as médias são representadas por um ponto. As linhas interligam as médias. à variância elevada que se verifica pode-se concluir que estamos perante um problema de difícil resolução, ou seja, através apenas deste extractor de características não é possível ter uma separação óptima entre as classes peão e não-peão. A título de exemplo, na Figura 3.3 estão representados os Histogramas de Gradientes das várias células do peão que está na Figura 3.2 e na Figura 3.5 estão representados os histogramas de gradientes da Figura 3.4 (que não têm nenhum peão). Como se pode ver pelas Figuras 3.3 e 3.5 existem algumas diferenças nos histogramas de gradientes do peão e do não-peão. É através dessas diferenças que o classificador tenta separar as duas classes.

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 17 Figura 3.2: Exemplo das células utilizadas para calcular o Histograma de Gradientes num peão. Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Figura 3.3: Histogramas de Gradientes das diversas células da Figura 3.2.

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 18 Figura 3.4: Exemplo das células utilizadas para calcular o Histograma de Gradientes de uma imagem sem peão. Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Resultado Normalizado 1 0.5 0 1 2 3 4 5 6 7 8 9 Bins Figura 3.5: Histogramas de Gradientes das diversas células da Figura 3.4.

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 19 3.3 Covariâncias Matrizes de covariância têm sido usadas em vários trabalhos como caracteristicas tal como em [2], [3], [4]. Para cada pixel, são extraídas algumas características consideradas relevantes. Considerando I uma imagem de dimensões W H e F a matriz de características de tamanho W H d extraídas de I. Para cada pixel p um vector de características z p de tamanho d é calculado como: z p = [ x, y, I x, I y, Ix 2 + Iy, 2 I xx, I yy, arctan I ] y I x (3.3) onde x e y são a localização do pixel, I x -I xx são as derivadas de intensidade, Ix 2 + Iy 2 é a magnitude do gradiente e o último termo é a sua orientação. Neste trabalho, são consideradas 4 sub-regiões da área de uma imagem recortada que se pretende classificar. Cada sub-região sobrepõe metade da sua área, ou seja, cada região contribui mais do que uma vez para o vector de características final (como se pode ver na figura 3.7). Para um região rectangular R i, é calculada a matriz de covariâncias C Ri : C Ri = 1 S 1 S (z p µ) (z p µ) T (3.4) p=1 onde µ é a média estatística do vector z p dos S pixeis da região R i. É de reparar que sendo C Ri uma matriz simétrica, apenas a parte triangular superior da matriz necessita de ser guardada. Então a matriz de covariâncias de uma sub-região tem dimensão 8 8, de onde se extraiem 36 características. Neste trabalho também se utiliza a matriz de covariâncias da região R inteira, por isso é gerado um vector de características com 180 elementos (4 sub-regiões R i totalizam 144 características, mais 36 da região R). Na figura 3.6 pode-se observar a azul o mínimo, máximo e média de cada característica, considerando o conjunto de todas as imagens negativas do dataset da DPCB. A vermelho estão os mesmos dados, para as amostras positivas. O simbolo para as primeiras e + para as segundas mostram a média dessas caracteristicas. Como se pode verificar pela figura, a classificação é relativamente difícil, visto que as características em questão apesar de apresentarem valores de média diferentes (muito pouco em diferentes alguns casos) no caso dos

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 20 Valores das Caracteristicas de Covariância Caracteristicas de covariância Figura 3.6: Médias, Minimos e Máximos das Características de Covariância do dataset DPCB. O azul representa as imagens negativas e o vermelho as positivas. O simbolo representa a média das imagens negativas e + das positivas. positivos e negativos, têm variâncias muito elevadas, o que faz com que os positivos se sobreponham aos negativos. A título de exemplo, na figura 3.8 estão representadas as matrizes de covariância correspondentes às imagens da figura 3.7. Da mesma forma na figura 3.10 estão representadas as matrizes de covariância da imagem 3.9 (que não tem nenhum peão). Como se pode ver pelas figuras 3.8 e 3.10, existem algumas diferenças nas covariâncias do peão e do não peão, que ajudam o classificador a distinguir as classes.

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 21 Figura 3.7: Exemplo de uma imagem de um peão. 2 4 6 8 0 2 4 6 8 1000 500 2 4000 4 6 2000 8 0 2 4 6 8 2 4000 4 2000 6 8 0 2 4 6 8 2 4000 4 2000 6 8 0 2 4 6 8 2 4 6 8 2 4 6 8 1000 500 0 Figura 3.8: Covariâncias de uma imagem de um peão.

CAPÍTULO 3. EXTRACTORES DE CARACTERÍSTICAS 22 Figura 3.9: Exemplo de uma imagem sem peão. 2 200 4 100 6 8 0 2 4 6 8 600 2 400 4 6 200 8 0 2 4 6 8 600 2 400 4 6 200 8 0 2 4 6 8 600 2 4 400 6 200 8 0 2 4 6 8 2 4 6 8 2 4 6 8 300 200 100 0 3.4 HOG-COV Figura 3.10: Covariâncias de uma imagem sem peão. Combinando as n características do HOG e as m de COV pode-se obter um descritor com um total de n + m características denominado HOG-COV. Esta combinação irá ser utilizada posteriormente no capítulo de Resultados Experimentais.

Capítulo 4 Classificadores Neste capítulo são ilustrados os diversos classificadores utilizados neste trabalho. 4.1 RNA treinada por GDX-MCI O classificador Minimization of InterClass Interference (M CI) foi apresentado pela primeira vez em [6]. É um modelo de Rede Neuronal com duas camadas ocultas, uma camada de entrada e outra de saída (baseada na distância de Mahalanobis [25]) que tem como modelo as equações seguintes: yhf = ϕ (W 1 x + b 1 ) yhs = ϕ (W 2 yhf + b 2 ) (4.1) ŷ = d 2 d 1 d 2 + d 1 (4.2) onde yhf é o vector de saída da primeira camada oculta, yhs é o vector de saída da segunda camada oculta W k (k=1, 2) são os pesos da camada oculta k, b k é o vector de bias da camada oculta k, x é o vector da camada de entrada, ϕ ( ) é a função sigmoidal, d m = (yhs µ m ) T C 1 (yhs µ m ) é a distância de Mahalanobis entre yhs e µ m e C é a matriz de covariâncias de yhs. µ m = 1 N m Nm i=1 yhs m (i) (4.3) µ m (4.3) é o protótipo (média da saída) da classe m, N m é o número de exemplos 23

CAPÍTULO 4. CLASSIFICADORES 24 do dataset de treino que pertence à classe m, e yhs m (i) é a saída da segunda camada oculta para uma entrada que pertence à classe m, para yhs = µ m. A primeira camada oculta é treinada através da utilização do método de gradiente descendente, com um algoritmo de treino baseado em backpropagation, e desta são extraídas as características que servem de entrada à segunda camada oculta. Para a segunda camada oculta, pretende-se o maximizar a distância entre as classes (4.4). max J W 2,b 2 (4.4) onde W 2 e b 2 são os parâmetros da segunda camada oculta, sendo J definido por: em que: δm 2 = J = (µ 1 µ 2 ) T (µ 1 µ 2 ) δ 2 1 δ 2 2 (4.5) N m i=1 (yh m (i) µ m ) 2 (4.6) é a divergência da classe m no espaço das características e yh m é o vector de saída desta camada para entradas que pertencem à classe m. O MCI pretende encontrar o hiperplano maximiza a distância as classes. É utilizada uma solução iterativa, baseada no método do gradiente descendente, tal que: J W Ln e J b n (4.7) onde W Ln é a n-ésima linha de W 2, b n é o n-ésimo elemento do vector b 2. Os pesos da segunda camada oculta são actualizados recorrendo as seguintes equações: W Ln (k + 1) = W Ln (k) + α J W Ln (4.8) b n (k + 1) = b n (k) + α J b n (4.9) onde k é o número da iteração e α é o coeficiente de aprendizagem.

CAPÍTULO 4. CLASSIFICADORES 25 4.2 FLDA A análise descriminante linear de Fisher(F LDA) [8] descreve um descriminante um pouco diferente do LDA (Linear Discriminant Analysis), visto não supor classes normalmente distribuídas nem classes com matrizes de covariância iguais. Suponhamos 2 classes de observação com médias dadas por: µ y=0, µ y=1 e covariâncias dadas por: y=0, y=1. Sendo assim, a combinação linear de características w x tem como média w µ y=i e variância w T Σ y=i w para i = 0,1. Fisher definiu a separação entre 2 distribuições (J ( w)) como sendo a razão da covariância entre as classes e a variância dentro de cada classe: J ( w) = σ2 between σ 2 within J ( w) = ( w µ y=1 w µ y=0 ) 2 w T Σ y=1 w+ w T Σ y=0 w J ( w) = ( w ( µ y=1 µ y=0 )) 2 w T (Σ y=0 +Σ y=1 ) w (4.10) Para optimizar a separação, calculamos a seguinte expressão: max J ( w) w (4.11) Considerando classes normalmente distribuídas e com matrizes de covariância iguais, o valor de w que optimiza J ( w) é: w = (Σ y=0 + Σ y=1 ) 1 ( µ y=1 µ y=0 ) (4.12) onde w é o vector normal ao hyperplano desciminante. Para se conseguir encontrar o plano que melhor separa os clusters, deve-se resolver (4.13) para alcançar o threshold b. w T µ 1 + b = (w T µ 2 + b) (4.13) Resolvendo a equação anterior, chega-se ao threshold b: b = wt µ 1 + w T µ 2 2 (4.14)

CAPÍTULO 4. CLASSIFICADORES 26 Tabela 4.1: SVM Kernels. Kernel name Kernel function Linear H ( x, x ) = x T x Polynomial H ( x, x ) = (x T x + 1) d RBF H ( x, x ) = e ( γ x x 2 ) 4.3 SVM Support Vector Machines (SV M) é baseado na teoria estatística da aprendizagem, desenvolvida por Vapnik [7]. Esta teoria fornece uma série de princípios para a obtenção de classificadores com boa generalização, definida como a sua capacidade para prever correctamente a classe de exemplos que não esteja no conjunto de treino, nem num possível conjunto de validação. Na tabela 4.1 estão representados os 3 kernels usuais do SVM. Em relação ao kernel polinomial, d é um número natural que representa o grau do polinómio. Quanto ao kernel RBF, a alteração do parâmetro γ permite fazer a alteração das fronteiras que delimitam as classes. Devido à grande sensibilidade do parâmetro de margem C (o treino no SVM tem grau O(m 3 ) de complexidade em relação ao tempo e grau O(m 2 ) em relação ao espaço, onde m é a dimensão do dataset de treino). Neste trabalho apenas se utiliza o kernel Radial Basis Function (RBF ), por ser o que tem tempos de treino mais reduzidos, dada a grande dimensão do conjunto.

Capítulo 5 Fusão de Classificadores Neste capítulo são apresentados algoritmos de fusão treináveis e não treináveis. 5.1 Métodos de Fusão não treináveis Considerando vários classificadores com diferentes características, a ideia de combinar resultados, e poder juntar vários de modo a maximizar o desempenho sem aumentar muito o custo computacional parece muito atractiva [10]. Por isso, surgiram métodos de fusão não treináveis, tais como: - MAX rule yf = R max i=1 P (y i x) (5.1) - MIN rule - Median rule yf = R min i=1 P (y i x) (5.2) yf = 1 R P (y i x) (5.3) R i=1 onde R é o número de classificadores independentes, y i, i [1, R] é a saída de cada classificador, P (y i x) são as probabilidades condicionadas de cada classificador i dado o vector de características x e finalmente yf é a probabilidade de ser objecto, dada pela fusão. Foi ainda testada outra regra de fusão inspirada no terorema de bayes (5.4). 27

CAPÍTULO 5. FUSÃO DE CLASSIFICADORES 28 yf = P (C 1,..., C R qtrue) P (qtrue) P (C 1,..., C R ) (5.4) P (qtrue) é a probabilidade de se detectar o objecto, e C i é o classificador i. Nesta equação é considerada uma probabilidade a priori uniforme, ou seja P (qtrue) P (qfalse) 0.5 (a probabilidade de se encontrar um exemplo negativo ou positivo é a mesma), visto que a probabilidade a priori normalmente é difícil de calcular. 5.2 Fusão Treinável Actualmente, os algoritmos de fusão existentes funcionam tal e qual como um classificador normal, recebendo as saídas dos classificadores e decidindo a classe a que pertence. Neste trabalho foi aplicado um novo algoritmo de fusão que surgiu da ideia do Co-orientador Oswaldo Ludwig Junior. O algoritmo utiliza classificadores já conhecidos. Os diversos classificadores (GDX-MCI, SVM e FLDA) são treinados independentemente, e os likelihoods de cada um deles (probabilidade de ser objecto ou não) para o dataset de treino (formando o likelihood training dataset), são usadas em conjunto com as saídas reais do treino, para assim treinar o classificador da fusão. O Algoritmo 1 explica com mais detalhe como é efectuado o treino. Este algoritmo foi testado em três esquemas diferentes, estando representados nas figuras 7.3, 7.5 e 7.6.

CAPÍTULO 5. FUSÃO DE CLASSIFICADORES 29 Algorithm 1 Treino do Algoritmo de Fusão. Entrada: x treino, y treino : dataset de treino que contêm N t exemplos de treino x validacão, y validacão : dataset de validação (o conjunto de validação serve para ajustar os parâmetros de treino) que contêm N v exemplos de treino Φ: conjunto que contêm os N c classificadores treinados anteriormente sobre o dataset de treino x treino, y treino Saida: parâmetros treinados do algoritmo de fusão Θ 1: U treino matriz vazia; 2: U validacão matriz vazia; 3: for k=1:n c do 4: v k treino vector vazio; 5: for n=1:n t do 6: passar o n-ésimo exemplo de treino x n treino pelo classificador k (Φ k ) treinado anteriormente, para obter o n-ésimo likelihood L k treino,n; 7: v k treino [ v k treino L k treino,n] : concatenação dos likelihoods de cada exemplo de treino, de modo a criar um vector de likelihoods para cada classificador; 8: end for 9: v k validacão vector vazio; 10: for n=1:n v do 11: passar o n-ésimo exemplo de validação x n validacão pelo classificador k (Φ k ) treinado anteriormente, para obter o n-ésimo likelihood L k validacão,n; 12: v k validacão [ v k validacão L k validacão,n] : concatenação dos likelihoods de cada exemplo de validação, de modo a criar um vector de likelihoods para cada classificador; 13: end for 14: U treino [ U treino v k treino] : concatenação dos likelihoods de cada classificador de modo a criar uma matriz de likelihoods para o dataset de treino; 15: U validacão [ U validacão v k validacão] : concatenação dos likelihoods de cada classificador de modo a criar uma matriz de likelihoods para o dataset de validação; 16: end for 17: aplicar os conjuntos U treino, y treino, U validacão, e y validacão ao treino do algoritmo de fusão, obtendo assim os parâmetros Θ