오늘도 Open-vocabulary Scene Graph Generation (Ov-SGG) 에 대한 논문을 리뷰하겠습니다. Ov-SGG에서는 학습 때 보지 못한 객체(object)나 객체 사이의 관계(relation)도 예측해야 합니다. 저는 현재 이 novel relation에 대한 예측을 높이기 위한 방식에 집중하고 있는데, 해당 논문이 또 하나의 solution을 제안한 논문이라 읽게 되었습니다. 리뷰 시작하겠습니다.

- Conference: Arxiv 2024
- Authors: Tao Liu, Rongjie Li, Chongyu Wang, Xuming He
- Affiliation: ShanghaiTech University, Shanghai Engineering Research Center of Intelligent Vision and Imaging
- Title: Relation-aware Hierarchical Prompt for Open-vocabulary Scene Graph Generation
Introduction
Scene Graph Generation(SGG)은 이미지 내 객체 간 관계를 구조적으로 표현하는 태스크입니다. 최근에는 학습 때 보지 못한 Novel 객체 혹은 관계를 예측하는 open-vocabulary 기반의 OV-SGG가 활발하게 연구되고 있는데요. 기존 방법들은 고정된 형태의 텍스트를 사용하기 때문에 이미지-텍스트 정렬의 정확도가 떨어지고, 새로운 관계를 학습하는 데 한계를 보인다고 합니다.

상단 이미지처럼, SGG에서는 이미지 내 객체 간 관계를 (주체, 관계, 객체) 형태의 Triplet으로 표현합니다. 기존 방법에서 사용하는 고정된 형태의 텍스트란 이 Triplet을 그대로 텍스트 입력으로 활용하는 방식입니다.
예를 들어, 기존 방법들은 {paper, on, desk}를 그대로 사용하기도 하고, 미리 정의된 관계어 리스트([“on”, “holding”, “riding”, “wearing”, “sitting on”])에서 하나를 선택해 관계를 예측하는 방식을 사용합니다. 하지만 이 방식은 모델이 미리 정의된 관계어 외의 새로운 관계 표현을 학습하는 데 한계를 가집니다.
심지어 주체-객체 간의 공간적/구조적 차이를 반영하기 어렵다고 합니다. 예를 들어, {man, holding, umbrella}로 학습된 모델은 {man’s hand, gripping, umbrella handle}처럼 더 정교한 표현이 필요함에도 이를 감지하지 못할 수 있습니다. 따라서 본 논문은 이러한 한계를 해결하기 위해, 계층적 프롬프트(Hierarchical Prompting)를 활용하여 보다 다양한 관계어 예측을 가능하게 하였습니다.

상단 그림은 계층적 프롬프트를 보여주는 예시입니다. 여성이 자전거를 타고 있는 이미지에서, Entity-aware Text Prompt로 A female riding a ground transport를 생성하여 이미지의 주요 내용을 포괄하는 text prompt를 만듭니다. 이후, Region-aware Text Prompts를 추가하여 “Holding the handlebars with both hands”, “Posterior is seated on the saddle”, “Both feet are positioned on the pedals“과 같이 공간적·구조적 정보를 반영한 세부적인 표현을 생성하는 것이죠.
이정도면 해당 논문의 컨셉을 충분히 이해한 것 같으니, 이제 본격적으로 저자가 제안하는 Relation Aware Hierarchical Prompting framework (RAHP)에 대해 설명드리겠습니다.
2. Method
저자는 multi-level text prompt 를 사용해서, novel relations에 대한 일반화 성능을 향상시키는 방법인 Relation Aware Hierarchical Prompting framework (RAHP)를 제안하였습니다. 이는 세 가지 모듈로 구성됩니다. 각 모듈의 역할과 방식에 대해 설명하겠습니다.
- (1) hierarchical prompt generation
- (2) visual relationship extraction
- (3) hierarchical relationship prediction
2-1. Hierarchical prompt generation
논문에서 제안하는 RAHP 프레임워크의 핵심은 계층적 프롬프트(Hierarchical Prompting)를 통해 기존 OV-SGG 모델이 가지던 한계를 해결하는 것입니다.
기존 OV-SGG 모델은 이미지 내 관계를 표현할 때 단순한 Triplet 형태의 고정된 텍스트 표현을 사용했습니다. 하지만 이는 다양한 관계 표현을 반영하는 데 한계가 있고, 특히 주체-객체 간의 공간적·구조적 차이를 학습하기 어렵다고 했는데요. 이를 개선하기 위해, RAHP에서는 1) 주체-객체 정보를 반영하는 Entity-aware Prompt 생성, 2) 구체적인 공간 (region) 기반의 정보를 반영하는 Region-aware Prompt 생성이라는 두 가지 단계를 거쳐 보다 풍부한 텍스트 표현을 만들었습니다.
2-1-1. Entity-aware Prompt
Entity-aware Prompt는 기존 Triplet 기반 표현보다 더 일반적이면서도 이미지 전체의 의미를 포괄할 수 있는 역할을 합니다. 예를 들어, 기존 방식에서는 {woman, riding, bicycle}처럼 단순한 관계 표현을 사용하지만, RAHP에서는 이를 {A femal, riding, a ground transport}과 같이 주체와 객체를 유사도에 따라 클러스터링 하여 super entities 단위로 변형하였습니다. 이해하기 쉽게, 객체를 super-class로 나타냈다고 보면 되겠네요. 예를 들어, ‘car’, ‘bus’, ‘truck’을 “ground transport”로 클러스터링하는 거죠. 이렇게 클러스터링된 super entities과 relation을 결합해서 텍스트 프롬프트를 만들었습니다.
이렇게 만들어진 Entity-aware prompt는 다음과 같은 구조를 가지게 됩니다: “A photo of a/an [Subject] [Predicate] a/an [Object]” 입니다. Subject와 Object에 super entity가 들어가며, 이를 VLM의 Text encoder에 태워서 entity-aware text embedding
를 만듭니다. \mathbb{C}_p는 predicate 카테고리의 개수이고, \mathbb{C}_{se}는 super entity의 개수입니다.

상단 이미지에서 entity-aware prompt의 예시를 확인할 수 있습니다.

Appendix에 entity-aware prompt를 만드는 자세한 방식이 있어, 이는 상단 이미지와 같이 제가 따로 정리한 것을 첨부하고 해당 파트 마무리하겠습니다.
2-1-2. Region-aware Prompt

하지만 Entity-aware Prompt만으로는 여전히 세부적인 공간적 관계를 충분히 반영하지 못합니다. 따라서 RAHP는 Region-aware Prompt를 추가하여 주체와 객체 간의 구체적인 상호작용을 텍스트로 표현하는 방식을 제안합니다. 예를 들어, 위 그림에서 “Holding the handlebars with both hands”, “Posterior is seated on the saddle”, “Both feet are positioned on the pedals” 같은 세밀한 표현을 생성함으로써, 모델이 주체-객체 간의 관계를 더욱 정교하게 학습할 수 있도록 합니다.

이 region-aware prompt는 LLM을 사용해서 만들었습니다. 저자가 region-aware prompt를 만들기 위해 입력한 template은 오른쪽에 위치한 프롬프트에서 확인할 수 있습니다. subject, object가 서로 직접적으로 상호작용하는 부위를 찾고, 이를 바탕으로 description을 만들라고 프롬프트를 넣었죠. 이렇게 만들어진 Region-aware prompt는 다음과 같은 구조를 가지게 됩니다: “A region that reflects [region descriptions]”입니다. region description에 LLM이 만든 조금더 상세한 설명이 들어갑니다. 이를 VLM의 entity-aware와 동일하게, Text encoder에 태워 region-aware text embedding
를 만듭니다. N^r_j는 LLM이 생성한 문장의 개수가 됩니다.
이러한 두 계층의 프롬프트를 활용하면 기존 방식보다 더 풍부한 관계 표현을 학습할 수 있으며, 기존 모델이 학습하지 못했던 새로운 관계도 보다 정확하게 예측할 수 있습니다. 다음 섹션에서는 이렇게 생성된 프롬프트를 활용하여 Vision-Language Model (VLM)과 결합하는 방식에 대해 다루겠습니다.
2-2. Visual Relation Extraction
보통 SGG에서는 이미지에서 객체를 찾은 후, 이 객체 간의 관계를 예측합니다: Object Detection → Relation Prediction. 하지만 기존 방식에서는 관계를 단순히 객체 쌍 사이의 feature를 기반으로 예측하기 때문에, 주체-객체 간의 공간적, 구조적 정보가 충분히 반영되지 못하는 한계가 있었다고 합니다.
RAHP는 이러한 문제를 해결하기 위해 Visual Relation Extraction 모듈을 도입하였습니다. 첫번째 단계는 기존 방법과 동일합니다. 우선 주어진 이미지에서 객체들을 감지한 후, 가능한 주체-객체 쌍을 생성합니다. 예를 들어, 상단 이미지에서 “woman”과 “bicycle”이 감지되었다면, {woman, ?, bicycle}과 {bicycle, ?, woman} 을 relation feature로 예측해야하죠.


저자는 여기서 더 나아가서, 두 객체를 포함하는 이미지 영역(Union Box) I^u을 추가적으로 VLM에 넣어서 relation 예측하는 feature로 활용하였습니다. 이러한 방식을 통해, RAHP는 단순히 객체 쌍을 보는 것이 아니라 객체 간의 공간적·구조적 맥락을 반영한 관계 특징을 학습할 수 있게 했다고 합니다.
2-3. Hierarchical Relation Prediction
앞선 Visual Relation Extraction을 통해 relation feature를 추출했다면, 이제는 이를 바탕으로 최종적인 관계를 예측해야 합니다. 기존 OV-SGG 모델들은 고정된 관계어 리스트에서 하나를 선택하는 방식으로 관계를 예측했기 때문에, 새로운 관계 표현을 학습하는 데 한계를 가졌습니다. 이를 해결하기 위해 RAHP는 Hierarchical Relation Prediction을 제안하였습니다.
2-3-1. Image-guide Dynamic Selection
앞서 주체-객체의 자세한 상호작용을 나타내는 region-aware prompt를 LLM을 활용해서 여러 개 생성하였습니다. 그런데 여기서, 불필요한 관계 표현이 포함될 경우 오히려 모델 성능을 저하시킬 수 있었다고 합니다. 이를 해결하기 위해, VLM 기반의 Dynamic Selection을 도입하였습니다. 쉽게, 만들어낸 프롬프트를 VLM의 유사도를 기반으로 필터링하는 것으로 이해하면 됩니다.

즉, Region-aware Text Embedding을 모두 활용하는 것이 아니라, 이미지와 가장 관련성이 높은 프롬프트만 선택하는 방식입니다. 이를 위해, 객체-주체를 합친 영역에 대한 visual feature인 U와 텍스트 사이의 유사도를 계산한 뒤, top-K개만 활용하였습니다. 저자는 3개를 사용했다고 하네요.
2-3-2. Hierarchical Prediction Aggregation

이제 생성한 Entity-aware Prompt와 Region-aware Prompt를 함께 활용하여, relation을 예측하는 최종적인 단계입니다. 방법은 간단합니다. 각각의 prompt와 relation feature 사이의 유사도를 구한 뒤, 가장 높은 유사도를 가지는 predicate을 선택하는 것이죠. 저자가 제안한 방법에서는 entity와 region 여러 개의 prompt가 있으니, 각각의 유사도를 구한 뒤, 가중합을 취하는 방식으로 객체 사이의 관계를 결정하였습니다.

이 aggregation 방식을 수식으로 표현하면 상단 이미지와 같이 정리할 수 있습니다. 이러한 계층적 예측 방식 덕분에, RAHP는 기존 OV-SGG 모델들보다 보다 정교한 관계 표현을 학습할 수 있으며, 새로운 관계어를 예측하는 데 있어서도 강한 일반화 성능을 보일 수 있었다고 합니다.
2-4. SGG Learning and Inference
마지막으로 SGG 학습을 위한 Loss를 설명하며 마무리합니다. 여기서 사용하는 Loss는 기존의 Ov-SGG와 동일하기 때문에 특별한 설명 없이 아래 정리한 이미지 첨부하며 마치겠습니다.
(객체 검출을 위한 박스/카테고리 Loss, 관계어를 위한 focal loss, 그리고 relation feature가 fitting 되지 않도록 기존 vlm 사이의 distillation loss 사용하는 것은 기존 방법론인 Ov-SGTR과 동일)

3. Experiment
- Dataset: VG150, OIV6
- Evaluation metrics: Recall@K & mean Recall@mK (OVR-SGG, OVD+R-SGG)
- Implementation Details: GPT-3.5-turbo, CLIP(ViTB/32), 150 entities into 30 super-class entities for VG, 602 entities into 53 super-class entities for OIV6, 4 NVIDIA A40 GPUs.
3-1. Comparisons with OVR-SGG Methods
RAHP는 Visual Genome(VG)과 Open Images v6(OIv6) 데이터셋에서 기존 OVR-SGG 모델들과 성능을 비교하였습니다. 실험 결과, RAHP는 기존 방법 대비 특히 novel 관계 예측 성능에서 큰 향상을 보였습니다.
OVR-SGG on VG test set

VG 데이터셋에서는 PredCLS 기준으로 기존 SGTR† 모델 대비 Novel mR@100이 7.76 증가하며, PE-NET 대비 Base 및 Novel 관계 모두에서 성능이 향상되었습니다. 이는 RAHP의 계층적 프롬프트와 동적 선택 메커니즘이 기존보다 다양한 관계 표현을 더 효과적으로 학습하게 만들었기 때문으로 보인다고 합니다.
OVR-SGG on OIV6 test set

OIv6 데이터셋에서는 SGDet 기준으로 기존 PGSG 대비 Total R@100이 21.56, Novel mR@100이 25.26 증가하며, novel 관계에서 특히 큰 성능 향상을 보였습니다. 이는 OIv6가 VG보다 더 다양한 관계를 포함하는 데이터셋이기 때문에, RAHP의 region-aware 프롬프트와 VLM 기반 필터링이 더 큰 효과를 발휘했기 때문으로 해석된다고 합니다.
이 두 결과를 통해 전반적으로 RAHP는 기존 방법보다 (특히 novel 관계에서의) 예측 성능을 크게 개선하며, 새로운 관계 표현을 더 잘 학습할 수 있도록 돕는다는 점을 확인할 수 있었다고 합니다.
3-2. Comparisons with OVD+R-SGG Methods
RAHP는 OVR-SGG뿐만 아니라, 완전한 오픈 셋(Open Vocabulary Detection + Relation-based Scene Graph Generation, OVD+R-SGG) 설정에서도 실험을 진행하였습니다. 이 실험에서는 VG 데이터셋에서 novel 객체와 novel 관계가 동시에 등장하는 환경에서 기존 방법들과 비교하였으며, 특히 novel 관계 예측에서 성능 향상이 있었다고 ㅎ바니다.

VG 데이터셋에서 실험한 결과, RAHP를 적용한 VS3 모델은 Novel 관계 예측 성능(R@100)이 기존 VS3 대비 5.12 증가하며, OvSGTR 모델에서도 Novel R@100이 5.27 향상되었습니다. 특히 기존 모델들은 새로운 객체와 관계를 동시에 학습할 때 성능이 크게 떨어지는 문제가 있었지만, RAHP는 계층적 프롬프트를 활용해 더욱 정교한 관계 표현을 학습하면서도 novel 관계를 안정적으로 예측할 수 있음을 보여줬습니다.
또한, 기존 OvSGTR 모델에서는 novel 객체에 대한 성능이 다소 감소했지만, RAHP는 novel 관계에서의 개선이 더욱 크기 때문에 관계 예측에 있어서 일반화 성능이 뛰어난 방식임을 실험적으로 보였다고 합니다.
3-3. ablation Study
Ablation Study을 위해 3가지 모듈인 Entity-aware Prompt, Region-aware Prompt, Dynamic Selection 각각 제거하며 성능 변화를 확인하였습니다.

먼저, 기본 모델에서 Entity-aware Prompt만 추가했을 때, Novel mR@100이 3% 증가하며, 관계 표현을 더욱 풍부하게 만드는 것이 효과적임을 확인했습니다. 하지만 이를 단독으로 사용할 경우 여전히 공간적·구조적 관계를 세밀하게 반영하는 데 한계가 있었습니다.
다음으로 Region-aware Prompt를 추가했을 때, Base 관계와 Novel 관계 모두에서 성능이 추가적으로 향상되었지만, 불필요한 관계 표현이 포함되면서 Novel 관계 예측 성능이 다소 감소하였습니다. 이는 Region-aware Prompt가 모든 관계에 대해 일괄적으로 적용될 경우, 오히려 불필요한 정보가 많아져 예측 성능을 저하시킬 수 있다고 합니다.
이를 해결하기 위해 VLM 기반 Dynamic Selection을 적용한 결과, 불필요한 프롬프트가 효과적으로 제거되면서 최종적으로 Novel mR@100이 8.88까지 증가하였습니다. 이는 RAHP의 동적 선택 메커니즘이 가장 중요한 요소 중 하나이고, 모델이 핵심적인 관계 표현만을 학습하도록 도와줌을 확인할 수 있었습니다.
Conclusion

relation을 잘 예측하기 위해, LLM을 사용해서 추가적인 caption을 생성하고 제공하는 것이 본 논문에 메인 아이디어였습니다. relation feature를 만드는 과정은 기존 Ov-SGG 모델과 동일하고, relation 을 정교하게 예측하기 위해 추가적인 프롬프트 설계로 novel relation을 잘 예측한다는 컨셉이었습니다. 확실히 novel class에서 성능이 높아지고 상단 정성적 결과에서도 OvSGTR에 비해 확 좋아진 것을 보니, LLM을 사용해서 추가적인 정보를 제공하는 것이 모델에게 도움이 되는 것 같습니다

저자는 appendix에 더 많은 실험을 공개했는데, 하이퍼 파라미터의 영향을 보이기 위해 base, novel 을 따로 측정한 여러 실험들이 있었습니다. 거의 대부분에서 실험에서 아직 novel과 base 사이의 갭이 꽤 큰 것을 알 수 있었습니다.
안녕하세요 주영님 좋은 리뷰 감사합니다.
‘2-3-2. Hierarchical Prediction Aggregation’ 그림의 Feature Distillation 부분에서 질문이 있습니다.
Relation Feature와 Visual Feature, 두 개의 Feature를 Distillation 한다는게 하나의 피처에 대해 유사해지도록 학습하는 의미 아닌가요? 그런데 주영님이 본문에 써주신 ‘relation feature가 fitting 되지 않도록’ 한다는게 무슨 의미인지 궁금해서 질문남깁니다.
감사합니다.
GroundingDINO로 학습된 모델을 SGG를 위해 다시 학습을 하다보니, 학습 데이터에만 특화된 relation feature가 도출되곤 합니다. 특히 OV-SGG 와 같은 Task 에서는 학습데이터에 특화될 경우 open-vocab 예측력이 현저히 떨어지기 때문에, feature의 일반성을 유지하는 것이 중요하죠. 따라서 저자가 제안하는 Distillation은 GroundingDINO 학습과 같이 일반화된 visual feature에 맞춰 SGG를 위한 relation feature를 정렬하는 어찌보면 Regularization과 같은 역할을 한다고 이해해주시면 좋을 것 같네요