image

paper

TL;DR

  • task : Visual Relationship Detection
  • problem : transformer를 최대한 활용하여 one-stage로 triplet prediction을 하고 싶다.
  • idea : subject, object, predicate라는 part를 나타내는 Tensor형태의 쿼리와 최종 triplet라는 sum을 예측하는 vector형태의 쿼리를 같이 사용하자(composite query라 부름). 어텐션을 걸어주자.
  • architecture : CNN + DETR encoder + part-and-sum Transformer(PST). PST는 결국 image
  • objective : part에 대한 bbox / cls, sum에 대한 bbox, cls
  • baseline : Zoom-Net, …
  • data : Visual Relationship Detection dataset , HICO-DET
  • result : SOTA
  • contribution : one-stage SGG. simple architecture.

Details

Part-and-Sum Transformer Decoder

image

(SA : self attention, CA : cross attention )

Part-and-Sum separate decoding part와 sum query decoding 두개의 stream 아키텍쳐로 나눠지는데 각각 SA, CA, FFN으로 구성되어 있다. part query decoding을 보면 모든 쿼리의 SPO를 self-attention을 하고 tokenized image feature(=I)와도 cross attention을 한다. image

sum query도 똑같이 한다. image

SA -> CA -> FFN을 둘다 각각 거치면 part와 global 임베딩을 동시에 할 수 있다. 특히 SA는 모든 쿼리에 대해 보므로, 1) part query에서는 “person"으로 예측되면 predicate가 “eat"이나 “hold"를 가질 수 있도록 도와주고, 2) sum query에서 “person read book"이란 triplet을 예측할 수 있도록 도와준다.

Factorized self-attention layer 위의 SA를 할때 좀더 구조정보를 가져가기 위해서 처음부터 모든 파트 쿼리를 SA하는게 아니라 intra-relation에 대해 먼저하고 inter-relation을 한다.

Part-Sum interaction 둘 다 FFN을 통과하고 나서 서로 fusion해준다. 각 s, o, p 쿼리 summation 한걸 sum query랑도 summation 한다. image

Composite Prediction

image

  • s, o에 대한 bbox
  • s, p, o에 대한 cls
  • spo(=triplet)에 대한 cls

image

  • sum query에 대해서도 s, o에 대한 bbox
  • s, p, o에 대한 cls

Composite bipartite matching

image

image

Training Loss

image

Result

image