HyperAI초신경

초고해상도 리더 알고리즘 ESRGAN을 사용하여 이미지 향상 모델을 학습합니다.

4년 전
대중 과학
Yang Bai
特色图像

초고해상도 기술은 낮은 해상도의 이미지나 비디오를 고해상도로 변환하고 손실된 세부 정보(즉, 고주파 정보)를 복원하거나 보완하는 데 종종 필요합니다.

저해상도 이미지의 사용 수에 따라초고해상도 기술은 단일 이미지 초고해상도(SISR)와 다중 이미지 초고해상도(MISR)로 나눌 수 있습니다.

네티즌, AI 기술 활용해 영상에 색칠하고 프레임 삽입,1920년대 베이징 시민들의 생활상을 복원했습니다.

SISR은 저해상도 이미지를 사용합니다.이미지 크기를 늘리거나 픽셀을 늘리는 효과를 얻으려면,이렇게 하여 고해상도의 이미지가 얻어집니다.

MISR은 동일한 장면의 여러 저해상도 이미지를 사용합니다.다양한 세부 정보를 얻어 하나 이상의 고해상도 이미지를 합성합니다. MISR의 출력은 단일 이미지이거나 일련의 이미지(즉, 비디오)가 될 수 있습니다.

초고해상도를 위한 3가지 마법 무기: 보간, 재구성, 학습

이미지 초고해상도 방법은 보간 기반, 재구성 기반, 학습 기반 방법의 세 가지 범주로 나눌 수 있습니다.

  방법 1: 기반보간 

보간은 이미지를 확대하여 틈새를 찾는 과정입니다.해당 픽셀 값을 채우세요.이렇게 하면 이미지 내용을 복원하고 이미지 해상도를 향상시킬 수 있습니다.

일반적으로 사용되는 보간 방법에는 최근접 이웃 보간, 선형 보간, 쌍선형 보간 및 쌍삼차 보간이 있습니다.

최근접 이웃 보간

최근접 이웃 보간법은 구현하기 가장 간단하고, 가장 단순하며, 계산량이 가장 적습니다.가장 가까운 픽셀의 픽셀 값을 직접 복사하여 채웁니다.하지만 바로 옆의 픽셀을 복사하는 것의 가장 큰 특징은 효과가 약하고, 블로킹 효과가 뚜렷하다는 것입니다.

왼쪽 이미지의 최근접 이웃 보간 후,오른쪽의 결과 이미지는 뚜렷하게 톱니 모양이나 모자이크 효과가 나타납니다.

선형 보간

선형 보간  한 방향으로 보간하는 것입니다.1차원 데이터의 경우에만 방정식은 단변수 다항식입니다. 즉, 변수가 하나뿐입니다.

선형 보간 원리의 개략도,좌표 (x0, y0) 및 (x1, y1)이 주어지고, 여기서 x는 x0과 x1 사이의 알려진 값일 때 y를 구하십시오.

쌍선형 보간

선형 보간법은 1차원 데이터에 대한 선형 보간법과 유사합니다.차이점은 쌍선형 보간이 2차원 이미지로 확장되어 X와 Y 방향으로 보간해야 한다는 것입니다.

이중선형 보간 연산 과정은 최근접 이웃 보간보다 약간 더 복잡하지만, 효과가 더 부드러워 보간된 이미지의 일부 세부 사항이 흐릿하게 보일 수도 있습니다.

바이큐빅 보간

바이큐빅 보간도 마찬가지로,3개 변수 함수의 보간.이중입방 보간은 더 복잡하고 출력되는 이미지 모서리는 이중선형 보간보다 더 매끄럽고 정확하지만 가장 느립니다.

  방법 2: 재구성 기반 

재구성을 기반으로 한 초고해상도 복원 방법은 동일한 장면의 저해상도 이미지를 여러 개 사용하는 것입니다.공간에서의 서브픽셀 정밀도 정렬,  고해상도와 저해상도 영상 사이의 동작 오프셋을 구하고, 관측 모델에서 공간적 동작 매개변수를 구성하여 고해상도 영상을 얻는 과정입니다.

원본 고해상도 이미지(왼쪽),서브픽셀 이동 후 얻은 이미지 시퀀스(오른쪽)

재구성 기반 초고해상도 방법의 핵심 아이디어는 다음과 같습니다.이는 공간적 해상도를 위해 시간적 대역폭(동일한 장면의 다중 프레임 이미지 시퀀스를 얻음)을 사용하는 것입니다.시간 해상도를 공간 해상도로 변환합니다.

현재 초고해상도 재구성 방법은 주파수 영역 방법과 공간 영역 방법의 두 가지 범주로 나눌 수 있습니다.

주파수 영역 방법은 주파수 영역에서 이미지 보간 문제를 해결합니다. 그 관찰 모델은 푸리에 변환의 이동 특성에 기초하고 있습니다.이론이 간단하고, 계산 복잡도가 낮으며, 병렬 처리를 구현하기 쉽습니다.

공간적 방법의 선형 공간 관찰 모델에는 전역적, 국소적 동작, 광학적 흐림, 프레임 내 동작 흐림 등이 포함됩니다.대표적인 방법으로는 비균일 보간법, 반복적 역투영법, 최대 사후 확률법(실제 응용 분야와 과학 연구에서 가장 흔히 사용되는 방법), 볼록 집합 투영법 등이 있습니다.

  방법 3: 학습 기반 

학습 기반 초고해상도 방식은 신경망을 통해 저해상도 영상에서 고해상도 영상으로의 엔드투엔드 매핑 함수를 직접 학습하는 것을 말합니다.모델이 학습한 기존 지식을 사용하여 이미지의 고주파 세부 정보를 얻습니다.이로써 더 나은 이미지 복원 효과를 얻을 수 있습니다.

얕은 학습을 기반으로 한 알고리즘 단계는 다음과 같습니다.특징 추출 -> 학습 -> 재구성. 대표적인 방법으로는 다음이 있습니다: 예제 기반 방법, 이웃 임베딩 방법, 지원 벡터 회귀 방법, 희소 표현 방법 등.

그 중 예제 기반 방법은 학습을 기반으로 한 최초의 단일 이미지 초고해상도 알고리즘입니다.프리먼이 처음 제안했습니다. 머신 러닝 학습 데이터 세트를 사용하여 저해상도와 고해상도 간의 관계를 학습한 다음 초고해상도 재구성을 달성합니다.

딥러닝을 기반으로 한 알고리즘 단계는 다음과 같습니다.특징 추출 -> 비선형 매핑 -> 이미지 재구성

딥러닝을 기반으로 한 이미지 초고해상도 재구성 방법에는 SRCNN, FSRCNN, ESPCN, VDSR, SRGAN, ESRGAN 등이 있습니다.여기서는 SRCNN, SRGAN, ESRGAN이라는 세 가지 알고리즘에 초점을 맞춥니다.

SRCNN

SRCNN은 초고해상도 재구성을 위해 딥러닝을 사용하는 선구적인 작품입니다. 네트워크 구조는 매우 간단합니다.여기에는 3개의 합성곱 계층만 포함됩니다.

SRCNN 네트워크 구조,세 가지 알고리즘 단계는 다음과 같습니다. 특징 추출, 비선형 매핑, 이미지 재구성

구현방법이 매우 정교하다: 저해상도 이미지를 입력하고, 바이큐빅 보간법을 사용하여 이미지를 목표 크기로 확대한 다음, 3층 합성곱 신경망을 사용하여 저해상도 이미지와 고해상도 이미지 간의 비선형 매핑을 맞춘 후, 마지막으로 재구성된 고해상도 이미지를 출력합니다.

이점:네트워크 구조는 간단합니다(3개의 합성곱 계층만 사용됨). 이 프레임워크는 매개변수 선택에 있어서 유연하며 사용자 정의를 지원합니다.

결점: 단일 스케일 인자에 대해서만 학습이 수행되고, 데이터 양이 변경되면 모델을 다시 학습해야 합니다. 특징 추출에는 단 하나의 합성곱 계층만 사용되므로 상대적으로 제한적이며 세부 정보가 완전히 표현되지 않습니다. 이미지를 4배 이상 확대하면 결과가 너무 매끄럽고 비현실적입니다.

스르간

SRGAN은 사실감을 유지하면서 이미지를 4배까지 확대할 수 있는 최초의 프레임워크입니다.연구자들은 적대적 손실과 내용 손실을 포함하는 지각적 손실 함수의 개념을 제안했습니다.

SRGAN의 생성기와 판별기의 네트워크 구조,모든 합성곱 계층은 해당 합성곱 커널 크기 k, 피처 맵 수 n, 단계 크기 s를 갖습니다.

적대적 손실은 판별기 네트워크를 사용하여 출력 이미지와 원본 이미지 간의 진위성 차이를 판별합니다. 콘텐츠 손실은 픽셀 공간 유사성보다는 지각적 유사성으로 인해 발생합니다.

지각 손실 함수의 도입,이를 통해 SRGAN은 이미지 초고해상도 재구성을 수행할 때 단일 이미지에 대한 실제 텍스처를 생성하고 손실된 세부 정보를 보완할 수 있습니다.

에스르간 

ESRGAN은 SRGAN을 기반으로 합니다.네트워크 구조, 적대적 손실, 지각적 손실이 더욱 개선되었습니다.초고해상도 처리를 위한 향상된 이미지 품질. 모델 개선 사항에는 다음 세 가지 측면이 포함됩니다.

 1   용량이 더 크고 학습이 쉬운 Residual-in-Residual Dense Block(RRDB)을 도입하여 네트워크 구조를 개선하고, Batch Normalization(BN) 계층을 삭제하고, 잔차 스케일링과 더 작은 초기화를 사용하여 딥 네트워크의 학습을 개선합니다.

 2   RaGAN을 사용하여 판별기를 개선하고 절대값이 아닌 고해상도 이미지와 원본 이미지 간의 상대적 진위성을 예측함으로써 생성기가 원본 이미지의 더욱 사실적인 텍스처 세부 사항을 복원할 수 있습니다.

 3   이전 SRGAN에서 활성화 후에 수행되는 VGG 특징을 활성화 전에 수행하도록 변경하여 지각적 손실을 개선하고, 이를 통해 출력 이미지의 가장자리 선명도와 질감 사실감을 향상시킵니다.

ESRGAN이 출력한 이미지와 다른 방법을 비교한 모습(오른쪽 하단),더욱 자연스러운 질감과 더 나은 디테일

SRGAN과 비교했을 때,ESRGAN은 더 나은 품질과 더욱 사실적이고 자연스러운 질감의 이미지를 출력합니다.PIRM2018-SR 챌린지에서 1위를 차지했습니다. 해당 코드는 github.com/xinntao/ESRGAN에서 찾을 수 있습니다.

튜토리얼: ESRGAN을 활용한 이미지 향상

이 튜토리얼에서는 TensorFlow Hub에서 ESRGAN 알고리즘을 사용하여 이미지 향상을 수행하는 방법을 보여줍니다. ESRGAN의 출력은 아래와 같습니다.

초고해상도 재구성 후 원본 이미지(왼쪽)와 ESRGAN 출력(오른쪽) 비교,ESRGAN은 선명도와 세부 처리에 탁월합니다.

ESRGAN으로 빠른 시작


오픈소스 계약:아파치 라이선스 2.0

설치 환경:파이썬 3.6, 텐서플로우 2.3.1

사용 설명서:이 모델은 DIV2K 데이터 세트(바이큐빅 다운샘플링 이미지)의 128 x 128 이미지로 학습되었습니다.

메모:튜토리얼을 실행하려면 "Using ESRGAN for Image Super-Resolution Reconstruction.ipynb"를 사용하고 셀을 순서대로 실행하세요. 디렉토리의 모델 폴더에는 모델 파일이 포함되어 있으며 esrgan-tf2_1.tar.gz 파일은 모델 압축 패키지입니다(이 튜토리얼에서는 압축 패키지를 사용하지 않습니다).

전체 튜토리얼에 접속하세요

환경을 준비하세요 

도우미 함수 정의

경로에서 로드된 이미지에 대해 초고해상도 작업을 수행합니다.

출력 크기를 나란히 비교하세요

전체 튜토리얼에 접속하세요

  OpenBayes 소개

OpenBayes는 중국을 대표하는 머신 인텔리전스 연구 기관입니다.컴퓨팅 파워 컨테이너, 자동 모델링, 자동 매개변수 조정 등 AI 개발과 관련된 다양한 기본 서비스를 제공합니다.

동시에 OpenBayes는 데이터 세트, 튜토리얼, 모델 등 많은 대중적인 공공 리소스도 출시했습니다.개발자가 빠르게 학습하고 이상적인 머신 러닝 모델을 만들 수 있도록 해줍니다.

지금 방문하세요 오픈베이즈닷컴 그리고 등록하다,주당 600분의 vGPU 사용 가능,그리고 주당 300분의 무료 CPU 컴퓨팅 시간

지금 당장 ESRGAN으로 초고해상도 이미지 향상 모델을 훈련해보세요!

전체 튜토리얼 보기