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.
| Modelo | Tamanho | Escolhido para, numa GPU CUDA |
|---|---|---|
yolov8n-pose (nano) | ~13 MB | Fast |
yolov8s-pose (pequeno) | ~45 MB | Balanced; o download padrão |
yolov8m-pose (médio) | ~99 MB | Segunda opção para Balanced e High quando a primeira opção deles não está instalada |
yolov8l-pose (grande) | ~168 MB | High |
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
- Como funciona a geração de funscript com IAO pipeline completo, e onde a pose se encaixa nele.
- Rastreamento de movimento por fluxo ópticoO sinal com o qual a pose é comparada.
- Estimativa de profundidade com MiDaSO outro modelo opcional, e o eixo que ele recupera.
- Rodar o AutoScript Sync no WindowsGPU, CPU, o que o instalador traz e onde ficam os modelos.
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.