Visão computacional aplicada ao varejo de bairro — contagem inteligente de clientes em um mercado autônomo usando YOLOv8, tracking multi-objeto e análise de dados em tempo real.
Important
⚖️ Nota de Privacidade e Ética / Privacy & Ethics Notice
🇧🇷 As imagens e vídeos apresentados neste repositório são utilizados exclusivamente para fins didáticos e acadêmicos. O sistema realiza apenas detecção e contagem de pessoas — não há qualquer intenção ou capacidade de identificação individual. Nenhum dado biométrico é coletado ou armazenado. Para mais detalhes sobre os princípios éticos aplicados, consulte o Guia de Explicações.
A documentação deste projeto está organizada de forma sistemática utilizando a estrutura Diátaxis, separada em quatro objetivos distintos:
| Pilar | Descrição | Link de Acesso |
|---|---|---|
| 🏁 Tutoriais | Guia passo a passo prático para configurar o ambiente e rodar o projeto pela primeira vez. | Acessar Tutorial |
| 💡 Guias de Como-Fazer | Receitas diretas para tarefas comuns (extrair frames, treinar modelos, imprimir case 3D). | Acessar Como-Fazer |
| 📋 Referência | Especificações técnicas de hardware, argumentos de linha de comando, métricas do modelo e esquema do banco de dados. | Acessar Referência |
| 🧠 Explicações | Aprofundamento teórico na máquina de estados, lógica de 3 linhas, superação da mureta de oclusão e discussões arquiteturais. | Acessar Explicações |
| Tecnologia | Uso |
|---|---|
| YOLOv8s (Ultralytics) | Detecção de pessoas — fine-tuned no dataset local |
| ByteTrack | Rastreamento multi-objeto robusto entre frames |
| OpenCV / cvzone | Captura de vídeo, processamento geométrico e renderização da UI |
| PyTorch + CUDA | Aceleração de hardware para inferência e treinamento |
| Roboflow | Processamento de datasets e rotulação de imagens |
| PETG 3D Case | Hardware de proteção física da câmera contra chuva e UV |
DeepMarket-Tracker/
│
├── docs/ # 📑 Documentação estruturada (Diátaxis)
│ ├── tutorials.md # ← Como rodar o sistema pela primeira vez
│ ├── how_to_guides.md # ← Como extrair frames, treinar e fabricar case 3D
│ ├── reference.md # ← Métricas de treino, CLI e modelagem DB
│ └── explanation.md # ← Teoria das 3 linhas, FSM e oclusão
│
├── main.py # ← Pipeline principal (detecção + tracking + FSM)
├── treinar_yolov8.py # ← Script de treinamento da YOLOv8s
├── extrair_frames.py # ← Utilitário de amostragem de vídeo para dataset
├── data.yaml # ← Configuração do dataset
│
├── hardware/
│ └── case_logitech_c920_externo.3mf # ← Modelo 3D (PETG)
│
└── requirements.txt # ← Dependências do sistema
- Detecção com YOLOv8 fine-tuned no ambiente real
- Tracking com ByteTrack + máquina de estados
- Contagem de entradas e passantes em tempo real
- Case 3D em PETG para câmera externa Logitech C920
- Interface interativa para definição espacial das linhas
- Persistência em banco de dados PostgreSQL (Star Schema)
- Dashboard Streamlit com métricas de conversão e fluxo
- Integração Power BI para análise histórica de varejo
- Registro analítico de tempo médio de permanência
Este projeto está licenciado sob a licença MIT.
Feito com curiosidade, café e uma câmera apontada pra rua. ☕
"O que a ciência dos dados pode dizer sobre um mercadinho de bairro?"