项目作者: pedrohenriquebr

项目描述 :
A web api for face recognition with Flask
高级语言: Python
项目地址: git://github.com/pedrohenriquebr/web-face-recognition.git
创建时间: 2018-11-11T22:05:22Z
项目社区:https://github.com/pedrohenriquebr/web-face-recognition

开源协议:MIT License

下载


Web Face Recognition

Instalação

Requisitos

  • Docker 18.06+ (opcional)
  • Docker Compose 1.23.1+ (opcional)
  • Python 3.3+
  • Linux (distro baseada no Debian)

Metas

  • Detecção facial com HoG.
  • Classificação facial com K-NN

Guia

Clone o repositório:

  1. $ git clone https://github.com/pedrohenriquebr/web-face-recognition.git

Entre no diretório do projeto clonado:

  1. $ cd web-face-recognition

Bootstrap

Inicie o script de boostrap, para verificar a instalação do docker e docker-compose. Caso já tenha devidamente instalado, pule para próxima etapa:

  1. $ ./bootstrap.sh

Em seguida, o script irá perguntar se deseja instalar dlib em sua máquina, digite ‘Y’ caso queira fazer testes fora do container.

  1. Do you want install dlib?
  2. Y

Os mesmos pacotes descritos no Dockerfile serão instalados.

Cadastrando pessoas

Dentro do diretório dataset crie o diretório com nome ou rótulo de quem deseja reconhecer
com as fotos da pessoa. O ideal é ter a mesma quantidade de fotos para cada pessoa.

Rode bash standard.sh para standardizar os nomes das imagens. Ex:

  1. $ ls dataset/pessoa1
  2. $ fotoA12.jpeg perfil.jpeg qeqfaA.jpeg aaab_1234.JPEG
  3. $ bash standard.sh
  4. $ ls dataset/pessoa1
  5. $ 0001.jpeg 0002.jpeg 0003.jpeg 0004.jpeg

Esse pré-processamento será aplicado para todas as subpastas de dataset.

Usando sem docker

Para iniciar a API de reconhecimento, use:

  1. $ make run

Usando Docker

Construa as imagens para os contêineres:

  1. $ make build

Para iniciar o contêiner em modo de desenvolvimento, use:

  1. $ make run-dev

Para iniciar o contêiner em modo de produção, use:

  1. $ make run

Parar execução dos contêineres:

  1. $ make stop

Treinamento

Utilize:

  1. $ make train

Essa tarefa irá treinar todos os classificadores disponíveis.

O treinamento só é possível no modo de desenvolvimento, mas em modo de produção
o diretório modelset é montado em modo de somente-leitura. (Docker)

Removendo contêineres (Docker)

Para limpar os contêineres em execução, use:

  1. $ make clean

Esse script removerá tanto as interfaces de rede quanto os contêineres.

Sugestões de leitura