Motion Check비교 화면으로 돌아가기 ↗
EXPERIMENT NOTE · 2026.09.22

지정한 동작을 따라 했는가.
자세와 시간을 나누어 확인하다.

두 영상의 관절을 비교하는 작은 실험을 끝까지 실행했다. 명시적인 팔 자세 차이는 잡혔고, 반복 춤의 순서·생략은 놓쳤다. 성공 사례와 실패 사례를 같은 기준으로 공개한다.

YOLO11s-pose · 정규화 2D 관절 · 제한된 hard-DTW · RTX 4090 · 개발 실험
실행한 비교
21 cases

실제 춤 8 · 합성 변형 8 · 별도 생성 1 · 명시적 자세 4. 같은 원본의 변형이 포함된다.

명시적 자세 예시
1 일치 · 3 불일치

추론 전 시각 초안으로 고정한 네 사례에서 기대한 진단이 나왔다. 모집단 정확도는 계산하지 않는다.

확인한 중요한 실패
순서 · 생략 · 정지

실제 반복 춤의 세 변형에서 검토 신호가 없었다. 낮은 DTW 거리는 동작 완료를 보장하지 않는다.

01

틀린 신체 부위까지 찾을 수 있는가

기준은 양팔을 머리 위로 뻗은 실제 관측 구간이다. 별도로 생성한 보조 영상에서 안정적인 1초 구간 네 개를 골랐다. 생성 프롬프트의 요구 시각을 정답으로 삼지 않고, 포즈 추론 전에 영상의 모습을 검토했다.

양팔 머리 위

일치 예시

검토 신호 없음
DTW 거리
0.070
관측률
100%

한쪽 팔만 머리 위

반대쪽 팔이 아래에 남음

검토 필요
DTW 거리
0.317
관측률
100%

양팔 수평

머리 위 대신 어깨 높이

검토 필요
DTW 거리
0.327
관측률
100%

양팔 아래

요구한 팔 동작을 수행하지 않음

검토 필요
DTW 거리
0.504
관측률
100%
한쪽 팔 오류는 전체 평균만으로 놓칠 수 있다.

한 팔만 든 사례의 전체 거리는 0.317로 평균 검토 기준 0.35보다 작았다. 그러나 해부학적 왼팔, 즉 화면 오른쪽 팔의 평균 거리는 0.997로 오른팔 0.165보다 컸고, 부위별 기준이 검토 신호를 냈다. 관측된 잘못된 팔의 위치와 일치한다.

거리 단위는 몸통 길이이며 확률·정확도가 아니다. 네 클립은 관련된 생성 영상에서 얻은 시각 초안으로, 독립 전문가나 여러 사람의 검증을 대신하지 않는다. 관절각의 정밀 정답도 없다.

02

속도를 허용하면, 오류도 숨을 수 있다

시간 정렬이 해결한 차이

합성 영상의 구간별 속도 변형에서 정규화 시간 대응 거리는 0.226 → DTW 0.010으로 줄었다. 실제 Floss의 같은 변형은 0.170 → 0.041이었다. 대응 시점이 어긋나 생긴 차이를 줄이는 용도에는 도움이 됐다.

시간 정렬이 해결하지 못한 조건

실제 Floss는 3.1초의 짧고 반복적인 춤이다. 중간 구간의 순서 교환 0.114, 생략 0.071, 정지 0.084가 모두 aligned로 남았다. 합성 영상의 중간 생략도 0.014로 놓쳤다.

이 실험의 핵심 한계: 낮은 거리를 “제대로 따라 했다”로 읽을 수 없다.

DTW는 관측된 자세 사이의 대응을 찾는다. 반복 동작에서는 빠진 단계도 다른 비슷한 프레임과 맞을 수 있다. 단계별 필수 관측, 순서, 유지 시간, 완료 여부를 명시하는 평가와 독립 정답이 추가로 필요하다.

별도로 생성한 두 12초 영상은 순서가 비슷하고 팔 모양·시점이 달랐다. 비교 거리는 0.055, 관측률은 100%였다. 후보의 더 구부러진 팔을 관측했지만, 허용 각도 명세 없이 잘못된 동작으로 단정하지 않았다.

03

해석할 수 있는 비교부터

01 · 포즈 추출

YOLO11s-pose로 모든 프레임의 COCO17 관절을 추론. 정확히 한 사람만 허용한다.

02 · 위치·크기 정규화

골반 중점을 원점으로, 어깨–골반 중점 거리를 1로 둔다. 양쪽 어깨·골반이 필요하다.

03 · 시간 대응

12Hz로 실제 프레임을 샘플링하고 정규화 시간 대응과 제한된 단조 DTW를 비교한다.

04 · 부위별 진단

전신·팔·다리·몸통 거리와 관측률, 시간 왜곡, 골반 이동을 별도로 확인한다.

설정의미
관절 신뢰도≥ 0.30낮은 신뢰도의 관절은 관측 거리에서 제외
최소 관측률80%미만은 unknown · 누락을 0오차로 채우지 않음
전체 / 부위 평균 검토0.35 / 0.50몸통 길이 단위의 개발용 기준
부위 p95 검토0.75전체 평균이 국소 오류를 희석하는 문제 보완
DTW 제한진행도 차이 25% · 이동 비용 0.05시작·끝 고정, 단조 대응, 좌우 반전 자동 허용 안 함
반복 대응 / 골반 이동 검토1초 초과 / 0.50 이상정지와 이동 차이에 대한 별도 신호

기준은 실제 영상 결과에 맞춰 튜닝하지 않았다. 합성 단위 테스트에서 한 팔 오류의 평균 희석을 확인한 뒤, 실제 영상 비교 전에 p95 기준을 추가했다. 임시 공학적 기준이며 사람 평가에 맞춰 보정한 합격선이 아니다.

관측 불가 쌍의 DTW 경로 비용 1.0은 측정된 자세 오차가 아니다. 전체 결과는 경로의 반복 대응을 포함하므로, 화면의 후보 프레임별 표시 평균과 다를 수 있다. 본체 점수는 관절 5–16, 관절별 기록은 머리까지 17개를 보존한다. 골반 이동 지표는 카메라 이동에 강건하지 않다.

04

전체 21개 비교 결과

aligned는 충분히 관측된 좌표에서 설정한 검토 신호가 없다는 뜻이다. needs_review는 차이 또는 시간 왜곡 신호, unknown은 관측 부족이다. 세 상태의 합계는 각각 12·6·3이다.

거리: 몸통 길이 단위. 관측률: 포즈·대응·필수 부위 관측률의 최솟값. “미검출” 열은 사전 변형 기대와 진단의 차이를 표시한다.

명시적 자세 비교

양팔 머리 위 자세를 기준으로 사전에 시각 검토한 1개 일치·3개 불일치 클립

조건사전 기대관측 결과시간 대응 거리DTW 거리관측률미검출
양팔 머리 위 · 일치 예시검토 신호 없음검토 신호 없음0.0700.070100.0%
한쪽 팔만 머리 위검토 필요검토 필요0.3170.317100.0%
양팔 수평 · 다른 자세검토 필요검토 필요0.3270.327100.0%
양팔 아래 · 다른 자세검토 필요검토 필요0.5040.504100.0%

독립 생성 연속 동작

같은 지시로 별도 생성한 두 영상의 관측된 동작을 비교

조건사전 기대관측 결과시간 대응 거리DTW 거리관측률미검출
같은 지시, 별도 생성 영상정성 비교검토 신호 없음0.0740.055100.0%

합성 동작 스트레스 검사

한 합성 원본에서 만든 8개 결정적 변형. 독립 수행자 평가가 아님

조건사전 기대관측 결과시간 대응 거리DTW 거리관측률미검출
원본 동일 입력검토 신호 없음검토 신호 없음0.0000.000100.0%
전체 속도 1.35배 느리게검토 신호 없음검토 신호 없음0.0090.008100.0%
구간별 속도 변화검토 신호 없음검토 신호 없음0.2260.010100.0%
동작 구간 순서 교환검토 필요검토 필요0.1690.088100.0%
중간 동작 생략검토 필요검토 신호 없음0.1390.014100.0%놓침
중간 프레임 정지검토 필요검토 필요0.1110.067100.0%
좌우 반전 · 엄격한 좌우 대응검토 필요검토 필요0.1400.140100.0%
중간 구간 영상 소실 · 전체 검정 프레임관측 소실관측 부족0.0040.00440.0%

실제 Floss 춤 스트레스 검사

3.1초 실제 춤 영상과 8개 변형. 반복 춤의 비교 한계를 포함

조건사전 기대관측 결과시간 대응 거리DTW 거리관측률미검출
원본 동일 입력검토 신호 없음검토 신호 없음0.0000.00094.6%
전체 속도 1.35배 느리게검토 신호 없음검토 신호 없음0.0530.02190.2%
구간별 속도 변화검토 신호 없음검토 신호 없음0.1700.04188.6%
동작 구간 순서 교환검토 필요검토 신호 없음0.1610.11487.8%놓침
중간 동작 생략검토 필요검토 신호 없음0.1860.07185.7%놓침
중간 프레임 정지검토 필요검토 신호 없음0.0840.08486.5%놓침
좌우 반전 · 엄격한 좌우 대응검토 필요관측 부족0.2710.17878.4%관측 부족
중간 구간 영상 소실 · 전체 검정 프레임관측 소실관측 부족0.0170.01735.1%

중간 구간 영상 소실은 가운데 60% 구간의 화면 전체를 검정으로 바꾼 검사다. 상체 부분 가림 실험이 아니다. 원본 변형은 새로운 수행자가 아니며 모두 실제 변형 영상을 다시 포즈 추론했다. 엄격한 반전 비교에서 실제 춤은 관측 부족이었다. 좌우 보정 비교는 별도로 저장되며, 더 작은 점수를 자동 선택하지 않는다.

05

실행 속도는 측정 범위와 함께

로컬 포즈 추출 · 클립별 평균
67.0–109.0 FPS

프레임당 평균 9.17–14.93ms의 역수. RTX4090 · FP32 · 입력960 · CUDA 동기화.

CPU 비교 · 클립 쌍별
9.2–139.0 ms

이미 추출된 관절 배열 준비·시간 정렬·집계. 영상 디코딩과 GPU 포즈 추론 제외.

웹에서 제공하는 것
기록 재생

정적 사이트에서 미리 계산한 영상·관절·비교를 재생한다. 브라우저 GPU 실시간 추론은 구현하지 않았다.

포즈 추출은 3회 준비 실행 후 측정했다. 디코딩·포즈 추론·후처리를 포함하고 JSON 저장·시각화는 제외한다. 전체 영상을 사용하는 DTW는 오프라인 분석이다. 위 수치를 촬영부터 표시까지의 지연이나 온라인 서비스 FPS로 해석하지 않는다.

06

Physical AI와 연결되는 범위

구현한 것은 영상에서 몸의 상태를 관측하고 기준 수행과 비교하는 지각·평가 단계다. 물리적 행동을 결정하거나 실행하는 로봇 제어, 액추에이터, 환경과의 상호작용, 피드백 제어 루프는 포함하지 않는다.

이번에 확인한 것

  • 속도 차이를 정렬하면서 부위별 오차를 보여 줄 수 있다.
  • 한 팔·수평 팔·양팔 아래의 명시적 차이를 네 개발 예시에서 구분했다.
  • 관측 부족을 별도 상태로 남기고 실패 조건을 기록했다.

다음 검증에 필요한 것

  • 다른 사람의 실제 기준·수행 영상과 독립적인 오류 정답.
  • 긴 동작의 필수 단계·순서·유지 시간·완료 기준.
  • 시점·카메라 이동·가림 변화와 검증/평가 분리.
07

영상부터 원시 관절까지 재현 가능하게

Motion Check 실험 패키지

공개 영상, 원시 포즈, 비교 결과, 추론·변형·평가 코드, 사전 기준, 시각 초안, 문헌 검토와 출처를 포함한다. 모델 가중치는 공식 배포처에서 별도 다운로드한다.

재현 패키지 받기 ↓
python restore_media.py
python experiments/motion_compliance/test_compare_motion.py
python experiments/motion_compliance/summarize_experiment.py
python experiments/motion_compliance/export_motion_web.py

위 명령은 패키지의 README 설치 안내 후 실행한다. 저장된 관절 비교는 CPU에서 재현할 수 있다. 새로운 영상의 포즈 추출은 제공된 스크립트 기준 CUDA GPU가 필요하다. 패키지 크기·SHA256 확인 · 공개 실험 매니페스트

영상 출처와 이용 조건

실제 춤은 LittleT889의 Floss (dance)를 사용했다. 원본과 변형 영상은 CC BY-SA 4.0이며 GIF를 H.264로 변환하고 시간·순서·프레임·반전을 조작했다. 파일별 귀속과 변경 내용을 제공한다. 나머지는 Higgsfield / Seedance 2.5로 만든 합성 영상이며 실제 사람의 수행 데이터로 제시하지 않는다. 두 매체의 권리 조건을 구분한다.

포즈 모델은 Ultralytics YOLO11을 사용했다. 모델·소프트웨어의 라이선스는 영상의 CC 조건과 별개다. 현재 실험은 아래 학습 모델의 재현이 아니라, 문헌의 문제 구분을 참고해 구현한 2D 포즈와 hard-DTW 기준선이다.

검토한 연구 16편

시간 정렬, 포즈 표현, 춤 데이터, 동작 품질 평가를 구분해 검토했다. 논문별 공개 코드·가중치 확인 상태와 적용 한계는 ZIP의 LITERATURE_REVIEW.md 및 sources.json에 기록했다.