딥러닝 분석가 가리

IGNN(Internal Graph Neural Network) Image Super-Resolution Review 본문

딥러닝 논문 리뷰

IGNN(Internal Graph Neural Network) Image Super-Resolution Review

AI가리 2023. 3. 29. 23:36

"Cross-Scale Internal Graph Neural Network for Image Super-Resolution"

Abstract

  Natural 영상의 non-local self-similarity는 영상 복원전에 효과적인것으로 연구되었다. 하지만, SISR(Single Image Super-Resolution)에서 존재하는 대부분의 non-local method(non-local neural network 같은)는 입력 영상인 LR(Low-Resolution)의 같은 scale에서만 similar patch를 exploit한다. 결과적으로 복원은 같은 크기의 영상의 정보를 사용하는것이 제한되고 다른 크기의 potential HR(High Resolution) 신호는 무시된다. 그래서, 본 논문에서는 유사한 patch가  다른 크기에 걸쳐 여러 번 반복되는 경향이 있는 natural 영상의 cross-scale patch 반복 속성을 explore 한다. 이 explore는 새로운 cross-scale IGNN(Internal graph neural network)를 사용해 달성한다. 구체적으로, 저자들은 LR 영상의 각 query patch에 대해 downsample된 LR 이미지에서  KNN patch를 탐색하여 cross-scale graph를 동적으로 구축한다. 이로써 LR 영상에서 해당되는 k HR 인접 patch를 얻고, 생성된 graph의 가장자리 레이블에 따라 적응적으로 통합한다. 이 방법으로 HR 정보는 HR 인접 patch k 로 부터 LR query patch로 전달되어져 더 디테일한 texture를 만들수 있다. 게다가, 이러한 interanl image-specific LR/HR exemplar들은 또한 훈련 데이터로 부터 학습된 외부 정보를 완벽하게 보완한다. 실험결과에서 IGNN은 SotA SISR 방법들 non-local network 같은 것들에 비해 benchmarks 데이터셋에서 효과적인것을 입증한다.

1. Intorduction

    SISR은 LR 영상을 관찰하고 이를 HR 영상으로 재구성하는것이다. SISR에는 LR 영상에 대한 HR 영상이 하나가 아닌 여러가지가 있다는 ill-posed problem문제가 있는데, 이를 해결하기 위해 CNN 접목등 많은 방법들이 있다. 이로써 엄청난 성과를 달성했지만, 3배, 4배 이상으로 복구 할 경우 특정 이밎에 대한 미세한 texture를 복구하는데 있어서는 여전히 성능이 부족하다.

  외부 데이터 활용 이외에도 영상 내부의 정보를 활용해 복원하는 연구도 많이 진행되었다. 몇가지 non-local method는 restoration quality를 향상시키기 위해 non-local self-similar patch들 간의 상관관계 값을 보여주었다. 하지만, convolutional 연산은 convolutional kernel이 locality하기 때문에 pattern들을 caputre할 수 없다. 비록 receptive fields는 deep network에서 크지만 일부 long-range 종속성은 여전히 잘 유지될수 없다. Classical 한 non-local means 방법에 영감을 받아 non-local neural network가 제안되었고 이는 image restoration task에서도 사용된다. 일반적으로 이러한 방법들은 feature의 위치간의 full 연결의 self-attention weighting을 수행한다. 또한 non-local neural network와 graph convolutional denoiser network는 영상 복원에 대해 KNN patch로 통합하기 위해 제안되었다. 하지만, 이러한 방법들은 어떠한 HR의 정보 없이 같은 크기에서의 recurrent patch들의 상관관계만 exploit한다. 

  제안된 IGNN은 전통적인 SR 방법들에 영감을 받았다. IGNN은 natural 영상의 patches가 크기에 따라 여러 번 반복되는 경향이 있다는 점에서 통계적으로 검증된 cross-scale patch recurrence property를 기반으로 한다. 이것은 그림 1에서 묘사된다.

  • LR 영상에서 query patch(yellow box)가 주어지면 많은 유사한 patch들(solid green box)을 downsample 영상 에서 찾을 수 있음
  • 이와 대응되는 HR patch들(dashed green box)도 LR 영상에서 찾을 수 있음
  • 몇몇의 cross-scale patch들은 query path의 알수 없는 HR patch들이 어떻게 표시되는지를 제공함

  본 논문에서는 모든 patch들이 vertex이고 edge가 두개의 다른 크기의 두 vertex의 similarity-weighted 연결인 cross-scale similar patch들 사이간 internal 연결을 그래프로 모델링 한다. Graph 구조를 기반으로 해, 불규칙한 graph data를 처리하고 cross-scale recurrence property를 효율적으로 explore하는 IGNN을 제시한다. IGNN은  graph construction과 patch aggregation 두가지 연산을 포함한 제안된 graph module을 사용하여 HR patch들을 본질적으로 통합한다. 더 구체적으로 그림 1의 (b)와 (c)에서 LR 영상의 각 query patch에 대해 downsampled LR 영상 내의 KNN patch들을 탐색하는 cross-scale graph를 만든다. Downsampled LR 영상과 LR 영상으로 부터  k 인접 지역들을 mapping한 후, cross-scale graph는 각 query patch에 대해 LR/HR patch k 를 제공할 수 있다. Cross-scale graph의 vertex들은 LR 영상의 patch들과 그들의 HR 인접 patch들 이며 edge는 일치하는 LR/HR patch들의 상관관계이다. Edge-Conditioned Convolution에 영감을 받아, cross-scale graph를 기반으로 edge-conditioned patch를 집계하는 연산을 공식화 한다. 집계 연산은 edge label (일치하는 두 patches의 유사성)에 따라 k 개의 HR patches를 집계한다. Non-local 방법과 다른점은 동일한 규모로 인접 patches를 탐색하고 집계하며, downsample된 LR 크기에서 유사한 pathes를 검색하지만, HR patches에서 집계한다. 이를 통해 네트워크는 SISR에 대해 더 효율적이고 효과적으로 수행할 수 있다.

  • 제안된 IGNN은 훈련 데이터에서 학습된 external 정보를 보완하는데 도움이 되는 k 개의 image-specific LR/HR patch 대응을 얻음
  • IGNN은 다른 SR 네트워크처럼 external 데이터에서만 LR-to-HR mapping을 얻는것 대신에 LR 영상에서 발견된 k 개의 HR 대응물을 최대한 활영해 더 자세한 texture를 복구함

2. Methodology

2.1 Background of Non-local Methods for Image Restoration

  Non-local aggregation 전략은 영상 복원에 널리 적용되고 있다. 유사한 patch를 집계하는 non-local method의 집계 과정은 다음 식(1)처럼 일반화 할 수 있다.

식 1

  식 (1)의 non-local method는 만약 feature patches와 weighted connection을 각각 vertices와 edge로 다룬다면 GNN으로 다룰수 있다. Non-local 네트워크는 실제로 fully-connected self-similarity 그래프를 모델링 한다. 그들은 query item X_i와 d x d window 혹은 전체 feature에서 공간적으로 가까운 patches X_j 사이간의 aggregation weight를 추정한다. 이러한 dense connection으로 발생하는 메모리와 연산량을 줄이기 위해 몇몇의 KNN 방식의 네트워크인 GCDN과 N^3Net은 오직 집계하는 동안 가장 유사한 feature patches인 k (k << d^2) 만을 고려하고 모든 query X^i 에 대한 S_i 에 있는 인접한 것들만 다룬다. 앞에서 언급된 non-local 방법의 경우 집계된 인접 patch들은 모두 query가 동일한 규모이고 HR 정보가 통합되지 않으므로 SISR 성능이 제한된다는 단점이 있다.

2.2 Cross-Scale Graph Aggregation Module

  앞절에서 언급된 non-local 방법들은 집계된 feature patches의 patch size가 query patch와 동일하다. Image denoising에는 효과적이지만 HR 정보를 통합하지 못하고 SR을 개선시키기에는 제한적이다. 유사한 patch들이 nature 영상의 다른 크기에서 순환한다는 patch recurrency property에 기반해 SISR을 위한 cross-scale internal graph neural network, IGNN을 제안한다. 그림 1을 예를들면, 각 LR 영상의 query patch (yellow box)와 k개의 유사한 patch들을 (solid-marked box) downsample된 LR 영상에서 찾는다. 그리고 LR 영상에 해당되는 k개의 HR patch들(dashed-marked box)에 집계한다.

  Cross-scale patch들 간의 연결은 모든 patch가 vertex이고 edge가 두개의 다른 크기간의 두 vertices의 similarity-weighted connection인 graph로 나타낼수 있다. SR을 위해 HR 정보를 활용하기 위해 feature domain에서 HR patch를 집계하는 cross-scale graph aggregation module(Graph Agg)를 제안한다. 그림 2에서 GraphAgg는 두개의 연산 Graph Construction과 Patch Aggregation을 가진다.

Graph Construction

  • Bicubic 연산으로 LR 영상의 크기를 줄임, downsample ratio 는 up-scaling factor와 같음
  • Cross-scale graph 안에서 발견된 k개의 인접 feature patches는 요구되는 HR feature patch와 크기가 같음
  • Downsampling ratio를 2가 4 보다 4배 SR 할때 더 좋은 성능을 보임 (4배에서 정확한 정보를 찾기 어려움)
  • 그래서 x2의 인접 patch를 탐색하고 GraphAgg에 의해 집계된 x2 HR feature를 얻고 'PixelShuffle' 연산으로 x2 upsample 된것과 concat 함
  • Embedded feature는 VGG19로 LR 영상과 downsampled LR영상으로 부터 추출됨
  • Classical non-local method의 block matching 개념을 따라 Embedded feature 내의 k 개의 l x l 최근접 이웃 patch는 query feature patch와 그것의 이웃간의 유클리디안 거리를 통해 찾음
  • Embedded feature의 downsample한 것에 해당되는 HR feature patch를 얻을수 있고, 이는 그림 2에서 Vertex Mapping으로 정의하며 red dashed line으로 표시함

  결과적으로 (V, E) cross-scale k-nearest neighbor graph가 만들어진다. V 는 LR patch set과 HR patch set을 가진 patch set (vertices in graph)이고, E 는 상관관계 set(edges in graph)이다. Cross-scale graph에서 각 edge의 두 vertices는 각각 LR 과 HR feature patch이다. Query와 r번째 이웃의 유사성을 측정하기 위해, edge label을 query feature patch와 neighboring patch 사이간의 차이로 정의한다. 이에 대한 식은 아래와 같다. 이 식은 Patch Aggregation 연산에서 aggregation weights를 추정하는데 사용된다. 

  유사한 patch들을 deLR(downsampled embedded LR) 영상에서 찾기 때문에 탐색 공간이 non-local 방법보다 s^2배 더 작다. Non-local neural network에 있는 fully-connected feature graph와 달리 aggregation을 위해 오직 k 개의 nearset HR neighbors를 선택한다. 이전의 non-local 방법에 따라서, 또한 deLR에서 d x d searching window를 설계하는데, downsampled scale의 query patch 위치에 중심을 맞춘다. 앞선 연구(internal recurrence)에서 통계적으로 확인된 바와 같이, 전체 single 영상에는 풍부한 cross-scale recurring patch들이 있다. 저자의 실험에서는 window region에서 k 개의 HR parches를 검색하는것이 네트워크가 원하는 성능을 달성하게 충분하다는것을 보여준다.

 

Patch Aggregation

  ECC(Edge-Conditioned Convolution)에 영감을 받아, k 개의 HR neighbors를 weighted를 edge label에 둔 cross-scale graph로 집계한다. Patch Aggregation은 식(1)을 재 공식화 하여 다음과같이 나타낼 수 있다.

식 2

  • F^(nr,ls)_L은 GraphAgg 모듈 입력 F_L의 r 번째 이웃한 HR feature patch이고, F^(q,ls)_L↑s는 query location의 출력 HR feature patch 임
  • Patch2img 연산을 output feature patches를 output feature F_L↑s로 변환하는데 사용함
  • Dnr→q를 따라서 각 neighbor로 aggregation weight를 추정하기 위해서 Adaptive ECN(Edge-Conditioned sub-network)를 사용하는것을 제안함
  • Dnr→q는 query patch와 embedded feature의 인접 patch 간의 feature 차이임
  • exp(·)는 exponential 함수, δq(FL) = P nr∈Sq exp (Fθ (Dnr→q ))는 normalization factor을 나타냄
  • 식 (1)은 sub network ECN을 활용하는 adaptive edge-conditioned aggregation을 정의함
  • GraphAgg는 edge label을 활용해 k 개의 HR feature patches를 robust하고 유연한 방식으로 집계함

  deLR 영상을 활용하기 위해 DEN(Downsampled-Embedding sub-network)를 사용한다. DEN은 LR 영상과 동일한 해상도의 feature로 임베딩하고 이를 LR 영상의 feature map과 concat하여 F'L을 얻는다. F'L은 네트워크의 후속계층(subsequent layers)에서 사용된다. Patch Aggregation의 ECN과 DEN들은 3개의 convolution layer로 구성된 작은 네트워크이다.

 

Adaptive Patch Normalization

  획득한 k 개의 HR 이웃 patch들이 query patch와 약간의 low-frequency(색, 밝기 등) 불일치를 가지고 있는지 관찰한다. Edge-conditioned aggregation에 의한 adaptive weighting 이외에도, 영상 sytle 전송을 위한 AdaIN(Adaptive Instance Normalization)에 영감을 받은 AdaPN(Adaptive Patch Normalization)을 제안한다. 이는 k 개의 인접 patches에게 정렬된다. 아래 식의 Fnr 과 Fq는 각각 query patch의 feature의 c번째 channel, LR 영상의 r번째 HR 인접 patch이다. r 번째 normalized neighboring patch에 대한 AdaPN의 식은 식(3)과 같다.

식 3

  • σ 와 µ 는 평균과 표준편차임
  • AdaPN은 각 인접 patch feature의 σ 와 µ을 query patch feature의 σ 와 µ에 일치시킴으로써, query의 low-frequency 정보를 이웃에 전송하고 high-frequency texture 정보를 변경하지않고 유지함
  • Query patch와 k 개의 인접 patch 간의 차이를 제거함으로써 제안된 AdaPN은 후속 feature를 집계 하는데 유리함

2.3 Cross-Scale Internal Graph Neural Network

  그림 2에서 GrapAgg를 기반으로 해 IGNN을 만든다. GraphAgg 모듈 이후, upscale된 최종 HR feature를 얻는다. 다른 크기간의 skip connection으로, aggregated HR feature의 부유한 HR 정보가 직접적으로 연결된다. 이 mechanism은 HR 정보가 출력이 더 detail하게 생성하도록 도와준다. 또한, 하위 네트워크 DEN을 사용해 upscale LR 로부터 나온 downsampled-embedded feature와 입력 feature를 연결해 풍부한 중간 feature 를 얻는다. 그런 다음 네트워크의 subsequent layer로 공급되어 네트워크가 cross-scale internal 정보를 탐색할 수 있다.

  영상 복원을 위한 이전의 non-local network 방법과 비교해보면 non-local은 오직 같은 LR scale 에서만 self-similarity patch를활용하지만, IGNN은 다른 크기간의 internal recurring patch들을 활용한다. GraphAgg 모듈의 이점은 IGNN이 훈련 데이터셋에서 학습한 external 정보로 HR을 효과적으로 보완함에 따라 k 개의 interanl image-specific LR/HR feature patch들을 얻는다. 다른 SR CNN처럼 외부 데이터로 부터 LR-HR mapping을 학습하는것 대신에 IGNN은 가장 비슷한 k 개의 HR 대응물을 활용해 보다 detail한 texture를 복구한다. LR/HR exemplars 마이닝으로 IGNN은 ill-posed 문제를 완화할 수 있다. GrapAgg 모듈을 효율적으로 하기 위해 32 channel을 가진 EDSR을 사용한다. 제안된 GraphAgg는 IGNN에서 한번, 16번째 residual block 뒤에 사용된다. 

3. Experiments

Datasets and Evaluation Metrics

  • 800개의 DIV2K 고화질 영상을 훈련데이터로 사용, Set5, Set14, BSD100, Urban100, Manga109를 검증 데이터로 사용
  • x2, x3, x4배 upscaling 하여 성능을 평가, 영상을 bicubic 방법으로 downsampling
  • YCbCr 공간상에서 Y channel 에서 PSNR과 SSIM으로 성능 평가

Training Settings

  • DIV2K로 부터 HR patch를 crop, 이것을 bicubic로 downsample해서 LR patch를 얻음, LR patch는 60x60 크기임
  • 모든 훈련 patch는 수평으로 뒤집기, 90, 180, 270로 회전하여 증강함
  • optimizer는 Adam, loss는 l1, GPU는 Tesla V100, deep learning frame work는 PyTorch 사용

3.1 Comparisons with State-of-the-Art Methods

  다른 SotA 모델 EDSR, DBPN, RDN 등과 비교한 결과를 표 1에 나타냈다. Self-ensemble 전략을 IGNN에 사용하고 이를 IGNN+로 표기한다. IGNN이 다른 SotA 모델보다 성능이 좋으므로, GraphAgg가 SISR에 효율적이다. 게다가, GraphAgg는 ECN과 DEN 두가지 sub-network, 오직 3개의 conv layer만을 가진, 를 가지므로 더 큰 모델 크기보다 cross-scale aggregation을 통해 개선할 수 있다. SAN 모델이 때때로 더 성능이 좋지만, 제안된 IGNN보다 7배나 더 깊은 모델이다. 즉, IGNNdl SAN보다 더 가볍다.

  또한 IGNN과 SotA 모델의 정성적 결과를 비교해 그림 3에 나타낸다. IGNN은 작은 부분까지도 덜 흐릿하게 더 선명하게 복구했다. 이 결과로 IGNN이 실제로 cross-scale patch 검색 및 집계를 통해 풍부한 texture를 활용한다는것을 증명한다. 다른 방법과 비교했을때 IGNN은 탐색한 k 개의 HR feature patch로 부터 image-specifc 정보를 얻고, 이러한 internal 단서는 external 정보를 보완한다.

3.2 Analysis and Discussions

Effectiveness of Graph Aggregation Module

  Cross-scale aggregation의 효율을 직관적으로 보여주기 위해 non-learning version, GraphAgg*를 정의한다. GraphAgg*는 IGNN과 같은 방법으로 만들어진다. GraphAgg가 IGNN에서 추출된 feature를 집계하는 IGNN과 다른점은 GraphAgg*는 단순 평균화된 입력 LR 영상으로 부터 crop된 k개의 인접 HR patch들을 직접적으로 집계한다. 그림 4의 첫번째 행과 같이 GraphAgg*는 bicubic 방법으로 upsacle 한것과 비교했을때 더 detail하고 sharp한 결과를 만든다. 비록 그림 4의 두번째 행에서 GraphAgg*이 여전히 노이즈를 포함한 결과를 만들지라도, 직관적으로 cross-scale aggregation이 SR 에서 효율적인것을 보여준다.

  서로 다른 규모에 걸쳐서 정보를 집계하는 GraphAgg의 효과를 추가로 검증하기 위해 동일한 크기에대해 기본 non-local block과 KNN으로 교체한다. 결과는 표2와 같고 IGNN을 사용한 방법이 가장 좋은 성능을 보인다. IGNN은 성능에서 명백한 개선을 보이며 SISR에 대한 cross-scale aggregation 중요성을 시사한다.

Feature Visualization

  GraphAgg와 AdaPN의 효율성을 검증하기 위해 그림 5에서 처럼 중간 feature를 나타낸다. Red box (LR, HR(bicubic upscaling) feature)를 비교햇을때 HR feature가 더 rich 하고 sharp한 detali를 가지고 있는것을 관찰했다. 이로써 제안하는 GraphAgg가 feature domain에서 더 detail한 texture를 얻을수 있다. Yellow box에서 Adaptive Patch Normalization이 없는 HR feature는 입력 LR feature과 low-frequency에 대해 약간의 불일치를 보인다. 하지만, 이러한 차이는 normalization 이 있는 AdaPN의 HR feature에서 제거된다. 이로써 AdaPN이 GraphAgg 모듈을 patch aggregation에서 더 정확하고 robust 하게 만드는것을 보여준다.

Position of Graph Aggregation Module

  GraphAgg 모듈의 위치 8, 16, 24 번째 레이어 뒤에 대한 실험을 진행했으며 그 결과는 표 3과 같다. 16번째 뒤에 있는것이 8번째 보다 더 좋은 성능을 보이며 24번째가 되었을땐 성능이 오히려 성능이 낮아졌다.

Settings for Graph Aggregation Module

  GraphAgg에서 searching window size d와 neighborhood 수 k의 영향력을 조사한다. 조사 결과를 표 4와 5에 나타낸다. Window size d는 커질수록 좋은 성능을 낼것이라고 기대했고 그 결과 d = 30 일 때 전체 downsample feature 중 (d = deLR) 일때 가장 유사한 성능을 보였다. 표 5에는 k 갯수에 대해서 나타낸다. 일반적으로 더 많은 k 갯수가 SR 의 성능을 개선시킬 것이라고 생각하지만, k = 5 일때의 성능이 가장 높았다.

Effectiveness of Adaptive Patch Normalization and Edge-Conditioned sub-network

  AdaPN, ECN의 유무에 대한 결과를 표 6에 나타낸다. 두 모델은 검색된 k 개의 HR 인접 patch가 때때로, 색상, 밝기 등의 low-frequency에서 query patch와 일치하지 않다는 문제점을 해결하기 위해 고안되었다. 성능을 비교한 결과 두 모듈을 모두 사용했을때의 성능이 가장 좋다.

4. Conclusion

  • 본 논문에서는 cross-scale recurring patches의 internal 상관관계를 그래프로 새롭게 모델링하는 개념을 제시함
  • Internal recurrence property를 효율적으로 활용할수 있는 graph network IGNN을 제안함
  • IGNN은 LR feature 자체에서 찾은 k 개의 HR 대응물로 부터 풍부한 texture를 얻어 SISR의 ill-posed 문제를 완화하고 보다 더 detail하게 texture를 복구함
  • 본 논문은 HR 인접 patch에서 LR로 HR 정보를 전달하는 cross-scale graph aggregation의 효과를 보여줌
  • 실험결과에서 제안한 IGNN이 SISR에서 SotA를 달성해 효과적인것을 증명함

Paper

http://proceedings.neurips.cc/paper/2020/file/23ad3e314e2a2b43b4c720507cec0723-Paper.pdf
Comments