INSTITUTO PERNAMBUCANO DE ENSINO SUPERIOR IPESU CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO FÁBIO ADRIANO FARIAS DE ALBUQUERQUE



Documentos relacionados
Universidade Federal do Rio de Janeiro - IM/DCC & NCE

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Transformada de Hough. Cleber Pivetta Gustavo Mantovani Felipe Zottis

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

FILTRAGEM ESPACIAL. Filtros Digitais no domínio do espaço

2.1.2 Definição Matemática de Imagem

Filtragem Espacial. (Processamento Digital de Imagens) 1 / 41

UFGD FCA PROF. OMAR DANIEL BLOCO 4 PROCESSAMENTO DE IMAGENS

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Localização de placas em imagens de veículos. Resumo

Tratamento da Imagem Transformações (cont.)

6. Geometria, Primitivas e Transformações 3D

Processamento digital de imagens. introdução

Cálculo de volume de objetos utilizando câmeras RGB-D

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

Figura 01: Aplicações do Filtro Espacial Passa-Baixa.

UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS

Fundamentos de Hardware

RECONHECIMENTO DE PLACAS DE AUTOMÓVEIS ATRAVÉS DE CÂMERAS IP

Scale-Invariant Feature Transform

Capítulo 5 Filtragem de Imagens

Complemento II Noções Introdutória em Redes Neurais

Informática Aplicada a Radiologia

15 Computador, projeto e manufatura

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão)

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

Thales Trigo. Formatos de arquivos digitais

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

Processamento de histogramas

Operações Algébricas e Lógicas. Guillermo Cámara-Chávez

)LJXUD8PGRVSDUHV'SDUDFRQYROXomRTXHWHPRPHVPRHIHLWRGR NHUQHOGD)LJXUD

Processamento de Imagem. Prof. Herondino

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

CorelDRAW UM PROGRAMA DE DESIGN

Atividade: matrizes e imagens digitais

Trabalho 2 Fundamentos de computação Gráfica

Organização e Arquitetura de Computadores I

PROVA MODELO Duração da prova: 120 minutos

Detecção e Rastreamento de Objetos coloridos em vídeo utilizando o OpenCV

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

Fotografia digital. Aspectos técnicos

UNIVERSIDADE FEDERAL DE SANTA CATARINA

SEGEMENTAÇÃO DE IMAGENS. Nielsen Castelo Damasceno

VCA Treinamento em Algoritmo

Aula 2 Aquisição de Imagens

REPRESENTAÇÃO DA IMAGEM DIGITAL

Imagem digital. Unidade 3

Aula 3 - Registro de Imagem

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

Visão humana. Guillermo Cámara-Chávez

1 Transmissão digital em banda base

Prof. Daniel Hasse. Multimídia e Hipermídia

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 16

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO

Aula 5 - Classificação

Manual Processamento de Imagem. João L. Vilaça

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica

PROCESSAMENTO DIGITAL DE IMAGENS

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

PROCESSAMENTO DIGITAL DE IMAGENS

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

Filtragem no Domínio da Frequência


3 Classificação Resumo do algoritmo proposto

MLP (Multi Layer Perceptron)

Introdução. Capítulo. 1.1 Considerações Iniciais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

FEN Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Reconhecimento de marcas de carros utilizando Inteligência Artificial. André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller

1.1. Organização de um Sistema Computacional

Aula 3 - Registro de Imagem

APLICATIVOS GRÁFICOS (AULA 4)

Comparação entre a Máscara de Nitidez Cúbica e o Laplaciano para Realce de Imagens Digitais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Capítulo II Imagem Digital

5 Extraindo listas de produtos em sites de comércio eletrônico

MODELAGEM DIGITAL DE SUPERFÍCIES

Luz, olho humano e óculos Capítulo 12 (pág. 219)

Escolha da Objectiva. Quais as principais características das objectivas que servem de base para a escolha das suas lentes?

Filtros de sinais. Conhecendo os filtros de sinais.

Pesquisa e organização de informação

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Nosso objetivo será mostrar como obter informações qualitativas sobre a refração da luz em um sistema óptico cilíndrico.

Programação de Robótica: Modo Circuitos Programados - Avançado -

FILTRAGEM NO DOMÍNIO DAS FREQUÊNCIAS (TRANSFORMADA DE FOURIER) Daniel C. Zanotta 04/06/2015

Virtual Welding. Treinamento do futuro

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Sua indústria. Seu show. Seu Futuro

Fundamentos de Imagens Digitais. Aquisição e Digitalização de Imagens. Aquisição e Digitalização de Imagens. Aquisição e Digitalização de Imagens

Processamento Digital de Imagens

Conforme explicado em 2.4.3, o sinal de voz x(n) às vezes é alterado com a adição de ruído r(n), resultando num sinal corrompido y(n).

Ciências da Computação Disciplina:Computação Gráfica

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Transcrição:

INSTITUTO PERNAMBUCANO DE ENSINO SUPERIOR IPESU CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO FÁBIO ADRIANO FARIAS DE ALBUQUERQUE SISTEMA DE DETECÇÃO AUTOMÁTICA DE PORTADORES DE ARMAS DE FOGO RECIFE 2015

INSTITUTO PERNAMBUCANO DE ENSINO SUPERIOR IPESU CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO FÁBIO ADRIANO FARIAS DE ALBUQUERQUE SISTEMA DE DETECÇÃO AUTOMÁTICA DE PORTADORES DE ARMAS DE FOGO Monografia apresentada como requisito parcial para obtenção do título de Bacharel em Ciência da Computação promovido pelo Instituto Pernambucano de Ensino Superior IPESU. Orientadora: Prof. Dr. Nara Miranda Portela RECIFE 2015

Fábio Adriano Farias de Albuquerque SISTEMA DE DETECÇÃO AUTOMÁTICA DE PORTADORES DE ARMAS DE FOGO Trabalho julgado adequado e aprovado em / / Banca Examinadora: Professor(a) (Orientador(a)) Professor(a) Avaliador(a) Professor(a) Avaliador(a) Coordenador do Curso: Professor Fábio Pereira Botelho, MSC.

Dedico este trabalho à Dona Lena, Bruno, Marcio e Cristiano (Cuíca).

AGRADECIMENTOS Agradeço primeiramente à minha família, especialmente meus pais, Eliene de Lourdes de Albuquerque (Dona Lena) e João Farias de Albuquerque, pela iniciativa e motivação para concluir minha graduação, e aos meus irmãos Bruno Juliano Farias de Albuquerque e Marcio Roberto Farias de Albuquerque pelo apoio moral. Também agradeço ao meu grande amigo Gustavo Henrique Vilanova Holder por ter me incentivado a iniciar minha carreira acadêmica. Durante estes quatro anos de graduação, convivi com pessoas que me deram uma grande colaboração para a conclusão de projetos de disciplina, seminários e outras atividades acadêmicas. Por isso expresso minha enorme gratidão aos amigos e colegas que adquiri nesta jornada, em especial à Joyce Pereira Rodrigues, Diego Nunes Teles de Mendonça, Elisangela Ayres de Lima, Fernando Reis da Silva e Thuany Priscila Nascimento da Silva. Agradeço do fundo do coração à todas as pessoas que colaboraram direta e indiretamente para meu crescimento na área de Ciência da Computação. Principalmente à Nadilma Nunes Gadelha que foi umas das melhores professoras que tive na minha vida, onde é de sua total responsabilidade meu domínio em lógica de programação. E também ao Fábio Pereira Botelho que coordenou o curso dando bastante atenção aos alunos. Uma das motivações deste trabalho foi minha experiência no ramo de circuitos fechados de televisão e da ideia de meu amigo Cristiano Bezerra de Menezes (Cuíca) de aperfeiçoar o modelo de segurança a partir de reconhecimento de padrões. Agradeço a minha orientadora Nara Miranda Portela por ter ministrado com excelência a disciplina Processamento de Imagens Digitais e pela grande colaboração neste trabalho.

O fanatismo ideológico, responsável por muitas falsas dicotomias, ceifou centenas de vidas. A liberdade de expressão e senso crítico precisam ser os principais mecanismos da inteligência e da paz em nossa sociedade. - Fábio Adriano.

RESUMO No contexto de reconhecimentos de objetos, este trabalho tem como objetivo implementar um sistema de detecção de objetos utilizando o algoritmo de extração de características conhecido como Gradientes de Histogramas Orientados em conjunto um classificador em cascata baseado em Máquina de Vetores de Suporte. O sistema será validado na detecção de armas de fogo em imagens digitais. A detecção de armas de fogo determinará se a arma de fogo estará contida em cada quadro do vídeo digital. É possível fazer a detecção através da utilização de técnicas de aprendizado supervisionado que utilizam imagens de exemplos no treinamento para detectar o objeto nas imagens de teste. Um banco de dados para o treinamento do classificador foi utilizado, onde as imagens de treinamento foram divididas em conjuntos de exemplos positivos e negativos. Para testar a eficiência da detecção foi utilizado um arquivo de vídeo digital com plano de fundo uniforme neutro e outro que possui como plano de fundo uma savana. O percentual de acerto do algoritmo de detecção e reconhecimento de armas de fogo foi de 78% para o arquivo de vídeo com plano de fundo uniforme neutro e 33% para o arquivo de vídeo com a savana como plano de fundo. Palavras-chave: Processamento de imagens. Extração de características. Reconhecimento de objetos.

ABSTRACT In the context of object recognition, this study aims to implement an object detection system using the feature extraction algorithm known as Histograms of Oriented Gradients together a cascade classifier based on Support Vector Machine. The system will be validated in firearms detection in digital images. The firearms detection in digital videos determine whether the firearm is contained in each frame of the digital video file. Is possible made detection through a supervised learning algorithm using training sample images to detect the object in the test sample images. A classifier training database was used, where the training images were divided into sets of positive and negative samples. To test the efficiency of the classifier detection was used a neutral uniform backgrounded digital video file and another with a savanna backgrounded digital video file. The percentage of correct detection of the firearms recognition algorithm was 78% for neutral uniform backgrounded digital video file and 33% for savanna backgrounded digital video file. Key-words: Image processing. Feature extraction. Object recognition.

LISTA DE ILUSTRAÇÕES Figura 1.1 Sistema de circuito fechado de televisão registrando o momento em que os terroristas armados fuzilam o policial em praça pública nas proximidades do Charlie Hebdo 18 Figura 1.2 Exemplo das tecnologias do projeto Deep Face do Facebook: sinalização do rosto;; recorte do rosto;; representação por pontos da imagem original;; representação do rosto renderizado sem textura;; representação em wire-frame do rosto;; representação dos pontos da renderização do rosto;; representação do rosto renderizado com textura;; representação do rosto renderizado em outro ângulo 19 Figura 1.3 Técnica de binizaração aplicada na imagem da placa de trânsito 19 Figura 2.1 Representação dos pixels da imagem em escala de cinza (à esquerda) e colorida (à direita) 21 Figura 2.2 Representação dos pixels com 4-vizinhos (à esquerda) e 8- vizinhos (à direita) 22 Figura 2.3 Representação do conjunto de imagens/quadros 23 Figura 2.4 As diversas fases do processamento de imagens 23 Figura 2.5 Duas imagens iguais, mas com brilho e contraste diferentes 24 Figura 2.6 Exemplo de redução de ruído na imagem usando os filtros de média e mediana 26 Figura 2.7 A filtragem do desfoque gaussiano utilizando respectivamente 50% e 100% de desvio padrão 27 Figura 2.8 Resultado das operações de transformações geométricas 28 Figura 2.9 Tabela de frequência de ocorrência dos níveis de cinza da imagem 29 Figura 2.10 Gráfico do histograma 29 Figura 2.11 Variação de brilho em um histograma 30 Figura 2.12 Variação de contraste em um histograma 30 Figura 2.13 Variação de contraste em um histograma 31 Figura 2.14 Imagem e histograma de uma imagem em baixo contraste. Imagem com o histograma expandido 31 Figura 2.15 Imagem e histograma de uma imagem em alto contraste. Imagem com o histograma comprimido 32 Figura 2.16 Imagem e histograma de uma imagem em baixo contraste. Imagem com o histograma equalizado 32 Figura 2.17 Imagem original à esquerda e imagem em negativo à direita 33 Figura 2.18 Algoritmo de limiarização com valor de corte em 147 34 Figura 2.19 Algoritmo de limiarização com corte ajustado em 119 34 Figura 2.20 Representação dos objetos: centroide;; conjunto de pontos;; retângulo;; elipse;; baseado em várias partes;; objeto esqueletizado;; pontos controlados no contorno do objeto;; contorno completo do objeto;; silhueta do objeto 37 Figura 2.21 Representação da arquitetura de uma rede neural 40 Figura 2.22 Exemplo gráfico de um algoritmo de classificação em cascata 42 Figura 2.23 Representação da arquitetura de uma rede neural 44 Figura 3.1 Característica Haar aplicada sobre um rosto 46 Figura 3.2 Efetuando a soma da área retangular sombreada 46 Figura 3.3 Três exemplos de vizinhos usados para definir uma textura 48

Figura 3.4 A média do gradiente da imagem em cima dos exemplos de treinamento;; em cada um destes pixels é mostrado, no bloco centralizado do pixel, os exemplos positivos da máquina de vetores de suporte;; mesmo exemplo anterior para os exemplos negativos;; uma imagem de teste;; é calculado o descritor de blocos retangulares (R-HOG);; o descritor de blocos retangulares é ponderado a partir dos exemplos positivos e negativos da máquina de vetores de suporte 51 Figura 3.5 Exemplo de uma imagem da submetralhadora Colt Model 933 M4A1 Carbine, que compõe o banco de dados de exemplos positivos. É possível observar que a quantidade de regiões escuras desta arma de fogo é muito maior que a de um rosto humano, e também que sua textura é muito complexa, necessitando de um método que trabalhe além destas características 52 Figura 4.1 Esquemas em blocos do processo de treinamento e de teste 55 Figura 4.2 Reprodução em tempo real e renderização em um arquivo de vídeo, respectivamente 55 Figura 4.3 Exemplo de imagens do conjunto de exemplos positivos. A última imagem mostra a distorção da arma de fogo para a simulação da inclinação da imagem 56 Figura 4.4 Exemplo de imagens do conjunto de exemplos negativos 56 Figura 4.5 Exemplo de duas imagens do banco de dados de exemplos positivos com três regiões de interesses determinadas 57 Figura 4.6 Á esquerda, dois exemplos de imagens com fundo uniforme, e à direita, dois exemplos com fundo da savana 57 Figura 4.7 A caixa delimitadora foi marcada em cima da arma de fogo 58 Figura 4.8 A caixa delimitadora foi marcada em uma parte da arma de fogo 59 Figura 4.9 A caixa delimitadora não marcou a arma de fogo 59 Figura 4.10 A caixa delimitadora foi marcada fora da a arma de fogo 60 Figura 4.11 Na imagem abaixo, as características dos Gradientes de Histogramas Orientados, que calcula a ocorrência dos gradientes orientados em determinadas partes de uma imagem através da comparação dos subconjuntos de treino e teste, resultando no descritor de blocos de uma submetralhadora Colt Model 933 M4A1 Carbine 62 Figura 4.12 O detector, através dos metadados obtidos pelo classificador em cascata, sinalizou a arma de fogo em um vídeo com plano de fundo uniforme 63 Figura 4.13 A execução do detector em um vídeo com plano de fundo com vários elementos na tela 64

LISTA DE TABELAS Tabela 1 Resultados do algoritmo de detecção de armas de fogo 63

LISTA DE ABREVIATURAS E SIGLAS 1D ADABOOST C-HOG CFTV DETRAN EM FPS GB GHZ HAAR HD HOG JPEG LBP PDI R-HOG RGB ROI SVM Uma Dimensão Adaptive Boosting Circular Histogram of Oriented Gradients Circuito Fechado de TV Departamento Estadual de Trânsito Eletromagnético Frames Per Second Gigabytes Gigahertz Haar-like features High Definition Histogram of Oriented Gradiants Joint Photographics Experts Group Local Binary Patterns Processamento Digital de Imagens Rectangular Histogram of Oriented Gradients Red Green Blue Region of Interest Support Vector Machine

SUMÁRIO 1 INTRODUÇÃO... 15 1.1 Objetivo Geral... 16 1.1.1 Objetivo Específicos... 17 1.2 Justificativa... 17 1.3 Metodologia... 19 1.4 Estrutura do documento... 20 2 REFERENCIAL TEÓRICO... 21 2.1 Imagem digital... 21 2.2 Vídeo digital... 22 2.3 Processamento digital de imagens... 23 2.3.1 Melhoria da informação visual... 24 2.3.2 Filtragem no domínio espacial... 25 2.3.3 Filtragem de desfoque gaussiano... 26 2.3.4 Transformação geométrica de imagens... 27 2.3.5 Histograma... 28 2.3.6 Normalização de cor e gama... 34 2.3.7 Computação de gradientes... 35 2.3.8 Representação de objetos... 36 2.4 Classificadores... 38 2.4.1 Redes neurais... 40 2.4.2 Classificação em cascata... 41 2.4.3 Máquinas de Vetores de Suporte... 42 3 ESTADO DA ARTE... 45 3.1 Detecção de objetos Viola-Jones... 45 3.2 Detecção de objetos com Padrões de Locais Binários... 47 3.3 Detecção de objetos por Gradientes de Histogramas Orientados... 49 3.4 Seleção do algoritmo ideal para a detecção de armas de fogo... 52 4 EXPERIMENTOS... 53 4.1 Metodologia... 53 4.1.1 Banco de dados... 56 4.1.2 Medida de desempenho... 58 4.1.3 Ambiente de programação... 60

4.1.4 Experimentos... 61 a Treino... 61 b Teste... 62 4.1.5 Resultados... 63 4.1.6 Considerações finais... 64 5 CONSIDERAÇÕES FINAIS... 66 5.1 TRABALHOS FUTUROS... 68 REFERÊNCIAS... 69 APÊNDICE A Algoritmo de Detecção de Armas de Fogo em MATLAB.... 73

15 1 INTRODUÇÃO O ser humano tem a capacidade nata de reconhecer variados tipos de objetos e suas diferentes formas, mas dentro da área de visão computacional a detecção de objetos vem sendo um problema bastante discutido (BOSH, et al., 2007), pois é necessário o uso de técnicas para que os computadores realizem as seguintes tarefas na análise de uma sequencia de imagens digitais: a detecção dos objetos;; e o rastreamento destes objetos (YILMAZ, et al., 2006). A detecção de objetos consiste em determinar se uma imagem contém ou não o objeto requerido. Exemplos de aplicações para a detecção de objetos com as mais variadas formas podem ser encontrados em diversos ramos da indústria, onde possíveis aplicações são o controle de processos (como robôs industriais ou veículos autônomos), controle de qualidade em fabricas de produção em série, detecção de eventos, organização de informação, modelagem de objetos ou ambientes de interação (atrelados a interação homem-computador) (MACHADO, 2008). Outro bom exemplo de aplicação para a detecção de objetos são os Circuitos Fechados de Televisão, ou CFTV, que fazem o registro de uma sequência de imagens vindas de câmeras localizadas em diferentes locais. O foco principal destes sistemas é de fazer o armazenamento destas imagens para localizar o momento de uma possível infração de criminosos ou mesmo inibir tais delitos. Com o passar dos anos estes sistemas evoluíram e são capazes de manipular sequências de imagens de alta resolução, ou HD (do inglês, high definition) e de utilizar técnicas de reconhecimentos de padrões para o reconhecimento de faces humanas e de placas de identificação de veículos, ou mesmo de objetos específicos, como armas de fogo ou outros tipos de projéteis visíveis. Atualmente, os recursos de detecção de objetos proporcionam a automatização para que estes sistemas realizem tarefas que não são viáveis aos seres humanos, como por exemplo ter disponibilidade de detecção em 24 horas por dia e 7 dias por semana, além da capacidade de analisar vários vídeos com aceleração da passagem das imagens. A tarefa de rastreamento de objetos consiste em persistir com a detecção do objeto em uma sequencia de um conjunto de imagens digitais, onde o objeto da

16 imagem atual também será detectado na imagem seguinte, caso este exista. Segundo SOARES, et al (2010), o rastreamento de objetos é definido como estimação da trajetória de um objeto em uma imagem plana. Problemas em rastreamento de objetos podem surgir devido a vários fatores como por exemplo a falta de rigidez na estrutura dos objetos, mudanças de padrões na cena provocados por movimentos abruptos, ocultação do objeto em uma cena ou mesmo com a movimentação acidental da própria câmera (YILMAZ, et al., 2006). No entanto, técnicas de extração de características da imagem digital, como por exemplo a dos Gradientes de Histogramas Orientados, usadas em conjunto com técnicas de classificação, vêm superando este desafio e alcançado excelentes resultados quando aplicadas nas mais diferentes áreas, algumas vezes sobressaindo-se até mesmo ao sistema biológico de visão humana (MACHADO, 2008). Um algoritmo de detecção e rastreamento de portadores de objetos específicos para imagens digitais, como por exemplo o reconhecimento de armas de fogo, é bastante útil para identificar estes objetos em poucos instantes. Ao efetuar a correta detecção do objeto podemos ter grandes possibilidades de intervenção, como por exemplo o envio de um alerta sonoro ou visual para periféricos conectados a alguma rede computacional. 1.1 Objetivo Geral Este trabalho tem como objetivo adaptar o algoritmo de extração de características de imagens digitais conhecido como Gradientes de Histogramas Orientados, utilizado em conjunto com um classificador de Máquinas de Vetores de Suporte utilizando a arquitetura de classificação em cascata, para efetuar a detecção de armas de fogo em imagens digitais. Os testes serão focados no reconhecimento de uma submetralhadora Colt do modelo 933 M4A1 Carbine. O algoritmo tem o objetivo de ser empregado em arquivos de vídeo, onde será feito a sinalização gráfica da região dos quadros que indicam o aparecimento da arma.

17 1.1.1 Objetivo Específicos Este trabalho possui 8 objetivos específicos: 1. Fazer a revisão bibliográfica sobre reconhecimento de padrões para a detecção de objetos para propor a implementação de um algoritmo de detecção e reconhecimento de armas de fogo;; 2. Fazer a revisão bibliográfica dos princípios de imagem digital, de processamento de imagens digitais e de vídeos digitais;; 3. Confeccionar um banco de dados de treinamento, que será dividido em conjuntos de exemplos positivos e negativos;; 4. Extrair as características das imagens do banco de dados utilizando a técnica de Gradientes de Histogramas Orientados;; 5. Implementar o algoritmo de Gradientes de Histogramas Orientados e usar as características extraídas para o treino do classificador Máquina de Vetores de Suporte combinado com a arquitetura de classificação em cascata;; 6. Validar os algoritmos como técnica de detecção de armas de fogo e efetuar o teste da detecção de armas de fogo em arquivos de vídeos digitais;; 7. Analisar os resultados obtidos;; 8. Fazer as considerações finais sobre o desempenho do algoritmo;; 1.2 Justificativa O atentado terrorista que atingiu o jornal satírico francês Charlie Hebdo no início de 2015, e outro atentado terrorista que atingiu diversos pontos da cidade de Paris no final do mesmo ano (THE Guardian, 2015), além de comover e dividir opiniões de populações do mundo inteiro, também mostrou que os sistemas de Circuitos Fechados de Televisão podem ser melhorados para prevenir eventuais delitos. A inserção das novas técnicas de reconhecimento de padrões nestes sistemas são exemplos das melhorias que poderiam ser adicionadas nos sistemas de CFTV. A Figura 1.1 mostra um quadro de vídeo digital que mostra o momento do crime.

18 Figura 1.1 Sistema de circuito fechado de televisão registrando o momento em que os terroristas armados fuzilam o policial em praça pública nas proximidades do Charlie Hebdo. Fonte: TV Regiões, 2015 As técnicas de reconhecimento de padrões já são amplamente usadas na localização e comunicação de pessoas que não estão próximas, como por exemplo o uso em redes sociais virtuais. As gigantes de tecnologia usam reconhecimento de padrões nas imagens dos rostos dos usuários que estão cadastrados em seu sistema de redes sociais (GOOGLE, 2015). É possível, a partir de uma foto, identificar o usuário mesmo se estiver em uma posição diferente ou até com outro penteado ou barba, por exemplo. Na Figura 1.2 é mostrado o projeto Deep Face da Facebook Academics, onde o primeiro passo consistiu na marcação e recorte do rosto na imagem, em seguida na representação do rosto por um conjunto de pontos, e por fim na geração de uma renderização tridimensional com a textura semelhante ao rosto original, que facilitará a detecção do rosto original em outros ângulos. Este método foi capaz de alcançar 97,25% de precisão em reconhecimento de faces variadas em fotos (TAIGMAN, et al., 2014).

19 Figura 1.2 Exemplo das tecnologias do projeto Deep Face do Facebook: (a) sinalização do rosto;; (b) recorte do rosto;; (c) representação por pontos da imagem original;; (d) representação do rosto renderizado sem textura;; (e) representação em wire-frame do rosto;; (f) representação dos pontos da renderização do rosto;; (g) representação do rosto renderizado com textura;; (h) representação do rosto renderizado em outro ângulo. Fonte: TAIGMAN, et al., 2014 Na Figura 1.3 é apresentada uma técnica de reconhecimento de padrões para identificar placas de veículos do Departamento Estadual de Trânsito DETRAN para punir possíveis infrações de trânsito. Câmeras de CFTV foram postas em pontos estratégicos das estradas para possibilitar para identificar a placa do veículo, onde a imagem da placa é capturada e manipulada utilizando a técnica de binarização da imagem. Figura 1.3 Técnica de binizaração aplicada na imagem da placa de trânsito. Fonte: CONCI, et al., 2015 1.3 Metodologia Neste trabalho, o algoritmo extração de características de imagens digitais Gradientes de Histogramas Orientados, o classificador Máquina de Vetores de

20 Suporte e o detector em cascata serão implementados e validados para a detecção de armas de fogo. Na validação dos métodos de detecção e rastreamento de armas de fogo foram utilizados um banco de dados de imagens para treino e arquivos de vídeo digital para teste. 1.4 Estrutura do documento Serão abordados nos próximos capítulos deste trabalho o referencial teórico e as técnicas usadas nesta pesquisa, incluindo a implementação dos algoritmos e os resultados obtidos. O Capítulo 2 conterá o referencial teórico referente ao conceito de imagem e vídeo digital, de processamento de imagens digitais, de redes neurais artificiais e de classificadores. O Capítulo 3 conterá a descrição dos seguintes algoritmos para a detecção e reconhecimento de objetos: Viola-Jones, Padrões de Locais Binários e Gradientes de Histogramas Orientados. O Capítulo 4 abordará a escolha do algoritmo ideal, o desenvolvimento da solução para o reconhecimento de armas de fogo e mostrará os resultados da implementação, discutindo sobre a eficiência destes. Por fim, o último capítulo terá as considerações finais e trabalhos futuros em cima deste tema.

21 2 REFERENCIAL TEÓRICO 2.1 Imagem digital Uma imagem digital é composta por números binários codificados que tem como finalidade desde sua reprodução, armazenamento ou transferência entre determinados dispositivos computacionais até sua impressão em materiais físicos. Uma imagem digital pode ser definida como uma função discreta de duas dimensões f(x,y), onde x e y representam coordenadas espaciais opostas que contém valores inteiros (GONZALES, et al., 2009). O pixel é o menor elemento que forma uma imagem digital, onde o conjunto de centenas, milhares ou milhões de pixels forma toda a imagem. Numa imagem em escala de cinza, os valores dos pixels representam seus níveis de cinza. Numa imagem colorida, no entanto, é composta por três sequências ordenadas de n elementos, onde a composição dos n valores resultam em um pixel colorido. Neste caso f(x,y) é a posição atual do pixel na linha x e coluna y, f(x,y) = 148 é seu valor em uma imagem em escala de cinza e f(x,y) = (133, 113, 201), no espaço de cores RGB (do inglês, red green blue), é seu valor em uma imagem colorida. Os valores variam no intervalo de 0 até 255 cores. Na Figura 2.1 é apresentado exemplos dos dois tipos de imagens. Figura 2.1 Representação dos pixels da imagem em escala de cinza (à esquerda) e colorida (à direita). Fonte: Elaborada pelo autor

22 Em uma imagem digital de duas dimensões o conjunto de pixels ao redor do pixel f(x,y) é chamado de vizinhança do pixel (GONZALES, et al., 2009). Na Figura 2.2 (esquerda) é apresentado o exemplo de um pixel f(x,y) com 4-vizinhos, ou seja, o conjunto de pixels ao redor do pixel f(x,y) sem considerar as diagonais. Já na Figura 2.2 (direita) o exemplo de um pixel f(x,y) com 8-vizinhos, ou seja, o conjunto de pixels ao redor do pixel f(x,y) considerando as diagonais. X X X X X F(x,y) X X F(x,y) X X X X X Figura 2.2 Representação dos pixels com 4-vizinhos (à esquerda) e 8-vizinhos (à direita). Fonte: Elaborada pelo autor 2.2 Vídeo digital Um arquivo de vídeo digital é composto por um conjunto de imagens exibidas em um curto período de tempo consecutivamente a qual definimos como quadros. Segundo MACHADO (2011), cada quadro tem uma ligeira diferença em relação ao outro fazendo que nosso cérebro interprete como se fosse um ou vários objetos se movimentando. Quanto mais quadros exibidos no mesmo período de tempo mais suave e natural será a ilusão de movimento. Assim foi definido que a quantidade dos quadros seria baseada na contagem de 1 segundo, criando assim o termo quadros por segundo, ou FPS, (do inglês, frames per second). A Figura 2.3 contém exemplos da representação do conjunto de quadros. Houve uma época em que a indústria cinematográfica alegava que 24 quadros por segundo era o máximo que os olhos dos seres humanos conseguiam enxergar e taxas mais altas passariam por despercebidas, mas nos tempos de hoje sabemos que isto é uma definição falsa. Reproduzindo vídeos com animações iguais em taxas diferentes (15, 30 e 60 FPS por exemplo) é notável que as taxas menores proporcionam pouca sensação de fluidez.

23 MACHADO (2011) alega que o padrão da maioria das obras cinematográficas é de aproximadamente 30 FPS, enquanto nos jogos eletrônicos digitais esta convenção é a taxa de 60 FPS pois o jogador não assiste somente o vídeo, mas também interage com o mesmo. Figura 2.3 Representação do conjunto de imagens/quadros. Fonte: JVC, 2015 2.3 Processamento digital de imagens O processamento digital de imagens, ou PDI, consiste na manipulação de imagens digitais usando dispositivos computacionais, no entanto, ao contrário dos humanos, que se limitam à banda visual do espectro EM (eletromagnético), as máquinas podem cobrir quase todo o espectro EM desde a gama até as ondas de rádio e também podem operar em fontes que os seres humanos não estão acostumados a associar como imagens (GONZALES, et al., 2009). A Figura 2.4 contém um exemplo das diversas fases do processamento. Figura 2.4 As diversas fases do processamento de imagens. Fonte: MOREIRA, 2013

24 Os principais objetivos do PDI são de realizar a digitalização da imagem para facilitar sua transmissão, impressão e armazenamento;; melhorar a informação visual da imagem aumentando, removendo ou atenuando ruídos ou realçando determinados objetos de interesse;; fazer sua segmentação, capturando medidas de áreas, distâncias, volumes orientação de objetos e texturas e também extraindo informações específicas da imagem;; E fazer o reconhecimento de objetos, escolhendo o sinalizador ideal para representar a forma e a aparência de um objeto na imagem digital. 2.3.1 Melhoria da informação visual Os sistemas de processamento de imagens não criam elementos que não estejam na imagem, mas sim os realçam para que se tornem mais visíveis ao olho humano que contém certas limitações para visualizar alguns destes elementos. A luminosidade determina a eficácia da luz em produzir a sensação de claridade. O brilho corresponde à quantidade de fluxo luminoso emitido. O contraste corresponde à graduação entre o ponto mais claro da imagem. A manipulação de brilho ajusta a luminosidade entre os objetos presentes na imagem digital, enquanto a manipulação de contraste aumenta a discriminação visual entre os objetos presentes na imagem digital. Na Figura 2.5 é mostrada duas imagens iguais com alterações de brilho e contrate. Figura 2.5 Duas imagens iguais, mas com brilho e contraste diferentes. Fonte: GOMES, 2008

25 2.3.2 Filtragem no domínio espacial As técnicas de filtragem no domínio espacial são etapas que fazem parte do pré-processamento da imagem digital que manipulam através de transformações os valores dos pixels considerando seus pixels vizinhos. Segundo FILHO, et al (1999), estas transformações são obtidas pela função: g x, y = T[f x, y ] (1) onde g(x,y) é a imagem processada, f(x,y) é a imagem original e T é o operador em f, definido em uma certa vizinhança de (x,y). O resultado obtido com a filtragem é a criação de um novo pixel com coordenadas iguais ao do centro da vizinhança, onde o valor é o resultado da operação de filtragem. Os filtros lineares no domínio espacial fazem a aplicação de uma operação matemática linear a um sinal de entrada. Alguns exemplos de filtros lineares são: Filtro passa-baixas, que fazem a passagem das frequências abaixo de sua frequência de corte;; Filtro passa-altas, que fazem a passagem das frequências acima de sua frequência de corte;; Filtro passa-faixa, que faz a passagem de uma única faixa de frequências;; Filtro rejeita-faixa, que faz a passagem de todas as frequências fora de uma certa faixa. Os filtros não lineares no domínio espacial são baseados em operações em cima de uma vizinhança dos pixels. Algumas destas operações são: Filtro de média, onde o pixel central é usado como média aritmética dos pixels da área da vizinhança (Figura 2.6);; Filtro de média ponderada, onde seu peso depende da distância do pixel central;; Filtro de moda, onde o nível de cinza do pixel central é o de maior popularidade dentro da área da vizinhança;;

26 Filtro de mediana, onde o nível de cinza do pixel central é intermediário do conjunto ordenado de níveis de cinza dentro da área da máscara (Figura 2.6). Figura 2.6 Exemplo de redução de ruído na imagem usando os filtros de média e mediana. Fonte: GONZALES, et al., 2009 2.3.3 Filtragem de desfoque gaussiano A filtragem de desfoque gaussiano, que é do tipo passa-baixas, consiste no resultado da suavização de uma imagem digital utilizando o método gaussiano, que é a mesma função usada na Distribuição Normal da Estatística, para calcular uma transformação que será aplicada em cada pixel da imagem (GONZALES, et al., 2009). A equação da função gaussiana em uma dimensão consiste na expressão: G x = 1 2πσ x 2 e12σ 2 (2) 2 e em duas dimensões, que é o produto de duas gaussianas, consistem na expressão: G x = 1 2πσ x 22y2 e1 2σ 2 (3) 2 onde x é a distância a partir da origem no eixo horizontal, y é a distância a partir da origem no eixo vertical, e σ é o desvio padrão da distribuição Gaussiana.

27 A aparência da imagem digital após esta filtragem resulta em um efeito borrado, semelhante à visualização de uma imagem desfocada. Dependendo do ajuste deste filtro é possível reduzir problemas de ruídos, mas o uso exagerado pode causar a perda de informações da imagem. Cada pixel recebe um novo valor baseado na média ponderada de seus vizinhos. O valor original do pixel recebe o maior peso e os pixels vizinhos recebem pesos maiores dependendo do aumento da distância em relação aos pixels originais. O resultado é um borrão que preserva os limites e bordas da melhor maneira em relação aos outros pixels. A Figura 2.7 mostra dois resultados da aplicação desta filtragem. Figura 2.7 A filtragem do desfoque gaussiano utilizando respectivamente 50% e 100% de desvio padrão. Fonte: Elaborada pelo autor 2.3.4 Transformação geométrica de imagens As transformações geométricas são etapas que fazem parte do préprocessamento da imagem digital que recriam a relação espacial dos pixels de uma imagem digital. Estas operações são de grande importância para a eliminação de distorções sistemáticas na imagem e necessita, além do conhecimento prévio das distorções existentes, a escolha do modelo matemática ideal para cada tipo de imagem (GONZALES, et al., 2009). Abaixo segue a descrição dos três tipos principais de transformações geométricas, e na Figura 2.8 o resultado das operações: Translação, que movimenta um ponto de coordenadas (x,y) para uma nova posição. É possível representar o movimento através da equação:

28 x 4 = x + t 7 (4) y 4 = y + t 9 (5) onde (x,y ) são as novas coordenadas e t x e t y são respectivamente o deslocamento vertical e o deslocamento horizontal em pixels. Rotação, que gira a imagem em um ângulo e direção determinado, através da operação: x 4 = x cos θ y sen θ (6) y 4 = x sen θ y cos θ (7) onde θ é o valor da rotação e a magnitude do vetor (x,y) é a mesma do vetor (x,y );; Escala, que redimensiona a imagem em um tamanho diferente dada a matriz de transformação com os fatores s x e s y ao longo dos eixos (x,y): x 4 = s 7 x (8) y 4 = s 9 y (9) onde (x,y ) são as novas coordenadas e s x e s y são os fatores de escalonamento. Figura 2.8 Resultado das operações de transformações geométricas. Fonte: Elaborada pelo autor 2.3.5 Histograma O histograma é uma representação gráfica de um conjunto de dados divido em alturas e posições uniformes. Seu uso no processamento de imagens

29 representa a quantidade de vezes que uma determinada cor se repete com base numa imagem digital em tons de cinza. O histograma no processamento de imagens é uma função discreta h(r k ) = n k, onde r k é o k-ésimo nível de tom de cinza e n k é o número de pixels em um imagem que tem o o k-ésimo valor de nível de cinza (GONZALES, et al., 2009). Em sua escala horizontal, o histograma representa a intensidade dos valores da imagem digital, com valores entre 0 e 255, onde os valores próximos a zero são os tons mais escuros e os mais próximos de 255 são os tons mais claros. Já em sua escala vertical representa a frequência absoluta de pixels referente a uma determinada intensidade. Com estas informações é possível avaliar parâmetros de qualidade da imagem digital, como nitidez, luminosidade e profundidade. A Figura 2.9 contém a tabela de frequência de ocorrência dos níveis de cinza da imagem e na Figura 2.10 contém o gráfico do histograma. Figura 2.9 Tabela de frequência de ocorrência dos níveis de cinza da imagem Fonte: Elaborada pelo autor Figura 2.10 Gráfico do histograma Fonte: Elaborada pelo autor

30 Em imagens digitais escuras os componentes do histograma se concentram no lado mais baixo da escala de cinza, assim como o posicionamento mais alto da escala nas imagens com brilho maior (GONZALES, et al., 2009). Imagens com baixo contraste tem um histograma com componentes mais estreitos em direção ao centro da faixa de cinza. E finalmente, imagens de alto contraste cobrem uma ampla gama da faixa de cinza e que os pixels são distribuídos de forma bem uniforme, com poucas linhas verticais maiores que as outras. É possível concluir que uma imagem cujo os pixels ocupem toda a gama de níveis de cinza terá um nível de alto contraste maior. O exemplo de variação de brilho está na Figura 2.11, e os exemplos da variação de contraste estão na Figura 2.12 e na Figura 2.13. Figura 2.11 Variação de brilho em um histograma Fonte: GONZALEZ, et al., 2009 Figura 2.12 Variação de contraste em um histograma Fonte: PEDRINI, 2015

31 Figura 2.13 Variação de contraste em um histograma Fonte: GONZALES, et al., 2009 É possível manipular o histograma da imagem com o objetivo de usá-la para várias funções como seu simples melhoramento da qualidade ao sistema visual humano ou até sua transformação em máscaras que auxiliarão na filtragem de outras imagens. As técnicas mais comuns são: Expansão, compressão, equalização, negativo e limiarização. O processo de expansão consiste em esticar o conjunto de componentes de tal forma que ocupe toda a faixa de cinza da imagem, onde o pixel mais escuro ficará mais próximo da posição 0 e o mais claro da posição 255, sem alterar o formato do histograma. O resultado da expansão é uma imagem de alto contraste. Na Figura 2.14 é visto um exemplo de expansão do histograma. Figura 2.14 (a) Imagem e histograma de uma imagem em baixo contraste. (b) Imagem com o histograma expandido. Fonte: FILHO, et al., 1999 O processo de compressão é uma operação inversa à expansão: Consiste em espremer o histograma original de tal forma que suas raias ocupem um

trecho da faixa de cinza. Na Figura 2.15 é visto um exemplo de compressão do histograma. 32 Figura 2.15 (a) Imagem e histograma de uma imagem em alto contraste. (b) Imagem com o histograma comprimido. Fonte: FILHO, et al., 1999 O processo de equalização consiste em tornar o pixel escuro mais próximo do nível preto do histograma e o pixel claro mais próximo do nível branco, distribuindo o restante das cores mais uniformemente nesse intervalo. Na Figura 2.16 é visto um exemplo de equalização do histograma. Figura 2.16 (a) Imagem e histograma de uma imagem em baixo contraste. (b) Imagem com o histograma equalizado. Fonte: FILHO, et al., 1999

33 O processo de especificação também consiste em distribuir as cores uniformemente, mas transformando os histogramas vermelho, verde e azul separadamente e correspondendo às formas específicas de cada histograma, em vez de simplesmente iguala-los. Tem a vantagem de produzir imagens mais realísticas em comparação ao processo de equalização, pois não faz modificações exageradas no canal azul. O processo de negativo consiste em utilizar a função f(y) = -(ax + b) em todos os componentes do histograma, onde y é igual ao novo valor de nível de cinza, x é igual ao valor original de nível de cinza, a é igual à tangente do ângulo e b é igual ao fator de incremento, assim invertendo os valores de intensidade da imagem. Na Figura 2.17 é visto um exemplo da imagem e seu histograma originais e ao lado a mesma imagem com a manipulação do histograma para que proporcionou o efeito de negativo. Figura 2.17 Imagem original à esquerda e imagem em negativo à direita. Fonte: GONZALES, et al., 2009 O processo de limiarização consiste em converter uma imagem para dois tons a partir da busca de um ponto de corte, ou limiar. Devido ao fato da limiarização ter como saída uma imagem binária, o processo também pode ser denominado de binarização.

34 Na Figura 2.18 e na Figura 2.19 são vistos exemplos de limiarização do histograma, onde temos exemplos com a definição do valor de corte em 147 e com o valor ajustado para 119, que deixa a amostragem da imagem com 10% de preto. Figura 2.18 Algoritmo de limiarização com valor de corte em 147 Fonte: MELLO, 2015 Figura 2.19 Algoritmo de limiarização com corte ajustado em 119 (10% de preto) Fonte: MELLO, 2015 2.3.6 Normalização de cor e gama A normalização de cores consiste na distribuição de valores de cores em uma imagem digital dependendo de sua iluminação, ou seja, que podem variar em função das condições de iluminação ou diferentes posições da câmera. Esta técnica permite o reconhecimento de objetos com base na cor para compensar variações.

35 No entanto, a cor gravada por uma câmera não é a melhor sugestão de confiança em tarefas de reconhecimento de objetos. Uma solução para este problema consiste em encontrar invariantes de cores independentes da iluminação (FINLAYSON, et al., 2002). A normalização de gama efetua o cancelamento das dependências da cor devido à sua iluminação geométrica e cor iluminante. Para isto o procedimento faz o cálculo da subtração da média dos pixels de cada canal RGB da imagem e, em seguida, faz a subtração da média de todos os resultados do canal vermelho de cada pixel e, por último, a subtração da média dos canais verde e azul pelos valores dos canais vermelho e verde. As posições de uma câmera podem ser comparadas, de forma automática, aplicando diversos algoritmos de normalização, ou até mesmo sem utilizar nenhuma normalização pois também existe a possibilidade de fazer a comparação utilizando métodos de equalização e especificação de histogramas (CSINK, et al., 1998). 2.3.7 Computação de gradientes A computação de gradientes são cálculos que são feitos para extrair informações de uma imagem digital. O primeiro passo para o cálculo de computação de gradientes em imagem digitais consiste na aplicação de uma máscara 1D de derivadas centralizada com pontos discretos nas direções horizontais ou verticais ou em todas as direções. Especialmente, este método requer a filtragem dos dados de cores ou de intensidade da imagem digital utilizando os seguintes filtros: [-1, 0, 1] e [- 1. 0. 1] T (DALAL, et al., 2005). Em grande parte dos métodos de extração de características, o passo inicial consiste na normalização da cor e gama da imagem digital. Entretanto boa parte dos métodos que utilizam de computação de gradientes podem antecipar a extração das características, pois o resultado do pré-processamento proporciona pouca perda no desempenho, podendo em alguns casos suprimir a etapa da normalização de cor e gama.

36 Outras aplicações de máscaras mais complexas foram testadas, como a utilização isolada da filtragem de desfoque gaussiano, e o filtro 3x3 de Sobel, que calcula o gradiente da intensidade da imagem em cada ponto, obtendo uma noção da variância destes (SOBEL, 2015), mas estas técnicas foram ineficientes na detecção de seres humanos em imagens digitais. 2.3.8 Representação de objetos A representação de objetos consiste em diferentes tipos de sinalizadores para representar a forma e a aparência de um objeto, que pode ser representado como qualquer elemento que o faça ser analisado posteriormente. Por exemplo, os barcos no mar, os peixes dentro de um aquário, os veículos em uma estrada, os aviões no céu, as pessoas andando na rua, ou bolhas na água são conjuntos de objetos que podem ser rastreados em um domínio específico (YILMAZ, et al., 2006). Abaixo é descrito as representações de objetos utilizadas para o rastreamento: Pontos. O objeto é representado por um único ponto, (centroide), ou com um conjunto de pontos. A Figura 2.20 (a, b) mostra sua representação;; Formas geométricas primitivas. O objeto é representado por um retângulo, elipse, etc. A Figura 2.20 (c, d) mostra sua representação;; Contorno e silhueta. O objeto é representado pelo interior de seu contorno. A Figura 2.20 (g, h, i) mostra sua representação;; Modelos de partes articuláveis. São compostos pelo movimento de partes do corpo do objeto em conjunto, como por exemplo o corpo humano. A Figura 2.20 (e) mostra sua representação;; Modelos esqueletizados. O esqueleto do objeto pode ser extraído através da transição do eixo médio à silhueta. A Figura 2.20 (f) mostra sua representação.

37 Figura 2.20 Representação dos objetos: (a) centroide;; (b) conjunto de pontos;; (c) retângulo;; (d) elipse;; (e) baseado em várias partes;; (f) objeto esqueletizado;; (g) pontos controlados no contorno do objeto;; (h) contorno completo do objeto;; (i) silhueta do objeto. Fonte: YILMAZ, et al., 2006 De acordo com YILMAZ (JARED e SHAH, 2006), existem várias maneiras de representar as características da aparência dos objetos. As representações de forma também podem ser combinadas com as representações de aparência. abaixo: As representações da aparência dos objetos mais comuns são descritas Densidade probabilística da aparência dos objetos. Estas densidades podem ser paramétricas, como o uso de uma única gaussiana (ZHU, et al., 1996) e da mistura de várias gaussianas (PARAGIOS, et al., 2002), ou não paramétricas, com o uso de janelas de parzen (ELGAMMAL, et al., 2002) e de histogramas (COMANICIU, et al., 2003). Podem ser computadas a partir de regiões especificas da imagem, como a região interior de uma elipse ou um contorno;; Modelos. São compostos por formas geométricas simples ou silhuetas que transportam as informações espaciais e da

38 aparência. Entretanto só codificam a aparência do objeto a partir de um único ponto de vista. Deste modo, são adequados para objetos cujo suas posturas não variem muito;; Modelos de aparência ativa. São gerados simultaneamente modelando a forma do objeto e a aparência. A forma do objeto é definida por um conjunto de pontos de referência. Semelhante à representação por contorno, os pontos de referência podem residir no limite ou, alternadamente, dentro da região do objeto. Para cada local de interesse um vetor de aparência é armazenado contendo a forma de cor, textura, ou magnitude do gradiente. Necessitam de treinamento, onde a forma da aparência associada é aprendida a partir do conjunto de treinamento utilizado;; Modelos de aparência com múltiplas posições. São obtidos codificando diferentes posições de um objeto, que geram um subespaço em cada uma delas. Também é possível fazer o treinamento das diferentes posições de um objeto através de classificadores, como por exemplo, as Máquinas de Vetores de Suporte (AVIDAN, 2001), que serão descritas mais adiante. Uma de suas limitações é a necessidade de ter previamente todos os tipos de posições de um objeto. Existe uma grande relação entre a representação de objetos e os algoritmos de rastreamento, onde cada método é escolhido de acordo com o domínio da aplicação. Para o rastreamento de objetos pequenos geralmente é recomendado a representação por pontos, enquanto para objetos de forma complexas, como seres humanos, o contorno e a silhueta são apropriados. 2.4 Classificadores A classificação de dados é a tarefa mais importante do aprendizado de máquina. Entretanto, como existem poucos estudos analíticos sobre o comportamento dos algoritmos de aprendizagem, a análise de classificadores se torna uma atividade totalmente experimental, pois é necessário estimar a taxa de erro do algoritmo sobre um conjunto de dados, analisar a capacidade de

39 generalização em relação a outro algoritmo similar, e medir o desempenho do modelo aprendido. A solução mais simples para estas tarefas é dividir os dados em conjuntos de treinamento e de teste (COHEN, et al., 2007). Ao contrário do conjunto de treinamento, o conjunto de teste contém exemplos independentes que não tiveram nenhum papel na construção do classificador, por isso é importante que os dados do conjunto de teste não sejam utilizados de nenhuma maneira na construção do classificador. O processo de validação ainda pode ser usado entre o treinamento e o teste do classificador para realizar a otimização do ajuste dos parâmetros. Quanto melhores ajustados os parâmetros do classificador melhor a eficiência do treinamento do classificador. O método de classificação mais utilizado é conhecido como Validação Cruzada, que divide os dados em k conjuntos de mesmo cardinal, onde cada subconjunto é utilizado como teste e o restante como treino. Abaixo os principais métodos de Validação Cruzada: K-Fold, que divide o conjunto total de dados em k subconjuntos do mesmo tamanho, e utiliza um subconjunto para teste, onde os k-1 restantes são utilizados para estimação dos parâmetros. Este processo é realizado k vezes alternando de forma circular o subconjunto de teste;; Holdout, que reserva uma certa quantidade para o teste e o restante para a aprendizagem, onde normalmente são reservados 1/3 de dados para teste e 2/3 para treinamento;; Leave-one-out, onde os números de folds serão os números de exemplos. Seu classificador é construído n vezes e utiliza todos os dados os dados do conjunto de treinamento;; Bootstrap, que usa um método de estimação utilizando amostragens como reposição para a criação do conjunto de treinamento. É ideal para pequenos conjuntos de dados. A medida padrão para os métodos de avaliação para problemas de classificação é denominada de Taxa de Erro, que é a proporção dos erros em

relação ao conjunto de exemplos, que são calculados a partir do conjunto de treinamento. 40 2.4.1 Redes neurais De acordo com BRAGA, et al (2000), as redes neurais são tipos de classificadores inspirados nas redes neurais do cérebro, constituindo uma arquitetura semelhante a neurônios conectados, onde cada neurônio é representado por uma equação e cada conexão entre os neurônios é representada por pesos que geram sinais de propagação simulando a sinapse. A camada de entrada representa os dados que serão apresentados à rede neural, que é ligada à primeira camada intermediária, onde pesos que representa um padrão qualquer vão influenciar cada neurônio da próxima camada. As camadas ocultas também estão conectadas por pesos sinápticos, que serão interpretados como suas contribuições para os próximos neurônios conectados, fazendo a maior parte do processamento. Cada um dos pesos contém informações de conhecimento dos dados transmitidos, que são adaptados durante o treinamento da rede. A camada de saída fornece o resultado dos cálculos entre os valores de entrada e pesos. A Figura 2.21 mostra a representação da arquitetura de uma rede neural. Figura 2.21 Representação da arquitetura de uma rede neural. Fonte: PUC-RIO, 2015

41 Boa parte das redes neurais usam um algoritmo para serem treinadas, representados por uma equação ou várias equações combinadas, que obtém a produção de um valor numérico na saída da rede, fazendo o ajuste dos valores das conexões de pesos. Este ajuste alterará o comportamento dos neurônios e fará o que é denominado de aprendizado, onde temos dois tipos: o aprendizado supervisionado e o não-supervisionado. No aprendizado supervisionado os dados possuem exemplos que são comparados com a saída da rede, minimizando a diferença entre a saída da rede e estes exemplos, enquanto no aprendizado não-supervisionado não existem estes exemplos. O objetivo dos algoritmos classificadores de redes neurais é de visar a classificação dos dados similares e, ao mesmo tempo, diferenciar as características dos outros dados classificados. 2.4.2 Classificação em cascata A classificação em cascata é uma arquitetura de aprendizado supervisionado baseada na concatenação de um ou vários classificadores. O processo de classificação em cascata consiste em usar exemplos positivos, que contém os objetos que o classificador irá detectar, exemplos negativos, que são todos os elementos descartáveis pelo classificador, e agrupá-los em várias etapas de treinamento (VIOLA, et al., 2001), onde cada etapa agrupa uma quantidade de exemplos negativos em relação aos exemplos positivos, criando um arquivo de metadados contendo as informações da classificação que serão usadas pelo detector em cascata para a detecção dos objetos. A Figura 2.22 mostra um exemplo gráfico o algoritmo de classificação em cascata. Exemplo de um algoritmo de classificação em cascata simples: Definir o conjunto de exemplos positivos;; Definir o conjunto de exemplos negativos;; Escolher o número de etapas;; Ajustar a porcentagem da taxa máxima de falsos positivos;;

42 Definir o tipo de característica do algoritmo de detecção;; Classificar os dados do conjunto de treinamento nas etapas;; Armazenar o resultado das informações da classificação em um arquivo de metadados;; Usar o arquivo de metadados em conjunto com o objeto detector em cascata. Figura 2.22 Exemplo gráfico de um algoritmo de classificação em cascata. Fonte: MATHWORKS, 2015 2.4.3 Máquinas de Vetores de Suporte O método de classificação de aprendizado supervisionado Máquina de Vetores de Suporte, ou SVM (do inglês, Support Vector Machines), constitui em um ou vários hiperplanos que estão em um espaço dimensional e são usados para a classificação, regressão, entre outras tarefas. Este método de classificação trabalha somente com dois conjuntos de dados (classificador binário) e uma boa separação destes dados é obtida, intuitivamente, através de um hiperplano que tem a maior distância ao ponto de qualquer classe (a chamada margem funcional) aos dados mais próximos, uma vez que, em geral, quanto maior for a margem mais baixa é a generalização de erro do classificador (AVIDAN, 2001). A Máquina de Vetores de Suporte tem como objetivo aprender ou criar uma função que divida linearmente o espaço de características de um conjunto de dados, ou seja, separar o espaço de características dos dados das duas classes. Esta técnica é embasada pela teoria de aprendizado estatístico, desenvolvida por VAPNIK (1995). Essa teoria estabelece uma série de princípios