Estimativa de pose no AutoScript Sync

Quando o AutoScript Sync cria um funscript, a estimativa de pose é feita por um modelo YOLOv8-pose rodando no seu PC. Ele encontra cada pessoa num quadro amostrado e coloca 17 pontos-chave nela. Um rastreador acompanha essas pessoas de quadro em quadro e transforma o movimento delas em sinais de posição candidatos. A pose é opcional: é um candidato entre vários, e sem um modelo de pose o motor roda apenas com o fluxo óptico.

Conferido com o código do app em 21 de setembro de 2026.

Qual modelo cada nível de Accuracy usa

Há quatro tamanhos de YOLOv8-pose. O app baixa o pequeno automaticamente; os outros vêm do seletor Download best dentro do app, que recomenda o modelo grande numa GPU e o pequeno numa CPU.

Modelos YOLOv8-pose e quando o app os escolhe
ModeloTamanhoEscolhido para, numa GPU CUDA
yolov8n-pose (nano)~13 MBFast
yolov8s-pose (pequeno)~45 MBBalanced; o download padrão
yolov8m-pose (médio)~99 MBSegunda opção para Balanced e High quando a primeira opção deles não está instalada
yolov8l-pose (grande)~168 MBHigh

Este mapeamento vale com Auto-pick model tier from Accuracy ativado, que é o padrão. O app só pode escolher um modelo que já esteja instalado, então numa instalação padrão todos os níveis rodam o modelo pequeno até você baixar outros. Numa CPU, os limites são deliberados: Fast usa só o nano, e Balanced e High usam no máximo o pequeno. Você também pode apontar o app para um arquivo de modelo por conta própria.

O que o modelo vê: 17 pontos-chave por pessoa

Por padrão, a pose roda em todos os quadros amostrados, na mesma imagem de análise de 320 px de largura que o resto do motor usa. Esse quadro recebe barras (letterbox) até o tamanho de entrada do modelo: um modelo ONNX usa o tamanho com que foi exportado (640 px nas exportações padrão), e um modelo .pt executado pelo pacote Ultralytics embutido trabalha a 320 px.

Cada pessoa detectada com confiança acima de 0,35 é mantida, com os 17 pontos-chave COCO padrão: pontos da cabeça, ombros, cotovelos, pulsos, quadris, joelhos e tornozelos. A frequência com que a pose roda é um intervalo em config.json (pose_every_n), definido de fábrica como todos os quadros amostrados.

Como o rastreador de pessoas mantém as identidades

As detecções só são úteis se a mesma pessoa for acompanhada ao longo da cena. O AutoScript Sync usa seu próprio rastreador para isso, não um pronto. Ele associa pessoas entre quadros pela distância entre os centros das caixas e pelo tamanho das caixas, pegando primeiro a correspondência mais próxima.

A partir das pessoas rastreadas, ele monta vários sinais candidatos: o movimento vertical dos quadris e o movimento relativo entre pares de regiões do corpo (quadril com quadril, cabeça com quadril, mãos com quadril), cada um dividido pelo tamanho do corpo. Cada candidato é pontuado em três coisas:

  • o quanto ele se repete: a parcela da sua potência no pico mais forte entre 0,2 e 4 Hz;
  • cobertura: por quanto da cena ele foi de fato medido, com qualquer valor abaixo de 40% pontuado como zero;
  • amplitude: o quanto ele se move.

O candidato com a melhor pontuação vence separadamente em cada capítulo de cena, então uma mudança de posição entre cenas pode mudar qual sinal de região do corpo a pose contribui.

O que a pose acrescenta ao script

A pose não escreve o script sozinha. O traçado de posição final é construído a partir do fluxo óptico preso a uma âncora, e a pose é uma das candidatas a âncora, ao lado do centro da região em movimento e da profundidade. Ela só pode se tornar a âncora única eleita de um vídeo quando cobre pelo menos 25% do vídeo e sua pontuação ponderada pela qualidade é maior que 0,6 vez a pontuação do centro da região. Quando não é eleita, ela ainda alimenta a mistura padrão, amostra a amostra, de todos os canais legíveis, e essa mistura só é usada se pontuar pelo menos tão bem quanto o canal eleito. As pontuações da eleição de cada candidato são gravadas nos metadados do script, para que você veja quem venceu.

A pose também ajuda a rotular o tipo de movimento. A geometria dos pontos-chave e a posição do rosto são usadas como evidência para o rótulo de cada janela de 2 segundos, e podem prevalecer sobre a decisão do classificador ou ajustá-la.

O quanto a pose melhora o traçado dos cursos não foi demonstrado. Num filme de teste, ligar ou desligar a pose moveu a concordância de cursos (F1) com nosso script de referência apenas entre 0,607 e 0,610, abaixo da diferença de 0,01 que o desenvolvedor considera significativa (o ruído de uma execução para outra foi de cerca de ±0,005). Essa referência era a saída do motor guiada por uma caixa de rastreamento desenhada à mão, não um script feito à mão, e nenhuma comparação entre os modelos de pose leve e pesado quanto à precisão dos cursos foi registrada.

Rodar na GPU, e o recurso à CPU

Os modelos de pose rodam localmente como ONNX pelo ONNX Runtime, ou como arquivos .pt pela pilha Ultralytics e PyTorch embutida. A aceleração é apenas NVIDIA CUDA; não há aceleração AMD ou Intel para os modelos, e o TensorRT não é usado.

O ONNX Runtime pode carregar silenciosamente na CPU quando o CUDA não é utilizável, então o app verifica qual provedor uma sessão realmente recebeu, em vez de supor. Se uma GPU CUDA foi pedida mas não pode ser usada, a pose recorre à CPU e o app informa o provedor em uso. O botão Check GPU faz essa verificação quando você quiser; os ms/quadro que ele mostra são o autoteste do próprio modelo de pose, não a velocidade de uma análise inteira.

Por padrão, o app também desliga o autoajuste do cuDNN para que a inferência na GPU dê os mesmos números de uma execução para outra, com algum custo de velocidade. Isso não garante um script idêntico ao gerar de novo, porque o app aprende entre as execuções.

Limites

  • Corpos escondidos. Um ponto-chave que o modelo não enxerga não é medido. Um sinal candidato medido em menos de 40% de uma cena pontua zero, e a pose não pode se tornar a âncora eleita com menos de 25% de cobertura do vídeo, então em cenas muito encobertas o script se apoia no fluxo óptico e no centro da região.
  • Quadros cheios de gente. O rastreador associa pessoas apenas pela posição e pelo tamanho da caixa. Ele não tem modelo de aparência, então quando as pessoas se sobrepõem ou se cruzam, as identidades podem ser trocadas entre quadros.
  • Figuras pequenas. A pose roda no quadro de análise de 320 px, então uma pessoa que ocupa uma parte pequena de um plano aberto dá ao modelo poucos pixels para trabalhar.
  • Velocidade. A pose tem sido a maior parte do tempo de análise nas medições do desenvolvedor, e é por isso que os níveis escolhem modelos menores para Fast e limitam o tamanho do modelo numa CPU.

Perguntas

Preciso de um modelo de pose para fazer um script?

Não. Sem ele, o motor roda apenas com o fluxo óptico e a linha de status Inference avisa isso. O modelo de pose pequeno é baixado automaticamente, a menos que você desative os downloads automáticos.

Devo baixar o modelo de pose grande?

Numa GPU NVIDIA, o Download best o recomenda e o High vai usá-lo. Não medimos se ele faz scripts melhores que o modelo pequeno, então é uma escolha, não uma solução.

A pose roda numa placa de vídeo AMD ou Intel?

Sem aceleração. Os modelos de IA usam apenas NVIDIA CUDA; em outro hardware, a pose roda na CPU, o que funciona, mas é bem mais lento.

O modelo de pose envia alguma coisa pela internet?

Não. Ele roda no seu PC, e os módulos de análise do app não têm nenhum código de rede. Só o download do modelo em si precisa de internet.

Leia a seguir

Experimente nos seus próprios vídeos

O teste dura um dia e roda no seu próprio PC; seus vídeos são analisados localmente e nunca são enviados.