Pre-projeto.pdf

15
CENTRO UNIVERSITÁRIO JORGE AMADO - UNIJORGE PULO VINICIUS LISBOA PEREIRA Implementação do algritmo KNN para reconhecimento de faces. Salvador 2015

Transcript of Pre-projeto.pdf

  • 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

    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 1Tipos de dados ( Adessowiki )

    Figura 3- Placa Figura 2- Valores mximos.

  • 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 4- Valores mdio. Figura 5- Valores mnimos.

    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.

    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

  • 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 X

    2) Coleta de Dados X

    3) Apresentao e discusso dos dados X X

    4) Entrega do Pr-projeto

    5) Concluso

    7) Reviso do trabalho

    8) Apresentao do Projeto Integrador

  • 8 REFERNCIAS.