Skip to content

FelipeKreulich/argus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARGUS — Sistema de Reconhecimento Facial em Tempo Real

Sistema de reconhecimento facial que captura vídeo da webcam, detecta rostos em tempo real e reconhece pessoas previamente cadastradas. Interface web servida localmente via Flask.

Estrutura

argus/
├── data/
│   ├── known_faces/       # subpastas por pessoa (ex: known_faces/pedro/)
│   └── encodings/         # ficheiros .pkl com embeddings
├── src/
│   ├── capture.py         # gestão da câmera
│   ├── detector.py        # detecção de rostos
│   ├── recognizer.py      # reconhecimento facial
│   ├── encoder.py         # geração de encodings
│   └── display.py         # desenho de bounding boxes
├── web/
│   ├── index.html
│   ├── style.css
│   └── app.js
├── server.py              # servidor Flask + stream MJPEG
├── main.py                # ponto de entrada principal
├── config.py              # configurações centralizadas
└── requirements.txt

Requisitos

  • Python 3.10+
  • Kali Linux (testado) ou qualquer distro Linux
  • Webcam funcional (driver uvcvideo)
  • cmake, build-essential, libopenblas-dev, liblapack-dev, libx11-dev, libgtk-3-dev

Instalação

# Dependências do sistema
sudo apt install python3 python3-pip python3-venv cmake build-essential \
    libopenblas-dev liblapack-dev libx11-dev libgtk-3-dev v4l-utils ffmpeg

# Criar e activar ambiente virtual
python3 -m venv .venv
source .venv/bin/activate

# Instalar dependências Python
pip install -r requirements.txt

Como correr

source .venv/bin/activate
python server.py

Abrir no browser: http://localhost:5000

Cadastrar nova pessoa

  1. Criar subpasta em data/known_faces/ com o nome da pessoa (ex: data/known_faces/pedro/)
  2. Colocar 3-5 fotos do rosto da pessoa nessa pasta (JPEG ou PNG)
  3. Reiniciar o servidor — os encodings serão regenerados automaticamente

Troubleshooting

Câmera não detectada:

  • Verificar se o módulo uvcvideo está carregado: lsmod | grep uvcvideo
  • Se não: sudo modprobe uvcvideo
  • Verificar dispositivo: v4l2-ctl --list-devices
  • Verificar permissões: groups $USER (deve incluir video)

dlib falha a compilar:

  • Garantir que cmake e build-essential estão instalados
  • Garantir libopenblas-dev e liblapack-dev instalados
  • A compilação demora 10-20 minutos — não cancelar

About

ARGUS — Real-time face detection and recognition system with a web-based live feed interface, built with Python, OpenCV and Flask.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors