Super Resolution
- 낮은 해상도의 이미지를 고해상도로 변환하는 과정
1) Interpolation-based method(보간 기반 방법)
- 이미지의 낮은 해상도 부분에 대한 새로운 픽셀 값을 추정하기 위해 보간 기술을 사용
- 가장 널리 사용되는 보간 기법으로는 Nearest Neighbor, Bilinear, Bicubic
2) Learning-based method(학습 기반 방법)
- 딥 러닝을 사용하여 낮은 해상도의 이미지로부터 고해상도 이미지를 생성
- 학습 기반 방법은 대량의 데이터셋에서 낮은 해상도와 고해상도 이미지 간의 관계를 학습하여, 새로운 낮은 해상도 이미지에 적용
- 이미지의 복잡한 텍스처와 세부 사항을 더 잘 복원할 수 있으며, 보간 방법보다 더 높은 품질의 결과를 생성할 수 있지만, 계산 비용이 더 높고, 충분한 훈련 데이터가 필요
→ single image
SRCNN (2014)
1) 기존 방법들보다 구조가 간단하지만 정확도가 훨씬 높다.
2) CPU에서 써도 될만큼 속도가 빠르다.
3) 모델이 크고 깊을수록, 데이터셋이 더 다양할수록 성능이 증가한다. 기존 방법들에선 그러한 방법들의 적용이 힘들다.
4) 이미지의 RGB 3채널을 처리함과 동시에 고해상도 이미지를 얻을 수 있다.
SRCNN은 최초로 CNN을 이용한 슈퍼 해상도 연구에서 제안된 모델입니다.
이 모델은 저해상도 이미지를 먼저 일정 비율로 확대한 후, CNN을 통과시켜 고해상도 이미지를 생성합니다.
구조적으로 간단하며, 이미지의 세부 사항을 향상시키는 데 효과적입니다.
하지만 이 방식은 이미지를 먼저 확대해야 하므로, 계산 비용이 높고 처리 속도가 상대적으로 느립니다.
FSRCNN (2016)
FSRCNN은 SRCNN의 후속 모델로, 처리 속도를 개선한 것이 특징입니다.
FSRCNN은 저해상도 이미지를 CNN에 직접 입력하고, 네트워크의 마지막 부분에서 이미지의 크기를 확대합니다.
이러한 접근 방식은 SRCNN에 비해 더 빠른 처리 속도를 제공하면서도 비슷한 수준의 이미지 품질을 유지합니다.
FSRCNN은 더 작고 깊은 네트워크 구조를 가지며, 이를 통해 학습 및 추론 속도가 향상되었습니다.
VDSR (2016)
VGG based deeper model (20 layers) for super resolution à Large receptive field
→ VDSR은 특히 이미지의 세부 사항과 텍스처를 복원하는 능력이 뛰어나며, 다양한 해상도의 이미지에 적용 가능한 유연성을 가지고 있습니다.
1. 깊은 네트워크 구조:
VDSR은 매우 깊은 네트워크 구조를 사용합니다. 구체적으로, VDSR은 20개 이상의 컨볼루션 레이어(Convolutional Layers)로 구성되어 있으며, 이는 당시의 다른 슈퍼 해상도 모델들보다 훨씬 깊은 구조입니다.
이 깊은 네트워크는 이미지의 복잡한 텍스처와 세부 사항을 더 정확하게 학습하고 복원할 수 있게 해줍니다.
2. 잔차 학습 (Residual Learning):
VDSR은 잔차 학습을 도입하여 네트워크의 성능을 향상시킵니다. 즉, 네트워크는 저해상도 이미지와 고해상도 이미지 간의 차이(잔차)를 학습합니다.
이 접근 방법은 네트워크가 고해상도 이미지를 직접 생성하는 것이 아니라, 저해상도 이미지와의 차이를 학습하여 최종 이미지를 생성합니다.
3. 확장성 (Scalability):
VDSR은 다양한 확대 비율에 적용될 수 있도록 설계되었습니다. 즉, 하나의 모델로 다양한 배율의 슈퍼 해상도 문제에 대응할 수 있습니다.
4. 고속화와 성능:
VDSR은 비록 깊은 네트워크 구조를 가지고 있지만, 효율적인 학습 방법과 최적화 기술 덕분에 빠른 학습 속도와 높은 성능을 달성합니다.
SRGAN (2017)
- SRGAN은 생성자(Generator)와 판별자(Discriminator)라는 두 개의 주요 구성 요소를 가진 GAN 아키텍처를 사용합니다.
- 생성자는 저해상도 이미지를 입력받아 고해상도 이미지를 생성하며, 판별자는 생성된 이미지가 실제 고해상도 이미지인지, 생성된 이미지인지를 구분하려고 합니다.
Generative Adversarial Network (GAN)
- 두 개의 신경망, 생성자(Generator)와 판별자(Discriminator)를 대립적으로 훈련시켜 복잡한 데이터 분포로부터 샘플링하는 것
GAN은 생성자(Generator)와 판별자(Discriminator) 두 개의 신경망이 서로 경쟁하며 학습하는 모델입니다.
GAN은 생성자가 실제와 유사한 데이터를 생성하려 하고, 판별자는 실제 데이터와 생성된 데이터를 구분하려고 합니다.
GAN의 초기 버전은 일반적인 완전 연결 신경망(fully connected neural networks)을 사용했으며, 이미지와 같은 고차원 데이터를 다루는 데 있어서 제한적인 성능을 보였습니다.
x: 실제 이미지
1. 생성자와 판별자:
생성자(Generator): 임의의 노이즈에서 시작하여 데이터의 실제 분포를 모방하는 새로운 데이터(예: 이미지)를 생성합니다.
판별자(Discriminator): 실제 데이터와 생성자가 만든 가짜 데이터를 구분하려고 합니다. 즉, 입력된 데이터가 실제인지 생성된 것인지를 판별합니다.
2. 대립적 학습 접근법:
GANs는 게임 이론의 미니맥스 게임(minimax game)과 비슷한 방식으로 작동합니다.
생성자는 판별자를 속이려고 하며, 판별자는 실제 데이터와 가짜 데이터를 정확하게 구분하려고 합니다.
이 대립적인 과정을 통해 생성자는 점점 더 사실적인 데이터를 생성하게 되고, 판별자는 더 정교하게 진짜와 가짜를 구별하게 됩니다.
3. 비지도 학습:
GAN은 레이블이 없는 데이터로도 훈련할 수 있는 비지도 학습 방법입니다.
"진짜/가짜"라는 신호는 인간의 레이블링 없이 생성자와 판별자로부터 자동적으로 생성됩니다.
4. 두 네트워크의 동시 훈련:
생성자와 판별자는 동시에 훈련되며, 서로의 성능을 향상시키는 방향으로 학습합니다.
이 과정에서 생성자는 더 현실적인 데이터를 생성하는 방법을 배우고, 판별자는 데이터를 더 정확하게 판별하는 방법을 배웁니다.
Deep Convolutional GAN (DCGAN)
- GAN의 기본 아이디어를 유지하면서도 이미지 생성의 질과 안정성을 크게 향상시킨 발전된 버전입니다. DCGAN은 고차원 이미지 데이터의 생성과 이해에 있어서 GAN의 성능을 대폭 개선한 중요한 진보로 여겨짐
DCGAN은 GAN의 발전된 형태로, 생성자와 판별자에 깊은 컨볼루셔널 신경망(deep convolutional neural networks)을 사용합니다.
이 모델은 이미지 처리에서 강력한 성능을 보이는 컨볼루셔널 레이어(convolutional layers)를 통합하여 이미지 생성의 질을 크게 향상시켰습니다.
DCGAN은 특히 이미지 데이터에 대한 학습에서 더 안정적이고, 고해상도 및 복잡한 구조의 이미지를 효과적으로 생성할 수 있습니다.
DCGAN은 GAN의 훈련 과정을 안정화시키기 위한 몇 가지 중요한 구조적 변경을 도입했습니다. 예를 들어, 배치 정규화(batch normalization), 스트라이드 합성곱(strided convolutions), LeakyReLU 활성화 함수 등을 사용합니다.
Pix2Pix (Image-to-Image Translation with Conditional Adversarial Networks)
- 이미지-대-이미지 변환(image-to-image translation)을 수행하는 딥 러닝 모델
- 특정한 형태의 이미지를 다른 형태로 변환하는 데 사용
ex. 스케치를 실제 사진처럼 보이게 만들거나, 흑백 사진을 컬러 사진으로 변환하는 작업 등에 적용
1. Conditional Generative Adversarial Networks (cGANs):
Pix2Pix는 조건부 GAN(Conditional GAN, cGAN)을 사용합니다. 여기서 '조건부'란 생성자가 입력 이미지와 연관된 타겟 이미지를 생성하도록 훈련된다는 의미입니다.
이는 생성자가 단순히 무작위 이미지를 생성하는 것이 아니라, 특정 입력 이미지에 기반하여 연관된 출력 이미지를 생성한다는 것을 의미합니다.
2. 응용 분야의 다양성:
Pix2Pix는 다양한 이미지 변환 작업에 적용될 수 있습니다. 예를 들어, 건축도면을 사실적인 건물 이미지로 변환하거나, 낮에 찍힌 사진을 밤의 장면으로 변환하는 등의 작업에 사용됩니다.
3. 픽셀 단위의 변환:
이 모델은 픽셀 단위의 변환을 수행합니다. 즉, 입력 이미지의 각 픽셀에 해당하는 출력 이미지의 픽셀을 생성합니다.
4. U-Net 아키텍처와 PatchGAN:
Pix2Pix에서는 생성자로 U-Net 아키텍처를, 판별자로는 PatchGAN을 사용합니다.
U-Net은 이미지의 전반적인 구조와 세부적인 특징을 모두 고려하도록 설계되어 있습니다.
PatchGAN 판별자는 이미지의 작은 부분들을 독립적으로 평가하여, 생성된 이미지가 얼마나 사실적인지를 판별합니다
[참고자료]
[논문 리뷰] Super Resolution - SRCNN (ECCV 2014) (tistory.com)
[논문 리뷰] Super Resolution - SRCNN (ECCV 2014)
다음 학기부터 석사 생활을 시작하게 되었는데, 현재는 연구실에 매일 출근하면서 관심 분야의 논문을 읽어보고 있습니다. 요즘은 Super Resolution(SR), 초해상화에 대해 공부하고 있습니다. 이번 게
mole-starseeker.tistory.com
'Technology' 카테고리의 다른 글
6wk_Self Supervised Learning (0) | 2024.04.13 |
---|---|
5wk_Semi/Weakly Supervised Learning (0) | 2024.04.06 |
4wk_Style Transfer (0) | 2024.03.30 |
3wk_Human Pose Estimation (HPE) (0) | 2024.03.23 |
3wk_Instance Segmentation (0) | 2024.03.21 |