Neural Implicit Representation for Building Digital Twins of Unknown Articulated Objects

윤정윤·2025년 6월 9일

Abstract

저자들은 다른 articulation 상태의 두 RGBD scan으로 unseen의 articulated object의 디지털트윈을 만드는 문제를 다룬다. 또한, 저자들은 각각 구별되는 측면을 다루는 2가지 문제로 나누는데 먼저 각 상태를 object 수준의 shape으로 reconstruction하고 그 다음 두 상태를 연관지어서 part semantation과 관절의 구조와 그 움직임을 포함하는 근본적인 관절 모델을 복원한다. 명시적으로 점 단위에서 서로 다른상태가 어떻게 대응되는지 모델링하는 것과 이미지로부터의 정보를 활용함으로써 우리의 방법은 3D reconstruction과 운동상태를 이전 연구보다 더 정확하고 안정되게 도출한다. 또한 하나이상의 movable part 다루며 object의 형태나 구조에 의존하지 않는다.

1. Introduction

우리는 다양한 object part와 그것이 어떻게 상호작용하는지 복잡한 물리기반의 이해를 활용한다. 시각적 관찰로부터 새로운 articulated object를 reconstruction하는 것은 로보틱스와 현실의 융합을 위한 중요한 문제이다. 우리는 그림 1과 같이 부분 geometry, segmetation, 관절구조와 움직임을 정확하게 묘사하는 articulated object를 누구나 쉽게 3D로 reconstruction할 수 있도록 하는 것을 목표로 한다.

articulated object의 digital twin을 생성하는 문제는 오랫동안 연구되어 왔다. 이중 2가지 최근연구는 Ditto 와 Paris가 있는데 두 연구 모두 object의 두 관절상태의 관찰을 기반으로 부품 수준의 geometry와 관절 모델을 reconstruction 한다.
우선 Ditto는 두 다중 뷰 포인트 클라우드를 융합해 input으로 사용하는 feed forward 방법(개별 object마다 학습이 필요하지 않음)이다. 이것은 사전에 카테고리화된 object를 통해 학습되며 비록 ditto는 학습 중에 unseen object에 대해서도 어느정도 일반화된 성능을 보이지만 학습된 object와 매우 다른 경우까지는 다룰 수 없다.(즉 카테고리에 대한 라벨은 없이 학습되엇지만 그 성능은 학습시킨 카테고리에서 크게 벗어나지 못함). Paris는 다른 자세의 멀디뷰 이미지를 input으로 사용하고 그것으로부터 사전학습없이 암시적인 표현으로 최적화하여 일반화 성능을 보장한다. 그러나 paris의 최적화 과정은 초기화에 의존하여 안정성이 떨어진다. 게다가 ditto와 paris는 오직 2 part object만 다룬다.

이 논문에서 기존 연구들의 한계를 극복하기 위한 첫걸음으로 다음 특징을 지닌 새로운 시스템을 제안한다.
1) 학습 분포와 크기, 모양, 움직임의 차이와 관계없이 임의의 새로운 object를 다루는 능력
2) 다중 movable part로의 object 확장성
3) 고차원 최적화 공간에서의 관절 재구성 문제의 초기값에 대한 강건성

다른 두 관절상태에서 획득한 object 멀티뷰 RGB-D 관측 데이터를 바탕으로 관절 객체의 part별 매시와 관절파라미터를 복원하는 방법을 제안한다. 우리는 2단계 접근을 채택하였는데 먼저 SDF 표현으로 각각의 상태를 먼저 복원하고 그 다음 part segmentation과 관절 파라미터를 포함한 관절 모델을 추정한다. 우리는 명시적으로 두 상태 각각 관절모델로부터 점 수준에서 대응관계를 다음 3가지 loss를 최소화 함으로 직접 감독학습하여 명시적으로 유도한다.
1) 한 상태에서 다른 상태로의 3D local geometry 사이의 일관성(static parts?)
2) 이미지 특징 매치를 통해 얻어진 2D 픽셀 단위 대응관계(static parts?)
3) 관절 간 충돌을 최소화하는 형태의 물리기반 추론
(static을 정확하게 잡자?)

우리의 방법은 paris에서 제시한 데이터셋에서 성능을 입증했고 하나 이상의 관절을 가지는 새로운 합성 데이터셋을 제시. 다른 초기값에 대해서 안정적인 성능 입증

Contribution

  1. 언노운 articulated object의 geometry와 관절 모델을 복원하는 프레임워크 제시하며 이는 오브젝트 단위로 최적화하고 임의의 articulated object에 대해 어떤 형태나 구조의 사전지식 없이도 적용가능하다.

  2. 방법론은 문제를 object shape 복원과 관절모델 추촌으로 분리하고 관절 모델로 부터 유도되는 포인트 대응 필드 위에서 여러 손실 항을 공동으로 최적화 하기위해 이미지 특징 매칭, 3D geometry 재구성 정보, 운동학 규칙으로부터 얻은 단서들을 효과적으로 활용한다.

  3. 합성과 실제데이터 둘 다에서의 광범위한 평가은 우리의 접근법이 일관적이고 안정적으로 기존 SoTA를 뛰어 넘음을 보여준다.

  4. 오직 2가지 다른 관절상태의 멀티뷰 스캔만을 사용해서 하나이상의 movalble part로 구성된 복잡한 언노운 articulated object에 대해서 일반화 능력을 입증하였다.

    Articulated Object Prior Learning.

많은 연구는 부분 세그멘테이션, 운동학적구조, 자세추정, 관절 구조 재구성등 관절 사전지식을 학습하기위해 큰 규모의 관절 에셋에 대해 오프라인으로 딥러닝 학습한다.
특히 Ditto와 CARTO는 shape 복원, 부분 세그멘테이션, 관절추론을 포함하는 오브젝트의 완전한 디지털 트윈을 구성한다는 점에서 우리와 동일한 목표를 공유한다. Ditto는 PointNet++ 기반으로 작동하며 멀티뷰로 융합된 포인트 클라우드를 처리한다. CARTO는 스테레오 이미지를 입력으로 여러 카테고리의 object에 대해 하나의 geometry와 관절을 학습한다. 위의 방법들은 유망한 결과를 보였지만 현실세계에서 대규모 학습데이터를 수집하는 것은 annotation의 복잡성 때문에 쉽지 않다. 3D articulated object는 단일 강체 객체에 비해 다양한 합설 훈련데이터를 생성하기 어렵다. 이로 인하여 기존의 방식들은 OOD test set에서 잘 작동하지 않는 것이 우리의 실험으로 입증되었다. 대조적으로 우리의 방법은 관절 에셋으로 학습할 필요 없으며 카테고리에 대한 제한없이 넓은 범위의 언노운 articulated object에서 적용 가능하다.

Per-Object Optimization.

개별 object단위 최적화 방법은 새로운 언노운 object에 대해 더 좋은 적응을 위해 데스트 타임에 최적화를 수행한다. 3D 관절 에셋의 사전지식을 학습하는 것을 피함으로써 이 유형의 접근법은 이론적으로 완전한 임의의 언노운 object에 대해 일반화가 가능했다. Watch-it-move는 새로운 시점의 합성과 재포징을 위해 3d 관절을 스스로 발견한다. 하지만 주로 회전관절을 다루며 인간, 로봇 팔, 동물을 다루며 일상 객체를 고려하지는 않는다. 에너지 최소화 접근법으로 부분 세그맨테이션, 변환, 운동학을 동시에 최적화하지만 완전한 포인트클라우드의 시퀸스를 필요로 한다. 이 방법론들 중 paris는 이 논문에서 다루는 문제 설정과 가장 유사한 접근법을 다루는데 구체적으로 언노운 object의 초기 상태와 최종상태에 해당하는 두 개의 스캔을 입력받아 디지털 트윈을 구축한다. 그러나 하나의 movable part object만 대상으로 하며 static part와 movable part를 각각의 neural field로 학습한다. 그러나 이구조는 효율성과 강건성을 떨어뜨리고 다관절객체(movable part가 여러 개)를 일반화하는 것은 어렵다.

Articulation Reasoning by Interaction.

이전 연구에서는 object 상태변화를 기반으로 관절 모델을 추론하기 위하여 새로운 감각 정보를 생성하여 물리적인 상호작용을 활용한다. 관절 모델을 추정하기 위해 상호작용 기반 지각(에이전트가 환경과 상호작용을 통해 정보를 획득하여 지각을 향상)을 도입하려는 노력이 있었다. 이후 연구들은 계층적 재귀 베이지안 필터, 확률적 모델, 다중 시점 스테레오 기반의 기하모델, 특징점 추적등으로 연구를 확장하였다. Where2Act는 단일 rgb이미지 또는 포인트 클라우드로부터 articulated object 의 행동 가능성을 추정하지만 단일 단계 상호작용으로 제한된다. AtP는 효과적인 파트 세그멘테이션과 운동학 추론을 위해 상호작용 전략을 학습하지만 대부분 효과적인 상호작용 정책, 파트세그멘테이션, 모션 분석에 집중하며 3D 재구성을 목표로 하지는 않는다. 이 부분에서 최근 연구 Ditto는 상호작용 가능한 구조로 확장하여 디지털 트윈 구축을 가능하게 했지만 사전학습에 대한 의존성은 사전지식 기반 방벙과 유사한 한계가 있으며 시점 문제없이 완벽한 뎁스 센싱을 가정하기에 실제 노이즈한 환경에 직접 적용하기 어렵다.

3.Method

우리는 두 관절 상태의 관찰로 얻어진 언노운의 멀티 파트 articulated object로 디지털 트윈을 구축하는 문제를 다룬다. 구체적으로 우리는 주어진 멀티 뷰 RGB-D 이미지들과 object마스크를 사용하며 카메라 파라미터가 포함된(카메라 위치·방향) 초기상태 t=0과 최종상태 t=1까지 부분 단위의 shape과 관절모델을 재구축한다. 전형적으로 이미지의 수는 100장이며 우리는 또한 관절의 수도 주어진다고 가정한다. 그림 2는 우리 프레임워크의 오버 뷰이다. 우리는 집중하는 부분에 따라 재구축 문제를 2 스테이지로 분해한다. 스테이지 1은 object 단위의 shape을 각 상태별로 재구축하고 스테이지 2는 부분 세그멘테이션과 상태별 재구축 사이 대응을 활용하여 상태 모션을 포함한 관절 모델을 복원한다.

즉 두 상태간의 이동을 점단위로 학습할거야 t=0와 t=1단위로 의 이동을 점 단위로 영역을 나누고 이동하는 함수를 설정하고 이 함수를 감독학습하고 싶어, 그런데 t=0점이 t=1에서의 어느 점인지 GT가 없네? 그러면 t=0에서와 t=1에서의 그 점이 가지는 속성은 동일하지 않을까? 색, 표면, 픽셀매칭, 충돌여부... 이것을 기준으로 학습하자.

3.1. Per-State Object Reconstruction

상태 tt에서 촬영한 각 뷰에 외부 파라미터가 주어진(카메라 위치,방향) 멀티 뷰 RGB-D이미지가 주어지면 우리는 해당 object의 geometry를 Neural Object Field(Ωt,Φt)(\Omega^t, \Phi^t)형태로 복원하고자 한다.

구성정의설명
Ω (geometry network) Ω : x ∈ ℝ3 ↦ d ∈ ℝ 점 x가 표면까지 얼마나 떨어져 있는지(부호 있는 거리)를 출력
입력 : x(3d 공간상의 샘플 점)
출력: d(절단 부호 거리 truncated sign distance)
가장 가까운 표면과의 거리에 따라 내부는 음수 외부는 양수
Φ (appearance network) Φ : (x, d) ↦ c ∈ ℝ3+
d ∈ S2
해당 점 x를 시선 d 에서 볼 때의 RGB 색
입력:x(3d 공간상의 샘플 점), d 그 점을 바라보는 카메라 시선 방향벡터
출력: RGB색[R,G,B] (양수범위)

3.2. Segmentation and Motion Reconstruction

두 관절 상태에 대해 object 수준의 reconstruction의 결과(Mt,Ω~t,Occt,Φt)(M^t, \tilde{\Omega}^t, Occ^t, \Phi^t)를 입력으로 두 상태를 연결하는 관절모델 즉 part segmentation과 상태간 부품별 강체변환을 찾아내는 것이 목표이다.
핵심 아이디어는 상태간 관절모델로부터 점 대응 필드(point correspondence field)를 생성하고 위의 단계에서 얻은 geometry, apearance 정보로 이를 학습하는 것이다.

M개의 부품으로 이루어지는 articulated object에 대해 상태 tt에서 t′t'(반대 상태)로의 관절 움직임을 다음 두 요소로 모델링한다.
1) part segmentation field ft:x↦if^t : x ↦ i(상태 t의 object안의 점 x가 어느 부품 i에 속하는지 알려주는 필드) i∈{0,…,M−1}i ∈ \{0,…,M−1\}로 상태t의 점 x를 부품 라벨로 매핑함.
2) 부품별 강체변환 Tit=(Rit,tit)∈SE(3)\Tau^t_i = (R^t_i, t^t_i) ∈ SE(3): 부품 i를 상태tt에서 상태t′t'로 이동시키는 회전 RitR^t_i과 병진titt^t_i으로 구성

이를 미분가능하게 하기위해 점을 부품에 단일 할당(hard)하는 대신 Pt(x,i)P^t(x,i) 상태 t의 점 x가 부품 i에 속할 확률 분포로 표현한다.

PtP^t는 조밀한 3D격자를 거친 뒤 각 부품별 MLP헤드에서 softmax로 계산된다. 강체변환을 위해서 우리는 회전을 6D representation으로 병진을 3D vector로 파라미터화한다. 이제 점 대응 필드(point correspondence field)를 도출할 수 있다. 이 필드는 상태 t에 있는 임의의 물체 점 x를 그 점이 속한 부품의 움직임을 따라 상태 t' 에서의 새 위치로 사상한다. 이렇게 얻은 필드는 관절모델을 랜더링하여 이후 감독신호로 사용한다.
xt↦t′=Fwd→(x,ft,Tt)=∑iPt(x,i)(Ritx,tit)x^{t↦t'} = \overrightarrow{Fwd}(x, f^t, \Tau^t) = \sum\limits_iP^t(x,i)(R^t_ix, t^t_i)

Shared Motion

두 상태 각각에 대해 관절모델(f0,T0),(f1,T1)(f^0,\Tau^0), (f^1,\Tau^1)를 독립적으로 최적화한다. 두 모델은 동일한 움직임 0->1, 1->0을 표현하는 것이므로 T\Tau를 학습을 공유하여 중복을 줄인다. 객체 수준의 복원 결과 이미지 관측으로 부터의 geometry와 appearance를 활용하여 점 대응 필드(point correspondence field)를 학습한다. 구체적인 loss는 아래 제시한다.

Consistency Loss

대응되는 점들은 local geometry와 appearance가 각각의 상태에서 일관성이 있어야 하며 각 재구성으로 부터 쿼리할 수 있다. 표면 근처 위치한 점들 x에 대해서 그에 대응되는 점 x'도 SDF와 color가 일관되기를 기대한다. 이를 공식적으로 표현하면 SDF consistency loss lsl_s와 RGB consistency loss lcl_c로 표현한다.
여기서 d는 점 x를 샘플링한 광선(ray)를 의미하고 d'는 그 d를 점 x가 속한 부품의 움직임에 따라 변환된 방향을 의미한다. 표면에서 멀리 떨어진 SDF나 색상의 신뢰도가 낮은 점들도 확장하여 학습하기 위해 그 점들에 대해서 OCC(x)값의 일관성을 강제한다. 즉 표면은 색과 sdf로 다른 부분은 OCC로 감독 학습한다. 이를 occupancy consistency loss lol_o로 정의한다. SDF와 RGB consistency loss는 카메라 광선에 따라 샘플링된 점중 표면인 x들에 대해 적용하며 객체의 표면과 얼마나 가까운지에 따라 가중치를 부여한다. 반면 occupancy consistency loss는 단위 공간 전체에서 균등하게 샘플링 된 점들에 대해 적용한다. 이를 공식화하면 consistency loss LcnsL_{cns}이다. 여기서 w(x)는 객체 표면에서 피크를 가지는 종 모양의 함수이고 하이퍼 파라미터 aa는 그 날카로움을 조절한다.

Matching loss

두 관절상태에서 촬영된 이미지간 2d픽셀 매칭으로 이미지관측에서 얻을 수 있는 시각적 단서를 활용 이에 특징 매칭 네트워크 LoFTR를 사용한다.

Collision Loss

Consistance loss나 matching loss는 주로 표면근처의 색에 기반하므로 대상의 물리적인 특성까지는 반영하지 못함 따라서 잘못된 segmentation으로 발생하는 물제충돌이 발생할 수 있음 따라서 우리는 객체가 어떻게 움직이는지 보고 물리적으로 잘못된 결과가 있는지 검사하는 collision loss를 설계

Handling Partial Observation.

실제 환경에서는 상태의 변화에 따라 관측되지 않는 영역이 존재. 즉 대응점이 존재 하지 않는 경우 대처가 필요함 eo reconstruction 과정에서 존재하지 않는 영역

profile
AI꿈나무

0개의 댓글