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

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

Info

Publication number
KR20230034127A
KR20230034127A KR1020220053808A KR20220053808A KR20230034127A KR 20230034127 A KR20230034127 A KR 20230034127A KR 1020220053808 A KR1020220053808 A KR 1020220053808A KR 20220053808 A KR20220053808 A KR 20220053808A KR 20230034127 A KR20230034127 A KR 20230034127A
Authority
KR
South Korea
Prior art keywords
pixels
image
samples
image processing
processing device
Prior art date
Application number
KR1020220053808A
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 EP22864869.7A priority Critical patent/EP4369282A1/en
Priority to PCT/KR2022/010787 priority patent/WO2023033360A1/ko
Priority to US17/888,170 priority patent/US20230069072A1/en
Publication of KR20230034127A publication Critical patent/KR20230034127A/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

개시된 실시예는 영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써, 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하고, 제1 파라미터들을 제1 픽셀들의 픽셀 값들에 적용하여, 샘플들에 대응하는 샘플 값들을 획득하고, 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 제1 영역에 대응하는 특징 정보를 획득하고, 특징 정보에 기초하여, 제2 영상을 생성하는, 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작 방법{Image processing apparatus and operating method for the same}
다양한 실시예들은 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치 및 그 동작 방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
컨볼루션 뉴럴 네트워크(CNN: Convolutional Neural Network)는, 입력 영상에 포함되는 픽셀들 각각을 중심으로 커널을 적용함으로써, 컨볼루션 연산을 수행한다. 일반적으로 영상은 자기 유사성(self-similarity)이 강하기 때문에, 처리하고자 하는 픽셀(중심 픽셀)과 인접 픽셀 간의 거리가 가까울수록 신뢰도가 높아지게 된다.
그러나, 기존의 컨볼루션 연산 시에는 중심 픽셀과 인접 픽셀 간의 거리를 고려하지 않으며, 인접 픽셀들을 동일한 가중치로 연산을 수행하게 된다. 이에 따라, 중심 픽셀과의 거리에 따른 인접 픽셀의 신뢰도를 반영하지 못한다는 문제점이 있다.
다양한 실시예들은, 중심 픽셀과의 거리에 따른 인접 픽셀의 신뢰도를 반영한 컨볼루션 연산을 수행하는 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치 및 그 동작 방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써, 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하고, 상기 제1 파라미터들을 상기 제1 픽셀들의 픽셀 값들에 적용하여, 상기 샘플들에 대응하는 샘플 값들을 획득하고, 상기 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하고, 상기 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고, 상기 샘플들은 상기 중심 픽셀을 포함하고, 상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일할 수 있다.
일 실시예에 따른 샘플들의 개수와 상기 커널에 포함되는 가중치들의 개수는 동일할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 픽셀들 중 제1 샘플 주변에 위치한 제2 픽셀들의 픽셀 값들에 상기 제1 파라미터들을 적용하여, 상기 제1 샘플의 제1 샘플 값을 획득할 수 있다.
일 실시예에 따른 프로세서는, 상기 제2 픽셀들과 상기 제1 샘플 사이의 거리에 기초하여, 상기 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제2 픽셀들과 상기 제1 샘플이 형성하는 영역들에 대한 넓이 정보에 기초하여, 상기 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 제2 픽셀들에 적용되는 상기 제1 파라미터들의 합은 1일 수 있다.
일 실시예에 따른 영상 처리 장치는, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써, 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하고, 상기 제1 파라미터들을 커널에 포함되는 가중치들에 적용함으로써, 보정된 가중치들을 획득하고, 상기 제1 픽셀들의 픽셀 값들과 상기 보정된 가중치들의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하고, 상기 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고, 상기 샘플들은 상기 중심 픽셀을 포함하고, 상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 커널에 포함되는 가중치들에 기초하여, 상기 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 하나 이상의 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치의 동작 방법은, 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하는 단계, 상기 제1 파라미터들을 상기 제1 픽셀들의 픽셀 값들에 적용하여, 상기 샘플들에 대응하는 샘플 값들을 획득하는 단계, 상기 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하는 단계, 및 상기 특징 정보에 기초하여, 제2 영상을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써 영상을 처리하는 영상 처리 장치의 동작 방법은, 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하는 단계, 상기 제1 파라미터들을 커널에 포함되는 가중치들에 적용함으로써, 보정된 가중치들을 획득하는 단계, 상기 제1 픽셀들의 픽셀 값들과 상기 보정된 가중치들의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하는 단계, 및 상기 특징 정보에 기초하여, 제2 영상을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, 중심 픽셀과의 거리에 따른 인접 픽셀의 신뢰도를 반영한 컨볼루션 연산을 수행함으로써, 영상 처리의 성능이 향상될 수 있다.
일 실시예에 따른 컨볼루션 뉴럴 네트워크를 통해 처리된 영상의 퀄리티는 기존 컨볼루션 뉴럴 네트워크를 통해 처리된 영상의 퀄리티보다 증가할 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 동작을 나타내는 도면이다.
도 2 및 3은 기존의 컨볼루션 레이어에서 수행되는 컨볼루션 연산을 설명하기 위한 도면들이다.
도 4는 영상의 노이즈를 제거하는 컨볼루션 뉴럴 네트워크에 포함되는 커널들을 나타내는 도면이다.
도 5는 일 실시예에 따른 하나의 컨볼루션 레이어의 구성을 나타내는 도면이다.
도 6은 일 실시예에 따른 샘플링부 및 컨볼루션부의 동작을 설명하기 위해 참조되는 도면이다.
도 7은 일 실시예에 따른 하나의 컨볼루션 레이어의 구성을 나타내는 도면이다.
도 8은 일 실시예에 따른 가중치 조절부 및 컨볼루션부의 동작을 설명하기 위해 참조되는 도면이다.
도 9는 일 실시예에 따른 제1 영역에서 샘플링된 샘플들의 위치를 나타내는 도면이다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 11은 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 12는 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 동작을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 컨볼루션 뉴럴 네트워크(2000)는 제1 영상(10)을 입력 받아, 제1 영상(10)을 처리함으로써, 제2 영상(20)을 생성할 수 있다. 이때, 제1 영상(10)은 노이즈 또는 아티팩트를 포함하는 영상일 수 있으며, 저해상도 영상, 또는 저화질 영상일 수 있다. 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크(2000)를 이용하여, 제1 영상(10)의 세밀한 가장자리(edge)와 텍스쳐를 유지하면서 노이즈를 제거하는 디노이징(denoising)을 수행함으로써, 제2 영상(20)을 생성할 수 있다. 제2 영상(20)은 제1 영상(10)보다 고해상도 영상일 수 있으며, 제1 영상(10)보다 화질이 개선된 영상일 수 있다. 다만, 이에 한정되지 않는다.
일 실시예에 따른 컨볼루션 뉴럴 네트워크(2000)는 하나 이상의 컨볼루션 레이어들(2010, 2020, ..., 2090)을 포함할 수 있다. 컨볼루션 레이어들(2010, 2020, ..., 2090) 각각에서는 컨볼루션 레이어에 입력된 영상(또는 특징 정보)과 커널과의 컨볼루션 연산이 수행될 수 있다.
도 2 및 3은 기존의 컨볼루션 레이어에서 수행되는 컨볼루션 연산을 설명하기 위한 도면들이다.
도 2는 컨볼루션 레이어로 입력되는 입력 영상(또는, 입력 특징 맵, F_in), 컨볼루션 레이어에 포함되는 커널(Kernel) 및 컨볼루션 레이어로부터 출력되는 출력 영상(또는, 출력 특징 맵, F_out)을 나타내는 도면이다.
도 2를 참조하면, 컨볼루션 레이어로 입력되는 입력 영상(F_in)의 크기는 W x H 일 수 있으며, 채널 수는 C일 수 있다. 또한, 컨볼루션 레이어는 커널(Kernel)을 포함하며, 커널(Kernel)은 D개의 서브 커널들을 포함할 수 있다. 또한, 하나의 서브 커널은 Kw x Kh x C의 크기를 가질 수 있다. 하나의 서브 커널의 채널 수(C)는 입력 영상(F_in)의 채널 수(C)와 동일할 수 있다. 컨볼루션 레이어는 입력 영상(F_in)과 커널(Kernel)과의 컨볼루션 연산을 수행함으로써, 출력 영상(F_out)을 생성할 수 있다. 이때, 출력 영상(F_out)의 크기는 W x H일 수 있으며, 출력 영상(F_out)의 채널의 개수는 커널(Kernel)의 서브 커널들의 개수(D)에 의해 결정될 수 있다. 예를 들어, 입력 영상(F_in)과 제1 서브 커널과의 컨볼루션 연산을 수행함으로써, 출력 영상(F_out)의 제1 채널 영상이 생성될 수 있으며, 입력 영상(F_in)과 제2 서브 커널과의 컨볼루션 연산을 수행함으로써, 출력 영상(F_out)의 제2 채널 영상이 생성될 수 있다. 또한, 입력 영상(F_in)과 제D 서브 커널과의 컨볼루션 연산을 수행함으로써, 출력 영상(F_out)의 제D 채널 영상이 생성될 수 있다.
도 3은, 일 실시예에 따른 입력 영상(F_in)과 커널(kernel)에 포함되는 제1 서브 커널(210)과의 컨볼루션 연산을 통해, 출력 영상(F_out)의 제1 채널 영상(220)이 생성되는 과정을 설명하기 위해 참조되는 도면이다.
도 3에서는 설명의 편의를 위해, 입력 영상(F_in)이 5 x 5의 크기를 가지며, 채널의 개수(C)는 1인 것으로 가정한다. 또한, 입력 영상(F_in)에 적용되는 커널(Kernel)에 포함되는 하나의 서브 커널은 3 x 3의 크기를 가지며, 채널의 개수(C)는 1인 것으로 가정한다.
도 3을 참조하면, 입력 영상(F_in)의 좌측 상단으로부터 우측 하단까지 제1 서브 커널(210)을 적용하여, 입력 영상(F_in)의 특징을 추출하는 과정이 도시되어 있다. 이때, 제1 서브 커널(210)은 3 x 3의 크기를 가지며, 채널 수는 1이다. 예를 들어, 입력 영상(F_in)의 좌측 상단 3 x 3 영역(310)에 포함되는 픽셀들에 제1 서브 커널(210)을 적용하여 컨볼루션 연산을 수행할 수 있다.
즉, 좌측 상단 3 x 3 영역(310)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8))의 픽셀 값들과 제1 서브 커널(210)에 포함되는 가중치들(w0, w1, w2, w3, w4, w5, w6, w7, w8)을 곱하여 합산함으로써, 좌측 상단 3 x 3 영역(310) 매핑되는 하나의 픽셀 값(f1)을 계산할 수 있다.
이때, 픽셀 값(f1)은 다음과 같은 수학식 1로 나타낼 수 있다.
Figure pat00001
동일한 방식으로, 입력 영상(F_in) 내에서 제1 서브 커널(210)을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 슬라이딩하면서, 제1 서브 커널(210)에 포함되는 파라미터 값들과 입력 영상(F_in)의 픽셀값들을 곱하여 합산함으로써, 출력 영상(F_out)의 제1 채널 영상(220)에 포함되는 픽셀 값들을 생성할 수 있다. 이때, 컨볼루션 연산의 대상이 되는 데이터는 한 픽셀씩 이동하면서 샘플링될 수도 있으나, 2개 이상의 픽셀 개수만큼 이동하면서 샘플링될 수도 있다. 샘플링 과정에서 샘플링된 픽셀들의 간격의 크기를 스트라이드(stride)라고 하며, 스트라이드의 크기에 따라 출력되는 출력 영상(F_out)의 크기가 결정될 수 있다. 또한, 도 2에 도시된 바와 같이, 출력 영상(F_out)의 크기를 입력 영상(F_in)과 동일하게 하기 위해서는 패딩이 수행될 수 있다. 패딩은 출력되는 출력 영상(F_out)의 크기가 작아지는 것을 방지하기 위하여, 입력 영상(F_in)의 가장자리에 특정 값(예를 들어, '0')을 주어, 입력 영상(F_in)의 사이즈를 증가시키는 것을 의미한다. 패딩을 수행한 후, 컨볼루션 연산을 수행하면, 출력 영상(F_out)의 크기가 입력 영상(F_in)의 크기와 동일할 수 있다. 다만, 이에 한정되지 않는다.
한편, 도 3에는 제1 서브 커널(210)에 대한 컨볼루션 연산 결과(출력 영상(F_out)의 제1 채널 영상(220))만 도시하였지만, D개의 서브 커널들에 대해서, 컨볼루션 연산을 수행하는 경우, D개의 채널 영상들을 포함하는 출력 영상(F_out)이 출력될 수 있다. 즉, 커널(Kernel)에 포함되는 서브 커널들의 개수에 따라, 출력 영상(F_out)의 채널 수가 결정될 수 있다.
도 4는 영상의 노이즈를 제거하는 컨볼루션 뉴럴 네트워크에 포함되는 커널들을 나타내는 도면이다.
도 4를 참조하면, 영상의 노이즈를 제거하는 컨볼루션 뉴럴 네트워크는 제1 커널(410), 제2 커널(420), 제3 커널(430), 제4 커널(440) 및 제5 커널(450)을 포함할 수 있다. 제1 내지 제5 커널들(410, 420, 430, 440, 450) 각각은 컨볼루션 뉴럴 네트워크의 훈련을 통해 결정되는 가중치들을 포함할 수 있다. 제1 내지 제5 커널들(410, 420, 430, 440, 450) 각각에 포함되는 가중치 값들을 색상(예를 들어, 그레이 스케일)으로 표시하면, 제1 내지 제5 커널들(410, 420, 430, 440, 450)에는 원이나 타원 형태가 나타나게 된다. 영상의 경우, 자기 유사성(self-similarity)이 강하므로, 처리하고자 하는 픽셀(중심 픽셀)에 더 가까이 인접한 픽셀일수록 신뢰도가 커지며, 이에 따라, 커널의 중심과 가까울수록 가중치 값이 커지는 경향을 가진다. 또한, 커널의 중심에서 동일한 거리에 위치한 가중치들은 서로 유사한 값을 가지게 된다.
그러나, 기존의 컨볼루션 연산은 중심 픽셀과 인접 픽셀 간의 거리에 따른 신뢰도가 반영되지 않는다는 문제점이 있다. 예를 들어, 도 3을 참조하면, 인접 픽셀들(i0, i1, i2, i3, i5, i6, i7, i8)은 인접 픽셀들(i0, i1, i2, i3, i5, i6, i7, i8)에 대응되는 가중치 값들(w0, w1, w2, w3, w5, w6, w7, w8)이 적용되어, 컨볼루션이 수행된다. 그러나, 인접 픽셀들 중 제1 인접 픽셀들(i1, i3, i5, i7)은 제2 인접 픽셀들(i0, i2, i6, i8)보다 중심 픽셀(i4)과의 거리가 더 가깝기 때문에 신뢰도가 더 높으며, 제2 인접 픽셀들(i0, i2, i6, i8)은 제1 인접 픽셀들(i1, i3, i5, i7)보다 중심 픽셀(i4)과의 거리가 더 멀기 때문에 신뢰도가 더 낮다.
따라서, 영상을 처리하는 컨볼루션 뉴럴 네트워크(CNN)의 성능을 향상시키기 위해서는 이러한 신뢰도를 반영하여, 컨볼루션 연산이 수행될 필요가 있다.
다시 도 1을 참조하면, 일 실시예에 따른 컨볼루션 뉴럴 네트워크(2000)는 중심 픽셀과의 거리에 따른 인접 픽셀의 신뢰도를 반영한 컨볼루션 연산을 수행할 수 있다. 일 실시예에 따른 컨볼루션 뉴럴 네트워크(2000)에 포함되는 컨볼루션 레이어들 각각에서 수행되는 영상 처리에 대해서는 이하 도면들을 참조하여 자세히 설명하기로 한다.
도 5는 일 실시예에 따른 하나의 컨볼루션 레이어의 구성을 나타내는 도면이다.
도 5를 참조하면, 일 실시예에 따른 하나의 컨볼루션 레이어(500)는 샘플링부(510) 및 컨볼루션부(520)를 포함할 수 있다. 하나의 컨볼루션 레이어(500)는 도 1의 제1 내지 제 N 컨볼루션 레이어들(2010, 2020, ..., 2090) 중 어느 하나일 수 있다. 예를 들어, 제1 내지 제 N 컨볼루션 레이어들(2010, 2020, ..., 2090) 각각은 샘플링부(510) 및 컨볼루션부(520)를 포함할 수 있다. 일 실시예에 따른 컨볼루션 레이어(500)는 제1 특징 정보(501, 또는 입력 영상)를 입력 받아, 제2 특징 정보(502, 또는 출력 영상)를 출력하는 구조를 포함할 수 있으며, 제1 특징 정보(501)와 제2 특징 정보(502)의 크기는 동일할 수 있으나, 이에 한정되지 않는다.
이하, 도 6을 참조하여, 하나의 컨볼루션 레이어(500)에서 수행되는 동작을 구체적으로 설명하기로 한다.
도 6은 일 실시예에 따른 샘플링부 및 컨볼루션부의 동작을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 샘플링부(510)는 컨볼루션 레이어에 입력된 제1 특징 정보(501)에 포함되는 픽셀들 중 컨볼루션 연산의 대상이 되는 영역(610, 이하, 제1 영역이라 한다)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8) 중 중심에 위치한 중심 픽셀(i4)을 샘플링하고, 중심 픽셀(i4)로부터 동일한 거리에 위치한 지점들을 샘플링하여, 복수의 샘플들을 획득할 수 있다. 예를 들어, 샘플링부(510)는 중심 픽셀(i4)을 중심으로 하고, 중심 픽셀(i4)과 제2 픽셀(i1) 사이의 간격을 반지름으로 하는 원의 둘레에 포함되는 지점들 중 45도 간격으로 위치한 지점들을 샘플링할 수 있다. 도 6에 도시된 바와 같이, 제2 픽셀(i1), 제4 픽셀(i3), 제6 픽셀(i5), 제8 픽셀(i7)이 샘플링되고, 제2 픽셀(i1), 제4 픽셀(i3), 제6 픽셀(i5), 제8 픽셀(i7)들 각각과 45도를 이루는 지점들이 샘플링될 수 있다. 이에 따라, 제1 내지 제9 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)이 결정될 수 있다.
다만, 샘플들의 위치를 결정하는 방법은 상술한 방법에 한정되지 않으며, 다양한 방법으로 샘플들의 위치가 결정될 수 있다.
또한, 샘플링부(510)는 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)의 픽셀 값들에 기초하여, 결정된 샘플들의 샘플 값들을 획득할 수 있다. 예를 들어, 샘플링부(510)는 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)의 픽셀 값들에 파라미터 정보를 적용함으로써, 샘플들의 샘플 값들을 획득할 수 있다. 이때, 샘플링부(510)는 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)의 위치 정보와 결정된 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)의 위치 정보에 기초하여, 파라미터 정보(제1 파라미터 정보)를 결정할 수 있다.
구체적으로, 샘플링부(510)는 제1 샘플(i'0) 주변에 위치하는 제1 픽셀(i0), 제2 픽셀(i1), 제4 픽셀(i3), 및 제5 픽셀(i4)의 픽셀 값들에 기초하여, 제1 샘플(i'0)의 샘플 값을 획득할 수 있다. 이때, 제1 픽셀(i0), 제2 픽셀(i1), 제4 픽셀(i3), 및 제5 픽셀(i4)의 픽셀 값들에 적용되는 제1 파라미터들은 제1 샘플(i'0)의 위치와 제1 샘플(i'0) 주변에 위치한 제1 픽셀(i0), 제2 픽셀(i1), 제4 픽셀(i3), 및 제5 픽셀(i4)들의 위치 관계에 기초하여, 결정될 수 있다.
샘플링부(510)는 제1 샘플(i0)과 주변 픽셀들(i0, i1, i3, i4) 각각과의 거리 정보, 제1 샘플(i0)과 주변 픽셀들(i0, i1, i3, i4)에 기초하여 형성되는 면적 정보 등에 기초하여, 제1 파라미터들을 결정할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 제1 샘플(i'0)과 제1 픽셀(i0) 사이의 거리를 대각선으로 하는 제1 직사각형(a1)의 면적, 제1 샘플(i'0)과 제2 픽셀(i1) 사이의 거리를 대각선으로 하는 제2 직사각형(a2)의 면적, 제1 샘플(i'0)과 제4 픽셀(i3) 사이의 거리를 대각선으로 하는 제3 직사각형(a3)의 면적, 및 제1 샘플(i'0)과 제5 픽셀(i4) 사이의 거리를 대각선으로 하는 제4 직사각형(a4)의 면적에 기초하여, 제1 파라미터들을 결정할 수 있다.
예를 들어, 제1 내지 제4 직사각형들의 면적의 합을 1이라 가정했을 때의 제1 직사각형(a1)의 면적, 제2 직사각형(a2)의 면적, 제3 직사각형(a3)의 면적 및 제4 직사각형(a4)의 면적을 제1 파라미터들로 결정할 수 있으며, 제2 직사각형의 면적 및 제3 직사각형의 면적은 동일할 수 있다. 이에 따라, 제1 직사각형(a1)의 면적(a0)은 0.08578, 제2 직사각형(a2) 및 제3 직사각형(a3)의 면적(a1)은 0.20711, 제4 직사각형(a4)의 면적(a2)은 0.5일 수 있다.
샘플링부(510)는 제1 샘플(i'0)의 주변 픽셀들(i0, i1, i3, i4)에 제1 파라미터들을 적용함으로써, 제1 샘플(i'0)의 샘플 값을 획득할 수 있으며, 제1 샘플(i'0)의 샘플 값은 다음과 같은 수학식 2로 나타낼 수 있다.
Figure pat00002
샘플링부(510)는 제1 샘플(i'0)의 샘플 값을 획득한 방법과 동일한 방법으로, 제3 샘플(i'2)의 샘플 값, 제7 샘플(i'6)의 샘플 값, 제9 샘플(i'8)의 샘플 값들도 획득할 수 있으며, 제3 샘플(i'2)의 샘플 값, 제7 샘플(i'6)의 샘플 값, 제9 샘플(i'8)의 샘플 값들은 다음의 수학식 3 내지 5로 나타낼 수 있다.
Figure pat00003
Figure pat00004
Figure pat00005
또한, 제2 샘플(i1)의 샘플 값은 제2 픽셀(i1)의 픽셀 값과 동일하며, 제4 샘플(i3)의 샘플 값은 제4 픽셀(i3)의 픽셀 값과 동일하며, 제5 샘플(i4)의 샘플 값은 제5 픽셀(i4)의 픽셀 값과 동일하며, 제6 샘플(i5)의 샘플 값은 제6 픽셀(i5)의 픽셀 값과 동일하며, 제8 샘플(i7)의 샘플 값은 제8 픽셀(i7)의 픽셀 값과 동일하다.
컨볼루션부(520)는 샘플링부(510)에서 획득한 제1 내지 제9 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)의 샘플 값들과 커널(620)과의 컨볼루션 연산을 수행하여, 제1 영역(610)에 대응하는 특징 값(f1)을 획득할 수 있다. 예를 들어, 제1 내지 제9 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)의 샘플 값들 각각을 커널(620)에 포함되는 제1 내지 제9 가중치들(w0, w1, w2, w3, w4, w5, w6, w7, w8)과 곱하여 합산함으로써, 특징 값(f1)을 획득할 수 있으며, 특징 값(f1)은 다음의 수학식 6으로 나타낼 수 있다.
Figure pat00006
도 7은 다른 실시예에 따른 하나의 컨볼루션 레이어의 구성을 나타내는 도면이다.
도 7을 참조하면, 다른 실시예에 따른 하나의 컨볼루션 레이어(700)는 가중치 조절부(710) 및 컨볼루션부(720)를 포함할 수 있다. 하나의 컨볼루션 레이어(700)는 도 1의 제1 내지 제N 컨볼루션 레이어들(2010, 2020, ..., 2090) 중 어느 하나일 수 있다. 예를 들어, 제1 내지 제N 컨볼루션 레이어들(2010, 2020, ..., 2090) 각각은 가중치 조절부(710) 및 컨볼루션부(720)를 포함할 수 있다. 일 실시예에 따른 컨볼루션 레이어(700)는 제1 특징 정보(501, 또는 입력 영상)를 입력 받아, 제2 특징 정보(502, 또는 출력 영상)를 출력하는 구조를 포함할 수 있으며, 제1 특징 정보(501)와 제2 특징 정보(502)의 크기는 동일할 수 있으나, 이에 한정되지 않는다.
한편, 도 5의 컨볼루션 레이어(500)에서는 컨볼루션 대상이 되는 영역에 포함되는 픽셀 값들에 파라미터 정보(제1 파라미터 정보)를 적용한 후, 커널과의 컨볼루션을 수행한다. 이러한 경우, 컨볼루션 수행 시마다, 입력되는 픽셀 값들에 파라미터 정보(제1 파라미터 정보)를 적용해야 하므로 연산량이 증가한다. 반면에, 도 7의 컨볼루션 레이어(700)에서는 커널에 포함되는 가중치들에 파라미터 정보(제2 파라미터 정보)를 적용하여, 가중치들의 값을 변경할 수 있다. 변경된 가중치들은 컨볼루션에 동일하게 적용될 수 있으며, 컨볼루션 수행 시마다 파라미터 정보(제1 파라미터 정보)를 적용할 필요가 없다. 따라서, 연산의 효율성이 향상될 수 있다.
이하, 도 8을 참조하여, 하나의 컨볼루션 레이어(700)에서 수행되는 동작을 구체적으로 설명하기로 한다.
도 8은 일 실시예에 따른 가중치 조절부 및 컨볼루션부의 동작을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 가중치 조절부(710)는 커널(810)에 포함되는 가중치들(w0, w1, w2, w3, w4, w5, w6, w7, w8)에 파라미터 정보(제2 파라미터 정보)를 적용함으로써, 가중치들을 보정할 수 있다.
예를 들어, 가중치 조절부(710)는 컨볼루션 레이어에 입력된 제1 특징 정보에 포함되는 픽셀들 중 컨볼루션 연산의 대상이 되는 영역에 포함되는 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 파라미터 정보(제1 파라미터 정보)를 결정할 수 있다. 이때, 샘플들을 위치를 결정하는 방법은 도 6에서 도시하고 설명한 방법과 동일하므로 구체적인 설명은 생략하기로 한다. 예를 들어, 도 6에 도시된 바와 같이, 제1 내지 제9 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)이 결정될 수 있다.
가중치 조절부(710)는 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)의 위치 정보와 결정된 샘플들(i'0, i1, i'2, i3, i4, i5, i'6, i7, i'8)의 위치 정보에 기초하여, 파라미터 정보(제1 파라미터 정보)를 결정할 수 있다.
구체적으로, 상술한 수학식 6을 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)에 대한 식으로 다시 정리하면, 다음의 수학식 7과 같이 나타낼 수 있다.
Figure pat00007
따라서, 보정된 가중치들(w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)은 다음과 같은 수학식 8 내지 16으로 나타낼 수 있다.
Figure pat00008
Figure pat00009
Figure pat00010
Figure pat00011
Figure pat00012
Figure pat00013
Figure pat00014
Figure pat00015
Figure pat00016
가중치 조절부(710)는 제1 커널(810)에 포함되는 가중치들(w0, w1, w2, w3, w4, w5, w6, w7, w8) 각각에 수학식 8 내지 수학식 16에서 획득한 파라미터 정보(제2 파라미터 정보)를 적용함으로써, 보정된 가중치들(820, w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)을 획득할 수 있다.
컨볼루션부(720)는 가중치 조절부(710)에서 보정된 가중치들(820, w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)과 제1 영역(610)에 포함된 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)과의 컨볼루션 연산을 수행하여, 제1 영역(610)에 대응하는 특징 값(f1)을 획득할 수 있다.
도 9는 일 실시예에 따른 제1 영역에서 샘플링된 샘플들의 위치를 나타내는 도면이다.
도 9를 참조하면, 일 실시예에 따른 샘플링부(510)는 제1 영역(610)에서 다양한 위치의 지점들을 샘플링하여, 복수의 샘플들을 획득할 수 있다. 도 6에서는 복수의 샘플들이 중심 픽셀로부터 동일한 거리에 위치하고, 복수의 샘플들 사이의 간격이 동일한 것으로 도시하고 설명하였으나, 이에 한정되지 않는다.
샘플링부(510)는 제1 영상의 영상 특성에 따라 샘플들의 위치를 다양하게 결정할 수 있다. 예를 들어, 제1 영상의 엣지 정보를 추출하고, 추출된 엣지 정보에 기초하여, 샘플들의 위치를 결정할 수 있다. 또는, 제1 영상의 텍스쳐 정보를 추출하고, 추출된 텍스쳐 정보에 기초하여, 샘플들의 위치를 결정할 수 있다. 또한, 샘플링부(510)는 제1 영상이 복수의 채널 영상들을 포함하는 경우, 채널 영상들 각각에서 샘플들의 위치를 다르게 결정할 수도 있다.
이에 따라, 각 샘플들의 위치는 중심 픽셀로부터의 거리 정보와 기준선과 이루는 각도 정보로 나타날 수 있다. 예를 들어, 제1 샘플(910, i'k)은 제1 샘플에 대한 거리 정보(rk)와 제1 샘플에 대한 각도 정보(θk)로 나타날 수 있다. 각 샘플들은 위치에 따라, 샘플 값을 획득하기 위해 샘플 주변에 위치한 픽셀들의 픽셀 값들에 적용되는 파라미터 정보(제1 파라미터 정보)가 결정될 수 있다. 파라미터 정보가 결정되면, 샘플링부(510)는 샘플들 각각의 주변 픽셀들에 파라미터 정보를 적용함으로써, 샘플들 각각의 샘플 값을 획들할 수 있다.
컨볼루션부(520)는 샘플들의 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 제1 영역(610)에 대응하는 특징 값(f1)을 획득할 수 있다.
한편, 다른 실시예에 따른 가중치 조절부(710)는 상술한 바와 같이, 결정된 파라미터 정보(제1 파라미터 정보)에 기초하여, 커널에 포함되는 가중치들을 보정하기 위한 제2 파라미터 정보를 결정할 수 있다.
예를 들어, 샘플 값들과 커널에 포함되는 가중치들과의 컨볼루션 연산에 대한 식을 입력된 픽셀 값들(예를 들어, 제1 영역(610)에 포함되는 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8))에 대한 식으로 나타냄으로써, 제2 파라미터 정보를 결정할 수 있다. 이에 대해서는 도 8에서 자세히 설명하였으므로 동일한 설명은 생략하기로 한다.
가중치 조절부(710)는 제2 파라미터 정보가 결정되면, 커널에 포함되는 가중치들과 제2 파라미터 정보에 기초하여, 보정된 가중치들(w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)을 획득할 수 있다.
컨볼루션부(720)는 가중치 조절부(710)에서 보정된 가중치들(w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)과 제1 영역(610)에 포함된 픽셀들(i0, i1, i2, i3, i4, i5, i6, i7, i8)과의 컨볼루션 연산을 수행하여, 제1 영역(610)에 대응하는 특징 값(f1)을 획득할 수 있다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
일 실시예에 따른 영상 처리 장치(100)는 복수의 컨볼루션 레이어들을 포함하는 컨볼루션 뉴럴 네트워크(2000)를 이용하여, 제1 영상을 처리함으로써, 제2 영상을 생성할 수 있다. 하나의 컨볼루션 레이어는 제1 영상 또는 제1 특징 정보를 입력 받아, 제2 특징 정보를 출력하는 구조일 수 있다.
도 10의 1010 단계(S1010) 내지 1030 단계(S1030)는 하나의 컨볼루션 레이어에서 수행되는 동작들을 나타낸다.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플링 할 샘플들의 위치 정보에 기초하여, 제1 파라미터 정보를 결정할 수 있다(S1010).
예를 들어, 제1 영상은 컨볼루션 레이어에 입력된 입력 영상 또는 특징 정보일 수 있다. 영상 처리 장치(100)는 제1 영상의 제1 영역에 포함되는 픽셀들 중 중심에 위치한 중심 픽셀을 샘플링하고, 중심 픽셀로부터 동일한 거리에 위치한 지점들을 샘플링하여, 복수의 샘플들을 획득할 수 있다. 구체적으로, 영상 처리 장치(100)는 중심 픽셀을 중심으로 하고, 제1 거리를 반지름으로 하는 원의 둘레에 포함되는 지점들 중 제1 각도 간격으로 위치한 지점들을 샘플링할 수 있다. 이때, 제1 거리는 중심 픽셀과, 중심 픽셀에 가장 가까운 인접 픽셀 사이의 거리일 수 있으며, 제1 각도는 45도일 수 있으나, 이에 한정되는 것은 아니다.
영상 처리 장치(100)는 샘플들이 결정되면, 제1 영역에 포함되는 픽셀들의 위치 정보와 결정된 샘플들의 위치 정보에 기초하여, 제1 파라미터 정보를 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 샘플들 중 제1 샘플의 위치와, 제1 영역에 포함되는 픽셀들 중 제1 샘플 주변에 위치한 픽셀들의 위치 관계에 기초하여, 제1 샘플 주변에 위치한 픽셀들의 픽셀 값들에 적용되는 제1 파라미터들을 결정할 수 있다. 구체적으로, 영상 처리 장치(100)는 제1 샘플과 제1 샘플의 주변에 위치한 픽셀들 각각과의 거리 정보, 제1 샘플과 제1 샘플의 주변에 위치한 픽셀들에 기초하여, 형성되는 면적 정보 등에 기초하여, 제1 샘플 주변에 위치한 픽셀들의 픽셀 값들에 적용되는 제1 파라미터들을 결정할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 1010 단계(S1010)에서 결정된 제1 파라미터 정보를 제1 픽셀들의 픽셀 값들에 적용하여, 샘플들의 샘플 값들을 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 샘플의 주변에 위치한 픽셀들의 픽셀 값들에 제1 파라미터들을 적용함으로써, 제1 샘플의 샘플 값을 획득할 수 있다. 영상 처리 장치(100)는 동일한 방식으로 나머지 샘플들의 샘플 값들도 획득할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 1120 단계(S1020)에서 획득한 샘플들의 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 제1 영역에 대응하는 특징 정보를 획득할 수 있다(S1030).
예를 들어, 샘플들의 개수와 커널에 포함되는 가중치들의 개수는 동일하며, 샘플들의 샘플 값들 각각과 가중치들 각각을 곱하여, 합산함으로써, 제1 영역에 대응하는 특징 정보를 획득할 수 있다.
영상 처리 장치(100)는 제1 영상에 포함되는 픽셀들 각각을 중심으로 하는 나머지 영역들에 대하여, 1010 단계(S1010) 내지 1030 단계(S1030)의 동작들을 반복적으로 수행함으로써, 제1 영상에 대응하는 특징 정보를 획득할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 특징 정보에 기초하여, 제2 영상을 생성할 수 있다(S1040).
예를 들어, 영상 처리 장치(100)는 제1 영상에 대응하는 제1 특징 정보를 다음 컨볼루션 레이어로 입력함으로써, 제2 특징 정보를 획득할 수 있다. 영상 처리 장치(100)는 복수의 컨볼루션 레이어들에서 1010 단계(S1010) 내지 1030 단계(S1030)의 동작들을 반복적으로 수행함으로써 획득된 최종 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 제2 영상은 제1 영상보다 고해상도 영상일 수 있으며, 제1 영상보다 화질이 개선된 영상일 수 있다. 다만, 이에 한정되지 않는다.
도 11은 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
일 실시예에 따른 영상 처리 장치(100)는 복수의 컨볼루션 레이어들을 포함하는 컨볼루션 뉴럴 네트워크를 이용하여, 제1 영상을 처리함으로써, 제2 영상을 생성할 수 있다. 하나의 컨볼루션 레이어는 제1 영상 또는 제1 특징 정보를 입력 받아, 제2 특징 정보를 출력하는 구조일 수 있다.
도 11의 1110 단계(S1110) 내지 1140 단계(S1140)는 하나의 컨볼루션 레이어에서 수행되는 동작을 나타낸다.
도 11을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플링 할 샘플들의 위치 정보에 기초하여, 가중치를 보정하기 위한 제2 파라미터 정보를 결정할 수 있다(S1110).
예를 들어, 도 10의 1010 단계(S1010)에서 설명한 바와 같이, 제1 파라미터 정보를 결정하고, 제1 파라미터 정보에 기초하여, 샘플 값들과 커널에 포함되는 가중치들과의 컨볼루션 연산에 대한 식을 제1 픽셀들(입력 픽셀 값들)에 대한 식으로 나타냄으로써, 보정된 가중치들을 획득하기 위한 제2 파라미터 정보를 결정할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제2 파라미터 정보가 결정되면, 커널에 포함되는 가중치들과 제2 파라미터 정보에 기초하여, 보정된 가중치들(w'0, w'1, w'2, w'3, w'4, w'5, w'6, w'7, w'8)을 획득할 수 있다(S1120).
일 실시예에 따른 영상 처리 장치(100)는 제1 픽셀들의 픽셀 값들과 보정된 가중치들의 컨볼루션 연산을 수행하여, 제1 영역에 대응하는 특징 정보를 획득할 수 있다(S1130).
예를 들어, 영상 처리 장치(100)는 제1 픽셀들의 픽셀 값들 각각과 보정된 가중치들 각각을 곱하여 합산함으로써, 제1 영역에 대응하는 특징 정보를 획득할 수 있다.
이에 따라, 도 10에서 설명한 동작과 달리 컨볼루션 연산의 대상이 되는 영역(입력되는 픽셀 값들)이 바뀔 때마다 제1 파라미터 정보를 적용하여, 샘플 값들을 계산한 후, 커널에 포함되는 가중치와 컨볼루션 연산을 수행할 필요 없이, 보정된 가중치를 이용하여, 입력된 픽셀 값들과의 컨볼루션 연산을 수행할 수 있어, 연산의 효율성이 향상될 수 있다.
예를 들어, 영상 처리 장치(100)는 제1 영상에 포함되는 픽셀들 각각을 중심으로 하는 영역들에 대하여, 1120 단계(S1120)에서 획득한 보정된 가중치들과 컨볼루션 연산을 수행함으로써, 제1 영상에 대응하는 특징 정보를 획득할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 특징 정보에 기초하여, 제2 영상을 생성할 수 있다(S1140).
예를 들어, 영상 처리 장치(100)는 제1 영상에 대응하는 제1 특징 정보를 다음 컨볼루션 레이어로 입력함으로써, 제2 특징 정보를 획득할 수 있다. 영상 처리 장치(100)는 복수의 컨볼루션 레이어들에서 1110 단계(S1110) 내지 1130 단계(S1130)의 동작들을 반복적으로 수행함으로써 획득된 최종 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 제2 영상은 제1 영상보다 고해상도 영상일 수 있으며, 제1 영상보다 화질이 개선된 영상일 수 있다. 다만, 이에 한정되지 않는다.
도 12는 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 12의 영상 처리 장치(100)는 도 5 및 도 6에서 도시하고 설명한 컨볼루션 레이어(500)를 포함하는 컨볼루션 뉴럴 네트워크를 이용하여, 영상 처리를 수행하는 장치일 수 있다. 또는, 도 12의 영상 처리 장치(100)는 도 7 및 도 8에서 도시하고 설명한 컨볼루션 레이어(700)를 포함하는 컨볼루션 뉴럴 네트워크를 이용하여, 영상 처리를 수행하는 장치일 수 있다.
도 12를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(1210), 메모리(1220) 및 디스플레이(1230)를 포함할 수 있다.
일 실시예에 따른 프로세서(1210)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(1210)는 메모리(1220)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(1220)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 CPU(Cetral Processing Unit), GPU (Graphic Processing Unit) 및 VPU(Video Processing Unit) 중 적어도 하나를 포함할 수 있다. 또는, 실시예에 따라, CPU, GPU 및 VPU 중 적어도 하나를 통합한 SoC(System On Chip) 형태로 구현될 수 있다. 또는, 프로세서(1210)는 NPU(Neural Processing Unit)를 더 포함할 수 있다.
일 실시예에 따른 프로세서(1210)는 하나 이상의 컨볼루션 레이어들을 포함하는 컨볼루션 뉴럴 네트워크를 이용하여, 제1 영상을 처리함으로써, 제2 영상을 생성할 수 있다. 예를 들어, 프로세서(1210)는 하나의 컨볼루션 레이어에 입력된 제1 영상 또는 제1 특징 정보에 포함되는 픽셀들 중 컨볼루션 연산의 대상이 되는 제1 영역에서 샘플링을 수행할 수 있다. 예를 들어, 제1 영역에 포함되는 픽셀들 중 중심 픽셀 및 중심 픽셀로부터 동일한 거리에 위치한 지점들을 샘플링하여, 복수의 샘플들을 획득할 수 있다.
프로세서(1210)는 제1 영역에 포함되는 픽셀들의 픽셀 값들에 기초하여, 결정된 샘플들의 샘플 값들을 획득할 수 있다. 예를 들어, 프로세서(1210)는 제1 영역에 포함되는 픽셀들의 픽셀 값들에 제1 파라미터 정보를 적용함으로써, 샘플들의 샘플 값들을 획득할 수 있다. 이때, 프로세서(1210)는 제1 영역에 포함되는 픽셀들의 위치 정보와 결정된 샘플들의 위치 정보에 기초하여, 제1 파라미터 정보를 결정할 수 있다.
구체적으로, 프로세서(1210)는 샘플들 중 제1 샘플 주변에 위치하는 픽셀들의 픽셀 값들에 기초하여, 제1 샘플의 샘플 값들을 획득할 수 있다. 프로세서(1210)는 제1 샘플과 제1 샘플 주변에 위치한 픽셀들 각각과의 거리 정보, 제1 샘플과 제1 샘플 주변에 위치한 픽셀들에 기초하여 형성되는 면적 정보 등에 기초하여, 제1 샘플 주변에 위치한 픽셀들에 적용되는 제1 파라미터들을 결정할 수 있다.
프로세서(1210)는 제1 샘플의 주변 픽셀들에 제1 파라미터들을 적용함으로써, 제1 샘플의 샘플 값들을 획득할 수 있다. 프로세서(1210)는 동일한 방법으로, 샘플들 각각의 샘플 값을 획득할 수 있다.
프로세서(1210)는 샘플들의 샘플 값들이 결정되면, 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 제1 영역에 대응하는 특징 값을 획득할 수 있다.
프로세서(1210)는 제1 영상 또는 제1 특징 정보의 나머지 영역들에 대해서도 상기와 동일한 방법으로 컨볼루션 연산을 수행할 수 있으며, 제1 영상 또는 제1 특징 정보에 대응하는 제2 특징 정보를 획득할 수 있다.
프로세서(1210)는 제2 특징 정보에 기초하여, 제2 영상을 생성할 수 있다. 이때, 제2 영상은 제1 영상보다 고해상도 영상일 수 있으며, 제1 영상보다 화질이 개선된 영상일 수 있다. 다만, 이에 한정되지 않는다.
한편, 상술한 바와 같이, 픽셀 값들에 파라미터 정보를 적용하여, 샘플 값들을 획득한 후, 샘플 값들과 커널의 컨볼루션 연산을 수행하는 경우, 컨볼루션 수행 시마다 입력되는 픽셀 값들에 파라미터 정보를 적용해야 하므로 연산량이 증가한다.
이에 따라, 일 실시예에 따른 프로세서(1210)는 연산량을 감소시키 위해, 제2 파라미터 정보를 커널에 포함되는 가중치들에 적용하여, 보정된 가중치들을 획득하고, 픽셀 값들과 보정된 가중치들의 컨볼루션 연산을 수행할 수 있다.
구체적으로, 프로세서(1210)는 커널에 포함되는 가중치들에 제2 파라미터 정보를 적용함으로써, 가중치들을 보정할 수 있다. 예를 들어, 프로세서(1210)는 제1 영역에 포함되는 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터 정보를 결정할 수 있다. 샘플들은 제1 파라미터 정보에 기초하여, 제1 픽셀들에 대한 식으로 나타날 수 있으며, 이에 따라, 샘플들과 커널에 포함되는 가중치들의 컨볼루션 연산 식을 제1 픽셀들에 대한 식으로 나타내면, 보정된 가중치들을 획득하기 위한 제2 파라미터 정보가 결정될 수 있다. 예를 들어, 수학식 8내지 수학식 16에서 설명한 바와 같이, 제1 픽셀들 각각에 적용되는 보정된 가중치들을 획득할 수 있으며, 보정된 가중치들은 커널에 포함되는 가중치들에 제2 파라미터 정보를 적용한 식으로 나타낼 수 있다.
프로세서(1210)는 수학식 8내지 수학식 16에 기초하여, 제2 파라미터들을 커널에 포함되는 가중치들에 적용함으로써, 보정된 가중치들을 획득할 수 있다
프로세서(1210)는 제1 픽셀들의 픽셀 값들과 보정된 가중치들의 컨볼루션 연산을 수행하여, 제1 영역에 대응하는 특징 값을 획득할 수 있다.
프로세서(1210)는 제1 영상 또는 제1 특징 정보의 나머지 영역들에 대해서도 보정된 가중치들과의 컨볼루션 연산을 수행함으로써, 제1 영상 또는 제1 특징 정보에 대응하는 제2 특징 정보를 획득할 수 있다. 프로세서(1210)는 제2 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 디스플레이(1230)는, 프로세서(1210)에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이(1230)는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이(1230)는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.
일 실시예에 따른 디스플레이(1230)는 컨볼루션 뉴럴 네트워크(2000)를 이용하여, 영상 처리된 제2 영상을 표시할 수 있다.
한편, 도 12에 도시된 영상 처리 장치(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 (26)

  1. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써,
    제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하고,
    상기 제1 파라미터들을 상기 제1 픽셀들의 픽셀 값들에 적용하여, 상기 샘플들에 대응하는 샘플 값들을 획득하고,
    상기 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하고,
    상기 특징 정보에 기초하여, 제2 영상을 생성하는, 영상 처리 장치.
  2. 제1항에 있어서,
    상기 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고,
    상기 샘플들은 상기 중심 픽셀을 포함하고,
    상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일한, 영상 처리 장치.
  3. 제1항에 있어서,
    상기 샘플들의 개수와 상기 커널에 포함되는 가중치들의 개수는 동일한, 영상 처리 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정하는, 영상 처리 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 픽셀들 중 제1 샘플 주변에 위치한 제2 픽셀들의 픽셀 값들에 상기 제1 파라미터들을 적용하여, 상기 제1 샘플의 제1 샘플 값을 획득하는, 영상 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제2 픽셀들과 상기 제1 샘플 사이의 거리에 기초하여, 상기 제1 파라미터들을 결정하는, 영상 처리 장치.
  7. 제5항에 있어서,
    상기 프로세서는
    상기 제2 픽셀들과 상기 제1 샘플이 형성하는 영역들에 대한 넓이 정보에 기초하여, 상기 제1 파라미터들을 결정하는, 영상 처리 장치.
  8. 제5항에 있어서,
    상기 제2 픽셀들에 적용되는 상기 제1 파라미터들의 합은 1인, 영상 처리 장치.
  9. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써,
    제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하고,
    상기 제1 파라미터들을 커널에 포함되는 가중치들에 적용함으로써, 보정된 가중치들을 획득하고,
    상기 제1 픽셀들의 픽셀 값들과 상기 보정된 가중치들의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하고,
    상기 특징 정보에 기초하여, 제2 영상을 생성하는, 영상 처리 장치.
  10. 제9항에 있어서,
    상기 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고,
    상기 샘플들은 상기 중심 픽셀을 포함하고,
    상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일한, 영상 처리 장치.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정하는, 영상 처리 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 커널에 포함되는 가중치들에 기초하여, 상기 제1 파라미터들을 결정하는, 영상 처리 장치.
  13. 하나 이상의 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치의 동작 방법에 있어서,
    제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하는 단계;
    상기 제1 파라미터들을 상기 제1 픽셀들의 픽셀 값들에 적용하여, 상기 샘플들에 대응하는 샘플 값들을 획득하는 단계;
    상기 샘플 값들과 커널과의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하는 단계; 및
    상기 특징 정보에 기초하여, 제2 영상을 생성하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고,
    상기 샘플들은 상기 중심 픽셀을 포함하고,
    상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일한, 영상 처리 장치의 동작 방법.
  15. 제13항에 있어서,
    상기 샘플들의 개수와 상기 커널에 포함되는 가중치들의 개수는 동일한, 영상 처리 장치의 동작 방법.
  16. 제13항에 있어서,
    상기 제1 파라미터들을 결정하는 단계는,
    상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  17. 제13항에 있어서,
    상기 샘플 값들을 획득하는 단계는,
    상기 제1 픽셀들 중 제1 샘플 주변에 위치한 제2 픽셀들의 픽셀 값들에 상기 제1 파라미터들을 적용하여, 상기 제1 샘플의 제1 샘플 값을 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  18. 제17항에 있어서,
    상기 제1 파라미터들을 결정하는 단계는,
    상기 제2 픽셀들과 상기 제1 샘플 사이의 거리에 기초하여, 상기 제1 파라미터들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  19. 제17항에 있어서,
    상기 제1 파라미터들을 결정하는 단계는
    상기 제2 픽셀들과 상기 제1 샘플이 형성하는 영역들에 대한 넓이 정보에 기초하여, 상기 제1 파라미터들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  20. 제17항에 있어서,
    상기 제2 픽셀들에 적용되는 상기 제1 파라미터들의 합은 1인, 영상 처리 장치의 동작 방법.
  21. 하나 이상의 컨볼루션 뉴럴 네트워크를 이용함으로써 영상을 처리하는 영상 처리 장치의 동작 방법에 있어서,
    제1 영상의 제1 영역에 포함되는 제1 픽셀들의 위치 정보와 샘플들의 위치 정보에 기초하여, 제1 파라미터들을 결정하는 단계;
    상기 제1 파라미터들을 커널에 포함되는 가중치들에 적용함으로써, 보정된 가중치들을 획득하는 단계;
    상기 제1 픽셀들의 픽셀 값들과 상기 보정된 가중치들의 컨볼루션 연산을 수행하여, 상기 제1 영역에 대응하는 특징 정보를 획득하는 단계; 및
    상기 특징 정보에 기초하여, 제2 영상을 생성하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  22. 제21항에 있어서,
    상기 제1 픽셀들은 상기 제1 영역의 중심에 위치한 중심 픽셀과 주변 픽셀들을 포함하고,
    상기 샘플들은 상기 중심 픽셀을 포함하고,
    상기 중심 픽셀을 제외한 나머지 샘플들 각각과 상기 중심 픽셀 사이의 거리는 동일한, 영상 처리 장치의 동작 방법.
  23. 제21항에 있어서,
    상기 제1 파라미터들을 결정하는 단계는,
    상기 제1 픽셀들과 상기 샘플들 사이의 거리 정보 및 상기 제1 픽셀들과 상기 샘플들에 기초하여 형성되는 영역들에 대한 넓이 정보 중 적어도 하나에 기초하여, 상기 제1 파라미터들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  24. 제23항에 있어서,
    상기 제1 파라미터들을 결정하는 단계는,
    상기 커널에 포함되는 가중치들에 기초하여, 상기 제1 파라미터들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작 방법.
  25. 제13항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.
  26. 제21항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.
KR1020220053808A 2021-09-02 2022-04-29 영상 처리 장치 및 그 동작 방법 KR20230034127A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22864869.7A EP4369282A1 (en) 2021-09-02 2022-07-22 Image processing apparatus and operation method thereof
PCT/KR2022/010787 WO2023033360A1 (ko) 2021-09-02 2022-07-22 영상 처리 장치 및 그 동작 방법
US17/888,170 US20230069072A1 (en) 2021-09-02 2022-08-15 Image processing apparatus and operation method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210117194 2021-09-02
KR20210117194 2021-09-02

Publications (1)

Publication Number Publication Date
KR20230034127A true KR20230034127A (ko) 2023-03-09

Family

ID=85511324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220053808A KR20230034127A (ko) 2021-09-02 2022-04-29 영상 처리 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR20230034127A (ko)

Similar Documents

Publication Publication Date Title
US10878575B2 (en) Foreground-aware image inpainting
US11921822B2 (en) Image processing device for improving details of an image, and operation method of the same
US10521970B2 (en) Refining local parameterizations for applying two-dimensional images to three-dimensional models
KR102570562B1 (ko) 영상 처리 장치 및 그 동작방법
CN110956654A (zh) 图像处理方法、装置、设备及存储介质
US10740901B2 (en) Encoder regularization of a segmentation model
KR20200132305A (ko) 전자 장치가 뉴럴 네트워크 내의 소정 레이어에서 컨볼루션 연산을 수행하는 방법 및 그 방법을 수행하는 전자 장치
US11954755B2 (en) Image processing device and operation method thereof
CN112534443A (zh) 图像处理设备及其操作方法
KR102553146B1 (ko) 영상 처리 장치 및 그 동작방법
US20230069072A1 (en) Image processing apparatus and operation method thereof
EP4083874A1 (en) Image processing device and operating method therefor
KR20230034127A (ko) 영상 처리 장치 및 그 동작 방법
CN115205535A (zh) 图像处理方法、计算机可读介质及电子设备
KR20220116928A (ko) 라벨링 방법 및 이를 위한 컴퓨팅 장치
US20230214971A1 (en) Image processing device and operating method therefor
KR102266903B1 (ko) 영상 처리 장치 및 그 동작방법
US20230169748A1 (en) Image processing apparatus and operating method thereof
US20210182678A1 (en) Data processing system and data processing method
US20230169752A1 (en) Image processing apparatus and operating method thereof
US20230360169A1 (en) Image processing apparatus and operation method thereof
US20220284565A1 (en) Image processing apparatus and operating method of the same
US20210081756A1 (en) Fractional convolutional kernels
KR20220125127A (ko) 영상 처리 장치 및 그 동작방법
KR20220125124A (ko) 영상 처리 장치 및 그 동작방법