SISTEMA DE LOCALIZAÇÃO E RECONHECIMENTO FACIAL

Tamanho: px
Começar a partir da página:

Download "SISTEMA DE LOCALIZAÇÃO E RECONHECIMENTO FACIAL"

Transcrição

1 UNIVERSIDADE ESTADUAL DO RIO GRANDE DO SUL ENGENHARIA DA COMPUTAÇÃO DAVI ALBERTO SALA SISTEMA DE LOCALIZAÇÃO E RECONHECIMENTO FACIAL GUAÍBA 2014

2 UNIVERSIDADE ESTADUAL DO RIO GRANDE SUL ENGENHARIA DE COMPUTAÇÃO DAVI ALBERTO SALA Sistema de localização e reconhecimento facial Trabalho de Conclusão apresentado como requisito parcial para a obtenção do grau de Engenheiro da Computação Profa. Dra. Adriane Parraga Orientadora Guaíba, novembro de 2014

3 FOLHA DE APROVAÇÃO Monografia sob o título "Sistema de localização e reconhecimento facial", defendida por Davi Alberto Sala e aprovada em de de 2014, em Guaíba, estado do Rio Grande do Sul, pela banca examinadora constituída pelos professores: Profa. Dra. Adriane Parraga Orientadora Prof. Dr. Roberto Ribeiro Baldino Prof. Dr. Dionísio Doering

4 A imaginação é mais importante que a ciência, porque a ciência é limitada, ao passo que a imaginação abrange o mundo inteiro. ALBERT EINSTEIN

5 AGRADECIMENTOS Aos meus pais, Lili e Jucimar, pelo apoio durante todos esses anos. À minha namorada, Cláucia, pelo amor, paciência e presença. Aos meus amigos pela motivação e momentos de descontração. Aos colegas e amigos, Camila, Leonardo, Lucas, Marcos, Mellany, Robim, Roger, Tiago e Txai, que participaram da confecção do banco de vídeos que possibilitou o desenvolvimento deste trabalho. À minha amiga e orientadora Adriane por todo apoio, motivação e pela inspiração à seguir a carreira acadêmica. À universidade, professores e funcionários que possibilitaram um ambiente agradável para minha formação.

6 SUMÁRIO LISTA DE ABREVIATURAS E SIGLAS LISTA DE FIGURAS LISTA DE TABELAS RESUMO ABSTRACT INTRODUÇÃO FUNDAMENTAÇÃO TEÓRICA Sinais digitais Processamento de Imagens Digitais Equalização por histograma Imagem integral Localização facial Haar-like features Classificador Boosting Classificador em cascata Reconhecimento Eigenfaces Fisherfaces MATERIAIS E MÉTODOS Materiais Metodologia Aquisição Localização facial Segmentação e pré-processamento Coleção de imagens Treinamento Reconhecimento

7 4 RESULTADOS OBTIDOS Avaliação do localizador facial Avaliação dos métodos de reconhecimento facial Avaliação utilizando banco de faces YALE Avaliação utilizando banco de vídeos Definição dos limiares Testes finais Reconhecimento com limiares Desempenho de tempo processamento CONCLUSÃO Trabalhos futuros REFERÊNCIAS

8 LISTA DE ABREVIATURAS E SIGLAS PCA LDA FLD DIP DSP Análise de componente principal (Principal Component Analysis) Análise de discriminante linear (Linear Discriminant Analysis) Discriminante linear de Fisher (Fisher s Linear Discriminant) Processamento de imagens digitais (Digital Image Processing) Processamento de sinais digitais (Digital Signal Processing)

9 LISTA DE FIGURAS Figura 2.1: Diagrama do sistema a ser implementado Figura 2.2: Representação digital de uma imagem Figura 2.3: Processo de discretização de um sinal unidimensional Figura 2.4: Processo de discretização de um sinal bidimensional Figura 2.5: Resultado da equalização por histograma Figura 2.6: Exemplo de histograma equalizado de uma imagem em escala de cinza. 19 Figura 2.7: Exemplo da representação de uma imagem integral. Em (a) tem-se a matriz da imagem original e em (b) a da imagem integral Figura 2.8: Exemplo para o cálculo da imagem integral para a área hachurada Figura 2.9: Conjunto de quatro características Haar-like Figura 2.10: Exemplos de características Haar-like posicionadas sobre uma face.. 22 Figura 2.11: Conjunto de características haar-like estendidas Figura 2.12: Diagrama representando a estrutura de um classificador em cascata.. 26 Figura 2.13: As duas primeiras características selecionadas pelo AdaBoost para o primeiro estágio do classificador em cascata Figura 2.14: Primeiras e últimas eigenfaces encontradas para um conjunto de 526 imagens faciais Figura 2.15: Exemplo de fisherfaces Figura 3.1: Faces pertencentes ao banco Yale Face Database B Figura 3.2: Fluxograma mostrando o funcionamento geral do programa Figura 3.3: Análise multirresolução para localizar uma face com janela de características 24x Figura 3.4: Etapas para a localização facial e dos olhos Figura 3.5: Exemplo de face detectada(a) e segmentada (rotacionada e redimensionada)(b) Figura 3.6: Exemplo de equalização de histograma em imagens do banco YALE. 39 Figura 3.7: Fluxograma mostrando o funcionamento da etapa de reconhecimento. 40 Figura 4.1: Figura 4.2: Figura 4.3: Figura 4.4: Exemplos de face detectada e (a) ambos os olhos, (b) apenas um olho e (c) nenhum olho Amostras de imagens de um indivíduo em diversas situações de iluminação diferentes, do banco de faces YALE Distribuição das distâncias encontradas para cada amostra com o método Eigenfaces Gráfico mostrando para os dados de acurácia, precisão e sensibilidade da tabela

10 Figura 4.5: Figura 4.6: Figura 4.7: Distribuição das distâncias encontradas para cada amostra com o método Fisherfaces Gráfico mostrando para os dados de acurácia, precisão e sensibilidade da tabela Distribuição das distâncias encontradas para cada amostra para conjunto contendo 5 sujeitos desconhecidos utilizando método fisherfaces e limiar de

11 LISTA DE TABELAS Tabela 4.9: Tabela 4.1: Resultados do localizador facial haar cascade para o banco YALE Tabela 4.2: Tempo de treinamento, em segundos, para o conjunto de 525 faces.. 45 Tabela 4.3: Tempo de reconhecimento por imagem de face, em segundos Tabela 4.4: Resultados utilizando as imagens originais, sem pré processamento. 46 Tabela 4.5: Resultados utilizando equalização por histograma nas imagens Tabela 4.6: Resultados dos algoritmos de reconhecimento utilizando em vídeos.. 47 Tabela 4.7: Tempo de reconhecimento por frame de vídeo. Utilizando faces segmentadas de tamanho 60x60 pixels Tabela 4.8: Tabela mostrando resultados de reconhecimento para limiares de distância diferentes para método Eigenfaces Tabela mostrando resultados de reconhecimento para limiares de distância diferentes para método Fisherfaces Tabela 4.10: Resultados de reconhecimento para conjunto contendo 5 sujeitos desconhecidos

12 RESUMO Este trabalho apresenta propõe a implementação de um sistema para localização e reconhecimento facial em vídeo, utilizando diversos métodos de processamento de imagens e classificadores de padrões. Para a localização facial será utilizado o classificador haar cascade. São propostos e avaliados dois métodos para o reconhecimento facial, eigenfaces e fisherfaces, ambos consistem em encontrar um espaço linear que represente as características mais significativas das de um conjunto de treinamento de sujeitos conhecidos. Novas faces são reconhecidas projetando-as neste espaço. As faces localizadas no vídeo são segmentadas e seu contraste é ampliado utilizando equalização por histograma, a utilização deste método mostrou melhoras significativas nos resultados dos algoritmos de reconhecimento. O algoritmo fisherfaces apresentou resultados melhores para o reconhecimento facial, tanto em classificações corretas quanto em tempo de processamento.

13 ABSTRACT This work presents the implementation of a system for facial detection and recognition, to achieve this goal, image processing and pattern recognition methods are utilized. For the detection phase, a Haar cascade classifier is used. On the facial recognition phase, two methods are evaluated, eigenfaces and fisherfaces, both methods consists in finding a linear space that represents the most significatives features of the images in a training set. New faces are recognized by projecting them in this space. The detected faces in the video are segmented and its contrast is enhanced using histogram equalization, the usage of this method has shown significant improvements in the facial recognition algorithms. The fisherfaces method presented better results in the recognition phase, both in correct classifications and processing time.

14 13 1 INTRODUÇÃO A biometria é definida como um método automático para o reconhecimento individual baseado em medidas biológicas e comportamentais de um indivíduo. Entre as biometrias mais utilizadas estão as impressões digitais, reconhecimento da íris, reconhecimento facial e entre outros. Um sistema para reconhecimento facial pode ser utilizado para a resolução de vários problemas, tais como: sistemas de segurança, identificação criminal e interface homemmáquina. No âmbito do processamento de imagens, o reconhecimento facial é um assunto muito estudado devido à sua vasta área de aplicação e por possuir uma certa complexidade de implementação, uma vez que rostos sofrem diversas variações durante o tempo. Já existem diversos métodos propostos na literatura para reconhecimento facial, tais como Template Matching (BRUNELLI; POGGIO, 1992), uso de redes neurais e métodos como Eigenfaces (TURK; PENTLAND, 1991) e Fisherfaces (FISHER, 1936). O principal objetivo deste trabalho é desenvolver um sistema de reconhecimento facial para um ambiente controlado, isto significa que não deve haver grandes mudanças na iluminação do ambiente, e que o angulo de captura das faces mantenham um certo padrão. As imagens obtidas de uma câmera de vídeo serão utilizadas para reconhecer indivíduos previamente cadastrados em uma base de dados. Para realizar este objetivo serão utilizados os métodos Eigenfaces e Fisherfaces para o reconhecimento facial, comparando ambos os métodos para definir o que melhor se aplica neste caso. Uma limitação destes métodos, assim como muitos outros, é que eles são aplicáveis somente em imagens de rostos que estejam na mesma resolução e orientação. Para a utilização deste método em vídeo, será necessário antes a aplicação de um detector facial, para que seja possível obter as faces da imagem para então ser feito o reconhecimento. Entre os métodos que mais se destacam para a localização facial em vídeo, encontrase o classificador Haar cascade (VIOLA; JONES, 2001). Este se baseia na extração de características haar em segmentos da imagem em diversas resoluções diferentes. As características extraídas são repassadas para um classificador em cascata para a localização facial, fazendo dele um método rápido e eficaz, a partir do momento em que as áreas da

15 14 imagem que não possuem faces são eliminadas logo nos primeiros classificadores aplicados. Sistemas de processamento de imagens para reconhecimento de padrões tendem a ter a necessidade de ser executados em tempo real, neste trabalho essa característica torna-se necessária. O sistema deve retornar de forma rápida se o sujeito que está sendo visto pela câmera é reconhecido ou não para que uma atitude possa ser tomada dependendo da aplicação utilizada. Para obter essa resposta rápida deseja-se que o indivíduo seja reconhecido com eficácia dentro de alguns segundos apenas, para isso taxa de quadros próxima à taxa de captura da câmera.

16 15 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo serão apresentados os fundamentos teóricos necessários para que os principais conceitos e métodos utilizados fiquem inseridos dentro do contexto do trabalho. Parte-se das definições dos métodos utilizados para o tratamento e preparação das imagens obtidas, dando ênfase para as etapas de detecção facial e reconhecimento de indivíduo. A sequência das etapas de execução do trabalho, e a ordem em que serão discutidas são apresentadas na fig Figura 2.1: Diagrama do sistema a ser implementado. Aquisição - Etapa onde um hardware é utilizado para capturar a imagem e realizar a conversão do sinal analógico para digital. Pode ser uma máquina fotográfica, câmera de vídeo, etc... Localização facial - Nesta fase é realizada a localização de todas as faces presentes na imagem. As próximas etapas só serão realizadas se esta encontrar pelo menos uma face. Segmentação - As faces localizadas são então segmentadas da cena, redimensionadas para um tamanho padrão e normalizadas. Esta etapa é importante como preparação dos objetos de interesse para a próxima etapa.

17 16 Extração de características - Com a extração de atributos é determinado quais características dos objetos serão utilizados para o reconhecimento. Reconhecimento - Etapa responsável pelo reconhecimento do objeto segmentado, levando em conta os dados extraídos na etapa anterior e indivíduos já cadastrados previamente num banco de dados. 2.1 Sinais digitais O processamento de sinais digitais é a área do conhecimento que estuda os vários fenômenos da natureza que podem ser representados como sinais digitais, tais como som, imagem e vídeo. A utilização do processamento de sinais digitais é vasto e está presente tanto em várias áreas da ciência, como biologia, química, física, quanto em aplicações comerciais, médicas e de entretenimento. Os sinais são normalmente subdivididos em três categorias, de acordo com sua dimensão, podendo ser eles unidimensionais, bidimensionais ou tridimensionais. No âmbito do processamento de imagens digitais, trabalha-se comumente com sinais bidimensionais. Nestes sinais, uma grandeza, no caso a cor de um pixel, varia em função de duas coordenadas, uma horizontal e uma vertical. Um exemplo desta correspondência pode ser visto na fig Estes dados são representados computacionalmente em forma de matrizes. Figura 2.2: Representação digital de uma imagem. Uma imagem digital é a representação discretizada de um sinal contínuo do mundo real. Para que uma função contínua seja representada pelo computador, é necessário discretizá-la, a fig. 2.3 mostra o processo de discretização de um sinal de uma dimensão. O processo de discretização do domínio é chamado de Amostragem, onde para um sinal de uma dimensão, como por exemplo o som, é dividido em espaços de tempo iguais, já para imagens, essa divisão representa o espaço ocupado por um pixel, quanto menor o tamanho dos pixels, maior a sua resolução. O processo de discretização do contradomínio

18 17 Figura 2.3: Processo de discretização de um sinal unidimensional. é chamado de Quantização. No caso das imagens, este processo define um valor ao pixel. Tendo isso em mente, a discretização de qualquer sinal contínuo passa primeiro por uma amostragem e depois por uma quantização. Basicamente, a amostragem define a resolução da imagem final (quantidade de pontos em que será representada), e a quantização define o valor de cada ponto, um exemplo pode ser visto na fig (a) Imagem original (b) Amostragem (c) Quantização Figura 2.4: Processo de discretização de um sinal bidimensional. A imagem é comumente representada como um sinal bidimensional. Cada ponto da imagem é chamado de pixel, sendo o valor de cada pixel denotado pela função i(x, y), em que o valor de i nas coordenadas (x, y) retorna a cor da imagem naquele ponto. Existem vários modelos possíveis para representar um pixel em uma imagem digitalmente. Ente os modelos de representação mais utilizados estão o monocromático, onde se utiliza somente um bit para representar cada pixel da imagem, escala de cinza aonde são normalmente utilizados oito bits para representar a intensidade luminosa de cada ponto, e para as imagens coloridas são utilizados diversos modelos que variam tanto em quantidade de bits utilizados para salvar a informação quanto em número de canais para cada

19 18 cor. A representação em escala de cinza é o mais utilizado para trabalhar com imagens quando a cor não é um elemento necessário, facilitando consideravelmente o cálculo para a maioria dos métodos, posto que cada pixel é representado somente por um valor, e não três ou mais como acontece para imagens coloridas. No modelo computacional a intensidade de um pixel é normalmente representada em 8 bits, o que permite 256 intensidades diferentes, variando de 0 para a menor intensidade (totalmente preto) e 255 a maior (totalmente branco). 2.2 Processamento de Imagens Digitais O processamento de imagens (DIP) é uma área do DSP, voltado à manipulação de uma imagem por computador, de modo que a entrada e saída do sistema sejam imagens. O objetivo do DIP é melhorar algum aspecto da imagem de modo a fornecer subsídios que facilitem sua interpretação, extração de características ou apenas melhore sua aparência. Nesta seção serão apresentados os métodos básicos de processamento de imagens digitais utilizados neste trabalho Equalização por histograma No DIP, o histograma é uma representação gráfica da distribuição de intensidade dos pixels de uma imagem. Ela quantifica a quantidade de pixels para cada valor de intensidade considerado. Um exemplo de histograma pode ser visto na fig. 2.5(b). (a) Imagem original (b) Histograma Figura 2.5: Resultado da equalização por histograma. A equalização de histograma é um método para melhorar o contraste de uma imagem, a fim de melhor distribuir as intensidades no histograma. Ela implica em mapear um histograma para uma nova distribuição. Este é feito de tal forma que, dado um histograma H(i) de uma imagem A(x, y), com os valores de intensidade variando de i = 0, 1, 2,..., 255,

20 19 e sua função cumulativa H (i) é: H (i) = i H(j) (2.1) j=0 Normaliza-se H (i) para que os valores fiquem no alcance da intensidade da imagem (0-255), e finalmente mapeia-se a nova imagem equalizada: A eq (x, y) = H (A(x, y)) (2.2) Na fig. 2.6 pode-se verificar o resultado da equalização por histograma da imagem original apresentada na fig Nota-se uma diferença significativa no contraste da imagem. (a) Imagem equalizada (b) Histograma equalizado Figura 2.6: Exemplo de histograma equalizado de uma imagem em escala de cinza Imagem integral A imagem integral (VIOLA; JONES, 2004) é uma forma intermediária de representar uma imagem, é também um método rápido para gerar a soma de valores em um espaço retangular em uma imagem digital. Como o nome do método sugere, o valor da integral a partir da origem para qualquer ponto P (x, y) em uma imagem pode é a soma de todos os valores acima de y e à esquerda de x, incluindo o valor do ponto P. Pode-se representar matematicamente este cálculo pelo somatório da eq. 2.3, onde (x, y) é a coordenada de um ponto P da imagem i(x, y). I(x, y) = x x y y i(x, y ) (2.3) O valor calculado para cada ponto é guardado em uma matriz denominada I(x, y), gerando assim a imagem integral, como, por exemplo, pode ser visto na fig. 2.7(a) a matriz original e na fig. 2.7(b) uma matriz contendo a imagem integral.

21 20 P cálculo da imagem integral pode ser facilmente feito referenciando os pontos previamente calculados, acelerando o processo de criação da imagem integral, onde a integral para um ponto é calculada a partir da integral dos vizinhos mais o valor do pixel desejado, conforme eq I(x, y) = i(x, y) + I(x 1, y) + I(x, y 1) I(x 1, y 1) (2.4) (a) matriz original (b) matriz integral Figura 2.7: Exemplo da representação de uma imagem integral. Em (a) tem-se a matriz da imagem original e em (b) a da imagem integral. Tendo a imagem integral I(x, y) calculada, pode-se obter o valor de qualquer área retangular em uma imagem, utilizando somente quatro referências da imagem integral. Um exemplo pode ser visto na fig. 2.8, onde deseja-se obter a integral da área hachurada. Para isto basta acessar os valores da imagem integral dos pontos A, B, C e D, conforme eq. 2.5, onde (x 0, y 0 ) é a posição do ponto superior esquerdo do retângulo e (x 1, y 1 ) inferior direito. i(x, y) = I(C) I(B) I(D) + I(A) (2.5) x 0 x x 1 y 0 y y 1 Figura 2.8: Exemplo para o cálculo da imagem integral para a área hachurada.

22 Localização facial A localização de objetos em cenas é alvo de pesquisa em várias áreas da computação, algumas das quais têm como objetivo a análise da face humana. O desenvolvimento de técnicas para a localização facial é importante em diversas áreas como visão cibernética, videoconferência, realidade virtual, sistemas de segurança, entre outros. Por este motivo, são inúmeros os métodos propostos que tentam viabilizar a detecção de faces em cena. Porém existem também inúmeros problemas que dificultam a devida localização, como grande variações na iluminação, oclusão facial por objetos como óculos, ambientes com fundos complexos e também rotação facial em ângulos variados. A detecção facial é a primeira etapa deste trabalho, onde a partir da análise de uma imagem de entrada procura-se encontrar uma face. O método escolhido para alcançar tal objetivo é o classificador em cascata baseado em Haar-like features (VIOLA; JONES, 2001). Este classificador pode ser treinado para localizar qualquer objeto que apresente um padrão, como, por exemplo, o classificador para reconhecimento de sinais de mãos apresentado em (CHEN; GEORGANAS; PETRIU, 2007) Haar-like features Em (PAPAGEORGIOU; OREN; POGGIO, 1998) é apresentado um método para representar imagens utilizando um conjunto de características baseadas em Haar Wavelets, ao invés do usual uso da intensidade luminosa. Seguindo este paradigma, o trabalho em (VIOLA; JONES, 2001) apresenta um método para criar características com o objetivo de representar certas regiões da imagem de forma mais compacta. Haar-like features são características simples representadas como regiões retangulares adjacentes na imagem. Algumas das possíveis características podem ser vistas na fig Figura 2.9: Conjunto de quatro características Haar-like Numericamente as características Haar-like são representadas por apenas um valor, calculadas como a diferença entre as somas de todas as intensidade entre a região preta

23 22 e a branca, como expresso pela eq. 2.6, onde (x 0, y 0 ) e (x 1, y 1 ) são as coordenadas de início e fim da região preta e (x 0, y 0) e (x 1, y 1) da região branca, respectivamente. f(x) = i(x, y) x 0 x x 1 y 0 y y 1 x 0 x x 1 y 0 y y 1 i(x, y) (2.6) As características Haar-like são utilizadas para representar transições entre regiões mais claras e escuras, como por exemplo, a região dos olhos. A região dos olhos é normalmente mais escura que a das bochechas, tornando-se assim uma boa região para obter uma característica Haar-like. Este e alguns outros exemplos podem ser observados na fig Figura 2.10: Exemplos de características Haar-like posicionadas sobre uma face. Utilizando a eq. 2.5 definida para o cálculo da integral de um retângulo qualquer, pode-se calcular rapidamente o valor de qualquer característica. Sendo necessário apenas seis, oito ou nove acessos à imagem integral para as características de dois, três ou quatro retângulos respectivamente. As características são calculadas para todas as subjanelas da imagem onde deseja-se localizar uma face, se a subjanela escolhida for de tamanho 24x24 pixels, e tendo apenas quatro características básicas, conforme fig. 2.9, o número máximo de características possíveis, partindo da primeira característica de tamanho 1x2 em todas as posições possíveis até ultima característica na maior resolução de 24x24, chega-se ao número exaustivo de possíveis características. As características mostradas na fig. 2.9 representam apenas rostos na posição horizontal, mas é comum os rostos estarem levemente rotacionados em cenas do cotidiano. Por esse motivo, em (LIENHART; MAYDT, 2002) é proposto a adição das características rotacionadas em 45 o, aumentando o número máximo de características, mas aumentando

24 23 também a acurácia da classificação desejada. O conjunto total de características utilizado pode ser visto na fig Figura 2.11: Conjunto de características haar-like estendidas. Nem todas as características calculadas são boas características, de fato, apenas uma pequena parcela é utilizada realmente para o classificador final. A seleção das características utilizadas e a criação dos classificadores serão discutidas na próxima seção Classificador O principal objetivo de um classificador é poder classificar corretamente um certo objeto a partir de um conjunto de características. Dado um conjunto de imagens, que contenha amostras positivas e negativas, ou seja, com imagens que contenham faces e outras que não, respectivamente. Este conjunto pode ser utilizado por vários algoritmos de aprendizado de máquina para criar uma função classificadora. Lembrando que o número de características totais para cada subjanela é maior que , mesmo que cada característica seja computada rapidamente, é imprático o uso de todas as características para a classificação. O trabalho de (VIOLA; JONES, 2004) comprovou que apenas uma pequena parcela dessas características combinadas podem formar um classificador eficiente. Um classificador fraco é uma estrutura simples que contém um vetor de características, um limiar e uma paridade. Durante o treinamento do classificador fraco, deve-se encontrar o melhor limiar que separe as amostras positivas das negativas. O classificador fraco h(x, f, p, θ) é definido na equação 2.7, onde f(x) é o valor da característica, θ é o limiar e p é a paridade, que indica se os objetos positivos devem ser classificados acima ou abaixo do limiar. { 1 se pf(x) < pθ, h(x, f, p, θ) = (2.7) 0 caso contrário. Os classificadores fracos levam este nome pois a partir do momento em que a comparação é feita utilizando apenas um limiar definido, ele apresenta um elevado grau de falsos positivos, não podendo ser um classificador muito confiável, normalmente eles apresentam uma taxa de acerto um pouco maior que adivinhações aleatórias. Já os classificadores fortes apresentam uma relação próxima à classificação real.

25 24 É possível criar um classificador forte a partir de um conjunto de classificadores fracos. Um algoritmo para aprendizado de máquina (machine learning) do tipo boost será utilizado para alcançar este objetivo, tal algoritmo será discutido na próxima seção Boosting Boosting parte do princípio de construir um classificador forte a partir de um conjunto de classificadores fracos. É um algoritmo de aprendizado supervisionado, que utiliza como entrada um vetor de exemplos positivos e negativos, que formam o conjunto de dados para treinamento, e um conjunto de características a serem utilizadas. Apesar dos algoritmos de boosting não possuírem uma forma obrigatória, a maioria desses algoritmos consiste em uma aprendizagem iterativa de classificadores fracos, respeitando uma certa distribuição e adicionando-os à um classificador forte. Ao serem adicionados, à cada classificador fraco é atribuído um peso de acordo com a sua acurácia. Para cada classificador adicionado, é feito o recálculo do peso para todo o conjunto de dados de treinamento. Para os exemplos classificados corretamente, os pesos são diminuídos e para os classificados incorretamente os pesos são aumentados. Assim os próximos classificadores focam mais nos exemplos que ainda não foram corretamente classificados. O algoritmo utilizado em (VIOLA; JONES, 2004) para selecionar os melhores classificadores fracos e gerar os classificadores fortes foi o AdaBoost, que é descrito no algoritmo 1. No trabalho citado é discutido a eficiência do algoritmo e é feita uma comparação com outros métodos Classificador em cascata O cascateamento de classificadores é a concatenação de vários classificadores. Um classificador em cascata aumenta o desempenho da detecção ao reduzir drasticamente o tempo computacional. O classificador em cascata final pode ser representado por uma árvore de decisões em que cada nó ou estágio possui um classificador forte que pode eliminar ou não uma entrada, caso esta não seja eliminada ela é então passada para o próximo estágio, sucessivamente. Um diagrama representando um classificador em cascata pode ser visto na fig. 2.12, onde 1, 2,..., n são os classificadores fortes utilizados e as transições A e R são as classificações aceitas e rejeitadas, respectivamente. Os estágios do classificador em cascata implementados em (VIOLA; JONES, 2001) são construídos utilizando o AdaBoost, onde é gerado um classificador em cascata a partir do treinamento de classificadores fortes. Eles são organizados em ordem decrescente conforme o grau de falsos positivos que estes geram. Assim os classificadores mais simples, porém que possuem um nível elevado de falsos positivos, eliminam a maioria das subjanelas que não apresentam nenhuma similaridade rapidamente. Desta maneira, a quantidade de imagens para os próximos classificadores é reduzida, acelerando o processamento.

26 25 Algoritmo 1: Algoritmo AdaBoost utilizado para a construção de classificadores fortes. T hipóteses são construídas utilizando uma única característica. O resultado final é uma hipótese cujo valor é a combinação linear ponderada das T hipóteses, onde os pesos são inversamente proporcionais ao erro de treinamento. Dado um conjunto imagens de exemplo (x 1, y 1 )... (x n, y n ) onde y i = 0, 1 para exemplos negativos e positivos, respectivamente. Inicializa os pesos w 1,i = 1 2m, 1 2l para y i = 0, 1 respectivamente, onde m e l são as quantidades de amostras negativas e positivas respectivamente. Para t = 1,..., T : Normalize os pesos, w t,i w t,i n j=1 w t,j (2.8) Selecione o melhor classificador fraco, respeitando o peso no erro ɛ t = min f,p,θ w i h(x i, f, p, θ) y i. (2.9) i Defina h t (x) = h(x, f t, p t, θ t ) one f t, p t e θ t são os minimizadores de ɛ t. Atualize os pesos: w t+1,i = w t,i β 1 e i t (2.10) onde β t = ɛt 1 ɛ t e e i = 0 se o exemplo x i foi classificado corretamente, caso contrário e i = 1. O classificador forte encontrado é então: { 1 se T C(x) = t=1 α th t (x) caso contrário. T t=1 α t, (2.11) onde α t = log 1 β t

27 26 Figura 2.12: Diagrama representando a estrutura de um classificador em cascata. Um exemplo para o classificador de primeiro estágio pode ser composto por um classificador forte que possui duas características harr-like e um limiar. Este limiar pode ser ajustado de tal forma que 100% das faces do conjunto de treinamento sejam aceitas com um grau de falsos positivos de aproximadamente 40% (VIOLA; JONES, 2004). Na fig são apresentadas as primeiras duas características contidas no primeiro estágio do classificador em cascata. Figura 2.13: As duas primeiras características selecionadas pelo AdaBoost para o primeiro estágio do classificador em cascata. 2.4 Reconhecimento Os processos de reconhecimento facial normalmente utilizam um conjunto de imagens de indivíduos conhecidos para identificar a qual desses indivíduos pertence uma certa imagem ainda não processada, porém a comparação dessa imagem desconhecida com todo o espaço de amostras conhecidas é um processo trabalhoso e demorado. Para a identificação de um indivíduo em vídeo, o processo se torna ainda mais trabalhoso, pois requer altas taxas de processamento para satisfazer os requisitos de desempenhos desejados. A forma mais intuitiva de abordar o reconhecimento facial computacionalmente é basear-se nas características geométricas de cada face. Um dos primeiros sistemas de re-

28 27 conhecimento facial automático (KANADE, 1973) utiliza pontos como localização pontos, como olhos, boca e nariz, para gerar um vetor de características (distância entre os pontos, ângulo entre eles,...). O reconhecimento era feito calculando a distância euclidiana entre os vetores de uma amostra e a imagem de referência. A maior desvantagem destes métodos é que mesmo utilizando os algoritmos mais recentes para a localização dos pontos, a acurácia de sua localização exata é baixa. Mesmo com a utilização um vetor de características com 22 dimensões (BRUNELLI; POGGIO, 1992), mostrou-se que as características geométricas sozinhas não carregam informações suficientes sobre um rosto. Uma forma diferente de abordar o reconhecimento facial é utilizando teoria da informação, levando em conta as informações mais importantes. Pode-se imaginar cada imagem como sendo um único ponto em um espaço multidimensional (i j dimensões para imagem de resolução i j pixels), um conjunto de imagens faciais normalizadas estariam distribuídas próximas umas das outras nesse grande espaço dimensional. É possível então encontrar os eixos que mais representam este conjunto e descrevê-lo em um subespaço com menor dimensão. Assim reduzindo a quantidade de informações guardadas. Novas imagens podem ser projetadas neste espaço de forma a encontrar a imagem mais próxima que provavelmente representa a face mais semelhante. Nesta seção serão discutidos dois algoritmos utilizados para reconhecimento facial. O primeiro deles é o Eigenfaces (TURK; PENTLAND, 1991), método baseado na projeção linear do conjunto de imagens num subespaço de menor dimensão, utilizando análise de componentes principais. O segundo método é o Fisherfaces (BELHUMEUR; HESPA- NHA; KRIEGMAN, 1997), que, assim com o anterior, utiliza a projeção das imagens num subespaço para o reconhecimento de padrões, porém este é baseado na análise de discriminante linear de Fisher Eigenfaces O problema de trabalhar diretamente com imagens para reconhecimento é sua grande dimensionalidade. Imagens bidimensionais i j em escala de cinza abrangem m = i j dimensões vetoriais, de forma que uma imagem de tamanho ocupa um espaço de dimensões. Em um conjunto de várias imagens faciais apenas as dimensões que apresentam alguma variância são importantes, sendo estas as componentes que mais influenciam nas diferenças entre as imagens faciais. Uma forma eficiente de representar imagens é utilizando a análise de componentes principais (PCA) (SIROVICH; KIRBY, 1987). A PCA é uma transformação ortogonal para converter um conjunto de variáveis possivelmente correlacionadas em um conjunto de variáveis linearmente descorrelacionadas chamadas de componentes principais. A quantidade de componentes principais é igual ou menor ao número de variáveis originais.

29 28 A PCA pode ser feita pela decomposição em autovetores de uma matriz de covariância, onde cada autovetor representa uma componente principal do conjunto de dados original. Cada autovetor está associado a um autovalor, que apresenta a contribuição do autovetor à variância do conjunto de dados original. Dado um conjunto de dados multivariados em um espaço multidimensional, com 1 eixo por variável, a PCA pode então ser utilizada para uma visualização dos dados em um espaço em dimensões mais baixas, utilizando apenas os componentes principais que possuem os maiores autovalores, reduzindo assim a dimensionalidade na representação dos dados. Eigenfaces é o nome dado à um conjunto de autovetores (chamados também de eigenvectors) utilizados para representar um conjunto de imagens de faces. O processo para criação do eigenspace segue os seguintes passos: 1. Adquirir um conjunto de imagens faciais normalizadas. 2. Calcular as eigenfaces a partir do conjunto de treinamento, mantendo apenas as M eigenfaces correspondentes aos maiores autovalores. Essas M faces representam o espaço de faces, ou eigenspace. Novas imagens podem ser adicionadas posteriormente ao conjunto de treinamento, mas as eigenfaces devem ser recalculadas. 3. Calcular a distribuição das imagens conhecidas no novo espaço M dimensional, projetando estas imagens no eigenspace. Feita a criação do eigenspace e calculado os pesos das imagens nesse novo espaço, para o processo de reconhecimento basta projetar uma nova imagem neste espaço e verificar a qual indivíduo ela pertence, para isso calcula-se as distâncias entre a nova face e todos as outras imagens do conjunto de treinamento. É definido um limiar de distância para que a face possa ser classificada como reconhecida ou desconhecida. Na próxima subseção é apresentado o método para a criação do espaço de faces e o processo de reconhecimento Método computacional para criação do Eigenspace Dado um conjunto de imagens contendo M imagens faciais em escala de cinza com resolução N N. Estas imagens devem estar normalizadas de forma que os olhos estejam alinhados na mesma posição e que todas estejam na mesma resolução. O objetivo é descrever este conjunto de M imagens por apenas L Eigenfaces, sendo L < M. Uma única imagem do conjunto é representada por x m, e a i,j é um pixel dessa imagem, com isso faz-se: Transforme as imagens x m de N N dimensões em vetores coluna N 2 1. Agrupe os vetores x 1, x 2,..., x M em uma única matriz X de N 2 M dimensões.

30 29 x m = a 1,1 a 2,1. (2.12) a N 2,1 ] X = [ x 1 x 2 x M (2.13) Encontre a média Ψ dos valores de X ao longo da dimensão m = 1, 2,..., M. Ψ = 1 M M x m (2.14) m=1 Centralize os dados subtraindo de cada vetor x m a média Ψ, gerando o vetor Φ m = x m Ψ. Agrupe os vetores de diferenças na matriz A = sua matriz de covariância C. [ ] Φ1 Φ2... Φm e calcula-se C = 1 M Φ mφ T M m = AA T (2.15) m=1 Esse conjunto C é então submetido à análise de componentes principais, que calcula o conjunto de M vetores ortonormais, v i, que melhor descreve a distribuição dos dados. A matriz de covariância C possui dimensão N 2 N 2, quando utilizados em imagens típicas, essas proporções se tornam gigantescas e são computacionalmente inviáveis. Para imagens pixels, tem-se uma matriz de covariância de 100 milhões de posições. Se a quantidade de imagens M é menor que a dimensão do espaço(m < N 2 ), então haverão apenas M 1 autovetores significantes (os autovetores restantes terão os autovalores correspondentes iguais à zero)(turk; PENTLAND, 1991). Na fig observa-se que as primeiras eigenfaces apresentam características muito significativas enquanto as últimas contribuem com pouca informação sobre o conjunto de imagens original. Sendo os v i autovetores de AA T tal que: AA T v i = µ i v i (2.16) e multiplicando ambos os lados por A, tem-se: AA T A v i = µ i A v i (2.17) Assim, A v i são os autovetores de C = AA T. Seguindo esta análise, constrói-se a matriz de M M dimensões L = A T A e encontra-se os M eigenvectors, v l, de L.

31 30 Figura 2.14: Primeiras e últimas eigenfaces encontradas para um conjunto de 526 imagens faciais. Tendo então os autovetores v l de L = A T A, obtêm-se os autovetores u l de C = AA T pela relação AA T A v i = µ i A v i, sendo u l as eigenfaces encontradas. M u l = v lkφk l = 1,..., M (2.18) k=1 Os pesos ω l representam a contribuição de cada eigenface para determinada imagem do conjunto original. Calculado de tal forma que: ω l = u T l ( x m Ψ) (2.19) onde x m é uma imagem já conhecida do conjunto de treinamento inicial X. E os pesos para cada imagem original são representados por Ω = [ω 1, ω 2,..., ω M ]. Esses pesos representam a projeção das faces no eigenspace. Nota-se que quanto maior as diferenças entre as faces, maior será o espalhamento entre as projeções, sendo que para um conjunto de faces que não apresentam muitas variações de iluminação, as classes (que representam um sujeito) estarão distanciadas, e as projeções dentro de uma mesma classe estarão agrupadas próximas umas das outras. O processo de reconhecimento agora se torna trivial, sendo apenas necessário projetar cada nova amostra no eigenspace (calculando seus pesos conforme eq. 2.19), e encontrar a face que minimiza a distância euclidiana entre os pesos encontrados e o conjunto de pesos de cada imagem de treinamento. ɛ 2 k = Ω Ω k 2 (2.20) Vale notar que quando as imagens apresentam variações significantes na iluminação,

32 31 o espalhamento entre as imagens da mesma classe será maior, reduzindo assim o desempenho do classificador. Por isso este método é mais eficaz quando utilizado em ambientes controlados ou utilizando métodos de normalização de iluminação na aplicação Fisherfaces O fisherfaces é um algoritmo para reconhecimento facial que apresenta baixa sensibilidade à mudanças na iluminação das imagens, tanto em intensidade quanto em ângulo de incidência. Este é o maior motivo pela escolha de sua utilização neste trabalho. O nome do método é atribuido por utilizar o discriminante linear de Fisher (FLD) (FISHER, 1936). Como o conjunto de treinamento deve estar etiquetado, ou seja, cada imagem no conjunto pertence a um indivíduo conhecido, faz sentido que essa informação seja utilizada para construir um método mais confiável e com um espaço de características reduzido. Como exposto em (BELHUMEUR; HESPANHA; KRIEGMAN, 1997), o método fisherfaces otimiza o espalhamento da projeção espacial, de modo a encontrar o classificador mais confiável Discriminante Linear de Fisher Dado um conjunto de imagens contendo M imagens faciais em escala de cinza com resolução N N, normalizadas de forma que os olhos estejam alinhados na mesma posição entre todas as imagens, e que estas estejam na mesma resolução e rotuladas. O objetivo é encontrar o subespaço que maximiza a razão entre o espalhamento intraclasses e interclasses. Ou seja, encontrar a projeção das imagens de um mesmo sujeito estarão mais agrupadas e a projeção destes grupos mais distanciadas possível. Uma única imagem do conjunto é representada por x m, e elas são organizadas da mesma forma que no método discutido anteriormente, conforme as equações 2.12, 2.13, e a imagem média Ψ do conjunto de treinamento é encontrada conforme eq Calcula-se também a imagem média de cada classe i, Ψ i, ou seja, a média entre todas as imagens de um mesmo sujeito: Ψ i = 1 N i N i m=1 x m m = 1, 2, 3,..., N i (2.21) sendo N i o número de imagens que dado indivíduo possui no conjunto de treinamento, e i o número da classe, i = 1, 2, 3,..., c, e c é o número de classes. A matriz de espalhamento interclasses é definida por: c S B = N i (Ψ i Ψ)(Ψ i Ψ) T (2.22) i=1 E a matriz de espalhamento intraclasses é dada como:

33 32 S W = c i=1 x m X i (x m Ψ i )(x m Ψ i ) T (2.23) Se S W é uma matriz não-singular, ou seja S W SW T, a LDA busca projeção ótima W opt, de modo que a razão entre os determinantes das projeções de S B e S W seja máxima, conforme W opt = arg max W W T S B W W T S W W = [w 1, w 2, w 3,..., w l ] (2.24) onde {w i i = 1, 2, 3...l} é o conjunto de autovetores de S B e S W correspondentes ao l maiores autovalores {λ i i = 1, 2, 3...l}. S B w i = λ i S W w i S T W S B w i = λ i w i i = 1, 2, 3,..., l (2.25) Há no máximo c 1 autovetores diferentes que zero, então um limite para m pode ser c 1, sendo c o número de classes. Neste contexto, a matriz intraclasse S W acaba sempre sendo singular, devido ao posto (rank) de S W ser máximo M c, com M sendo o número de amostras. Na maioria dos casos M é menor que a dimensão dos dados de entrada (número de pixels)(raudys; JAIN, 1991). Para contornar este problema, em (BELHUMEUR; HESPANHA; KRIEGMAN, 1997), o conjunto de imagens é projetado antes em um espaço sub dimensional utilizando PCA e projetando as amostras em um espaço de (N c)-dimensões. A FLD descrita acima é então aplicada nos dados reduzidos, já que a matriz S W não é mais singular. O problema de otimização pode ser reescrito como: W pca = arg max W W T S T W W fld = arg max W W T W T pcas B W pca W W T W T pcas W W pca W (2.26) Sendo S T a matriz de dispersão S T = M (x i Ψ)(x i Ψ) T i = 1, 2, 3,..., M (2.27) i=1 A matriz contendo os eigenvectors do espaço (c 1)-dimensional é então dado por:

34 33 W T = WfldW T pca T (2.28) Na fig é mostrado um exemplo das fisherfaces encontradas para um conjunto de 15 sujeitos, onde a primeira imagem é a face média calculada e as 14 imagens seguintes são os autovetores ordenados conforme seus autovalores em ordem decrescente. Figura 2.15: Exemplo de fisherfaces.

35 34 3 MATERIAIS E MÉTODOS Neste capítulo serão abordados os elementos que fizeram parte da implementação do sistema, como os métodos discutidos no capítulo anterior foram implementados. 3.1 Materiais A aplicação foi desenvolvida utilizando a linguagem de programação C++, esta foi escolhida por ser uma linguagem de rápida execução, o que é essencial em aplicações de exigem um alto desempenho. Para as funções de processamento de imagens foi utilizado a OpenCV, que é uma biblioteca para computação visual de código aberto amplamente utilizada, que é mantida por uma grande comunidade, tendo assim uma vasta documentação sobre seus algoritmos. Tais facilidades justificam o uso dela neste trabalho. Para os testes entre os métodos foram utilizados dois bancos de imagens de faces. O primeiro deles é o banco Yale Face Database B, que possui um total de imagens faciais, pertencentes a 28 indivíduos em diversas situações de iluminação. Na fig. 3.1 é mostrado a face dos 28 sujeitos sob uma mesma iluminação. O outro banco é um pequeno conjunto de vídeos criado com alunos da UERGS, este banco é composto de dois vídeos para cada um dos 11 indivíduos distintos, um para treinamento e outro para reconhecimento. Os vídeos foram gravados na resolução de 640x480 pixels, com uma taxa de 30 quadros por segundo. Os vídeos do conjunto de treinamento possuem uma duração média de 40 segundos, para poder retirar expressões diferentes das faces para o treinamento dos algoritmos de reconhecimento. Os vídeos do conjunto de teste possuem duração média de 6 segundos, para podermos definir se os classificadores podem reconhecer o indivíduo de forma rápida. Os testes realizados foram executados em um notebook com processador i5 2.6 GHz, 4GB de memória RAM, rodando o sistema operacional Windows 8 64 bits.

36 35 Figura 3.1: Faces pertencentes ao banco Yale Face Database B 3.2 Metodologia Neta seção serão mostrados separadamente as etapas de implementação. O sistema foi divido em grandes blocos para o melhor entendimento do funcionamento. Essas etapas são mostradas na fig No bloco aquisição é feita a coleta de imagens, em seguida é feita localização facial e a face encontrada é segmentada do restante da imagem. Um pré-processamento pode ser feito para normalizar as imagens a fim de obter melhores resultados nos algoritmos, os métodos utilizados para isso serão discutidos mais adiante. A partir das imagens segmentadas, três opções são possíveis, dependendo do modo de operação do sistema. No modo de coleção a imagem pode ser adicionada à um conjunto de imagens de um indivíduo, que será utilizado posteriormente junto com os conjuntos de outros indivíduos no bloco de treinamento, onde o algoritmo de reconhecimento é treinado. O terceiro modo é o reconhecimento, onde as imagens obtidas são submetidas ao reconhecedor facial para classificação. Figura 3.2: Fluxograma mostrando o funcionamento geral do programa.

37 Aquisição A etapa de aquisição trata apenas da obtenção das imagens a partir de um arquivo de vídeo ou o fluxo de imagens de uma câmera em tempo real. As imagens obtidas são convertidas para escala de cinza e representadas em matrizes, conforme apresentado na seção 2.1. Nenhum processo de pré-tratamento é feito nessas imagens, elas são enviadas diretamente para a etapa de localização facial Localização facial O classificador Haar-cascade deve ser treinado com um conjunto de amostras de faces e não faces, as imagens deste conjunto devem estar identificadas se verdadeiras ou falsas. Amostras verdadeiras são aquelas que contém a imagem de uma face e as falsa são aquelas que não contém faces. Para obter bons resultados, este classificador deve ser treinado com uma grande quantidade de amostras. Neste trabalho é utilizado um classificador Haar-cascade já treinado por (LIENHART; KURANOV; PISAREVSKY, 2003), que avalia qual o melhor tamanho para as características Haar bem como a influência da quantidade de imagens para treinamento. São utilizadas características para janelas de tamanho 24x24 pixels e o classificador foi treinado com amostras positivas e negativas por apresentar os melhores resultados. Utilizar uma janela de características de tamanho fixo em 24x24 pixels significa que apenas serão encontradas faces que estejam aproximadamente nesta resolução nas imagens, ou seja, faces maiores ou menores não serão encontradas. Para contornar esta limitação, é feita uma análise multirresolução na imagem que está sendo analisada. Por exemplo, se a imagem possui resolução 640x480 pixels, pode-se redimensioná-la em várias vezes e montar uma pirâmide de imagens em diversas resoluções, como 32x24, 64x48, 128x96, 256x192. Na fig. 3.3 é mostrado um exemplo de uma janela de características 24x24, essa janela não encontraria nenhuma face na resolução original, porém na face reduzida é possível localizar uma face. Após uma face ser localizada é necessário segmentá-la do restante da cena para seu uso nas outras etapas, porém, essas faces devem estar sempre centralizadas, com o mesmo tamanho e orientação. Para isso, apenas a informação da localização da face não é suficiente. Um localizador de olhos é então utilizado para encontrar a posição dos olhos dentro da região da face. Foram utilizados dois outros classificadores Haar-cascade para esta função, um com olhos normais e outros para olhos com óculos. Na fig. 3.4 é mostrado um fluxograma representando a implementação da localização facial. Caso uma face é localizada então ambos os olhos são buscados na região facial. Para acelerar o processamento, a busca é feita somente na região onde os olhos podem ser encontrados, ou seja na metade superior da face. Esta ainda é dividida em duas para a localização do olho esquerdo e direito. Caso uma face e ambos os olhos tenham sido

38 37 Figura 3.3: Análise multirresolução para localizar uma face com janela de características 24x24. encontrados, então a próxima etapa é executada, senão é obtida uma nova imagem e o processo é repetido. Figura 3.4: Etapas para a localização facial e dos olhos.

39 Segmentação e pré-processamento A etapa de segmentação consiste em realizar uma normalização da imagem facial que será utilizada posteriormente, para que todas apresentem o mesmo padrão. Para isto as faces encontradas são rotacionadas de modo que o ângulo entre os olhos seja 0 o. As equações abaixo mostram o cálculo utilizado para a rotação das imagens, onde θ é o ângulo desejado para a rotação, x 1, y 1 é o ponto central do olho direito e x 2, y 2 do esquerdo, x, y são as novas coordenadas da imagem. θ = arctan y 2 y 1 x 2 x 1 (3.1) x = cos(θ) (x 2 x 1 ) sin(θ) (y 2 y 1 ) x 1 (3.2) y = sin(θ) (x 2 x 1 ) + cos(θ) (y 2 y 1 ) + y 1 (3.3) Após rotacionada a imagem facial é centralizada no ponto central entre os olhos e redimensionada para o tamanho de 60x60 pixels. A fig. 3.5 mostra a detecção de face e olhos, e a imagem segmentada a partir dessas informações. (a) (b) Figura 3.5: Exemplo de face detectada(a) e segmentada (rotacionada e redimensionada)(b) Equalização por histograma A implementação do equalizador por histograma segue o método descrito na seção 2.2.1, onde é feita uma melhor distribuição do histograma das imagens segmentadas, para que apresentem um contraste maior. Um exemplo pode ser visto na figura 3.6, onde imagens de um sujeito do banco YALE foram submetidas à equalização por histograma, onde

40 39 Figura 3.6: Exemplo de equalização de histograma em imagens do banco YALE. as imagens à esquerda são as originais e à direita as imagens equalizadas por histograma Coleção de imagens A coleção consiste em agrupar várias imagens faciais normalizadas pela segmentação e armazená-las em uma estrutura de fila. A coleção é feita por indivíduo, e depois as imagens são salvas em um arquivo com rótulo e nome da pessoa. Cada indivíduo possui um rótulo único, que é o seu identificador. Essas estruturas armazenadas podem ser lidas posteriormente para a etapa de treinamento Treinamento Nesta etapa as imagens dos indivíduos salvas são carregadas e ordenadas em um vetor, e em outro vetor de mesmo tamanho são carregados seus rótulos. O classificador de reconhecimento é então chamado para criar o novo subespaço conforme discutido na seção 2.4, dependendo do algoritmo de reconhecimento escolhido. Os pesos para as imagens são calculados e o sistema está pronto para a etapa de reconhecimento. Os classificadores levam alguns segundos para serem treinados e quanto maior o tamanho do banco de imagens e suas resoluções, maior o tempo de treinamento. Para reduzir este tempo, foi implementado uma opção para salvar o classificador em arquivo, sendo apenas necessário carregá-lo na próxima execução. Este ainda deve ser treinado caso novas pessoas sejam adicionadas ao conjunto de treinamento Reconhecimento A etapa de reconhecimento consiste em projetar uma imagem de face que acabou de ser segmentada no espaço facial, e encontrar à qual face do conjunto de treinamento ela

41 40 mais se assemelha. O método utilizado para isto é simplesmente calcular a distância euclidiana entre os pesos da nova face projetada e os pesos de todas as imagens de treinamento, a menor distância encontrada representa a maior semelhança. Figura 3.7: Fluxograma mostrando o funcionamento da etapa de reconhecimento. A menor distância encontrada é comparada com um limiar, caso seja menor que o limiar, então a face foi reconhecida como sendo do sujeito a qual pertence a face de menor distância, caso contrário, a face é classificada como desconhecida. Uma representação

42 41 deste processo é mostrada na fig Este processo pode apresentar falsos positivos ou negativos, ou seja, faces reconhecidas erroneamente. É implementado um método para reduzir este efeito, como o processo é todo feito em tempo real, e não possui um tempo de processamento elevado, são feitas várias detecções por segundo. Então a cada segundo todos os resultados do reconhecimento são guardados e o resultado final é a estimativa que mais teve ocorrências, e que represente pelo menos 50% dos resultados.

43 42 4 RESULTADOS OBTIDOS Nesta seção serão mostrados os resultados obtidos e uma breve análise destes resultados, bem como avaliações de desempenho do sistema, tanto no âmbito computacional, levando em conta tempo de processamento e recursos utilizados, quanto em resultados de reconhecimento e detecção. 4.1 Avaliação do localizador facial O localizador facial utilizado foi avaliado utilizando um banco de vídeos próprios criado com imagens de colegas da UERGS. Este banco é composto por 22 vídeos de 11 sujeitos distintos, sendo um para a etapa de treinamento e outro para a de reconhecimento. Estes vídeos possuem duração e iluminação variada, a média de quadros destes vídeos é de 1200 quadros por vídeo. Os sujeitos foram orientados a manter sua face voltada para a câmera a maior parte do tempo, mas estavam livres para movimentar a cabeça e fazer expressões faciais diversas, para que as imagens segmentadas para o posterior treinamento e segmentação apresentassem diferenças. Apenas os vídeos do conjunto de treinamento foram utilizados para estes testes, ou seja, 11 vídeos de sujeitos distintos. A localização facial pode gerar quatro possíveis resultados: nenhuma detecção, detecção facial com ambos os olhos, detecção facial com apenas um olho, detecção facial sem detecção de olhos. Dessas quatro alternativas, somente uma gera o resultado esperado, que é a detecção facial com ambos os olhos. A fig. 4.1 mostra alguns exemplos dessas detecções. A tabela 4.1 mostra os resultados da localização facial nos vídeos do conjunto de treinamento, apresentando o número total de quadros de cada vídeo, em quantos desses quadros foram localizados faces, e em quantas dessas faces foram localizados ambos os olhos. A localização dos olhos é apenas feita na região onde a face foi encontrada, portanto a porcentagem calculada para a localização dos olhos usa como total o número de faces localizadas.

44 43 (a) (b) (c) Figura 4.1: Exemplos de face detectada e (a) ambos os olhos, (b) apenas um olho e (c) nenhum olho. Quantidade Número de faces Localização de Sujeito de quadros localizadas ambos os olhos Adriane (95%) 510 (71%) Camila (100%) 1258 (66%) Davi (100%) 1071 (98%) Leonardo (98%) 857 (56%) Lucas (97%) 420 (56%) Marcos (95%) 647 (83%) Mellany (95%) 1252 (73%) Robim (88%) 546 (83%) Roger (100%) 1292 (57%) Tiago (94%) 478 (67%) Txai (100%) 579 (86%) Total (97%) 8910 (70%) Tabela 4.1: Resultados do localizador facial haar cascade para o banco YALE. 4.2 Avaliação dos métodos de reconhecimento facial Nesta seção serão apresentados e avaliados os resultados dos métodos de reconhecimento facial fisherfaces e eigenfaces utilizando dois bancos para testes. O primeiro

45 44 apresentado é utilizando o banco de faces YALE, composto por diversas imagens com variações na iluminação. O segundo é utilizando um conjunto de vídeos próprios Avaliação utilizando banco de faces YALE Foi utilizado o banco de faces YALE para avaliar o desempenho dos algoritmos de reconhecimento facial. Este banco foi escolhido por apresentar várias mudanças na iluminação do ambiente, um exemplo é apresentado na fig. 4.2, dificultando o processo de reconhecimento dos algoritmos. Isto é importante para avaliar o quanto essas mudanças impactam no nível de detecção dos métodos e quais metodologias de pré-processamento podem ser utilizadas para melhorar estes níveis de detecção. Figura 4.2: Amostras de imagens de um indivíduo em diversas situações de iluminação diferentes, do banco de faces YALE. Deste banco foram selecionados 15 sujeitos, dividindo suas imagens em dois grupos, um para treinamento e outro para o teste dos reconhecedores. Para o conjunto de treino foram selecionadas 35 imagens aleatoriamente, formando assim um conjunto de 525 imagens. Para o teste foram selecionadas outras 28 imagens dos mesmos 15 sujeitos, totalizando 420 imagens para este conjunto, porém, uma destas imagens estava corrompida então foram utilizadas 419. Os algoritmos eigenfaces e fisherfaces foram avaliados utilizando os conjuntos de treinamento e teste criados. Para o fisherfaces não foi utilizada redução espacial, já que neste caso ele apresenta apenas 14 autovetores. Já para o método eigenfaces foram utilizados duas situações. Na primeira foram utilizados todos os 525 autovetores encontrados e na segunda apenas os 150 autovetores correspondentes aos 150 maiores autovalores. A tabela 4.2 mostra os tempos de treinamento de três execuções e o tempo médio para os algoritmos eigenfaces (com 525 e 150 autovetores) e fisherfaces, utilizando o conjunto de treinamento com 525 imagens.

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

Introdução. Capítulo. 1.1 Considerações Iniciais Capítulo 1 Introdução 1.1 Considerações Iniciais A face humana é uma imagem fascinante, serve de infinita inspiração a artistas há milhares de anos. Uma das primeiras e mais importantes habilidades humanas

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Ferramenta para detecção de fadiga em motoristas baseada no monitoramento dos olhos

Ferramenta para detecção de fadiga em motoristas baseada no monitoramento dos olhos Ferramenta para detecção de fadiga em motoristas baseada no monitoramento dos olhos Rafael Dattinger Acadêmico Dalton Solano dos Reis - Orientador Roteiro Introdução/Objetivos Fundamentação teórica Desenvolvimento

Leia mais

2 Texturas com Relevo e Equações de Pré Warping

2 Texturas com Relevo e Equações de Pré Warping 2 Texturas com Relevo e Equações de Pré Warping A noção de warping de imagens é fundamental para o entendimento da técnica abordada nesta dissertação. Este capítulo apresenta definições formais para vários

Leia mais

ESTEREOSCOPIA INTRODUÇÃO. Conversão de um par de imagens (a)-(b) em um mapa de profundidade (c)

ESTEREOSCOPIA INTRODUÇÃO. Conversão de um par de imagens (a)-(b) em um mapa de profundidade (c) ESTEREOSCOPIA INTRODUÇÃO Visão estereoscópica se refere à habilidade de inferir informações da estrutura 3-D e de distâncias da cena de duas ou mais imagens tomadas de posições diferentes. Conversão de

Leia mais

Processamento digital de imagens. introdução

Processamento digital de imagens. introdução Processamento digital de imagens introdução Imagem digital Imagem digital pode ser descrita como uma matriz bidimensional de números inteiros que corresponde a medidas discretas da energia eletromagnética

Leia mais

Modelos Pioneiros de Aprendizado

Modelos Pioneiros de Aprendizado Modelos Pioneiros de Aprendizado Conteúdo 1. Hebb... 2 2. Perceptron... 5 2.1. Perceptron Simples para Classificaçãod e Padrões... 6 2.2. Exemplo de Aplicação e Motivação Geométrica... 9 2.3. Perceptron

Leia mais

Aula 5 - Classificação

Aula 5 - Classificação AULA 5 - Aula 5-1. por Pixel é o processo de extração de informação em imagens para reconhecer padrões e objetos homogêneos. Os Classificadores "pixel a pixel" utilizam apenas a informação espectral isoladamente

Leia mais

4 Experimentos. 4.4 detalha os experimentos com os algoritmos V-Wrapper e NCE. 4.1

4 Experimentos. 4.4 detalha os experimentos com os algoritmos V-Wrapper e NCE. 4.1 4 Experimentos A estratégia V-Wrapper descrita por Zheng et. al (ZSW07), resumida no Capítulo 2, foi implementada com a finalidade de comparar um método baseado em atributos visuais com o algoritmo proposto

Leia mais

4Distribuição de. freqüência

4Distribuição de. freqüência 4Distribuição de freqüência O objetivo desta Unidade é partir dos dados brutos, isto é, desorganizados, para uma apresentação formal. Nesse percurso, seção 1, destacaremos a diferença entre tabela primitiva

Leia mais

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

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

4 Avaliação Experimental

4 Avaliação Experimental 4 Avaliação Experimental Este capítulo apresenta uma avaliação experimental dos métodos e técnicas aplicados neste trabalho. Base para esta avaliação foi o protótipo descrito no capítulo anterior. Dentre

Leia mais

Trabalho de Implementação Jogo Reversi

Trabalho de Implementação Jogo Reversi Trabalho de Implementação Jogo Reversi Paulo Afonso Parreira Júnior {paulojr@comp.ufla.br} Rilson Machado de Olivera {rilson@comp.ufla.br} Universidade Federal de Lavras UFLA Departamento de Ciência da

Leia mais

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:

Leia mais

Detecção em tempo real de movimentos de olhos e boca em um vídeo em cores

Detecção em tempo real de movimentos de olhos e boca em um vídeo em cores Detecção em tempo real de movimentos de olhos e boca em um vídeo em cores Daniel Ponciano dos Santos Barboza, Programa de Engenharia de Sistemas e Computação - PESC/COPPE Universidade Federal do Rio de

Leia mais

Classificação de Imagens

Classificação de Imagens Universidade do Estado de Santa Catarina Departamento de Engenharia Civil Classificação de Imagens Profa. Adriana Goulart dos Santos Extração de Informação da Imagem A partir de uma visualização das imagens,

Leia mais

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística Aula 4 Conceitos Básicos de Estatística Aula 4 Conceitos básicos de estatística A Estatística é a ciência de aprendizagem a partir de dados. Trata-se de uma disciplina estratégica, que coleta, analisa

Leia mais

APLICATIVOS GRÁFICOS (AULA 4)

APLICATIVOS GRÁFICOS (AULA 4) Prof. Breno Leonardo G. de M. Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br APLICATIVOS GRÁFICOS (AULA 4) 1 Classificação da imagem Em relação à sua origem pode-se classificar uma imagem,

Leia mais

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade Introdução É sabido que os processos rodam em processadores. Nos sistemas tradicionais existe somente um único processador, de forma que não há dúvida a respeito de como ele deve ser usado. Em um sistema

Leia mais

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

Do neurônio biológico ao neurônio das redes neurais artificiais Do neurônio biológico ao neurônio das redes neurais artificiais O objetivo desta aula é procurar justificar o modelo de neurônio usado pelas redes neurais artificiais em termos das propriedades essenciais

Leia mais

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO João Cesar Guirado Universidade Estadual de Maringá E-mail: jcguirado@gmail.com Márcio Roberto da Rocha Universidade Estadual de Maringá E-mail:

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

Segmentação de Imagens

Segmentação de Imagens Segmentação de Imagens (Processamento Digital de Imagens) 1 / 36 Fundamentos A segmentação subdivide uma imagem em regiões ou objetos que a compõem; nível de detalhe depende do problema segmentação para

Leia mais

4 Experimentos Computacionais

4 Experimentos Computacionais 33 4 Experimentos Computacionais O programa desenvolvido neste trabalho foi todo implementado na linguagem de programação C/C++. Dentre as bibliotecas utilizadas, destacamos: o OpenCV [23], para processamento

Leia mais

SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE

SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE TUBULAÇÃO Romildo Rudek Junior Petrobras S.A. UN-REPAR Tadeu dos Santos Bastos Petrobras S.A. UN-REVAP Rui Fernando Costacurta Petrobras S.A. UN-REPAR

Leia mais

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões Classificação de imagens Autor: Gil Gonçalves Disciplinas: Detecção Remota/Detecção Remota Aplicada Cursos: MEG/MTIG Ano Lectivo: 11/12 Sumário Classificação da imagem (ou reconhecimento de padrões): objectivos

Leia mais

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO PAC - PROGRAMA DE APRIMORAMENTO DE CONTEÚDOS. ATIVIDADES DE NIVELAMENTO BÁSICO. DISCIPLINAS: MATEMÁTICA & ESTATÍSTICA. PROFº.: PROF. DR. AUSTER RUZANTE 1ª SEMANA DE ATIVIDADES DOS CURSOS DE TECNOLOGIA

Leia mais

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Disponibilizo a íntegra das 8 questões elaboradas para o Simulado, no qual foram aproveitadas 4 questões, com as respectivas resoluções comentadas.

Disponibilizo a íntegra das 8 questões elaboradas para o Simulado, no qual foram aproveitadas 4 questões, com as respectivas resoluções comentadas. Disponibilizo a íntegra das 8 questões elaboradas para o Simulado, no qual foram aproveitadas questões, com as respectivas resoluções comentadas. Amigos, para responder às questões deste Simulado, vamos

Leia mais

Morfologia Matemática Binária

Morfologia Matemática Binária Morfologia Matemática Binária Conceitos fundamentais: (Você precisa entender bem esses Pontos básicos para dominar a área! Esse será nosso game do dia!!! E nossa nota 2!!) Morfologia Matemática Binária

Leia mais

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. De acordo com a Norma NBR 1001, um grande número de fatores influência a freqüência de calibração. Os mais importantes,

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

Apresentação de Dados em Tabelas e Gráficos

Apresentação de Dados em Tabelas e Gráficos Apresentação de Dados em Tabelas e Gráficos Os dados devem ser apresentados em tabelas construídas de acordo com as normas técnicas ditadas pela Fundação Instituto Brasileiro de Geografia e Estatística

Leia mais

Testedegeradoresde. Parte X. 38 Testes de Ajuste à Distribuição. 38.1 Teste Chi-Quadrado

Testedegeradoresde. Parte X. 38 Testes de Ajuste à Distribuição. 38.1 Teste Chi-Quadrado Parte X Testedegeradoresde números aleatórios Os usuários de uma simulação devem se certificar de que os números fornecidos pelo gerador de números aleatórios são suficientemente aleatórios. O primeiro

Leia mais

Respostas do Estudo Dirigido do Capítulo 14 Classical pattern recognition and image matching"

Respostas do Estudo Dirigido do Capítulo 14 Classical pattern recognition and image matching Respostas do Estudo Dirigido do Capítulo 14 Classical pattern recognition and image matching" 1 Com suas palavras explique o que é Reconhecimento de Padrões- RP. Quais são os fases clássicas que compõem

Leia mais

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA INF2608 FUNDAMENTOS DE COMPUTAÇÃO GRÁFICA RELATÓRIO: IMAGENS SÍSMICAS VISUALIZAÇÃO E DETECÇÃO

Leia mais

4 Aplicativo para Análise de Agrupamentos

4 Aplicativo para Análise de Agrupamentos 65 4 Aplicativo para Análise de Agrupamentos Este capítulo apresenta a modelagem de um aplicativo, denominado Cluster Analysis, dedicado à formação e análise de grupos em bases de dados. O aplicativo desenvolvido

Leia mais

Scale-Invariant Feature Transform

Scale-Invariant Feature Transform Scale-Invariant Feature Transform Renato Madureira de Farias renatomdf@gmail.com Prof. Ricardo Marroquim Relatório para Introdução ao Processamento de Imagens (COS756) Universidade Federal do Rio de Janeiro,

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

A limiarização é uma das abordagens mais importantes de segmentação de imagens. A limiarização é um caso específico de segmentação.

A limiarização é uma das abordagens mais importantes de segmentação de imagens. A limiarização é um caso específico de segmentação. Limiarização A limiarização é uma das abordagens mais importantes de segmentação de imagens. A limiarização é um caso específico de segmentação. O princípio da limiarização consiste em separar as regiões

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Processamento Digital de Imagens Israel Andrade Esquef a Márcio Portes de Albuquerque b Marcelo Portes de Albuquerque b a Universidade Estadual do Norte Fluminense - UENF b Centro Brasileiro de Pesquisas

Leia mais

Reconhecimento de Padrões Utilizando Filtros Casados

Reconhecimento de Padrões Utilizando Filtros Casados Detecção e estimação de sinais Reconhecimento de Padrões Utilizando Filtros Casados Aline da Rocha Gesualdi Mello, José Manuel de Seixas, Márcio Portes de Albuquerque, Eugênio Suares Caner, Marcelo Portes

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Lista 1 para a P2. Operações com subespaços

Lista 1 para a P2. Operações com subespaços Lista 1 para a P2 Observação 1: Estes exercícios são um complemento àqueles apresentados no livro. Eles foram elaborados com o objetivo de oferecer aos alunos exercícios de cunho mais teórico. Nós sugerimos

Leia mais

BR DOT COM SISPON: MANUAL DO USUÁRIO

BR DOT COM SISPON: MANUAL DO USUÁRIO BR DOT COM SISPON: MANUAL DO USUÁRIO BAURU 2015 2 BR DOT COM SISPON: MANUAL DO USUÁRIO Manual do usuário apresentado para auxiliar no uso do sistema SisPon. BAURU 2015 3 SUMÁRIO 1 Instalação... 5 1.1 Sispon...

Leia mais

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso 7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso Saiba como colocar o PINS em prática no agronegócio e explore suas melhores opções de atuação em rede. Quando uma empresa

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições

Leia mais

Descrição do processo de priorização para tomada de tempos: Pesquisa ação em uma empresa job shop de usinados aeronáuticos.

Descrição do processo de priorização para tomada de tempos: Pesquisa ação em uma empresa job shop de usinados aeronáuticos. Descrição do processo de priorização para tomada de tempos: Pesquisa ação em uma empresa job shop de usinados aeronáuticos. Tatiana Sakuyama Jorge Muniz Faculdade de Engenharia de Guaratingüetá - Unesp

Leia mais

FERRAMENTAS DA QUALIDADE

FERRAMENTAS DA QUALIDADE FERRAMENTAS DA QUALIDADE Docente: Dr. José Carlos Marques Discentes: Estêvão Andrade N.º 2089206 Maria da Luz Abreu N.º 2405797 Teodoto Silva N.º 2094306 Vitalina Cunha N.º 2010607 FERRAMENTAS DA QUALIDADE

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

SEGEMENTAÇÃO DE IMAGENS. Nielsen Castelo Damasceno

SEGEMENTAÇÃO DE IMAGENS. Nielsen Castelo Damasceno SEGEMENTAÇÃO DE IMAGENS Nielsen Castelo Damasceno Segmentação Segmentação Representação e descrição Préprocessamento Problema Aquisição de imagem Base do conhecimento Reconhecimento e interpretação Resultado

Leia mais

Factor Analysis (FACAN) Abrir o arquivo ven_car.sav. Clique Extraction. Utilizar as 10 variáveis a partir de Vehicle Type.

Factor Analysis (FACAN) Abrir o arquivo ven_car.sav. Clique Extraction. Utilizar as 10 variáveis a partir de Vehicle Type. Prof. Lorí Viali, Dr. viali@pucrs.br; viali@mat.ufrgs.br; http://www.pucrs.br/famat/viali; http://www.mat.ufrgs.br/~viali/ Factor Analysis (FACAN) Abrir o arquivo ven_car.sav Utilizar as 10 variáveis a

Leia mais

Qualidade é o grau no qual um conjunto de características inerentes satisfaz a requisitos. ISO 9001:2008

Qualidade é o grau no qual um conjunto de características inerentes satisfaz a requisitos. ISO 9001:2008 1 Sumário 1. 2. 3. 4. 5. 6. 7. Introdução...3 Ferramentas da Qualidade...4 Fluxograma...5 Cartas de Controle...7 Diagrama de Ishikawa...9 Folha de Verificação...11 Histograma...13 8. 9. 10. Gráfico de

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica O Princípio da Complementaridade e o papel do observador na Mecânica Quântica A U L A 3 Metas da aula Descrever a experiência de interferência por uma fenda dupla com elétrons, na qual a trajetória destes

Leia mais

PARADOXO DA REALIZAÇÃO DE TRABALHO PELA FORÇA MAGNÉTICA

PARADOXO DA REALIZAÇÃO DE TRABALHO PELA FORÇA MAGNÉTICA PARADOXO DA REALIZAÇÃO DE TRABALHO PELA FORÇA MAGNÉTICA Marcelo da S. VIEIRA 1, Elder Eldervitch C. de OLIVEIRA 2, Pedro Carlos de Assis JÚNIOR 3,Christianne Vitor da SILVA 4, Félix Miguel de Oliveira

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

1. Introdução. Avaliação de Usabilidade Página 1

1. Introdução. Avaliação de Usabilidade Página 1 1. Introdução Avaliação de Usabilidade Página 1 Os procedimentos da Avaliação Heurística correspondem às quatro fases abaixo e no final é apresentado como resultado, uma lista de problemas de usabilidade,

Leia mais

Manual das planilhas de Obras v2.5

Manual das planilhas de Obras v2.5 Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo

Leia mais

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Medição tridimensional

Medição tridimensional A U A UL LA Medição tridimensional Um problema O controle de qualidade dimensional é tão antigo quanto a própria indústria, mas somente nas últimas décadas vem ocupando a importante posição que lhe cabe.

Leia mais

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1.

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1. CAPÍTULO I Sistemas de Numeração. Introdução O decimal é o mais importante dos sistemas numéricos. Ele está fundamentado em certas regras que são a base de formação para qualquer outro sistema. Além do

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Circuitos Digitais 144L

Circuitos Digitais 144L Circuitos Digitais Notas de Aula - 02 INSTITUTO: CURSO: DISCIPLINA: Instituto de Ciências Exatas e Tecnologia Ciência da Computação e Sistemas de Informação Circuitos Digitais 144L 1.0 Circuitos Combinacionais.

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Sumário. 1. Instalando a Chave de Proteção 3. 2. Novas características da versão 1.3.8 3. 3. Instalando o PhotoFacil Álbum 4

Sumário. 1. Instalando a Chave de Proteção 3. 2. Novas características da versão 1.3.8 3. 3. Instalando o PhotoFacil Álbum 4 1 Sumário 1. Instalando a Chave de Proteção 3 2. Novas características da versão 1.3.8 3 3. Instalando o PhotoFacil Álbum 4 4. Executando o PhotoFacil Álbum 9 3.1. Verificação da Chave 9 3.1.1. Erro 0001-7

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Curva ROC. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

Curva ROC. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE Curva ROC George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE Introdução ROC (Receiver Operating Characteristics) Curva ROC é uma técnica para a visualização e a seleção de classificadores baseado

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

Tipos de malha de Controle

Tipos de malha de Controle Tipos de malha de Controle SUMÁRIO 1 - TIPOS DE MALHA DE CONTROLE...60 1.1. CONTROLE CASCATA...60 1.1.1. Regras para Selecionar a Variável Secundária...62 1.1.2. Seleção das Ações do Controle Cascata e

Leia mais

Exercícios Adicionais

Exercícios Adicionais Exercícios Adicionais Observação: Estes exercícios são um complemento àqueles apresentados no livro. Eles foram elaborados com o objetivo de oferecer aos alunos exercícios de cunho mais teórico. Nós recomendamos

Leia mais

Boletim. Contabilidade Internacional. Manual de Procedimentos

Boletim. Contabilidade Internacional. Manual de Procedimentos Boletim Manual de Procedimentos Contabilidade Internacional Custos de transação e prêmios na emissão de títulos e valores mobiliários - Tratamento em face do Pronunciamento Técnico CPC 08 - Exemplos SUMÁRIO

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

CLASSIFICAÇÃO AUTOMÁTICA DE PATENTES COM O MODELO VETORIAL DE REPRESENTAÇÃO DE DOCUMENTOS

CLASSIFICAÇÃO AUTOMÁTICA DE PATENTES COM O MODELO VETORIAL DE REPRESENTAÇÃO DE DOCUMENTOS III SBA Simpósio Baiano de Arquivologia 26 a 28 de outubro de 2011 Salvador Bahia Políticas arquivísticas na Bahia e no Brasil CLASSIFICAÇÃO AUTOMÁTICA DE PATENTES COM O MODELO VETORIAL DE REPRESENTAÇÃO

Leia mais

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

Imagem e Gráficos. vetorial ou raster?

Imagem e Gráficos. vetorial ou raster? http://computacaografica.ic.uff.br/conteudocap1.html Imagem e Gráficos vetorial ou raster? UFF Computação Visual tem pelo menos 3 grades divisões: CG ou SI, AI e OI Diferença entre as áreas relacionadas

Leia mais

Astra LX Registro de Pacientes e Médicos Guia para o acesso aos registros de Pacientes e Médicos e eliminação de dados duplicados no AstraLX

Astra LX Registro de Pacientes e Médicos Guia para o acesso aos registros de Pacientes e Médicos e eliminação de dados duplicados no AstraLX Astra LX Registro de Pacientes e Médicos Guia para o acesso aos registros de Pacientes e Médicos e eliminação de dados duplicados no AstraLX 2011 Equipe Documentação Astra AstraLab 27/10/2011 Sumário Registro

Leia mais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle. Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO Prof. Leugim Corteze Romio Universidade Regional Integrada URI Campus Santiago-RS leugimcr@urisantiago.br Prof.

Leia mais

Optimização de um Mundo Virtual

Optimização de um Mundo Virtual secção 3.2 Optimização de um Mundo Virtual Dadas as limitações impostas pela actual tecnologia, um mundo virtual que não seja cuidadosamente optimizado torna-se necessariamente demasiado lento para captar

Leia mais

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Definição de Planilha Eletrônica

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Definição de Planilha Eletrônica PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO Apresentar a planilha eletrônica MS-Excel e algumas de suas operações básicas, incluindo inserção de fórmulas, utilização de funções da planilha e a criação

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Prof. Dr. Sergio Pilling (IPD/ Física e Astronomia) III Resolução de sistemas lineares por métodos numéricos. Objetivos: Veremos

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

UNIVERSIDADE FEDERAL DA PARAÍBA TABELAS E GRÁFICOS Departamento de Estatística Luiz Medeiros Tabela de dados multidimensionais Até agora vimos como organizar, resumir e descrever informações referentes

Leia mais

Resolução de sistemas lineares

Resolução de sistemas lineares Resolução de sistemas lineares J M Martínez A Friedlander 1 Alguns exemplos Comecemos mostrando alguns exemplos de sistemas lineares: 3x + 2y = 5 x 2y = 1 (1) 045x 1 2x 2 + 6x 3 x 4 = 10 x 2 x 5 = 0 (2)

Leia mais

Visão Artificial Para a Indústria. Manual do Utilizador

Visão Artificial Para a Indústria. Manual do Utilizador Visão Artificial Para a Indústria Manual do Utilizador Luis Fonseca Carvalho de Matos ( luis.matos@ua.pt ) Julho de 2007 Índice de conteúdos 1. Apresentação......1 1.Conceito de Funcionamento......1 2.

Leia mais

Faculdade Sagrada Família

Faculdade Sagrada Família AULA 12 - AJUSTAMENTO DE CURVAS E O MÉTODO DOS MÍNIMOS QUADRADOS Ajustamento de Curvas Sempre que desejamos estudar determinada variável em função de outra, fazemos uma análise de regressão. Podemos dizer

Leia mais

Gráficos estatísticos: histograma. Série Software ferramenta

Gráficos estatísticos: histograma. Série Software ferramenta Gráficos estatísticos: histograma Série Software ferramenta Funcionalidade Este software permite a construção de histogramas a partir de uma tabela de dados digitada pelo usuário. Gráficos estatísticos:

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

Aula 4 Estatística Conceitos básicos

Aula 4 Estatística Conceitos básicos Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a

Leia mais

WEBGIS Sistema Informativo Territorial

WEBGIS Sistema Informativo Territorial PREFEITURA MUNICIPAL DE PONTA GROSSA WEBGIS Sistema Informativo Territorial MANUAL DE UTILIZAÇÃO Autor: Rony Camargo de Brito Primeira edição: 20-06-2008 Atualizado: 08-10-2008 Todos os Direitos Reservados

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Unidade 3 Função Logarítmica. Definição de logaritmos de um número Propriedades operatórias Mudança de base Logaritmos decimais Função Logarítmica

Unidade 3 Função Logarítmica. Definição de logaritmos de um número Propriedades operatórias Mudança de base Logaritmos decimais Função Logarítmica Unidade 3 Função Logarítmica Definição de aritmos de um número Propriedades operatórias Mudança de base Logaritmos decimais Função Logarítmica Definição de Logaritmo de um número Suponha que certo medicamento,

Leia mais

Software Livre e Engenharia Elétrica

Software Livre e Engenharia Elétrica Software Livre e Engenharia Elétrica Diego Cézar Silva de Assunção Henrique Ribeiro Soares José Rubens Guimarães Vilaça Lima Pedro Dias de Oliveira Carvalho Rafael Viegas de Carvalho Carlos Gomes O software

Leia mais