KR102624027B1 - 영상 처리 장치 및 방법 - Google Patents

영상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102624027B1
KR102624027B1 KR1020190129315A KR20190129315A KR102624027B1 KR 102624027 B1 KR102624027 B1 KR 102624027B1 KR 1020190129315 A KR1020190129315 A KR 1020190129315A KR 20190129315 A KR20190129315 A KR 20190129315A KR 102624027 B1 KR102624027 B1 KR 102624027B1
Authority
KR
South Korea
Prior art keywords
image
layer
area
resolution
neural network
Prior art date
Application number
KR1020190129315A
Other languages
English (en)
Other versions
KR20210045828A (ko
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 KR1020190129315A priority Critical patent/KR102624027B1/ko
Priority to US16/910,406 priority patent/US11854159B2/en
Publication of KR20210045828A publication Critical patent/KR20210045828A/ko
Priority to US18/387,993 priority patent/US20240078633A1/en
Application granted granted Critical
Publication of KR102624027B1 publication Critical patent/KR102624027B1/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/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/20081Training; Learning
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Processing (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

영상 처리 장치 및 방법이 개시된다. 일 실시예에 따른 영상 처리 방법은 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하는 단계, 제1 영역에 신경망 기반의 초해상(super resolution) 처리를 수행하여 제1 영역의 해상도를 업스케일(upscale)하는 단계, 및 제1 영상에서 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 제2 영역의 해상도를 업스케일하는 단계를 포함한다.

Description

영상 처리 장치 및 방법{IMAGE PROCESSING APPARATUS AND METHOD}
아래 실시예들은 영상 처리 장치 및 방법에 관한 것으로, 보다 구체적으로 신경망을 이용하여 영상(image)의 해상도를 향상시키는 초해상(super resolution) 기술에 관한 것이다.
최근에는 영상의 초해상(super resolution) 처리에 딥러닝(deep learning) 기술의 일종인 컨볼루션 신경망(Convolutional Neural Network, 이하 CNN)이 이용되고 있다. 즉, 영상의 초해상 처리는 저해상도의 영상이 CNN에 입력되면, 영상의 패치별로 특징 데이터를 추출하고, 추출된 특징 데이터 및 기존에 학습된 데이터를 이용하여 저해상도의 입력 영상을 고해상도의 영상으로 업스케일(upscale)하는 방식으로 이루어진다.
그 중 특히 서브 픽셀 컨볼루션(Sub-pixel convolution) 방법은 간단한 매트릭스 연산으로 구현이 가능하여, 저해상도 영상으로부터 특징을 추출하기 때문에 연산 속도 또한 빠르다는 장점이 있어서, 현재 대부분의 초해상 방법들이 이 방법을 사용하고 있다.
일 실시예에 따른 영상 처리 방법은 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하는 단계; 상기 제1 영역에 신경망 기반의 초해상(super resolution) 처리를 수행하여 상기 제1 영역의 해상도를 업스케일(upscale)하는 단계; 및 상기 제1 영상에서 상기 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 상기 제2 영역의 해상도를 업스케일하는 단계를 포함한다.
상기 제1 영역을 추출하는 단계는 상기 제1 영상을 상기 미리 학습된 신경망에 입력하여 에러 맵(error map)을 획득하는 단계; 및 상기 에러 맵에서, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계를 포함할 수 있다.
상기 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계는 상기 에러 맵에 평균 풀링(average pooling) 처리를 수행하여, 상기 에러 평균 값이 가장 큰 영역을 추출하는 단계; 및 상기 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계를 포함할 수 있다.
상기 미리 학습된 신경망은 상기 제1 영상과 상기 제1 영상에 대응하는 그라운드 트루스(ground truth) 영상의 차이에 대응하는 영상에 기초하여 학습될 수 있다.
상기 제1 영역을 추출하는 단계는 상기 제1 영상에 대응하는 특징을 상기 미리 학습된 신경망에 입력하여, 상기 제1 영역을 추출하는 단계를 포함할 수 있다.
상기 제1 영역은 상기 제1 영상의 고주파 성분에 해당할 수 있다.
상기 제1 영역의 해상도를 업스케일하는 단계는 상기 제1 영역을 제1 컨볼루션(convolution) 레이어에 입력하는 단계; 상기 컨볼루션 레이어의 출력을 보간(interpolation) 레이어에 입력하는 단계; 및 상기 보간 레이어의 출력을 제2 컨볼루션 레이어에 입력하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 시스템은 제1 영상에 대응하는 특징을 추출하는 제1 신경망; 및 복수의 업샘플링(upsampling) 레이어들을 포함하고, 상기 특징을 입력 받아 상기 제1 영상의 해상도를 점진적으로 업스케일하는 제2 신경망을 포함한다.
상기 복수의 업샘플링 레이어들 각각은 해당 업샘플링 레이어의 입력 영상의 해상도를 업스케일하는 업블록(upblock) 레이어; 및 다음 업샘플링 레이어의 입력 영상에 포함되는 제1 영역을 추출하는 에러 예측 레이어를 포함할 수 있다.
상기 업블록 레이어는 상기 해당 업샘플링 레이어의 입력 영상에 포함되는 제1 영역에 신경망 기반의 초해상 처리를 수행하는 초해상 처리 레이어; 및 상기 해당 업샘플링 레이어의 입력 영상에서 상기 해당 업샘플링 레이어의 입력 영상에 포함되는 제1영역을 제외한 제2 영역에 보간 처리를 수행하는 보간 처리 레이어를 포함하고, 상기 업블록 레이어는 상기 초해상 처리 레이어의 출력과 상기 보건 처리 레이어의 출력에 기초하여, 상기 해당 업샘플링 레이어의 입력 영상의 해상도를 업스케일할 수 있다.
상기 초해상 처리 레이어는 상기 해당 업샘플링 레이어의 입력 영상에 포함되는 제1 영역을 입력 받는 제1 컨볼루션 레이어; 상기 제1 컨볼루션 레이어의 출력을 입력 받는 보간 레이어; 및 상기 보간 레이어의 출력을 입력 받는 제2 컨볼루션 레이어를 포함할 수 있다.
상기 제1 영역은 상기 제1 영상과 동일한 사이즈일 수 있다.
상기 에러 예측 레이어는 상기 다음 업샘플링 레이어의 에러 맵을 생성하고, 상기 에러 맵에서 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출할 수 있다.
일 실시예에 따른 영상 처리 시스템은 상기 업블록 레이어의 출력을 입력 받아, 다음 업샘플링 레이어의 입력 영상을 생성하는 변환할 수 있다.
상기 복수의 업샘플링 레이어의 수 및 최종 스케일 계수에 기초하여, 각각의 업샘플링 레이어의 스케일 계수가 결정될 수 있다.
일 실시예에 따른 영상 처리 장치는 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하고, 상기 제1 영역에 신경망 기반의 초해상 처리를 수행하여 상기 제1 영역의 해상도를 업스케일하고, 상기 제1 영상에서 상기 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 상기 제2 영역의 해상도를 업스케일하는 프로세서를 포함한다.
상기 프로세서는 상기 제1 영상을 상기 미리 학습된 신경망에 입력하여 에러 맵을 획득하고, 상기 에러 맵에서, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출할 수 있다.
상기 프로세서는 상기 에러 맵에 평균 풀링 처리를 수행하여, 상기 에러 평균 값이 가장 큰 영역을 추출하고, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출할 수 있다.
상기 미리 학습된 신경망은 상기 제1 영상과 상기 제1 영상에 대응하는 그라운드 트루스 영상의 차이에 대응하는 영상에 기초하여 학습될 수 있다.
도 1은 일 실시예에 따른 영상 처리 시스템의 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 초해상 처리 시스템의 구조를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 업샘플링 레이어의 구조 및 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 업블록 레이어 및 에러 예측 레이어의 구조 및 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 영상 처리 방법을 설명하기 위한 순서도이다.
도 6은 일 실시예에 따른 영상 처리 장치를 설명하기 위한 순서도이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 영상 처리 시스템의 동작을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 영상 처리(image processing) 시스템은 저해상도 영상(110)을 고해상도의 영상으로 업스케일(upscale)하는 초해상 처리를 수행하는 시스템일 수 있다. 이하에서, 영상 처리 시스템은 초해상 처리 시스템으로 지칭될 수 있다.
일 실시예에 따른 초해상 처리 시스템은 스마트폰에 탑재되어, 카메라 영상의 줌(zoom) 화질 성능을 향상시킬 수 있다. 또한, 초해상 처리 시스템은 의료 영상 기기, 감시 카메라 등 다양한 영상 출력 장치들에 탑재되어 화질을 향상시킬 수 있다.
최근에는 딥러닝 기술이 발달함에 따라, 초해상 처리 시스템에 딥러닝을 적용하는 시도가 많아지고 있다. 일례로, 초기의 초해상 처리 시스템(예를 들어, SRCNN)은 보간법을 사용해 영상의 크기를 원하는 크기로 확대한 이후, 컨볼루션 연산을 수행하여 영상의 해상도를 향상시킬 수 있다. 초기의 초해상 처리 시스템은 자유자재로 원하는 스케일로의 초해상 구현이 가능하나, 고해상도 영상을 신경망에 통과시켜 특징을 추출하기 때문에 연산 속도 및 메모리 사용량이 매우 크다는 단점이 있다.
다른 예로, 서브 픽셀 컨볼루션(Sub-pixel convolution) 방법은 저해상 영상을 그대로 컨볼루션 레이어에 입력한 후, 마지막에 특징 데이터의 가로, 세로 크기를 키워주는 연산을 통해 고해상도 영상을 생성할 수 있다. 서브 픽셀 컨볼루션 방법은 간단한 매트릭스 연산으로 구현이 가능하여, 저해상도 영상으로부터 특징을 추출하기 때문에 연산 속도 또한 빠르다는 장점이 있어서, 현재 대부분의 초해상 방법들이 이 방법을 사용하고 있다.
그러나 서브 픽셀 컨볼루션 방법은 오직 정수 스케일(예를 들어, x2, x3, x4)의 영상 확대가 가능하고, 소수 스케일(예를 들어, x1.2, x1.5)의 확대는 불가능하다. 또한, 서브 픽셀 컨볼루션 방법은 각 스케일마다 별개의 네트워크가 필요하기 때문에 멀티 스케일의 확대가 불가능하다.
소수 스케일 영상 확대 또는 멀티 스케일 영상 확대가 필요한 시스템, 예를 들어 원하는 스케일의 영상을 자유자재로 얻을 수 있어야 하는 스마트폰 시스템의 경우, 현재의 딥러닝 기반 초해상 시스템으로는 다양한 스케일의 초해상 처리에 한계가 있다.
일 실시예에 따른 초해상 처리 시스템(100)은 점진적인 초해상 처리 방법을 사용하여 정수 배수의 스케일 뿐만 아니라 소수 배수 스케일의 초해상 처리 및 멀티 스케일의 초해상 처리가 가능할 수 있다. 일 실시예에 따른 초해상 처리 시스템(100)은 제1 신경망(120) 및 제2 신경망(130)을 포함할 수 있다. 초해상 처리 시스템은 저해상도 영상(110)의 해상도를 업스케일하여 고해상도 영상(140)으로 변환할 수 있다. 예를 들어, 초해상 처리 시스템(100)은 저해상도 영상(w*h)을 고해상도 영상(sw*sh)으로 변환할 수 있다. 이하에서, 영상을 업스케일한다는 것은 영상의 해상도를 업스케일한다는 것을 의미할 수 있다.
제1 신경망(120)은 저해상도 영상(110)의 특징 데이터를 추출하는 특징 추출부(feature extractor)일 수 있다. 일 실시예에 따른 특징 데이터는 특징 맵(feature map)을 포함할 수 있다. 제2 신경망(130)은 특징 데이터를 입력 받아, 저해상도 영상(110)의 해상도를 점진적으로 업스케일할 수 있다. 아래에서 보다 상세히 설명하겠지만, 제2 신경망(130)은 복수의 업샘플링 레이어들로 구성될 수 있고, 각각의 업샘플링 레이어는 해당 레이어에 입력되는 영상을 업스케일하여 출력하고, 다음 레이어에 업스케일한 영상을 전달할 수 있다.
초해상 처리 시스템(100)은 입력 영상을 업스케일하는 복수의 업샘플링 레이어들을 직렬로 연결하여 저해상도 영상(110)의 해상도를 점진적으로 업스케일할 수 있다. 초해상 처리 시스템(100)은 제2 신경망(130)의 업샘플링 레이어들 중 어느 한 레이어의 출력을 추출할 수 있고, 이를 통해 저해상도 영상(110)의 소수 스케일 확대 및 멀티 스케일의 확대가 가능할 수 있다. 예를 들어, 초해상 처리 시스템(100)은 최종 고해상도 영상(140) 뿐만 아니라, 중간 단계의 영상(131, 133)도 획득할 수 있다.
다만, 점진적인 초해상 처리 방법을 사용하는 경우, 업샘플링 레이어들의 수가 증가하고, 입력되는 영상의 해상도가 증가하기 때문에, 연산량이 많아지는 문제가 생길 수 있다. 이를 극복하기 위해, 일 실시예에 따른 초해상 처리 시스템(100)은 입력 영상을 텍스쳐(texture)가 단순한 영역과 텍스쳐가 복잡한 영역으로 분류하고, 텍스쳐가 단순한 영역에 대해서는 보간법을 사용하여 업스케일 처리를 수행하고, 텍스쳐가 복잡한 영역에 대해서는 신경망 기반의 업스케일을 수행할 수 있다.
텍스쳐가 단순한 영역은 보간법을 사용하여 업스케일하여도 결과 영상에 에러가 별로 없을 수 있고, 텍스쳐가 복잡한 영역은 보간법을 사용하여 업스케일하면 결과 영상에 에러가 많을 수 있다. 예를 들어, 하늘, 구름과 같이 텍스쳐가 단순한 영역에 대하여 보간법을 사용하여 업스케일하여도 높은 최대 신호 대 잡음비(PSNR; peak signal-to-noise ratio)를 얻을 수 있으나, 복잡한 오브젝트와 같이 텍스쳐가 복잡한 영역에 대하여 보간법을 사용하여 업스케일하면 최대 신호 대 잡음비가 매우 낮을 수 있다.
초해상 처리 시스템(100)은 점진적인 초해상 처리 방법을 사용하여 정수 배수의 스케일 뿐만 아니라 소수 배수 스케일의 초해상 처리 및 멀티 스케일의 초해상 처리가 가능하며, 동시에 에러가 큰 영역을 추출하여 해당 영역에 대해서만 신경망 기반의 업스케일을 수행하여 성능 감소를 최소화하면서 연산량을 줄일 수 있다. 아래에서, 도 2를 참조하여 초해상 처리 시스템의 전반적인 구조를 설명하고, 도 3 내지 도 4를 참조하여 업샘플링 레이어의 동작을 설명하고, 도 5를 참조하여 구체적인 업스케일 방법을 설명하고, 도 6을 참조하여 영상 처리 장치의 구조를 설명한다.
도 2는 일 실시예에 따른 초해상 처리 시스템의 구조를 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 초해상 처리 시스템(200), 저해상도 영상(210), 제1 신경망(220), 제2 신경망(230) 및 고해상도 영상(240)은 도 1을 참조하여 설명한 초해상 처리 시스템(100), 저해상도 영상(110), 제1 신경망(120), 제2 신경망(130) 및 고해상도 영상(140)일 수 있다. 제1 신경망(220) 및 제2 신경망(230)은 각각 하나 또는 그 이상의 하드웨어 모듈, 하나 또는 그 이상의 소프트웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.
도 1의 설명은 도 2에도 적용 가능하므로, 중복되는 내용의 설명은 생략할 수 있다. 일 실시예에 따른 신경망은 인공 신경망(ANN: Artificial Neural Network)을 포함하고, 인공 신경망은 딥러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력 레이어(Input Layer), 출력 레이어(Output Layer), 그리고 선택적으로 하나 이상의 은닉 레이어(Hidden Layer)를 포함할 수 있다. 각 레이어는 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함될 수 있다. 그리고, 하이퍼 파라미터는 딥러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함될 수 있다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
일 실시예에 따른 제1 신경망(220)은 저해상도 영상(210)의 특징 데이터를 추출하는 신경망일 수 있다. 제1 신경망(220)은 영상의 특징을 추출하는 다양한 종류의 신경망을 포함할 수 있다. 일례로, 제1 신경망(220)은 레지듀얼 네트워크(ResNet; Residual Network)를 포함할 수 있으며, 레지듀얼 네트워크는 RNN으로부터 순차적으로 입력되는 프레임을 필터링하여 특징맵을 생성하고, 특징맵에 대한 배치 정규화(batch normalization) 및 정규화된 특징맵에 활성함수(activation function)를 적용하는 레지듀얼 블록(Resblock; residual block)이 직렬로 연결된 구조의 네트워크일 수 있다. 다만, 레지듀얼 네트워크는 제1 신경망(220)의 하나의 예시에 불과하고, 제1 신경망(220)은 영상의 특징을 추출하는 다양한 신경망들을 이용하여 구현될 수 있다.
일 실시예에 따른 제2 신경망(230)은 특징 데이터를 입력 받아, 저해상도 영상(210)의 해상도를 점진적으로 업스케일할 수 있다. 제2 신경망은 업샘플링 신경망으로 지칭될 수 있다. 제2 신경망(230)은 복수의 업샘플링 레이어들이 직렬로 연결된 구조의 네트워크일 수 있다.
복수의 업샘플링 레이어의 수(d) 및 최종적으로 얻고자 하는 스케일을 의미하는 최종 스케일 계수(s)에 기초하여, 각각의 업샘플링 레이어의 스케일 계수(s1/d)가 결정될 수 있다. 초해상 처리 시스템은 n개의 업샘플링 레이어를 통과 후 해당 영상을 추출하면, 본래 영상 크기의 sn/d 크기만큼 업스케일된 영상을 획득할 수 있고, 전체 레이어를 모두 통과하면 최종적으로 s 배 업스케일된 크기의 영상을 획득할 수 있다.
또한, 제2 신경망(230)은 업샘플링 레이어들과 별개의 보간 레이어를 더 포함할 수 있다. 초해상 처리 시스템(200)은 저해상도 영상(210)의 저주파 성분에 해당하는 영역을 제2 신경망(230)의 보간 레이어에 입력하고, 고주파 성분에 해당하는 영역을 업샘플링 레이어에 입력할 수 있다. 제2 신경망(230)은 보간 레이어의 출력과 업샘플링 레이어들의 최종 출력을 합하여 최종 데이터를 생성할 수 있다.
제2 신경망(230)은 최종 특징 데이터를 고해상도 영상(240)으로 변환하는 컨볼루션 레이어를 더 포함할 수 있다. 예를 들어, 컨볼루션 레이어는 최종 특징 데이터를 R, G, B 3개의 채널로 변환하여 컬러 영상 형태로 출력할 수 있다.
제2 신경망(230)을 구성하는 업샘플링 레이어들은 직렬로 연결되어, 해당 레이어에 입력되는 영상을 업스케일하여 출력하고 다음 레이어에 업스케일한 영상을 전달하는 방법을 통하여 저해상도 영상(210)을 점진적으로 업스케일할 수 있다. 나아가, 업샘플링 레이어는 에러가 큰 영역을 추출하여 해당 영역에 대해서만 신경망 기반의 업스케일을 수행하고, 에러가 작은 영역은 단순한 보건법을 통한 업스케일을 수행하여 성능 감소를 최소화하면서 연산량을 줄일 수 있다. 아래에서, 도 3 내지 도 4를 참조하여 업샘플링 레이어의 구조 및 동작을 상세히 설명한다.
도 3은 일 실시예에 따른 업샘플링 레이어의 구조 및 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 제2 신경망은 복수의 업샘플링 레이어를 포함하고, 업샘플링 레이어들은 직렬로 연결될 수 있고, 업샘플링 레이어는 업블록 레이어 및 에러 예측 레이어를 포함할 수 있다. 예를 들어 i 번째 업샘플링 레이어(i-업샘플링 레이어)는 업블록 레이어(320) 및 에러 예측 레이어(350)를 포함할 수 있고, 최종 출력(360)을 (i+1) 번째 업샘플링 레이어((i+1)-업샘플링 레이어)로 전달할 수 있다.
업블록 레이어(320)는 해당 업샘플링 레이어의 입력 영상(SRi)(310)의 해상도를 업스케일하는 레이어일 수 있다. 이하에서, 해당 업샘플링 레이어의 입력 영상(SRi)(310)은 해당 입력 영상(310)으로 지칭될 수 있다.
업블록 레이어(320)는 특징맵(330)을 출력할 수 있다. 특징맵(330)은 해당 입력 영상(310)의 업스케일된 해상도에 대응하는 특징 데이터를 내포할 수 있다. 업블록 레이어(320)의 상세한 구조 및 동작은 아래에서 도 4를 참조하여 설명한다.
업샘플링 레이어는 특징맵(330)을 컨볼루션 레이어에 입력하여 다음 업샘플링 레이어의 입력 영상(SRi+1)(340)을 획득할 수 있다. 이하에서, 다음 업샘플링 레이어의 입력 영상(340)은 다음 입력 영상(340)으로 지칭될 수 있다.
전술한 바와 같이, 컨볼루션 레이어는 특징맵(330)을 R, G, B 3개의 채널로 변환하여 영상 형태로 출력할 수 있다. 다음 입력 영상(340)은 해당 입력 영상(310)의 해상도를 업스케일한 영상일 수 있다.
해당 업샘플링 레이어는 다음 업샘플링 레이어에서의 연산량 감소를 위해 다음 입력 영상(340)에서 에러가 큰 영역(텍스쳐가 복잡한 영역)을 추출하여야 할 수 있다. 아래에서, 에러가 큰 영역을 제1 영역 또는 에러 영역이라 지칭할 수 있다.
업샘플링 레이어는 에러 영역을 추출하기 위해 특징맵(330)을 에러 예측 레이어(350)에 입력할 수 있다. 에러 예측 레이어(350)는 특징맵(330)을 입력 받아 다음 입력 영상(340)의 에러 영역을 추출하는 레이어일 수 있다. 에러 예측 레이어(350)의 상세한 구조 및 동작은 아래에서 도 4를 참조하여 설명한다.
에러 예측 레이어(350)는 에러 영역이 추출된 다음 입력 영상(360)을 생성할 수 있다. 에러 영역이 추출된 다음 입력 영상(360)은 다음 업샘플링 레이어에 입력될 수 있고, 초해상 처리 시스템은 위 동작을 반복하여 점진적인 초해상 처리를 수행할 수 있다.
도 4는 일 실시예에 따른 업블록 레이어 및 에러 예측 레이어의 구조 및 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에 따른 해당 업샘플링 레이어의 입력 영상(410), 업블록 레이어(420), 특징맵(430), 다음 업샘플링 레이어의 입력 영상(440), 에러 예측 레이어(450), 에러 영역이 추출된 다음 레이어의 입력 영상(460)은 도 3을 참조하여 설명한 해당 업샘플링 레이어의 입력 영상(310), 업블록 레이어(320), 특징맵(330), 다음 업샘플링 레이어의 입력 영상(340), 에러 예측 레이어(350), 에러 영역이 추출된 다음 레이어의 입력 영상(360)일 수 있다. 도 4의 설명은 도 3에도 적용 가능하므로, 중복되는 내용의 설명은 생략할 수 있다.
일 실시예에 따른 업블록 레이어(420)는 해당 입력 영상(410)을 수신할 수 있다. 해당 입력 영상(410)은 이전 업샘플링 레이어로부터 제1 영역(에러 영역)이 추출된 입력 영상일 수 있다. 해당 입력 영상(410)에서 제1 영역을 제외한 영역을 제2 영역이라 할 수 있고, 제2 영역은 에러가 작은 영역, 텍스쳐가 단순한 영역일 수 있다.
업블록 레이어(420)는 초해상 처리 레이어 및 보간 처리 레이어(424)를 포함할 수 있다. 초해상 처리 레이어는 컨볼루션 레이어와 보간 레이어의 조합으로 구성될 수 있다. 일례로, 초해상 처리 레이어는 제1 컨볼루션 레이어(421), 보간 레이어(422) 및 제2 컨볼루션 레이어(422)가 직렬로 연결된 레이어일 수 있다.
초해상 처리 레이어는 해당 입력 영상(410)의 제1 영역에 신경망 기반의 초해상 처리를 수행하여, 제1 영역의 해상도를 업스케일할 수 있다. 보간 처리 레이어(424)는 제2 영역에 보간 처리를 수행하여 제2 영역의 해상도를 업스케일할 수 있다. 업블록 레이어(420)는 초해상 처리 레이어의 출력과 보간 처리 레이어(424)의 출력을 합하여 특징맵(430)을 생성할 수 있다.
해당 업샘플링 레이어는 특징맵(430)에 기초하여, 다음 입력 영상(440) 및 다음 에러 맵(Erri+1)(452)을 추출할 수 있다. 에러 맵은 에러의 크기를 표현하는 영상일 수 있고, 에러는 입력 영상과 입력 영상에 대응하는 고해상도의 타겟 이미지인 그라운드 트루쓰(ground truth) 영상의 차이일 수 있다. 특징맵(430)은 다음 입력 영상(440) 및 다음 에러 맵(Erri+1)(452)의 특징 데이터를 포함할 수 있도록 학습될 수 있다.
먼저, 업블록 레이어(420)는 고해상도의 타겟 이미지인 그라운드 트루쓰(ground truth) 영상에 기초하여 업스케일된 영상을 출력할 수 있도록 학습될 수 있다.업블록 레이어(420)는 예측한 다음 입력 영상(SR(i+1))(440)과 그라운드 트루쓰 영상을 다음 업샘플링 레이어의 크기에 맞게 다운샘플(downsample)한 영상(IHR(i+1))의 차이(LSR(i+1))가 최소화되도록, 신경망의 파라미터들을 학습시킬 수 있다. 이하에서, 예측한 다음 입력 영상(SR(i+1))(440)과 그라운드 트루쓰 영상을 다음 업샘플링 레이어의 크기에 맞게 다운샘플(downsample)한 영상(IHR(i+1))의 차이에 대응하는 영상(LSR(i+1))을 타겟 영상이라 지칭할 수 있다.
또한, 업블록 레이어(420)는 예측한 다음 에러 맵(Erri+1)(452)과 타겟 영상(LSR(i+1))의 차이(LErr(i+1)) 가 최소화되도록, 신경망의 파라미터들을 학습시킬 수 있다. 일 실시예에 따르면, 업블록 레이어(420)에 대한 신경망을 학습시키는 동작은 별도의 서버 장치에서 수행될 수 있다. 서버 장치는 미리 구비된 학습 데이터를 이용하거나, 적어도 하나의 사용자로부터 수집된 학습 데이터를 이용할 수 있다. 또는, 서버 장치는 시뮬레이션에 의하여 생성된 학습 데이터를 이용할 수도 있다. 최종 손실 함수는 아래 수학식 1과 같을 수 있다.
에러 예측 레이어(450)는 에러 맵 생성 레이어(451) 및 제1 영역 추출 레이어(453)를 포함할 수 있다. 에러 맵 생성 레이어(451)는 특징맵(430)을 입력 받아 다음 에러 맵(Erri+1)(452)을 출력할 수 있다. 제1 영역 추출 레이어(453)는 다음 에러 맵(Erri+1)(452)에서 제1 영역(에러 영역)을 추출할 수 있다.
제1 영역 추출 레이어(453)는 다음 에러 맵(Erri+1)(452)에 평균 풀링(average pooling) 처리를 수행하여, 에러 평균 값이 가장 큰 영역을 제1 영역으로 추출할 수 있다. 이때, 추출되는 제1 영역의 크기는 최초로 입력되는 저해상도 영상과 동일한 크기일 수 있다. 제1 영역은 다음 업샘플링 레이어에서 신경망 기반의 초해상 처리가 수행되는 영역이기 때문에, 제1 영역의 크기를 최초로 입력되는 저해상도 영상과 동일한 크기로 설정하여야만 신경망에서 처리해야하는 연산량이 증가하는 것을 방지할 수 있다.
에러 예측 레이어(450)는 최종적으로 제1 영역이 추출된 다음 입력 영상(460)을 출력할 수 있고, 해당 영상을 다음 업샘플링 레이어에 전달할 수 있다. 다음 업샘플링 레이어는 위 동작을 반복할 수 있고, 이를 통해 업샘플링 네트워크는 저해상도 영상을 점진적으로 업스케일할 수 있다.
도 5는 일 실시예에 따른 영상 처리 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 일 실시예에 따른 단계들(510 내지 530)은 영상 처리 장치에 의해 수행될 수 있다. 영상 처리 장치는 하나 또는 그 이상의 하드웨어 모듈, 하나 또는 그 이상의 소프트웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.
도 5의 동작은 도시된 순서 및 방식으로 수행될 수 있지만, 도시된 실시예의 사상 및 범위를 벗어나지 않으면서 일부 동작의 순서가 변경되거나 일부 동작이 생략될 수 있다. 도 5에 도시된 다수의 동작은 병렬로 또는 동시에 수행될 수 있다.
단계(510)에서, 영상 처리 장치는 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출한다. 제1 영상은 도 2 내지 도 4를 참조하여 설명한 입력 영상일 수 있다. 제1 영역은 도 2 내지 도 4를 참조하여 설명한 에러 영역일 수 있다. 미리 학습된 신경망은 도 3 내지 도 4를 참조하여 설명한 에러 예측 레이어일 수 있다. 영상 처리 장치는 제1 영상에 대응하는 특징 데이터를 미리 학습된 신경망에 입력하여 제1 영역을 추출할 수도 있다. 제1 영역은 제1 영상의 고주파 성분에 해당할 수 있다.
단계(520)에서, 영상 처리 장치는 제1 영역에 신경망 기반의 초해상 처리를 수행하여 제1 영역의 해상도를 업스케일한다. 현재 결과에서 가장 에러가 높은 영역에 대해 신경망 기반의 정밀한 업스케일 처리를 수행할 수 있다.
단계(530)에서, 영상 처리 장치는 제1 영상에서 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 제2 영역의 해상도를 업스케일한다. 에러가 작은 제2 영역은 신경망 기반의 학습 및 테스트를 수행하지 않고, 단순한 보간 계산을 통해 해상도를 업스케일할 수 있다. 이를 통해 성능 감소를 최소화하면서 연산량을 줄일 수 있다.
도 6은 일 실시예에 따른 영상 처리 장치를 설명하기 위한 순서도이다.
도 6을 참조하면, 일 실시예에 따른 영상 처리 장치(600)는 프로세서(610)를 포함한다. 영상 처리 장치(600)는 메모리(630), 통신 인터페이스(650), 및 센서들(670)을 더 포함할 수 있다. 프로세서(610), 메모리(630), 통신 인터페이스(650), 및 센서들(670)은 통신 버스(605)를 통해 서로 통신할 수 있다.
프로세서(610)는 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하고, 제1 영역에 신경망 기반의 초해상 처리를 수행하여 제1 영역의 해상도를 업스케일하고, 제1 영상에서 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 제2 영역의 해상도를 업스케일한다.
메모리(630)는 입력 영상 및 에러 맵을 저장할 수 있다. 메모리(630)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
센서들(670)은 예를 들어, 영상 정보를 수집하는 카메라 센서 등을 포함할 수 있다. 센서들은 다양한 영상 정보를 수집할 수 있다.
실시예에 따라서, 프로세서(610)는 제1 영상을 미리 학습된 신경망에 입력하여 에러 맵을 획득하고, 에러 맵에서, 에러 평균 값이 가장 큰 영역을 제1 영역으로 추출할 수 있다.
프로세서(610)는 에러 맵에 평균 풀링 처리를 수행하여, 에러 평균 값이 가장 큰 영역을 추출하고, 에러 평균 값이 가장 큰 영역을 제1 영역으로 추출할 수 있다.
이 밖에도, 프로세서(610)는 도 1 내지 도 5을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(610)는 프로그램을 실행하고, 영상 처리 장치(600)를 제어할 수 있다. 프로세서(610)에 의하여 실행되는 프로그램 코드는 메모리(630)에 저장될 수 있다. 영상 처리 장치(600)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 영상 처리 장치(600)는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하는 단계;
    상기 제1 영역에 신경망 기반의 초해상(super resolution) 처리를 수행하여 상기 제1 영역의 해상도를 업스케일(upscale)하는 단계; 및
    상기 제1 영상에서 상기 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 상기 제2 영역의 해상도를 업스케일하는 단계
    를 포함하고,
    상기 제1 영역을 추출하는 단계는
    상기 제1 영상을 상기 미리 학습된 신경망에 입력하여 에러 맵(error map)을 획득하는 단계; 및
    상기 에러 맵에서, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계
    를 포함하고,
    상기 에러 맵은
    상기 제1 영상과 상기 제1 영상에 대응하는 그라운드 트루쓰(ground truth) 영상과의 차이에 관한 정보를 포함하는 영상 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계는
    상기 에러 맵에 평균 풀링(average pooling) 처리를 수행하여, 상기 에러 평균 값이 가장 큰 영역을 추출하는 단계; 및
    상기 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는 단계
    를 포함하는, 영상 처리 방법.
  4. 제1항에 있어서,
    상기 미리 학습된 신경망은
    상기 제1 영상과 상기 그라운드 트루스 영상의 차이에 대응하는 영상에 기초하여 학습되는, 영상 처리 방법.
  5. 제1항에 있어서,
    상기 제1 영역을 추출하는 단계는
    상기 제1 영상에 대응하는 특징을 상기 미리 학습된 신경망에 입력하여, 상기 제1 영역을 추출하는 단계
    를 포함하는, 영상 처리 방법.
  6. 제1항에 있어서,
    상기 제1 영역은
    상기 제1 영상의 고주파 성분에 해당하는, 영상 처리 방법.
  7. 제1항에 있어서,
    상기 제1 영역의 해상도를 업스케일하는 단계는
    상기 제1 영역을 제1 컨볼루션(convolution) 레이어에 입력하는 단계;
    상기 제1 컨볼루션 레이어의 출력을 보간(interpolation) 레이어에 입력하는 단계; 및
    상기 보간 레이어의 출력을 제2 컨볼루션 레이어에 입력하는 단계
    를 포함하는, 영상 처리 방법.
  8. 하드웨어와 결합되어 제1항 및 제3항 내지 제7항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  9. 제1 영상에 대응하는 특징을 추출하는 제1 신경망; 및
    복수의 업샘플링(upsampling) 레이어들을 포함하고, 상기 특징을 입력 받아 상기 제1 영상의 해상도를 점진적으로 업스케일하는 제2 신경망
    을 포함하고,
    상기 복수의 업샘플링 레이어들 각각은
    해당 업샘플링 레이어의 입력 영상의 해상도를 업스케일하는 업블록(upblock) 레이어; 및
    상기 해당 업샘플링 레이어의 다음 업샘플링 레이어의 에러 맵을 생성하고, 상기 에러 맵에서 에러 평균 값이 가장 큰 영역을 제1 영역으로 추출하는 에러 예측 레이어
    를 포함하고,
    상기 에러 맵은
    상기 제1 영상과 상기 제1 영상에 대응하는 그라운드 트루쓰 영상과의 차이에 관한 정보를 포함하는, 영상 처리 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 업블록 레이어는
    상기 해당 업샘플링 레이어의 입력 영상에 포함되는 상기 제1 영역에 신경망 기반의 초해상 처리를 수행하는 초해상 처리 레이어; 및
    상기 해당 업샘플링 레이어의 입력 영상에서 상기 해당 업샘플링 레이어의 입력 영상에 포함되는 제1영역을 제외한 제2 영역에 보간 처리를 수행하는 보간 처리 레이어
    를 포함하고,
    상기 업블록 레이어는 상기 초해상 처리 레이어의 출력과 상기 보간 처리 레이어의 출력에 기초하여, 상기 해당 업샘플링 레이어의 입력 영상의 해상도를 업스케일하는, 영상 처리 시스템.
  12. 제11항에 있어서,
    상기 초해상 처리 레이어는
    상기 해당 업샘플링 레이어의 입력 영상에 포함되는 상기 제1 영역을 입력 받는 제1 컨볼루션 레이어;
    상기 제1 컨볼루션 레이어의 출력을 입력 받는 보간 레이어; 및
    상기 보간 레이어의 출력을 입력 받는 제2 컨볼루션 레이어
    를 포함하는, 영상 처리 시스템.
  13. 제9항에 있어서,
    상기 제1 영역은
    상기 제1 영상과 동일한 사이즈인, 영상 처리 시스템.
  14. 삭제
  15. 제9항에 있어서
    상기 업블록 레이어의 출력을 입력 받아, 다음 업샘플링 레이어의 입력 영상을 생성하는 변환 레이어
    를 더 포함하는, 영상 처리 시스템.
  16. 제9항에 있어서,
    상기 복수의 업샘플링 레이어의 수 및 최종 스케일 계수에 기초하여, 각각의 업샘플링 레이어의 스케일 계수가 결정되는, 영상 처리 시스템.
  17. 제1 영상을 미리 학습된 신경망에 입력하여, 제1 영역을 추출하고, 상기 제1 영역에 신경망 기반의 초해상 처리를 수행하여 상기 제1 영역의 해상도를 업스케일하고, 상기 제1 영상에서 상기 제1 영역을 제외한 제2 영역에 보간 처리를 수행하여 상기 제2 영역의 해상도를 업스케일하는 프로세서
    를 포함하고,
    상기 프로세서는
    상기 제1 영상을 상기 미리 학습된 신경망에 입력하여 에러 맵(error map)을 획득하고, 상기 에러 맵에서, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하고,
    상기 에러 맵은
    상기 제1 영상과 상기 제1 영상에 대응하는 그라운드 트루쓰(ground truth) 영상과의 차이에 관한 정보를 포함하는 영상 처리 장치.
  18. 삭제
  19. 제17항에 있어서,
    상기 프로세서는
    상기 에러 맵에 평균 풀링 처리를 수행하여, 상기 에러 평균 값이 가장 큰 영역을 추출하고, 에러 평균 값이 가장 큰 영역을 상기 제1 영역으로 추출하는, 영상 처리 장치.
  20. 제17항에 있어서,
    상기 미리 학습된 신경망은
    상기 제1 영상과 상기 그라운드 트루스 영상의 차이에 대응하는 영상에 기초하여 학습되는, 영상 처리 장치.
KR1020190129315A 2019-10-17 2019-10-17 영상 처리 장치 및 방법 KR102624027B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190129315A KR102624027B1 (ko) 2019-10-17 2019-10-17 영상 처리 장치 및 방법
US16/910,406 US11854159B2 (en) 2019-10-17 2020-06-24 Image processing apparatus and method
US18/387,993 US20240078633A1 (en) 2019-10-17 2023-11-08 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190129315A KR102624027B1 (ko) 2019-10-17 2019-10-17 영상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210045828A KR20210045828A (ko) 2021-04-27
KR102624027B1 true KR102624027B1 (ko) 2024-01-11

Family

ID=75492159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190129315A KR102624027B1 (ko) 2019-10-17 2019-10-17 영상 처리 장치 및 방법

Country Status (2)

Country Link
US (2) US11854159B2 (ko)
KR (1) KR102624027B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102624027B1 (ko) * 2019-10-17 2024-01-11 삼성전자주식회사 영상 처리 장치 및 방법
WO2021251614A1 (en) 2020-06-12 2021-12-16 Samsung Electronics Co., Ltd. Image processing apparatus and method of operating the same
CN117693937A (zh) * 2021-07-01 2024-03-12 抖音视界有限公司 在超分辨率过程期间利用编解码信息
CN117642766A (zh) * 2021-07-15 2024-03-01 高通股份有限公司 基于显著性的超分辨率
US20230021463A1 (en) * 2021-07-21 2023-01-26 Black Sesame International Holding Limited Multi-frame image super resolution system
WO2023008678A1 (ko) * 2021-07-30 2023-02-02 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법
KR102435962B1 (ko) * 2021-11-03 2022-08-25 렉스젠(주) 영상을 이용한 정보 분석 시스템 및 그에 관한 방법
CN115760625A (zh) * 2022-11-17 2023-03-07 京东方科技集团股份有限公司 终端画质增强方法及装置、计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075581A1 (en) * 2016-09-15 2018-03-15 Twitter, Inc. Super resolution using a generative adversarial network

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
JP4565392B2 (ja) 2005-12-22 2010-10-20 日本ビクター株式会社 映像信号階層復号化装置、映像信号階層復号化方法、及び映像信号階層復号化プログラム
GB2457646B (en) * 2007-10-30 2010-03-03 Imagination Tech Ltd Method and apparatus for compressing and decompressing data
US20140198977A1 (en) * 2012-03-21 2014-07-17 Texas Instruments Incorporated Enhancement of Stereo Depth Maps
KR102080859B1 (ko) * 2013-04-08 2020-02-24 삼성전자주식회사 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법
US9305239B2 (en) * 2014-05-13 2016-04-05 Samsung Electronics Co., Ltd. Detecting and processing small text in digital media
KR101651741B1 (ko) 2014-09-30 2016-08-26 한국전자통신연구원 영상의 영역 별로 선명화하는 고해상도 영상 생성 장치 및 방법
WO2016080311A1 (ja) * 2014-11-21 2016-05-26 株式会社日立製作所 X線ct装置、投影データのアップサンプリング方法、及び画像再構成方法
US9734559B1 (en) * 2014-11-25 2017-08-15 Pixelworks, Inc. Match error compensation for super-resolution images
KR20160063792A (ko) * 2014-11-27 2016-06-07 한국전자통신연구원 영상 복원 방법 및 상기 방법을 수행하는 영상 복원 장치
EP3038049A1 (en) * 2014-12-22 2016-06-29 Thomson Licensing Method for upscaling an image and apparatus for upscaling an image
WO2016132150A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Enhancing visual data using and augmenting model libraries
GB201604345D0 (en) * 2016-03-14 2016-04-27 Magic Pony Technology Ltd Super resolution using fidelity transfer
CN105869117B (zh) * 2016-03-28 2021-04-02 上海交通大学 一种针对深度学习超分辨率技术的gpu加速方法
WO2017219263A1 (zh) 2016-06-22 2017-12-28 中国科学院自动化研究所 基于双向递归卷积神经网络的图像超分辨率增强方法
US9947102B2 (en) * 2016-08-26 2018-04-17 Elekta, Inc. Image segmentation using neural network method
JP6688536B2 (ja) * 2016-09-07 2020-04-28 エレクタ、インク.Elekta, Inc. 放射線療法治療計画のモデルを学習して放射線療法の線量分布を予測するためのシステムおよび方法
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
CN108074215B (zh) * 2016-11-09 2020-04-14 京东方科技集团股份有限公司 图像升频***及其训练方法、以及图像升频方法
US10489887B2 (en) 2017-04-10 2019-11-26 Samsung Electronics Co., Ltd. System and method for deep learning image super resolution
CN107492071B (zh) * 2017-08-17 2021-04-27 京东方科技集团股份有限公司 医学图像处理方法及设备
KR102119300B1 (ko) * 2017-09-15 2020-06-04 서울과학기술대학교 산학협력단 360도 영상 부호화 장치 및 방법, 이를 수행하기 위한 기록 매체
KR101996730B1 (ko) 2017-10-11 2019-07-04 인하대학교 산학협력단 인공신경망을 이용한 단일 영상 고해상도 복원 방법 및 시스템
CN112237002A (zh) * 2018-06-29 2021-01-15 深圳市大疆创新科技有限公司 图像处理方法和设备
CN109977956B (zh) * 2019-04-29 2022-11-18 腾讯科技(深圳)有限公司 一种图像处理方法、装置、电子设备以及存储介质
KR102624027B1 (ko) * 2019-10-17 2024-01-11 삼성전자주식회사 영상 처리 장치 및 방법
US10958869B1 (en) * 2019-11-14 2021-03-23 Huawei Technologies Co., Ltd. System, device and method for video frame interpolation using a structured neural network
US11508156B2 (en) * 2019-12-27 2022-11-22 Magna Electronics Inc. Vehicular vision system with enhanced range for pedestrian detection
KR20210103867A (ko) * 2020-02-14 2021-08-24 삼성전자주식회사 Vr 영상을 스트리밍하는 방법 및 장치
US11776088B2 (en) * 2020-03-11 2023-10-03 Samsung Electronics Co., Ltd. Electronic device generating image data and converting the generated image data and operating method of the electronic device
EP4016446A1 (en) * 2020-12-21 2022-06-22 Dassault Systèmes Intelligent denoising

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075581A1 (en) * 2016-09-15 2018-03-15 Twitter, Inc. Super resolution using a generative adversarial network

Also Published As

Publication number Publication date
US11854159B2 (en) 2023-12-26
KR20210045828A (ko) 2021-04-27
US20210118095A1 (en) 2021-04-22
US20240078633A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
KR102624027B1 (ko) 영상 처리 장치 및 방법
US20200311871A1 (en) Image reconstruction method and device
Qin et al. U2-Net: Going deeper with nested U-structure for salient object detection
EP3738082B1 (en) Accelerated quantized multiply-and-add operations
US20220335284A1 (en) Apparatus and method with neural network
US11954822B2 (en) Image processing method and device, training method of neural network, image processing method based on combined neural network model, constructing method of combined neural network model, neural network processor, and storage medium
WO2021018163A1 (zh) 神经网络的搜索方法及装置
CN111402130B (zh) 数据处理方法和数据处理装置
AU2019451948B2 (en) Real-time video ultra resolution
KR102545128B1 (ko) 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
EP3923233A1 (en) Image denoising method and apparatus
Zeng et al. Single image super-resolution using a polymorphic parallel CNN
CN111914997B (zh) 训练神经网络的方法、图像处理方法及装置
US11030750B2 (en) Multi-level convolutional LSTM model for the segmentation of MR images
JP7403638B2 (ja) 高速なスパースニューラルネットワーク
JP7096431B2 (ja) ビデオ分析方法及びそれに関連するモデル訓練方法、機器、装置
US20200074284A1 (en) Two-dimensional array-based neuromorphic processor and implementing method
US20240086694A1 (en) Neuromorphic method and apparatus with multi-bit neuromorphic operation
WO2020187029A1 (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
Bai et al. Digital rock core images resolution enhancement with improved super resolution convolutional neural networks
CN117561515A (zh) 拥塞预测模型训练方法、图像处理方法及装置
WO2023231796A1 (zh) 一种视觉任务处理方法及其相关设备
WO2022183325A1 (zh) 视频块处理方法及装置、神经网络的训练方法和存储介质
WO2024061123A1 (zh) 一种图像处理方法及其相关设备
US20240233074A9 (en) Image processing method and device, training method of neural network, image processing method based on combined neural network model, constructing method of combined neural network model, neural network processor, and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant