FlowRAM: Grounding Flow Matching Policy with Region-Aware Mamba Framework for Robotic Manipulation

전찬욱·2025년 12월 5일
post-thumbnail

Wang, Sen, et al. "FlowRAM: Grounding Flow Matching Policy with Region-Aware Mamba Framework for Robotic Manipulation." Proceedings of the Computer Vision and Pattern Recognition Conference. 2025.


Open access version, CVPR 2025(Computer Vision and Pattern Recognition)
8회 인용


피인용 볼만한거?

피인용 키워드

  • “Mamba 기반 attention/perception + flow-matching 정책”
    Mamba 기반의 공간 인식
    느린 inference 속도 문제를 피하면서도 높은 성공률

  • FlowRAM이 제안한 설계 아이디어(예: region-aware perception + CFM + 3D 입력)

  • diffusion-based 정책 vs flow-based 정책 논쟁에서 flow-matching의 장점을 실용적


논문에서 인용한 논문


요약

Key contribution

  • diffusion 기반 로봇 조작 방법의 비효율성과 제한된 인식을 해결하기 위해 새로운 프레임워크를 제안
  • Dynamic Radius Schedule을 통해 지역 인식(region-aware) 지각을 가능하게 하고, Mamba 모델로 multimodal 정보를 효율적으로 통합하며, Conditional Flow Matching을 사용하여 빠른 action pose 생성을 달성

Achivement

  • RLBench 벤치마크 및 실제 환경에서 검증된 FlowRAM은 특히 고정밀 작업에서 이전 방법들보다 12.0% 높은 평균 성공률을 달성했으며, 4단계(time steps) 미만으로 빠르게 동작을 생성하여 state-of-the-art 성능을 입증

리뷰

이전 연구의 한계

  • 확산 모델 기반 정책 학습 방법들은 반복적인 노이즈 제거를 거치는 느린 추론 속도 문제를 갖고, 과업에 특화된 국소 영역 정보를 충분히 인지하지 못하는 한계
  • 작은 인식 오차도 실패로 이어질 수 있는 고정밀 작업
  • 환경의 전반적 의미뿐 아니라 과업 관련 부위의 미세 기하 구조까지 정확히 이해하는 것이 필수적

방법론

  • 지역-인지(region-aware) 3D 인지와 조건부 플로우 매칭을 결합함으로써 높은 정밀도와 빠른 정책 추론을 동시에 달성

Contributions

  • FlowRAM은 생성 모델에 기반한 정책
  • 3D 인지 단계에서 과업-관련 영역에 집중하는 전략 + 효율적인 행위 생성 기법
  • 고차원 연속 행동 공간(멀티모달 + pos/rot 9 + 그리퍼 1)에서도 정밀한 조작을 빠르게 수행
  • RLBench 벤치마크의 10개 다중 과제와 별도의 7개 고정밀 과제 실험에서 모두 최신 최고 성능을 달성

조건부 플로우 매칭 (CFM)의 이론과 적용

  • 플로우 매칭은 연속적인 시간-매개변수화된 속도장 vθ(x,t)v_θ(x,t)를 학습하여 데이터 공간에서의 직선 경로로 노이즈를 목표값으로 이끕니다.

  • 본 논문의 정책은 CFM 기반으로 학습되어, 관측 조건 CC 하에서 tt시각의 속도장 vθ(x,t,C)v_θ(x,t,C)를 출력함으로써 잡음 초기 상태를 목표 행동으로 직접 변환하도록 훈련됩니다.


1. “분포를 옮긴다”는 관점: 확산 vs 플로우

1) 우리가 하고 싶은 일

  • 목표: 어떤 “복잡한 분포” π1(x)\pi_1(x) (여기서는 행동(action) 분포)에서 샘플링하고 싶다.
  • 직접 (π1\pi_1)를 쓰기 어렵기 때문에, 간단한 분포 π0(z)=N(0,I)\pi_0(z) = \mathcal{N}(0, I) 에서 뽑은 샘플을
    [zπ0x=Gθ(z)][ z \sim \pi_0 \quad \Rightarrow \quad x = G_\theta(z) ]
    이렇게 생성 모델 GθG_\theta로 바꾸고 싶다.

2) Diffusion vs Flow의 차이 감각

  • Diffusion:

    • 정방향에서 x1noisex_1 \to \text{noise}로 가는 마코프 체인 / SDE 정의
    • 역방향에서 score xlogpt(x)\nabla_x \log p_t(x) 를 학습하여
      노이즈 → 데이터 쪽으로 수십 step 디노이징.
  • Flow / ODE 기반 방식:

    • t[0,1]t \in [0, 1] 동안
      dxtdt=vθ(xt,t)\frac{dx_t}{dt} = v_\theta(x_t, t)
      라는 ODE를 따라가면서
      x0π0x_0 \sim \pi_0에서 출발 → x1x_1π1\pi_1를 따르게 만드는 속도장(velocity field)를 학습.
    • 확률 흐름(probab. flow ODE)을 직접 근사하는 느낌.

그래서 CFM은 “노이즈를 데이터로 ‘흘려 보내는’ ODE를 직접 학습”하는 계열이라고 보면 돼.


2. Flow Matching 기본 이론(조건 없을 때)

논문에서 쓰는 기본 형태(가장 단순한 straight-line bridging)를 기준으로 설명하면:

1) 두 분포 π0\pi_0, pi1pi_1

  • π0\pi_0: 간단한 분포 (보통 N(0,I)\mathcal{N}(0, I))
  • π1\pi_1: 데이터 분포 (여기서는 행동 포즈 분포)

두 분포에서 샘플 쌍을 뽑는다:

x0π0,x1π1x_0 \sim \pi_0,\quad x_1 \sim \pi_1

2) 경로(bridge) 정의: 직선 보간

가장 단순한 설정: 데이터 공간에서 직선 경로를 쓴다

xt=tx1+(1t)x0,t[0,1].x_t = t x_1 + (1 - t)x_0,\quad t \in [0, 1].

그러면 이 경로를 따라가는 진짜 속도(target velocity)는

u(xt)=dxtdt=x1x0.u(x_t) = \frac{d x_t}{dt} = x_1 - x_0.

즉, same everywhere along the path, 직선이니까.

3) 우리가 학습하고 싶은 것

  • 우리는 신경망 vθ(x,t)v_\theta(x, t)로, 이 진짜 속도를 근사하고 싶다:
    vθ(xt,t)x1x0.v_\theta(x_t, t) \approx x_1 - x_0.
  • 그럼 ODE
    dxtdt=vθ(xt,t)\frac{dx_t}{dt} = v_\theta(x_t, t)
    를 쫓기만 하면, x0x_0에서 출발해서 x1x_1 쪽으로 잘 흘러가게 된다.

4) Flow Matching의 학습 목표 (loss)

그래서 Flow Matching의 손실은 속도장 회귀다:

L=EtU(0,1),x0,x1[u(xt)vθ(xt,t)2]=E[x1x0vθ(xt,t)2].\mathcal{L} = \mathbb{E}_{t \sim \mathcal{U}(0,1), x_0, x_1} \left[ \| u(x_t) - v*\theta(x_t, t) \|^2 \right] = \mathbb{E}\left[ \| x_1 - x_0 - v_\theta(x_t, t) \|^2 \right].

이게 논문 본문에 있는 “CFM loss”의 기본형이야.


3. Conditional Flow Matching (CFM)

실제 문제에서는 “이미지, 텍스트, 로봇 상태” 같은 조건(condition) cc 가 있다.

예:

  • c=c = “RGB 이미지 + 3D 포인트 + 언어 명령 + 로봇 상태(고유감각/관절)”
  • x1=x_1 = 그 조건에서의 정답 keyframe action (6-DoF 포즈 + 그리퍼 상태)

이럴 때는:

  1. 데이터 쌍은 (c,x1)(c, x_1) 형태로 주어지고
  2. 여전히 x0π0x_0 \sim \pi_0 (noise)에서 시작하며
  3. 경로는
    xt=tx1+(1t)x0x_t = t x_1 + (1-t)x_0
  4. 속도는
    u(xt,c)=x1x0u(x_t, c) = x_1 - x_0
  5. 네트워크는
    vθ(xt,t,c)v_\theta(x_t, t, c)
    를 예측한다.

그래서 CFM의 loss는

LCFM=Et,x0,x1,c[x1x0vθ(xt,t,c)2].\mathcal{L}_{\text{CFM}} = \mathbb{E}_{t, x_0, x_1, c} \left[ \| x_1 - x_0 - v_\theta(x_t, t, c) \|^2 \right].

여기서 중요한 포인트:

  • 확산은 score xlogpt(xc)\nabla_x \log p_t(x|c) 를 맞추는 반면
  • CFM은 속도 벡터 (u) 를 직접 회귀한다.
    → 직관적으로 “지금 위치에서 어디로, 얼마나 가야 하는지”를 바로 예측하는 셈.


Mamba 기반 상태 공간 모델 (SSM)의 역할

  • 상태 공간 모델(SSM)은 RNN이나 Transformer의 대안으로 부상한 연속-동역학 기반 시퀀스 모델
  • Mamba를 다중모달 피처 융합 모듈로 활용하는데, 구체적으로 다중 시각 이미지 특징, 3D 점군 특징, 언어 명령 임베딩, 로봇 관절 상태 등의 토큰 시퀀스를 하나의 멀티모달 시퀀스로 구성한 뒤 Mamba 블록을 통과
  • 포인트클라우드 같이 토큰 수가 많은 입력도 효율적으로 다룰 수 있습니다.
  • 이전의 로봇 작업 연구들에서 Mamba가 시각 인지 모듈 혹은 정책 모듈로 개별 활용된 사례는 있었지만, FlowRAM은 Mamba를 인지와 정책 양 측면에 통합한 최초의 프레임워크
  • Mamba 구조는 전역 시맨틱 특징(예: 물체 종류, 위치 등)과 지역 기하 특징(예: 물체의 정확한 형상과 정렬 상태)을 동시에 처리
  • 로봇이 과업 맥락을 이해하면서도 미세한 세부 정렬까지 잡아내는 정책을 학습

지역-인지 동적 반경 스케줄 (Region-Aware Perception)

  • 고정밀 작업에서 높은 성능을 내려면, 장면 전체에 대한 이해와 핵심 부위의 세밀한 분석 사이에 균형을 맞춰야 합니다.
  • Figure 1의 USB 메모리 삽입 과제를 보면, 이전 방법들은 USB 단자와 컴퓨터 포트의 형태 차이를 충분히 인식하지 못해 정렬 실패를 겪지만,
  • FlowRAM은 시간이 지남에 따라 관심 영역을 USB-포트 접촉부로 좁혀 해당 기하학적 세부 정보를 끝까지 유지함으로써 성공적인 삽입을 구현합니다.
  • 실제 실험에서도 DRS를 적용하지 않고 전체 장면을 균일 샘플링한 경우보다 성공률이 일관되게 낮고 추론 시간은 증가했으며, DRS를 도입하면 적은 포인트(point cloud)만으로도 동일한 성능 향상을 얻을 수 있음이 확인되었습니다.

Figure 3. Overview of the tasks.


Dynamic Radius Schedule (DRS, 동적 반경 스케줄)

  • DRS는 플로우 매칭(flow matching) 생성 프로세스를 활용하여 3D 인식을 동적으로 조절하는 핵심 메커니즘
  • 플로우 매칭 생성 과정의 시간 단계에 따라 로봇의 인지 범위(radius)를 동적으로 줄여나가는 방법
  • 초기 단계에서는 넓은 범위의 3D 포인트들을 샘플링하여 환경의 전반적인 맥락과 물체의 위치 관계를 파악
  • 시간이 흐름에 따라 샘플링 반경을 축소함으로써, 점점 더 과업과 관련된 국소 영역(예: 삽입해야 할 포트 주위의 작은 영역)만을 집중적으로 관측
  • 이 방식으로 공간 해상도를 가변적으로 조정하여 글로벌-로컬 정보의 균형을 이루고, 결과적으로 작은 목표물의 형상, 구멍의 각도 같은 미세한 요소까지 놓치지 않고 인지할 수 있습니다.

Figure 5. Perception Region Illustration


  • DRS는 특정 영역에 대한 초점(focus)을 동적으로 조정
  • 이는 다음과 같이 정의된 일련의 영역 인식 마스크(MiM_i)를 출력합니다:
    Mi={(pi,ri)i=0N}M_i = \{(p_i, r_i) | i = 0 \dots N \}
    ii는 이산 시간 단계를 나타내고, pip_i는 해당 시간 단계에서의 노이즈가 추가된(noise-perturbed) 위치이며, rir_i는 해당 영역의 반경(radius)입니다.
  • 추론(inference) 단계에서 노이즈가 추가된 위치 pip_i는 로봇 팔(end-effector)의 실제 위치 p0p_0으로 점진적으로 수렴
  • 동시에 인식 반경 rir_if(i)f(i)라는 단조 감소 함수(monotonically decreasing function)에 따라 동적으로 조절
  • 선형 반경 제어 전략인 ri=(1i)(r0rmin)+rminr_i = (1 - i) \cdot (r_0 - r_{min}) + r_{min}을 사용하지만, 코사인 어닐링(cosine annealing)과 같은 더 복잡한 형태도 가능

다중 모달 토큰 직렬화 (Multimodal Token Serialization)

  • FlowRAM은 포인트 클라우드(point cloud)RGB 이미지(RGB images)를 입력으로 받습니다.
  • 각 모달리티(modality)에 대해 전용 시각 인코더(visual encoder)를 사용
  • 포인트 클라우드 브랜치: DRS를 적용하여 필요한 포인트 클라우드를 동적으로 샘플링한 후, Mamba 기반 포인트 클라우드 인코더 📄 PointMamba: A Simple State Space Model for Point Cloud Analysis를 사용하여 기하학적 특징 FgeoRN1×CF_{geo} \in \mathbb{R}^{N_1 \times C} 를 생성합니다 (N1N_1은 샘플링된 포인트 수, CC는 차원). N1N_1은 작업 관련 영역에서 적응적으로 샘플링된 포인트 수를 나타냅니다.
  • 이미지 브랜치: CLIP 이미지 인코더 📄 Learning transferable visual models from natural language supervision와 Feature Pyramid Network 📄 Feature pyramid networks for object detection를 사용하여 다중 뷰 이미지에서 전역적인 의미론적 특징 FrgbRN2×CF_{rgb} \in \mathbb{R}^{N_2 \times C} 를 추출합니다 (N2N_2는 특징 포인트 수).
  • 추가 입력: 작업 지침(task instruction)은 CLIP 언어 인코더를 통해 FtextRN3×CF_{text} \in \mathbb{R}^{N_3 \times C}로 매핑되고, 노이즈가 추가된 포즈(noise-perturbed pose)는 FopenR1×CF_{open} \in \mathbb{R}^{1 \times C}로 투영됩니다.
Fin=concat(Fgeo,Frgb,Ftext,Fopen)F_{in} = \text{concat}(F_{geo}, F_{rgb}, F_{text}, F_{open})
FinR(N1+N2+N3+1)×CF_{in} \in \mathbb{R}^{(N_1+N_2+N_3+1) \times C}
  • 통합된 FinF_{in}은 다음 단계인 멀티모달 Mamba 모델의 입력으로 사용되어 효율적인 정보 융합이 가능하게 합니다.

상태 공간 융합 모델 (State Space Fusion Model)

  • 다중 모달 융합 모듈
  • 전처리: 특징 융합 전에, 정렬되지 않은 포인트 클라우드 데이터에 위치 정보를 인코딩하기 위해 경량 MLP를 사용하여 위치 임베딩(position embedding)을 구현
    • 정렬되지 않은(unordered) 데이터이기 때문에 순서 정보가 없다.
    • 각 포인트의 좌표 (xyz)를 입력으로 하는 경량 MLP로 position embedding 을 만든다.
    • 원래 feature: point feature + xyz
    • 전처리 후 feature: point feature + position embedding
  • 연결: 모든 특징( FgeoF_{geo}, FrgbF_{rgb}, FtextF_{text}, FopenF_{open})은 포인트 차원을 따라 연결되어 FinF_{in}을 형성
    • Fin=concat(Fgeo,Frgb,Ftext,Fopen)F_{in} = \text{concat}(F_{geo}, F_{rgb}, F_{text}, F_{open})
    • FinR(N1+N2+N3+1)×CF_{in} \in \mathbb{R}^{(N_1+N_2+N_3+1) \times C}
  • Mamba 모델: FinF_{in}을 처리하기 위해 다중 모달 Mamba 모델 📄 Mamba: Linear-Time Sequence Modeling with Selective State Spaces의 강력한 시퀀스 모델링 능력과 선택 메커니즘(selection mechanism)을 활용하여 핵심 정보에 집중하고 중복 계산을 피하여 효율적인 데이터 모델링을 가능
  • 출력은 다음 방정식으로 표현됩니다.
    • H1=LN(Fin)H_1=LN(F_{in}) ; 입력 정규화
    • H2=SSM(Silu(Conv1d(Linear(H1))))H_2 = \text{SSM}(\text{Silu}(\text{Conv1d}(\text{Linear}(H_1))))
    • Fout=Linear(H2Silu(Linear(H1)))F_{out} = \text{Linear}(H_2 \odot \text{Silu}(\text{Linear}(H_1))) ; selective feature modulation
    • \odot는 원소별 곱(element-wise product)을 나타냅니다.

Figure 2. The overall framework of FlowRAM

https://arxiv.org/html/2506.16201v1/x2.png


실험 결과 및 성능 비교

  • RLBench 벤치마크의 다중 과제(총 18개 세부 작업)에 대한 평가

  • FlowRAM은 평균 성공률 84.9%로 기존 최고 성능 기법들을 능가하며 종합 1위

  • 특히, 높은 기하 정확성을 요구하는 특정 작업들에서 두드러진 향상

  • Insert Peg (말뚝 삽입) 작업의 경우, 기존 SOTA인 3D Diffuser Actor와 RVT-2의 성공률이 각각 ~65.6%, 40.0%인 반면 FlowRAM은 72.0%의 높은 성공률을 달성

  • 다른 정밀 작업들(예: Sort Shape 퍼즐 맞추기, Stack Cups 컵 쌓기 등)에서도 ...

  • 정밀 과제들을 별도 집계한 평균 성공률에서 약 12%p 향상을 이루었습니다.

  • 추론 효율 면에서도 큰 개선 / 단 2~4회의 디노이징 스텝만으로 다음 행동을 산출 가능

  • 실세계(real-world) 로봇 실험에서도 6개의 실제 조작 작업을 수행한 결과 제한된 시연 데이터만으로도 높은 성공률(예: 6/10 혹은 10/10 에피소드 성공)을 기록


Figure 3. Overview of the tasks. Six high-precision tasks from RLBench and two real-world tasks are visualized. Notably, the Unplug
Charger is the inverse process of the Plug Charger in simulator.

Table 1. Evaluation of Multi-Task on RLBench.

Table 2. Evaluation on High-precision Task on RLBench

Table 3. Comparison of Architectures and Modules.


Impact of inference steps

Figure 4. Performance of CFM in High-Precision Tasks.

Table 4. Impact of inference steps.

Table 5. Real-world tasks configuration and performance.

0개의 댓글