detecção de pedestres em imagens - ulisboação utilizando uma pré-filtragem dos dados baseada...
TRANSCRIPT
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
ii
Dedico este trabalho a todos os que gostam de sonhar e atingir novas metas...
iii
iv
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
vi
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
viii
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
x
Í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
4.6.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Conclusões 65
5.1 Conquistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
xii
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
xiv
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
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
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
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
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
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
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
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
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
8
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
(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
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
(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
(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
(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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
(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
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
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
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
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
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
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
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
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
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
(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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
– 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
– 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
64
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
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
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
68
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
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
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