[논문 리뷰] Scene Graph Expansion for Semantics-Guided Image Outpainting

김경준·2022년 6월 30일
1

논문

목록 보기
26/37
post-thumbnail

Notation

  • Scene graph S=(O,R)\mathcal{S}=(O,R)은 N개의 objects O={oi}i=1:NO=\{o_i\}_{i=1:N}과 relationship matrix R=(rij)RN×NR=(r_{ij})\in\mathbb{R}^{N\times N}으로 구성
  • oio_i는 object label, rijr_{ij}는 object iijj의 edge label
  • rijr_{ij}{y1R,y2R,...,yMR}{0}\{y_1^R, y_2^R, ..., y_M^R\}\cup \{0\}, yiRy_i^R은 relation label, MM은 relation label의 수
  • Layout은 object의 bounding boxes의 리스트로 B={bi}i=1:NB=\{b_i\}_{i=1:N}로 표현한다.
    bi=(bix,biy,biw,bih)b_i=(b_i^x,b_i^y,b_i^w,b_i^h)
  • D=(dij)RN×N×4D=(d_{ij})\in\mathbb{R}^{N \times N \times 4}는 relationship의 bounding box disparity를 의미한다.
    dij={bixbjx,biybjy,log(biw/bjw),log(bih)/log(bjh)}d_{ij}=\{b_i^x-b_j^x, b_i^y-b_j^y, log(b_i^w/b_j^w), log(b_i^h)/log(b_j^h)\}

Overview

Scene Graph Transformer

  • 기존의 Transformer는 다음과 같다.
    • Input sequence H={hi}i=1:3N2H=\{h_i\}_{i=1:3N^2}로부터 output sequence H^={hi}i=1:3N2\hat{H}=\{h_i\}_{i=1:3N^2}로 mapping하는 multiple transformation layers로 구성된다.
    • NN개의 node와 N2N^2개의 edges가 input graph에 존재하며 (subject-predicate-object) 형태이므로 길이가 3N23N^2이 된다.
    • 각 transformer layer에서 input vector hh는 query, key, value vector(q,k,vq,k,v)로 변환되며 output vector는 h^i=jsijvj\hat{h}_i=\sum_{j} s_{i j} \boldsymbol{v}_{j}가 된다. sij=softmax(qikj/dk)s_{i j}=\operatorname{softmax}\left(\boldsymbol{q}_{i} \cdot \boldsymbol{k}_{j} / \sqrt{d_{\mathbf{k}}}\right), dkd_kkk의 차원 수.
  • 본 논문의 SGT에서는 scene graph를 triplets의 single sequence로 보는 대신 node와 edge를 구분되지만 상호 연관되는 data modality로 본다.
  • 즉, edges는 nodes 간의 self-attention 중 regularization 역할을 하며, nodes의 co-occurence가 edges 간의 self-attention을 guide하게 만든다.
  • 따라서, input과 output이 Hn={hin}i=1:N,Hn^={h^in}i,j=1:N,He={hije}i,j=1:N,He^={h^ijn}i=1:NH^n=\{h_i^n\}_{i=1:N}, \hat{H^n}=\{\hat{h}_i^n\}_{i,j=1:N}, H^e=\{h_{ij}^e\}_{i,j=1:N}, \hat{H^e}=\{\hat{h}_{ij}^n\}_{i=1:N}로 구분되며 각 modaltiy에 서로 다른 attention mechanism을 적용한다.

Node-level attention

  • Node-level attention에서는 edge feature hijeh_{ij}^e의 guidance 하에 node features hinh_i^nhjnh_j^n 사이의 similarity를 계산한다.
  • 기존 transformer의 key, query를 inner-product 한 후 softmax를 취하는 방식을 사용하지 않는데 edge-regularized attention이 구조적인 정보를 제공하며 inner-product는 이러한 정보를 손실시키기 때문이다.
  • Output인 h^in\hat{h}_i^n은 각 node jj들의 value와 attention weight의 element-wise multiplication의 합으로 계산한다.
    h^in=jsijnvjn\hat{\boldsymbol{h}}_{i}^{n}=\sum_{j} \boldsymbol{s}_{i j}^{n} \odot \boldsymbol{v}_{j}^{n}
  • Value vector vjv_jhjnh_j^n이 single MLP WvnW_v^n을 거쳐 형성되며, attention weight sijns_{ij}^ntijnt_{ij}^n을 또 다른 MLP WsnW_s^n에 통과시켜 얻는다.
  • tijnt_{ij}^n(nodei,edgeij,nodej)(node_i, edge_{ij}, node_j) triplet의 representation이다.
    tijn=hinhjnhije\boldsymbol{t}_{i j}^{n}=\boldsymbol{h}_{i}^{n} \oplus \boldsymbol{h}_{j}^{n} \oplus \boldsymbol{h}_{i j}^{e}

Edge-level attention

  • tijn=hinhjnhije\boldsymbol{t}_{i j}^{n}=\boldsymbol{h}_{i}^{n} \oplus \boldsymbol{h}_{j}^{n} \oplus \boldsymbol{h}_{i j}^{e}에서는 유사한 노드 사이의 엣지는 동일한 h^ije\hat{h}_{ij}^e를 가지게 되어 노드가 반복되고 불필요한 엣지들을 가지는 문제가 발생할 수 있다.
  • 따라서, 노드 i,ji,j와 연결된 엣지들까지 고려한다.
    {hklek=il=j},tij,kle=hijehkle{hin, if k=ihjn, if l=j\left\{\boldsymbol{h}_{k l}^{e} \mid k=i \vee l=j\right\}, \boldsymbol{t}_{i j, k l}^{e}=\boldsymbol{h}_{i j}^{e} \oplus \boldsymbol{h}_{k l}^{e} \oplus\left\{\begin{array}{l} \boldsymbol{h}_{i}^{n}, \text { if } k=i \\ \boldsymbol{h}_{j}^{n}, \text { if } l=j \end{array}\right.
  • 이를 통해 기존의 edge-level attention matrix N2×N2N^2 \times N^2에서 N2N^2(edge number) ×2N\times 2N(NN subjects + NN objects)=2N32N^3개만이 edge로 고려되어 연산량이 감소한다.

Semantic-Guided Image Outpainting

Scene Graph Expansion

Converse relationship

  • R=(rij)RN×NR=(r_{ij})\in \mathbb{R}^{N \times N}rij=yRr_{ij}=y^Rrji=y~Rr_{ji}=\tilde{y}^R가 반의어 관계를 가지므로 skew symmetric 형태를 가진다.
  • Scene graph에서는 명시된 relation이 한정적이므로 이러한 관계를 활용하여 converse label y~R\tilde{y}^R을 부여한다.
  • Converse relation으로 1대1 맵핑을 하기 위해 feature converter ECE_C를 활용하며 아래와 같은 loss를 통해 학습한다.

SGE Training

  • SGT를 활용한 Scene Graph Expansion 모델을 TSGET_{SGE}라고 칭한다.
  • Masked language model인 BERT을 활용하며 학습 시 complete scene graph에서 일부 object 및 연결된 relationship들을 마스킹한다.
  • Node/edge-level attention을 활용하기 위한 encoder인 EO,ERE_O, E_R와 분류를 위한 CO,CRC_O, C_R이 있다.
  • Object와 relation에 대한 예측과 GT의 cross entropy를 통해 학습하며 converse relation도 함께 활용한다.

Scene Graph to Layout(G2L)

  • Partial image IinI^{in}, layout LinL^{in}, expanded scene graph SopS^{op}가 주어졌을 때 LopL^{op}를 생성한다.
  • Bounding box의 encoder 및 regressor EB,RBE_B, R_B와 disparity의 encoder 및 regressor ED,RDE_D, R_D, image encoder EIE_I가 활용된다.
  • EIE_I는 object가 mask 영역에 의해 잘린 부분이 있는지를 구분하여 incomplete bounding box를 확장할 수 있도록 돕는다.
  • SGT를 활용해 TG2LT_{G2L}(Hn,He)(H^n, H^e)로 구성된 그래프로 표현된다.
  • hinh_i^n은 object category embedding fiO=EO(oi)f_i^O=E_O(o_i), bounding box feature fiB=EB(bi)f_i^B=E_B(b_i), visual feature fiIf_i^I를 concat 하여 표현한다.
  • hijeh_{ij}^e는 relationship category embedding fijR=ER(rij)f_{ij}^R=E_R(r_{ij}), disparity feature fijD=ED(dij)f_{ij}^D=E_D(d_{ij})를 concat하여 표현한다.
  • Masked object는 bigtb_i^{gt}에 의해 bounding boxes biopb_i^{op}를 예측하도록 학습하며 RDR_D는 node와 edge의 output이 consistency를 유지하도록 dijgtd_{ij}^{gt}에 의해 학습한다.
  • LcIOU\mathcal{L}_{cIOU}는 "Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression"를 참고

Layout to Image(L2I)

  • GL2IG_{L2I}Sop\mathcal{S}^{op}LopL^{op}가 주어졌을 때 AttSpade를 활용해 partial input image를 outpainting 한 IopI^{op}를 생성한다.
  • Consistency를 위해 image feature fIf^I와 layout feature map fLf^L을 concat해서 활용하며 SPADE의 adversarial loss와 더불어 IopI^{op}IgtI^{gt} 간의 reconstrunction loss를 추가한다.

Experiments

Reference

0개의 댓글