- 2024년 5월 8일 오후 6:07
- 조회수: 29329
REFERENCES
INFORMATION
- 2024년 5월 10일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

이번 세미나는 image denoising을 주제로 진행되었다. Image Denoising이란 노이즈 이미지에서 노이즈를 제거하여 깨끗한 이미지를 만들어주는 것을 뜻한다. Image denoising task에서 노이즈는 다양한 형태의 노이즈들이 결합한 형태로 존재하며, 이미지에 어떤 형태의 노이즈가 존재하는지 알려지지 않아 이를 해결하기 위한 방법론들이 연구되었다. 오늘 세미나는 학습 데이터 형태에 따른 supervised 그리고 self-supervised learning image denoising 방법론들에 대해 소개하였다.
[1] Supervised Learning – Paired noisy-clean image (Jain et al 2008): 딥러닝을 통해 denoising 문제를 처음으로 해결한 방법론. 깨끗한 이미지에 노이즈를 부여해 noisy 이미지를 생성하여 noisy-clean image 쌍을 만들고, 깨끗한 이미지와 noisy 이미지를 딥러닝 모델로 denoise한 이미지간의 차이를 최소화하도록 학습
[2] Supervised Learning – Paired noisy-clean image (DnCNN): 이미지를 직접 denoising하는 것이 아니라, noisy 이미지에서 분리된 노이즈를 CNN 네트워크로 예측하도록 학습.
[3] Supervised Learning – Unpaired noisy-clean image (GCBD): paired noisy-clean image는 인위적으로 만든 노이즈를 예측한다는 단점 존재. GCBD는 noisy-clean 이미지가 동일한 이미지가 아닌 unpaired 형태이다. GAN과 CNN이 결합된 2-Stage 모델인데, 우선 Noisy 이미지를 통해 노이즈를 생성하는 GAN을 학습하고, GAN으로부터 생성된 노이즈를 깨끗한 이미지에 추가해 noisy 이미지를 생성한다. 이후 CNN 모델은 생성된 noisy 이미지를 입력 받아 noise를 예측하도록 학습한다.
[4] Self-supervised Learning – Paired Noisy-Noisy image (Noise2Noise): Supervised 모델 학습을 위해 깨끗한 이미지가 필요하지만, 현실에서는 깨끗한 이미지를 구하기 어렵다는 제약이 존재한다. 따라서 Self-supervised learning 방법론들은 오직 noisy 이미지 만으로 denoising 모델을 학습하는 것을 목표로 한다. Noise2Noise는 같은 이미지로부터 생성된 서로 다른 noisy 이미지를 필요로 하며, noisy 이미지를 denoise한 이미지와 입력 noisy 이미지와는 다른 noisy와 유사해지도록 학습한다. 왜 denoise된 이미지를 noisy 이미지와 유사하게 하는지 의문이 들 수 있는데, 이는 noisy 이미지의 깨끗한 형태는 하나가 아닌 여러 형태가 존재할 수 있으며, L2-loss를 사용하여 깨끗한 이미지 정답 후보들의 평균값으로 학습이 가능하기 때문이다.
[4] Self-supervised Learning – Single Noisy image (Noise2void): noisy 이미지 쌍이 아닌 단일 noisy 이미지만을 사용하는 방법론으로, 입력 이미지로부터 주변 정보들로 자기 자신에 대한 픽셀 값을 복원하도록 학습하는 Blind Spot Network를 적용한 모델이다.
[5] Self-supervised Learning – Single Noisy image (Deep image prior): 초기화된 모델을 학습할 때 여러 이미지들을 사용하는 것이 아니라, 하나의 noisy 이미지를 여러 iteration동안 학습하는 방법론이다. 이는 모델 자체가 깨끗한 이미지에 대한 사전 지식을 갖고 있기 때문에 가능하다고 한다. 개인적인 느낌으로 특정 이미지에 특화된 denoising 모델을 학습하는 느낌이었다.
이번 세미나를 통해 image denoising 관련 문제상황과 방법론들에 대해 알아볼 수 있었다. 특히 현실세계에서 구할 수 있는 학습데이터의 상황에 맞게 방법론들이 고안되었다는 점이 흥미로웠다. 유익한 세미나를 준비해준 김성수 연구원에게 고맙다는 말을 전하며 세미나 후기를 마친다.

이번 세미나는 image denoising을 주제로 진행되었다. 간단히 말해서, 이미지에 있는 노이즈를 제거함으로써 clean image를 얻는 task라고 할 수 있다. 이는 clean image 활용 여부에 따라 supervised / self-supervised로 구분할 수 있고, supervised는 학습 데이터 pair 여부에 따라 paired noisy-clean images / unpaired noisy-clean images로 구분할 수 있다. Self-supervised는 paired noisy image 사용 여부에 따라 paired noisy-noisy images / single noisy image로 구분할 수 있고 여기서 single noisy image는 학습 방식에 따라 blind spot network / deep image prior로 구분할 수 있다.
본 세미나에서 소개한 image denoising의 갈래 중 제일 현실 상황과 가까운 것은 single noisy image라고 할 수 있을 것이다. 다른 self-supervised 갈래인 paired noisy-noisy images는 noisy pair 구축도 현실에서는 어렵다는 것을 강조하면서 연구가 진행되었다. Blind spot network(BSN)은 마스킹 된 픽셀 정보 말고 주변 정보를 활용하여 복원하도록 학습이 진행된다. 그러나, signal image는 주변 픽셀만으로 복원이 가능하지만, noise image는 그렇지 않는다는 한계가 있고 자기 자신 픽셀 정보를 활용하지 않아 N2N보다는 저조한 성능을 보인다. 또한, 복잡한 이미지의 경우 활용하기 어렵다는 한계도 가지고 있다.
Deep image prior은 모델이 가지고 있는 사전 지식을 사용하면, 한 장의 noisy image만으로 clean image를 복원할 수 있다고 주장한다. 한 장의 이미지에 여러 iteration을 거치고 적절한 early stopping을 활용하면 clean image를 얻을 수 있다고 한다. 그러나 이런 early stopping 및 모델 구조 선정이 까다롭고 긴 추론 시간을 가진다는 한계를 가지고 있다.
본 세미나는 image denoising이라는 주제로 전체적인 발전 갈래부터 소개해주었다. 각 갈래들의 한계점을 잘 지적해주어 보다 이해하기 편했고, 비교적 완전 최근 방법론들은 아니라 앞에서 언급한 한계점들을 최근 연구들에서는 어떻게 극복했는지도 궁금해졌다. 좋은 세미나를 준비하느라 고생한 성수에게 고맙다는 말을 전하며 본 세미나 후기를 마친다.

이번 세미나는 이미지 내 존재하는 노이즈를 제거하는 작업인 Image Denoising에 대해 소개되었으며, 특정 기준에 따라 분류된 각 영역에서의 image denoising 연구에 대해 자세하게 설명되었다. 각 연구에 대한 간략한 설명은 아래와 같다.
# Supervised learning 기반 image denoising (clean image 사용)
* Paired Noisy-Clean Images (동일한 이미지에 대한 clean과 합성된 noisy 이미지 쌍 활용)
① Natural Image Denoising with Convolutional Networks (2008, NIPS): noisy 이미지를 입력하여 clean image를 출력하는 딥러닝을 적용한 첫 번째 방법론
② DNCNN (2017, TIP): 이미지를 직접 denoising하는 것이 아닌, 제거해야하는 noise를 출력하도록 네트워크를 학습한다. 학습된 네트워크를 활용하여, noisy 이미지에서 예측한 noisy를 제거하여 최종적인 clean 이미지를 생성한다.
* Unpaired Noisy-Clean Images (서로 다른 이미지에 대한 clean과 실제 noisy 이미지 쌍 활용)
① GCBD (2018, CVPR): GAN과 CNN의 2 단계로 구성되어 있으며, Generator에서 무작위로 noise를 생성하고 실제 noisy 이미지에서 noise block extraction을 사용해 noise만을 추출하여 discriminator를 기반으로 실제와 가짜 noise를 구분하도록 학습이 진행된다. 이후, GAN에서 생성된 noise와 실제 clean 이미지를 합성하여 noisy 이미지(X)를 만들고 CNN을 통해 noise를 예측하는 과정을 거친다. 이 때, 정답은 GAN에서 만든 noise가 된다.
# Self-supervised learning 기반 image denoising (clean image 사용 X)
* Paired Noisy-Noisy Images (동일한 이미지에 서로 다른 noise가 낀 이미지 쌍을 활용)
① Noise2Noise (2018, ICML): 입력되는 noisy 이미지의 복원 결과가 다른 noisy 이미지가 되도록 학습을 진행한다. 또한, noisy 이미지에 정답인 clean image는 여러 개가 존재할 수 있으며, 이를 L2 loss를 활용하여 학습을 진행함으로써 해당 문제를 해결하고자 한다.
* Single Noisy Image
① Noise2Void (2019, CVPR): Blind Spot Network를 사용하여 중앙 픽셀을 마스킹하고 주변 픽셀 정보만으로 예측함으로써 잡음을 제거하여 순수한 signal만을 복원하는 방법이다.
② Deep Image Prior (2017, CVPR): 무작위로 초기화된 딥러닝 모델 구조 자체가 이미지의 기본 구조를 반영하여 자연스럽게 잡음을 제거할 수 있는 사전 지식을 제공한다는 가정에 기반한다. 한 장의 noisy 이미지에 여러 iteration을 반복하여 clean image를 확보하며, 조기 정지를 사용하여 과적합을 방지하고 최적의 denoising 성능을 달성한다.
이번 세미나에서는 특정 기준에 따라 분류된 image denoising의 여러 연구에 대해 소개되었으며, 각각의 한계점을 개선하며 나온 연구가 물 흐르듯이 설명되었다. 각 연구의 한계점은 세미나를 통해 이해하시길 바라며, 유익한 세미나를 준비해준 성수에게 고마운 마음을 전하며 이상으로 세미나 후기를 마친다.

Image denoising에 관한 세미나를 청취하였다.
이해하기 쉬운 구조의 Taxonomy를 바탕으로 꽤나 많은 Denoising 방법론을 본 세미나에서 접해볼 수 있었다. Clean image의 존재 여부, 그리고 Clean image with its noisy version, Noisy image with its doubly noisy version 등 이미지 사이의 Pair 정보를 활용할 수 있는지 없는지에 대한 여부를 토대로 각 여부별(상황별) 사용 가능한 방법론을 이해하게 되었다. Image denoising에 관한 프로젝트를 만일 하게 된다면 해당 세미나를 참고하여 프로젝트 상황별 방법론 결정 및 추가 탐색하는데 용이할 것 같다. 개인적으로는 BSN 방법에서 가정하였던 내용이 재밌었다. 노이즈의 경우 픽셀별 독립성을 유지하고 원본 컨텐츠의 경우 픽셀별 종속성을 유지한다는 가정하에, 자기 중심 픽셀을 제외한 주변부 픽셀만을 활용하는 BSN network가 원본 컨텐츠는 복원할 수 있고, 노이즈는 복원하지 못한다는 가설을 사용하여 Denoising을 수행한다.
좋은 세미나를 준비하느라 고생한 성수에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.

이번 세미나에서는 이미지에 있는 다양한 노이즈에 강건한 모델을 만들기 위한 denoising 방법론에 대해 소개하였다. Denoising의 종류에는 수리적 알고리즘을 사용하는 computer vision, supervised learning, self-supervised learning으로 구분하는데, 본 세미나에서는 supervised/self-supervised learning 방법에 관하여 소개한다.
Supervised learning는 noise 이미지와 clean 이미지를 모두 사용한다. 즉 이미지 pair가 있어야 하는데, 동일 한 이미지를 pair로 사용하면 paired 방법론에 속하고 noise와 clean 이미지 pair가 다른 이미지라면 unpaired 방법론에 속한다. Paired한 학습을 위해서 현실 세계에서는 그런 데이터가 잘 존재하지 않아 인위적으로 clean 이미지에 noise를 부여하여 데이터셋을 생성한다. 그리고 그 pair를 neural net으로 학습하는데, DnCNN은 noise를 학습한다. 따라서 학습 목표가 명확해지지만, paired 방법 자체가 노이즈를 인위적으로 포함하기 때문에 robust하진 않다. Unpaired한 방법의 경우 실제 이미지를 가지고 학습 가능하다는 장점이 있는데, GCBD는 GAN으로 noise를 생성하여 이것을 clean 이미지와 합성 한 후, CNN을 통해 노이즈를 예측하는 과정으로 학습이 진행된다.
Self-supervised learning은 noise 이미지만을 가지고 denoising 이미지를 학습하는 과정이다. Noise2noise는 noise 이미지를 두 개 사용하는데, 하나의 noise 이미지를 복원한 것이 다른 하나의 noise 이미지와 유사해지도록 학습한다. 그런데 이 부분에서 어떠한 방식으로 복원하는지는 잘 모르겠다. 이 부분에 대해서는 확인이 필요할 것 같다. 이 때, ill-posed problem의 개념이 도입되는데 이것은 하나의 noise 이미지에 여러 개의 클린 이미지가 있을 수 있으며 noise 이미지 조차도 가능한 clean 이미지 중 하나 일 것이라는 가정이다. 이들을 평균값으로 학습하여 모델을 구축한다. Noise2void는 하나의 noise 이미지만으로 학습이 가능한데, 자기 자신에 대한 픽셀 값을 항상 0으로 두고 모델링을 한다. Computer vision 기반 보단 우수하나 자기 정보가 없어서 그런지 noise2noise 보다는 좋지 않다. Deep image prior의 무작위로 초기화된 이미지만으로 denoising이 가능하다는 내용인데, 이미지를 여러 iteration을 거쳐 clean 이미지를 획득한다. 어떻게 보면 diffusion과 같은 방식일 수 있는데 어떻게 이렇게 작동하는지 궁금했다.
Self-supervised 방법론에서의 구체적인 모델 형식에 대한 이해가 조금 부족했으나, 전반적인 이미지 denoising 연구의 흐름에 대해서 아주 잘 설명해주어 개인적으로 이 분야를 이해하는데 큰 도움이 되었다. 이런 좋은 내용을 전달해준 김성수 연구원에게 고맙다는 말을 전하며 세미나 후기를 마친다.