- Python 76.4%
- JavaScript 10%
- Go 5.8%
- CSS 2.5%
- HTML 2%
- Other 3.3%
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> |
||
|---|---|---|
| apps | ||
| config | ||
| docs | ||
| gateway | ||
| scripts | ||
| src/face_recognition | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| .graphify_detect.json | ||
| .graphify_python | ||
| CLAUDE.md | ||
| install.ps1 | ||
| install.sh | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| start.ps1 | ||
| start.sh | ||
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.txtepyproject.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çãosrc/face_recognition/: código principalconfig/: configuração YAMLscripts/: utilitários (download de modelos, probe, benchmark)tests/: testes unitários e de integraçãodocs/: 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/.