KR20230034302A - 노이즈 제거 및 저정밀 이미지 처리를 위한 비선형 이미지 강도 변환 시스템 및 방법 - Google Patents
노이즈 제거 및 저정밀 이미지 처리를 위한 비선형 이미지 강도 변환 시스템 및 방법 Download PDFInfo
- Publication number
- KR20230034302A KR20230034302A KR1020237001757A KR20237001757A KR20230034302A KR 20230034302 A KR20230034302 A KR 20230034302A KR 1020237001757 A KR1020237001757 A KR 1020237001757A KR 20237001757 A KR20237001757 A KR 20237001757A KR 20230034302 A KR20230034302 A KR 20230034302A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- input image
- bit depth
- pixel intensity
- quantized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 144
- 238000012545 processing Methods 0.000 title claims abstract description 101
- 238000006243 chemical reaction Methods 0.000 title abstract description 4
- 230000009466 transformation Effects 0.000 claims abstract description 88
- 238000010801 machine learning Methods 0.000 claims description 91
- 238000012549 training Methods 0.000 claims description 52
- 238000013528 artificial neural network Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 11
- 230000002708 enhancing effect Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 abstract description 44
- 238000013139 quantization Methods 0.000 abstract description 40
- 230000008569 process Effects 0.000 description 85
- 230000006870 function Effects 0.000 description 54
- 238000010586 diagram Methods 0.000 description 16
- 238000012886 linear function Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 238000000844 transformation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002103 transcriptional effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000016776 visual perception 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/70—Denoising; Smoothing
-
- G06T5/002—
-
- 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
-
- G06T5/009—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- 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/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Processing (AREA)
Abstract
본 명세서에 설명된 기술은 비선형 기술을 사용하여 이미지 변환 및/또는 이미지 양자화를 제공한다. 변환된 이미지는 이미지 향상을 위해 사용될 수 있다(예를 들어, 변환 및/또는 양자화는 이미지 향상을 수행하기 전의 전처리 단계일 수 있음). 예를 들어, 비선형 강도 변환 기술은 원본 이미지에 대해 이미지 처리를 수행하는 것과 비교하여 효율적인 노이즈 제거, 더 양호한 저정밀 이미지 처리 등을 제공할 수 있다.
Description
[관련 출원]
본 출원은 2020년 7월 2일자에 출원된 Zhu 등의 발명의 명칭이 "노이즈 제거 및 저정밀 이미지 처리를 위한 비선형 이미지 강도 변환 시스템 및 방법(Systems and Methods of Nonlinear Image Intensity Transformation for Denoising and Low-Precision Image Processing)"인 미국 가출원 제63/047,875호의 우선권을 주장하며, 이의 개시 내용은 그 전체가 참조로 포함된다.
[기술분야]
본 명세서에 설명된 기술은 일반적으로 향상될 이미지를 처리하는 기술에 관한 것으로, 보다 구체적으로는 비선형 변환을 사용하여 픽셀 값을 수정하는 것에 관한 것이다.
이미지 캡처 디바이스(예를 들어, 디지털 카메라의 이미지 센서)에 의해 이미지가 캡처될 수 있다. 캡처된 이미지는 이미지가 캡처된 조건으로 인해 품질이 좋지 않을 수 있다. 예를 들어, 불충분한 조명, 짧은 노출 시간, 및/또는 기타 조건으로 인해 이미지에 노이즈가 있을 수 있다. 또한, 캡처된 이미지는 이미지 캡처 디바이스의 한계로 인해 품질이 좋지 않을 수 있다. 예를 들어, 이미지 캡처 디바이스는 이미지가 캡처된 조건을 보상하기 위한 메커니즘을 가지고 있지 않을 수 있다.
본 명세서에 설명된 기술은 비선형 기술을 사용하여 이미지의 이미지 강도 값(예를 들어, 픽셀 값)을 변환하기 위해 제공된다. (예를 들어, 이미지 향상을 수행하기 전의 전처리 단계의) 변환된 이미지는 이미지 향상을 위해 사용될 수 있다. 예를 들어, 비선형 강도 변환 기술은 원본 이미지에 대해 이미지 처리를 수행하는 것과 비교하여 효율적인 노이즈 제거, 더 양호한 저정밀 이미지 처리 등을 제공할 수 있다.
일 양태에 따르면, 이미지를 처리하는 컴퓨터 구현 방법이 제공된다. 상기 방법은 적어도 하나의 프로세서를 사용하여: 제1 비트 심도의 픽셀을 포함하는 입력 이미지를 획득하는 단계; 제2 비트 심도의 픽셀을 포함하는 양자화된 입력 이미지를 생성하기 위해 입력 이미지의 픽셀 강도에 제1 비선형 변환을 적용함으로써 입력 이미지를 적어도 부분적으로 양자화하는 단계 - 제2 비트 심도는 제1 비트 심도보다 작음 - ; 및 이미지 처리를 위해 양자화된 입력 이미지를 제공하는 단계를 수행하는 것을 포함한다.
일 실시예에서, 입력 이미지를 양자화하는 단계는: 입력 이미지의 픽셀 강도에 제1 비선형 변환을 적용하여 변환된 입력 이미지를 획득하는 단계; 및 양자화된 입력 이미지를 획득하기 위해 변환된 입력 이미지의 픽셀 강도에 전사 매핑을 적용하는 단계 - 전사 매핑은 제1 비트 심도의 픽셀 강도를 제2 비트 심도의 픽셀 강도에 매핑함 - 를 포함한다.
일 실시예에서, 제2 비트 심도는 제1 픽셀 강도 및 제2 픽셀 강도를 포함하고, 여기서 제1 픽셀 강도는 제2 픽셀 강도보다 작으며; 입력 이미지를 양자화하는 단계는 제2 픽셀 강도보다 제1 픽셀 강도에 제1 비트 심도의 더 적은 수의 픽셀 강도를 매핑하는 단계를 포함한다.
일 실시예에서, 상기 방법은: 이미지 처리 파이프라인으로부터, 제2 비트 심도의 픽셀을 포함하는 출력 이미지를 획득하는 단계; 및 제1 비트 심도의 픽셀을 포함하는 역양자화된 출력 이미지를 생성하기 위해 출력 이미지의 픽셀 강도에 제2 비선형 변환을 적용함으로써 출력 이미지를 적어도 부분적으로 역양자화하는 단계를 더 포함한다. 일 실시예에서, 제2 비선형 변환은 제1 비선형 변환의 역을 포함한다.
일 실시예에서, 이미지 처리 파이프라인에 양자화된 입력 이미지를 제공하는 단계는 신경망 프로세서에 양자화된 입력 이미지를 제공하는 단계를 포함한다. 일 실시예에서, 이미지 처리 파이프라인에 양자화된 입력 이미지를 제공하는 단계는 디지털 신호 프로세서(DSP)에 양자화된 입력 이미지를 제공하는 단계를 포함한다. 일 실시예에서, 이미지 처리 파이프라인은 적어도 하나의 프로세서보다 전력이 낮은 하나 이상의 프로세서를 포함한다.
일 실시예에서, 제1 비트 심도는 10비트, 12비트, 14비트, 또는 16비트이다. 일 실시예에서, 제2 비트 심도는 8비트이다. 일 실시예에서, 제1 비트 심도는 10비트, 12비트, 14비트, 또는 16비트이고; 제2 비트 심도는 8비트이다.
일 실시예에서, 이미지 처리 파이프라인은 제2 비트 심도의 픽셀을 포함하는 복수의 양자화된 이미지를 사용하여 훈련된 기계 학습 모델을 포함하고; 이미지 처리 파이프라인에 양자화된 입력 이미지를 제공하는 단계는 향상된 출력 이미지를 획득하기 위해 기계 학습 모델에 양자화된 입력 이미지를 제공하는 단계를 포함한다.
다른 양태에 따르면, 이미지 향상을 위해 기계 학습 모델을 훈련시키는 컴퓨터 구현 방법이 제공된다. 상기 방법은 적어도 하나의 프로세서를 사용하여: 제1 비트 심도의 픽셀을 포함하는 복수의 이미지를 획득하는 단계; 제2 비트 심도의 픽셀을 포함하는 복수의 양자화된 이미지를 생성하기 위해 복수의 이미지의 픽셀 강도에 비선형 변환을 적용함으로써 복수의 이미지를 적어도 부분적으로 양자화하는 단계 - 제2 비트 심도는 제1 비트 심도보다 작음 - ; 및 복수의 양자화된 이미지를 사용하여 기계 학습 모델을 훈련시키는 단계를 수행하는 것을 포함한다.
일 실시예에 따르면, 복수의 이미지는 입력 이미지 및 타겟 출력 이미지를 포함하고, 복수의 양자화된 이미지를 사용하여 기계 학습 모델을 훈련시키는 단계는 지도 학습 알고리즘을 양자화된 입력 이미지 및 양자화된 타겟 출력 이미지에 적용하는 단계를 포함한다.
일 실시예에 따르면, 기계 학습 모델은 신경망을 포함한다. 일 실시예에 따르면, 복수의 양자화된 이미지를 사용하여 기계 학습 모델을 훈련시키는 단계는 입력 이미지의 노이즈를 제거하기 위해 기계 학습 모델을 훈련시키는 단계를 포함한다.
다른 양태에 따르면, 이미지를 향상시키는 컴퓨터 구현 방법이 제공된다. 상기 방법은 적어도 하나의 프로세서를 사용하여: 향상될 입력 이미지를 획득하는 단계; 변환된 입력 이미지를 획득하기 위해 입력 이미지의 픽셀 강도에 비선형 변환을 적용하는 단계; 변환된 입력 이미지를 사용하여, 훈련된 기계 학습 모델에 제공될 입력을 생성하는 단계; 및 향상된 출력 이미지를 획득하기 위해 훈련된 기계 학습 모델에 생성된 입력을 제공하는 단계를 수행하는 것을 포함한다.
일 실시예에서, 입력 이미지는 입력 이미지의 픽셀 강도에 걸쳐 노이즈 특성의 제1 변동을 갖고; 변환된 입력 이미지는 입력 이미지의 픽셀 강도에 걸쳐 노이즈 특성의 제2 변동을 가지며; 제2 변동은 제1 변동보다 작다. 일 실시예에서, 노이즈 특성은 노이즈 표준 편차이다.
일 실시예에서, 훈련된 기계 학습 모델은 입력의 노이즈를 제거하도록 훈련된다. 일 실시예에서, 훈련된 기계 학습 모델은 신경망을 포함한다. 일 실시예에서, 훈련된 기계 학습 모델은 훈련 데이터에 지도 훈련 알고리즘을 적용함으로써 생성된다.
일 실시예에서, 입력 이미지는 제1 비트 심도의 픽셀을 포함하고;
변환된 입력 이미지를 사용하여 입력을 생성하는 단계는 제2 비트 심도의 픽셀을 포함하는 양자화된 입력 이미지를 획득하기 위해 변환된 입력 이미지를 양자화하는 단계 - 제2 비트 심도는 제1 비트 심도보다 작음 - 를 포함하고; 훈련된 기계 학습 모델에 생성된 입력을 제공하는 단계는 훈련된 기계 학습 모델에 대한 입력으로서 양자화된 입력 이미지를 제공하는 단계를 포함한다. 일 실시예에서, 변환된 입력 이미지를 양자화하는 단계는 변환된 입력 이미지의 픽셀 강도에 전사 매핑을 적용하는 단계를 포함하며, 전사 매핑은 제1 비트 심도의 픽셀 강도를 제2 비트 심도의 픽셀 강도에 매핑한다.
일 실시예에서, 제2 비트 심도는 제1 픽셀 강도 및 제2 픽셀 강도를 포함하고, 여기서 제1 픽셀 강도는 제2 픽셀 강도보다 작으며;
입력 이미지를 양자화하는 단계는 제2 픽셀 강도보다 제1 픽셀 강도에 제1 비트 심도의 더 적은 수의 픽셀 강도를 매핑하는 단계를 포함한다.
따라서, 개시된 주제의 특징은 이후의 상세한 설명이 더 잘 이해될 수 있고 당업계에 대한 본 개시의 기여가 더 잘 이해될 수 있도록 다소 광범위하게 설명되었다. 물론, 개시된 주제의 추가적인 특징이 이하에서 설명되고 여기에 첨부된 청구범위의 주제를 형성할 것이다. 본 명세서에 사용되는 표현 및 용어는 설명을 위한 것이며, 제한적인 것으로 간주되어서는 안 된다는 것을 이해해야 한다.
본 출원의 다양한 양태 및 실시예가 다음의 도면을 참조하여 설명될 것이다. 도면은 반드시 실척도로 도시되는 것은 아님을 이해해야 한다. 여러 도면에 나타나는 항목은 해당 항목이 나타나는 모든 도면에서 동일한 참조 번호로 표시된다.
도 1은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 본 명세서에 설명된 기술이 구현될 수 있는 예시적인 시스템의 블록도를 도시한다.
도 2는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 처리하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 3은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 양자화하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 4는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 역양자화하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 5는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 향상시키기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 6은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 기계 학습 모델을 훈련시키기 위한 예시적인 시스템의 블록도를 도시한다.
도 7은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지 향상을 위해 기계 학습 모델을 훈련시키기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 8은 일부 실시예에 따라 픽셀 강도의 선형 양자화를 나타내는 플롯을 도시한다.
도 9는 일부 실시예에 따라 대수 함수를 사용하여 픽셀 강도의 비선형 양자화를 나타내는 플롯을 도시한다.
도 10은 일부 실시예에 따라 지수 함수를 사용하여 픽셀 강도의 비선형 양자화를 나타내는 플롯을 도시한다.
도 11은 일부 실시예에 따라 비선형 변환의 적용으로부터 노이즈 특성 변동의 감소를 나타내는 플롯을 도시한다.
도 12는 본 명세서에 설명된 본 발명의 일부 실시예를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 블록도를 도시한다.
도 1은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 본 명세서에 설명된 기술이 구현될 수 있는 예시적인 시스템의 블록도를 도시한다.
도 2는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 처리하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 3은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 양자화하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 4는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 역양자화하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 5는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 향상시키기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 6은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 기계 학습 모델을 훈련시키기 위한 예시적인 시스템의 블록도를 도시한다.
도 7은 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지 향상을 위해 기계 학습 모델을 훈련시키기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 8은 일부 실시예에 따라 픽셀 강도의 선형 양자화를 나타내는 플롯을 도시한다.
도 9는 일부 실시예에 따라 대수 함수를 사용하여 픽셀 강도의 비선형 양자화를 나타내는 플롯을 도시한다.
도 10은 일부 실시예에 따라 지수 함수를 사용하여 픽셀 강도의 비선형 양자화를 나타내는 플롯을 도시한다.
도 11은 일부 실시예에 따라 비선형 변환의 적용으로부터 노이즈 특성 변동의 감소를 나타내는 플롯을 도시한다.
도 12는 본 명세서에 설명된 본 발명의 일부 실시예를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 블록도를 도시한다.
이제 도면을 참조하면, 본 발명의 실시예에 따른 노이즈 제거 및 이미지 처리를 위한 비선형 이미지 강도 변환을 위한 시스템 및 방법이 설명된다. 이미지 캡처 디바이스에 의해 (예를 들어, 이미지 센서를 사용하여) 캡처된 이미지는 컴퓨팅 디바이스(예를 들어, 프로세서)가 처리할 수 있는 것보다 더 높은 동적 범위로 표현될 수 있다. 예를 들어, CMOS 이미지 센서를 사용하여 캡처된 이미지는 14비트 심도의 픽셀을 가질 수 있지만, 저전력 디지털 신호 프로세서(digital signal processor; DSP), 신경망 처리 장치(neural processing unit; NPU) 등은 8비트 심도의 픽셀을 갖는 이미지를 처리하는 것으로 제한될 수 있다. DSP, NPU 등은 8비트 입력으로 제한될 수 있고/있거나 8비트 연산을 수행하도록 구성될 수 있다. 종래의 시스템은 컴퓨팅 디바이스에 의한 처리를 위해 이미지의 비트 심도를 줄이도록 이미지에 선형 양자화를 적용할 수 있다. 그러나, 이러한 이미지의 양자화는 종종 정보 손실로 이어져 처리된 이미지의 이미지 품질을 저하시킬 수 있다.
본 발명의 많은 실시예는 휘도와 인간의 시지각 사이에 비선형 관계가 있을 수 있음을 인식한다. 예를 들어, 디지털 이미지를 보는 인간은 일반적으로 높은 휘도(예를 들어, 높은 픽셀 강도)에서의 변화보다 낮은 휘도(예를 들어, 낮은 픽셀 강도)에서 픽셀 또는 픽셀 영역의 절대 강도 변화에 더 민감하다. 따라서, 본 명세서에서는 양자화된 이미지 데이터에 대해 동작하는 이미지 처리로부터 초래되는 인지된 이미지 품질의 손실을 완화할 수 있는 비선형 이미지 강도 변환 및/또는 양자화 기술이 설명된다. 본 명세서에 설명된 기술은 휘도와 인간의 시지각 사이의 비선형 관계를 사용하여 이미지 품질 손실이 적은 변환된 이미지를 획득한다. 일부 실시예는 이미지에 비선형 강도 변환을 적용하고 이미지를 양자화하여 이미지의 비트 심도를 줄이면서 낮은 픽셀 강도 사이의 구별을 최소화한다.
노이즈 특성은 이미지의 픽셀 강도에 따라 달라질 수 있다. 예를 들어, 노이즈의 표준 편차는 픽셀 강도에 따라 달라질 수 있다. 본 발명의 특정 실시예는 향상될 이미지가 픽셀 강도에 걸쳐 노이즈 특성(예를 들어, 표준 편차)에서 높은 변동을 가질 때 이미지 향상(예를 들어, 노이즈 제거)을 위해 훈련된 기계 학습 모델의 복잡성이 증가한다는 것을 인식한다. 예를 들어, 이미지를 향상(예를 들어, 이미지의 노이즈 제거)시키기 위해 훈련되는 신경망 모델은 입력 이미지가 픽셀 강도에 걸쳐 노이즈 표준 편차에서 높은 변동을 가질 때 모델이 여러 노이즈 수준을 고려해야 하기 때문에 더 많은 계층, 채널 및 가중치를 요구할 수 있다. 기계 학습 모델의 복잡성이 증가함에 따라, 컴퓨팅 디바이스가 이미지를 향상(예를 들어, 노이즈 제거)시키기 위해 더 많은 계산, 메모리 및 전력을 요구할 수 있기 때문에 기계 학습 모델을 사용하는 컴퓨팅 디바이스의 효율성이 감소한다. 예를 들어, 노이즈 제거를 위해 훈련된 신경망을 실행함으로써 이미지를 향상시키는 신경망 프로세서는 신경망의 계층 수가 증가함에 따라 컴퓨팅 디바이스가 이미지의 노이즈를 제거하기 위해 이미지 픽셀당 더 많은 계산, 메모리 및 전력을 요구하기 때문에 효율성이 떨어진다.
따라서, 본 명세서에 설명된 일부 기술은 픽셀 강도에 걸친 이미지의 노이즈 특성 변화를 줄이기 위해 이미지의 픽셀 강도에 비선형 변환을 적용한다. 픽셀 강도에 걸쳐 노이즈 특성 변화가 낮으면 이미지를 향상시키는 데 필요한 기계 학습 모델의 복잡성을 줄일 수 있는데, 모델이 더 작은 범위의 노이즈 수준의 노이즈를 제거해야 하기 때문이다. 따라서, 기계 학습 모델을 사용하는 컴퓨팅 디바이스는 이미지를 보다 효율적으로 처리할 수 있다. 일부 실시예는 이미지의 양자화 또는 재양자화와 함께 이미지의 픽셀 강도에 비선형 변환을 적용한다. 일부 실시예는 이미지를 양자화하지 않고 이미지의 픽셀 강도에 비선형 변환을 적용한다.
본 발명의 추가 실시예에서, 본 명세서에 설명된 것과 같은 기술에 의해 준비된 이미지 또는 이미지들은 기계 학습 모델을 위한 훈련 데이터로 사용될 수 있거나 향상될 입력 데이터로서 훈련된 기계 학습 모델에 제공될 수 있다. 이미지를 향상시키고 기계 학습 모델을 훈련시키기 위한 시스템 및 방법이 Shen 등의 미국 특허 공개 번호 제2020/0051217호(출원 번호 제16/634,424호)에 개시되어 있으며('217 공보), 관련 부분은 그 전체가 참조로 포함되고 사본은 부록 A로 동봉된다.
다음 설명에서, 개시된 주제의 철저한 이해를 제공하기 위해, 개시된 주제의 시스템 및 방법, 및 그러한 시스템 및 방법이 동작할 수 있는 환경 등에 관한 다수의 특정 세부 사항이 설명된다. 본 명세서에 설명된 일부 실시예는 종래의 이미지 처리 기술과 관련하여 위에서 설명된 문제를 다룬다. 그러나, 본 명세서에 설명된 모든 실시예가 이러한 문제 모두를 다루는 것은 아님을 이해해야 한다. 또한, 본 명세서에 설명된 본 발명의 실시예는 종래의 이미지 처리 기술의 위에서 논의된 문제를 해결하는 것 이외의 목적으로 사용될 수 있음을 이해해야 한다. 또한, 아래에 제공된 예는 예시적인 것이며, 개시된 주제의 범위 내에 다른 시스템 및 방법이 있음이 고려된다는 것이 이해될 것이다.
이미지 처리 시스템
도 1은 일부 실시예에 따라 본 명세서에 설명된 기술이 구현될 수 있는 시스템(100)의 블록도를 도시한다. 도 1에 도시된 바와 같이, 시스템(100)은 이미지 전처리 시스템(102)(이하 "시스템(102)"이라고도 함), 이미지 캡처 디바이스(104), 및 이미지 처리 시스템(106)을 포함한다. 일부 실시예에서, 이미지 전처리 시스템(102)은 '217 공보(부록 A)의 도 1a 및 도 1b의 이미지 향상 시스템(111)의 구성 요소일 수 있다.
도 1의 예에 도시된 바와 같이, 이미지 전처리 시스템(102)은 이미지 캡처 디바이스(104) 및 이미지 처리 시스템(106)과 통신한다. 일부 실시예에서, 이미지 전처리 시스템(102)은 이미지 캡처 디바이스(104)로부터 데이터를 수신하도록 구성될 수 있다. 데이터는 이미지 캡처 디바이스(104)에 의해 캡처된 하나 이상의 디지털 이미지를 포함할 수 있다. 예를 들어, 이미지 전처리 시스템(102)은 (예를 들어, 이미지 처리 시스템(106)에 의해) 추가 이미지 처리를 겪게 될 이미지를 이미지 캡처 디바이스(104)로부터 획득할 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102)은 (1) 이미지 캡처 디바이스(104)로부터 이미지를 획득하고; (2) 이미지를 비선형 변환 및/또는 양자화하며; (3) 추가 처리(예를 들어, 향상)를 위해 변환 및/또는 양자화된 이미지를 이미지 처리 시스템(106)에 제공하도록 구성될 수 있다. 이미지 양자화는 (1) 이미지 처리 시스템(106)으로부터 처리된 이미지를 획득하고; (2) 처리된 이미지를 역변환 및/또는 역양자화하며; (3) 역양자화/역변환 처리된 이미지를 이미지 캡처 디바이스(104)에 제공하도록 구성될 수 있다. 몇몇 실시예에서, 이미지 전처리 시스템(102)은 도 12와 관련하여 아래에서 더 설명되는 것과 같은 구성 요소를 갖는 특수 컴퓨팅 시스템 또는 서브시스템이다.
도 1에 도시된 바와 같이, 이미지 전처리 시스템(102)은 비선형 변환(102A)을 포함할 수 있다. 비선형 변환은 본 명세서에서 "비선형 매핑"이라고도 지칭될 수 있으며, 예를 들어, 실행될 때 프로세서가 본 명세서에 설명된 하나 이상의 프로세스를 수행하도록 지시하는 프로세서 명령어로서 펌웨어 또는 메모리(휘발성 또는 비휘발성)에 구현될 수 있다. 이미지 전처리 시스템(102)은 (예를 들어, 양자화 없이) 이미지를 전처리하기 위해 및/또는 획득된 이미지를 양자화하는 것과 함께 비선형 변환(102A)을 사용할 수 있다. 일부 실시예에서, 비선형 변환(102A)은 픽셀 강도 값을 입력으로 취하고 대응하는 변환 값을 출력하는 연속 비선형 함수를 포함할 수 있다. 예를 들어, 비선형 변환(102A)은 10비트 픽셀 강도를 입력으로 취하고 0과 1 사이의 대응하는 값을 출력하는 비선형 함수일 수 있다. 일부 실시예에서, 비선형 변환(102A)은 구간 함수일 수 있다. 일부 실시예에서, 비선형 변환(102A)은 비선형인 하나 이상의 부분에 더하여 선형인 하나 이상의 부분을 포함할 수 있다. 예를 들어, 비선형 변환(102A)은 픽셀 강도의 제1 범위에 대한 출력이 선형이고 픽셀 강도의 제2 범위에 대한 출력이 비선형인 구간 함수일 수 있다.
일부 실시예에서, 비선형 변환(102A)은 대수 함수를 포함할 수 있다. 일부 실시예에서, 비선형 변환은 지수 함수를 포함할 수 있다. 일부 실시예에서, 비선형 변환은 다중 함수의 조합을 포함할 수 있다(선형 함수(들) 및/또는 비선형 함수(들) 모두의 조합을 포함함). 비선형 변환(102A)에 포함될 수 있는 비선형 함수의 예가 본 명세서에 설명되며, 이는 예시적이고 비제한적인 것으로 의도된다. 따라서, 일부 실시예는 본 명세서에 설명된 비선형 함수로 제한되지 않는다.
이미지 전처리 시스템(102)에 의해 획득된 이미지는 제1 비트 심도(예를 들어, 10비트 심도, 12비트 심도, 14비트 심도, 또는 16비트 심도)의 픽셀 값, 즉, 값을 나타내는 정보의 비트 수를 가질 수 있다. 당업자가 인식하는 바와 같이, 픽셀 값은 하나 이상의 구성 요소를 가질 수 있으며, 여기서 상이한 구성 요소는 밝기, 휘도, 색도, 및/또는 컬러 채널(예를 들어, 청색, 적색, 녹색)과 같은 특정 픽셀의 상이한 특성의 강도를 나타내지만 이에 제한되지 않는다.
이미지 전처리 시스템(102)은 제2 비트 심도(예를 들어, 5비트 심도, 6비트 심도, 7비트 심도, 또는 8비트 심도)의 픽셀 값을 갖는 양자화된 이미지를 획득하기 위해 이미지를 양자화하도록 구성될 수 있으며, 여기서 제2 비트 심도는 제1 비트 심도보다 작다. 이미지 전처리 시스템(102)은 양자화된 이미지를 이미지 처리 시스템(106)에 제공할 수 있다(예를 들어, 이미지 처리 시스템(106)은 제1 비트 심도의 픽셀 값을 갖는 이미지를 처리할 수 없다). 일부 실시예에서, 이미지 전처리 시스템(102)은 (1) 변환된 이미지를 획득하기 위해 비선형 변환(102A)을 이미지의 픽셀 강도에 적용하고; (2) 양자화된 입력 이미지를 획득하기 위해 변환된 입력 이미지의 픽셀 강도에 전사 매핑을 적용함으로써, 이미지를 양자화하도록 구성될 수 있으며, 여기서 전사 매핑은 제1 비트 심도의 픽셀 강도를 제2 비트 심도의 픽셀 강도에 매핑한다. 전사 매핑의 예가 아래에서 더 설명된다. 전사 매핑은 이미지가 코도메인과 동일한 함수인 수학의 전사 함수로 정의될 수 있다. 아래에서 더 설명되는 것과 같은 특정 실시예에서, 비선형 변환은 후속 양자화 없이 적용된다.
일부 실시예에서, 이미지 전처리 시스템(102)은 양자화된 이미지에서 낮은 픽셀 강도 사이의 구별이 높은 픽셀 강도 사이의 구별보다 크도록 전사 매핑과 함께 이미지에 비선형 변환을 적용하도록 구성될 수 있다. 비선형 변환을 적용할 때, 이미지 전처리 시스템(102)은 낮은 픽셀 강도 사이의 구별을 유지하기 위해 높은 픽셀 강도보다 낮은 픽셀 강도에 제2 비트 심도 범위의 더 큰 부분을 할애할 수 있다. 예를 들어, 시스템은 (1) 입력 이미지에서의 0-200의 픽셀 강도를 양자화된 이미지에서의 0-25의 픽셀 강도로 매핑하고; (2) 입력 이미지에서의 201-1031의 픽셀 강도를 양자화된 이미지에서의 26-31의 픽셀 강도로 매핑함으로써, 10비트 심도의 픽셀을 갖는(예를 들어, 0 내지 1023의 픽셀 강도를 갖는) 입력 이미지를 양자화하여 5비트 심도의 픽셀을 갖는(예를 들어, 0-31의 픽셀 강도를 갖는) 양자화된 이미지를 획득할 수 있다. 이 예에서, 양자화된 이미지에서의 30의 픽셀 강도는 5의 픽셀 강도보다 입력 이미지의 더 많은 픽셀 강도에 매핑될 수 있다. 따라서, 양자화된 이미지는 입력 이미지에서의 낮은 픽셀 강도 사이의 더 많은 구별을 유지할 수 있다.
일부 실시예에서, 이미지 전처리 시스템(102)은 이미지 처리 시스템(106)으로부터 처리된 이미지를 획득하도록 구성될 수 있다. 예를 들어, 처리된 이미지는 이미지 캡처 디바이스(104)에 의해 이미지 양자화 시스템에 제공된 이미지의 향상된 버전일 수 있다. 이미지 전처리 시스템(102)은 이전에 입력 이미지를 수신하고 이미지 처리 시스템(106)에 의한 처리를 위해 입력 이미지를 양자화했을 수 있다. 이미지 전처리 시스템(102)은 (1) 처리된 이미지를 역양자화하고; (2) 역양자화된 이미지를 이미지 캡처 디바이스(104)에 전송하도록 구성될 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102)은 (1) 처리된 이미지의 비트 심도를 제1 비트 심도에서 제2 비트 심도로 증가시키고; (2) 제2 비트 심도의 픽셀을 갖는 이미지에 비선형 변환을 적용함으로써, 처리된 이미지를 역양자화하도록 구성될 수 있다. 일부 실시예에서, 비선형 변환은 (예를 들어, 처리를 위해 이미지 캡처 디바이스(104)에 의해 제공된) 입력 이미지에 적용되는 비선형 변환의 역일 수 있다.
일부 실시예에서, 이미지 전처리 시스템(102)은 (예를 들어, 비선형 변환된 이미지가 원본 이미지와 동일한 비트 심도로 이미지 처리에 사용되도록) 이미지를 양자화하지 않고 변환된 이미지를 획득하기 위해 이미지의 픽셀 강도에 비선형 변환(102A)을 적용하도록 구성될 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102)은 (예를 들어, 이미지 처리 시스템(106)이 입력 이미지의 비트 심도를 처리할 수 있는 경우) 입력 이미지의 비트 심도를 감소시키지 않고 비선형 변환(102A)을 입력 이미지에 적용하도록 구성될 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102)은 비선형 변환(102A)을 입력 이미지에 적용함으로써 입력 이미지의 픽셀 강도에 걸쳐 노이즈 특성의 변화를 감소시키도록 구성될 수 있다. 이미지 전처리 시스템(102)은 노이즈 변화가 적은 변환된 이미지를 이미지 처리 시스템(106)에 전송할 수 있다. 예를 들어, 이미지 전처리 시스템(102)은 변환된 이미지를 이미지 처리 시스템(106)의 프로세서(예를 들어, 신경망 프로세서)에 제공할 수 있으며, 이는 모든 픽셀 강도에 대한 임계값 미만의 노이즈 특성 변화를 갖는 이미지를 향상(예를 들어, 노이즈 제거)시키도록 훈련된 기계 학습 모델(예를 들어, 신경망)을 사용한다. 예를 들어, 기계 학습 모델은 모든 픽셀 강도에 대해 동적 범위의 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 또는 10% 미만인 노이즈 표준 편차를 갖는 이미지를 향상시키도록 훈련될 수 있다. 입력 이미지에서의 노이즈 특성의 감소된 변화는 이미지 처리 시스템(106)이 더 낮은 복잡성을 갖는 기계 학습 모델(예를 들어, 더 적은 계층을 갖는 신경망)을 사용할 수 있게 한다.
일부 실시예에서, 이미지 전처리 시스템(102)은 (예를 들어, 이미지가 이미지 처리 시스템(106)에 의한 처리 이전에 양자화되지 않은 경우) 이미지를 역양자화하지 않고 이미지에 비선형 변환을 적용하도록 구성될 수 있다. 일부 실시예에서, 비선형 변환은 (예를 들어, 처리를 위해 이미지 캡처 디바이스(104)에 의해 제공된) 입력 이미지에 적용되는 비선형 변환의 역일 수 있다. 예를 들어, 시스템은 이전에 입력 이미지에 비선형 변환(102A)을 적용하고 이미지 처리 시스템(106)에 변환된 이미지를 제공했을 수 있다. 그런 다음, 시스템은 이미지 처리 시스템(106)으로부터 이미지의 처리된 버전을 획득하고 처리된 이미지에 비선형 변환을 적용할 수 있다(예를 들어, 비선형 변환(102A)의 역을 적용함으로써).
일부 실시예에서, 이미지 캡처 디바이스(104)는 디지털 카메라일 수 있다. 디지털 카메라는 독립형 디지털 카메라일 수도 있고, 디바이스(예를 들어, 스마트폰)에 내장된 디지털 카메라일 수도 있다. 일부 실시예에서, 이미지 캡처 디바이스(104)는 디지털 이미지를 캡처할 수 있는 임의의 디바이스일 수 있다. 일부 실시예는 본 명세서에 설명된 임의의 이미지 캡처 디바이스로 제한되지 않는다.
도 1에 도시된 바와 같이, 이미지 캡처 디바이스(104)는 이미지 센서(104A) 및 A/D 변환기(104B)를 포함한다. 일부 실시예에서, 이미지 센서(104A)는 이미지 센서(104A)에 의해 감지된 전자기 복사(예를 들어, 광파)에 기초하여 신호를 생성하도록 구성될 수 있다. 예를 들어, 이미지 센서(104A)는 광을 캡처하는 상보성 금속 산화물 반도체(complementary metal-oxide semiconductor; CMOS) 실리콘 센서일 수 있다. 센서(104A)는 입사광 광자를 전자로 변환하여 전기 신호를 생성하는 다수의 픽셀을 가질 수 있다. 다른 예에서, 이미지 센서(104A)는 전하 결합 소자(charge-coupled device; CCD) 센서일 수 있다. 일부 실시예는 본 명세서에 설명된 임의의 이미지 센서로 제한되지 않는다.
도 1에 도시된 바와 같이, 이미지 캡처 디바이스(104)는 아날로그-디지털 변환기(A/D 변환기)(104B)를 포함할 수 있다. A/D 변환기(104B)는 이미지 센서(104A)로부터 수신된 아날로그 전기 신호를 디지털 값으로 변환하도록 구성될 수 있다. 디지털 값은 이미지 캡처 디바이스(104)에 의해 캡처된 이미지의 픽셀 강도일 수 있다. 이미지 캡처 디바이스(104)는 이미지를 이미지 전처리 시스템(102)에 전송할 수 있다. 일부 실시예에서, 이미지 캡처 디바이스(104)는 6비트 심도, 7비트 심도, 8비트 심도, 9비트 심도, 10비트 심도, 11비트 심도, 12비트 심도, 13비트 심도, 14비트 심도, 15비트 심도, 16비트 심도, 17비트 심도, 18비트 심도, 19비트 심도, 20비트 심도, 21비트 심도, 22비트 심도, 23비트 심도, 및/또는 24비트 심도와 같은 그러나 이에 제한되지 않는 다양한 비트 심도 중 임의의 비트 심도를 갖는 픽셀로 디지털 이미지를 생성할 수 있다. 일부 실시예는 본 명세서에 설명된 비트 심도로 제한되지 않는다.
일부 실시예에서, 이미지 처리 시스템(106)은 이미지를 처리하기 위한 컴퓨팅 디바이스일 수 있다. 몇몇 실시예에서, 이미지 처리 시스템(106)은 도 12와 관련하여 아래에서 더 설명되는 것과 같은 구성 요소를 갖는 특수 컴퓨팅 시스템 또는 서브시스템이다. 이미지 처리 시스템(106)은 하나 이상의 프로세서를 포함할 수 있다. 일부 실시예에서, 이미지 처리 시스템(106)은 디지털 신호 프로세서(DSP)를 포함할 수 있다. 일부 실시예에서, 이미지 처리 시스템(106)은 신경망을 실행하도록 구성된 신경망 프로세서(예를 들어, NPU)를 포함할 수 있다. 일부 실시예에서, 이미지 처리 시스템(106)은 기계 학습 모델을 실행하도록 구성된 프로세서를 포함할 수 있다. 일부 실시예는 본 명세서에 설명된 프로세서(들)로 제한되지 않는다. 일부 실시예에서, 이미지 처리 시스템(106)은 이미지를 처리하는 하나 이상의 구성 요소의 파이프라인을 포함할 수 있다. 예를 들어, 이미지 처리 시스템(106)은 이미지를 향상시키기 위한 프로세서, 및 이미지의 특성(예를 들어, 밝기 및 콘트라스트)을 수정하기 위한 하나 이상의 구성 요소를 포함할 수 있다. 다른 예에서, 이미지 처리 시스템(106)은 스마트폰 디바이스의 디지털 카메라에 의해 캡처된 이미지를 처리하는 데 사용되는 스마트폰 디바이스의 이미지 처리 파이프라인을 포함할 수 있다.
일부 실시예에서, 이미지 처리 시스템(106)은 특정 비트 심도 이상의 픽셀을 갖는 이미지를 처리하지 못할 수 있다. 예를 들어, 이미지 처리 시스템(106)의 프로세서의 정밀도는 8비트일 수 있고, 따라서 프로세서는 10비트 심도의 픽셀을 갖는 이미지를 처리할 수 없다. 다른 예에서, 프로세서는 특정 비트 심도(예를 들어, 1, 2, 3, 4, 5, 6, 7, 8, 9, 또는 10비트)에서 계산을 수행하도록 구성될 수 있다. 일부 실시예에서, 이미지 처리 시스템은 1비트 정밀도, 2비트 정밀도, 3비트 정밀도, 4비트 정밀도, 5비트 정밀도, 6비트 정밀도, 7비트 정밀도, 8비트 정밀도, 9비트 정밀도, 또는 10비트 정밀도를 가질 수 있다. 일부 실시예에서, 프로세서의 정밀도는 이미지 캡처 디바이스(104)에 의해 캡처된 픽셀의 비트 심도보다 작을 수 있다. 따라서, 이미지 처리 시스템(106)은 이미지 전처리 시스템(102)으로부터 적절한 비트 심도를 갖는 양자화된 이미지를 수신하도록 구성될 수 있다.
일부 실시예에서, 이미지 캡처 디바이스(104), 이미지 전처리 시스템(102), 및 이미지 처리 시스템(106)은 단일 디바이스의 구성 요소일 수 있다. 참조 번호 100은 이미지 전처리 시스템(102), 이미지 캡처 디바이스(104), 및 이미지 처리 시스템(106)을 포함하는 스마트폰일 수 있다. 예를 들어, 이미지 전처리 시스템(102) 및/또는 이미지 처리 시스템(106)은 (예를 들어, 이미지를 스마트폰에 저장 및/또는 표시하기 전에) 스마트폰의 이미지를 처리하기 위해 스마트폰의 이미지 처리 파이프라인에 통합될 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102), 이미지 캡처 디바이스(104), 및 이미지 처리 시스템(106)은 별개의 디바이스일 수 있다. 예를 들어, 이미지 전처리 시스템(102) 및 이미지 처리 시스템(106)은 네트워크(예를 들어, 인터넷)를 통해 이미지 캡처 디바이스(104)와 통신하는 클라우드 기반 컴퓨터 시스템일 수 있다. 일부 실시예에서, 이미지 전처리 시스템(102)은 이미지 처리 시스템(106)의 일부일 수 있다.
이미지에 비선형 변환을 적용하기 위한 프로세스
도 2는 본 명세서에 설명된 본 발명의 일부 실시예에 따라 이미지를 처리하기 위한 예시적인 프로세스(200)의 흐름도를 도시한다. 프로세스(200)는 임의의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(200)는 도 1을 참조하여 본 명세서에 설명된 이미지 전처리 시스템(102) 또는 시스템(100)에 의해 수행될 수 있다.
프로세스(200)는 시스템이 제1 비트 심도의 픽셀을 갖는 입력 이미지를 획득하는 단계(202)를 포함한다. 예를 들어, 시스템은 이미지 캡처 디바이스(예를 들어, 디지털 카메라)로부터 이미지를 수신할 수 있다. 일부 실시예에서, 이미지 캡처 디바이스는 제1 비트 심도에서 이미지를 캡처하도록 구성될 수 있다. 예를 들어, 이미지 캡처 디바이스의 A/D 변환기는 10비트 픽셀 강도 값을 생성하여 10비트 심도의 픽셀을 갖는 디지털 이미지를 생성할 수 있다. 예시적인 비트 심도가 본 명세서에 논의된다.
시스템은 제2 비트 심도의 픽셀을 갖는 양자화된 입력 이미지를 획득하기 위해 입력 이미지를 양자화하며(204), 여기서 제2 비트 심도는 제1 비트 심도보다 작다. 예를 들어, 시스템은 5비트 심도의 픽셀을 갖는 양자화된 입력 이미지를 생성하기 위해 10비트 심도의 픽셀을 갖는 입력 이미지를 양자화할 수 있다. 일부 실시예에서, 시스템은 (1) 입력 이미지의 픽셀 강도에 비선형 변환을 적용하고; (2) 변환된 픽셀 강도를 5비트 픽셀 값으로 매핑함으로써, 입력 이미지를 양자화하도록 구성될 수 있다. 예를 들어, 각각 10비트 픽셀 강도의 입력 이미지에 대해, 시스템은 픽셀 강도에 대수 함수를 적용하고 대수 함수의 출력을 5비트 픽셀 값에 매핑할 수 있다. 일부 실시예에서, 비선형 변환 및 매핑은 단일 함수로 결합될 수 있다.
시스템은 추가 처리를 위해 (예를 들어, 5비트 심도의 픽셀을 갖는) 양자화된 입력 이미지를 제공한다(206). 일부 실시예에서, 시스템은 이미지의 향상을 위해 양자화된 입력 이미지를 이미지 처리 파이프라인에 제공하도록 구성될 수 있다. 일부 실시예에서, 시스템은 프로세서에 대한 입력으로서 양자화된 입력 이미지를 제공하도록 구성될 수 있다. 프로세서는 제1 비트 심도보다 작은 정밀도를 가질 수 있다. 양자화된 입력 이미지는 프로세서의 정밀도 이하의 비트 심도를 가질 수 있다. 일부 실시예에서, 프로세서는 입력 이미지를 향상시키기 위해 기계 학습 모델을 실행하도록 구성될 수 있다. 예를 들어, 프로세서는 캡처된 이미지를 향상시키기 위해 훈련된 기계 학습 모델을 실행하도록 구성될 수 있다. 다른 예에서, 프로세서는 입력 이미지를 기계 학습 모델의 파라미터를 훈련시키기 위한 훈련 데이터로 사용하도록 구성될 수 있다. 일부 실시예에서, 프로세서는 신경망을 실행하도록 구성된 신경망 프로세서일 수 있다. 일부 실시예에서, 신경망은 이미지를 향상시도록 훈련될 수 있다. 일부 실시예에서, 신경망은 이미지의 노이즈를 제거함으로써 이미지를 향상시키도록 훈련될 수 있다. 일부 실시예에서, 프로세서는 디지털 신호 프로세서(DSP)일 수 있다. 일부 실시예는 본 명세서에 설명된 프로세서로 제한되지 않는다.
시스템은 제2 비트 심도의 픽셀을 갖는 출력 이미지를 생성한다(208). 일부 실시예에서, 시스템은 처리된 이미지(예를 들어, 이미지 처리 시스템(106)에 의해 처리됨)를 수신함으로써 출력 이미지를 생성하도록 구성될 수 있다. 예를 들어, 시스템은 시스템이 양자화된 입력 이미지를 제공한 프로세서(예를 들어, NPU)로부터 출력 이미지를 수신할 수 있다. 일부 실시예에서, 출력 이미지는 양자화된 입력 이미지의 처리된 버전일 수 있다. 예를 들어, 출력 이미지는 입력 이미지의 향상된(예를 들어, 노이즈 제거된) 버전일 수 있다.
시스템은 제1 비트 심도의 픽셀을 갖는 역양자화된 출력 이미지를 생성하기 위해 출력 이미지를 역양자화한다(210). 시스템은 획득된 입력 이미지(202)의 픽셀과 동일한 비트 심도의 역양자화된 출력 이미지를 생성하도록 구성될 수 있다. 예를 들어, 시스템은 10비트 심도의 픽셀을 갖는 이미지를 수신하고(202), 10비트 심도의 픽셀을 갖는 역양자화된 출력 이미지를 생성할 수 있다(210). 일부 실시예에서, 시스템은 제2 비트 심도의 픽셀 강도를 제1 비트 심도의 픽셀 강도에 매핑함으로써 출력 이미지를 역양자화하도록 구성될 수 있다. 일부 실시예에서, 시스템은 제2 비트 심도의 픽셀 강도에 비선형 변환(예를 들어, 입력 이미지를 양자화하기 위해 사용된 변환의 역)을 적용함으로써 제2 비트 심도의 픽셀 강도를 제1 비트 심도의 픽셀 강도에 매핑하도록 구성될 수 있다.
일부 실시예에서, 시스템은 이미지 캡처 디바이스에 역양자화된 출력 이미지를 제공하도록 구성될 수 있다. 일부 실시예에서, 시스템은 (예를 들어, 획득된 입력 이미지(202)의 향상으로서) 역양자화된 출력 이미지를 저장하도록 구성될 수 있다. 일부 실시예에서, 시스템은 기계 학습 모델을 훈련시키기 위해 출력 이미지를 사용하도록 구성될 수 있다. 예를 들어, 시스템은 역양자화된 출력 이미지를 타겟 출력 이미지와 비교할 수 있고, 타겟 출력 이미지와 역양자화된 출력 이미지 간의 차이에 기초하여 하나 이상의 기계 학습 모델 파라미터를 조정할 수 있다.
이미지 양자화
도 3은 본 발명의 일부 실시예에 따라 이미지를 양자화하기 위한 예시적인 프로세스(300)의 흐름도를 도시한다. 프로세스(300)는 임의의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(300)는 도 1을 참조하여 본 명세서에 설명된 이미지 전처리 시스템(102) 또는 시스템(100)에 의해 수행될 수 있다. 프로세스(300)는 도 2를 참조하여 본 명세서에 설명된 프로세스(200)의 일부로서 수행될 수 있다. 예를 들어, 프로세스(300)는 프로세스(200)의 양자화 단계(204)에서 수행될 수 있다.
프로세스(300)는 제1 비트 심도의 이미지를 획득하는 단계(302)를 포함한다. 예를 들어, 시스템은 이미지 캡처 디바이스(예를 들어, 디지털 카메라)로부터 제1 비트 심도의 픽셀을 갖는 이미지를 획득할 수 있다. 일부 실시예에서, 시스템은 도 2를 참조하여 위에서 더 설명된 프로세스(200)에서 설명된 바와 같이 이미지를 획득할 수 있다(202).
다음으로, 시스템은 이미지의 픽셀 강도에 비선형 변환을 적용한다(304). 일부 실시예에서, 시스템은 대응하는 출력을 획득하기 위해 비선형 함수에 대한 입력 값으로서 픽셀 강도를 제공함으로써 비선형 변환을 적용하도록 구성될 수 있다. 예를 들어, 시스템은 대응하는 출력 값을 획득하기 위해 대수 함수에 대한 입력 값으로서 픽셀 강도를 제공할 수 있다. 다른 예에서, 시스템은 대응하는 출력 값을 획득하기 위해 지수 함수에 대한 입력 값으로서 픽셀 강도를 제공할 수 있다. 일부 실시예에서, 비선형 함수로부터 획득된 출력은 범위 내에 있을 수 있다. 예를 들어, 비선형 함수는 0과 1 사이의 출력을 제공할 수 있다. 일부 실시예는 본 명세서에 설명된 것과 상이한 비선형 함수를 사용할 수 있다. 일부 실시예는 한 유형의 비선형 함수로 제한되지 않는다. 본 발명의 실시예에 따라 사용될 수 있는 예시적인 비선형 함수는 도 9 및 도 10을 참조하여 아래에서 설명되지만, 당업자는 다양한 비선형 함수 중 임의의 것이 특정 애플리케이션에 적절하게 사용될 수 있음을 인식할 것이다.
일부 실시예에서, 시스템은 구간 함수에 대한 입력 값으로서 픽셀 강도를 제공함으로써 비선형 변환을 적용하도록 구성될 수 있다. 일부 실시예에서, 구간 함수의 제1 부분은 비선형일 수 있고, 구간 함수의 제2 부분은 선형일 수 있다. 예를 들어, (1) 0과 20 사이의 픽셀 강도에 대해, 함수는 10비트 픽셀 강도의 선형 함수일 수 있고; (2) 20보다 큰 픽셀 강도에 대해, 함수는 비선형 함수(예를 들어, 대수 또는 지수 함수)일 수 있다.
프로세스(300)는 제2 비트 심도의 픽셀을 갖는 양자화된 이미지를 획득하기 위해 이미지의 비트 심도를 감소시키는 단계(306)를 포함하며, 여기서 제2 비트 심도는 제1 비트 심도보다 작다. 일부 실시예에서, 시스템은 픽셀 강도에 대한 변환 함수의 적용으로부터 획득된 값(304)에 양자화 함수를 적용함으로써, 양자화된 이미지를 획득하기 위해 이미지의 비트 심도를 감소시키도록 구성될 수 있다. 일부 실시예에서, 양자화 함수는 입력 값 각각에 대해 5비트 픽셀 강도 값을 출력할 수 있다. 예를 들어, 시스템은 이미지의 10비트 픽셀 강도에 비선형 변환을 적용함으로써 0과 1 사이의 값을 획득하고, 획득된 값을 양자화 함수에 입력하여 5비트 픽셀 강도를 획득할 수 있다. 본 발명의 실시예에 따라 사용될 수 있는 예시적인 양자화 함수는 도 9 및 도 10을 참조하여 아래에서 설명된다.
일부 실시예에서, 시스템은 새로운 이미지를 생성하기 위해 (예를 들어, 양자화 함수를 사용하여 획득된) 제2 비트 심도의 픽셀 강도를 사용하도록 구성될 수 있다. 따라서, 새로운 이미지는 제2 비트 심도의 픽셀을 가질 것이다. 일부 실시예에서, 시스템은 제1 비트 심도의 픽셀 강도를 제2 비트 심도의 픽셀 강도로 교체함으로써 획득된 이미지(302)를 수정하도록 구성될 수 있다.
일부 실시예에서, 시스템은 이미지 처리 시스템(예를 들어, DSP 또는 신경망 프로세서)에 대한 입력으로서 양자화된 이미지를 제공하도록 구성될 수 있다. 시스템은 도 2를 참조하여 위에서 더 설명된 바와 같이 양자화된 입력 이미지를 제공할 수 있다(206).
이미지
역양자화
프로세스
도 4는 본 발명의 일부 실시예에 따라 이미지를 역양자화하기 위한 예시적인 프로세스(400)의 흐름도를 도시한다. 프로세스(400)는 임의의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(400)는 도 1을 참조하여 위에서 설명된 이미지 전처리 시스템(102) 또는 시스템(100)에 의해 수행될 수 있다. 프로세스(400)는 도 2를 참조하여 위에서 설명된 프로세스(200)의 일부로서 수행될 수 있다. 예를 들어, 프로세스(400)는 프로세스(200)의 획득 단계(208)에서 수행될 수 있다.
프로세스(400)는 시스템이 제1 비트 심도(예를 들어, 5비트)의 픽셀을 갖는 이미지를 획득하는 단계(402)를 포함한다. 예를 들어, 시스템은 이미지 처리 시스템(예를 들어, DSP 또는 신경망 프로세서)으로부터 이미지를 수신할 수 있다. 일부 실시예에서, 시스템은 (예를 들어, 프로세스(200)의 206에서) 이미지 처리 시스템에 제공된 이미지의 향상된 버전을 수신하도록 구성될 수 있다. 예를 들어, 이미지 처리 시스템은 (예를 들어, 도 3을 참조하여 본 명세서에서 설명된 프로세스(300)를 수행함으로써) 양자화된 이미지를 수신하고 이미지의 노이즈를 제거하여 이미지를 생성했을 수 있다. 시스템은 이미지 처리 시스템으로부터 생성된 이미지를 수신할 수 있다.
다음으로, 시스템은 획득된 이미지(402)의 픽셀 강도를 비선형 변환의 출력 값에 매핑한다(404). 예를 들어, 입력 이미지의 양자화 동안, 시스템은 0과 1 사이의 정규화된 값을 획득하기 위해 비선형 함수를 적용했을 수 있다. 이 예에서, 시스템은 이미지의 픽셀 강도를 0과 1 사이의 정규화된 값에 매핑할 수 있다. 일부 실시예에서, 시스템은 양자화에 사용된 매핑을 사용하도록 구성될 수 있다. 예를 들어, 시스템은 프로세스(300)에서 사용된 양자화 함수의 역을 사용할 수 있다.
시스템은 제2 비트 심도의 픽셀을 갖는 역양자화된 이미지를 획득하기 위해 획득된 이미지(402)의 비트 심도를 제1 비트 심도보다 큰 제2 비트 심도로 증가시킨다(406). 일부 실시예에서, 시스템은 제2 비트 심도의 픽셀 강도를 획득하기 위해 (예를 들어, 이미지를 양자화는 동안 사용된) 비선형 변환의 역을 사용함으로써 이미지의 비트 심도를 증가시키도록 구성될 수 있다. 예를 들어, 시스템은 제2 비트 심도의 픽셀 강도를 획득하기 위해 대수(예를 들어, 도 9에 도시됨) 또는 지수 함수(예를 들어, 도 10에 도시됨)의 역에 대한 입력 값으로서 획득된 출력 값(404)을 사용할 수 있다.
일부 실시예에서, 시스템은 새로운 이미지를 생성하기 위해 (예를 들어, 역 비선형 변환을 사용하여 획득된) 제2 비트 심도의 픽셀 강도를 사용하도록 구성될 수 있다. 따라서, 새로운 이미지는 제2 비트 심도의 픽셀을 가질 것이다. 일부 실시예에서, 시스템은 제1 비트 심도의 픽셀 강도를 제2 비트 심도의 픽셀 강도로 교체함으로써 획득된 이미지(402)를 수정하도록 구성될 수 있다.
일부 실시예에서, 시스템은 디바이스(예를 들어, 스마트폰)에 대한 출력으로서 역양자화된 이미지를 제공하도록 구성될 수 있다. 예를 들어, 역양자화된 이미지는 프로세스(200)에서 입력으로서 제공된 이미지의 향상된(예를 들어, 노이즈 제거된) 버전일 수 있다. 시스템은 디바이스에 표시하기 위해, 저장을 위해, 또는 다른 기능을 위해 출력으로서 향상된 이미지를 제공할 수 있다.
이미지 향상 프로세스
도 5는 본 발명의 일부 실시예에 따라 이미지를 향상시키기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 프로세스(500)는 임의의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(500)는 도 1을 참조하여 본 명세서에 설명된 이미지 전처리 시스템(102) 및/또는 이미지 처리 시스템(106)에 의해 수행될 수 있다. 다른 예에서, 프로세스(500)는 '217 공보(부록 A)의 도 1a 및 도 1b의 이미지 향상 시스템(111)과 같은 시스템에 의해 수행될 수 있다.
프로세스(500)는 시스템이 향상될 입력 이미지를 획득하는 단계(502)를 포함한다. 일부 실시예에서, 시스템은 이미지의 노이즈를 제거하기 위한 입력을 획득하도록 구성될 수 있다. 예를 들어, 입력 이미지는 저조도 조건에서 촬영되어 이미지의 신호대 잡음 비(signal-to-noise ratio; SNR)가 낮을 수 있다. 시스템은 더 높은 품질의 이미지를 생성하기 위해 이미지의 노이즈를 제거하기 위한 입력으로서 이미지를 수신할 수 있다. 일부 실시예에서, 시스템은 이미지 캡처 디바이스(예를 들어, 카메라)로부터 입력 이미지를 수신하도록 구성될 수 있다.
시스템은 변환된 입력 이미지를 획득하기 위해 입력 이미지의 픽셀 강도에 비선형 변환을 적용한다(504). 일부 실시예에서, 시스템은 이미지를 양자화하지 않고 비선형 변환을 적용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 이미지를 양자화하는 것에 더하여 비선형 변환을 적용하도록 구성될 수 있다(예를 들어, 도 4를 참조하여 본 명세서에 설명됨). 일부 실시예에서, 시스템은 대응하는 출력을 획득하기 위해 픽셀 강도를 비선형 함수에 입력함으로써 입력 이미지의 픽셀 강도에 비선형 변환을 적용하도록 구성될 수 있다. 예를 들어, 시스템은 (예를 들어, 도 9의 플롯(902)에 도시된 바와 같이) 대수 함수에 픽셀 강도를 입력할 수 있다. 다른 예에서, 시스템은 (예를 들어, 도 10의 플롯(1002)에 도시된 바와 같이) 지수 함수에 픽셀 강도를 입력할 수 있다. 당업자는 다양한 비선형 변환 중 임의의 것이 특정 애플리케이션에 적절하게 본 발명의 실시예에 따라 사용될 수 있음을 인식할 것이다.
일부 실시예에서, 시스템은 변환된 이미지를 생성하기 위해 비선형 변환의 적용으로부터 획득된 출력을 사용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 새로운 이미지를 생성하고 새로운 이미지의 픽셀 강도를 비선형 변환의 적용으로부터 획득된 값으로 설정하도록 구성될 수 있다. 예를 들어, 시스템은 입력 이미지의 각 픽셀 강도를 비선형 함수에 대한 입력 값으로 제공하여 획득된 출력을 변환된 이미지의 각 픽셀의 픽셀 강도로 사용할 수 있다. 일부 실시예에서, 시스템은 입력 이미지의 픽셀 강도를 비선형 변환의 적용으로부터 획득된 값으로 수정하도록 구성될 수 있다.
시스템은 훈련된 기계 학습 모델에 제공될 입력을 생성한다(506). 일부 실시예에서, 훈련된 기계 학습 모델은 도 1a 및 도 1b를 참조하여 설명된 기계 학습 시스템(112)과 같은 시스템에 통합될 수 있다. 일부 실시예에서, 시스템은 도 8을 참조하여 설명된 바와 같이 훈련된 기계 학습 모델에 대한 입력으로서 이미지를 제공(804)하도록 구성될 수 있다.
일부 실시예에서, 시스템은 변환된 입력 이미지를 입력으로 사용함으로써, 훈련된 기계 학습 모델에 제공될 입력을 생성하도록 구성될 수 있다. 예를 들어, 변환된 이미지의 픽셀 강도는 훈련된 기계 학습 모델에 대한 입력으로 사용될 수 있다. 일부 실시예에서, 훈련된 기계 학습 모델은 신경망일 수 있다. 시스템은 변환된 이미지의 픽셀 강도를 신경망에 대한 입력으로 사용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 픽셀 강도 값을 신경망에 대한 입력으로 제공하기 위해 픽셀 강도 값을 전처리하도록 구성될 수 있다. 예를 들어, 시스템은 픽셀 강도를 (예를 들어, 0과 1 사이가 되도록) 정규화할 수 있다. 다른 예에서, 시스템은 이미지의 픽셀 강도를 픽셀 강도의 단일 벡터로 평탄화할 수 있다.
일부 실시예에서, 훈련된 기계 학습 모델은 이미지의 노이즈를 제거하도록 훈련될 수 있다. 예를 들어, 훈련된 기계 학습 모델은 더 높은 품질의 이미지를 생성하기 위해 저조도 조건에서 촬영된 이미지의 품질을 개선하도록 훈련될 수 있다. 일부 실시예에서, 훈련된 기계 학습 모델은 '217 공보(부록 A)의 도 2a를 참조하여 설명된 프로세스(200), '217 공보(부록 A)의 도 2b를 참조하여 설명된 프로세스(210), '217 공보(부록 A)의 도 2c를 참조하여 설명된 프로세스(230), '217 공보(부록 A)의 도 3a를 참조하여 설명된 프로세스(300), '217 공보(부록 A)의 도 4를 참조하여 설명된 프로세스(400), '217 공보(부록 A)의 도 5를 참조하여 설명된 프로세스(500), 및/또는 '217 공보(부록 A)의 도 7을 참조하여 설명된 프로세스(700)를 수행하여 획득되었을 수 있다.
다음으로, 프로세스(500)는 시스템이 향상된 출력 이미지를 획득하기 위해 훈련된 기계 학습 모델에 생성된 입력을 제공하는 블록(508)으로 진행한다. 일부 실시예에서, 시스템은 '217 공보(부록 A)의 도 8의 블록(806)에 설명된 바와 같이 이미지를 제공한다. 일부 실시예에서, 시스템은, 입력 제공에 응답하여, 향상된 출력 이미지를 수신하도록 구성될 수 있다. 예를 들어, 시스템은, 입력 제공에 응답하여, 기계 학습 모델로부터 노이즈가 제거된 이미지를 수신할 수 있다. 일부 실시예에서, 시스템은 역양자화될 향상된 이미지를 획득하도록 구성될 수 있다. 시스템은 도 2 및 도 4를 참조하여 위에서 설명된 바와 같이 이미지를 역양자화할 수 있다.
일부 실시예에서, 시스템은 향상된 이미지를 출력하도록 구성될 수 있다. 예를 들어, 시스템은 향상된 이미지를 디바이스에 표시하고, 이미지를 저장하고, 및/또는 기계 학습 모델을 훈련시키기 위해 이미지를 사용할 수 있다.
도 11은 이미지에 비선형 변환의 적용으로부터 픽셀 강도에 걸친 노이즈 표준 편차 변동의 감소를 나타내는 플롯을 도시한다. 도 11에 도시된 바와 같이, 플롯(1102)은 선형 영역(즉, 비선형 변환을 적용하지 않음)에서 노이즈 표준 편차 대 픽셀 강도를 도시한다. 플롯(1103)은 (예를 들어, 도 5를 참조하여 블록(504)에서 설명된 바와 같이) 변환된 이미지를 획득하기 위해 이미지의 픽셀 강도에 적용될 수 있는 비선형 변환을 도시한다. 도 11에 도시된 바와 같이, 비선형 변환은 픽셀 강도를 입력 값으로 취하고 0과 1 사이의 값을 출력하는 비선형 지수 함수를 포함한다. 플롯(1104)은 (예를 들어, 도 5를 참조하여 본 명세서에 논의된 프로세스(500)의 블록(504)에서 설명된 바와 같이) 이미지의 픽셀 강도에 플롯(1103)의 비선형 변환을 적용한 이후의 노이즈 표준 편차 대 픽셀 강도를 도시한다. 플롯(1104)에 도시된 바와 같이, 변환된 픽셀 강도의 노이즈 표준 편차는 변환된 입력 이미지의 픽셀 강도와 관련하여 덜 변한다. 노이즈 표준 편차 대 이미지의 픽셀 강도의 변동이 낮아지면 이미지 향상(예를 들어, 노이즈 제거)을 위한 기계 학습 모델에 필요한 복잡성이 낮아진다. 예를 들어, 더 적은 수의 계층 및 가중치를 갖는 신경망이 향상에 사용될 수 있다. 기계 학습 모델의 복잡성이 낮아지면 컴퓨팅 디바이스(예를 들어, 프로세서)가 이미지를 보다 효율적으로 향상시킬 수 있다(예를 들어, 더 적은 계산, 더 적은 메모리, 및/또는 더 낮은 전력 소비 사용).
이미지 향상을 위한 기계 학습 모델 훈련 프로세스
도 6은 일부 실시예에 따라 기계 학습 모델을 훈련시키기 위한 예시적인 시스템의 블록도를 도시한다. 도 6에 도시된 바와 같이, 이미지 전처리 시스템(602)은 훈련 이미지(606)를 획득하고 훈련 이미지를 비선형 변환한다. 그런 다음, 변환된 훈련 이미지는 훈련된 기계 학습 모델(610)을 획득하기 위해 기계 학습 모델(604)을 훈련시키는 훈련 단계(608) 동안 사용된다. 일부 실시예에서, 이미지 전처리 시스템은 도 1 내지 도 3을 참조하여 본 명세서에 설명된 바와 같이 훈련 이미지를 비선형 변환하도록 구성될 수 있다. 일부 실시예에서, 시스템(602)은 훈련 이미지에 비선형 변환을 적용하고 훈련 이미지를 양자화하도록 구성될 수 있다(예를 들어, 도 1 내지 도 3을 참조하여 설명된 바와 같이 비트 심도를 감소시키기 위해). 일부 실시예에서, 시스템(602)은 훈련 이미지의 비트 심도가 수정되지 않도록 (예를 들어, 도 4를 참조하여 설명된 바와 같이) 훈련 이미지를 양자화하지 않고 훈련 이미지에 비선형 변환을 적용하도록 구성될 수 있다.
일부 실시예에서, 기계 학습 모델(604)(예를 들어, 신경망)의 파라미터(604A)는 학습된 파라미터(610A)(예를 들어, 신경망의 가중치 값)를 갖는 훈련된 기계 학습 모델(610)을 획득하기 위해 훈련 단계(608)에서 훈련될 수 있다. 일부 실시예에서, 훈련된 기계 학습 모델(610)은 '217 공보(부록 A)의 도 1a의 기계 학습 시스템(112)일 수 있다. 일부 실시예에서, 훈련 단계(608)는 '217 공보(부록 A)의 도 1a의 훈련 단계(110)일 수 있다. 일부 실시예에서, 기계 학습 모델(604)은 '217 공보(부록 A)의 도 2a를 참조하여 설명된 프로세스(200), '217 공보(부록 A)의 도 2b를 참조하여 설명된 프로세스(210), '217 공보(부록 A)의 도 2c를 참조하여 설명된 프로세스(230), '217 공보(부록 A)의 도 3a를 참조하여 설명된 프로세스(300), '217 공보(부록 A)의 도 4를 참조하여 설명된 프로세스(400), '217 공보(부록 A)의 도 5를 참조하여 설명된 프로세스(500), 및/또는 '217 공보(부록 A)의 도 7을 참조하여 설명된 프로세스(700)를 수행함으로써 훈련 단계(608)에서 훈련될 수 있다.
일부 실시예에서, 이미지 양자화 시스템에 의해 생성된 양자화된 훈련 이미지는 '217 공보(부록 A)의 도 1a의 훈련 이미지(104)로 사용될 수 있다. 일부 실시예에서, 기계 학습 모델(604)은 '217 공보(부록 A)의 도 1a의 기계 학습 시스템(102)으로 사용될 수 있다. '217 공보(부록 A)의 도 1a에 도시된 바와 같이, 이미지 향상 시스템(111)은 기계 학습 시스템(112)(예를 들어, 이미지 전처리 시스템(602)에 의해 생성된 양자화된 이미지를 사용하여 훈련됨)을 사용하여 이미지 캡처 디바이스(114A-B)로부터의 이미지를 향상시켜 향상된 이미지(들)(118)를 생성할 수 있다.
도 7은 본 발명의 일부 실시예에 따라 이미지 향상을 위해 기계 학습 모델을 훈련시키기 위한 예시적인 프로세스(700)의 흐름도를 도시한다. 프로세스(700)는 임의의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(700)는 도 6을 참조하여 본 명세서에 설명된 이미지 전처리 시스템(602)에 의해 수행될 수 있다. 다른 예에서, 프로세스(700)는 도 1을 참조하여 본 명세서에 설명된 이미지 전처리 시스템(102) 및/또는 이미지 처리 시스템(106)에 의해 수행될 수 있다.
프로세스(700)는 시스템이 훈련 이미지를 획득하는 단계(702)를 포함한다. 일부 실시예에서, 시스템은 단일 이미지 캡처 디바이스로부터 훈련 이미지를 획득하도록 구성될 수 있다. 일부 실시예에서, 시스템은 다수의 이미지 캡처 디바이스로부터 훈련 이미지를 획득하도록 구성될 수 있다. 일부 실시예에서, 훈련 이미지는 '217 공보(부록 A)에 설명된 바와 같이 생성될 수 있다. 일부 실시예에서, 훈련 이미지는 입력 이미지 및 대응하는 타겟 출력 이미지를 포함할 수 있다. 일부 실시예에서, 훈련 이미지는 대응하는 타겟 출력 이미지 없이 입력 이미지만을 포함할 수 있다.
다음으로, 프로세스(700)는 시스템이 변환된 훈련 이미지를 획득하기 위해 이미지에 비선형 변환을 수행하는 블록(704)으로 진행한다. 일부 실시예에서, 시스템은 제2 비트 심도의 픽셀을 갖는 양자화된 훈련 이미지를 획득하기 위해 비선형 변환과 함께 이미지를 양자화하도록 구성될 수 있으며, 여기서 제2 비트 심도는 제1 비트 심도보다 작다. 일부 실시예에서, 시스템은 도 1 내지 도 4를 참조하여 본 명세서에 설명된 바와 같이 비선형 양자화를 적용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 제1 비트 심도의 이미지를 처리할 수 없을 수 있는 이미지 처리 시스템(예를 들어, NPU 또는 DSP)에 의해 실행될 기계 학습 모델을 훈련시키기 위해 훈련 이미지를 양자화하도록 구성될 수 있다. 예를 들어, 제1 비트 심도는 10비트일 수 있고 기계 학습 모델을 실행할 신경망 프로세서는 8비트의 정밀도를 가질 수 있다.
시스템은 변환된 훈련 이미지를 사용하여 기계 학습 모델을 훈련시킨다(706). 일부 실시예에서, 시스템은 '217 공보(부록 A)에 설명된 것과 같은 훈련 기술을 사용하여 기계 학습 모델을 훈련시키도록 구성될 수 있다. 예를 들어, 시스템은 '217 공보(부록 A)의 도 2a를 참조하여 설명된 프로세스(200)를 수행함으로써, '217 공보(부록 A)의 도 2b를 참조하여 설명된 프로세스(210)를 수행함으로써, '217 공보(부록 A)의 도 2c를 참조하여 설명된 프로세스(230)를 수행함으로써, '217 공보(부록 A)의 도 3a를 참조하여 설명된 프로세스(300)를 수행함으로써, '217 공보(부록 A)의 도 4를 참조하여 설명된 프로세스(400)를 수행함으로써, '217 공보(부록 A)의 도 5를 참조하여 설명된 프로세스(500)를 수행함으로써, 및/또는 '217 공보(부록 A)의 도 7을 참조하여 설명된 프로세스(700)를 수행함으로써, '217 공보(부록 A)의 도 1a 및 도 1b를 참조하여 설명된 바와 같이 기계 학습 모델을 훈련시킬 수 있다.
시스템은 이미지 향상을 위해 훈련된 기계 학습 모델을 사용한다(708). 일부 실시예에서, 시스템은 이미지의 노이즈를 제거하기 위해 훈련된 기계 학습 모델을 사용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 도 5를 참조하여 위에서 더 설명된 바와 같이 이미지를 향상시키기 위해 훈련된 기계 학습 모델을 사용하도록 구성될 수 있다. 일부 실시예에서, 시스템은 '217 공보(부록 A)의 도 1a 및 도 1b 및/또는 '217 공보(부록 A)의 도 8을 참조하여 설명된 바와 같이 향상을 위해 훈련된 기계 학습 모델을 사용하도록 구성될 수 있다.
특정 프로세스가 도 1 내지 도 7과 관련하여 위에서 설명되었지만, 당업자는 다양한 프로세스 중 임의의 것이 본 발명의 실시예에 따라 사용될 수 있음을 인식할 것이다.
예시적인 비선형 변환
상이한 비선형 변환 또는 변환들이 본 발명의 실시예에 따라 사용될 수 있다. 도 8은 선형 양자화의 예를 나타내는 플롯 세트를 도시한다. 도 8에 도시된 바와 같이, 플롯(802)은 10비트 픽셀 강도가 0과 1 사이의 정규화된 값을 출력하는 함수에 입력되는 선형 함수를 나타낸다. 플롯(804)은 0과 1 사이의 값으로 정규화된 픽셀 강도의 대응하는 5비트 픽셀 강도로의 선형 양자화를 나타낸다. 플롯(806)은 10비트 픽셀 강도가 5비트 픽셀 강도에 어떻게 매핑될 수 있는지를 도시하는 플롯(802 및 804)의 함수 조합을 나타낸다. 플롯(806)에 도시된 바와 같이, 10비트 픽셀 강도는 5비트 픽셀 강도에 걸쳐 균일하게 분포된다.
도 9는 본 발명의 일부 실시예에 따라 대수 함수를 사용하여 비선형 양자화를 나타내는 일련의 플롯을 도시한다. 플롯(902)은 입력 값으로 10비트 픽셀 강도를 수신하고 0과1 사이의 대응하는 값을 출력하는 비선형 대수 함수를 나타낸다. 플롯(904)은 0과 1 사이의 값으로 정규화된 픽셀 강도의 대응하는 5비트 픽셀 강도로의 선형 양자화를 나타낸다. 플롯(906)은 플롯(902)의 비선형 매핑을 플롯(904)의 선형 양자화와 결합한 결과로 생긴 10비트 픽셀 강도에서 5비트 픽셀 강도로의 비선형 양자화를 나타낸다. 도 8의 플롯(806)과 대조적으로, 플롯(906)은 10비트 픽셀 강도와 5비트 픽셀 강도 사이의 비선형 매핑을 도시한다. 플롯(906)에 도시된 바와 같이, 비선형 양자화는 높은 픽셀 강도보다 낮은 픽셀 강도에 대해 더 많은 구별을 유지한다. 플롯(908)은 양자화된 10비트 픽셀 강도가 10비트 값 사이에 어떻게 분포되는지를 나타낸다. 플롯(908)에 도시된 바와 같이, 양자화된 10비트 픽셀 강도와 10비트 값 사이의 관계는 더 선형적이고, 더 낮은 픽셀 강도 사이의 구별을 유지하기 위해 더 낮은 픽셀 강도에 대해 더 세분성을 갖는다.
도 10은 일부 실시예에 따라 지수 함수를 사용하여 비선형 양자화를 나타내는 일련의 플롯을 도시한다. 플롯(1002)은 입력 값으로 10비트 픽셀 강도를 수신하고 대수 함수를 사용하여 0과1 사이의 대응하는 값을 출력하는 비선형 지수 함수를 나타낸다. 플롯(1004)은 0과 1 사이의 값으로 정규화된 픽셀 강도의 대응하는 5비트 픽셀 강도로의 선형 양자화를 나타낸다. 플롯(1006)은 플롯(1002)의 비선형 함수를 플롯(1004)의 선형 양자화와 결합한 결과로 생긴 10비트 픽셀 강도에서 5비트 픽셀 강도로의 비선형 양자화를 나타낸다. 도 8의 플롯(806)과 대조적으로, 플롯(1006)은 10비트 픽셀 강도와 5비트 픽셀 강도 사이의 비선형 매핑을 도시한다. 플롯(1006)에 도시된 바와 같이, 비선형 양자화는 높은 픽셀 강도보다 낮은 픽셀 강도에 대해 더 많은 구별을 유지한다. 플롯(1008)은 양자화된 10비트 픽셀 강도가 10비트 값 사이에 어떻게 분포되는지를 나타낸다. 플롯(1008)에 도시된 바와 같이, 양자화된 10비트 픽셀 강도와 10비트 값 사이의 관계는 더 낮은 픽셀 강도 사이의 구별을 유지하기 위해 더 낮은 픽셀 강도에 대해 더 선형적이다.
컴퓨팅 시스템
시스템(100, 102, 104, 및/또는 106)은 프로세서, 휘발성 및/또는 비휘발성 메모리, 및/또는 기타 구성 요소를 포함할 수 있는 하드웨어를 사용하여 하나 이상의 컴퓨팅 시스템 또는 분산 컴퓨터 시스템에서 구현될 수 있다. 도 12는 본 발명의 실시예의 다양한 양태가 구현될 수 있는 특별히 구성된 분산 컴퓨터 시스템(1200)의 블록도를 도시한다. 도시된 바와 같이, 분산 컴퓨터 시스템(1200)은 정보를 교환하는 하나 이상의 컴퓨터 시스템을 포함한다. 보다 구체적으로, 분산 컴퓨터 시스템(1200)은 컴퓨터 시스템(1202, 1204, 및 1206)을 포함한다. 도시된 바와 같이, 컴퓨터 시스템(1202, 1204, 및 1206)은 통신 네트워크(1208)에 의해 상호 연결되고 이를 통해 데이터를 교환할 수 있다. 네트워크(1208)는 컴퓨터 시스템이 데이터를 교환할 수 있는 임의의 통신 네트워크를 포함할 수 있다. 네트워크(1208)를 사용하여 데이터를 교환하기 위해, 컴퓨터 시스템(1202, 1204, 및 1206)과 네트워크(1208)는 특히 파이버 채널, 토큰 링, 이더넷, 무선 이더넷, 블루투스, IP, IPV6, TCP/IP, UDP, DTN, HTTP, FTP, SNMP, SMS, MMS, SS6, JSON, SOAP, CORBA, REST, 및 웹 서비스를 포함하는 다양한 방법, 프로토콜, 및 표준을 사용할 수 있다. 데이터 전송이 안전한 것을 보장하기 위해, 컴퓨터 시스템(1202, 1204, 및 1206)은 예를 들어 SSL 또는 VPN 기술을 포함하는 다양한 보안 조치를 사용하여 네트워크(1208)를 통해 데이터를 전송할 수 있다. 분산 컴퓨터 시스템(1200)이 3개의 네트워크화된 컴퓨터 시스템을 나타내지만, 분산 컴퓨터 시스템(1200)은 이에 제한되지 않고 임의의 매체 및 통신 프로토콜을 사용하여 네트워크화된 임의의 수의 컴퓨터 시스템 및 컴퓨팅 디바이스를 포함할 수 있다.
도 12에 도시된 바와 같이, 컴퓨터 시스템(1202)은 프로세서(1210), 메모리(1212), 상호 연결 요소(1214), 인터페이스(1216), 및 데이터 저장 요소(1218)를 포함한다. 본 명세서에 개시된 양태, 기능, 및 프로세스 중 적어도 일부를 구현하기 위해, 프로세서(1210)는 조작된 데이터를 초래하는 일련의 명령어를 수행한다. 프로세서(1210)는 임의의 유형의 프로세서, 멀티프로세서 또는 컨트롤러일 수 있다. 예시적인 프로세서는 상업적으로 이용 가능한 프로세서, 예컨대, Intel Xeon, Itanium, Core, Celeron, 또는 Pentium 프로세서; AMD Opteron 프로세서; Apple A10 또는 A5 프로세서; Sun UltraSPARC 프로세서; IBM Power5+ 프로세서; IBM 메인프레임 칩; 또는 양자 컴퓨터를 포함할 수 있다. 프로세서(1210)는 상호 연결 요소(1214)에 의해 하나 이상의 메모리 디바이스(1212)를 비롯한 다른 시스템 구성 요소에 연결된다.
메모리(1212)는 컴퓨터 시스템(1202)의 작동 동안 프로그램(예를 들어, 프로세서(1210)에 의해 실행 가능하도록 코딩된 명령어 시퀀스) 및 데이터를 저장한다. 따라서, 메모리(1212)는 동적 랜덤 액세스 메모리("DRAM") 또는 정적 메모리("SRAM")와 같은 비교적 고성능의 휘발성 랜덤 액세스 메모리일 수 있다. 그러나, 메모리(1212)는 디스크 드라이브 또는 다른 비휘발성 저장 디바이스와 같은 데이터를 저장하기 위한 임의의 디바이스를 포함할 수 있다. 다양한 예는 본 명세서에 개시된 기능을 수행하기 위해 메모리(1212)를 특정화된 구조로, 일부 경우에는 고유한 구조로 구성할 수 있다. 이러한 데이터 구조는 특정 데이터 및 데이터 유형에 대한 값을 저장하도록 크기 조정되고 구성될 수 있다.
컴퓨터 시스템(1202)의 구성 요소는 상호 연결 메커니즘(1214)과 같은 상호 연결 요소에 의해 결합된다. 상호 연결 요소(1214)는 IDE, SCSI, PCI 및 InfiniBand와 같은 특수 또는 표준 컴퓨팅 버스 기술에 따른 하나 이상의 물리적 버스와 같은 시스템 구성 요소 사이의 임의의 통신 결합을 포함할 수 있다. 상호 연결 요소(1214)는 명령어 및 데이터를 포함하는 통신이 컴퓨터 시스템(1202)의 시스템 구성 요소 간에 교환될 수 있게 한다.
컴퓨터 시스템(1202)은 또한 입력 디바이스, 출력 디바이스, 및 입출력 디바이스의 조합과 같은 하나 이상의 인터페이스 디바이스(1216)를 포함한다. 인터페이스 디바이스는 입력을 수신하거나 출력을 제공할 수 있다. 보다 구체적으로, 출력 디바이스는 외부 프리젠테이션을 위해 정보를 렌더링할 수 있다. 입력 디바이스는 외부 소스로부터 정보를 받아들일 수 있다. 인터페이스 디바이스의 예는 키보드, 마우스 디바이스, 트랙볼, 마이크, 터치 스크린, 인쇄 디바이스, 디스플레이 화면, 스피커, 네트워크 인터페이스 카드 등을 포함한다. 인터페이스 디바이스는 컴퓨터 시스템(1202)이 정보를 교환하고 사용자 및 기타 시스템과 같은 외부 엔티티와 통신할 수 있게 한다.
데이터 저장 요소(1218)는 프로세서(1210)에 의해 실행되는 프로그램 또는 다른 객체를 정의하는 명령어가 저장되는 컴퓨터 판독 가능 및 기록 가능 비휘발성 또는 비일시적 데이터 저장 매체를 포함한다. 데이터 저장 요소(1218)는 또한 매체에 기록되고 프로그램 실행 동안 프로세서(1210)에 의해 처리되는 정보를 포함할 수 있다. 보다 구체적으로, 정보는 저장 공간을 절약하거나 데이터 교환 성능을 증가시키도록 특별히 구성된 하나 이상의 데이터 구조에 저장될 수 있다. 명령어는 인코딩된 신호로서 지속적으로 저장될 수 있고, 명령어는 프로세서(1210)가 본 명세서에 설명된 임의의 기능을 수행하게 할 수 있다. 예를 들어, 매체는 특히 광 디스크, 자기 디스크, 또는 플래시 메모리일 수 있다. 동작 중에, 프로세서(1210) 또는 일부 다른 컨트롤러는 데이터가 비휘발성 기록 매체로부터 메모리(1212)와 같은 다른 메모리로 판독되게 하여, 데이터 저장 요소(1218)에 포함된 저장 매체보다 프로세서(1210)에 의해 정보에 더 빨리 액세스할 수 있게 한다. 메모리는 데이터 저장 요소(1218) 또는 메모리(1212)에 위치할 수 있지만, 프로세서(1210)는 메모리 내의 데이터를 조작하고 처리가 완료된 후 데이터 저장 요소(1218)와 연관된 저장 매체에 데이터를 복사한다. 다양한 구성 요소가 저장 매체와 다른 메모리 요소 사이의 데이터 이동을 관리할 수 있으며, 예는 특정 데이터 관리 구성 요소로 제한되지 않는다. 또한, 예는 특정 메모리 시스템 또는 데이터 저장 시스템으로 제한되지 않는다.
컴퓨터 시스템(1202)이 다양한 양태 및 기능이 실시될 수 있는 한 유형의 컴퓨터 시스템으로 예로서 도시되어 있지만, 양태 및 기능은 도 12에 도시된 바와 같이 컴퓨터 시스템(1202) 상에 구현되는 것으로 제한되지 않는다. 다양한 양태 및 기능은 도 12에 도시된 것과 상이한 아키텍처 또는 구성 요소를 갖는 하나 이상의 컴퓨터에서 실시될 수 있다. 예를 들어, 컴퓨터 시스템(1202)은 본 명세서에 설명된 특정 동작을 수행하도록 맞춰진 주문형 집적 회로("ASIC")와 같은 특별히 프로그래밍된 특수 목적 하드웨어를 포함할 수 있다. 또 다른 예는 Motorola PowerPC 프로세서와 함께 MAC OS System X를 실행하는 여러 범용 컴퓨팅 디바이스와 독점 하드웨어 및 운영 체제를 실행하는 여러 특수 컴퓨팅 디바이스의 그리드를 사용하여 동일한 기능을 수행할 수 있다.
컴퓨터 시스템(1202)은 컴퓨터 시스템(1202)에 포함된 하드웨어 요소 중 적어도 일부를 관리하는 운영 체제를 포함하는 컴퓨터 시스템일 수 있다. 일부 예에서, 프로세서(1210)와 같은 프로세서 또는 컨트롤러는 운영 체제를 실행한다. 실행될 수 있는 특정 운영 체제의 예는 Microsoft Corporation으로부터 입수 가능한 Windows NT, Windows 2000(Windows ME), Windows XP, Windows Vista 또는 Windows 6, 8 또는 10 운영 체제와 같은 Windows 기반 운영 체제, Apple Computer로부터 입수 가능한 MAC OS System X 운영 체제 또는 iOS 운영 체제, 많은 Linux 기반 운영 체제 배포판 중 하나, 예를 들어, Red Hat Inc.로부터 입수 가능한 Enterprise Linux 운영 체제, Oracle Corporation로부터 입수 가능한 Solaris 운영 체제, 또는 다양한 소스로부터 입수 가능한 UNIX 운영 체제를 포함한다. 많은 다른 운영 체제가 사용될 수 있으며, 예는 특정 운영 체제로 제한되지 않는다.
프로세서(1210) 및 운영 체제는 함께 고급 프로그래밍 언어로 된 애플리케이션 프로그램이 작성되는 컴퓨터 플랫폼을 정의한다. 이러한 구성 요소 애플리케이션은 예를 들어 TCP/IP와 같은 통신 프로토콜을 사용하여 예를 들어 인터넷과 같은 통신 네트워크를 통해 통신하는 실행 가능, 중간, 바이트 코드 또는 해석된 코드일 수 있다. 유사하게, 양태는 .Net, Java, C++, Ada, C#(C-Sharp), Python, 또는 JavaScript와 같은 객체 지향 프로그래밍 언어를 사용하여 구현될 수 있다. 다른 객체 지향 프로그래밍 언어가 또한 사용될 수 있다. 대안적으로, 기능적, 스크립팅, 또는 논리적 프로그래밍 언어가 사용될 수 있다.
부가적으로, 다양한 양태 및 기능이 프로그래밍되지 않은 환경에서 구현될 수 있다. 예를 들어, HTML, XML 또는 기타 포맷으로 작성된 문서는 브라우저 프로그램의 창에서 볼 때 그래픽 사용자 인터페이스의 양태를 렌더링하거나 다른 기능을 수행할 수 있다. 또한, 다양한 예가 프로그래밍된 요소 또는 프로그래밍되지 않은 요소 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 웹 페이지는 HTML을 사용하여 구현될 수 있지만, 웹 페이지 내에서 호출되는 데이터 객체는 C++로 작성될 수 있다. 따라서, 예는 특정 프로그래밍 언어로 제한되지 않으며 임의의 적절한 프로그래밍 언어가 사용될 수 있다. 따라서, 본 명세서에 개시된 기능적 구성 요소는 본 명세서에 설명된 기능을 수행하도록 구성된 다양한 요소(예를 들어, 특수 하드웨어, 실행 가능 코드, 데이터 구조, 또는 객체)를 포함할 수 있다.
일부 예에서, 본 명세서에 개시된 구성 요소는 구성 요소에 의해 수행되는 기능에 영향을 미치는 파라미터를 판독할 수 있다. 이러한 파라미터는 휘발성 메모리(예컨대, RAM) 또는 비휘발성 메모리(예컨대, 자기 하드 드라이브)를 포함한 임의의 형태의 적절한 메모리에 물리적으로 저장될 수 있다. 또한, 파라미터는 적절한 데이터 구조(예컨대, 사용자 공간 애플리케이션에 의해 정의된 데이터베이스 또는 파일) 또는 일반적으로 공유되는 데이터 구조(예컨대, 운영 체제에 의해 정의된 애플리케이션 레지스트리)에 논리적으로 저장될 수 있다. 또한, 일부 예는 외부 엔티티가 파라미터를 수정하여 구성 요소의 행동을 구성할 수 있도록 하는 시스템 및 사용자 인터페이스를 모두 제공한다.
전술한 개시에 기초하여, 본 명세서에 개시된 실시예는 특정 컴퓨터 시스템 플랫폼, 프로세서, 운영 체제, 네트워크, 또는 통신 프로토콜로 제한되지 않는다는 것이 당업자에게 명백해야 한다. 또한, 본 명세서에 개시된 실시예는 특정 아키텍처로 제한되지 않는다는 것이 명백해야 한다.
본 명세서에 설명된 방법 및 장치의 실시예는 이하의 설명에 제시되거나 첨부된 도면에 도시된 구성 요소의 구성 및 배열의 세부 사항에 대한 적용에 제한되지 않음을 이해해야 한다. 방법 및 장치는 다른 실시예에서 구현될 수 있고 다양한 방식으로 실시되거나 수행될 수 있다. 특정 구현의 예는 예시적인 목적으로만 본 명세서에 제공되며 제한하도록 의도되지 않는다. 특히, 임의의 하나 이상의 실시예와 관련하여 설명된 행동, 요소, 및 특징은 임의의 다른 실시예에서 유사한 역할로부터 배제되도록 의도되지 않는다.
용어 "대략", "실질적으로" 및 "약"은 일부 실시예에서 목표 값의 ±20% 이내, 일부 실시예에서 목표 값의 ±10% 이내, 일부 실시예에서 목표 값의 ±5% 이내, 및 여전히 일부 실시예에서 목표 값의 ±2% 이내를 의미하는 데 사용될 수 있다. 용어 "대략" 및 "약"은 목표 값을 포함할 수 있다.
본 발명의 적어도 하나의 실시예의 여러 양태를 설명하였지만, 다양한 변경, 수정 및 개선이 당업자에게 용이하게 일어날 수 있다는 것이 이해되어야 한다. 이러한 변경, 수정 및 개선은 본 개시의 일부로 의도되고 본 발명의 사상 및 범위 내에 있도록 의도된다. 따라서, 전술한 설명 및 도면은 예시를 위한 것일 뿐이다.
[부록 A]
미국 특허 공개 번호 제2020/0051217호(출원 번호 제16/634,424호)
Claims (29)
- 이미지를 처리하는 컴퓨터 구현 방법에 있어서,
적어도 하나의 프로세서를 사용하여:
제1 비트 심도의 픽셀 강도 값을 갖는 픽셀을 포함하는 입력 이미지를 획득하는 단계;
제2 비트 심도의 픽셀 강도 값을 포함하는 양자화된 입력 이미지를 생성하기 위해 상기 입력 이미지의 픽셀 강도 값에 제1 비선형 변환을 적용함으로써 상기 입력 이미지를 적어도 부분적으로 양자화하는 단계 - 상기 제2 비트 심도는 상기 제1 비트 심도보다 작음 - ; 및
이미지 처리를 위해 상기 양자화된 입력 이미지를 제공하는 단계
를 수행하는 것을 포함하는 이미지를 처리하는 컴퓨터 구현 방법. - 제1항에 있어서, 상기 입력 이미지를 양자화하는 단계는:
상기 입력 이미지의 픽셀 강도 값에 상기 제1 비선형 변환을 적용하여 변환된 입력 이미지를 획득하는 단계; 및
상기 양자화된 입력 이미지를 획득하기 위해 상기 변환된 입력 이미지의 픽셀 강도 값에 전사 매핑을 적용하는 단계 - 상기 전사 매핑은 상기 제1 비트 심도의 픽셀 강도 값을 상기 제2 비트 심도의 픽셀 강도 값에 매핑함 -
를 포함하는 것인, 컴퓨터 구현 방법. - 제2항에 있어서,
상기 제2 비트 심도는 제1 픽셀 강도 및 제2 픽셀 강도를 포함하고, 상기 제1 픽셀 강도는 상기 제2 픽셀 강도보다 작으며;
상기 입력 이미지를 양자화하는 단계는 상기 제2 픽셀 강도보다 상기 제1 픽셀 강도에 상기 제1 비트 심도의 더 적은 수의 픽셀 강도를 매핑하는 단계를 포함하는 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
이미지 처리 파이프라인으로부터, 상기 제2 비트 심도의 픽셀 강도 값을 포함하는 출력 이미지를 획득하는 단계; 및
상기 제1 비트 심도의 픽셀 강도 값을 포함하는 역양자화된 출력 이미지를 생성하기 위해 상기 출력 이미지의 픽셀 강도 값에 제2 비선형 변환을 적용함으로써 상기 출력 이미지를 적어도 부분적으로 역양자화하는 단계
를 더 포함하는 컴퓨터 구현 방법. - 제4항에 있어서, 상기 제2 비선형 변환은 상기 제1 비선형 변환의 역을 포함하는 것인, 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 이미지 처리 파이프라인에 상기 양자화된 입력 이미지를 제공하는 단계는 신경망 프로세서에 상기 양자화된 입력 이미지를 제공하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 이미지 처리 파이프라인에 상기 양자화된 입력 이미지를 제공하는 단계는 디지털 신호 프로세서(digital signal processor; DSP)에 상기 양자화된 입력 이미지를 제공하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 이미지 처리 파이프라인은 상기 적어도 하나의 프로세서보다 전력이 낮은 하나 이상의 프로세서를 포함하는 것인, 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 제1 비트 심도는 10비트, 12비트, 14비트, 또는 16비트인 것인, 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 제2 비트 심도는 8비트인 것인, 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 제1 비트 심도는 10비트, 12비트, 14비트, 또는 16비트이고;
상기 제2 비트 심도는 8비트인 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 이미지 처리 파이프라인은 상기 제2 비트 심도의 픽셀 강도 값을 포함하는 복수의 양자화된 이미지를 사용하여 훈련된 기계 학습 모델을 포함하고;
상기 이미지 처리 파이프라인에 상기 양자화된 입력 이미지를 제공하는 단계는 향상된 출력 이미지를 획득하기 위해 상기 기계 학습 모델에 상기 양자화된 입력 이미지를 제공하는 단계를 포함하는 것인, 컴퓨터 구현 방법. - 이미지 처리 시스템에 있어서,
이미지 처리 애플리케이션에 대한 명령어를 포함하는 비휘발성 메모리; 및
상기 이미지 처리 애플리케이션의 실행에 의해:
제1 비트 심도의 픽셀 강도 값을 갖는 픽셀을 포함하는 입력 이미지를 획득하고;
제2 비트 심도의 픽셀 강도 값을 포함하는 양자화된 입력 이미지를 생성하기 위해 상기 입력 이미지의 픽셀 강도 값에 제1 비선형 변환을 적용함으로써 상기 입력 이미지를 적어도 부분적으로 양자화하며 - 상기 제2 비트 심도는 상기 제1 비트 심도보다 작음 - ;
이미지 처리를 위해 상기 양자화된 입력 이미지를 제공하도록
지시되는 적어도 하나의 프로세서
를 포함하는 이미지 처리 시스템. - 제1항에 있어서,
상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
제1 비트 심도의 픽셀 강도 값을 갖는 픽셀을 포함하는 입력 이미지를 획득하고;
제2 비트 심도의 픽셀 강도 값을 포함하는 양자화된 입력 이미지를 생성하기 위해 상기 입력 이미지의 픽셀 강도 값에 제1 비선형 변환을 적용함으로써 상기 입력 이미지를 적어도 부분적으로 양자화하며 - 상기 제2 비트 심도는 상기 제1 비트 심도보다 작음 - ;
이미지 처리를 위해 상기 양자화된 입력 이미지를 제공하게 하는
명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체
를 더 포함하는 컴퓨터 구현 방법. - 이미지 향상을 위해 기계 학습 모델을 훈련시키는 컴퓨터 구현 방법에 있어서,
적어도 하나의 프로세서를 사용하여:
제1 비트 심도의 픽셀 강도 값을 포함하는 복수의 이미지를 획득하는 단계;
제2 비트 심도의 픽셀 강도 값을 포함하는 복수의 양자화된 이미지를 생성하기 위해 상기 복수의 이미지의 픽셀 강도 값에 비선형 변환을 적용함으로써 상기 복수의 이미지를 적어도 부분적으로 양자화하는 단계 - 상기 제2 비트 심도는 상기 제1 비트 심도보다 작음 - ; 및
상기 복수의 양자화된 이미지를 사용하여 상기 기계 학습 모델을 훈련시키는 단계
를 수행하는 것을 포함하는 이미지 향상을 위해 기계 학습 모델을 훈련시키는 컴퓨터 구현 방법. - 제15항에 있어서, 상기 복수의 이미지는 입력 이미지 및 타겟 출력 이미지를 포함하고, 상기 복수의 양자화된 이미지를 사용하여 상기 기계 학습 모델을 훈련시키는 단계는 지도 학습 알고리즘을 양자화된 입력 이미지 및 양자화된 타겟 출력 이미지에 적용하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
- 제15항에 있어서, 상기 기계 학습 모델은 신경망을 포함하는 것인, 컴퓨터 구현 방법.
- 제15항에 있어서, 상기 복수의 양자화된 이미지를 사용하여 상기 기계 학습 모델을 훈련시키는 단계는 입력 이미지의 노이즈를 제거하기 위해 상기 기계 학습 모델을 훈련시키는 단계를 포함하는 것인, 컴퓨터 구현 방법.
- 이미지를 향상시키는 컴퓨터 구현 방법에 있어서,
적어도 하나의 프로세서를 사용하여:
향상될 입력 이미지를 획득하는 단계;
변환된 입력 이미지를 획득하기 위해 상기 입력 이미지의 픽셀 강도 값에 비선형 변환을 적용하는 단계;
상기 변환된 입력 이미지를 사용하여, 훈련된 기계 학습 모델에 제공될 입력을 생성하는 단계; 및
향상된 출력 이미지를 획득하기 위해 상기 훈련된 기계 학습 모델에 상기 생성된 입력을 제공하는 단계
를 수행하는 것을 포함하는 이미지를 향상시키는 컴퓨터 구현 방법. - 제19항에 있어서,
상기 입력 이미지는 상기 입력 이미지의 픽셀 강도 값에 걸쳐 노이즈 특성의 제1 변동을 갖고;
상기 변환된 입력 이미지는 상기 입력 이미지의 픽셀 강도 값에 걸쳐 상기 노이즈 특성의 제2 변동을 가지며;
상기 제2 변동은 상기 제1 변동보다 작은 것인, 컴퓨터 구현 방법. - 제20항에 있어서, 상기 노이즈 특성은 노이즈 표준 편차인 것인, 컴퓨터 구현 방법.
- 제19항에 있어서, 상기 훈련된 기계 학습 모델은 상기 입력의 노이즈를 제거하도록 훈련되는 것인, 컴퓨터 구현 방법.
- 제19항에 있어서, 상기 훈련된 기계 학습 모델은 신경망을 포함하는 것인, 컴퓨터 구현 방법.
- 제19항에 있어서, 상기 훈련된 기계 학습 모델은 훈련 데이터에 지도 훈련 알고리즘을 적용함으로써 생성되는 것인, 컴퓨터 구현 방법.
- 제19항에 있어서,
상기 입력 이미지는 제1 비트 심도의 픽셀 강도 값을 포함하고;
상기 변환된 입력 이미지를 사용하여 상기 입력을 생성하는 단계는 제2 비트 심도의 픽셀 강도 값을 포함하는 양자화된 입력 이미지를 획득하기 위해 상기 변환된 입력 이미지를 양자화하는 단계 - 상기 제2 비트 심도는 상기 제1 비트 심도보다 작음 - 를 포함하고;
상기 훈련된 기계 학습 모델에 상기 생성된 입력을 제공하는 단계는 상기 훈련된 기계 학습 모델에 대한 입력으로서 상기 양자화된 입력 이미지를 제공하는 단계를 포함하는 것인, 컴퓨터 구현 방법. - 제25항에 있어서, 상기 변환된 입력 이미지를 양자화하는 단계는 상기 변환된 입력 이미지의 픽셀 강도 값에 전사 매핑을 적용하는 단계를 포함하며, 상기 전사 매핑은 상기 제1 비트 심도의 픽셀 강도 값을 상기 제2 비트 심도의 픽셀 강도 값에 매핑하는 것인, 컴퓨터 구현 방법.
- 제26항에 있어서,
상기 제2 비트 심도는 제1 픽셀 강도 및 제2 픽셀 강도를 포함하고, 상기 제1 픽셀 강도는 상기 제2 픽셀 강도보다 작으며;
상기 입력 이미지를 양자화하는 단계는 상기 제2 픽셀 강도보다 상기 제1 픽셀 강도에 상기 제1 비트 심도의 더 적은 수의 픽셀 강도를 매핑하는 단계를 포함하는 것인, 컴퓨터 구현 방법. - 이미지 처리 시스템에 있어서,
이미지 처리 애플리케이션에 대한 명령어를 포함하는 비휘발성 메모리; 및
상기 이미지 처리 애플리케이션의 실행에 의해:
향상될 입력 이미지를 획득하고;
변환된 입력 이미지를 획득하기 위해 상기 입력 이미지의 픽셀 강도 값에 비선형 변환을 적용하고;
상기 변환된 입력 이미지를 사용하여, 훈련된 기계 학습 모델에 제공될 입력을 생성하며;
향상된 출력 이미지를 획득하기 위해 상기 훈련된 기계 학습 모델에 상기 생성된 입력을 제공하도록
지시되는 적어도 하나의 프로세서
를 포함하는 이미지 처리 시스템. - 제19항에 있어서,
상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
향상될 입력 이미지를 획득하고;
변환된 입력 이미지를 획득하기 위해 상기 입력 이미지의 픽셀 강도 값에 비선형 변환을 적용하고;
상기 변환된 입력 이미지를 사용하여, 훈련된 기계 학습 모델에 제공될 입력을 생성하며;
향상된 출력 이미지를 획득하기 위해 상기 훈련된 기계 학습 모델에 상기 생성된 입력을 제공하게 하는
명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체
를 더 포함하는 컴퓨터 구현 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063047875P | 2020-07-02 | 2020-07-02 | |
US63/047,875 | 2020-07-02 | ||
PCT/US2021/040376 WO2022006556A1 (en) | 2020-07-02 | 2021-07-02 | Systems and methods of nonlinear image intensity transformation for denoising and low-precision image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230034302A true KR20230034302A (ko) | 2023-03-09 |
Family
ID=79166340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237001757A KR20230034302A (ko) | 2020-07-02 | 2021-07-02 | 노이즈 제거 및 저정밀 이미지 처리를 위한 비선형 이미지 강도 변환 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220004798A1 (ko) |
EP (1) | EP4154171A1 (ko) |
JP (1) | JP2023532228A (ko) |
KR (1) | KR20230034302A (ko) |
CN (1) | CN117916765A (ko) |
WO (1) | WO2022006556A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023224509A1 (en) * | 2022-05-19 | 2023-11-23 | Huawei Technologies Co., Ltd. | Method for transforming data and related device |
KR20240142064A (ko) * | 2023-03-21 | 2024-09-30 | 삼성전자주식회사 | 슈퍼 샘플링을 이용한 방법 및 장치 |
CN117830184B (zh) * | 2024-03-06 | 2024-05-31 | 陕西长空齿轮有限责任公司 | 一种金相图像增强方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1591963B1 (en) * | 2004-04-29 | 2008-07-09 | Mitsubishi Electric Information Technology Centre Europe B.V. | Adaptive quantisation of a depth map |
JP4321496B2 (ja) * | 2005-06-16 | 2009-08-26 | ソニー株式会社 | 画像データ処理装置、画像データ処理方法およびプログラム |
KR101979379B1 (ko) * | 2011-08-25 | 2019-05-17 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 및 영상의 복호화 방법 및 장치 |
SE536510C2 (sv) * | 2012-02-21 | 2014-01-14 | Flir Systems Ab | Bildbehandlingsmetod för detaljförstärkning och brusreduktion |
US9332239B2 (en) * | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
AU2014259516A1 (en) * | 2014-11-06 | 2016-05-26 | Canon Kabushiki Kaisha | Nonlinear processing for off-axis frequency reduction in demodulation of two dimensional fringe patterns |
US11221990B2 (en) * | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
US10311558B2 (en) * | 2015-11-16 | 2019-06-04 | Dolby Laboratories Licensing Corporation | Efficient image processing on content-adaptive PQ signal domain |
US10798321B2 (en) * | 2017-08-15 | 2020-10-06 | Dolby Laboratories Licensing Corporation | Bit-depth efficient image processing |
KR102017995B1 (ko) * | 2018-01-16 | 2019-09-03 | 한국과학기술원 | 라인 단위 연산을 이용한 초해상화 방법 및 장치 |
US10885384B2 (en) * | 2018-11-15 | 2021-01-05 | Intel Corporation | Local tone mapping to reduce bit depth of input images to high-level computer vision tasks |
US11593628B2 (en) * | 2020-03-05 | 2023-02-28 | Apple Inc. | Dynamic variable bit width neural processor |
-
2021
- 2021-07-02 EP EP21831543.0A patent/EP4154171A1/en not_active Withdrawn
- 2021-07-02 US US17/367,216 patent/US20220004798A1/en active Pending
- 2021-07-02 CN CN202180054409.XA patent/CN117916765A/zh active Pending
- 2021-07-02 JP JP2022578793A patent/JP2023532228A/ja active Pending
- 2021-07-02 WO PCT/US2021/040376 patent/WO2022006556A1/en active Application Filing
- 2021-07-02 KR KR1020237001757A patent/KR20230034302A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
JP2023532228A (ja) | 2023-07-27 |
US20220004798A1 (en) | 2022-01-06 |
CN117916765A (zh) | 2024-04-19 |
WO2022006556A1 (en) | 2022-01-06 |
EP4154171A1 (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230034302A (ko) | 노이즈 제거 및 저정밀 이미지 처리를 위한 비선형 이미지 강도 변환 시스템 및 방법 | |
US11182877B2 (en) | Techniques for controlled generation of training data for machine learning enabled image enhancement | |
JP5384330B2 (ja) | 重み付け符号化する方法及びシステム | |
JP4083587B2 (ja) | 画質向上方法及びそのための装置 | |
US8571307B2 (en) | Method and system operative to process monochrome image data | |
WO2022133194A1 (en) | Deep perceptual image enhancement | |
KR20080046015A (ko) | 영상 잡음 제거 방법 및 장치 | |
Easton | Fundamentals of digital image processing | |
EP4405902A1 (en) | High dynamic range view synthesis from noisy raw images | |
Yang et al. | Low-light image enhancement based on Retinex theory and dual-tree complex wavelet transform | |
CN116385298A (zh) | 一种用于无人机夜间采集图像的无参考增强方法 | |
KR20190000811A (ko) | 이미지를 타겟 디스플레이 디바이스의 타겟 피크 휘도 lt에 톤 적응시키기 위한 방법 | |
Zhang et al. | A novel tone mapping method for high dynamic range image by incorporating edge-preserving filter into method based on retinex | |
Wang et al. | Learning a self‐supervised tone mapping operator via feature contrast masking loss | |
JP2008281402A (ja) | 知覚的な鏡面・拡散反射画像推定方法とその装置、及びプログラムと記憶媒体 | |
CN112330546A (zh) | 图像增强方法及相关产品 | |
Mohamadi et al. | A new hybrid denoising model based on PDEs | |
KR20230051664A (ko) | 채널 제약 하드웨어 가속기에 의해 구현되는 신경망을 사용하여 이미지 향상을 수행하기 위한 시스템 및 방법 | |
Kovalenko et al. | Analysis of the potential efficiency of post-filtering noisy images after lossy compression | |
EP4058976A1 (en) | Device and method for pre-processing image data for a computer vision application | |
Mittal et al. | An efficient video enhancement method using LA* B* analysis | |
Gupta et al. | A Reconstruction of Gray Scale Image Into Rgb Color Space Image Using Ycbcr Color Spacing and Luminance Mapping in Matlab. | |
WO2024111145A1 (ja) | ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法 | |
Springer et al. | Lossy compression of floating point high-dynamic range images using JPEG2000 | |
JP4599561B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、画像処理装置制御プログラム及び、コンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |