Sistema otimizado para detectar árvores no PXG (Pokémon X Gen) em movimento, usando visão computacional.
| Característica | Versão Antiga | Versão 2.0 | Melhoria |
|---|---|---|---|
| FPS | ~10 FPS | 25+ FPS | 2.5x mais rápido |
| Detecção em movimento | ❌ Não funciona | ✅ Funciona voando | Agora funciona! |
| Processamento | Sequencial | Paralelo (threading) | Muito mais eficiente |
| Área processada | Tela inteira | ROI (região central) | 60% menos processamento |
| Escalas | 5 escalas | 3 escalas | 40% menos cálculos |
| Templates | Processados em tempo real | Pré-processados (cache) | Zero overhead |
- Threading Multi-core - Processa múltiplos templates em paralelo
- ROI (Region of Interest) - Foca apenas na área central (onde você voa)
- Cache de Templates - Templates são pré-processados e armazenados
- NMS Eficiente - Elimina duplicatas de forma inteligente
- Threshold Ajustado - Mais sensível (0.55) para detectar em movimento
- Código Modular - Separado em módulos para fácil manutenção
pxg/
├── src/
│ ├── __init__.py # Pacote principal
│ ├── config.py # Configurações centralizadas
│ ├── detector.py # Motor de detecção otimizado
│ └── overlay.py # Interface overlay
├── tree_training_data/ # Templates de árvores
├── main.py # Versão antiga (backup)
├── main_refactored.py # 🆕 Versão 2.0 otimizada
├── requirements.txt # Dependências
└── README.md # Este arquivo
pip install -r requirements.txt# Versão 2.0 otimizada (RECOMENDADO)
python main_refactored.py
# Versão antiga (backup)
python main.py- NUMPAD [-] - Modo captura (marcar nova árvore)
- NUMPAD [+] - Ativar/Pausar detecção
- NUMPAD [*] - Sair
-
Capturar Templates
- Aperte
NUMPAD [-] - Arraste um quadrado em volta de uma árvore
- Solte para capturar
- Capture várias árvores diferentes (quanto mais, melhor!)
- Aperte
-
Ativar Detecção
- Aperte
NUMPAD [+] - O sistema começará a detectar árvores automaticamente
- Agora você pode VOAR que ele detecta! 🎉
- Aperte
-
Ajustar (se necessário)
- Edite
src/config.pypara ajustar:SIMILARITY_THRESHOLD- Sensibilidade (0.50-0.70)FPS_TARGET- FPS desejado (20-30)ROI_PADDING- Tamanho da área de detecçãoUSE_THREADING- Ativar/desativar threading
- Edite
Edite src/config.py:
# Sensibilidade (menor = mais sensível)
SIMILARITY_THRESHOLD = 0.55
# FPS desejado
FPS_TARGET = 25
# ROI (região de interesse)
USE_ROI = True # Usar apenas área central
ROI_PADDING = 0.3 # 30% padding (processa 60% central)
# Performance
USE_THREADING = True # Processamento paralelo
MAX_WORKERS = 4 # Threads simultâneas
# Escalas para detecção
SCALES = [0.9, 1.0, 1.1] # Reduzido de 5 para 3- Capture mais templates (pelo menos 3-5 árvores diferentes)
- Reduza o
SIMILARITY_THRESHOLDemconfig.py(ex: 0.50) - Certifique-se de que os templates estão em
tree_training_data/
- Aumente o
SIMILARITY_THRESHOLD(ex: 0.65) - Capture templates mais específicos
- Ajuste
DUPLICATE_DISTANCEpara filtrar melhor
- Reduza
FPS_TARGET(ex: 20) - Aumente
ROI_PADDING(ex: 0.4 = processa só 20% central) - Ative
DOWNSAMPLE_FACTOR = 0.8para reduzir resolução - Reduza
SCALESpara apenas[1.0]
- Certifique-se de estar usando
main_refactored.py - Reduza
SIMILARITY_THRESHOLDpara 0.50-0.55 - Aumente
FPS_TARGETpara 30 - Verifique se
USE_ROI = True
Durante a execução, você verá:
- FPS atual - Frames por segundo
- FPS médio - Média da sessão
- Detecções agora - Árvores detectadas no frame atual
- Total sessão - Total de detecções desde que ativou
Quando a detecção está ativa e USE_ROI = True, você verá um retângulo azul tracejado indicando a área que está sendo processada. Árvores fora dessa área não serão detectadas, mas isso torna o sistema muito mais rápido.
Ajuste ROI_PADDING se precisar de uma área maior/menor.
- Em telas com muitas árvores (>10), pode ter lentidão
- Templates muito pequenos (<20x20) podem dar falsos positivos
- Funciona melhor com boa iluminação no jogo
- ⚡ Threading para processamento paralelo
- 🎯 ROI para otimização de área
- 💾 Cache de templates preprocessados
- 🚀 Aumento de FPS de ~10 para 25+
- 🧹 Refatoração completa em módulos
- ✅ Funciona em movimento/voando!
- Sistema básico de detecção
- Funciona apenas parado
- ~10 FPS
Sinta-se livre para fazer melhorias! Sugestões:
- Usar deep learning (YOLO, SSD) para detecção mais robusta
- Adicionar auto-clique nas árvores detectadas
- Interface gráfica para configurações
- Salvar logs de detecção
Este é um projeto educacional. Use por sua conta e risco.
Feito com 💚 para a comunidade PXG