Sie sind auf Seite 1von 15

CENTRO UNIVERSITRIO JORGE AMADO - UNIJORGE

PULO VINICIUS LISBOA PEREIRA

Implementao do algritmo KNN para reconhecimento de faces.

Salvador
2015

PAULO VINICIUS LISBOA PEREIRA

Implementao do algritmo KNN para reconhecimento de faces.

Pr-projeto apresentado para o Projeto


Integrador como requisito bsico para a
apresentao do mesmo no Curso de
Engenharia (Civil, Eltrica, Mecnica,
Produo, Petrleo e Gs, Qumica)
Orientador (a):

Salvador
2014

SUMRIO

1 INTRODUO TEMA E PROBLEMATIZAO ............................................................. 5


2 JUSTIFICATIVA ........................................................................................................................ 6
3 OBJETIVOS................................................................................................................................ 7
4 METODOLOGIA ....................................................................................................................... 8
5 REFERENCIAL TERICO ...................................................................................................... 9
6 RESULTADOS ESPERADOS ................................................................................................. 14
7 CRONOGRAMA ...................................................................................................................... 15
8 REFERNCIAS ........................................................................................................................ 16

1 INTRODUO TEMA E PROBLEMATIZAO


O reconhecimento de imagens uma sub-area do aprendizado de maquina. A
possibilidade de maquinas aprenderem e tomarem decises uma forma eficiente em
tomadas de decies em cituaes crticas de controle.
O metodo KNN, apesar de ser utilizado neste trabalho para reconhecimento de
faces, um algoritmo eficiente e preciso para a classificao de falhas, disturbios e
qualquer outra forma de controle e deciso para a engenharia. Visto que ele trabalha
com um nmero grande de informaes e classes a serem classificadas.
O reconhecimento de faces um tema importante dentro da computao. Visto a
necessidade da segurana da informao e a necessidade de maquinas localizarem
pessoas em imagens ou partes de processos dentro da industria.

2 JUSTIFICATIVA
O problema de reconhecimento de faces tido como central no reconhecimento
de padres e a implemetao deste classificador tem complexidade maior que outros
problemas de classificao.
A implementa do classficador de faces possibilida a generalizao do
algoritmo. Visto que, a complexidade que existe nas faces e suas exprees variadas so
grandes e assim ficara simplistas outras classificaes.

3 OBJETIVOS
Este trabalho proem a implementao do algoritmo de reconhecimento de
padres KNN na classficao de faces.

3.1

OBJETIVO GERAL.

Busca-se uma implemntao funcional de um algoritmo de reconhecimento de


padres que tenha como caracteristica a facilidade na implementao e um resultado na
classifcao de faces.

3.2

OBJETIVO ESPECFICO

Avaliar caracteristicas que influenciam na classificao de imagens. A principal


caracteristica avaliada foi a base de dados e suas variaes necessrias para chegar-se a
uma boa acuracia.

4 METODOLOGIA
Foi utilizado o ambiente de computao adessowiki. Este um ambiente
desenvolvido pela unicamp para facilitar o uso da liguagem python e de suas biliotecas
de processamento de nmerico, numpy, em processamento digital de imagens e
reconhecimento de padres.
O adessowiki, mesmo que com algumas limitaes, possibilita ao estudante a
instalao dos seus modulos em ambiente local.

5 REFERENCIAL TERICO
1. Imagem como matriz.
Neste trabalho a imagem sera definida pelo seu cabealho, seu tamanho e tipo de pixel,
e por seus proprios pixels. Seus pixels so formados pelo tipo de dado uint8. Este pode
quarda valores de 0 255. E as suas informaes de tamanho quardada em uma Tupla.
Tipo de dado na linguagem python que guarda um vetor de forma esttica.
s imagens so carregadas no programa atravez de funes contidas na bibliteca de
imagens de Python. E so tratadas como matrizes, e todas as operaes matriciais
podem ser aplicadas as mesmas. As matrizes, imagens, possuem duas dimesses altura
e largura na tupla (H,W). O tipo de dado destas possuem 8 bits para cada pixels. Por
isto, as imagens so em escala de cinzas. Isto facilita a o processamento. Visto que no
precisamos trabalhar com mais de um canal, como nas imagens RGB. Estas possuem

canais com matrizes de bytes nas cores Vermelhas ( R ), verdes ( G ) e Azul ( B ). Isto
Figura 1Tipos de dados ( Adessowiki )

aumentaria a complexidade dos algoritmos de processamento de imagens.

2. Reduo de eixos.
A reduo de eixos uma forma de transformar uma matriz bidimencional em um
vetor unidimencional com caracteriscas da matriz (imagem) em que foi gerado.
Funes estatsticas possibilitam a reduo e a preservao das caracteristicas. Como
exemplos as funo de media, moda, maximo, minimo, valor medio, todas esta funes
permitem que um vetor seja reduzido a um escalar e que certas propriedades continuem
validas.
A reduo ocorre apenas em um dos eixos. Podendo ser das colunas ou das linhas. No
caso da imagem 2 nas colunas que copoem a imagem.

Figura 2- Valores mximos.

Figura 3- Placa

Figura 4- Valores mdio.

Figura 5- Valores mnimos.

possvvel observar nos graficos relaes com as imagens. Seja com os mnimos
valores (figura 5), ou ainda mais perceptivel os valores mdios (figura 6). Nesta fica
claro a diferena de valores entre o carro e a placa do carro. Estas caracteristicas
contimuam na imagem, mesmo com a sua reduo.
3. Transformao de intencidade.
De maneira geral, as transformaes de intencidade, mapeamento de pixels, produzem
mudanas apenas de forma pontual. Ou seja, no pixel da imagem. Estas operaes se
contrastam com as operaes de vizinhanas. Onde so neccessrios mais de um pixel,
no mximo oito para caracterizar um pixel. Abaixo so apresentadas algumas
transformaes de intencidade nos pixels das imagpens.
a. Transformao de intencidade.
As transformaes de intencidade so usadas para realar ou diminuir certos grupos de
pixels um por um. Esta pode clariar ou escurecer uma imagem, pode melhorar seu
contraste e ainda, dependendo do seu mapeamento inverter os tons de uma imagem.
Estas transformaes so do tip u = T(v), onde T o vetor ou funo de mapeamento,
v o valor de entradae por fim u o pixel de saida (Silva).

Figura 6- Funes de mapeamento( Adessowiki )

Na figura 7 so mostradas algumas das funes de mapeamento. Na linha azul esta a


funo que possibilita a implementao da inversao de cores. Ela conferi aos pixels de
entrada valores opostos. J a linha violeta conferi a imagem nmeros binarios, 0 e 1. A
linha verde a uma funo logaritmica. Esta proporciona a imagem uma acentuanda
luminosidade nos tons mais escuros e de forma mais branda nos tons mais claros. Sendo
assim ela torna uma imagem com menos contrates entre claros e escuros ( Adessowiki ).

Figura 8 - threshold 128.

Figura 10- Escala de cinza 30.

Figura 7 - Logaritmico.

Figura 9- Inverso.

b. Equalizao e histograma.

O histograma de uma imagem em tons de cinza uma funo h(L) que produz o nmero
de ocorrncias de cada nvel de cinza 0 <= L <= 2b-1 na imagem. Ele representa a
distribuio de probabilidade dos valores dos pixels

4. Classificador K-NN.
Problema central de um classificador dada uma amostra decidir de qual classe ela
pertence. O classifcador KNN possui uma classe de dados. Uma boa base de dados
conseguida quando para cada amostra de dados temos um resultado esperado. Tornando
o KNN um algoritmo de aprendizado supervisionado.
A base de dados deste problema consiste em 12 amostras, seis de cada caso, onde estas
amostras possuem dimeses de 200 x 200 pixeils. Estas esto dispostas de forma a
formarem uma matriz de 1 x 40 000 pixels. Estas so colocadas assim afim de facilitar o
cdigo do programa. Possuindo dois rostos de celebridades negras, carcteristicas
semelhantes. A base de teste, o que sera classificado formado por trs imagens para
cada um dos rostos, estas tambm so rotuladas. Visto que a ideia verificar a acuracia
do algoritmo.
As imagens que formam a base de dados possuem formas diferentes, possies,
expresses, angulos, e at mesmo, iluminao e plano de fundo diferentes. Sendo assim
a escolha das imagens que o KNN conhece de fundamental importancia para a
classificao das imagens testes. O nmero mais variado de imagens dara uma
percepo maior para o aprendizado do algoritmo.
A idea central do classificador KNN reside em ter uma base de conhecimento rotulada,
como mencionado nos paragrafos acima neste capitulo, e estes dados s tomandos como
base para a classificao. Seguindo temos que calcular sua distancia. Existem dezenas

de distancias, mas neste trabalho usaremos a distancia euclidiana. Calcularesmos a


distancia da imagem a ser classificada com relao a cada uma das imagens da nossa
base de treinamento. E seguinte, seclecione as K amostras mais proximas. Dentre as K
mais proximas escolhe-se a a classe que seja maioria. Caso haja empate escolha a classe
que possui a imagem mais proxima.
Para a comparao necessrio extrair informaes das imagens, informaes
estatisticas, como percentil, valor mdio, moda, mximos, mnimos e outras medidas
estatsticas. importante ter uma comparao entre as operaes estatisticas que mais
forem caracteristicas para a classe.
A distancia entre a amostra teste e as amostras da classes comparadas so definidas pela
distancia euclidiana. Porm a utilizada neste trabalho no considerou a raiz desta
equao. Visto que, os resultados so similares e possuira um custo computacional
menor.
A ordenao das distancias feita por algoritmos de classicos de ordenao como o
quicksort, mergesort, heapsort, importante noar que no faz pate deste trabalho

avaliar os algoritmos de busca e por isto escolheu-se mais simples deles e com maior
custo computacional (quicksort). Prom , como j mencionado, de simples
implementao e no tem implicaes na classificao. Mais sim, no tempo para a
classificao.
Em estatistica o nome que se da a informao que mais ocorre num grupo de dados
chamado de moda. E para descobrir o valor que mais aparece numa imagem, para as
comparaes, usaremos um artificio. Com o histograma da imagem verificaresmo o
valor de pixel que tem o maior nmero. Assim teremos a moda dos pixels da imagem.

6 RESULTADOS.
Visto que com uma base de dados com poucas variaes na imagens, planos de
fundos iluminao muito parecedos a percentagem de acertos ficou em 50%. Tornando
a implementao pouco util.

Porm foi possivel classificar faces de forma a ter um percentual de acerto de


83,3% variando a base de dados. A variao ocorreu em apenas uma das classes da
base de dados. Mostrando a sensibilidade do algoritmo a variaes locais.

Podemos afirmar ainda que ele sensvel a pequenas variaes tendo em vista
que a adicionar apenas uma imagem com caracteristcas de iluminao diferentes das
demais, esta imagem apesar de ter diferenas da mesma classe, o percentual de acerto
foi consideravel.

7 CRONOGRAMA

Atividades

Maro Abril Maio

1) Pesquisa Bibliogrfica

2) Coleta de Dados

3) Apresentao e discusso dos dados


4) Entrega do Pr-projeto
5) Concluso
7) Reviso do trabalho
8) Apresentao do Projeto Integrador

8 REFERNCIAS.