Motivation
- Casual monocular video(TikTok, Instagram Reels, YouTube Shorts 등 인터넷 영상)에는 손–물체 상호작용이 풍부하지만, hand-induced occlusion / object self-occlusion / 제한된 viewpoint 등 때문에 object의 전체 geometry가 관측되지 않음. 따라서, 기존 3D reconstruction 방법들이 실패하거나 심각한 artifact 발생.
→ 짧은 monocular interaction video에서, partial visibility + occlusion 상황에서 hand와 object의 3D geometry를 동시에 reconstruction하는 task를 제안하고 수행
Contribution
- short monocular video sequence에서 3D hand-object recon을 하는데에 NVS diffusion prior를 사용
- NVS 모델이 template-free hand-object recon에서 regularize하는데 사용될수 있는것을 보임
- a novel visibility-aware weighted sampling strategy를 통해서 observed-unobserved object region간의 regularization을 균형맞춤
- hand-object recon에서 sota 달성
3. Method
- 비디오의 모든 프레임에서 hand object 포즈를 추정
- NVS모델을 파이프라인에 넣고, object 좌표계에 맞춤
- NVS 모델을 prior로 사용해 SDF를 최적화, 보이지 않는 object의 영역의 reconstruction을 regularize
- 마지막으로 hand를 visible contact constraints을 이용해서 object에 align

3.1. Initialization
Hand initialization
• 각 비디오 프레임 에서 HaMeR로 hand pose 추정
Object initialization
- SfM을 통해 camera intrinsic , rotation , translation 추정
- 각 프레임에 대해서 multi-view stereo (MVS)를 이용해서 depth map 생성
- 위의 SfM + MVS 과정은 전체 이미지가 아니라 Cutie라는 segmentation 모델로 물체만 잘라낸 이미지에 대해 수행
3.2. Novel view synthesis model
Inpainting
- reference image 에서 objec mask 로 object 부분만 추출후 InpaintAnything을 이용해서 hand 부분 inpainting
- 물체만 있는 reference image 생성, 이 이미지를 center crop, resize 해서 Zero-1-to-3 입력 포맷에 맞춤
- video에서 reference frame은 간단한 heuristic으로 선정.
- 프레임에서 hand와 object mask를 만들어내고, object대 hand pixel의 비율 계산해서 가장 높은 비율가지는 프레임 선택 → 손이 가장 적게 가리고, 물체가 가장 잘 보이는 프레임을 reference로 사용
Novel view synthesis mode
- view synthesis backbone으로 Pretrained Zero-1-to-3라는 모델 사용
-
-
-
Space alignment
- Zero-1-to-3의 object space를 canoncal object space로 삼고 SfM object space를 align
- 같은 reference image에 대해:
- Zero-1-to-3 입력 해상도 이미지
- 원래 해상도의 이미지
→ 이 둘 사이에서 2D pixel correspondence 를 얻음
- Zero-1-to-3는 reference view에 대한 depth map 생성 가능
- MVS는 같은 프레임에 대해 depth map 생성 가능
각각의 depth + intrinsic을 사용해 라는 3D point correspondence를 얻는다.
- 이 2D/3D correspondence를 통해서 SfM object frame을 Zero-1-to-3 frame으로 변환하는 rotation/translation , 를 찾음. loss는 다음과 같음
-
-
- 최종적으로 얻은를 사용해 SfM camera pose를 Zero-1-to-3 frame으로 변환
3.3. Occlusion-robust object reconstruction
- 물체는 object model 함수로 표현됨.
-
-
Supervision on the observed object regions
- observed RGB images 에 대해서 object model 를 supervised 방식으로 학습. loss는 다음과 같음
- : 렌더링된 object 이미지와 실제 RGB 사이의 photometric consistency
- : 렌더링된 silhouette가 object segmentation mask와 맞도록 유도
Supervision on the unobserved object regions
- 랜덤하게 샘플링된 camera pose y 를 이용해서 object model 로 novel view image 를 만들어냄
- diffusion timestep 를 샘플
- 에 Gaussian noise 를 더해서 noisy image 를 생성
- Zero-1-to-3의 denoiser 가 예측한 noise와 실제 noise의 차이를 최소화
- : reference 이미지와 camera pose로부터 만든 conditioning embedding
- : diffusion 모델에서 정의된 timestep weight
- 무작위 novel view를 계속 강하게 걸면 실제로 이미 관측된 영역까지 diffusion prior가 덮어쓸 수 있음
→ visibility-aware weighting이 필요
Visibility-aware weighting strategy
- object model이 observed views로 일정 횟수 최적화된 이후 object 주변에 대해 coarse voxel grid 를 생성
- observed input images의 object pixel 각각에 대해 해당 픽셀에서 ray를 쏘아 visibility grid와 교차 여부를 계산
- 어떤 voxel이 ray의 첫 번째 교차 지점이면 → 해당 voxel의 값 = 1 (visible)
- 어떤 voxel도 어느 ray에서도 첫 교차 지점이 되지 않으면 → 해당 voxel의 값 = 0 (non-visible)
- novel view y에 대해 visibility grid O(x,y,z)를 rasterization하여2D visibility image V(u,v)를 생성
- V(u,v) = 1→ 해당 픽셀이 대응하는 voxel이 observed
- V(u,v)=0 → 해당 픽셀이 대응하는 voxel이 non-observed
- V(u,v)=−1 → background
- visibility image V(u,v)로부터 다음 비율을 계산
- 분자: observed voxel에 해당하는 픽셀 수
- 분모: non-observed voxel에 해당하는 픽셀 수
- novel view y에 대해 weighting factor 는 다음과 같이 정의
Total loss
- 각 iteration에서 다음을 샘플링:
- 입력 비디오에서 RGB 이미지 1장:
- reference image 1장:
- 여러 개의 novel view:
→ 이들을 사용해 object network 파라미터 를 학습하기 위한 total loss 를 계산
3.4. Hand-object alignment
Visible contact
- 기존 방법처럼 hand–object vertex 간 최단거리를 사용하는 대신, 접촉이 빈번한 손가락 끝(fingertips) 정점들만(손바닥(palm) 정점은 제외)을 접촉 후보로 선택
- 선택된 손 정점 집합을 로 정의
- 각 를 이미지 평면으로 투영
- 투영 결과가 hand mask 내부에 있으면 visible contact candidate로 분류하여 에 포함
- hand mask 밖이면 object-occluded로 간주하고 제거
- 최종 contact 집합을 로 정의
- 에 대해 ray tracing을 수행하여 대응되는 object surface contact point 를 찾음
- object surface가 아닌 접촉은 제거
- 결과로 visible contact pair 집합 를 얻음
Alignment process
- object는 고정, hand만 최적화. hand pose 는 최적화하지 않음
- 최적화 변수:
- hand translation
- scale
- hand pose 를 최적화할 경우 MPJPE = 7.83 mm, 초기 hand pose를 유지할 경우 MPJPE = 4.62 mm →이에 따라 는 고정

- : hand–object contact 관계를 제약
- : hand joint의 2D projection consistency
- : hand vertex의 temporal smoothness
- : hand–object penetration penalty
4. Experiments


