본문 바로가기
딥러닝 with Python

[딥러닝 with 파이썬] 픽셀셔플 / Pixel Shuffle

by CodeCrafter 2023. 10. 4.
반응형

 

이번에 알아볼 것은 픽셀셔플(Pixel Shuffle) 입니다.

 

픽셀셔플이란, 초해상화(Super Resolution)에 사용되는 기법으로 저해상도 이미지를 고해상도 이미지로 변환하는데 사용되는데요.

 

Super Resolution GAN 등을 이해하기 위한 기본개념인, 픽셀 셔플에 대해서 알아보도록 하겠습니다. 

 

 

 

1. 픽셀셔플(Pixel Shuffle)이란?

- 픽셀 셔플은 저해상도 이미지의 픽셀을 임의로 재배열하여 고해상도 이미지를 생성하는 방법을 말합니다.

* 이를 시각화 해보면 아래와 같습니다.

 

 

- 픽셀이 임의로 재배열되면 저해상도 이미지의 정보가 고해상도 이미지로 확산되어 더 사실적인 이미지를 생성할 수 있습니다. 

 

- 픽셀 셔플의 구현방법은 아래와 같습니다. (위 그림과 같이 보시면 이해가 편합니다)

 1) 저해상도 이미지의 픽셀을 행렬로 변환

 2) 행렬의 행과 열을 임의로 재배열

 3) 재배열된 행렬을 고해상도 이미지로 변환

 

- 이를 활용해 픽셀 셔플이 고해상도 이미지를 출력하는 과정은 아래와 같습니다.

 1) 저해상도 이미지 입력 : 픽셀 셔플의 입력은 저해상도 이미지입니다. 이 이미지는 고해상도 이미지보다 낮은 해상도를 가집니다.

 2) 신경망 아키텍처 : 저해상도 이미지를 입력을 받는 CNN 기반의 신경망 아키텍처가 사용됩니다. 이 신경망은 입력 이미지를 고해상도로 업샘플링하고 세부적인 픽셀 정보를 예측하기 위한 학습이 진행됩니다.

 3) 픽셀 셔플 계층 : 이 단계에서는 업샘플링된 저해상도 이미지를 픽셀 셔플 계층을 사용하여 고해상도 이미지로 변환합니다. 픽셀 셔플은 픽셀 값을 재배치하고 보간(interpolation)을 통해 고해상도 이미지를 생성합니다.

 4) 고해상도 이미지 출력 : 픽셀 셔플 계층을 통과한 결과 고해상도 이미지가 출력됩니다.

 

 

2. 픽셀 셔플의 활용

- 픽셀 셔플은 다양한 방식으로 활용되고 있으며 그 중 이미지 업샘플링 작업에서 정보 손실을 최소화하고 고해상도 이미지의 디테일을 복원하는데 활발히 사용되고 있습니다.

 

- 이 기술은 슈퍼 해상도(Super Resolution), 이미지 복원, 이미지 생성 등 다양한 컴퓨터 비전 작업에 사용되고 있습니다.

 

* 화질 개선의 예시

 

반응형

댓글