long8v / PTIR

Paper Today I Read
19 stars 0 forks source link

[36] SGTR: End-to-end Scene Graph Generation with Transformer #41

Open long8v opened 2 years ago

long8v commented 2 years ago

image

paper, code

TL;DR

Details

Architecture

image

1) Backbone and Entity Node Generator

DETR처럼 ResNet 거치고 나온 feature들 transformer로 넣음. viusl feature Z가 나옴. DETR decoder 처럼 entity들 learnable query로 넣음. 각각은 feature map Z와 함께 들어와서 entity의 bbox B와 class score인 P와 관련된 feature representation H를 내뱉음.

image

2) Predicate Node Generator

그리고 이 query에 대한 표현을 학습 할때에는 1에서 나온 feature H와 bbox B를 같이 넣어서 attention을 해줌.

image image

3) Structural Predicate Node Generator

위에서 받은 matrix로 최종 attention 연산을 하 것임 a) predicate sub-decoder image feature들로부터 predicate 표현을 뽑는 것 image

b) entity indicator sub-decoders predicate query들에 맞게 entity indicator들을 뽑는것

image

c) predicate indicator fusion predicate와 indicator를 연결시키기 위해 layer 위층에 서로를 참고할 수 있도록 하는것. image

이 과정을 통해 결론적으로 나오는 output은 아래와 같음.

image

predicate에 대한 class 분류와 predicate와 관련된 subject, object의 bbox + categories

Bipartite Graph Assembling

N개의 엔티티와 N_r개의 predicate로 구성된 bipartite graph로 바꿔줘야 함. entity node와 predicate node간의 adjacency matrix를 만든 뒤, correspondence matrix를 만듦. image

그림에서 보듯이 entity, subject(연두색), object(파란색)이 있고 이 거리들로 matching! 가령 subject에 대한 예를 들자면? image

entity와 subject 간의 거리를 아래와 같이 정의해주고 distance matrix top K개만 뽑는다. image

Learning and Inference

image

DETR entity generator loss. entity indicator에 대한 localization + classification loss, predicate와 관련된 entity에 대한 localization, predicate에 대한 classification loss

Results

image

잡생각 / 질문