본문으로 바로가기
  1. Introduction 카메라로 촬영된 이미지는 saturation, limited image boundary, noise, compression 같은 요소들을 피할 수 없다. 이러한 요소들은 제거하기 어려우며, 각자의 특성이 있어서 한가지 방법으로 전체 문제를 해결하는 방법은 존재하지 않는다. 이런 요소들을 제거하는 한가지 가능성은 generative model을 사용하는 것인데, 동일하고 독립적으로 분포된 노이즈와 같은 강력한 가정에 따라 만들어지며 실제 이미지에는 적용되지 않을 수 있다. 이 논문에서는 특징을 기반으로 물리적이나 수학적인 기반이 아닌 자연 이미지를 deconvolution하는 절차를 진행한다. 대신에, 카메라나 collected online으로부터 쉽게 생성되어질 수 있는 이미지 샘플들을 이용하여 data-driven system을 만드는 새로운 방향을 소개한다. 우리는 deconvolution operation을 학습하기 위해 CNN (Convolutional neural network)을 사용하는데 visual artifacts의 원인은 알 필요 없다. 본 연구에서는 deconvolution의 pseudo-inverse 맥락에서 생성모델을 사용하여 경험적으로 결정된 CNN model과 기존의 방법들 사이의 공백을 해소한다.
  1. Related Work Deconvolution은 기본적으로 image restoration이기 때문에 다른 필드에서 연구되었다. 이전의 방법들은 알려진 이미지 노이즈 모델과 특정 분포에 따른 자연스러운 이미지 기울기를 가정하여 생성적 관점에서 문제를 해결한다.
  1. Blur Degradation 우리는 clipped intensity (saturation), camera noise, and compression artifacts를 포함하는 several types of degradation으로부터 고통받는 real-world image blur를 고려한다. 이 blur model은 아래이다.
    y^=ψb[ϕ(αxk+n)],\begin{equation} \hat{y} = \psi_b[\phi(\alpha x \, *\,k+n)], \end{equation}

    where αx\alpha x represents the latent sharp image. α1\alpha\ge1αx\alpha x 가 camera sensor의 dynamic range를 초과하는 값을 가져서 잘릴 수 있음을 의미한다. kk는 convolution kernel을 의미하거나 전형적인 PSF (point spread function)을 뜻며, n은 camera noise 이다. ϕ()\phi(\cdot) is a clipping function to model saturation, defined as ϕ(z)=min(z,zmax),\phi(z) = \min(z,z_{max}), where zmaxz_{max} is a range threshold. ψb[]\psi_b[\cdot] is a nonlinear(e.g., JPEG) compression operator. y^\hat{y}와 kernel kk를 사용해도 clipping으로 인한 정보 손실로 αx\alpha x를 복원하는 것은 어렵다. 이런 점에서, 우리의 목표는 clipped input x^\hat{x}를 복원하는 것이다, where x^=ϕ(αx)\hat{x}=\phi(\alpha x). 위 Eq. (1)을 포함하는 complex energy function으로 x^\hat{x}를 계산하는 것은 어렵지만, input xx로부터 blurry image를 생성하는 것은 이미지 저하를 생성하는 모든 종류의 convolution model에 따른 이미지 합성을 통해 매우 간단하다.

  1. Analysis 목표는 f()f(\cdot)을 최소화하는 네트워크 구조를 학습하는 것이다.
    12NiNf(y^ix^i)2,\begin{equation} {1\over2|N|}\sum\limits_{i\in\\N}||f(\hat{y}_i-\hat{x}_i)||^2, \end{equation}

    where N|N| is the number of image pairs in the sample set.

    SSDAE [15] 방법과 CNN [16] 방법을 사용해보았는데 실패했다. Fig. 2(a)는 여전히 blur가 존재했고 Fig. 2(c)는 상대적으로 낫지만 blurry edge and strong ghosting artifacts가 남아있다. 왜냐하면 CNN [16] 방법은 denoise를 위한 network 구조이지 deconvolution 특성을 고려한 구조가 아니기 때문이다. 4.1 Pseudo Inverse Kernels Deconvolution task 는 기본적으로 convolutional newtork에 의해 근사화될 수 있다. 우리는 단순한 linear blur model을 고려한다.

    y=xk.y = x*k.

    spatial convolution은 frequency domain에서의 곱으로 변환되어지며, 아래의 수식을 산출한다.

    F(y)=F(x)F(k).\mathcal{F}(y) = \mathcal{F}(x)\,\cdot\,\mathcal{F}(k).

    F()\mathcal{F}(\cdot) 은 discret Fourier transform(DFT) 를 의미한다. Operator \cdot is element-wise multiplication. Fourier domain에서 x는 아래 식으로 얻을 수 있다.

    x=F1(F(y)/F(k))=F1(1/F(k))y,x = \mathcal{F}^{-1}(\mathcal{F}(y)/\mathcal{F}(k)) = \mathcal{F}^{-1}(1/\mathcal{F}(k))\,*\,y,

    where F1\mathcal{F}^{-1} is the inverse discrete Fourier transform. 이 외의 내용은 Wiener deconvolution에 대한 내용. Wiener 방법은 최신은 아니지만, 유한하면서 큰 공간 지원(finite yet large spatial support)을 갖는 inverse kernel은 우리 신경망 네트워크 시스템에 매우 유용하다. 이는 deconvolution이 충분히 큰 커널을 가진 spatial convolution에 의해 을 잘 근사할 수 있음을 나타낸다. 이는 SSDA와 CNN으로 직접 deconvolution을 하는 방법이 실패한 이유를 설명한다. -SSDA는 fully connected 구조의 convolution의 특성을 잘 반영하지 못했다. -CNN은 위에서 설명한 바와 같이 큰 커널의 convolution에 의해 deconvolution을 근사할 수 있기에 더 나은 성능을 보였다. -이전의 CNN은 small convolution kernel을 사용한다. 왜냐하면, 우리의 deconvolution problem의 설정이 반영된 게 아니기 때문이다. 따라서 이는 deep neural network를 사용해서 deconvolution을 수행하는 것은 결코 간단하지 않다고 요약할 수 있다.

  1. Network Architecture

    5.1 Kernel Separability 5.2 Image Deconvolution CNN (DCNN) 5.3 Training DCNN 5.4 Outlier-rejection Deconvolution CNN (ODCNN) 5.5 Training ODCNN

  1. More Discussions
  1. Experiments and Conclusion

'Research > Paper' 카테고리의 다른 글

Deep Learning for Image Super-resolution: A Survey  (1) 2024.01.24
YOLOv3: An Incremental Improvement  (0) 2021.10.05

자유로운 공방
블로그 이미지 Freeable 님의 블로그
MENU
VISITOR 오늘 / 전체