Calculadora de RM e Progressão de Carga: um sistema para registrar treinos e sugerir cargas com base na progressão semanal e princípios científicos de treino.
Um projeto focado no aprendizado e desenvolvimento de tecnologias para análise de poses corporais. Utilizando Python, Docker, Machine Learning e Inteligência Artificial, o objetivo é detectar landmarks corporais, calcular ângulos e identificar poses clássicas, alinhando-se aos critérios estabelecidos pelo IFBB Pro.
⚠️ Nota: Este projeto está em desenvolvimento contínuo e tem como foco o aprendizado de tecnologias como Python, Docker, Machine Learning e IA. Ainda há diversos pontos a melhorar, mas ele está sendo aprimorado regularmente!
- 📏 Análise de Poses: Detectar landmarks corporais e calcular ângulos para avaliação precisa.
- 🏋️ Reconhecimento de Poses: Identificar poses clássicas como "Duplo Bíceps de Frente".
- 🤖 Evolução em IA: Criar um pipeline para aprendizado de máquina, capaz de identificar poses automaticamente.
- 🔧 Foco em aprendizado: Utilizar ferramentas como Docker, Machine Learning e Python de forma prática.
- Python 3.9
- FastAPI para criação da API
- Mediapipe para detecção de landmarks
- OpenCV para processamento de imagens
- Docker para gerenciamento de containers
- React para o frontend
- Node.js para o ambiente do frontend
-
Instalar Python 3.11:
-
Instalar Docker e Docker Compose:
-
Instalar Make:
-
Clone o repositório:
git clone <seu-repo-url> cd <nome-do-repo>
O projeto utiliza um Makefile para simplificar os comandos com Docker. Aqui estão os comandos disponíveis:
Comando | Descrição |
---|---|
make build |
Constrói as imagens Docker |
make up |
Inicia os containers Docker |
make down |
Para e remove os containers |
make logs |
Exibe os logs de todos os serviços |
make backend-bash |
Acessa o shell do container do backend |
make frontend-bash |
Acessa o shell do container do frontend |
make restart |
Reinicia os containers |
-
Builda e Subir a aplicação:
make up
-
Acesse a aplicação:
- Frontend: http://localhost:3000
- Backend: http://localhost:8000/docs
-
Realize o upload de uma imagem de pose:
- Utilize o botão de upload no frontend.
- Verifique os resultados no painel de resposta e visualize a imagem anotada.
- O Frontend permite o upload de imagens e exibe os resultados da análise.
- O Backend processa as imagens utilizando o Mediapipe para detecção de landmarks e cálculo de ângulos.
- O sistema tenta identificar a pose e gera feedbacks com base nos critérios definidos.
- Uma imagem anotada é gerada, destacando os landmarks detectados.
- Reconhecimento Avançado de Poses: Melhorar o reconhecimento automático de poses como "Duplo Bíceps de Frente".
- Feedbacks Detalhados: Implementar análises mais completas e detalhadas baseadas em critérios de simetria e alinhamento.
- Detecção Facial Avançada: Refinar o uso de MediaPipe para validar a presença e o alinhamento do rosto.
- Suporte a Novas Poses: Adicionar mais poses clássicas ao sistema.
- Integração com Machine Learning: Treinar um modelo personalizado para identificação de poses específicas.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para discutir melhorias ou adicionar funcionalidades.
Este projeto é de código aberto e licenciado sob os termos da MIT License.
Desenvolvido com 💪 e ☕ para aprender, crescer e explorar o mundo de Machine Learning, IA e Python!