tcc 2 Final - Sistemas de Informação
Transcrição
tcc 2 Final - Sistemas de Informação
1 FACULDADE DE BALSAS CURSO DE SISTEMAS DE INFORMAÇÃO PROCESSAMENTO DE IMAGENS DIGITAIS E RECONHECIMENTO FACIAL PARA CAPTURA DE FACES DE ALUNOS EM SALA DE AULA ALEX ROGALESKI MARQUES BALSAS – MA 2013 2 FACULDADE DE BALSAS CURSO DE SISTEMAS DE INFORMAÇÃO PROCESSAMENTO DE IMAGENS DIGITAIS E RECONHECIMENTO FACIAL PARA CAPTURA DE FACES DE ALUNOS EM SALA DE AULA Por ALEX ROGALESKI MARQUES Trabalho de Conclusão de Curso apresentado como exigência parcial para obtenção do título de Bacharel em Sistemas de Informação à Faculdade de Balsas, sob a orientação do Professor Jefferson Fontinele da Silva. BALSAS – MA 2013 3 AGRADECIMENTOS Agradeço a todos os alunos que se disponibilizaram para serem fotografados e ter suas imagens guardadas em um banco de imagens, que foi utilizado no desenvolvimento deste projeto. 4 RESUMO Com a evolução do processamento de imagens e reconhecimento de faces, eles puderam ser aplicada em ser aplicados em diversas áreas, mas o reconhecimento de faces ainda tem limitações e para que ele possa ser usando em algumas aplicações é necessário que sejam feitos testes, como por exemplo o ambiente abordado neste trabalho, que é a sala de aula. O objetivo deste projeto é utilizar técnicas de processamento de imagens digitais e reconhecimento facial, para desenvolver um software de reconhecimento de faces, que possa reconhecer o maior número possível de faces, tendo assim uma alta cobertura de reconhecimento em sala de aula, podendo ser utilizado futuramente para o desenvolvimento de um software para reconhecimento e verificação automática da presença dos alunos, já a exigência mínima de 75% (setenta e cinco por cento) de frequência do total de horas letivas para aprovação. Após ter sido desenvolvido passou por uma série de testes com várias configurações a fim de gerar dados para análise de seu desempenho, dessa forma podendo chegar a melhor configuração a ser usada. Depois da análise desses dados em forma de gráficos foi possível então chegar a melhor configuração a ser utilizada. Palavras-chave: Processamento de imagens. Reconhecimento Facial. Desenvolvimento de Software. Alta cobertura. 5 ABSTRACT With the development of image processing and recognition of faces, they could be applied to be applied in various areas, but the face recognition still has limitations and that he may be using in some applications it is necessary that tests be conducted, such as example the environment discussed in this work, which is the classroom. The objective of this project is to utilize processing techniques of digital images and face recognition to develop a face recognition software which can recognize the greatest possible number of faces , thus having a high coverage of recognition in the classroom and can be used future for the development of software for automatic recognition and verification of the presence of students , since the minimum requirement of 75 % (seventy five percent) frequency of total teaching hours for approval. Having been developed underwent a series of tests with various configurations in order to generate data for analysis of performance, thus reaching the best configuration to be used. After analyzing the data in graph form was then possible to get the best configuration to be used. Key Words: Image Processing. Facial Recognition. Software Development. High coverage. 6 LISTA DE FIGURAS Figura 1 - Etapas do problema de reconhecimento automático de faces. ..................... 15 Figura 2 - Erro de compilação eclipse .......................................................................... 26 Figura 3 - Código do arquivo CMake ........................................................................... 27 Figura 4 - Erro de compilção CMake ........................................................................... 27 Figura 5 - Foto tirada do ângulo central da sala de aula. .............................................. 28 Figura 6 - Fotos tiradas de 2 pontos da sala de aula. .................................................... 29 Figura 7 - Fotos tiradas de 3 pontos da sala de aula. .................................................... 29 Figura 8 - Captura da área central da sala de aula. ....................................................... 30 Figura 9 - Captura da área direita da sala de aula. ........................................................ 30 Figura 10 - Captura da área esquerda da sala de aula. .................................................. 31 Figura 11 – Imagem da sala de aula completa. ............................................................. 31 Figura 12 - Include das bibliotecas necessárias ............................................................ 32 Figura 13 - Declaração da variável para receber os XML de padrões .......................... 32 Figura 14 - Carregamento do XML de padrões ............................................................ 33 Figura 15 - Envio das Imagens para a Função de reconhecimento .............................. 33 Figura 16 - Função detectMultiScale ............................................................................ 34 Figura 21 - Faces reconhecidas ..................................................................................... 36 Figura 22 - Faces não reconhecidas .............................................................................. 36 Figura 24 - Gráfico dos dados do reconhecimento de faces ......................................... 38 Figura 27 - Gráfico do teste T-Pareado ........................................................................ 41 Figura 28 – Imagem da Sala 0206 ................................................................................ 42 Figura 29 – Imagem das salas 0205 e 0301 respectivamente ....................................... 42 Figura 30 - Gráfico da Cobertura por sala .................................................................... 43 Figura 31 – Gráfico da Precisão por sala ...................................................................... 43 Figura 32 – Gráfico da Medida-F por sala.................................................................... 44 Figura 33 - Imagem da sala 0101 ................................................................................. 45 7 LISTA DE TABELAS Tabela 1 - Variação do minNeighbors .......................................................................... 35 Tabela 2 - Exemplo de tabela com os dados do reconhecimento ................................. 37 Tabela 3 - Exemplo de valores estatísticos ................................................................... 39 Tabela 4 - Relação de populações e teste T-Pareado .................................................... 40 8 LISTA DE APÊNDICES Apêndice 1 - Código completo I ................................................................................... 50 Apêndice 2 - Código completo II ................................................................................. 51 Apêndice 3 - Código completo III ................................................................................ 52 Apêndice 4 - Análise de salas com ScaleFactor = 1.1, minNeighbors = 1. .................. 53 Apêndice 5 - Análise de salas com ScaleFactor = 1.1, minNeighbors = 3. .................. 54 Apêndice 6 - Análise de salas com ScaleFactor = 1.2, minNeighbors = 1. .................. 55 Apêndice 7 - Análise de salas com ScaleFactor = 1.2, minNeighbors = 3. .................. 56 Apêndice 8 - Análise de salas com ScaleFactor = 1.4, minNeighbors = 1. .................. 57 Apêndice 9 - Análise de salas com ScaleFactor = 1.4, minNeighbors = 3. .................. 58 Apêndice 10 - Análise de salas com ScaleFactor = 1.5, minNeighbors = 1. ................ 59 Apêndice 11 - Análise das imagens com ScaleFactor = 1.1, minNeighbors = 1. ......... 61 Apêndice 12 - Gráfico da configuração ScaleFactor = 1.1, minNeighbors = 1............ 61 Apêndice 13 - Análise das imagens com ScaleFactor = 1.1, minNeighbors = 3. ......... 63 Apêndice 14 - Gráfico da configuração ScaleFactor = 1.1, minNeighbors = 3............ 63 Apêndice 15 - Análise das imagens com ScaleFactor = 1.2, minNeighbors = 1. ......... 65 Apêndice 16 - Gráfico da configuração ScaleFactor = 1.2, minNeighbors = 1............ 65 Apêndice 17 - Análise das imagens com ScaleFactor = 1.2, minNeighbors = 3. ......... 67 Apêndice 18- Gráfico da configuração ScaleFactor = 1.2, minNeighbors = 3............. 67 Apêndice 19 - Análise das imagens com ScaleFactor = 1.4, minNeighbors = 1. ......... 69 Apêndice 20 - Gráfico da configuração ScaleFactor = 1.4, minNeighbors = 1............ 69 Apêndice 21 - Análise das imagens com ScaleFactor = 1.4, minNeighbors = 3. ......... 71 Apêndice 22 - Gráfico da configuração ScaleFactor = 1.4, minNeighbors = 3............ 71 Apêndice 23 - Análise das imagens com ScaleFactor = 1.5, minNeighbors = 1. ......... 73 Apêndice 24 - Gráfico da configuração ScaleFactor = 1.5, minNeighbors = 1............ 73 9 SUMÁRIO 1 2 INTRODUÇÃO .................................................................................................... 10 1.1 JUSTIFICATIVA ........................................................................................... 11 1.2 OBJETIVOS ................................................................................................... 11 REFERENCIAL TEÓRICO ............................................................................... 12 2.1 PROCESSAMENTO DE IMAGENS DIGITAIS .......................................... 12 2.2 RECONHECIMENTO DE FACES ................................................................ 14 2.3 PCA (ANÁLISE DE COMPONENTES PRINCIPAIS) ................................ 15 2.4 EIGENFACES ................................................................................................ 18 2.5 FISHERFACE ................................................................................................ 19 2.6 FERRAMENTAS ........................................................................................... 22 2.6.1 OPENCV ................................................................................................... 22 2.6.2 C / C ++ ..................................................................................................... 24 2.6.3 VISUAL STUDIO 2012 ............................................................................ 24 3 DESENVOLVIMENTO ...................................................................................... 26 3.1 INSTALAÇÃO DAS FERRAMENTAS........................................................ 26 3.2 CAPTURA DAS IMAGENS.......................................................................... 28 3.3 DESENVOLVIMENTO DO SOFTWARE .................................................... 32 3.4 ANÁLISE DOS RESULTADOS ................................................................... 35 3.4.1 CONTAGEM INICIAL DAS FACES ...................................................... 35 3.4.2 ANÁLISE DOS RESULTADOS FINAIS ................................................ 37 4 CONCLUSÃO ...................................................................................................... 46 5 REFERÊNCIAS ................................................................................................... 47 10 6 1 APÊNDICES ......................................................................................................... 50 INTRODUÇÃO Os métodos de processamento digital de imagem são aplicados em duas áreas principais: melhoria da imagem para interpretação humana e processamento de dados de imagem para transmissão, armazenamento e representação para a interpretação por máquinas (GONZALES; WOODS, 2007). O objetivo do uso do processamento digital de imagens é fazer com que elas possam ser usadas posteriormente para outros tipos de processamentos, como o reconhecimento facial. A área de processamento digital de imagens tem atraído grande interesse nas últimas duas décadas, resultando na evolução desta tecnologia, bem como o desenvolvimento de novos algoritmos e técnicas. Devido a evolução, a tecnologia de processamento de imagens ampliou seus domínios, que incluem diversas áreas, como por exemplo: meteorologia por meio de imagens de satélites, análise de recursos naturais, obtenção de imagens médicas por ultrassom, análise de imagens biomédicas, técnicas de tomografia computadorizada, aplicações em automação industrial envolvendo o uso de sensores visuais em robôs, Biometria, detecção de faces e outros (MARQUES FILHO, 1999; VIEIRA NETO, 1999). Existem vários algoritmos de reconhecimento facial, no entanto, esses algoritmos sofrem várias limitações, como a aplicabilidade, a eficiência, a resistência à resolução, e a capacidade de discriminação das características. Várias novas técnicas de reconhecimento facial têm sido propostas, Algumas delas incluem o reconhecimento por varreduras tridimensionais (3D), reconhecimento de alta resolução de imagens fixas, reconhecimento de várias imagens fixas, multe - reconhecimento facial, algoritmos de pré-processamento para corrigir a iluminação e variações da imagem (MANCHULA, 2013; ARUMUGAM, 2013). Os sistemas de reconhecimento de facial 2D atuais alcançam um bom desempenho em ambientes restritos, porém eles enfrentam dificuldades durante o manuseio de grandes quantidades de variações faciais, tais como poses da cabeça, condições de iluminação e expressões faciais (MANCHULA, 2013; ARUMUGAM, 2013). Assim, diante das dificuldades citadas acima, em relação ao processo de reconhecimento facial, torna-se necessária a pesquisa e utilização de algoritmos de 11 processamento de imagens digitais, para que o algoritmo de reconhecimento facial escolhido tenha um melhor desempenho e consiga a melhor cobertura de reconhecimento de faces possível em sala de aula. 1.1 JUSTIFICATIVA Devido a evolução, a tecnologia de processamento de imagens ampliou seus domínios, segundo MACHULA (2013) Os sistemas de reconhecimento de facial 2D atuais alcançam um bom desempenho em ambientes restritos, porém eles enfrentam dificuldades durante o manuseio de grandes quantidades de variações faciais. E para que os algoritmos de reconhecimentos sejam utilizados em ambientes com essa variação é necessário que sejam adequados a situação que serão utilizados a partir de testes nos ambientes. Neste trabalho foi escolhido o ambiente de reconhecimento sendo as salas de aula já que segundo a LEI DE DIRETRIZES E BASES DA EDUCAÇÃO NACIONAL e segundo os termos da Portaria/MEC n° 1.792, de 6 de novembro de 2006, a exigência mínima de 75% (setenta e cinco por cento) de frequência do total de horas letivas para aprovação, caso contrário, ele pode ser reprovado, esse projeto pode complementar a verificação de presenças atual, fazendo o reconhecimento de alta cobertura dentro da sala de aula, e armazenando todas as faces reconhecidas, para uma futura verificação sobre a presença de algum dos alunos se necessário, e possibilitando um futuro banco de dados com imagens dos alunos da instituição ou até mesmo em um projeto futuro criar um software para registrar as presenças automaticamente. 1.2 OBJETIVOS Objetivo geral: Desenvolver uma aplicação capaz de identificar faces com uma alta cobertura, ou seja identificando uma quantidade considerável de faces em uma imagem digital de uma sala de aula. Objetivos específicos: Utilizar os métodos de reconhecimento de faces pesquisados para o proposito deste trabalho. 12 Identificar requisitos para um software de reconhecimento de faces em uma sala de aula. Teste no ambiente de sala de aula com os algoritmos de reconhecimento de faces pesquisados, com fotos e vídeos. 2 REFERENCIAL TEÓRICO 2.1 PROCESSAMENTO DE IMAGENS DIGITAIS O grande impulso para a área de processamento de imagens digitas surgiu na década de 60, com o surgimento dos grandes computadores e o início do programa espacial norteamericano, que recebeu imagens da lua vindas de uma sonda espacial, essas imagens era processadas por computador para corrigir oscilações e distorções nas imagens (MARQUES FILHO, 1999; VIEIRA NETO, 1999). O interesse em métodos de processamento de imagens digitais decorre principalmente em duas áreas: melhoria da informação pictórica para o ser humano interpretação e processamento de dados de imagem para o armazenamento, transmissão e representação para a percepção de máquina (GONZALES, 2007). Uma imagem pode ser definida como uma série de funções bidimensionais, f (x, y), onde x e y são as coordenadas espaciais (plano), e a amplitude de f em qualquer par de coordenadas (x, y) representa a intensidade ou nível de cinzento da imagem nesse ponto. Quando x, y, e os valores de intensidade de f são todos finitos, com quantidades discretas, chamamos a imagem de uma imagem digital. O campo da imagem digital processamento refere-se ao processamento de imagens digitais por meio de um computador digital (GONZALES, 2007). Note que uma imagem digital é constituída por um número finito de elementos. Cada um tem um determinado local e valor. Esses elementos são chamados de elementos da imagem, pels e pixels. Pixel, é o termo mais amplamente utilizados para denotar os elementos de uma imagem digital (GONZALES, 2007). 13 A visão é o mais avançado dos nossos sentidos, por isso não é surpreendente que imagem desempenhe o papel mais importante na percepção humana. No entanto, ao contrário dos seres humanos, que estão limitados à banda visual eletromagnética (EM) espectro, máquinas de imagem podem cobrir praticamente todo o espectro EM, que vão desde ondas gamma até ondas rádio. Eles podem operar em imagens geradas por fontes geradoras onde os seres humanos não são acostumados a associar-se com as imagens. Assim, o processamento de imagens digitais abrange um vasto campo de aplicações e variadas (GONZALES, 2007). Não há um consenso geral entre os autores a respeito de onde o processamento de imagens para, e outras áreas afins, tais como análise de imagens e visão computacional, começam. Às vezes, uma distinção é feita através da definição de processamento de imagem como uma disciplina em que a entrada e a saída de um processo são imagens. Por exemplo, sob esta definição, mesmo a tarefa trivial de cálculo da intensidade da média de uma imagem (que produz um único número) não seria considerada uma operação de processamento de imagem. Por outro lado, existem campos tais como visão computacional cujo objetivo final é usar computadores para simular a visão humana, incluindo aprender e ser capaz de fazer inferências e tirar base de ações em entradas visuais. Esta área é um ramo da inteligência artificial (AI) cujo objetivo é imitar a inteligência humana. O campo de AI está em suas primeiras fases da infância em termos de desenvolvimento, devido as seu progresso ter sido muito mais lento do que o inicialmente previsto. A área de análise de imagem (também chamada compreensão da imagem) está entre processamento de imagem e visão computacional (GONZALES, 2007). Baseado nas observações anteriores, vemos que um lugar lógico de sobreposição entre o processamento de imagem e análise de imagem, é a área de reconhecimento de regiões individuais de objetos, em uma imagem. Assim, o que chamamos de processamento de imagens digitais em processos cuja entrada e saída são a imagem e, além disso, que compreende extrair atributos das imagens, incluindo o reconhecimento de objetos individuais. Como exemplo para esclarecer estes conceitos, considere a área de análise automática de texto. Os processos de aquisição de uma área da imagem que contém o texto, que o préprocessamento de imagem, extraindo (segmentação) os caracteres individuais, descrevendo os caracteres em uma forma adequada para o processamento do computador, e reconhecendo os caracteres individuais estão no escopo do que chamamos de processamento digital de imagens. Fazendo sentido do conteúdo da página pode ser vista como estando em um domínio 14 de análise de imagem e de visão computacional, dependendo do nível de complexidade implícita pela declaração "fazer sentido"(GONZALES, 2007). 2.2 RECONHECIMENTO DE FACES Reconhecer, conhecer de novo, assim como os humanos reconhecem, algo ou alguém a partir das memórias, de coisas, ou pessoas que já conheceu, para que a máquina consiga reconhecer algo, é preciso um aprendizado sobre o que ela irá reconhecer, gerando uma base de conhecimento. Esta base de conhecimento pode ser implementada diretamente no código, através, por exemplo, de um sistema baseado em regras, ou esta base de conhecimento pode ser aprendida a partir de um conjunto de amostras dos objetos a serem reconhecidos utilizando técnicas de aprendizado de máquina (MARENGONI, 2009). Os processos de reconhecimento de imagem normalmente são antecedidos por processamento de imagem, o espectro que vai do processamento de imagens até a visão computacional pode ser dividido em três níveis: baixo-nível, nível-médio e alto-nível. Os processos de baixo-nível envolvem operações primitivas, tais como a redução de ruído ou melhoria no contraste de uma imagem. Os processos de nível-médio são operações do tipo segmentação (particionamento da imagem em regiões) ou classificação (reconhecimento dos objetos na imagem). Os processos de alto-nível estão relacionados com as tarefas de cognição associadas com a visão humana (GONZALES, 2007). É possível dividir os sistemas de reconhecimento automático em três tipos: o reconhecimento, a identificação e a categorização de faces. O reconhecimento é responsável por confirmar se a imagem é uma face ou não, sem necessidade de liga-la a um nome. A identificação realiza o reconhecimento associando a face a uma pessoa conhecida. E a categorização, trata da identificação do estado emocional, sexo, ou raça da imagem apresentada (RODRIGUES, O. 2003). O reconhecimento de faces está diretamente relacionado à detecção de objetos dentro das imagens apresentadas como entrada de um sistema reconhecedor. Assim levando um 15 reconhecedor automático de faces a detecção da presença de um rosto na imagem (RODRIGUES, O. 2003). Esses objetos detectados dentro da imagem seguem padrões, que posteriormente serão utilizados pelo sistema reconhecedor para que ocorra a identificação, assim como no diagrama contido na figura 1. Figura 1 - Etapas do problema de reconhecimento automático de faces. FONTE: Rodrigues (2003). Segundo (Kriegman, 2002) a Análise de Componentes Principais (PCA) é utilizada para definir o subespaço melhor representando um conjunto de padrões de face reconhecidos, e utilizando o método eigenfaces (Kriegman, 2002) que com poucas imagens para o treinamento é capas de alcançar uma taxa de 95% de classificações corretas. 2.3 PCA (ANÁLISE DE COMPONENTES PRINCIPAIS) A Análise de Componentes Principais é uma técnica estatística útil que encontrou aplicação em áreas como reconhecimento facial e de compressão de imagem, e é uma técnica comum para encontrar padrões em dados de alta dimensão (SMITH, 2002). Esses padrões são identificados e os dados são expressos, de tal maneira que sejam destacadas suas semelhanças e diferenças. Desde padrões nos dados que podem ser difíceis de encontrar até dados de maior dimensão, onde a representação gráfica de boa qualidade não estiver disponível, a PCA é uma poderosa ferramenta de análise de dados. Outra vantagem principal do PCA é que depois de ter encontrado esses padrões no de dados, eles podem ser compactados reduzindo seu número de dimensões sem perca de informação. Esta técnica é utilizada na compressão de imagens (SMITH, 2002). É um método matemático linear que 16 pode ser aplicado na eliminação da redundância ou detecção de padrões em um conjunto de dados. Segundo (Penharbel,2005) na redução do conjunto são utilizados os componentes que mais contribuem com a variação do espaço, ou seja, as componentes cujos auto-vetores estejam relacionados com os maiores auto-valores e desprezando com valores mais baixos. Algoritmo PCA: 17 1. É organizada uma matriz D onde a primeira linha será formada pelos componentes da primeira amostra, a segunda a linha formada pelos componentes da segunda amostra e a N-ésima linha será formada pelos componentes da N-ésima amostra, como na matriz abaixo: 2. É criado um vetor média E, formado pelas médias de cada coluna: 3. É subtraído de cada item de cada coluna M da matriz D a média μM correspondente a coluna da qual o item pertença. 4. É feito o cálculo da matriz de covariância COVD: 5. São calculados os auto-vetores e auto-valores da matriz COVD gerando um vetor AVAL e uma atriz AVET. 6. São ordenados os auto-vetores na matriz AVET de auto-vetores pela ordem crescente dos auto-valores no vetor AVAL correspondentes. 18 2.4 EIGENFACES O Eigenfaces é um método de reconhecimento de faces que utiliza padrões obtidos a partir do método PCA para fazer o reconhecimento. Esse método tem uma abordagem holística para fazer o reconhecimento: a imagem facial é um ponto no espaço de imagem de alta-dimensional e uma representação de dimensão inferior é encontrado, onde a classificação se torna fácil. O subespaço de menor dimensão é encontrado com PCA (Análise de Componentes Principais), que identifica os eixos com variação máxima. Embora este tipo de transformação seja ideal do ponto de vista de reconstrução, não é preciso levar em conta qualquer classe específica. Em uma situação onde a variação gerada a partir de fontes externas é muito pequena, os eixos com variação máxima não necessariamente contêm alguma informação discriminativa, daí a classificação se torna impossível. Assim, uma projeção de uma classe específica, com uma análise discriminante linear foi aplicada para fazer o reconhecimento. A ideia básica é a de minimizar a variação dentro de uma classe, enquanto maximiza a variância entre as classes ao mesmo tempo (OPENCV DEV TEAM, 2013). Um dos primeiros exemplos de vetores próprios para reconhecimento facial foi realizado por Kohonen 1989, na qual uma simples rede neural é treinada para executar o reconhecimento facial com os rostos alinhados e normatizados. A rede neural calcula uma descrição rosto através da aproximação dos autovetores da matriz de autocorrelação da imagem. Estes autovetores são mais tarde conhecido como Eigenfaces (KRIEGMAN, 2002). Kirby e Sirovich 1990, demonstrado que imagens de faces podem ser linearmente codificados usando um número modesto de imagens base. Esta demonstração é baseado na transformação de Karhunen-Loe’ve, também chamada de, a Análise de Componentes Principais ou transformação de Hotelling. A idéia é, sem dúvida proposta pela primeira vez por Pearson em 1901 e, em seguida, por Hotelling em 1933. Dada uma coleção de n por m imagens de treinamento de pixels representada, como um vector de tamanho m x n, vetores de base abrangendo um subespaço ideal são determinados de tal forma que a média de erro quadrático entre a projeção das imagens de treinamento para este subespaço, e as imagens originais é minimizado. Eles chamam o conjunto de vetores de bases ótimas eigenpictures, que são apenas os autovetores da matriz de covariância calculados a partir das imagens de faces vetorizadas no conjunto de treinamento (KRIEGMAN, 2002). 19 Aplicada a análise de componentes principais a detecção e reconhecimento de faces semelhante a, análise de componentes principais em um conjunto de treinamento de imagens é realizado para gerar o Eigenpictures (aqui chamado Eigenfaces), que abrangem um subespaço (chamado de espaço de face) do espaço da imagem. Imagens de faces são projetadas no subespaço, da mesma forma, a formação de não-faces nas imagens que são projetadas sobre o mesmo subespaço. Desde que as imagens das faces não mudem radicalmente quando projetada no espaço, a projeção de imagens não-faces irá aparecer bem diferente (KRIEGMAN, 2002). Para detectar a presença de um rosto em uma cena, a distância entre um região de imagem e o espaço de rosto é calculado para todas as localizações na imagem. A distância da face no espaço é utilizado como uma medida de "faceness", e o resultado de cálculo da distância a partir do espaço da face é um "mapa do rosto." Uma face pode então ser detectada a partir de mínimos locais do mapa. Muitas obras de detecção de rosto, reconhecimento e extrações característica adotaram a idéia de eigenvector (KRIEGMAN, 2002). O método Eigenface realiza reconhecimento facial por projeção de todas as amostras de treinamento para o subespaço PCA. Projetando a imagem de consulta para o subespaço PCA e encontrando o vizinho mais próximo entre as imagens projetadas de treinamento e da imagem de consulta projetada (OPENCV DEV TEAM, 2013). 2.5 FISHERFACE Fisher’s Linear Discriminant (FLD), é um método amplamente usada de extração de características e redução de dimensionalidade em reconhecimento de padrões. FLD tenta encontrar o "melhor" projeto direção em que as amostras de formação pertencentes a diferentes classes são mais separados. Matematicamente, FLD seleciona a projeção Wfld de tal modo que a razão e a determinante da matriz de dispersão entre a classe das amostras projetadas e a matriz de dispersão dentro da classe de amostras projetadas é maximizada. Para um problema de classe c, a matriz de dispersão entre a classe é definido como segue (SHAN, 2002): 20 Onde Pr ( Ωi) é a probabilidade da classe anterior, μi é a média da amostra da classe Ωi, e μ é a média da amostra de todas as classes . A matriz de dispersão dentro de cada classe é definida como se segue (SHAN, 2002): Onde Ni é o número de amostras na classe Ωi. Se Sw é não-singular, o projeto matriz Wfld pode ser escolhida da seguinte forma (SHAN, 2002): Em seguida, Wfld pode ser calculado resolvendo o problema generalizado do auto vetor (SHAN, 2002): Em aplicações de reconhecimento de rostos, no entanto a classe interna de dispersão da matriz Ws é sempre singular. Porque o posto de é no máximo N-c, em que N é o número de imagens no conjunto de treino, e N é tipicamente muito menor do que n, que é o número de pixels em cada imagem. Para superar esta dificuldade, PCA é usado pela primeira vez para reduzir a dimensão das imagens a partir de n ou de N-c ou menos, então recalculada de Sw será não-singular e FLD pode ser usado para encontrar o projeto matriz Wfld, o que é referido como Fisherface. Análise de Componentes Principais (PCA), conhecido como Método eigenface em reconhecimento de face, também é amplamente utilizado recurso do método de extração. No PCA, a matriz de projeto Wpca é escolhido para maximizar a 21 determinante do total da matriz de dispersão das amostras projetadas. A dispersão total matriz é definida como se segue (SHAN, 2002): Onde N é o número de todas as amostras e μ é a amostra média. Wpca pode então ser calculada por resolver o eigenvalue problema (SHAN, 2002): A partir da definição acima de PCA, pode-se concluir que o projeto matriz Wpca maximiza as distâncias entre todas as amostras no espaço projetado. As distâncias entre as amostras de treinamento são devido não só à as diferenças entre as diferentes classes, mas também diferenças entre as amostras de treinamento da mesma classe. Numa aplicação específica, se as amostras da mesma classe diferem significativamente, PCA, pode ser inadequado para fins de classificação. Pelo contrário, FLD minimiza a dispersão dentro de cada classe enquanto maximiza a dispersão entre classes. Consequentemente, os exemplos de classes diferentes no espaço são projetadas separadamente e os da mesma classe são aglomeradas. No problema de reconhecimento de faces, que tem sido observado que "a variações entre as imagens da mesma face, devido a iluminação e direção de visualização são quase sempre maior do que variações de imagem diferentes devido à mudança na identidade rosto ". Assim, Fisherface é mais adequado para reconhecimento de face que Eigenface (SHAN, 2002). 22 2.6 FERRAMENTAS 2.6.1 OPENCV OpenCV (Open Source Computer Vision) é uma biblioteca de funções de programação para a visão computacional em tempo real (OPENCV DEV TEAM, 2013). A biblioteca OpenCV foi desenvolvida pela Intel, e idealizada com o objetivo de tornar a visão computacional acessível a usuários e programadores nas áreas de interação humano-computador em tempo real e robótica (DR. DOOB’S, 2013). É liberado sob a licença BSD, portanto, é gratuito tanto para uso acadêmico e comercial. É compatível com Windows, Linux, Android e Mac OS. A em sua da comunidade de usuários tem mais de 47 mil pessoas (OPENCV DEV TEAM, 2013). A biblioteca está disponível com o código fonte e os executáveis (binários) otimizados para os processadores Intel. Um programa OpenCV, ao ser executado, invoca automaticamente uma DLL (Dynamic Linked Library) que detecta o tipo de processador e chama em tempo de execução a DLL apropriada. Se o processador ou DLL não puderem ser determinados, será carregada uma DLL otimizada em Código C. Juntamente com o pacote OpenCV é oferecida a biblioteca IPL (Image Processing Library), da qual a OpenCV depende parcialmente, além de documentação e um conjunto de códigos exemplos (DR. DOOB’S, 2013). OpenCv Dev Team (2013), OpenCV tem uma estrutura modular, o que significa que o pacote inclui várias bibliotecas compartilhadas ou estáticas. Os seguintes módulos estão disponíveis: Núcleo - um módulo compacto definição de estruturas de dados básicos, incluindo arrays multidimensionais mat e funções básicas utilizadas por todos os outros módulos (OPENCV DEV TEAM, 2013). Imgproc - um módulo de processamento de imagem, que inclui filtragem de imagens lineares e não-lineares, transformações geométricas de imagens 23 (redimensionar, remapeamento genérico baseado em tabela), conversão de espaço de cores, histogramas (OPENCV DEV TEAM, 2013). Vídeo - um módulo de análise de vídeo, que inclui a estimativa de movimento, subtração de fundo, e os algoritmos de rastreamento de objetos (OPENCV DEV TEAM, 2013). calib3d - algoritmos básicos de multi-visão geométrica, calibração simples e estéreo de câmera, postura de objeto, algoritmos de correspondência estéreo e elementos de reconstrução 3D (OPENCV DEV TEAM, 2013). features2d - detectores de importantes recursos, descritores e descritores equivalentes (OPENCV DEV TEAM, 2013). Objdetect - detecção de objetos e instâncias das classes pré-definidas (por exemplo, rostos, olhos, canecas, pessoas, carros, e assim por diante) (OPENCV DEV TEAM, 2013). Highgui - uma ferramenta de fácil uso para captura de vídeo, imagem e vídeo codecs, também capacidades de interface do usuário simples (OPENCV DEV TEAM, 2013). Gpu - algoritmos acelerados por GPU de diferentes módulos do OpenCV (OPENCV DEV TEAM, 2013). ... alguns outros módulos auxiliares, tais como flann e pacote de teste do Google, ligações Python, entre outros (OPENCV DEV TEAM, 2013). 24 2.6.2 C / C ++ A linguagem C ++, que tem algumas melhorias em relação a C, sua antecessora. Esta linguagem foi escolhida por que tem uma melhor integração com a biblioteca OpenCV. A linguagem C foi inventada e implementada primeiramente por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema operacional UNIX. C é o resultado de um processo de desenvolvimento que começou com uma linguagem mais antiga, chamada BCPL, que ainda está em uso, em sua forma original, na Europa. BCPL foi desenvolvida por Martin Richards e influenciou uma linguagem chamada B, inventada por Ken Thompson. Na década de 1970, B levou ao desenvolvimento de C (SCHILDT, 1996). Por muitos anos, de fato, o padrão para C foi a versão fornecida com o sistema operacional UNIX versão 5. Ele é descrito em The C Programing Language, de Brian Kernighan e Dennis Richie (Englewood Cliffs, N.J.: Prentice Hall, 1978). Com a popularidade dos microcomputadores, um grande número de implementações de C foi criado. Os códigos-fonte aceitos por essas implementações eram altamente compatíveis. (Isto é, um programa escrito com um deles podia normalmente ser compilado com sucesso usando-se um outro.) Porem, por não existir nenhum padrão, havia discrepâncias. Para remediar essa situação, o ANSI (American National Standart Institute) estabeleceu, no verão de 1983, um comitê para criar um padrão que definiria de uma vez por todas a linguagem C (SCHILDT, 1996). C ++ é uma versão estendida e melhorada de C que é projetada para suportar programação orientada a objetos (OOP, do inglês Object Oriented Programming). C++ suporta toda a linguagem C e mais um conjunto de extensões orientadas a objetos. (Ou seja, C ++ é um superconjunto de C.) Como C ++ é construída sobre os fundamentos de C, você pode programar em C ++ se não entender C (SCHILDT, 1996). 2.6.3 VISUAL STUDIO 2012 O Visual Studio é um conjunto abrangente de ferramentas para criação de aplicativos, para a plataforma Microsoft. Suportando diversas linguagens como C#, C++, C, Java, Visual 25 Basic, e pode ser usado para testar e depurando um aplicativo HTML/JavaScript (VISUAL STUDIO). 26 3 DESENVOLVIMENTO 3.1 INSTALAÇÃO DAS FERRAMENTAS A primeira instalação das ferramentas foi feita no Sistema operacional Linux, Ubuntu versão 13.04. Foram instalados, a IDE Eclipse Juno, e nela instalado o plug-in de suporte para desenvolvimento C++, o compilador C++ funcionou perfeitamente junto ao Eclipse. Posteriormente foi feito o download da biblioteca OpenCV versão 2.4.4, a versão mais recente até a data. Ocorreram alguns problemas durante a instalação, porém após pesquisar a documentação do OpenCV foi encontrado um explicativo passo-a-passo, assim a instalação da biblioteca ocorreu sem problemas. Com a biblioteca instalada foi feia a criação de um novo projeto C++ no Eclipse, neste projeto seria necessário a configuração dos paths da nova biblioteca para que ela pudesse ser usada, esta configuração também está presente na documentação, porem mesmo seguindo todos os passos da configuração ao tentar rodar um exemplo a IDE não podia achar arquivos da biblioteca necessários para o funcionamento correto o erro segui na Figura 2, foram feitas várias pesquisas no entanto o problema não pode ser corrigido. Figura 2 - Erro de compilação eclipse Logo foi testada a compilação do código via terminal, já que o problema poderia ser com a integração das IDE Eclipse e biblioteca OpenCV. Foi utilizado o método CMake como mostra a Figura 3: 27 Figura 3 - Código do arquivo CMake No entanto mesmo usando a compilação via terminal, os erros continuaram como mostra a Figura 4: Figura 4 - Erro de compilção CMake Como estes erros estavam prestes a atrasar o cronograma do projeto foi feita então uma mudança de plataforma, para o Sistema Operacional Microsoft Windows versão 8. Foi feita a instalação da IDE Visual Studio 2013, que já está em sua versão final, que já tem o compilador C++ integrado. Foi feito o download da biblioteca OpenCV 2.4.4, para a plataforma Windows, e posteriormente sua instalação. Foi então criado um novo projeto C++, e feita a configuração da biblioteca para adicionar seus paths ao projeto. Com IDE biblioteca e projeto configurados foi feito o teste usando o código de exemplo contido na documentação da biblioteca, que funcionou perfeitamente. Então essa plataforma foi utilizada para o desenvolvimento do software de Reconhecimento de Faces. 28 3.2 CAPTURA DAS IMAGENS Para o desenvolvimento do software e posteriores testes foi necessário um banco de imagens de salas de aula, que foram obtidas, com a captura de imagens das salas da Faculdade de Balsas – Unibalsas. Este banco de imagens trata-se de um repositório onde as imagens em arquivos foram armazenadas. Para a captura das imagens algumas salas foram visitadas e com o consentimento dos professores e alunos as imagens foram capturadas, sempre pedindo para que todos os alunos permanecessem olhando para a câmera para que suas faces ficassem bem visíveis, embora alguns tenham virado o rosto durante a captura das imagens. Todas as imagens foram tiradas utilizando uma câmera de celular de 5 megapixels, pois o intuito é que as imagens seja capturadas com aparelhos simples que um professor por exemplo poderia possuir em sala de aula. Após tirar fotos das salas de aula de ângulos diferentes foi estabelecido a melhor forma para aquisição das imagem, que serão utilizadas para montagem do banco de imagens, e testes do software que será desenvolvido. Os primeiros testes forma feitos tirando fotos frontais da sala de aula como mostra a figura 5, porém não foi conseguida uma cobertura satisfatória da sala de aula. Figura 5 - Foto tirada do ângulo central da sala de aula. 29 Posteriormente as imagens foram tiras de 2 pontos da sala de aula, porem também não se obteve uma boa cobertura como mostra a figura 6. Figura 6 - Fotos tiradas de 2 pontos da sala de aula. E por fim foram tiradas três fotos da sala de aula como mostra a figura 7, onde se obteve uma cobertura de todos os alunos da sala de aula, sendo assim o método escolhido para a aquisição das imagens. Figura 7 - Fotos tiradas de 3 pontos da sala de aula. As figuras 8, 9 e 10, são exemplos de imagens tiradas nas salas de aula que fazem parte do banco de imagens que foi criado. 30 Figura 8 - Captura da área central da sala de aula. Figura 9 - Captura da área direita da sala de aula. 31 Figura 10 - Captura da área esquerda da sala de aula. Dessa forma cada sala é composta por 3 imagens, para esse banco foram capturadas 90 imagens que resultaram em 29 salas, 1 sala a menos por que algumas imagens foram desconsideradas, já que não cobriam a área correta da sala. A Figura 11 a seguir mostra um exemplo de sala de aula completa. Figura 11 – Imagem da sala de aula completa. 32 3.3 DESENVOLVIMENTO DO SOFTWARE O software foi desenvolvido na plataforma Desktop, programação estruturada, utilizando a linguagem C++, com o objetivo de ter uma alta cobertura, para que possa reconhecer o maior número de faces na sala de aula, ele faz uma varredura na imagem ou vídeo movendo uma matriz por todo o espaço da imagem digital, e dentro dessa matriz é feito o teste de reconhecimento de faces, todas as faces reconhecidas são guardadas dentro de um vetor, todas as faces contidas no vetor são escritas em um diretório especificado no código. Todas as imagens contidas no banco de imagens passaram pelo processo de reconhecimento 7 vezes, com parametrizações diferentes, para que se pudesse analisar os resultados obtidos chegando a configuração que geraria a maior cobertura. Para que se possa utilizar as funções da biblioteca OpenCV é necessário fazer os includes no código como mostra a Figura 12 a seguir: Figura 12 - Include das bibliotecas necessárias E para que seja possível utilizar a função de reconhecimento é preciso informar o nome do arquivo xml que contém os padrões de treinamento para reconhecimento de faces que se encontra do diretório do projeto, Figura 13 e depois carrega-lo Figura 14: Figura 13 - Declaração da variável para receber os XML de padrões 33 Figura 14 - Carregamento do XML de padrões Logo depois é feita a leitura do diretório do banco de imagens, e feito um laço de repetição para que todas as imagens sejam enviadas para a função de reconhecimento detectAndisplay, Figura 15: Figura 15 - Envio das Imagens para a Função de reconhecimento A função detectAndDisplay transforma a imagem para tom cinza para que a variação de iluminação das imagens não interfira no desempenho do software, logo depois a imagem contida na matriz frame_gray é enviada para a função detectMultiScale para que as faces sejam reconhecidas como mostra a Figura 16: 34 Figura 16 - Função detectMultiScale A função detectMultiScale é a responsável pelo reconhecimento das faces e os testes foram feitos a partir da variação de seus parâmetros que são: image - Matrix que contem a Imagem. objects – Vetor onde são armazenadas as faces encontradas. scaleFactor - Escala de redução da imagem, que implicará no tamanho da matriz de reconhecimento. Já que os padrões do rosto são dados em relação a escala da imagem. minNeighbors - Número mínimo de vizinhos para que a face seja válida. minSize – Tamanho mínimo do objeto no caso a face. Nos teste os parâmetros alterados foram scaleFactor e minNeighbors, o minSize, foi passado com tamanho 1x1 porque a função cobre todas as matrizes de tamanho maior ou igual ao tamanho informado. O scaleFactor tem seu valor mínimo como 1.1, os testes foram feitos com a variação do seu valor mínimo 1.1 até 1.5, está escala se refere a variação da escala da matriz menor que irá percorrer a matriz da imagem da sala, e quando esta matriz menor encontra os conjunto de padrões igual aos do arquivo XML e então encontra uma face, como nas imagens de sala de aula existem faces com escalas diferentes, os alunos situados nas primeiras cadeiras tem faces de escala maior e os das últimas cadeiras tem escala menor, por isso foram feitos testes com a variação desta escala, para que se encontrasse um valor mediano onde a função conseguiria reconhecer faces em todo o espaço da imagem. O minNeighbors tem valor mínimo como 1 e máximo 3, foi alterado duas vezes para cada valor de scaleFactor, sendo que para cada escala seu valor recebeu 1 e depois 3, este parâmetro faz com que a função erre mais ou menos, com valor 1 ele aceita que uma 35 vizinhança tenha apenas um padrão, por exemplo que dentro da vizinhança seja encontrado só um par de olhos, mas não nariz e boca. Já o valor 3 requer que a vizinhança tenha 3 padrões para que seja válida, ou seja torna a função mais criteriosa, como mostra a Tabela 1: Tabela 1 - Variação do minNeighbors Depois de ter as imagens reconhecidas armazenadas dentro de um vetor, elas são gravadas no diretório que foi anteriormente atribuído a uma variável global. Presente nos Apêndices 1, 2, 3 o código completo do software. 3.4 ANÁLISE DOS RESULTADOS 3.4.1 CONTAGEM INICIAL DAS FACES Todas as imagens do banco de imagens foram analisadas e foram contados quantas faces visíveis cada uma delas tinha, e essa quantidade foi guardada em uma planilha, junto com o nome de cada imagem, para que fosse possível fazer a comparação entre a quantidade de faces real e a quantidade de faces reconhecidas pelo software. Para essa planilha inicial fora considerados apenas as faces que estavam com a face direcionada para a câmera, já que o software não reconhece faces de perfil, como mostra na Figura 17, as faces reconhecidas pelo software. 36 Figura 17 - Faces reconhecidas Já na Figura 18 podemos ver que os rostos abaixados ou de perfil não foram reconhecidos. Figura 18 - Faces não reconhecidas 37 E o fato de as faces serem reconhecidas apenas frontalmente é explicado pelos padrões contidos no arquivo XML haarcascade_frontalface_alt.xml, que são padrões frontais de faces. 3.4.2 ANÁLISE DOS RESULTADOS FINAIS Na execução do software as faces contidas em cada imagem foram salvas em subpastas de um diretório com o nome da imagem de origem, esse processo foi feito 7 vezes, com cada uma das configurações citadas na Tabela 2. Depois de todos os resultados já estarem gerados, foi feita a contagem das faces reconhecidas, erros e faces reconhecidas repetidamente em cada imagem, esses resultados foram guardados em planilhas junto ao nome de cada imagem e a quantidade de faces visíveis reais em cada imagem, Tabela 2, abaixo. Os apêndices 4 a 24 mostram as tabelas completas. Tabela 2 - Exemplo de tabela com os dados do reconhecimento A figura 19 mostra o gráfico com os valores da quantidade de faces, quantidade de faces reconhecidas, erros, e repetições. Nele pode se notar de forma mais nítida os resultado do software. Nesse gráfico o software estava utilizando a configuração scaleFactor = 1.1, 38 minNeighbors = 1, que não gerou muitas repetições, porém cometeu vários erros, esse são algumas partes da imagem que ele reconheceu como faces mas na verdade eram qualquer outro objeto, como uma garrafa de agua, uma sombra, ou uma parte da cadeira por exemplo, como o minNeighbors utilizado era com valor 1, qualquer padrão encontrado dentro da imagem seria reconhecido como uma face, apesar de essa configuração ter um percentual de acerto considerável, como mostra o gráfico, ela mostra também vários erros. Pode-se notas na imagem IMG_0275, no gráfico uma baixa taxa de reconhecimento, e isso é explicado pela próprio imagem que se encontra muito tremida, já na imagem IMG_0435 nota-se que a quantidade de faces reconhecidas foi a mesma de imagens existentes na foto, já que a imagem original tinha boa qualidade. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Figura 19 - Gráfico dos dados do reconhecimento de faces Após todas as faces estarem contabilizadas foram feitos os cálculos estatísticos de Cobertura, Precisão, Medida-F, e o teste T-Pareado. Cobertura: 𝐹𝑎𝑐𝑒𝑠 𝑟𝑒𝑐𝑜𝑛ℎ𝑒𝑐𝑖𝑑𝑎𝑠+𝐹𝑎𝑐𝑒𝑠 𝑅𝑒𝑝𝑒𝑡𝑖𝑑𝑎𝑠 𝐹𝑎𝑐𝑒𝑠 + 𝐸𝑟𝑟𝑜𝑠 * 100 39 Nesse caso a cobertura mostrará o percentual de faces verdadeiras que o software conseguiu reconhecer levando em consideração além da quantidade real o erro cometidos ao capturar objetos que não eram faces. Precisão: 𝐹𝑎𝑐𝑒𝑠 𝑟𝑒𝑐𝑜𝑛ℎ𝑒𝑐𝑖𝑑𝑎𝑠+𝐹𝑎𝑐𝑒𝑠 𝑅𝑒𝑝𝑒𝑡𝑖𝑑𝑎𝑠 𝐹𝑎𝑐𝑒𝑠 * 100 Já a precisão irá mostrar o percentual de acertos do software em mostrar faces verdadeiras. Medida-F: 2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 ∗ 𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 + 𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎 ∗ 100 A medida-F ou Média Harmônica mede a eficiência do software considerando os valores de cobertura e precisão. Dessa forma para que o software seja mais eficiente é necessário que tenha percentuais de Cobertura e precisão com percentuais significativos. A Tabela 3 a seguir mostra um exemplo de relação de salas com seus valores estatísticos. SALA 0101 0102 0103 0104 0105 PESSOAS RECONHECIDAS ERROS REPETIDAS 49 48 7 0 51 49 4 0 51 45 5 0 61 46 0 0 60 52 2 0 PRECISÃO 111 COBERTURA 111 MÉDIA-F 98% 86% 96% 89% 88% 80% 75% 75% 87% 84% 111 91% 92% 84% 75% 85% Tabela 3 - Exemplo de valores estatísticos O teste T-Pareado, é utilizado para medir o coeficiente da diferença de duas populações, tem sua implementação através de uma fórmula presente na planilha onde os dados foram armazenados, este teste foi usado para mostrar a variação entre cada uma dos testes feitos com configurações diferentes duas a duas, tendo como base a coluna de faces reconhecidas, a Tabela 4 mostra essa variação em números, quanto menor o valor, melhor será a segunda população em relação a primeira. 40 Tabela 4 - Relação de populações e teste T-Pareado E na Figura 20 temos o gráfico mostrando essa oscilação. No gráfico pode-se visualizar melhor a diferença dos valores, onde as populações121, 151, 151 não tem tanta vantagem em relação as populações 113, 123, 141 respectivamente. 41 T-PAREADO 143-151 141-151 141-143 123-151 123-143 123-141 121-151 121-143 121-141 121-123 113-151 113-143 113-141 113-123 113-121 111-151 111-143 111-141 111-123 111-121 111-113 T-PAREADO Figura 20 - Gráfico do teste T-Pareado Os gráficos contidos nas Figura 23, 24 e 25 mostram respectivamente os resultados da Cobertura, Precisão e Medida-F em percentual por sala de aula, em todos eles pode se notar uma depressão na área referente as salas 0205, 0206 e 0301, isso se dá pelo fato de que as imagens das salas 0205 e 0301 se encontravam com grande quantidade de alunos com as faces viradas, abaixadas ou mesmo se encontravam atrás de um colega de classe como mostra a Figura 22, já a sala 0206 mostra um número baixo em relação as outras salas por suas fotos estarem bastante tremidas como mostra a Figura 21 42 Figura 21 – Imagem da Sala 0206 Figura 22 – Imagem das salas 0205 e 0301 respectivamente 43 GRÁFICO DE COBERTURA COBERTURA 111 COBERTURA 113 COBERTURA 121 COBERTURA 141 COBERTURA 143 COBERTURA 151 COBERTURA 123 130% 120% 110% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Figura 23 - Gráfico da Cobertura por sala GRÁFICO DE PRECISÃO PRECISÃO 111 PRECISÃO 113 PRECISÃO 121 PRECISÃO 141 PRECISÃO 143 PRECISÃO 151 140% 130% 120% 110% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Figura 24 – Gráfico da Precisão por sala PRECISÃO 123 44 MEDIDA - F MEDIDA-F 111 MEDIDA-F 113 MEDIDA-F 121 MEDIDA-F 141 MEDIDA-F 143 MEDIDA-F 151 MEDIDA-F 123 140% 130% 120% 110% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Figura 25 – Gráfico da Medida-F por sala Já nas imagens das salas 0101 e 0102 por exemplo pode se notar nos gráficos um alto percentual de reconhecimento, isso por que nessas salas os espaçamento e o ângulo em que os alunos estavam olhando foi propicio como mostra a Figura 26. Pode se notar também nos gráficos que em algumas salas o percentual passa de 100%, isso porque nessas configurações algumas faces foram reconhecidas mais de uma vez, o que é considerado também como acerto, já que o programa reconheceu uma face. 45 Figura 26 - Imagem da sala 0101 No decorrer do testes forma notados alguns fatos interessantes em relação aos objetos reconhecidos pelo software como por exemplo a incidência de uma garrafa de água como face nas imagens em que ela estava presente, o mesmo aconteceu com o sapato de um aluno, isso se dá por que provavelmente a função de reconhecimento localizou nesse objetos algum padrão conhecido pelo arquivo XML. Depois de analisar os gráficos estatísticos de Cobertura, Precisão e Medida-F, foi possível localizar a melhor configuração para o software, a Linha que permanece a maior parte do tempo acima das outra. Analisando principalmente o gráfico de Medida-F que é uma média da cobertura e precisão do software, pode-se notar que a linha: MEDIDA-F 141, se sobressai diante das outras configurações, o número 141, é a versão resumida da configuração: scaleFactor = 1.4, minNeighbors = 1, essa configuração conseguiu o maior número de faces reconhecida, em alguns momentos do gráfico até ultrapassando os 100%, isso devido a essa configuração ter reconhecido algumas faces mais de uma vez. Sendo essa então a melhor configuração. 46 4 CONCLUSÃO Com o conhecimento adquirido em processamento de imagens digitais, e reconhecimento de faces, foram descobertas as técnicas de cada área necessárias para o desenvolvimento do software de reconhecimento de faces no decorrer do projeto foi possível implementar um software de reconhecimento de faces utilizando a linguagem C++, juntamente com a biblioteca OpenCV, uma biblioteca C/C++, que inclui funções próprias para o processamento de imagens, e reconhecimento de objetos, tornando dessa forma o desenvolvimento do software mais objetivo. E a partir do software gerar resultados utilizando as imagens capturadas também no decorrer do projeto, resultados que foram utilizados para gerar planilhas estatísticas, e assim foi possível descobrir qual a melhor configuração para gerar uma alta cobertura de reconhecimento de faces em sala de aula, que é: scaleFactor = 1.4, minNeighbors = 1, assim conseguindo alcançar o objetivo do projeto. 47 5 REFERÊNCIAS BRADSKI, GARY; The OpenCV Library. Disponível em: < http://www.drdobbs.com/open-source/the-opencv-library/184404319?pgno=1>. Acesso em: 14 de junho de 2013. LEI DE DIRETRIZES E BASES DA EDUCAÇÃO NACIONAL (Brasil). Lei nº 9.394, de 20 de dezembro de 1996. Estabelece as leis e diretrizes da educação nacional. CONSELHO NACIONAL DE ECUCAÇÃO (Brasil). Câmara de Educação Superior, Parecer CNE/CES, n. 224/2006 de 20 de setembro de 2006. Independentemente de homologação, nos termos da Portaria/MEC nº 1.792, de 6 de novembro de 2006, publicada no D.O.U. de 7 de novembro de 2006, seção II, pág. 9 e nos termos da Síntese de Pareceres nº 1, republicada no D.O.U. de 15 de janeiro de 2007, seção I, pág. 29-30, com retificação publicada no D.O.U. de 16 de janeiro de 2007, seção I, pág. 11. GONZALEZ, R; WOODS, R. E. Digital Image Processing. 3rd ed. Prentice Hall, 2007. 976p. KRIEGMAN, DAVID J.; YANG, MING-HSUAN; AHUJA, NARENDRA; Detection Faces in Image: A Survey. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, v.24, n.1, January 2002. MANCHULA, A.; ARUMUGAM, S; Robust Facial Data Recognition using Multimodal Fusion Features in Multi-Variant Face Acquisition. International Journal of Computer Applications (0975 – 8887). v. 64, n. 11, fevereiro 2013. 48 MARENGONI, RODRIGO; STRINGHINI, DENISE; Tutorial: Introdução a Visão Computacional usando OpenCV, Rio Grande do Sul. RITA, v.16, n.1, 2009. MARQUES FILHO, Ogê; VIEIRA NETO, Hugo. Processamento Digital de Imagens. Rio de Janeiro: Brasport, 1999, 307p. OPENCV DEV. TEAM; OpenCv 2.4.5.0 documentation. Disponível em: < http://docs.opencv.org/modules/refman.html>. Acesso em: 7 de junho de 2013. PENHARBEL A. ÉDER; WUTZKE, L. G. ERDIANE; SILVA, DOS S. MURILO; BIANCHI A. C. REINALDO; E-Faces – Um classificador capaz de analizar imagens e classifica-las como faces ou não faces utilizando o método Eigenfaces, São Paulo, Centro Universitário da FEI – UNIFEI, Departamento de Ciência da Computação, 2005. RODRIGUES, O. DOUGLAS. Reconhecimento de faces usando redes neurais e biometria. 2003. 166f. Monografia (Pós-Graduação em Computação Aplicada) – Instituto Nacional de Pesquisas Espaciais (INPE), 2003. SCHILDT, HERBERT. C Completo e Total. 3rd Ed. São Paulo: MAKRON Books Ltda. 1996. 810p. SHAN, SHIGUANG; CAO, BO; ZHAO, DEBIN; Extended fisherface for face feocognition from a single example image per person, IEEE Internacional Symposium on Circuits and Systems, v.2, may 2002. SMITH, LINDSAY, I. A Tutorial on Principal Components Analysis, USA, Cornell Iniversity, 2002. 49 VISUAL STUDIO; Desenvolvimento de Aplicativos. Disponível <http://www.visualstudio.com/pt-br>. Acesso em: 10 de novembro de 2013. em: 50 6 APÊNDICES Apêndice 1 - Código completo I 51 Apêndice 2 - Código completo II 52 Apêndice 3 - Código completo III 53 SALA PESSOAS RECONHECIDAS ERROS 0101 49 48 7 0102 51 49 4 0103 51 45 5 0104 61 46 0 0105 60 52 2 0106 65 56 1 0201 50 43 19 0202 48 43 14 0203 53 48 7 0204 46 36 7 0205 46 45 7 0206 58 34 11 0301 48 44 10 0302 48 42 5 0303 43 42 5 0304 46 46 6 0305 44 42 11 0306 41 41 7 0307 35 31 11 0401 69 66 8 0402 68 64 12 0403 70 70 12 0404 67 65 12 0405 68 65 13 0406 68 64 13 0407 67 64 12 0408 67 60 15 0409 69 64 11 0410 73 60 10 TOTAIS 1629 PRECISÃO 91% COBERTURA 79% MEDIA-F 84% T-PAREADO6,49E-06 1475 257 REPETIDAS PRECISÃO 111 COBERTURA 111 MEDIDA-F 111 0 98% 86% 91% 0 96% 89% 92% 0 88% 80% 84% 0 75% 75% 75% 0 87% 84% 85% 0 86% 85% 85% 0 86% 62% 72% 0 90% 69% 78% 0 91% 80% 85% 0 78% 68% 73% 0 98% 85% 91% 0 59% 49% 54% 0 92% 76% 83% 0 88% 79% 83% 0 98% 88% 92% 0 100% 88% 94% 0 95% 76% 85% 0 100% 85% 92% 0 89% 67% 77% 0 96% 86% 90% 0 94% 80% 86% 0 100% 85% 92% 1 99% 84% 90% 0 96% 80% 87% 1 96% 80% 87% 1 97% 82% 89% 2 93% 76% 83% 3 97% 84% 90% 0 82% 72% 77% 8 Apêndice 4 - Análise de salas com ScaleFactor = 1.1, minNeighbors = 1. 54 SALA PESSOAS RECONHECIDAS ERROS 0101 49 48 4 0102 51 48 0 0103 51 43 1 0104 61 42 0 0105 60 49 0 0106 65 52 0 0201 50 42 1 0202 48 40 1 0203 53 48 0 0204 46 35 1 0205 46 40 0 0206 58 30 3 0301 48 40 0 0302 48 39 0 0303 43 39 0 0304 46 42 0 0305 44 41 1 0306 41 40 1 0307 35 30 1 0401 69 64 1 0402 68 64 2 0403 70 67 1 0404 67 66 3 0405 68 64 1 0406 68 53 0 0407 67 63 2 0408 67 59 2 0409 69 62 0 0410 73 53 0 TOTAIS 1629 PRECISÃO 86% COBERTURA 85% MEDIA-F 85% T-PAREADO2,67E-07 1403 26 REPETIDAS PRECISÃO 113 COBERTURA 113 MEDIDA-F 113 0 98% 91% 94% 0 94% 94% 94% 0 84% 83% 83% 0 69% 69% 69% 0 82% 82% 82% 0 80% 80% 80% 0 84% 82% 83% 0 83% 82% 82% 0 91% 91% 91% 0 76% 74% 75% 0 87% 87% 87% 0 52% 49% 50% 0 83% 83% 83% 0 81% 81% 81% 0 91% 91% 91% 0 91% 91% 91% 0 93% 91% 92% 0 98% 95% 96% 0 86% 83% 85% 0 93% 91% 92% 0 94% 91% 93% 0 96% 94% 95% 0 99% 94% 96% 0 94% 93% 93% 0 78% 78% 78% 0 94% 91% 93% 0 88% 86% 87% 0 90% 90% 90% 0 73% 73% 73% 0 Apêndice 5 - Análise de salas com ScaleFactor = 1.1, minNeighbors = 3. 55 SALA 0101 0102 0103 0104 0105 0106 0201 0202 0203 0204 0205 0206 0301 0302 0303 0304 0305 0306 0307 0401 0402 0403 0404 0405 0406 0407 0408 0409 0410 PESSOAS RECONHECIDAS ERROS REPETIDAS PRECISÃO 121 COBERTURA 121 MEDIDA-F 121 49 47 6 0 96% 85% 90% 51 48 1 0 94% 92% 93% 51 43 2 0 84% 81% 83% 61 44 0 0 72% 72% 72% 60 51 0 0 85% 85% 85% 65 56 0 0 86% 86% 86% 50 41 10 0 82% 68% 75% 48 42 3 0 88% 82% 85% 53 48 5 0 91% 83% 86% 46 37 6 0 80% 71% 76% 46 40 2 0 87% 83% 85% 58 29 0 0 50% 50% 50% 48 43 5 0 90% 81% 85% 48 41 3 0 85% 80% 83% 43 42 8 0 98% 82% 89% 46 41 3 0 89% 84% 86% 44 40 5 0 91% 82% 86% 41 40 4 0 98% 89% 93% 35 32 6 0 91% 78% 84% 69 63 5 0 91% 85% 88% 68 64 6 1 96% 88% 92% 70 68 7 3 101% 92% 97% 67 65 6 0 97% 89% 93% 68 63 2 0 93% 90% 91% 68 64 6 1 96% 88% 92% 67 62 6 0 93% 85% 89% 67 62 5 0 93% 86% 89% 69 64 2 0 93% 90% 91% 73 58 4 1 81% 77% 79% TOTAIS 1629 PRECISÃO 89% COBERTURA 83% MEDIA-F 86% T-PAREADO8,97E-07 1438 118 6 Apêndice 6 - Análise de salas com ScaleFactor = 1.2, minNeighbors = 1. 56 SALA 0101 0102 0103 0104 0105 0106 0201 0202 0203 0204 0205 0206 0301 0302 0303 0304 0305 0306 0307 0401 0402 0403 0404 0405 0406 0407 0408 0409 0410 TOTAIS PRECISÃO COBERTURA MEDIA-F T-PAREADO PESSOAS RECONHECIDAS ERROS REPETIDAS PRECISÃO 123 COBERTURA 123 MEDIDA-F 123 49 46 0 0 94% 94% 94% 51 45 0 0 88% 88% 88% 51 40 0 0 78% 78% 78% 61 40 0 0 66% 66% 66% 60 47 0 0 78% 78% 78% 65 50 0 0 77% 77% 77% 50 36 1 0 72% 71% 71% 48 38 0 0 79% 79% 79% 53 44 0 0 83% 83% 83% 46 34 2 0 74% 71% 72% 46 36 0 0 78% 78% 78% 58 26 0 0 45% 45% 45% 48 36 1 0 75% 73% 74% 48 38 0 0 79% 79% 79% 43 37 0 0 86% 86% 86% 46 39 1 0 85% 83% 84% 44 37 0 0 84% 84% 84% 41 37 0 0 90% 90% 90% 35 30 2 0 86% 81% 83% 69 63 0 0 91% 91% 91% 68 62 0 0 91% 91% 91% 70 63 0 0 90% 90% 90% 67 63 0 0 94% 94% 94% 68 60 0 0 88% 88% 88% 68 61 0 0 90% 90% 90% 67 60 0 0 90% 90% 90% 67 57 1 0 85% 84% 84% 69 59 0 0 86% 86% 86% 73 47 0 0 64% 64% 64% 1629 82% 81% 82% 2,82867E-09 1331 8 0 Apêndice 7 - Análise de salas com ScaleFactor = 1.2, minNeighbors = 3. 57 SALA PESSOAS RECONHECIDAS ERROS 0101 49 46 2 0102 51 43 0 0103 51 39 2 0104 61 38 1 0105 60 39 1 0106 65 46 0 0201 50 33 4 0202 48 37 2 0203 53 42 1 0204 46 32 1 0205 46 36 0 0206 58 20 2 0301 48 36 1 0302 48 36 2 0303 43 36 1 0304 46 38 2 0305 44 36 4 0306 41 35 1 0307 35 27 0 0401 69 58 1 0402 68 61 2 0403 70 60 1 0404 67 61 1 0405 68 59 1 0406 68 57 1 0407 67 54 1 0408 67 51 4 0409 69 55 1 0410 73 46 1 TOTAIS 1629 PRECISÃO 96% COBERTURA 93% MEDIA-F 94% T-PAREADO2,73E-10 1257 41 REPETIDAS PRECISÃO 141 COBERTURA 141 MEDIDA-F 141 17 129% 124% 126% 17 118% 118% 118% 15 106% 102% 104% 8 75% 74% 75% 7 77% 75% 76% 11 88% 88% 88% 9 84% 78% 81% 7 92% 88% 90% 9 96% 94% 95% 7 85% 83% 84% 6 91% 91% 91% 2 38% 37% 37% 8 92% 90% 91% 8 92% 88% 90% 8 102% 100% 101% 8 100% 96% 98% 7 98% 90% 93% 8 105% 102% 104% 6 94% 94% 94% 16 107% 106% 106% 18 116% 113% 114% 12 103% 101% 102% 16 115% 113% 114% 13 106% 104% 105% 17 109% 107% 108% 14 101% 100% 101% 10 91% 86% 88% 10 94% 93% 94% 6 71% 70% 71% 300 Apêndice 8 - Análise de salas com ScaleFactor = 1.4, minNeighbors = 1. 58 SALA PESSOAS RECONHECIDAS ERROS 0101 49 39 0 0102 51 39 0 0103 51 35 0 0104 61 32 0 0105 60 33 0 0106 65 38 0 0201 50 27 0 0202 48 34 0 0203 53 33 0 0204 46 29 0 0205 46 28 0 0206 58 14 0 0301 48 27 0 0302 48 27 0 0303 43 33 0 0304 46 30 0 0305 44 29 0 0306 41 26 0 0307 35 23 0 0401 69 47 0 0402 68 47 0 0403 70 45 0 0404 67 45 0 0405 68 44 0 0406 68 44 1 0407 67 44 0 0408 67 38 0 0409 69 37 0 0410 73 35 0 TOTAIS 1629 PRECISÃO 72% COBERTURA 72% MEDIA-F 72% T-PAREADO 1,21E-14 1002 1 REPETIDAS PRECISÃO 143 COBERTURA 143 MEDIDA-F 143 11 102% 102% 102% 9 94% 94% 94% 9 86% 86% 86% 5 61% 61% 61% 4 62% 62% 62% 6 68% 68% 68% 5 64% 64% 64% 6 83% 83% 83% 5 72% 72% 72% 3 70% 70% 70% 4 70% 70% 70% 0 24% 24% 24% 7 71% 71% 71% 8 73% 73% 73% 6 91% 91% 91% 5 76% 76% 76% 5 77% 77% 77% 6 78% 78% 78% 4 77% 77% 77% 11 84% 84% 84% 8 81% 81% 81% 8 76% 76% 76% 9 81% 81% 81% 5 72% 72% 72% 6 74% 72% 73% 6 75% 75% 75% 6 66% 66% 66% 4 59% 59% 59% 4 53% 53% 53% 175 Apêndice 9 - Análise de salas com ScaleFactor = 1.4, minNeighbors = 3. 59 SALA 0101 0102 0103 0104 0105 0106 0201 0202 0203 0204 0205 0206 0301 0302 0303 0304 0305 0306 0307 0401 0402 0403 0404 0405 0406 0407 0408 0409 0410 PESSOAS RECONHECIDAS ERROS REPETIDAS PRECISÃO 151 COBERTURA MEDIDA-F 151 151 49 38 4 9 96% 89% 92% 51 37 1 13 98% 96% 97% 51 44 0 13 112% 112% 112% 61 30 0 12 69% 69% 69% 60 43 0 7 83% 83% 83% 65 43 0 10 82% 82% 82% 50 39 3 5 88% 83% 85% 48 42 4 4 96% 88% 92% 53 45 0 5 94% 94% 94% 46 34 1 6 87% 85% 86% 46 39 1 2 89% 87% 88% 58 21 3 0 36% 34% 35% 48 39 3 6 94% 88% 91% 48 38 0 6 92% 92% 92% 43 35 1 6 95% 93% 94% 46 38 0 5 93% 93% 93% 44 37 2 5 95% 91% 93% 41 37 0 7 107% 107% 107% 35 27 1 3 86% 83% 85% 69 60 1 10 101% 100% 101% 68 62 2 11 107% 104% 106% 70 61 4 12 104% 99% 101% 67 62 2 11 109% 106% 107% 68 61 1 8 101% 100% 101% 68 61 4 10 104% 99% 101% 67 59 1 9 101% 100% 101% 67 55 1 12 100% 99% 99% 69 56 2 10 96% 93% 94% 73 49 2 9 79% 77% 78% TOTAIS 1629 PRECISÃO 93% COBERTURA 91% MEDIA-F 92% T-PAREADO 8,45E-09 1292 44 226 Apêndice 10 - Análise de salas com ScaleFactor = 1.5, minNeighbors = 1. 60 face_cascade.detectMultiScale( frame_gray, faces, 1.1, 1, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % SITUAÇÃO DA IMAGEM IMG_0274 27 26 1 0 96,296 NORMAL IMG_0275 29 8 1 0 27,586 TREMIDA IMG_0276 29 25 1 0 86,207 NORMAL IMG_0277 38 30 0 0 78,947 NORMAL IMG_0278 31 27 1 0 87,097 NORMAL IMG_0279 28 17 0 0 60,714 TREMIDA IMG_0280 33 29 0 0 87,879 NORMAL IMG_0281 22 22 6 0 100,000 NORMAL IMG_0282 24 23 3 0 95,833 NORMAL IMG_0283 23 21 3 0 91,304 TREMIDA LEVE IMG_0284 15 14 0 0 93,333 NORMAL IMG_0285 15 14 0 0 93,333 TREMIDA LEVE IMG_0286 15 14 1 0 93,333 NORMAL IMG_0287 12 12 1 0 100,000 TREMIDA LEVE IMG_0288 12 12 1 0 100,000 NORMAL IMG_0289 13 10 1 0 76,923 TREMIDA IMG_0380 19 10 4 0 52,632 TREMIDA IMG_0381 19 11 3 0 57,895 TREMIDA IMG_0382 20 13 4 0 65,000 TREMIDA IMG_0383 14 10 7 0 71,429 NORMAL IMG_0384 12 11 3 0 91,667 TREMIDA LEVE IMG_0385 15 14 2 0 93,333 NORMAL IMG_0386 25 24 5 0 96,000 TREMIDA LEVE IMG_0387 24 23 5 0 95,833 NORMAL IMG_0388 26 25 2 0 96,154 NORMAL IMG_0389 11 9 7 0 81,818 NORMAL IMG_0390 12 9 6 0 75,000 NORMAL IMG_0391 12 9 3 0 75,000 TREMIDA LEVE IMG_0392 12 10 3 0 83,333 TREMIDA LEVE IMG_0393 11 10 2 0 90,909 NORMAL IMG_0394 20 17 2 0 85,000 NORMAL IMG_0395 23 22 3 0 95,652 NORMAL IMG_0396 14 9 2 0 64,286 NORMAL IMG_0397 12 13 2 0 108,333 NORMAL IMG_0398 16 17 5 0 106,250 NORMAL IMG_0399 15 14 4 0 93,333 NORMAL IMG_0400 13 12 2 0 92,308 NORMAL IMG_0401 13 11 1 0 84,615 TREMIDA LEVE IMG_0402 14 14 0 0 100,000 NORMAL IMG_0403 14 14 1 0 100,000 NORMAL IMG_0404 14 14 3 0 100,000 NORMAL IMG_0405 14 14 2 0 100,000 NORMAL IMG_0406 22 16 4 0 72,727 TREMIDA IMG_0407 23 20 5 0 86,957 NORMAL IMG_0408 22 18 3 0 81,818 NORMAL IMG_0409 16 15 4 0 93,750 NORMAL IMG_0410 17 13 3 0 76,471 TREMIDA IMG_0411 19 19 1 0 100,000 TREMIDA LEVE IMG_0412 17 16 4 0 94,118 NORMAL IMG_0413 14 12 5 0 85,714 NORMAL IMG_0414 15 15 3 0 100,000 NORMAL IMG_0415 10 9 4 0 90,000 NORMAL IMG_0416 11 10 2 0 90,909 NORMAL IMG_0417 12 12 3 0 100,000 NORMAL IMG_0418 13 13 1 0 100,000 NORMAL IMG_0419 13 13 1 0 100,000 NORMAL IMG_0420 13 13 4 0 100,000 NORMAL IMG_0421 13 12 4 0 92,308 NORMAL IMG_0422 12 12 2 0 100,000 NORMAL IMG_0423 18 18 2 0 100,000 NORMAL IMG_0424 16 16 3 0 100,000 NORMAL IMG_0425 18 18 5 0 100,000 NORMAL IMG_0426 17 16 2 0 94,118 NORMAL 61 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 20 20 21 22 21 22 24 28 25 25 26 31 30 24 32 30 17 18 20 19 19 16 20 19 20 20 21 16 20 22 3 2 4 2 2 4 7 3 4 4 2 2 3 6 8 6 6 5 10 4 6 2 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 2 1 1 1 0 0 1 80,000 93,333 89,286 83,333 89,655 100,000 93,750 80,000 100,000 96,774 85,000 90,000 100,000 100,000 100,000 88,889 105,263 100,000 100,000 100,000 100,000 72,727 95,238 100,000 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL TREMIDA NORMAL NORMAL Apêndice 11 - Análise das imagens com ScaleFactor = 1.1, minNeighbors = 1. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 12 - Gráfico da configuração ScaleFactor = 1.1, minNeighbors = 1. 62 face_cascade.detectMultiScale( frame_gray, faces, 1.1, 3, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % SITUAÇÃO DA IMAGEM IMG_0274 27 25 0 0 92,593 NORMAL IMG_0275 29 6 0 0 20,690 TREMIDA IMG_0276 29 24 0 0 82,759 NORMAL IMG_0277 38 27 0 0 71,053 NORMAL IMG_0278 31 25 0 0 80,645 NORMAL IMG_0279 28 13 0 0 46,429 TREMIDA IMG_0280 33 29 0 0 87,879 NORMAL IMG_0281 22 22 3 0 100,000 NORMAL IMG_0282 24 22 0 0 91,667 NORMAL IMG_0283 23 20 0 0 86,957 TREMIDA LEVE IMG_0284 15 14 0 0 93,333 NORMAL IMG_0285 15 14 0 0 93,333 TREMIDA LEVE IMG_0286 15 14 0 0 93,333 NORMAL IMG_0287 12 12 1 0 100,000 TREMIDA LEVE IMG_0288 12 12 0 0 100,000 NORMAL IMG_0289 13 9 1 0 69,231 TREMIDA IMG_0380 19 8 2 0 42,105 TREMIDA IMG_0381 19 11 1 0 57,895 TREMIDA IMG_0382 20 11 0 0 55,000 TREMIDA IMG_0383 14 10 0 0 71,429 NORMAL IMG_0384 12 10 0 0 83,333 TREMIDA LEVE IMG_0385 15 14 0 0 93,333 NORMAL IMG_0386 25 23 0 0 92,000 TREMIDA LEVE IMG_0387 24 21 1 0 87,500 NORMAL IMG_0388 26 25 0 0 96,154 NORMAL IMG_0389 11 9 1 0 81,818 NORMAL IMG_0390 12 9 0 0 75,000 NORMAL IMG_0391 12 9 0 0 75,000 TREMIDA LEVE IMG_0392 12 9 0 0 75,000 TREMIDA LEVE IMG_0393 11 10 0 0 90,909 NORMAL IMG_0394 20 17 0 0 85,000 NORMAL IMG_0395 23 21 0 0 91,304 NORMAL IMG_0396 14 9 1 0 64,286 NORMAL IMG_0397 12 9 0 0 75,000 NORMAL IMG_0398 16 14 0 0 87,500 NORMAL IMG_0399 15 14 1 0 93,333 NORMAL IMG_0400 13 11 0 0 84,615 NORMAL IMG_0401 13 10 0 0 76,923 TREMIDA LEVE IMG_0402 14 12 0 0 85,714 NORMAL IMG_0403 14 13 0 0 92,857 NORMAL IMG_0404 14 13 0 0 92,857 NORMAL IMG_0405 14 14 0 0 100,000 NORMAL IMG_0406 22 14 0 0 63,636 TREMIDA IMG_0407 23 17 0 0 73,913 NORMAL IMG_0408 22 18 0 0 81,818 NORMAL IMG_0409 16 15 0 0 93,750 NORMAL IMG_0410 17 11 1 0 64,706 TREMIDA IMG_0411 19 17 0 0 89,474 TREMIDA LEVE IMG_0412 17 17 1 0 100,000 NORMAL IMG_0413 14 12 0 0 85,714 NORMAL IMG_0414 15 14 1 0 93,333 NORMAL IMG_0415 10 9 1 0 90,000 NORMAL IMG_0416 11 9 0 0 81,818 NORMAL IMG_0417 12 12 0 0 100,000 NORMAL IMG_0418 13 11 0 0 84,615 NORMAL IMG_0419 13 12 0 0 92,308 NORMAL IMG_0420 13 12 0 0 92,308 NORMAL IMG_0421 13 11 0 0 84,615 NORMAL IMG_0422 12 12 0 0 100,000 NORMAL IMG_0423 18 18 0 0 100,000 NORMAL IMG_0424 16 16 0 0 100,000 NORMAL IMG_0425 18 17 0 0 94,444 NORMAL IMG_0426 17 16 0 0 94,118 NORMAL 63 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 20 20 21 22 21 22 24 25 29 30 20 31 31 17 18 19 19 19 16 20 19 20 19 20 13 20 19 0 0 1 2 0 0 2 0 0 1 1 1 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 80,000 86,207 93,548 93,750 66,667 96,875 100,000 85,000 90,000 95,000 100,000 100,000 88,889 105,263 100,000 100,000 95,000 95,238 59,091 95,238 86,364 NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL TREMIDA NORMAL NORMAL Apêndice 13 - Análise das imagens com ScaleFactor = 1.1, minNeighbors = 3. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 14 - Gráfico da configuração ScaleFactor = 1.1, minNeighbors = 3. 64 face_cascade.detectMultiScale( frame_gray, faces, 1.2, 1, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % SITUAÇÃO DA IMAGEM IMG_0274 27 26 0 0 96,296 NORMAL IMG_0275 29 6 0 0 20,690 TREMIDA IMG_0276 29 24 0 0 82,759 NORMAL IMG_0277 38 30 0 0 78,947 NORMAL IMG_0278 31 27 0 0 87,097 NORMAL IMG_0279 28 15 0 0 53,571 TREMIDA IMG_0280 33 29 0 0 87,879 NORMAL IMG_0281 22 21 5 0 95,455 NORMAL IMG_0282 24 22 0 0 91,667 NORMAL IMG_0283 23 19 1 0 82,609 TREMIDA LEVE IMG_0284 15 14 0 0 93,333 NORMAL IMG_0285 15 14 0 0 93,333 TREMIDA LEVE IMG_0286 15 14 1 0 93,333 NORMAL IMG_0287 12 12 1 0 100,000 TREMIDA LEVE IMG_0288 12 12 1 0 100,000 NORMAL IMG_0289 13 10 0 0 76,923 TREMIDA IMG_0380 19 7 0 0 36,842 TREMIDA IMG_0381 19 12 0 0 63,158 TREMIDA IMG_0382 20 10 0 0 50,000 TREMIDA IMG_0383 14 9 4 0 64,286 NORMAL IMG_0384 12 10 1 0 83,333 TREMIDA LEVE IMG_0385 15 14 1 0 93,333 NORMAL IMG_0386 25 23 3 0 92,000 TREMIDA LEVE IMG_0387 24 23 1 0 95,833 NORMAL IMG_0388 26 25 1 0 96,154 NORMAL IMG_0389 11 9 3 0 81,818 NORMAL IMG_0390 12 9 1 0 75,000 NORMAL IMG_0391 12 9 3 0 75,000 TREMIDA LEVE IMG_0392 12 10 2 0 83,333 TREMIDA LEVE IMG_0393 11 10 1 0 90,909 NORMAL IMG_0394 20 18 2 0 90,000 NORMAL IMG_0395 23 21 0 0 91,304 NORMAL IMG_0396 14 9 2 0 64,286 NORMAL IMG_0397 12 9 1 0 75,000 NORMAL IMG_0398 16 16 1 0 100,000 NORMAL IMG_0399 15 13 2 0 86,667 NORMAL IMG_0400 13 12 1 0 92,308 NORMAL IMG_0401 13 11 1 0 84,615 TREMIDA LEVE IMG_0402 14 14 3 0 100,000 NORMAL IMG_0403 14 13 1 0 92,857 NORMAL IMG_0404 14 14 0 0 100,000 NORMAL IMG_0405 14 14 2 0 100,000 NORMAL IMG_0406 22 16 0 0 72,727 TREMIDA IMG_0407 23 19 3 0 82,609 NORMAL IMG_0408 22 18 2 0 81,818 NORMAL IMG_0409 16 15 3 0 93,750 NORMAL IMG_0410 17 12 3 0 70,588 TREMIDA IMG_0411 19 16 0 0 84,211 TREMIDA LEVE IMG_0412 17 16 4 0 94,118 NORMAL IMG_0413 14 12 1 0 85,714 NORMAL IMG_0414 15 14 1 0 93,333 NORMAL IMG_0415 10 9 2 0 90,000 NORMAL IMG_0416 11 11 3 0 100,000 NORMAL IMG_0417 12 12 1 0 100,000 NORMAL IMG_0418 13 12 0 0 92,308 NORMAL IMG_0419 13 13 2 0 100,000 NORMAL IMG_0420 13 12 2 0 92,308 NORMAL IMG_0421 13 10 1 0 76,923 NORMAL IMG_0422 12 12 1 0 100,000 NORMAL IMG_0423 18 17 0 0 94,444 NORMAL IMG_0424 16 16 0 0 100,000 NORMAL IMG_0425 18 18 1 0 100,000 NORMAL IMG_0426 17 16 0 0 94,118 NORMAL 65 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 19 19 18 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 18 18 18 25 27 24 25 26 30 30 22 31 30 16 18 19 19 18 17 20 19 0 0 2 0 0 2 1 5 4 4 2 1 3 1 2 5 3 2 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 94,737 94,737 100,000 83,333 90,000 85,714 83,333 89,655 96,774 93,750 73,333 96,875 96,774 80,000 90,000 95,000 100,000 94,737 94,444 105,263 100,000 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL Apêndice 15 - Análise das imagens com ScaleFactor = 1.2, minNeighbors = 1. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 16 - Gráfico da configuração ScaleFactor = 1.2, minNeighbors = 1. 66 face_cascade.detectMultiScale( frame_gray, faces, 1.2, 3, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % SITUAÇÃO DA IMAGEM IMG_0274 27 23 0 0 85,185 NORMAL IMG_0275 29 3 0 0 10,345 TREMIDA IMG_0276 29 23 0 0 79,310 NORMAL IMG_0277 38 27 0 0 71,053 NORMAL IMG_0278 31 24 0 0 77,419 NORMAL IMG_0279 28 11 0 0 39,286 TREMIDA IMG_0280 33 29 0 0 87,879 NORMAL IMG_0281 22 20 0 0 90,909 NORMAL IMG_0282 24 20 0 0 83,333 NORMAL IMG_0283 23 18 0 0 78,261 TREMIDA LEVE IMG_0284 15 14 0 0 93,333 NORMAL IMG_0285 15 13 0 0 86,667 TREMIDA LEVE IMG_0286 15 13 0 0 86,667 NORMAL IMG_0287 12 12 0 0 100,000 TREMIDA LEVE IMG_0288 12 12 0 0 100,000 NORMAL IMG_0289 13 9 0 0 69,231 TREMIDA IMG_0380 19 6 0 0 31,579 TREMIDA IMG_0381 19 11 0 0 57,895 TREMIDA IMG_0382 20 9 0 0 45,000 TREMIDA IMG_0383 14 8 0 0 57,143 NORMAL IMG_0384 12 9 0 0 75,000 TREMIDA LEVE IMG_0385 15 12 0 0 80,000 NORMAL IMG_0386 25 19 0 0 76,000 TREMIDA LEVE IMG_0387 24 20 0 0 83,333 NORMAL IMG_0388 26 23 0 0 88,462 NORMAL IMG_0389 11 9 1 0 81,818 NORMAL IMG_0390 12 9 0 0 75,000 NORMAL IMG_0391 12 9 0 0 75,000 TREMIDA LEVE IMG_0392 12 9 0 0 75,000 TREMIDA LEVE IMG_0393 11 10 0 0 90,909 NORMAL IMG_0394 20 16 0 0 80,000 NORMAL IMG_0395 23 19 0 0 82,609 NORMAL IMG_0396 14 9 2 0 64,286 NORMAL IMG_0397 12 7 0 0 58,333 NORMAL IMG_0398 16 14 0 0 87,500 NORMAL IMG_0399 15 13 0 0 86,667 NORMAL IMG_0400 13 10 1 0 76,923 NORMAL IMG_0401 13 10 0 0 76,923 TREMIDA LEVE IMG_0402 14 12 0 0 85,714 NORMAL IMG_0403 14 13 0 0 92,857 NORMAL IMG_0404 14 12 0 0 85,714 NORMAL IMG_0405 14 13 0 0 92,857 NORMAL IMG_0406 22 14 0 0 63,636 TREMIDA IMG_0407 23 16 0 0 69,565 NORMAL IMG_0408 22 18 0 0 81,818 NORMAL IMG_0409 16 15 0 0 93,750 NORMAL IMG_0410 17 10 0 0 58,824 TREMIDA IMG_0411 19 15 0 0 78,947 TREMIDA LEVE IMG_0412 17 16 0 0 94,118 NORMAL IMG_0413 14 12 0 0 85,714 NORMAL IMG_0414 15 13 0 0 86,667 NORMAL IMG_0415 10 9 0 0 90,000 NORMAL IMG_0416 11 9 2 0 81,818 NORMAL IMG_0417 12 10 0 0 83,333 NORMAL IMG_0418 13 10 0 0 76,923 NORMAL IMG_0419 13 10 0 0 76,923 NORMAL IMG_0420 13 11 1 0 84,615 NORMAL IMG_0421 13 9 0 0 69,231 NORMAL IMG_0422 12 11 0 0 91,667 NORMAL IMG_0423 18 16 0 0 88,889 NORMAL IMG_0424 16 15 0 0 93,750 NORMAL IMG_0425 18 16 0 0 88,889 NORMAL IMG_0426 17 16 0 0 94,118 NORMAL 67 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 19 19 18 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 17 18 18 22 25 24 23 23 31 30 17 28 28 16 17 19 19 18 16 19 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89,474 94,737 100,000 73,333 83,333 85,714 76,667 79,310 100,000 93,750 56,667 87,500 90,323 80,000 85,000 95,000 100,000 94,737 88,889 100,000 94,737 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL Apêndice 17 - Análise das imagens com ScaleFactor = 1.2, minNeighbors = 3. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 18- Gráfico da configuração ScaleFactor = 1.2, minNeighbors = 3. 68 face_cascade.detectMultiScale( frame_gray, faces, 1.1, 1, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % RECONHECIMENTO SITUAÇÃO DA IMAGEM IMG_0274 27 22 0 5 81,481 NORMAL IMG_0275 29 3 0 10,345 TREMIDA IMG_0276 29 20 0 3 68,966 NORMAL IMG_0277 38 24 0 6 63,158 NORMAL IMG_0278 31 19 1 4 61,290 NORMAL IMG_0279 28 14 0 1 50,000 TREMIDA IMG_0280 33 24 1 7 72,727 NORMAL IMG_0281 22 20 1 7 90,909 NORMAL IMG_0282 24 19 0 8 79,167 NORMAL IMG_0283 23 19 1 7 82,609 TREMIDA LEVE IMG_0284 15 14 0 4 93,333 NORMAL IMG_0285 15 12 0 2 80,000 TREMIDA LEVE IMG_0286 15 12 0 5 80,000 NORMAL IMG_0287 12 12 1 6 100,000 TREMIDA LEVE IMG_0288 12 12 0 7 100,000 NORMAL IMG_0289 13 8 1 3 61,538 TREMIDA IMG_0380 19 5 1 26,316 TREMIDA IMG_0381 19 8 0 1 42,105 TREMIDA IMG_0382 20 7 1 1 35,000 TREMIDA IMG_0383 14 6 0 2 42,857 NORMAL IMG_0384 12 9 0 1 75,000 TREMIDA LEVE IMG_0385 15 13 0 2 86,667 NORMAL IMG_0386 25 18 0 2 72,000 TREMIDA LEVE IMG_0387 24 19 1 2 79,167 NORMAL IMG_0388 26 20 0 3 76,923 NORMAL IMG_0389 11 9 4 5 81,818 NORMAL IMG_0390 12 9 1 4 75,000 NORMAL IMG_0391 12 9 1 4 75,000 TREMIDA LEVE IMG_0392 12 8 0 5 66,667 TREMIDA LEVE IMG_0393 11 9 0 5 81,818 NORMAL IMG_0394 20 16 0 1 80,000 NORMAL IMG_0395 23 19 0 1 82,609 NORMAL IMG_0396 14 8 1 1 57,143 NORMAL IMG_0397 12 8 0 66,667 NORMAL IMG_0398 16 13 1 1 81,250 NORMAL IMG_0399 15 12 0 1 80,000 NORMAL IMG_0400 13 10 0 2 76,923 NORMAL IMG_0401 13 9 0 2 69,231 TREMIDA LEVE IMG_0402 14 11 0 2 78,571 NORMAL IMG_0403 14 11 1 4 78,571 NORMAL IMG_0404 14 12 2 1 85,714 NORMAL IMG_0405 14 13 0 4 92,857 NORMAL IMG_0406 22 10 0 4 45,455 TREMIDA IMG_0407 23 15 0 4 65,217 NORMAL IMG_0408 22 17 2 2 77,273 NORMAL IMG_0409 16 14 0 2 87,500 NORMAL IMG_0410 17 10 0 2 58,824 TREMIDA IMG_0411 19 15 1 1 78,947 TREMIDA LEVE IMG_0412 17 14 2 3 82,353 NORMAL IMG_0413 14 10 0 1 71,429 NORMAL IMG_0414 15 13 0 1 86,667 NORMAL IMG_0415 10 9 0 2 90,000 NORMAL IMG_0416 11 8 0 3 72,727 NORMAL IMG_0417 12 11 1 2 91,667 NORMAL IMG_0418 13 10 0 4 76,923 NORMAL IMG_0419 13 11 1 4 84,615 NORMAL IMG_0420 13 12 0 3 92,308 NORMAL IMG_0421 13 10 0 3 76,923 NORMAL IMG_0422 12 9 1 3 75,000 NORMAL IMG_0423 18 16 0 6 88,889 NORMAL IMG_0424 16 16 0 4 100,000 NORMAL IMG_0425 18 16 0 4 88,889 NORMAL IMG_0426 17 15 0 4 88,235 NORMAL 69 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 19 19 18 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 16 16 18 21 25 18 22 23 27 29 18 25 27 15 16 19 19 18 14 16 17 0 0 0 0 1 0 0 0 0 2 1 0 0 1 0 1 1 0 2 2 1 4 8 5 4 4 3 4 4 6 8 1 4 5 4 6 4 7 5 3 3 2 84,211 84,211 100,000 70,000 83,333 64,286 73,333 79,310 87,097 90,625 60,000 78,125 87,097 75,000 80,000 95,000 100,000 94,737 77,778 84,211 89,474 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL Apêndice 19 - Análise das imagens com ScaleFactor = 1.4, minNeighbors = 1. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS REPETIDAS ERROS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 20 - Gráfico da configuração ScaleFactor = 1.4, minNeighbors = 1. 70 face_cascade.detectMultiScale( frame_gray, faces, 1.1, 1, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % RECONHECIMENTO SITUAÇÃO DA IMAGEM IMG_0274 27 18 0 2 66,667 NORMAL IMG_0275 29 1 0 0 3,448 TREMIDA IMG_0276 29 17 0 1 58,621 NORMAL IMG_0277 38 20 0 4 52,632 NORMAL IMG_0278 31 16 0 3 51,613 NORMAL IMG_0279 28 11 0 0 39,286 TREMIDA IMG_0280 33 21 0 5 63,636 NORMAL IMG_0281 22 17 0 5 77,273 NORMAL IMG_0282 24 16 0 5 66,667 NORMAL IMG_0283 23 15 0 6 65,217 TREMIDA LEVE IMG_0284 15 11 0 3 73,333 NORMAL IMG_0285 15 11 0 1 73,333 TREMIDA LEVE IMG_0286 15 12 0 1 80,000 NORMAL IMG_0287 12 11 0 3 91,667 TREMIDA LEVE IMG_0288 12 12 0 3 100,000 NORMAL IMG_0289 13 8 0 2 61,538 TREMIDA IMG_0380 19 3 0 0 15,789 TREMIDA IMG_0381 19 5 0 0 26,316 TREMIDA IMG_0382 20 6 0 0 30,000 TREMIDA IMG_0383 14 6 0 1 42,857 NORMAL IMG_0384 12 8 0 1 66,667 TREMIDA LEVE IMG_0385 15 12 0 1 80,000 NORMAL IMG_0386 25 14 0 1 56,000 TREMIDA LEVE IMG_0387 24 17 0 1 70,833 NORMAL IMG_0388 26 15 0 2 57,692 NORMAL IMG_0389 11 7 0 3 63,636 NORMAL IMG_0390 12 9 0 4 75,000 NORMAL IMG_0391 12 6 0 2 50,000 TREMIDA LEVE IMG_0392 12 7 0 2 58,333 TREMIDA LEVE IMG_0393 11 9 0 3 81,818 NORMAL IMG_0394 20 15 0 1 75,000 NORMAL IMG_0395 23 13 0 1 56,522 NORMAL IMG_0396 14 7 0 0 50,000 NORMAL IMG_0397 12 6 0 0 50,000 NORMAL IMG_0398 16 9 0 1 56,250 NORMAL IMG_0399 15 10 0 0 66,667 NORMAL IMG_0400 13 6 0 2 46,154 NORMAL IMG_0401 13 6 0 2 46,154 TREMIDA LEVE IMG_0402 14 9 0 2 64,286 NORMAL IMG_0403 14 8 0 2 57,143 NORMAL IMG_0404 14 9 0 1 64,286 NORMAL IMG_0405 14 9 0 2 64,286 NORMAL IMG_0406 22 6 0 0 27,273 TREMIDA IMG_0407 23 10 0 3 43,478 NORMAL IMG_0408 22 12 0 2 54,545 NORMAL IMG_0409 16 12 0 1 75,000 NORMAL IMG_0410 17 10 0 1 58,824 TREMIDA IMG_0411 19 10 0 0 52,632 TREMIDA LEVE IMG_0412 17 11 0 1 64,706 NORMAL IMG_0413 14 8 0 0 57,143 NORMAL IMG_0414 15 8 0 1 53,333 NORMAL IMG_0415 10 8 0 2 80,000 NORMAL IMG_0416 11 7 0 2 63,636 NORMAL IMG_0417 12 11 0 2 91,667 NORMAL IMG_0418 13 9 0 4 69,231 NORMAL IMG_0419 13 12 0 3 92,308 NORMAL IMG_0420 13 12 0 3 92,308 NORMAL IMG_0421 13 9 0 3 69,231 NORMAL IMG_0422 12 9 0 3 75,000 NORMAL IMG_0423 18 14 0 4 77,778 NORMAL IMG_0424 16 13 0 1 81,250 NORMAL IMG_0425 18 13 0 3 72,222 NORMAL IMG_0426 17 12 0 2 70,588 NORMAL 71 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 19 19 18 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 16 16 17 14 15 13 15 14 20 23 12 19 19 13 11 13 14 13 12 12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 2 1 1 1 5 2 1 2 3 2 5 3 4 3 2 1 2 84,211 84,211 94,444 46,667 50,000 46,429 50,000 48,276 64,516 71,875 40,000 59,375 61,290 65,000 55,000 65,000 73,684 68,421 66,667 63,158 57,895 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL Apêndice 21 - Análise das imagens com ScaleFactor = 1.4, minNeighbors = 3. Reconhecimento de Imagens em Sala de Aula QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 22 - Gráfico da configuração ScaleFactor = 1.4, minNeighbors = 3. 72 face_cascade.detectMultiScale( frame_gray, faces, 1.1, 1, 0|CV_HAAR_SCALE_IMAGE, Size(1, 1) ); IMAGEM QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS % RECONHECIMENTO SITUAÇÃO DA IMAGEM IMG_0274 27 26 0 4 96,296 NORMAL IMG_0275 29 9 0 0 31,034 TREMIDA IMG_0276 29 22 0 2 75,862 NORMAL IMG_0277 38 17 0 6 44,737 NORMAL IMG_0278 31 21 0 5 67,742 NORMAL IMG_0279 28 12 0 3 42,857 TREMIDA IMG_0280 33 18 0 9 54,545 NORMAL IMG_0281 22 12 3 7 54,545 NORMAL IMG_0282 24 12 1 8 50,000 NORMAL IMG_0283 23 18 0 4 78,261 TREMIDA LEVE IMG_0284 15 14 0 0 93,333 NORMAL IMG_0285 15 13 0 0 86,667 TREMIDA LEVE IMG_0286 15 13 0 5 86,667 NORMAL IMG_0287 12 12 1 2 100,000 TREMIDA LEVE IMG_0288 12 12 0 5 100,000 NORMAL IMG_0289 13 13 0 4 100,000 TREMIDA IMG_0380 19 4 1 0 21,053 TREMIDA IMG_0381 19 8 1 0 42,105 TREMIDA IMG_0382 20 9 1 0 45,000 TREMIDA IMG_0383 14 11 0 2 78,571 NORMAL IMG_0384 12 10 0 1 83,333 TREMIDA LEVE IMG_0385 15 14 0 3 93,333 NORMAL IMG_0386 25 19 1 1 76,000 TREMIDA LEVE IMG_0387 24 23 3 1 95,833 NORMAL IMG_0388 26 22 0 0 84,615 NORMAL IMG_0389 11 9 2 2 81,818 NORMAL IMG_0390 12 9 1 2 75,000 NORMAL IMG_0391 12 9 0 2 75,000 TREMIDA LEVE IMG_0392 12 9 0 3 75,000 TREMIDA LEVE IMG_0393 11 10 0 1 90,909 NORMAL IMG_0394 20 16 0 2 80,000 NORMAL IMG_0395 23 20 0 0 86,957 NORMAL IMG_0396 14 9 1 1 64,286 NORMAL IMG_0397 12 9 1 1 75,000 NORMAL IMG_0398 16 15 0 2 93,750 NORMAL IMG_0399 15 17 0 4 113,333 NORMAL IMG_0400 13 10 1 2 76,923 NORMAL IMG_0401 13 9 0 1 69,231 TREMIDA LEVE IMG_0402 14 14 0 4 100,000 NORMAL IMG_0403 14 12 0 2 85,714 NORMAL IMG_0404 14 12 0 2 85,714 NORMAL IMG_0405 14 13 0 3 92,857 NORMAL IMG_0406 22 14 0 1 63,636 TREMIDA IMG_0407 23 17 1 1 73,913 NORMAL IMG_0408 22 17 0 3 77,273 NORMAL IMG_0409 16 12 1 1 75,000 NORMAL IMG_0410 17 12 1 1 70,588 TREMIDA IMG_0411 19 15 0 1 78,947 TREMIDA LEVE IMG_0412 17 15 0 0 88,235 NORMAL IMG_0413 14 11 1 1 78,571 NORMAL IMG_0414 15 13 0 1 86,667 NORMAL IMG_0415 10 8 0 1 80,000 NORMAL IMG_0416 11 8 0 1 72,727 NORMAL IMG_0417 12 12 1 3 100,000 NORMAL IMG_0418 13 12 0 2 92,308 NORMAL IMG_0419 13 9 0 1 69,231 NORMAL IMG_0420 13 11 0 2 84,615 NORMAL IMG_0421 13 10 2 3 76,923 NORMAL IMG_0422 12 11 0 3 91,667 NORMAL IMG_0423 18 15 0 4 83,333 NORMAL IMG_0424 16 14 0 3 87,500 NORMAL IMG_0425 18 14 0 3 77,778 NORMAL IMG_0426 17 15 2 2 88,235 NORMAL 73 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 19 19 18 30 30 28 30 29 31 32 30 32 31 20 20 20 19 19 18 19 19 18 17 18 22 24 21 21 24 28 30 17 28 28 17 18 19 19 19 16 17 18 0 0 0 0 0 0 1 3 1 1 1 2 0 0 1 2 0 1 1 0 0 1 3 3 3 3 2 4 2 4 5 3 6 6 2 3 3 3 4 4 5 3 94,737 89,474 100,000 73,333 80,000 75,000 70,000 82,759 90,323 93,750 56,667 87,500 90,323 85,000 90,000 95,000 100,000 100,000 88,889 89,474 94,737 NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL NORMAL TREMIDA NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL NORMAL TREMIDA LEVE NORMAL NORMAL Apêndice 23 - Análise das imagens com ScaleFactor = 1.5, minNeighbors = 1. Título do Gráfico QTD. PESSOAS RECONHECIDAS ERROS REPETIDAS IMG_0274 IMG_0275 IMG_0276 IMG_0277 IMG_0278 IMG_0279 IMG_0280 IMG_0281 IMG_0282 IMG_0283 IMG_0284 IMG_0285 IMG_0286 IMG_0287 IMG_0288 IMG_0289 IMG_0380 IMG_0381 IMG_0382 IMG_0383 IMG_0384 IMG_0385 IMG_0386 IMG_0387 IMG_0388 IMG_0389 IMG_0390 IMG_0391 IMG_0392 IMG_0393 IMG_0394 IMG_0395 IMG_0396 IMG_0397 IMG_0398 IMG_0399 IMG_0400 IMG_0401 IMG_0402 IMG_0403 IMG_0404 IMG_0405 IMG_0406 IMG_0407 IMG_0408 IMG_0409 IMG_0410 IMG_0411 IMG_0412 IMG_0413 IMG_0414 IMG_0415 IMG_0416 IMG_0417 IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422 IMG_0423 IMG_0424 IMG_0425 IMG_0426 IMG_0427 IMG_0428 IMG_0429 IMG_0430 IMG_0431 IMG_0432 IMG_0433 IMG_0434 IMG_0435 IMG_0436 IMG_0437 IMG_0438 IMG_0439 IMG_0440 IMG_0441 IMG_0442 IMG_0443 IMG_0444 IMG_0445 IMG_0446 IMG_0447 IMG_0448 IMG_0449 IMG_0450 IMG_0451 IMG_0452 IMG_0453 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 Apêndice 24 - Gráfico da configuração ScaleFactor = 1.5, minNeighbors = 1.