No description
  • Python 76.4%
  • JavaScript 10%
  • Go 5.8%
  • CSS 2.5%
  • HTML 2%
  • Other 3.3%
Find a file
madruga 68d54188db chore: instalador e runner nativos de Windows (install.ps1 / start.ps1)
Roda direto no Windows, sem WSL. install.ps1: venv + pip install -e ".[dev]",
Go local em %USERPROFILE%\.local\go (>= 1.26), ffmpeg via winget, .env, modelos
e build do gateway. start.ps1: espelha o start.sh — instância única (mutex global),
sobe Python :8000 + gateway :8001 com TLS, e no Ctrl+C derruba os dois e varre
ffmpeg órfão (assinatura -rtsp_transport, equivalente ao pkill). README atualizado.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 21:22:34 -03:00
apps feat(stream): integrate gateway snapshots and stabilize multi-camera runtime 2026-05-31 01:34:34 -03:00
config chore: initialize repo with proper gitignore and README 2026-05-30 02:36:41 -03:00
docs chore: initialize repo with proper gitignore and README 2026-05-30 02:36:41 -03:00
gateway refactor(gateway): kill do ffmpeg multiplataforma (compila no Windows) 2026-06-26 21:22:34 -03:00
scripts feat(lpr): consenso multi-frame, dedup fuzzy, realce e poda de thumbnails órfãos 2026-06-26 19:43:01 -03:00
src/face_recognition feat(lpr): consenso multi-frame, dedup fuzzy, realce e poda de thumbnails órfãos 2026-06-26 19:43:01 -03:00
tests feat(lpr): consenso multi-frame, dedup fuzzy, realce e poda de thumbnails órfãos 2026-06-26 19:43:01 -03:00
.env.example feat(vehicle): detecção de veículo + LPR no recorte do carro 2026-06-02 01:24:24 -03:00
.gitignore chore: ignore auth secret file 2026-06-02 20:01:17 -03:00
.graphify_detect.json chore: initialize repo with proper gitignore and README 2026-05-30 02:36:41 -03:00
.graphify_python chore: initialize repo with proper gitignore and README 2026-05-30 02:36:41 -03:00
CLAUDE.md chore: initialize repo with proper gitignore and README 2026-05-30 02:36:41 -03:00
install.ps1 chore: instalador e runner nativos de Windows (install.ps1 / start.ps1) 2026-06-26 21:22:34 -03:00
install.sh chore: instalador one-command (install.sh) 2026-06-26 19:43:09 -03:00
pyproject.toml feat: update API, auth, and plate recognition modules 2026-06-01 04:18:34 -03:00
README.md chore: instalador e runner nativos de Windows (install.ps1 / start.ps1) 2026-06-26 21:22:34 -03:00
requirements.txt feat: update API, auth, and plate recognition modules 2026-06-01 04:18:34 -03:00
start.ps1 chore: instalador e runner nativos de Windows (install.ps1 / start.ps1) 2026-06-26 21:22:34 -03:00
start.sh chore: commit all current modifications 2026-06-01 01:29:01 -03:00

Face Recognition

Sistema de reconhecimento facial em tempo real com anti-spoofing, liveness ativo, suporte a ONVIF/RTSP/Webcam e interface web via FastAPI.

Funcionalidades

  • Reconhecimento facial com embeddings (InsightFace + FAISS)
  • Anti-spoofing em camadas (liveness passivo + ativo)
  • Modos de operação em apps/monitor.py (access, monitor, focus, etc.)
  • API HTTP com painel web e stream MJPEG
  • Suporte a Linux, macOS e Windows

Requisitos

  • Python 3.10+
  • ffmpeg (recomendado para recursos de áudio/vídeo)
  • Dependências em requirements.txt e pyproject.toml

Instalação

Tudo em um comando (pacotes de sistema, Go, venv, modelos, .env e build do gateway):

./install.sh

Flags úteis: --no-system (pula o apt), --no-models (não baixa os pesos), --no-go (já tenho Go >= 1.26). Veja ./install.sh --help.

Passo a passo manual (equivalente):

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
python scripts/download_models.py

Windows (nativo, sem WSL)

No PowerShell, na raiz do projeto:

powershell -ExecutionPolicy Bypass -File .\install.ps1
.\start.ps1

O install.ps1 cria o venv + dependências, baixa o Go local (%USERPROFILE%\.local\go), instala o ffmpeg via winget se faltar, gera o .env, baixa os modelos e compila o gateway. Flags: -NoModels, -NoGo. Notas: sem GPU NVIDIA, ajuste DEVICE=cpu e INSIGHTFACE_CTX_ID=-1 no .env; o masscan não é instalado no Windows (exige Npcap).

Execução rápida

# Sondar câmera (ONVIF/.env)
python scripts/probe_camera.py

# Rodar monitor (exemplo)
python apps/monitor.py --mode access

# Subir API + UI
python apps/api_server.py

UI web: http://localhost:8000/ui

Estrutura do projeto

  • apps/: pontos de entrada da aplicação
  • src/face_recognition/: código principal
  • config/: configuração YAML
  • scripts/: utilitários (download de modelos, probe, benchmark)
  • tests/: testes unitários e de integração
  • docs/: documentação complementar

Testes

pytest -q

Observações

  • Arquivos de dados, embeddings, logs, modelos pesados e segredos locais são ignorados por .gitignore.
  • Para detalhes de arquitetura, câmera e anti-spoofing, consulte a pasta docs/.