-
Context-Aware Layout to Image Generation with Enhanced Object Appearance논문리뷰 2022. 1. 13. 12:27
Introduction
What is L2I?
본 논문은 L2I 방식으로 이미지를 생성하는 네트워크를 제안한다.
L2I(Layout to Image)는 layout을 입력 받아서 해당 bounding box의 라벨들이 담긴 단일 이미지를 생성하는 모델이다.
기존의 L2I 네트워크들은 사실적인 이미지 생성에 있어 2가지 한계가 존재했고, 본 논문은 G, D에 각각 새로운 모듈을 하나씩 추가해줌으로써 본 문제점을 해결했다.
2 major limitations
첫 번째 문제점은 다음과 같다.
-The object-to-object relations are often broken.
(2열이 baseline, 3열이 proposed network임)
위 이미지의 (1, 2) 이미지를 보면, layout에 따라 생성된 이미지들의 relation이 어색하다.
그릇의 경계가 모호한, occlusion이 발생한것과 같은 모습을 보인다.
이는 bounding box의 label에 해당하는 object 간의 context aware의 부족으로 인해 나타난다.
이미지를 생성할 때 layout bounding box -> 해당 feature generate -> feed generated feature into generated network 순으로 진행되는데,
해당 feature generate 부분에서 각 object들이 independent하게 인코딩 되기에 relation이 어색해진다고 분석했다,
그리고 이는 self attention 기법을 통해 해결했다.
두 번째 문제점은 다음과 같다.
-Lack of location-sensitive appearance representation in the discriminator
(2, 2), (2, 3)이미지를 보면 멀리서 보았을 때 해당 이미지들이 사람, 기린으로 인식할 만 하다.
하지만 유심히 보았을 때, 사람의 몸통부분이 거의 없고 기린도 해당하는 키포인트들이 없다.
저자들은 이에 대한 분석으로 기존 L2I 모델들의 D는 CNN의 globally pooled 된 feature가 real인지, fake인지를 판별하는 binary classifier를 사용해서 그런 것이라고 결론지었다.
해당 classifier은 물체의 presense, absense만 판별하기에 각 bounding box label의 이미지에 대해 sensitive하지 않다.
본 네트워크에서는 gram matrix를 D에 달아줌으로써 해결했다.
Prior models
본 논문 이전 L2I 모델은 두 종류로 나뉜다. Encoder-Decoder based, Decoder based.
먼저, y라는 mlp를 거쳐 label embedding e로 바꾸어 준다.
그 후 random noise z (stylegan으로 치면 random noise z에 해당)와 함께 concat된다. 이게 Pi다.
(random noise z는 m=0, v=1인 다변수 가우시안임)
여기까지는 Encoder Decoder based, Decoder based 모두 동일하다.
Encoder-Decoder based Generator는, 이제 각 feature sets(p1, p2,..)를 input으로 받아, feature map을 거쳐 feature maps로 변환한다.
각 feature map은 해당 bounding box의 각 channel의 H, W를 전부 그 vector의 channel에 해당하는 값으로 duplicate한 것이다.
그 해당 값들을 F1, F2, ...라고 할 때, 시계열 lstm처럼 해당 feature map들을 순차적으로 cLSTM에 집어넣어 준다.
cLSTM은 hidden state, cell state가 모두 vector가 아닌 feature map형태로 되어있고 LSTM에 비해 spatial information을 잘 보존한다고 한다.
cLSTM을 통해 나온 단일 피쳐 맵을 디코더에 넣어주어, 최종적으로 이미지를 만든다.
다음은 Decoder based이다.
해당 pi들을 affine transformation을 거쳐 encoding 없이 이미지를 생성한다.
Proposed method
본 논문의 네트워크 구조는 다음과 같다.
그리고 본 논문이 해결하고자 한 문제점은 다음과 같다.
1. The object-to-object relations are often broken.
2. Lack of location-sensitive appearance representation in the discriminator.
먼저, Context-aware feature generation를 통해 1의 문제를 해결했다.
baseline을 보면, 생성된 label들 사이에 occlusion이 발생함을 볼 수 있다.
저자들은 해당 이유를 bounding box마다 p를 만드는 과정이 독립적으로 시행되기에, generated object간의 조화가 이루어지지 않는다고 설명했다.
각 F들이 cLSTM에 들어가는데, F들 간에 서로에 대해 무지하다는 것이다.
그래서 이를 해결하기 위해, 각 feature들간에 cross examine하는 self attention을 적용했다.
해당 self attention을 통해 생성된 pc는, global context 정보까지 지니게 되어 occlusion을 방지하게 된다.
해당 a_{i, j} 는 i번째 쿼리 벡터와 j번째 쿼리 벡터의 문맥적 관계성을 나타낸다.
w_{i. j}, 즉 각 value vector들에 곱해질 weight를 구하고
value vector pW와 weighted sum해주어 새로운 벡터인 Pi를 구한다.
두 번째로 Lack of location-sensitive appearance representation in the discriminator.는, additional appearance discriminator loss라는 term을 D에 달아줌으로써 해결했다.
기존 L2I 모델들의 loss는 다음과 같다.
이미지 전체를 CNN에 통과하여 binary classification하는 image level loss,
그리고 해당 object가 존재하는 ROI만을 떼어와 binary classification하는 object level conditional loss를 사용했다.
두 네트워크를 통해 해당 object, feature가 그 이미지 내에 존재함은 알 수 있지만, 이미지가 특정 키포인트를 잘 갖고있는지에 대한 아쉬움이 존재했고 다음이미지와 같다.
Baseline이미지를 보면 멀리서 보았을 땐 person, surfboard 모두 잘 생성된 건으로 보이지만 자세히 보았을 땐 사람의 팔, 몸통 등 중요한 키포인트들이 부재한,
즉 location insensitive한 모습을 보인다.
이를 gram matrix를 통해 해결한다.
gram matrix는 Gatys씨의 style transfer 논문에서 보았는 style loss를 잴 때 구하던 matrix인데, 이를 local sensitivity를 잡으려 본 논문에서는 사용했다.
두 이미지 사이 CNN을 거친 feature map을 각각 flatten 이후 covariance matrix를 구하듯이 gram matrix를 구하면, 한 matrix를 통해 해당 이미지 특정 layer의 style을 알아낼 수 있다.
그리고 한 이미지의 style이 되도록 MSE를 취해주면, 특정 style로 이미지를 transfer시켜줄 수 있다.
그런데 본 논문은, 이 MSE를 해주어 단일 scalar를 구하는 과정은 local sensitivity를 파괴한다고 한다.
MSE 대신 raw 한 gram matrix를 쓰고 linear layer를 취해주면, local sensitivity를 보존해 줄 수 있다고 한다.
(왜 잘되는지 이해는 안됨.)
feature map gram matrix를 구하는 방법.
Gram matrix 의 element를 모두 MSE하여 optimize하는게 아니라, 각 coloms을 label embedding과 concat해준후 linear layer를 태운값을 sum한게 1에 가까워 지도록 학습한다.
그러면 local sensitive한 이미지를 얻을 수 있다고한다.
Corresponding 하는 두 feature가 존재하고, 같은 위치에서 activation되어있으면 각 entry값이 1에 가까울것이기 때문이다.
총 loss는 다음과 같다.
Conclusion
두 단점을 해결하긴 했는데.. local sensitinity 아쉽다.
'논문리뷰' 카테고리의 다른 글
Knowledge Distillation SOTA 논문 리뷰 (0) 2022.05.30 Projected GANs Converge Faster (0) 2022.02.25 GANSpace: Discovering Interpretable GAN Controls 리뷰 (0) 2021.11.18