CARI4D 소개
여행지에서 누군가 무거운 상자를 들어 올리는 짧은 영상을 스마트폰으로 찍었다고 상상해 봅시다. 우리 눈은 그 사람이 상자를 어떻게 잡고, 얼마나 힘을 주며, 상자가 실제로 얼마만 한 크기인지 자연스럽게 알아챕니다. 하지만 컴퓨터에게 이 한 대의 카메라로 찍은 평범한 영상만 주고 "사람과 사물이 3차원 공간에서 시간에 따라 어떻게 맞닿아 움직이는지"를 복원하라고 하면, 이는 대단히 어려운 문제가 됩니다.
이 글에서 소개하는 CARI4D(Category Agnostic 4D Reconstruction of human-object Interaction) 는 바로 이 문제를 다룹니다. 단안(monocular) RGB 영상 한 편만으로 사람과 사물의 4D 상호작용(human-object interaction) 을, 즉 3차원 형상과 자세를 시간 축(video)에 걸쳐 일관되게, 그리고 실제 크기(metric scale)로 복원하는 방법입니다. NVIDIA, University of Tübingen, Tübingen AI Center, Max Planck Institute for Informatics의 공동 연구로 CVPR 2026에 발표되었으며, 저자들은 이 방법이 사전에 정의된 사물 카테고리에 얽매이지 않는(category-agnostic) 첫 번째 접근 이라고 소개합니다.
왜 단안 RGB 영상에서의 복원이 어려운가
사람과 사물의 상호작용을 정밀하게 캡처하는 전통적인 방법은 특수 스튜디오나 다중 시점 카메라 배열(multi-view camera array) 같은 값비싼 장비를 필요로 했습니다. 영화, 게임, 로보틱스, 증강 및 가상 현실 등 다양한 곳에 쓰였지만, 이런 방식은 확장성(scalability) 이 없다는 근본적인 한계가 있었습니다. 반면 스마트폰으로 찍은 단안 RGB 영상은 온라인에 넘쳐나고, 새로 찍기도 쉽고 저렴합니다. 그래서 이런 평범한 영상에서 곧바로 4D 상호작용을 뽑아내는 기술이 큰 가치를 가집니다.
하지만 RGB 영상만으로 복원하려면 세 가지 난관을 넘어야 합니다. 첫째, 사람과 사물의 형상 및 자세는 대상이나 카테고리에 따라 크게 달라집니다. 둘째, 깊이(depth) 정보가 없어서 실제 크기와 세밀한 기하 구조를 복원하기 어렵습니다. 셋째, 상호작용 과정에서 발생하는 심한 가림(occlusion) 속에서도 형상, 크기, 자세, 동역학을 함께 추론해야 합니다.
기존 접근법과 그 한계
이 난관들을 피하기 위해, 기존 연구들은 문제를 단순화하는 쪽을 택했습니다.
첫 번째 계열은 정답 사물 템플릿(ground truth object template) 을 미리 알고 있다고 가정합니다. 대표적으로 VisTracker는 알려진 사물 메시(mesh)를 입력으로 받아 그 사물에 특화된(instance-specific) 자세 추정기를 학습합니다. 정확하지만, 새로운 사물이 등장하면 그 템플릿을 다시 마련해야 하므로 현실의 임의의 영상에는 쓰기 어렵습니다.
두 번째 계열은 사물의 카테고리가 사전에 정해져 있다 고 가정합니다. InterTrack은 사물 템플릿 없이도 학습된 카테고리 안에서는 형상과 자세를 복원하고 추적할 수 있지만, 학습 데이터에 없던 카테고리로는 일반화하지 못합니다.
세 번째 계열은 이미지 기반 복원입니다. 최근의 PICO는 야외에서 수집한 사람과 사물의 접촉(contact) 데이터베이스를 구축해 더 많은 카테고리를 다룹니다. 인상적인 결과를 보여주지만, 접촉 검색(contact retrieval)이 여전히 주석이 달린(annotated) 카테고리로 제한되고, 프레임마다 따로 처리하다 보니 영상 전체에 걸친 이동(translation)이 일관되지 못합니다. 게다가 이미지당 약 5 분이 걸릴 만큼 계산 비용이 큽니다.
정리하면, 정확한 방법은 사전 지식(템플릿, 카테고리)에 의존하고, 일반적인 방법은 시간적 일관성을 잃습니다. CARI4D는 이 둘 사이의 간극을 메우려 합니다.
CARI4D의 발상 전환
CARI4D의 핵심 아이디어는 "완벽한 단일 모델을 새로 학습시키기보다, 이미 잘 작동하는 여러 파운데이션 모델(foundation model) 의 예측을 영리하게 조합하자"는 것입니다.
형상 복원, 자세 추정(pose estimation), 장면 이해(scene understanding) 각 분야에는 이미 뛰어난 일반화 성능을 가진 파운데이션 모델들이 있습니다. 문제는 이들을 그냥 이어 붙이기가 쉽지 않다는 점입니다. 각 모델의 예측이 서로 다른 좌표계(coordinate space)에 놓여 있고, 입력 잡음에 취약하며, 상호작용에서 결정적으로 중요한 세밀한 접촉을 전혀 고려하지 않기 때문입니다.
그래서 CARI4D는 두 단계로 접근합니다. 먼저 파운데이션 모델들의 예측을 같은 실제 크기 공간에 정렬(align) 해 튼튼한 초기값(initialization)을 얻고, 그다음 상호작용에 특화된 모델을 새로 학습시켜 접촉을 추론하고 자세를 다듬습니다. 마치 여러 전문가의 개별 소견을 한 명의 조율자가 같은 기준으로 맞춰 종합한 뒤, 마지막에 상호작용 전문가가 세부를 손보는 것과 비슷합니다.
그 결과, CARI4D는 학습에 사용한 카테고리를 벗어난 사물에도 제로샷(zero-shot) 으로 적용되어, 인터넷의 야외(in-the-wild) 영상에서도 동작합니다. 위 히어로 이미지에서 볼 수 있듯 타이어, 시멘트 포대, 스키 장비, 역기처럼 서로 전혀 다른 사물을 든 사람의 4D 상호작용을 복원해 냅니다.
방법론: 네 단계로 이루어진 파이프라인
CARI4D의 전체 흐름은 네 단계로 구성됩니다. (1) 실제 크기 사물 복원, (2) 사람과 사물의 자세 초기화, (3) CoCoNet을 통한 접촉 추론 및 정제, (4) 접촉 기반 결합 최적화입니다.
형식적으로, 사람이 사물과 상호작용하는 N 개의 RGB 이미지 시퀀스가 주어질 때, 목표는 사물 메시 \mathbf{O} 와 프레임별 6자유도(6DoF) 자세 \mathcal{O}_i = (\mathbf{R}^o, \mathbf{t}^o) 를 복원하는 것입니다. 여기서 회전은 \mathbf{R}^o \in SO(3), 이동은 \mathbf{t}^o \in \mathbb{R}^3 입니다. 사람은 SMPL-H 신체 모델을 사용해 프레임별 매개변수 \mathcal{H}_i = (\boldsymbol{\theta}, \beta, \mathbf{t}^h) 를, 즉 신체 자세 \boldsymbol{\theta}, 체형 \beta, 전역 이동 \mathbf{t}^h 를 추정합니다. 중요한 점은 사람과 사물을 모두 실제 크기(metric scale) 로, 그리고 일관된 전역 이동으로 복원한다는 것입니다. 이는 로봇 학습 같은 후속 응용에서 특히 중요합니다.
1단계: 실제 크기 사물 복원
첫 단계는 사물의 형상을 실제 크기로 복원하는 것입니다. CARI4D는 영상의 첫 프레임에서 사물이 대부분 보인다고 가정합니다. 사람이 사물과 본격적으로 상호작용하기 전, 사물 곁에 서 있는 흔한 촬영 상황을 활용한 것입니다.
구체적으로는 f-BRS로 사물 마스크(mask)를 얻고, Hunyuan3D-2 로 사물 메시를 복원합니다. 그런데 Hunyuan3D는 그럴듯한 메시를 만들어 주지만, 자체 로컬 좌표계에서 정규화된 크기(normalized scale)로 출력할 뿐 카메라 기준의 실제 크기나 자세는 알려주지 않습니다. 실제 크기를 복원하기 위해, UniDepth 로 실제 크기 깊이(metric depth)를 추정하고, FoundationPose 를 이용해 크기를 거친 단계에서 세밀한 단계로(coarse-to-fine) 격자 탐색(grid search)합니다.
미리 정의한 후보 크기들에 대해 각각 메시 크기를 조정한 뒤 FoundationPose로 6DoF 자세를 추정하고, 분할된(segmented) 사물 점군(point cloud)에서 그 크기와 자세로 변환한 메시까지의 단방향 챔퍼 거리(chamfer distance)로 후보들을 정렬합니다. 상위 3 개 크기를 고른 다음, (0.8 s_{\min}, 1.2 s_{\max}) 범위에서 10 개의 크기를 균일하게 다시 샘플링해 더 정밀하게 탐색합니다. 챔퍼 거리가 최소가 되는 크기로 초기 Hunyuan3D 메시를 조정한 결과가 실제 크기 사물 메시 \mathbf{O} 가 됩니다.
2단계: 사람과 사물의 자세 초기화
이제 사람과 사물을 같은 실제 크기 공간에 놓이도록 초기 자세를 잡습니다.
앞서 얻은 실제 크기 메시가 있으면 UniDepth로 깊이를 추정하고 FoundationPose로 프레임별 사물 자세를 풀 수 있습니다. 그러나 FoundationPose는 원래 센서에서 얻은 깊이와 알려진 텍스처 메시를 가정합니다. 추정된 깊이를 그대로 넣으면 깊이 추정 잡음, 불완전한 Hunyuan3D 메시, 상호작용 중의 가림 때문에 결과가 불안정합니다.
사물 자세 가설 선택(Pose Hypothesis Selection)
이 문제를 풀기 위해 저자들은 자세 가설 선택 알고리즘 을 제안합니다. 핵심 통찰은 이렇습니다. FoundationPose는 내부적으로 프레임마다 K 개의 자세 후보와 각각의 품질 점수를 만들어 내고, 그중 점수가 가장 높은 하나를 출력합니다. 그런데 CARI4D가 다루는 어려운 상황에서는 이 최상위(top-1) 예측이 종종 틀립니다. 다만 올바른 자세는 대개 K 개 후보 안에 들어 있습니다. 그렇다면 프레임마다 시각적 단서와 시간적 일관성을 이용해 최적의 후보를 동적으로 골라내면 됩니다.
두 가지 기준으로 잘못된 자세를 걸러냅니다. 첫째는 마스크 IoU 입니다. 각 자세 후보를 2D 마스크로 렌더링해 입력 이미지의 사물 마스크와 비교하되, 가림을 고려하기 위해 사람 마스크를 빼고 계산합니다. IoU가 임계값 \delta_m 보다 작은 후보는 버립니다. 둘째는 시간적 평활성(temporal smoothness) 입니다. 후보 회전과 직전 프레임 회전 사이의 측지 거리(geodesic distance)를 재서, 임계값 \delta_R 보다 큰 후보를 버립니다.
두 필터를 통과한 목록에서 첫 번째 후보를 최종 자세로 삼습니다. 만약 가림이나 깊이 누락으로 모든 후보가 걸러지면, S 프레임만큼 앞으로 건너뛰어 좋은 후보를 찾을 수 있는 미래 프레임으로 이동한 뒤, 거기서부터 자세 추적을 거꾸로(backward) 수행합니다. 장기 가림 상황에서는 여러 번 건너뛰는 것도 가능합니다. 견고함을 더하기 위해 FoundationPose를 RGB 전용 모드(깊이 이미지를 0으로 설정)와 RGBD 모드 양쪽으로 돌려 K 개 후보를 얻습니다. 저자들은 이 동적 선택과 전후방(forward-backward) 추적이 기본적인(vanilla) FoundationPose보다 크게 나은 결과를 준다고 보고합니다.
사람 추정과 정렬
사람에 대해서는 NLF를 프레임마다 돌려 초기 자세를 얻습니다. NLF는 RGB 이미지만 사용하므로, 예측된 사람이 (사물이 정렬된 기준인) UniDepth의 실제 크기 깊이와 어긋날 수 있습니다. 그래서 NLF 예측의 깊이 z 와 전역 크기(global scale)를 반복 최근접점(iterative closest point, ICP) 방식으로 최적화해 UniDepth가 예측한 사람 깊이에 맞춥니다.
3단계: 접촉 추론과 정제 (CoCoNet)
2단계까지의 초기값은 합리적이지만, 사람과 사물이 따로따로 예측되었기 때문에 둘 사이의 세밀한 상호작용을 반영하지 못합니다. 사물이 아무 접촉 없이 공중에 떠 있거나(floating), 깊이 잡음 때문에 사람과 서로 뚫고 들어가는(penetration) 문제가 생깁니다.
이를 해결하기 위해 저자들은 CoCoNet(Category agnostic Contact reasoning Network) 을 도입합니다. 사람과 사물을 함께 정제하면서 동시에 세밀한 접촉을 추정하는 모델입니다.
CoCoNet은 렌더-앤-컴페어(render-and-compare) 패러다임과 시공간 어텐션(spatiotemporal attention)을 결합해 설계되었습니다. 렌더-앤-컴페어란, 현재 추정한 3D 자세를 이미지로 렌더링한 뒤 실제 입력 관측과 비교해 그 차이만큼 자세를 보정하는 방식입니다. 복원한 사람과 사물 메시를 초기 자세로 렌더링해 RGB \hat{\mathbf{I}}_i, 깊이 \hat{\mathbf{D}}_i, 마스크 \hat{\mathbf{M}}_i 를 만듭니다. 이때 의미론적 추론을 돕기 위해 SMPL 메시를 신체 부위마다 서로 다른 정점 색(vertex color)으로 칠합니다.
CoCoNet은 이 렌더링 결과와 카메라에서 얻은 실제 관측을 함께 받아, 각 자세 매개변수에 대한 델타 갱신값 \Delta\hat{\mathcal{H}}_i, \Delta\hat{\mathcal{O}}_i 와 손 접촉 레이블 \mathbf{c}_i \in \{0,1\}^2 를 예측합니다. 접촉 레이블은 두 손이 각각 사물과 닿아 있는지를 나타냅니다. 특징 추출에는 고정된(frozen) DINOv2 인코더로 RGB 특징을, 학습 가능한 경량 DINOv2 인코더로 마스크와 깊이에서 역투영한 3D 점 지도(point map)의 특징을 뽑습니다. 인코더는 렌더링과 실제 입력 사이에 공유됩니다. 그 위에 여러 시공간 어텐션 블록을 적용하고 MLP로 출력을 예측합니다.
학습을 위한 깊이 정렬
CoCoNet 학습에는 미묘하지만 중요한 장치가 하나 더 있습니다. 학습 데이터를 만들 때 초기 사물 자세는 잡음이 있는 추정 깊이에 정렬되는데, 이는 정답 자세가 정렬된 정답 깊이와 어긋납니다. 이 불일치를 그대로 두고 학습하면, 모델이 사람과 사물의 상대 자세를 바로잡는 대신 깊이 추정기의 오차 패턴에 과적합(overfit) 되어 버립니다. 여러 데이터셋을 섞어 학습할 때는 깊이 추정기의 오차 패턴이 데이터셋마다 크게 달라지므로 문제가 더 심각해집니다.
그래서 추정 깊이 \mathbf{D}^{\text{pr}} 를 정답 깊이 \mathbf{D}^{\text{gt}} 에 먼저 정렬한 뒤 사람과 사물 자세를 초기화합니다. 정렬은 크기 s 와 이동 t 를 이용한 \mathbf{D}^{\text{align}} = s \cdot \mathbf{D}^{\text{pr}} + t 형태이며, MiDaS를 따라 예측 및 정답 깊이의 중앙값(median)으로 s, t 를 추정합니다. 이 정렬은 깊이 추정에서 오는 절대 이동 오차를 제거해, 네트워크가 사람과 사물 사이의 상대 자세 추론에만 집중하도록 만듭니다. 테스트 시점에는 어떤 정렬도 하지 않습니다. 네트워크가 이미 주어진 깊이와 일관된 자세를 내도록 학습되었기 때문입니다.
학습은 자세 \mathcal{H}_i, \mathcal{O}_i 에 대한 표준 L1 손실, 접촉 \mathbf{c}_i 에 대한 이진 교차 엔트로피(binary cross entropy) 손실을 사용하며, 사물의 대칭 변환을 주석으로 달아 대칭 손실(symmetry loss)도 적용합니다.
4단계: 접촉 기반 결합 최적화
CoCoNet의 순전파(feedforward) 예측은 사람과 사물의 상대 자세를 개선하지만, 접촉이 실제로 만족되는지, 예측이 이미지와 정확히 맞는지까지 보장하지는 못합니다. 마지막으로 CoCoNet이 예측한 접촉을 안내자 삼아, 접촉을 고려한 결합 최적화(joint optimization)로 접촉 일관성과 동작 평활성을 더 끌어올립니다. 목적 함수는 다음과 같습니다.
여기서 L_c 는 접촉이 예측된 경우 사람 손과 사물 사이의 거리를 줄이는 접촉 손실입니다. L_{\text{j2d}} 는 SMPL 신체 관절의 2D 투영 손실, L_m 은 사물 마스크에 대한 가림 인식(occlusion-aware) 손실입니다. 여기에 서로 뚫고 들어가는 것을 막는 관통 손실(penetration loss) L_{\text{pen}} 과, 가속도가 0에 가깝도록 유도해 움직임을 매끄럽게 만드는 가속도 손실 L_{\text{acc}} 를 더합니다.
실험 결과 및 성능 분석
저자들은 BEHAVE와 HODome 데이터셋으로 모델을 학습하고, BEHAVE 테스트셋과 학습에 쓰지 않은 InterCap 테스트셋으로 평가했습니다. 두 데이터셋 모두 다중 시점으로 촬영되었는데, 기존 방법들은 가림이나 시야각과 무관하게 고정된 한 시점을 골라 평가하곤 했습니다. 이는 가장 일반적인 설정이지만 실제 영상 촬영과는 거리가 있어서, CARI4D는 첫 몇 프레임에서 사물이 대부분 보이는 시점을 선택해 후속 응용에 더 적합하도록 평가했습니다. 최종적으로 BEHAVE에서 62 개, InterCap에서 22 개 영상을 평가에 사용했습니다.
평가 지표로는 복원 메시와 정답 메시 사이의 챔퍼 거리(cm)를 사람(CD-h), 사물(CD-o), 결합 메시(CD-c)로 나누어 보고합니다. 기존 연구들은 깊이-크기 모호성을 없애려고 프레임마다 정답에 맞춰 정렬했지만, 이는 4D 복원에서 흔히 나타나는 시간적으로 불일치한 크기나 이동 표류(translation drift)의 악영향을 무시합니다. CARI4D는 세계 좌표계의 이동까지 고려하기 위해, 첫 프레임 복원을 정답에 정렬한 뒤 같은 변환을 영상 전체에 적용 합니다. 또한 움직임의 매끄러움을 재는 가속도 오차(Acc-h, Acc-o)도 보고합니다.
BEHAVE 데이터셋 비교
먼저 학습 분포 내(in-distribution) BEHAVE 테스트셋에서 InterTrack, VisTracker와 비교합니다.
| 방법 | CD-h ↓ | CD-o ↓ | CD-c ↓ | Acc-h ↓ | Acc-o ↓ |
|---|---|---|---|---|---|
| InterTrack | 25.71 | 47.66 | 30.20 | 5.23 | 5.64 |
| VisTracker† | 13.52 | 18.29 | 14.22 | 0.54 | 0.77 |
| CARI4D (Ours) | 7.74 | 12.05 | 9.23 | 1.14 | 0.35 |
템플릿이 필요 없는 InterTrack은 사람과 사물을 프레임마다 정규화된 4D 점군 시퀀스로 복원합니다. 표면 복원이 없고 프레임마다 크기가 달라 후속 응용에 쓰기 어려우며, 이동을 휴리스틱과 2D 경계 상자(bounding box)로 추정해 전역 이동이 일관되지 않고 오차가 큽니다. VisTracker는 원래 알려진 사물 템플릿이 필요하므로, 공정한 비교를 위해 CARI4D가 복원한 사물 메시를 정답에 정렬해 넣어 주었습니다(표에서 † 표기). 일관된 이동과 매끄러운 움직임은 얻지만, 자세와 접촉 예측 잡음 탓에 정확도가 떨어집니다. CARI4D는 결합 챔퍼 거리(CD-c) 기준으로 기존 방법 대비 35\% 이상 우수합니다.
InterCap 데이터셋 제로샷 일반화
다음으로 학습에 전혀 쓰지 않은 InterCap 테스트셋에서 제로샷 일반화 능력을 이미지 기반 PICO, 영상 기반 InterTrack 및 VisTracker와 비교합니다. PICO는 이미지당 약 5 분이 걸리는 최적화 기반 방법이라 전체 영상에 돌리기 어려워 핵심 프레임(3 fps)에서만 비교했습니다(표의 ∗ 표기, 가속도 지표는 해당 없음).
| 방법 | CD-h ↓ | CD-o ↓ | CD-c ↓ | Acc-h ↓ | Acc-o ↓ |
|---|---|---|---|---|---|
| PICO∗ | 5.15 | 27.63 | 87.73 | - | - |
| CARI4D (Ours)∗ | 3.21 | 9.04 | 5.90 | - | - |
| InterTrack | 34.79 | 40.37 | 33.53 | 4.34 | 5.26 |
| VisTracker† | 16.12 | 27.41 | 20.17 | 0.98 | 1.25 |
| CARI4D (Ours) | 11.06 | 15.69 | 12.88 | 1.25 | 0.82 |
PICO는 사람 신체의 접촉 예측에 의존해 사물 메시와 사람-사물 정점 대응을 검색하는데, 접촉 예측 잡음 때문에 좌우가 뒤바뀌거나 접촉 위치가 틀리는 오류가 생겨 사물 자세와 형상 모두 큰 오차를 냅니다. InterTrack과 VisTracker는 카테고리 또는 인스턴스에 특화된 추적 방법이라 InterCap의 처음 보는 사물에 잘 일반화하지 못합니다. 반면 CARI4D는 카테고리 독립적이라 새로운 인스턴스와 카테고리로 일반화하며, 결합 챔퍼 거리 기준 약 36\% 의 개선을 보입니다.
Ablation Study: 각 구성 요소의 기여
저자들은 전체 BEHAVE 테스트셋의 부분 집합(24 개 영상, 모든 사물 포함)으로 설계 선택을 하나씩 뜯어봅니다.
| 설정 | CD-h ↓ | CD-o ↓ | CD-c ↓ | Acc-h ↓ | Acc-o ↓ |
|---|---|---|---|---|---|
| a. 기본 NLF + FP 추적 | 11.53 | 1565.42 | 405.13 | 3.06 | 4.34 |
| b. 기본 NLF + FP 프레임별 추정 | 11.53 | 40.54 | 13.02 | 3.06 | 9.26 |
| c. 제안 초기화 (NLF + FP) | 7.81 | 16.85 | 10.79 | 2.21 | 8.36 |
| d. c + 정제 (정렬 없음) | 8.01 | 13.55 | 9.95 | 2.08 | 3.74 |
| e. c + 정제 (정렬 있음) | 7.01 | 11.59 | 8.62 | 1.75 | 3.78 |
| f. 전체 모델 | 8.41 | 11.57 | 9.35 | 1.06 | 0.38 |
먼저 자세 초기화의 효과가 극적입니다. 기본 FoundationPose를 추적 모드로 그냥 돌리면 사물 챔퍼 거리 CD-o가 무려 1565.42 까지 치솟습니다(행 a). 가림 상황에서 추적이 완전히 무너진다는 뜻입니다. 제안한 자세 가설 선택과 정렬을 적용한 초기화(행 c)는 이를 CD-o 16.85 로 안정화합니다.
CoCoNet의 정제도 효과가 분명합니다. 다만 여기서 앞서 강조한 학습용 깊이 정렬이 왜 중요한지가 드러납니다. 정렬 없이 학습한 모델(행 d)은 오히려 초기화보다 사람 복원이 나빠지는데, 잘못 정렬된 사람 자세와 단안 깊이에 대해 올바른 자세 갱신을 예측해야 하는 잘못 정의된(ill-posed) 문제 를 떠안기 때문입니다. 정렬을 적용하면(행 e) 결합 챔퍼 거리가 8.62 로 개선됩니다.
마지막으로 접촉 기반 결합 최적화를 보면(행 f), 결합 챔퍼 거리는 9.35 로 행 e(8.62)보다 아주 조금 커지지만, 대신 가속도 오차가 Acc-h 1.06, Acc-o 0.38 로 크게 낮아집니다. 즉 결합 최적화는 미세한 형상 정확도를 조금 양보하는 대신, 움직임의 매끄러움과 접촉의 일관성 을 크게 높이는 역할을 합니다.
접촉이 왜 중요한가
이 논문에서 가장 흥미로운 분석 중 하나는 접촉의 역할을 시각적으로 보여주는 부분입니다. 접촉을 고려하지 않으면 모델이 사람 손과 사물 사이의 세밀한 상호작용을 제대로 다루지 못해, 사물이 공중에 떠 있거나 신체를 뚫고 들어가는 인공적 오류(artifact)가 나타납니다. 접촉을 고려한 최적화는 사물과 손의 자세를 다듬어 훨씬 매끄럽고 일관된 복원을 만들어 냅니다.
Oracle 실험
이 논문의 주된 목표는 사물 형상이나 깊이 정보 없이 RGB만으로 4D를 복원하는 일반적인 방법을 만드는 것입니다. 저자들은 이런 특권 정보(privileged information)를 준다면 성능이 얼마나 오르는지 확인했습니다. 정답 사물 메시나 정답 깊이 지도를 주면 사물 복원이 조금 개선되고 둘 다 주면 가장 크게 좋아지지만, RGB 입력만 쓰는 기본 모델이 이미 이 상한선(upper bound)에 상당히 근접해 있었습니다. 그만큼 파운데이션 모델 예측을 정렬해 얻은 초기값이 튼튼하다는 방증입니다.
CARI4D 설치 및 사용 방법
CARI4D는 공식 GitHub 저장소를 통해 코드와 사전 학습된 모델을 공개하고 있어, 누구나 직접 내려받아 실행해 볼 수 있습니다. 재현성을 위해 Docker 이미지와 conda 환경 두 가지 설치 방법이 제공됩니다.
가장 간단한 방법은 미리 빌드된 Docker 이미지를 사용하는 것입니다.
docker pull xiexh20/cari4d && docker tag xiexh20/cari4d cari4d
bash docker/run_container.sh
conda로 환경을 직접 구성할 수도 있습니다.
conda create -n cari4d python=3.10 -y
conda activate cari4d
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt --no-build-isolation
이후 UniDepth, VolumetricSMPL, NLF, FoundationPose의 가중치와 SMPL-H 모델 파일, 그리고 Hugging Face에 공개된 CoCoNet 체크포인트와 데모 데이터를 내려받아 배치합니다(자세한 경로는 저장소 README를 참고해주세요).
준비가 끝나면 BEHAVE 데모 데이터로 바로 복원을 실행할 수 있습니다. 이 데모는 자체 완결형이라 별도 다운로드 없이 동작합니다.
bash scripts/demo.sh
인터넷 야외 영상에 대한 데모는 아래 명령으로 실행합니다.
bash scripts/demo-wild.sh
한계점 및 향후 연구 방향
카테고리 독립적 4D 상호작용 복원을 향한 첫걸음으로서 CARI4D는 야외 영상에 강한 일반화를 보였지만, 저자들은 두 가지 대표적인 실패 사례를 솔직하게 짚습니다.
첫째, CARI4D는 전신(full-body) 상호작용에 초점을 맞추기 때문에 세밀한 손가락 관절(finger articulation)을 명시적으로 복원하지 않습니다. 이 한계는 작은 사물을 다루거나 접시를 쥐는 것처럼 정밀한 조작이 필요한 상황에서 두드러져, 전신 자세가 정확해도 물리적으로 부자연스러운 상호작용이 나올 수 있습니다. 저자들은 별도의 손 자세 추정기를 통합하고 최적화로 전신 운동학 사슬(kinematic chain)과 융합하면 거시적 신체 동역학과 미시적 접촉 물리를 함께 살릴 수 있으리라 전망합니다.
둘째, CARI4D는 사물 자세 초기화를 FoundationPose에 의존합니다. 초기화가 크게 실패하면 이후 정제로 회복하기 어려운 의존성 병목이 생깁니다. 특히 빠른 움직임이나 심한 가림에서는 FoundationPose가 180 도 뒤집힌 자세를 예측하기도 하는데, 이런 큰 회전 오차는 정제 단계가 바로잡기에는 너무 커서 최종 복원이 부정확해집니다.
CARI4D는 사전 정의된 템플릿이나 카테고리라는 오랜 제약을 벗어나, 우리 주변에 넘쳐나는 평범한 영상에서 사람과 사물의 상호작용을 실제 크기의 4D로 복원하는 길을 열었습니다. 로봇이 사람의 행동을 관찰해 배우거나, 게임과 AR/VR에서 상호작용을 손쉽게 캡처하는 미래에 한 걸음 다가선 연구라 할 수 있습니다. 저자들은 코드와 사전 학습된 CoCoNet 체크포인트를 이미 공개했으며, GitHub 저장소와 Hugging Face에서 데모 데이터까지 받아 직접 실행해 볼 수 있습니다.
CARI4D: Category Agnostic 4D Reconstruction of Human-Object Interaction 논문
CARI4D 프로젝트 홈페이지
https://nvlabs.github.io/CARI4D/
CARI4D GitHub 저장소
CARI4D (Hugging Face): 사전 학습 모델 및 데모 데이터
NVIDIA DAIR 랩 CARI4D 게시 페이지
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. ![]()
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()




