-
Notifications
You must be signed in to change notification settings - Fork 0
[Paper] Image Super Resolution via Deterministic Stochastic Synthesis and Local Statistical Rectification
W. Ge et al., "Image Super-Resolution via Deterministic-Stochastic Synthesis and Local Statistical Rectification," 2018, SIGGRAPH ASIA.
Arxiv : [link]
Super Resolution은 ill posed problem이다. 즉 하나의 low resolution image에 해당하는 많은 high resolution image들이 존재할 수 있다. 따라서 저자는 high resolution image를 deterministic한 부분과 stochastic한 부분으로 나눠서 볼 수 있다고 판단하게 되었다. Downsampling을 하게 되면 high frequency 성분들은 사라지고 low frequency 성분들만 남게 되기 때문에, high frequency 성분들을 얼마나 잘 복원할 수 있는지가 SR의 핵심이 되는데, deterministic한 부분은 low frequency 성분들 및 low frequency 성분들과 관련이 깊은 high frequency 성분들을 나타내고, stochastic한 부분은 나머지 high frequency 성분들을 나타낸다고 정의하였다.
이 논문에서 좋은 SR을 하기 위해서는 다음과 같은 두 가지를 잘 해야 한다고 말한다.
- High resolution image에서 deterministic component를 제대로 복원한다. Deterministic한 부분은 답이 정해져 있기 때문에 그대로 복원하는 것이 중요하다.
- High resolution image에서 stochastic component를 잘 만들어내어 low resolution image와 비슷해 보이면서 자연스럽게 보이게 한다.
하지만 실제로 이 방법을 잘 하기 위해서는 하나의 전제가 더 필요한데,
3. 주어진 image에서 deterministic한 부분과 stochastic한 부분을 잘 분류한다.
라는 내용이다. 논문에서 이 부분이 상대적으로 weak하기 때문에 명시하지 않은 것으로 보인다.
Geometric적으로 보았을 때, deterministic한 부분은 curvilinear한 부분들이 많다(edge, contour 등). 따라서 그림에서 curvilinear의 요소가 많은 부분들과 그렇지 않은 부분들을 나눠서 각각을 다른 방법의 SR기법에 적용시키게 된다.
앞서 설명한 것처럼 이 논문에서는 deterministic한 부분(structural한 부분)과 stochastic한 부분(non-structural한 부분)에 대해 다른 SR 기법을 적용한다.
Deterministic한 부분에 대한 SR기법은 기존의 PSNR based SR기법들의 구조와 유사한 점이 많다. 전체적으로 RIR(Residual in Residual)의 구조를 사용하였고, Denseblock을 많이 사용한 것을 볼 수 있다. 이 논문에서 deterministic한 부분에 대해서 novel한 점은 새로운 Loss term의 도입이다. 기존의 Loss는 reconstruction L1 loss(논문에서는 Color loss로 나타냄)뿐이었지만, 여기에서는 Gradient loss와 Orientation loss를 새로 도입하였다.
이는 deterministic한 부분들이 structural하다는 점에서 착안한 loss로 보인다. HR 원본 image에서 한 pixel과 그 주변 pixel의 차이가 우리가 생성한 SR image에서도 거의 똑같이 나타나야 한다는 것이다. 일종의 원본 image와 SR image가 deterministic한 pixel들에서는 비슷한 TV(Total Variance)를 가져야 할 것이라는 직관에서 나온 loss로 보인다.
Gabor filter를 이용해서 orientation을 추출해 낼 수 있는데, 원본과 우리가 만들어낸 image간의 orientation이 비슷해야 한다는 점에서 착안한 loss 항이다. 일종의 perceptual loss와 비슷한데, CNN을 태운 feature간의 loss가 아닌 Gabor filter라는 filter를 통해 나온 feature들의 loss라고 볼 수 있다.
Stochastic Part는 원본 image와 똑같이 복원하는 것보다는 사람이 봤을 때 그럴싸해 보이게 복원하는 것이 중요하다. 그러기 위해서 GAN의 개념을 도입하는 것이 효과적이고 SRGAN과 같은 성공적인 GAN based SR model을 benchmark하게 된다.
하지만 SRGAN과 같은 adversarial training의 경우 edge와 같은 deterministic part들을 완벽히 재현하는데 한계를 보였고, 따라서 stochastic한 부분만을 추출하기 위해서 SRGAN의 generator에서 reconstruction loss + adversarial loss를 이용해 학습한 결과에서 reconstruction loss만을 이용해 학습한 결과를 뺀 차이를 stochastic part로 정의하게 된다.
만약 우리가 임의의 image에서 deterministic한 부분과 stochastic한 부분이 어디인지를 알 수 있는 map을 바로 알 수 있다면 위 두 결과를 잘 combine해서 문제를 해결할 수 있다. 하지만 실제로 어느 부분에 deterministic한 SR 결과를 넣어야 하고 어느 부분에 stochastic한 SR 결과를 넣어야하는지 알 수 없기 때문에 이를 위한 network가 또 필요하게 된다.
보다시피 굉장히 network의 구조도 크고 방대하다. 그만큼 Fusion하는 작업이 결코 쉽지 않다는 것을 나타낸다.
먼저 M은 binary Mask로 structural한 부분과 아닌 부분을 구분하는 map인데, 이는 딥러닝으로 나오는 map이 아니라 ELSD라는 filter기반 알고리즘을 통해 구해진다.