Daily training log

Scene Graph Generation 본문

Base

Scene Graph Generation

Kim Sara 2024. 7. 10. 18:11

Visual scene understanding

  • 기존 Detection, Segmentation은 Object에 초점을 맞춤 => Relation을 캡처하기에는 어려움
  • Scene Graph로 Relation 정보를 모델링해서 VQA, Captioning, Image grounded dialog 등에 응용할 수 있음

 

 

Definition

  • 세가지 요소가 있음 - 주어, 동사, 목적어 찾기 
    • 어떤 Object instance 있는지 - Girl, Background 등
    • Attribute - Object가 어떤 특성을 가지고 있는지
    • Relation : Object 사이의 관계 - Girl이 테니스 라켓을 잡고 있음

  • Edge는 O x R x O로 정의함
  • 일단 O를 찾은 다음에, O끼리 다 연결한 다음에 pruning 하는 방식

 

 

  • I : 이미지
  • X : Node => 개와 서핑보드가 있는 바운딩 박스
  • Y tilde : Dog ride surfboard 가 GT, 예측값이 Y tilde

 

 

 

  • Bounding Box를 찾고, Feature (X)를 가짐
  • X => Z는 Object Classification
  • X => Y tilde, 두 Pair 사이의 Feature를 얻으려고 함, Class 간의 관계를 사용함
  • 이미지 자체에서 Y tilde를 뽑아내는 경우도 있음 (RoIAlign 과정)
  • Loss는 Cross Entropy 사용함 
  • 크게 세가지 과정
    • Feature Extraction
    • Contextualization : Y tilde를 찾아내는 과정
    • Graph construction : 그래프를 만들어내는 과정

 

Approaches of SGG

  • Bottom-Up : BBOX를 먼저 찾고, Relation을 찾아서 Graph 를 얻음
  • Top-Down : BBOX와 Relation을 동시에 찾음

 

 

Challenges in SGG

  • 어떤 모델을 써서 SGG Modeling을 할 것인가
  • 어떻게 Language 등의 Prior을 사용할 것인가
  • 데이터셋 자체에 내재되어 있는 Long-tailed distribution

 

 

Graph R-CNN 논문 리뷰

  • "Graph R-CNN for Scene Graph Generation"

  • (a) : RCNN을 통해서 BBOX를 찾음
  • (b) : Node를 점선으로 연결함
  • (c) : Top-K만 남기고 Pruning을 함
  • (d) : GCN을 태움
    • Attention에서 쓰는 Score을 사용해서 표현하려고 함 (굵은 점선)

 

  • 3 Stage 
    • 1) Object Region Proposal : Faster-RCNN을 통해 BBOX를 얻어냄
      • r: BBOX, x : feature, p : label distribution, C: class
    • 2) RePN (Relational Proposal Network)
      • N^2의 Dense relation이 있다고 가정함.
      • 처음에 얻은 p (distribution)을 통해 관계를 찾아냄
        • Kernel function을 통해 관계를 찾아냄 => 최종적으로 얻은 Score matrix를 사용함
      • NMS를 통해 Top-K의 Relation에서 몇개만을 남기고 쳐냄.
    • aGCN
      • 이전에 설명한 GCN과 똑같음 - Message passing + Update
      • 연결 되어있는 애들 사이의 Message passing의 weight을 Attention score를 통해 조정함
    • Loss 
      • 초기에 Region proposal을 사용 - anchor BBOX 사용
      • 이후에는 Relation proposal loss,  Cross Entropy 
    • Metrics로는 Recall을 주로 사용함
      • 원래는 주로 SGGen을 사용 : 주어진 Scene에서 BBOX를 잘 그렸는지, Object 사이의 Relation을 잘 예측했는지
      • Boy wears shirt가 답인데 Men wears shirt라고 하면 아예 틀렸다고 함 => SGGen + 라는 Metric 제안

'Base' 카테고리의 다른 글

Graph Neural Networks  (0) 2024.07.10
Comments