Skip to content

Repository files navigation

VisionOps Realtime

Projeto aberto e reproduzível de engenharia de visão computacional, concentrado no que acontece ao redor do modelo: entrega, tracking, latência, monitoramento, drift e privacidade.

O repositório oferece um contrato de inferência testado com FastAPI, adaptador opcional para Ultralytics, suporte a ByteTrack em sessões de vídeo, métricas operacionais e um executor de benchmarks para Apple Silicon. O projeto não distribui pesos, dados privados nem resultados fabricados de modelos.

Demonstração visual

API em execução

A imagem abaixo é uma captura real da documentação OpenAPI gerada pelo serviço local:

Swagger/OpenAPI do VisionOps em execução

Painel planejado

O painel abaixo é um mockup ilustrativo com dados fictícios. Ele representa a direção visual da futura demonstração de detecção, tracking e observabilidade; ainda não é uma interface implementada.

Mockup ilustrativo do painel VisionOps

Por que este projeto existe

Levar visão computacional do notebook para um serviço muda as perguntas: qual checkpoint e limiar são adequados? Qual é a latência p95? A distribuição de confiança mudou? O resultado pode ser reproduzido? Quais restrições de privacidade se aplicam? O VisionOps torna essas decisões visíveis.

Início rápido

python -m venv .venv
source .venv/bin/activate
pip install ".[dev,vision]"
export VISIONOPS_MODEL=yolo11n.pt
export VISIONOPS_DEVICE=mps
visionops serve

A API expõe GET /health, POST /v1/detect e GET /v1/metrics. As imagens são enviadas em base64 e processadas somente em memória. A documentação OpenAPI fica disponível em /docs.

Execute os testes sem baixar um modelo:

pip install ".[dev]"
ruff check .
pytest -q

Execute um benchmark local somente com uma imagem de teste licenciada:

visionops benchmark --model yolo11n.pt --image path/to/open-image.jpg --runs 30 --device mps \
  --output artifacts/m5-pro-yolo11n.json

O JSON gerado identifica explicitamente o escopo como benchmark local. Antes de publicar qualquer resultado, registre a origem e a licença da imagem nas notas do experimento.

Primeiro benchmark em Apple Silicon

O primeiro benchmark versionado usa um quadro sintético de 640×640 gerado localmente. Assim, ele mede a latência de execução sem introduzir dados pessoais nem alegar acurácia de detecção. Em um MacBook Pro com M5 Pro e 24 GB de RAM, o YOLO11n executou 30 iterações após o aquecimento:

Dispositivo Média p50 p95
Apple MPS 5.48 ms 5.06 ms 7.69 ms
CPU 24.73 ms 24.72 ms 25.50 ms

Neste teste local específico, o MPS foi aproximadamente 4,9× mais rápido em p50. Esses números não são resultados de acurácia, throughput de vídeo ou uma afirmação geral sobre o hardware. Os dados brutos estão em benchmarks/.

Escopo atual

  • Inferência YOLO por meio de um adaptador opcional.
  • ByteTrack pelo fluxo de tracking do Ultralytics.
  • Serviço FastAPI com limites explícitos para o tamanho das imagens.
  • Percentis de latência, distribuição de confiança, contagem de classes e indicador PSI de drift.
  • Model card, data card, análise de privacidade, Docker e integração contínua.
  • Exportação para ONNX/Core ML e rastreamento com MLflow são os próximos experimentos; não são apresentados como funcionalidades concluídas.

Consulte a arquitetura, o model card, o data card e a análise de privacidade.

Uso responsável

Este projeto não foi desenvolvido para reconhecimento facial, inferência biométrica, vigilância individual ou decisões automatizadas de alto impacto. Não envie materiais de empregadores, clientes ou qualquer conteúdo confidencial.

Licença

MIT. Pesos de modelos e conjuntos de dados mantêm suas respectivas licenças.

About

Observable and privacy-aware computer vision service with FastAPI, YOLO/ByteTrack adapters, drift metrics and reproducible tests.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages