KR20230071017A - 영상 디블러링 방법 및 장치 - Google Patents
영상 디블러링 방법 및 장치 Download PDFInfo
- Publication number
- KR20230071017A KR20230071017A KR1020220027654A KR20220027654A KR20230071017A KR 20230071017 A KR20230071017 A KR 20230071017A KR 1020220027654 A KR1020220027654 A KR 1020220027654A KR 20220027654 A KR20220027654 A KR 20220027654A KR 20230071017 A KR20230071017 A KR 20230071017A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- model
- blur
- encoding
- sample
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006870 function Effects 0.000 claims description 71
- 230000014509 gene expression Effects 0.000 claims description 52
- 238000012549 training Methods 0.000 claims description 47
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 238000003062 neural network model Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G06T5/003—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
영상 디블러링 방법 및 장치가 제공된다. 일 실시예에 따르면, 디블러링 방법은 인코딩 모델을 통해 입력 영상을 인코딩하여 상기 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 상기 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하고, 상기 1차 특징 표현에 상기 오프셋 정보를 적용하여 상기 유사 지점들에 관한 2차 특징 표현들을 생성하고, 내재적 함수 모델을 통해 상기 2차 특징 표현들 및 상기 오프셋 정보에 따른 출력 영상을 생성하는 단계들을 포함할 수 있다.
Description
아래 실시예들은 영상 디블러링 방법 및 장치에 관한 것이다.
영상 복원은 열화 상태의 영상을 향상된 화질의 영상으로 복원하는 작업에 해당할 수 있다. 영상 복원에는 딥 러닝 기반의 뉴럴 네트워크가 이용될 수 있다. 뉴럴 네트워크는 딥 러닝에 기반하여 트레이닝된 후, 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 목적에 맞는 추론(inference)을 수행해낼 수 있다. 이러한 맵핑을 생성하는 트레이닝된 능력은 신경망의 학습 능력이라 할 수 있다. 더구나, 영상 복원과 같은 특화된 목적을 위해 트레이닝된 신경망은, 예를 들어 트레이닝하지 않은 입력 패턴에 대하여 비교적 정확한 출력을 발생시키는 일반화 능력을 가질 수 있다.
일 실시예에 따르면, 디블러링 방법은 인코딩 모델을 통해 입력 영상을 인코딩하여 상기 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 상기 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하는 단계; 상기 1차 특징 표현에 상기 오프셋 정보를 적용하여 상기 유사 지점들에 관한 2차 특징 표현들을 생성하는 단계; 및 내재적 함수 모델을 통해 상기 2차 특징 표현들 및 상기 오프셋 정보에 따른 출력 영상을 생성하는 단계를 포함한다.
일 실시예에 따르면, 전자 장치는 프로세서; 및 상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리를 포함하고, 상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는 인코딩 모델을 통해 입력 영상을 인코딩하여 상기 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 상기 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하고, 상기 1차 특징 표현에 상기 오프셋 정보를 적용하여 상기 유사 지점들에 관한 2차 특징 표현들을 생성하고, 내재적 함수 모델을 통해 상기 2차 특징 표현들 및 상기 오프셋 정보에 따른 출력 영상을 생성한다.
도 1은 일 실시예에 따른 디블러링을 통한 입력 영상 내 블러 영역의 변화를 나타낸다.
도 2는 일 실시예에 따른 디블러링 모델의 구조를 나타낸다.
도 3은 다른 일 실시예에 따른 디블러링 모델의 구조를 나타낸다.
도 4는 일 실시예에 따른 SR 영상의 도출 과정을 나타낸다.
도 5는 일 실시예에 따른 디블러링 모델의 트레이닝 과정을 나타낸다.
도 6은 일 실시예에 따른 부분적 트레이닝의 반복을 나타낸다.
도 7은 일 실시예에 따른 디블러링 방법을 나타낸다.
도 8은 일 실시예에 따른 영상 처리 장치의 구성을 나타낸다.
도 9는 일 실시예에 따른 전자 장치의 구성을 나타낸다.
도 2는 일 실시예에 따른 디블러링 모델의 구조를 나타낸다.
도 3은 다른 일 실시예에 따른 디블러링 모델의 구조를 나타낸다.
도 4는 일 실시예에 따른 SR 영상의 도출 과정을 나타낸다.
도 5는 일 실시예에 따른 디블러링 모델의 트레이닝 과정을 나타낸다.
도 6은 일 실시예에 따른 부분적 트레이닝의 반복을 나타낸다.
도 7은 일 실시예에 따른 디블러링 방법을 나타낸다.
도 8은 일 실시예에 따른 영상 처리 장치의 구성을 나타낸다.
도 9는 일 실시예에 따른 전자 장치의 구성을 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 디블러링을 통한 입력 영상 내 블러 영역의 변화를 나타낸다. 도 1을 참조하면, 영상 처리 장치는 입력 영상(100)과 같은 단일 영상(single image)의 모션 디블러링 작업(motion deblurring task)을 수행할 수 있다. 입력 영상(100)은 블러 영역들(110, 120)을 포함할 수 있다. 블러 영상들(130, 150)은 블러 영역들(110, 120)의 확대 버전에 해당한다. 제1 블러 영상(130) 내 제1 객체의 움직임(motion)은 제2 블러 영상(150) 내 제2 객체의 움직임과 다른 양상을 가질 수 있다. 예를 들어, 제1 블러 영상(130)에는 좌우 방향의 움직임이, 제2 블러 영상(150)에서는 대각 방향의 움직임이 지배적일 수 있다. 다시 말해, 블러 영상들(130, 150)은 서로 다른 특성의 모션 블러 커널에 대응할 수 있다.
영상 처리 장치는 블러 영상들(130, 150)의 서로 다른 특성을 고려하여 디블러링 작업을 수행할 수 있다. 영상 처리 장치는 제1 블러 영상(130)에서 쿼리 블러 지점(query blur point)(131)과 관련도가 높은 유사 지점들(예: 유사 지점(132))을 찾고, 쿼리 블러 지점(131) 및 유사 지점들의 대응 특징들을 종합(aggregate)하여 제1 결과 영상(140)의 대응 지점(141)의 디블러링 결과 값(예: RGB 값)을 결정할 수 있다. 유사하게, 영상 처리 장치는 제2 블러 영상(150)의 쿼리 블러 지점(151)의 유사 지점들(예: 유사 지점(152))에 기초하여 제2 결과 영상(160)의 대응 지점(161)의 디블러링 결과 값을 결정할 수 있다.
영상 처리 장치는 유사 지점들의 특징 및 유사 지점들의 오프셋을 이용하여 디블러링 결과 값을 도출할 수 있다. 유사 지점들의 특징뿐만 아니라 유사 지점들의 오프셋은 객체의 움직임과 밀접한 관련을 가질 수 있다. 오프셋은 방향 및 크기(magnitude)를 갖는 벡터로 정의될 수 있다. 예를 들어, 오프셋은 모션 블러 커널의 방향 및 크기에 관한 정보를 포함할 수 있다. 오프셋이 다른 특징들은 서로 다르게 취급될 필요가 있다. 일례로, 수평적인 오프셋을 갖는 특징과 수직적인 오프셋을 갖는 특징은 디블러링 결과 값을 도출함에 있어서 서로 다르게 취급될 수 있다.
영상 처리 장치는 오프셋을 적극적으로 이용하여 디블러링 성능을 향상시킬 수 있다. 영상 처리 장치는 내재적 특징 함수(implicit feature function)에 기반한 내재적 함수 모델(implicit function model)을 정의하고, 유사 지점들의 특징 및 유사 지점들의 오프셋을 내재적 함수 모델의 입력으로 사용할 수 있다. 도 1의 fθ는 유사 지점들의 특징 및 유사 지점들의 오프셋에 기초하여 블러 지점들(131, 151)의 디블러링을 수행하는 내재적 함수 모델의 동작을 나타낼 수 있다.
영상 처리 장치는 인코딩 모델을 통해 쿼리 블러 지점들(131, 151)에 관한 1차 특징 표현들 및 쿼리 블러 지점들(131, 151)의 유사 지점들(예: 유사 지점들(132, 152))에 관한 오프셋 정보를 생성하고, 1차 특징 표현들에 오프셋 정보를 적용하여 유사 지점들에 관한 2차 특징 표현들을 생성하고, 내재적 함수 모델을 통해 2차 특징 표현들 및 오프셋 정보에 따른 대응 지점들(141, 161)의 디블러링 결과 값들을 결정할 수 있다.
인코딩 모델 및 내재적 함수 모델은 뉴럴 네트워크 모델에 해당할 수 있다. 뉴럴 네트워크 모델은 복수의 레이어들을 포함하는 딥 뉴럴 네트워크(deep neural network, DNN)를 포함할 수 있다. 이때, 복수의 레이어들은 입력 레이어(input layer), 적어도 하나의 히든 레이어(hidden layer), 및 출력 레이어(output layer)를 포함할 수 있다.
딥 뉴럴 네트워크는 완전 연결 네트워크(fully connected network, FCN), 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN), 및 리커런트 뉴럴 네트워크(recurrent neural network, RNN) 중 적어도 하나를 포함할 수 있다. 예를 들어, 뉴럴 네트워크 내 복수의 레이어들 중 적어도 일부는 CNN에 해당할 수 있고, 다른 일부는 FCN에 해당할 수 있다. 이 경우, CNN은 컨볼루션 레이어로 지칭될 수 있고, FCN은 완전 연결 레이어로 지칭될 수 있다.
CNN의 경우, 각 레이어에 입력되는 데이터는 입력 특징 맵(input feature map)으로 지칭될 수 있고, 각 레이어에서 출력되는 데이터는 출력 특징 맵(output feature map)으로 지칭될 수 있다. 입력 특징 맵 및 출력 특징 맵은 액티베이션 데이터(activation data)로 지칭될 수도 있다. 컨볼루션 레이어가 입력 레이어에 해당하는 경우, 입력 레이어의 입력 특징 맵은 입력 영상일 수 있다.
뉴럴 네트워크는 딥 러닝에 기반하여 트레이닝된 후, 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 트레이닝 목적에 맞는 추론(inference)을 수행해낼 수 있다. 딥 러닝은 빅 데이터 세트로부터 영상 또는 음성 인식과 같은 문제를 해결하기 위한 기계 학습 기법이다. 딥 러닝은 준비된 트레이닝 데이터를 이용하여 뉴럴 네트워크를 트레이닝하면서 에너지가 최소화되는 지점을 찾아가는 최적화 문제 풀이 과정으로 이해될 수 있다.
딥 러닝의 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 뉴럴 네트워크의 구조, 혹은 모델에 대응하는 웨이트(weight)가 구해질 수 있고, 이러한 웨이트를 통해 입력 데이터 및 출력 데이터가 서로 매핑될 수 있다. 뉴럴 네트워크의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크가 적절한 트레이닝 과정을 통해 충분히 많은 양의 트레이닝 데이터를 학습하면 최적의 성능을 달성할 수 있다.
아래에서 뉴럴 네트워크가 '미리' 트레이닝된 것으로 표현될 수 있는데, 여기서 '미리'는 뉴럴 네트워크가 '시작'되기 전을 나타낼 수 있다. 뉴럴 네트워크가 '시작'되었다는 것은 뉴럴 네트워크가 추론을 위한 준비가 된 것을 의미할 수 있다. 예를 들어, 뉴럴 네트워크가 '시작'된 것은 뉴럴 네트워크가 메모리에 로드된 것, 혹은 뉴럴 네트워크가 메모리에 로드된 이후 뉴럴 네트워크에 추론을 위한 입력 데이터가 입력된 것을 포함할 수 있다.
일 실시예에 따르면, 인코딩 모델은 컨볼루션 레이어 기반의 네트워크 구조를 가질 수 있고, 내재적 함수 모델은 완전 연결 레이어 기반의 네트워크 구조를 가질 수 있다. 예를 들어, 인코딩 모델은 RRDB 백본(residual in residual dense block backbone)에 해당할 수 있고, 내재적 함수 모델은 MLP(multi-layer perceptron)에 해당할 수 있다. 일 실시예에 따르면, 인코딩 모델 및 내재적 함수 모델은 인코딩 모델 및 내재적 함수 모델을 통해 생성된 디블러링 결과와 블러 없는 타겟 영상과의 차이가 작아지도록 트레이닝될 수 있다. 이때, 내재적 함수 모델의 입력으로 유사 지점들의 특징 및 오프셋을 이용함으로써 디블러링 성능이 향상될 수 있다.
도 2는 일 실시예에 따른 디블러링 모델의 구조를 나타낸다. 도 2를 참조하면, 디블러링 모델(200)은 인코딩 모델(210) 및 내재적 함수 모델(220)을 포함할 수 있다. 인코딩 모델(210)은 입력 영상(201)에 기초하여 1차 특징 표현(211) 및 오프셋 정보(212)를 생성할 수 있다. 입력 영상(201)은 블러 영역을 포함할 수 있고, 인코딩 모델(210)은 블러 영역의 각 쿼리 블러 지점에 관해 1차 특징 표현(211) 및 오프셋 정보(212)를 생성할 수 있다. 인코딩 모델(210)은 입력 영상(201)의 적어도 일부를 입력으로 받을 수 있고, 입력에 대한 인코딩 결과에 해당하는 출력 벡터를 생성할 수 있다. 출력 벡터는 1차 특징 표현(211)에 대응하는 제1 성분 및 오프셋 정보(212)에 대응하는 제2 성분을 포함할 수 있다. 일 실시예에 따르면, 제1 성분은 출력 벡터의 어느 일부에 해당할 수 있고, 제2 성분은 출력 벡터의 나머지 일부에 해당할 수 있다.
1차 특징 표현(211)은 쿼리 블러 지점의 특징에 해당할 수 있고, 오프셋 정보(212)는 쿼리 블러 지점의 유사 지점들의 오프셋 값들을 포함할 수 있다. 유사 지점은 쿼리 블러 지점과 관련도가 높은 지점에 해당할 수 있다. 오프셋 값은 쿼리 블러 지점과 유사 지점 간의 오프셋을 나타낼 수 있다. 오프셋 값은 오프셋의 방향 및 오프셋의 크기를 나타내는 벡터 표현에 해당할 수 있다. 일례로, 오프셋 값은 입력 영상(201)의 좌표계에 따른 x-축 좌표 값 및 y-축 좌표 값을 포함할 수 있고, x-축 좌표 값 및 y-축 좌표 값을 통해 오프셋의 방향 및 오프셋의 크기를 나타낼 수 있다.
영상 처리 장치는 1차 특징 표현(211)에 오프셋 정보(212)를 적용하여 유사 지점들에 관한 2차 특징 표현들(213)을 생성할 수 있다. 영상 처리 장치는 오프셋 정보(212)에 따른 유사 지점들의 오프셋 값들로 1차 특징 표현(211)을 변형(deformation)하여 2차 특징 표현들(213)을 생성할 수 있다. 일 실시예에 따르면, 유사 지점들의 개수, 오프셋 값의 개수, 및 2차 특징 표현들(213)의 개수는 동일할 수 있다. 이들의 개수는 N으로 나타낼 수 있다. 각 오프셋 값은 입력 영상(201)의 좌표계에 따른 x-축 좌표 값 및 y-축 좌표 값을 포함할 수 있다.
영상 처리 장치는 내재적 함수 모델(220)을 통해 2차 특징 표현들(213) 및 오프셋 정보(212)에 따른 출력 영상(202)을 생성할 수 있다. 영상 처리 장치는 2차 특징 표현들(213) 및 오프셋 정보(212)에 기초하여 각각 특징 표현과 오프셋 값의 쌍을 포함하는 입력 데이터 쌍들을 획득하고, 내재적 함수 모델(220)을 통해 입력 데이터 쌍들에 대응하는 임시 값들을 추정하고, 임시 값들을 결합하여 쿼리 블러 지점에 대응하는 출력 영상(202)의 디블러링 결과 값을 결정할 수 있다. 출력 영상(202)은 입력 영상(201)의 블러 영역의 대응 영역을 포함할 수 있고, 쿼리 블러 지점들에 관한 디블러링 결과 값들을 통해 출력 영상(202)의 대응 영역이 결정될 수 있다.
일 실시예에 따르면, 디블러링 결과 값은 수학식 1을 통해 결정될 수 있다.
xq는 쿼리 블러 지점의 위치, q는 쿼리 블러 지점의 인덱스, 는 i번째 오프셋을 나타낸다. 는 변형(deformation)된 특징, fθ는 내재적 특징 함수, N은 오프셋의 개수를 나타낸다. fθ는 변형된 특징과 오프셋을 입력 받아서 디블러링 결과의 임시 값을 출력할 수 있다. 는 2차 특징 표현들(213), fθ는 내재적 함수 모델(220)에 대응할 수 있다. 영상 처리 장치는 쿼리 블러 지점의 N개의 오프셋들을 통한 임시 값들을 결합하여 쿼리 블러 지점의 디블러링 결과 값(예: RGB 값)을 결정할 수 있다. 일 실시예에 따르면, 영상 처리 장치는 평균화 연산을 통해 임시 값들을 결합할 수 있다. sq는 관심 지점의 디블러링 결과 값을 나타낼 수 있다.
도 3은 다른 일 실시예에 따른 디블러링 모델의 구조를 나타낸다. 도 3을 참조하면, 디블러링 모델(300)은 인코딩 모델(310), 내재적 함수 모델(320), 및 영상 복원 모델(330)을 포함한다. 입력 영상(301)은 제1 블러 레벨의 제1 블러 영역 및 제2 블러 레벨의 제2 블러 영역을 포함할 수 있다. 제1 블러 레벨은 제2 블러 레벨보다 심한 블러에 해당할 수 있다. 예를 들어, 입력 영상(301)이 객체의 움직임에 따른 모션 블러를 포함하는 경우, 다른 부분에 비해 객체 및 그 주변에 심한 블러가 발생할 수 있다. 이 경우, 객체 영역은 제1 블러 영역에 해당할 수 있고, 객체 영역 이외의 배경 영역은 제2 블러 영역에 해당할 수 있다.
내재적 함수 모델(320)은 제1 블러 영역과 같이 상대적으로 높은 레벨의 블러를 처리할 수 있고, 영상 복원 모델(330)은 제2 블러 영역과 같이 상대적으로 낮은 레벨의 블러를 처리할 수 있다. 일 실시예에 따르면, 영상 처리 장치는 입력 영상(301)으로부터 제1 블러 영역을 검출하고, 내재적 함수 모델(320)을 통해 제1 블러 영역에 관한 디블러링을 수행하여 중간 결과 영상(321)을 생성하고, 영상 복원 모델(330)을 통해 입력 영상(301)에 관한 영상 복원을 수행하여 중간 결과 영상(331)을 생성하고, 중간 결과 영상들(321, 331)을 합성하여 출력 영상(302)을 생성할 수 있다. 내재적 함수 모델(320)이 구현 환경에 연산 부담을 주는 경우, 이러한 처리 방식은 입력 영상(301)에서 내재적 함수 모델(320)의 처리 범위를 줄임으로써, 내재적 함수 모델(320)이 모바일과 같이 비교적 제한된 자원의 환경에서 구현되는 것을 가능케 할 수 있다.
인코딩 모델(310)은 입력 영상(301)을 인코딩하여 인코딩 결과를 생성할 수 있고, 내재적 함수 모델(320) 및 영상 복원 모델(330)은 인코딩 결과에 기초하여 중간 결과 영상들(321, 331)을 생성할 수 있다. 일 실시예에 따르면, 인코딩 모델(310)은 도 2의 인코딩 모델(210)의 대응 구조를 가지고 대응 동작을 수행할 수 있다. 다른 일 실시예에 따르면, 인코딩 모델(310)은 제한된 자원 환경의 구현을 위해 인코딩 모델(210)에 비해 가벼운 네트워크 구조를 가질 수 있고, 더 적은 연산으로 인코딩 결과를 생성할 수 있다. 영상 복원 모델(330)은 컨볼루션 레이어 기반의 네트워크 구조를 가질 수 있다. 일 실시예에 따르면, 영상 복원 모델(330)은 적은 수(예: 2개)의 컨볼루션 레이어들로 구성될 수 있다. 영상 복원 모델(330)은 내재적 함수 모델(320)에 비해 간단한 연산을 통해 입력 영상(301)에 관한 영상 복원을 수행할 수 있다.
일 실시예에 따르면, 영상 처리 장치는 입력 영상(301)과 중간 결과 영상(331)을 비교하여 제1 블러 영역을 검출할 수 있다. 입력 영상(301)과 중간 결과 영상(331) 간의 차이가 큰 영역은 영상 복원 모델(330)에 의해 쉽게 복원되지 않는 영역을 의미할 수 있다. 영상 처리 장치는 해당 영역을 제1 블러 영역으로 보고, 내재적 함수 모델(320)을 이용하여 해당 영역에 관한 디블러링을 수행하여 중간 결과 영상(321)을 생성할 수 있다.
도 4는 일 실시예에 따른 SR 영상의 도출 과정을 나타낸다. 도 4를 참조하면, 쿼리 블러 지점(403)은 입력 영상(401)의 그리드 셀(402)의 비-그리드 지점(non-grid point)에 해당할 수 있다. 영상 처리 장치는 쿼리 블러 지점(403)에 관한 보간(interpolation) 및 디블러링을 수행하여 출력 영상을 생성할 수 있다. 출력 영상은 입력 영상(401)의 해상도보다 높은 해상도를 가질 수 있다. 일 실시예에 따르면, 출력 영상은 SR(super resolution)을 가질 수 있다. 일 실시예에 따르면, 영상 처리 장치는 선형 보간(linear interpolation)을 통해 상기 쿼리 블러 지점(403)을 결정할 수 있다.
일 실시예에 따르면, 쿼리 블러 지점(403)은 수학식 2를 통해 결정될 수 있다.
Δxq는 쿼리 블러 지점(403), Δxi는 그리드 셀(402)의 그리드 지점, di는 쿼리 블러 지점(403)과 그리드 지점 간의 거리, Si는 di를 대각선으로 갖는 사각형의 넓이, i는 ul, ur, ll, lr의 인덱스, S는 그리드 셀(402)의 넓이를 나타낸다. 쿼리 블러 지점(403)에 가까운 그리드 지점의 값일수록 쿼리 블러 지점(403)의 값의 결정에 더 크게 반영될 수 있다. 영상 처리 장치는 인코딩 모델(예: 인코딩 모델(210)) 및 내재적 함수 모델(예: 내재적 함수 모델(220))을 통해 쿼리 블러 지점(403)에 관한 디블러링 결과 값을 생성할 수 있고, 이러한 과정을 입력 영상(401)의 각 픽셀에 적용하여 SR 출력 영상을 생성할 수 있다.
인접 픽셀로부터 복원할 정보가 충분하지 않기 때문에, 입력 영상(401)에 대응하는 SR 영상을 생성하는 것은 불량 조건 문제(ill-posed problem)에 해당할 수 있다. 그러나, 블러 영상은 다중-영상의 집합으로 볼 수 있고, 이러한 다중-영상은 오히려 불량 조건 문제를 해결하는 단서를 제공할 수 있다. 따라서, 디블러링을 통해 SR 영상이 도출될 수 있다.
도 5는 일 실시예에 따른 디블러링 모델의 트레이닝 과정을 나타낸다. 도 5를 참조하면, 디블러링 모델(500)은 인코딩 모델(510) 및 내재적 함수 모델(520)을 포함할 수 있다. 인코딩 모델(510)은 블러 영역을 갖는 입력 트레이닝 영상(501)을 인코딩하여 입력 트레이닝 영상(501)의 블러 영역의 샘플 블러 지점에 관한 1차 샘플 특징 표현(511) 및 샘플 블러 지점의 샘플 유사 지점들에 관한 샘플 오프셋 정보(512)를 생성할 수 있다. 추론 단계의 구성과의 혼동을 피하기 위해 트레이닝 단계의 각 구성에 관해 샘플이라는 용어가 사용될 수 있다. 트레이닝 장치는 1차 샘플 특징 표현(511)에 샘플 오프셋 정보(512)를 적용하여 샘플 유사 지점들에 관한 2차 샘플 특징 표현들(513)을 생성할 수 있다. 내재적 함수 모델(520)은 2차 샘플 특징 표현들(513) 및 샘플 오프셋 정보(512)에 따른 출력 트레이닝 영상(521)을 생성할 수 있다. 트레이닝 장치는 블러 영역이 없는 타겟 영상(502)과 출력 트레이닝 영상(521) 간의 차이가 줄어들도록 인코딩 모델(510) 및 내재적 함수 모델(520)을 트레이닝할 수 있다. 모델 트레이닝을 통해 모델들(510, 520)의 네트워크 파라미터들이 업데이트될 수 있다.
도 6은 일 실시예에 따른 부분적 트레이닝의 반복을 나타낸다. 도 6을 참조하면, 단계(610)에서 트레이닝 장치는 트레이닝 데이터 세트를 획득한다. 단계(620)에서 트레이닝 장치는 디블러링 모델을 전체적으로 트레이닝할 수 있다. 단계(630)에서 트레이닝 장치는 디블러링 모델 중 인코딩 모델을 부분적으로 트레이닝할 수 있다. 트레이닝 장치는 인코딩 모델을 고정한 상태로 내재적 함수 모델을 추가로 트레이닝할 수 있다. 단계(640)에서 트레이닝 장치는 디블러링 모델 중 내재적 함수 모델을 부분적으로 트레이닝할 수 있다. 트레이닝 장치는 내재적 함수 모델을 고정한 상태로 인코딩 모델을 추가로 트레이닝할 수 있다.
단계들(630, 640)은 어느 하나가 먼저 수행되고 나머지 하나가 나중에 수행되는 식으로 순차적으로 수행될 수 있다. 단계들(630, 640) 중 어느 하나의 수행이 생략되거나, 혹은 어느 하나 혹은 둘이 복수로 수행될 수 있다. 예를 들어, 단계(640)가 수행되고, 단계(630)가 수행되고, 그 다음으로 단계(640)가 추가로 수행될 수 있다. 이러한 부분적인 트레이닝은 트레이닝 부담을 완화할 수 있다.
도 7은 일 실시예에 따른 디블러링 방법을 나타낸다. 도 7을 참조하면, 단계(710)에서 영상 처리 장치는 인코딩 모델을 통해 입력 영상을 인코딩하여 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성한다. 인코딩 모델의 출력 벡터는 1차 특징 표현에 대응하는 제1 성분, 및 오프셋 정보에 대응하는 제2 성분을 포함할 수 있다.
단계(720)에서 영상 처리 장치는 1차 특징 표현에 오프셋 정보를 적용하여 유사 지점들에 관한 2차 특징 표현들을 생성한다. 영상 처리 장치는 오프셋 정보에 따른 유사 지점들의 오프셋 값들로 1차 특징 표현을 변형(deformation)하여 2차 특징 표현들을 생성할 수 있다.
단계(730)에서 영상 처리 장치는 내재적 함수 모델을 통해 2차 특징 표현들 및 오프셋 정보에 따른 출력 영상을 생성한다. 영상 처리 장치는 2차 특징 표현들 및 오프셋 정보에 기초하여 각각 특징 표현과 오프셋 값의 쌍을 포함하는 입력 데이터 쌍들을 획득하고, 내재적 함수 모델을 통해 입력 데이터 쌍들에 대응하는 임시 값들을 추정하고, 임시 값들을 결합하여 제1 블러 지점에 대응하는 출력 영상의 디블러링 결과 값을 결정할 수 있다.
영상 처리 장치는 제1 블러 지점을 포함하는 입력 영상의 블러 영역을 검출하고, 영상 복원 모델을 통해 입력 영상에 관한 영상 복원을 수행할 수 있다. 영상 처리 장치는 내재적 함수 모델을 통해 생성된 블러 영역에 관한 중간 결과 영상과 영상 복원 모델을 통해 생성된 입력 영상에 관한 중간 결과 영상을 합성하여 출력 영상을 생성할 수 있다.
제1 블러 지점은 입력 영상의 해상도보다 높은 해상도에 따른 비-그리드 지점(non-grid point)에 해당할 수 있다. 영상 처리 장치는 입력 영상의 그리드 지점들의 선형 보간(linear interpolation)을 통해 제1 블러 지점을 결정할 수 있다. 인코딩 모델 및 내재적 함수 모델은 뉴럴 네트워크 모델에 해당할 수 있다.
인코딩 모델 및 내재적 함수 모델은 인코딩 모델을 통해 블러 영역을 갖는 입력 트레이닝 영상을 인코딩하여 입력 트레이닝 영상의 블러 영역의 샘플 블러 지점에 관한 1차 샘플 특징 표현 및 샘플 블러 지점의 샘플 유사 지점들에 관한 샘플 오프셋 정보를 생성하고, 1차 샘플 특징 표현에 샘플 오프셋 정보를 적용하여 샘플 유사 지점들에 관한 2차 샘플 특징 표현들을 생성하고, 내재적 함수 모델을 통해 2차 샘플 특징 표현들 및 샘플 오프셋 정보에 따른 출력 트레이닝 영상을 생성하고, 블러 영역이 없는 타겟 영상과 출력 트레이닝 영상 간의 차이가 줄어들도록 인코딩 모델 및 내재적 함수 모델을 트레이닝하는 동작들을 통해 트레이닝될 수 있다.
또한, 인코딩 모델 및 내재적 함수 모델은 인코딩 모델 및 내재적 함수 모델을 포함하는 디블러링 모델을 트레이닝하고, 인코딩 모델을 고정한 상태로 내재적 함수 모델을 추가로 트레이닝하고, 내재적 함수 모델을 고정한 상태로 인코딩 모델을 추가로 트레이닝하는 동작들을 통해 트레이닝될 수 있다. 그 밖에, 도 7의 디블러링 방법에는 도 1 내지 도 6, 도 8, 및 도 9의 설명이 적용될 수 있다.
도 8은 일 실시예에 따른 영상 처리 장치의 구성을 나타낸다. 도 8을 참조하면, 영상 처리 장치(800)는 프로세서(810) 및 메모리(820)를 포함한다. 메모리(820)는 프로세서(810)에 연결되고, 프로세서(810)에 의해 실행가능한 명령어들, 프로세서(810)가 연산할 데이터 또는 프로세서(810)에 의해 처리된 데이터를 저장할 수 있다. 메모리(820)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(810)는 도 1 내지 도 7, 및 도 9의 동작을 수행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(810)는 인코딩 모델을 통해 입력 영상을 인코딩하여 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하고, 1차 특징 표현에 오프셋 정보를 적용하여 유사 지점들에 관한 2차 특징 표현들을 생성하고, 내재적 함수 모델을 통해 2차 특징 표현들 및 오프셋 정보에 따른 출력 영상을 생성할 수 있다. 그 밖에, 영상 처리 장치(800)에는 도 1 내지 도 7, 및 도 9의 설명이 적용될 수 있다.
도 9는 일 실시예에 따른 전자 장치의 구성을 나타낸다. 도 9를 참조하면, 전자 장치(900)는 프로세서(910), 메모리(920), 카메라(930), 저장 장치(940), 입력 장치(950), 출력 장치(960) 및 네트워크 인터페이스(970)를 포함할 수 있으며, 이들은 통신 버스(980)를 통해 서로 통신할 수 있다. 예를 들어, 전자 장치(900)는 이동 전화, 스마트 폰, PDA, 넷북, 태블릿 컴퓨터, 랩톱 컴퓨터 등과 같은 모바일 장치, 스마트 워치, 스마트 밴드, 스마트 안경 등과 같은 웨어러블 디바이스, 데스크탑, 서버 등과 같은 컴퓨팅 장치, 텔레비전, 스마트 텔레비전, 냉장고 등과 같은 가전 제품, 도어 락 등과 같은 보안 장치, 자율주행 차량, 스마트 차량 등과 같은 차량의 적어도 일부로 구현될 수 있다. 전자 장치(900)는 영상 처리 장치(예: 영상 처리 장치(800)) 및/또는 트레이닝 장치를 구조적 및/또는 기능적으로 포함할 수 있다.
프로세서(910)는 전자 장치(900) 내에서 실행하기 위한 기능 및 명령어들을 실행한다. 예를 들어, 프로세서(910)는 메모리(920) 또는 저장 장치(940)에 저장된 명령어들을 처리할 수 있다. 프로세서(910)는 도 1 내지 도 8을 통하여 설명된 동작을 수행할 수 있다. 메모리(920)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함할 수 있다. 메모리(920)는 프로세서(910)에 의해 실행하기 위한 명령어들을 저장할 수 있고, 전자 장치(900)에 의해 소프트웨어 및/또는 애플리케이션이 실행되는 동안 관련 정보를 저장할 수 있다.
카메라(930)는 사진 및/또는 비디오를 촬영할 수 있다. 저장 장치(940)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함한다. 저장 장치(940)는 메모리(920)보다 더 많은 양의 정보를 저장하고, 정보를 장기간 저장할 수 있다. 예를 들어, 저장 장치(940)는 자기 하드 디스크, 광 디스크, 플래쉬 메모리, 플로피 디스크 또는 이 기술 분야에서 알려진 다른 형태의 비휘발성 메모리를 포함할 수 있다.
입력 장치(950)는 키보드 및 마우스를 통한 전통적인 입력 방식, 및 터치 입력, 음성 입력, 및 이미지 입력과 같은 새로운 입력 방식을 통해 사용자로부터 입력을 수신할 수 있다. 예를 들어, 입력 장치(950)는 키보드, 마우스, 터치 스크린, 마이크로폰, 또는 사용자로부터 입력을 검출하고, 검출된 입력을 전자 장치(900)에 전달할 수 있는 임의의 다른 장치를 포함할 수 있다. 출력 장치(960)는 시각적, 청각적 또는 촉각적인 채널을 통해 사용자에게 전자 장치(900)의 출력을 제공할 수 있다. 출력 장치(960)는 예를 들어, 디스플레이, 터치 스크린, 스피커, 진동 발생 장치 또는 사용자에게 출력을 제공할 수 있는 임의의 다른 장치를 포함할 수 있다. 네트워크 인터페이스(970)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 뉴럴 네트워크 기반의 디블러링 방법에 있어서,
인코딩 모델을 통해 입력 영상을 인코딩하여 상기 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 상기 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하는 단계;
상기 1차 특징 표현에 상기 오프셋 정보를 적용하여 상기 유사 지점들에 관한 2차 특징 표현들을 생성하는 단계; 및
내재적 함수 모델을 통해 상기 2차 특징 표현들 및 상기 오프셋 정보에 따른 출력 영상을 생성하는 단계
를 포함하는 디블러링 방법. - 제1항에 있어서,
상기 인코딩 모델의 출력 벡터는
상기 1차 특징 표현에 대응하는 제1 성분, 및
상기 오프셋 정보에 대응하는 제2 성분
을 포함하는, 디블러링 방법. - 제1항에 있어서,
상기 2차 특징 표현들을 생성하는 단계는
상기 오프셋 정보에 따른 상기 유사 지점들의 오프셋 값들로 상기 1차 특징 표현을 변형(deformation)하여 상기 2차 특징 표현들을 생성하는 단계를 포함하는,
디블러링 방법. - 제1항에 있어서,
상기 출력 영상을 생성하는 단계는
상기 2차 특징 표현들 및 상기 오프셋 정보에 기초하여 각각 특징 표현과 오프셋 값의 쌍을 포함하는 입력 데이터 쌍들을 획득하는 단계;
상기 내재적 함수 모델을 통해 상기 입력 데이터 쌍들에 대응하는 임시 값들을 추정하는 단계; 및
상기 임시 값들을 결합하여 상기 제1 블러 지점에 대응하는 상기 출력 영상의 디블러링 결과 값을 결정하는 단계
를 포함하는, 디블러링 방법. - 제1항에 있어서,
상기 디블러링 방법은
상기 제1 블러 지점을 포함하는 상기 입력 영상의 블러 영역을 검출하는 단계; 및
영상 복원 모델을 통해 상기 입력 영상에 관한 영상 복원을 수행하는 단계
를 더 포함하고,
상기 출력 영상을 생성하는 단계는
상기 내재적 함수 모델을 통해 생성된 상기 블러 영역에 관한 중간 결과 영상과 상기 영상 복원 모델을 통해 생성된 상기 입력 영상에 관한 중간 결과 영상을 합성하여 상기 출력 영상을 생성하는 단계
를 포함하는, 디블러링 방법. - 제1항에 있어서,
상기 제1 블러 지점은
상기 입력 영상의 해상도보다 높은 해상도에 따른 비-그리드 지점(non-grid point)에 해당하는,
디블러링 방법. - 제6항에 있어서,
상기 디블러링 방법은
상기 입력 영상의 그리드 지점들의 선형 보간(linear interpolation)을 통해 상기 제1 블러 지점을 결정하는 단계
를 더 포함하는, 디블러링 방법. - 제1항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은 뉴럴 네트워크 모델에 해당하는,
디블러링 방법. - 제1항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은
상기 인코딩 모델을 통해 블러 영역을 갖는 입력 트레이닝 영상을 인코딩하여 상기 입력 트레이닝 영상의 상기 블러 영역의 샘플 블러 지점에 관한 1차 샘플 특징 표현 및 상기 샘플 블러 지점의 샘플 유사 지점들에 관한 샘플 오프셋 정보를 생성하고,
상기 1차 샘플 특징 표현에 상기 샘플 오프셋 정보를 적용하여 상기 샘플 유사 지점들에 관한 2차 샘플 특징 표현들을 생성하고,
상기 내재적 함수 모델을 통해 상기 2차 샘플 특징 표현들 및 상기 샘플 오프셋 정보에 따른 출력 트레이닝 영상을 생성하고,
상기 블러 영역이 없는 타겟 영상과 상기 출력 트레이닝 영상 간의 차이가 줄어들도록 상기 인코딩 모델 및 상기 내재적 함수 모델을 트레이닝하는
동작들을 통해 트레이닝되는, 디블러링 방법. - 제1항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은
상기 인코딩 모델 및 상기 내재적 함수 모델을 포함하는 디블러링 모델을 트레이닝하고,
상기 인코딩 모델을 고정한 상태로 상기 내재적 함수 모델을 추가로 트레이닝하고,
상기 내재적 함수 모델을 고정한 상태로 상기 인코딩 모델을 추가로 트레이닝하는
동작들을 통해 트레이닝되는, 디블러링 방법. - 하드웨어와 결합되어 제1항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
- 뉴럴 네트워크 기반의 디블러링을 수행하는 전자 장치에 있어서,
프로세서; 및
상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리
를 포함하고,
상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는
인코딩 모델을 통해 입력 영상을 인코딩하여 상기 입력 영상의 제1 블러 지점에 관한 1차 특징 표현 및 상기 제1 블러 지점의 유사 지점들에 관한 오프셋 정보를 생성하고,
상기 1차 특징 표현에 상기 오프셋 정보를 적용하여 상기 유사 지점들에 관한 2차 특징 표현들을 생성하고,
내재적 함수 모델을 통해 상기 2차 특징 표현들 및 상기 오프셋 정보에 따른 출력 영상을 생성하는,
전자 장치. - 제12항에 있어서,
상기 프로세서는
상기 오프셋 정보에 따른 상기 유사 지점들의 오프셋 값들로 상기 1차 특징 표현을 변형(deformation)하여 상기 2차 특징 표현들을 생성하는,
전자 장치. - 제12항에 있어서,
상기 프로세서는
상기 2차 특징 표현들 및 상기 오프셋 정보에 기초하여 각각 특징 표현과 오프셋 값의 쌍을 포함하는 입력 데이터 쌍들을 획득하고,
상기 내재적 함수 모델을 통해 상기 입력 데이터 쌍들에 대응하는 임시 값들을 추정하고,
상기 임시 값들을 결합하여 상기 제1 블러 지점에 대응하는 상기 출력 영상의 디블러링 결과 값을 결정하고,
전자 장치. - 제12항에 있어서,
상기 프로세서는
상기 제1 블러 지점을 포함하는 상기 입력 영상의 블러 영역을 검출하고,
영상 복원 모델을 통해 상기 입력 영상에 관한 영상 복원을 수행하고,
상기 내재적 함수 모델을 통해 생성된 상기 블러 영역에 관한 중간 결과 영상과 상기 영상 복원 모델을 통해 생성된 상기 입력 영상에 관한 중간 결과 영상을 합성하여 상기 출력 영상을 생성하는,
전자 장치. - 제12항에 있어서,
상기 제1 블러 지점은
상기 입력 영상의 해상도보다 높은 해상도에 따른 비-그리드 지점(non-grid point)에 해당하는,
전자 장치. - 제16항에 있어서,
상기 프로세서는
상기 입력 영상의 그리드 지점들의 선형 보간(linear interpolation)을 통해 상기 제1 블러 지점을 결정하는,
전자 장치. - 제12항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은 뉴럴 네트워크 모델에 해당하는,
전자 장치. - 제12항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은
상기 인코딩 모델을 통해 블러 영역을 갖는 입력 트레이닝 영상을 인코딩하여 상기 입력 트레이닝 영상의 상기 블러 영역의 샘플 블러 지점에 관한 1차 샘플 특징 표현 및 상기 샘플 블러 지점의 샘플 유사 지점들에 관한 샘플 오프셋 정보를 생성하고,
상기 1차 샘플 특징 표현에 상기 샘플 오프셋 정보를 적용하여 상기 샘플 유사 지점들에 관한 2차 샘플 특징 표현들을 생성하고,
상기 내재적 함수 모델을 통해 상기 2차 샘플 특징 표현들 및 상기 샘플 오프셋 정보에 따른 출력 트레이닝 영상을 생성하고,
상기 블러 영역이 없는 타겟 영상과 상기 출력 트레이닝 영상 간의 차이가 줄어들도록 상기 인코딩 모델 및 상기 내재적 함수 모델을 트레이닝하는
동작들을 통해 트레이닝되는, 전자 장치. - 제12항에 있어서,
상기 인코딩 모델 및 상기 내재적 함수 모델은
상기 인코딩 모델 및 상기 내재적 함수 모델을 포함하는 디블러링 모델을 트레이닝하고,
상기 인코딩 모델을 고정한 상태로 상기 내재적 함수 모델을 추가로 트레이닝하고,
상기 내재적 함수 모델을 고정한 상태로 상기 인코딩 모델을 추가로 트레이닝하는
동작들을 통해 트레이닝되는, 전자 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211300336.0A CN116152082A (zh) | 2021-11-15 | 2022-10-24 | 用于图像去模糊的方法和设备 |
US17/973,809 US20230153961A1 (en) | 2021-11-15 | 2022-10-26 | Method and apparatus with image deblurring |
EP22207036.9A EP4181055A1 (en) | 2021-11-15 | 2022-11-11 | Method and apparatus with image deblurring |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210156856 | 2021-11-15 | ||
KR20210156856 | 2021-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230071017A true KR20230071017A (ko) | 2023-05-23 |
Family
ID=86544700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220027654A KR20230071017A (ko) | 2021-11-15 | 2022-03-03 | 영상 디블러링 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230071017A (ko) |
-
2022
- 2022-03-03 KR KR1020220027654A patent/KR20230071017A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210090327A1 (en) | Neural network processing for multi-object 3d modeling | |
KR20210083276A (ko) | 교차 도메인 이미지 변환 기법 | |
CN109643383A (zh) | 域分离神经网络 | |
KR20170136588A (ko) | 공간 트랜스포머 모듈들 | |
CN113095129B (zh) | 姿态估计模型训练方法、姿态估计方法、装置和电子设备 | |
KR102637342B1 (ko) | 대상 객체를 추적하는 방법과 장치 및 전자 장치 | |
KR20220114209A (ko) | 연사 영상 기반의 영상 복원 방법 및 장치 | |
KR20230032717A (ko) | 열화 영상 복원기, 열화 영상을 복원하는 방법 및 장치 | |
KR20220059194A (ko) | 대상 객체에 적응적인 객체 추적 방법 및 장치 | |
CN115457365B (zh) | 一种模型的解释方法、装置、电子设备及存储介质 | |
KR20230069607A (ko) | 셀프 어텐션 기반의 영상 인식 방법 및 장치 | |
KR20220065209A (ko) | 다양한 품질의 영상을 인식하는 방법 및 장치 | |
KR20230043318A (ko) | 영상 내 객체를 분류하는 객체 분류 방법 및 장치 | |
CN117151987A (zh) | 一种图像增强方法、装置及电子设备 | |
KR102695528B1 (ko) | 영상 개선 방법 및 장치 | |
KR20230108075A (ko) | 객체 인식 방법 및 장치 | |
CN112926628B (zh) | 动作价值的确定方法、装置、学习框架、介质及设备 | |
KR20230092514A (ko) | 렌더링 방법 및 장치 | |
CN116246026B (zh) | 三维重建模型的训练方法、三维场景渲染方法及装置 | |
JP2023502140A (ja) | タスク固有のデータ利用のための物理学により誘導されたディープマルチモーダル埋め込みのための方法及び装置 | |
KR20230071017A (ko) | 영상 디블러링 방법 및 장치 | |
KR20230090716A (ko) | 연사 영상 기반의 영상 복원 방법 및 장치 | |
US11393069B2 (en) | Image processing apparatus, image processing method, and computer readable recording medium | |
KR20210058614A (ko) | 적응적인 임계치를 이용한 얼굴 검출 방법 및 장치 | |
KR102424538B1 (ko) | 영상 복원 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |