Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada...

87
Distância Mahalanobis w Distância Ortogonal w -2 0 2 4 -2 0 2 4 Detecção de pedestres em imagens: Uma nova abordagem baseada em redução de dimensionalidade e regras de detecção de outliers Fábio Ivan Maia Roque dos Reis Dissertação para a obtenção de Grau de Mestre em Matemática e Aplicações Júri Presidente: Prof. António Manuel Pacheco Pires Orientador: Prof. Alexandre José Malheiro Bernardino Co-orientador: Prof. Maria da Conceição Esperança Amado Vogais: Prof. Ana Maria Nobre Vilhena Nunes Pires de Melo Parente Prof. Jorge dos Santos Salvador Marques Outubro de 2011

Transcript of Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada...

Page 1: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

DistânciaMahalanobis

w

DistânciaOrtogonal

w

-2

0

2

4

-2

0

2

4

Detecção de pedestres em imagens:Uma nova abordagem baseada em redução de dimensionalidade e

regras de detecção de outliers

Fábio Ivan Maia Roque dos Reis

Dissertação para a obtenção de Grau de Mestre em

Matemática e Aplicações

Júri

Presidente: Prof. António Manuel Pacheco PiresOrientador: Prof. Alexandre José Malheiro BernardinoCo-orientador: Prof. Maria da Conceição Esperança AmadoVogais: Prof. Ana Maria Nobre Vilhena Nunes Pires de Melo Parente

Prof. Jorge dos Santos Salvador Marques

Outubro de 2011

Page 2: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

ii

Page 3: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Dedico este trabalho a todos os que gostam de sonhar e atingir novas metas...

iii

Page 4: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

iv

Page 5: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Agradecimentos

Quero agradecer aos que me são próximos, pois sem eles não teria conseguido terminar a tempo.

Quero agradecer especialmente à Débora, por ter sido um grande suporte. Aos meus pais e, prin-

cipalmente ao meu irmão que muito me ouviu, sendo sobre ele que caía a minha falta de paciência!

Quero agradecer ao Chris, ao Artur e ao Dinis, pois sempre me deram força e questionavam o que

fazia e demonstravam interesse sobre o meu trabalho. Por fim, mas sem menos importância, aos meus

orientadores e ao Matteo que sem eles nada deste trabalho seria possível e atingível, a eles muito lhes

devo, principalmente por terem acreditado que era possível.

Agradeço a Deus por tudo...

v

Page 6: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

vi

Page 7: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Resumo

O problema de detecção de peões ou pedestres em imagens digitais é uma área de investigação re-

lativamente recente e de grande importância em sistemas de vigilância e segurança. Vários métodos

têm vindo a ser propostos usando modelação dos contornos do pedestre, de forma local ou global,

aliado a vários métodos de classificação. Neste trabalho é proposta uma nova abordagem à classifica-

ção utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às

componentes principais de vectores descritores de aparência de pessoas em imagens. Uma vez que,

na maior parte dos casos, a detecção de um pedestre em imagens é um acontecimento raro (de todas

as sub-janelas possíveis de uma imagem, apenas uma pequena fracção contém exemplos positivos),

esta pré-filtragem permite rejeitar de uma forma muito rápida uma grande quantidade de janelas de

análise negativas, de forma análoga aos primeiros estágios de classificadores em cascata, acelerando

os estágios posteriores de classificação. Face aos primeiros estágios de classificação frequentemente

utilizados neste tipo de problemas (por exemplo classificadores fracos em boosting), a metodologia pro-

posta tem a vantagem de só necessitar de exemplos positivos e utilizar rotinas numéricas de análise de

componentes principais muito eficientes e, portanto, ter tempos de treino muito reduzidos. Neste tra-

balho mostrar-se-á que a abordagem proposta usando descritores de imagem do tipo histogramas de

orientação de gradientes (HOG), tem desempenhos semelhantes ao estado-da-arte mas com tempos

de treino várias ordens de grandeza mais curtos.

Palavras-chave: análise de componentes principais, cascata de classificadores, detecção

de outliers, HOG, reconhecimento de pedestres.

vii

Page 8: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

viii

Page 9: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Abstract

The problem of pedestrian detection in digital photographs is a relatively recent investigation area and

it is of great importance to vigilance and security systems. Several classification methods have been

proposed using pedestrian edges, both locally and globally. In this work it is proposed a new approach

to the classification using a pre filtration of the data based on a outlier detection method applied over

the principal components calculated for the descriptor vectors of the pedestrians shape in digital photo-

graphs. Since a pedestrian detection in images is a rare event (of all the windows possibles of an image,

only a fraction of this are positive examples), applying the pre filtration it is possible to quickly reject an

high number of negative examples, as in the first stages of cascade structured classifiers, speeding the

proceedings stages of the classification. Although, compared to the usual first stages of classification

used in this type of problems (for example weak classifiers in boosting), the proposed methodology has

a quicker training time as it only uses positive examples and quick, and efficient, numerical routines for

the principal components analysis. In this work it will be shown that the proposed approach, using the

histogram of oriented gradients image descriptor, has similar performances to the state of the art but

with training times several times faster.

Keywords: cascade of classifiers, HOG, outlier detection, pedestrian detection, principal com-

ponents analysis.

ix

Page 10: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

x

Page 11: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Índice

Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

1 Introdução 1

2 Extracção de Características e Classificação 9

2.1 Extracção de Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Tons-de-cinza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.2 Equalização de histograma para imagens em escalas de cinza . . . . . . . . . . . 11

2.1.3 Filtro Gaussiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.4 Detecção de arestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.5 Histograma da orientação de gradientes . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.1 Adaboost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Redução de dimensionalidade e regras de detecção de outliers 27

3.1 Redução de dimensionalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2 Detecção de outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Resultados 37

4.1 Análise da base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.1 Metodologia - Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.2 Metodologia - Detecção e Classificação . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.3 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3 Resultados - Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.4 Resultados - Classificação e Detecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.5 Resultados - Tempo de processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.6 Método Escolhido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

xi

Page 12: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.6.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Conclusões 65

5.1 Conquistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

xii

Page 13: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Lista de Tabelas

1.1 Tabela descritiva dos pontos positivos e negativos das abordagens estudadas. . . . . . . 7

4.1 Sumário estatístico da base de dados INRIA person dataset. . . . . . . . . . . . . . . . . 38

4.2 Sumário estatístico dos pedestres na base de dados INRIA person dataset. . . . . . . . . 38

4.3 Descrição das dimensões dos conjuntos de treino†, validação† e teste† para a avaliação

da classificação de uma janela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.4 Descrição das dimensões dos conjuntos de treino‡, validação‡ e teste‡ para a avaliação

da detecção e classificação de janelas em imagens. . . . . . . . . . . . . . . . . . . . . . 40

4.5 Tabela com a nomenclatura utilizada na classificação. . . . . . . . . . . . . . . . . . . . . 41

4.6 Tempos médios de classificação de uma janela em cada método e descritor . . . . . . . 60

xiii

Page 14: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

xiv

Page 15: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Lista de Figuras

2.1 Ilustração da transformação para tons-de-cinza de uma imagem colorida. . . . . . . . . . 10

2.2 Ilustração do modelo aditivo RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Imagem com um histograma mal distribuído na gama de cinzentos. . . . . . . . . . . . . 12

2.4 Equalização do histograma de uma imagem com um histograma mal distribuído. . . . . . 12

2.5 Realce de ruído ao aplicar uma equalização de histograma. . . . . . . . . . . . . . . . . . 13

2.6 Imagem da Lena aplicada de diferentes filtros gaussianos. . . . . . . . . . . . . . . . . . 14

2.7 Imagem ilustrativa de um filtro gaussiano contínuo e o discreto equivalente. . . . . . . . . 15

2.8 Ilustração dos vários passos do processo de extracção de arestas Sobel a duas dimensões. 16

2.9 Divisão de uma imagem em células e blocos, no ambiente de HOG. . . . . . . . . . . . . 19

2.10 Figura ilustrando uma visualização dos histogramas por célula numa dada imagem. . . . 20

2.11 Pseudo-código do método de extracção de descritores de uma imagem. . . . . . . . . . . 20

2.12 Diagrama de um classificador em cascata. . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.13 Exemplo de um classificador fraco baseado em divisões ortogonais. . . . . . . . . . . . . 26

3.1 Ilustração do conceito de distância ortogonal e de Mahalanobis. . . . . . . . . . . . . . . 31

3.2 Ilustração dos métodos aplicados na fase de pre-processamento de uma dada imagem,

no cenário Gauss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3 Ilustração da imagem correspondente à média do conjunto MIT e o resultado de remover

esta média a uma nova imagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.4 Ilustração de nove componentes principais calculadas sobre o conjunto MIT. . . . . . . . 35

3.5 Ilustração da energia acumulada associada às várias componentes principais. . . . . . . 35

3.6 Ilustração da dispersão dos dados face a dois valores de k e os respectivos limiares de

decisão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1 Imagem que ilustra as propriedades dos exemplos positivos no conjunto de treino dos

dados INRIA person dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2 Gráficos de FPPJ e Sensibilidade vs. número de componentes no classificador proposto,

estudo de Classificação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.3 Ilustração do conjunto de validação† sobre as distância de Mahalanobis e ortogonal no

décimo nono cenário, no estudo de classificação. Para k = 1 e k = 85. . . . . . . . . . . . 46

xv

Page 16: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.4 Gráficos de ROC Sensibilidade vs. falsos positivos por janela face à variação dos valores

de p1 e p2, para k = 1 e k = 85 componentes principais, no método proposto neste trabalho. 47

4.5 Ilustração do conjunto de validação† sobre as distância de Mahalanobis e ortogonal no

décimo primeiro cenário, no estudo de classificação. Para k = 1 e k = 85. . . . . . . . . . 48

4.6 Histograma dos valores de sensibilidade atingidos nos dois métodos abordados, em cada

um dos cenários. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.7 Histograma dos valores de FPPJ atingidos nos dois métodos abordados, em cada um

dos cenários. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.8 Ilustração do conjunto de teste sobre as distância de Mahalanobis e ortogonal no oitavo

cenário, no estudo de classificação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.9 Gráficos de ROC da Sensibilidade vs. FPPJ e FPPI face à variação dos valores de p1 e

p2, para k = 1 componentes principais, no método proposto neste trabalho. . . . . . . . . 53

4.10 Ilustração do conjunto de validação‡ sobre as distância de Mahalanobis e ortogonal no

décimo primeiro cenário, no estudo de classificação e detecção. . . . . . . . . . . . . . . 54

4.11 Ilustração do conjunto de validação‡ sobre as distância de Mahalanobis e ortogonal no

décimo nono cenário, no estudo de classificação e detecção. . . . . . . . . . . . . . . . . 55

4.12 Histograma dos valores de sensibilidade e FPPJ atingidos nos dois métodos abordados,

em cada um dos quatro cenários finais, no estudo de classificação e detecção. . . . . . . 56

4.13 Histograma dos valores de FPPI atingidos nos dois métodos abordados, em cada um dos

quatro cenários finais, no estudo de classificação e detecção. . . . . . . . . . . . . . . . . 57

4.14 Ilustração do conjunto de validação‡ sobre as distância de Mahalanobis e ortogonal no

décimo primeiro cenário, no estudo de classificação e detecção. . . . . . . . . . . . . . . 57

4.15 Ilustração do conjunto de validação‡ sobre as distância de Mahalanobis e ortogonal no

décimo nono cenário, no estudo de classificação e detecção. . . . . . . . . . . . . . . . . 58

4.16 Dimensão do treino vs. Tempo de treino em minutos em ambos os métodos estudados . 59

xvi

Page 17: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Capítulo 1

Introdução

Nesta tese pretende-se estudar o problema de detecção de pedestres em fotografias digitais. Este é um

problema de grande relevância e aplicação prática em vários domínios, desde a vigilância à segurança

automóvel.

Apesar de, para os seres humanos, a detecção de pedestres (ou objectos em geral) ser bastante

fácil e intuitiva, para um computador ainda encerra grandes dificuldades. Uma fotografia digital a cores

(tipicamente vermelho, verde e azul) é representada num computador como uma matriz uma matriz

3 × n × m-dimensional, onde n e m indicam, respectivamente, o número de píxeis horizontal e ver-

tical da fotografia. Desta forma, o computador não interpreta uma fotografia, como um ser humano

interpreta/vê, mas sim como uma matriz e, portanto, não existe forma concreta de identificar um deter-

minado conceito numa fotografia, como por exemplo: um pedestre ou uma bola. Como tal, o problema

de identificação de conceitos/objectos numa fotografia é bastante difícil e por isso é geralmente abor-

dado ‘localmente’, ou seja, para um conceito/objecto específico. A detecção de pedestres, ou outros

objectos, em fotografias digitais é geralmente feito com recurso a métodos numéricos, quer determi-

nísticos, quer estatísticos. Estes métodos executam uma extracção de características (descritores) das

imagens e sobre estes descritores é aplicado um método de classificação.

Este trabalho propõe uma nova abordagem à classificação de pedestres, sendo esta baseada na

detecção de outliers após uma análise de componentes principais da distribuição de características

das imagens de treino. As regiões de imagem potencialmente contendo pedestres são representadas

através de vectores de características (descritores) de tamanho fixo, que são posteriormente classifica-

dos em exemplos positivos (contendo pedestres) ou negativos (não contendo pedestres). O descritores

que melhores resultados proporcionou é baseado em histogramas da orientação de gradientes (HOG)

Dalal and Triggs [2005]. O classificador obtido neste trabalho, cujo desempenho será avaliado sobre a

base de dados INRIA Person Dataset, utiliza informação dada pelos exemplos positivos de um conjunto

de dados e não deverá ser comparado com classificadores complexos que usam exemplos positivos e

negativos. No entanto, poderá servir para uma rejeição prévia de grande parte dos negativos (conside-

rados como outliers), sendo por isso adequado para os primeiros níveis de uma estrutura de classifica-

dores em cascata. Em comparação com classificadores fracos comuns treinados através de boosting,

1

Page 18: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

o método proposto apresenta desempenhos comparáveis mas é muito mais rápido de treinar devido a

não necessitar de exemplos negativos e de utilizar rotinas eficientes de análise de componentes princi-

pais. Será portanto mais adequado em contextos onde o tempo disponível para o treino do classificador

é limitado, por exemplo quando se pretendem incorporar, em tempo real, novos exemplos de treino.

Motivação

O problema de detecção de pedestres em fotografias surge no âmbito de detecção automática de

pedestres para viaturas. Pretende-se criar um método que detecte automaticamente pedestres em

imagens, por forma a poder avisar o condutor ou activar um sistema de segurança, e evitar assim um

possível acidente. Este problema está igualmente associado à vídeo-vigilância de centros comercias,

na detecção automática de pessoas para softwares de tratamento de imagens como Photoshop c©, entre

outros.

Trabalho Relacionado

Nesta secção ir-se-á expor, de uma forma geral, algumas abordagens recentes, que têm vindo a ser

propostas no âmbito de reconhecimento de padrões em imagem. Esta análise permitirá identificar quais

as melhores abordagens a este problema e como construir, melhorar e comparar, uma nova abordagem.

Este estudo permitirá também, escolher qual a melhor base de dados para ser utilizada na construção

do novo método.

A descrição dos trabalhos irá ser seccionada em duas partes, uma sobre descritores, outra sobre

classificação, e, em cada uma delas, ordenadas cronologicamente do mais antigo para o mais recente.

Descritores

Felzenszwalb and Huttenlocher, 2000, Efficient Matching of Pictorial Structures

O método apresentado em Felzenszwalb and Huttenlocher [2000] utiliza o conceito de ‘estrutura’ para

descrever um objecto, neste caso, uma pessoa. Cada componente desta estrutura identifica partes

mais simples do objecto, por exemplo: antebraços; coxas; cabeça; peito; abdómen. Na estrutura está

definido um modelo base que interliga todas as componentes, através de uma função ‘Mola’. Esta fun-

ção permite que cada componente possa variar ligeiramente de objecto para objecto, ou seja, que cada

pessoa possa ter uma pose diferente, p. ex. sentada, inclinada, em pé. A identificação/reconhecimento

de cada parte do objecto é realizado através da cor. O modelo base associado à estrutura define qual a

cor associada a cada parte do objecto. Serão agora expostos alguns pontos fortes e fracos identificados

neste método, face ao pretendido para esta tese. Foram detectados como pontos fortes as seguintes

propriedades: a robustez deste método face a alterações geométricas do objecto a classificar, sendo

possível classificar variadas poses; fácil generalização a outras classes de objectos, sendo apenas

necessário especificar uma nova estrutura que melhor englobe as propriedades gerais do objecto de

2

Page 19: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

interesse; identificação de objectos recorrendo a um modelo qualitativo. Os pontos fracos detectados,

no âmbito desta tese, foram os seguintes: método fortemente dependente da cor/iluminação presente

na imagem face ao da estrutura, e.g. uma pessoa com uma roupa laranja não é identificada correcta-

mente por uma estrutura cuja cor, designada para detecção, é o amarelo; e a necessidade da utilização

de um modelo qualitativo para identificação dos objectos.

Dalal and Triggs, 2005, Histograms of Oriented Gradients for Human Detection

No trabalho de Dalal and Triggs [2005] os autores introduziram um novo espaço de descritores designa-

dos por Histogram of Oriented Gradients, doravante HOG. O artigo assenta sobre o estudo do desem-

penho deste descritor face a outros, na altura métodos recorrentes, assim como quais os parâmetros

que maximizam o desempenho na detecção de pessoas. É também analisado o impacto de vários pro-

cessamentos, sobre as imagens, no desempenho do classificador como por exemplo a equalização de

histogramas. Neste artigo os autores optaram por um classificador simples, Support Vector Machine,

que visa encontrar o hiperplano no espaço de descritores que melhor separe objectos positivos de

negativos, maximizando a distância entre estes. Este método, face aos demais apresentados pelos

autores, tem um desempenho superior. Como pontos fortes, tem-se: robusto a diferentes iluminações

numa mesma imagem. Como aspectos negativos: tal como o caso anterior, a utilização deste método

para outras classes de objectos requer que se treine o classificador, assim como afinar manualmente

alguns parâmetros que foram optimizados apenas para a detecção de pessoas; caso os objectos de

interesse, neste caso pessoas, estejam em poses diferentes das que se encontram no conjunto de

treino, por exemplo pessoas sentadas ou deitadas, o método não as conseguirá detectar; dificuldade

associada à implementação do método de extracção de descritores.

Zickler and Efros, 2007, Detection of multiple deformable objects using PCA-SIFT

Os autores Zickler and Efros [2007] tentam criar um método que identifique objectos que sejam co-

muns entre um conjunto de imagens. Estas imagens podem ser de locais diferentes ou descreverem

uma mesma cena de ângulos diferentes entre si. O descritor utilizado para este efeito é designado

por Scale Invariant Feature Transform (SIFT). Este descritor tem um custo computacional significativo

dificultando assim a implementação em sistemas com componentes de custo reduzido, e.g. telemó-

veis/sistema de detecção automóvel. Os autores, para combater este aspecto negativo, aplicaram

análise de componentes principais para reduzir a dimensionalidade do descritor. Este descritor identi-

fica pontos chaves - key points, ou seja, zona de píxeis que contenham informação relevante. Para a

detecção de um dado objecto, numa nova imagem, é realizado uma procura de pontos chaves nesta.

As zonas que possuem pontos chaves semelhantes entre si e aos apresentados no conjunto de treino

são aglomeradas e é feito um estudo de associação. Caso a associação seja forte é feita uma detecção

do objecto de interesse. Este tipo de detecção foi aplicado na procura de robots em diferentes poses

e num ambiente de jogo de futebol de robots. Novamente, foram analisados os aspectos positivos e

negativos. Os seguintes aspectos foram considerados como positivos: rapidez de detecção do objecto

3

Page 20: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

de interesse numa nova imagem; conjunto de treino de dimensões reduzidas; carácter local do método,

ou seja, utilização da informação da cor/iluminação em pequenas janelas da imagem. Como aspectos

negativos: o carácter local do método, visto que, caso o objecto de interesse contenha uma grande

variação em cor e/ou iluminação de imagem para imagem, o método não o conseguirá identificar cor-

rectamente, dependendo das características presentes no conjunto de treino; existe a necessidade de

o objecto em causa ter alguma complexidade geométrica e/ou diferenças na sua textura, por forma a

facilitar a detecção de pontos de interesse/pontos chave; o artigo explorou o método numa classe de

objectos com poucas diferenças intra-classe o que não é uma propriedade existente nos seres huma-

nos.

hong Liang et al., 2007, Pedestrian Detection using KPCA and FLD Algorithms

Em hong Liang et al. [2007] é proposto um novo descritor que consiste na aplicação do método KPCA,

kernel Principal Component Analysis, ao descritor baseado em haar wavelet tentando assim reduzir a

sua dimensionalidade. Após o cálculo deste novo descritor os autores aplicam o método de discrimi-

nante de Fisher linear como método de classificação, projectando este descritor numa única dimen-

são tentando maximizar a separação entre os exemplos positivos e os exemplos negativos, minimi-

zando a variação existente em cada uma das classes. Na análise de desempenho o método pro-

posto é comparado a um método baseado em Support Vector Machines e a um método baseado em

Feed Forward Neural Networks, ambos apoiados sobre o descritor haar wavelet. Como pontos posi-

tivos identificados: tempo de treino reduzido, face aos métodos apresentados; redução do tempo de

processamento, e memória, associado aos descritores originais. Como pontos negativos: a escolha do

número de componentes a ter em conta.

Felzenszwalb et al., 2010, Object Detection with Discriminatively Trained Part-Based Models

Em Felzenszwalb et al. [2010] é proposto um método de extracção de descritor baseado num modelo

dividido em partes sobre o descritor HOG. Este modelo por partes tem como objectivo capturar e

ajudar na identificação de objectos que tenham uma grande variabilidade, como o caso de pedestres.

O método de detecção proposto pelos autores está dividido em duas fases, a primeira fase consiste

na procura das janelas que possam corresponder à classe de interesse, a segunda fase consiste na

procura das janelas que possam corresponder, identificar, partes do modelo associado à classe de

interesse. Por exemplo, no caso de detecção de pedestres, a primeira fase procura o local, ou os locais,

onde possa existir uma pessoa utilizando para tal o modelo completo da pessoa, a segunda fase procura

os locais onde existe a possibilidade de ocorrer as várias partes constituintes do modelo da pessoa,

braços, cabeça, pernas e pés. Por fim a resposta a cada uma das fases é combinada devolvendo uma

resposta final com a, ou as, possíveis localizações do objecto de interesse. Os autores recorrem a

uma redução de dimensionalidade, por meio da análise de componentes principais, para reduzir a alta

dimensionalidade associada ao descritor HOG. Como pontos positivos identificados: a robustez deste

método face a alterações geométricas do objecto a classificar, sendo possível classificar variadas poses

4

Page 21: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

e a diferentes escalas; o elevado número de parâmetros a ajustar permite um maior controlo sobre

o desempenho obtido. Como pontos negativos tem-se: complexidade associada à implementação do

descritor e classificador; dificuldade em encontrar os parâmetros que maximizem o desempenho, devido

ao número elevado de parâmetros; necessidade de implementar um processo extra, na fase de treino,

para a identificação/selecção das partes que maximizem o desempenho final.

Classificadores

Huang et al., 2004, Boosting Nested Cascade Detector for Multi-View Face Detection

Em Huang et al. [2004] os autores recorrem a cinco classificadores para detectar faces humanas, um

para cada uma das cinco orientações diferentes da face consideradas. Estes classificadores são or-

ganizados por níveis, cascata, em que a imagem é classificada em cada nível e apenas se passar

todos os níveis é classificada como positivo. Caso a imagem falhe na passagem de algum dos níveis,

é automaticamente classificada como falsa. Novamente, tentou-se identificar os pontos fortes e fracos

deste trabalho. Os pontos fortes identificados foram: rapidez de processamento de uma nova imagem,

podendo ser utilizado em tempo real (quasi-tempo real); controlo directo sobre a robustez do método,

fazendo variar o número de camadas da cascata de classificadores, assim como quais classificadores

a usar. Como pontos negativos identificados: complexidade da implementação do classificador; com-

plexidade temporal do treino do classificador; e impossibilidade de generalização a outros objectos sem

ser necessário re-treinar um novo classificador.

Malagón-Borja and Fuentes, 2009, Object detection using image reconstruction with PCA

Em Malagón-Borja and Fuentes [2009] é apresentado um método de detecção de pedestres baseado

no cálculo de erros de reconstrução associado a um estudo prévio de análise de componentes princi-

pais. Neste trabalho os autores consideram como descritores de pedestres a intensidade dos píxeis,

em tons de cinzento, juntamente com os contornos associados a cada pedestre. Sobre o conjunto de

treino descrito à custa dos dois descritores, intensidade dos tons de cinzento e os respectivos contor-

nos, é elaborada uma análise de componentes principais sobre os exemplos positivos e os exemplos

negativos em separado. Obtendo assim quatro subespaços diferentes, dois subespaços associados às

componentes principais calculadas sobre a intensidade dos tons de cinzento e sobre os contornos dos

exemplos positivos, os dois últimos subespaços estão associados às componentes principais calcula-

das sobre a intensidade dos tons de cinzento e sobre os contornos dos exemplos negativos. Dada uma

nova imagem, o classificador proposto pelos autores irá calcular os descritores, ou seja, o primeiro será

a respectiva imagem em tons de cinzento, e o segundo a respectiva imagem de contornos. Estes des-

critores serão projectados sobre o subespaço respectivo nos exemplos positivos e negativos. Após a

projecção é calculado o erro associado à recuperação da imagem utilizando cada uma das quatro pro-

jecções. Por fim, o classificador irá classificar como positivo se o erro total de recuperação associado

aos subespaços gerados pelos exemplos positivos for menor que o erro total de recuperação associado

aos subespaços gerados pelos exemplos negativos. O desempenho deste classificador é então com-

5

Page 22: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

parado a um classificador baseado em Support Vector Machines, onde o classificador proposto obtém

resultados superiores ao segundo. No entanto os autores combinam os dois classificadores, onde o

desempenho é superior aos dois individualmente. Os pontos fortes identificados foram: descritores

simples e de cálculo rápido; classificador, baseado em erros de reconstrução, de implementação sim-

ples; vários parâmetros para optimização consoante o tipo de desempenho pretendido. Como pontos

negativos: a escolha do número de componentes principais a utilizar que maximize o desempenho.

Schwartz et al., 2009, Human Detection Using Partial Least Squares Analysis

Em Schwartz et al. [2009] é apresentado um método baseado em Partial Least Squares - PLS, para

a redução de dimensionalidade, e na análise de discriminantes quadráticas, QDA, como método de

classificação. Os autores deste trabalho implementam, como descritores, os descritores HOG adici-

onando informação sobre cor e textura. Devido à alta dimensionalidade inerente ao método de HOG

adicionado, ainda, da informação sobre cor e textura, optaram por utilizar uma técnica de redução de

dimensionalidade, designada por mínimos quadrados parciais. Em semelhança ao método de análise

de componentes principais, o método PLS visa procurar quais as variáveis que melhor explicam a vari-

abilidade existente nos dados tendo em conta, ao contrário do método PCA, a classe associada a cada

indivíduo. Neste artigo é avaliado o desempenho do método PLS face aos métodos concorrentes e face

ao método de PCA, atingindo níveis de desempenho bastante elevados em aplicações a várias bases

de dados de imagens. Este artigo avalia também o desempenho de outros métodos de classificação

baseados nos descritores propostos, sendo o método QDA o melhor. A leitura e interpretação deste

artigo permite concluir que este método tem, face aos restantes, vários aspectos positivos, sendo a

velocidade de treino e classificação aliados a um desempenho elevado, o aspecto mais aliciante. Uma

análise deste método face a outros mais recentes, pode ser encontrada em Dollár et al. [In Press].

Na tabela 1.1 pode-se encontrar um resumo com os principais pontos positivos e negativos de cada

abordagem.

Para finalizar refere-se que nos trabalhos recentes de Dollár et al. [2009], Dollár et al. [In Press] e

Enzweiler and Gavrila [2009] se podem encontrar um sumário das várias abordagens que têm vindo a

ser introduzidas na área de detecção de pedestres, onde os autores tentam uniformizar os resultados

obtidos face ao tipo de avaliação, classificação e base de dados utilizadas.

Organização

Esta tese está organizada em capítulos com um grau de dependência baixo entre si. Nos capítulos, 2

e 3, irão ser estudados vários métodos de extracção de características e de detecção, que serão utili-

zados para a construção de novos métodos para o reconhecimento de padrões, no âmbito de detecção

de pedestres em fotografias digitais. No capítulo 3 é introduzido em detalhe o classificador proposto

por este trabalho. No quarto capítulo serão expostos os resultados do método proposto face aos re-

sultados de um dos métodos estudados no capítulo 1. Para terminar, será feita uma conclusão sobre

6

Page 23: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Descritor ClassificadorGeometria Iluminação Cor Treino Classificação Dimensão

Felzenszwalb and Hutten-locher, 2000 + - -

Dalal and Triggs, 2005 - + + - + -Zickler and Efros, 2007 + - - - +Huang et al., 2004 - + -Schwartz et al., 2009 + - +hong Liang et al., 2007 - + - + + +Felzenszwalb et al., 2010 + + + - -Malagón-Borja and Fuen-tes, 2009 - + - + + +

Tabela 1.1: Tabela descritiva dos pontos positivos e negativos das abordagens estudadas nesta sec-ção. Os pontos associados ao classificador, Treino, Classificação e Dimensão tentam descrever, res-pectivamente, o tempo/facilidade de implementação do treino, tempo/facilidade de implementação daclassificação e, por fim, a dimensão do conjunto de treino para obter o respectivo desempenho.

a aplicabilidade do método escolhido, os seus aspectos positivos e negativos, assim como possíveis

melhoramentos e/ou novas abordagens.

Todo o código presente neste tese foi realizado pelo autor e foi escrito na linguagem R, R Deve-

lopment Core Team [2011], à excepção de algumas funções que foram escritas na linguagem C, cujo

criador e visionário Dennis Ritchie faleceu em 2011. Estas funções, no entanto, foram criados para

serem utilizados no software R. Este código não constará no corpo deste trabalho.

Todas as imagens presentes foram criadas especificamente para este trabalho ou serão de uma

base de dados/repositório livre de direitos de autor, onde a sua utilização noutros trabalhos é permitido.

7

Page 24: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

8

Page 25: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Capítulo 2

Extracção de Características e

Classificação

Neste capítulo serão apresentadas as diferentes metodologias que serão discutidas na análise experi-

mental. Estas são constituídas por duas fases. A primeira, designada por extracção de características,

consistirá no tratamento de imagens, por exemplo transformação em tons-de-cinza, e na extracção de

informação das imagens, ou seja, a extracção de descritores para utilização nos classificadores. A fase

seguinte, detecção, consiste na aplicação de um classificador aos descritores provenientes da fase

anterior.

Cada uma destas fases pode ser composta por um ou vários métodos, este capítulo focar-se-á na

descrição de cada um dos métodos considerados neste trabalho. Na fase de extracção de caracte-

rísticas descrevem-se os seguintes métodos: transformação de imagens a cores para tons-de-cinza;

aplicação de um filtro gaussiano a uma imagem, dando um efeito de blur; extracção de arestas de uma

imagem; e por fim, histograma de orientação de gradientes. Na fase de detecção apenas se apresenta

o classificador Adaboost, que será utilizado como uma abordagem do estado-da-arte a comparar com

o método proposto nesta tese. O classificador proposto neste trabalho será introduzido no capítulo

seguinte.

2.1 Extracção de Características

2.1.1 Tons-de-cinza

Uma fotografia pode ser descrita utilizando diversos modelos de cor. O modelo mais utilizado, e óptimo

para aplicações electrónicas, é o modelo aditivo RGB - Red, Green and Blue. Este modelo representa

cada píxel de uma fotografia através de três valores, nas três cores primárias aditivas: vermelho; verde

e azul. A percepção simultânea destes três valores reproduz a cor pretendida, vide figura 2.2. Este

modelo não permite a reprodução de todas as gamas de cores existentes, mas reproduz a gama de

cores percetíveis ao olho humano.

9

Page 26: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b)

Figura 2.1: A imagem em (a), criada por brainleek07 e disponibilizada sobre o acordo CCA 3.0, é umaimagem representada com o modelo RGB. Em (b) está representada a imagem em (a) mas em tonsde cinza. Não deverá ser dado nenhum crédito sobre o trabalho em (a) e (b), visto pertencerem a outroautor. Assim como (b) não deverá ser visto como um trabalho de arte mas sim apenas como umailustração de um processamento de imagem.

Figura 2.2: Esta imagem ilustra a aditividade do modelo RGB.

Como foi dito anteriormente uma fotografia digital pode ser vista como três matrizes, cada uma

associada às três cores: vermelho, verde e azul. Cada matriz tem a dimensão da fotografia em píxeis e

a cada entrada da matriz, por outras palavras: a cada píxel, está associado um valor entre 1 e 255 (ou

entre 0 e 1) denotando a amplitude da respectiva cor nesse píxel. Um valor elevado corresponde a uma

cor mais brilhante, e a um valor muito baixo uma cor mais escura. Neste trabalho as fotografias serão

trabalhadas em tons de cinzento, ou seja, a cada píxel está associado apenas um valor, entre 1 e 255,

denotando o nível do cinzento. A valores altos estão associado tons mais brancos e a valores baixos

tons mais negros. A transformação entre o modelo RGB e o modelo Grayscale (escala de cinzentos)

será feita de acordo com o mapeamento em Shih [2010]. Note-se que existem outros mapeamentos

diferentes. Este mapeamento consiste numa ponderação dos valores nas três diferentes cores com

os seguintes coeficientes: 0.3; 0.59; 0.11, para vermelho, verde e azul respectivamente, sendo este o

mapeamento que preserva a luminância original da imagem. Em Shih [2010], Acharya [2005], Johnson

[2006], entre outros, encontra-se informação sobre os vários modelos de cor existentes, os métodos

de transformar uma imagem em tons-de-cinza e, também, sobre a luminância de uma fotografia. A

transformação de uma fotografia numa imagem1 em tons de cinza será o primeiro processo a ter em

conta na transformação de imagens.

1Há que notar que uma fotografia é uma descrição do que estava do outro lado da lente da máquina fotográfica. Ao ser feitoqualquer tipo de alteração, deixa de ser uma fotografia e sim uma imagem.

10

Page 27: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

2.1.2 Equalização de histograma para imagens em escalas de cinza

Uma imagem de um cenário com poucos contrastes pode-se tornar difícil de interpretar, ou seja, de

retirar informação tal como a figura 2.3.a o demonstra. Nestes casos a gama de valores das cores são

muito próximas entre si, tendo um histograma da imagem (diagrama onde se representa a frequência

de ocorrência de cada nível de cinzento) muito concentrado numa zona apenas, tal como se pode

observar na figura 2.3.b. Por forma a realçar estas pequenas diferenças pode-se recorrer ao método

de equalização de histogramas, que ‘nivela’ o histograma de uma imagem, como se pode observar na

figura 2.4. Esta equalização separa os valores mais próximos, realçando assim a diferença entre estes.

Ao aplicar este algoritmo promove-se a extracção de informação de uma imagem. No entanto este

método promove e realça ruídos que possam existir na imagem, podendo diminuir a qualidade geral

desta e, com isso, piorar a extracção de informação, tal como é mostrado na figura 2.5.

Um histograma pode ser visto como uma estimativa da distribuição de probabilidade da variável

aleatória que representa os níveis de cinzento numa imagem. A equalização de histograma é um

método que permite redistribuir os valores dos tons de cinzento de modo a obter um histograma de

uma distribuição aproximadamente uniforme. De seguida será introduzida a teoria, e a função de

equalização de histogramas, de acordo com a notação e definição presentes em Shih [2010].

Considere-se o caso de uma imagem em tons-de-cinza, em que cada píxel tem uma intensidade

0 ≤ r ≤ 1, logo r pode ser visto como uma concretização de uma variável aleatória R, onde R denota

a imagem original. Esta variável aleatória, R, tem como função densidade de probabilidade contínua,

pR(r), e função de distribuição: FR(r) = P [R ≤ r]. Seja então s = T (r) o mapeamento entre a ima-

gem original e a imagem resultante da equalização de histograma. Por forma a realizar a equalização

do histograma é necessário considerar que pS(s) seja constante, onde S denota a variável aleatória

associada à distribuição de intensidades da imagem resultante e pS(s) a sua função de densidade.

No cenário de tons-de-cinza, caso estes tenham valores entre 0 e 1, a variável aleatória S terá uma

distribuição uniforme nesse intervalo. O denominado mapeamento, entre R e S, terá uma distribuição

uniforme no intervalo (0, 1). Ou seja, T (R) w S, onde S tem distribuição uniforme no intervalo (0, 1).

Será agora apresentado o mapeamento para imagens digitais, que têm um carácter discreto pois

existe um número finito de píxeis. Seja n o número de píxeis na imagem, nG o número de tons de

cinza utilizados (neste trabalho considerou-se 255 tons de cinza) e seja nrj o número de píxeis com

intensidade rj . Considere-se que a imagem original, assim como a imagem resultante, têm nG tons de

cinza no intervalo: [0, 1, . . . , nG − 1]. O mapeamento irá atribuir à intensidade original rk o valor sk, em

que k = 0, 1, . . . , nG − 1, de acordo com a equação (2.1).

sk = T (rk) = (nG − 1)

k∑j=0

nrjn

=(nG − 1)

n

k∑j=0

nrj (2.1)

A equalização de histogramas será um dos processamentos a ter em conta na fase de extracção

de características. Vários testes de desempenho serão feitos para verificar se este promove, ou não, a

qualidade do modelo/classificador.

11

Page 28: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b)

Figura 2.3: A imagem em (a), disponibilizada sobre o acordo CCA 2.0, é uma imagem cujo histogramaestá concentrado apenas em intensidades elevadas, como se pode observar em (b) que representa ohistograma das frequências relativas de (a) assim como a função de distribuição associada a este.

(a) (b)

Figura 2.4: A imagem em (a), corresponde à imagem 2.3.a) cujo histograma fora equalizado. A imagemem (b) é o respectivo histograma e estimativa da respectiva função de distribuição.

2.1.3 Filtro Gaussiano

Numa imagem com muito ruído ou um elevado nível de detalhe, pouco relevante para um determinado

problema como a textura da roupa, existe a possibilidade de tentar remover, ou diminuir, tais factores

tal como é ilustrado na figura 2.6. Para tal pode ser aplicada a técnica de blur ou low-pass filters2.

Esta técnica é conseguida através do processo matricial designado por convolução. A convolução

de matrizes pode ser definida através da convolução de funções de duas variáveis. Neste trabalho será

definida de forma matricial e no cenário de tratamento de imagem.

Seja A a matriz de interesse, por exemplo uma imagem, com dimensão p× q e seja M um fil-

tro/máscara a aplicar sobre a matriz de interesse com dimensão r×s. A matriz resultante, R = A⊗M ,

de aplicar o filtro M à matriz de interesse A, é dada pela equação (2.2), onde [.]ij denota a entrada

(i, j) da respectiva matriz.

2Low-pass filters, tendo esta designação pois, dada uma imagem como input, o resultado é uma imagem onde os píxeis defrequência espacial alta, na imagem original, foram atenuados enquanto que os de baixa frequência espacial se mantiveram.

12

Page 29: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b)

Figura 2.5: A imagem em (a) corresponde a uma imagem com baixa definição cujo histograma estámal distribuído e (b) à mesma imagem após o processo de equalização de histograma, note-se o ruídoexistente agora nesta imagem, assim como uma melhoria da clareza da imagem.

[R]i,j =

r∑u

s∑v

[M ]uv [A]i−u+1,j−v+1 (2.2)

Onde u e v estão definidos de acordo com as dimensões de A e M , Note-se que a matriz resultante

poderá assumir valores fora da região da imagem, nesses casos os valores [.]i,j serão considerados

como zero caso os índices i e j não sejam válidos. Caso a máscara M possa ser factorizada em M1 ∗

M2 = M , onde ∗ denota o produto matricial e M1 e M2 com dimensões r×1 e 1×s respectivamente,

então a convolução A ⊗M requer um maior tempo de execução do que executar as convoluções

sucessivas: (A⊗M1)⊗M2.

Irá-se então utilizar a técnica de convolução para aplicar um filtro gaussiano a uma dada imagem. O

filtro gaussiano irá ponderar a frequência do píxel central com a dos píxeis adjacentes, de acordo com

a distribuição gaussiana bivariada em que µ = (0, 0) e Σ = σ2 I. A função de densidade gaussiana é

não-nula em qualquer ponto finito, no entanto esta decresce rapidamente podendo ser truncada para

valores suficientemente afastados de µ. Neste caso, o truncamento de cada distribuição marginal é

feito para valores a uma distância de µ superior a 3σ. Como os píxeis estão distribuídos num espaço

bidimensional discreto, o filtro gaussiano utilizado na convolução será uma matriz de dimensão k×k,

em que k2 representa o número de píxeis a considerar em qualquer direcção do píxel central, havendo

alguns ajustes quando k é par/ímpar. O valor de σ será ajustado de acordo com k. A matriz apresentada

em (2.3) corresponde à discretização de um filtro gaussiano em que k = 5.

1

273

1 4 6 4 1

4 17 28 17 4

6 28 45 28 6

4 17 28 17 4

1 4 6 4 1

(2.3)

13

Page 30: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b)

(c) (d)

Figura 2.6: A imagem em (a) corresponde à famosa imagem de Lena utilizada em computer vision,mais informações sobre esta imagem pode ser encontrado no web-site: Lena Söderberg @ wiki. Aimagem em (b) corresponde à (a) adicionada de um ruído aleatório de píxeis brancos e pretos. Em(c) e (d) observa-se o resultado de aplicação de um filtro gaussiano de dimensão k = 5, a (a) e (b)respectivamente.

Será agora descrito o processo de criação de um filtro gaussiano discreto tal como o utilizado neste

trabalho. Seja fX (x∣∣µX , σ2

X ), definida na equação (2.4), a função de densidade de uma variável alea-

tória normal, X , com parâmetros µ e σ. Como o interesse deste filtro é o de convolução, o parâmetro

µ será nulo. Considere-se agora Y, identicamente distribuída e independente (i.i.d) a X , com função

dada por fY(y∣∣µY , σ2

Y ). A variável aleatória X × Y é então uma distribuição gaussiana bivariada com

parâmetros µ = (µX , µY) e Σ =( σ2X 0

0 σ2Y

), com função de densidade f(x, y |µ,Σ) dada pela equação

(2.5). Pode-se então concluir que a função de densidade bivariada pode ser vista como a aplicação

de duas funções univariadas. Esta propriedade é importante pois permite facilitar os cálculos da con-

volução, ao fazer-se a convolução através de dois filtros gaussianos unidimensionais sucessivos, um

na orientação vertical e outro na orientação horizontal, em vez de efectuar uma convolução com um

filtro bidimensional. A divisão da convolução em dois passos permite diminuir a complexidade temporal

da convolução de O(k2) para O(k), como referido em Shih [2010]. A complexidade temporal de um

dado algoritmo denota a ligação entre a dimensão do input do algoritmo e o tempo necessário para a

execução deste sobre esse mesmo input, medido à custa de várias funções, neste caso polinomiais.

Quanto maior o grau do polinómio, em função do valor k, maior será o tempo necessário à execução

do algoritmo.

14

Page 31: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

fX (x |µ, σ ) =1√

2πσ2e−

(x−µ)2

2σ2 , x ∈ R (2.4)

f(x, y|µ = (0, 0),ΣσX=σY

= σ2 I) =1√

2πσ2Xe− (x−µX )2

2σ2X × 1√2πσ2

Y

e− (y−µY )2

2σ2Y =

=1

2πσσ′e−

(x−µ)2

2σ2− (y−µ′)2

2σ′2

=1

2πσ2e−

x2

2σ2− y2

2σ2

=1

2πσ2e−

x2+y2

2σ2

(2.5)

A função em (2.5) está definida num espaço contínuo, irá de seguida descrever-se como foi feita

a discretização neste trabalho. A figura 2.7.a) apresenta a sobreposição de um filtro gaussiano sobre

uma janela de uma imagem, ambas com as mesmas dimensões (5×5). Pode-se observar que a um

único píxel está associada uma zona inteira do filtro, portanto o peso associado ao píxel será a média

do valor do filtro nos quatro cantos do píxel. Ficando então com a máscara em 2.7.b). Esta máscara,

criada através da média da gaussiana contínua em cada um dos vértices do píxel, será designada

por filtro gaussiano discreto. Existem outros métodos que utilizam séries de Fourier para efectuar esta

discretização, tal como descrito em Shih [2010].

(a) (b)

Figura 2.7: Na imagem em (a) encontra-se um filtro gaussiano contínuo sobreposto a uma janela de5×5 píxeis de uma dada imagem (apenas se observa os limites dos píxeis, no plano horizontal), avermelho corresponde a associação de um dado píxel ao valor seu do filtro. Na imagem (b) encontra-sede novo um filtro gaussiano, desta vez discreto, sobreposto a uma janela de 5×5 píxeis, tal como nocaso anterior a vermelho indica a associação do píxel-filtro.

15

Page 32: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b) (c)

Figura 2.8: A imagem (a) diz respeito à imagem do Steve aquando da aplicação de um filtro de Sobel 2D,com o sentido horizontal. A imagem em (b) corresponde ao caso em que o filtro tem o sentido verticale, por fim, a imagem em (c) corresponde à magnitude total de cada aresta, ou seja,

√(a)2 + (b)2. O

Steve é o nome atribuído, pelo autor desta tese, a uma imagem do conjunto MIT em homenagem aoSteve Jobs (este exemplo será explorado posteriormente).

2.1.4 Detecção de arestas

Se existir interesse nos contornos dos objectos numa determinada imagem, podem utilizar-se vários

métodos que transformam uma imagem, dita normal, numa de contornos, vide Shih [2010]. Estes mé-

todos, designados em inglês por edge-detection methods, pertencem a um grupo de filtros designados

por high-pass filters3. Os métodos de detecção de arestas recorrem à iluminação dos píxeis para detec-

tar contornos. Se k píxeis adjacentes tiverem uma diferença acentuada de iluminação poderá significar

que existe um contorno entre estes. Os algoritmos de detecção de arestas, fazem-no através da con-

volução de um filtro, com a imagem original, tal como no caso do filtro gaussiano. Existem diferentes

filtros, que marcam a diferença entre os vários algoritmos de detecção de arestas existentes. Estes

filtros são, geralmente, de dimensões reduzidas assumindo que um contorno é também de dimensões

reduzidas, comparativamente à dimensão total da imagem. Neste trabalho será considerado o método

Sobel, a uma e a duas dimensões, cujos filtros serão definidos de seguida. Foram analisadas outros

filtros, como por exemplo os filtros Prewitt e Canny (assim como os respectivos métodos), no entanto3High-pass filters, tem esta designação pois dada uma imagem como input, o resultado é uma imagem onde os píxeis de

frequência espacial baixa na imagem original foram atenuados, enquanto que os de frequências espaciais altas se mantiveram.

16

Page 33: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

optou-se por utilizar o filtro Sobel por ser este o utilizado, e estudado, nos artigos e livros analisados,

facilitando assim a comparação com resultados já existentes. Outra razão para a escolha do filtro Sobel

face aos restantes, recai sobre a facilidade de sua implementação. Em Dalal and Triggs [2005], Wu and

Nevatia [2007], Dollár et al. [2009] e Dollár et al. [In Press], encontram-se tabelas de desempenho de

vários métodos de detecção de pessoas em imagens, onde alguns destes utilizam técnicas de detecção

de arestas, nomeadamente o filtro Sobel.

O método Sobel está dividido em três etapas. A primeira e a segunda consistem na convolução da

imagem com uma máscara, de orientação horizontal e vertical, respectivamente. O resultado de cada

uma destas etapas corresponde à intensidade/magnitude da aresta, na respectiva orientação, em cada

píxel, ou seja, o gradiente da diferença de iluminação em cada orientação. Nas figuras 2.8.a) e .b) pode

ver-se o resultado da aplicação destas duas etapas a uma imagem. A terceira etapa corresponde ao

cálculo da magnitude deste gradiente. Para ser possível visualizar estes resultados, como uma imagem,

é efectuada uma normalização no valor do gradiente para os valores possíveis da intensidade, ou seja,

entre 1 e 255. Na figura 2.8.c) pode observar-se o resultado da terceira etapa.

O método Sobel a uma dimensão tem esta designação porque os filtros, de convolução, têm uma

das dimensões unárias, enquanto que no método Sobel a duas dimensões as máscaras têm duas

dimensões. Estes filtros, de duas dimensões, para além de permitirEM calcular o gradiente, têm tam-

bém um efeito de blur. Tendo sido feito o cálculo da magnitude do gradiente na direcção horizontal e

vertical, em toda a imagem, fica-se com a magnitude do gradiente em cada uma das direcções Gh e

Gv, respectivamente. Considere-se agora a magnitude horizontal e vertical do gradiente no píxel (i, j),

respectivamente [Gh]ij

e [Gv]ij. Esta informação permite o cálculo da magnitude do gradiente, assim

como a sua orientação. Estes cálculos podem ser efectuados da seguinte forma: seja G a magnitude

do gradiente, então G é dado pela equação (2.6):

[G]ij

=√

[Gh]2ij

+ [Gv]2ij

(2.6)

A gama de valores para a orientação do gradiente depende de aplicação para aplicação. Neste

tipo de aplicações não há interesse sobre a sentido da orientação, e.g. um gradiente ter um sentido

da direita para a esquerda deverá ser igual a um com o sentido contrário. Interessa no entanto a sua

direcção, ou seja, se é um contorno horizontal, vertical, inclinado, etc. Por isso não se terá em conta

o sinal do ângulo do gradiente, ficando assim com uma gama de valores entre −π2 e π2 . Em Dalal and

Triggs [2005] foram estudados outros casos mas os autores concluíram que esta abordagem era a que

atingia melhores resultados. A orientação do gradiente é então calculada segundo a equação (2.7).

[O]ij

= arctan

([Gv]ij[Gh]

ij

)(2.7)

O método de detecção de arestas, magnitude e orientação, fará parte integrante do método seguinte,

onde se avaliará o desempenho deste sobre cada uma das abordagens referidas anteriormente, Sobel

a uma e duas dimensões.

17

Page 34: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

2.1.5 Histograma da orientação de gradientes

O método de extracção de informação de imagens Histogram of Oriented Gradients4 - HOG, foi intro-

duzido em Dalal and Triggs [2005]. Este método visa extrair informação sobre a orientação das arestas

existentes numa imagem, sendo estas arestas calculadas através de métodos, como Sobel, explicados

anteriormente. Será feito uma pequena introdução ao funcionamento do método, no entanto, esta expli-

cação deverá ser vista como um resumo da existente em Dalal and Triggs [2005]. Tentar-se-á descrever

o método de forma clara e concisa, permitindo ao leitor mais interessado implementa-lo sem a neces-

sidade de recorrer a outras fontes. Assumindo que se está a trabalhar com imagens em tons-de-cinza

e com as dimensões necessárias, o método está dividido em quatro fases: cálculo da orientação e

magnitude das arestas na imagem; divisão da imagem em blocos e células; cálculo do histograma de

gradientes por células, agrupados em blocos; concatenação destes histogramas. Um vector descritor

será então a concatenação dos vários histogramas.

A primeira fase, cálculo da orientação e magnitude das arestas, será conseguida de acordo com os

métodos explicados em 2.1.4. Segundo os autores Dalal and Triggs [2005], um das que conduz a bons

resultados é a utilização da técnica, de detecção de arestas, Sobel a uma dimensão.

Na segunda fase consideram-se duas estruturas, designadas por células e blocos. Estas células

são janelas da imagem original, com dimensões de v×v píxeis. A figura 2.9 ilustra a divisão de uma

imagem em células. Um bloco é visto como uma junção de nc × nc células, perfazendo um total de

(nc × v) × (nc × v) píxeis. Tal como em Dalal and Triggs [2005], considera-se que de bloco para

bloco existe sobreposição de uma célula em qualquer uma das direcções, horizontal ou vertical, na

divisão da imagem em blocos. Esta divisão em células e blocos tem como objectivo tentar maximizar o

ganho de informação na avaliação de uma imagem, permitindo haver alguma estatística associada aos

descritores e não apenas a observação directa da magnitude da cor ou aresta num píxel. Também na

figura 2.9 observa-se o agrupamento de células em blocos.

A terceira fase, a mais elaborada, consiste no agrupamento das direcções das arestas num histo-

grama com nb divisões, neste caso nb = 9 corresponde à divisão do espaço [−90, 90] de orientação em:nb⋃l=0

[−90+ 180

nbi, −90+ 180

nb(i+1)

]=

9⋃l=0

[−90+20i, −90+20(i+1)

]. Este agrupamento será feito por células num

dos blocos, repetindo-se este processo para os restantes blocos. Antes de ser feito o agrupamento

em nb orientações, dar-se-á uma ponderação das magnitudes dos gradientes, em cada píxel do bloco,

dando maior importância aos valores centrais do bloco. Esta ponderação será efectuada utilizando uma

máscara gaussiana5, Mg, ou seja, o valor do píxel actualizado, px′ij, será dado por px′i,j = pxi,j ∗ [Mg]i,j.

Na quarta fase, será calculado o histograma das orientações dos gradientes, por bloco, em cada

uma das células separadamente, ou seja, um total de n2c histogramas por bloco. Considere-se um

píxel pxi,j da célula ck, de um determinado bloco, seja a magnitude do gradiente deste píxel dado por

si,j e a sua orientação por oli,j , com l = 1, 2, · · · , nb. Este píxel contribuirá para a orientação l do

histograma da célula ck com o valor da sua magnitude, ou seja, si,j . Este processo é repetido para

os restantes píxeis da célula, sendo o resultado um vector de dimensão nb. Na figura 2.10 pode ser4Cuja tradução para a língua portuguesa pode ser vista como: Histograma da orientação de gradientes5Neste caso não se trata de convolução de matrizes, mas sim a ponderação directa do píxel i, j do bloco com o peso i, j da

máscara gaussiana.

18

Page 35: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 2.9: Esta figura corresponde à divisão de uma imagem, neste caso o Steve, em células (preto)e blocos (vermelho). Apenas constam três blocos, no entanto a divisão em blocos será mais densa,havendo um novo bloco de uma em uma célula (em qualquer das duas orientações). Note-se tambémque há píxeis da imagem que não são capturados por nenhuma célula, píxeis que se encontram pertodo final da imagem, sendo a informação contida nesses píxeis descartados.

visualizado uma ilustração dos histogramas por célula da imagem Steve. Por fim, é executada uma

normalização do histograma de forma a este poder ser visto como uma estimativa de uma função

de densidade de probabilidade. Este processamento é repetido para cada uma das nc × nc células

do bloco, sendo o resultado de todas estas células concatenado. Este resultado é designado por

descritor HOG. Como dito inicialmente, este processo será repetido para cada um dos blocos de uma

imagem. Estes descritores serão então concatenados, formando um único vector, sendo este vector

o descritor de uma determinada imagem e será o utilizado para verificar se esta contém, ou não, uma

pessoa. Relembra-se novamente que se trata de uma imagem com dimensões especificadas a priori,

geralmente com as dimensões da classe de objectos em causa. Para uma imagem geral, esta será

dividida em janelas com as dimensões necessárias, sendo sobre estas janelas que serão calculados

os descritores HOG.

A execução deste método será, adicionalmente, explicada por pseudo-código, facilitando assim a

leitura e implementação. Em pseudo-código é apresentado na figura 2.11.

19

Page 36: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 2.10: Esta imagem ilustra uma visualização dos histogramas da orientação do gradiente porcélulas, antes de ser agrupado por blocos e normalizado, da imagem do Steve.

1. Fixar os valores de: n2c - número de células por bloco; v2 número de píxeis por célula; e nb númerode divisões do histograma de orientação. Fixar qual o método de detecção de arestas a utilizar.

2. Cálculo do gradiente de arestas com orientação vertical e horizontal, Gv e Gh respectivamente.

3. Cálculo da magnitude do gradiente em cada píxel, através da equação (2.6);

4. Cálculo do ângulo da aresta, através de (2.7);

5. Divisão da matriz de orientação e gradiente, O e G, em blocos de nc × nc células, em que blocosadjacentes têm duas células de sobreposição entre si (em cada orientação) e, células estas, dedimensão v×v píxeis;

6. Aplicação de uma máscara gaussiana de dimensão (nc × v) × (nc × v) a cada um dos blocosda matriz de gradientes, dando assim, um peso reduzido aos gradientes consoante se encontremmais afastados dos gradientes centrais do bloco.

7. Cálculo de histogramas de orientação, com nb divisões, em cada uma das células. Cada orienta-ção é pesada no histograma pela respectiva magnitude do seu gradiente.

8. Concatenação dos n2c histogramas, formando um descritor HOG;

9. Normalização do descritor segundo a norma l2: x√‖x2+ε‖

;

10. Repetição dos passos 6 − 9, para cada bloco e concatenação de todos os descritores, obtendoassim o resultado final;

Figura 2.11: Pseudo-código do método de extracção de descritores HOG.

20

Page 37: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Os cinco processamentos estudados anteriormente, de extracção de características (descritores),

irão ser agrupados de diferentes formas, formando assim vários cenários de estudo diferentes, cada

um com o seu descritor. Estes descritores serão avaliados durante a fase de detecção, onde apenas

alguns dos melhores passarão à fase final de avaliação de resultados. Em qualquer um dos cená-

rios a considerar, será primeiramente efectuada uma transformação da imagem em tons-de-cinza (vide

2.1.1). Segundo Dollár et al. [In Press], a utilização de imagens a cores aumenta o desempenho dos

métodos, aumentando também o tempo de processamento e memória necessária, que neste trabalho

era um compromisso inviável. Os cenários a ter em consideração, para a secção seguinte, são os que

se seguem: 1 - Normal, cenário em que não é considerada nenhuma transformação adicional, onde

o descritor é o próprio valor dos píxeis em toda a imagem; 2 - Gauss, o descritor será a amplitude

dos píxeis na imagem após um efeito de blur; 3 - Hist, neste caso, em semelhança aos anteriores, o

descritor é formado pela frequência de cada um dos píxeis após uma equalização de histograma da

imagem; 4 - Sobel1D e 5 - Sobel2D, cenários em que o descritor consiste na magnitude do gradiente

das arestas calculadas através dos respectivos métodos de detecção de arestas; 6 - Sobel1D_HOG

e 7 - Sobel2D_HOG, cenários em que os descritores são os descritores HOG calculados com o au-

xílio dos respectivos métodos de detecção de arestas; Restam os cenários: 8 - Gauss_Sobel1D; 9

- Gauss_Sobel2D; 10 - Gauss_Sobel1D_HOG; 11 - Gauss_Sobel2D_HOG; 12 - Hist_Sobel1D; 13

- Hist_Sobel2D; 14 - Hist_Sobel1D_HOG; 15 - Hist_Sobel2D_HOG; 16 - Gauss_Hist_Sobel1D; 17 -

Gauss_Hist_Sobel2D; 18 - Gauss_Hist_Sobel1D_HOG; 19 - Gauss_Hist_Sobel2D_HOG, cujos descri-

tores e propriedades são facilmente deduzidos através da explicação dos primeiros cenários. Todos

estes descritores serão avaliados durante a fase de detecção e classificação, no entanto, devido ao

elevado número de cenários (19) alguns resultados não serão apresentados em detalhe.

2.2 Classificação

Designa-se por classificador uma entidade/função/algoritmo que, ao receber um objecto e um conjunto

de classes de objectos, atribui uma classe a esse objecto. Associado a um classificador está a sua

eficácia na classificação do objecto. O conjunto de classes disponíveis para a classificação de um

objecto, é também designado por ‘label set’ na área de inteligência artificial. Um classificador é então

uma entidade/função/algoritmo, H, que satisfaz a propriedade (2.8), onde x é um objecto, i = 1, · · · , p

denota o nome de cada classe assumindo que existem p classes diferentes, Yi com i = 1, · · · , p denota

o domínio da classe i e, por fim, hH(x) é o processo associado a H que atribui uma classe a um objecto

x.

H(x) =

1, hH(x) ∈ Y12, hH(x) ∈ Y2...

p, hH(x) ∈ Yp

(2.8)

Um classificador pode ser determinístico ou probabilístico, onde no caso probabilístico é atribuído

21

Page 38: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

a x, não uma classe, mas sim as probabilidades de pertença a cada uma das classes. Existem vá-

rias formulações de classificadores, dependendo da área e o problema de interesse. O termo treino,

geralmente associado a um classificador, é a habilidade de o classificador aprender a classificar cor-

rectamente o objecto x a partir de um conjunto de exemplos. Este trabalho aborda dois tipos de classi-

ficadores, classificadores fracos e meta-classificadores.

Um classificador fraco é tal que o seu desempenho na classificação, num determinado problema, é

ligeiramente melhor que a atribuição aleatória. Ou seja, a resposta deste classificador é ‘ligeiramente’

correlacionada com a classificação real do objecto. Este conceito de classificador fraco surge como

parte integrante do conceito de meta-classificador.

h11HxL = y1

h21HxL = y2

»

hn1

1 HxL = yn1

f Hy1, …, yn1L = 1

f Hy1, …, yn1L = -1

h12HxL = y1

h22HxL = y2

»

hn2

2 HxL = yn2

f Hy1, …, yn2L = 1

f Hy1, …, yn2L = -1

h1mHxL = y1

h2mHxL = y2

»

hnm

m HxL = ynm

f Hy1, …, ynmL = 1

f Hy1, …, ynmL = -1

Nível 1 Nível 2 Nível m

HHxL = 1

HHxL = -1

x

HHxL

Figura 2.12: Esta figura mostra uma possível estrutura de um meta-classificador, mais especificamenteem cascata. A função hij denota um classificador fraco onde i denota o nível a que pertencem e j onúmero do classificador. Estes classificadores devolvem um valor yj = −1, 1 denotando a classe doobjecto x. A função f(y1, ..., yni) pondera as várias respostas dos classificadores fracos, do respectivonível, e devolve uma classificação final para esse nível, como exemplo de função f tem-se a mediana,o objecto x passa ao nível seguinte se a classificação final do nível actual tiver sido positiva, 1.

Um meta-classificador é uma estrutura que interliga/pondera diferentes classificadores, para tentar

atingir um nível de desempenho superior a cada uma das partes que o compõem, vide figura 2.12.

Neste trabalho falar-se-á de meta-classificadores organizados em cascata num ambiente de classifica-

ção binária, ‘sim’ ou ‘não’. Esta cascata é dividida por níveis e a cada nível i é associado um número

de classificadores fracos, ni. Cada nível da cascata é caracterizado pela especificidade, habilidade

de detectar correctamente objectos que não pertençam à classe de interesse - negativos, associada

a cada um dos classificadores fracos que a compõem e, inerentemente, a sua complexidade. Há que

notar que é exigido que os classificadores fracos classifiquem correctamente a (quase) totalidade dos

objectos da classe de interesse - positivos, medido através da sensibilidade.

O intuito da estrutura em cascata é o de tentar retirar os objectos negativos, mais simples, nos pri-

meiros níveis e deixando para os últimos níveis os objectos que mais se assemelham à classe positiva.

Ou seja, este meta-classificador ao receber um objecto x fá-lo passar pelo primeiro nível da cascata.

Se este nível classificar o objecto como negativo, devido à sensibilidade elevada dos classificadores

fracos o meta-classificador atribui a classificação final como sendo negativo. Caso este nível atribua a

classificação positiva o objecto muda para o nível seguinte, onde será novamente testado. O processo

é então repetido um número de vezes igual ao número de níveis. A classificação final do objecto x será

‘positivo’, caso em que cada nível da cascata o tenha classificado como positivo, e será ‘negativo’ se

22

Page 39: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

tiver sido classificado como tal em algum dos níveis. O treino de um meta-classificador é designado por

boosting e consiste, geralmente, na procura dos classificadores fracos, e na ponderação destes, que

maximize o desempenho do classificador final.

Designa-se então por classificação a aplicação de um método, a designar, a um conjunto de imagens

que podem, ou não, ser de uma certa classe de objectos. Estas imagens devem ter uma dimensão de

acordo com a classe de objectos e o ambiente do problema. Este método, dado este conjunto de

imagens, deverá decidir quais as que têm o objecto de interesse, filtrando assim imagens positivas das

negativas, com ênfase em deixar passar o máximo6 de imagens positivas rejeitando grande parte dos

negativos. Esta classificação, e o método que a constitui, pode ser vista como um classificador fraco.

Este trabalho assentar-se-á sobre a procura e afinação de um classificador fraco para, em trabalho

futuro, ser implementado sobre um meta-classificador organizado em cascata. Tal como foi dito an-

tes, um meta-classificador é composto por vários classificadores organizados sobre uma determinada

estrutura. A estrutura, neste caso, é o de cascata. Cada nível da cascata será composto por várias

iterações do classificador fraco proposto por este trabalho. Dado um novo objecto w este será avaliado

em cada um dos níveis da cascata sucessivamente, passando ao seguinte apenas se tiver sido classi-

ficado como positivo no nível anterior. Em cada nível será feito uma ponderação sobre a classificação

do objecto w tendo em conta as respostas de cada um dos classificadores fracos que compõe o nível.

A título de exemplo, esta ponderação poderá ser baseada na ‘maioria’, ou seja, o nível i classifica o

objecto w como ‘positivo’ se mais de metade dos classificadores fracos, que o compõem, o classifiquem

como tal.

Pretende-se então criar/encontrar um classificador fraco de desempenho elevado face aos encon-

trados nos trabalhos relacionados. Este desempenho pode ser medido através de duas medidas es-

tatísticas, sensibilidade e especificidade, e pela velocidade de classificação e treino. A sensibilidade

e a especificidade, enquanto medidas estatísticas, estão associadas a classificadores binários e estão

definidas no intervalo real [0, 1]. A sensibilidade é a probabilidade de que o método de classificação

classifique um objecto como positivo sabendo que esse objecto é positivo. Esta medida pode ser es-

timada pela equação em (2.9), no entanto, na área de detecção de pedestres é utilizado a medida

miss rate que corresponde ao complementar da sensibilidade.

sensibilidade = P (Positivo |classificação real = Positivo )

=Núm. Verdadeiros Positivos

Núm. Verdadeiros Positivos + Núm. Falsos Negativos

(2.9)

A especificidade é a probabilidade de que o método de classificação classifique como negativo sa-

bendo que esse objecto é negativo. Esta medida pode ser estimada pela equação em (2.10) e, tal

como na sensibilidade, na área de detecção de pedestres são utilizados as medidas FPPJ e FPPI, res-

pectivamente falsos positivos por janela e por imagem. A medida FPPJ corresponde ao complementar

da especificidade, no entanto, a medida FFPI corresponde ao número de falsos positivos por imagem,

6Dependendo de problema em problema, ter uma alta sensibilidade é preferível a uma elevada especificidade, noutros proble-mas ocorre o inverso, sendo limites que se podem alterar de problema em problema.

23

Page 40: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

estando definida no intervalo real [0,m] onde m corresponde ao número de janelas numa imagem.

especificidade = P (Negativo |classificação real = Negativo )

=Núm. Verdadeiros Negativos

Núm. Verdadeiros Negativos + Núm. Falsos Positivos

(2.10)

Na criação de um novo classificador fraco pretende-se atingir uma elevada sensibilidade e espe-

cificidade, mantendo a velocidade de classificação e tentando, também, minimizar o tempo de treino

necessário para atingir um determinado desempenho, face aos métodos concorrentes. Em Dollár et al.

[In Press] são estudadas algumas das abordagens existentes ao problema de detecção de objectos,

assim como os métodos de classificação. Esse mesmo estudo demonstra que grande parte dos mé-

todos de classificação utilizam métodos como: Adaboost e SVM - Support Vector Machine. Decidiu-se

então estudar a abordagem de Adaboost, que é de uso mais frequente em classificadores em cascata,

e comparar directamente os resultados obtidos deste método face aos obtidos pelo algoritmo explorado

neste trabalho que será explicado posteriormente.

2.2.1 Adaboost

O método Adaboost foi introduzido em Freund and Schapire [1995] e utiliza uma técnica, denominada

por Boosting, para o treino de um meta-classificador à custa de classificadores mais fracos. A técnica

de Boosting, como se pode ler em Valiant [1984] e Freund and Schapire [1995], surgiu como resposta

afirmativa à pergunta: ‘Será possível utilizar classificadores fracos, cujo desempenho seja apenas ligei-

ramente superior ao de um método aleatório, para criar um classificador forte?’. Como existem várias

formas de formular um algoritmo de Boosting, focar-se-á a atenção toda no caso específico, e mais

estudado, do Adaboost. Para a criação de um meta-classificador, utilizando o método Adaboost e se-

guindo a definição em Freund and Schapire [1999], suponha-se que se tem um conjunto de dados para

treino formado por X e Y da forma: (x1,y1), (x2,y2), ··· , (xn,yn) . O vector xi define as características de

cada objecto i do conjunto de treino, yi = −1, 1 define a classe a que o objecto i pertence, onde −1

significa que não pertence à classe de interesse e, por oposição, 1 denota a pertença à classe de inte-

resse. Seja t = 1, · · · , T o número de iterações a considerar para a formação do meta-classificador, ou

por outras palavras, o número de classificadores fracos a considerar. A cada iteração do método será

associado um peso aos vários objectos no conjunto de treino, onde inicialmente todos têm o mesmo

peso, no entanto, na iteração t o objecto i terá o peso Dt(i), que aumenta se o classificador fraco, em t,

falhar a sua classificação. Este processo permite que, de iteração para iteração, o próximo classificador

fraco foque a aprendizagem nos objectos que, até à altura, não tenham sido classificados correcta-

mente. Um classificador fraco, ht : X → −1, 1, tenta minimizar o erro de má classificação de acordo

com Dt−1. O erro de má classificação é definido por (2.11):

εt = P [ht(xi) 6= yi] =∑

i:ht(xi)6= yi

Dt(i) (2.11)

24

Page 41: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Após se ter descoberto o classificador fraco, ht, com menor erro de má classificação, a distribuição

dos pesos Dt é actualizada para Dt+1. Esta actualização é elaborada de acordo com (2.12), onde

αt = ln(√

1−εtεt

), quantifica a importância/qualidade do classificador ht. Note-se que αt ≥ 0 se εt ≤ 1

2

e αt é maior quanto menor for εt7.

Dt+1(i) =Dt(i)

Zt×e−αt ,se ht(xi)=yi

eαt ,se ht(xi)6=yi=Dt(i)e

−αtyiht(xi)

Zt=

D′t(i)∑i

D′t(i), (2.12)

onde Zt é um factor utilizado para garantir que Dt+1 seja uma distribuição de probabilidades, neste

caso corresponde à soma de todos os pesos actualizados.

Para finalizar a descrição do método Adaboost resta apresentar o meta-classificadorH, apresentado

em (2.13) e definir um método de paragem. Este algoritmo atribui a classificação −1 e 1 de acordo com

os classificadores fracos ht, com t = 1, · · · , T , e os respectivos coeficientes de qualidade/importância

αt, novamente t = 1, · · · , T . O método de paragem pode ser definido a priori, ao fixar o valor de T , ou

in loco consoante a distribuição de Dt ou então com o auxilio de um conjunto de validação, parando o

treino quando atingido uma determinado desempenho.

H(xi) = sign

T∑t=1

αtht(xi)

(2.13)

Para a aplicação do método Adaboost neste trabalho implementou-se em R o algoritmo apresen-

tado em Freund and Schapire [1999]. A classe de classificadores fracos utilizada é a classe baseada

em divisões ortogonais no espaço dos descritores, que minimizem o erro de classificação, estes clas-

sificadores são usualmente designados por Decison Stumps na literatura inglesa. Um exemplo de um

classificador fraco ht, pertencente a esta classe, pode ser visto na figura 2.13 e definido em (2.14),

onde x é descrito à custa de duas variáveis de interesse, var 1 e var 2.

ht(x) =

1, se x2≤−2−1, c.c. (2.14)

7 ∂∂εt

(αt) ∝ − 1ε2t

25

Page 42: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

0 5 10 15 20

−5

05

10

Classificador fracobaseado em divisões ortogonais

var 1

var

2

−2

NegativosPositivos

Figura 2.13: Esta figura ilustra um classificador fraco baseado em divisões ortogonais, num espaço dedados descritos à custa de duas variáveis. Este classificador fraco corta a variável var 2 no ponto −2e atribui a classificação negativa (−1) a todos os objectos que tenham valor em var 2 superior a −2, eatribui a classificação positiva caso contrário.

26

Page 43: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Capítulo 3

Redução de dimensionalidade e

regras de detecção de outliers

3.1 Redução de dimensionalidade

A Análise de Componentes Principais consiste no método matemático de transformação dos dados

para um novo sistema de coordenadas, onde cada coordenada deste novo sistema é ortogonal às res-

tantes, e onde a projecção dos dados originais neste sistema de coordenadas é tal que: a projecção

dos dados que tenha maior variância coincida com a primeira coordenada; a projecção que levar à se-

gunda maior variância coincida com a segunda coordenada; etc. Cada uma destas novas coordenadas

são respectivamente designadas por: primeira componente principal; segunda componente principal;

etc. Este método permite que dado um novo objecto, com propriedades semelhantes aos dos dados

utilizados para a criação do novo sistema de coordenadas, possa ser projectado neste sistema de co-

ordenadas. Caso este novo objecto pertença à mesma classe de objectos, que os dados originários

das componentes principais, então é esperado que esta projecção mantenha a variabilidade original,

não sofrendo alterações, caso não pertença é de esperar que o inverso aconteça, e que a informação

inerente a este objecto seja perdida na projecção, caso em que se designa como outlier ao conjunto de

treino.

De seguida explica-se o processo de analise de componentes principais seguindo a notação pre-

sente em Jolliffe [2002]. Seja d um vector de p variáveis aleatórias e seja D o conjunto formado por

várias observações de d. O conjuntoD pode ser visto como uma matriz de dimensões m×p, ou seja, m

objectos/indivíduos por p covariáveis que descrevem cada um destes objectos. As noções de variabili-

dade, correlação e assim como covariância, estão associadas ao conjunto D e exprimem a informação

presente neste conjunto. A variabilidade mostra o quão diferentes são os objectos que compõem D,

correlação e covariância mostram a ligação existente entre os vários objectos de D. Como por vezes

os valores de m e p são elevados, a análise destas propriedades de D torna-se difícil e, portanto,

surge a necessidade de utilizar um método que o facilite, é nesta necessidade que surge a análise de

componentes principais - PCA. A análise de componentes principais procura novas covariáveis de tal

27

Page 44: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

forma que, com um número reduzido ( p), preservem a informação presente em D utilizando para

tal a variabilidade, covariância e correlação existente no conjunto. A primeira componente principal,

ou seja, a primeira covariável que maximiza a variabilidade nos dados é dada por α1, onde α1 é um

vector de p elementos α11, · · · , α1p. A segunda componente principal é dada por α2 e é tal que maxi-

miza a variabilidade presente em D ao mesmo tempo sendo não correlacionada com α1. A k-ésima

componente principal αk é tal que, como nos casos anteriores, maximiza a variabilidade presente em

D sendo em simultâneo não correlacionada com α1,α2, · · · ,αk−1. Caso se pretenda projectar o con-

juntoD numa dimensão inferior k < p para, por exemplo, visualização gráfica da distribuição dos dados

(k = 2), a projecção é feita como descrito em (3.1), onde Ak =(α′

1, α′2, ··· , α

′k

)e ′ denota o operador

de transposição usual.

Dm× k =

d11 d12 · · · d1p

d21 d22 · · · d2p...

.... . .

...

dm1 dm2 · · · dmp

m× p

.[α′1 α′2 · · · α′k

]p× k

= D.A (3.1)

Seja D a matriz de dados de dimensão m×p onde, as m linhas dizem respeito aos m indivíduos

e as p colunas às p variáveis de interesse que descrevem cada indivíduo. A matriz de dados D pode

ser transformada na matriz de dados centrada X (ou seja, a média de cada variável, sob os indivíduos,

é nula), obtida de D por remoção da média amostral a cada variável de interesse, X = D − µ1.

Considere-se agora a decomposição em valores singulares (SVD) apresentado em Jolliffe [2002], de

X, X = ULA′. Onde as matrizes U e A, de dimensão m×r e p×r respectivamente, são compostas

por colunas ortonormadas tal que: U ′U = Ir, A′A = Ir. A matriz L é uma matriz diagonal r×r,

cuja diagonal contém a raiz quadrada dos valores próprios de X′X. Cada coluna da matriz A, de

dimensão p×r, corresponde aos vectores próprios de X′X e a matriz U aos vectores próprios de

XX′. Caso r = rank(X) < p, ou seja, se houver observações em X dependentes, a decomposição

SVD não será única, este caso não será explorado em detalhe mas, para um leitor mais interessado,

pode encontrar em Jolliffe [2002] alternativas e soluções. Assume-se também que, para este trabalho,

r = rank(X) = p. A redução de dimensionalidade deX para k, por outras palavras a projecção destes

dados nas k primeiras componentes principais, pode ser efectuada, em semelhança a (3.1), da forma

apresentada em (3.2).

Xm× k = Xm× p.Akp× k (3.2)

Dada uma nova observação w descrita à custa de p variáveis de interesse, pode-se projectar esta

observação no subespaço gerado pelas k componentes principais calculadas para D. Esta projecção

é então conseguida de acordo com (3.3).

w = (w − µ) .Ak (3.3)

1µ =[

¯[D].1,¯[D].2, · · · , ¯[D].p

]. Usa-se a notação [A].i e [A]i. para representar a i-ésima coluna e a i-ésima linha, respecti-

vamente, da matriz A.

28

Page 45: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Cada componente principal, ou vector próprio, pode ser visto como a interligação entre as várias

variáveis de interesse, no entanto, a independência entre componentes só pode ser garantida caso as

variáveis de interesse o sejam. Sabendo como fazer a redução de dimensionalidade, resta a questão:

‘Qual o menor valor possível de k garantindo, em simultâneo, que a perda de informação seja mínima?’.

Tal como foi dito anteriormente, cada componente principal tem associada uma certa taxa da va-

riabilidade existente nos dados originais. Caso se considere todas as componentes principais, então

a variabilidade associada a estas é a variabilidade total dos dados, não havendo qualquer compac-

tação de informação. Os valores próprios associados à matriz diagonal L correspondem à varia-

bilidade de cada uma das componentes principais que, por construção, estão ordenadas de forma

crescente/decrescente. Dois métodos possíveis para a escolha do número de componentes são os

seguintes: Método do cotovelo, onde a escolha das k primeiras componentes principais decorre de

uma análise do gráfico dos valores próprios, onde o valor próprio k encontra-se na zona de ‘cotovelo’

deste; Fixando uma taxa de variabilidade mínima pretendida δ, usualmente 80% (vide Jolliffe [2002]

para outros métodos de selecção), neste caso, o número k de componentes principais é dado por:

k = argminj

j∑i=1

λi

n∑i

λi

≥ δ (3.4)

Neste trabalho utilizar-se-á outro método de selecção do número k, este método consistirá na aná-

lise do desempenho do classificador fraco associado à detecção de outliers após a reconstrução com

base na análise de componentes principais.

3.2 Detecção de outliers

Antes de se descrever o método de detecção de outliers, tentar-se-á definir o que é um outlier. Existem

várias tentativas de definir formalmente um outlier tal como é dito em Jolliffe [2002], mas de uma forma

geral pode dizer-se que um outlier é uma observação, num grupo de n > 1 indivíduos provenientes

de uma amostra aleatória, que se diferencia invulgarmente dos restantes. Este tipo de observações

podem ocorrer por erros na extracção de informação, erros de cálculo, ou pode, como em Zehr [1994],

ser uma observação descritiva de um fenómeno/acontecimento atípico e que, nestes casos, pode ser

importante identificar.

Neste trabalho o conjunto de dados ditos ‘normais’ serão imagens de uma pessoa, ou seja, um

outlier será uma imagem que não contenha uma pessoa. A seguir descreve-se uma técnica de identi-

ficação de outliers no cenário de detecção de pedestres após a aplicação de análise de componentes

principais a um dado conjunto de treino.

Mantendo a notação da secção anterior, suponha-se que D é o conjunto de treino formado por vá-

rias observações distintas, d, de uma determinada classe de objectos, e.g. imagens de seres humanos

em posições verticais, e que k são as componentes principais associadas a D. O classificador fraco

consistirá em: remover a média a uma observação nova x, w; projectar/comprimir w nas k compo-

29

Page 46: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

nentes escolhidas, obtendo w; analisar a distância de w a w, ou seja, analisar a perda de informação

associada à compressão; analisar a distância de w ao centro do subespaço gerado pelas projecções

dos vários objectos emD, D; por fim com uma técnica de detecção de outliers irá fazer a classificação,

classificando como negativo os outliers detectados. Na figura 3.1 encontra-se uma ilustração destas

duas distâncias. A distância de uma projecção w ao seu elemento originário w, designando-se por

‘Distância Ortogonal’, tal como apresentado em Branco and Pires [2011]. Esta distância surge no âm-

bito de detecção de outliers, procurando um valor de corte nesta a partir do qual se pode afirmar, com

determinada confiança, que um elemento não pertence ao grupo em questão. A distância ortogonal,

OD(.), de w a w, é definida em (3.5).

ODk(w) =

(‖w − µ‖22 −

k∑i=1

((w − µ)

′α′i)2)1/2

=

(‖w − µ‖22 −

k∑i=1

w2i

)1/2

=(‖w − µ‖22 − ‖w‖22

)1/2=(‖w − µ‖22 − ‖w.Ak‖22

)1/2, (3.5)

onde ‖.‖22 denota o quadrado da norma euclidiana de um vector, que corresponde à soma do quadrado

de todas as entradas do respectivo vector.

A ‘Distância de Mahalanobis’ define a distância, de uma determinada projecção w, ao centro do

subespaço, gerado por X. Esta distância foi também estudada em Branco and Pires [2011], num

contexto de identificação de outliers. Neste método, em semelhança ao anterior, considera-se um

determinado objecto como outlier se: a sua distância ao centro de X for superior a um nível predefinido,

nível este, associado geralmente a um certo quantil de probabilidade. A distância de Mahalanobis de

w é definida por (3.6).

MDk(w) =

[k∑i=1

((w − µ)

′α′i)2

λi

]1/2

=

[k∑i=1

w2i

λi

]1/2= ‖w.Ak.

1

Lk2 ‖

1/2

(3.6)

note-se o abuso de notação em 1Lk

2 , que corresponde à matriz diagonal: diag(

1λ21, 1λ22, · · · , 1

λ2k

).

Na figura 3.1 pode ser visualizado um gráfico que ilustra o que é a distância de Mahalanobis e a

distância ortogonal no caso em que k = 2. Este gráfico foi criado apenas com o propósito de ilustrar

estas distâncias e, como tal, os dados foram todos gerados aleatoriamente.

Como foi dito anteriormente, serão necessários dois níveis, um por cada distância estudada, para

30

Page 47: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

DistânciaMahalanobis

w

DistânciaOrtogonal

w

-2

0

2

4

-2

0

2

4

Figura 3.1: Nesta figura pode-se observar uma nuvem de pontos a roxo que correspondem a simula-ções de objectos de um conjunto D e as respectivas projecções em duas dimensões, k = 2. A laranjaencontra-se um novo objecto w que é projectado em w (vermelho) de acordo com as k = 2 compo-nentes. A distância ortogonal de w consiste na distância entre w e w e a distância de Mahalanobiscorresponde à distância entre w e o centro da nuvem (a azul). (Esta imagem deverá ser vista a cores.)

a decisão se dada projecção é, ou não, um outlier. A estes níveis irá-se designar por ‘limiares’ e para

terminar o estudo de cada um dos métodos aplicados neste trabalho, irá-se explorar, e definir, duas

técnicas para o cálculo desses limiares para as distâncias ortogonal e Mahalanobis. Estes limiares,

CODk e CMDk , serão calculados com base em dois conceitos, cobertura e confiança. O conceito

de cobertura, p1, refere a área de exemplos positivos que o respectivo limiar abrange, definido por

P (ODk(w) ≤ CODk |wPositivo ) e P (MDk(w) ≤ CMDk |wPositivo ). Pretende-se que a área de co-

bertura seja máxima, garantindo assim que não se classifica erradamente um verdadeiro positivo. O

conceito de confiança, p2, diz respeito ao nível de confiança associado a essa área de cobertura. Este

conceito permite garantir o valor de p1, mesmo para observações exteriores ao conjunto original. Ou

seja, pretende-se que, dado w, se tenha (3.7) e (3.8) com nível de confiança p2OD ' 1 e p2MD ' 1.

p+1OD = P [ODk(w) ≤ CODk |y(w) = 1] ' 1 (3.7)

p+1MD = P [MDk(w) ≤ CMDk |y(w) = 1] ' 1 (3.8)

p−1OD = P [ODk(w) ≤ CODk |y(w) = −1] ' 0 (3.9)

p−1MD = P [MDk(w) ≤ CMDk |y(w) = −1 ] ' 0 (3.10)

Neste trabalho fixar-se-ão os valores de p1 e p2 para ambas as distâncias e, com estes valores,

calcular CODk e CMDk , tentando em simultâneo minimizar p−1 (para ambas as distâncias).

Seja então D o conjunto de treino utilizado para construir o subespaço de componentes principais

da classe de interesse. Seguindo a abordagem de Branco and Pires [2011], consideram-se as dis-

31

Page 48: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

tâncias ortogonais, elevadas a 2/3, aproximadas por uma distribuição normal de média µ e variância

σ2. Nesse caso podem ser utilizadas estimativas robustas, µ e σ, para µ e σ. Estas estimativas são

dadas pela mediana e Qn de OD2/3i , onde ODi, i = 1, · · · ,m, corresponde à distância ortogonal do

i-ésimo elemento no conjunto de treino. A estimativa dada por Qn é explorada em Rousseeuw and

Croux [1993], correspondendo a uma estimativa robusta para o valor do desvio padrão de uma amostra

normal. Com estas suposições o valor CODk é dado por (3.11).

CODk(p1, p2) =(µ+ tn−1,p2

(zp1√n) σ√

n

)3/2 (3.11)

onde tdf,p2(x) consiste no quantil p2 de uma distribuição t-student não central com df graus de liberdade

e parâmetro de não-centralidade x e zp1 é o quantil p1 de uma distribuição normal com média 0 e desvio

padrão 1.

O limiar para a distância de Mahalanobis não é de cálculo directo e, mesmo assumindo a normali-

dade dos dados, não têm uma solução exacta. Em Lee and Mathew [2004] é apresentada um método

para o cálculo de uma estimativa deste limiar. No entanto esta estimativa foi obtida por estudo de

simulações de monte carlo, simulações estas sobre o cálculo deste limiar.

O cálculo de CMDk(p1, p2) é então dado por (3.12), no entanto é fortemente aconselhado a leitura

de Branco and Pires [2011] e Lee and Mathew [2004].

d =

√1

n

e = k(1 + d2)2

d4

f =d4

1 + d2

δ = d2d2(k + 2) +

√d4(k + 2)2 + (2d2 + 1)k(k + 1)

2d2 + 1

C2MDk

(p1, p2) =(n− 1) · e · f(n− k)(k + δ)

· χ2k,p1(δ) · Fe,n−k,p2 (3.12)

onde χ2k,p1

(δ) devolve o quantil p1 de uma distribuição χ2 não central, com k graus de liberdade e δ

como parâmetro de não-centralidade, Fe,n−k,p2 denota o quantil p2 de uma distribuição F com (e, n−k)

graus de liberdade.

Neste trabalho considerou-se que o nível de confiança para ambas as distâncias seriam iguais, tal

como a probabilidade de cobertura serem iguais em ambas, ou seja, p2OD = p2MD e p1OD = p1MD = p1,

deixando a procura de melhores parâmetros como trabalho futuro.

Para melhor integrar o que foi introduzido neste capítulo, irá ser exposto um exemplo ilustrativo de

como todo o processo está encadeado. Desde o tratamento de imagem, à extracção de informação das

componentes principais, terminando com a projecção de um elemento nestas componentes e análise

de outliers.

32

Page 49: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Exemplo ilustrativo

Este exemplo será executado no cenário Gauss, ou seja, as imagens serão transformadas em tons-

de-cinza, de seguida irá ser aplicado uma máscara gaussiana a toda a imagem. Este exemplo será

aplicado sobre a base de dados MIT pedestrian data set2. Esta base de dados é bastante simples,

contendo imagens recortadas de pessoas em posições rectas, estas imagens têm 128 píxeis de altura

e 64 píxeis de largura. É um conjunto de 924 imagens, no entanto existem 4 imagens repetidas (ima-

gens 1, 21, 25 e 26), perfazendo um total de 920 imagens, que será dividido num conjunto de 919 e

num conjunto singular, o primeiro conjunto será utilizado como treino, D, e o segundo como teste, w.

Considere-se a imagem em 3.2.a), de um homem, que doravante será o ‘Steve’, esta será a imagem

no conjunto singular, ou seja, a imagem que se testará se contém, ou não, um ser humano.

A imagem do Steve será transformada numa imagem em tons-de-cinza, vide 3.2.b), de seguida

será aplicado um filtro gaussiano de dimensão 3×3 dando 3.2.c) como resultado. Este processo será

replicado em cada uma das restantes imagens no conjunto de treino. Terminado a extracção de carac-

terísticas, parte-se para a fase de classificação onde se considera o método de detecção de outliers

baseado na análise de componentes principais. Seguindo os passos na secção 3.1, onde D é o con-

junto treino, é necessário retirar a este conjunto a média do conjunto por variável de interesse, ou seja

µ, que será um vector de dimensão (64×128) e que, se transformado numa matriz pode ser visualizado

como uma imagem, sendo a figura em 3.3.a) esta média e em 3.3.b) a imagem do Steve subtraindo

esta média.

Tendo agora o conjunto X, em que a linha i corresponde ao indivíduo di de D retirado da média µ,

resta calcular as componentes principais, que será utilizado a função prcomp, do ambiente de progra-

mação R, no entanto estas poderiam ser calculadas à mão, ou noutro ambiente, calculando os vectores

próprios de X′X. Na figura 3.4 pode-se observar as 9 primeiras componentes principais associadas a

X, e em 3.5 a energia acumulada associada a cada uma destas.

(a) (b) (c)

Figura 3.2: A imagem em (a), é o exemplo ‘per00007’ do conjunto de dados do MIT, exemplo denomi-nado neste trabalho por Steve. A imagem em (b) corresponde à anterior (a) transformada para tons decinza. Em (c) corresponde à (b) após a aplicação de uma máscara gaussiana de dimensão 3×3.

A elaboração de um estudo sobre estas componentes, revela que a primeira componente está asso-

ciada à correlação/variabilidade associada a cada píxel onde se encontram as pessoas nestas imagens.

A segunda componente demonstra um fenómeno interessante, que é o facto de estar a dar importância

à relação entre o chão e o céu nas imagens, pois neste conjunto, tipicamente, as pessoas estão sobre

2Esta base de dados encontra-se disponível em http://cbcl.mit.edu/software-datasets/PedestrianData.html.

33

Page 50: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) (b)

Figura 3.3: A imagem em (a) corresponde à media do conjunto D, proveniente dos dados do MIT. Aimagem em (b) corresponde à imagem em 3.2.c) onde fora subtraído a média amostral em (a).

um chão escuro e um céu claro. A terceira componente realça a parte do tronco, sendo a terceira maior

fonte de variabilidade dos dados. A quarta componente dá importância à zona das pernas. Pode-se ob-

servar então, que a primeira componente, a terceira e a quarta, são componentes que descrevem com

bastante detalhe a informação associada à classe descrita pelas pessoas neste conjunto. Fazendo a

redução de dimensionalidade para k = 1 e k = 120 no conjunto X, obtém-se os conjuntos X1 e X120.

Calculando as distâncias ortogonais e de Mahalanobis associada a estes conjuntos, assim como os

limiares para p1 = p2 = 0.999 de cada uma das distâncias, e por fim, fazendo um gráfico da distâncias

ortogonais vs. distâncias de Mahalanobis, adicionando os limiares de cada uma, obtém-se o gráfico em

3.6.

Analisando a figura 3.6.a), pode-se concluir que dado uma nova observação, neste caso o Steve,

este será considerado como ser humano se a distância ortogonal e de Mahalanobis, associado à sua

imagem, for inferior a ' 6970.46 e ' 3.55, respectivamente. Calcule-se agora a projecção da imagem do

Steve,w. Primeiro é necessário retirar aw a média amostral deD, µ, obtendo a figura 3.3.b), e fazendo

a projecção nas k componentes escolhidas, obtendo assim w1 e w120. Calculando a distância de

Mahalanobis de wk ao subespaço gerado pelas k componentes principais e a sua distância ortogonal,

ou seja a distância de w a w, obtém-se o resultado apresentado na figura 3.6.a) e .b). Ou seja, como

se pode facilmente concluir, o Steve é de facto um ser humano, de acordo com o método aplicado neste

exemplo.

34

Page 51: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 3.4: Esta imagem corresponde às primeiras 9 componentes principais calculadas sobre D,proveniente dos dados do MIT

Figura 3.5: Esta imagem ilustra a energia acumulada associada a cada uma das componentes princi-pais, a vermelho denota o número de componentes principais escolhidas de acordo com o método do‘cotovelo’, ou seja k = 120.

35

Page 52: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a)

(b)

Figura 3.6: Ambas as imagens presentes nesta figura dizem respeito à ligação entre a distância deMahalanobis e a distância ortogonal no conjunto de treino e os limiares de decisão para cada umadestas para um nível de confiança a 0.999 e probabilidade de cobertura: p1 = 0.999. A imagem em(a) corresponde ao caso em que k = 1 e a imagem em (b) ao caso k = 120. O ponto a vermelhocorresponde ao ponto (distância de Mahalanobis, distância ortogonal) do Steve.

36

Page 53: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Capítulo 4

Resultados

Neste capítulo será feita a análise de dois métodos diferentes de classificação, Análise de Outliers e

Adaboost a uma base de dados. A base de dados escolhida para treinar e testar os classificadores, foi:

INRIA person dataset, introduzida em Dalal and Triggs [2005]. Primeiramente será feita uma pequena

análise sobre esta base de dados, justificando a razão da sua escolha, assim como as suas caracterís-

ticas gerais. Após esta análise, será então exposta a metodologia utilizada para avaliar o método e o

classificador, e por fim apresentam-se os resultados obtidos.

4.1 Análise da base de dados

Esta base de dados foi inicialmente introduzida no trabalho Dalal and Triggs [2005] com o intuito de

criar um conjunto de dados que se mostrasse desafiante face à base de dados MIT, introduzido em

Oren et al. [1997]. As tabelas 4.1 e 4.2 ilustram as propriedades mais relevantes do conjunto INRIA.

Este conjunto de dados está dividido em dois sub-conjuntos. O primeiro, conjunto de treino, é composto

por 2416 exemplos positivos e 1218 exemplos negativos. Os exemplos positivos correspondem a foto-

grafias recortadas de pessoas, onde apenas metade destas são únicas, a outra metade é a reflexão

destas sobre um eixo vertical. Diz-se que as fotografias são recortadas, pelo facto do tamanho destas

corresponder ao tamanho da pessoa nelas presentes, vide figura 4.1.

Figura 4.1: Esta imagem ilustra o formato das imagens positivas existentes no conjunto de treino dosdados INRIA. A este tipo de imagem, cuja altura e largura corresponde à de uma pessoa, é designadopor ‘janela’.

37

Page 54: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Todos os exemplos positivos têm uma dimensão de 96 píxeis de largura e 160 pixeis de altura,

onde a pessoa está ao centro desta, com uma margem de 16 píxeis em cada lado, ou seja, a caixa

correspondente a cada pessoa tem como dimensão: 64 píxeis de largura, por 128 píxeis de altura. Esta

dimensão, 64 píxeis de largura e 128 píxeis de largura, será a utilizada doravante como a dimensão das

imagens no processo de detecção. Os exemplos negativos correspondem a fotografias em que não está

presente qualquer pessoa. O conjunto de teste, tal como o conjunto de treino, está dividido em positivos

e negativos. O conjunto de positivos contém 288 fotografias, em cada uma destas existe pelo menos

uma pessoa, existindo alguns exemplos com crianças e outros de ajuntamentos de pessoas. A maioria

destas fotografias não são realistas, num âmbito de sistema de detecção de pedestres para veículos,

por exemplo: fotografias de pessoas numa encosta de uma montanha; vista elevada de crianças a

jogar futebol; etc, existindo, no entanto, alguns casos de oclusão parcial, e.g. uma pessoa em frente de

outra. Os exemplos negativos são idênticos aos do conjunto de treino, sendo fotografias de paisagens,

estradas, entre outros, em que não está presente qualquer pessoa. Associados aos exemplos positivos,

de ambos os conjuntos, estão os termos ‘ground truth’ e ‘bounding box’. Um ground truth, corresponde

à localização de uma ou mais pessoas, numa determinada imagem, sendo portanto a localização dos

positivos em cada imagem. O termo bounding box corresponde ao menor rectângulo que engloba o

positivo numa determinada imagem, ou seja, ao rectângulo do ground truth.

Positivos NegativosNúm. Imagens Núm. Pessoas Núm. Imagens

Treino 1208 1208 1218Teste 288 589 453

Tabela 4.1: Sumário estatístico da base de dados INRIA person dataset. Deve mostrar-se que o númerode imagens positivas no conjunto de treino não tem em conta as repetições por simetria.

Altura LarguraQ10% Mediana Q90% Q10% Mediana Q90%

Treino - 64 - - 128 -Teste 139 279 456 47 92 164

Tabela 4.2: Sumário estatístico sobre a altura e largura, em píxeis, dos exemplos positivos no conjuntode treino e Validação, da base de dados INRIA. Qp×100% representa o quantil amostral de ordemp× 100%.

4.2 Metodologia

No decorrer do trabalho presente nesta tese, foram identificados dois problemas associados à detecção

de padrões em imagens, mais especificamente, na detecção de pessoas em imagens. Ambos os pro-

blemas surgiram durante a avaliação dos métodos/classificadores. O primeiro diz respeito à habilidade

do método/classificador classificar correctamente um exemplo como positivo, ou negativo, no caso em

que os exemplos positivos correspondem a pessoas centradas e com a altura e largura coincidentes

com a altura e largura da janela de pesquisa. O segundo problema, advém do anterior e está associado

à habilidade do método/classificador em detectar correctamente os positivos, no caso em que estes são

38

Page 55: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

obtidos através de um método de procura na imagem de interesse. Ou seja, será necessário percor-

rer com janelas cada imagem, estas janelas podem não conseguir captar correctamente uma pessoa.

Caso a janela não capte correctamente a pessoa, o classificador dificilmente irá identificar essa janela

como sendo uma pessoa. Tendo em conta estes dois problemas, optou-se por os separar, analisando o

desempenho dos métodos em cada um dos dois. Como tal, aplicou-se duas metodologias, que serão de

seguida explicitadas, metodologias estas que serão utilizadas em ambos os métodos/classificadores.

4.2.1 Metodologia - Classificação

De modo a poder-se analisar o desempenho de um determinado método, apenas na habilidade de

classificar correctamente uma janela, abstraindo assim o método do problema de detecção de um

pedestre numa imagem, optou-se por dividir o conjunto de treino, referido em 4.1, em novos conjuntos

de treino, validação e teste. Esta decisão foi tomada tendo em conta os resultados apresentados na

tabela 4.2, que mostra a variabilidade da altura e largura dos píxeis nos exemplos positivos no conjunto

de treino e também tendo em conta o número, relativamente elevado, de exemplos positivos disponíveis.

Portanto, denotando com † os conjuntos de treino, validação e teste para esta metodologia, a divisão

será então feita da seguinte forma: 60% para Treino†; 30% para Validação†; 10% para Teste†. Os

exemplos negativos sofrerão uma divisão idêntica, no entanto serão retiradas aleatoriamente apenas

10 janelas por imagem negativa. Na tabela 4.3 encontra-se ilustrado o número de exemplos, agora

existentes, para esta metodologia.

Positivos NegativosNúm. Imagens Núm. Pessoas Núm. Janelas

Treino† 724 724 7300Validação† 362 362 3650

Teste† 122 122 1230

Tabela 4.3: Dimensões dos conjuntos de treino†, validação† e teste† para a avaliação da classificaçãode uma janela.

Tendo estes novos conjuntos de treino, validação e teste a abordagem será similar à explicada

no capítulo 2. As imagens serão processadas de acordo com a(s) transformação(ões) pretendida(s),

mencionadas na secção 2.1, tendo sido inicialmente transformadas em tons-de-cinza. Após terem

sido processadas realiza-se uma amostragem aleatória, sem reposição, deste conjunto de imagens em

conjunto de Treino†, conjunto de Validação† e de Teste†, de acordo com as dimensões apresentadas

na tabela 4.3, permitindo assim introduzir uma componente de variabilidade nos resultados. Termi-

nada a divisão em subconjuntos, utilizar-se-á o conjunto de treino† para treinar o método/classificador

de interesse. Tendo o método/classificador treinado, analisa-se o desempenho deste no conjunto de

validação†, ajustando os parâmetros de forma a tentar maximizar o seu desempenho. Ao obter os re-

sultados pretendidos, validar-se-á o modelo no conjunto de teste†. Pretende-se, com esta abordagem,

minimizar ambiguidades provenientes de afinações de parâmetros e/ou da variabilidade presente no

conjunto de treino†. É de notar que, sempre que se pretende treinar e avaliar um classificador novos

conjuntos de treino†, validação† e teste† serão criados.

39

Page 56: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.2.2 Metodologia - Detecção e Classificação

Ao ter sido avaliada a capacidade de um método classificar correctamente um dado exemplo, segue-

se o passo seguinte, a avaliação do desempenho quando é necessário executar uma procura sobre

a imagem e avaliar os resultados por imagem. Neste contexto, irá ser utilizado o conjunto de treino

original enquanto que o conjunto de teste será dividido em dois subconjuntos: conjunto de Validação‡;

conjunto de Teste‡. Na tabela 4.4 são apresentadas as características dos conjuntos utilizados nesta

metodologia. Tal como no caso anterior, o conjunto de treino, validação‡ e teste‡ irão ser reamostra-

dos sempre que forem utilizados, no entanto, uma mesma imagem só poderá estar presente num dos

conjuntos. Em semelhança à metodologia na subsecção 4.2.1, o método/classificador será treinado no

conjunto de treino. Seguidamente será aplicado sobre o conjunto de Validação, utilizando o desempe-

nho neste conjunto para reajustar os parâmetros provenientes da metodologia anterior, e assim tentar

atingir um desempenho superior. Por fim, o método/classificador será avaliado no conjunto de Teste‡,

cujos resultados serão apresentados neste capítulo. No entanto, na fase de validação‡ e teste‡, não

serão utilizadas imagens negativas, pois as imagens positivas são compostas por janelas positivas e

negativas, não sendo assim necessário avaliar os métodos em imagens que não contenham janelas

positivas.

Positivos NegativosNúm. Imagens Núm. Pessoas Núm. Janelas

Treino 724 724 7300Validação‡ 201 - -

Teste‡ 87 - -

Tabela 4.4: Descrição das dimensões dos conjuntos de treino‡, validação‡ e teste‡ para a avaliaçãoda detecção e classificação de janelas em imagens, sobre o conjunto de dados INRIA. O número depessoas no conjunto de Validação‡ e Teste‡ não pode ser explicitado pois varia consoante as imagensselecionadas em cada um dos conjuntos na reamostragem, assim como o número de janelas negativas.

Esta metodologia diferencia-se da anterior pois a avaliação do classificador é sobre a divisão de

uma imagem em janelas. E é sobre estas janelas que o classificador avalia a existência, ou não, de um

pedestre.

Como as dimensões e posição de um pedestre, numa dada imagem, são incertas será necessário

redimensionar a imagem e dividi-la em janelas. Para maximizar a probabilidade de se encontrar o

pedestre na imagem será necessário considerar-se um número razoável de redimensionamentos e que

possa haver sobreposição entre janelas. Quanto maior sobreposição entre janelas houver, maior será

o número de janelas por imagem. O aumento do número de redimensionamentos também conduz ao

aumento do número de janelas.

Devido a limitações de tempo associadas a este trabalho, optou-se por usar apenas quatro tipos de

redimensionamento: a imagem original; contracção para 2/3 do original; contracção para 1/2 do origi-

nal; e, por fim, uma contração para 2/5 do original. Optou-se também por considerar uma intersecção

de 30 píxeis entre janelas sucessivas, que corresponde, sensivelmente, a metade da menor dimensão

de uma janela, ou seja metade de 64 píxeis.

40

Page 57: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Class. Real1 -1

Classificador 1-1

V.P. F.P.F.N. V.N.

Tabela 4.5: Tabela de nomenclatura das classificações. V. - Verdadeiro. P. - Positivo. F. - Falso. N. -Negativo.

4.2.3 Avaliação

Nesta secção será explicitado o input de um classificador, o cálculo do groundtruth por imagem e, por

fim, os tipos de detecções existentes: verdadeiro positivo; falso positivo; falso negativo; verdadeiro

negativo. Cada um dos classificadores estudados recebe uma imagem como input, divide-a em janelas

de tamanho 128×64 e classifica cada uma destas janelas como sendo positivo ou negativo, ou seja, em

como contém ou não um ser humano, respectivamente.

O nome groundtruth está associado à verdadeira classificação dessa janela. No conjunto INRIA são

disponibilizadas anotações para cada uma das imagens no conjunto de teste, desde que contenham

pelo menos uma pessoa. No conjunto de treino uma imagem positiva coincide com a janela da pessoa,

não sendo necessário anotações sobre a presença e local dessa pessoa na imagem. Estas anotações

indicam o número de pessoas por imagem e a respectiva posição na imagem. Neste trabalho, estas

anotações serão alteradas por forma a indicar, por janela e por redimensionamento da imagem original,

a classificação real desta. Considera-se uma janela w de uma dada imagem I, com n indivíduos e

respectivas anotações das posições destas GTi, i = 1, · · · , n. Esta janela w dá origem a uma nova

anotação que é classificada como positivo, 1, de acordo com a relação em 4.1.

Anotação (janela) =

1 , ∃1i∈1,··· ,n :

Área(janela

⋂GTi

)Área(janela

⋃GTi

) ≥ 0.5

−1 , c.c.

(4.1)

Tendo estas novas anotações, considera-se a classificação de um classificador como verdadeiro

positivo ou verdadeiro negativo, caso a classificação deste coincida com a verdadeira (groundtruth).

Considera-se falso positivo se o classificador atribuir positivo a um negativo, por fim, um falso negativo

é designado aos exemplos em que o classificador atribui negativo e a sua classificação real é verdadeiro

(groundtruth), vide a tabela 4.5.

41

Page 58: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.3 Resultados - Classificação

Nesta secção, e na seguinte, constarão os resultados dos (19) cenários, em dois classificadores fracos

diferentes, ou seja: 1 - Normal; 2 - Gauss; 3 - Hist; 4 - Sobel1D; 5 - Sobel2D; 6 - Sobel1D_HOG; 7 -

Sobel2D_HOG; 8 - Gauss_Sobel1D; 9 - Gauss_Sobel2D; 10 - Gauss_Sobel1D_HOG; 11 - Gauss_Sob

el2D_HOG; 12 - Hist_Sobel1D; 13 - Hist_Sobel2D; 14 - Hist_Sobel1D_HOG; 15 - Hist_Sobel2D_HOG;

16 - Gauss_Hist_Sobel1D; 17 - Gauss_Hist_Sobel2D; 18 - Gauss_Hist_Sobel1D_HOG; 19 - Gauss_His

t_Sobel2D_HOG. Estes cenários dizem respeito a dois tipos de descritores, um baseado na intensidade

dos píxeis da imagem e o outro baseado no descritor HOG, entre cada grupo de descritor são consi-

derados vários processamentos diferentes levando, assim, ao total de dezanove cenários diferentes.

Estes cenários serão avaliados sobre dois classificadores diferentes, Adaboost e detecção de outliers

após análise de componentes principais. O primeiro classificador, baseado no Adaboost e descrito no

capítulo 2, será constituído por dois classificadores fracos baseados em cortes ortogonais, no valor dos

descritores. A escolha de se usar dois classificadores fracos, baseados em cortes ortogonais, foi feita

por forma a tentar-se equilibrar os resultados entre o método Adaboost e o método de detecção de

outliers, em que neste último são utilizados dois limiares para a classificação. O segundo classificador,

tal como dito no capítulo 3, será baseado na detecção de outliers após uma análise de componentes

principais, cujos parâmetros serão optimizados nesta secção. Tal como referido anteriormente, os re-

sultados aqui apresentados ilustram o desempenho dos classificadores sobre a habilidade de classificar

correctamente novas janelas.

Analisar-se-á agora o desempenho do método proposto por este trabalho consoante a variação

dos seus parâmetros. Primeiro analisa-se a variação deste método face ao número de componentes

principais utilizadas, k, figuras 4.2, com p1 e p2 fixos e iguais a 0.999.

Tendo em conta a informação apresentada na figura 4.2.a) verifica-se que quanto maior o número

de componentes principais consideradas, menor será o número de falsos positivos por janela, havendo

um aumento para valores de k pequenos, para ambos os grupos de descritores. Neste gráfico pode-

se observar a melhoria de desempenho, nos descritores baseados em HOG, quando é acrescentado

algum tipo de processamento, onde o caso em que se considera uma máscara gaussiana seguida de

uma equalização de histogramas e, por fim, o cálculo do descritor HOG com o auxilio do método Sobel

a duas dimensões, o cenário que atinge o melhor desempenho. Para terminar, segundo este gráfico

deveria-se considerar 100 componentes principais para os descritores HOG, para os restantes descri-

tores depende de caso para caso, onde o mínimo é atingido para k = 16 no cenário de equalização

de histogramas. No gráfico da figura 4.2.b) observa-se que quanto maior o número de componentes

principais menor será o desempenho do método. Este fenómeno, contra-intuitivo, pode ser atribuído ao

overfitting do método ao conjunto de treino, ou seja, o método é especializado nas imagens de treino

perdendo a capacidade de generalização para uma nova imagem. Ou pelo facto de a um número ele-

vado de componentes principais estar associada uma maior variação das imagens, podendo estar a

ser introduzido ruído que não identifica apenas a classe dos pedestres. Neste gráfico pode-se ainda

observar que os descritores baseados em HOG são os que pioram mais rápido face ao número de

42

Page 59: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

componentes utilizadas. Tendo em conta esta análise segue-se a escolha do melhor valor de k, no en-

tanto esta escolha deverá depender de problema para problema. Neste trabalho pretende-se construir

um método que sirva como um processo de filtragem para os primeiros níveis de um meta-classificador

organizado em cascata, ou seja, pretende-se um classificador com máxima sensibilidade e com o me-

nor valor de FPPJ possível para essa sensibilidade. Para este caso deveria-se considerar k = 1 e os

descritores baseados em HOG, onde o cenário 19, Gauss_Hist_Sobel2D_HOG, atinge sensibilidade

máxima, 1, e FPPJ na ordem de 0.8. A escolha de k = 1 permite também que o processo de filtragem

seja executado mais rapidamente, pois são precisos menos cálculos para a classificação. Num pro-

blema de classificação pura, onde se pretende construir um classificador com valores de sensibilidade

elevados e um rácio de FPPJ baixo, o k escolhido será diferente de k = 1. Neste problema é neces-

sário fixar um valor de sensibilidade mínimo, por exemplo 0.95, e encontrar o valor de k que minimize

o desempenho face ao número de falsos positivos. Fixando o valor de sensibilidade mínimo em 0.95,

o valor de k que minimiza o rácio de FPPJ é k = 85, cujo cenário que atinge desempenho máximo é,

novamente, o cenário 19. Para os resultados seguintes fixar-se-á o valor de k para cada um dos dois

problemas, ou seja, k = 1 e k = 85.

Resta agora analisar o desempenho do método de detecção de outliers face à variação dos valores

de p1 e p2, região de abrangência e confiança dessa região, respectivamente. Antes dessa análise

representa-se na figura 4.3, a distância ortogonal versus a distância de Mahalanobis no conjunto de

treino para k = 1 e k = 85 no décimo nono cenário, por forma a analisar o tipo de disposição dos

dados de validação†, ou seja, positivos e negativos. A figura 4.3 ilustra a necessidade do estudo de

desempenho dos limiares no problema de detecção de pedestres.

Será agora feita a análise do desempenho do método proposto neste trabalho face a variações nos

valores de p1 e p2, para os dezanove cenários e para os casos em que se consideram k = 1 e k = 85

componentes principais.

Nos gráficos presentes na figura 4.4, pode-se concluir que k = 1 é o número de componentes

principais a escolher, devido ao desempenho superior conseguido face ao desempenho atingido por

85 componentes principais. É importante referir o fraco desempenho obtido em alguns cenários, cu-

jos descritores são baseados na intensidade dos píxeis e para k = 85, este desempenho é inferior a

um classificador aleatório. No entanto conjectura-se que este fraco desempenho esteja directamente

relacionado com o facto de se alterar os valores de p1 e p2 para ambas as distâncias de forma igual.

Outro motivo, para tal desempenho, está relacionado com o elevado número de componentes princi-

pais, componentes estas que captam a variabilidade existente no conjunto de treino que, como este

conjunto tem uma elevada variabilidade em relação ao cenário onde o pedestre se encontra, acaba

por reconstruir melhor uma imagem negativa, do que uma positiva. Para compreender melhor este

fenómeno observe-se os gráficos da figura 4.5.

Tendo em conta os duas vertentes na construção de um classificador, construção de um classifica-

dor para fazer parte de um meta-classificador ou a construção de um classificador por si só, pode-se

afirmar que o melhor método para ambas as vertentes é atingido quando k = 1. Para a primeira ver-

tente, onde se pretende ter sensibilidade máxima e com essa restrição minimizar o rácio de falsos posi-

43

Page 60: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

tivos, FPPJ, consegue-se atingir uma sensibilidade de 0.98 com um rácio de falsos positivos mínimo de

0.59, correspondendo aos valores de p1 = 0.99 e p2 = 0.5, valores referentes ao melhor cenário. Para

a segunda vertente, onde se pretende minimizar o valor de FPPJ mantendo a sensibilidade superior a

um dado mínimo, neste caso 0.95, dada esta restrição e o gráfico a) da figura 4.4 pode-se observar

que consegue-se uma sensibilidade de 0.95 e um rácio de FPPJ mínimo de 0.5, correspondendo aos

valores p1 = 0.97 e p2 = 0.5, valores referentes ao melhor cenário. Em ambas as vertentes o melhor ce-

nário corresponde, novamente, ao cenário 19 que consiste na aplicação de um filtro gaussiano seguido

de uma equalização de histogramas e, por fim, o cálculo do descritor HOG com o auxilio do método

Sobel a duas dimensões.

Tendo sido escolhido o melhor cenário e os valores para k, p1 e p2 para ambas as vertentes as-

sociadas à construção de um classificador, resta então comparar os resultados deste método face ao

Adaboost, figuras 4.6 e 4.7, no conjunto de teste, onde foi feito um estudo de variabilidade ao reamostrar

o conjunto de treino e de teste um total de vinte vezes.

Este estudo da habilidade de classificação pura, do método de detecção de outliers e Adaboost

face aos diferentes cenários, permite concluir que o método proposto atinge níveis de desempenho

similares ao método Adaboost. No entanto era esperado que os resultados fossem superiores, tal não

ter sucedido pode dever-se ao facto de os limiares não serem os mais adequados para o problema de

detecção de pedestres, tal como se pode observar nas figuras 4.3 e 4.8.

44

Page 61: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

0 20 40 60 80 100

0.5

0.6

0.7

0.8

0.9

1.0

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

Rácio FPPJ vs. Núm. ComponentesTodos os cenários

Número de Componentes

Rác

io F

PP

J

(a)

0 20 40 60 80 100

0.85

0.90

0.95

1.00

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

Sensibilidade vs. Núm. ComponentesTodos os cenários

Número de Componentes

Sen

sibi

lidad

e

(b)

Figura 4.2: No gráfico a) pode-se ver o desempenho, medida pelo rácio de falsos positivos por janela,FPPJ, em relação a cada um dos cenários. Quanto menor o valor de FPPJ melhor será o desempenhodo classificador. Em b) pode-se observar a variação do desempenho, medido pela sensibilidade, faceao número de componentes principais consideradas, em relação a cada um dos cenários. Neste gráficoquanto maior o valor de sensibilidade melhor será o desempenho. Os resultados são apenas sobre ométodo proposto neste trabalho e para valores de p1 e p2 ambos iguais a 0.999.

45

Page 62: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) - (k = 1)

(b) - (k = 85)

Figura 4.3: Esta imagem ilustra a dispersão do conjunto de validação† face às distâncias de Mahala-nobis e ortogonal, note-se a elevada dispersão e os limiares para ambas as distâncias, representadospelas rectas horizontais e verticais, calculados com p1 = 0.999 e p2 = 0.999, que no gráfico b) é superiorao valor 11 e não é representado. O gráfico a) corresponde à dispersão das distâncias para k = 1, ocenário b) a k = 85.

46

Page 63: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Curva ROC face à variação de p1 e p2Todos os cenários, k = 1

FPPJ

Sen

sibi

lidad

e

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

(a) - (k = 1)

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Curva ROC face à variação de p1 e p2Todos os cenários, k = 85

FPPJ

Sen

sibi

lidad

e

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

(b) - (k = 85)

Figura 4.4: Nesta figura é ilustrado dois gráficos da sensibilidade versus o rácio de falsos positivos porjanela, FPPJ, do método proposto neste trabalho face à variação nos valores de p1 e p2, para os casosem que se consideram k = 1 e k = 85 componentes principais, respectivamente a) e b). É de salientaro fraco desempenho de alguns cenários cujo descritor é baseado na intensidade dos píxeis.

47

Page 64: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

(a) - (k = 1)

(b) - (k = 85)

Figura 4.5: Esta imagem ilustra a dispersão do conjunto de validação† face às distâncias de Mahala-nobis e ortogonal. Note-se, na figura b) em que k = 85, a dispersão dos exemplos negativos face aospositivos, em que os exemplos negativos têm um erro de reconstrução menor em relação a estes, fe-nómeno associado ao elevado número de componentes principais e variabilidade existente no conjuntode treino. Este fenómeno já não acontece na figura a), k = 1. Cenário cujo descritor é baseado apenasna intensidade dos píxeis.

48

Page 65: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

p1 = 0.99p2 = 0.5

p1 = 0.97p2 = 0.5 Adaboost

Detecção de outliers versus AdaboostSensibilidade

Método

Sen

sibi

lidad

e

0.0

0.2

0.4

0.6

0.8

1.0

Det. OutliersDet. OutliersAdaboost

Método

Sen

sibi

lidad

e

0.0

0.2

0.4

0.6

0.8

1.0

Figura 4.6: Este gráfico ilustra a sensibilidade do método proposto, nos dois valores de p1 e p2 escolhi-dos, versus a do método Adaboost, no cenário 19.

p1 = 0.99p2 = 0.5

p1 = 0.97p2 = 0.5 Adaboost

Detecção de outliers versus AdaboostFPPJ

Método

FP

PJ

0.0

0.2

0.4

0.6

0.8

1.0

Det. OutliersDet. OutliersAdaboost

Método

FP

PJ

0.0

0.2

0.4

0.6

0.8

1.0

Figura 4.7: Este gráfico ilustra o rácio de FPPJ atingidos pelo método proposto, nos dois valores de p1e p2 escolhidos, versus o do método Adaboost, no cenário 19.

49

Page 66: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 4.8: Esta imagem ilustra a dispersão do conjunto de teste face às distâncias de Mahalanobis eortogonal, note-se a elevada dispersão dos dados e a imprecisão dos limiares para ambas as distâncias,representados pelas rectas horizontais e verticais, calculados com p1 = 0.99 e p2 = 0.5. Um ajuste nosvalores de p1 e p2 independente para cada distância poderia levar a maior um desempenho.

50

Page 67: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.4 Resultados - Classificação e Detecção

Em semelhança à secção anterior, apresenta-se de seguida alguns dos resultados obtidos durante

a fase de validação (conjunto de validação‡). Nesta secção não será explorado o desempenho do

método de detecção de outliers face ao número de componentes utilizados na análise de componentes

principais, será utilizada apenas uma componente principal, k = 1, por ser este o valor de k com melhor

desempenho na secção anterior. No entanto será feita uma análise do desempenho face aos valores de

p1 e p2 utilizados para o cálculo dos limiares nas distâncias de Mahalanobis e ortogonal. Esta análise,

sobre o conjunto de validação‡, pode ser vista na figura 4.9 que apresenta duas curvas ROC a primeira,

a), baseada no rácio de falsos positivos por janela e a segunda, b), baseada em falsos positivos por

imagem. É de notar que a sensibilidade nesta secção exprime o número de pessoas reconhecidas

pelo menos uma vez em cada imagem, não tendo em conta se classificou correctamente mais de uma

instância da mesma pessoa. Na figura 4.9 pode-se observar que o descritor associado ao melhor

desempenho corresponde ao descritor baseado na intensidade dos píxeis na imagem ao contrário dos

resultados obtidos na secção anterior. É interessante notar que o melhor cenário, do descritor baseado

na intensidade dos píxeis, corresponde ao análogo do melhor cenário obtido na secção anterior. Com

esta figura em mente e tendo em conta os dois tipos de problemas na construção de um classificador,

abordados na secção anterior, os valores de p1 e p2 que melhor respondem a cada um dos problemas

são idênticos e correspondem a uma sensibilidade de 0.95 e um rácio de falsos positivos de 0.7, ou

±390 FPPI, atingida pelo cenário 11 Gauss_Hist_Sobel1D onde p1 = 0.999 e p2 = 0.999. Para terminar,

é de notar a fraca generalização associada ao melhor método da secção anterior, para tentar responder

a este fenómeno ir-se à analisar este cenário, juntamente com o melhor cenário discutido antes, para

os mesmos valores de p1 e p2.

Antes de partir para a comparação entre estes dois métodos e o método Adaboost, analisa-se a

dispersão das distâncias de Mahalanobis e ortogonal para os dois cenários considerados pela a análise

da figura 4.9, dispersão apresentada nas figuras 4.10 e 4.11.

Tendo em conta as conclusões anteriores fixar-se à os valores de p1 = 0.999, p2 = 0.999 e k = 1,

valores estes que serão utilizados na avaliação do desempenho do método de detecção de outliers

proposto por este trabalho face ao método Adaboost sobre o conjunto de teste‡nos dois cenários: 11

- Gauss_Hist_Sobel2D; 19 - Gauss_Hist_Sobel2D_HOG. Nas figuras 4.12 e 4.13 comparam-se os

desempenhos do método de detecção de outliers e do método Adaboost, desempenho medido pela

sensibilidade, FPPJ e FPPI de cada um, onde foi feito um estudo de variabilidade ao reamostrar o

conjunto de treino e de teste um total de vinte vezes. Tal como na secção anterior os resultados obtidos

permitem concluir que ambos os métodos são similares, algo que seria esperado face aos resultados

obtidos no estudo de classificação, no entanto e como não se aprofundou o desempenho do método

Adaboost, devido ao elevado tempo de treino associado, não se consegue comparar directamente para

o caso do descritor HOG. Novamente coloca-se a questão sobre a escolha adequada dos limiares a

usar neste tipo de problema, pois nas figuras 4.14 e 4.15 estes limiares dividem o espaço de uma forma

grosseira.

51

Page 68: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Pelos resultados obtidos verifica-se que o método proposto neste trabalho tem um desempenho

similar face ao método Adaboost. Pode-se também conjecturar que o método de detecção de pedestres

proposto neste trabalho atinge um desempenho superior aliado ao descritor baseado em HOG. No

entanto, o método proposto apenas utiliza informação sobre os exemplos positivos para a classificação

ao contrário do método Adaboost que utiliza informação dos negativos e positivos. O método Adaboost

utiliza 8748 exemplos (positivos e negativos) enquanto o método de detecção de outliers utiliza apenas

1448 exemplos positivos e obtém um desempenho semelhante. O factor que diferencia um método do

outro é o tempo associado ao treino, como tal, será feito na secção seguinte um estudo sobre o tempo

necessário para o treino de ambos os classificadores, face ao número de exemplos de treino.

52

Page 69: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Curva ROC face à variação de p1 e p2Todos os cenários

FPPJ

Sen

sibi

lidad

e

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

20 50 100 200 500

0.0

0.2

0.4

0.6

0.8

1.0

Curva ROC face à variação de p1 e p2Todos os cenários

FPPI

Sen

sibi

lidad

e

NormalSobel1DSobel2DHistogramGaussMaskHist_sobel1DHist_sobel2DGauss_sobel1DGauss_sobel2DGauss_Hist_sobel1D

Gauss_Hist_sobel2DSobel1D_hogSobel2D_hogHist_sobel1D_hogHist_sobel2D_hogGauss_sobel1D_hogGauss_sobel2D_hogGauss_Hist_sobel1D_hogGauss_Hist_sobel2D_hog

Figura 4.9: No gráfico a) é ilustrado o gráfico da sensibilidade versus o rácio de falsos positivos porjanela, FPPJ, enquanto que no gráfico b) é ilustrado a curva de sensibilidade versus falsos positivospor imagem. Ambos os gráficos correspondem ao método proposto neste trabalho face à variação nosvalores de p1 e p2, para o caso em que se considera k = 1 componentes principais no conjunto devalidação‡. A sensibilidade neste gráfico exprime o número de pessoas classificadas correctamentepelo menos uma vez, não tendo em conta repetições.

53

Page 70: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 4.10: Este gráfico ilustra a dispersão do conjunto de validação‡, no cenário Gauss_Hist_Sobel2D, face às distâncias de Mahalanobis e ortogonal, note-se a elevada dispersão dos dadose a imprecisão dos limiares para ambas as distâncias, representados pelas rectas horizontais e verti-cais, calculados com p1 = 0.999, p2 = 0.999 e k = 1.

54

Page 71: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 4.11: Este gráfico ilustra a dispersão do conjunto de validação‡, no cenário Gauss_Hist_Sobel2D_HOG, face às distâncias de Mahalanobis e ortogonal, note-se a elevada dispersão dosdados e a imprecisão dos limiares para ambas as distâncias, representados pelas rectas horizontais everticais, calculados com p1 = 0.999, p2 = 0.999 e k = 1.

55

Page 72: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

HOG Píxel

Detecção de outliers versus AdaboostSensibilidade

Descritor

Sen

sibi

lidad

e

0.0

0.2

0.4

0.6

0.8

1.0

Det. OutliersAdaboost

0.0

0.2

0.4

0.6

0.8

1.0

(a)

HOG Píxel

Detecção de outliers versus AdaboostFPPJ

Descritor

FP

PJ

0.0

0.2

0.4

0.6

0.8

1.0

Det. OutliersAdaboost

0.0

0.2

0.4

0.6

0.8

1.0

(b)

Figura 4.12: Esta figura ilustra a sensibilidade, gráfico a), e rácio de FPPI, gráfico b), do método pro-posto versus o método Adaboost, em cada um dos dois cenários.

56

Page 73: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

HOG Píxel

Detecção de outliers versus AdaboostFPPI

Descritor

FP

PI

12

510

2050

100

200

500

Det. OutliersAdaboost

12

510

2050

100

200

500

Figura 4.13: Este gráfico ilustra o valor de FPPI atingidos pelo método proposto versus os do métodoAdaboost, em cada um dos dois cenários.

Figura 4.14: Este gráfico ilustra a dispersão do conjunto de validação‡, no cenário Gauss_Hist_Sobel2D, face às distâncias de Mahalanobis e ortogonal, note-se a elevada dispersão dos dados e aimprecisão dos limiares para ambas as distâncias, representados pelas rectas horizontais e verticais,calculados com p1 = 0.999, p2 = 0.999 e k = 1.

57

Page 74: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Figura 4.15: Este gráfico ilustra a dispersão do conjunto de validação‡, no cenário Gauss_Hist_Sobel2D_HOG, face às distâncias de Mahalanobis e ortogonal, note-se a elevada dispersão dosdados e a imprecisão dos limiares para ambas as distâncias, representados pelas rectas horizontais everticais, calculados com p1 = 0.999, p2 = 0.999 e k = 1.

58

Page 75: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.5 Resultados - Tempo de processamento

Nesta secção irá ser analisado o tempo de processamento necessário para cada um dos métodos,

cronometrando o tempo de execução utilizando a função proc.time() do R. Analisar-se-á o tempo

necessário para a fase de treino e o tempo necessário para a classificação de uma janela de uma ima-

gem. Na figura 4.16 pode-se constatar que o tempo necessário para treinar um classificador baseado

em componentes principais face ao tempo necessário para treino o Adaboost é muito inferior, mesmo

quando o número total de exemplos considerados em cada um dos métodos é similar.

Pos.=244Neg.=1230

Pos.=724Neg.3650

Pos.=1448Neg.=7300

Pos.=4448Neg.= −

Detecção de outliers versus Adaboost

Dimensão do conjunto de treino

Tem

po d

e tr

eino

em

min

utos

020

4060

80

Det. OutliersAdaboost

020

4060

80

Figura 4.16: Neste gráfico pode-se observar o tempo de treino necessário para cada método em mi-nutos de acordo com a dimensão do conjunto de treino. Há que salientar que não se tem em contao tempo de extração dos descritores das imagens, ou seja, está-se a contabilizar apenas o tempo detreino após a fase de pre-processamento ter sido concluída. Pode-se observar que o tempo de treinodo método de detecção de outliers é consideravelmente menor face ao tempo de treino do métodoAdaboost, mesmo tendo em conta um número total de exemplos similar. Tempos calculados face aconjuntos formados por imagens com o descritor HOG que tem uma dimensão superior ao descritorsimples baseado na intensidade dos píxeis.

Por fim, foi feita uma análise do tempo de classificação em ambos os métodos, excluindo o tempo

de pre-processamento que, por razões de optimização em R atingem valores elevados. Esta análise

consistiu na aplicação de cada um dos três classificadores, Adaboost, detecção de outliers baseado

em HOG e baseado na intensidade de píxeis, a um conjunto de 700 janelas medindo o tempo neces-

sário para a sua classificação, para evitar influencias de outros softwares efectuou-se este processo

10000 vezes. Os tempos médios, em segundos, obtidos para a classificação de uma única janela são

apresentados na tabela 4.6.

59

Page 76: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

DescritoresMétodo HOG Píxel

det. Outliers 2.87× 10−4 1.92× 10−4

Adaboost 1.61× 10−7 1.49× 10−7

Tabela 4.6: Nesta tabela pode-se observar os tempos médios, em segundos, de classificação de umaúnica janela de uma imagem, onde o método Adaboost é consideravelmente mais rápido, no entantoambos os métodos são bastante rápidos.

Como se pode constatar, neste caso, o classificador baseado na detecção de outliers atinge tempos

de classificação similares ao do Adaboost, no entanto e como se pode observar pela literatura estudada,

o método Adaboost é consideravelmente mais rápido. Em Schwartz et al. [2009] é estudado um método

similar ao proposto por este trabalho, onde os autores conseguem atingir velocidades comparáveis aos

valores do Adaboost na literatura estudada, pode-se então conjecturar que os tempos obtidos aqui

podem ser ainda mais optimizados. É de salientar que os tempos obtidos estão relacionados com o

ambiente de programação utilizado, R, e é esperado que ao implementar o método numa linguagem de

baixo nível, como C, possa levar a tempos ainda mais baixos.

60

Page 77: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

4.6 Método Escolhido

Pelos resultados obtidos verifica-se que o melhor cenário, para a aplicação do método de detecção de

outliers baseado na análise de componentes principais é o uso de descritores provenientes do método

de histogramas de orientação dos gradientes baseado no algoritmo de extracção de arestas Sobel a

duas dimensões, após uma a aplicação de uma máscara gaussiana seguida de uma equalização de

histogramas da imagem em tons-de-cinza. Foi ainda com k = 1 componente principal, p1 = 0.999 e

p2 = 0.999 que se obteve o melhor desempenho Este método será descrito, em pseudo-código, na

seguinte secção.

4.6.1 Algoritmo

Nesta secção apresenta-se o pseudo-código associado ao método de detecção de pedestres em ima-

gens. Este pseudo-código será dividido em duas fases: treino e classificação.

Treino

Seja dir o directório onde se encontram r imagens, de dimensões m×n, do conjunto de treino, definindo

também alguns valores: k o número de componentes principais a utilizar; seja p1 e p2 os valores

utilizados para o cálculo dos limiares para a distância de Mahalanobis e ortogonal, respectivamente; n2c

o número de píxeis em cada célula; c2 o número de células em cada bloco; sth = stv = st o número de

células de intersecção de um bloco para o seguinte.

• \*Fase de Pre-Processamento*\

• Para i de 1 a número de fotos em dir:

– Ler foto i;

– Transformar foto i em tons-de-cinza;

– Aplicar uma máscara gaussiana à imagem;

– Efectuar uma equalização de histogramas sobre a foto i;

– sh <- Convolução da máscara sobel2D horizontal com a foto i (matriz de dimensão m×n);

– sv <- Convolução da máscara sobel2D vertical com a foto i (matriz de dimensão m×n);

– grad <-√s2h + s2v (matriz de dimensão m×n);

– orient <- Cálculo da orientação, no espaço [−90, 90] graus, utilizando a função atan; (matriz

de dimensão m×n)

– orient <- Organização das orientações por blocos igualmente espaçados, em que cada bloco

corresponde a 20 graus (matriz de dimensão m×n);

– \*Extracção do descritor HOG*\

– m <- número de células que cabem em m píxeis, dado por: floor(m−ncnc

)+ 1;

61

Page 78: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

– n <- número de células que cabem em n píxeis, dado por: floor(n−ncnc

)+ 1;

– mb <- número de blocos que cabem em m píxeis, dado por: floor(

m−c(c−st)∗nc

)+ 1;

– nb <- número de blocos que cabem em n píxeis, dado por: floor(

m−c(c−st)∗nc

)+ 1;

– Divisão de grad e orient em blocos: gradj e orientj , com j entre 1 e mb × nb;

– Para cada j;

∗ gradj < − Ponderação de cada entrada de gradj com uma máscara gaussiana com a

mesma dimensão que um bloco, 3σ×3σ de onde é calculado o valor de σ, centrada em

gradj ;

∗ Divisão de gradj e orientj em células;

∗ Cálculo do histograma histj utilizando a informação em orientj , onde cada orientação

contribui para o histograma com o valor do seu gradiente em gradj ;

∗ Concatenação do histj com os anteriores;

∗ Normalização do vector final dos histj ;

– Devolver resultado HOGi;

• Criar matriz, Dados, auxiliar de dimensões (mb ∗ c ∗ 9) × (nb ∗ c ∗ 9) × r;

• Dados[, i] < −HOGi, para todo o i;

• Dados <- Transposta(Dados);

• \*Cálculo de Componentes Principais*\

• Seja µi = media(Dados[i, ]), considere-se agora o vector µ = (µ1, · · · , µ(mb∗c∗9)× (nb∗c∗9));

• Dadosc[i, ] = Dados[i, ]− µ;

• calcular valores próprios L e vectores próprios A, de Dados′c × Dadosc;

• escolher k componentes principais;

• reter as k primeiras componentes principais: A[, 1 : k];

• calcular o limiar para a distância de Mahalanobis, utilizando Dadosc e A[, 1 : k]: CMDk;

• calcular o limiar para a distância ortogonal, utilizando Dadosc e A[, 1 : k]: CODk;

Classificação

Dada uma imagem img nova, seja a função pre−processamento, a função que refaz os passos descritos

na fase de pre-processamento descrita anteriormente, escolha-se sc escalas diferentes, que serão

utilizadas para ampliar/reduzir a imagem

• Para i de 1 até sc:

– Redimensionar a imagem img de acordo com i;

62

Page 79: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

– Dividir img em janelas de m×n, imgj ;

– Para cada imgj :

∗ imgjp = pre− processamento(img);

∗ Projectar imgjp nas k componentes: ˜imgj = imgjp .A[, 1 : k];

∗ Calcular a distância de Mahalanobis: Mdk( ˜imgj , imgjp , Dadosc);

∗ Calcular a distância de ortogonal: Odk( ˜img, imgjp , Dadosc);

∗ Classificar imgj como Positivo se Mdk( ˜img, img) < CMDk e Odk( ˜img, img) < CODk e

como Negativo caso contrário;

• Caso se saiba as anotações verdadeiras da imagem img, comparar o resultado obtido em cada

uma das janelas, com a respectiva verdadeira anotação, tendo em conta os vários escalamentos

de img.

63

Page 80: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

64

Page 81: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Capítulo 5

Conclusões

Este trabalho permitiu abordar e compreender o problema associado à detecção de padrões em foto-

grafias digitais. Existem várias tentativas para responder a este problema, umas melhores que outras,

mas todas com pontos positivos e únicos. O método proposto neste trabalho utiliza um descritor forte

aliado a um método de detecção de outliers baseado em análise de componentes principais. A análise

de componentes principais permite projectar um novo indivíduo nas respectivas componentes e, com

métodos de detecção de outliers, identificar se este pertence, ou não, ao padrão de interesse.

Pelos resultados obtidos, verificou-se que este método não consegue um bom desempenho se

aliado a um descritor fraco, por exemplo quando se usava a magnitude de cada píxel. Este descritor

denomina-se fraco pois apenas descreve a imagem localmente, não a descrevendo de uma forma

global, como é o caso do descritor HOG.

O método Adaboost utilizado neste trabalho consiste em dois classificadores fracos que dividem o

espaço do descritor ortogonalmente, em busca de pontos óptimos de corte, em que o corte irá servir

de fronteira entre exemplos positivos e negativos. Infelizmente este método não foi optimizado devido

ao tempo de treino necessário para o fazer, e face ao tempo disponível para a elaboração desta tese.

É no tempo de treino que o método proposto por este trabalho atinge excelente desempenho, onde é

possível treinar este classificador em tempo útil e quase em tempo real, como se pode observar por

4.16. É também no mesmo tema de ‘tempo’ que reside o ponto fraco do método proposto, em que a

classificação de uma nova imagem é mais lenta que o tempo de classificação de uma imagem pelo

método Adaboost, apesar de ser numa gama de valores baixa a aplicação deste método a um número

suficientemente grande de imagens a diferença poderá ser significativa. Ambos os tempos obtidos

neste trabalho deverão ser vistos apenas como ilustrativos, pois noutras linguagens de programação

este deverá ser consideravelmente inferior. Os resultados do método proposto por Schwartz et al.

[2009] mostram tempos de processamento semelhantes com os do Adaboost. Esta observação é feita,

pois o método desse autores consiste num cálculo matricial similar ao executado pelas componentes

principais, o que leva a conjecturar que é possível melhorar, substancialmente, este ponto fraco.

Os resultados obtidos neste trabalho não podem ser directamente comparáveis aos vários trabalhos

estudados, pois este reside sobre o estudo do desempenho dos classificadores fracos e na proposta de

65

Page 82: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

uma nova alternativa. Seria necessário implementar o classificador proposto numa estrutura de meta-

classificador e observar então o desempenho final, assim como o tempo necessário para o treino deste

meta-classificador e o tempo de classificação de uma nova imagem.

5.1 Conquistas

Este trabalho propõe uma nova abordagem aos classificadores fracos utilizados até então. Em que o

método proposto destaca-se dos restantes pelo tempo necessário para a fase de treino, que é conside-

ravelmente inferior ao tempo necessário para o método Adaboost, e por apenas recorrer à informação

associada a exemplos positivos, atingindo níveis de desempenho similares ao método Adaboost que

recorrer à informação dos exemplos positivos e negativos. Este método prima pela sua simplicidade

de implementação, onde todas as ferramentas necessárias à sua implementação estão disponíveis nas

linguagens de programação mais comuns.

5.2 Trabalho Futuro

Os resultados obtidos neste trabalho abriram muitas portas para trabalhos futuros, tentar-se-á dar al-

guns exemplos do que se poderá vir a explorar futuramente. No início deste estudo, a primeira questão

que surgiu foi sobre as dimensões utilizadas para o treino do classificador, em Dollár et al. [In Press]

é demonstrado o fraca desempenho dos classificadores actuais em pessoas com dimensões médias,

entre 30 a 80 píxeis de altura. Portanto, seria interessante avaliar o desempenho deste classificador

fraco nestas condições, como por exemplo no conjunto criado no respectivo artigo. Este ponto ainda

foi abordado inicialmente, para janelas de dimensão de 58 píxeis de altura e 24 de largura, no entanto

optou-se por usar as dimensões estudadas, 128 píxeis de altura e 64 de largura, por ser estas as

presentes no conjunto de dados INRIA person dataset e MIT person dataset.

Como este trabalho assenta sobre a criação de um novo classificador fraco, seria importante e in-

teressante implementar uma cascata de classificadores formados por várias instâncias do classificador

proposto e avaliar o desempenho global deste método face às abordagens existentes até à data.

Outro ponto também interessante seria o de estudar o desempenho deste método em imagens

a cores, pois em Dollár et al. [In Press] os resultados apresentados são superiores em imagens a

cores, por existir uma maior informação disponível para o classificador. É de notar que o classificador

fraco criado neste trabalho é facilmente extensível a este cenário. Ainda no âmbito de melhorar o

desempenho do classificador fraco proposto surge a questão de velocidade de classificação, que pensa-

se ser possível melhorar o tempo de classificação, pois em Schwartz et al. [2009] a metodologia é

semelhante e têm velocidades de classificação bastante elevadas.

Existem muitos problemas de classificação automática, e.g. caras/mísseis/desordem pública/etc.,

seria interessante aplicar este método nesses cenários.

Uma dificuldade encontrada neste trabalho foi, tal como dito no capítulo 4, o de ultrapassar o pro-

blema de detecção de pedestres numa fotografia nova. Onde é necessário percorrer a imagem em

66

Page 83: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

busca da janela que poderá conter um ser humano, e ampliar/reduzir esta imagem, por forma a poder

apanhar todos os casos possíveis. Esta questão é, no entanto, diferente da questão abordada nesta

tese, pois trata-se de um problema de procura ao passo que o problema abordado nesta tese é o de

classificação. Existem, no entanto, algumas abordagens inovadores para o caso em que o descritor é

o HOG, vide Dollár et al. [2010].

67

Page 84: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

68

Page 85: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Bibliografia

Tinku Acharya. Image processing : principles and applications. John Wiley, Hoboken, N.J, 2005. ISBN

0471719986.

Optical Society Of America. Handbook of Optics, Vol. 2: Devices, Measurements, and Properties,

Second Edition. McGraw-Hill Professional, 2 edition, September 1994. ISBN 0070479747. URL

http://www.worldcat.org/isbn/0070479747.

João A. Branco and Ana M. Pires. A robust principal component analysis that can handle high-

dimensional data. Submitted, 2011.

Navneet Dalal and Bill Triggs. Histograms of oriented gradients for human detection. In In CVPR, pages

886–893, 2005.

Piotr Dollár, C Wojek, B Schiele, and P Perona. Pedestrian detection: A benchmark. IEEE Conference

on Computer Vision and Pattern Recognition, pages 304–311, 2009. URL http://ieeexplore.ieee.

org/lpdocs/epic03/wrapper.htm?arnumber=5206631.

Piotr Dollár, Serge Belongie, and Pietro Perona. The Fastest Pedestrian Detector in the West. In

Proceedings of the British Machine Vision Conference. BMVA Press, 2010. doi: 10.5244/C.24.68.

URL http://bmvc10.dcs.aber.ac.uk/proc/conference/paper68/index.html.

Piotr Dollár, Christian Wojek, Bernt Schiele, and Pietro Perona. Pedestrian detection: An evaluation of

the state of the art. Transactions on Pattern Analysis and Machine Intelligence (PAMI), In Press. URL

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5975165.

Markus Enzweiler and Dariu M. Gavrila. Monocular pedestrian detection: Survey and experiments. IEEE

Transactions on Pattern Analysis and Machine Intelligence, 31:2179–2195, 2009. ISSN 0162-8828.

doi: http://doi.ieeecomputersociety.org/10.1109/TPAMI.2008.260.

Pedro F. Felzenszwalb and Daniel P. Huttenlocher. Efficient matching of pictorial structures. In Proc.

IEEE Computer Vision and Pattern Recognition Conf., pages 66–73, 2000.

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, and Deva Ramanan. Object detection with

discriminatively trained part-based models. IEEE Transactions on Pattern Analysis and Machine In-

telligence, 32:1627–1645, 2010. ISSN 0162-8828. doi: http://doi.ieeecomputersociety.org/10.1109/

TPAMI.2009.167.

69

Page 86: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Y. Freund and R. Schapire. A short introduction to boosting, 1999. URL citeseer.ist.psu.edu/

freund99short.html.

Yoav Freund and Robert Schapire. A desicion-theoretic generalization of on-line learning and an appli-

cation to boosting, 1995. URL http://dx.doi.org/10.1007/3-540-59119-2_166.

Ying hong Liang, Zhi yan Wang, Sen Guo, Xiao wei Xu, and Xiao ye Cao. Pedestrian detection using

kpca and fld algorithms. In Proc. of the IEEE International Conference on Automation and Logistics,

pages 1572–1575, 2007.

Chang Huang, Haizhou Ai, Bo Wu, and Shihong Lao. Boosting nested cascade detector for multi-

view face detection. In Proceedings of the Pattern Recognition, 17th International Conference on

(ICPR’04) Volume 2 - Volume 02, ICPR ’04, pages 415–418, Washington, DC, USA, 2004. IEEE

Computer Society. ISBN 0-7695-2128-2. doi: http://dx.doi.org/10.1109/ICPR.2004.221. URL http:

//dx.doi.org/10.1109/ICPR.2004.221.

Stephen Johnson. Stephen Johnson on digital photography. O’Reilly, Beijing Sebastopol, 2006. ISBN

059652370X.

I. T. Jolliffe. Principal Component Analysis. Springer, second edition, October 2002. ISBN 0387954422.

URL http://www.worldcat.org/isbn/0387954422.

Yi-Tzu Lee and Thomas Mathew. Tolerance regions in multivariate linear regression. Journal of Statis-

tical Planning and Inference, 126(1):253 – 271, 2004. ISSN 0378-3758. doi: 10.1016/j.jspi.2003.07.

002. URL http://www.sciencedirect.com/science/article/pii/S0378375803002295.

Luis Malagón-Borja and Olac Fuentes. Object detection using image reconstruction with pca. Image and

Vision Computing, 27(1-2):2 – 9, 2009. ISSN 0262-8856. doi: 10.1016/j.imavis.2007.03.004. URL

http://www.sciencedirect.com/science/article/pii/S0262885607000820. <ce:title>Canadian

Robotic Vision 2005 and 2006</ce:title>.

M. Oren, C.P. Papageorgiou, P. Sinha, E. Osuna, and T. Poggio. Pedestrian detection using wavelet

templates. In cvpr, pages 193–99, 1997.

Charles A. Poynton. Digital video and HDTV : algorithms and interfaces. Morgan Kaufmann series in

computer graphics and geometric modeling. Morgan Kaufmann Publishers, 1st edition, 2003. ISBN

1558607927. URL http://www.worldcat.org/isbn/1558607927.

William K. Pratt. Digital image processing. John Wiley & Sons, Inc., New York, NY, USA, 1978. ISBN

0-471-01888-0.

R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation

for Statistical Computing, Vienna, Austria, 2011. URL http://www.R-project.org. ISBN 3-900051-

07-0.

70

Page 87: Detecção de pedestres em imagens - ULisboação utilizando uma pré-filtragem dos dados baseada num método de detecção de outliers aplicado às componentes principais de vectores

Peter J. Rousseeuw and Christophe Croux. Alternatives to the median absolute deviation. Journal of

the American Statistical Association, 88(424), 1993. ISSN 01621459. doi: 10.2307/2291267. URL

http://dx.doi.org/10.2307/2291267.

W. R. Schwartz, A. Kembhavi, D. Harwood, and L. S. Davis. Human Detection Using Partial Least

Squares Analysis. In International Conference on Computer Vision, 2009. URL http://www.umiacs.

umd.edu/~lsd/papers/PLS-ICCV09.pdf.

Frank Shih. Image processing and pattern recognition fundamentals and techniques. IEEE Press Wiley,

Piscataway, NJ Hoboken, N.J, 2010. ISBN 9780470404614.

L. G. Valiant. A theory of the learnable. Commun. ACM, 27:1134–1142, November 1984. ISSN 0001-

0782. doi: http://doi.acm.org/10.1145/1968.1972. URL http://doi.acm.org/10.1145/1968.1972.

Bo Wu and Ram Nevatia. Detection and tracking of multiple, partially occluded humans by bayesian

combination of edgelet based part detectors. Int. J. Comput. Vision, 75:247–266, November 2007.

ISSN 0920-5691. doi: 10.1007/s11263-006-0027-7. URL http://dl.acm.org/citation.cfm?id=

1286000.1286005.

Stephen C. Zehr. Accounting for the ozone hole:. Sociological Quarterly, 35(4):603–619, 1994.

ISSN 1533-8525. doi: 10.1111/j.1533-8525.1994.tb00419.x. URL http://dx.doi.org/10.1111/

j.1533-8525.1994.tb00419.x.

Stefan Zickler and Alexei Efros. Detection of multiple deformable objects using pca-sift. In Proceedings

of the 22nd national conference on Artificial intelligence - Volume 2, pages 1127–1132. AAAI Press,

2007. ISBN 978-1-57735-323-2. URL http://dl.acm.org/citation.cfm?id=1619797.1619827.

71