AutoScript Sync의 자세 추정
AutoScript Sync가 funscript를 만들 때 자세 추정은 PC에서 실행되는 YOLOv8-pose 모델이 맡습니다. 샘플링된 프레임에서 사람을 찾아 각자에게 17개의 키포인트를 찍습니다. 트래커가 프레임마다 그 사람들을 따라가며 움직임을 후보 위치 신호로 바꿉니다. 자세 추정은 선택 사항입니다: 여러 후보 중 하나일 뿐이며, 자세 모델이 없으면 엔진은 옵티컬 플로우만으로 실행됩니다.
2026년 9월 21일에 앱의 코드와 대조해 확인했습니다.
Accuracy 단계별로 사용하는 모델
YOLOv8-pose에는 네 가지 크기가 있습니다. 앱은 small 모델을 자동으로 내려받고, 나머지는 앱 안의 Download best 선택 창에서 받을 수 있으며, GPU에서는 large 모델을, CPU에서는 small 모델을 권장합니다.
| 모델 | 크기 | CUDA GPU에서 선택되는 설정 |
|---|---|---|
yolov8n-pose(nano) | 약 13 MB | Fast |
yolov8s-pose(small) | 약 45 MB | Balanced, 기본 다운로드 |
yolov8m-pose(medium) | 약 99 MB | Balanced와 High의 첫 번째 선택이 설치되어 있지 않을 때의 두 번째 선택 |
yolov8l-pose(large) | 약 168 MB | High |
이 대응 관계는 기본값인 Auto-pick model tier from Accuracy가 켜져 있을 때 적용됩니다. 앱은 이미 설치된 모델만 고를 수 있으므로, 기본 설치 상태에서는 다른 모델을 내려받기 전까지 모든 단계가 small 모델로 실행됩니다. CPU에서는 상한이 의도적으로 정해져 있습니다: Fast는 nano만, Balanced와 High는 최대 small 모델까지 사용합니다. 모델 파일을 직접 지정할 수도 있습니다.
모델이 보는 것: 사람마다 17개의 키포인트
자세 추정은 기본적으로 샘플링된 모든 프레임에서, 엔진의 나머지 부분과 같은 가로 320 px 분석 이미지로 실행됩니다. 그 프레임은 레터박스를 넣어 모델의 입력 크기에 맞춥니다: ONNX 모델은 내보낼 때의 크기(표준 내보내기는 640 px)를 쓰고, 함께 포함된 Ultralytics 패키지로 실행하는 .pt 모델은 320 px로 동작합니다.
신뢰도 0.35를 넘게 감지된 사람은 모두 표준 COCO 키포인트 17개(머리 점, 어깨, 팔꿈치, 손목, 엉덩이, 무릎, 발목)와 함께 유지됩니다. 자세 추정을 얼마나 자주 실행할지는 config.json의 간격 값(pose_every_n)으로 정하며, 기본값은 샘플링된 모든 프레임입니다.
사람 트래커가 동일 인물을 유지하는 방법
감지 결과는 장면 전체에서 같은 사람을 따라갈 때만 쓸모가 있습니다. AutoScript Sync는 이를 위해 기성품이 아닌 자체 트래커를 사용합니다. 상자 중심 사이의 거리와 상자 크기로 프레임 간 사람을 짝짓고, 가장 가까운 짝부터 연결합니다.
추적된 사람들로부터 여러 후보 신호를 만듭니다: 엉덩이의 수직 움직임, 그리고 신체 부위 쌍(엉덩이와 엉덩이, 머리와 엉덩이, 손과 엉덩이)의 상대적 움직임을 각각 신체 크기로 나눈 값입니다. 각 후보는 세 가지로 점수를 매깁니다:
- 얼마나 강하게 반복되는지: 0.2~4 Hz 사이의 가장 강한 피크가 전체 파워에서 차지하는 비율;
- 커버리지: 장면 중 실제로 측정된 비율이며, 40% 미만은 0점;
- 진폭: 얼마나 크게 움직이는지.
가장 점수가 높은 후보가 장면 챕터마다 따로 선택되므로, 장면 사이에 체위가 바뀌면 자세 추정이 제공하는 신체 부위 신호도 바뀔 수 있습니다.
자세 추정이 스크립트에 더하는 것
자세 추정만으로 스크립트를 쓰지는 않습니다. 최종 위치 궤적은 앵커에 고정된 옵티컬 플로우로 만들어지며, 자세는 움직이는 영역의 중심, 깊이와 함께 앵커 후보 중 하나입니다. 자세가 영상의 단일 앵커로 선정되려면 영상의 25% 이상을 커버하고, 품질 가중 점수가 영역 중심 점수의 0.6배를 넘어야 합니다. 선정되지 않더라도 읽을 수 있는 모든 채널을 샘플마다 섞는 기본 블렌드에는 계속 들어가며, 그 블렌드는 선정된 채널 이상의 점수를 받을 때만 사용됩니다. 각 후보의 선정 점수는 스크립트 메타데이터에 기록되므로 무엇이 선택되었는지 확인할 수 있습니다.
자세 추정은 모션 유형 라벨링에도 도움이 됩니다. 키포인트 배치와 얼굴 위치가 2초 구간마다의 라벨을 정하는 근거로 쓰이며, 분류기의 판단을 뒤집거나 조정할 수 있습니다.
자세 추정이 스트로크 궤적을 얼마나 개선하는지는 입증되지 않았습니다. 한 테스트 영상에서 자세 추정을 켜고 끄는 것은 기준 스크립트와의 스트로크 일치도(F1)를 0.607과 0.610 사이에서만 움직였으며, 이는 개발자가 의미 있다고 보는 0.01 차이보다 작습니다(실행 간 노이즈는 약 ±0.005). 그 기준 스크립트는 수작업 스크립트가 아니라 손으로 그린 추적 상자로 유도한 엔진 출력이었으며, 가벼운 자세 모델과 무거운 자세 모델의 스트로크 정확도 비교는 기록된 적이 없습니다.
GPU에서의 실행과 CPU 대체
자세 모델은 ONNX Runtime을 통한 ONNX로, 또는 함께 포함된 Ultralytics와 PyTorch를 통한 .pt 파일로 로컬에서 실행됩니다. 가속은 NVIDIA CUDA만 지원합니다. 모델에 대한 AMD나 Intel 가속은 없으며, TensorRT도 사용하지 않습니다.
ONNX Runtime은 CUDA를 쓸 수 없을 때 조용히 CPU로 로드될 수 있으므로, 앱은 짐작하지 않고 세션이 실제로 어떤 프로바이더를 받았는지 확인합니다. CUDA GPU를 요청했지만 쓸 수 없으면 자세 추정은 CPU로 전환되고 앱은 사용 중인 프로바이더를 보고합니다. Check GPU 버튼은 이 검사를 원할 때 실행합니다. 표시되는 ms/프레임은 분석 전체의 속도가 아니라 자세 모델 자체의 셀프 테스트 결과입니다.
기본적으로 앱은 cuDNN 자동 튜닝도 꺼서, 속도를 어느 정도 희생하는 대신 GPU 추론이 실행할 때마다 같은 수치를 내게 합니다. 다만 앱이 실행 사이에 학습하므로, 다시 생성했을 때 똑같은 스크립트가 나온다고 보장하지는 않습니다.
한계
- 가려진 신체. 모델이 볼 수 없는 키포인트는 측정되지 않습니다. 장면의 40% 미만만 측정된 후보 신호는 0점이며, 영상 커버리지가 25% 미만이면 자세는 선정 앵커가 될 수 없으므로, 많이 가려진 장면에서는 스크립트가 옵티컬 플로우와 영역 중심에 의존합니다.
- 사람이 많은 프레임. 트래커는 상자 위치와 크기만으로 사람을 짝짓습니다. 외형 모델이 없으므로 사람들이 겹치거나 엇갈리면 프레임 사이에서 신원이 뒤바뀔 수 있습니다.
- 작은 인물. 자세 추정은 320 px 분석 프레임에서 실행되므로, 와이드 샷에서 화면의 작은 부분만 차지하는 사람은 모델이 활용할 픽셀이 적습니다.
- 속도. 개발자의 측정에서 자세 추정은 분석 시간 중 가장 큰 비중을 차지했습니다. 그래서 Fast에서는 더 작은 모델을 고르고, CPU에서는 모델 크기에 상한을 둡니다.
질문
스크립트를 만들려면 자세 모델이 필요한가요?
아니요. 자세 모델이 없으면 엔진은 옵티컬 플로우만으로 실행되며, Inference 상태 줄에 그렇게 표시됩니다. 자동 다운로드를 끄지 않는 한 small 자세 모델은 자동으로 내려받아집니다.
large 자세 모델을 내려받아야 하나요?
NVIDIA GPU에서는 Download best가 이를 권장하고 High가 이를 사용합니다. small 모델보다 더 나은 스크립트를 만드는지는 측정하지 않았으므로, 해결책이 아니라 선택 사항입니다.
AMD나 Intel 그래픽카드에서도 자세 추정이 실행되나요?
가속되지 않습니다. AI 모델은 NVIDIA CUDA만 사용하며, 다른 하드웨어에서는 자세 추정이 CPU에서 실행됩니다. 동작은 하지만 훨씬 느립니다.
자세 모델이 온라인으로 무언가를 보내나요?
아니요. PC에서 실행되며, 앱의 분석 모듈에는 네트워크 코드가 없습니다. 인터넷이 필요한 것은 모델 다운로드뿐입니다.
다음 읽을거리
- AI funscript 생성의 원리전체 파이프라인과 그 안에서 자세 추정의 위치.
- 옵티컬 플로우 모션 트래킹자세 추정과 비교되는 신호.
- MiDaS를 이용한 깊이 추정또 하나의 선택 모델과, 그 모델이 복원하는 축.
- Windows에서 AutoScript Sync 실행하기GPU, CPU, 설치 프로그램이 함께 설치하는 것, 모델이 저장되는 위치.
여러분의 영상으로 직접 사용해 보세요
체험판은 하루 동안 여러분의 PC에서 실행됩니다. 영상은 로컬에서 분석되며 절대 업로드되지 않습니다.