[CVPR2024] AffordanceLLM: Grounding Affordance from Vision Language Models

제가 이번에 리뷰할 논문도 Affordance Grounding 논문입니다. 지난번에 리뷰한 논문은 LLM이나 VLM을 활용하지는 않고, affordance 정보를 class로만 활용하였는데, 해당 논문은 VLM을 이용하여 affordance grounding의 일반화 성능을 높이고자 한 논문입니다.

Abstract

affordance grounding은 객체의 상호작용 영역을 찾는 것을 태스크로, 이는 영상에 대한 다양한 측면의 이해가 요구됩니다. 이때 다양한 측면의 이해란 객체의 일부분을 감지하고, 위치를 인식할 수 있어야 하며,영상의 구성이나 배치에 대한 기하학적 이해와 물리 및 3D 형태에 대한 이해, 객체와 사람 사이의 기능적 잠재적 상호작용을 이해하는 것을 의미합니다. (즉, 객체와 영상 레벨의 의미론적, 기하학적 정보 뿐만 아니라 객체가 어떤 기능이 가능한 지, 사람이 어떤 상호작용을 할 수 있는 지 등의 포괄적인 이해가 필요합니다. ) 그러나 제한된 학습 데이터로 인해 이미지에 대한 포괄적 이해가 어려우며, 해당 논문은 affordance grounding의 일반화 성능을 높이기 위해 사전 학습된 대규모 VLM의 풍부한 지식을 활용하기 위한 연구를 수행하였습니다. 해당 방법론은 AGD20K 벤치마크에서 상당한 성능 개선을 보였으며, 인터넷 상의 임의의 이미지를 활용하여 미학습 object와 action에 대한 일반화 가능성을 보였습니다.

Introduction

Affordance Grounding은 단일 이미지로부터 객체의 기능적 적보와 사람과의 상호작용등을 종합적으로 이해하여 특정 행동에 대응되는 객체 영역을 찾는 태스크로, 컴퓨터비전 문제에서 중요한 문제입니다. 기존의 방식은 사람이 시연을 하며 이를 지도학습방식으로 학습하였으며, 학습한 객체와 액션에 대해서는 잘 작동하였습니다. 그러나, 미학습 객체로의 일반화에는 어려움을 겼었으며, 저자들은 이를 해당 태스크가 다양한 측면의 영상 기반 이해를 요구하기 때문이라고 이야기합니다. 여기서 다양한 측면의 이해란, 객체와 객체의 일부에 대한 3D 기하학적/기능적 이해, 에이전트의 액션과 조작하고자 하는 목적에 대한 이해, 객체와 사람 사이의 잠재적인(가능한) 상호작용에 대한 이해를 의미합니다. 이러한 지식의 대부분은 제한된 학습 데이터에서 heat map으로 제공되는 객체와 객체의 일부분 에 대한 GT localization과 reccognition 이상의 정보로 해당 논문의 저자들은 VLM을 활용하여 앞서 언급한 지식을 활용하고자 합니다.

해당 논문은 풍부한 world에 대한 이해와, 사람과 객체 사이의 상호작용 지식을 임베딩한 VLM을 이용하여 wild한 환경에서 affordance grounding의 성능을 높이는 것을 목표로 합니다. 우선, 대량의 text데이터로 사전학습된 VLMs(GPT-4, LLaVA)는 풍부한 지식을 가지고 있으며, 이에 대해 Figure 2를 통해 그 중 LLaVA 모델에 영상과 질문이 주어졌을 때, 주어진 객체의 어느 부분과 상호작용을 해야하는 지 등의 상식적인 답변을 제공함을 보였습니다. 이처럼, Affordance Grounding도 세계에 대한 이해를 활용하면 wilde한 상황에 일반화가 가능성이 높아질 것으로 기대하여 저자들은 VLM을 활용하는 연구를 수행합니다.

추가로 저자들은 객체의 기능적 정보를 풍부하게 보유한 3D 기하학적 정보를 새롭게 도입하여, 기하학적 정보를 통해 외관 정보의 다양한 변동성에 대응하며, 일반화를 촉진하고자 하였습니다. 이에 대해 추가로 설명을 드리자면, 얇은 스틱이나 핸들의 기하학적 형태는 색상이나 외관과 상관 없이 잡는 행동(holding, grabbing 등)과 관련이 있으며, 의자나 벤치의 판판한 부분은 앉는 등의 행동(sitting, lying 등)과 관련이 있습니다.

따라서 본 논문에서는 세계에 대한 지식을 활용하고자 VLM 백본(저자들은 LLaVA를 선정)을 이용하는 AffordanceLLM방식을 제안합니다. Affordance Map 예측에 사용되는 mask decoder와 특수 토큰인 <mask token>을 도입하였으며, 전체 모델은 end-to-end로 학습시킵니다. 또한, RGB뿐만 아니라 Depth Map을 사용하여 3D 정보를 활용한 추론을 수행합니다. 저자들은 VLM활용과 Depth map 활용하는 방식 모두 성능을 개선됨을 확인하였다고 합니다.

평가를 위해 정확한 action과 라벨이 포함된 대규목 affordance grounding 데이터셋인 AGD20K를 활용하였으며, 일반화 성능에 대한 평가를 위헤 데이터 셋을 재구성하였으며 SOTA를 달성하였다고 합니다. 나아가, 일반화에 대한 평가를 위해 인터넷 상의 이미지를 랜덤으로 선정하여 평가를 수행하였으며, 학습 데이터와 상당히 다른 형태의 객체에서 타당한 결과를 보였으며, 새로운 action으로도 일반화가 가능함을 보였다고 합니다.

해당 논문의 contribution을 정리하면

  1. 최초로 세계에 대한 지식이 임베딩된 사전학습된 VLMs을 Affordance Grounding 방법론에 도입하여 일반화가 가능하도록 하였으며,
  2. 3D 정보의 중요성을 입증하였으며,
  3. 제안된 방식을 통해 새로운 객체로의 일반화와 AGD20K에서의 성능 개선 뿐만 아니라 새로운 action으로의 일반화 가능성을 보였습니다.

Approach

AffordanceLLM의 입력은 단일 이미지 I, affordance text query T(이때, 쿼리 text의 템플릿은 “What part of the <object_name> should we interact with in order to <action_name> it?”)이며, LLM을 특정 토큰(mask token)을 생성하도록 학습시켜, 이를 이용해 dense affordance map M을 디코딩하도록 합니다. 전체적인 파이프라인은 아래의 Figure 3에서 확인하실 수 있습니다.

1. Overview

<LLM>

저자들은 멀티모달 LLM으로 LLaVA-7B를 백본으로 선정하였습니다. LLaVA는 CLIP의 사전학습된 ViT를 이미지 인코더로 사용하여 이미지 feature F_I를 구하고, text tokenizer를 이용하여 텍스트 feature F_T를 생성한 뒤 두 feature를 concatenation하여 LLM을 통해 text output A를 생성합니다.

<Predicting affordance>

세계에 대한 자식이 내포된 LLM을 활용하여 affordance를 추론하기 위해, 저자들은 affordance를 LLM이 예측한 text token으로 다룰 것을 제안합니다.(즉, A가 affordance 정보가 내포된 token으로 다룬다는 것으로 이는 이후에 2D map으로 디코딩됩니다.) 학습된 LLM을 통해 mask token을 예측하고, mask token을 query embedding q로 투영시켜 이미지 feature와 함께 디코더(SAM과 3DOI의 디코더 구조와 유사)를 통과시켜 dense affordance map M을 생성합니다.

<Pseudo depth as additional inputs>

앞서 언급하였듯이 저자들은 기하학적 정보를 활용할 경우 기능적 정보를 풍부하게 활용 가능할 것이라는 직관(혹은 추정?)에 따라 기하학적 정보를 입력으로 도입하고자 하였으며, 이를 위해 각 이미지에 SOTA depth estimation 방법론인 DPT를 활용하여 pseudo depth map D를 생성합니다. 이때, 최근 VLMs는 이미지와 텍스트만으로 학습하였으므로 D에 이미지와 동일한 encoder를 적용하여 depth features F_D를 생성한 뒤 이미지와 concatenation하여 AffordanceLLM에 입력으로 함께 사용합니다. 기하학적 정보를 활용하는 것에 대한 효과는 저자들이 이후 실험파트를 통해 입증을 하였습니다.

<Training Object>

저자들은 기존 방법롤과 동일하게 이진 focal loss를 이용하여 affordance map에 대한 학습을 수행하였으며, 이때 학습 데이터 중 positive 샘플에 비해 negative 샘플이 더 많으므로 positive에 0.95, negative에 0.05로 가중치를 주었으며, 이를 L_{aff}라 합니다. 또한 text output에 cross entropy loss를 적용하여 학습을 수행하였으며, 이를 L_{text}라 합니다. Total loss는 아래와 같이 정리되며, 이때 positive 샘플의 수가 적어 L_{aff}의 값이 작으며, 균형을 위해 /lambda를 0.01로 설정하였다고 합니다.

2. Network Architecture

<Image encoder>

저자들은 이미지 encoder의 경우, CLIP encoder는 224×224의 저해상도라 grounding을 위한 충분한 정보를 추출하기 어려워 동일한 입력 이미지에 대하여 768×768 해상도의 출력을 얻을 수 있는 OWL-ViT를 이용하였다고 합니다. 또한, OWL-ViT는 영상 내 객체의 위치를 추정하도록 사전학습되었다는 점에서 더 적합하다고 이야기하며, 실험적으로도 더 좋은 성능을 보였다고 합니다. 그러나, 두 모델 모두 저자들이 제안한 방식에 적용할 경우 성능 개선이 이루어진다는 것도 실험에서 리포팅합니다.

<Projection>

또한, OWL-ViT는 hidden state가 768인 576개의 token을 생성하고, CLIP은 256개의 token만을 생성하므로 두 embedding space가 다르다는 문제가 있습니다. 또한, 각 token을 LLM의 4096차원인 hidden state로 투영하는 것은 GPU 소모가 크므로, 저자들은 OWL-ViT의 각 token을 1024 차원으로 투영한 뒤, 인접한 4개의 토큰을 모아 LLM의 차원과 맞추었다고 합니다.

<Language Model>

저자들은 LLaVA와 LLama에서 사용하는 tokenizer를 사용하여 text query를 인코딩하였으며, LLama-7B를 LLM 모델(Figure 3의 파란색 부분)로 사용합니다.

Experiments

다음은 실험파트로, 저자들은 실험을 통해 (1) SOTA 방법론 대비 일반화 성능의 개선 정도(2) prompts, visual encoder, depth 등 저자들이 선택한 디자인의 효과를 평가합니다.

Experimental Setup

<Metrics>

AGD20K 벤치마크 데이터 셋(데이터 셋에 대한 기본적인 정보는 이전 x-review를 참고해주세요. 본 논문에서는 set을 재구성하여 실험하며, 이에 대한 내용은 Dataset 파트에서 확인해주세요.)에 대한 평가를 수행하였으며, 평가지표는 KLD, SIM, NSS를 이용합니다.

  • Kullback-Leibler Divergence (KLD)
    • GT(M')와 예측 Affordance map(M) 사이의 분포 차이를 측정
    • 작을수록 유사한 분포로 판단(작을수록 좋음)
  • Similarity (SIM)
    • GT(M')와 예측 Affordance map(M) 사이의 교집합을 측정하는 값으로 0~1 사이의 값
    • 값이 클수록 분포가 유사하다고 판단(클수록 좋음)
  • Normalized Scanpath Saliency (NSS)
    • GT(M')와 예측 Affordance map(M) 사이의 일치성을 측정
    • 값이 클수록 높은 일치도를 의미(클수록 좋음)

<Baseline>

SOTA 방법론과 비교를 위해 weakly-supervised 방식과 fully-supervised 방식을 선정하였다고 합니다. 먼저, [weakly supervied 방식]은 affordance map에 대한 GT 영역을 명시적으로 제공하지 않으며, 동일 물체에 대한 사람의 상호작용 이미지를 통해 학습된 모델로, InteractionHotspots, Cross-View- AG, Cross-View-AG+, AffCorrs, LOCATE가 이에 해당합니다. 그중 LOCATE가 가장 최신 방법론이며, 이에 대한 자세한 내용은 이전 X-review를 참고해주세요. 그 중, 구현의 이슈로 인해 Cross-View-AG, Cross-View-AG+, LOCATE에 대해서만 재학습 및 평가를 수행하였다고 합니다. [fully-supervised 방식]의 경우 3DOI를 선정하였으며, 저자들의 방법론도 Fully-supervised 방식에 해당합니다. 또한, 공정한 비교를 위해 LOCATE 방식도 fully-supervised 버전으로 조정하여(LOCATE-sup) 평가를 수행하였다고 합니다. (3DOI는 SAM을 기반으로 하는 affordance map 예측 모델)

<Dataset>

AGD20K 데이터 셋을 이용하여 평가를 수행하며, 이는 기본적으로 LOCATE의 데이터 구성을 따릅니다. 해당 논문은 미학습 객체에 대한 평가를 위해 Unseen split에서 평가를 수행하며, 이는 category가 겹치지 않도록 되어있으나, 학습 과정에 test set의 객체와 유사한 데이터를 학습한다는 것을 이야기합니다. 예를들어, test set의 “skis”, “basketball”, “knife”는 각각 train set의 “snowboards”&”skateboards”, “baseball”, “fork”와 유사하다는 것 입니다. 따라서 저자들은 모델의 일반화 성능을 더 잘 평가하기 위해 challenging split을 추가로 제시하며, AGD20K의 기존 Unseen Split을 Easy split, 저자들이 새로 제시한 split을 Hard split이라고 지칭합니다.

  • Easy Split
    • AGD20K의 기존 Unseen split
    • fully-supervised: dense affordance annotation이 포함된 1,1350장의 학습 이미지와 540장의 평가 이미지로 구성
    • weakly-supervised: 이미지 수준의 affordance annotation이 포함된 13,323장의 학습 이미지와 540장의 평가 이미지로 구성
  • Hard Split
    • AGD20K object class의 50% 카테고리를 무작위로 선정하여 학습하고 나머지를 test로 사용하였으며, 이때 train과 test 카테고리 사이의 유사한 파트가 적어 easy split보다 더 일반화가 어려움
    • fully-supervised: dense affordance annotation이 포함된 868장의 학습 이미지와 807장의 평가 이미지로 구성
    • weakly-supervised: 이미지 수준의 affordance annotation이 포함된 11,889장의 학습 이미지와 807장의 평가 이미지로 구성
Hard Split의 카테고리 구성

데이터 셋 구성에 대한 어려움을 평가하기 위해 카테고리 사이의 의미론적 거리를 이용한 difficulty score 지표를 제안합니다. 이는 CLIP의 text encoder를 이용해 각 class 사이의 embedding을 구한 뒤, 아래의 식을 이용하여 난이도에 대한 score를 측정하였으며, 아래의 Table 1을 통해 저자들이 기존의 방식에 비해 어려운 카테고리로 클래스를 구성하였음을 보입니다.

Results

  • 위의 Figure 4는 Hard Split에 대한 정성적 실험 결과로, SOTA 방법론인 LOCATE와 비교하였을 때, LOCATE는 객체 전체에 대해 활성화가 되는 반면, 저자들의 방법론은 객체의 특정 영역에 집중이 되는 것을 확인할 수 있습니다.
  • 또한, 3DOI는 경우는 객체의 국소적인 영역(포인트처럼 작은 영역)에 집중하며 종종 잘못된 영역에 affordance map이 생성되는 것을 과나찰할 수 있습니다.
  • 이를 통해 저자들은 AffordanceLLM이 affordance map을 생성함에 있어 일반화가 가능함을 보였습니다.
  • 위의 Table 2,3은 각각 easy split과 hard split에 대한 정량적 실험 결과로, hard split에서는 모든 방법론 대비 저자들의 방식이 가장 좋은 성능을 보였으며, 이를 저자들은 VLM이 가진 지식의 효과로 분석합니다.
  • easy split에서는 저자들의 방식이 LOCATE 방식과 유사한 성능을 보였으나 LOCATE가 더 좋은 성능을 달성하였으며, 이에 대해서는 기존 split이 학습을 통해 유사한 객체로 학습을 수행하므로, 저자들이 목표로 한, 일반화 가능성의 효과가 덜 중요하기 때문이라고 분석하였으며,
  • 공정한 비교를 위해서는 LOCATE-Sup이 저자들의 학습 방식(fully supervised)과 유사하므로 더 유의미한 비교로 보며, 두 split에서 모두 LOCATE-Sup보다 좋은 성능을 보였다는 점을 어필합니다.

Ablation study

  • 위의 Table 4와 Figure 5는 hard split에서 Text Prompt와 사용한 encoder, Depth 정보 사용 유무에 따른 결과를 나타낸 것으로,
  • Text Prompt는 VLM모델에서 중요한 요소로, 단순한 prompt보다 “What part of the motorcycle should we interact with in or- der to push it?”와 같은 완전한 형태의 질문을 프롬프트로 이용함으로써 성능이 좋아진다는 것을 실험적으로 보였습니다.(이때 Hi는 “Hi”라는 프롬프트, Action은 “hold”와 같은 action 정보를 프롬프트로, Oject + Action은 “hold, knife”와 같은 형태의 프롬프트를 제공한 결과라 합니다.) ← 2,4,5,6행의 비교
  • Image Encoder는 LLaVA의 CLIP-ViT 인코더 대신 저자들이 선택한 OWL-ViT를 사용했을 때의 효과를 비교한 것으로, 이미지와 text 쌍에 대한 align을 목표로 하는 CLIP-ViT 인코더에 비해 open-vocabulary Object Detection은 객체의 영상 내 위치를 찾는 것을 목표로 한다는 점에서 OWL-ViT가 더 잘 작동한다는 것을 실험적으로 보였습니다. ← 2,3행 비교
  • Depth는 DPT를 이용하여 pseudo depth를 생성하여 입력으로 활용하였을 때의 성능 개선이 이루어짐을 확인할 수 있으며, 이에 대한 정성적 결과도 Figure 5를 통해 확인할 수 있습니다. ← 1,2행 비교

Generalization to Internet Images

  • 위의 Figure 6은 인터넷의 이미지를 무작위로 선정하여 모델의 일반화 성능을 테스트 한 것으로, 모든 test 데이터는 새로운 객체이며,
  • 1,2행의 경우 기존 학습 데이터와의 차이는 가장 오른쪽의 most similar training에서 확인하실 수 있으며(즉, 학습 데이터와 큰 차이가 있다는 것을 이해하시면 됩니다.), 새로운 객체가 주어졌을 때 일반화가 가능하다는 것을 확인할 수 있습니다.
  • 3,4행은 새로운 action으로의 확장을 평가하기 위한 것으로, 새로운 action이 주어졌을 때도 어느정도 일반화가 가능하다는 것을 나타냅니다.

Author: 이 승현

4 thoughts on “[CVPR2024] AffordanceLLM: Grounding Affordance from Vision Language Models

  1. 안녕하세요 이승현 연구원님 좋은 리뷰 감사합니다.

    아이디어가 아주 재밌는 연구네요, “세계에 대한 자식이 내포된 LLM을 활용하여 affordance를 추론하기 위해, 저자들은 affordance를 LLM이 예측한 text token으로 다룰 것을 제안합니다” 라고 하셔서 궁금한 점이 있는데,
    LLM이 답한 text token이 정확한가요? 다양한 지식이 내포되어 있어 오히려 잘못된 정보를 내뱉지는 않은지, 이에 대한 실험이나 고찰은 없었는지 궁금합니다

    1. 질문 감사합니다.

      LLM이 답한 text token이 정확한지에 대해 질문을 주셨는데,
      저자들은 LLM이 답한 text token이 정확해지도록 추가로 학습하는 것으로 보입니다.
      (loss에서 L_{text}에 해당하는 파트가 text token을 활용하여 cross-entropy loss를 적용한다고 합니다.)

  2. 오 해당 논문 한번 읽어보고 싶었는데 리뷰해 주셨네요.

    최근 LLM에 대해 공부를 하다 보니, LLM은 우리 연구실 서버로는 안된다는 선입견이 조금 깨지고 있습니다.
    그러다 보니, 해당 논문에 대해서 거부감이 있었는데 지금은 긍정적으로 보이네요.

    이에 따른 질문 몇 가지 하고 갈게요!

    Q1. 해당 논문에서 활용한 LLM인 LLaVA-7B은 freezing하고 사용하나요? 위에서 사전학습된 VLM을 활용한다고 하셨는데, method에서는 모호해서 질문 드립니다! affordance decoder만 학습하는 건가?…

    Q2. 해당 논문에서 사용한 컴퓨팅 파워와 학습 시간에 대한 정보 공유 부탁드립니다!

    Q3. 적용한 프롬프트 양식에 대해서 공유 부탁합니다. 분명 따르고 있는 프롬프트 양식이 있을 겁니다.

    1. 질문 감사합니다.
      Q1. 제가 이해한 바로는 feature를 추출하는 백본으로 사용되는 LLaVa-7B는 freeze 되어있으며, text token을 예측하도록 하는 Large Language Model(Fig.3의 파란색)에 해당하는 LLama-7B는 학습이 되는 것으로 보입니다.

      Q2. 4배치로 학습할 때, A100(40GB)*8대를 사용하였다고 합니다. 그러나 시간에 대한 정보는 따로 나와있지 않아 확인이 어렵습니다.
      https://github.com/JasonQSY/AffordanceLLM
      – 위의 링크는 저자의 깃허브로, 저자가 더이상 아마존에 있지 않아서 모델 체크포인트나 모델 공개는 어렵다고 합니다.

      Q3. 프롬프트 양식에 대하여 참고한 논문을 따로 언급하고 있지는 않습니다. 실험 파트에 프롬프트로 4가지( “Hi”, {action_name}, {object_name}+{action_name}, Full{“What part of the should we interact with in order to it?”})를 실험하는 내용이 있는데, 이를 미루어 봤을 때, 저자들이 action과 object 정보가 포함되도록 템플릿을 설계한 것으로 보입니다.

답글 남기기

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