[CVPR 2023]LOCATE: Localize and Transfer Object Parts for Weakly Supervised Affordance Grounding

안녕하세요. 제가 이번에 리뷰할 논문은 물체와 상호작용을 위한 특정 영역을 인식하기 위한 Affordance Grounding 논문입니다.

Abstract

사람은 관찰을 통해 지식을 습득하는 능력이 있어 새로운 물건을 보았을 때 사용 법을 보면 사용 할 수 있습니다. 이러한 능력은 지능형 시스템에서 외부 객체와 상호작용을 위해 필요한 능력으로, 특정 행동을 위한 객체의 부위를 인식하는 것이 해당 논문에서 풀고자 하는 Affordance Grounding 문제입니다.(위의 [Figure 1]로 설명을 드리자면, “sit on”과 “Ride”라는 행동이 주어졌을 때 그에 대응되는 객체 영역을 찾는 것을 목표로 하는 것 입니다.) 저자들은 사람이 물건을 사용하는 방식에 대한 지식을 얻는 방식을 모사하는 LOCATE라는 프레임워크를 제안하여 객체를 사용하는 이미지인 exocentric 이미지로부터 지식을 학습하여 객체만이 주어진 egocentric 이미지에서 행동에 대응되는 객체 영역을 인식하도록 지식을 전달하기 위한 연구를 수행하였습니다. 해당 프레임워크는 exocentric 이미지로부터 상호작용에 대응되는 영역을 찾아 특징을 추출한 뒤, 특징들을 모아 compact한 프로토타입으로 임베딩합니다. 그 다음 객체의 부분에 대한 표현에 해당하는 프로토타입을 선정하고, 선정된 프로토 타입을 이용하여 Affordance grounding에 대한 정보를 제공합니다. 저자들은 이러한 과정에 weakly supervised 방식을 도입하여 이미지 레벨의 affordance 정보와 object에 대한 label 정보만을 이용하였으며(기존의 affordance 방식은 대부분 픽셀레벨로 affordance에 대한 라벨이 주어지는, segmentation 방식을 이용하였습니다.), 학습한 객체(seen)와 미학습 객체(unseen)에 대해 모두 기SOTA를 달성하였다고 합니다.

Introduction

사람은 기본적으로 특정 객체와 상호작용하는 모습을 관찰하므로써 객체를 사용방식에 대해 학습하는 능력이 있습니다. 예를 들면 테니스체를 처음 보더라도 테니스 치는 이미지를 본다면 어디를 잡아야 하는 지에 대해 알 수 있습니다. 이러한 능력은 사물이 주어졌을 때 어떤 동작을 수행할 수 있는 지 이해하는 데 필수적인 능력으로, 기존의 연구들은 영상속 객체에 어떤 기눙을 수행할 수 있는 지(“How”) 능동적인 상호작용 방식에 초점을 맞추기 보다 영상속의 객체가 무엇인지(“What”)를 인식하는 수동적이 인식에 집중되어있었습니다. 최근에는 수동적인 인식 능력과 능동적인 상호작용 사이의 간극을 메꾸기 위해 affordance를 인식하는 연구가 증가하고 있으며, 이때 Affordance란 컴퓨터비전과 로보틱스 분야에서 특정 행동을 수행할 수 있는 물체의 영역을 의미합니다.(테니스체를 예로 들면, 잡을 수 있는 손잡이 부분과 칠 수 있는 헤드 부분으로 나눌 수 있습니다.)

기존 연구들의 경우 fully-supervised semantic segmentation 방식으로 연구가 이루어졌으며, 이때 픽셀 레벨의 정보가 필요하다는 한계가 존재하였습니다. 저자들은 보다 현실적인 세팅을 따르고자 사람과 객체 사이의 상호작용하는 이미지를 통해 객체의 affordance를 학습하고자 하였습니다. 즉, 영상 레벨로 affordance 정보가 주어지는 weakly supervised 방식을 도입한 것입니다.

위의 Figure 2는 LOCATE의 학습 방식에 대해 나타낸 것으로, 테니스 라켓을 사용하고 있는 exocentric 이미지에 대해 “hold”라는 affordance 라벨이 주어지고, 각 영상들로부터 특징이 추출된 뒤, clustering을 적용하여 객체에 해당하는 영역 정보만을 이용하여 객체만 존재하는 egocentric 이미지에서 affordance에 해당하는 영역을 찾아내는 것을 목표로 합니다. 이러한 방식은 ①학습 방식의 특성 상 이미지 레벨의 affordance만 주어지는 상황에서도 대응되는 픽셀 영역을 추론할 수 있어야 한다는 점에서 어려움이 있으며, 사람과 상호작용하는 영상을 통해 객체의 정보를 추론해햐하므로 ②affordance에 대응되는 객체 영역이 가려진다는 어려움이 있습니다. 또한, ③객체에 여러 상호작용이 가능하다는 다양성 측면에서의 어려움이 있으며, 마지막으로 학습에 사용되는 exocentric 이미지는 clutter하고 oclcusion이 발생하는 반면, egocentirc 이미지는 비교적 clean한 영상으로 구성된다는 점에서 ④학습 및 추론에 사용되는 데이터 사이의 Domain Gap이 존재한다는 어려움이 있습니다.

이를 해결하기 위해 저자들이 제안한 LOCATE 방식은 exocentric한 이미지에서 상호작용과 관계 있는 객체 영역을 찾아 해당 영역에 대한 정보를 egocentric 이미지로 전달하도록 설계되었으며, CAM이라는 클래스별 활성화 영역을 찾아 상호작용과 연관있는 영역을 찾고, 관심 영역을 배경과 사람, 객체 영역으로 세분화하여 임베딩 정보를 추출한 뒤 이를 clustering하여 여러개의 프로토타입으로 단순화합니다. 그다음, 프로토타입 중 affordance와 가장 연관 있는 프로토타입을 선정하는 PartSelect 모듈을 설계하여 관련 임베딩을 활용하여 affordance 영역을 예측할 수 있도록 하였다고 합니다.

본 논문의 contribution을 정리하면

  1. LOCATE라는 weakly supervised 방식의 새로운 프레임워크 제안
  2. 물체와의 상호작용하는 영상에서 affordance에 해당하는 정보를 선정하기 위한 PartSelect 모듈 설계
  3. 기존 방법론 대비 seen과 unseen 객체에 대해 모두 SOTA를 달성하였으며, 적은 수의 파라미터와 빠른 추론이 가능함

Method

몇 개의 exocentric interaction 이미지와 하나의 egocentric object 이미지가 주어졌을 때, exocentric 이미지로부터 affordance와 연관있는 정보를 추출하여 egocentric한 이미지에서 affordance 영역을 찾는 것을 목표로 합니다. 학습은 exocentric 이미지에 대해 이미지레벨의 affordance 라벨이 주어지고 평가는 egocentric 이미지와 affordance 라벨이 주어졌을 때, 이에 대응되는 영역을 찾는 방식으로 이루어집니다.

저자들의 핵심 아이디어는 exocentric 이미지에서 불필요한 정보를 제거하고, part-level로 세분화된 임베딩 중 객체 영역에 해당하는 정보만을 egocentric 이미지로 전달하는 것 입니다. 이를 위해 CAM을 도입하여 localization map을 생성하고, localization map에서 활성화된 영역에서만 feature를 추출한 뒤(Locating Interaction Regions), affordance에 대한 단서를 제공할 수 있는 유의미한 임베딩만을 선택하는 PartSelect 모듈을 통과시켜(Object-Part Embedding Selection) 최종적으로 PartSelect의 출력 결과를 활용하여 명시적으로 egocentric 이미지에서 affordance 영역을 예측하도록 학습하였습니다(Part-Level Knowledge Transfer).

Locating Interaction Regions

먼저, 저자들은 앞서 언급하였듯이 CAM을 이용하여 class-wise localization map을 생성합니다. Affordasnce에 특화된 단서를 excocentric 이미지에서 추출하는 것을 목표로 하며, 특화된 localization map을 얻기 위해 학습 단계에서 class-aware convolution layer를 도입합니다. input 이미지 \{ I_{exo}, I_{ego} \}(I_{exo} = \{I_1,I_2, ..., I_N\})로부터 DINO-ViT를 이용하여 deep feature \{ F_{exo}, F_{ego} \} \in \mathbb{R}^{D⨉H⨉W} 를 추출합니다. 이때, DINO-ViT는 의미론적 정보를 추출할 수 있는 능력이 있다고 알려져 있으며, 이렇게 추출한 feature를 이용하여 localization maps \{ \mathcal{P}_1, ..., \mathcal{P}_C \} \in \mathbb{R}^{H⨉W} (C는 intereaction에 대한 카테고리 수)과 classification score \mathcal{z}를 생성합니다.

  • \psi_{cam}: 2개의 convolution 레이어를 통해 exocentric 이미지에서 행동에 대해 finetuing하고 C개의 interaction 카테고리에 대한 class-aware 1×1 convolution 레이어를 통해 localization map을 생성하도록 설계된 projection 레이어

\mathcal{P}_c는 c번째 intercation에 해당하는 영역에 활성화가 이루어진 것으로, 이후 \mathcal{P}는 global average pooling 레이어를 통해 classification score \mathcal{z}를 구하며, 이때 \mathcal{z}는 cross-entropy loss \mathcal{L}_{cls}를 통해 학습됩니다.

exocentric 이미지에서 특정 intraction에 활성화된 영역으로부터 embedding을 구하기 위해 먼저 GT class에 해당하는 localization map으로부터 Min-Max Normalization을 적용하여 0~1의 값으로 변환한 뒤, 임계값\tau 이상의 값에 대한 feature로부터 embedding을 추출합니다. exocentric 이미지가 여러장인 경우 임베딩을 개벌적으로 추출하여 f_{exo}=[f_1, ..., f_N]을 생성하며, 이때 f_n은 이미지마다 다 수의 embedding으로 이루어지며, 모든 embedding을 concatenation하여 f_{exo}를 생성합니다.

Object-Part Embedding Selection

exocentric 이미지의 경우 일반적으로 배경과 객체 영역, 사람으로 구성이되며, 해당 파트는 불필요한 정보를 제거하여 egocentric 이미지에 대한 브랜치에 객체 영역에 대한 embedding만을 전달하고자 PartSelect를 수행합니다. PartSelect는 affordance와 연관된 영역에 대한 embedding만을 이용하기 위한 파트로, K-Mean clustering을 적용하여 K개의 프로토타입 p \in \mathbb{R}^{K⨉D}를 생성합니다. 이후 프로토타입과 egocentric 이미지에 대한 featuere \mathcal{F}_{ego} 사이의 cosine similarity를 측정하여 유사도 맵 \mathcal{S} \in \mathbb{R}^{K⨉H⨉W}를 구합니다.

각 프로토타입이 어떤 부분을 나타내는 지 구별하기 위해 egocentric 이미지에대한 DINO-ViT의 마지막 레이어의 self-attention map으로부터 객체 영역에 대한 saliency map \mathcal{A} \in \mathbb{R}^{H⨉W}을 구한 뒤, PartIoU라는 메트릭 \gamma \in [0,1]을 도입하여 saliency map과 프로토타입별 유사도맵 사이의 점수를 구하여 가장 높은 값을 가지고 특정 임계치 \mu 이상인 프로토타입을 선택합니다.(여기서 saliency map이 객체 영역을 나타낸다는 전제가 깔려있는 것으로 보입니다.) PartIoU는 아래의 식으로 정의되며, \bar{\mathcal{S}}_k와\bar{\mathcal{A}}는 각 map의 평균 이상인 값은 1 이하는 0으로 이진화한 것으로, \bar{\mathcal{S}}\bar{\mathcal{A}}에 속할 경우 1이 되도록 설계되었습니다.

이에 대해 exocentric 이미지에서 프로토타입이 무엇을 나타내는 지 확인해본 결과는 위의 Figure 4의 (b)에 시각화하였으며, 해당 결과를 통해 추출된 임베딩들이 사람과 물체, 배경 영역으로 clustering 되어있음을 보였습니다.

Part-Level Knowledge Transfer

앞선 과정을 통해 선택된 객체 영역에 대한 프로토타입을 f_{op}라 한 뒤, 이를 활용하여 egocentric 이미지에 대한 localization mpa을 학습합니다. 먼저 egocentric에서 정규화된 localization map과 DINO-ViT로 추출한 feature 에 masked average pooling을 적용하여 하나의 embedding f_{ego} 을 구합니다.

  • t: GT 카테고리

이후 cosine embedding loss를 통해 f_{ego}f_{op}가 되도록 학습을 수행합니다.

  • \alpha: 두 이미지의 도메인 갭을 고려하여 설정한 마진

또한, affordance 영역이 객체의 일부분을 나타내므로 concentration loss를 도입하여 egocentric localization map이 중심에 집중하도록 네트워크를 학습합니다. 해당 loss를 통해 activation이 높은 영역이 중심에 가까워지도록 합니다.

  • \bar{u}_c, \bar{v}_c: u, v축에서 c번째 localization map의 중심
  • z_c = \Sigma_{u,v} \mathcal{P}^{c,u,v}_{ego}:

이렇게 하여 전체 loss는 아래의 식으로 정의되며, \lambda_{cos}, \lambda_c는 loss 균형을 맞추기 위한 파라미터이며, \matcal{L}_{cls}는 egocentric과 exocentric 브랜치에서 Locating Interaction Regions과정에 구한 cross-entropy loss입니다.

test 과정에는 egocentric 브랜치만을 이용하며, affordance label t와 egocentric 이미지를 입력으로 하여 t에 대한 localization map을 구하게 됩니다.

Experiments

Dataset and Metrics

Affordance Grounding Dataset인 AGD20K를 이용하여 평가를 수행합니다. 20,061장의 exocentric 이미지와 3,755장의 egocentirc 이미지로 구성되며, 36개의 affordance로 이루어져있습니다. GT 정보는 affordance에 대한 point들로 구성되며, 각 점에 대해 가우시안 블러를 적용하여 heatmap을 얻어 이를 GT로 사용합니다. 또한 AGD20K는 학습과 평가 객체 카테고리가 겹치는 Seen 세팅과 겹치지 않는 Unseen 세팅으로 이루어져있습니다.

평가에는 기존 연구에서 사용되던 KDL과 SIM 메트릭을 이용하며, NSS(Normalized Scanpath Saliency)라는 실제와 예측 분포 사이의 유사성과 일치성 평가를 위한 메트릭을 이용합니다.

  • Kullback-Leibler Divergence (KLD)
    • 두 확률 분포의 차이를 측정하며 작을수록 예측 분포와 실제 분포가 유사함을 의미
  • Similarity (SIM)
    • 예측 분포와 실제 분포의 유사도를 측정하며, 값이 클수록 예측과 실제 분포가 유사함을 의미
  • Normalized Scanpath Saliency (NSS)
    • GT와 예측 사이의 분포의 유사성 및 대응성을 평가하며, 값이 클수록 높은 일치도를 의미

Comparison to SOTA

  • Table 1을 통해 Seen과 Unseen에 대해 모두 LOCATE가 SOTA를 달성하였음을 확인할 수 있습니다.
  • AffCorrs†는 AffCorrs 방식이 픽셀레벨의 affordance 정보가 필요하여 이를 해당 라벨에 대한 CAM으로 대체한 방식이라 합니다. 조정된 AffCorrs도 LOCATE보다 낮은 성능을 보였음을 이야기합니다.
  • Table 2는 모델의 파라미터와 추론 시간을 나타낸 것으로, Contribution에서 언급한대로 타 방법론보다 더 적은 파라미터를 이용하였으므로 효율적으로 학습을 할 수 있었다고 이야기하며, 추론 시간도 타 방법론보다 빠르다는 것을 확인할 수 있습니다.
  • Figure 5는 이에 대한 정성적 결과를 나타낸 것으로 자전거와 냉장고 같은 복잡한 물체의 경우 Unseen에 대해서도 자전거의 안장이나 냉장고의 손잡이등을 찾아낼 수 있다는 것을 어필합니다.

Ablation Study

  • Knowledge Transfer Manner
    • 기존의 Affordance grounding은 단순히 global average pooling을 적용하여 구한 두 global embedding의 도메인 갭을 줄이고자 하였으나(GKT), 해당 논문에서는 exocentric 이미지 중 유의미한 영역에 대한 정보를 추출하여 지식을 전이하고자 하였으며(RKT), Table 3을 통해 효과를 확인할 수 있습니다.
  • PartSelect and Concentration Loss
    • concentration loss \mathcal{L}_c와 PartSelection \mathcal{S}에 대한 효과를 Table 3을 통해 확인할 수 있으며, 두가지를 모두 사용할 때 가장 좋은 성능을 얻을 수 있음ㄴ을 확인할 수 있습니다.
  • Number of Prototypes/Exocentric Images
    • 위의 Figure 7은 프로토타입의 개수 N과 exocentric 이미지의 개수 K에 대한 실험 결과로, 낮을수록 좋은 값을 의미하며, 프로토타입의 경우 Seen 케이스에 대해서는 3개가 가장 좋은 성능이고 Unseen에 대해서는 5개일 때 가장 좋은 성능을 보였으나 Unseen에서 3~5 사이의 차이가 미미하므로 프로토타입은 3개로 설정하였다고 합니다. (N이 클수록 좋은 이유에 대해서는 정보를 더 세분화 할 수 있기 때문이라고 저자들은 분석하였으나, Seen에서는 큰 차이가 없으나 3에서 더 성능이 좋기 때문에 잘 납득이 가지 않습니다…)
    • exocentric 이미지의 개수는 1~3으로 늘어날 수록 확연히 좋아지는 경향을 보이며 따라서 저자들은 K=3으로 설정하였다고 합니다.

Author: 이 승현

4 thoughts on “[CVPR 2023]LOCATE: Localize and Transfer Object Parts for Weakly Supervised Affordance Grounding

  1. 좋은 리뷰 감사합니다.

    이번 CVPR에서도 LLM을 활용하여 Affordance Grounding 을 수행한 연구를 본 것 같은데, 연구가 활발하게 진행되고 있는 분야군요!

    질문 드리자면, 특정 객체와 환경으로만 구성된 데이터셋으로 학습된 모델이 실제 다양한 상황에서 잘 작동할지 의문인데, 사용된 exocentric 이미지 데이터셋의 다양성은 어느 정도인가요?

    되게 사소한 궁금증 하나 더 질문드리면, 데이터셋 네이밍을 왜 exocentric, egocentric 이라고 했을까요?

    1. 질문 감사합니다.

      우선 AGD20K 데이터셋 논문에 따르면 다양한 interaction을 포함하기 위해 exocentric 이미지 20,061장을 모았다고 합니다. 데이터 셋과 관련한 시각화 자료는 아래의 링크에서 확인하실 수 있습니다. 무엇보다도 해당 방법론은 객체에 대한 여러 상호작용 이미지를 활용한다는 점에서 픽셀레벨의 affordance 라벨을 주던 방식에 비해 다양성을 확보할 수 있지 않을까 합니다.
      AGD20K 데이터셋 관련 이미지

      데이터셋에서 객체를 중심으로, 객체에 대한 정보만이 주어지기 때문에 객체중심적이라서 egocentric, 객체에 집중하기보다 객체가 활용되는 맥락에 집중하였기 때문에 외부중심적인 exocentric이라고 지은 것 같습니다.

  2. 좋은 리뷰 감사합니다.

    논문을 보면서 궁금증이 생겼습니다.

    생각해보니깐 해당 논문에서 언어 정보 (e.g. sit on, ride)와 맵핑되는 것과 같이 정성적 결과를 출력하셨는데,
    해당 모델은 언어 정보를 이해하는 능력은 없는게 맞죠?
    혹은 Dino 프롬프트를 활용한다거나 그런 내용이 없는지 궁금합니다.

    1. 질문 감사합니다.

      이야기하신대로 이 논문은 언어정보를 이해하는 능력은 없습니다. 주어지는 affordance 라벨이 2D detection의 class 정보 역할을 합니다.
      다음에는 언어정보를 활용한 논문을 리뷰해볼 계획입니다.

답글 남기기

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