Post

🔍 Contrastive Learning을 통한 Affordance Grounding 문제해결! (ICCV 2025)

🔍 Contrastive Learning을 통한 Affordance Grounding 문제해결! (ICCV 2025)

🔍 Selective Contrastive Learning for Weakly Supervised Affordance Grounding 논문 읽기!

manhwa


🚀 연구 핵심 요약

한 줄 요약: “CAM 기반 affordance grounding의 한계를 극복하기 위해, Ego–Exo 이미지 간의 신뢰 가능한 파트·객체 단서를 선택적으로 활용하는 contrastive learning 구조를 제안한다”

Image

1) Open Problems!

  • 기존 연구인 LOCATE는 action CAM 모델 기반이기에 action에 대해 구분이된다면 실제 affordance 영역이 아니더라도 선정해버린다

2) Their solutions
① CLIP을 활용해서 Object affinity map을 만들고,
② DINO를 통해 생성된 Cluster랑 공통점을 찾아서!!
③ 공통점이 있다면 그 Part 기반 Contrastive Learning 을,
④ 공통점이 없다면 DINO로 추출된 Object 기반 Contrastive Learning 을 한다! (그래서 Selective Contrastive Learning)


🔍 기존의 관련 연구들!

  1. LOCATE!!
    • CAM(Class Activation Map)을 기반으로,
    • Action Label을 바탕으로하는 Weakly Supervisedlearning 방법론을 제시
    • Action Label Classification Model로 CAM을 만들어서 Affordance에 연결함
    • LOCATE : Li, Gen, et al. “Locate: Localize and transfer object parts for weakly supervised affordance grounding.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.

🔍 본 연구의 방법론!!!

3.1 모델 Architecture

Image

  • 1번. CAM 모델을 학습시키는 Loss L_ce
  • 2번. 선정된 Prototype과의 Contrastive Learning Loss L_proto
  • 3번. 선정된 Prototype과의 Pixel level Contrastive Learning Loss L_pix

3.2 Object Discovery / 3.3 Prototypical Contrastive Learning(L_proto)

affordance area를 찾는 방법에 대하여 알아보자!!

Image3.2

  1. Exo 이미지를 CLIP 기반의 Encoder를 바탕으로, 해당 Action sentence 와의 cosine similarity를 추출하여 Affinity map(A)를 만든다.

  2. Exo 이미지로 Action Classification MLP의 CAM을 만들어서, 이 C와의 A의 요소곱(Hadamard product) 후에, 일정 threshold 가 넘는 값들을 추출

  3. 한편으로는 Exo 이미지를 DINO로 벡터화 후 Clustering하여서 3개 부분을 추출하고, 2번의 결과물과 pIOU 진행!!

image3.3

  1. pIOU에서 매칭이 된다면(>0.81) 그 값을 선정(A_{view}_part)! contrastive learning을 진행한다.
    • positive : ego이미지의 CAM과 매칭된 부분과 선정된 부분A_view_part 을 align 시키고,
    • negative : ego 이미지의 CAM 부분이 affordance part 와 관련없는 사람, 배경 부분에 not align 되도록한다!
  2. 매칭이 안된다면, ego이미지의 DINO 벡터를 Pool 해서 하나의 벡터로 요약하고, 그 요약을 정규화한 값(이미지의 물체 정보)을 바탕으로 contrastive learning을 진행한다.
    • positive : CAM과 A_view_obj(물체영역) 을 algin
    • negative : ego 이미지의 CAM 부분이 affordance object 와 관련없는 사람, 배경 부분에 not align 되도록한다!

3.4.Pixel Contrastive Learning(L_pix)

iamge3.4

  1. 각각의 exo와 ego 이미지의 affinity map 중에서 max를 뽑고(p1, p2, p3 ..)
  2. 그 max들의 min 값을 바탕으로 p 를 뽑는다
  3. p 보다 큰 값들은 part-level clue(Q+)로,
  4. p 보다 작은 값들은 negative 용(part-level clue(Q-))로 사용한다.

다만. 3.2 과정에서 pIOU에서 매칭이 안된 경우에는!!
affinity map 이 unreliable 하니까!! p 대신에 자체적으로 정한 임계값 γ을 사용하게된다!!

🧩 요약 비교 — Pixel Contrastive Learning

구분part selected (reliable)part not selected (unreliable)
기준exo 맵의 ρ (min of max)γ₂ (= γ₁)
positive set (Q⁺)( A^{ego}_{obj} > ρ )( A^{ego}_{obj} > γ_2 )
negative set (Q⁻)( A^{ego}_{obj} ≤ ρ )( A^{ego}_{obj} ≤ γ_2 )
학습 수준part-level pixel CLobject-level pixel CL
목적affordance part 구분 강화object vs background 구분 유지

3.5 Calibrating the Class Activation Map - 마지막 보정

  • 학습은 아니지만, inference 후에 CAM은 pixel 단에서 부족함이 있으니,
  • affinity map A와 Hadamard product 로 보정해주면 성능이 더 좋았다!!

🧪 실험 결과 및 Ablation

Ablation Test

ablation

  • c랑 f를 비교해보면 확실히 object 단보다 part 단으로 넘어간게 더 성능이 좋았다.
  • d랑 e를 비교해보면 마지막 hadamard product로 보정해준게 성능이 좋아진다!!
  • 한편, d랑 f를 비교해보면, object 단으로 pixel level 학습해봤자 part 가 없다면 성능이 안좋단걸 알수 있다
  • 참고: 단계별 결과 이미지 ㅣlevel

Image

최종 성능도 좋았다!!!


✅ 결론

  • CAM 으로반 해서 명확한 affordance 구분이 부족하던걸!!
  • 더 명확한 part level 로 구분해서 성공했다!!

This post is licensed under CC BY 4.0 by the author.