[CoRL 2024 Oral]Retrieval-Based Affordance Transfer for Generalizable Zero-Shot Robotic Manipulation

외부 지식을 활용한 접근법이라는 게, 과제 제안서와 얼라인이 맞는 듯 합니다..

Abstract

해당 논문은 retrieval 기반의 zero-shot 프레임워크인 RAM을 제안하여 다양한 사물과 환경에 대해 일반화 가능한 특징을 생성하는 것을 목적으로 합니다. 기존의 비싼 학습 기반의 접근 방식과 달리 RAM은 retrieval 기반의 프레임워크를 통해 외부 데이터에서 다양한 조작 기능을 습득하는 방식으로 이루어집니다. RAM은 사람과 인간의 상호작용 데이터(Human-Object Interaction, HOI)와 사용자 데이터 등 다양한 데모 자료들로부터 대규모 affordance 메모리를 구축한 뒤, 언어 지시가 주어졌을 때 affordance 메모리에서 가장 유사한 데모를 계층적으로 검색하여 외부 정보인 2D affordance 정보를 3D의 actionable affordance로 전환합니다. 다양한 시뮬레이션과 평가를 통해 RAM일 기존 작업보다 일관적으로 성능이 뛰어나다는 것을 입증하였으며, 자동적이고 효율적으로 데이터를 수집할 수 있고 다운스트림 테스크에 잠재력이 있음을 보였다고 합니다.

Introduction

robot learning은 실제 환경에서 일반적인 가정 사물에 다양한 조작을 수행할 수 있는, 일반화된 로봇 에이전트를 개발하는 것이 목표입니다. 이러한 에이전트는 무엇보다 unseen 환경의 unseen embodiment로 물체를 조작할 수 있도록 학습되어야 합니다. 이러한 목표를 위해 기존 연구는 전문가의 광범위한 데모를 수동으로 수집하여 imitation learning을 수행하는 경우가 많았습니다. 그러나 이러한 방식은 시간과 비용이 많이 들며, 대상 물체와 작업에 대한 사전 지식이 필요하다는 한계가 있으며, 따라서 unseen 상황에 대한 일반화가 어렵습니다.

또한, 로봇 에이전트가 직접 조작 방식을 학습할 수 있는 데이터 셋과는 별도로, 사람과 객체의 상호작용 데이터(HOI)는 일상을 촬영한 인터셋 동영상부터 AI가 생성한 동영상, 심지어 스케치까지 다양한 도메인의 풍부한 데이터가 존재합니다. 이러한 풍부한 지식을 활용하기 위한 연구가 이루어지고 있음에도 불구하고 상당한 도메인 차이로 인해 여전히 어려운 문제라고 합니다. 이를 해결하기 위해서는 이질적이고 노이즈가 존재하는 데이터 안에서 유의미한 행동 지식을 통합하고 활용하는 방법에 대한 고려가 필요하다고 저자들은 주장합니다. 이를 위해 저자들은 행동과 관련된 지식을 “어디서(where)” “어떻게(how)” 행동할 지 affordance로 표현하는 것이 핵심이라 파악하였으며, 다양한 데이터에서 효과적으로 affordance 정보를 추 출하여 목표 도메인으로 전달하는 것이 데이터 부족 문제와 도메인 간격 문제를 극복하기 위한 방법으로 보았습니다. 또한, 대규모의 인터넷 이미지로 학습된 일반화 가능한 VFM 모델을 활용하여 데이터들로부터 풍부하게 affordance를 추출하여 일반화 가능한 zero-shot robot learning을 수행합니다.

해당 논문은 일반화 가능한 zero-shot 로봇 manipulation을 위해 retireval 기반의 Affordance transfer 기법인 RAM을 제안합니다. RAM은 일상적인 작업에 적용을 위해 retireve-and-transfer 방식을 활용합니다. 먼저 로봇 조작에 대한 데이터 셋과 HOI 데이터 셋, 인터넷 이미지 등의 다양한 자료로부터 2D affordance를 추출하여 포괄적인 affordance memory를 구축합니다. 이후 unseen환경과 unseen 물체에 대한 단일 RGBD 데이터를 받아 RAM은 계층적인 retrieval 파이프라인을 통해 affordance memory에서 가장 유사한 데모를 선택한 뒤, VFM을 활용하여 픽셀 수준의 2D affordance를 unseen 도메인으로 변환합니다. 2D affordance를 로봇 행동으로 변환하기 위해 샘플링 기반의 affordance lifting 모듈을 개발하고, 이를 통해 2D affordance를 3D representation으로 올려 grasp 생성과 모션플래너로 사용하는 등 다양한 시스템에 적용이 가능하도록 하였다고 합니다. 다양한 시뮬레이션과 실제 환경에서 실험을 통해 저자들의 방법론이 기존의 방법론을 능가하는 것을 확인하였으며, 이를 통해 외부의 대규모 데이터를 효과적으로 활용할 수 있음을 보였습니다. 또한 자동적이고 효율적으로 데이터를 수집할 수 있으며 다양한 다운스트림 테스크에 적용 가능함을 보였습니다.

contribution을 정리하면

  1. 로봇의 manipulation을 위한 retrieval 기반의 affordance transfer 프레임워크를 제안하여 시뮬레이션과 실제 세계에서 모두 뛰어난 성능을 보임. affordance를 2D에서 transfer하여 이를 실제 행동을 위해 3D로 끌어올리는 모듈을 디자인함.
  2. 다양한 이종 데이터에서 afforandce를 추출하여 검색할 수 있는, 확장가능한 모듈 제안. 이를 통해 다양한 로봇 작업으로 일반화 가능.
  3. 다양한 다운스트림 테스크에 적용하여 후속 연구를 촉진하기 위한 파이프라인을 제공

Method

데이터 부족 문제를 해결하기 위해 RAM은 외부 도메인의 지식을 대상 unseen 도메인으로 전송하고자 하였으며, 이를 위해 retrieve-and-transfer 방식을 도입합니다. 2D affordance를 예측하는 기존의 방식과 다르게 RAM은 실행 가능한 3D affordance \mathcal{A}^{3D} = (c^{3D},\tau^{3D}), c^{3D},\tau^{3D} \in \mathbb{R}^3 를 생성합니다.

RAM은 다양한 외부 데이터로부터 affordance 정보를 추출하여 source 도메인 \mathcal{S}에서 affordance memory \mathcal{M}를 구축하며, 이후 새로운 target 도메인 \mathcal{T}에서 단일 RGBD 이미지 (I^{\mathcal{T}},D)가 지시문 L과 주어졌을 때, RAM은 3단계의 계층적인 검색 과정을 통해 \mathcal{M}로부터 가장 유사한 데모를 찾습니다. VFMs를 이용하여 이미지 대응쌍을 만들어 \mathcal{S}도메인의 데모로부터 target 도메인인 \mathcal{T}로 2D affordance를 transfer합니다. 마지막으로 샘플링을 통해 \mathcal{T} 도메인의 2D affordance를 3D로 올려 3D affordance \mathcal{A}^{3D}를 생성하며 이는 grasp generator와 모션 플래너에 적용 가능합니다.

A. Affordance Memory

데이터 예시

일반화를 위해 RAM은 대규모 affordance memory를 구축하는 것에 집중합니다. 이는 실제와 합성 로봇의 데이터 \mathcal{M}_R과 HOI 데이터 \mathcal{M}_H, 사용자 데이터 \mathcal{M}_C를 통합하여 구축합니다. 다양한 데이터로부터 affordance 정보를 통합하기 위해 \mathcal{M}의 각 항목은 object-centric RGB 이미지I^{\mathcal{S}}(affordance에서 object-centric이란 객체 이미지로 이해하시면 됩니다)와 2D waypoints C=(c^{2D}_0, c^{2D}_1, ...) ( c^{2D}_0는 contact point, 이후는 contact 경로를 의미합니다)를 의미하며 작업 종류에 대한 자연어 T로 구성됩니다.

Fig.2와같이 다양한 소스로부터 서로 다른 전략으로 affordance를 추출 및 annotation을 수행합니다.

  1. Robotic Data: 실제와 시뮬레이터에서 카메라 파라미터와 로봇의 감각을 이용해 2D 이미지 평면에 end-effecotr(로봇의 그리퍼부분이라고 생각하시면됩니다)의 3D 위치를 투영합니다. affordance 추출을 위해 이미지의 첫 프레임은 물체가 가려지지 않도록(object centric하게) I^{\mathcal{S}}를 선정하며, 이후 로봇 그리퍼가 닫히는 프레임에서의 end-effector의 2D 위치를 c^{2D}_0, 이후의 프레임에서의 위치들을 이용하여 2D waypoints를 구성합니다. 해당 논문은 DROID^{[1]}라는 로봇 데이터를 활용하였다고 합니다.
  2. HOI Data: 사람이 객체와 상호작용하는 데이터로, affordance 추출을 위해 affordance가 발생하는 비디오 영역을 식별한 뒤, Robotic 데이터와 유사하게 첫 프레임을 I^{\mathcal{S}}를 선정하고 여러 프레임에서 손의 keypoint를 평균화하여 contact point 와 trajectory point들을 결정하여 2D waypoints를 생성합니다. 이를 위해 HOI4D^{[2]} 데이터의 비디오 segment와 손에 대한 keypoint annotation 정보를 활용하였다고합니다.
  3. Custom Data: 저자들은 수동 annotation을 다는 맞춤형 데이터를 추가하는 방식도 고려하였다고 합니다. 이를 통해 새로운 데모를 활용하여 affordance memory를 보강하여 새로운 객체에 대한 맞춤 접근방식을 고려할 수도 있게 하였으며, annotation 과정은 RGB 이미지에서 시작점과 끝 점을 선택한 뒤, 두 점 사이의 자동 보간을 활용하였다고 합니다.

** [1]Khazatsky, Alexander, et al. “Droid: A large-scale in-the-wild robot manipulation dataset.” arXiv (2024).
** [2]Liu, Yunze, et al. “Hoi4d: A 4d egocentric dataset for category-level human-object interaction.” CVPR (2022).

이처럼 다양한 소스로부터 affordance memory를 구축하여 다양한 환경과 객체, 구현에 일반화가 가능하도록 하였다고 합니다.

B. Hierarchical Retrieval

사람은 새로운 물체를 조작하기 위해 유사한 시나리오의 기억을 떠올려 그에 대한 조작 방식을 얻습니다. 위의 Fig. 3에서 볼 수 있듯 인간의 사고방식과 RAG(Retrieval-Augmented Generation)에서의 LLM의 추론으로부터 영감을 받아 RAM은 \mathcal{M}로부터 가장 유사한 데모를 coarse-to-fine 방식으로 검색하고, 이를 조작에 대한 힌트로 사용하는 3단계의 계층적인 검색 파이프라인을 제안합니다.

1단계: Task Retrieval (coarse)

주어진 지시문 L (e.g. “서랍을 열어 도구를 찾아주세요”)을 기반으로 LLM 모델(CLIP이나 GPT-4)을 활용하여 해당 명령어에 속하는 작업 T(e.g. “서랍을 열어주세요”)를 찾고, 객체 이름 N (e.g. “서랍”)을 추출합니다. 이때 affordance memory에 쿼리된 객체가 없을 경우 모델은 객체의 형상을 추론하고 affordance를 공유하는 작업들을 제시합니다.

2단계: Semantic Filtering (fine)

앞서 retrieval을 통해 찾은 task를 기반으로 모든 데모의 source RGB 이미지 \{ I^{\mathcal{S}} \}를 얻고, 각 이미지에 대한 target 이미지 I^{\mathcal{T}}와 객체 이름 N 사이의 유사도를 아래의 식과 같이 구합니다.

  • CLIP_v(.), CLIP_t(.): CLIP의 visual/text 인코더
  • cos( ) : 두 임베딩 사이의 코사인 similarity

이후 임계치를 설정하여 유사성이 낮은 데이터는 필터링하여 계층적 retireval 다음 과정인 affordance transfer의 강인성을 개선하였다고 합니다.

3단계: Geometrical Retrieval

기존의 retrieval 연구들을 통해 대규모 비지도학습에서 VFM으로 생성한 dense feature map은 dense keypoint 대응에 활용 가능한 풍부한 기하학적·의미론적 정보가 포함되어있다는 것이 밝혀져있으나, VFMs는 종종 인스턴스의 방향을 이해하는 데는 어려움을 겪는다고 합니다. 따라서 저자들은 대상 객체와 비슷한 데모를 찾는 것이 필수적이며, 이를 위해 SD feature map을 이용하여 Instance Matching Distance(IMD)를 계산하여 기하학적 retrieval을 통해 가장 유사한 viewpoint를 갖는 데모를 찾습니다. IMD metric은 아래의 식(3)으로 정의되며, source 이미지 I^{\mathcal{S}}, target 이미지 I^{\mathcal{T}}, 각 이미지에 대해 normalized와 mask를 적용한 feature map F^{\mathcal{S}},F^{\mathcal{T}}을 의미합니다.

  • p: source 인스턴스의 마스크 내 픽셀
  • NN(F^{\mathcal{S}}(p),F^{\mathcal{T}}): source feature vector에 대한 target feature map에서 가장 가까운 이웃 벡터

이처럼 3단계의 계층적 retireval을 통해 의미론적으로, 기하학적으로 적합한 데모를 찾을 수 있으며, 이후의 실험 결과를 통해서도 단일 retireval 방식보다 계층적인 파이프라인을 적용할 경우 성능이 개선됨을 보였습니다.

C. 2D Affordance Transfer

\mathcal{M}로부터 가장 유사한 데모를 찾은 뒤, 일반화 가능한 방식으로 \mathcal{S} 도메인의 2D affordance를 \mathcal{T} 도메인으로 transfer합니다. source 이미지I^{\mathcal{S}}와 waypoints C가 주어졌을 때, VFMs로 dense feature를 활용하여 포인트별 매칭을 수행하여 위의 Fig. 4와 같이 대상 이미지 I^{\mathcal{T}}에서의 waypoints를 구합니다. 이후 RANSAC을 이용하여 target waypoint의 이상치를 제거하고, 2D 공간에 선을 맞춰 첫번째로 transfer된 waypoint c^{2D}와 후의 contact 방향 \tau^{2D}로 구성된 2D affordance \mathcal{A}^{2D}=(c^{2D}, \tau^{2D})를 얻게 됩니다. 이렇게 \mathcal{S}에서 \mathcal{T} 도메인으로의affordance transfer를 수행합니다.

D. Sampling-based Affordance Lifiting

다음은 2D affordance를 로봇 작업을 위한 3D로 올리는 과정입니다. \mathcal{A}^{2D}=(c^{2D}, \tau^{2D})는 3D 공간에 직접 활용할 수 없으므로 3D 공간상에서 end-effector가 실행할 수 있도록 간단하면서도 효과적인 affordance 변환 방식을 제안합니다.

contatct point c^{2D}로부터 point cloud를 생성하기 위해 depth map을 활용합니다. 2D contact point 를 3D로 재투영하여 3D contact point c^{3D}를 구한 뒤, c^{3D}를 중심으로 크롭하여 해당 영역의 local geometric 정보를 획득합니다. 크롭된 point cloud를 기반으로 각 포인트의 법선 벡터를 추정하고, K-Means clustering을 통해 상위 k개의 클러스터 중심을 얻습니다. 이후 카메라 파라미터를 통해 클러스터링으로 구한 중심 벡터들을 2D 공간으로 투영하여 \tau^{2D}와 각도 차이가 가장 작은 벡터를 선택하여 로봇 조작을 위한 3D affordance \mathcal{A}^{3D}=(c^{3D}, \tau^{3D})를 얻습니다.

Experiments

Experimental Setup

시뮬레이션과 실제 환경에서 모두 평가를 수행하였으며, 평가지표는 작업 성공률(Success Rate, SR)을 이용하였습니다.

시뮬레이터는 IsaacGym, 객체는 GAPartNet과 YCB 데이터 셋(6D에서도 많이 보던 데이터 셋입니다ㅎㅎ)의 객체로 구성하였으며, 조작을 위해 flying Franka Panda 그리퍼를 채택하였다고 합니다. 10개 카테고리에 대해 70개 이상의 물체를 수집하였으며, “Open”, ” Close”, “Pickup” 3가지 작업으로 구성된 13개의 작업으로 평가를 수행하였다고 합니다. 각 task마다 50회 이상 실험을 진행하며, 카메라 시점은 고정하고 물체의 위치와 회전은 일정 범위 내에서 무작위로 초기화하여 실험을 진행하였다고 합니다. 이때 pickup과정에 방해가 될 수 있는 케이스도 무작위로 초기화하였으며, 조작 성공 여부는 대상의 조인트의 높이가 일정 DoF를 초과하는 지로 정의하였다고 합니다.

실제 환경에서 다양한 객체와 상호작용이 가능한지를 실험하였으며, Franka Emika 로봇 팔을 사용하고, 손에 RGBD 센서로 RealSense D415를 사용하였다고 합니다. 또한 Z1 로봇팔과 B1 로봇 개도 활용하여 저자들이 제안한 방식이 다양한 embodiment에서 성능을 확인하였다고 합니다.

Results and Analysis

  • simulation

Table 1은 시뮬레이션 실험의 결과로, 대부분의 작업이 기존 연구에 비해 좋은 성능을 달성하였으며, 평균 성공률은 52.62%로 상당한 개선이 이루어졌음을 확인할 수 있습니다. Where2Act는 정확한 contact 지점과 잡는 자세가 필요한 “open” task에서 대부분 실패하였으며, VRB 방식도 정확한 contact 지점을 찾는 데 어려움을 겪어 “open”이나 “pickup”에서 낮은 성공률을 보였습니다. Robo-ABC*는 기존의 학습 기반의 graping을 위한 contact point를 찾는 연구에 공정한 비교를 위해 affordance memory를 공유하도록 변경한 버전으로, 두번째로 좋은 성능을 보였으며,

  • real-world

Table 2는 실제 환경에서의 성공률을 측정한 것으로, 6개의 작업 대한 Robo-ABC와의 비교결과입니다. 실험을 통해 기존 방식의 성능을 능가하는 것을 확인할 수 있습니다.

위의 Fig. 5는 시뮬레이션과 real-world에서의 정성적 결과입니다.

Ablation study

서랍과 캐비닛, 전자레인지의 “Open”작업에서 ablation study를 진행하였으며, 각각 20개의 에피소드로 구성하였다고 합니다. 평가지표는 DTM(Distance to Mask)를 추가로 사용하였으며, 이는 픽셀 공간에서 객체의 손잡이까지의 거리를 나타내는 지표입니다.

  • Ablation on Hierarchical Retrieval
    1~3행이 계층적인 retrieval 파이프라인의 서브모듈을 제거한 실험 결과로, SR과 DTM이 저하되며 특히 Geometrical Retrieval을 제거할 경우 SR 성능이 38.3%에서 26.7%로 크게 저하됨을 확인할 수 있습니다. 이를 통해 기하학적으로 정렬이 맞는 데모를 찾는 것의 중요성을 보였습니다.
  • Cross-Task Transfer
    4행은 affordance memory 구성 중, 주어진 작업을 제거할 경우의 실험 결과를 나타낸 것으로, RAM은 25%의 성공률을 유지하며, unseen 상황에도 작동 가능함을 보여줍니다. (unseen에 대한 평가가 이에 해당한다고 보시면 됩니다!!)
  • Effects of Different VFMs
    사용한 VFM에 따른 실험결과로, 저자들은 SD(Stable Diffusion)을 파이프라인의 기본으로 사용하였으며, CLIP, DINOv2, SD-DINOv2로 변경하여 실험을 진행한 결과입니다. DTM은 SD-DINOv2에서 가장 좋은 성능을 보였으나, SR은 SD가 가장 좋았으며, contact point를 찾은 이후 높은 성공률과 짧은 추론시간 등을 고려하여 SD를 파이프라인으로 선택하였다고 합니다.
  • Effects of Data Amount
    위의 Fig.6은 \mathcal{M} 양에 따른 성능을 타나낸 것 입니다. 각 작업의 retrieval memory를 전체에서 최소10%~100%로 변경하며 실험을 진행하였으며, 그 결과 데이터 양이 증가할수록 전반적인 성능이 개선되는 것을 확인할 수 있습니다. 특히 50% 부터 100% 사이는 비슷한 결과를 얻을 수 있음을 통해 RAM의 데이터 효율성을 보였다고 합니다.

Downstream Applications and Discussions

다양한 로봇 작업에 적용 가능성을 보이기 위한 실험파트입니다.

  • zero-shot robotic manipulation
    RAM은 zero-shot 기반의 언어명령 로봇 조작 방식으로, 인간의 사전 지식이나 보상 없이 효과적으로 주변환경을 탐색할 수 있습니다. zero-shot 파이프라인을 활용하며, 서랍, 캐비닛, 전자레인지를 여는 데 성공한 데모를 자동으로 수집한 뒤, 이로부터 ACT 정책을 학습하였다고 합니다. Table 5는 기존 방식과 zero-shot 성능, 50개의 데모를 사용할 경우(Distilled)에 대한 실험 결과로, zero-shot으로부터 +35%의 성능 개선을 통해 이후 고품질의 데이터 수집이 가능할 것이라는 점을 어필합니다.(즉, 해당 파이프라인에 50개 이상의 데모를 사용할 경우 높은 성공률을 통해 고품질의 데이터 수집이 가능해질 것이라고 이해하였습니다.)
  • One-Shot Visual Imitation with Human Preference

도메인 외의 지식을 검색하는 것 외에도 특정 도메인 정보가 주어졌을 때의 one-shot 방식의 visual imitation에 적용한 실험 결과입니다. 위의 이미지와 같이 티슈나 티슈 박스를 집는 데모가 주어졌을 때, 이에 대한 시각적 모방을 수행할 수 있으며, 톰과제리 예시는 만화 이미지의 데모를 보고도 서랍을 열 수 있음을 보여준다고 합니다.(이에 대한 정량적 결과는 따로 존재하지 않으며, geometrical retrieval에 부합하지 않는 케이스인데도 잘 작동하는지는 의문입니다..)

  • LM/VLM Integration

open-set 명령어와 long-horizon tasks(찾아보니, 전자레인지 문을 열어 음식을 집어넣고 전자레인지 전원 스위치 켜기와 같이, 단순 작업이 아닌 긴 일련의 작업을 의미하는 것으로 보입니다.)에 LLM/VLM과 쉽게 결합될 수 있다는 것을 보이는 실험입니다. 위의 그림은 “clear the table”이라는 명령어가 주어진 상황으로, VLM을 이용하여 여러 동작과 기본 요소로 작업을 해석하고 분석하여 복잡한 작업을 보다 유연하게 처리할 수 있다고 합니다.

Author: 이 승현

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다