1인칭 영상 한 편으로 카메라 위치와 손 동작을 3D로 복원했습니다
GoPro 1인칭 영상 한 편에서 카메라가 지나간 경로와 손의 움직임을 3D로 복원했습니다. 결과와 함께 어떤 조건에서 측정했는지도 적었습니다.
로봇에게 사람의 손 작업을 가르치려면 손이 언제 어디를 지났는지가 3D 좌표로 남아 있어야 합니다. 저희 연구팀은 이 좌표를 GoPro 한 대로 찍은 1인칭 영상에서 얻는 실험을 했습니다. 카메라가 지나간 경로와 손의 움직임을 같은 영상에서 함께 복원한 결과입니다.
입력: 작업자가 쓴 카메라 한 대
입력은 GoPro로 촬영한 1인칭 영상입니다. 작업자가 카메라를 착용하고 실제로 일하며 찍은 촬영본이며, 시뮬레이션 렌더는 쓰지 않았습니다. 촬영은 1920×1080, 초당 60프레임입니다.
이 소재를 고른 이유는 현장에서 구할 수 있는 가장 쉬운 데이터이기 때문입니다. 별도 스튜디오나 마커가 필요 없습니다. 작업자는 카메라 한 대만 쓰면 됩니다. 이 영상을 좌표로 바꾸는 일이 피지컬 AI(Physical AI) 학습 데이터 구축의 앞단입니다.
처리: 영상 한 편에서 두 갈래
영상 한 편에서 두 가지를 뽑습니다. RGB와 IMU로 카메라 오도메트리를 얻습니다. RGB로는 3D 손 동작을 복원합니다. 두 트래킹은 서로 독립된 파이프라인이라 각각 따로 써도 결과가 나옵니다. 이번 데모는 둘을 한 장면에 합쳤을 때 무엇이 더 보이는지 확인한 시연입니다.
오도메트리는 연속된 프레임의 변화를 누적해 카메라가 어디로 얼마나 움직였는지 추정하는 방법입니다. 이 데모에서는 영상과 함께 GoPro에 내장된 IMU 값을 입력으로 씁니다. 오도메트리는 영상을 960×540으로 줄여서 처리합니다. 손 동작 복원은 원본 해상도를 그대로 씁니다.

출력: 복원한 공간 안에 경로와 손을 함께 올린다
작업 공간은 Gaussian Splatting으로 복원해 3D 공간으로 만듭니다. 그 안에 추정한 카메라 포즈와 손 동작을 함께 렌더합니다.
둘을 한 공간에 올리는 것이 이 데모의 핵심입니다. 카메라 경로와 손 동작이 같은 좌표계에 놓여야 손이 공간의 어느 지점에서 무엇을 했는지가 하나의 기록으로 남습니다.
영상 화면은 세 부분입니다. 왼쪽 아래가 GoPro 원본, 가운데 아래는 추정한 카메라 포즈에서 복원 공간을 렌더한 화면, 메인 뷰는 복원 공간에 카메라 경로와 손 동작을 함께 올린 결과입니다. 메인 뷰의 배경은 가상 공간입니다. 그 안의 카메라 경로와 손 동작은 실제 촬영본에서 추정한 값입니다.
가운데 아래 화면이 검증 장치입니다. 추정한 포즈에서 렌더한 장면이 같은 순간의 원본과 겹쳐 보이면 포즈가 맞는 것입니다. 어긋나면 그 구간에서 트래킹이 흔들린 것입니다.
측정한 값
카메라 위치 오차는 중앙값 약 1.4cm입니다. 트래킹이 어려운 구간에서는 3cm 안팎까지 벌어집니다. 비교 기준은 같은 영상을 오프라인으로 처리한 값입니다. 공간 전체를 찍은 외부 시점 이미지까지 넣어 함께 정합한 결과라 더 정확하다고 보고 이를 준정답으로 삼았습니다. 오도메트리 추론 속도는 27 FPS입니다.
27 FPS는 오도메트리가 초당 27프레임의 카메라 포즈를 추정한다는 뜻입니다. 촬영 프레임레이트인 60과 1:1은 아닙니다. 영상 추론 분야에서 실시간은 통상 초당 15프레임 이상, 지연 1~2초 이내를 뜻합니다. 이 기준에서 27 FPS는 실시간에 해당합니다.
카메라 경로 트래킹만 따로 쓰면: 공간을 걸어간 경로
두 갈래 중 카메라 경로 트래킹만 떼어 공간 이동에 쓰면 무엇이 남는지도 확인했습니다. 공간을 한 번 걸으며 찍은 1인칭 영상을 복원한 3D 공간에 정합해 카메라의 위치와 방향을 프레임 단위로 추정합니다.
영상의 노란 점 하나하나가 추정된 카메라 위치입니다. 다만 화면의 점은 경로를 부분적으로 찍은 표본입니다. 실제 추정 경로는 이보다 촘촘합니다.
손 작업 단위의 트래킹과 공간 단위의 궤적 복원은 스케일이 다릅니다. 카메라 한 대의 영상에서 6DoF 경로를 얻는다는 점은 같습니다.
3D 공간을 복원하는 과정 자체는 이전 글에서 다뤘습니다.
자세히 보기 → 3D Gaussian Splatting으로 집 안을 디지털 트윈으로 복원한 기록
저희가 밝혀두는 조건
수치보다 측정 조건이 먼저라고 생각해 이 글에서 확인된 범위를 적습니다.
- 측정 장비는 NVIDIA A6000 GPU 한 장입니다.
- 입력은 GoPro 1인칭 영상, 1920×1080, 초당 60프레임입니다. 오도메트리는 960×540으로 줄여 처리했습니다. 손 동작 복원은 원본 해상도를 썼습니다.
- 27 FPS는 오도메트리 추론 속도입니다. 실시간의 기준은 초당 15프레임 이상, 지연 1~2초 이내라는 영상 추론 분야의 통상 기준을 따랐습니다.
- 테스트 영상은 1분 안팎입니다. 영상 길이는 처리 속도와 무관합니다.
- 위치 오차 중앙값 1.4cm는 오프라인 처리 결과(외부 시점 이미지 포함 정합)를 준정답으로 둔 상대 비교값입니다. 모션캡처 같은 외부 정답 장비와 비교한 값이 아니며, 어려운 구간은 3cm 안팎, 가장 나쁜 프레임은 그보다 큽니다.
- 궤적 편에는 확정된 정량 수치가 없습니다. 만들어 붙이지 않았습니다.
- 두 영상 모두 사내 데모 결과입니다. 외부 벤치마크나 공개 데이터셋에서 측정한 값이 아닙니다.
- 장면 조건에 따라 트래킹이 어려운 경우가 있습니다. 카메라가 움직이는 동시에 장면의 큰 부분도 함께 움직이면 어느 쪽이 움직였는지 구분하기 어렵습니다. IMU 가속도만으로는 위치 변화를 정확히 잡기 어렵습니다.
로봇 학습용 행동 데이터 구축을 검토 중이시라면 아래 내용을 남겨주세요. 슈퍼브 전문가가 바로 연락 드리겠습니다.
슈퍼브에이아이는 산업 현장의 시각 데이터를 기업이 활용할 수 있는 인텔리전스로 전환하는 비전 인텔리전스 기업입니다. 1인칭 영상에서 사람의 행동을 좌표로 남기는 데이터 파이프라인을 구축합니다.