🔍 Contrastive Learning을 통한 Affordance Grounding 문제해결! (ICCV 2025)
🔍 Selective Contrastive Learning for Weakly Supervised Affordance Grounding 논문 읽기!
- 제목: Selective Contrastive Learning for Weakly Supervised Affordance Grounding
- 학회 및 저자: Moon et al., ICCV 2025
- 요약: 기존 연구인 LOCATE에서 exo이미지의 지식이 ego 이미지에 잘 전파되도록 affordance에 명확히 관계되는 부분만 선정해서 학습한다!! 🚀
🚀 연구 핵심 요약
한 줄 요약: “CAM 기반 affordance grounding의 한계를 극복하기 위해, Ego–Exo 이미지 간의 신뢰 가능한 파트·객체 단서를 선택적으로 활용하는 contrastive learning 구조를 제안한다”
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)
🔍 기존의 관련 연구들!
- 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
- 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를 찾는 방법에 대하여 알아보자!!
Exo 이미지를 CLIP 기반의 Encoder를 바탕으로, 해당 Action sentence 와의 cosine similarity를 추출하여 Affinity map(A)를 만든다.
Exo 이미지로 Action Classification MLP의 CAM을 만들어서, 이 C와의 A의 요소곱(Hadamard product) 후에, 일정 threshold 가 넘는 값들을 추출
한편으로는 Exo 이미지를 DINO로 벡터화 후 Clustering하여서 3개 부분을 추출하고, 2번의 결과물과 pIOU 진행!!
- pIOU에서 매칭이 된다면(>0.81) 그 값을 선정(A_{view}_part)! contrastive learning을 진행한다.
- positive : ego이미지의 CAM과 매칭된 부분과 선정된 부분A_view_
part을 align 시키고, - negative : ego 이미지의 CAM 부분이 affordance
part와 관련없는 사람, 배경 부분에 not align 되도록한다!
- positive : ego이미지의 CAM과 매칭된 부분과 선정된 부분A_view_
- 매칭이 안된다면, ego이미지의 DINO 벡터를 Pool 해서 하나의 벡터로 요약하고, 그 요약을 정규화한 값(이미지의 물체 정보)을 바탕으로 contrastive learning을 진행한다.
- positive : CAM과 A_view_
obj(물체영역) 을 algin - negative : ego 이미지의 CAM 부분이 affordance
object와 관련없는 사람, 배경 부분에 not align 되도록한다!
- positive : CAM과 A_view_
3.4.Pixel Contrastive Learning(L_pix)
- 각각의 exo와 ego 이미지의 affinity map 중에서 max를 뽑고(p1, p2, p3 ..)
- 그 max들의 min 값을 바탕으로 p 를 뽑는다
- p 보다 큰 값들은 part-level clue(Q+)로,
- 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 CL | object-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
- c랑 f를 비교해보면 확실히 object 단보다 part 단으로 넘어간게 더 성능이 좋았다.
- d랑 e를 비교해보면 마지막 hadamard product로 보정해준게 성능이 좋아진다!!
- 한편, d랑 f를 비교해보면, object 단으로 pixel level 학습해봤자 part 가 없다면 성능이 안좋단걸 알수 있다
- 참고: 단계별 결과 이미지
최종 성능도 좋았다!!!
✅ 결론
- CAM 으로반 해서 명확한 affordance 구분이 부족하던걸!!
- 더 명확한 part level 로 구분해서 성공했다!!