[2023 CVPR] Prototype-based Embedding Network for Scene Graph Generation

안녕하세요 이번에 소개할 논문은 sgg task의 논문으로 unbiased 관계 예측을 해결하기 위해 제안된 모델입니다. SGG에서는 종종 특정 관계나 객체 쌍에 대한 데이터의 불균형이 발생하여, 모델이 자주 등장하는 관계에 대해서만 예측하고 드물게 등장하는 관계는 무시하는 편향 문제가 발생합니다. 이러한 문제는 정확한 관계 예측을 방해하고, 특히 드물게 등장하는 객체나 관계에 대한 인식 성능을 저하시킵니다. 따라서 저자는 이러한 문제를 해결하기 위해 모델이 자주 등장하는 관계뿐만 아니라 드물게 등장하는 관계도 효과적으로 학습할 수 있게하는 방법론을 제안합니다. 그럼 바로 리뷰 시작하겠습니다.

1. Introduction

Scene Graph Generation (SGG)는 이미지에서 객체를 감지하고 그들의 관계를 예측하여 씬 그래프를 생성하는 task입니다. 이 그래프 구조의 표현은 시각적 질문 응답(Visual Question Answering),이미지 캡션 생성(Image Captioning) , 이미지 검색(Image Retrieval)과 같은 downstream task에 활용됩니다. 기존의 SGG 모델들은 관계 인식을 위해 컨텍스트 정보를 활용하는데 노력을 기울였음에도 불구하고, 여전히 편향된 예측 문제를 겪고 있으며, 일반적인 술어(“on”, “of”)를 선호하는 경향이 있으며, 구체적인 술어(“walking on”, “covering”)는 예측하기 어려운 경향이 있습니다. 이 문제를 해결하기 위해 여러 de-biasing frameworks가 제안되어 균형 잡힌 예측 결과를 얻으려 했습니다. 이들은 어느 정도 long-tailed issue를 완화했지만, 대부분은 상위(head)와 하위(tail) 술어 간의 균형을 맞추는데 그쳤습니다. 즉, 하위 술어의 개선을 위해 상위 술어에서 학습한 표현을 희생하는 경향이 있으며, 이는 대부분의 관계에 대한 모델의 전체적인 인식 능력을 향상시키지 못합니다.

이 문제의 근원은 현재 SGG 방법들이 관계에 대한 compact하고 distinctive representations을 포착하지 못하는 데 있습니다. 예를 들어, 그림 1에 표시된 바와 같이, Motifs의 latent space에서 유도된 관계 표현은 구별력이 떨어집니다.  이에 따라 저자는 이 문제를 두 가지 task로 요약합니다: 동일 관계 클래스 내에서 클래스 내부 변이(Intra-class variation) 문제와 다른 카테고리 간의 클래스 간 유사성(Inter-class similarity) 문제 입니다.

  • 클래스 내부 변이(Intra-class variation)는 다양한 객체의 외형과 다양한 주어-목적어 조합에서 발생합니다. 구체적으로, 동일한 클래스에 속한 객체들은 시각적 외형이 크게 다릅니다. 따라서 주어와 목적어 객체를 포함하는 union 특징으로 표현된 관계 표현은 객체 인스턴스의 외형에 따라 크게 변합니다. 예를 들어, 그림 1(c)와 그림 1(d)에서 ““pizza””에 대한 다양한 시각적 표현을 볼 수 있습니다. 또한, 술어 인스턴스의 수많은 주어-목적어 조합은 각 술어 클래스 내 변이를 증가시킵니다. 예를 들어, 그림 1(c)의 “man-eating-pizza”와 그림 1(e)의 “giraffe-eating-leaf”등의 예시가 있습니다.
  • 클래스 간 유사성(Inter-class similarity)은 시각적으로 유사한 이미지가 서로 다른 술어 클래스에 속할 때 발생합니다. 예를 들어, 그림 1(a)와 그림 1(c)에서 “man-pizza”와 “man-plate” 처럼 시각적으로 유사한 모습은 SGG 모델이 “eating”과 “holding”을 구별하기 어렵게 만듭니다.

따라서 저자는 위의 문제를 해결하기 위해 아래 두 가지를 목표로 연구를 진행합니다.

  1. 클래스 내부 변이를 해결하기 위해, 같은 카테고리의 객체/술어 인스턴스에 대해 압축된 표현을 생성하는 방법.
  2. 클래스 간 유사성을 해결하기 위해, 시각적으로 유사한 관계 인스턴스를 효과적으로 구별할 수 있는 표현을 도출하는 방법.

저자는 객체/술어를 모델링할 때 시각적 외형보다 semantics 특징이 더 효과적이다라고 언급합니다. 동일한 클래스의 객체/술어들은 시각적 외형이 크게 다를 수 있지만, 모두 대표적인 의미(semantics)를 공유하며, 이는 해당 클래스 레이블에서 쉽게 확인될 수 있습니다. 따라서 저자는 semantics space에서 객체와 술어를 모델링하여 클래스 내부 변이 및 클래스 간 유사성 문제에 대한 압축적이고 구별 가능한 표현을 설계하고 합니다.

저자는 이를 Prototype-based Embedding Network (PE-Net)이라는 방법론을 통해 설계하고자 합니다. PE-Net은 객체와 술어 인스턴스를 의미 공간에서 그들의 semantic prototypes과 정렬된 표현으로 모델링합니다. PE-Net은 관계 인식을 위해 주어-목적어 쌍(subject-object (s, o))과 해당 술어(p)가 일치 하도록 설계됩니다. 또한, Prototype-guided Learning (PL)을 통해 PE-Net이 이러한 객체-술어 매칭을 효율적으로 학습할 수 있도록 돕습니다. 더 나아가, 술어 간의 semantics 중복으로 인해 발생하는 애매한 객체-술어 매칭 문제를 완화하기 위해 Prototype Regularization (PR)이 제안되어 술어 프로토타입 간의 클래스 간 분리를 돕습니다. 마지막으로, 객체/술어 표현의 압축성(compactness)구별성(distinctiveness)을 측정하기 위해 클래스 내부 변이(Intra-class Variance: IV)클래스 간 변이 비율(Intra-class to Inter-class Variance Ratio : IIVR)이라는 두 가지 메트릭을 도입합니다.

2.Method

2.1. Prototype-based Embedding Network

Prototype-based Embedding Network (PE-Net)은 두 단계로 나눌 수 있습니다: 1) Prototype-based Modeling을 통해 압축적이고 구별 가능한 객체와 술어 표현을 생성합니다. 2) Prototype-guided Entity-Predicate Matching을 통해 관계 인식을 수행합니다.

Prototype-based Modeling: Prototype-based Embedding Network (PE-Net)은 그림 3에 나타난 것처럼, 프로토타입 기반의 압축적이고 구별 가능한 객체/술어 표현을 모델링합니다. 구체적으로, 주어(s), 목적어(o), 술어(p)의 표현은 다음과 같이 모델링됩니다:

여기서 Ws, Wo, Wp는 학습 가능한 파라미터이며, ts, to, tp는 각 클래스의 레이블에서 얻은 클래스 고유의 semantics 프로토타입입니다. 클래스 고유의 프로토타입을 기반으로, 각 주어, 목적어, 술어 클래스의 인스턴스에서 다양성을 모델링하기 위해 인스턴스별 semantics contents vs, vo, up이 사용됩니다. vs는 다음과 같이 얻어집니다:

여기서 f(·)는 fully connected layer, h(·)**는 시각적 특징을 semantics 공간으로 변환하는 visual-semantic function을 나타냅니다. xs는 detector에서 얻은 주어 인스턴스의 시각적 특징입니다. 식(2)의 게이트 메커니즘을 사용하여, 클래스와 무관한 정보가 원래 시각적 특징에서 제거되어 클래스 내에서 일관된 표현을 생성합니다. 같은 방식으로 vo도 식(2)를 따라 도출됩니다.

Prototype-guided Entity-Predicate Matching: 관계 인식을 위해 주어 인스턴스(s)와 목적어 인스턴스(o)를 공통 semantics 공간에서 해당 술어 인스턴스(p)와 매칭합니다. 객체-술어 매칭은 다음과 같이 나타납니다:

여기서 F(s, o)는 ReLU(s + o) − (s − o)^2 으로 정의됩니다. 그러나 술어 표현은 주어-목적어 쌍에 따라 달라지므로, PE-Net이 효율적으로 매칭을 학습하는 데 어려움이 있습니다. 따라서 저자는 식(4)에 대해 동등한 변환을 수행하여 다음과 같이 식을 변형합니다:

여기서 F(s, o) − up은 관계 표현 r로 정의되며, 이는 해당 술어 프로토타입 Wptp에 매칭되어야 합니다 .

2.2. Prototype-guided Learning

PE-Net이 식(5)에서 관계 표현을 해당 술어와 효율적으로 매칭할 수 있도록 돕기 위해, 저자는 Prototype-guided Learning (PL)이라는 학습 전략을 제안합니다. 이 전략은 관계 표현을 해당 프로토타입과 가깝게 만드는 역할로 코사인 유사도유클리드 거리의 두 가지로 구성됩니다. 먼저, 관계 표현 r과 해당 프로토타입 ct 간의 코사인 유사도를 증가시켜야 하며, 이는 다음과 같은 손실 함수로 구현됩니다:

여기서 τ는 학습 가능한 온도 하이퍼파라미터, t는 정답 클래스에 대한 첨자이며, N은 술어 카테고리 수입니다.

코사인 유사도는 각도를 기반으로 상대적 거리를 고려하지만, 관계 표현과 해당 프로토타입을 유클리드 공간에서 가깝게 만들지 못할 수 있습니다. 이를 해결하기 위해, 저자는 유클리드 거리 term을 추가하여 관계 표현을 해당 프로토타입과 가깝게 만들면서 다른 프로토타입과의 거리를 유지하도록 합니다. 저자는 관계 표현 r과 각 클래스 프로토타입 ci 간의 거리를 계산하여 G = {gi}라는 거리 집합을 얻습니다. 여기서 gi는 다음과 같이 계산됩니다:

그런 다음, 저자는 거리 집합에서 gt를 제외하고 B = G \ {gt}를 얻어 오름차순으로 정렬하여 새로운 거리 집합 B’를 얻습니다. 또한, 상위 k1개의 가장 작은 거리를 평균하여 g-를 계산합니다:

양성 프로토타입과의 거리 g+ = gt와 함께, 저자는 삼중 손실(triplet loss)을 구성합니다:

여기서 γ1은 관계 표현과 음성 프로토타입 간의 거리 차이를 조정하는 하이퍼파라미터입니다.

2.3. Prototype Regularization

술어 간의 semantics 중복으로 인해 발생하는 모호한 매칭 문제를 완화하기 위해, Prototype Regularization (PR)을 제안하여 클래스 간 구분을 촉진하고 객체-술어 매칭의 정확성을 높이기 위해 프로토타입 간의 구별을 넓힙니다. 이는 2.2절에서 제시한 식에 따라 먼저 술어 프로토타입 간의 코사인 유사도를 계산하여 유사도 행렬을 다음과 같이 얻습니다:

여기서 C = [c0; c1; …; cN]은 술어 프로토타입 행렬이며, C는 벡터를 정규화하여 얻습니다. sij는 프로토타입 cicj 간의 코사인 유사도를 나타냅니다. 그런 다음, 각 프로토타입 쌍의 코사인 유사도를 줄여 의미 공간에서 더 구별되도록 합니다. 이는 다음과 같이 표현됩니다.

그러나 코사인 유사도로만 정규화하면, 일부 술어는 여전히 다른 술어와 충분히 구별되지 않을 수 있습니다. 따라서 더 구별되도록 유클리드 공간에서의 거리를 넓혀줍니다. 이를 위해 두 프로토타입 간의 유클리드 거리를 계산하여 거리 행렬 D = (dij) ∈ R(N+1)×(N+1)를 얻습니다. dij는 프로토타입 cicj 간의 유클리드 거리를 나타냅니다. 각 프로토타입에 대해, 다른 프로토타입과의 거리를 넓혀야 합니다. 따라서 행렬 D의 각 행의 요소들을 오름차순으로 정렬하여 D’ = (d’ij) ∈ R(N+1)×(N+1)를 얻고, 각 행에서 상위 k2개의 가장 작은 값을 선택하여 거리를 넓힙니다:

2.4.Scene Graph Prediction

훈련 단계에서 PE-Net의 최종 손실 함수 L은 다음과 같이 표현됩니다:

테스트 단계에서는 관계 표현 r을 사용하여 가장 높은 코사인 유사도를 가지는 프로토타입 클래스를 예측 결과로 선택합니다:

여기서 qi는 관계 표현 r과 프로토타입 ci 간의 유사도를 나타냅니다

3. Experiments

저자는 실험을 위해 Visual Genome (VG),Open Images (OI) 데이터셋을 사용하여 평가를 진행합니다.

  • Visual Genome: PE-Net의 씬 그래프 생성 성능을 평가하기 위해 VG 데이터셋에서 세 가지 하위 task(PredCls, SGCls, SGDet) 모두에 대해 최신 SGG 방법들과 비교했습니다. 결과는 표 1에 나와 있습니다. 일반적으로, 저자의 방법은 다른 SGG 모델들보다 우수한 성능을 보여주고 있습니다.
  • Open Images: 다양한 데이터셋에서 방법의 일반성을 검증하기 위해 Open Images에서도 실험을 수행했으며, 결과는 표 3에 제시되어 있습니다. PE-Net은 Open Images 데이터셋에서도 좋은 결과를 얻었습니다.

Measuring Representation Modeling of PE-Net

PE-Net이 객체와 술어에 대해 압축적이고 구별되는 표현을 생성할 수 있다는 가정을 입증하기 위해, 저자는 표 5그림 4에서 각각 정량적 및 정성적 연구를 수행합니다.

정량적 분석: 객체와 술어의 표현 품질을 정량적으로 평가하기 위해 IV (Intra-class Variance)와 IIVR (Intra-class to Inter-class Variance Ratio)로 평가하고 비교합니다. 이 둘의 평가 메트릭은 낮을 수록 좋은 표현을 생성했다는 것을 의미합니다. 실험 결과는 표 5에 나와 있습니다. 먼저, PE-Net은 이전 방법들보다 더 컴팩트한 객체와 술어 표현을 생성합니다. 예를 들어, Motifs와 비교했을 때, IV-O에서 0.74 vs 9.73, IV-R에서 1.06 vs 1.41을 기록하였습니다. 또한, 저자 모델이 학습한 표현은 더 구별되는 모습을 보이는데 IIVR-O에서 0.24 vs 1.93, IIVR-R에서 1.67 vs 2.72로 나타났습니다. 이는 PR의 효과로, 술어 프로토타입을 서로 멀리 떨어뜨림으로써 모호한 객체-술어 매칭을 완화했기 때문이라고 저자는 언급하고 있습니다.

정성적 분석: 저자는 t-SNE 기법을 사용하여 객체와 술어의 특징 분포를 시각화하였으며, 그 결과는 그림 4에 나와 있습니다. 그림 4(a)와 그림 4(b)를 비교하면, PE-Net이 Motifs보다 더 구별되는 객체 표현을 생성하는 것을 알 수 있습니다. 또한, 그림 4(c)에 나타난 Motifs의 관계 특징 분포는 클래스 내 변동성이 크고, 클래스 간 중첩이 심한 것을 보여줍니다. 이러한 경우, SGG 모델이 정확한 관계 인식을 위한 완벽한 결정 경계를 학습하기 어렵습니다. 반면, PE-Net이 학습한 관계 표현은 클래스 간 구별성과 클래스 내 압축성이 높아 관계 예측 성능을 더 정확하게 할 수 있습니다.

Ablation Studies

Ablation Studies의 결과는 표 4에 요약되어 있습니다. 실험 1에서는 PE-Net을 PL과 PR 없이 훈련합니다. 실험 2에서는 PL을 사용하여 PE-Net을 훈련했고, 실험 3에서는 PLPR을 모두 사용하여 PE-Net을 훈련했습니다. 실험 2에서 모델은 세 가지 하위 task에서 모든 지표에서 베이스라인(실험 1)을 능가했으며, PredCls에서 mR@100에서 25.4% vs. 20.0%, R@100에서 70.1% vs. 68.2%를 달성했습니다. 이는 PL이 PE-Net이 객체와 술어 간의 매칭을 하는데 효과적이라는 것을 확인할 수 있습니다. 실험 3에서 PR과 통합된 후, PE-Net은 mR@K에서 상당한 성과를 거두었는데 이는 PR이 프로토타입 간의 구분을 확대하여 객체-술어 매칭을 달성하는 데 효과적임을 보여줍니다.

4. Conclusion

이 연구에서는 씬 그래프 생성(SGG) task을 위해 압축적이고 구별되는 객체/술어 표현을 생성하는 새로운 Prototype-based Embedding Network (PE-Net)을 제안합니다. 이를 위해, PE-Net은 프로토타입 기반 표현으로 객체 및 술어 인스턴스를 모델링한 다음, 관계 인식을 위해 객체 쌍과 술어를 매칭합니다. 또한, 저자는 Prototype-guided Learning (PL)Prototype Regularization (PR)을 제안하여 PE-Net이 객체-술어 매칭을 효율적으로 학습하도록 돕습니다. 이러한 방식으로 PE-Net은 씬 그래프 생성에서 더 정확하고 명확한 관계 인식을 가능하게 합니다.

Author: 정 의철

답글 남기기

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