KR102467092B1 - 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템 - Google Patents

복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템 Download PDF

Info

Publication number
KR102467092B1
KR102467092B1 KR1020210165814A KR20210165814A KR102467092B1 KR 102467092 B1 KR102467092 B1 KR 102467092B1 KR 1020210165814 A KR1020210165814 A KR 1020210165814A KR 20210165814 A KR20210165814 A KR 20210165814A KR 102467092 B1 KR102467092 B1 KR 102467092B1
Authority
KR
South Korea
Prior art keywords
resolution image
low
noise
resolution
image
Prior art date
Application number
KR1020210165814A
Other languages
English (en)
Inventor
김시중
김주한
이웅원
Original Assignee
블루닷 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 블루닷 주식회사 filed Critical 블루닷 주식회사
Priority to KR1020210165814A priority Critical patent/KR102467092B1/ko
Application granted granted Critical
Publication of KR102467092B1 publication Critical patent/KR102467092B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Image Processing (AREA)

Abstract

복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법이 개시된다. 상기 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법은 프로세서는 압축된 저해상도 이미지를 수신하는 단계, 상기 프로세서는 상기 압축된 저해상도 이미지를 디코딩하는 단계, 상기 프로세서는 제1신경망을 이용하여 상기 디코딩된 저해상도 이미지의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지를 생성하는 단계, 상기 디코딩된 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 상기 프로세서는 상기 디코딩된 저해상도 이미지를 제2신경망을 이용하여 디코딩된 고해상도 이미지로 변환하며, 상기 차이가 상기 임의의 값보다 클 때, 상기 프로세서는 상기 노이즈가 제거된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 디코딩된 고해상도 이미지로 변환하는 단계, 상기 프로세서는 상기 디코딩된 고해상도 이미지를 인코딩하는 단계, 및 상기 프로세서는 상기 인코딩된 고해상도 이미지를 전송하는 단계를 포함한다.

Description

복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템 {Super-resolution image processing method and system robust coding noise using multiple neural networks}
본 발명은 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템에 관한 것으로, 상세하게는 저해상도 이미지를 압축하는 과정에서 생성되는 코딩 노이즈의 레벨에 따라 슈퍼 레졸루션 이미지를 생성할 수 있는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템에 관한 것이다.
이미지 업스케일링(upscaling), 또는 이미지 슈퍼 레졸루션(super-resolution)은 저해상도 이미지((low resolution image)로부터 고해상도 이미지(high resolution image)를 생성하기 위한 기술을 의미한다.
이미지 업스케일링 동작은 압축된 저해상도 이미지를 디코딩한 저해상도 이미지에 대해서도 수행될 수 있다. 이미지를 압축하는 과정에서 노이즈가 생성될 수 있다. 상기 노이즈는 코딩 노이즈로 정의된다. 상기 코딩 노이즈가 제거되지 않은 저해상도 이미지에 대해 이미지 업스케일링 동작이 수행될 때, 코딩 노이즈는 아티팩트(artifacts)가 될 수 있다. 즉, 변환된 고해상도 이미지에서 코딩 노이즈는 눈에 뛸 수 있다.
따라서 코딩 노이즈를 포함하는 저해상도 이미지에 대해 이미지 업스케일링 동작이 수행될 때, 코딩 노이즈를 제거하고 고해상도 이미지를 생성할 수 있는 새로운 방법이 요구된다. 이때, 저해상도 이미지에 포함된 텍스쳐(texture)도 같이 제거되지 않는 방법이 요구된다.
한국 등록특허공보 제10-1996730호(2019.06.28.)
본 발명이 이루고자 하는 기술적인 과제는 코딩 노이즈의 레벨에 따라 고해상도 이미지를 생성할 수 있는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법은 프로세서는 압축된 저해상도 이미지를 수신하는 단계, 상기 프로세서는 상기 압축된 저해상도 이미지를 디코딩하는 단계, 상기 프로세서는 제1신경망을 이용하여 상기 디코딩된 저해상도 이미지의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지를 생성하는 단계, 상기 프로세서는 상기 디코딩된 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨에 따라 상기 디코딩된 저해상도 이미지, 또는 상기 노이즈가 제거된 저해상도 이미지를 제2신경망을 이용하여 디코딩된 고해상도 이미지로 변환하는 단계, 상기 프로세서는 상기 디코딩된 고해상도 이미지를 인코딩하는 단계, 및 상기 프로세서는 상기 인코딩된 고해상도 이미지를 전송하는 단계를 포함한다.
상기 디코딩된 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 상기 프로세서는 상기 디코딩된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 디코딩된 고해상도 이미지로 변환한다.
상기 차이가 상기 임의의 값보다 클 때, 상기 프로세서는 상기 노이즈가 제거된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 디코딩된 고해상도 이미지로 변환한다.
상기 디코딩된 저해상도 이미지의 노이즈 레벨은 제3신경망을 이용하여 생성된다.
상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨은 제4신경망을 이용하여 생성된다.
실시 예에 따라 상기 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법은 상기 프로세서는 상기 노이즈가 제거된 저해상도 이미지와 손실없는 저해상도 트레이닝 이미지 사이의 이미지 유사도를 제1점수로 계산하는 단계, 상기 프로세서는 상기 디코딩된 고해상도 이미지와 높은 해상도 트레이닝 이미지 사이의 이미지 유사도를 제2점수로 계산하는 단계, 및 상기 제1점수가 상기 제2점수보다 클 때, 상기 프로세서는 상기 제2신경망보다 상기 제1신경망을 더 학습시키는 단계를 포함할 수 있다.
상기 노이즈가 제거된 저해상도 이미지와 상기 손실없는 저해상도 트레이닝 이미지가 유사할수록 상기 제1점수는 낮다.
상기 디코딩된 고해상도 이미지와 상기 높은 해상도 트레이닝 이미지가 유사할수록 상기 제2점수는 낮다.
본 발명의 실시 예에 따른 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 시스템은 이미지 처리 장치를 포함한다.
상기 이미지 처리 장치는 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 제1신경망을 이용하여 저해상도 이미지의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지를 생성하며, 상기 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨에 따라 상기 저해상도 이미지, 또는 상기 노이즈가 제거된 저해상도 이미지를 제2신경망을 이용하여 고해상도 이미지로 변환하도록 구현된다.
상기 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 상기 명령들은 상기 저해상도 이미지를 상기 제2신경망을 이용하여 상기 고해상도 이미지로 변환하도록 구현된다.
상기 차이가 상기 임의의 값보다 클 때, 상기 명령들은 상기 노이즈가 제거된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 고해상도 이미지로 변환하도록 구현된다.
상기 저해상도 이미지의 노이즈 레벨은 제3신경망을 이용하여 생성된다.
상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨은 제4신경망을 이용하여 생성된다.
상기 명령들은 상기 노이즈가 제거된 저해상도 이미지와 손실없는 저해상도 트레이닝 이미지 사이의 이미지 유사도를 제1점수로 계산하며, 상기 고해상도 이미지와 높은 해상도 트레이닝 이미지 사이의 이미지 유사도를 제2점수로 계산하며, 상기 제1점수가 상기 제2점수보다 클 때, 상기 제2신경망보다 상기 제1신경망을 더 학습시키도록 구현될 수 있다.
상기 노이즈가 제거된 저해상도 이미지와 상기 손실없는 저해상도 트레이닝 이미지가 유사할수록 상기 제1점수는 낮으며, 상기 고해상도 이미지와 상기 높은 해상도 트레이닝 이미지가 유사할수록 상기 제2점수는 낮다.
본 발명의 실시 예에 따른 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템은 코딩 노이즈 레벨에 따라 선택적으로 저해상도 이미지와 코딩 노이즈가 제거된 저해상도 이미지 중 어느 하나를 고해상도 이미지로 변환함으로써 텍스쳐(texture)도 같이 제거되지 않도록 하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 신경망 모듈의 훈련 동작을 설명하기 위한 네트워크의 블록도를 나타낸다.
도 3은 도 2에 도시된 생성기 네트워크의 상세한 블록도를 나타낸다.
도 4는 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법의 효과를 설명하기 위한 이미지들을 나타낸다.
도 5는 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법의 흐름도를 나타낸다.
도 6은 본 발명의 다른 실시 예에 따른 신경망 모듈의 훈련 동작을 설명하기 위한 네트워크의 블록도를 나타낸다.
도 7은 본 발명의 다른 실시 예에 따른 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법의 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 시스템의 블록도를 나타낸다.
도 1을 참고하면, 신경망을 이용한 슈퍼 레졸루션 이미지 처리 시스템(100)은 사용자가 전송한 저해상도 이미지를 고해상도 이미지로 변환하고 변환된 고해상도 이미지를 상기 사용자로 전송하는 시스템을 의미한다.
신경망을 이용한 슈퍼 레졸루션 이미지 처리 시스템(100)은 이미지 처리 장치(10)와 컴퓨팅 장치(20)를 포함한다. 이미지 처리 장치(10)와 컴퓨팅 장치(20)는 네트워크(101)를 통해 서로 통신한다.
이미지 처리 장치(10)는 컴퓨팅 장치, 또는 서버 등 다양한 용어들로 호칭될 수 있다. 이미지 처리 장치(10)는 컴퓨팅 장치(20)로부터 압축된 저해상도 이미지(CLR)를 수신하고, 압축된 저해상도 이미지(CLR)를 인코딩된 고해상도 이미지(ESR)로 변환하여 컴퓨팅 장치(20)로 출력한다. 압축된 저해상도 이미지(CLR)에서 인코딩된 고해상도 이미지(ESR)로의 변환 동작은 업스케일링 동작으로 정의될 수 있다. 뒤에서 이미지 처리 장치(10)의 자세한 동작들에 대해 설명될 것이다.
컴퓨팅 장치(20)는 노트북, 태블릿 PC, 또는 데스크탑과 같은 전자 장치를 의미한다. 실시 예에 따라 컴퓨팅 장치(20)는 클라이언트로 호칭될 수 있다. 컴퓨팅 장치(20)는 저해상도 이미지로부터 고해상도 이미지를 생성하기 위해 이용된다. 컴퓨팅 장치(20)는 저해상도 이미지로부터 고해상도 이미지를 얻기 위해 사용자의 제어 하에 저해상도 이미지를 압축하여 압축된 저해상도 이미지(CLR)를 이미지 처리 장치(10)로 전송한다. 저해상도 이미지를 압축하는 과정에서 노이즈가 생성될 수 있다. 상기 노이즈는 코딩 노이즈로 정의된다. 저해상도 이미지를 고해상도 이미지로 변환하는 과정에서 상기 코딩 노이즈는 제거되어야 한다. 만약, 코딩 노이즈의 제거 없이 상기 저해상도 이미지를 고해상도 이미지로 변환할 때, 고해상도 이미지의 퀄리티는 낮을 것이다. 즉, 코딩 노이즈는 아티팩트가 될 수 있다. 본 발명에서는 압축된 저해상도 이미지를 고해상도 이미지로 업스케일링하는 과정에서 저해상도 이미지에 포함된 코딩 노이즈를 제거하는 방법들이 제안된다.
이미지 처리 장치(10)는 프로세서(11)와 메모리(13)를 포함한다. 프로세서(11)는 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법들과 관련된 명령들을 실행한다. 메모리(13)는 상기 명령들을 포함한다. 메모리(13)는 디코딩 모듈(15), 신경망 모듈(17), 및 인코딩 모듈(19)을 포함한다. 디코딩 모듈(15), 신경망 모듈(17), 및 인코딩 모듈(19)은 프로세서(11)에 의해 실행되는 명령들을 의미한다. 이하, 디코딩 모듈(15), 신경망 모듈(17), 및 인코딩 모듈(19)의 동작들은 프로세서(11)에 의해 수행되는 것으로 이해될 수 있다.
디코딩 모듈(15)은 압축된 저해상도 이미지(CLR)를 디코딩한다. 즉, 디코딩 모듈(15)은 압축된 저해상도 이미지(CLR)를 수신하여 디코딩된 저해상도 이미지(LR)를 출력한다.
신경망 모듈(17)은 한 쌍의 신경망들을 이용하여 디코딩된 저해상도 이미지(LR)를 디코딩된 고해상도 이미지(SR)로 변환한다.
도 2는 도 1에 도시된 신경망 모듈의 훈련 동작을 설명하기 위한 네트워크의 블록도를 나타낸다.
도 1과 도 2를 참고하면, 디코딩된 저해상도 이미지(LR)를 디코딩된 고해상도 이미지(SR)로 변환하기 위해 한 쌍의 신경망들(300, 400)이 먼저 훈련되어야 한다. 네트워크(200)의 동작들은 신경망 모듈(17)에 의해 수행된다.
도 2에 도시된 네트워크(200)는 GAN(Generative adversarial network)를 나타낸다. 네트워크(200)은 생성기 네트워크(generator network, 500)와 판별자 네트워크(discriminator network, 550)를 포함한다.
생성기 네트워크(500)는 생성기 네트워크(500)의 손실 함수가 최소가 되도록 훈련되는 것이 아니라, 판별자 네트워크(500)를 속이기 위해 훈련된다. 이는 네트워크(200)를 비지도 방법(unsupervised manner)로 학습할 수 있게 한다.
첫 번째 스텝에서 생성기 네트워크(500)가 훈련되고, 두 번째 스텝에서 판별자 네트워크(550)가 훈련된다. 상기 첫 번째 스텝과 상기 두 번째 스텝은 반복적으로 수행된다.
생성기 네트워크(500)는 코딩 노이즈를 포함하는 디코딩된 저해상도 이미지(LR)를 수신하여 디코딩된 고해상도 이미지(SR)가 출력되도록 훈련된다.
판별자 네트워크(550)는 높은 해상도 트레이닝 이미지(HR)와 생성기 네트워크(500)로부터 출력되는 디코딩된 고해상도 이미지(SR)를 수신하여 높은 해상도 트레닝 이미지(HR)의 분포와 디코딩된 고해상도 이미지(SR)의 분포의 차이인 바서스타인 손실(Wassersein loss, EM)을 출력한다. 바서스타인 손실(EM)에서 따라 생성기 네트워크(500)와 판별자 네트워크(550)가 훈련될 수 있다. 즉, 생성기 네트워크(500)와 판별자 네트워크(550)의 파라미터들(가중치들)이 조정될 수 있다. 높은 해상도 트레이닝 이미지(HR)와 고해상도 이미지(SR)는 같은 해상도를 가질 수 있다. 판별자 네트워크(550)는 컨볼루션 레이어들과 활성화 레이어들을 포함한다.
생성기 네트워크(500)는 한 쌍의 신경망들(300, 400)을 포함한다. 한 쌍의 신경망들(300, 400)은 순차적으로 연결된다.
도 3은 도 2에 도시된 생성기 네트워크의 상세한 블록도를 나타낸다.
도 1 내지 도 3을 참고하면, 제1신경망(300)은 코딩 노이즈를 포함하는 상기 디코딩된 저해상도 이미지(LR)를 수신하여 노이즈가 제거된 저해상도 이미지(DLR)를 출력한다. 제1신경망(300)은 저해상도 이미지(LR)에서 코딩 노이즈를 제거하기 위해 이용된다. 제1신경망(300)은 코딩 노이즈 제거 네트워크(coding noise reduction network)로 호칭될 수 있다.
제1신경망(300)은 코딩 노이즈를 포함하는 상기 디코딩된 저해상도 이미지(LR)를 수신하여 노이즈가 제거된 저해상도 이미지(DLR)를 출력하기 위해 복수의 레이어들(310-1~310-N; N은 자연수), 셔플 레이어(320), 및 가산기(330)를 포함한다. 복수의 레이어들(310-1~310-N)은 컨볼루션 레이어, 또는 활성화(activation) 레이어이다. 상기 활성화 레이어는 ReLU(Rectified Linear Unit) 활성화 함수일 수 있다. 복수의 레이어들(310-1~310-N)의 일부는 잔여 블록(residual block)을 형성한다. 실시 예에 따라 복수의 레이어들(310-1~310-N)의 수는 다양할 수 있다.
실시 예에 따라 제1신경망(300)은 (H, W, C) 형태로 표현되는 저해상도 이미지(LR)를 (H/2, W/2, C*2*2) 형태로 변환하는 스페이스 투 뎁스(Space to depth) 레이어(305)를 더 포함할 수 있다. 스페이스 투 뎁스 레이어(305)는 제1신경망(300)의 처리 속도 향상을 위해 이용된다. 상기 H는 이미지의 높이, 상기 W은 이미지의 폭, 상기 C는 채널을 나타낸다.
셔플 레이어(320)는 하나의 채널을 포함하는 이미지를 생성하기 위해 복수의 채널들을 포함하는 텐서(tensor)를 섞는다.
가산기(330)는 셔플 레이어(320)로부터 출력되는 이미지와 상기 디코딩된 저해상도 이미지(LR)를 가산하여 노이즈가 제거된 저해상도 이미지(DLR)를 출력한다.
제1손실 함수(340)은 노이즈가 제거된 저해상도 이미지(DLR)과 손실없는 저해상도 트레이닝 이미지(LLR)를 수신하여 손실 함수를 계산한다. 상기 손실 함수는 노이즈가 제거된 저해상도 이미지(DLR)과 손실없는 저해상도 트레이닝 이미지(LLR)의 손실오차제곱(Mean Square Error)으로 계산될 수 있다. 손실없는 저해상도 트레이닝 이미지(LLR)는 높은 해상도 트레이닝 이미지(HR)에서 해상도가 감소된 이미지를 의미한다. 손실없는 저해상도 트레이닝 이미지(LLR)와 높은 해상도 트레이닝 이미지(HR)는 신경망의 훈련을 위해 사용되는 이미지들이다.
제2신경망(400)은 상기 노이즈가 제거된 저해상도 이미지(DLR)를 수신하여 상기 디코딩된 고해상도 이미지(SR)를 출력한다. 제2신경망(400)은 저해상도 이미지(DLR)에서 고해상도 이미지(SR)로 변환하기 위해 이용된다. 제2신경망(400)은 비디오 슈퍼 레졸루션 네트워크(video super resolution network)라고 호칭될 수 있다.
제2신경망(400)은 상기 노이즈가 제거된 저해상도 이미지(DLR)를 수신하여 상기 디코딩된 고해상도 이미지(SR)를 출력하기 위해 연결 레이어(405), 복수의 레이어들(410-1~410-M; M은 자연수), 셔플 레이어(420), 업스케일링 레이어(425) 및 가산기(430)를 포함한다.
연결 레이어(405)는 제2신경망(400)을 통해 출력된 이전 프레임의 고해상도 이미지(PSR)와 제1신경망(300)으로부터 출력된 노이즈가 제거된 저해상도 이미지(DLR)를 연결(concatenate)한다. 실시 예에 따라 제2신경망(400)은 스페이스 투 뎁스 레이어(403)를 더 포함할 수 있다. 이전 프레임의 고해상도 이미지(PSR)는 스페이스 투 뎁스 레이어(403)로 입력될 수 있다. 제2신경망(400)을 통해 출력된 이전 프레임의 고해상도 이미지(PSR)는 (H*scale factor, W*scale factor, C)로 표현된다. 제1신경망(300)으로부터 출력된 노이즈가 제거된 저해상도 이미지(DLR)는 (H, W, C)로 표현된다. 상기 H는 이미지의 높이, 상기 W는 이미지의 폭, 상기 C는 채널을 나타낸다. 상기 scale factor는 상수를 나타낸다. 즉, 제2신경망(400)을 통해 출력된 이전 프레임의 고해상도 이미지(PSR)와 제1신경망(300)으로부터 출력된 노이즈가 제거된 저해상도 이미지(DLR)는 서로 사이즈가 다르다. 따라서 스페이스 투 뎁스 레이어(403)를 통해 (H*scale factor, W*scale factor, C)로 표현되는 이전 프레임의 고해상도 이미지(PSR)는 (H, W, C*scale factor*scale factor)로 변경된다.
스페이스 투 뎁스 레이어(403)로부터 출력된 이미지와 노이즈가 제거된 저해상도 이미지(DLR)가 연결 레이어(405)로 입력될 수 있다. 연결 레이어(405)는 스페이스 투 뎁스 레이어(403)로부터 출력된 이미지와 노이즈가 제거된 저해상도 이미지(DLR)를 연결할 수 있다.
복수의 레이어들(410-1~410-M)은 컨볼루션 레이어, 또는 활성화(activation) 레이어이다. 상기 활성화 레이어는 ReLU(Rectified Linear Unit) 활성화 함수일 수 있다. 복수의 레이어들(410-1~410-M)의 일부는 잔여 블록(residual block)을 형성한다. 실시 예에 따라 복수의 레이어들(410-1~410-M)의 수는 다양할 수 있다.
셔플 레이어(420)는 하나의 채널을 포함하는 이미지를 생성하기 위해 복수의 채널들을 포함하는 텐서(tensor)를 섞는다.
업스케일 레이어(425)는 제1신경망(300)으로부터 출력된 노이즈가 제거된 저해상도 이미지(DLR)를 수신하여 업스케일을 수행하기 위해 바이큐빅 인터폴레이션(bicubic interpolation)을 이용한다.
가산기(430)는 셔플 레이어(420)로부터 출력되는 이미지와 업스케일 레이어(425)로부터 출력된 이미지를 가산하여 상기 디코딩된 고해상도 이미지(SR)를 출력한다.
제2손실 함수(440)은 디코딩된 고해상도 이미지(SR)와 높은 해상도 트레이닝 이미지(HR)를 수신하여 손실 함수를 계산한다. 상기 손실 함수는 디코딩된 고해상도 이미지(SR)와 높은 해상도 트레이닝 이미지(HR)의 손실오차제곱(Mean Square Error)으로 계산될 수 있다.
실시 예에 따라 제1신경망(300)과 제2신경망(400)을 효율적으로 훈련시키기 위해 LPIPS(Learned Perceptual Image Patch Similarity) 유닛들(335, 435)이 이용될 수 있다.
제1LPIPS 유닛(335)은 제1신경망(300)에 포함된다. 제1LPIPS 유닛(335)은 노이즈가 제거된 저해상도 이미지(DLR)와 손실없는 저해상도 트레이닝 이미지(LLR) 사이의 이미지 유사도를 제1점수(a)로 계산한다. 노이즈가 제거된 저해상도 이미지(DLR)와 손실없는 저해상도 트레이닝 이미지(LLR)가 유사할수록 제1점수(a)는 낮다. 제1LPIPS 유닛(335)은 신경망으로 구현된다.
제2LPIPS 유닛(435)는 제2신경망(400)에 포함된다. 제2LPIPS 유닛(435)은 디코딩된 고해상도 이미지(SR)와 높은 해상도 트레이닝 이미지(HR) 사이의 이미지 유사도(b)를 제2점수(b)로 계산한다. 디코딩된 고해상도 이미지(SR)와 높은 해상도 트레이닝 이미지(HR)가 유사할수록 제2점수(b)는 낮다.
제1점수(a)가 제2점수(b)보다 클 때, 프로세서(11)는 제2신경망(400)보다 제1신경망(300)을 더 학습시킨다. 프로세서(11) 제1점수(a)와 제2점수(b)의 합이 1이 되도록 제1점수(a)와 제2점수(b)를 표준화(normalization)한다.
LPIPS 유닛들(335, 435)을 이용함으로써 훈련이 더 필요한 신경망을 결정할 수 있고, 훈련이 더 필요한 신경망에 대해 더 학습되도록 함으로써 보다 효율적인 훈련이 가능하다.
생성기 네트워크(500)를 훈련시키기 위해 생성기 네트워크(500)의 손실 함수가 제안된다. 프로세서(11)는 아래의 수학식 1과 같이 표현된 손실 함수를 이용하여 생성기 네트워크(500)를 훈련시킬 수 있다. 생성기 네트워크(500)의 손실 함수는 아래의 수학식으로 표현된다.
Figure 112021137139551-pat00001
상기 LossFunction은 생성기 네트워크(500)의 손실함수를, 상기 a와 상기 b는 제1점수와 제2점수를, 상기 LossFunction1은 제1신경망(300)의 제1손실 함수(340)를, 상기 LossFunction2는 제2신경망(400)의 제2손실 함수(440)를, 상기 corr1은 제1신경망(300)의 상관성을, 상기 corr2는 제2신경망(400)의 상관성을 의미한다.
상기 제1신경망(300)의 상관성은 아래의 수학식으로 정의된다.
Figure 112021137139551-pat00002
상기 corr1은 상기 제1신경망(300)의 상관성을, 상기 crosscorrelation1은 제1신경망(300)의 특징 맵의 채널들 사이의 상호 상관 관계(cross correlation)를 의미한다. 상기 maskmapc(x,y)은 아래의 수학식으로 표현된다.
Figure 112021137139551-pat00003
상기 LR은 제1신경망(300)의 입력인 디코딩된 저해상도 이미지(LR)의 픽셀 값을, 상기 gaussianblurkernel(LR)은 저해상도 이미지(LR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값을 의미한다. 즉, 프로세서(11)는 제1신경망(300)의 입력인 상기 디코딩된 저해상도 이미지(LR)의 픽셀 값과, 상기 가우시안 커널의 픽셀 값의 차이의 제1절대값을 계산한다.
디코딩된 저해상도 이미지(LR)의 영역(x,y)이 대비(cotrast)가 낮은 플랫(flat) 영역을 포함할 때, 특징들(features)의 상관성은 무시될 수 있다. 디코딩된 저해상도 이미지(LR)의 영역(x,y)이 대비(contrast)가 높은 텍스쳐(texture) 영역을 포함할 때, 특징들(features)의 상관성은 무시되어서는 안된다.
상기 수학식 3은 이미지(LR)의 영역(x,y)이 플랫 영역, 또는 텍스쳐 영역을 포함하는지 판단하기 위해 이용된다.
상기 수학식 3에서 디코딩된 저해상도 이미지(LR)의 픽셀 값과 저해상도 이미지(LR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제1문턱값보다 작을 때, 프로세서(11)는 이미지(LR)의 영역(x,y)에 플랫 영역이 포함되었다고 판단한다. 따라서 상기 수학식 3에서 디코딩된 저해상도 이미지(LR)의 픽셀 값과 저해상도 이미지(LR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제1문턱값보다 작을 때, 프로세서(11)는 상기 maskmapc(x,y)의 값으로 0을 출력한다. 프로세서(11)는 상기 제1절대값이 제1문턱값보다 작을 때, 상기 제1절대값을 0으로 설정한다. 상기 (x,y)는 이미지(LR)의 픽셀 위치를 나타낸다.
상기 수학식 3에서 디코딩된 저해상도 이미지(LR)의 픽셀 값과 저해상도 이미지(LR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제1문턱값보다 클 때, 프로세서(11)는 이미지(LR)의 영역(x,y)에 텍스쳐 영역이 포함되었다고 판단한다. 따라서 상기 수학식 3에서 디코딩된 저해상도 이미지(LR)의 픽셀 값과 저해상도 이미지(LR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제1문턱값보다 클 때, 프로세서(11)는 상기 maskmapc(x,y)의 값으로 1을 출력한다. 프로세서(11)는 상기 제1절대값이 상기 제1문턱값보다 클 때, 상기 제1절대값을 1로 설정한다. 상기 maskmapc(x,y)의 값은 0, 또는 1이다.
프로세서(11)는 제1신경망(300)의 특징 맵(FM1)의 채널들 사이의 제1상호 상관 관계(cross correlation)의 값을 계산한다. 상기 수학식 2에서 상기 crosscorrelation1은 제1신경망(300)의 특징 맵의 채널들 사이의 상호 상관 관계(cross correlation)를 나타낸다. 제1신경망(300)의 특징 맵(FM1)은 제1신경망(300)에서 셔플 레이어(320)로 입력되는 특징 맵을 의미한다. 셔플 레이어(320)로 입력되는 특징 맵(FM1)은 다른 레이어(예컨대, 310-1, 310-2, ..., 또는 310-4)로부터 출력되는 특징 맵보다 많은 특징들(features)을 포함하고 있다. 특징들(features)은 이미지에서 점(point), 에지(edge), 또는 객체를 의미한다. 특징은 (x, y, channel)으로 표현된다. 상기 x, y는 이미지에서 픽셀의 위치를 의미하며, 상기 channel은 이미지에서 채널을 의미한다. 각 채널에 포함된 특징들의 상호 상관 관계가 높을 때, 각 채널은 서로 유사한 특징들을 모두 포함할 필요가 없다. 이는 고해상도 이미지(SR)를 얻는데 비효율적이다. 따라서 각 채널에 포함된 특징들의 상호 상관 관계를 판단하기 위해 프로세서(11)는 제1신경망(300)의 특징 맵(FM1)의 채널들 사이의 제1상호 상관 관계(cross correlation)의 값을 계산한다.
제2신경망(400)의 상관성은 아래의 수학식으로 정의된다.
Figure 112021137139551-pat00004
상기 corr2은 제2신경망(400)의 상관성을, 상기 crosscorrelation2은 제2신경망(400)의 특징 맵의 채널들 사이의 상호 상관 관계(cross correlation)를 의미한다. 상기 maskmaps(x,y)은 아래의 수학식으로 표현된다.
Figure 112021137139551-pat00005
상기 DLR은 제2신경망(400)의 입력인 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값을, 상기 gaussianblurkernel(DLR)은 노이즈가 제거된 저해상도 이미지(DLR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값을 의미한다. 즉, 프로세서(11)는 제2신경망(400)의 입력인 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값과, 상기 가우시안 커널의 픽셀 값의 차이의 제2절대값을 계산한다.
노이즈가 제거된 저해상도 이미지(DLR)의 영역(x,y)이 대비(cotrast)가 낮은 플랫(flat) 영역을 포함할 때, 특징들(features)의 상관성은 무시될 수 있다. 노이즈가 제거된 저해상도 이미지(DLR)의 영역(x,y)이 대비(contrast)가 높은 텍스쳐(texture) 영역을 포함할 때, 특징들(features)의 상관성은 무시되어서는 안된다.
상기 수학식 5은 노이즈가 제거된 저해상도 이미지(DLR)의 영역(x,y)이 플랫 영역, 또는 텍스쳐 영역을 포함하는지 판단하기 위해 이용된다.
상기 수학식 5에서 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값과 노이즈가 제거된 저해상도 이미지(DLR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제2문턱값보다 작을 때, 프로세서(11)는 노이즈가 제거된 저해상도 이미지(DLR)의 영역(x,y)에 플랫 영역이 포함되었다고 판단한다. 따라서 상기 수학식 5에서 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값과 노이즈가 제거된 저해상도 이미지(DLR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제2문턱값보다 작을 때, 프로세서(11)는 상기 maskmaps(x,y)의 값으로 0을 출력한다. 프로세서(11)는 상기 제2절대값이 제2문턱값보다 작을 때, 상기 제2절대값을 0으로 설정한다. 상기 (x,y)는 이미지(LR)의 픽셀 위치를 나타낸다.
상기 수학식 5에서 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값과 노이즈가 제거된 저해상도 이미지(DLR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제2문턱값보다 클 때, 프로세서(11)는 노이즈가 제거된 저해상도 이미지(DLR)의 영역(x,y)에 텍스쳐 영역이 포함되었다고 판단한다. 따라서 상기 수학식 5에서 노이즈가 제거된 저해상도 이미지(DLR)의 픽셀 값과 노이즈가 제거된 저해상도 이미지(DLR)를 흐리게 하기 위해 사용되는 가우시안 커널의 픽셀 값의 차이가 제2문턱값보다 클 때, 프로세서(11)는 상기 maskmaps(x,y)의 값으로 1을 출력한다. 프로세서(11)는 상기 제2절대값이 상기 제2문턱값보다 클 때, 상기 제2절대값을 1로 설정한다. 상기 maskmaps(x,y)의 값은 0, 또는 1이다.
프로세서(11)는 제2신경망(400)의 특징 맵(FM2)의 채널들 사이의 제2상호 상관 관계(cross correlation)의 값을 계산한다. 상기 수학식 4에서 상기 crosscorrelation2은 제2신경망(400)의 특징 맵의 채널들 사이의 상호 상관 관계(cross correlation)를 나타낸다. 제2신경망(400)의 특징 맵(FM2)은 제2신경망(400)에서 셔플 레이어(420)로 입력되는 특징 맵을 의미한다. 셔플 레이어(420)로 입력되는 특징 맵(FM2)은 다른 레이어(예컨대, 410-1, 410-2, ..., 또는 410-4)로부터 출력되는 특징 맵보다 많은 특징들을 포함하고 있다. 유사하게 각 채널에 포함된 특징들의 상호 상관 관계가 높을 때, 각 채널은 서로 유사한 특징들을 모두 포함할 필요가 없다. 따라서 각 채널에 포함된 특징들의 상호 상관 관계를 판단하기 위해 프로세서(11)는 제2신경망(300)의 특징 맵(FM2)의 채널들 사이의 제2상호 상관 관계(cross correlation)의 값을 계산한다.
생성기 네트워크(500)는 제3신경망(500)으로 호칭될 수 있다. 제3신경망(500)은 제1신경망(300)과 제2신경망(400)을 포함한다.
제3신경망(500)의 손실 함수는 상기 수학식 1과 같이 정의된다. 즉, 제3신경망(500)의 손실 함수는 상기 제1문턱값에 따른 제1절대값과 상기 제1상호 상관 관계의 값을 곱한 값과, 상기 제2문턱값에 따른 제2절대값과 상기 제2상호 상관 관계의 값을 곱한 값에 의해 정의된다.
상기 제1문턱값에 따른 제1절대값은 상기 수학식 3에 따른 maskmapc(x,y)의 값인 0, 또는 1을 나타낸다. 상기 제1상호 상관 관계의 값은 상기 수학식 2에서 제1신경망(300)의 특징 맵의 채널들 사이의 상호 상관 관계인 crosscorrelation1을 나타낸다. 상기 제1문턱값에 따른 제1절대값과 상기 제1상호 상관 관계의 값을 곱한 값은 상기 수학식 2에서 상기 제1신경망(300)의 상관성인 상기 corr1을 나타낸다.
상기 제2문턱값에 따른 제2절대값은 상기 수학식 5에 따른 maskmaps(x,y)의 값인 0, 또는 1을 나타낸다. 상기 제2상호 상관 관계의 값은 상기 수학식 4에서 제2신경망(400)의 특징 맵의 채널들 사이의 상호 상관 관계인 crosscorrelation2을 나타낸다. 상기 제2문턱값에 따른 제2절대값과 상기 제2상호 상관 관계의 값을 곱한 값은 상기 수학식 4에서 상기 제2신경망(400)의 상관성인 상기 corr2을 나타낸다.
도 4는 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법의 효과를 설명하기 위한 이미지들을 나타낸다. 도 4의 (a)는 컴퓨팅 장치(20)에 의해 이미지 프로세싱 장치(10)로 전송되는 이미지의 일부를 나타낸다. 도 4의 (b)는 저해상도 이미지이다. 도 4의 (b)는 종래기술에 의해 저해상도 이미지에서 변환된 고해상도 이미지를 나타낸다. 도 4의 (c)는 본 발명에 따른 저해상도 이미지에서 변환된 고해상도 이미지를 나타낸다. 도 4의 (b)에 도시된 고해상도 이미지는 종래의 코딩 노이즈가 제거되지 않아 도 4의 (c)에 도시된 고해상도 이미지보다 화질이 떨어진다.
도 5는 본 발명의 실시 예에 따른 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법의 흐름도를 나타낸다.
도 1 내지 도 5를 참고하면, 프로세서(11)는 압축된 저해상도 이미지(CLR)를 수신한다(S10).
프로세서(11)는 상기 압축된 저해상도 이미지(CLR)를 디코딩한다(S20).
프로세서(11)는 한 쌍의 신경망들(50, 60)을 이용하여 상기 디코딩된 저해상도 이미지(LR)를 디코딩된 고해상도 이미지(SR)로 변환한다(S30).
프로세서(11)는 상기 디코딩된 고해상도 이미지(SR)를 인코딩한다(S40).
프로세서(11)는 상기 인코딩된 고해상도 이미지(ESR)를 네트워크(101)를 통해 컴퓨팅 장치(20)로 전송한다(S50).
도 6은 본 발명의 다른 실시 예에 따른 신경망 모듈의 훈련 동작을 설명하기 위한 네트워크의 블록도를 나타낸다.
도 6에 도시된 네트워크(600)는 GAN(Generative adversarial network)를 나타낸다. 도 6을 참고하면, 네트워크(600)는 생성기 네트워크(700)와 판별자 네트워크(770)를 포함한다. 도 6에 도시된 네트워크(600)는 도 2에 도시된 네트워크(200)와 구성 및 동작이 유사하다. 따라서 도 2에 도시된 네트워크(200)와 유사한 부분을 제외한 차이점에 대해서만 설명한다.
도 6에 도시된 생성기 네트워크(700)와 도 2에 도시된 생성기 네트워크(500)과 다르다. 도 2에 도시된 생성기 네트워크(500)는 코딩 노이즈 제거뿐만 아니라 디코딩된 저해상도 이미지(LR)에 포함된 텍스쳐(texture)도 제거될 수 있는 문제점이 발생할 수 있다.
도 6에 도시된 생성기 네트워크(700)는 이러한 문제점을 해결하기 위한 것이다. 디코딩된 저해상도 이미지(LR)에 포함된 코딩 노이즈가 높을 때, 도 6에 도시된 생성기 네트워크(700)는 디코딩된 저해상도 이미지(LR)의 노이즈를 제거하고, 노이즈가 제거된 저해상도 이미지(DLR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다. 디코딩된 저해상도 이미지(LR)에 포함된 코딩 노이즈가 낮을 때, 도 6에 도시된 생성기 네트워크(700)는 노이즈가 제거된 저해상도 이미지(DLR)가 아니라, 디코딩된 저해상도 이미지(LR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다. 따라서 도 6에 도시된 생성기 네트워크(700)는 디코딩된 저해상도 이미지(LR)에 포함된 텍스쳐(texture)가 제거되는 문제점이 해소될 수 있다.
생성기 네트워크(700)는 코딩 노이즈를 포함하는 디코딩된 저해상도 이미지(LR)를 수신하여 디코딩된 고해상도 이미지(SR)가 출력되도록 훈련된다.
판별자 네트워크(770)는 높은 해상도 트레이닝 이미지(HR)와 생성기 네트워크(700)로부터 출력되는 디코딩된 고해상도 이미지(SR)를 수신하여 높은 해상도 트레닝 이미지(HR)의 분포와 디코딩된 고해상도 이미지(SR)의 분포의 차이인 바서스타인 손실(EM)을 출력한다.
생성기 네트워크(700)는 제1신경망(710), 제2신경망(720), 제3신경망(730), 제4신경망(740), 선택 신호 생성기(750), 및 선택기(760)를 포함한다.
제1신경망(710)은 복수의 레이어들을 포함한다. 제1신경망(710)은 도 2에 도시된 제1신경망(300)과 대응된다. 따라서 제1신경망(710)은 도 3에 도시된 제1신경망(300)으로 구현될 수 있다. 실시 예에 따라 제1신경망(710)은 도 3에 도시된 제1신경망(300)을 수정하여 구현될 수 있다.
제2신경망(720)은 복수의 레이어들을 포함한다. 제2신경망(720)은 도 2에 도시된 제2신경망(400)과 대응된다. 따라서 제2신경망(720)은 도 3에 도시된 제2신경망(400)으로 구현될 수 있다. 실시 예에 따라 제2신경망(720)은 도 3에 도시된 제2신경망(400)을 수정하여 구현될 수 있다.
제1신경망(710)과 제2신경망(720)을 효율적으로 훈련시키기 위해 도 3에 도시된 LPIPS 유닛들(335, 435)이 이용될 수 있다. 앞에서 LPIPS 유닛들(335, 435)의 동작들에 대해 설명하였으므로 이에 대한 상세한 설명은 생략한다.
앞에서 설명한 수학식 1이 생성기 네트워크(700)에 적용될 수 있다. 즉, 생성기 네트워크(700)의 손실 함수는 수학식 1과 같이 표현될 수 있다.
상기 수학식 1에서 상기 LossFunction은 생성기 네트워크(700)의 손실함수를, 상기 a와 상기 b는 제1점수와 제2점수를, 상기 LossFunction1은 제1신경망(710)의 제1손실 함수를, 상기 LossFunction2는 제2신경망(720)의 제2손실 함수를, 상기 corr1은 제1신경망(710)의 상관성을, 상기 corr2는 제2신경망(720)의 상관성을 의미한다. 생성기 네트워크(700)에 상기 수학식 1이 적용됨에 따라 수학식 2 내지 수학식 5도 생성기 네트워크(700)에 적용된다.
도 2에 도시된 제1네트워크(300), 제2네트워크(400), 및 생성기 네트워크(500)의 기술적 특징은 도 6에 도시된 제1네트워크(710), 제2네트워크(720), 및 생성기 네트워크(700)의 기술적 특징에 그대로 적용된다.
제3신경망(730)과 제4신경망(740) 각각은 일반적인 CNN(convolutional neural network)으로 구현될 수 있다. 제3신경망(730)은 인코딩되기 전의 원본 이미지와, 디코딩된 저해상도 이미지(LR)를 훈련 데이터로 원본 이미지를 인코딩하는 과정에서 인코딩 비트레이트(bitrate)를 조절하면서 훈련될 수 있다. 제4신경망(740)은 인코딩되기 전의 원본 이미지와, 노이즈가 제거된 저해상도 이미지(DLR)를 훈련 데이터로 원본 데이터를 인코딩하는 과정에서 인코딩 비트레이트(bitrate)를 조절하면서 훈련될 수 있다.
프로세서(11)는 제1신경망(710)을 이용하여 디코딩된 저해상도 이미지(LR)의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지(DLR)를 생성한다.
프로세서(11)는 디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨에 따라 디코딩된 저해상도 이미지(DLR), 또는 노이즈가 제거된 저해상도 이미지(DLR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다.
선택기(760)는 선택 신호(SEL)에 따라 디코딩된 저해상도 이미지(DLR)와 노이즈가 제거된 저해상도 이미지(DLR) 중 어느 하나를 제2신경망(720)으로 출력한다. 선택기(760)는 프로그램 명령들로 구현될 수 있다. 실시 예에 따라 선택기(760)는 하드웨어로 구현될 수 있다.
디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 프로세서(11)는 디코딩된 저해상도 이미지(LR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다.
디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨의 차이가 상기 임의의 값보다 클 때, 프로세서(11)는 노이즈가 제거된 저해상도 이미지(DLR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다.
상기 디코딩된 저해상도 이미지(LR)의 노이즈 레벨은 제3신경망(730)을 이용하여 생성된다. 프로세서(11)는 디코딩된 저해상도 이미지(LR)를 제3신경망(730)을 이용하여 디코딩된 저해상도 이미지(LR)의 노이즈 레벨을 생성한다. 상기 노이즈 레벨은 0 에서 1사이의 값을 가질 수 있다.
상기 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨은 제4신경망(740)을 이용하여 생성된다. 프로세서(11)는 노이즈가 제거된 저해상도 이미지(DLR)를 제4신경망(740)을 이용하여 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨을 생성한다. 상기 노이즈 레벨은 0 에서 1사이의 값을 가질 수 있다.
선택 신호 생성기(750)는 디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨을 비교하고, 비교 결과에 따라 선택 신호(SEL)를 생성한다.
디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 프로세서(11)는 선택 신호 생성기(750)에 의해 생성된 선택 신호(SEL)에 따라 디코딩된 저해상도 이미지(LR)와 노이즈가 제거된 저해상도 이미지(DLR) 중 디코딩된 저해상도 이미지(LR)를 선택하고, 디코딩된 저해상도 이미지(LR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다.
디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨의 차이가 상기 임의의 값보다 클 때, 프로세서(11)는 선택 신호 생성기(750)에 의해 생성된 선택 신호(SEL)에 따라 디코딩된 저해상도 이미지(LR)와 노이즈가 제거된 저해상도 이미지(DLR) 중 노이즈가 제거된 저해상도 이미지(DLR)를 선택하고, 노이즈가 제거된 저해상도 이미지(DLR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다.
도 7은 본 발명의 다른 실시 예에 따른 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법의 흐름도를 나타낸다.
도 1, 도 6 및 도 7을 참고하면, 프로세서(11)는 압축된 저해상도 이미지(LR)를 수신한다(S100).
프로세서(11)는 상기 압축된 저해상도 이미지(LR)를 디코딩한다(S110).
프로세서(11)는 제1신경망(710)을 이용하여 상기 디코딩된 저해상도 이미지(LR)의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지(DLR)를 생성한다(S120).
프로세서(11)는 상기 디코딩된 저해상도 이미지(LR)의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지(DLR)의 노이즈 레벨에 따라 상기 디코딩된 저해상도 이미지(LR), 또는 상기 노이즈가 제거된 저해상도 이미지(DLR)를 제2신경망(720)을 이용하여 디코딩된 고해상도 이미지(SR)로 변환한다(S130).
프로세서(11)는 상기 디코딩된 고해상도 이미지(SR)를 인코딩한다(S140).
프로세서(11)는 상기 인코딩된 고해상도 이미지(ESR)를 컴퓨팅 장치(20)로 전송한다(S150).
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 신경망을 이용한 슈퍼 레졸루션 이미지 처리 시스템;
101: 네트워크;
10: 이미지 처리 장치;
11: 프로세서;
13: 메모리;
15: 디코딩 모듈;
17: 신경망 모듈;
19: 인코딩 모듈;
20: 컴퓨팅 장치;

Claims (10)

  1. 프로세서는 압축된 저해상도 이미지를 수신하는 단계;
    상기 프로세서는 상기 압축된 저해상도 이미지를 디코딩하는 단계;
    상기 프로세서는 제1신경망을 이용하여 상기 디코딩된 저해상도 이미지의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지를 생성하는 단계;
    상기 디코딩된 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨의 차이가 임의의 값보다 작을 때, 상기 프로세서는 상기 디코딩된 저해상도 이미지를 제2신경망을 이용하여 디코딩된 고해상도 이미지로 변환하며, 상기 차이가 상기 임의의 값보다 클 때, 상기 프로세서는 상기 노이즈가 제거된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 디코딩된 고해상도 이미지로 변환하는 단계;
    상기 프로세서는 상기 디코딩된 고해상도 이미지를 인코딩하는 단계; 및
    상기 프로세서는 상기 인코딩된 고해상도 이미지를 전송하는 단계를 포함하는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 디코딩된 저해상도 이미지의 노이즈 레벨은,
    제3신경망을 이용하여 생성되며,
    상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨은,
    제4신경망을 이용하여 생성되는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법.
  4. 제1항에 있어서, 상기 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법은,
    상기 프로세서는 상기 노이즈가 제거된 저해상도 이미지와 손실없는 저해상도 트레이닝 이미지 사이의 이미지 유사도를 제1점수로 계산하는 단계;
    상기 프로세서는 상기 디코딩된 고해상도 이미지와 높은 해상도 트레이닝 이미지 사이의 이미지 유사도를 제2점수로 계산하는 단계; 및
    상기 제1점수가 상기 제2점수보다 클 때, 상기 프로세서는 상기 제2신경망보다 상기 제1신경망을 더 학습시키는 단계를 포함하며,
    상기 손실없는 저해상도 트레이닝 이미지는 상기 제1신경망의 훈련을, 상기 높은 해상도 트레이닝 이미지는 상기 제2신경망의 훈련을 위해 사용되는 이미지들이며,
    상기 제1점수는 상기 노이즈가 제거된 저해상도 이미지와 상기 저해상도 트레이닝 이미지가 유사할수록 낮고,
    상기 제2점수는 상기 디코딩된 고해상도 이미지와 상기 높은 해상도 트레이닝 이미지가 유사할수록 낮으며,
    상기 높은 해상도 트레이닝 이미지와 상기 디코딩된 고해상도 이미지는 같은 해상도를 가지는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법.
  5. 삭제
  6. 이미지 처리 장치를 포함하며,
    상기 이미지 처리 장치는,
    명령들을 실행하는 프로세서; 및
    상기 명령들을 저장하는 메모리를 포함하며,
    상기 명령들은,
    제1신경망을 이용하여 저해상도 이미지의 노이즈를 제거하여 노이즈가 제거된 저해상도 이미지를 생성하며,
    상기 저해상도 이미지의 노이즈 레벨과 상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨의 차이가 임의의 값보다 작을 때,
    상기 명령들은,
    상기 저해상도 이미지를 제2신경망을 이용하여 고해상도 이미지로 변환하도록 구현되며,
    상기 차이가 상기 임의의 값보다 클 때,
    상기 명령들은,
    상기 노이즈가 제거된 저해상도 이미지를 상기 제2신경망을 이용하여 상기 고해상도 이미지로 변환하도록 구현되는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 시스템.
  7. 삭제
  8. 제6항에 있어서, 상기 저해상도 이미지의 노이즈 레벨은,
    제3신경망을 이용하여 생성되며,
    상기 노이즈가 제거된 저해상도 이미지의 노이즈 레벨은,
    제4신경망을 이용하여 생성되는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 시스템.
  9. 제6항에 있어서, 상기 명령들은,
    상기 노이즈가 제거된 저해상도 이미지와 손실없는 저해상도 트레이닝 이미지 사이의 이미지 유사도를 제1점수로 계산하며,
    상기 고해상도 이미지와 높은 해상도 트레이닝 이미지 사이의 이미지 유사도를 제2점수로 계산하며,
    상기 제1점수가 상기 제2점수보다 클 때, 상기 제2신경망보다 상기 제1신경망을 더 학습시키도록 구현되며,
    상기 노이즈가 제거된 저해상도 이미지와 상기 손실없는 저해상도 트레이닝 이미지가 유사할수록 상기 제1점수는 낮으며,
    상기 고해상도 이미지와 상기 높은 해상도 트레이닝 이미지가 유사할수록 상기 제2점수는 낮으며,
    상기 높은 해상도 트레이닝 이미지와 상기 디코딩된 고해상도 이미지는 같은 해상도를 가지는 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 시스템.



  10. 삭제
KR1020210165814A 2021-11-26 2021-11-26 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템 KR102467092B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210165814A KR102467092B1 (ko) 2021-11-26 2021-11-26 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210165814A KR102467092B1 (ko) 2021-11-26 2021-11-26 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102467092B1 true KR102467092B1 (ko) 2022-11-16

Family

ID=84235862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210165814A KR102467092B1 (ko) 2021-11-26 2021-11-26 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102467092B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065997A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 영상처리장치 및 영상처리방법
US20180174275A1 (en) * 2016-12-15 2018-06-21 WaveOne Inc. Autoencoding image residuals for improving upsampled images
KR101996730B1 (ko) 2017-10-11 2019-07-04 인하대학교 산학협력단 인공신경망을 이용한 단일 영상 고해상도 복원 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065997A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 영상처리장치 및 영상처리방법
US20180174275A1 (en) * 2016-12-15 2018-06-21 WaveOne Inc. Autoencoding image residuals for improving upsampled images
KR101996730B1 (ko) 2017-10-11 2019-07-04 인하대학교 산학협력단 인공신경망을 이용한 단일 영상 고해상도 복원 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Abhishek Singh 외 2인, "Super-Resolving Noisy Images", Computer Vision and Pattern Recognition (CVPR), 2014.* *

Similar Documents

Publication Publication Date Title
Chandler Seven challenges in image quality assessment: past, present, and future research
KR20070117840A (ko) 콘트라스트 개선을 위한 영상 처리 장치 및 영상 처리 방법
WO2018066440A1 (ja) 撮影装置、情報処理システム、情報処理装置、および偏光画像処理方法
CN111988611B (zh) 量化偏移信息的确定方法、图像编码方法、装置及电子设备
US8750638B2 (en) Image processing apparatus, image processing method, and computer program
CN111028150A (zh) 一种快速时空残差注意力视频超分辨率重建方法
JP7405989B2 (ja) マシン向け映像符号化における方法及び装置
EP3637363B1 (en) Image processing device, image processing method and image processing program
WO2014070273A1 (en) Recursive conditional means image denoising
JP2005354685A (ja) パターン適応型フィルターリングによる映像信号の平滑化装置及びその平滑化方法
JP2017010092A (ja) 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
Rahman et al. Tripartite sub-image histogram equalization for slightly low contrast gray-tone image enhancement
CN111429357A (zh) 训练数据确定方法、视频处理方法、装置、设备及介质
JP4835949B2 (ja) 画像処理装置および方法、学習装置および方法、プログラム、並びに記録媒体
CN113688907A (zh) 模型训练、视频处理方法,装置,设备以及存储介质
CN112150400A (zh) 图像增强方法、装置和电子设备
JP2020197915A (ja) 画像処理装置、画像処理方法、及びプログラム
KR100270851B1 (ko) 컬러 비디오 신호를 위한 운동 보상 방법 및 장치
CN117274059A (zh) 基于图像编码-解码的低分辨率图像重构方法及其***
JP2014526111A (ja) 画像のノイズ除去、圧縮および補間のための異方性勾配の正則化
KR102467092B1 (ko) 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템
KR102467094B1 (ko) 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법 및 시스템
CN115375539A (zh) 图像分辨率增强、多帧图像超分辨率***和方法
Wahed et al. A simplified parabolic interpolation based reversible data hiding scheme
KR101514152B1 (ko) 특이값 분해를 이용한 화질 개선 방법 및 장치

Legal Events

Date Code Title Description
GRNT Written decision to grant