생성 품질과 속도를 측정하는 방법
저희가 공개하는 모든 funscript 벤치마크의 방법론입니다: 생성된 스크립트를 기준 스크립트와 비교해 점수를 매기는 방법, 기준 스크립트의 출처, 그리고 현재 가진 유일한 속도 수치. 이 페이지에는 아직 정확도 표가 없습니다. 직접 만든 스크립트와 비교해 점수를 매긴 첫 번째 묶음은 나왔으며, 정확도 수치를 공개하기 전에 튜닝에 쓰지 않은 두 번째 묶음을 먼저 평가합니다.
2026년 9월 21일에 프로젝트의 측정 도구 및 기록과 대조해 확인했습니다.
스크립트의 점수를 매기는 방법
funscript는 시간에 따른 위치의 목록입니다. 점수 매기기는 전환점에서 시작합니다. 전환점이란 스크립트가 한 방향으로의 움직임을 멈추고 반대 방향으로 움직이기 시작하는 모든 지점입니다. 영상의 같은 구간에서 생성된 스크립트의 전환점을 기준 스크립트의 전환점과 비교합니다.
- 매칭
- 생성된 전환점이 기준 전환점의 ±150 ms 안에 있으면 일치로 셉니다. 그보다 멀리 떨어진 것은 한쪽에서는 놓친 것, 다른 쪽에서는 불필요한 추가 전환점이 됩니다.
- F1
- 기준 전환점 중 몇 개를 찾았는지와 생성된 전환점 중 몇 개가 실제인지를 합친 하나의 수치입니다. 1.0은 모든 전환점이 일치하고 지어낸 것이 하나도 없다는 뜻이며, 놓친 전환점과 불필요한 전환점 모두 수치를 낮춥니다.
- 타이밍 오차
- 일치한 전환점에 대해서만, 두 전환점이 몇 밀리초 떨어져 있는지를 중앙값과 90번째 백분위수로 보고합니다. 평균이나 95번째 백분위수는 계산하지 않습니다. 일치하지 않은 전환점은 이 수치에서 빠지므로, 타이밍 오차는 항상 함께 나온 F1과 나란히 읽어야 합니다. F1이 낮을 때의 낮은 타이밍 오차는 찾아낸 전환점만을 설명합니다.
- 스트로크 크기 비율
- 생성된 스크립트의 스트로크 길이 중앙값을 기준 스크립트의 스트로크 길이 중앙값으로 나눈 값이며, 매칭은 하지 않습니다. 1.0은 평균적으로 크기가 맞는 스트로크라는 뜻이고, 1.0보다 작으면 스트로크가 너무 작다는 뜻입니다.
- 전환 빈도와 유휴 움직임
- 직접 만든 스크립트와 비교할 때는 초당 방향 전환 횟수도 세고, 스크립트 작성자가 동작이 없다고 표시한 구간에서 스크립트가 얼마나 계속 움직이는지도 셉니다.
한 영상에서 같은 설정으로 반복 실행하면 F1이 약 ±0.005 달라졌으므로, 두 버전이나 설정 사이의 차이가 0.01 F1보다 작으면 노이즈로 취급합니다.
기준 스크립트의 출처
점수는 비교 대상 스크립트만큼만 믿을 수 있으며, 프로젝트 역사의 대부분 동안 그 스크립트는 독립적이지 않았습니다.
2026년 9월 19일까지: Live Track 기준
2026년 9월 19일 이전에 기록된 모든 F1, 타이밍, 스트로크 크기 수치는 엔진을 Live Track 기준과 비교한 것입니다. 이 기준은 2026년 8월 22일 시점 엔진 자체의 출력으로, 사람이 추적 상자를 끌어서 조정한 것이지 직접 손으로 만든 스크립트가 아니었습니다. 새 버전이 이 기준과 다른 결과를 내는 것은 더 나빠서일 수도 있고, 그 기준을 만든 엔진보다 더 좋아서일 수도 있습니다. 그래서 이 비교는 나쁜 변경을 막을 수는 있지만 개선을 확인할 수는 없으며, 여기서 나온 수치는 직접 만든 스크립트 대비 정확도가 아니라 저희 기준과의 일치도로만 설명할 수 있습니다. 이 사이트에 나왔던 "27 ms" 타이밍 수치는 이런 비교에서 나온 것입니다.
2026년 9월 19일부터: 블라인드로 직접 작성한 클립
이제 기준 정답은 블라인드 절차에 따라 손으로 작성한 짧은 클립에서 나옵니다.
- 고정된 난수 시드로 고른 구간에서 테스트 영상을 12초 길이의 클립으로 자릅니다. 각 클립에는 무작위 이름이 붙고, 소리, 제목, 타임코드가 없습니다.
- 각 클립이 어느 영상에서 나왔는지 알려 주는 키는 따로 보관하며 스크립트를 작성하는 동안 열지 않고, 작성 순서는 영상들을 섞어 둡니다.
- 스크립트 작성자는 첫 클립을 작성하기 전에 확정한 서면 규칙에 따라 각 클립의 funscript를 손으로 만듭니다.
- 각 클립의 가운데 8초만 점수를 매기며, 양 끝의 2초는 제외합니다.
- 같은 구간에 대한 엔진의 스크립트를 위의 측정 방식으로 직접 만든 스크립트와 비교해 점수를 매깁니다.
기준 정답 자체를 점검하기 위해 확인한 결과, 확인한 9개 클립 중 7개에서 작성자의 스트로크 빈도가 영상 자체의 주된 움직임 주파수와 약 0.1 Hz 이내로 일치했습니다.
2026년 9월 19일에 점수를 매긴 첫 번째 묶음(다섯 개 영상에서 나온 28개 클립)에는 분명히 밝혀 둘 두 가지 한계가 있습니다. 한 사람, 즉 개발자가 작성했습니다. 그리고 클립이 기본 설정을 튜닝한 바로 그 다섯 영상에서 나왔으므로, 튜닝에서 제외된 것이 없습니다. 약점을 찾는 데는 좋지만 대표 수치로 쓰기에는 맞지 않는 탐색용 묶음입니다.
유일한 속도 측정
현재 속도 수치는 PC 한 대에서 나온 하나뿐입니다. 모든 조건과 함께 읽어 주세요.
| 조건 | 값 |
|---|---|
| 하드웨어 | NVIDIA RTX 5080 그래픽카드, Intel i7-13700K 프로세서 |
| 정확도 단계 | Balanced, 새로 설치한 상태의 기본값(YOLOv8s 자세 모델, MiDaS small 깊이 모델, 3프레임마다 1프레임 분석) |
| 빌드 | 버전 2.121.2 기본값, 설치된 앱이 아니라 소스에서 실행. 2.121.2는 빌드되었지만 출시되지 않았으며, 고객은 2.121.1을 사용 중 |
| 영상 | 영상 5편, 길이 32~39분, 29~60 fps, 1080p 및 2160p |
| 분석 프레임당 소요 시간 | 26.3–36.7 ms |
| 영상당 소요 시간 | 8.2~28.5분 |
| 시점 | 2026년 9월 15일경 |
그 PC에서는 다섯 영상 모두 분석 시간이 재생 시간보다 짧았습니다. Balanced는 3프레임마다 1프레임을 분석하므로, 60 fps 영상은 30 fps 영상보다 분당 분석할 프레임이 두 배 많고 시간도 대략 두 배 걸립니다. 실제 소요 시간은 PC가 동시에 하는 다른 작업에도 좌우됩니다. 실행이 다른 작업과 겹쳤을 때는 같은 영상이 훨씬 오래 걸렸습니다.
프로젝트 기록에는 위의 범위만 남아 있습니다. 이 실행의 영상별 세부 내역은 보관하지 않았으므로, 특정 영상과 시간을 짝지어 말하지 않습니다.
이는 여러분의 PC에 대한 약속이 아닙니다. 다른 그래픽카드, 프로세서만으로 실행하는 경우, High 및 Fast 단계에 대해서는 아무것도 말해 주지 않습니다.
아직 측정하지 않은 것
- 다른 그래픽카드. 시간을 잰 것은 RTX 5080뿐입니다. 중급 그래픽카드에 대한 수치는 없습니다.
- 프로세서만 사용. 앱은 NVIDIA 그래픽카드 없이도 더 느리게 실행되지만, 그 시간은 재지 않았습니다.
- 현재 설정의 High 및 Fast 단계. 둘 다 현재 기준의 시간 측정이 없습니다.
- 설치된 앱. 지금까지의 모든 측정은 설치 프로그램 빌드가 아니라 소스에서 실행한 것입니다.
- 직접 만든 스크립트 대비 타이밍 오차. 직접 작성한 묶음에는 F1, 전환 빈도, 스트로크 크기, 유휴 움직임이 있지만, 밀리초 단위 타이밍 오차는 아직 없습니다.
- 실제 세션에서의 기기 지연과 드리프트. 기기가 실제로 영상을 얼마나 정확히 따라가는지 기록한 것은 없습니다. Autoblow AI Ultra의 왕복 지연, 드리프트, 시작 오프셋을 측정한 값이 없으며, Intiface 기기나 DeoVR에 대해서도 없습니다. 앱이 Autoblow 드리프트를 보정하는 방법에 설명된 드리프트 기준값은 앱이 목표로 하는 값이지 측정 결과가 아닙니다. 실제 하드웨어로 테스트한 기기는 Autoblow AI Ultra뿐이며, The Handy, Kiiroo, Lovense, OSR2/SR6는 시뮬레이션된 기기로만 테스트했습니다.
- 튜닝에서 제외된 정확도 묶음. 설정 튜닝에 한 번도 쓰지 않은 영상의 클립 묶음은 아직 점수를 매기지 않았습니다.
- 기본 앱의 모션 유형 분류. 실행 중인 앱이 사용하는 특징값에서의 정확도는 한 번도 측정한 적이 없습니다.
결과를 공개하는 시점
직접 작성한 첫 번째 묶음은 점수를 매겼습니다. 이를 통해 엔진의 약점이 드러났습니다. 빠른 장면에서 작성자보다 전환점을 적게 만들고, 가장 빠른 장면에서는 스트로크가 작아지며, 동작이 없는 구간에서도 계속 움직입니다. 클립이 기본값을 튜닝한 영상에서 나왔고 작성자가 한 명이었으므로, 이 묶음의 F1이나 스트로크 크기 수치를 정확도 수치로 인용하지 않습니다.
이 사이트에 정확도 수치를 올리기 전에, 설정 튜닝에 쓰지 않은 영상에서 튜닝 제외 묶음을 잘라 같은 방식으로 점수를 매길 것입니다. 그때가 되면 이 페이지에 위의 방법론, 클립과 영상의 수, 작성자와 함께 수치를 보여 드리겠습니다. 나중에 추가하는 속도 수치에도 위의 수치와 같은 조건, 즉 그래픽카드, 단계, 프레임 레이트, 해상도, 빌드를 함께 적겠습니다. 날짜는 정하지 않았습니다.
질문
"타이밍 오차 중앙값 27 ms"는 어떻게 되었나요?
이 수치는 엔진 출력이었던 Live Track 기준과 비교해 측정한 것이며, ±150 ms 안에서 일치한 전환점만 셌습니다. 현재 Balanced 기본값에서 같은 측정을 하면 영상별로 21~35 ms가 나오지만, 이는 직접 만든 스크립트 대비 정확도가 아니라 저희 자체 기준과의 일치도입니다. 직접 만든 스크립트 대비 타이밍 오차는 아직 계산하지 않았습니다.
제 PC에서는 얼마나 빠를까요?
아직 말씀드릴 수 없습니다. 유일한 측정은 RTX 5080에서 한 것으로, 32~39분 길이의 영상이 Balanced에서 8.2~28.5분 걸렸습니다. 다른 그래픽카드나 프로세서만 사용하는 경우의 수치는 없습니다. 무료 체험판으로 여러분의 하드웨어에서 직접 시간을 재 볼 수 있습니다.
직접 작성한 결과를 왜 지금 공개하지 않나요?
이 묶음은 정확도 수치로 내세우기에는 범위가 너무 좁기 때문입니다. 작성자가 한 명이고, 클립이 기본값을 튜닝한 바로 그 영상에서 나왔습니다. 튜닝에서 제외된 묶음이 두 번째 문제를 해결하며, 그것이 먼저입니다.
Accuracy 설정이 품질을 바꾸나요?
분석하는 프레임 수를 바꿉니다. High는 2프레임마다, Balanced는 3프레임마다, Fast는 4프레임마다 1프레임을 분석합니다. 2026년 9월 초에 한 영상에서, 당시의 엔진과 High 설정으로 Live Track 기준과 비교해 점수를 매겼을 때, Fast는 High의 약 절반 수준의 F1에 그쳤습니다(0.316 대 0.605). 현재 설정에서 단계별로 직접 만든 스크립트와 비교한 적은 없습니다.
다음 읽을거리
- 엔진의 작동 방식자세, 옵티컬 플로우, 깊이, 그리고 각각이 스크립트에 기여하는 것.
- 드리프트 보정Autoblow AI Ultra에서의 재생을 영상과 맞추는 방법, 그리고 그에 대해 측정한 것과 측정하지 않은 것.
- Report Studio여러분이 생성한 결과의 보고서를 브라우저에서 확인하세요.
- 로컬 처리여기서 시간을 잰 분석은 여러분의 PC에서 실행됩니다.
여러분의 영상으로 직접 측정해 보세요
체험판은 하루 동안 사용하는 완전한 앱이므로, 여러분의 PC에서 생성 시간을 재고 스크립트를 직접 평가할 수 있습니다.