Sistema avançado de detecção e rastreamento de veĂculos com classificação de cores usando YOLOv11 e ByteTrack. Detecta mĂșltiplos carros simultaneamente e classifica suas cores com alta precisĂŁo.
- Detecta todos os carros na imagem/vĂdeo (nĂŁo apenas o maior)
- Rastreamento persistente com ByteTrack
- Classificação individual de cada veĂculo detectado
- Confiança configuråvel para detecção e classificação
- 10 cores suportadas: azul, branco, cinza, marrom, prata, preto, rosa, verde, vermelho, amarelo
- Modelos treinados especificamente para veĂculos brasileiros
- Confiança ajuståvel via interface web
- Visualização colorida com numeração automåtica
- Interface web interativa com upload de arquivos
- Processamento assĂncrono com progresso em tempo real
- MĂșltiplos formatos suportados (MP4, JPG, PNG)
- HistĂłrico completo de processamentos
Vox/
âââ đ requirements.txt # DependĂȘncias Python
âââ đ config.json # ConfiguraçÔes principais
âââ đ src/
â âââ âïž main_uni.py # CĂłdigo fonte
â âââ đ api/main_api.py # API FastAPI multi-car
â âââ đŻ tracking/track.py # Motor de tracking otimizado
â âââ đ train/train.py # Pipeline de treinamento (desativado)
â âââ đ§ utils/utils.py # UtilitĂĄrios
â âââ đ cli/commands.py # Comandos CLI
âââ đ runs/ # Modelos treinados
â âââ yolo11n_detection_detect3/weights/best.pt
â âââ yolo11n_classification_colors_n3/weights/best.pt
â âââ yolo11s_classification_colors_s3/weights/best.pt
â âââ yolo11s_detection_detect3/weights/best.pt
âââ đ outras configs/ # ConfiguraçÔes adicionais
âââ full config.json
âââ gpu config.json
git clone <repository>
cd Vox
conda create -n vox python=3.10 -y
conda activate vox
pip install poetry
poetry install --no-root
poetry add requests[use_chardet-on-py3]
poetry install --no-root
poetry run python -c "import requests; print(requests.__version__)"
poetry install --no-root
#Modo Interativo
poetry run python src/main_uni.py
#Modo API
poetry run uvicorn src.api.main_api:app --host 127.0.0.1 --port 8000 --reload
- Python 3.11+
- CUDA 11.8+ (opcional, para GPU)
- FFmpeg
- Git
# Criar ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows
# Instalar dependĂȘncias
pip install -r requirements.txt
# Modelos disponĂveis no projeto
runs/yolo11n_detection_detect3/weights/best.pt # Detector nano
runs/yolo11s_detection_detect3/weights/best.pt # Detector small
runs/yolo11n_classification_colors_n3/weights/best.pt # Classifier nano
runs/yolo11s_classification_colors_s3/weights/best.pt # Classifier small
# API Web
python main_uni.py api
# Modo interativo
python main_uni.py
# Processar vĂdeo direto
python main_uni.py track \
--video input.mp4 \
--det-weights runs/yolo11n_detection_detect3/weights/best.pt \
--cls-weights runs/yolo11n_classification_colors_n3/weights/best.pt
- Detector: YOLO11n (320px) - ~15ms por frame
- Classificador: YOLO11n/s (128px) - ~8ms por crop
- Throughput: 45-55 FPS com frame_stride 2-3
- Memory Usage: ~1.5GB RAM
- CPU: 12 threads otimizadas
{
"performance": {
"frame_stride": 2, // Processa 1 a cada 2 frames
"detection_interval": 3, // Detecta a cada 3 frames
"batch_size": 10, // Classifica 10 carros por vez
"num_threads_cpu": 12, // MĂĄximo paralelismo CPU
"enable_cache": true, // Cache inteligente ativo
"cache_size": 500, // 500 classificaçÔes em cache
"cache_ttl": 20 // Cache expira em 20 frames
}
}
- â Smart Caching - Reduz classificaçÔes redundantes em 40-60%
- â Batch Processing - Processa mĂșltiplos carros simultaneamente
- â Frame Striding - Processa 1 a cada N frames
- â ONNX Fallback - InferĂȘncia otimizada quando disponĂvel
- â Multi-threading - Paralelização CPU otimizada
- â Async Processing - Processamento nĂŁo-bloqueante
- â Memory Pooling - Reutilização eficiente de buffers
- â
Detection Interval - Detecção espaçada para performance
build-gpu
,
make run-gpu,
make up-gpu` - UtilitĂĄrios:
make logs
,make status
,make health
,make shell
- Testes:
make test
,make lint
,make format
- Limpeza:
make clean
,make clean-all
- â Multi-car detection - Detecta todos os carros
- â Web interface - UI completa e intuitiva
- â Async processing - Processamento nĂŁo-bloqueante
- â Smart caching - Performance otimizada (45-55 FPS)
- đ« Training disabled - Modo produção (CI/CD planejado)
- Suporte a Treino/Retreino fechando o ciclo CI/CD
- Suporte a streaming em tempo real
- Dashboard de analytics avançado
- Exportação para banco de dados
- API de estatĂsticas histĂłricas
- Nome: Vehicle Color Detection System
- VersĂŁo: 2.0.0
- Modo: Produção (Treinamento Desativado)
- Framework: YOLOv11 + ByteTrack
- API: FastAPI + Interface Web
Para questÔes técnicas, consulte:
- đ Documentação:
/docs
endpoint da API - đ§ Config: Arquivo
config.json
centralizadoFIRST
Este projeto estå licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
- Ultralytics - YOLO11 implementation
- ByteTrack - Multi-object tracking
- FastAPI - Modern web framework
- PyTorch - Deep learning framework