Este projeto implementa um pipeline de visão computacional em nuvem projetado para análise de gestos em tempo real. Utilizando a biblioteca MediaPipe, o sistema processa capturas de imagem (snapshots) para identificar os 21 marcos anatômicos das mãos (hand landmarks) e realizar a contagem de dedos de forma precisa.
A solução foca na eficiência de processamento em ambientes de hardware limitado, utilizando a Oracle Cloud Infrastructure (OCI) para hospedar a lógica de IA e o Cloudflare Tunnels para garantir uma conectividade segura e estável, superando limitações de DNS dinâmico e endereçamento fixo.
A arquitetura foi otimizada para rodar em uma instância OCI Always Free com recursos mínimos (1 Core). Adicionamos um arquivo SWAP para aumentar a RAM:
- Framework: Streamlit Web App para interface do usuário.
- Capture: Sistema baseado em snapshot (processamento em memória RAM, sem persistência em disco para garantir privacidade e economia de storage).
- Network: Cloudflare Tunnel (Quick Tunnel) para exposição segura da porta 8501, substituindo o DuckDNS.
- Compute: Instância Ubuntu na OCI (AMD/ARM).
- Optimization: Configuração de arquivo SWAP e redução de resolução para viabilizar a detecção de IA em CPUs de baixo custo.
- AI Engine: MediaPipe Hands, configurado com
static_image_mode=Truepara análise de fotos estáticas.
Abaixo, exemplos reais de captura e análise processados na instância OCI:
- Languages: Python 3.12.
- AI/Vision: MediaPipe (Core), OpenCV.
- Frontend: Streamlit.
- Infrastructure: Oracle Cloud Infrastructure (OCI).
- Connectivity: Cloudflare Tunnels.
- Math: Geometria Analítica e Distância Euclidiana para lógica de contagem independente de ângulo.
- Ingestion: O usuário captura uma imagem através do componente
st.camera_input. - Preprocessing: A imagem é convertida em matrizes NumPy e processada inteiramente em memória.
- Inference: O MediaPipe mapeia as 21 coordenadas 3D da mão.
- Logic: Um algoritmo de Distância Euclidiana calcula a extensão dos dedos em relação ao pulso. Isso permite que a contagem funcione com a mão em qualquer posição (horizontal ou vertical).
- Visualization: O sistema renderiza o "esqueleto" da mão com
mp_drawinge retorna a métrica de dedos detectados.
- Instância OCI ativa.
- Python 3.x com ambiente virtual configurado.
cloudflaredinstalado na VM para tunelamento.
- Integração com OCI Autonomous Database para log de telemetria de gestos.
- Expansão para suporte a múltiplos gestos complexos (Libras).
- Implementação de Docker para padronização do ambiente de deploy.
Developed by: [Wellington Carlos / UNIVESP] Data Science & Analytics.




