KR20230073871A - 영상 처리 장치 및 그 동작 방법 - Google Patents

영상 처리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20230073871A
KR20230073871A KR1020210160711A KR20210160711A KR20230073871A KR 20230073871 A KR20230073871 A KR 20230073871A KR 1020210160711 A KR1020210160711 A KR 1020210160711A KR 20210160711 A KR20210160711 A KR 20210160711A KR 20230073871 A KR20230073871 A KR 20230073871A
Authority
KR
South Korea
Prior art keywords
information
image
kernel
pixel
pixels
Prior art date
Application number
KR1020210160711A
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 KR1020210160711A priority Critical patent/KR20230073871A/ko
Priority to EP22895779.1A priority patent/EP4365827A1/en
Priority to PCT/KR2022/010264 priority patent/WO2023090569A1/ko
Priority to US17/894,685 priority patent/US20230169752A1/en
Publication of KR20230073871A publication Critical patent/KR20230073871A/ko

Links

Images

Classifications

    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • 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
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • 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]
    • 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/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Quality & Reliability (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

개시된 실시예는 영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 제1 영상의 특성 정보를 획득하고, 특성 정보를 복수의 그룹들로 분할하고, 복수의 그룹들 각각을, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로부터 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득하고, 복수의 출력 정보들에 기초하여, 제1 영상에 포함되는 픽셀들 각각에 대응하는 가중치 정보를 포함하는 가중맵(attention map)을 생성하고, 픽셀들 각각과 주변 픽셀과의 위치 관계에 따른 가중치 정보를 포함하는 공간 커널(spatial kernel)과 가중맵에 기초하여, 픽셀들 각각에 대응하는 커널을 포함하는 공간 가변 커널을 생성하고, 제1 영상에 공간 가변 커널(spatially variant kernel)을 적용함으로써, 제2 영상을 생성할 수 있는 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작 방법{Image processing apparatus and operating method for the same}
다양한 실시예들은 뉴럴 네트워크를 이용하여, 영상의 화질을 개선시키는 영상 처리 장치 및 그 동작 방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트렌드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용될 수 있다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
심층 신경망(예를 들어, 층이 깊은 컨볼루션 뉴럴 네트워크(CNN: Convolution Neural Network))을 이용하여, 영상의 디노이징(denoising)과 같은 영상 처리를 수행하는 경우, 영상에 포함되는 픽셀들 각각에 동일한 커널(필터)를 적용하게 되면, 영상 처리의 성능이 저하되는 문제점이 있다. 이에 따라, 영상 처리 시, 영상에 포함되는 픽셀들 또는 영역들 각각의 특성에 따라 서로 다른 커널을 적용하여, 적응적인 영상 처리를 수행할 필요가 있다. 또한, 적응적인 영상 처리를 수행하게 되면, 연산량이 증가하므로 연산량을 감소시키기 위한 방법이 필요하다.
다양한 실시예들은, 컨볼루션 뉴럴 네트워크를 이용하여, 영상에 포함된 픽셀들 각각의 특성에 따른 적응적인 영상 처리를 수행할 때, 연산량을 감소시킬 수 있는 영상 처리 장치 및 그 동작 방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는, 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 제1 영상의 특성 정보를 획득하고, 상기 특성 정보를 복수의 그룹들로 분할하고, 상기 복수의 그룹들 각각을, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 상기 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로부터 상기 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득하고, 상기 복수의 출력 정보들에 기초하여, 상기 제1 영상에 포함되는 픽셀들 각각에 대응하는 가중치 정보를 포함하는 가중맵(attention map)을 생성하고, 상기 픽셀들 각각과 상기 주변 픽셀과의 위치 관계에 따른 가중치 정보를 포함하는 공간 커널(spatial kernel)과 상기 가중맵에 기초하여, 상기 픽셀들 각각에 대응하는 커널을 포함하는 공간 가변 커널을 생성하고, 상기 제1 영상에 상기 공간 가변 커널(spatially variant kernel)을 적용함으로써, 제2 영상을 생성할 수 있다.
일 실시예에 따른 제1 영상의 특성 정보는, 상기 제1 영상에 포함되는 픽셀들 각각과 상기 픽셀들 각각의 주변 픽셀과의 유사도를 나타내는 유사도 정보를 포함할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제1 상대적 위치를 가지는 제1 주변 픽셀과의 차이에 기초하여, 제1 유사도 정보를 획득하고, 상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제2 상대적 위치를 가지는 제2 주변 픽셀과의 차이에 기초하여, 제2 유사도 정보를 획득할 수 있다.
일 실시예에 따른 프로세서는, 상기 특성 정보가 복수의 채널 정보들을 포함하는 경우, 상기 특성 정보를 채널 단위로 분할하여, 상기 복수의 그룹들을 획득할 수 있다.
일 실시예에 따른 프로세서는, 상기 특성 정보에 포함되는 복수의 채널 정보들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹에 포함되는 제1 채널 정보들을 상기 컨볼루션 뉴럴 네트워크의 제1 레이어로 입력하고, 상기 제2 그룹에 포함되는 제2 채널 정보들을, 상기 컨볼루션 뉴럴 네트워크에서 상기 제1 레이어보다 뒤에 위치하는 제2 레이어로 입력할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 레이어로부터 출력된 채널 정보들과 상기 제2 채널 정보들을 상기 제2 레이어로 입력할 수 있다.
일 실시예에 따른 프로세서는, 상기 컨볼루션 뉴럴 네트워크의 제3 레이어로부터 상기 제1 그룹에 대응하는 제1 출력 정보를 획득하고, 상기 컨볼루션 뉴럴 네트워크에서 상기 제3 레이어보다 뒤에 위치하는 제4 레이어로부터 상기 제2 그룹에 대응하는 제2 출력 정보를 획득할 수 있다.
일 실시예에 따른 프로세서는 상기 제1 영상의 특성 정보를 다운스케일하고, 상기 다운스케일된 특성 정보를 상기 복수의 그룹들로 분할할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상에 포함되는 픽셀 별 퀄리티 정보를 획득하고, 하나의 그룹에 대하여, 기 설정된 복수의 퀄리티 정보들에 대응하는 복수의 출력 값들을 획득하고, 상기 픽셀 별 퀄리티 정보에 기초하여, 상기 복수의 출력 값들에 대한 상기 픽셀 별 가중치들을 획득하고, 상기 픽셀 별 가중치들을 적용하여, 상기 복수의 출력 값들을 합산함으로써, 상기 하나의 그룹에 대응하는 출력 정보를 획득할 수 있다.
일 실시예에 따른 공간 커널은, 상기 공간 커널의 중심에 위치한 픽셀이 가장 큰 값을 가지고, 상기 중심에서 멀어질수록 픽셀 값이 작아질 수 있다.
일 실시예에 따른 공간 커널의 사이즈는 K x K 이고, 상기 가중맵의 채널 개수는 K2이며, 상기 프로세서는, 상기 공간 커널에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터로 변환하고, 상기 가중맵에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 상기 가중치 벡터의 곱셈 연산을 수행함으로써, 상기 공간 가변 커널을 생성할 수 있다.
일 실시예에 따른 공간 가변 커널은, 상기 제1 영상에 포함되는 픽셀들의 개수와 동일한 개수의 커널들을 포함할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상에 포함되는 제1 픽셀을 중심으로 하는 제1 영역에 상기 공간 가변 커널에 포함된 제1 커널을 적용하여, 필터링을 수행하고, 상기 제1 영상에 포함되는 제2 픽셀을 중심으로 하는 제2 영역에 상기 공간 변환 커널에 포함되는 제2 커널을 적용하여, 필터링을 수행함으로써, 상기 제2 영상을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치의 동작 방법은, 제1 영상의 특성 정보를 획득하는 단계, 상기 특성 정보를 복수의 그룹들로 분할하는 단계, 상기 복수의 그룹들 각각을, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 상기 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어로부터 상기 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득하는 단계, 상기 복수의 출력 정보들에 기초하여, 상기 제1 영상에 포함되는 픽셀들 각각에 대응하는 가중치 정보를 포함하는 가중맵(attention map)을 생성하는 단계, 상기 픽셀들 각각과 상기 주변 픽셀과의 위치 관계에 따른 가중치 정보를 포함하는 공간 커널(spatial kernel)과 상기 가중맵에 기초하여, 상기 픽셀들 각각에 대응하는 커널을 포함하는 공간 가변 커널을 생성하는 단계, 및 상기 제1 영상에 상기 공간 가변 커널(spatially variant kernel)을 적용함으로써, 제2 영상을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, CNN을 이용하여, 입력 영상의 세밀한 가장자리(edge) 처리와 텍스쳐를 유지하면서 노이즈를 제거하는, 디노이징(denosing)을 수행할 수 있다. 이때, 기존의 CNN을 이용한 디노이징에 비해, 영상 처리 성능은 유사하게 유지하면서, 연산량을 감소시킬 수 있다.
일 실시예에 따른 영상에 포함되는 영역 별로, 퀄리티 정보에 따라 서로 다른 커널을 적용하여, 적응적인 영상 처리를 수행할 수 있다. 이때, 기존의 퀄리티 정보에 따른 적응적인 영상 처리에 비해, 영상 처리 성능은 유사하게 유지하면서, 연산량을 감소시킬 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 영상 처리 네트워크를 이용하여 영상을 처리하는 동작을 나타내는 도면이다.
도 2는 일 실시예에 따른 영상 처리 네트워크를 나타내는 도면이다.
도 3은 일 실시예에 따른 유사도 정보를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 4a 및 도 4b는 다른 실시예에 따른 유사도 정보를 획득하는 방법들을 설명하기 위해 참조되는 도면들이다.
도 5는 일 실시예에 따른 제1 영상에 대한 주파수 특성 정보를 생성하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 가중맵을 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 7은 일 실시예에 따른 유사도 정보를 복수의 그룹들로 분할하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 컨볼루션 뉴럴 네트워크의 구조를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
도 10a 및 도 10b는 제1 컨볼루션 뉴럴 네트워크를 이용하여, 가중맵을 생성하는 방법과 일 실시예에 따른 제2 컨볼루션 뉴럴 네트워크를 이용하여, 가중맵을 생성하는 방법을 비교하기 위한 도면들이다.
도 11은 다른 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
도 12는 다른 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 공간 가변 커널을 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 14는 일 실시예에 따른 제1 영상에 공간 가변 커널을 적용하는 방법을 설명하기 위해 참조되는 도면이다.
도 15는 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 16은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 영상 처리 네트워크를 이용하여 영상을 처리하는 동작을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 영상 처리 네트워크(30)는 제1 영상(10)을 입력 받아, 제1 영상(10)을 처리함으로써, 제2 영상(20)을 생성할 수 있다. 이때, 제1 영상(10)은 노이즈를 포함하는 영상이거나, 저해상도 영상일 수 있다. 영상 처리 장치(100)는 영상 처리 네트워크(30)를 이용하여, 제1 영상(10)의 세밀한 가장자리(edge)와 텍스쳐를 유지하면서 노이즈를 제거하는 디노이징(denosing)을 수행함으로써, 제2 영상(20)을 생성할 수 있다. 제2 영상(20)은 제1 영상(10)보다 고해상도 영상일 수 있으며, 제1 영상(10)보다 화질이 개선된 영상일 수 있다.
일 실시예에 따른 영상 처리 네트워크(30)에서 수행되는 영상 처리에 대해서는 이하 도면들을 참조하여 자세히 설명하기로 한다.
도 2는 일 실시예에 따른 영상 처리 네트워크를 나타내는 도면이다.
도 2를 참조하면, 일 실시예에 따른 영상 처리 네트워크(30)는 특성 정보 생성부(210), 가중맵 생성부(220), 공간 가변 커널 생성부(230), 및 필터부(240)를 포함할 수 있다.
일 실시예에 따른 영상 처리 네트워크(30)는 제1 영상(10)을 입력 받아, 제2 영상(20)을 출력하는 구조를 포함할 수 있다.
일 실시예에 따른 특성 정보 생성부(210)는 제1 영상(10)에 대한 특성 정보를 획득할 수 있다. 예를 들어, 제1 영상(10)에 대한 특성 정보는, 제1 영상(10)에 포함되는 픽셀들 각각과 주변 픽셀과의 유사도 정보를 포함할 수 있다. 이때, 유사도 정보는, 픽셀들 각각의 픽셀 값과 픽셀들 각각의 주변에 위치한 주변 픽셀의 픽셀 값의 차이를 나타내는 정보일 수 있다. 유사도 정보를 생성하는 방법에 대해서는 도 3 내지 도 4b를 참조하여, 자세히 설명하기로 한다.
또한, 제1 영상(10)에 대한 특성 정보는 제1 영상(10)의 주파수 특성 정보를 포함할 수 있다. 제1 영상(10)의 주파수 특성 정보를 생성하는 방법에 대해서는 도 5를 참조하여 자세히 설명하기로 한다.
또한, 제1 영상(10)에 대한 특성 정보는 제1 영상(10)의 도메인 변환 정보, 제1 영상(10)의 그래디언트 특성 정보, 제1 영상(10)에 대한 영역 특성 정보 등을 포함할 수 있으며, 이에 한정되지 않는다.
도 3은 일 실시예에 따른 유사도 정보를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 특성 정보 생성부(210)는 제1 영상(10)에 포함되는 픽셀들 각각과 주변 픽셀과의 차이를 계산하여, 유사도 정보를 생성할 수 있다. 설명의 편의를 위하여, 본 개시의 실시예들에서는 제1 영상(10)의 너비가 W, 높이가 H이며, 채널 수가 1인 것으로 가정하여 설명하기로 한다.
도 3을 참조하면, 특성 정보 생성부(210)는 제1 영상(10)에 포함되는 복수의 픽셀들 중 제1 픽셀(310)을 중심으로 하는 제1 영역(301)에 포함되는 K2개의 픽셀들 각각과 제1 픽셀(310)의 차이 값을 계산할 수 있다. 이때, 제1 영역(301)의 크기인 K x K는 후술하는 공간 커널의 사이즈에 기초하여 결정될 수 있다.
특성 정보 생성부(210)는 제1 영역(301)에 포함되는 K2개의 픽셀들 각각과 제1 픽셀(310)의 차이 값을 계산함으로써, 제1 픽셀(310)에 대해서 K2개의 차이 값들을 획득할 수 있다. 예를 들어, 특성 정보 생성부(210)는 도 3에 도시된 바와 같이, 제1 픽셀(310)과 제1 주변 픽셀(311)과의 차이 값, 제1 픽셀(310)과 제2 주변 픽셀(312)과의 차이 값, 제1 픽셀(310)과 제3 주변 픽셀(313)과의 차이 값, 제1 픽셀(310)과 제4 주변 픽셀(314)과의 차이 값을 계산할 수 있다. 특성 정보 생성부(210)는 동일한 방식으로, 제1 픽셀(310) 이외에 제1 영상(10)에 포함되는 다른 픽셀들 각각에 대해서 K2개의 차이 값들을 획득할 수 있다. 예를 들어, 특성 정보 생성부(210)는 제1 픽셀(310)이외의 다른 픽셀들 각각을 중심 픽셀로 하여, 주변 픽셀들과의 K2개의 차이 값들을 획득할 수 있다.
특성 정보 생성부(210)는 픽셀들 각각에 대한 K2개의 차이 값들을, 유사도 정보(350)에서 해당 픽셀의 채널 방향으로 배열시킬 수 있으며, 이에 따라, 유사도 정보(350)의 크기는 W x H 이고, 채널 수가 K2개일 수 있다.
일 실시예에 따른 유사도 정보(350)의 제1 채널 영상은 제1 영상(10)에 포함되는 픽셀들 각각과 픽셀들 각각에 대해 제1 상대적 위치를 가지는 주변 픽셀(예를 들어, 픽셀들 각각을 기준으로 왼쪽으로 (K-1)/2 픽셀만큼, 위쪽으로 (K-1)/2 픽셀만큼 이동한 위치의 픽셀)과의 차이 값을 나타낼 수 있다. 또한, 유사도 정보(350)의 제2 채널 영상은 제1 영상(10)에 포함되는 픽셀들 각각과, 픽셀들 각각에 대해 제2 상대적 위치를 가지는 주변 픽셀(예를 들어, 픽셀들 각각을 기준으로 왼쪽으로 (K-1)/2 - 1 픽셀만큼, 위쪽으로 (K-1)/2 픽셀만큼 이동한 위치의 픽셀)과의 차이 값을 나타낼 수 있다. 다만, 이에 한정되지 않는다.
도 4a 및 도 4b는 다른 실시예에 따른 유사도 정보를 획득하는 방법들을 설명하기 위해 참조되는 도면들이다.
도 4a를 참조하면, 일 실시예에 따른 특성 정보 생성부(210)는 제1 영상(10)에 포함되는 픽셀들 각각을 수평 방향으로 p 픽셀(-(K-1)/2≤p≤(K-1)/2, p는 정수)만큼, 수직 방향으로 q 픽셀(-(K-1)/2≤q≤(K-1)/2, q는 정수)만큼 이동시켜 K2개의 영상들(410)을 획득할 수 있다. 이때, K2개의 영상들(410) 각각은 제1 영상(10)과 동일한 크기(W x H)를 가진다.
특성 정보 생성부(210)는 K2개의 영상들(410) 각각과 제1 영상(10)의 차이 영상을 계산함으로써, 유사도 정보(350)를 획득할 수 있다. 이에 따라, 유사도 정보(350)는 도 3에서 설명한 바와 같이, 크기는 W x H 이고, 채널 수가 K2개일 수 있다.
도 4b를 참조하면, 일 실시예에 따른 특성 정보 생성부(210)는 제1 영상(10)에 대해 마스크 처리를 수행함으로써, 유사도 정보를 획득할 수 있다.
마스크 처리는, 제1 영상(10)과 마스크 필터들(M1, M2, M3,..., Mn) 각각의 컨볼루션 연산을 통해 수행될 수 있다. 이때, n은 K2-1일 수 있으며, K2-1개의 마스크 필터들을 이용한 마스크 처리를 통해, 유사도 정보(350)에 포함되는 K2-1개의 채널 영상들(421, 422, 423,..., 429)을 생성할 수 있다. 예를 들어, 특성 정보 생성부(210)는 제1 영상(10)과 제1 마스크 필터(M1)와의 컨볼루션 연산을 통해, 유사도 정보(350)의 제1 채널 영상(421)을 생성하고, 제1 영상(10)과 제2 마스크 필터(M2)와의 컨볼루션 연산을 통해, 유사도 정보(350)의 제2 채널 영상(422)을 생성할 수 있다. 또한, 제1 영상(10)과 제3 마스크 필터(M3)와의 컨볼루션 연산을 통해, 유사도 정보(350)의 제3 채널 영상(423)을 생성하고, 제1 영상(10)과 제n 마스크 필터(Mn)와의 컨볼루션 연산을 통해, 유사도 정보(350)의 제(K2-1) 채널 영상(429)을 생성할 수 있다.
도 4b를 참조하면, 특성 정보 생성부(210)는 제1 영상(10)의 제1 영역(401)에 포함된 K x K개의 픽셀 값들과 마스크 필터들 각각에 포함된 K x K개의 픽셀 값들(파라미터 값들)을 각각 곱하여, 합산함으로써, 유사도 정보(350)에 포함되는 픽셀 값을 계산할 수 있다.
이때, 유사도 정보(350)를 계산하기 위한 주변 픽셀의 위치에 따라, 마스크 필터에 포함되는 파라미터 값들이 결정될 수 있다. 예를 들어, 제1 마스크 필터(M1)는, 중심 픽셀과, 중심 픽셀과 제1 상대적 위치(예를 들어, 기준 픽셀을 기준으로 왼쪽으로 (K-1)/2 픽셀만큼, 위쪽으로 (K-1)/2 픽셀만큼 이동한 위치)를 가지는 주변 픽셀의 유사도 정보를 계산하기 위한 마스크 필터일 수 있다. 이에 따라, 제1 마스크 필터(M1)는 중심 픽셀 값이 '1'이고, 중심 픽셀과 제1 상대적 위치를 가지는 픽셀 값이 '-1'이며, 나머지 픽셀 값들은 '0'일 수 있다.
일 실시예에 따른 특성 정보 생성부(210)는 제1 픽셀(415)을 중심으로 하는 제1 영역(401)과 제1 마스크 필터(M1)와의 컨볼루션 연산을 수행하여, 유사도 정보(350)의 제1 채널 영상(421)에 포함되는 제2 픽셀(431)의 값을 연산할 수 있다. 이때, 제1 영상(10)에서 제1 픽셀(415)의 위치와 유사도 정보(350)의 제1 채널 영상(421)에서의 제2 픽셀(431)의 위치는 동일할 수 있다. 제1 채널 영상(421)에 포함되는 제2 픽셀(431)의 값은, 제1 픽셀(415)의 값에서 제1 픽셀(415)과 제1 상대적 위치를 가지는 픽셀(411)의 값을 뺀 값일 수 있다.
제1 마스크 필터(M1)를 이용한 컨볼루션 연산에 따라, 제1 마스크 필터(M1)가 수평 방향 및 수직 방향으로 슬라이딩하면서, 제1 영상(10)에 포함되는 픽셀들 각각이, 제1 마스크 필터(M1)의 중심에 위치할 수 있다. 이때, 입력 영상(10) 상에서 슬라이딩하며 이동하는 제1 마스크 필터(M1)가 덮는 영역의 중심에 기준 픽셀이 위치하게 된다. 특성 정보 생성부(210)는, 변경된 영역과 제1 마스크 필터(M1)와의 컨볼루션 연산을 수행함으로써, 제1 채널 영상(421)에 포함되는 픽셀 값들을 연산할 수 있다.
또한, 제2 마스크 필터(M2)는, 중심 픽셀과, 중심 픽셀과 제2 상대적 위치(예를 들어, 기준 픽셀을 기준으로 왼쪽으로 (K-1)/2 - 1 픽셀만큼, 위쪽으로 (K-1)/2 픽셀만큼 이동한 위치)를 가지는 주변 픽셀의 유사도 정보를 계산하기 위한 마스크 필터일 수 있다. 이에 따라, 제2 마스크 필터(M2)는 중심 픽셀 값이 '1'이고, 중심 픽셀과 제2 상대적 위치를 가지는 픽셀 값이 '-1'이며, 나머지 픽셀 값들은 '0'일 수 있다.
특성 정보 생성부(210)는 제1 픽셀(515)을 중심으로 하는 제1 영역(401)과 제2 마스크 필터(M2)와의 컨볼루션 연산을 수행함으로써, 유사도 정보(350)의 제2 채널 영상(422)에 포함되는 제3 픽셀(432)의 값을 연산할 수 있다. 이때, 제1 영상(10)에서 제1 픽셀(415)의 위치와 제2 채널 영상(422)에서의 제3 픽셀(432)의 위치는 동일할 수 있다. 이에 따라, 제2 채널 영상(422)에 포함되는 제3 픽셀(432)의 값은, 제1 픽셀(415)의 값에서 제1 픽셀(415)과 제2 상대적 위치를 가지는 픽셀(412)의 값을 뺀 값일 수 있다.
이와 동일한 방식으로 제1 영상(10)에 포함되는 픽셀들 각각이, 컨볼루션 연산의 대상이 되는 영역의 중심에 위치하도록, 컨볼루션 연산의 대상이 되는 영역을 변경하고, 변경된 영역과 제2 마스크 필터(M2)와의 컨볼루션 연산을 수행함으로써, 제2 채널 영상(422)에 포함되는 픽셀 값들을 연산할 수 있다.
또한, 제3 마스크 필터(M3)는 중심 픽셀과, 중심 픽셀과 제3 상대적 위치를 가지는 주변 픽셀의 유사도 정보를 계산하기 위한 마스크 필터일 수 있으며, 제n 마스크 필터(Mn)는 중심 픽셀과, 중심 픽셀과 제n 상대적 위치를 가지는 주변 픽셀의 유사도 정보를 계산하기 위한 마스크 필터일 수 있다.
일 실시예에 따른 특성 정보 생성부(210)는 도 4b에 도시하고 설명한 바와 같이, K2-1개의 마스크 필터들을 이용하여, 마스크 처리를 수행함으로써, 제1 영상(10)에 포함되는 픽셀들 각각과, 픽셀들 각각에 대해 제1 내지 제 K2-1 상대적 위치를 가지는 주변 픽셀들과의 차이 값들을 포함하는 유사도 정보를 획득할 수 있다. 예를 들어, 특성 정보 생성부(210)는 제1 내지 제 K2-1 마스크들(M1, M2, M3,...,Mn)을 이용하여, 유사도 정보(350)의 제1 내지 제 K2-1 채널 영상들(421, 422, 423,...,429)을 생성할 수 있다.
또한, 일 실시예에 따른 유사도 정보(350)는 제1 영상(10)에 포함되는 픽셀들 각각에 대해, 자기 자신과의 유사도 정보를 나타내는 제K2 채널 영상을 포함할 수 있다. 따라서, 제K2 채널 영상은 모든 픽셀 값이 '0'일 수 있다.
한편, 도 3, 도 4a 및 4b에서 도시하고 설명한 유사도 정보(350)를 획득하는 방법은 일 예들에 불과하며, 특성 정보 생성부(210)는 다양한 방법으로 제1 영상(10)에 포함되는 픽셀들 각각과 주변 픽셀과의 유사도 정보를 획득할 수 있다.
도 5는 일 실시예에 따른 제1 영상에 대한 주파수 특성 정보를 생성하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 특성 정보 생성부(210)는 제1 영상(10)에 대한 주파수 특성 정보를 생성할 수 있다. 예를 들어, 특성 정보 생성부(210)는 제1 영상(10)에 필터링을 수행함으로써, 적어도 하나의 특성 정보를 획득할 수 있다.
예를 들어, 특성 정보 생성부(210)는 가우시안 커널을 이용한 필터링 또는 이산 코사인 변환(DCT; Discret Cosine Transform)나 웨이블렛 변환(Wavelet transform) 등을 수행함으로써, 주파수 특성 정보를 획득할 수 있다.
도 5를 참조하면, 특성 정보 생성부(210)는 제1 영상(10)에 4개의 필터 커널들(511, 512, 513, 514)을 적용하여, 컨볼루션 연산을 수행할 수 있다. 특성 정보 생성부(210)는 제1 영상(10)과 제1 필터 커널(511)과의 컨볼루션 연산을 수행하여, 제1 필터링 정보(521)를 획득하고, 제1 영상(10)과 제2 필터 커널(512)과의 컨볼루션 연산을 수행하여, 제2 필터링 정보(522)를 획득하며, 제1 영상(10)과 제3 필터 커널(513)과의 컨볼루션 연산을 수행하여, 제3 필터링 정보(523)를 획득하고, 제1 영상(10)과 제4 필터 커널(514)과의 컨볼루션 연산을 수행하여, 제4 필터링 정보(524)를 획득할 수 있다. 도 5에서는 필터 커널들이 4개인 것으로 도시하고 설명하였지만, 이에 한정되는 것은 아니다. 또한, 필터 커널들은 가우시안 커널일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른, 제1 영상(10)을 필터링하기 위한 필터 커널들(511, 512, 513, 514)의 가중치 값들은 기 설정된 값들일 수 있다.
특성 정보 생성부(210)는 제1 필터링 정보(521)와 제2 필터링 정보(522)의 차이를 계산하여, 제1 주파수 특성 정보(531)를 획득하고, 제2 필터링 정보(522)와 제3 필터링 정보(523)의 차이를 계산하여, 제2 주파수 특성 정보(532)를 획득하며, 제3 필터링 정보(523)와 제4 필터링 정보(524)의 차이를 계산하여, 제3 주파수 특성 정보(533)를 획득할 수 있다.
이때, 제1 내지 제3 주파수 특성 정보들(531, 532, 533)은 각각 고 주파수(high frequency) 특성 정보, 중 주파수(middle frequency) 특성 정보 및 저 주파수(low frequency) 특성 정보일 수 있다.
또한, 일 실시예에 따른 특성 정보 생성부(210)는 제1 내지 제3 주파수 특성 정보들(531, 532, 533)로부터 적어도 하나의 서브 특징 정보를 추출할 수 있다. 예를 들어, 특성 정보 생성부(210)는 제1 주파수 특성 정보(531)와 제1 서브 커널(541)과의 컨볼루션 연산을 통해, 제1 서브 주파수 특징 정보(551)를 추출할 수 있으며, 제2 주파수 특성 정보(532)와 제2 서브 커널(542)과의 컨볼루션 연산을 통해, 제2 서브 주파수 특징 정보(552)를 추출할 수 있다. 또한, 특성 정보 생성부(210)는 제3 주파수 특성 정보(533)와 제3 서브 커널(543)과의 컨볼루션 연산을 통해, 제3 서브 주파수 특성 정보(553)를 추출할 수 있다.
일 실시예에 따른 제1 영상(10)에 대한 특성 정보는 복수의 주파수 특성 정보들(예를 들어, 제1 내지 제3 주파수 특성 정보들(531, 532, 533)) 또는 복수의 서브 주파수 특성 정보들(예를 들어, 제1 내지 제3 서브 주파수 특성 정보들(551, 552, 553))을 포함할 수 있다.
또한, 특성 정보 생성부(210)는 제1 영상(10)에 대한 그래디언트 특성 정보를 생성할 수 있다. 일 실시예에 따른 그래디언트 특성들은 제1 영상에 포함된 픽셀들 각각에서 나타나는 가장자리(edge)의 특성에 기초하여 결정될 수 있으며, 강도(strength) 특성, 각도(angle) 특성, 및 일관성(coherence) 중 적어도 하나를 포함할 수 있다. 예를 들어, 가장자리(edge)가 날카로울수록 더 큰 강도를 가지도록 강도 특성이 결정될 수 있다. 각도 특성은, 가장자리의 방향을 나타낼 수 있다. 일관성은 가장자리의 방향성의 척도(a measure of how directional the edge is)를 나타낼 수 있다. 가장자리가 곡선인 경우보다 직선인 경우, 일관성이 높게 나타난다.
일 실시예에 따른 특성 정보 생성부(210)는 제1 영상에 포함된 픽셀들 각각의 그래디언트 값에 대한 고유 성분 분석을 통하여, 계산된 고유 값들(eigen values) 및 고유 벡터들(eigen vector)에 기초하여, 제1 영상에 대한 그래디언트 특성을 결정할 수 있다.
일 실시예에 따른 제1 영상에 대한 특성 정보는 제1 영상에 대한 복수의 그래디언트 특성 정보들을 포함할 수 있다.
다시 도 2를 참조하면, 가중맵 생성부(220)는 특성 정보에 기초하여, 가중맵을 생성할 수 있다. 이하에서는, 설명의 편의를 위하여 제1 영상에 대한 특성 정보가 유사도 정보인 것을 예로 들어 설명하기로 한다.
일 실시예에 따른 가중맵 생성부(220)는 유사도 정보에 기초하여, 가중맵을 생성할 수 있다. 유사도 정보에 기초하여, 가중맵을 생성하는 경우, 픽셀 값이 유사한 주변 픽셀들에 큰 가중치를 주도록 생성된 가중맵을 영상 처리에 이용함으로써, 영상 처리된 영상의 화질이 개선될 수 있다.
가중맵 생성부(220)는 제1 영상에 포함되는 픽셀들 각각과 주변 픽셀들과의 유사도 정보에 기초하여, 픽셀들 각각에 대응하는 가중치 정보를 나타내는 가중맵을 생성할 수 있다. 가중맵을 생성하는 방법에 대해서는 도 6을 참조하여, 자세히 설명하기로 한다.
도 6은 일 실시예에 따른 가중맵을 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 6을 참조하면, 가중맵 생성부(220)는 컨볼루션 뉴럴 네트워크(610)를 이용하여, 가중맵(650)을 생성할 수 있다. 일 실시예에 따른 컨볼루션 뉴럴 네트워크(610)는 하나 이상의 레이어들을 포함할 수 있으며, 일 실시예에 따른 특성 정보 생성부(210)에서 획득된 특성 정보를 입력 받을 수 있다. 이때, 특성 정보는 복수의 그룹들로 분할되어, 분할된 복수의 그룹들 각각은 서로 다른 레이어로 입력될 수 있다.
도 6에서는 특성 정보가 유사도 정보인 것으로 설명하기로 한다. 도 6에 도시된 바와 같이, K2개의 채널을 가지는 유사도 정보(350)는 채널 단위로 제1 그룹(621), 제2 그룹(622), 제3 그룹(623) 및 제4 그룹(624)으로 분할되어, 컨볼루션 뉴럴 네트워크(610)에 포함된 서로 다른 레이어들로 입력될 수 있다. 도 6에서는 유사도 정보(350)를 기준으로 설명하였지만, 특성 정보가 주파수 특성 정보, 그래디언트 특성 정보 등인 경우에도, 특성 정보는 복수의 그룹들로 분할되어, 컨볼루션 뉴럴 네트워크(610)에 포함된 서로 다른 레이어들로 입력될 수 있다.
한편, 유사도 정보(350)가 복수의 그룹들로 분할되는 방법에 대해서는 도 7을 참조하여 자세히 설명하기로 한다.
다시, 도 6을 참조하면, 일 실시예에 따른 가중맵 생성부(220)는 컨볼루션 뉴럴 네트워크(610)에 포함되는 서로 다른 레이어들로 복수의 입력 정보들(621, 622, 623, 624)을 입력할 수 있다. 예를 들어, 제1 입력 정보(621), 제2 입력 정보(622), 제3 입력 정보(623) 및 제4 입력 정보(624)는 서로 다른 레이어들로 입력될 수 있다. 가중맵 생성부(220)는 컨볼루션 뉴럴 네트워크(610)를 이용하여, 복수의 입력 정보들(621, 622, 623, 624)에 대한 연산을 수행할 수 있다. 컨볼루션 뉴럴 네트워크(610)에 포함되는 레이어들 각각은 이전 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 연산을 수행하여 결과 값들을 획득하며, 획득된 결과 값들을 다음 레이어로 출력하는 구조를 가진다.
또한, 도 6을 참조하면, 가중맵 생성부(220)는 컨볼루션 뉴럴 네트워크(610)에 포함되는 서로 다른 레이어들로부터 복수의 입력 정보들(621, 622, 623, 624)에 대응하는 복수의 출력 정보들(631, 632, 633, 634)을 획득할 수 있다. 예를 들어, 제1 출력 정보(631), 제2 출력 정보(632), 제3 출력 정보(633) 및 제4 출력 정보(634)는 서로 다른 레이어들로부터 출력될 수 있다.
가중맵 생성부(220)는 복수의 출력 정보들에 기초하여, 가중맵(650)을 생성할 수 있다. 복수의 출력 정보들에 기초하여 가중맵(650)이 생성되는 방법에 대해서는 도 9를 참조하여, 자세히 후술하기로 한다. 가중맵 생성부(220)에서 생성된 가중맵(650)의 크기는 W x H 이고, 채널 수는 K2개일 수 있다.
도 7은 일 실시예에 따른 유사도 정보를 복수의 그룹들로 분할하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따른 유사도 정보(350)의 크기는 W x H 이고, 채널 수가 K2개일 수 있다. 또한, 유사도 정보(350)는 유사도 정보(350)에 포함된 채널 별 특성 값에 따라 복수의 그룹으로 분할될 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 유사도 정보(350)에 포함된 채널들 각각은 강도(intensity) 값을 가질 수 있다. 이때, 채널 별 강도(intensity)는 하나의 채널에 포함된 픽셀 값들을 모두 합함으로써 획득될 수 있으나, 이에 한정되지 않는다.
가중맵 생성부(220)는 채널 별 강도(intensity)에 따라 유사도 정보(350)를 채널 단위로 복수의 그룹들로 분할할 수 있다. 예를 들어, 가중맵 생성부(220)는 채널 별 강도의 크기에 따라 제1 그룹, 제2 그룹, 제3 그룹 및 제4 그룹으로 분할할 수 있다.
도 7을 참조하면, 일 실시예에 따른 유사도 정보(350)에 포함된 채널들은 순서대로 채널 번호(인덱스)를 포함할 수 있으며, 예를 들어, 유사도 정보(350)에 포함된 첫번째 채널에는 채널 번호 '0'이 부여되고, 마지막 채널에는 채널 번호 'K2-1'이 부여될 수 있다. 유사도 정보(350)에 포함된 채널들을 채널 번호 순서대로 왼쪽에서 오른쪽으로, 위에서 아래로 나열한 2차원 영상(710)에서, 제1 영역(711)에 위치한 채널들은 제1 그룹(721)으로, 제2 영역(712)에 위치한 채널들은 제2 그룹(722)으로, 제3 영역(713)에 위치한 채널들은 제3 그룹(723)으로, 제4 영역(714)에 위치한 채널들은 제4 그룹(724)으로 분할될 수 있다.
유사도 정보(350)가 169개의 채널들을 포함하는 경우, 제1 그룹(721)에는 48개의 채널이, 제2 그룹(722)에는 40개의 채널이, 제3 그룹(723)에는 40개의 채널이, 제4 그룹(724)에는 41개의 채널이 포함될 수 있다.
도 7에서는 유사도 정보(350)가 채널 별 강도 크기에 따라 복수의 그룹들로 분할되는 예를 도시하고 설명하였지만, 이에 한정되지 않으며, 채널 별 다른 특성 값에 따라 복수의 그룹들로 분할될 수도 있다.
도 8은 일 실시예에 따른 컨볼루션 뉴럴 네트워크의 구조를 설명하기 위한 도면이다.
도 8을 참조하면, 일 실시예에 따른 컨볼루션 뉴럴 네트워크(610)는 하나 이상의 컨볼루션 레이어들, 하나 이상의 활성화 레이어들, 하나 이상의 연결(concatenation) 레이어들, 및 하나 이상의 스플릿(split) 레이어들을 포함할 수 있다. 또한, 컨볼루션 뉴럴 네트워크(610)는 요소별 합산 레이어를 더 포함할 수 있다.
도 8에서는 설명의 편의를 위해, 일 실시예에 따른 컨볼루션 뉴럴 네트워크(610)가 12개의 컨볼루션 레이어들을 포함하는 것으로 설명하기로 한다.
도 8을 참조하면, 제1 그룹(721, 이하, 제1 입력 정보라 지칭하기로 한다)은 제1 컨볼루션 레이어(811)로 입력될 수 있다. 제1 입력 정보(721)는 48개의 채널들을 포함할 수 있으며, 제1 컨볼루션 레이어(811)에서는 제1 입력 정보(721)와 제1 컨볼루션 레이어(811)에 포함된 제1 커널과의 컨볼루션 연산이 수행되어, 제1 특징 정보가 획득될 수 있다. 제1 특징 정보는 16개의 채널들을 포함할 수 있으며, 제1 활성화 레이어(831)로 입력될 수 있다. 제1 활성화 레이어(831)에서는 제1 활성화 레이어(831)에 입력된 제1 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제1 활성화 레이어(831)에서 출력되는 값은 제1 연결 레이어(851)에 입력될 수 있으며, 제1 활성화 레이어(831)에서 출력되는 값은 16개의 채널들을 포함할 수 있다.
또한, 제2 그룹(722, 이하, 제2 입력 정보라 지칭하기로 한다)도 제1 연결 레이어(851)에 입력될 수 있다. 제1 연결 레이어(851)에서는 제1 연결 레이어(851)에 입력된 값들(제1 활성화 레이어(831)에서 출력되는 값, 제2 입력 정보(722))을 채널 방향으로 연결시켜, 제2 컨볼루션 레이어(812)로 출력할 수 있다. 이에 따라, 제2 컨볼루션 레이어(812)로 입력되는 값은 56(=40+16)개의 채널들을 포함할 수 있다.
제2 컨볼루션 레이어(812)에서는 제2 컨볼루션 레이어(812)에 입력된 값과 제2 컨볼루션 레이어(812)에 포함된 제2 커널과의 컨볼루션 연산이 수행되어, 제2 특징 정보가 획득될 수 있다. 제2 특징 정보는 20개의 채널들을 포함할 수 있으며, 제2 활성화 레이어(832)로 입력될 수 있다. 제2 활성화 레이어(832)에서는 제2 활성화 레이어(832)에 입력된 제2 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제2 활성화 레이어(832)에서 출력되는 값은 제2 연결 레이어(852)에 입력될 수 있으며, 제2 활성화 레이어(832)에서 출력되는 값은 20개의 채널들을 포함할 수 있다.
또한, 제3 그룹(723, 이하, 제3 입력 정보라 지칭하기로 한다)도 제2 연결 레이어(852)에 입력될 수 있다. 제2 연결 레이어(852)에서는 제2 연결 레이어(852)에 입력된 값들(제2 활성화 레이어(832)에서 출력되는 값, 제3 입력 정보(723))을 채널 방향으로 연결시켜 제3 컨볼루션 레이어(813)로 출력할 수 있다. 이에 따라, 제3 컨볼루션 레이어(813)로 입력되는 값은 60(=40+20)개의 채널들을 포함할 수 있다.
제3 컨볼루션 레이어(813)에서는 제3 컨볼루션 레이어(813)에 입력된 값과 제3 컨볼루션 레이어(813)에 포함된 제3 커널과의 컨볼루션 연산이 수행되어, 제3 특징 정보가 획득될 수 있다. 제3 특징 정보는 20개의 채널들을 포함할 수 있으며, 제3 활성화 레이어(833)로 입력될 수 있다. 제3 활성화 레이어(833)에서는 제3 활성화 레이어(833)에 입력된 제3 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제3 활성화 레이어(833)에서 출력되는 값은 제3 연결 레이어(853)에 입력될 수 있으며, 제3 활성화 레이어(833)에서 출력되는 값은 20개의 채널들을 포함할 수 있다.
또한, 제4 그룹(724, 이하, 제4 입력 정보라 지칭하기로 한다)도 제3 연결 레이어(853)에 입력될 수 있다. 제3 연결 레이어(853)에서는 제3 연결 레이어(853)에 입력된 값들(제3 활성화 레이어(833)에서 출력되는 값, 제4 입력 정보(724))을 채널 방향으로 연결시켜 제4 컨볼루션 레이어(814)로 출력할 수 있다. 이에 따라, 제4 컨볼루션 레이어(814)로 입력되는 값은 61(=41+20)개의 채널들을 포함할 수 있다. 제4 컨볼루션 레이어(814)에서는 제4 컨볼루션 레이어(814)에 입력된 값과 제4 컨볼루션 레이어(814)에 포함된 제4 커널과의 컨볼루션 연산이 수행되어, 제4 특징 정보가 획득될 수 있다. 제4 특징 정보는 24개의 채널들을 포함할 수 있으며, 제4 활성화 레이어(834)로 입력될 수 있다. 제4 활성화 레이어(834)에서는 제4 활성화 레이어(834)에 입력된 제4 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제4 활성화 레이어(834)에서 출력되는 값은 제5 컨볼루션 레이어(815)로 입력될 수 있다.
제5 컨볼루션 레이어(815)에서는 제5 컨볼루션 레이어(815)에 입력된 값과 제5 컨볼루션 레이어(815)에 포함된 제5 커널과의 컨볼루션 연산이 수행되어, 제5 특징 정보가 획득될 수 있다. 제5 특징 정보는 24개의 채널들을 포함할 수 있으며, 요소별 합산 레이어(860)로 입력될 수 있다.
또한, 제4 활성화 레이어(834)에서 출력되는 값도 요소별 합산 레이어(860)로 입력될 수 있다. 요소별 합산 레이어(860)에서는 제5 특징 정보와 제4 활성화 레이어(834)에서 출력되는 값을 요소별 합산하는 연산을 수행할 수 있다.
요소별 합산 레이어(860)에서 출력되는 값은 제6 컨볼루션 레이어(816)로 입력될 수 있다. 제6 컨볼루션 레이어(816)에 입력된 값과 제6 컨볼루션 레이어(816)에 포함된 제6 커널과의 컨볼루션 연산이 수행되어, 제6 특징 정보가 획득될 수 있다. 제6 특징 정보는 32개의 채널들을 포함할 수 있다. 제6 특징 정보는 제6 활성화 레이어(836)로 입력될 수 있다. 제6 활성화 레이어(836)에서는 제6 활성화 레이어(836)에 입력된 제6 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제6 활성화 레이어(836)에서 출력되는 값은 제1 스플릿 레이어(871)에 입력될 수 있으며, 제6 활성화 레이어(836)에서 출력되는 값은 32개의 채널들을 포함할 수 있다.
제1 스플릿 레이어(871)에서는 32개의 채널들을 1/2로 분리하여 16개의 채널들은 제7 컨볼루션 레이어(817)로 출력하고, 나머지 16개의 채널들은 제8 컨볼루션 레이어(818)로 출력할 수 있다.
제7 컨볼루션 레이어(817)로 입력된 값과 제7 컨볼루션 레이어(817)에 포함된 제7 커널과 컨볼루션 연산이 수행되어, 제1 출력 정보(881)가 획득될 수 있다. 제1 출력 정보(881)는 48개의 채널들을 포함할 수 있으며, 제1 출력 정보(881)는 제1 입력 정보(721)에 대응할 수 있다.
또한, 제8 컨볼루션 레이어(818)로 입력된 값과 제8 컨볼루션 레이어(818)에 포함된 제8 커널과 컨볼루션 연산이 수행되어, 제8 특징 정보가 획득될 수 있다. 제8 특징 정보는 28개의 채널들을 포함할 수 있다. 제8 특징 정보는 제8 활성화 레이어(838)로 입력될 수 있다. 제8 활성화 레이어(838)에서는 제8 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제8 활성화 레이어(838)에서 출력되는 값은 제2 스플릿 레이어(872)에 입력될 수 있으며, 제8 활성화 레이어(838)에서 출력되는 값은 28개의 채널들을 포함할 수 있다.
제2 스플릿 레이어(872)에서는 28개의 채널들을 1/2로 분리하여, 14개의 채널들은 제9 컨볼루션 레이어(819)로 출력하고, 나머지 14개의 채널들은 제10 컨볼루션 레이어(820)로 출력할 수 있다.
제9 컨볼루션 레이어(819)로 입력된 값과 제9 컨볼루션 레이어(819)에 포함된 제9 커널과 컨볼루션 연산이 수행되어, 제2 출력 정보(882)가 획득될 수 있다. 제2 출력 정보(882)는 40개의 채널들을 포함할 수 있으며, 제2 출력 정보(882)는 제2 입력 정보(722)에 대응할 수 있다.
또한, 제10 컨볼루션 레이어(820)로 입력된 값과 제10 컨볼루션 레이어(820)에 포함된 제10 커널과 컨볼루션 연산이 수행되어, 제10 특징 정보가 획득될 수 있다. 제10 특징 정보는 28개의 채널들을 포함할 수 있다. 제10 특징 정보는 제10 활성화 레이어(840)로 입력될 수 있다. 제10 활성화 레이어(840)에서는 제10 특징 정보에 활성화 함수를 적용하는 연산이 수행될 수 있다. 제10 활성화 레이어(840)에서 출력되는 값은 제3 스플릿 레이어(873)에 입력될 수 있으며, 제10 활성화 레이어(840)에서 출력되는 값은 28개의 채널들을 포함할 수 있다.
제3 스플릿 레이어(873)에서는 28개의 채널들을 1/2로 분리하여, 14개의 채널들은 제11 컨볼루션 레이어(821)로 출력하고, 나머지 14개의 채널들은 제12 컨볼루션 레이어(822)로 출력할 수 있다.
제11 컨볼루션 레이어(821)로 입력된 값과 제11 컨볼루션 레이어(821)에 포함된 제11 커널과의 컨볼루션 연산이 수행되어, 제3 출력 정보(883)가 획득될 수 있다. 제3 출력 정보(883)는 40개의 채널들을 포함할 수 있으며, 제3 출력 정보(883)는 제3 입력 정보(723)에 대응할 수 있다.
또한, 제12 컨볼루션 레이어(822)로 입력된 값과 제12 컨볼루션 레이어(822)에 포함된 제12 커널과 컨볼루션 연산이 수행되어, 제4 출력 정보(884)가 획득될 수 있다. 제4 출력 정보(884)는 41개의 채널들을 포함할 수 있으며, 제4 출력 정보(884)는 제4 입력 정보(724)에 대응할 수 있다.
한편, 일 실시예에 따른 가중맵 생성부(220)는 제1 내지 제4 출력 정보(881, 882, 883, 884)에 기초하여, 가중맵(650)을 생성할 수 있다.
이에 대해서는 도 9를 참조하여, 자세히 설명하기로 한다.
도 9는 일 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
도 9를 참조하면, 가중맵 생성부(220)는 제1 출력 정보(881)에 포함된 채널들의 순서 및 제1 입력 정보(721)에 포함된 채널들의 순서에 기초하여, 제1 출력 정보(881)에 포함된 채널들에 제1 입력 정보(721)에 포함된 채널들과 동일한 채널 번호(인덱스)를 부여할 수 있다. 예를 들어, 가중맵 생성부(220)는 제1 입력 정보(721)에 포함된 첫번째 채널의 채널 번호가 '0'인 경우, 제1 출력 정보(881)에 포함된 첫번째 채널에 채널 번호 '0'을 부여할 수 있다.
또한, 제2 내지 제4 출력 정보(882, 883, 884)에 대해서도 동일한 방식으로 채널 번호를 부여할 수 있다. 예를 들어, 제2 입력 정보(722)에 포함된 첫번째 채널의 채널 번호가 '5'인 경우, 제2 출력 정보(882)에 포함된 첫번째 채널에 채널 번호 '5'를 부여할 수 있다.
도 9의 2차원 영상(920)은 제1 내지 제4 출력 정보(881, 882, 883, 884)에 포함된 채널들을 채널 번호 순서대로 왼쪽에서 오른쪽으로, 위에서 아래로 나열한 영상을 나타낸다.
가중맵 생성부(220)는 제1 내지 제4 출력 정보(881, 882, 883, 884)에 채널 번호가 할당되면, 제1 내지 제4 출력 정보(881, 882, 883, 884)에 포함된 채널들을 채널 번호 순서로 나열하여, 제1 내지 제4 출력 정보(881, 882, 883, 884)를 통합함으로써, 가중맵(650)을 생성할 수 있다.
도 10a 및 도 10b는 제1 컨볼루션 뉴럴 네트워크를 이용하여, 가중맵을 생성하는 방법과 일 실시예에 따른 제2 컨볼루션 뉴럴 네트워크를 이용하여, 가중맵을 생성하는 방법을 비교하기 위한 도면들이다.
도 10a를 참조하면, 제1 컨볼루션 뉴럴 네트워크(1010)는 14개의 컨볼루션 레이어들, 9개의 활성화 레이어들, 4개의 요소별 합산 레이어들을 포함할 수 있다. 이때, 169개의 채널들을 포함하는 유사도 정보(350)는 제1 컨볼루션 뉴럴 네트워크(1010)로 입력되고, 제1 컨볼루션 뉴럴 네트워크(1010)에서, 14개의 컨볼루션 레이어들 각각에서의 컨볼루션 연산, 9개의 활성화 레이어들 각각에서의 활성화 연산, 4개의 요소별 합산 레이어들 각각에서의 요소별 합산 연산이 수행됨으로써, 가중맵(650)이 생성될 수 있다.
169개의 채널들을 포함하는 유사도 정보(350)를 제1 컨볼루션 뉴럴 네트워크(1010)를 이용하여 영상 처리하는 경우, 제1 컨볼루션 레이어(C1)의 입력 정보의 채널 개수는 169개이며, 출력 정보의 채널 개수는 134개일 수 있다. 또한, 제2 컨볼루션 레이어(C2)의 입력 정보의 채널 개수는 134개이며, 출력 정보의 채널 개수는 99개일 수 있다. 또한, 제3 컨볼루션 레이어(C3)의 입력 정보의 채널 개수는 99개이며, 출력 정보의 채널 개수는 64개일 수 있다. 또한, 제4 내지 11 컨볼루션 레이어들(C4, C5, C6, C7, C8, C9, C10, C11)의 입력 정보의 채널 개수는 64개이며, 출력 정보의 채널 개수는 64개일 수 있다. 또한, 제12 컨볼루션 레이어(C12)의 입력 정보의 채널 개수는 64개이며, 출력 정보의 채널 개수는 99개일 수 있다. 제13 컨볼루션 레이어(C13)의 입력 정보의 채널 개수는 99개이며, 출력 정보의 채널 개수는 134개일 수 있다. 또한, 제14 컨볼루션 레이어(C14)의 입력 정보의 채널 개수는 134개이며, 출력 정보의 채널 개수는 169개일 수 있다.
한편, 도 10b를 참조하면, 제2 컨볼루션 뉴럴 네트워크(1020)는 도 8에서 도시하고 설명한 컨볼루션 뉴럴 네트워크(610)일 수 있다.
169개의 채널들을 포함하는 유사도 정보(350)를 제2 컨볼루션 뉴럴 네트워크(1020)를 이용하여 영상 처리하는 경우, 제1 컨볼루션 레이어(C'1)의 입력 정보의 채널 개수는 48개이며, 출력 정보의 채널 개수는 16개일 수 있다. 또한, 제2 컨볼루션 레이어(C'2)의 입력 정보의 채널 개수는 56개이며, 출력 정보의 채널 개수는 20개일 수 있다. 또한, 제3 컨볼루션 레이어(C'3)의 입력 정보의 채널 개수는 60개이며, 출력 정보의 채널 개수는 20개일 수 있다. 또한, 제4 컨볼루션 레이어(C'4)의 입력 정보의 채널 개수는 61개이며, 출력 정보의 채널 개수는 24개일 수 있으며, 제5 컨볼루션 레이어(C'5)의 입력 정보의 채널 개수는 24개이며, 출력 정보의 채널 개수는 24개일 수 있다. 제6 컨볼루션 레이어(C'6)의 입력 정보의 채널 개수는 24개이며, 출력 정보의 채널 개수는 32개일 수 있다. 또한, 제7 컨볼루션 레이어(C'7)의 입력 정보의 채널 개수는 16개이며, 출력 정보의 채널 개수는 48개일 수 있다. 또한, 제8 컨볼루션 레이어(C'8)의 입력 정보의 채널 개수는 16개이며, 출력 정보의 채널 개수는 28개일 수 있다. 제9 컨볼루션 레이어(C'9)의 입력 정보의 채널 개수는 14개이며, 출력 정보의 채널 개수는 40개일 수 있다. 제10 컨볼루션 레이어(C'10)의 입력 정보의 채널 개수는 14개이며, 출력 정보의 채널 개수는 28개일 수 있다. 제11 컨볼루션 레이어(C'11)의 입력 정보의 채널 개수는 14개이며, 출력 정보의 채널 개수는 40개일 수 있다. 제12 컨볼루션 레이어(C'12)의 입력 정보의 채널 개수는 14개이며, 출력 정보의 채널 개수는 41개일 수 있다.
한편, 컨볼루션 레이어의 입력 정보의 크기가 W x H이고, 채널의 개수가 Ci이며, 컨볼루션 레이어에 포함된 커널의 크기가 K x K이며, 컨볼루션 레이어의 출력 정보의 크기가 W x H이고, 채널의 개수가 Co인 경우, 컨볼루션 레이어에서 수행되는 컨볼루션 연산의 연산량은 다음과 같은 수학식 1로 나타낼 수 있다.
[수학식 1]
연산량= W x H x K2 x Ci x Co
이에 따라, 유사도 정보(350)의 크기가 128 x 128이고, 제1 컨볼루션 뉴럴 네트워크(1010)에 포함된 제1 내지 제14 컨볼루션 레이어들(C1, C2, ??, C14) 각각에 포함된 커널의 크기가 3 x 3인 경우, 제1 컨볼루션 뉴럴 네트워크(1010)에서 수행되는 전체 컨볼루션 연산의 연산량(연산량 1)은 도 10a에 도시된 바와 같이, 17,291,280,384일 수 있다.
또한, 제2 컨볼루션 뉴럴 네트워크(1020)에 포함된 제1 내지 제12 컨볼루션 레이어들(C'1, C'2, ??, C'12) 각각에 포함된 커널의 크기가 3 x 3인 경우, 제2 컨볼루션 뉴럴 네트워크(1020)에서 수행되는 전체 컨볼루션 연산의 연산량(연산량 2)은 도 10b에 도시된 바와 같이, 1,356,300,288일 수 있다.
제2 컨볼루션 뉴럴 네트워크(1020)에서 수행되는 전체 컨볼루션 연산의 연산량(연산량 2)은 제1 컨볼루션 뉴럴 네트워크(1010)에서 수행되는 전체 컨볼루션 연산의 연산량(연산량 1)의 1/12.75배이다.
한편, 컨볼루션 연산의 연산량을 경량화하기 위해, 컨볼루션 연산을 뎁스 와이즈(depth-wise) 컨볼루션과 포인트 와이즈(point-wise) 컨볼루션으로 나누어 수행하는 경우, 컨볼루션 연산의 연산량은 다음과 같은 수학식 2로 나타낼 수 있다.
[수학식 2]
연산량 = W x H x (K2 x Ci) + W x H x 12 x Ci x Co
= W x H x Ci x (K2 + Co)
따라서, 제1 컨볼루션 뉴럴 네트워크(1010)의 컨볼루션 연산을 경량화하는 경우, 전체 컨볼루션 연산의 연산량(연산량 3)은 도 10a에 도시된 바와 같이, 2,099,822,592일 수 있다.
이에 따라, 제1 컨볼루션 뉴럴 네트워크(1010)에서 수행되는 컨볼루션 연산을 경량화한다 하더라도, 경량화 하지 않은 제2 컨볼루션 뉴럴 네트워크(1020)의 연산량(연산량 2)이 더 적다.
따라서, 유사도 정보를 복수의 그룹들로 분할하고, 분할된 복수의 그룹들 각각을 서로 다른 레이어로 입력함으로써, 제2 컨볼루션 뉴럴 네트워크를 이용하여, 가중맵을 생성하는 경우, 제1 컨볼루션 뉴럴 네트워크를 이용하여 가중맵을 생성하는 경우와 영상 처리의 성능은 유사하게 유지하면서 연산량을 감소시킬 수 있다.
도 11은 다른 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
일 실시예에 따른 가중맵 생성부(220)는 유사도 정보(1110)를 다운스케일할 수 있다. 예를 들어, 유사도 정보(1110)의 크기를 1/2로 다운스케일하면, 다운스케일된 유사도 정보의 크기는 W/2 x H/2이고, 채널 수는 K2개일 수 있다. 이때, 가중맵 생성부(220)는 바이리니어(bilinear) 보간법, 바이큐빅(bicubic) 보간법, 최근접 이웃(nearest neighbor) 보간법 등을 이용하여, 유사도 정보(1110)를 다운스케일할 수 있다. 다만, 이에 한정되지 않는다.
또한, 도 11의 유사도 정보(1110)는 81개의 채널들을 포함할 수 있으며, 다운스케일된 유사도 정보에 포함된 채널 별 특성 값에 따라 복수의 그룹으로 분할할 수 있다. 예를 들어, 다운스케일된 유사도 정보에 포함된 채널들 각각의 강도 크기에 따라, 제1 내지 제4 그룹들로 분할할 수 있다. 이때, 제1 그룹 (제1 입력 정보, 1121)에는 40개의 채널들이, 제2 그룹(제2 입력 정보, 1122)에는 28개의 채널들이, 제3 그룹 (제3 입력 정보, 1123)에는 12개의 채널들이 제4 그룹(제4 입력 정보, 1124)에는 1개의 채널이 포함될 수 있다.
일 실시예에 따른 가중맵 생성부(220)는 컨볼루션 뉴럴 네트워크(1130)를 이용하여, 제1 내지 제4 입력 정보들(1121, 1122, 1123, 1124)을 처리함으로써, 제1 내지 제4 출력 정보들(1141, 1142, 1143, 1144)을 획득할 수 있다. 컨볼루션 뉴럴 네트워크(1130)는 도 8의 컨볼루션 뉴럴 네트워크(610)와 동일한 구조를 가지며, 도 8에서 컨볼루션 뉴럴 네트워크(610)의 구조와 동작에 대해서 자세히 설명하였므로, 컨볼루션 뉴럴 네트워크(1130)의 구조 및 동작에 대한 구체적인 설명은 생략하기로 한다.
또한, 가중맵 생성부(220)는 제1 내지 제4 출력 정보들(1141, 1142, 1143, 1144)에 기초하여, 가중맵(1050)을 생성할 수 있다. 가중맵 생성부(220)가 복수의 출력 정보들에 기초하여, 가중맵을 생성하는 동작에 대해서는 도 9에서 자세히 설명하였으므로 동일한 설명은 생략하기로 한다.
도 11에서 도시하고 설명한 바와 같이, 유사도 정보(1110)를 다운스케일하여 가중맵(1150)을 생성하는 경우, 컨볼루션 뉴럴 네트워크(1130)에 포함되는 컨볼루션 레이어들 각각에서, 입력 정보의 채널 수와 출력 정보의 채널 수가 감소하게 되어, 전체 컨볼루션 연산의 연산량이 감소하게 된다. 따라서, 유사도 정보(1110)를 다운스케일하는 경우, 유사도 정보(1110)의 특성은 유사하게 유지하면서, 더 적은 연산량으로 가중맵(1150)을 생성할 수 있다.
도 12는 다른 실시예에 따른 가중맵을 생성하는 동작을 설명하기 위한 도면이다.
도 12를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10)의 퀄리티 정보를 획득하는 퀄리티 추정부(1210)를 더 포함할 수 있다.
일 실시예에 따른 퀄리티 추정부(1210)는 제1 영상(10) 또는 제1 영상(10)에 포함되는 복수의 영역들 각각에 대응하는 퀄리티 정보를 획득할 수 있다. 퀄리티 추정부(1210)는 제1 영상(10)에 포함되는 복수의 영역들 각각에 포함되는 텍스쳐, 엣지, 노이즈 정보 등에 기초하여, 제1 영상(10) 전체, 또는 영역 별 퀄리티를 추정할 수 있다. 이때, 퀄리티 추정부(1210)는 기 학습된 퀄리티 추정 네트워크에 기초하여, 제1 영상 전체, 또는 영역 별로 퀄리티 정보를 획득할 수 있다. 예를 들어, 퀄리티 추정 네트워크는 영상 전체, 또는 영상의 일 영역을 입력 받아, 해당 영상, 또는 영역에 대한 퀄리티에 대한 값을 출력하는 네트워크일 수 있으나, 이에 한정되지 않는다. 또한, 퀄리티 추정부(1210)는 제1 영상(10)에 포함되는 픽셀 별로 퀄리티 정보를 획득할 수도 있다.
일 실시예에 따른 컨볼루션 뉴럴 네트워크(1220)는 도 8의 컨불루션 뉴럴 네트워크(610)에 포함된 제7 컨볼루션 레이어(817), 제9 컨볼루션 레이어(819), 제11 컨볼루션 레이어(821) 및 제12 컨볼루션 레이어(822) 각각이 복수의 컨불루션 레이어들로 구성되는 구조일 수 있다.
예를 들어, 제7 컨볼루션 레이어(817)는 N개의 컨볼루션 레이어들(제7-1 내지 제7-N 컨볼루션 레이어들(1230))이 병렬로 연결되는 구조를 포함할 수 있다. 제1 스플릿 레이어(871)에서 출력되는 값들이 제7-1 컨볼루션 레이어 내지 제7-N 컨볼루션 레이어들(1230) 각각으로 입력될 수 있다. 이때, N개의 컨볼루션 레이어들에서 출력되는 출력 값들은 기 설정된 N개의 퀄리티 정보들에 대응할 수 있다. 예를 들어, 제7-1 컨볼루션 레이어에서 출력된 값은, 제1 퀄리티 정보에 대응하는 출력 값이고, 제7-N 컨볼루션 레이어에서 출력된 값은 제N 퀄리티 정보에 대응하는 출력 값일 수 있다.
일 실시예에 따른 가중치 결정부(1215)는 퀄리티 추정부(1210)에서 획득된 픽셀 별 퀄리티 정보에 따라, N개의 컨볼루션 레이어들 각각에서 출력된 값들의 가중치들을 결정할 수 있다.
가중맵 생성부(220)는 결정된 가중치들에 기초하여, 제7-1 내지 제7-N 컨볼루션 레이어들 각각에서 출력된 값들의 가중합을, 제1 출력 정보(1271)로 획득할 수 있다. 동일한 방식으로, 제9-1 내지 제9-N 컨볼루션 레이어들(1240) 각각에서 출력된 값들의 가중 합을 제2 출력 정보(1272)로 획득할 수 있다.
또한, 제11-1 내지 제11-N 컨볼루션 레이어들 각각에서 출력된 값들의 가중 합을 제3 출력 정보(1273)로 획득하고, 제12-1 내지 제12-N 컨볼루션 레이어들 각각에서 출력된 값들의 가중 합을 제4 출력 정보(1274)로 획득할 수 있다.
가중맵 생성부(220)는 제1 내지 제4 출력 정보들(1271, 1272, 1273, 1274)에 기초하여, 가중맵을 생성할 수 있다. 복수의 출력 정보들에 기초하여 가중맵을 생성하는 방법에 대해서는 도 9에서 자세히 설명하였으므로 동일한 설명은 생략하기로 한다.
다시, 도 2를 참조하면, 일 실시예에 따른 공간 가변 커널 생성부(230)는 가중맵 생성부(220)에서 생성된 가중맵과 공간 커널에 기초하여, 공간 가변 커널을 생성할 수 있다. 이때, 공간 커널은 제1 영상(10)에 포함되는 픽셀들 각각과 주변 픽셀과의 위치 관계에 따른 가중치 정보를 나타낸다. 공간 가변 커널을 생성하는 방법에 대해서는 도 13을 참조하여, 자세히 설명하기로 한다.
도 13은 일 실시예에 따른 공간 가변 커널을 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 13을 참조하면, 공간 가변 커널 생성부(230)는 공간 커널(1310) 및 가중 맵(650)을 이용하여, 공간 가변 커널(1350)을 생성할 수 있다. 예를 들어, 공간 가변 커널 생성부(230)는 공간 커널(1310)을 1차원 벡터(1320)로 변환할 수 있다. 공간 커널(1310)은 K x K의 크기를 가지며, 공간 커널(1310)에 포함되는 픽셀 값들은 중심 픽셀 값이 가장 크고, 중심 픽셀에서 멀어질수록 픽셀 값이 작아진다. 공간 가변 커널 생성부(230)는 공간 커널(1210)에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터(1320)로 변환할 수 있다.
한편, 가중맵 생성부(220)에서 생성된 가중맵(650)은 크기는 W x H 이고, 채널 수가 K2개일 수 있다.
공간 가변 커널 생성부(230)는 가중맵(650)과 가중치 벡터(1320)를 곱함으로써, 공간 가변 커널(1350)을 생성할 수 있다. 이때, 공간 가변 커널 생성부(230)는 가중맵(650)에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 1 x 1 x K2의 사이즈를 가지는 가중치 벡터(650)의 요소별 곱셈을 수행함으로써, 공간 가변 커널(1350)을 생성할 수 있다.
도 13에 도시된 바와 같이, 가중맵(650)에 포함되는 제1 벡터(651)와 가중치 벡터(1320)의 요소별 곱 연산을 수행하여, 공간 가변 커널(1350)에 포함되는 제2 벡터(1351)를 생성할 수 있다. 이때, 가중맵(650)에서의 제1 벡터(651)의 위치와 공간 가변 커널(1350)에서의 제2 벡터(1351)의 위치는 서로 대응될 수 있다.
일 실시예에 따른 공간 가변 커널(1350)은 가중맵(650)과 동일하게, 크기는 W x H 이고, 채널 수가 K2개일 수 있다.
다시 도 2를 참조하면, 공간 가변 커널 생성부(230)는 생성된 공간 가변 커널(1350)을 필터부(240)로 출력하고, 필터부(240)는 제1 영상(10)을 입력 받아, 제1 영상(10)에 공간 가변 커널(1350)을 적용함으로써, 제2 영상(20)을 생성할 수 있다. 제1 영상(10)에 공간 가변 커널(1350)을 적용하여, 제2 영상(20)을 생성하는 방법에 대해서는 도 14를 참조하여, 자세히 설명하기로 한다.
도 14는 일 실시예에 따른 제1 영상에 공간 가변 커널을 적용하는 방법을 설명하기 위해 참조되는 도면이다.
도 14를 참조하면, 일 실시예에 따른 공간 가변 커널(1350)은 제1 영상에 포함되는 픽셀들 각각에 대응하는 커널 벡터를 포함할 수 있다. 예를 들어, 공간 가변 커널(1350)은 제1 영상(10)에 포함되는 제1 픽셀(1410)에 대응하는 제1 커널 벡터(1351)를 포함할 수 있으며, 제1 영상(10)에 포함되는 제2 픽셀(1420)에 대응하는 제2 커널 벡터(1352)를 포함할 수 있다. 또한, 공간 가변 커널(1350)은 제1 영상(10)에 포함되는 제3 픽셀(1430)에 대응하는 제3 커널 벡터(1353)를 포함할 수 있다.
필터부(240)는 1x1x K2의 크기를 가지는 1차원 형태의 커널 벡터를 K x K의 크기를 가지는 2차원 형태의 커널로 변환할 수 있다. 예를 들어, 제1 커널 벡터(1351)를 제1 커널(1415)로, 제2 커널 벡터(1352)를 제2 커널(1425)로, 제3 커널 벡터(1353)를 제3 커널(1435)로 변환할 수 있다.
필터부(240)는 제1 영상(10)에 포함되는 제1 픽셀(1410)을 중심으로 하는 제1 영역과 제1 커널(1415)을 적용하여 필터링을 수행함으로써, 제2 영상(20)의 제4 픽셀(1440) 값을 계산할 수 있다. 또한, 필터부(240)는 제1 영상(10)에 포함되는 제2 픽셀(1420)을 중심으로 하는 제2 영역에 제2 커널(1425)을 적용하여 필터링을 수행함으로써, 제2 영상(20)의 제5 픽셀(1450) 값을 계산할 수 있다. 또한, 필터부(240)는 제1 영상(10)에 포함되는 제3 픽셀(1430)을 중심으로 하는 제3 영역에 제3 커널(1435)을 적용하여 필터링을 수행함으로써, 제2 영상(20)의 제6 픽셀(1460) 값을 계산할 수 있다.
이와 동일한 방법으로, 필터부(240)는 제1 영상(10)에 포함되는 픽셀들 각각에 대응하는 커널을, 제1 영상(10)에 포함되는 픽셀들 각각을 중심으로 하는 영역에 적용하여, 필터링을 수행함으로써, 제2 영상(20)에 포함되는 픽셀 값들을 계산할 수 있다.
도 15는 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 15를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상의 특성 정보를 획득할 수 있다(S1510).
예를 들어, 제1 영상에 대한 특성 정보는 유사도 정보, 주파수 특성 정보, 그래디언트 특성 정보, 영역 특성 정보 등을 포함할 수 있다. 유사도 정보는 제1 영상에 포함되는 픽셀들 각각과 주변 픽셀과의 유사도를 나타내는 정보일 수 있다. 유사도 정보를 생성하는 방법은 도 3, 도 4a 및 도 4b를 참조하여 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
또한, 영상 처리 장치(100)는 제1 영상에 가우시안 커널을 이용한 필터링 또는 이산 코사인 변환이나 웨이블렛 변환 등을 수행함으로써, 주파수 특성 정보를 획득할 수 있다. 이에 대해서는 도 5를 참조하여, 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 영상 처리 장치(100)는 특성 정보를 복수의 그룹들로 분할할 수 있다(S1520).
예를 들어, 영상 처리 장치(100)는 특성 정보가 복수의 채널들을 포함하는 경우, 채널 별 특성 값에 따라 복수의 그룹들로 분할할 수 있다. 특성 정보가 유사도 정보인 경우, 유사도 정보에 포함된 채널들 각각의 강도에 따라, 채널들을 복수의 그룹들로 분할할 수 있다. 이에 대해서는 도 7에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크를 이용하여, 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득할 수 있다(S1530).
예를 들어, 영상 처리 장치(100)는 1520 단계(S1520)에서 분할된 복수의 그룹들 각각을 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로 입력할 수 있다. 제1 그룹에 대응하는 제1 입력 정보는 제1 컨볼루션 레이어로, 제2 그룹에 대응하는 제2 입력 정보는 제2 컨볼루션 레이어로 입력할 수 있다. 이때, 제2 컨볼루션 레이어는 컨볼루션 뉴럴 네트워크에서, 제1 컨볼루션 레이어보다 뒤에 위치하는 레이어일 수 있다. 입력 정보들은 하나 이상의 커널들과의 컨볼루션 연산이 수행될 수 있다. 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로부터 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득할 수 있다. 예를 들어, 제1 입력 정보에 대응하는 제1 출력 정보는 제3 컨볼루션 레이어로부터, 제2 입력 정보에 대응하는 제2 출력 정보는 제4 컨볼루션 레이어로부터 출력될 수 있다. 이때, 제4 컨볼루션 레이어는 컨볼루션 뉴럴 네트워크에서, 제3 컨볼루션 레이어보다 뒤에 위치하는 레이어일 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 복수의 출력 정보들에 기초하여, 가중맵을 생성할 수 있다(S1540).
예를 들어, 영상 처리 장치(100)는 입력 정보의 채널들의 순서에 기초하여, 출력 정보의 채널들의 순서를 결정할 수 있다. 영상 처리 장치(100)는 복수의 출력 정보들을 채널들의 순서에 따라 채널 방향으로 통합함으로써, 가중맵을 생성할 수 있다. 이에 대해서는 도 9에서 자세히 설명하였으므로 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 영상 처리 장치(100)는 공간 커널과 가중맵에 기초하여, 공간 가변 커널을 생성할 수 있다(S1550).
예를 들어, 영상 처리 장치(100)는 공간 커널을 1차원 벡터로 변환할 수 있다. 공간 커널은 K x K의 크기를 가지며, 공간 커널에 포함되는 픽셀 값들은 중심 픽셀 값이 가장 크고, 중심 픽셀에서 멀어질수록 픽셀 값이 작아진다. 영상 처리 장치(100)는 공간 커널에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터로 변환할 수 있다.
1530 단계(S1530)에서 생성된 가중맵의 크기는 W x H 이고, 채널 수가 K2개일 수 있다.
영상 처리 장치(100)는 가중맵과 가중치 벡터를 곱함으로써, 공간 가변 커널을 생성할 수 있다. 이때, 영상 처리 장치(100)는 가중맵에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 1 x 1 x K2의 사이즈를 가지는 가중치 벡터의 요소별 곱셈을 수행함으로써, 공간 가변 커널을 생성할 수 있다.
공간 가변 커널을 생성하는 방법에 대해서는 도 13을 참조하여 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 영상 처리 장치(100)는 제1 영상에 공간 가변 커널을 적용하여, 제2 영상을 생성할 수 있다(S1560).
1550 단계(S1550)에서 생성된 공간 가변 커널은 제1 영상에 포함되는 픽셀들 각각에 대응하는 커널 벡터를 포함할 수 있다. 예를 들어, 공간 가변 커널은 제1 영상에 포함되는 제1 픽셀에 대응하는 제1 커널 벡터를 포함할 수 있으며, 제1 영상에 포함되는 제2 픽셀에 대응하는 제2 커널 벡터를 포함할 수 있다.
영상 처리 장치(100)는 1x1x K2의 크기를 가지는 1차원 형태의 커널 벡터를 K x K의 크기를 가지는 2차원 형태의 커널로 변환할 수 있다. 예를 들어, 제1 커널 벡터를 2차원 형태의 제1 커널로, 제2 커널 벡터를 2차원 형태의 제2 커널로 변환할 수 있다.
영상 처리 장치(100)는 제1 픽셀을 중심으로 하는 영역에 제1 커널을 적용하여 필터링을 수행함으로써, 제2 영상에 포함되는 제3 픽셀 값을 계산하고, 제2 픽셀을 중심으로 하는 영역에 제2 커널을 적용하여 필터링을 수행함으로써, 제2 영상에 포함되는 제4 픽셀 값을 계산할 수 있다.
이에 따라, 영상 처리 장치(100)는 제1 영상의 필터링을 수행할 때, 중심 픽셀의 위치에 따라 상이한 커널을 적용하여 필터링을 수행할 수 있다.
도 16은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 16을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 CPU(Cetral Processing Unit), GPU (Graphic Processing Unit) 및 VPU(Video Processing Unit) 중 적어도 하나를 포함할 수 있다. 또는, 실시예에 따라, CPU, GPU 및 VPU 중 적어도 하나를 통합한 SoC(System On Chip) 형태로 구현될 수 있다. 또는, 프로세서(120)는 NPU(Neural Processing Unit)를 더 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 네트워크(30)를 이용하여, 입력 영상의 노이즈를 제거하면서, 세밀한 가장자리 처리와 텍스쳐를 유지하는 디노이징을 수행한 출력 영상을 생성할 수 있다. 예를 들어, 프로세서(120)는 도 2 내지 도 14에서 도시하고 설명한 특성 정보 생성부(210), 가중맵 생성부(220), 공간 가변 커널 생성부(230), 및 필터부(240)의 동작들 중 적어도 하나를 수행할 수 있다.
프로세서(120)는 제1 영상의 특성 정보를 획득할 수 있다. 예를 들어, 제1 영상에 대한 특성 정보는 유사도 정보, 주파수 특성 정보, 그래디언트 특성 정보, 영역 특성 정보 등을 포함할 수 있다. 유사도 정보를 생성하는 방법은 도 3, 도 4a 및 도 4b를 참조하여 자세히 설명하였으며, 주파수 특성 정보를 획득하는 방법은 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
프로세서(120)는 특성 정보를 복수의 그룹들로 분할할 수 있다. 예를 들어, 프로세서(120)는 특성 정보가 복수의 채널들을 포함하는 경우, 채널 별 특성 값에 따라 복수의 그룹들로 분할할 수 있다. 특성 정보가 유사도 정보인 경우, 유사도 정보에 포함된 채널들 각각의 강도에 따라, 채널들을 복수의 그룹들로 분할할 수 있다. 이에 대해서는 도 7에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
프로세서(120)는 컨볼루션 뉴럴 네트워크를 이용하여, 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득할 수 있다. 예를 들어, 프로세서(120)는 분할된 복수의 그룹들 각각을 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로 입력할 수 있다. 제1 그룹에 대응하는 제1 입력 정보는 제1 컨볼루션 레이어로, 제2 그룹에 대응하는 제2 입력 정보는 제2 컨볼루션 레이어로 입력할 수 있다. 이때, 제2 컨볼루션 레이어는 컨볼루션 뉴럴 네트워크에서, 제1 컨볼루션 레이어보다 뒤에 위치하는 레이어일 수 있다. 입력 정보들은 하나 이상의 커널들과의 컨볼루션 연산이 수행될 수 있다. 프로세서(120)는 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로부터 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득할 수 있다. 예를 들어, 제1 입력 정보에 대응하는 제1 출력 정보는 제3 컨볼루션 레이어로부터, 제2 입력 정보에 대응하는 제2 출력 정보는 제4 컨볼루션 레이어로부터 출력될 수 있다. 이때, 제4 컨볼루션 레이어는 컨볼루션 뉴럴 네트워크에서, 제3 컨볼루션 레이어보다 뒤에 위치하는 레이어일 수 있다.
프로세서(120)는 복수의 출력 정보들에 기초하여, 가중맵을 생성할 수 있다. 예를 들어, 프로세서(120)는 입력 정보의 채널들의 순서에 기초하여, 출력 정보의 채널들의 순서를 결정할 수 있다. 프로세서(120)는 복수의 출력 정보들을 채널들의 순서에 따라 채널 방향으로 통합함으로써, 가중맵을 생성할 수 있다. 이에 대해서는 도 9에서 자세히 설명하였으므로 구체적인 설명은 생략하기로 한다.
또한, 프로세서(120)는 공간 커널과 가중맵에 기초하여, 공간 가변 커널을 생성할 수 있다. 예를 들어, 프로세서(120)는 공간 커널을 1차원 벡터로 변환할 수 있다. 공간 커널은 K x K의 크기를 가지며, 공간 커널에 포함되는 픽셀 값들은 중심 픽셀 값이 가장 크고, 중심 픽셀에서 멀어질수록 픽셀 값이 작아진다. 프로세서(120)는 공간 커널에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터로 변환할 수 있다. 일 실시예에 따른 가중맵의 크기는 W x H 이고, 채널 수가 K2개일 수 있으며, 프로세서(100)는 가중맵과 가중치 벡터를 곱함으로써, 공간 가변 커널을 생성할 수 있다. 이때, 프로세서(120)는 가중맵에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 1 x 1 x K2의 사이즈를 가지는 가중치 벡터의 요소별 곱셈을 수행함으로써, 공간 가변 커널을 생성할 수 있다.
프로세서(120)는 제1 영상에 공간 가변 커널을 적용함으로써, 제2 영상을 생성할 수 있다. 공간 가변 커널은 제1 영상에 포함되는 픽셀들 각각에 대응하는 커널 벡터를 포함할 수 있다. 예를 들어, 공간 가변 커널은 제1 영상에 포함되는 제1 픽셀에 대응하는 제1 커널 벡터를 포함할 수 있으며, 제1 영상에 포함되는 제2 픽셀에 대응하는 제2 커널 벡터를 포함할 수 있다.
프로세서(120)는 1 x 1 x K2의 크기를 가지는 1차원 형태의 커널 벡터를 K x K의 크기를 가지는 2차원 형태의 커널로 변환할 수 있다. 예를 들어, 제1 커널 벡터를 2차원 형태의 제1 커널로, 제2 커널 벡터를 2차원 형태의 제2 커널로 변환할 수 있다. 프로세서(120)는 제1 픽셀을 중심으로 하는 영역에 제1 커널을 적용하여 필터링을 수행함으로써, 제2 영상에 포함되는 제3 픽셀 값을 계산하고, 제2 픽셀을 중심으로 하는 영역에 제2 커널을 적용하여 필터링을 수행함으로써, 제2 영상에 포함되는 제4 픽셀 값을 계산할 수 있다.
한편, 일 실시예에 따른 영상 처리 네트워크(30)는, 서버 또는 외부 장치에 의해 훈련된 네트워크일 수 있다. 외부 장치는 훈련 데이터에 기초하여, 영상 처리 네트워크(30)를 학습시킬 수 있다. 이때, 훈련 데이터는 노이즈가 포함된 영상 데이터와 노이즈는 제거되면서, 엣지 특성이나 텍스쳐 특성은 보존되는 영상 데이터를 포함하는 복수의 데이터 세트들을 포함할 수 있다.
서버 또는 외부 장치는 영상 처리 네트워크(30)에 포함된 복수의 컨볼루션 레이어들 각각에서 이용되는 커널들에 포함되는 파라미터 값들을 결정할 수 있다. 예를 들어, 서버 또는 외부 장치는 영상 처리 네트워크(30)에 의해 생성된 영상 데이터와 노이즈는 제거되면서, 엣지 특성은 보존되는 영상 데이터(훈련 데이터)의 차이(손실 정보)를 최소화하는 방향으로 파라미터 값들을 결정할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 서버 또는 외부 장치로부터 훈련이 완료된 영상 처리 네트워크(30)를 수신하여, 메모리(130)에 저장할 수 있다. 예를 들어, 메모리(130)는 일 실시예에 따른 영상 처리 네트워크(30)의 구조 및 파라미터 값들을 저장할 수 있으며, 프로세서(120)는 메모리(130)에 저장된 파라미터 값들을 이용하여, 일 실시예에 따른 제1 영상으로부터 노이즈는 제거되면서, 엣지 특성은 보존되는 제2 영상을 생성할 수 있다.
한편, 도 16에 도시된 영상 처리 장치(100)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 영상 처리 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 영상 처리 장치 및 영상 처리 장치의 동작 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (27)

  1. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    제1 영상의 특성 정보를 획득하고,
    상기 특성 정보를 복수의 그룹들로 분할하고,
    상기 복수의 그룹들 각각을, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 상기 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어들로부터 상기 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득하고,
    상기 복수의 출력 정보들에 기초하여, 상기 제1 영상에 포함되는 픽셀들 각각에 대응하는 가중치 정보를 포함하는 가중맵(attention map)을 생성하고,
    상기 픽셀들 각각과 상기 주변 픽셀과의 위치 관계에 따른 가중치 정보를 포함하는 공간 커널(spatial kernel)과 상기 가중맵에 기초하여, 상기 픽셀들 각각에 대응하는 커널을 포함하는 공간 가변 커널을 생성하고,
    상기 제1 영상에 상기 공간 가변 커널(spatially variant kernel)을 적용함으로써, 제2 영상을 생성하는, 영상 처리 장치.
  2. 제1항에 있어서,
    상기 제1 영상의 특성 정보는,
    상기 제1 영상에 포함되는 픽셀들 각각과 상기 픽셀들 각각의 주변 픽셀과의 유사도를 나타내는 유사도 정보를 포함하는, 영상 처리 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제1 상대적 위치를 가지는 제1 주변 픽셀과의 차이에 기초하여, 제1 유사도 정보를 획득하고,
    상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제2 상대적 위치를 가지는 제2 주변 픽셀과의 차이에 기초하여, 제2 유사도 정보를 획득하는 영상 처리 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 특성 정보가 복수의 채널 정보들을 포함하는 경우, 상기 특성 정보를 채널 단위로 분할하여, 상기 복수의 그룹들을 획득하는, 영상 처리 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 특성 정보에 포함되는 복수의 채널 정보들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹에 포함되는 제1 채널 정보들을 상기 컨볼루션 뉴럴 네트워크의 제1 레이어로 입력하고,
    상기 제2 그룹에 포함되는 제2 채널 정보들을, 상기 컨볼루션 뉴럴 네트워크에서 상기 제1 레이어보다 뒤에 위치하는 제2 레이어로 입력하는, 영상 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 레이어로부터 출력된 채널 정보들과 상기 제2 채널 정보들을 상기 제2 레이어로 입력하는, 영상 처리 장치.
  7. 제5항에 있어서,
    상기 프로세서는,
    상기 컨볼루션 뉴럴 네트워크의 제3 레이어로부터 상기 제1 그룹에 대응하는 제1 출력 정보를 획득하고,
    상기 컨볼루션 뉴럴 네트워크에서 상기 제3 레이어보다 뒤에 위치하는 제4 레이어로부터 상기 제2 그룹에 대응하는 제2 출력 정보를 획득하는, 영상 처리 장치.
  8. 제1항에 있어서,
    상기 프로세서는
    상기 제1 영상의 특성 정보를 다운스케일하고, 상기 다운스케일된 특성 정보를 상기 복수의 그룹들로 분할하는, 영상 처리 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 영상에 포함되는 픽셀 별 퀄리티 정보를 획득하고,
    하나의 그룹에 대하여, 기 설정된 복수의 퀄리티 정보들에 대응하는 복수의 출력 값들을 획득하고,
    상기 픽셀 별 퀄리티 정보에 기초하여, 상기 복수의 출력 값들에 대한 상기 픽셀 별 가중치들을 획득하고,
    상기 픽셀 별 가중치들을 적용하여, 상기 복수의 출력 값들을 합산함으로써, 상기 하나의 그룹에 대응하는 출력 정보를 획득하는, 영상 처리 장치.
  10. 제1항에 있어서,
    상기 공간 커널은,
    상기 공간 커널의 중심에 위치한 픽셀이 가장 큰 값을 가지고, 상기 중심에서 멀어질수록 픽셀 값이 작아지는, 영상 처리 장치.
  11. 제1항에 있어서,
    상기 공간 커널의 사이즈는 K x K 이고, 상기 가중맵의 채널 개수는 K2이며,
    상기 프로세서는,
    상기 공간 커널에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터로 변환하고,
    상기 가중맵에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 상기 가중치 벡터의 곱셈 연산을 수행함으로써, 상기 공간 가변 커널을 생성하는, 영상 처리 장치.
  12. 제1항에 있어서,
    상기 공간 가변 커널은, 상기 제1 영상에 포함되는 픽셀들의 개수와 동일한 개수의 커널들을 포함하는, 영상 처리 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 제1 영상에 포함되는 제1 픽셀을 중심으로 하는 제1 영역에 상기 공간 가변 커널에 포함된 제1 커널을 적용하여, 필터링을 수행하고,
    상기 제1 영상에 포함되는 제2 픽셀을 중심으로 하는 제2 영역에 상기 공간 변환 커널에 포함되는 제2 커널을 적용하여, 필터링을 수행함으로써, 상기 제2 영상을 생성하는, 영상 처리 장치.
  14. 영상 처리 장치의 동작 방법에 있어서,
    제1 영상의 특성 정보를 획득하는 단계;
    상기 특성 정보를 복수의 그룹들로 분할하는 단계;
    상기 복수의 그룹들 각각을, 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 상기 컨볼루션 뉴럴 네트워크에 포함되는 서로 다른 레이어로부터 상기 복수의 그룹들에 대응하는 복수의 출력 정보들을 획득하는 단계;
    상기 복수의 출력 정보들에 기초하여, 상기 제1 영상에 포함되는 픽셀들 각각에 대응하는 가중치 정보를 포함하는 가중맵(attention map)을 생성하는 단계;
    상기 픽셀들 각각과 상기 주변 픽셀과의 위치 관계에 따른 가중치 정보를 포함하는 공간 커널(spatial kernel)과 상기 가중맵에 기초하여, 상기 픽셀들 각각에 대응하는 커널을 포함하는 공간 가변 커널을 생성하는 단계; 및
    상기 제1 영상에 상기 공간 가변 커널(spatially variant kernel)을 적용함으로써, 제2 영상을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  15. 제14항에 있어서,
    상기 제1 영상의 특성 정보를 획득하는 단계는,
    상기 제1 영상에 포함되는 픽셀들 각각과 상기 픽셀들 각각의 주변 픽셀과의 유사도를 나타내는 유사도 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  16. 제15항에 있어서,
    상기 유사도 정보를 획득하는 단계는,
    상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제1 상대적 위치를 가지는 제1 주변 픽셀과의 차이에 기초하여, 제1 유사도 정보를 획득하는 단계; 및
    상기 제1 영상에 포함되는 픽셀들 각각과, 상기 픽셀들 각각에 대해 제2 상대적 위치를 가지는 제2 주변 픽셀과의 차이에 기초하여, 제2 유사도 정보를 획득하는 단계를 포함하는 영상 처리 장치의 동작 방법.
  17. 제14항에 있어서,
    상기 특성 정보를 복수의 그룹들로 분할하는 단계는,
    상기 특성 정보가 복수의 채널 정보들을 포함하는 경우, 상기 특성 정보를 채널 단위로 분할하여, 상기 복수의 그룹들을 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  18. 제17항에 있어서,
    상기 특성 정보를 복수의 그룹들로 분할하는 단계는,
    상기 특성 정보에 포함되는 복수의 채널 정보들을 제1 그룹 및 제2 그룹으로 분할하는 단계를 포함하고,
    상기 복수의 출력 정보들을 획득하는 단계는,
    상기 제1 그룹에 포함되는 제1 채널 정보들을 상기 컨볼루션 뉴럴 네트워크의 제1 레이어로 입력하는 단계; 및
    상기 제2 그룹에 포함되는 제2 채널 정보들을, 상기 컨볼루션 뉴럴 네트워크에서 상기 제1 레이어보다 뒤에 위치하는 제2 레이어로 입력하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  19. 제18항에 있어서,
    상기 복수의 출력 정보들을 획득하는 단계는,
    상기 제1 레이어로부터 출력된 채널 정보들과 상기 제2 채널 정보들을 상기 제2 레이어로 입력하는 단계를 더 포함하는, 영상 처리 장치의 동작 방법.
  20. 제18항에 있어서,
    상기 복수의 출력 정보들을 획득하는 단계는,
    상기 컨볼루션 뉴럴 네트워크의 제3 레이어로부터 상기 제1 그룹에 대응하는 제1 출력 정보를 획득하는 단계; 및
    상기 컨볼루션 뉴럴 네트워크에서 상기 제3 레이어보다 뒤에 위치하는 제4 레이어로부터 상기 제2 그룹에 대응하는 제2 출력 정보를 획득하는 단계를 더 포함하는, 영상 처리 장치의 동작 방법.
  21. 제14항에 있어서,
    상기 특성 정보를 복수의 그룹들로 분할하는 단계는
    상기 특성 정보를 다운스케일하는 단계; 및
    상기 다운스케일된 특성 정보를 상기 복수의 그룹들로 분할하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  22. 제14항에 있어서,
    상기 동작 방법은,
    상기 제1 영상에 포함되는 픽셀 별 퀄리티 정보를 획득하는 단계;
    하나의 그룹에 대하여, 기 설정된 복수의 퀄리티 정보들에 대응하는 복수의 출력 값들을 획득하는 단계; 및
    상기 픽셀 별 퀄리티 정보에 기초하여, 상기 복수의 출력 값들에 대한 상기 픽셀 별 가중치들을 획득하는 단계를 더 포함하고,
    상기 복수의 출력 정보들을 획득하는 단계는,
    상기 픽셀 별 가중치들을 적용하여, 상기 복수의 출력 값들을 합산함으로써, 상기 하나의 그룹에 대응하는 출력 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  23. 제14항에 있어서,
    상기 공간 커널은,
    상기 공간 커널의 중심에 위치한 픽셀이 가장 큰 값을 가지고, 상기 중심에서 멀어질수록 픽셀 값이 작아지는, 영상 처리 장치의 동작 방법.
  24. 제14항에 있어서,
    상기 공간 커널의 사이즈는 K x K 이고, 상기 가중맵의 채널 개수는 K2이며,
    상기 공간 가변 커널을 생성하는 단계는,
    상기 공간 커널에 포함되는 픽셀 값들을 채널 방향으로 나열하여, 1 x 1 x K2의 사이즈를 가지는 가중치 벡터로 변환하는 단계; 및
    상기 가중맵에 포함되는 1 x 1 x K2의 사이즈를 가지는 1차원 벡터들 각각과 상기 가중치 벡터의 곱셈 연산을 수행함으로써, 상기 공간 가변 커널을 생성하는 단계를 포함하는 영상 처리 장치의 동작 방법.
  25. 제14항에 있어서,
    상기 공간 가변 커널은, 상기 제1 영상에 포함되는 픽셀들의 개수와 동일한 개수의 커널들을 포함하는, 영상 처리 장치의 동작 방법.
  26. 제25항에 있어서,
    상기 제2 영상을 생성하는 단계는,
    상기 제1 영상에 포함되는 제1 픽셀을 중심으로 하는 제1 영역에 상기 공간 가변 커널에 포함된 제1 커널을 적용하여, 필터링을 수행하는 단계; 및
    상기 제1 영상에 포함되는 제2 픽셀을 중심으로 하는 제2 영역에 상기 공간 변환 커널에 포함되는 제2 커널을 적용하여, 필터링을 수행하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  27. 제14항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.
KR1020210160711A 2021-11-19 2021-11-19 영상 처리 장치 및 그 동작 방법 KR20230073871A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210160711A KR20230073871A (ko) 2021-11-19 2021-11-19 영상 처리 장치 및 그 동작 방법
EP22895779.1A EP4365827A1 (en) 2021-11-19 2022-07-14 Image processing device and operation method for same
PCT/KR2022/010264 WO2023090569A1 (ko) 2021-11-19 2022-07-14 영상 처리 장치 및 그 동작 방법
US17/894,685 US20230169752A1 (en) 2021-11-19 2022-08-24 Image processing apparatus and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210160711A KR20230073871A (ko) 2021-11-19 2021-11-19 영상 처리 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20230073871A true KR20230073871A (ko) 2023-05-26

Family

ID=86397218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210160711A KR20230073871A (ko) 2021-11-19 2021-11-19 영상 처리 장치 및 그 동작 방법

Country Status (4)

Country Link
US (1) US20230169752A1 (ko)
EP (1) EP4365827A1 (ko)
KR (1) KR20230073871A (ko)
WO (1) WO2023090569A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797673B1 (ko) * 2010-07-13 2017-12-13 삼성전자주식회사 대역별 공간적 변조를 통한 영상 질감 향상 방법 및 그 장치
KR102144994B1 (ko) * 2013-09-30 2020-08-14 삼성전자주식회사 영상의 노이즈를 저감하는 방법 및 이를 이용한 영상 처리 장치
US9741107B2 (en) * 2015-06-05 2017-08-22 Sony Corporation Full reference image quality assessment based on convolutional neural network
EP3731154A1 (en) * 2019-04-26 2020-10-28 Naver Corporation Training a convolutional neural network for image retrieval with a listwise ranking loss function

Also Published As

Publication number Publication date
WO2023090569A1 (ko) 2023-05-25
EP4365827A1 (en) 2024-05-08
US20230169752A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
KR102481882B1 (ko) 이미지를 처리하는 방법 및 장치
US8605118B2 (en) Matrix generation apparatus, method, and program, and information processing apparatus
KR102420104B1 (ko) 영상 처리 장치 및 그 동작방법
Parameswaran et al. Accelerating GMM-Based Patch Priors for Image Restoration: Three Ingredients for a $100 {\times} $ Speed-Up
Briand et al. The Heeger & Bergen pyramid based texture synthesis algorithm
KR20200067631A (ko) 영상 처리 장치 및 그 동작방법
CN109410246B (zh) 基于相关滤波的视觉跟踪的方法及装置
KR101795952B1 (ko) 2d 영상에 대한 깊이 영상 생성 방법 및 장치
RU2713695C1 (ru) Текстурированные нейронные аватары
KR20220157869A (ko) 영상 처리 장치 및 그 동작 방법
Zhao et al. Saliency map-aided generative adversarial network for raw to rgb mapping
CN116210022A (zh) 图像处理设备及其操作方法
KR20230073871A (ko) 영상 처리 장치 및 그 동작 방법
EP4083874A1 (en) Image processing device and operating method therefor
Xu et al. An edge guided coarse-to-fine generative network for image outpainting
KR102266903B1 (ko) 영상 처리 장치 및 그 동작방법
US20230169748A1 (en) Image processing apparatus and operating method thereof
KR20230081587A (ko) 영상 처리 장치 및 그 동작 방법
KR20220125124A (ko) 영상 처리 장치 및 그 동작방법
KR101866135B1 (ko) 2d 영상에 대한 깊이 정보 생성 장치 및 방법과 이에 관한 기록 매체
EP4276744A1 (en) Image processing apparatus and operating method therefor
KR20220125127A (ko) 영상 처리 장치 및 그 동작방법
EP4276734A1 (en) Image processing device and operation method thereof
CN118202381A (zh) 图像处理设备及其操作方法
US20220284555A1 (en) Image processing apparatus and operation method thereof