artigosarticles
pt 5 min

Por que parei de tentar segmentar mãos e voltei pro MediaPipe

Tentei treinar segmentação de mãos do zero por três fins de semana. O MediaPipe Hands resolveu em uma tarde. Notas do que deu errado.

#cv#mediapipe

Passei três fins de semana convencido de que precisava de um modelo de segmentação próprio. Spoiler: não precisava.

O problema

Queria detectar a posição dos dedos para o cubo mágico controlado por gesto. Minha primeira ideia foi treinar uma U-Net pequena para segmentar a mão e extrair a pose dos contornos.

Por que não funcionou

A virada

O MediaPipe Hands entrega 21 landmarks 3D por mão, roda em tempo real no CPU e já vem treinado. Troquei semanas de trabalho por:

const landmarker = await HandLandmarker.createFromOptions(vision, {
  baseOptions: { modelAssetPath: "/wasm/hand_landmarker.task", delegate: "GPU" },
  numHands: 2,
});

A lição não é “MediaPipe é melhor”. É que eu estava resolvendo um problema que já estava resolvido.

O que ficou

Foco no que é meu: o mapeamento landmark→gesto→rotação do cubo. Essa parte ninguém resolve por mim — e é onde o tempo deveria ter ido desde o começo.