Visão

Equipe responsável por pesquisar e desenvolver a solução de identificação e reconhecimento visual de alunos, professores, funcionários e visitantes.

Requisitos:

  • Identificar visualmente pessoas.
  • Reconhecer pessoas.
  • Talvez auxiliar no deslocamento autônomo.

Integrantes

  • Gabriel Pinho
  • Jhonatan Paixão
  • Matheus Bezerra
  • Samuel Gonçalves


Introdução

Quando iniciamos o projeto nosso primeiro pensamento foi: “Como vamos fazer o reconhecimento através de uma câmera?”. E em uma simples busca na internet vimos que essa questão é relativamente fácil de ser resolvida, há diversos métodos de reconhecimento de imagens. Porém, surge um outro problema, qual deles é o melhor para nossa situação?

Tivemos de pensar em diversas questões: qual seria o hardware de processamento disponível, a conexão com a internet, armazenamento e que o programa estará atuando com outras funcionalidades ao mesmo tempo. Dado isso, encontramos soluções on-line que: teriam pouco custo no hardware mas em contrapartida seriam lentas e poderiam faltar em funções da rede; e as soluções que utilizam o processamento em hardware quanto melhor a precisão maior o custo de processamento. Então tivemos que encontrar um meio termo entre solução não tão precisa mas que atenderia nossa necessidade e que ao mesmo tempo não fosse custosa para a mente do nosso robozinho.


Instalação das Ferramentas utilizadas

A equipe de visão mostra nesse passo a passo toda a instalação das ferramentas e suas bibliotecas utilizadas para elaboração do algoritmo de reconhecimento facial.

Passo 1: Preparar ambiente

Baixar e instalar ferramentas de desenvolvimento e de controle de versão em seus respectivos links abaixo

Passo 2: Nomear repositório local

Criar pasta com o nome do projeto.

Passo 3: Clonar repositório no GitHub

Na pasta criada, iremos clonar o repositório com o código fonte. Para isso utilizaremos o Git. Abra um prompt de comando (ou terminal, no Linux) e digite os seguintes comandos:

cd “caminho da pasta”
git clone <url do repositório>

Passo 4: Acessar a pasta com repositório clonado

No mesmo prompt de comando digite o comando:

cd “caminho da pasta”

Passo 5: Instalar bibliotecas em Python:

Para facilitar o desenvolvimento, são utilizadas algumas bibliotecas em Python. São elas:

Para instalá-las utilizaremos o PIP. No mesmo prompt de comando, digite os seguintes comandos:

pip install dlib
pip install face_recognition
pip install imutils
pip install numpy
pip install opencv-python

Passo 6: Desenvolvimento

Na pasta dataset está contida todas as fotos que serão utilizadas no treinamento da rede neural. Cada pessoa deve ter uma pasta com suas fotos e não podem ser misturadas em hipótese alguma. Para treinar a rede neural, se executa o seguinte comando com os seguintes parâmetros:

python encode_faces.py –dataset dataset –encodings encodings.pickle

Aonde:

  • encode_faces.py: Script python contendo o código fonte.
  • –dataset: Pasta contendo as imagens que serão utilizadas no treinamento.
  • –encodings: Nome do arquivo cujo resultado do treinamento será salvo. Obs: SEMPRE utilizar a extensão “.pickle”

Não é recomendável rodar esse script no raspberry, visto que é um processo intenso e com alto custo de processamento.


Após realizar o treinamento da rede neural estamos prontos para utilizar o script de reconhecimento facial. Para tal, utilizamos o seguinte comando:

python recognize_faces_video.py –encodings encodings.pickle –display 1

  • recognize_faces_video.py: Script python contendo o código fonte
  • –encodings: arquivo com o resultado do treinamento gerado no último passo
  • –display: 1 caso deseje mostrar o vídeo com o resultado frame por frame, 0 caso não.