CNN의 구조적인 특성에 따라, 이미지 1장으로(학습없이) 노이즈 제거, 해상도 복원, 이미지 인페인팅이 가능하다
What is prior

사람이 왼쪽 이미지에서 오른쪽 이미지로 복원을 한다고 가정해보자
사람은 귀가 어디에 있는지, 코가 어떻게 생겼는지 등의 정보를 이용해 오른쪽 이미지로 복원한다
이러한 정보를 prior라고 한다

일반적으로 딥러닝에서 super resolution을 할때 여러 이미지로부터 prior를 학습해 해상도 복원을한다
본 논문에서는 Explicit prior는 필요없으며, CNN 구조 자체가 prior라고 한다
즉, 학습 자체가 필요없다. 네트워크 구조와 손상된 이미지만으로 원 이미지 복원이 가능하다
Method
x∗=argmaxxp(x∣ˆx)=argmaxxp(ˆx∣x)p(x)=argminx−logp(ˆx∣x)−logp(x)=argminxE(x;ˆx)+R(x)
x∗ : 복원된 이미지
ˆx : 손상된 이미지
x : ground truth
E가 최소화되게 학습해야한다
explicit regularizer인 R(x)를 날려주고 neural network에 의한 implicit prior으로만 학습한다
(R(x)날리는건 수학적으로 도출한 결과는 아니고 아니고 그래도 되지 않을까?라는 생각이라고 한다)
θ∗=argminθE(fθ(z);x0),x∗=fθ∗(z).
랜덤 이미지 z에 대해 네트워크의 파라미터 θ를 학습시켜준다 (z는 그대로)
적당히 좋은 이미지(fθ∗(z))가 될때까지 네트워크를 반복 학습한다
E함수는 task마다 다르다

Prior가 있으면 오른쪽 그림과 같이 ground truth 가까운 지점을 지나친다
여기서 더 반복하면 ˆx와 가까워진다
Denoising
E(x;x0)=‖x−x0‖2.

2400 iteration까지는 노이즈가 줄어들지만 50K가 되고 나서는 corrupted image와 비슷해졌다
전반적으로 iteration은 수학적으로 구하는건 아니고 임의로 정했다 (코드에서)
Super Resolution
E(x;x0)=‖d(x)−x0‖2.
d는 downsampling 함수이다
논문 코드에서는 lanczos2를 썼다
Inpainting
E(x;x0)=‖(x−x0)⊙m‖2
이미지의 비어있는 영역을 복원한다
손상된 영역은 마스킹하여 loss에 포함시키지 않는다
m은 사람이 직접 정의해야한다

'인공지능 > 기타' 카테고리의 다른 글
Multimodal Unsupervised Image-to-Image Translation (1) | 2024.12.15 |
---|---|
Backpropagation for a Linear Layer (1) | 2024.10.31 |
라그랑주 승수법 (Lagrange multipliers) (0) | 2024.08.05 |
Transformer: Attention is All you need (2) | 2024.07.27 |
[강화학습 요약] Policy Gradient (1) | 2023.10.15 |