KR20230034820A - Method and system for processing image based on weighted multi-kernel - Google Patents
Method and system for processing image based on weighted multi-kernel Download PDFInfo
- Publication number
- KR20230034820A KR20230034820A KR1020210149019A KR20210149019A KR20230034820A KR 20230034820 A KR20230034820 A KR 20230034820A KR 1020210149019 A KR1020210149019 A KR 1020210149019A KR 20210149019 A KR20210149019 A KR 20210149019A KR 20230034820 A KR20230034820 A KR 20230034820A
- Authority
- KR
- South Korea
- Prior art keywords
- output
- machine learning
- learning model
- generating
- kernels
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000010801 machine learning Methods 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 19
- 238000013473 artificial intelligence Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000012805 post-processing Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100406673 Arabidopsis thaliana OTU3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012706 support-vector machine Methods 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
- 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
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
Description
본 개시의 기술적 사상은 이미지 처리에 관한 것으로서, 자세하게는 가중화된 다중 커널에 기초한 이미지 처리 방법 및 시스템에 관한 것이다.The technical idea of the present disclosure relates to image processing, and more particularly, to an image processing method and system based on a weighted multi-kernel.
이미지 처리에 기계 학습 모델이 활용되고 있다. 예를 들면, 기계 학습 모델은 이미지에서 노이즈를 제거하거나 저해상도 이미지를 고해상도 이미지로 변환하는데 활용될 수 있다. 이에 따라, 스마트폰의 카메라 모듈과 같은 제한된 성능 또는 낮은 조도와 같은 제한된 환경 등에 기인하여 낮은 품질을 가지는 이미지가 기계 학습 모델을 활용하여 높은 품질의 이미지로 변환될 수 있다.Machine learning models are being used for image processing. For example, machine learning models can be used to remove noise from images or convert low-resolution images to high-resolution images. Accordingly, an image having low quality due to limited performance such as a camera module of a smartphone or a limited environment such as low illumination may be converted into a high quality image by using a machine learning model.
본 개시의 기술적 사상은, 가중화된 다중 커널에 기초하여 낮은 품질의 이미지로부터 높은 품질의 이미지를 생성하는 이미지 처리 방법 및 시스템을 제공한다.The technical idea of the present disclosure provides an image processing method and system for generating a high quality image from a low quality image based on a weighted multi-kernel.
본 개시의 기술적 사상의 일측면에 따라, 복수의 이미지들을 처리하기 위한 방법은, 복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계, 입력 데이터를 제1 기계 학습 모델에 제공하는 단계, 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계, 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계, 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계, 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계, 및 입력 데이터 및 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함할 수 있다.According to one aspect of the technical idea of the present disclosure, a method for processing a plurality of images includes obtaining input data including a plurality of images, providing the input data to a first machine learning model, and a first machine learning model. Providing an output of the learning model to a second machine learning model and a third machine learning model; generating a first feature map corresponding to a plurality of kernels based on the output of the second machine learning model; Based on the output of the machine learning model, generating a second feature map corresponding to a plurality of weights, generating a predicted kernel based on a weighted sum of a plurality of kernels, and based on the input data and the predicted kernel Based on the method, generating output data may be included.
본 개시의 기술적 사상의 일측면에 따른 시스템은, 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 의해서 실행시, 적어도 하나의 프로세서로 하여금 이미지 처리를 수행하도록하는 명령어들을 저장하는 비일시적 저장 매체를 포함할 수 있고, 이미지 처리는, 복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계, 입력 데이터를 제1 기계 학습 모델에 제공하는 단계, 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계, 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계, 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계, 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계, 및 입력 데이터 및 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함할 수 있다.A system according to one aspect of the technical idea of the present disclosure includes at least one processor, and a non-transitory storage medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform image processing. The image processing may include obtaining input data including a plurality of images, providing the input data to a first machine learning model, and outputting the output of the first machine learning model to a second machine learning model and a third machine learning model. Providing to the machine learning model, generating a first feature map corresponding to the plurality of kernels based on the output of the second machine learning model, and generating a plurality of weights based on the output of the third machine learning model. Generating a second feature map corresponding to , generating a predicted kernel based on a weighted sum of a plurality of kernels, and generating output data based on the input data and the predicted kernel. there is.
본 개시의 기술적 사상의 일측면에 따른 비일시적 컴퓨터 판독가능 저장 매체는, 명령어들을 포함할 수 있고, 명령어들은, 적어도 하나의 프로세서에 의해서 실행시 적어도 하나의 프로세서로 하여금 이미지 처리를 수행하도록 할 수 있고, 이미지 처리는, 복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계, 입력 데이터를 제1 기계 학습 모델에 제공하는 단계, 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계, 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계, 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계, 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계, 및 입력 데이터 및 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함할 수 있다.A non-transitory computer-readable storage medium according to one aspect of the technical idea of the present disclosure may include instructions, and the instructions, when executed by at least one processor, may cause the at least one processor to perform image processing. The image processing includes obtaining input data including a plurality of images, providing the input data to a first machine learning model, and converting the output of the first machine learning model to a second machine learning model and a third machine learning model. Providing a first feature map to a model, generating a first feature map corresponding to a plurality of kernels based on an output of a second machine learning model, and corresponding to a plurality of weights based on an output of a third machine learning model. generating a second feature map, generating a predicted kernel based on a weighted sum of a plurality of kernels, and generating output data based on the input data and the predicted kernel.
본 개시의 예시적 실시예에 따른 방법 및 시스템에 의하면, 다중 커널을 사용함으로써 적용가능한 다양한 범위들이 고려될 수 있는 동시에, 커널들 사이 중요도를 반영함으로써 보다 높은 품질의 이미지가 생성될 수 있다.According to the method and system according to an exemplary embodiment of the present disclosure, various applicable ranges can be considered by using multiple kernels, and a higher quality image can be generated by reflecting the importance between kernels.
또한, 본 개시의 예시적 실시예에 따른 방법 및 시스템에 의하면, 다중 이미지로부터 정확하게 정렬된 이미지가 생성될 수 있고, 정확하게 정렬된 이미지로부터 높은 품질의 초해상도(super resolution) 이미지가 생성될 수 있다.In addition, according to the method and system according to the exemplary embodiments of the present disclosure, an accurately aligned image can be generated from multiple images, and a high quality super resolution image can be generated from the accurately aligned image. .
또한, 본 개시의 예시적 실시예에 따른 방법 및 시스템에 의하면, 제한된 성능 및 환경에서 생성된 이미지로부터 높은 품질의 이미지가 생성될 수 있고, 이에 따라 높은 품질의 이미지를 활용하는 어플리케이션들의 유용성이 증대될 수 있다.In addition, according to the method and system according to exemplary embodiments of the present disclosure, a high-quality image can be generated from an image generated in an environment with limited performance, and accordingly, the usefulness of applications utilizing high-quality images increases. It can be.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 설명으로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.Effects obtainable in the exemplary embodiments of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are common knowledge in the art to which exemplary embodiments of the present disclosure belong from the following description. can be clearly derived and understood by those who have That is, unintended effects according to the implementation of the exemplary embodiments of the present disclosure may also be derived by those skilled in the art from the exemplary embodiments of the present disclosure.
도 1은 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다.
도 3은 본 개시의 예시적 실시예에 따른 피처 맵의 예시들을 나타내는 도면이다.
도 4는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다.
도 5는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다.
도 6은 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 다른 이미지 처리 방법을 나타내는 순서도이다.
도 9는 본 개시의 예시적 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따른 컴퓨터 시스템(100)을 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따른 장치(110)를 나타내는 블록도이다.1 is a block diagram illustrating image processing according to an exemplary embodiment of the present disclosure.
2 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure.
3 is a diagram illustrating examples of feature maps according to an exemplary embodiment of the present disclosure.
4 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure.
5 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure.
6 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure.
7 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure.
8 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure.
Fig. 9 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure.
10 is a block diagram illustrating a
11 is a block diagram illustrating a
도 1은 본 개시의 예시적 실시예에 따른 이미지 처리(10)를 나타내는 블록도이다. 이미지 처리(10)는 이미지를 포함하는 입력 데이터(DIN)를 처리함으로써 이미지를 포함하는 출력 데이터(DOUT)를 생성할 수 있다. 도 1에 도시된 바와 같이, 이미지 처리는 제1 모델(11), 제2 모델(12), 제3 모델(13), 제1 후처리(14), 제2 후처리(15), 커널 생성(16) 및 재건(17)을 포함할 수 있다.1 is a block diagram illustrating
일부 실시예들에서, 도 1의 이미지 처리(10)는, 도 10 및 도 11을 참조하여 후술되는 바와 같이 컴퓨팅 시스템에 의해서 수행될 수 있다. 예를 들면, 도 1에 도시된 블록들 각각은 컴퓨팅 시스템에 포함된 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 대응할 수 있다. 하드웨어는, CPU(central processing unit), DSP(digital signal processor), GPU(graphics processing unit)와 같은 프로그램가능(programmable) 컴포넌트, FPGA(field programmable gate array)와 같은 재구성가능(reconfigurable) 컴포넌트 및 IP(intellectual property) 블록과 같은 고정된 기능을 제공하는 컴포넌트 중 적어도 하나를 포함할 수 있다. 소프트웨어는, 프로그램가능 컴포넌트에 의해서 실행가능한 일련의 명령어들 및 컴파일러 등에 의해서 일련의 명령어들로 변환가능한 코드 중 적어도 하나를 포함할 수 있고, 비일시적(non-transitory) 저장 매체에 저장될 수 있다.In some embodiments,
도 1을 참조하면, 제1 모델(11)은 기계 학습 모델로서 입력 데이터(DIN)를 수신할 수 있고, 제1 출력(OUT1)을 생성할 수 있다. 일부 실시예들에서, 입력 데이터(DIN)는 복수의 이미지들을 포함할 수 있고, 제1 모델(11)은 입력 데이터(DIN)에 포함된 복수의 이미지들로부터 피처들을 추출하도록 트레이닝될 수 있다. 이에 따라, 제1 모델(11)이 생성하는 제1 출력(OUT1)은 입력 데이터(DIN)에 포함된 복수의 이미지들에 대한 피처 맵(feature map)에 대응할 수 있다. 제1 모델(11)의 예시가 도 2를 참조하여 후술될 것이다.Referring to FIG. 1 , the
본 명세서에서, 기계 학습 모델은 트레이닝 가능한 임의의 구조를 가질 수 있다. 예를 들면, 기계 학습 모델은, 인공 신경망(artificial neural network), 결정 트리(decision tree), 서포트 벡터 머신(support vector machine), 베이즈 네트워크(Bayesian network) 및/또는 유전 알고리즘(genetic algorithm) 등을 포함할 수 있다. 이하에서, 기계 학습 모델은 인공 신경망을 주로 참조하여 설명될 것이나, 본 개시의 예시적 실시예들이 이에 제한되지 아니하는 점이 유의된다. 인공 신경망은, 비제한적인 예시로서, CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based Deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzmann Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등을 포함할 수 있다. 본 명세서에서, 기계 학습 모델은 단순하게 모델로 지칭될 수 있다.In this specification, a machine learning model may have any structure capable of being trained. For example, a machine learning model may be an artificial neural network, a decision tree, a support vector machine, a Bayesian network, and/or a genetic algorithm, and the like. can include In the following, a machine learning model will be described mainly with reference to an artificial neural network, but it is noted that exemplary embodiments of the present disclosure are not limited thereto. Artificial neural networks, as non-limiting examples, include a convolution neural network (CNN), a region with convolution neural network (R-CNN), a region proposal network (RPN), a recurrent neural network (RNN), and a stacking-based deep neural network (S-DNN). Neural Network), S-SDNN (State-Space Dynamic Neural Network), Deconvolution Network, DBN (Deep Belief Network), RBM (Restricted Boltzmann Machine), Fully Convolutional Network, LSTM (Long Short-Term Memory) Network, Classification Network, etc. can include In this specification, a machine learning model may simply be referred to as a model.
제2 모델(12)은, 제1 모델(11)로부터 제1 출력(OUT1)을 수신할 수 있고, 제2 출력(OUT2)을 생성할 수 있다. 제2 모델(12)은, 후술되는 재건(17)에서 입력 데이터(DIN)와 연산될 커널(K)을 예측하기 위해 트레이닝될 수 있다. 예를 들면, 제2 모델(12)은, 도 4를 참조하여 후술되는 바와 같이, 상이한 크기의 복수의 커널들을 출력하도록 트레이닝 될 수 있고, 이에 따라 제2 출력(OUT2)은 복수의 커널들에 대응할 수 있다.The
제3 모델(13)은, 제1 모델(11)로부터 제1 출력(OUT1)을 수신할 수 있고, 제3 출력(OUT3)을 생성할 수 있다. 제3 모델(13)은, 후술되는 재건(17)에서 입력 데이터(DIN)와 연산될 커널(K)을 예측하기 위해 트레이닝될 수 있다. 예를 들면, 제3 모델(13)은, 도 4를 참조하여 후술되는 바와 같이, 상이한 크기의 복수의 커널들 각각에 대응하는 복수의 가중치들을 출력하도록 트레이닝될 수 있고, 이에 따라 제3 출력(OUT3)은 복수의 가중치들에 대응할 수 있다.The
도 1에 도시된 바와 상이하게, 제2 모델(12)이 출력하는 제2 출력(OUT2)에만 기초하여 커널이 예측되는 경우, 다중 커널이 이미지의 위치와 무관하게 동일하게 적용될 수 있다. 예를 들면, 이미지는 높은 주파수를 가지는 영역 및 낮은 주파수를 가지는 영역을 포함할 수 있고, 해당 영역들에 다중 커널이 동일하게 적용되는 것은 최종 이미지의 품질을 제한할 수 있다. 다른 한편으로, 도 1의 이미지 처리(10)는 커널 예측을 위하여 제2 모델(12)을 포함하는 신호 처리 경로(본 명세서에서, 제1 브랜치로 지칭될 수 있다)뿐만 아니라, 다중 커널의 중요도를 반영하기 위하여 제3 모델(13)을 포함하는 신호 처리 경로(본 명세서에서, 제2 브랜치로 지칭될 수 있다)를 포함할 수 있고, 이에 따라 입력 데이터(DIN)로부터 보다 높은 품질의 이미지를 포함하는 출력 데이터(DOUT)를 생성하는 것을 가능하게 할 수 있다. Unlike that shown in FIG. 1 , when a kernel is predicted based only on the second output OUT2 output from the
제1 후처리(14)는 제2 출력(OUT2)으로부터 제1 피처 맵(FM1)을 생성할 수 있다. 예를 들면, 제1 후처리(14)는 후술되는 커널 생성(16)에서 복수의 커널들이 추출될 수 있도록, 제2 출력(OUT2)을 재조직(reshape)함으로써 제1 피처 맵(FM1)을 생성할 수 있다. 제1 후처리(14)에 의해서 생성되는 제1 피처 맵(FM1)의 예시가 도 3을 참조하여 후술될 것이다.The
제2 후처리(15)는 제3 출력(OUT3)으로부터 제2 피처 맵(FM2)을 생성할 수 있다. 예를 들면, 제2 후처리(14)는 후술되는 커널 생성(16)에서 복수의 가중치들이 추출될 수 있도록, 제3 출력(OUT3)을 재조직함으로써 제2 피처 맵(FM2)을 생성할 수 있다. 제2 후처리(15)에 의해서 생성되는 제2 피처 맵(FM2)의 예시가 도 3을 참조하여 후술될 것이다.The
커널 생성(16)은 제1 피처 맵(FM1) 및 제2 피처 맵(FM2)로부터 커널(K)을 생성할 수 있다. 전술된 바와 같이, 제1 피처 맵(FM1)은 복수의 커널들에 대응할 수 있고, 제2 피처 맵(FM2)은 복수의 가중치들에 대응할 수 있다. 커널 생성(16)은 복수의 가중치들에 기초하여 복수의 커널들의 각각의 중요도를 식별할 수 있고, 식별된 중요도에 기초하여 복수의 커널들로부터 커널(K)을 생성할 수 있다. 커널 생성(16)의 예시가 도 4를 참조하여 후술될 것이다.
재건(17)은 입력 데이터(DIN) 및 커널(K)로부터 출력 데이터(DOUT)를 생성할 수 있다. 전술된 바와 같이, 입력 데이터(DIN)는 복수의 이미지들을 포함할 수 있고, 복수의 이미지들 각각은 커널(K)과 연산될 수 있다. 출력 데이터(DOUT)는 복수의 이미지들 각각이 커널(K)이 연산됨으로써 생성된 복수의 이미지들을 포함할 수 있다. 출력 데이터(DOUT)에 포함된 이미지는 입력 데이터(DIN)에 포함된 이미지보다 높은 품질을 가질 수 있다. 예를 들면, 출력 데이터(DOUT)에 포함된 이미지는, 입력 데이터(DIN)에 포함된 이미지에서 노이즈가 제거된 이미지에 대응할 수도 있고, 입력 데이터(DIN)에 포함된 이미지가 정렬된 이미지에 대응할 수도 있다.
도 2는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다. 구체적으로, 도 2는 도 1의 제1 모델(11), 제2 모델(12) 및 제3 모델(13)의 예시들을 나타낸다. 2 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure. Specifically, FIG. 2 shows examples of the
도 2를 참조하면, 복수의 이미지들을 포함하는 입력 데이터(DIN)가 제1 모델(21)에 제공될 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 입력 데이터(DIN)는 W*H의 해상도(resolution)를 가지는 T*C개의 이미지들을 포함할 수 있다. T는 각각이 하나의 장면에 대응하는 이미지 프레임들의 수일 수 있고, C는 이미지 프레임의 채널들의 수일 수 있다. 예를 들면, 이미지 프레임이 RGB 포맷을 가지는 경우 C는 3일 수 있는 한편, 이미지 프레임이 베이어(Bayer) 포맷을 가지는 경우 C는 4일 수 있다. 입력 데이터(DIN)에서 복수의 이미지들은, 도 2에 도시된 바와 같이 복수의 이미지들의 픽셀들이 중첩되도록 정렬될 수 있다.Referring to FIG. 2 , input data DIN including a plurality of images may be provided to the
일부 실시예들에서, 입력 데이터(DIN)에 포함된 복수의 이미지들은 동일한 대상을 반복하여 촬영함으로써 생성된 이미지 프레임들에 대응할 수 있다. 예를 들면, 스마트 폰의 카메라 모듈과 같이 제한된 성능에도 불구하고 높은 품질의 이미지를 생성하기 위하여, 동일한 대상이 반복하여 촬영될 수 있고, 생성된 이미지 프레임들에 기초하여 높은 품질의 이미지 프레임이 생성될 수 있다. 일부 실시예들에서, 입력 데이터(DIN)에 포함된 이미지들은 큰 크기의 소스 이미지로부터 분할된 이미지들일 수 이다. 즉, 이미지 처리의 복잡도(complexity)를 감소시키기 위하여, 큰 크기의 소스 이미지가 복수의 이미지들로 분할될 수 있고, 분할된 이미지가 제1 모델(21)에 제공될 수 있다.In some embodiments, a plurality of images included in the input data DIN may correspond to image frames generated by repeatedly photographing the same object. For example, in order to generate a high quality image despite limited performance like a camera module of a smart phone, the same subject may be photographed repeatedly, and a high quality image frame is generated based on the generated image frames. It can be. In some embodiments, images included in the input data DIN may be divided images from a large-sized source image. That is, in order to reduce the complexity of image processing, a large-sized source image may be divided into a plurality of images, and the divided images may be provided to the
일부 실시예들에서, 제1 모델(21)은 U-Net에 기초할 수 있다. U-Net은 end-to-end 방식의 완전 합성곱(fully convolution) 네트워크일 수 있다. 도 2에 도시된 바와 같이, U-Net은 합성곱 레이어들, 바이리니어 업샘플링(bilinear upsampling) 레이어들, 평균 레이어들 및 어텐션 레이어들을 포함할 수 있다. 트레이닝된 제1 모델(21)은 입력 데이터(DIN)에 포함된 복수의 이미지들로의 피처들을 포함하는 제1 출력(OUT1)을 생성할 수 있고, 도 2에 도시된 바와 같이, 제1 출력(OUT1)은 제2 모델(22) 및 제3 모델(23)에 공통으로 제공될 수 있다.In some embodiments, the
제2 모델(22)은 제1 출력(OUT1)으로부터 제2 출력(OUT2)을 생성할 수 있다. 도 2에 도시된 바와 같이, 제2 모델(22)은 복수의 합성곱 레이어들을 포함할 할 수 있다. 또한, 제3 모델(23)은 제1 출력(OUT1)으로부터 제3 출력(OUT3)을 생성할 수 있다. 도 2에 도시된 바와 같이, 제3 모델(23)은 복수의 합성곱 레이어들을 포함할 수 있다. 일부 실시예들에서, 제1 출력(OUT1)으로부터 복수의 커널들에 대응하는 제2 출력(OUT2)을 생성하기 위한 제2 모델(22)은, 제1 출력(OUT1)으로부터 복수의 가중치들에 대응하는 제3 출력(OUT3)을 생성하기 위한 제3 모델(23)보다 많은 수의 합성곱 레이어들을 포함할 수 있다. 도 1을 참조하여 전술된 바와 같이, 제2 출력(OUT2) 및 제3 출력(OUT3) 각각 후처리될 수 있고, 후처리에서 각각 재조직될 수 있다.The
도 3은 본 개시의 예시적 실시예에 따른 피처 맵의 예시들을 나타내는 도면이다. 구체적으로, 도 3은 도 1의 제1 피처 맵(FM1) 및 제2 피처 맵(FM2)의 예시들을 나타낸다. 도 1을 참조하여 전술된 바와 같이, 제1 피처 맵(FM1)은 제1 브랜치에서 제2 모델(12)의 제2 출력(OUT2)을 후처리함으로써 생성될 수 있고, 제2 피처 맵(FM2)은 제2 브랜치에서 제3 모델(13)의 제3 출력(OTU3)을 후처리함으로써 생성될 수 있다. 이하에서, 도 3은 도 1을 참조하여 설명될 것이다.3 is a diagram illustrating examples of feature maps according to an exemplary embodiment of the present disclosure. Specifically, FIG. 3 shows examples of the first feature map FM1 and the second feature map FM2 of FIG. 1 . As described above with reference to FIG. 1 , the first feature map FM1 may be generated by post-processing the second output OUT2 of the
도 3을 참을 참조하면, 제2 모델(12)의 제2 출력(OUT2)은, 도 1의 제1 후처리(14)에서 복수의 커널들이 추출되도록 재조직될 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 제1 피처 맵(FM1)은 입력 데이터(DIN)에 포함된 이미지와 같이 W*H의 해상도를 가지는 np*3TC개의 슬라이스들을 포함할 수 있다. 여기서 n은 영(zero)보다 큰 정수일 수 있고, 3은 최종 이미지가 3개의 채널들(즉, RGB)을 가지는 것을 의미할 수 있고, T는 이미지 프레임들의 수일 수 있고, C는 채널들의 수일 수 있다. p는 복수의 커널들의 크기들의 합일 수 있다. 예를 들면, 도 4를 참조하여 후술되는 바와 같이, 총 4개의 커널들이 1, 3, 5 및 7의 크기를 각각 가지는 경우, p는 16일 수 있다(p = 1+3+5+7). 이에 따라, 상이한 크기의 커널들이 채널 방향으로, 즉 도 3에서 가로축 방향으로 추출될 수 있다.Referring to FIG. 3 , the second output OUT2 of the
도 3을 참조하면, 제3 모델(13)의 제3 출력(OUT3)은, 도 1의 제2 후처리(15)에서 복수의 가중치들이 추출되도록 재조직될 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 제2 피처 맵(FM2)은 입력 데이터(DIN)에 포함된 이미지와 같이 W*H의 해상도를 가지는 3TM개의 슬라이스들을 포함할 수 있다. 여기서 3은 최종 이미지가 3개의 채널들(즉, RGB)을 가지는 것을 의미할 수 있고, T는 이미지 프레임들의 수일 수 있고, M은 복수의 커널들의 수일 수 있다. 예를 들면, 도 4를 참조하여 후술되는 바와 같이, 총 4개의 커널들이 사용되는 경우, M은 4일 수 있다. 이에 따라, 복수의 커널들 각각에 대응하는 가중치들이 채널 방향으로, 즉 도 3에서 가로축 방향으로 추출될 수 있다.Referring to FIG. 3 , the third output OUT3 of the
도 4는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다. 구체적으로, 도 4는 도 1의 커널 생성(16)의 예시로서 하나의 픽셀에 대응하는 커널이 생성되는 예시를 나타낸다. 도 1을 참조하여 전술된 바와 같이, 커널 생성(16)에서 제1 피처 맵(FM1) 및 제2 피처 맵(FM2)으로부터 커널(K)이 생성될 수 있다.4 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure. Specifically, FIG. 4 shows an example of generating a kernel corresponding to one pixel as an example of the
도 3을 참조하여 전술된 바와 같이, 제1 피처 맵(FM1)은 W*H의 해상도를 가지는 np*3TC개의 슬라이스들을 포함할 수 있다. 도 4에서, 1, 3, 5 및 7의 크기를 각각 가지는 총 4개의 커널들, 즉 제1 내지 제4 커널(K1 내지 K4)이 생성될 수 있고, 이에 따라 p는 16일 수 있다. 또한, 도 4의 예시에서 제1 피처 맵(FM1) 및 제2 피처 맵(FM2)은 베이어 포맷을 가지는 입력 데이터(DIN)로부터 생성될 수 있고(즉, C = 4), 이에 따라 도 4에 도시된 바와 같이, 제1 내지 제4 커널(K1 내지 K4)은 채널 방향으로 4개의 텐서들을 포함할 수 있다.As described above with reference to FIG. 3 , the first feature map FM1 may include np*3TC slices having a resolution of W*H. In FIG. 4, a total of four kernels having sizes of 1, 3, 5, and 7, that is, first to fourth kernels (K 1 to K 4 ) may be generated, and thus p may be 16. . In addition, in the example of FIG. 4 , the first feature map FM1 and the second feature map FM2 may be generated from input data DIN having a Bayer format (that is, C = 4), and accordingly, in FIG. 4 As shown, the first to fourth kernels K 1 to K 4 may include four tensors in a channel direction.
커널 생성(16)에서, 제1 피처 맵(FM1)은 채널 방향으로 T개의 피처 맵들(FM11 내지 FM1T)로 분할될 수 있다. 도 4에 도시된 바와 같이, 분할된 하나의 피처 맵(FM11)에서 하나의 픽셀에 대응하는 부분으로부터 제1 내지 제4 커널(K1 내지 K4)이 추출될 수 있다. 제1 내지 제4 커널(K1 내지 K4)은 하나의 커널 그룹에 포함될 수 있고, 최종 이미지의 3개 채널들(즉, RGB)에 대응하는 3개의 커널 그룹들이 생성될 수 있다. 입력 이미지 로부터 생성된 커널 은 아래 [수학식 1]과 같이 표현될 수 있다.In
[수학식 1]에서, S는 커널 그룹이고, i는 이미지 인덱스이고, Bk는 복수의 커널들을 예측하기 위한 모델, 즉 도 1의 제1 모델(11) 및 제2 모델(12)을 포함하는 모델이고, x 및 y는 픽셀 좌표를 나타낼 수 있다.In [Equation 1], S is a kernel group, i is an image index, and B k is a model for predicting a plurality of kernels, that is, includes the
도 3을 참조하여 전술된 바와 같이, 제2 피처 맵(FM2)은 W*H의 해상도를 가지는 3TM개의 슬라이스들을 포함할 수 있다. 도 4에 도시된 바와 같이, 4개의 커널들이 생성될 수 있으므로, M은 4일 수 있다. 제1 피처 맵(FM1)과 유사하게, 커널 생성(16)에서, 제2 피처 맵(FM2)은 채널 방향으로 T개의 피처 맵들(FM21 내지 FM2T)로 분할될 수 있다. 도 4에 도시된 바와 같이, 분할된 하나의 피처 맵(FM21)에서 하나의 픽셀에 대응하는 부분으로부터 제1 내지 제4 가중치(w1 내지 w4)가 추출될 수 있다. 제1 내지 제4 가중치(w1 내지 w4)는 하나의 가중치 그룹에 포함될 수 있고, 최종 이미지의 3개 채널들(즉, RGB)에 대응하는 3개의 가중치 그룹들이 생성될 수 있다. 입력 이미지 로부터 생성된 가중치 은 아래 [수학식 2]와 같이 표현될 수 있다.As described above with reference to FIG. 3 , the second feature map FM2 may include 3TM slices having a resolution of W*H. As shown in FIG. 4, since 4 kernels can be generated, M can be 4. Similar to the first feature map FM1 , in the
[수학식 2]에서, S는 커널 그룹이고, i는 이미지 인덱스이고, Bw는 복수의 가중치들을 예측하기 위한 모델, 즉 도 1의 제1 모델(11) 및 제3 모델(13)을 포함하는 모델이고, x 및 y는 픽셀 좌표를 나타낼 수 있다.In [Equation 2], S is a kernel group, i is an image index, and B w includes a model for predicting a plurality of weights, that is, the
커널 생성(16)에서, 복수의 가중치들에 기초하여 복수의 커널들의 가중합(weighted sum)이 계산될 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 제1 커널(K1) 및 제1 가중치(w1)가 승산될 수 있고, 제2 커널(K2) 및 제2 가중치(w2)가 승산될 수 있고, 제3 커널(K3) 및 제3 가중치(w3)가 승산될 수 있으며, 제4 커널(K4) 및 제4 가중치(w4)가 승산될 수 있다.In
일부 실시예들에서, 제2 피처 맵(FM2)으로부터 추출된 가중치들에 소프트맥스(softmax) 함수가 적용될 수 있다. 예를 들면, 피처 맵(FM21)으로부터 추출된 제1 내지 제4 가중치(w1 내지 w4)에 소프트맥스 함수가 적용될 수 있고, 소프트맥스 함수가 적용된 가중치들이 커널들과 승산될 수 있다. 소프트맥스를 통해서 중요한 가중치가 더욱 강조될 수 있다. 소프트맥스가 적용된 가중치 는 아래 [수학식 3]과 같이 표현될 수 있다.In some embodiments, a softmax function may be applied to the weights extracted from the second feature map FM2. For example, a softmax function may be applied to the first to fourth weights w 1 to w 4 extracted from the feature map FM2 1 , and the weights to which the softmax function is applied may be multiplied by kernels. Important weights can be further emphasized through softmax. Weights with softmax applied Can be expressed as in [Equation 3] below.
[수학식 3]에서 j는 가중치(또는 복수의 커널들 중 하나의 커널)의 인덱스일 수 있다.In [Equation 3], j may be an index of a weight (or one of a plurality of kernels).
커널 및 가중치의 곱들은 합산될 수 있고, 이에 따라 최종 커널은 커널들의 가중합에 대응할 수 있다. 상이한 크기의 곱들을 합산하기 위하여, 작은 크기의 곱에 제로 패딩(zero padding)이 적용될 수 있다. 예를 들면, 도 4에서 점선으로 도시된 바와 같이, 가장 큰 크기의 곱(w4K4)에 대응하도록, 나머지 곱들(w1K1, w2K2, w3K3)에 영이 추가될 수 있다. 가중합에 기초하여 생성되는 최종 커널 은 아래 [수학식 4]와 같이 나타낼 수 있다.The products of the kernel and the weight may be summed, so that the final kernel may correspond to the weighted sum of the kernels. In order to sum products of different magnitudes, zero padding may be applied to the products of smaller magnitude. For example, as shown by a dotted line in FIG. 4 , zero is added to the remaining products (w 1 K 1 , w 2 K 2 , w 3 K 3 ) to correspond to the product (w 4 K 4 ) of the largest magnitude. It can be. The final kernel generated based on the weighted sum Can be expressed as in [Equation 4] below.
도 5는 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다. 구체적으로, 도 5는 도 1의 재건(17)의 예시를 나타낸다. 도 1을 참조하여 전술된 바와 같이, 커널 생성(16)을 통해 생성된 커널(K) 및 입력 데이터(DIN)를 연산함으로써 출력 데이터(DOUT)가 생성될 수 있다.5 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure. Specifically, FIG. 5 shows an example of the
도 5를 참조하면, 입력 데이터(DIN) 및 커널(K)의 합성곱이 수행될 수 있고, 합성곱의 결과로서 출력 데이터(DOUT)가 생성될 수 있다. 도 5에 도시된 바와 같이, 입력 데이터(DIN)는 복수의 이미지들을 포함할 수 있고, 출력 데이터(DOUT) 역시 복수의 이미지들을 포함할 수 있다. 도면들을 참조하여 전술된 바와 같이, 커널(K)은 상이한 크기의 복수의 커널들 및 복수의 커널들에 대응하는 복수의 가중치들에 기초하여 생성될 수 있다. 이에 따라, 커널(K)은 입력 데이터(DIN)에 포함된 이미지들에 보다 적합할 수 있고, 보다 높은 품질의 이미지들을 포함하는 출력 데이터(DOUT)를 생성할 수 있다. 일부 실시예들에서, 출력 데이터(DOUT)에 포함된 이미지들은 입력 데이터(DIN)에 포함된 이미지들보다 감소된 노이즈를 가질 수 있다. 또한, 일부 실시예들에서, 입력 데이터(DIN)에 포함된 이미지들이 동일한 대상을 촬영함으로써 생성된 경우, 출력 데이터(DOUT)에 포함된 이미지들은 더욱 상호 정렬될 수 있다. 일부 실시예들에서, 도 6을 참조하여 후술되는 바와 같이, 높은 품질을 가지는 이미지들을 포함하는 출력 데이터(DOUT)는 고해상도의 이미지를 생성하는데 사용될 수 있다. 본 명세서에서, 커널(K)은 예측된 커널로서 지칭될 수 있다.Referring to FIG. 5 , convolution of input data DIN and kernel K may be performed, and output data DOUT may be generated as a result of the convolution. As shown in FIG. 5 , input data DIN may include a plurality of images, and output data DOUT may also include a plurality of images. As described above with reference to the drawings, the kernel K may be generated based on a plurality of kernels of different sizes and a plurality of weights corresponding to the plurality of kernels. Accordingly, the kernel K may be more suitable for images included in the input data DIN, and may generate output data DOUT including higher quality images. In some embodiments, images included in the output data DOUT may have reduced noise compared to images included in the input data DIN. Also, in some embodiments, when the images included in the input data DIN are generated by photographing the same subject, the images included in the output data DOUT may be further aligned with each other. In some embodiments, as described below with reference to FIG. 6 , output data DOUT including images having high quality may be used to generate a high-resolution image. In this specification, kernel K may be referred to as a predicted kernel.
도 6은 본 개시의 예시적 실시예에 따른 이미지 처리를 나타내는 도면이다. 구체적으로, 도 6은 도 1의 출력 데이터(DOUT)에 기초하여 고해상도 이미지(IMG)를 생성하는 동작을 나타낸다.6 is a diagram illustrating image processing according to an exemplary embodiment of the present disclosure. Specifically, FIG. 6 illustrates an operation of generating a high resolution image IMG based on the output data DOUT of FIG. 1 .
UHD(ultra-high definition)과 같이 고해상도 디스플레이의 보급이 증가함에 따라, FHD(full-high definition)과 같은 저해상도(low resolution; LR) 이미지를 고해상도(high resolution; HR)이미지로 변환하는 초해상화(super resolution; SR) 이미징이 사용될 수 있다. 딥 러닝(deep learning)과 같은 기계 학습 모델에 기초한 방법이 초해상화 이미징에 사용될 수 있고, 도 1의 출력 데이터(DOUT)는 초해상화 이미징의 입력으로 사용될 수 있다.As the prevalence of high-resolution displays such as UHD (ultra-high definition) increases, super-resolution conversion of low resolution (LR) images such as FHD (full-high definition) to high resolution (HR) images (super resolution; SR) imaging can be used. A method based on a machine learning model such as deep learning may be used for super-resolution imaging, and the output data DOUT of FIG. 1 may be used as an input for super-resolution imaging.
초해상화에 딥 러닝 모델을 사용하는 경우, 깊은 네트워크에 기인한 높은 복잡도는 많은 자원들을 요구할 수 있고, 네트워크의 깊이와 네트워크의 성능이 반드시 비례하지 아니할 수 있다. 이러한 문제를 해소하기 위하여, 잔차 학습(residual learning)이 사용될 수 있다. 잔차 학습은 저해상도 이미지를 고해상도 이미지에 가산하고, 2개 이미지들 사이 차이값을 학습하는 것을 지칭할 수 있다. 깊은 네트워크를 보다 안정적으로 학습시키기 위하여 네트워크는 복수의 잔차 블록들로 분할될 수 있고, 복수의 잔차 블록들 각각을 스킵 커넥션(skip connection)을 통해 연결함으로써 필터 파라미터들이 보다 용이하게 최적화될 수 있다. 일부 실시예들에서, 도 6의 제4 모델(60)은 복수의 잔차 블록들을 포함할 수 있다.When a deep learning model is used for super-resolution, high complexity due to a deep network may require a lot of resources, and the depth of the network and the performance of the network may not necessarily be proportional. To solve this problem, residual learning can be used. Residual learning may refer to adding a low-resolution image to a high-resolution image and learning a difference value between the two images. In order to train a deep network more stably, the network may be divided into a plurality of residual blocks, and filter parameters may be more easily optimized by connecting each of the plurality of residual blocks through a skip connection. In some embodiments, the
도 6을 참조하면, 제4 모델(60)은 출력 데이터(DOUT)를 수신할 수 있고, 제4 출력(OUT4)을 생성할 수 있고, 이에 따라 고해상도 이미지(IMG)의 품질이 더욱 향상될 수 있다. 도면들을 참조하여 전술된 바와 같이, 출력 데이터(DOUT)는 입력 데이터(DIN)에 포함된 이미지들보다 높은 품질의 이미지들을 포함할 수 있고, 이에 따라 제4 모델(60)에 의해서 보다 양호한 제4 출력(OUT4)이 생성될 수 있다. 도 6에 도시된 바와 같이, 입력 데이터(DIN)는 합성곱 레이어 및 업샘플링 레이어에 의해서 처리될 수 있고, 처리 결과는 제4 출력(OUT4)과 합산될 수 있다. 합산 결과는 합성곱 레이어에 의해서 처리될 수 있고, 이에 따라 고해상도 이미지(IMG)가 생성될 수 있다. 본 명세서에서, 고해상도 이미지(IMG)는 초해상도(super resolution) 이미지로서 지칭될 수 있다.Referring to FIG. 6 , the
도 7은 본 개시의 예시적 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다. 도 7에 도시된 바와 같이, 이미지 처리 방법은 복수의 단계들(S10 내지 S70)을 포함할 수 있다. 이하에서, 도 7은 도 1을 참조하여 설명될 것이다.7 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure. As shown in FIG. 7 , the image processing method may include a plurality of steps S10 to S70. In the following, FIG. 7 will be described with reference to FIG. 1 .
도 7을 참조하면, 단계 S10에서 입력 데이터(DIN)가 획득될 수 있다. 예를 들면, 동일한 대상을 반복하여 촬영함으로써 복수의 이미지들이 생성될 수 있고, 복수의 이미지들을 포함하는 입력 데이터(DIN)가 생성될 수 있다. 입력 데이터(DIN)에서 복수의 이미지들은, 복수의 이미지들의 픽셀들이 중첩되도록 정렬될 수 있다.Referring to FIG. 7 , input data DIN may be acquired in step S10. For example, a plurality of images may be generated by repeatedly photographing the same object, and input data DIN including the plurality of images may be generated. A plurality of images in the input data DIN may be aligned so that pixels of the plurality of images overlap.
단계 S20에서, 입력 데이터(DIN)가 제1 모델(11)에 제공될 수 있다. 예를 들면, 제1 모델(11)은 U-Net에 기초할 수 있고, 입력 데이터(DIN)를 처리함으로써 입력 데이터(DIN)에 포함된 복수의 이미지들로의 피처들을 포함하는 제1 출력(OUT1)을 생성할 수 있다.In step S20 , input data DIN may be provided to the
단계 S30에서, 제1 모델(11)의 출력이 제2 모델(12) 및 제3 모델(13)에 제공될 수 있다. 예를 들면, 제2 모델(12)은 복수의 커널들을 추출하기 위하여 트레이닝될 수 있고, 제3 모델(13)은 복수의 커널들에 각각 대응하는 복수의 가중치들을 추출하기 위하여 트레이닝될 수 있다. 제2 모델(12) 및 제3 모델(13)은 제1 모델(11)의 출력, 즉 제1 출력(OUT1)을 공통으로 수신할 수 있고, 제2 출력(OUT2) 및 제3 출력(OUT3)을 각각 생성할 수 있다.In step S30 , the output of the
단계 S40에서, 제1 피처 맵(FM1)이 생성될 수 있다. 예를 들면, 단계 S30에서 제2 모델(12)에 의해서 생성된 제2 출력(OUT2)은 복수의 커널들의 추출이 가능하도록 재조직될 수 있고, 이에 따라 제1 피처 맵(FM1)이 생성될 수 있다. 일부 실시예들에서, 제1 피처 맵(FM1)은, 입력 데이터(DIN)에 포함된 이미지 프레임들의 수, 이미지의 채널들의 수 및 복수의 커널들의 크기들에 기초하여 재조직될 수 있다. 예를 들면, 도 3을 참조하여 전술된 바와 같이, 제1 피처 맵(FM1)은 입력 데이터(DIN)에 포함된 이미지와 같이 W*H의 해상도를 가지는 np*3TC개의 슬라이스들을 포함할 수 있다.In step S40, a first feature map FM1 may be generated. For example, the second output OUT2 generated by the
단계 S50에서, 제2 피처 맵(FM2)이 생성될 수 있다. 예를 들면, 단계 S30에서 제3 모델(13)에 의해서 생성된 제3 출력(OUT3)은 복수의 가중치들이 추출이 가능하도록 재조직될 수 있고, 이에 따라 제2 피처 맵(FM2)이 생성될 수 있다. 일부 실시예들에서, 제2 피처 맵(FM2)은, 입력 데이터(DIN)에 포함된 이미지 프레임들의 수 및 커널들의 수에 기초하여 재조직될 수 있다. 예를 들면, 제2 피처 맵(FM2)은 입력 데이터(DIN)에 포함된 이미지와 같이 W*H의 해상도를 가지는 3TM개의 슬라이스들을 포함할 수 있다.In step S50, a second feature map FM2 may be generated. For example, the third output OUT3 generated by the
단계 S60에서, 예측된 커널이 생성될 수 있다. 예를 들면, 단계 S40에서 생성된 제1 피처 맵(FM1) 및 단계 S50에서 생성된 제2 피처 맵(FM2)에 기초하여 커널이 생성될 수 있다. 도면들을 참조하여 전술된 바와 같이, 예측된 커널은 중요도에 기초하여 복수의 커널들의 가중합에 기초하여 생성될 수 있고, 이에 따라 입력 데이터(DIN)에 보다 적합할 수 있다. 단계 S60의 예시가 도 8을 참조하여 후술될 것이다.In step S60, a predicted kernel may be generated. For example, a kernel may be generated based on the first feature map FM1 generated in step S40 and the second feature map FM2 generated in step S50. As described above with reference to the drawings, the predicted kernel may be generated based on a weighted sum of a plurality of kernels based on the importance, and thus may be more suitable for the input data DIN. An example of step S60 will be described later with reference to FIG. 8 .
단계 S70에서, 출력 데이터(DOUT)가 생성될 수 있다. 단계 S60에서 생성된 예측된 커널이 입력 데이터(DIN)에 연산될 수 있고, 이에 따라 출력 데이터(DIN)가 생성될 수 있다. 예를 들면, 도 5를 참조하여 전술된 바와 같이, 복수의 이미지들을 포함하는 입력 데이터(DIN) 및 커널 사이 합성곱이 수행될 수 있고, 이에 따라 복수의 이미지들을 포함하는 출력 데이터(DOUT)가 생성될 수 있다.In step S70, output data DOUT may be generated. The predicted kernel generated in step S60 may be operated on the input data DIN, and output data DIN may be generated accordingly. For example, as described above with reference to FIG. 5 , convolution between input data DIN including a plurality of images and a kernel may be performed, and thus output data DOUT including a plurality of images is generated. It can be.
도 8은 본 개시의 예시적 실시예에 다른 이미지 처리 방법을 나타내는 순서도이다. 구체적으로, 도 8의 순서도는 도 7의 단계 S60의 예시를 나타낸다. 도 7을 참조하여 전술된 바와 같이, 도 8의 단계 S60'에서 예측된 커널이 생성될 수 있다. 도 8에 도시된 바와 같이, 단계 S60'은 복수의 단계들(S62, S64, S66)을 포함할 수 있다.8 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure. Specifically, the flowchart of FIG. 8 shows an example of step S60 of FIG. 7 . As described above with reference to FIG. 7 , a predicted kernel may be generated in step S60′ of FIG. 8 . As shown in FIG. 8 , step S60' may include a plurality of steps S62, S64, and S66.
도 8을 참조하면, 단계 S62에서 제1 피처 맵(FM1)으로부터 복수의 커널들이 추출될 수 있다. 예를 들면, 제1 피처 맵(FM1)으로부터 상이한 크기의 복수의 커널들이 추출될 수 있다. 도 4를 참조하여 전술된 바와 같이, 제1 피처 맵(FM1)은 복수의 커널들의 크기들의 합(즉, p)에 기초하여 재조직될 수 있고, 이에 따라 복수의 커널들은 제1 피처 맵(FM1)으로부터 용이하게 추출될 수 있다.Referring to FIG. 8 , a plurality of kernels may be extracted from the first feature map FM1 in step S62. For example, a plurality of kernels having different sizes may be extracted from the first feature map FM1. As described above with reference to FIG. 4 , the first feature map FM1 may be reorganized based on the sum of the sizes of a plurality of kernels (ie, p), and thus the plurality of kernels may be reorganized based on the first feature map FM1. ) can be easily extracted from
단계 S64에서, 제2 피처 맵(FM2)으로부터 복수의 가중치들이 추출될 수 있다. 예를 들면, 단계 S62에서 추출된 복수의 커널들에 각각 대응하는 복수의 가중치들이 제2 피처 맵(FM2)으로부터 추출될 수 있다. 도 4를 참조하여 전술된 바와 같이, 제2 피처 맵(FM2)은 커널들의 수(즉, M)에 기초하여 재조직될 수 있고, 이에 따라 복수의 가중치들은 제2 피처 맵(FM2)으로부터 용이하게 추출될 수 있다. 일부실시예들에서, 커널의 중요도를 강조하기 위하여 제2 피처 맵(FM2)으로부터 추출된 가중치들에 소프트맥스 함수가 적용될 수 있고, 소프트맥스 함수가 적용된 가중치들이 후술되는 단계 S66에서 사용될 수 있다.In step S64, a plurality of weights may be extracted from the second feature map FM2. For example, a plurality of weights respectively corresponding to the plurality of kernels extracted in step S62 may be extracted from the second feature map FM2. As described above with reference to FIG. 4 , the second feature map FM2 may be reorganized based on the number of kernels (ie, M), and accordingly, a plurality of weights may be easily obtained from the second feature map FM2. can be extracted. In some embodiments, a softmax function may be applied to weights extracted from the second feature map FM2 in order to emphasize the importance of the kernel, and the weights to which the softmax function is applied may be used in step S66 to be described later.
단계 S66에서, 복수의 커널들의 가중합이 계산될 수 있다. 단계 S64에서 추출된 가중치들에 기초하여 단계 S62에서 추출된 복수의 커널들의 가중합이 계산될 수 있다. 예를 들면, 가중치 및 커널의 곱이 생성될 수 있고, 복수의 곱들이 합산될 수 있다. 커널들의 상이한 크기에 기인하여, 도 4를 참조하여 전술된 바와 같이, 작은 크기의 커널에 대응하는 곱에 제로 패딩이 적용될 수 있다.In step S66, a weighted sum of a plurality of kernels may be calculated. A weighted sum of the plurality of kernels extracted in step S62 may be calculated based on the weights extracted in step S64. For example, a product of a weight and a kernel may be generated, and a plurality of products may be summed. Due to the different sizes of the kernels, as described above with reference to FIG. 4, zero padding may be applied to the product corresponding to the small size kernel.
도 9는 본 개시의 예시적 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다. 구체적으로, 도 9의 순서도는 도 7의 단계 S70에 후속할 수 있는 단계 S80 및 단계 S90을 나타낸다. 일부 실시예들에서, 도 6을 참조하여 전술된 바와 같이, 다중 커널의 가중합에 기초하여 예측된 커널을 사용하여 생성된 출력 데이터(DOUT)는 초해상도 이미징에 사용될 수 있다. 이하에서, 도 9는 도 6을 참조하여 설명될 것이다.9 is a flowchart illustrating an image processing method according to an exemplary embodiment of the present disclosure. Specifically, the flowchart of FIG. 9 shows steps S80 and S90 which may follow step S70 of FIG. 7 . In some embodiments, as described above with reference to FIG. 6 , output data DOUT generated using a kernel predicted based on a weighted sum of multiple kernels may be used for super-resolution imaging. In the following, FIG. 9 will be described with reference to FIG. 6 .
도 9를 참조하면, 단계 S80에서 출력 데이터(DOUT)를 제4 모델(60)에 제공될 수 있다. 도 6을 참조하여 전술된 바와 같이, 제4 모델(60)은 잔차 학습에 기초하여 트레이닝될 수 있고, 복수의 잔차 블록들을 포함할 수 있다. 트레이닝된 제4 모델(60)은 출력 데이터(DOUT)로부터 제4 출력(OUT4)을 생성할 수 있다.Referring to FIG. 9 , output data DOUT may be provided to the
단계 S90에서, 고해상도 이미지(IMG)가 생성될 수 있다. 예를 들면, 입력 데이터(DIN)는 합성곱 레이어 및 업샘플링 레이어에 의해서 처리될 수 있고, 처리 결과는 단계 S80에서 생성된 제4 출력(OUT4)과 합산될 수 있다. 합산 결과는 다시 합성곱 레이어에 의해서 처리될 수 있고, 이에 따라 고해상도 이미지(IMG)가 생성될 수 있다. 출력 데이터(DOUT)의 개선된 품질에 기인하여, 고해상도 이미지(IMG)의 품질 역시 개선된 품질을 가질 수 있다.In step S90, a high-resolution image IMG may be generated. For example, the input data DIN may be processed by the convolution layer and the upsampling layer, and the processing result may be summed with the fourth output OUT4 generated in step S80. The summation result may be processed again by the convolution layer, and thus a high-resolution image IMG may be generated. Due to the improved quality of the output data DOUT, the quality of the high-resolution image IMG may also have improved quality.
일부 실시예들에서, 도 9의 제4 모델(60) 및 도 1의 제1 내지 제3 모델(11 내지 13)을 트레이닝하는데 사용되는 손실 함수는 고해상도 이미지(IMG)에 기초하여 정의될 수 있다. 예를 들면, L1 손실이 사용될 수 있고, L1 손실은 아래 [수학식 5]과 같이 정의될 수 있다.In some embodiments, the loss function used to train the
[수학식 5]에서, HSR은 전술된 모든 모델들에 대응할 수 있다.In [Equation 5], H SR can correspond to all the models described above.
또한, SSIM(structural similarity index measure) 손실이 사용될 수 있고, SSIM 손실은 영역 P에서 픽셀 p에 대한 평균 및 표준 편차의 의존성에 기초하여 아래 [수학식 6]과 같이 정의될 수 있다.In addition, structural similarity index measure (SSIM) loss may be used, and the SSIM loss may be defined as Equation 6 below based on the dependence of the mean and standard deviation for pixel p in area P.
모델들은 [수학식 5]의 손실 및 [수학식 6]의 손실을 모두 고려하여 트레이닝될 수 있고, 이에 따라 아래 [수학식 7]의 손실 함수가 정의될 수 있다.Models may be trained considering both the loss of [Equation 5] and the loss of [Equation 6], and accordingly, the loss function of [Equation 7] below may be defined.
[수학식 7]에서, λSR 및 λSSIM은 일관성(consistency) 및 시각적 품질(visual quality) 사이 균형된 학습 방식에 기초하여 결정되는 계수들일 수 있다.In [Equation 7], λ SR and λ SSIM may be coefficients determined based on a balanced learning method between consistency and visual quality.
도 10은 본 개시의 예시적 실시예에 따른 컴퓨터 시스템(100)을 나타내는 블록도이다. 일부 실시예들에서, 도 10의 컴퓨터 시스템(100)은 도면들을 참조하여 전술된 이미지 처리 또는 모델들의 트레이닝을 수행할 수 있고, 이미지 처리 시스템 또는 트레이닝 시스템 등으로 지칭될 수 있다.10 is a block diagram illustrating a
컴퓨터 시스템(100)은 범용 또는 특수 목적 컴퓨팅 시스템을 포함하는 임의의 시스템을 지칭할 수 있다. 예를 들면, 컴퓨터 시스템(100)은 퍼스널 컴퓨터, 서버 컴퓨터, 랩탑 컴퓨터, 가전 제품 등을 포함할 수 있다. 도 10에 도시된 바와 같이, 컴퓨터 시스템(100)은, 적어도 하나의 프로세서(101), 메모리(102), 스토리지 시스템(103), 네트워크 어댑터(104), 입출력 인터페이스(105) 및 디스플레이(106)를 포함할 수 있다.
적어도 하나의 프로세서(101)는, 컴퓨터 시스템 실행가능 명령어를 포함하는 프로그램 모듈을 실행할 수 있다. 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는, 루틴들, 프로그램들, 객체들, 컴포넌트들, 로직, 데이터 구조 등을 포함할 수 있다. 메모리(102)는 RAM(random access memory)와 같은 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 적어도 하나의 프로세서(101)는 메모리(102)에 액세스할 수 있고, 메모리(102)에 로딩된 명령어들을 실행할 수 있다. 저장 시스템(103)은 비휘발적으로 정보를 저장할 수 있고, 일부 실시예들에서 도면들을 참조하여 전술된 이미지 처리 및/또는 모델들의 트레이닝을 수행하도록 구성된 프로그램 모듈을 포함하는 적어도 하나의 프로그램 제품을 포함할 수 있다. 프로그램은 비제한적인 예시로서, 운영 체제(operating system), 적어도 하나의 어플리케이션, 기타 프로그램 모듈들 및 프로그램 데이터를 포함할 수 있다.At least one
네트워크 어댑터(104)는, LAN(local area network), WAN(wide area network) 및/또는 공용 네트워크(예컨대, 인터넷) 등에 대한 접속을 제공할 수 있다. 입출력 인터페이스(105)는, 키보드, 포인팅 장치, 오디오 시스템 등과 같은 주변장치와의 통신 채널을 제공할 수 있다. 디스플레이(106)는 사용자가 확인할 수 있도록 다양한 정보를 출력할 수 있다.The
일부 실시예들에서, 도면들을 참조하여 전술된 이미지 처리 및/또는 모델들의 트레이닝은 컴퓨터 프로그램 제품으로 구현될 수 있다. 컴퓨터 프로그램 제품은 적어도 하나의 프로세서(101)가 이미지 처리 및/또는 모델들의 트레이닝을 수행하게하기 위한 컴퓨터 판독가능 프로그램 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체(또는 저장 매체)를 포함할 수 있다. 컴퓨터 판독가능 명령어는 비제한적인 예시로서, 어셈블러 명령어, ISA(instruction set architecture) 명령어, 기계 명령어, 기계 종속 명령어, 마이크로 코드, 펌웨어 명령어, 상태 설정 데이터, 또는 적어도 하나의 프로그래밍 언어로 작성된 소스 코드 또는 객체 코드일 수 있다. In some embodiments, the image processing and/or training of models described above with reference to the figures may be implemented as a computer program product. The computer program product may include a non-transitory computer readable medium (or storage medium) containing computer readable program instructions for causing at least one
컴퓨터 판독가능 매체는, 적어도 하나의 프로세서(101) 또는 임의의 명령어 실행가능 장치에 의해서 실행되는 명령어들을 비일시적으로 보유하고 저장할 수 있는 임의의 유형의 매체일 수 있다. 컴퓨터 판독가능 매체는, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 임의의 조합일 수 있으나, 이에 제한되지 아니한다. 예를 들면, 컴퓨터 판독가능 매체는, 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable read only memory), 플래시 메모리, SRAM(static random access memory), CD, DVD, 메모리 스틱, 플로피 디스크, 펀치 카드와 같이 기계적으로 인코딩된 장치 또는 이들의 임의의 조합일 수 있다.The computer readable medium may be any tangible medium capable of non-temporarily holding and storing instructions executed by at least one
도 11은 본 개시의 예시적 실시예에 따른 장치(110)를 나타내는 블록도이다. 일부 실시예들에서, 본 개시의 예시적 실시예에 따른 이미지 처리는 장치(110)에서 실행될 수 있다. 이에 따라, 장치(110)는 입력 이미지로부터 높은 품질의 출력 이미지를 생성할 수 있고, 높은 품질의 출력 이미지를 활용하는 다양한 어플리케이션들을 실행할 수 있다.11 is a block diagram illustrating a
도 11을 참조하면, 장치(110)는 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)를 포함할 수 있고, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 버스(119)를 통해서 상호 통신할 수 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 하나의 반도체 칩에 포함될 수도 있다. 또한, 일부 실시예들에서, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117) 중 적어도 2개는 기판(board)에 장착된 2이상의 반도체 칩들에 각각 포함될 수도 있다.Referring to FIG. 11 , the
적어도 하나의 프로세서(111)는 명령어들을 실행할 수 있다. 예를 들면, 적어도 하나의 프로세서(111)는 메모리(113)에 저장된 명령어들을 실행함으로써 운영 체제(operating system)를 실행할 수도 있고, 운영 체제 상에서 실행되는 어플리케이션들을 실행할 수도 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111)는 명령어들을 실행함으로써, AI 가속기(115) 및/또는 하드웨어 가속기(117)에 작업을 지시할 수 있고, AI 가속기(115) 및/또는 하드웨어 가속기(117)로부터 작업의 수행 결과를 획득할 수도 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111)는 특정한 용도를 위하여 커스텀화된 ASIP(Application Specific Instruction set Processor)일 수 있고, 전용의 명령어 세트(instruction set)를 지원할 수도 있다.At least one
메모리(113)는 데이터를 저장하는 임의의 구조를 가질 수 있다. 예를 들면, 메모리(113)는, DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 장치를 포함할 수도 있고, 플래시 메모리, RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리 장치를 포함할 수도 있다. 적어도 하나의 프로세서(111), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 버스(119)를 통해서 메모리(113)에 데이터(예컨대, 도 2의 IN, IMG_I, IMG_O, OUT)를 저장하거나 메모리(113)로부터 데이터(예컨대, 도 2의 IN, IMG_I, IMG_O, OUT)를 독출할 수 있다.The
AI 가속기(115)는 AI 어플리케이션들을 위해 설계된 하드웨어를 지칭할 수 있다. 일부 실시예들에서, AI 가속기(115)는 뉴로모픽(neuromorphic) 구조를 구현하기 위한 NPU(Neural Processing Unit)를 포함할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)로부터 제공된 입력 데이터를 처리함으로써 출력 데이터를 생성할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 출력 데이터를 제공할 수 있다. 일부 실시예들에서, AI 가속기(115)는 프로그램가능할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 프로그램될 수 있다.AI accelerator 115 may refer to hardware designed for AI applications. In some embodiments, AI accelerator 115 may include a Neural Processing Unit (NPU) for implementing a neuromorphic structure, and may include at least one
하드웨어 가속기(117)는 특정 작업을 고속으로 수행하기 위하여 설계된 하드웨어를 지칭할 수 있다. 예를 들면, 하드웨어 가속기(117)는 복조, 변조, 부호화, 복호화 등과 같은 데이터 변환을 고속으로 수행하도록 설계될 수 있다. 하드웨어 가속기(117)는 프로그램가능할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 프로그램될 수 있다.The
일부 실시예들에서, AI 가속기(115)는 도면들을 참조하여 전술된 모델들을 실행할 수 있다. AI 가속기(115)는 이미지, 피처 맵 등을 처리함으로써 유용한 정보를 포함하는 출력을 생성할 수 있다. 또한, 일부 실시예들에서 AI 가속기(115)가 실행하는 모델들 중 적어도 일부는, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 실행될 수도 있다.In some embodiments, AI accelerator 115 may execute the models described above with reference to the figures. AI accelerator 115 may generate output containing useful information by processing images, feature maps, and the like. Also, in some embodiments, at least some of the models executed by the AI accelerator 115 may be executed by at least one
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Although the embodiments have been described using specific terms in this specification, they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom.
Claims (10)
상기 복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계;
상기 입력 데이터를 제1 기계 학습 모델에 제공하는 단계;
상기 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계;
상기 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계;
상기 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계;
상기 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계; 및
상기 입력 데이터 및 상기 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함하는 방법.As a method for processing a plurality of images,
obtaining input data including the plurality of images;
providing the input data to a first machine learning model;
providing the output of the first machine learning model to a second machine learning model and a third machine learning model;
generating a first feature map corresponding to a plurality of kernels based on the output of the second machine learning model;
generating a second feature map corresponding to a plurality of weights based on the output of the third machine learning model;
generating a predicted kernel based on a weighted sum of the plurality of kernels; and
generating output data based on the input data and the predicted kernel.
상기 예측된 커널을 생성하는 단계는,
상기 제1 피처 맵으로부터 상이한 크기의 상기 복수의 커널들을 추출하는 단계;
상기 제2 피처 맵으로부터 상기 복수의 커널들에 대응하는 상기 복수의 가중치들을 추출하는 단계; 및
상기 복수의 가중치들에 기초하여, 상기 복수의 커널들의 가중합(weighted sum)을 계산하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Generating the predicted kernel,
extracting the plurality of kernels of different sizes from the first feature map;
extracting the plurality of weights corresponding to the plurality of kernels from the second feature map; and
and calculating a weighted sum of the plurality of kernels based on the plurality of weights.
상기 가중합을 계산하는 단계는, 상기 복수의 커널들 중 가장 큰 크기의 제1 커널에 대응되도록, 상기 복수의 커널들 중 상기 제1 커널과 상이한 제2 커널 및 가중치의 곱에 영(zero)을 추가하는 것을 특징으로 하는 방법.The method of claim 2,
The step of calculating the weighted sum is zero in the product of a weight and a second kernel different from the first kernel among the plurality of kernels so as to correspond to the first kernel having the largest size among the plurality of kernels. A method characterized by adding a.
상기 제1 피처 맵을 생성하는 단계는, 상기 복수의 이미지들의 수, 상기 복수의 이미지들 각각의 채널들의 수 및 상기 복수의 커널들의 크기들에 기초하여 상기 제2 기계 학습 모델의 출력을 재조직하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 2,
The generating of the first feature map may include reorganizing an output of the second machine learning model based on the number of the plurality of images, the number of channels of each of the plurality of images, and sizes of the plurality of kernels. A method comprising the steps.
상기 제2 피처 맵을 생성하는 단계는, 상기 복수의 이미지들의 수 및 상기 커널들의 수에 기초하여 상기 제1 기계 학습 모델의 출력을 재조직하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 2,
wherein generating the second feature map comprises reorganizing an output of the first machine learning model based on the number of the plurality of images and the number of kernels.
상기 복수의 가중치들을 추출하는 단계는, 추출된 가중치들에 소프트맥스 함수를 적용하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 5,
The extracting of the plurality of weights comprises applying a softmax function to the extracted weights.
상기 출력 데이터는, 복수의 출력 이미지들을 포함하고,
상기 출력 데이터를 생성하는 단계는, 상기 복수의 이미지들 각각과 상기 예측된 커널과 합성곱(convolution) 연산함으로써, 상기 복수의 출력 이미지들 각각을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 1,
The output data includes a plurality of output images,
The generating of the output data comprises generating each of the plurality of output images by performing a convolution operation with each of the plurality of images and the predicted kernel.
상기 출력 데이터를 복수의 잔차(residual) 블록들을 포함하는 제4 기계 학습 모델에 제공하는 단계; 및
상기 제4 기계 학습 모델의 출력에 기초하여, 상기 입력 데이터에 대응하는 초해상도 이미지를 생성하는 단계를 더 포함하는 방법.The method of claim 1,
providing the output data to a fourth machine learning model comprising a plurality of residual blocks; and
Based on the output of the fourth machine learning model, generating a super-resolution image corresponding to the input data.
상기 적어도 하나의 프로세서에 의해서 실행시, 상기 적어도 하나의 프로세서로 하여금 이미지 처리를 수행하도록하는 명령어들을 저장하는 비일시적 저장 매체를 포함하고,
상기 이미지 처리는,
복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계;
상기 입력 데이터를 제1 기계 학습 모델에 제공하는 단계;
상기 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계;
상기 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계;
상기 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계;
상기 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계; 및
상기 입력 데이터 및 상기 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 시스템.at least one processor; and
A non-transitory storage medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform image processing;
The image processing,
obtaining input data including a plurality of images;
providing the input data to a first machine learning model;
providing the output of the first machine learning model to a second machine learning model and a third machine learning model;
generating a first feature map corresponding to a plurality of kernels based on the output of the second machine learning model;
generating a second feature map corresponding to a plurality of weights based on the output of the third machine learning model;
generating a predicted kernel based on a weighted sum of the plurality of kernels; and
and generating output data based on the input data and the predicted kernel.
상기 명령어들은, 적어도 하나의 프로세서에 의해서 실행시 상기 적어도 하나의 프로세서로 하여금 이미지 처리를 수행하도록 하고,
상기 이미지 처리는,
복수의 이미지들을 포함하는 입력 데이터를 획득하는 단계;
상기 입력 데이터를 제1 기계 학습 모델에 제공하는 단계;
상기 제1 기계 학습 모델의 출력을 제2 기계 학습 모델 및 제3 기계 학습 모델에 제공하는 단계;
상기 제2 기계 학습 모델의 출력에 기초하여, 복수의 커널들에 대응하는 제1 피처 맵을 생성하는 단계;
상기 제3 기계 학습 모델의 출력에 기초하여, 복수의 가중치들에 대응하는 제2 피처 맵을 생성하는 단계;
상기 복수의 커널들의 가중합에 기초하여 예측된 커널을 생성하는 단계; 및
상기 입력 데이터 및 상기 예측된 커널에 기초하여, 출력 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.A non-transitory computer-readable storage medium containing instructions,
the instructions, when executed by at least one processor, cause the at least one processor to perform image processing;
The image processing,
obtaining input data including a plurality of images;
providing the input data to a first machine learning model;
providing the output of the first machine learning model to a second machine learning model and a third machine learning model;
generating a first feature map corresponding to a plurality of kernels based on the output of the second machine learning model;
generating a second feature map corresponding to a plurality of weights based on the output of the third machine learning model;
generating a predicted kernel based on a weighted sum of the plurality of kernels; and
and generating output data based on the input data and the predicted kernel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/929,186 US20230073175A1 (en) | 2021-09-03 | 2022-09-01 | Method and system for processing image based on weighted multiple kernels |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163240546P | 2021-09-03 | 2021-09-03 | |
US63/240,546 | 2021-09-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230034820A true KR20230034820A (en) | 2023-03-10 |
Family
ID=85570374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210149019A KR20230034820A (en) | 2021-09-03 | 2021-11-02 | Method and system for processing image based on weighted multi-kernel |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230034820A (en) |
-
2021
- 2021-11-02 KR KR1020210149019A patent/KR20230034820A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019451948B2 (en) | Real-time video ultra resolution | |
US11087504B2 (en) | Transforming grayscale images into color images using deep neural networks | |
CN111104962B (en) | Semantic segmentation method and device for image, electronic equipment and readable storage medium | |
CN111402143B (en) | Image processing method, device, equipment and computer readable storage medium | |
WO2021073493A1 (en) | Image processing method and device, neural network training method, image processing method of combined neural network model, construction method of combined neural network model, neural network processor and storage medium | |
WO2021018163A1 (en) | Neural network search method and apparatus | |
WO2022116856A1 (en) | Model structure, model training method, and image enhancement method and device | |
JP2022518322A (en) | Semantic segmentation with soft cross entropy loss | |
US20200013205A1 (en) | Colorizing Vector Graphic Objects | |
JP2019527420A (en) | Superpixel method for convolutional neural networks | |
KR20220124622A (en) | Image compression method and apparatus thereof | |
US20200410643A1 (en) | Image generation using subscaling and depth up-scaling | |
Patel et al. | A generative adversarial network for tone mapping HDR images | |
US10936938B2 (en) | Method for visualizing neural network models | |
WO2022100490A1 (en) | Methods and systems for deblurring blurry images | |
KR20220101645A (en) | Gaming Super Resolution | |
CN113066018A (en) | Image enhancement method and related device | |
JP7378500B2 (en) | Autoregressive video generation neural network | |
US20230073175A1 (en) | Method and system for processing image based on weighted multiple kernels | |
KR102083166B1 (en) | Image processing method and apparatus | |
CN116977169A (en) | Data processing method, apparatus, device, readable storage medium, and program product | |
CN115018059B (en) | Data processing method and device, neural network model, device and medium | |
KR20230034820A (en) | Method and system for processing image based on weighted multi-kernel | |
CN115578261A (en) | Image processing method, deep learning model training method and device | |
CN115375909A (en) | Image processing method and device |