• Nenhum resultado encontrado

Classificação de pedestres em imagens degradadas

N/A
N/A
Protected

Academic year: 2021

Share "Classificação de pedestres em imagens degradadas"

Copied!
89
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

ANDRÉ FONSECA COSTA

CLASSIFICAÇÃO DE PEDESTRES EM IMAGENS DEGRADADAS

Recife

2013

(2)

ANDRÉ FONSECA COSTA

CLASSIFICAÇÃO DE PEDESTRES EM IMAGENS DEGRADADAS

Dissertação apresentada ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Tsang Ing Ren

Co-orientador: Prof. Dr. George Darmiton da Cunha Cavalcanti

Recife

2013

(3)

Catalogação na fonte

Bibliotecária Joana D’Arc L. Salvador, CRB 4-572

Costa, André Fonseca.

Classificação de pedestres em imagens degradadas / André Fonseca Costa. – Recife: O Autor, 2013.

87 f.: fig., tab.

Orientador: Tsang Ing Ren.

Dissertação (Mestrado) - Universidade Federal de Pernambuco. CIN. Ciência da Computação, 2013. Inclui referências.

1. Inteligência artificial. 2. Processamento de imagens. 3. Visão por computador. I. Ren, Tsang Ing (orientador). II. Título.

006.3 (22. ed.) MEI 2014-72

(4)

SERVIÇO PÚBLICO FEDERAL

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Ata de Defesa de Dissertação de Mestrado do Centro de Informática da Universidade Fede- ral de Pernambuco, 25 de novembro de 2013.

Ao vigésimo quinto dia do mês de novembro do ano de dois mil e treze, às dez horas, no Centro de Informática da Universidade Federal de Pernambuco, teve início a milésima tricentésima quadragésima segunda defesa de dissertação do Mestrado em Ciência da Computação, intitulada “Classificação de Pedestres em Imagens Degradadas” orientada pelo professor Tsang Ing Ren, do candidato André Fonseca Costa o qual já havia preenchido anteriormente as demais condições exigidas para a obtenção do grau de mestre. A Banca Examinadora, composta pelos professores Carlos Alexandre Barros de Mello, pertencente ao Centro de Informática desta Universidade, Leonardo Vidal Batista, pertencente ao Departamento de Informática da Universidade Federal da Paraíba e George Darmiton da Cunha Cavalcanti, pertencente ao Centro de Informática desta Universidade, sendo o primeiro presidente da banca examinadora e o último co-orientador do trabalho de dissertação, decidiu Aprovar o trabalho. E para constar lavrei a presente ata que vai por mim assinada e pela Banca Examinadora. Recife, 25 de novembro de 2013.

_______________________________________ Maria Lília Pinheiro de Freitas

(secretária)

____________________________________ Prof. Carlos Alexandre Barros de Mello Centro de Informática /UFPE

___________________________________ Prof. Leonardo Vidal Batista

Departamento de Informática / UFPB ___________________________________ Prof. George Darmiton da Cunha Cavalcanti Centro de Informática /UFPE

(5)

AGRADECIMENTOS

Ao meu orientador, Professor Dr. Tsang Ing Ren, pelos ensinamentos, todo o apoio e confiança depositada em mim no decorrer do mestrado.

Aos meus pais, João Elias e Maria Catarina, e irmãos, Tiago e Beatriz, pelos conselhos e incentivo nos momentos difíceis desta caminhada.

Aos meus tios, Elis Sandra e Fabiano, e primos, Lucas e Mateus, pelo acolhimento e apoio durante o mestrado.

À Universidade Federal de Pernambuco, pela disponibilização da estrutura necessária para a pesquisa.

À Capes, pelo apoio financeiro no mestrado.

A todos os familiares e amigos que contribuíram direta ou indiretamente para a conclusão desta dissertação.

(6)

RESUMO

Um detector de pedestres básico geralmente possui dois componentes principais: um que seleciona regiões da imagem que possivelmente contêm um pedestre (gerador de candidatos) e outro que classifica estas regiões em grupos de pedestres e não-pedestres (classificador). Estes classificadores normalmente baseiam-se em extratores de características, que são transformações que alteram a intensidade ou cor original dos pixels de uma imagem em uma nova representação, para ressaltar algum tipo de conhecimento sobre o conteúdo da imagem. Quando o ambiente é não-controlado, fatores externos podem influenciar negativamente no desempenho do classificador. Baixa resolução, ruído, desfoque e oclusão são alguns efeitos que podem ser gerados por estes fatores, degradando a qualidade das imagens obtidas e, consequentemente, das características extraídas. Esta dissertação propõe-se a avaliar como extratores de características comportam-se nesse tipo de ambiente. Estes cinco tipos de degradação foram simulados nas bases de imagem usadas nos experimentos: INRIA Person e

Caltech Pedestrian. Como estamos interessados apenas na etapa de classificação, as imagens

foram transformadas em janelas de tamanho fixo na etapa de pré-processamento. Os experimentos usam uma combinação de extratores de características (HOG, LBP, CSS, LGIP e LTP) e modelos de aprendizagem (AdaBoost e SVM linear) para formar classificadores. Os classificadores foram treinados com as imagens intactas e testados com imagens em diversos níveis de degradação. O HOG (42%) e LTP (54%) foram superiores aos demais em aproximadamente metade dos pontos de teste na INRIA Person e Caltech Pedestrian, respectivamente. Foi confirmada a queda de desempenho do LBP quando exposto a ruído, mostrando que o LGIP e o LTP amenizam isso. Também observou-se que o CSS é robusto a ruído, mas gera características fracas no geral. Por fim, notou-se que classificadores que combinam mais de um extrator de características foram superiores aos individuais em boa parte dos pontos de teste. Combinando-se todos os extratores, tem-se um classificador superior em 95,8% das situações ao criado somente com o melhor extrator no geral (HOG, na base da INRIA, e LTP, na base da Caltech).

Palavras-chave: Classificação de Pedestres; Degradação de Imagem; HOG; LBP; CSS; LGIP; LTP; AdaBoost; SVM.

(7)

ABSTRACT

A basic pedestrian detector often has two main components: one that selects image regions likely to contain a pedestrian (candidates generator) and another that classifies these regions in groups of pedestrians and non-pedestrians (classifier). These classifiers are usually based on feature extractors, which are transformations that change the original intensity or color of image pixels to a new representation, to highlight some kind of knowledge about the image’s content. In an uncontrolled environment, external factors may negatively influence classifiers performance. Low resolution, noise, blur, and occlusion may be some effects of these factors, degrading image quality, and hence the extracted features. This dissertation evaluates how feature extractors behave in this kind of situation. These five types of degradation were simulated on images from the datasets used at the experiments: INRIA Person and Caltech

Pedestrian. Since we were only interested in the classification step, fixed-sized windows were

extracted from the images while preprocessing. The experiments combine feature extractors (HOG, LBP, CSS, LGIP, and LTP) with learning models (AdaBoost and linear SVM) to create classifiers. These classifiers were trained with the original images and tested using degraded datasets. HOG (42%) and LTP (54%) were the top performers in approximately half of the evaluation points on INRIA Person and Caltech Pedestrian, respectively. It was confirmed that LBP is highly impacted by white noise, while noticing that this issue is fixed on LGIP and LTP. It was also possible to observe that CSS is very noise-resistant, but extracts weak features in general. Finally, it was noted that classifiers using more than one feature extractor were superior to those using only one on most evaluation points. The combination of all feature extractors resulted in a classifier superior to the two created with only the best extractor for each dataset (HOG, on INRIA Person, and LTP, on Caltech

Pedestrian) in 95.8% of evaluated conditions.

Keywords: Pedestrian Classification; Image Degradation; HOG; LBP; CSS; LGIP; LTP; AdaBoost; SVM.

(8)

LISTA DE FIGURAS

Figura 1 – Veículo com sistema de visão noturna e detecção de pedestres [3] ... 12  

Figura 2 – Chuva gerando ruído e desfoque gaussiano na imagem [3] ... 15  

Figura 3 – Processo simplificado de classificação ... 16  

Figura 4 – Sensibilidade à cores para cada tipo de cone no olho humano [13] ... 19  

Figura 5 – Cone que mostra como as cores são representadas no modelo HSV [16] ... 20  

Figura 6 – Aproximação do gradiente no eixo x (centro) e y (direita), com o contraste intensificado, em uma imagem de pedestre (esquerda) ... 21  

Figura 7 – Visualização das características do HOG (abaixo) usando o HOGgles (no centro) e as imagens originais (acima) [21] ... 22  

Figura 8 – Exemplo do cálculo do operador LBP básico em um bloco ... 23  

Figura 9 – Operador LBP com vizinhanças (8, 1), (16, 2) e (8, 2), da esquerda para a direita [23] ... 23  

Figura 10 – Resultado da aplicação do CSS para alguns pontos em uma imagem de pedestre [25] ... 24  

Figura 11 – Máscaras de Sobel usadas no cálculo do operador LGIP [27] ... 25  

Figura 12 – Exemplo do cálculo do operador LGIP [27] ... 26  

Figura 13 – Exemplo do cálculo do operador LTP ... 27  

Figura 14 – Posicionamento do hiperplano ótimo em um conjunto de dados [29] ... 30  

Figura 15 – Forma de calcular as variáveis de folga ξ numa SVM linear ... 31  

Figura 16 – Imagem da Caltech Pedestrian contendo pedestres em várias resoluções ... 34  

Figura 17 – Imagem de pedestre com desfoque de movimento na horizontal [43] ... 37  

Figura 18 – Imagem da Caltech Pedestrian com pedestres parcialmente ocultos ... 37  

Figura 19 – Imagem com desfoque gaussiano devido à baixa profundidade de campo [46] ... 39  

Figura 20 – Algumas das imagens de pedestres da INRIA Person ... 40  

Figura 21 – Uma das imagens da Caltech Pedestrian ... 41  

Figura 22 – Esquema de combinação dos extratores de características por fusão de informações ... 44  

(9)

Figura 23 – Imagens de pedestre da base da INRIA (cima) e da Caltech (baixo) simulando diversas escalas, de 100% a 12,5% ... 46   Figura 24 – Resultados do experimento de baixa resolução na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando em escala (em %) ... 47   Figura 25 – Resultados do experimento de baixa resolução na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando em escala (em %) ... 48   Figura 26 – Imagens de pedestre da base da INRIA (cima) e da Caltech (baixo) simulando diversos níveis de ruído, com SNR de 5dB a 75dB ... 49   Figura 27 – Resultados do experimento de ruído na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando no SNR (em dB) ... 50   Figura 28 – Resultados do experimento de ruído na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando no SNR (em dB) ... 51   Figura 29 – Imagens de pedestre da base da INRIA (cima) e da Caltech (baixo) simulando diversos desfoques de movimento, com deslocamento de 0 a 21 pixels ... 52   Figura 30 – Resultados do experimento de desfoque de movimento na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando no comprimento do deslocamento horizontal (em pixels) ... 53   Figura 31 – Resultados do experimento de desfoque de movimento na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando no comprimento do deslocamento horizontal (em pixels) ... 54   Figura 32 – Imagens de pedestre da base INRIA (cima) e da Caltech (baixo) simulando diversos níveis de oclusão, vertical (esquerda) e horizontal (direita), com oclusão de 0% a 62,5% ... 55   Figura 33 – Resultados do experimento de oclusão vertical na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 56   Figura 34 – Resultados do experimento de oclusão vertical na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 57   Figura 35 – Resultados do experimento de oclusão horizontal na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 58   Figura 36 – Resultados do experimento de oclusão horizontal na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 59   Figura 37 – Imagens de pedestre da base da INRIA (cima) e da Caltech (baixo) simulando diversos níveis de desfoque gaussiano, com desvio de 0 a 4 ... 60   Figura 38 – Resultados do experimento de desfoque gaussiano na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando no desvio padrão (σ) do filtro gaussiano ... 61  

(10)

Figura 39 – Resultados do experimento de desfoque gaussiano na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando no desvio padrão (σ) do filtro gaussiano ... 62   Figura 40 – Resultados de combinações de extratores no experimento de baixa resolução na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando em escala (em %) ... 64   Figura 41 – Resultados de combinações de extratores no experimento de baixa resolução na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando em escala (em %) ... 65   Figura 42 – Resultados de combinações de extratores no experimento de ruído na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando em SNR (em dB) ... 66   Figura 43 – Resultados de combinações de extratores no experimento de ruído na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando em SNR (em dB) ... 67   Figura 44 – Resultados de combinações de extratores no experimento de desfoque de movimento na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando no comprimento do deslocamento horizontal (em pixels) ... 68   Figura 45 – Resultados de combinações de extratores no experimento de desfoque de movimento na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando no comprimento do deslocamento horizontal (em pixels) ... 69   Figura 46 – Resultados de combinações de extratores no experimento de oclusão vertical na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 70   Figura 47 – Resultados de combinações de extratores no experimento de oclusão vertical na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 71   Figura 48 – Resultados de combinações de extratores no experimento de oclusão horizontal na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 72   Figura 49 – Resultados de combinações de extratores no experimento de oclusão horizontal na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando na porcentagem oclusa ... 73   Figura 50 – Resultados de combinações de extratores no experimento de desfoque gaussiano na base da INRIA, usando (a) AdaBoost e (b) SVM linear, com imagens variando no desvio padrão (σ) do filtro gaussiano ... 74   Figura 51 – Resultados de combinações de extratores no experimento de desfoque gaussiano na base da Caltech, usando (a) AdaBoost e (b) SVM linear, com imagens variando no desvio padrão (σ) do filtro gaussiano ... 75  

(11)

LISTA DE TABELAS

Tabela 1 – Qualidade do Sinal em Relação ao SNR ... 36   Tabela 2 – Quantidade de amostras das bases de imagem usadas ... 43   Tabela 3 – Pesos da média ponderada para combinação dos resultados ... 76   Tabela 4 – Taxa de falsos negativos dos classificadores sem combinação de características na

INRIA Person ... 77   Tabela 5 – Taxa de falsos negativos dos classificadores sem combinação de características na

Caltech Pedestrian ... 78   Tabela 6 – Taxa de falsos negativos dos classificadores com combinação de características na

INRIA Person ... 79   Tabela 7 – Taxa de falsos negativos dos classificadores com combinação de características na

(12)

SUMÁRIO

Capítulo 1 – Introdução ... 12  

1.1. Motivação ... 13  

1.2. Objetivos ... 15  

1.3. Visão geral da solução proposta ... 16  

1.4. Escopo ... 16  

1.5. Estrutura da dissertação ... 16  

Capítulo 2 – Extração de Características ... 18  

2.1. Imagens coloridas ... 19  

2.2. Histogram of Oriented Gradients (HOG) ... 20  

2.3. Local Binary Patterns (LBP) ... 22  

2.4. Color Self-Similarity (CSS) ... 24  

2.5. Local Gradient Increasing Pattern (LGIP) ... 25  

2.6. Local Ternary Patterns (LTP) ... 26  

Capítulo 3 – Classificação ... 28  

3.1. Modelo de aprendizagem ... 29  

3.1.1. SVM linear ... 29  

3.1.2. AdaBoost ... 32  

Capítulo 4 – Degradação de Imagem ... 34  

4.1. Baixa resolução ... 34  

4.2. Ruído ... 35  

4.3. Desfoque de movimento ... 36  

4.4. Oclusão ... 37  

(13)

Capítulo 5 – Classificação de Pedestres em Imagens Degradadas ... 40  

5.1. Bases de imagem ... 40  

5.2. Pré-processamento ... 41  

5.3. Combinação de características ... 43  

5.4. Experimentos sem combinação de características ... 44  

5.4.1. Baixa resolução ... 46  

5.4.2. Ruído ... 49  

5.4.3. Desfoque de movimento ... 52  

5.4.4. Oclusão ... 55  

5.4.5. Desfoque gaussiano ... 60  

5.5. Experimentos com combinação de características ... 63  

5.5.1. Baixa resolução ... 64  

5.5.2. Ruído ... 66  

5.5.3. Desfoque de movimento ... 68  

5.5.4. Oclusão ... 70  

5.5.5. Desfoque gaussiano ... 74  

5.6. Comparação dos resultados ... 76  

Capítulo 6 – Conclusões e Trabalhos Futuros ... 81  

6.1. Trabalhos futuros ... 82  

(14)

CAPÍTULO 1

INTRODUÇÃO

Máquinas inteligentes participam de várias situações do nosso cotidiano: meios de transporte, formas de comunicação, diagnósticos médicos, etc. Espera-se que, ao decorrer do tempo, as máquinas sejam cada vez mais integradas à nossa vida, principalmente melhorando aspectos como segurança e conforto [1].

Nos últimos anos, com o propósito de prever acidentes de trânsito, foram criados os sistemas de auxílio ao motorista (Advanced Driver Assistance System, ADAS). Estes sistemas inteligentes fornecem alertas em situações de perigo e ajudam motoristas na tomada de decisão. Os sistemas de proteção de pedestres (Pedestrian Protection System, PPS) são um tipo de ADAS focado na segurança dos pedestres [1]. A detecção de pedestres por este tipo de sistema aumenta o tempo disponível para a reação do motorista. Antes do impacto, qualquer redução de velocidade é beneficial para amenizar as lesões causadas ao pedestre. Portanto, neste caso, a detecção deve ser realizada em tempo real e o número de falsos negativos o menor possível [2]. A Figura 1 mostra um exemplo de carro com PPS.

Figura 1 – Veículo com sistema de visão noturna e detecção de pedestres [3]

O monitoramento através de câmeras é indispensável em sistemas de segurança de aeroportos, bancos, ruas, estádios e outros lugares públicos. Praticamente todos esses usos têm como objetivo melhorar a segurança do local e impedir atos criminosos. Mesmo com guardas treinados para monitorar as imagens, sistemas inteligentes são necessários para filtrar

(15)

a imensa quantidade de informação obtida pelas câmeras. Estes sistemas avançados usam técnicas de detecção e rastreamento de pedestres, de forma a identificar comportamentos suspeitos [4].

Além de aplicações de segurança, a detecção de pedestres também pode prover informações detalhadas sobre o fluxo de pedestres numa certa área. Estas informações podem ser usadas para determinar a quantidade de pessoas que visitam certa loja, definir o estado de um semáforo de trânsito baseado na presença de pedestres próximos à faixa, para identificar fluxos de movimento no transporte público, entre outros [5].

A detecção de objetos é uma habilidade biológica natural [6]. Esta capacidade consiste em localizar determinado tipo de objeto numa cena. Pessoas e animais a realizam sem esforço no dia-a-dia para, por exemplo, desviar de obstáculos, encontrar comida e identificar predadores. No entanto, transpor esta habilidade para métodos num computador não é algo trivial. Apesar disso, através da análise dos processos biológicos, é possível encontrar indícios de como reproduzi-los numa máquina [6]. Um exemplo desta inspiração são as redes neurais artificiais, que procuram reproduzir certos aspectos do funcionamento dos neurônios humanos e são frequentemente usadas no reconhecimento de objetos.

Cada aplicação impõe diferentes requisitos e limitações à etapa de detecção de objetos. Principalmente em aplicações industriais, as imagens devem ser processadas em tempo real. Portanto, o tempo de processamento pode ser um ponto relevante na avaliação dos métodos existentes. Em algumas aplicações, a tolerância a erros é bastante pequena, por exemplo, exigindo uma alta precisão ao determinar a localização de um objeto [7].

Além disso, apesar de todos os métodos tentarem reduzir ao máximo as taxas de falsos positivos, o nível de confiança no resultado é um requisito importante. Em geral, há uma grande pressão para evitar falsos positivos (também conhecidos como “alarmes falsos”) e falsos negativos (objetos que foram incorretamente ignorados pelo detector) em aplicações industriais, de forma a evitar custos desnecessários [7].

1.1. Motivação

Os métodos de detecção, para serem mais genéricos, devem ser tolerantes a algum tipo de variação de imagem. Caso contrário, seria bastante trivial encontrar um objeto que apresenta-se exatamente com as mesmas intensidades de pixel em várias imagens diferentes.

(16)

Estas variações podem surgir através da forma de aquisição de imagens ou pelas diferenças intrínsecas ao objeto em relação aos outros do mesmo tipo. Dependendo da aplicação, é desejável que o método tenha invariância a critérios como iluminação, escala, rotação, informação de fundo, oclusão parcial e ângulo de visão [7].

Um método ideal deve, ao mesmo tempo, maximizar a sensibilidade em relação a diferença de informação entre objetos de tipos diferentes e minimizar esta sensibilidade entre objetos do mesmo tipo [7]. Apesar de ser uma tarefa simples para humanos, propor um método automático que discrimine pessoas de outros objetos é um dos problemas mais desafiadores da área de visão computacional [3]. A variabilidade entre pedestres é grande, o que dificulta a tarefa. As roupas podem ser de diversas cores, acentuar o contorno do pedestre ou não, além de podermos nos articular em vários pontos, podendo assumir uma enorme quantidade de posições.

Ao longo do tempo, os pesquisadores desenvolveram vários modelos de representação de pedestres. Podemos categorizá-los em holísticos, que consideram o pedestre como um todo, e baseado em partes, que dividem o pedestre em partes arbitrárias (cabeça, tronco e pernas, por exemplo) [1].

Um detector de pedestres básico, que tem o objetivo de localizar pedestres numa imagem, geralmente possui dois componentes principais: um que seleciona regiões da imagem que possivelmente contêm um pedestre (gerador de candidatos) e outro que classifica estas regiões em grupos de pedestres e não-pedestres (classificador) [1]. O foco desta dissertação está na segunda parte: a etapa de classificação. Assim como grande parte dos detectores de pedestre, vários dos métodos no estado da arte usam classificadores [8][9][10][11]. Nesse tipo de detector, a performance do classificador é um dos principais fatores responsáveis pelo desempenho final do método.

Muitas das pesquisas em visão computacional e reconhecimento de padrões são focadas em extração de características e suas propriedades. Tais operações manipulam a intensidade e/ou cor dos pixels de uma imagem para gerar uma nova representação, que ressalta algum tipo de conhecimento sobre o conteúdo da imagem ou é mais apropriada para encontrar objetos específicos [6].

Quando o ambiente é não-controlado, como geralmente acontece nas aplicações de detecção de pedestres, fatores externos podem influenciar negativamente no desempenho do

(17)

classificador, vide a Figura 2. Baixa resolução, ruído, desfoque e oclusão são alguns efeitos que podem ser gerados por estes fatores, degradando a qualidade das imagens obtidas para avaliação. Esta dissertação propõe-se a medir o quanto classificadores são afetados por estes tipos de degradação de imagem e identificar formas de amenizar este impacto.

Figura 2 – Chuva gerando ruído e desfoque gaussiano na imagem [3]

1.2. Objetivos

Partindo da hipótese de que degradações de imagem influenciam negativamente na performance de classificadores, esta dissertação tem como objetivos principais avaliar o impacto de alguns tipos de degradações de imagem em classificadores de pedestres e propor combinações de extratores de características para melhorar o desempenho destes classificadores. Especificamente, estes objetivos incluem:

• Criar classificadores de pedestres unindo extratores de características à modelos de aprendizagem;

• Simular degradações de imagem em diversos níveis de intensidade nas bases de imagem avaliadas;

• Encontrar os classificadores com melhor desempenho para cada tipo e grau de degradação de imagem;

• Verificar se a combinação de extratores de características melhora o desempenho dos classificadores quando aplicados a imagens degradadas.

(18)

1.3. Visão geral da solução proposta

De forma a limitar o escopo, foram avaliados nesta dissertação somente classificadores formados apenas por um ou mais extratores de características e um modelo de aprendizagem. Após receber as imagens pré-processadas, os extratores de características são aplicados, resultando no vetor de características. Esse vetor passa por um modelo de aprendizagem, que decide se a imagem de origem contém ou não um pedestre. A Figura 3 esquematiza o processo descrito.

Figura 3 – Processo simplificado de classificação

1.4. Escopo

Esta dissertação tem como escopo:

• No máximo um pedestre por imagem: cada imagem avaliada pelos classificadores foi pré-processada para ser uma janela de tamanho fixo, contendo apenas um ou nenhum pedestre.

• Avaliar somente os métodos mencionados na dissertação: nos experimentos, somente foram usados os extratores de características do Capítulo 2 (HOG, LBP, CSS, LGIP e LTP), os modelos de aprendizagem mencionados no Capítulo 3 (AdaBoost e SVM linear) e os tipos de degradação de imagem do Capítulo 4 (baixa resolução, ruído, desfoque e oclusão).

1.5. Estrutura da dissertação

Esta dissertação está disposta em seis capítulos, organizados da seguinte forma:

• Capítulo 2: Apresenta os extratores de características avaliados, detalhando seu funcionamento.

• Capítulo 3: Expõe os conceitos referentes ao processo de classificação.

• Capítulo 4: Discorre sobre os tipos de degradação de imagem avaliados, explicando como foram simulados.

Imagem

(19)

• Capítulo 5: Descreve a metodologia utilizada no pré-processamento das bases de imagem e na realização dos experimentos propostos, além de apresentar os resultados obtidos e as discussões a respeito.

• Capítulo 6: Apresenta considerações em relação ao trabalho desenvolvido e aos resultados obtidos, propondo melhorias ao mesmo.

(20)

CAPÍTULO 2

EXTRAÇÃO DE CARACTERÍSTICAS

Uma imagem pode ser definida como uma função bidimensional 𝑓(𝑥, 𝑦), que mapeia coordenadas nos eixos x e y para determinado valor, chamado de intensidade, proporcional ao brilho da imagem naquele ponto. Quando estes valores de intensidade e os eixos x e y são finitos e discretos, dizemos que a imagem é digital. Uma imagem digital é composta por uma quantidade finita de elementos, cada um com localização e valor próprios. Estes elementos são conhecidos como pixels [12].

Estas imagens são armazenadas no computador como uma matriz de números. Para reconhecer objetos como pedestres numa imagem, podemos analisar as formas presentes e identificar o contorno da cabeça e dos membros, e então reconhecer o pedestre. No entanto, a imagem pode ser ruidosa, mascarando seus contornos. Nesse caso, pode-se analisá-la por suas texturas [13].

Pode-se pensar que uma forma simples de classificar objetos seria usar as intensidades intactas dos pixels diretamente como variáveis de entrada em um modelo de aprendizagem. Entretanto, na prática, a presença de muitas variáveis de entrada pode apresentar graves problemas num classificador [14], como dificuldade de generalização. Uma forma de amenizar esta situação é combinar essas variáveis para gerar um número menor de novas variáveis, chamadas de características [14].

Definimos características de baixo nível como aquelas que podem ser extraídas automaticamente de uma imagem sem usar informações de forma. Bordas, quinas e movimento aparente (a partir de duas imagens sequenciais) são exemplos de características pertencentes a este nível. Para encontrar formas e objetos em imagens, precisamos usar características de alto nível [13].

Na extração de características, procura-se garantir certas propriedades de invariância tal que o resultado não mude de acordo com condições determinadas. Isso implica encontrar o objeto independente de sua posição, orientação ou tamanho, por exemplo. Além desses critérios, é desejável que a técnica de extração também seja invariante à iluminação. Mesmo assim, fatores naturais como ruído e oclusões ainda podem influenciar negativamente no resultado [13].

(21)

2.1. Imagens coloridas

Imagens em níveis de cinza usam um valor por pixel, chamado de intensidade, que representa a quantidade de luz captada pelo sensor da câmera naquele ponto. Acrescentando sensores com filtros, podemos capturar mais de um valor de luz (em diferentes frequências) por ponto, obtendo assim pixels coloridos [13].

Na natureza, ondas eletromagnéticas podem assumir uma faixa infinita de frequências. Porém, o olho humano só é capaz de identificar frequências com comprimento de onda entre 400nm a 700nm. O sistema visual humano possui três tipos de receptores de cor nos olhos, sensíveis a faixas de frequência próximas à luz azul, verde e laranja (vide Figura 4) [13]. Cada olho humano possui de 6 a 7 milhões destes receptores, chamados de cones [12]. Isso significa que pode-se representar cores através de uma mistura entre estes três estímulos. Esta forma de representação é conhecida por tricromática.

Figura 4 – Sensibilidade à cores para cada tipo de cone no olho humano [13]

Segundo a representação tricromática, todas as cores podem ser dispostas num espaço tridimensional. Ou seja, considerando A1, A2 e A3 como cores primárias, é possível definir

uma cor por (1), onde c1, c2 e c3 são os pesos de cada componente. É importante mencionar

que C não necessariamente resultará um valor numérico, já que pode conter componentes vetoriais. Portanto, a cor deve ser representada pelo trio (c1, c2, c3) [13].

𝐶 = 𝑐!𝐴!+ 𝑐!𝐴!+ 𝑐!𝐴! (1)

Devido ao funcionamento do olho humano, considera-se as cores vermelho, verde e azul como primárias. No entanto, há outras formas de interpretação do espaço de cores, que definem diferentes modelos de cores. Basicamente, modelos de cores são criados a partir de transformações geométricas no espaço de cores [13].

(22)

Para definir um padrão, a Comissão Internacional de Iluminação (Commission

Internationale de l’Eclairage, CIE) propôs em 1931 fixar os comprimentos de onda das cores

primárias em 700nm para o vermelho (red, R), 546,1nm para o verde (green, G) e 435,8nm para o azul (blue, B), criando o modelo de cores RGB. Entretanto, isso não significa que combinando esses três componentes seja possível obter todas as cores visíveis [12]. Como as cores primárias precisam ser fixas, existem cores que só podem ser representadas caso pesos negativos fossem permitidos, o que não acontece.

Por ser voltada para sistemas de reprodução de cores, como monitores de computador, a combinação das componentes do RGB pode não ser intuitiva para humanos. Ou seja, é difícil estimar os valores precisos que cada componente deve assumir para formar uma cor específica. Portanto, modelos de cores perceptuais foram propostos a partir de transformações no espaço de cores do RGB tal que seus novos componentes sejam de fácil interpretação [13].

O HSV [15] é um modelo perceptual que representa as cores em matiz (hue, H) – a tonalidade da cor –, saturação (saturation, S) – o grau de pureza da cor – e valor (value, V) – o brilho da cor. Estas cores estão representadas no espaço num formato de cone, como mostra a Figura 5.

Figura 5 – Cone que mostra como as cores são representadas no modelo HSV [16]

2.2. Histogram of Oriented Gradients (HOG)

A convolução é uma operação onde uma máscara de números é multiplicada por cada

pixel de uma imagem e seus vizinhos [17]. O somatório destes resultados é, então, atribuído

(23)

valores de intensidade na vizinhança do pixel atual. Esse procedimento é aplicado a cada

pixel, gerando uma nova imagem. Resumindo, a convolução bidimensional aplica uma

máscara g na imagem h segundo (2):

ℎ(𝑥, 𝑦) ∗ 𝑔(𝑥, 𝑦) = ℎ(𝑖, 𝑗)𝑔(𝑥 − 𝑖, 𝑦 − 𝑗) ! !!!! ! !!!! (2)

Como uma borda é caracterizada por uma variação no nível de cinza, um operador sensível a essa alteração pode operar como detector de bordas. Pode-se interpretar a derivada de uma função como sua taxa de variação instantânea. Considerando uma imagem digital como uma função bidimensional, podemos calcular suas derivadas parciais no eixo x e y para estimar suas bordas. A este operador dá-se o nome de gradiente (3). Como uma imagem digital é discreta, aproxima-se o cálculo da derivada por subtrações entre pixels vizinhos [18]. A Figura 6 apresenta o gradiente de uma imagem de pedestre.

∇𝐼(𝑥, 𝑦) = 𝜕𝐼 𝜕𝑥,

𝜕𝐼

𝜕𝑦 (3)

Figura 6 – Aproximação do gradiente no eixo x (centro) e y (direita), com o contraste intensificado, em uma imagem de pedestre (esquerda)

O extrator de características mais popular na detecção de pedestres [19] foi proposto por Dalal & Triggs [20]. Denominado de Histogram of Oriented Gradients, o HOG baseia-se no gradiente da imagem, que calcula as bordas dela e suas orientações. O método é fundamentado na ideia de que as formas do objeto são bem representadas pela distribuição dos gradientes locais e das orientações das bordas.

(24)

O espaço de características do HOG representa o objeto por orientações, o que acaba sendo um pouco diferente do que nós humanos vemos. O projeto HOGgles [21] desenvolveu uma técnica que procura reconstruir a imagem a partir deste espaço, para que possamos entender melhor estas características e explicar falsos positivos. A Figura 7 mostra o comparativo para algumas imagens.

Figura 7 – Visualização das características do HOG (abaixo) usando o HOGgles (no centro) e as imagens originais (acima) [21]

O extrator de características inicia calculando o gradiente da imagem. Então, divide-a em blocos de 8 × 8 pixels. Para cada bloco, calcula-se um histograma de orientação, que origina o nome do método. As orientações e magnitudes de cada pixel são calculadas a partir do gradiente, considerando os seus valores como vetores nos eixos x e y. O histograma segmenta os pixels do bloco em 9 grupos, igualmente espaçados, em função da orientação. No entanto, cada pixel possui um peso diferente, correspondente à sua magnitude. Finalmente, os histogramas são normalizados em grupos de 2 × 2 blocos, e, por fim, concatenados.

2.3. Local Binary Patterns (LBP)

Ojala, Pietikäinen e Harwood [22], assumindo que uma textura é formada por padrões locais [23], introduziram o operador Local Binary Patterns (LBP). A proposta original do LBP baseia-se no deslocamento de uma janela 3 × 3 na imagem. Para cada um dos oito pixels vizinhos, é aplicada uma função de limiarização, binarizando a imagem. Esta função retorna 1 se o pixel tiver intensidade maior ou igual a o limiar – a intensidade do pixel central da vizinhança –, ou 0, caso contrário. Depois, estes valores binários são concatenados formando um dentre 28 = 256 possíveis resultados. Este processo é exemplificado na Figura 8.

(25)

Original 10010001

26 18 23 1 0 0

28 20 27 1 ↱↲ 1

21 12 14 0 0 0

Figura 8 – Exemplo do cálculo do operador LBP básico em um bloco

Anos depois, Ojala, Pietikäinen e Mäenpää [24] generalizaram o LBP através da notação LBPP,R, representando uma vizinhança de P pontos igualmente espaçados e com

distância R do centro. A Figura 9 mostra como a vizinhança é determinada para certos parâmetros. Como estes pontos nem sempre encontram-se no centro de um pixel, calculamos uma aproximação do seu valor de intensidade interpolando as intensidades dos 4 pixels com coordenadas inteiras mais próximos.

Figura 9 – Operador LBP com vizinhanças (8, 1), (16, 2) e (8, 2), da esquerda para a direita [23]

Ainda em [24], os autores propuseram outra variação ao LBP. Padrões uniformes, considerando-os como circulares, são aqueles que possuem até duas transições de valor entre bits vizinhos. Essas transições são identificadas por trechos “01” ou “10” no padrão, ou seja, quando o valor de dois bits vizinhos é diferente. Os padrões 00000000 e 11110001 são exemplos de padrões uniformes, pois 00000000 não possui nenhuma transição e 11110001 possui apenas duas (sublinhadas). Entretanto, 10011100 não é um padrão uniforme, pois deve-se considerar o padrão como circular. Logo, este padrão contém três transições (sublinhadas). A diferença em relação ao LBP original está no agrupamento de todos os padrões não-uniformes em uma mesma classe, dado que os padrões mais comuns em imagens naturais são uniformes [23]. Quando P = 8, isso resulta em apenas 59 saídas possíveis.

Para gerar o vetor de características, inicia-se aplicando o operador LBP na imagem. Depois, o método divide-a em blocos de 8 × 8 pixels e calcula o histograma de cada bloco em relação aos possíveis valores de saída. O resultado obtido em todos os blocos são concatenados e, por fim, normalizados.

14 2 Local Binary Patterns for Still Images

Fig. 2.1 Example of an input image, the corresponding LBP image and histogram

Fig. 2.2 The circular (8, 1), (16, 2) and (8, 2) neighborhoods. The pixel values are bilinearly interpolated whenever the sampling point is not in the center of a pixel

LBP using 8 pixels in a 3× 3 pixel block, this generic formulation of the operator

puts no limitations to the size of the neighborhood or to the number of sampling

points. The derivation of the generic LBP presented below follows that of [42,45,

53].

Consider a monochrome image I (x, y) and let gc denote the gray level of an

arbitrary pixel (x, y), i.e. gc= I (x, y).

Moreover, let gp denote the gray value of a sampling point in an evenly spaced

circular neighborhood of P sampling points and radius R around point (x, y):

gp= I (xp, yp), p= 0, . . . , P − 1 and (2.1)

xp= x + R cos(2πp/P ), (2.2)

yp= y − R sin(2πp/P ). (2.3)

(26)

2.4. Color Self-Similarity (CSS)

Em [25], Walk et al. propuseram uma nova característica, gerada a partir de histogramas locais de cor. Chamada de Color Self-Similarity (CSS), ela baseia-se na similaridade entre as cores de porções distintas da imagem.

Apesar de cores variarem bastante no conjunto de imagens, devido à diferenças na iluminação e roupas diferentes, por exemplo, as cores apresentam certa constância numa mesma região de uma imagem. A Figura 10 mostra como as cores aparecem agrupadas em uma imagem de pedestre após calcular a semelhança entre blocos, sendo os pontos claros os mais semelhantes.

Figura 10 – Resultado da aplicação do CSS para alguns pontos em uma imagem de pedestre [25]

Basicamente, este extrator de características calcula um histograma para cada bloco da imagem e compara-os dois a dois, calculando a similaridade entre eles. A forma de calcular a similaridade entre blocos é um dos parâmetros deste extrator. Walk et al. [25] realizaram experimentos para determinar quais valores são mais adequados para estes parâmetros: o modelo de cor da imagem, o tamanho do histograma e a função de similaridade.

Dentre os modelos de cores testados, o HSV apresentou melhor desempenho, sendo escolhido o histograma de tamanho 3 × 3 × 3. Para obter esse histograma, primeiro quantiza-se o espaço de cores do HSV em 3 grupos de valores igualmente distribuídos para cada componente de cor (H, S e V), resultando em 33 = 27 grupos distintos. Então, para cada grupo, é contada a quantidade de pixels cuja cor está contida no mesmo, como num histograma comum. Isso significa que o histograma resulta numa matriz tridimensional que representa as cores da imagem através da frequência de pixels em cada grupo de cores.

Para calcular o nível de similaridade, eles usaram interseção de histogramas (4), que é calculada pelo somatório dos valores mínimos para cada posição do histograma.

(27)

ℎ𝑖𝑠𝑡(𝑎, 𝑏) = min(𝑎!, 𝑏!)

!

!!!

(4)

O método, após converter a imagem colorida para o modelo HSV, divide-a em blocos de 8 × 8 pixels e calcula o histograma 3 × 3 × 3 de cada bloco. Então, para cada par de blocos, calcula-se a similaridade entre eles através da interseção dos histogramas, cujo resultado após normalização compõe o vetor de características da imagem.

2.5. Local Gradient Increasing Pattern (LGIP)

O LBP codifica informações de mudança de intensidade na imagem. Porém, tal método não é robusto à ruído, principalmente em regiões homogêneas da imagem. Para propor uma alternativa em relação a este ponto negativo, foi criado o Local Directional

Pattern (LDP) [26], que modifica o LBP para representar texturas pela codificação de

informações de borda em diferentes direções.

No entanto, o LDP tem como desvantagem um alto custo computacional [27]. Para resolver esse problema e combinar características de gradientes, LBP e LDP, Zhou & Wang [27] propuseram o Local Gradient Increasing Pattern (LGIP). O LGIP é um operador que, assim como o LBP, converte a imagem em uma matriz de valores.

Figura 11 – Máscaras de Sobel usadas no cálculo do operador LGIP [27]

A proposta consiste em expressar as tendências de variação de intensidade através de vetores. Portanto, o primeiro passo é aplicar oito máscaras de Sobel na imagem, cada uma responsável por identificar variações em uma orientação. Estas máscaras são aplicadas à imagem por convolução e tem como objetivo calcular uma aproximação do gradiente desta

with positive responses as 1 and others as 0. For example, the

intensity patten in fig. 3(a) can be encoded by 0011 1010 as

shown in fig. 2(a). 1-valued bit means the intensity increasing

trend is off-center as the arrow indicates in fig. 1, while 0

means the trend is opposite to the arrow. Alternatively, the

eight bits can be decided by intensity comparisons between

central pixel and its neighbours to speed up calculation, like

LBP operator. In this work, we adopt Sobel gradient

oper-ator to increase the stability in the presence of non-uniform

illumination changes and random noise. Still it is faster than

Kirsh edge operator in LDP as less pixels and multiplications

are involved.

-1 -2 -1 1 2 1 M0 M1 -1 -2 -1 1 2 1 M2 -1 -2 -1 1 2 1 M3 -1 -2 -1 1 2 1 M4 -1 -2 -1 1 2 1 M5 -1 -2 -1 1 2 1 M6 -1 -2 -1 1 2 1 M7 -1 -2 -1 1 2 1

Fig. 1. Local gradient masks in eight orientations.

Intensity increasing trends in each orientation are from

central pixel to 1-valued neighbours or from 0-valued

neigh-bours to central pixel. As shown in fig. 2(a), these trends

are described as vectors with unit L

-norm length, named

trend vectors (TVs). Overall trend vector (OTV) is defined as

the sum of the eight trend vectors, which consist of 1-valued

(dark) and 0-valued (grey) vectors. Note the sum of 1-valued

vectors equals to the sum of 0-valued vectors. Thus, the OTV

can equivalently calculated as the sum of only 1-valued

vec-tors. Sum of 1-valued trend vectors then can equally

com-puted as the gradient of the eight binary bits as shown in the

figure. Finally, a LGIP code is assigned to the OTV using a

2D look-up table in fig. 2(b). For instance, the OTV of 0011

0101 pattern in fig. 2 is ⟨−2, 1⟩, and the LGIP pattern is 17.

Totally, 37 LGIP patterns are included.

LGIP possesses many favourable properties that make it

outperform LBP and LDP. First, LGIP inherits the strengths

of classic LBP: simple, fast and invariant to monotonic

in-tensity changes. Second, LGIP takes advantage of gradient

and uniform patterns. For one thing, larger LGIP code in

fig. 2(b) implies the local intensity has more biased gradient in

a specific direction (OTV direction). For another thing, large

LGIP patterns are far from center in the table. They mostly

belong to uniform patterns, and represent the most

informa-tive micro-structures like edges and corners. For example,

LGIP pattern 35 corresponds to 8-bit code 0000 0111, 1000

1111, and pattern 31 corresponds to 0011 1100. Third, LGIP

has good stability in the presence of white noise and

non-.

b2 b1 b0 b7 b6 b3 b4 b5 OTVx= b0+b1+b7-b3-b4-b5 0 0 0 0 1 1 1 1 OTVx 32 18 5 0 1 10 26 31 17 4 3 2 11 27 16 15 14 13 12 30 29 28 34 35 36 20 21 22 23 24 33 19 6 7 8 9 25 OTVy -3 -2 -1 0 1 2 3 0 1 2 3 -3 -2 -1 = 0+0+0-1-1-0 = -2 OTVy= b1+b2+b3-b5-b6-b7 = 0+1+1-0-1-0 = 1 (a) (b) OTV(-2,1)

Fig. 2. LGIP pattern generation.

monotonic intensity changes like LDP. Taking the example in

[7] for instance, fig. 3 shows the origninal image and

corre-sponding image after adding white noise (circled pixel).

In-tensity raises in the southeast and drops in the northwest. 5

th

bit of LBP changes from 1 to 0 because of the white noise.

Since gradient operator is stable enough, LGIP code retains

the same in presence of such adding noise. Finally,

dimen-sionality of LGIP (37) is lower than both LBP (59) and LDP

(56). It can speed up image-to-image distance calculation.

LGIP = 00111010 32 50 26 10 53 60 38 45 85 35 52 58 40 LBP = 00011100 LDP = 00010011 (a) Original image

29 58 32 15 38 65 43 47 81 40 53 54 37 LBP = 00010100 LDP = 00010011 LGIP = 00111010 (b) Image with noise

Fig. 3. Stability of LGIP

3. FACIAL EXPRESSION RECOGNITION USING

LGIP

This section describes the facial expression recognition

method based on LGIP features. First, a discriminative facial

descriptor is extracted from facial image. And then

differ-ent facial expressions are classified by a multi-class SVM

classifier.

3.1. Facial descriptor

Given a facial image, the LGIP labeled image f

L

(x, y)

is

ob-tained by applying the LGIP operator to each pixel. The facial

descriptor is based on LGIP histogram. Histogram describes

the statistical distribution of the local micro-structures defined

by LGIP patterns. However, a global LGIP histogram will

lose the spatial information of such distribution. For such

con-sideration, the image is divided into m non-overlapping grid

regions R

0

, R

1

,

· · · R

m−1

, and the regional LGIP histograms

(28)

imagem. As máscaras, junto com as orientações correspondentes, estão dispostas na Figura 11.

Se, após a aplicação da máscara de Sobel, o pixel central assumir valor positivo, dizemos que o vetor de tendência (trending vector, TV) dele tem valor 1 nas direções e sentidos que a máscara atua, caso contrário, 0. O vetor global de tendência (overall trending

vector, OTV) do pixel é calculado através da soma dos seus oito vetores de tendência.

Calculando as magnitudes do vetor global de tendência nas coordenadas x e y, usa-se uma tabela bidimensional para traduzi-las a um valor, chamado de padrão LGIP.

Figura 12 – Exemplo do cálculo do operador LGIP [27]

A Figura 12 exemplifica o cálculo do operador. Este procedimento torna o LGIP um operador simples e rápido, como o LBP, e estável a ruído branco e variações de intensidade, como o LDP.

Para usá-lo como extrator de características, aplica-se o operador LGIP em toda a imagem. Depois, divide-a em blocos de 8 × 8 pixels e calcula-se o histograma de cada bloco. O resultado é normalizado e concatenado.

2.6. Local Ternary Patterns (LTP)

Para tornar o LBP mais resistente a ruído, principalmente em regiões quase homogêneas, Tan & Triggs [28] propuseram uma variação do extrator chamada Local

Ternary Patterns (LTP). A ideia é simples: acrescentar uma margem de tolerância t para mais

e para menos do valor do pixel central e o operador LTP transformará todos os valores nessa margem em zero. Além disso, é introduzido um valor negativo (-1) para quando o pixel adjacente é menor que o central e esteja fora da margem de tolerância.

with positive responses as 1 and others as 0. For example, the

intensity patten in fig. 3(a) can be encoded by 0011 1010 as

shown in fig. 2(a). 1-valued bit means the intensity increasing

trend is off-center as the arrow indicates in fig. 1, while 0

means the trend is opposite to the arrow. Alternatively, the

eight bits can be decided by intensity comparisons between

central pixel and its neighbours to speed up calculation, like

LBP operator. In this work, we adopt Sobel gradient

oper-ator to increase the stability in the presence of non-uniform

illumination changes and random noise. Still it is faster than

Kirsh edge operator in LDP as less pixels and multiplications

are involved.

-1 -2 -1 1 2 1 M0 M1 -1 -2 -1 1 2 1 M2 -1 -2 -1 1 2 1 M3 -1 -2 -1 1 2 1 M4 -1 -2 -1 1 2 1 M5 -1 -2 -1 1 2 1 M6 -1 -2 -1 1 2 1 M7 -1 -2 -1 1 2 1

Fig. 1. Local gradient masks in eight orientations.

Intensity increasing trends in each orientation are from

central pixel to 1-valued neighbours or from 0-valued

neigh-bours to central pixel. As shown in fig. 2(a), these trends

are described as vectors with unit L

-norm length, named

trend vectors (TVs). Overall trend vector (OTV) is defined as

the sum of the eight trend vectors, which consist of 1-valued

(dark) and 0-valued (grey) vectors. Note the sum of 1-valued

vectors equals to the sum of 0-valued vectors. Thus, the OTV

can equivalently calculated as the sum of only 1-valued

vec-tors. Sum of 1-valued trend vectors then can equally

com-puted as the gradient of the eight binary bits as shown in the

figure. Finally, a LGIP code is assigned to the OTV using a

2D look-up table in fig. 2(b). For instance, the OTV of 0011

0101 pattern in fig. 2 is ⟨−2, 1⟩, and the LGIP pattern is 17.

Totally, 37 LGIP patterns are included.

LGIP possesses many favourable properties that make it

outperform LBP and LDP. First, LGIP inherits the strengths

of classic LBP: simple, fast and invariant to monotonic

in-tensity changes. Second, LGIP takes advantage of gradient

and uniform patterns. For one thing, larger LGIP code in

fig. 2(b) implies the local intensity has more biased gradient in

a specific direction (OTV direction). For another thing, large

LGIP patterns are far from center in the table. They mostly

belong to uniform patterns, and represent the most

informa-tive micro-structures like edges and corners. For example,

LGIP pattern 35 corresponds to 8-bit code 0000 0111, 1000

1111, and pattern 31 corresponds to 0011 1100. Third, LGIP

has good stability in the presence of white noise and

non-.

b2 b1 b0 b7 b6 b3 b4 b5 OTVx= b0+b1+b7-b3-b4-b5 0 0 0 0 1 1 1 1 OTVx 32 18 5 0 1 10 26 31 17 4 3 2 11 27 16 15 14 13 12 30 29 28 34 35 36 20 21 22 23 24 33 19 6 7 8 9 25 OTVy -3 -2 -1 0 1 2 3 0 1 2 3 -3 -2 -1 = 0+0+0-1-1-0 = -2 OTVy= b1+b2+b3-b5-b6-b7 = 0+1+1-0-1-0 = 1 (a) (b) OTV(-2,1)

Fig. 2. LGIP pattern generation.

monotonic intensity changes like LDP. Taking the example in

[7] for instance, fig. 3 shows the origninal image and

corre-sponding image after adding white noise (circled pixel).

In-tensity raises in the southeast and drops in the northwest. 5

th

bit of LBP changes from 1 to 0 because of the white noise.

Since gradient operator is stable enough, LGIP code retains

the same in presence of such adding noise. Finally,

dimen-sionality of LGIP (37) is lower than both LBP (59) and LDP

(56). It can speed up image-to-image distance calculation.

LGIP = 00111010 32 50 26 10 53 60 38 45 85 35 52 58 40 LBP = 00011100 LDP = 00010011 (a) Original image

29 58 32 15 38 65 43 47 81 40 53 54 37 LBP = 00010100 LDP = 00010011 LGIP = 00111010 (b) Image with noise

Fig. 3. Stability of LGIP

3. FACIAL EXPRESSION RECOGNITION USING

LGIP

This section describes the facial expression recognition

method based on LGIP features. First, a discriminative facial

descriptor is extracted from facial image. And then

differ-ent facial expressions are classified by a multi-class SVM

classifier.

3.1. Facial descriptor

Given a facial image, the LGIP labeled image f

L

(x, y)

is

ob-tained by applying the LGIP operator to each pixel. The facial

descriptor is based on LGIP histogram. Histogram describes

the statistical distribution of the local micro-structures defined

by LGIP patterns. However, a global LGIP histogram will

lose the spatial information of such distribution. For such

con-sideration, the image is divided into m non-overlapping grid

regions R

0

, R

1

,

· · · R

m−1

, and the regional LGIP histograms

(29)

Seja u o valor do pixel adjacente, ic o valor do pixel central e t a margem de tolerância,

podemos calcular a saída s’ do operador LTP por (5):

𝑠′(𝑢, 𝑖!, 𝑡)   =  

     1,

     

𝑢 ≥ 𝑖! + 𝑡      0,

       

𝑢 − 𝑖! < 𝑡

−1,  

       

𝑢 ≤ 𝑖!− 𝑡 (5)

Mesmo podendo usar 3n padrões, os autores preferiram dividi-los em dois: um positivo, onde o que for diferente de 1 vira 0, e um negativo, onde o que for diferente de -1 vira 0. Portanto, o LTP gera o dobro da quantidade de características em relação ao LBP, como mostra a Figura 13. Isso foi feito porque é possível aplicar o conceito padrões uniformes, assim como LBP, reduzindo consideravelmente a quantidade de padrões possíveis [28].

Padrão positivo

Original Padrão ternário 1 0 0 Código:

t = 5 1001(-1)(-1)01 1 ↱↲ 1 10010001 26 18 23 1 0 0 0 0 0 28 20 27 1 ↱↲ 1 21 12 14 0 -1 -1 Padrão negativo 0 0 0 Código: 0 ↱↲ 0 00001100 0 1 1

(30)

CAPÍTULO 3

CLASSIFICAÇÃO

Como mencionado na introdução, as redes neurais artificiais foram, desde o princípio, inspiradas no funcionamento do cérebro humano. Podemos considerar o cérebro como uma máquina altamente complexa, não-linear e paralela. Ele tem a capacidade de organizar suas estruturas, os neurônios, de forma a realizar tarefas cognitivas muito mais rápido que computadores atuais [29].

Já no nascimento, o cérebro humano possui a habilidade de se adaptar e construir suas próprias regras, baseando-se nas experiências de vida. O cérebro se desenvolve com o tempo, mas a maioria desse desenvolvimento ocorre até os dois anos de idade. O neurônio em desenvolvimento apresenta plasticidade, que o permite adaptar-se ao ambiente [29].

Generalizando, um modelo de aprendizagem é uma máquina projetada com o objetivo de realizar determinada tarefa não-trivial. Ele incorpora informações sobre o problema, gerando conhecimento, que é usado para decidir a resposta apropriada [29].

O processo de classificação consiste em, a partir de conhecimento prévio, avaliar uma instância do problema e determinar a que grupo de observações ele pertence. Esses grupos de observações, conhecidos na literatura como classes, possuem instâncias com propriedades similares entre si e distintas das contidas nos demais. Portanto, o classificador tem como objetivo receber uma instância do problema e atribuí-lo a uma classe.

Na classificação de pedestres, existem duas classes triviais: uma para as imagens que contém um pedestre (classe positiva) e outra para imagens que não (classe negativa). Podemos representar a saída deste classificador binário (pois possui apenas duas classes) pela variável y, que assume valor 1 se a imagem pertencer a classe das amostras que contém um pedestre ou o valor 0 se a imagem for da classe negativa. Então, definimos o sistema de classificação como uma função 𝑓: ℝ! ⟶ {0,1} que mapeia um conjunto de valores de entrada

(x1, x2, ..., xn) (neste caso, uma imagem numa representação arbitrária) para uma variável de

(31)

Esta função poderia ser tão simples quanto combinar os valores de entrada e limiarizar (6) o resultado. No entanto, esta é uma função muito limitada para classificação de pedestres. Para aplicações práticas, precisamos de funções mais sofisticadas e flexíveis. Por oferecerem uma estrutura poderosa e generalista para criar este tipo de função, os diversos modelos de aprendizagem são bastante importantes neste contexto [14].

𝑓(𝑥) =  1,      𝑥 ≥ 𝜏  0,      𝑥 < 𝜏 , onde τ é o valor do limiar (6)

3.1. Modelo de aprendizagem

Uma propriedade fundamental dos modelos de aprendizagem é a capacidade de aprender a partir de observações e melhorar seu desempenho por isso. O conjunto de regras que define como o modelo aprende é chamado de algoritmo de aprendizagem [29]. Podemos definir um modelo de aprendizagem genericamente como um modelo formal matemático que abrange toda a solução do problema: como os valores de entrada estão dispostos, como são obtidas as amostras de treinamento, como o mapeamento é aprendido, entre outros.

Na literatura, existem três principais paradigmas de aprendizagem: supervisionada, não-supervisionada e por reforço. Na primeira, um professor, com conhecimento do ambiente, provê a saída desejada para cada instância durante o treinamento do modelo. O modelo então incorpora esses dados no seu treinamento, buscando generalizá-los, de forma a “emular” as decisões do professor [29].

Nos outros dois paradigmas não há professor, portanto o modelo precisa de mecanismos de autocorreção. Na aprendizagem não-supervisionada, é necessário determinar uma medida de qualidade, que servirá de base para otimizar os parâmetros. Já na aprendizagem por reforço, há a presença de um crítico, que emite estímulos positivos ou negativos ao modelo, dependendo da saída resultante [29].

Nessa dissertação, como trabalharemos com imagens de treinamento previamente classificadas, nos focaremos apenas em modelos com aprendizagem supervisionada.

3.1.1. SVM linear

A SVM, sigla de Support Vector Machine, teve seu desenvolvimento liderado por Vapnik nos anos 90 e baseia-se no princípio da minimização do risco estrutural. Este

(32)

princípio requer que otimizemos dois fatores contraditórios: minimizar o erro de treinamento (evitando o underfitting – quando o modelo é simples demais para o problema) e maximizar a generalização do conhecimento (evitando o overfitting – quando o modelo ajusta-se precisamente às amostras de teste, desviando-se da realidade). Portanto, temos que escolher entre uma aproximação mais precisa do conjunto de treinamento e funções de decisão com maior capacidade de representação [30].

Resolver este compromisso é mais simples quando consideramos amostras de treinamento linearmente separáveis. Ou seja, quando dispomo-las no ℝn (sendo n a

dimensionalidade de cada amostra), é possível traçar uma fronteira linear que divide o espaço em dois, os quais individualmente contém exatamente todas as instâncias de uma das duas classes. Esta fronteira é um subconjunto plano do ℝn de dimensões n-­‐1. Tal estrutura é

conhecida por hiperplano. Sendo x uma amostra qualquer, w o vetor de pesos e b o viés (bias), podemos representar o hiperplano ótimo de decisão da SVM pela equação (7).

𝑤!𝑥 + 𝑏 = 0 (7)

Figura 14 – Posicionamento do hiperplano ótimo em um conjunto de dados [29]

Resumindo, a SVM linear busca um hiperplano que separa classes de objetos além de apresentar a maior distância em relação aos objetos mais próximos à fronteira [31]. O hiperplano de decisão divide o conjunto de amostras em duas classes. A distância entre o hiperplano e a amostra mais próxima é a chamada margem de separação. Estas amostras próximas à fronteira entre classes são conhecidas como vetores de suporte, que dão nome ao método, e têm impacto direto na determinação do hiperplano [29]. Então, o treinamento do

(33)

modelo tem como objetivo determinar valores ótimos para w e b, a partir de amostras conhecidas. A Figura 14 exemplifica o resultado num conjunto arbitrário.

Quando as amostras possuem classes quase linearmente separáveis (mas não completamente), devido à instâncias ruidosas ou outliers (observações que fogem à regra), o objetivo passa a ser encontrar um hiperplano que gere o menor erro [31]. Portanto, a cada amostra de treinamento é atribuída uma “variável de folga” ξ não-negativa, cuja soma determina o erro do hiperplano de separação.

Cada um dos subespaços gerados pelo hiperplano representa a abrangência de uma classe no espaço do problema. Então, se uma amostra está localizada num subespaço diferente ao correspondente à sua classe, seu erro será diferente de zero. Para calcular o valor de ξ para certa amostra d, consideramos Hc como o hiperplano correspondente à classe correta desta

amostra (hiperplano que contém os vetores de suporte da classe) e H como o hiperplano de separação. Então, usamos a fórmula (8). Um exemplo do cálculo das variáveis ξ é apresentado na Figura 15.

ξ! = 𝑑𝑖𝑠𝑡â𝑛𝑐𝑖𝑎(𝑑, 𝐻!)

𝑑𝑖𝑠𝑡â𝑛𝑐𝑖𝑎(𝐻, 𝐻!) (8)

Figura 15 – Forma de calcular as variáveis de folga ξ numa SVM linear

Além disso, esse tipo de SVM permite definir um parâmetro C, que funciona como um mecanismo para acrescentar tolerância a erros. Quanto maior o valor do C, menos erros serão tolerados, podendo, inclusive, causar overfitting [30].

(34)

3.1.2. AdaBoost

No princípio de dividir para conquistar, uma tarefa computacional complexa é dividida em várias tarefas menores e, então, os resultados destas são combinados de forma a realizar a tarefa original. Na aprendizagem supervisionada, é possível aplicar este princípio distribuindo a tarefa de classificação entre vários “especialistas” (modelos de aprendizagem treinados de formas distintas), combinando-as numa resposta única, formando assim uma máquina de comitê [29].

O boosting é um tipo de máquina de comitê onde os “especialistas” são treinados em conjuntos de amostras com diferentes distribuições de probabilidade [29]. Para um problema de classificação qualquer, uma distribuição de probabilidade é uma função que, para cada amostra presente no conjunto universo (que abrange todas as amostras representáveis) deste problema, retorna a probabilidade desta amostra ocorrer no ambiente externo.

O AdaBoost, abreviação de boosting adaptativo, é uma técnica de boosting por reamostragem. Ele inicia o treinamento do primeiro modelo assumindo que todas as amostras de treinamento são igualmente importantes. Nas etapas seguintes, os modelos atuais priorizam as amostras incorretamente classificadas nos modelos de etapas anteriores em detrimento dos acertos destes [32].

Denomina-se de modelo de aprendizagem fraco uma máquina de aprendizagem binária que identifica uma hipótese que obtém uma taxa de falsos negativos de pouco menos que 50% num conjunto aleatório de amostras. Ou seja, este modelo precisa ser ao menos um pouco melhor que palpites aleatórios (que acertariam probabilisticamente metade dos casos). O AdaBoost adapta-se aos erros de um modelo fraco, por isso o seu nome [29]. Como consequência, cada modelo do comitê especializa-se em classificar uma parte do espaço de amostras onde os anteriores não foram bem sucedidos.

Para cada etapa, esta técnica prioriza as amostras erroneamente classificadas na etapa anterior, de forma que as amostras difíceis tenham maior prioridade (peso) que as fáceis [29]. Sejam as amostras de treinamento um conjunto na forma (xi, di), o processo inicia-se com

uma distribuição D1 uniforme, e para cada uma das n etapas:

1. Treina-se um modelo com uma amostra da distribuição Dn;

(35)

3. Calcula-se o erro do modelo Fn por 𝜖! = !:!!(!!)!!!𝐷!(𝑖);

4. Cria-se uma nova distribuição Dn+1, que consiste em multiplicar por βn os valores de

Dn classificados corretamente em Fn, onde 𝛽! = 𝜖! 1 − 𝜖! .

De forma a combinar os modelos gerados, a saída final Fn(x) de um vetor de

características x é calculada por (9):

𝐹!(𝑥)   = 𝑎𝑟𝑔  𝑚𝑎𝑥 !∈! 𝑙𝑜𝑔 1 𝛽! !:!!(!)!! (9)

(36)

CAPÍTULO 4

DEGRADAÇÃO DE IMAGEM

Imagens reais de objetos que se movem podem ser consideradas como uma representação degradada de uma imagem ideal, capturada em um determinado instante por uma câmera ideal [33].

Neste capítulo, são apresentados alguns dos possíveis tipos de degradação de imagem: baixa resolução, ruído, desfoque de movimento, oclusão e desfoque gaussiano. Estes cinco tipos de degradação foram simulados nas bases de imagem durante os experimentos desta dissertação.

4.1. Baixa resolução

A resolução na qual um objeto tridimensional é observado numa imagem depende principalmente da sua distância em relação à câmera e da distância focal associada à lente da câmera. Por isso, há uma forte relação entre escala e resolução [34].

Quando um detector busca por pedestres em uma imagem, normalmente a mesma imagem é percorrida diversas vezes, com cada uma procurando pedestres em uma determinada faixa de tamanho. No entanto, quanto menor o pedestre estiver na imagem, menos detalhes ele apresentará, dificultando o reconhecimento.

Referências

Documentos relacionados

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.

A finalidade do “Documento de Arquitetura de Software - DAS” é definir um modelo arquitetural para ser aplicado ao desenvolvimento dos jogos do Desafio SEBRAE, bem como

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...