KR20230165676A - Method for correcting image by using neural network, and computing apparatus executing neural network for correcting image - Google Patents

Method for correcting image by using neural network, and computing apparatus executing neural network for correcting image Download PDF

Info

Publication number
KR20230165676A
KR20230165676A KR1020220140507A KR20220140507A KR20230165676A KR 20230165676 A KR20230165676 A KR 20230165676A KR 1020220140507 A KR1020220140507 A KR 1020220140507A KR 20220140507 A KR20220140507 A KR 20220140507A KR 20230165676 A KR20230165676 A KR 20230165676A
Authority
KR
South Korea
Prior art keywords
image
neural network
network model
input
correction
Prior art date
Application number
KR1020220140507A
Other languages
Korean (ko)
Inventor
박필규
김재환
양희철
이종석
이채은
박영오
최광표
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2023/007295 priority Critical patent/WO2023229431A1/en
Priority to US18/220,008 priority patent/US20230385986A1/en
Publication of KR20230165676A publication Critical patent/KR20230165676A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)

Abstract

본 개시의 일 실시예에 따른 신경망 모델을 이용하여 영상을 보정하는 방법은, 컴퓨팅 장치의 프로세서가 제1 신경망 모델에 입력 영상(input image) 및 보정 파라미터(correction parameter)를 입력하는 단계 및 상기 프로세서가 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상(inference image)을 획득하는 단계를 포함하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상(label image) 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능하다.A method of correcting an image using a neural network model according to an embodiment of the present disclosure includes the steps of a processor of a computing device inputting an input image and a correction parameter to a first neural network model, and the processor Obtaining an inference image corresponding to the correction parameter from the first neural network model, wherein the first neural network model includes the inference image output when the input image and the correction parameter are input. and, a model learned to minimize the difference between label images corresponding to the correction parameters, wherein the label image corresponding to the correction parameters is, when the correction parameters are applied to at least one image correction algorithm, Since the input image is an image corrected by at least one image correction algorithm, and the first neural network model learns the relationship between the correction parameter and the label image, the image output from the first neural network model is changed by changing the correction parameter. Control of the inferred image is possible.

Description

신경망 모델을 이용하여 영상을 보정하는 방법 및 영상 보정을 위한 신경망 모델을 실행하는 컴퓨팅 장치 {METHOD FOR CORRECTING IMAGE BY USING NEURAL NETWORK, AND COMPUTING APPARATUS EXECUTING NEURAL NETWORK FOR CORRECTING IMAGE}Method for correcting an image using a neural network model and a computing device executing a neural network model for image correction {METHOD FOR CORRECTING IMAGE BY USING NEURAL NETWORK, AND COMPUTING APPARATUS EXECUTING NEURAL NETWORK FOR CORRECTING IMAGE}

본 개시는 신경망 모델을 이용하여 영상을 보정하는 방법 및 영상 보정을 위한 신경망 모델을 실행하는 컴퓨팅 장치에 관한 것이다.The present disclosure relates to a method of correcting an image using a neural network model and a computing device that executes the neural network model for image correction.

최근 신경망 기술의 발전으로 인해 다양한 분야에서 신경망이 활용되고 있다. 특히 영상의 보정이나 복원 등을 수행하기 위한 영상 신호 처리 분야에서도 신경망을 활용함으로써 처리 속도 및 영상 특성을 향상시킬 수 있다.Due to recent developments in neural network technology, neural networks are being used in various fields. In particular, processing speed and image characteristics can be improved by utilizing neural networks in the field of image signal processing to perform image correction or restoration.

예를 들어, 스마트폰과 같은 모바일 단말에는 구비된 카메라로 촬영한 영상을 보정하기 위한 프로그램이 설치되는데, 기존의 영상 보정 알고리즘들을 포함하도록 구현된 프로그램을 신경망으로 대체할 수 있다면 다양한 측면에서 장점을 기대할 수 있을 것이다.For example, in mobile terminals such as smartphones, a program is installed to correct images taken with an equipped camera. If a program implemented to include existing image correction algorithms can be replaced with a neural network, there are advantages in various aspects. You can expect it.

기술적 과제를 달성하기 위한 기술적 수단으로 개시된, 신경망 모델을 이용하여 영상을 보정하는 방법은, 컴퓨팅 장치의 프로세서가 제1 신경망 모델에 입력 영상(input image) 및 보정 파라미터(correction parameter)를 입력하는 단계 및 상기 프로세서가 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상(inference image)을 획득하는 단계를 포함하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상(label image) 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능하다.A method of correcting an image using a neural network model, disclosed as a technical means for achieving a technical problem, includes the steps of a processor of a computing device inputting an input image and a correction parameter to a first neural network model. And a step of the processor acquiring an inference image corresponding to the correction parameter from the first neural network model, wherein the first neural network model outputs an inference image when the input image and the correction parameter are input. A model learned to minimize the difference between the inferred image and a label image corresponding to the correction parameter, and the label image corresponding to the correction parameter is a model in which the correction parameter has been applied to at least one image correction algorithm. When the input image is an image corrected by the at least one image correction algorithm, and the first neural network model learns the relationship between the correction parameter and the label image, the first neural network model is changed by changing the correction parameter. It is possible to control the inferred image output from .

기술적 과제를 달성하기 위한 기술적 수단으로 개시된, 영상 보정을 위한 신경망 모델을 실행하는 컴퓨팅 장치는, 사용자로부터 입력을 수신하기 위한 입출력 인터페이스, 입력 영상을 보정하기 위한 프로그램이 저장되는 메모리 및 프로세서를 포함하고, 상기 프로세서는 상기 프로그램을 실행함으로써, 제1 신경망 모델에 입력 영상 및 보정 파라미터를 입력하고, 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상을 획득하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능하다.A computing device executing a neural network model for image correction, disclosed as a technical means for achieving a technical task, includes an input/output interface for receiving input from a user, a memory storing a program for correcting an input image, and a processor; , the processor executes the program, inputs an input image and correction parameters to a first neural network model, and obtains an inferred image corresponding to the correction parameters from the first neural network model, and the first neural network model is configured to: It is a model learned to minimize the difference between the inferred image output when the input image and the correction parameter are input, and the label image corresponding to the correction parameter, and the label image corresponding to the correction parameter has the correction parameter at least When applied to one image correction algorithm, the input image is an image corrected by the at least one image correction algorithm, and the first neural network model learns the relationship between the correction parameter and the label image, so that the correction parameter It is possible to control the inferred image output from the first neural network model by changing .

기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.A computer-readable recording medium disclosed as a technical means for achieving a technical problem may store a program for executing at least one of the embodiments of the disclosed method on a computer.

기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 컴퓨터 프로그램은, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 수행하기 위해 매체에 저장된 것일 수 있다.A computer program disclosed as a technical means for achieving a technical problem may be stored in a medium for performing at least one of the embodiments of the disclosed method on a computer.

도 1은 본 개시의 일 실시예에 따른, 제1 신경망 모델(100)의 동작을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른, 제2 신경망 모델(200)의 동작을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 제1 신경망 모델(100)을 학습시키는 과정을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 제2 신경망 모델(200)을 학습시키는 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 레이블 영상 생성 모듈(300)이 입력 영상(1)으로부터 레이블 영상(3)을 생성하는 과정을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 명암비 개선 알고리즘(310)에 적용되는 스트렝스 값(11)에 대해서 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 밝기 보정 알고리즘(320)에 적용되는 감마 값(12)에 대해서 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 노출 융합 알고리즘(330)에 적용되는 값(13)에 대해서 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 보정 파라미터를 제1 신경망 모델에 대한 입력으로 인가하는 방법을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 모바일 단말(1000)에 포함되는 구성들을 개략적으로 도시한 도면이다.
도 11은 본 개시의 일 실시예에 따른 ISP의 세부 구성을 개략적으로 도시한 도면이다.
도 12는 본 개시의 실시예에 따른 신경망 모델들(100, 200)이 도 10의 영상 보정 모듈(1013b)에 포함되는 구체적인 실시예를 도시한 도면이다.
도 13 내지 도 15는 본 개시의 실시예들에 따른, 신경망 모델을 이용하여 영상을 보정하는 방법을 설명하기 위한 순서도들이다.
도 16은 본 개시의 일 실시예에 따른 제1 신경망 모델에 입력되는 보정 파라미터가 변경되었을 때 추론 영상의 변화를 설명하기 위한 도면이다.
도 17은 본 개시의 일 실시예에 따른, 모바일 단말(1000)의 화면에 표시된 UI를 통해 밝기 조절을 위한 보정 파라미터를 사용자가 조정하는 상황을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른, 신경망 모델들(100, 200)에 대한 학습을 수행하기 위한 컴퓨팅 장치의 구성을 도시한 블록도이다.
도 19는 본 개시의 일 실시예에 따른, 클라우드 서버(1900)가 신경망 모델들(100, 200)을 이용하여, 모바일 단말(1000)로부터 수신하는 영상을 보정하는 실시예를 설명하기 위한 도면이다.
도 20 및 도 21은 각각 본 개시의 실시예들에 따른 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 학습시키는 방법을 설명하기 위한 순서도들이다.
도 22 및 도 23은 본 개시의 일 실시예에 따른 신경망 모델을 업데이트하는 방법을 설명하기 위한 도면들이다.
FIG. 1 is a diagram for explaining the operation of a first neural network model 100 according to an embodiment of the present disclosure.
FIG. 2 is a diagram for explaining the operation of the second neural network model 200 according to an embodiment of the present disclosure.
FIG. 3 is a diagram for explaining a process of training the first neural network model 100 according to an embodiment of the present disclosure.
FIG. 4 is a diagram illustrating a process of learning the second neural network model 200 according to an embodiment of the present disclosure.
FIG. 5 is a diagram illustrating a process in which the label image generation module 300 generates the label image 3 from the input image 1 according to an embodiment of the present disclosure.
FIG. 6 is a diagram for explaining the strength value 11 applied to the contrast ratio improvement algorithm 310 according to an embodiment of the present disclosure.
FIG. 7 is a diagram for explaining the gamma value 12 applied to the brightness correction algorithm 320 according to an embodiment of the present disclosure.
Figure 8 is applied to the exposure fusion algorithm 330 according to an embodiment of the present disclosure. This is a drawing to explain the value (13).
FIG. 9 is a diagram illustrating a method of applying a correction parameter as an input to a first neural network model, according to an embodiment of the present disclosure.
FIG. 10 is a diagram schematically showing components included in the mobile terminal 1000 according to an embodiment of the present disclosure.
Figure 11 is a diagram schematically showing the detailed configuration of an ISP according to an embodiment of the present disclosure.
FIG. 12 is a diagram illustrating a specific embodiment in which neural network models 100 and 200 according to an embodiment of the present disclosure are included in the image correction module 1013b of FIG. 10.
13 to 15 are flowcharts illustrating a method of correcting an image using a neural network model according to embodiments of the present disclosure.
FIG. 16 is a diagram illustrating a change in an inferred image when a correction parameter input to a first neural network model is changed according to an embodiment of the present disclosure.
FIG. 17 is a diagram illustrating a situation in which a user adjusts correction parameters for brightness adjustment through a UI displayed on the screen of a mobile terminal 1000, according to an embodiment of the present disclosure.
FIG. 18 is a block diagram illustrating the configuration of a computing device for performing learning on neural network models 100 and 200, according to an embodiment of the present disclosure.
FIG. 19 is a diagram illustrating an embodiment in which the cloud server 1900 corrects an image received from the mobile terminal 1000 using the neural network models 100 and 200, according to an embodiment of the present disclosure. .
20 and 21 are flowcharts for explaining a method of training the first neural network model 100 and the second neural network model 200, respectively, according to embodiments of the present disclosure.
Figures 22 and 23 are diagrams for explaining a method of updating a neural network model according to an embodiment of the present disclosure.

본 개시를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the present disclosure, description of technical content that is well known in the technical field to which the present disclosure belongs and that is not directly related to the present disclosure will be omitted. This is to convey the gist of the present disclosure more clearly without obscuring it by omitting unnecessary explanation. In addition, the terms described below are terms defined in consideration of the functions in the present disclosure, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.

마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시 되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성 요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically shown in the attached drawings. Additionally, the size of each component does not entirely reflect its actual size. In each drawing, identical or corresponding components are assigned the same reference numbers.

본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 개시된 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 개시의 일 실시예는 청구범위에 따라 정의될 수 있다. 명세서 전체에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 나타낸다. 또한, 본 개시의 일 실시예를 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The advantages and features of the present disclosure and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. The disclosed embodiments are provided to ensure that the disclosure is complete and to fully inform those skilled in the art of the disclosure of the scope of the disclosure. One embodiment of the present disclosure may be defined according to the claims. Like reference numerals refer to like elements throughout the specification. Additionally, when describing an embodiment of the present disclosure, if it is determined that a detailed description of a related function or configuration may unnecessarily obscure the gist of the present disclosure, the detailed description will be omitted. In addition, the terms described below are terms defined in consideration of the functions in the present disclosure, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.

일 실시예에서, 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있고, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성할 수 있다. 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하고, 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하다.In one embodiment, each block of the flow diagram diagrams and combinations of the flow diagram diagrams may be performed by computer program instructions. Computer program instructions may be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, and the instructions performed through the processor of the computer or other programmable data processing equipment may perform the functions described in the flowchart block(s). You can create the means to carry them out. The computer program instructions may also be stored in a computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way. The instructions may also produce manufactured items containing instruction means that perform the functions described in the flow diagram block(s). Computer program instructions may also be mounted on a computer or other programmable data processing equipment.

또한, 흐름도 도면의 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일 실시예에서, 블록들에 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예를 들면, 잇달아 도시되어 있는 두 개의 블록들은 실질적으로 동시에 수행되는 것도 가능하고 또는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block in a flowchart diagram may represent a module, segment, or portion of code containing one or more executable instructions for executing specified logical function(s). In one embodiment, it is possible for functions mentioned in blocks to occur out of order. For example, two blocks shown in succession may be performed substantially simultaneously or may be performed in reverse order depending on their functions.

본 개시의 일 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 나타낼 수 있고, '~부'는 특정한 역할을 수행할 수 있다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 일 실시예에서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 특정한 구성요소나 특정한 '~부'를 통해 제공되는 기능은 그 개수를 줄이도록 결합되거나 추가적인 구성요소들로 분리될 수 있다. 또한, 일 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.The term '~unit' used in an embodiment of the present disclosure may refer to software or hardware components such as FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit), and '~unit' refers to a specific role. can be performed. Meanwhile, '~ part' is not limited to software or hardware. The '~ part' may be configured to reside in an addressable storage medium and may be configured to reproduce on one or more processors. In one embodiment, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, May include subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Functions provided through specific components or specific '~parts' can be combined to reduce their number or separated into additional components. Additionally, in one embodiment, ‘˜part’ may include one or more processors.

본 개시의 실시예들은 신경망 모델을 이용하여 영상을 보정하는 방법에 관한 것이다. 구체적인 실시예들을 설명하기에 앞서 본 명세서에서 자주 사용되는 용어들의 의미를 정의한다.Embodiments of the present disclosure relate to a method of correcting an image using a neural network model. Before describing specific embodiments, the meaning of terms frequently used in this specification are defined.

'입력 영상(input image)'이란 신경망 모델에 입력되는 영상이고, '추론 영상(inference image)'이란 신경망 모델이 입력 영상을 보정하여 출력하는 영상이다. 일 실시예에 따르면, 입력 영상은 복수의 원시 영상(raw image)들로부터 생성되는 리니어 RGB(linear RGB) 영상일 수 있다. 일 실시예에 따르면, '원시 영상'이란 이미지 센서(e.g. CCD 센서, CMOS 센서 등)에서 출력되는 영상으로, 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷(Bayer format)의 영상을 의미할 수 있다. 또한 일 실시예에 따르면, 특정 시점의 전후로 촬영된 복수의 원시 영상들에 대해서, 원시 영상들의 시간적 정보(temporal information)를 이용하고 디모자이킹 및 디노이징을 수행함으로써 하나의 리니어 RGB 영상을 획득할 수 있다.An 'input image' is an image that is input to a neural network model, and an 'inference image' is an image that the neural network model outputs by correcting the input image. According to one embodiment, the input image may be a linear RGB image generated from a plurality of raw images. According to one embodiment, 'raw image' is an image output from an image sensor (e.g. CCD sensor, CMOS sensor, etc.), and may mean an image in Bayer format with only one color channel per pixel. . Additionally, according to one embodiment, one linear RGB image can be obtained by using temporal information of the raw images and performing demosaicing and denoising on a plurality of raw images taken before and after a specific point in time. You can.

'영상 특성(image characteristic)'이란 영상의 밝기(brightness), 명암비(contrast), 색온도(color temperature) 등을 의미한다.‘Image characteristic’ refers to the brightness, contrast, and color temperature of the image.

'영상 보정(image correction)'이란 영상의 특성을 조절(adjust)하는 동작을 의미하고, '영상 보정 알고리즘'이란 영상의 특성을 조절하기 위한 알고리즘을 의미한다.‘Image correction’ refers to the operation of adjusting the characteristics of an image, and ‘image correction algorithm’ refers to an algorithm for adjusting the characteristics of an image.

'보정 파라미터(correction parameter)'란 영상 보정 알고리즘을 이용하여 영상 보정 시 영상 보정 알고리즘에 적용되는 파라미터를 의미한다. 즉, 보정 파라미터의 값에 따라서 영상의 특성이 조절되는 정도가 결정될 수 있다. 보정 파라미터의 구체적인 예시들은 아래에서 설명하기로 한다.‘Correction parameter’ refers to a parameter applied to an image correction algorithm when correcting an image using an image correction algorithm. In other words, the degree to which image characteristics are adjusted can be determined according to the value of the correction parameter. Specific examples of correction parameters will be described below.

'레이블 영상(label image)'이란 본 개시의 실시예들에 따른 신경망 모델에 대한 지도학습(supervised learning)을 수행하기 위한 훈련용 데이터(training data)로서 사용되는 영상이며, 특히 그라운드 트루스 데이터(ground truth data)로 사용되는 영상을 의미한다. '레이블 영상 생성 모듈'은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상을 보정함으로써 레이블 영상을 생성하는 구성이다.A ‘label image’ is an image used as training data to perform supervised learning on a neural network model according to embodiments of the present disclosure, and in particular, ground truth data (ground truth data). This refers to the image used as truth data. The 'label image generation module' is a component that generates a label image by correcting an input image using at least one image correction algorithm.

본 개시의 실시예들에 따른 신경망 모델은 입력 영상을 보정하여 추론 영상을 출력하는 '제1 신경망 모델'과, 주어진 입력 영상에 대해서 최적의 보정 파라미터를 추론하는 '제2 신경망 모델'을 포함할 수 있다. 제1 신경망 모델 및 제2 신경망 모델이 실제 디바이스에서 어떻게 사용될 수 있는지에 대해서는 아래에서 도 10 및 도 11을 참조하여 자세히 설명한다.The neural network model according to embodiments of the present disclosure may include a 'first neural network model' that corrects the input image and outputs an inferred image, and a 'second neural network model' that infers the optimal correction parameter for a given input image. You can. How the first neural network model and the second neural network model can be used in an actual device will be described in detail below with reference to FIGS. 10 and 11.

1.One. 제1 신경망 모델 및 제2 신경망 모델의 기본적인 동작 설명Description of the basic operation of the first neural network model and the second neural network model

먼저 도 1 및 도 2를 참조하여 제1 신경망 모델(100) 및 제2 신경망 모델(200)의 역할에 대해서 간략히 설명하고, 이어서 도 3 및 도 4를 참조하여 그러한 역할을 수행하기 위해 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 어떻게 학습시키는지에 대해서 설명한다.First, with reference to FIGS. 1 and 2, the roles of the first neural network model 100 and the second neural network model 200 will be briefly described, and then with reference to FIGS. 3 and 4, the first neural network to perform those roles will be described briefly. How to train the model 100 and the second neural network model 200 will be described.

도 1은 본 개시의 일 실시예에 따른 제1 신경망 모델(100)의 동작을 설명하기 위한 도면이다. 도 1을 참고하면, 일 실시예에 따른 제1 신경망 모델(100)은 입력 영상(1) 및 보정 파라미터(10)를 입력받으면, 보정 파라미터(10)에 대응하는 추론 영상(2)을 출력할 수 있다. 이때, 추론 영상(2)은 보정 파라미터(10)에 기초하여 입력 영상(1)이 보정된 영상에 해당한다. 제1 신경망 모델(100)이 이와 같은 추론 영상(2)을 출력하기 위해서 어떻게 학습되는지에 대해서는 아래에서 도 3을 참조하여 자세히 설명한다.FIG. 1 is a diagram for explaining the operation of a first neural network model 100 according to an embodiment of the present disclosure. Referring to FIG. 1, when the first neural network model 100 according to one embodiment receives an input image 1 and a correction parameter 10, it outputs an inferred image 2 corresponding to the correction parameter 10. You can. At this time, the inferred image (2) corresponds to an image in which the input image (1) has been corrected based on the correction parameter (10). How the first neural network model 100 is learned to output such an inferred image 2 will be described in detail below with reference to FIG. 3.

일반적으로 입력 영상(1)은 영상의 전체 또는 일부 영역이 어둡거나, 명암비가 낮아 영상 내 객체가 잘 인식되지 않는 문제를 가지고 있을 수 있다. 제1 신경망 모델(100)은 이러한 문제를 해결하도록 입력 영상(1)의 밝기를 높이거나 명암비를 개선하는 역할을 수행할 수 있다.In general, the input image (1) may have a problem in which the entire or partial area of the image is dark or the contrast ratio is low, making it difficult for objects in the image to be recognized. The first neural network model 100 may serve to increase the brightness or improve the contrast ratio of the input image 1 to solve this problem.

제1 신경망 모델(100)은 도 1에 도시된 바와 같이 추론 영상(2)을 출력할 수도 있지만, 영상 자체를 출력하지 않고 입력 영상(1)을 추론 영상(2)으로 변환하는데 사용되는 필터(filter) 또는 맵 정보(map information)를 출력할 수도 있다. 즉, 입력 영상(1)은 제1 신경망 모델(100)이 출력하는 필터 또는 맵 정보를 이용하여 추론 영상(2)으로 변환될 수도 있다.The first neural network model 100 may output the inferred image 2 as shown in FIG. 1, but does not output the image itself and uses a filter ( filter) or map information can also be output. That is, the input image 1 may be converted into the inferred image 2 using the filter or map information output by the first neural network model 100.

제1 신경망 모델(100)은 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)로 구현될 수도 있으나, 이에 한정되지 않는다.The first neural network model 100 may be implemented to include various types of deep learning networks, for example, it may be implemented as ResNet (Residual Network), a type of convolution neural network (CNN). It is not limited to this.

도 2는 본 개시의 일 실시예에 따른 제2 신경망 모델(200)의 동작을 설명하기 위한 도면이다. 도 2를 참고하면, 일 실시예에 따른 제2 신경망 모델(200)은 입력 영상(1)을 입력받아 보정 파라미터(10)를 추론하여 출력할 수 있다. 제2 신경망 모델(200)에서 출력된 보정 파라미터(10)는 제1 신경망 모델(100)에 입력되고, 제1 신경망 모델(100)은 앞서 도 1을 참조하여 설명한 바와 같이 보정 파라미터(10)에 대응하는 추론 영상(2)을 출력할 수 있다.FIG. 2 is a diagram for explaining the operation of the second neural network model 200 according to an embodiment of the present disclosure. Referring to FIG. 2, the second neural network model 200 according to one embodiment may receive the input image 1, infer the correction parameter 10, and output it. The correction parameter 10 output from the second neural network model 200 is input to the first neural network model 100, and the first neural network model 100 is input to the correction parameter 10 as previously described with reference to FIG. 1. The corresponding inferred image (2) can be output.

제2 신경망 모델(200)은 사용자가 좋아할 만한 영상 특성을 가지도록 입력 영상(1)을 보정하기 위한 보정 파라미터(10)를 추론할 수 있다. 이때, 제2 신경망 모델(200)이 추론하는 보정 파라미터(10)로 인해 입력 영상(1)이 어떤 방향으로 보정되는지는 제2 신경망 모델(200)의 학습 과정에서 결정될 수 있으며, 자세한 내용은 아래에서 도 4를 참조하여 설명한다.The second neural network model 200 can infer a correction parameter 10 for correcting the input image 1 to have image characteristics that the user may like. At this time, the direction in which the input image 1 is corrected due to the correction parameter 10 inferred by the second neural network model 200 may be determined during the learning process of the second neural network model 200. Details are provided below. This will be described with reference to FIG. 4 .

제2 신경망 모델(200) 역시 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)으로 구현될 수도 있으나, 이에 한정되지 않는다.The second neural network model 200 may also be implemented to include various types of deep learning networks, for example, it may be implemented as ResNet (Residual Network), a type of convolution neural network (CNN). It is not limited to this.

2.2. (학습 과정) 제1 신경망 모델 및 제2 신경망 모델을 학습시키는 방법(Learning process) Method of training the first neural network model and the second neural network model

이하에서는 도 3 및 도 4를 참조하여 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 학습시키는 방법에 대해서 설명한다.Hereinafter, a method of training the first neural network model 100 and the second neural network model 200 will be described with reference to FIGS. 3 and 4.

일 실시예에 따르면, 신경망 모델들(100, 200)의 학습은 신경망 모델들(100, 200)이 탑재되는 디바이스(e.g. 도 10의 모바일 단말(1000))가 아닌 외부의 다른 장치(e.g. 도 18의 컴퓨팅 장치(1800))에 의해서 수행될 수 있다. 물론, 실시예에 따라서 신경망 모델들(100, 200)이 탑재되는 디바이스가 신경망 모델들(100, 200)의 학습을 수행할 수도 있다. 이하에서는 설명의 편의를 위해 도 18의 컴퓨팅 장치(1800)의 프로세서(1830)가 메모리(1820)에 저장된 프로그램을 실행함으로써, 도 3 및 도 4에서 설명되는 신경망 모델(100, 200)에 대한 학습을 수행한다고 가정한다. 즉, 도 3 및 도 4에서 레이블 영상 생성 모듈(300)이나 옵티마이저(400)가 수행하는 동작들과 손실함수 (loss function)의 계산 등은 실제로는 도 18의 컴퓨팅 장치(1800)의 프로세서(1830)가 수행하는 것으로 볼 수 있다.According to one embodiment, learning of the neural network models 100 and 200 is performed not by a device on which the neural network models 100 and 200 are mounted (e.g. the mobile terminal 1000 of FIG. 10) but by another external device (e.g. FIG. 18). It may be performed by a computing device 1800). Of course, depending on the embodiment, a device on which the neural network models 100 and 200 are mounted may perform learning of the neural network models 100 and 200. Hereinafter, for convenience of explanation, the processor 1830 of the computing device 1800 of FIG. 18 executes a program stored in the memory 1820 to learn the neural network models 100 and 200 described in FIGS. 3 and 4. Assume that you are performing: That is, the operations performed by the label image generation module 300 or the optimizer 400 and the calculation of the loss function in FIGS. 3 and 4 are actually performed by the processor ( 1830) can be seen as carrying it out.

도 18의 컴퓨팅 장치(1800)의 프로세서(1830)는 CPU(1831), GPU(1832) 및 NPU(1833)를 포함할 수 있으며, 이들 중 적어도 하나를 이용하여 메모리(1820)에 저장된 프로그램을 실행함으로써 신경망 모델(100, 200)에 대한 학습을 수행할 수 있다. 컴퓨팅 장치(1800)의 입출력 인터페이스(1810)는 신경망 모델(100, 200)의 학습과 관련한 명령을 수신하거나 정보를 표시할 수 있다.The processor 1830 of the computing device 1800 of FIG. 18 may include a CPU 1831, a GPU 1832, and an NPU 1833, and executes a program stored in the memory 1820 using at least one of these. By doing so, learning about the neural network model (100, 200) can be performed. The input/output interface 1810 of the computing device 1800 may receive commands or display information related to learning of the neural network models 100 and 200.

도 3은 본 개시의 일 실시예에 따른 제1 신경망 모델(100)을 학습시키는 과정을 설명하기 위한 도면이다. 도 3을 참고하면, 레이블 영상 생성 모듈(300)은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상(1)을 보정한 레이블 영상(3)을 출력할 수 있다. 레이블 영상 생성 모듈(300)이 입력 영상(1)을 보정할 때 영상 보정 알고리즘에 보정 파라미터(10)가 적용되는데, 레이블 영상 생성 모듈(300)이 사용하는 영상 보정 알고리즘, 그리고 보정 파라미터(10)에 대해서는 도 5 내지 도 8을 참조하여 자세히 설명한다.FIG. 3 is a diagram for explaining a process of training the first neural network model 100 according to an embodiment of the present disclosure. Referring to FIG. 3 , the label image generation module 300 may output a label image 3 by correcting the input image 1 using at least one image correction algorithm. When the label image creation module 300 corrects the input image 1, the correction parameter 10 is applied to the image correction algorithm. The image correction algorithm used by the label image creation module 300, and the correction parameter 10 This will be described in detail with reference to FIGS. 5 to 8.

도 5는 본 개시의 일 실시예에 따른 레이블 영상 생성 모듈(300)이 입력 영상(1)으로부터 레이블 영상(3)을 생성하는 과정을 설명하기 위한 도면이다. 도 5를 참고하면, 레이블 영상 생성 모듈(300)은 명암비 개선 (contrast enhancement) 알고리즘(310), 밝기 보정 (brightness correction) 알고리즘(320) 및 노출 융합 (exposure fusion) 알고리즘(330)을 사용할 수 있다. 다만, 도 5에 개시된 레이블 영상 생성 모듈(300)이 사용하는 영상 보정 알고리즘들은 예시에 불과하며, 레이블 영상 생성 모듈(300)은 이 밖에 다양한 종류의 영상 보정 알고리즘들을 사용할 수도 있다.FIG. 5 is a diagram illustrating a process in which the label image generation module 300 generates the label image 3 from the input image 1 according to an embodiment of the present disclosure. Referring to FIG. 5, the label image generation module 300 may use a contrast enhancement algorithm 310, a brightness correction algorithm 320, and an exposure fusion algorithm 330. . However, the image correction algorithms used by the label image generation module 300 disclosed in FIG. 5 are merely examples, and the label image generation module 300 may also use various types of image correction algorithms.

도 5에는 보정 파라미터(10)에 구체적으로 어떤 파라미터들이 포함되는지, 그리고 각 파라미터들은 어떤 영상 보정 알고리즘에 대응되는지를 나타내었다. 도 5를 참고하면, 명암비 개선 알고리즘(310)에는 스트렝스 (strength) 값(11)이 적용될 수 있고, 밝기 보정 알고리즘(320)에는 감마 (gamma) 값(12)이 적용될 수 있고, 노출 융합 알고리즘(330)에는 α 값(13)이 적용될 수 있다. 각각의 영상 보정 알고리즘에 적용되는 파라미터들(11, 12, 13)에 대해서 도 6 내지 8을 참조하여 설명한다.FIG. 5 shows which parameters are specifically included in the correction parameter 10 and which image correction algorithm each parameter corresponds to. Referring to FIG. 5, a strength value (11) may be applied to the contrast ratio improvement algorithm 310, a gamma value (12) may be applied to the brightness correction algorithm 320, and the exposure fusion algorithm ( 330), the α value (13) can be applied. The parameters 11, 12, and 13 applied to each image correction algorithm will be described with reference to FIGS. 6 to 8.

도 6은 본 개시의 일 실시예에 따른 명암비 개선 알고리즘(310)에 적용되는 스트렝스 값(11)에 대해서 설명하기 위한 도면이다. 일 실시예에 따른 명암비 개선 알고리즘(310)은 커브(curve)를 이용하여 명암비를 조절하는 방식이다.FIG. 6 is a diagram for explaining the strength value 11 applied to the contrast ratio improvement algorithm 310 according to an embodiment of the present disclosure. The contrast ratio improvement algorithm 310 according to one embodiment is a method of adjusting the contrast ratio using a curve.

도 6의 그래프(600)를 참고하면, 스트렝스 값(11)에 따라서 S-커브 (S-curve)의 곡률이 변화하고, 특히 스트렝스 값(11)이 높아짐에 따라 S-커브의 곡률이 커짐을 알 수 있다. S-커브의 기울기가 증가하면 색조(tone)는 스트레칭(stretching)되고, 따라서 명암비가 증가하게 된다. 따라서, 스트렝스 값(11)이 클수록, 명암비 개선 알고리즘(310)은 입력 영상(1)의 명암비를 증가시킬 수 있다.Referring to the graph 600 of FIG. 6, the curvature of the S-curve changes depending on the strength value 11, and in particular, as the strength value 11 increases, the curvature of the S-curve increases. Able to know. As the slope of the S-curve increases, the tone is stretched, thus increasing the contrast ratio. Therefore, as the strength value 11 increases, the contrast ratio improvement algorithm 310 can increase the contrast ratio of the input image 1.

도 7은 본 개시의 일 실시예에 따른 밝기 보정 알고리즘(320)에 적용되는 감마 값(12)에 대해서 설명하기 위한 도면이다. 도 7의 그래프(700)에는 감마 값(12)에 따른 감마 곡선을 도시하였다. 그래프(700)의 x 축은 명암 표현 수치를 나타내고, y 축은 밝기를 나타낸다. 도 7의 그래프(700)를 참고하면, 감마 값(12)이 작아질수록 밝기가 증가함을 알 수 있다. 따라서, 감마 값(12)이 작을수록, 밝기 보정 알고리즘(320)은 입력 영상(1)의 밝기를 증가시킬 수 있다.FIG. 7 is a diagram for explaining the gamma value 12 applied to the brightness correction algorithm 320 according to an embodiment of the present disclosure. The graph 700 of FIG. 7 shows a gamma curve according to the gamma value (12). The x-axis of the graph 700 represents the contrast expression value, and the y-axis represents brightness. Referring to the graph 700 of FIG. 7, it can be seen that as the gamma value 12 decreases, the brightness increases. Accordingly, as the gamma value 12 becomes smaller, the brightness correction algorithm 320 can increase the brightness of the input image 1.

도 8은 본 개시의 일 실시예에 따른 노출 융합 알고리즘(330)에 적용되는 α값(13)에 대해서 설명하기 위한 도면이다. 노출 융합 알고리즘(330)은 기본 영상(X)으로부터 노출이 다른 가공 영상(X')을 생성하고, 기본 영상(X) 및 가공 영상(X')에 각각 가중치 W 및 (1-W)를 곱한 후 합하여 융합 영상(F)을 출력할 수 있다. 일 실시예에 따르면, 기본 영상(X)이 도 5의 입력 영상(1)에 해당되고, 출력되는 융합 영상(F)이 도 5의 레이블 영상(3)에 해당될 수 있다.FIG. 8 is a diagram for explaining the α value 13 applied to the exposure fusion algorithm 330 according to an embodiment of the present disclosure. The exposure fusion algorithm 330 generates a processed image (X') with different exposure from the base image (X), and multiplies the base image (X) and the processed image (X') by weights W and (1-W), respectively. After combining them, a fused image (F) can be output. According to one embodiment, the base image (X) may correspond to the input image (1) of FIG. 5, and the output fused image (F) may correspond to the label image (3) of FIG. 5.

노출 융합 알고리즘(330)은 다음의 수학식 1에 따라서 기본 영상(X)으로부터 가공 영상(X')을 생성할 수 있다.The exposure fusion algorithm 330 can generate a processed image (X') from the basic image (X) according to Equation 1 below.

이상 설명한 방식에 따라서 노출 융합 알고리즘(330)을 수행한다면, α 값(13)이 클수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있고, 또한 β 값이 작을수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있다. 도 5에서는 노출 융합 알고리즘(330)에 대한 보정 파라미터로서 α 값(13)이 사용되는 것으로 도시하였으나, α 값(13) 대신 β 값이 보정 파라미터로 사용되거나, α 값(13) 및 β 값 모두가 보정 파라미터로서 사용될 수도 있다.If the exposure fusion algorithm 330 is performed according to the method described above, the larger the α value (13), the brighter the fusion image (F) can be compared to the basic image (X), and the smaller the β value, the brighter the fusion image (F) can be. may become brighter compared to the basic image (X). In Figure 5, the α value (13) is shown as being used as a correction parameter for the exposure fusion algorithm 330, but the β value is used as a correction parameter instead of the α value (13), or both the α value (13) and the β value are used as the correction parameter. may also be used as a correction parameter.

레이블 영상 생성 모듈(300)은 이상 설명한 영상 보정 알고리즘들(310, 320, 330)에 보정 파라미터(11, 12, 13)를 적용함으로써 입력 영상(1)의 특성들 중 적어도 하나 이상을 조절한 레이블 영상(3)을 출력할 수 있다. 레이블 영상 생성 모듈(300)은 도 5에 도시된 영상 보정 알고리즘들(310, 320, 330) 중 적어도 하나 이상의 조합을 사용할 수도 있고, 또는 도 5에 도시되지 않은 다른 종류의 영상 보정 알고리즘을 사용할 수도 있다.The label image generation module 300 adjusts at least one of the characteristics of the input image 1 by applying the correction parameters 11, 12, and 13 to the image correction algorithms 310, 320, and 330 described above. Video (3) can be output. The label image generation module 300 may use a combination of at least one of the image correction algorithms 310, 320, and 330 shown in FIG. 5, or may use another type of image correction algorithm not shown in FIG. 5. there is.

일 실시예에 따르면, 보정 파라미터(10)에 포함된 파라미터 값들(11, 12, 13)의 순서는 학습 시와 추론 시에 동일하게 유지될 수 있다. 다시 말해 일 실시예에 따르면, 학습 시에 사용된 보정 파라미터(10) 내의 파라미터 종류(11, 12, 13)의 순서는, 사용 시에도 동일하게 유지될 수 있다.According to one embodiment, the order of the parameter values 11, 12, and 13 included in the correction parameter 10 may remain the same during learning and inference. In other words, according to one embodiment, the order of the parameter types 11, 12, and 13 in the correction parameter 10 used during learning may remain the same even during use.

예를 들어, 보정 파라미터(10)가 열 벡터(column vector)의 형태라면, 각 행(row)의 원소(element)는 학습 시와 추론 시에 동일한 종류의 파라미터(동일한 영상 보정 알고리즘에 적용되는 파라미터)에 해당될 수 있다.For example, if the correction parameter 10 is in the form of a column vector, the elements of each row are the same type of parameter (parameters applied to the same image correction algorithm) during learning and inference. ) may apply.

구체적인 예를 들어 설명하면 다음과 같다.To explain with a specific example, it is as follows.

도 5에 도시된 실시예에서와 같이, 학습 시 사용된 보정 파라미터(열 벡터)(10)의 첫 번째 행(row)의 원소가 명암비 개선 알고리즘(310)에 적용되는 파라미터(11)이고, 두 번째 행의 원소가 밝기 보정 알고리즘(320)에 적용되는 파라미터(12)이고, 세 번째 행의 원소가 노출 융합 알고리즘(330)에 적용되는 파라미터(13)였다면, 추론 시에 사용되는 보정 파라미터 역시 첫 번째 행의 원소는 명암비 개선 알고리즘(310)에 적용되는 파라미터(11)이고, 두 번째 행의 원소는 밝기 보정 알고리즘(320)에 적용되는 파라미터(12)이고, 세 번째 행의 원소는 노출 융합 알고리즘(330)에 적용되는 파라미터(13)일 수 있다.As in the embodiment shown in FIG. 5, the element of the first row of the correction parameter (column vector) 10 used during learning is the parameter 11 applied to the contrast ratio improvement algorithm 310, and the two If the element in the third row was the parameter 12 applied to the brightness correction algorithm 320, and the element in the third row was the parameter 13 applied to the exposure fusion algorithm 330, the correction parameter used during inference would also be the first The element in the first row is the parameter 11 applied to the contrast ratio improvement algorithm 310, the element in the second row is the parameter 12 applied to the brightness correction algorithm 320, and the element in the third row is the exposure fusion algorithm. It may be parameter 13 applied to 330.

관련하여 도 9를 참조하여 설명하면 다음과 같다.In relation to this, description is given with reference to FIG. 9 as follows.

도 9를 참고하면, 두 개의 파라미터 값들(11, 12)은 입력 영상(1) 및 입력 영상(1)으로부터 변환된 회색조 영상과 스케일드 컨캐터네이션(도 12의 1201 참고)된 후 제1 신경망 모델(100)에 입력된다. 즉, 파라미터 값들(11, 12)이 각각 곱해진(또는 나누어지거나 더해진) 회색조 영상들이 입력 영상(1)에 채널 방향으로 붙어 제1 신경망 모델(100)에 입력되는데, 이때 채널 순서는 학습 시와 추론 시에 동일해야 하기 때문에, 위에서 설명한 바와 같이 보정 파라미터(10)에 포함된 파라미터 값들(11, 12, 13)의 순서는 학습 시와 추론 시에 동일하게 유지되어야 하는 것이다.Referring to FIG. 9, the two parameter values 11 and 12 are converted to the input image 1 and the grayscale image converted from the input image 1 and scaled concatenation (see 1201 in FIG. 12) and then applied to the first neural network. It is input into model 100. That is, grayscale images in which the parameter values 11 and 12 are multiplied (or divided or added) are attached to the input image 1 in the channel direction and input to the first neural network model 100. At this time, the channel order is the same as during learning. Since they must be the same during inference, as described above, the order of the parameter values 11, 12, and 13 included in the correction parameter 10 must remain the same during learning and during inference.

또한 일 실시예에 따르면, 보정 파라미터(10)에 포함된 파라미터 값들(11, 12, 13) 각각의 비트(bit) 수는 학습 시와 추론 시에 동일하게 유지될 수 있다. 보정 파라미터(10)에 포함된 파라미터 값들(11, 12, 13)의 순서와, 파라미터 값들(11, 12, 13) 각각의 비트 수가 학습 시와 추론 시에 동일하게 유지되는 실시예에 대해서 자세히 설명하면 다음과 같다.Additionally, according to one embodiment, the number of bits of each of the parameter values 11, 12, and 13 included in the correction parameter 10 may be kept the same during learning and inference. A detailed description of an embodiment in which the order of the parameter values 11, 12, and 13 included in the correction parameter 10 and the number of bits of each of the parameter values 11, 12, and 13 are kept the same during learning and inference. If you do so, it is as follows.

신경망 모델들(100, 200)의 학습 시에 사용된 보정 파라미터(10)가 "01010110"의 이진 데이터라고 가정한다. 그리고, 앞에서부터 순서대로 3 비트의 데이터("010")가 명암비 개선 알고리즘(310)에 적용되기 위한 파라미터(11)이고, 이어지는 2 비트의 데이터("10")가 밝기 보정 알고리즘(320)에 적용되기 위한 파라미터(12)이고, 마지막 3 비트의 데이터("110")가 노출 융합 알고리즘(330)에 적용되기 위한 파라미터(13)라고 가정한다.It is assumed that the correction parameter 10 used when learning the neural network models 100 and 200 is binary data of “01010110”. In order from the beginning, 3 bits of data (“010”) are parameters 11 to be applied to the contrast ratio improvement algorithm 310, and the following 2 bits of data (“10”) are used to apply the brightness correction algorithm 320. It is assumed that this is the parameter 12 to be applied, and the last 3 bits of data (“110”) are the parameters 13 to be applied to the exposure fusion algorithm 330.

이와 같은 각 파라미터(11, 12, 13)들의 비트 수 및 파라미터들(11, 12, 13) 간의 순서는 신경망 모델들(100, 200)의 사용(추론) 시에도 동일하게 유지되어야 한다. 예를 들어, 추론 시에 제1 신경망 모델(100)에 "10111100"의 이진 데이터가 보정 파라미터(10)로서 입력되었다면, 앞에서부터 순서대로 3 비트의 데이터("101")가 명암비 개선 알고리즘(310)에 적용되기 위한 파라미터(11)가 되고, 이어지는 2 비트의 데이터("11")가 밝기 보정 알고리즘(320)에 적용되기 위한 파라미터(12)가 되고, 마지막 3 비트의 데이터("100")가 노출 융합 알고리즘(330)에 적용되기 위한 파라미터(13)가 된다.The number of bits of each parameter 11, 12, and 13 and the order between the parameters 11, 12, and 13 must remain the same even when using (inferring) the neural network models 100 and 200. For example, if binary data of "10111100" is input as the correction parameter 10 to the first neural network model 100 during inference, 3 bits of data ("101") are input to the contrast ratio improvement algorithm 310 in order from the beginning. ), the next 2 bits of data ("11") become the parameters 12 to be applied to the brightness correction algorithm 320, and the last 3 bits of data ("100") becomes a parameter 13 to be applied to the exposure fusion algorithm 330.

다시 도 3으로 돌아와서, 레이블 영상 생성 모듈(300)이 출력하는 레이블 영상(3)은 제1 신경망 모델(100)을 학습시키기 위한 훈련용 데이터(특히, 그라운드 트루스 데이터)로서 사용될 수 있다. 제1 신경망 모델(100)에 입력 영상(1) 및 보정 파라미터(10)가 입력되었을 때 제1 신경망 모델(100)로부터 출력되는 추론 영상(2)이, 레이블 영상(3)과 최대한 유사해지도록 제1 신경망 모델(100)을 학습시킬 수 있다. 즉 일 실시예에 따르면, 제1 신경망 모델(100)은 입력 영상(1) 및 보정 파라미터(10)가 입력되었을 때 출력되는 추론 영상(2)과, 보정 파라미터(10)에 대응되는 레이블 영상(3) 간 차이를 최소화하도록 학습된 모델일 수 있다. 이때, 보정 파라미터(10)에 대응되는 레이블 영상(3)이란, 보정 파라미터(10)가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 적어도 하나의 영상 보정 알고리즘에 의해 입력 영상(1)이 보정된 영상일 수 있다.Returning to FIG. 3 , the label image 3 output by the label image generation module 300 may be used as training data (in particular, ground truth data) for learning the first neural network model 100. When the input image 1 and the correction parameter 10 are input to the first neural network model 100, the inferred image 2 output from the first neural network model 100 is made to be as similar as possible to the label image 3. The first neural network model 100 can be trained. That is, according to one embodiment, the first neural network model 100 includes an inference image 2 output when the input image 1 and the correction parameter 10 are input, and a label image corresponding to the correction parameter 10 ( 3) It may be a model learned to minimize the differences between At this time, the label image 3 corresponding to the correction parameter 10 means that when the correction parameter 10 is applied to at least one image correction algorithm, the input image 1 is corrected by at least one image correction algorithm. It could be a video.

다시 말해, 옵티마이저 (optimizer) (400)는 추론 영상(2) 및 레이블 영상(3) 간 차이를 나타내는 손실함수(20)의 손실값이 최소가 되도록 제1 신경망 모델(100)을 업데이트할 수 있다. 이때, 손실함수(20)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.In other words, the optimizer 400 can update the first neural network model 100 so that the loss value of the loss function 20 representing the difference between the inference image 2 and the label image 3 is minimized. there is. At this time, the loss function 20 may be composed of a combination of Mean Absolute Error (MAE), Mean Square Error (MSE), and SSIM (Structural Similarity Index Measure).

이상 설명한 바와 같이, 제1 신경망 모델(100)의 학습 시에는 입력 영상(1), 레이블 영상(3) 및 보정 파라미터(10)가 훈련용 데이터로서 사용될 수 있다. 일 실시예에 따르면, 여러 입력 영상(1)에 대해서 보정 파라미터(10)를 변화시켜가면서 복수의 레이블 영상(3)들을 생성하고, 이렇게 수집된 입력 영상(1), 레이블 영상(3) 및 보정 파라미터(10)의 조합을 훈련용 데이터로 사용하여 제1 신경망 모델(100)을 학습시킬 수 있다.As described above, when learning the first neural network model 100, the input image 1, the label image 3, and the correction parameter 10 can be used as training data. According to one embodiment, a plurality of label images (3) are generated by changing the correction parameter (10) for several input images (1), and the input image (1), label image (3) and correction collected in this way are The first neural network model 100 can be learned by using a combination of the parameters 10 as training data.

이와 같이, 제1 신경망 모델(100)의 학습 시에 보정 파라미터(10)를 제1 신경망 모델(100)에 대한 입력으로 사용함으로써 보정 파라미터(10)와 레이블 영상(3) 간의 관계를 제1 신경망 모델(100)이 학습하도록 할 수 있다. 즉, 제1 신경망 모델(100)은 입력 영상(1)에 어떤 보정 파라미터(10)가 적용될 때 어떻게 보정된 레이블 영상(3)이 생성되는지를 학습한다고 볼 수 있다. 학습된 제1 신경망 모델(100)에 입력되는 입력 영상(1)은 동일하게 유지하면서 보정 파라미터(10)만 변경한다면, 제1 신경망 모델(100)에서 출력되는 추론 영상(2)도 변경된다. 따라서, 사용자는 제1 신경망 모델(100)에 입력되는 보정 파라미터(10)를 조정함으로써 제1 신경망 모델(100)에서 출력되는 추론 영상(2)이 원하는 영상 특성을 갖도록 제어할 수 있다. 보정 파라미터(10)를 제1 신경망 모델(100)에 대한 입력으로 인가하는 구체적인 실시예에 대해서는 아래에서 도 9를 참조하여 설명한다.In this way, when learning the first neural network model 100, the correction parameter 10 is used as an input to the first neural network model 100, so that the relationship between the correction parameter 10 and the label image 3 is established by using the correction parameter 10 as an input to the first neural network model 100. The model 100 can be trained. In other words, the first neural network model 100 can be viewed as learning how to generate the corrected label image 3 when a correction parameter 10 is applied to the input image 1. If the input image 1 input to the learned first neural network model 100 is kept the same and only the correction parameter 10 is changed, the inferred image 2 output from the first neural network model 100 is also changed. Accordingly, the user can control the inferred image 2 output from the first neural network model 100 to have desired image characteristics by adjusting the correction parameter 10 input to the first neural network model 100. A specific embodiment of applying the correction parameter 10 as an input to the first neural network model 100 will be described below with reference to FIG. 9.

도 9는 본 개시의 일 실시예에 따른, 보정 파라미터를 제1 신경망 모델에 대한 입력으로 인가하는 방법을 설명하기 위한 도면이다. 도 9에 도시된 실시예에서 보정 파라미터(10)는 제1 파라미터(11) 및 제2 파라미터(12)를 포함한다고 가정한다.FIG. 9 is a diagram illustrating a method of applying a correction parameter as an input to a first neural network model, according to an embodiment of the present disclosure. In the embodiment shown in Figure 9, it is assumed that the correction parameter 10 includes a first parameter 11 and a second parameter 12.

도 9를 참고하면, 입력 영상(1)은 디컬러라이즈(decolorize) 모듈(500)에 의해 회색조 영상(gray scale image)으로 변환된다. 제1 연산기(911)는 회색조 영상 및 제1 파라미터(11)에 대해 멀티플리케이션(multiplication)을 수행하고, 제2 연산기(912)는 회색조 영상 및 제2 파라미터(12)에 대해 멀티플리케이션을 수행한다. 제3 연산기(920)는 입력 영상(1), 제1 연산기(911)의 출력 및 제2 연산기(912)의 출력에 대해 컨캐터네이션(concatenation)을 수행하여 제1 신경망 모델(100)에 출력할 수 있다. 즉 일 실시예에 따르면, 보정 파라미터(10)에 포함된 파라미터들(11, 12)은 각각 입력 영상(1)으로부터 변환된 회색조 영상에 적용된 후, 입력 영상(1)과 함께 제1 신경망 모델(100)에 입력될 수 있다.Referring to FIG. 9, the input image 1 is converted into a gray scale image by the decolorize module 500. The first operator 911 performs multiplication on the gray-scale image and the first parameter 11, and the second operator 912 performs multiplication on the gray-scale image and the second parameter 12. . The third operator 920 performs concatenation on the input image 1, the output of the first operator 911, and the output of the second operator 912 and outputs it to the first neural network model 100. can do. That is, according to one embodiment, the parameters 11 and 12 included in the correction parameter 10 are respectively applied to the grayscale image converted from the input image 1, and then used together with the input image 1 to form a first neural network model ( 100) can be entered.

한편, 도 9에서는 회색조 영상에 제1 파라미터(11) 및 제2 파라미터(12)가 곱해진 후 입력 영상에 컨캐터네이션되는 것으로 도시하였으나, 일 실시예에 따르면 곱셈 이외에 다른 연산을 이용하여 회색조 영상과 파라미터들(11, 12)을 처리하는 것도 가능하다. 예를 들어, 회색조 영상을 제1 및 제2 파라미터(11, 12) 각각으로 나눈 후 입력 영상에 컨캐터네이션할 수도 있고, 또는 회색조 영상에 제1 및 제2 파라미터(11, 12) 각각을 더한 후 입력 영상에 컨캐터네이션할 수도 있다.Meanwhile, in FIG. 9, it is shown that the grayscale image is multiplied by the first parameter 11 and the second parameter 12 and then concatenated on the input image. However, according to one embodiment, the grayscale image is converted to a grayscale image using an operation other than multiplication. It is also possible to process and parameters (11, 12). For example, the grayscale image may be divided into the first and second parameters 11 and 12 and then concatenated into the input image, or the first and second parameters 11 and 12 may be added to the grayscale image. You can then concatenate the input image.

도 4는 본 개시의 일 실시예에 따른 제2 신경망 모델(200)을 학습시키는 과정을 설명하기 위한 도면이다. FIG. 4 is a diagram illustrating a process of learning the second neural network model 200 according to an embodiment of the present disclosure.

먼저 제2 신경망 모델(200)을 사용하는 이유에 대해서 설명한다.First, the reason for using the second neural network model 200 will be explained.

제2 신경망 모델(200)은 일반적으로 많은 사용자들이 좋다고 느낄만한 영상 특성(e.g. 신경망 모델의 설계자가 최적이라고 판단한 영상 특성)을 갖도록 입력 영상(1)을 보정하기 위한 보정 파라미터를 추론할 수 있다.The second neural network model 200 can generally infer correction parameters for correcting the input image 1 to have image characteristics that many users would consider good (e.g. image characteristics determined to be optimal by the designer of the neural network model).

따라서, 제2 신경망 모델(200)을 이용함으로써 사용자가 매번 보정 파라미터를 설정하거나 조정하지 않더라도 입력 영상(1)에 대해 최적의 영상 특성을 갖도록 보정하기 위한 보정 파라미터를 자동으로 생성(추론)하고, 그에 따라 입력 영상(1)을 보정하여 사용자에게 제시할 수 있다.Therefore, by using the second neural network model 200, correction parameters for correcting the input image 1 to have optimal image characteristics are automatically generated (inferred) even if the user does not set or adjust the correction parameters every time, Accordingly, the input image 1 can be corrected and presented to the user.

예를 들어, 사용자가 신경망 모델들(100, 200)이 탑재된 단말을 통해 영상을 촬영하면, 촬영된 영상을 제2 신경망 모델(200)이 추론하는 보정 파라미터에 따라 보정하여 미리보기로 단말의 화면에 표시할 수 있다.For example, when a user captures an image through a terminal equipped with neural network models 100 and 200, the captured image is corrected according to the correction parameter inferred by the second neural network model 200 and previewed on the terminal. It can be displayed on the screen.

따라서, 단말의 사용자는 일차적으로 좋은 영상 특성(밝기, 명암비 등)을 갖는 영상을 미리보기를 통해 확인하고, 미리보기가 마음에 들지 않는 경우에만 영상 특성을 변경하도록 보정 파라미터를 조정할 수 있다.Therefore, the user of the terminal can first check the image with good image characteristics (brightness, contrast ratio, etc.) through a preview, and adjust the correction parameters to change the image characteristics only if the preview is not to their liking.

도 4를 참고하면, 입력 영상(1)을 입력받아 보정 파라미터(10)를 추론하여 출력하는 제2 신경망 모델(200)이 추가되었다. 도 4에 도시된 바와 같이 제1 신경망 모델(100) 및 제2 신경망 모델(200)이 모두 연결된 상태에서 두 신경망 모델들(100, 200)에 대한 학습이 동시에 수행될 수도 있고, 제1 신경망 모델(100)을 먼저 학습시키고, 학습된 제1 신경망 모델(100)은 고정(제1 신경망 모델(100)에 포함된 파라미터들을 고정)한 상태에서 제2 신경망 모델(200)을 학습시킬 수도 있다. 또한, 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 각각 별도로 학습시킬 수도 있다.Referring to FIG. 4, a second neural network model 200 that receives the input image 1, infers the correction parameter 10, and outputs it has been added. As shown in FIG. 4, with both the first neural network model 100 and the second neural network model 200 connected, learning on the two neural network models 100 and 200 may be performed simultaneously, and the first neural network model 100 may be trained first, and the second neural network model 200 may be trained while the learned first neural network model 100 is fixed (the parameters included in the first neural network model 100 are fixed). Additionally, the first neural network model 100 and the second neural network model 200 may be trained separately.

제2 신경망 모델(200)의 학습 시에는 레이블 영상(3)의 특성(e.g. 밝기, 명암비, 색온도 등)을 정량적으로 수치화한 측정 특성값(40)을 미리 설정된 목표 특성값(50)과 비교하고, 둘 간의 차이가 최소가 되도록 제2 신경망 모델(200)을 업데이트할 수 있다. 목표 특성값(50)은 사용자(관리자)가 원하는 값으로 미리 설정할 수 있다. 즉 일 실시예에 따르면, 제2 신경망 모델(200)은 입력 영상(1)이 입력되었을 때 제2 신경망 모델(200)이 추론하는 보정 파라미터(10)와, 레이블 영상(3)이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터(도 4에서 목표 특성값(50)에 해당하는 영상을 레이블 영상 생성 모듈(300)이 출력하도록 하는 보정 파라미터) 간 차이를 최소화하도록 학습된 모델일 수 있다.When learning the second neural network model 200, the measured characteristic value 40, which quantitatively quantifies the characteristics of the label image 3 (e.g. brightness, contrast ratio, color temperature, etc.), is compared with the preset target characteristic value 50. , the second neural network model 200 can be updated so that the difference between the two is minimized. The target characteristic value 50 can be set in advance to a value desired by the user (administrator). That is, according to one embodiment, the second neural network model 200 is an image in which the correction parameter 10 inferred by the second neural network model 200 when the input image 1 is input and the label image 3 are preset. It may be a model learned to minimize the difference between correction parameters that enable the label image generation module 300 to output an image corresponding to the target feature value 50 in FIG. 4.

다시 말해, 옵티마이저 (optimizer) (400)는 측정 특성값(40) 및 목표 특성값(50) 간 차이를 나타내는 제2 손실함수(30)의 손실값이 최소가 되도록 제2 신경망 모델(200)을 업데이트할 수 있다. 이때, 제2 손실함수(30)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.In other words, the optimizer 400 uses the second neural network model 200 to minimize the loss value of the second loss function 30, which represents the difference between the measured characteristic value 40 and the target characteristic value 50. can be updated. At this time, the second loss function 30 may be composed of a combination of Mean Absolute Error (MAE), Mean Square Error (MSE), and Structural Similarity Index Measure (SSIM).

일 실시예에 따르면, 제2 신경망 모델(200)의 학습 시 사용되는 측정 특성값(40) 및 목표 특성값(50)은 복수의 영상 특성 각각에 대응되는 복수의 값들을 포함할 수도 있다. 예를 들어, 측정 특성값(40) 및 목표 특성값(50)은 영상의 밝기를 정량적으로 수치화한 제1 특성값과, 영상의 색온도를 정량적으로 수치화한 제2 특성값을 포함할 수도 있다.According to one embodiment, the measurement characteristic value 40 and the target characteristic value 50 used when learning the second neural network model 200 may include a plurality of values corresponding to each of a plurality of image characteristics. For example, the measured characteristic value 40 and the target characteristic value 50 may include a first characteristic value that quantitatively quantifies the brightness of the image, and a second characteristic value that quantitatively quantifies the color temperature of the image.

도 4에 도시된 실시예에서는, 제2 신경망 모델(200)의 학습을 위해 레이블 영상(3)에 대한 측정 특성값(40)을 획득하고, 획득된 측정 특성값(40)을 미리 설정된 목표 특성값(50)과 비교한다. 하지만, 일 실시예에 따르면 입력 영상(1)이 레이블 영상(3)으로 변환되는 과정의 중간에서 생성되는 영상(이하, '중간 레이블 영상'이라 함)에 대한 측정 특성값(40)을 획득하고, 획득된 측정 특성값(40)을 미리 설정된 목표 특성값(50)과 비교함으로써 제2 신경망 모델(200)을 학습시킬 수도 있다.In the embodiment shown in FIG. 4, the measurement characteristic value 40 for the label image 3 is acquired for learning the second neural network model 200, and the obtained measurement characteristic value 40 is used as a preset target characteristic. Compare with value (50). However, according to one embodiment, the measurement characteristic value 40 for the image generated in the middle of the process of converting the input image 1 to the label image 3 (hereinafter referred to as 'intermediate label image') is obtained, , the second neural network model 200 may be trained by comparing the obtained measured characteristic value 40 with a preset target characteristic value 50.

도 5를 함께 참조하여 구체적인 예를 들어 설명하면 다음과 같다.A specific example will be described with reference to FIG. 5 as follows.

일 실시예에 따르면, 제2 신경망 모델(200)의 학습을 위해 특정값 측정 시 레이블 영상 생성 모듈(300)에 포함된 복수의 영상 보정 알고리즘들(310, 320, 330) 중에서 일부의 영상 보정 알고리즘만이 적용된 영상(중간 레이블 영상)에 대해서 특성값을 측정하고, 그렇게 측정된 특성값을 미리 설정된 목표 특성값과 비교하여 제2 신경망 모델(200)을 학습시킬 수도 있다.According to one embodiment, when measuring a specific value for learning the second neural network model 200, some image correction algorithms among the plurality of image correction algorithms 310, 320, and 330 included in the label image generation module 300 The second neural network model 200 may be trained by measuring feature values for the image to which only the image (middle label image) is applied, and comparing the measured feature values with preset target feature values.

도 5에서 입력 영상(1)이 레이블 영상 생성 모듈(300)에 입력되면, 입력 영상(1)은 명암비 개선 알고리즘(310), 밝기 보정 알고리즘(320) 및 노출 융합 알고리즘(330)을 순서대로 거쳐 레이블 영상(3)으로 변환된다고 가정한다.In Figure 5, when the input image 1 is input to the label image generation module 300, the input image 1 goes through the contrast ratio improvement algorithm 310, the brightness correction algorithm 320, and the exposure fusion algorithm 330 in that order. Assume that it is converted to a label image (3).

예를 들어, 입력 영상(1)에 명암비 개선 알고리즘(310) 및 밝기 보정 알고리즘(320)까지만 적용된 중간 레이블 영상(노출 융합 알고리즘(330)에 대한 입력 영상)의 '밝기'를 정량적으로 수치화한 측정 특성값을 획득하고, 획득된 측정 특성값과 미리 설정된 '밝기'에 대한 목표 특성값 간의 차이(손실)가 최소가 되도록 제2 신경망 모델(200)을 학습시킬 수도 있다. 이와 같이 제2 신경망 모델(200)에 대한 학습을 수행한다면, 노출 융합 알고리즘(330)에 적용되는 파라미터(13)는 목표 밝기(목표 특성값에 대응되는 밝기)와는 무관하게 별도의 손실을 최소화하도록 학습될 수 있다.For example, a measurement that quantitatively quantifies the 'brightness' of the intermediate label image (the input image to the exposure fusion algorithm 330) to which only the contrast improvement algorithm 310 and the brightness correction algorithm 320 have been applied to the input image 1. Characteristic values may be acquired, and the second neural network model 200 may be trained so that the difference (loss) between the acquired measured characteristic value and the preset target characteristic value for 'brightness' is minimized. When learning the second neural network model 200 in this way, the parameter 13 applied to the exposure fusion algorithm 330 is set to minimize separate loss regardless of the target brightness (brightness corresponding to the target characteristic value). It can be learned.

일 실시예에 따르면, 제2 신경망 모델(200)은 복수의 신경망 모델들을 포함할 수도 있다. 예를 들어, 제2 신경망 모델(200)이 제1 보정 파라미터 및 제2 보정 파라미터를 추론하는 경우, 각각의 보정 파라미터를 추론하기 위한 신경망 모델이 별도로 존재할 수 있다. 그리고 필요에 따라서 제3 보정 파라미터를 추론하기 위한 신경망 모델을 제2 신경망 모델(200)에 추가함으로써, 제2 신경망 모델(200)이 제1 내지 제3 보정 파라미터를 추론하도록 변경할 수도 있다.According to one embodiment, the second neural network model 200 may include a plurality of neural network models. For example, when the second neural network model 200 infers the first correction parameter and the second correction parameter, a separate neural network model for inferring each correction parameter may exist. And, if necessary, the second neural network model 200 may be changed to infer the first to third correction parameters by adding a neural network model for inferring the third correction parameter to the second neural network model 200.

3.3. (사용 과정) 제1 신경망 모델 및 제2 신경망 모델을 이용하여 영상을 보정하는 방법(Usage process) How to correct an image using the first neural network model and the second neural network model

이상 설명한 방법에 따라 학습된 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 이용하여 영상을 보정하는 방법에 대해서 설명한다. 먼저 도 10 및 도 11을 참조하여 본 개시의 실시예들에 따른 신경망 모델들(100, 200)이 실제 디바이스에서 어떻게 사용될 수 있는지에 대해서 설명하고, 이어서 신경망 모델들(100, 200)을 이용하여 영상을 보정하는 방법에 대해서 설명한다.A method of correcting an image using the first neural network model 100 and the second neural network model 200 learned according to the method described above will be described. First, with reference to FIGS. 10 and 11 , we will describe how the neural network models 100 and 200 according to embodiments of the present disclosure can be used in actual devices, and then use the neural network models 100 and 200 to This explains how to correct images.

도 10은 본 개시의 일 실시예에 따른 모바일 단말(1000)에 포함되는 구성들을 개략적으로 도시한 도면이다. 도 10에서는 제1 신경망 모델(100) 및 제2 신경망 모델(200)이 탑재되는 디바이스가 모바일 단말(1000)인 것으로 도시하였으나, 이에 한정되지 않고 카메라 등과 같이 영상 촬영 기능이 있는 모든 종류의 디바이스에는 신경망 모델들(100, 200)이 탑재될 수 있으며, 더 나아가 영상 촬영 기능은 구비하지 않지만 영상 신호 처리를 수행할 수 있는 다양한 종류의 디바이스에도 신경망 모델들(100, 200)이 탑재될 수 있음은 자명하다.FIG. 10 is a diagram schematically showing components included in the mobile terminal 1000 according to an embodiment of the present disclosure. In Figure 10, the device on which the first neural network model 100 and the second neural network model 200 are mounted is shown as a mobile terminal 1000, but it is not limited to this and can be used in all types of devices with an image capture function, such as a camera. The neural network models 100, 200 can be mounted, and furthermore, the neural network models 100, 200 can be mounted on various types of devices that do not have an image capture function but can perform image signal processing. Self-explanatory.

도 10을 참고하면, 모바일 단말(1000)에는 카메라 모듈(1010) 및 메인 프로세서(1020)가 포함될 수 있다.Referring to FIG. 10, the mobile terminal 1000 may include a camera module 1010 and a main processor 1020.

카메라 모듈(1010)은 렌즈 모듈(1011), 이미지 센서(1012) 및 ISP (Image Signal Processor) (1013)를 포함할 수 있으며, 이 구성들(1011, 1012, 1013)이 하나의 칩(chip)에 탑재된 SoC (System on Chip) 형태로 구현될 수도 있다.The camera module 1010 may include a lens module 1011, an image sensor 1012, and an ISP (Image Signal Processor) 1013, and these components (1011, 1012, and 1013) form one chip. It can also be implemented in the form of a SoC (System on Chip) mounted on a .

이미지 센서(1012)는 렌즈 모듈(1011)을 통해 투과된 빛을 받아 영상을 출력하고, ISP(1013)는 이미지 센서(1012)에서 출력된 영상을 복원 및 보정하여 최종 영상으로 출력할 수 있다. 즉, 사용자가 모바일 단말(1000)을 통해 영상을 촬영하면, ISP(1013)를 통해 복원 및 보정된 최종 영상이 사용자에게 보여지게 된다.The image sensor 1012 receives light transmitted through the lens module 1011 and outputs an image, and the ISP 1013 can restore and correct the image output from the image sensor 1012 and output it as a final image. That is, when a user captures an image through the mobile terminal 1000, the final image restored and corrected through the ISP 1013 is displayed to the user.

ISP(1013)에는 영상 복원 모듈 (image reconstruction module) (1013a) 및 영상 보정 모듈 (image correction module) (1013b)이 포함될 수 있으며, 제1 신경망 모델(100) 및 제2 신경망 모델(200)은 영상 보정 모듈(1013b)에 포함될 수 있다. 이때, 영상 복원 모듈(1013a) 및 영상 보정 모듈(1013b)은 영상 처리 프로세스를 수행하는 전체적인 프로그램에서 특정 기능이나 역할을 담당하는 소프트웨어 단위로 볼 수 있다.The ISP 1013 may include an image reconstruction module 1013a and an image correction module 1013b, and the first neural network model 100 and the second neural network model 200 may be used to configure the image It may be included in the correction module 1013b. At this time, the image restoration module 1013a and the image correction module 1013b can be viewed as software units that perform specific functions or roles in the overall program that performs the image processing process.

영상 복원 모듈(1013a)은 이미지 센서(1012)로부터 출력되는 원시 영상(raw image)에 디모자이킹(demosaicing) 및 디노이징(denoising) 등의 처리를 수행하여 리니어 RGB 영상 (linear RGB image)을 출력하며, 영상 보정 모듈(1013b)은 리니어 RGB 영상을 보정하여 최종 영상으로 출력할 수 있다. 이하에서는 도 11을 참조하여 영상 복원 모듈(1013a) 및 영상 보정 모듈(1013b)의 구체적인 실시예에 대해서 설명한다.The image restoration module 1013a performs demosaicing and denoising on the raw image output from the image sensor 1012 and outputs a linear RGB image. And the image correction module 1013b can correct the linear RGB image and output it as a final image. Hereinafter, specific embodiments of the image restoration module 1013a and the image correction module 1013b will be described with reference to FIG. 11.

도 11은 본 개시의 일 실시예에 따른 ISP의 세부 구성을 개략적으로 도시한 도면이다. 도 11의 센서(1110)는 도 10의 이미지 센서(1012)에 대응될 수 있고, 도 11의 Neuro-ISP(1120)는 도 10의 ISP(1013)의 구체적인 실시예에 해당된다. Neuro-ISP(1120)는 신경망을 이용하여 영상 신호를 처리하는 구성으로서, 일 실시예에 따르면 Neuro-ISP(1120)는 모듈 단위로 ISP 일부분에 AI를 적용하는 방식이 아닌, 단일 신경망 End-to-End 기반의 ISP일 수 있다.Figure 11 is a diagram schematically showing the detailed configuration of an ISP according to an embodiment of the present disclosure. The sensor 1110 of FIG. 11 may correspond to the image sensor 1012 of FIG. 10, and the Neuro-ISP 1120 of FIG. 11 corresponds to a specific embodiment of the ISP 1013 of FIG. 10. Neuro-ISP (1120) is a component that processes image signals using a neural network. According to one embodiment, Neuro-ISP (1120) does not apply AI to a portion of the ISP on a module basis, but rather uses a single neural network end-to-end. -It may be an End-based ISP.

도 11을 참고하면, 센서(1110)는 복수의 원시 영상들을 출력할 수 있다. 이때, '원시 영상'이란 카메라의 이미지 센서에서 출력되는 영상으로, 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷(Bayer format)의 영상을 의미할 수 있다.Referring to FIG. 11, the sensor 1110 may output a plurality of raw images. At this time, 'raw image' is an image output from the camera's image sensor, and may refer to an image in Bayer format with only one color channel per pixel.

도 11의 버스트넷(BurstNet) (1121)은 도 10의 영상 복원 모듈(1013a)에 대응될 수 있고, 도 11의 마스터링넷(MasteringNet) (1122)은 도 10의 영상 보정 모듈(1013b)에 대응될 수 있다.BurstNet 1121 of FIG. 11 may correspond to the image restoration module 1013a of FIG. 10, and MasteringNet 1122 of FIG. 11 may correspond to the image correction module 1013b of FIG. 10. It can be.

버스트넷(1121)은 복수의 원시 영상들을 입력받아 하나의 리니어 RGB 영상을 출력할 수 있다. 버스트넷(1121)에 입력되는 복수의 원시 영상들은 특정 시점의 전후로 촬영된 복수의 영상들로, 버스트넷(1121)은 원시 영상들의 시간적(temporal) 정보를 이용하고 디모자이킹 및 디노이징을 수행함으로써 하나의 리니어 RGB 영상을 출력할 수 있다. 이렇게 출력된 리니어 RGB 영상이 본 개시의 실시예들에서 신경망 모델에 입력되는 입력 영상(1)에 해당될 수 있다.The burstnet 1121 can receive a plurality of raw images and output one linear RGB image. A plurality of raw images input to the burstnet 1121 are a plurality of images taken before and after a specific point in time, and the burstnet 1121 uses the temporal information of the raw images and performs demosaicing and denoising. By doing so, one linear RGB image can be output. The linear RGB image output in this way may correspond to the input image (1) input to the neural network model in embodiments of the present disclosure.

마스터링넷(1122)은 리니어 RGB 영상에 대해서 보정을 수행하는데, 예를 들어 마스터링넷(1122)은 리니어 RGB 영상에 대해 화이트 밸런스(White Balance, WB)를 조절하거나, 감마(gamma) 값을 조절하거나, 글로벌 톤맵핑(global tone mapping) 및 로컬 톤맵핑(local tone mapping) 등과 같은 처리를 수행함으로써 영상 특성을 조절하여 sRGB 영상을 최종 영상으로 출력할 수 있다.The mastering net 1122 performs correction on the linear RGB image. For example, the mastering net 1122 adjusts the white balance (WB), the gamma value, or the linear RGB image. , the sRGB image can be output as the final image by adjusting the image characteristics by performing processing such as global tone mapping and local tone mapping.

본 개시의 실시예들에 따른 신경망 모델들은 마스터링넷(1122)에 포함되어 리니어 RGB 영상(입력 영상)을 보정하는 역할을 수행할 수 있다.Neural network models according to embodiments of the present disclosure may be included in the mastering net 1122 and serve to correct a linear RGB image (input image).

한편 위에서는 입력 영상(1)은 리니어 RGB 영상이고, 추론 영상(2)은 sRGB 영상인 것으로 가정하고 설명하였으나, 입력 영상(1) 및 추론 영상(2)은 다양한 포맷의 영상일 수 있다. 예를 들어, 입력 영상(1) 및 추론 영상(2)은 논-리니어 RGB(non-linear RGB) 영상, sRGB 영상, AdobeRGB 영상, YCbCr 영상, 베이어(Bayer) 영상 중 어느 하나일 수 있다.Meanwhile, the above description assumes that the input image (1) is a linear RGB image and the inference image (2) is an sRGB image, but the input image (1) and the inference image (2) may be images of various formats. For example, the input image 1 and the inference image 2 may be any one of a non-linear RGB image, an sRGB image, an AdobeRGB image, a YCbCr image, and a Bayer image.

신경망 모델이 사용되는 목적이나 환경에 따라서 입력 영상(1) 및 추론 영상(2)의 포맷이 결정될 수 있다. 다만, 학습 시 사용된 입력 영상(1)의 포맷이 추론 시에도 동일하게 유지될 수 있고, 비슷한 원리로 학습 시 사용된 추론 영상(2)의 포맷이 추론 시에도 동일하게 유지될 수 있다.The format of the input image (1) and the inference image (2) may be determined depending on the purpose or environment for which the neural network model is used. However, the format of the input image 1 used during learning may remain the same during inference, and by a similar principle, the format of the inference image 2 used during learning may remain the same during inference.

예를 들어, 제1 신경망 모델(100)의 학습 시 특정 포맷의 입력 영상(1)이 사용되었다면, 제1 신경망 모델(100)은 (학습 시 사용된 입력 영상(1)과) 동일한 포맷의 입력 영상(1)을 입력받아 처리함으로써 추론 영상(2)을 출력할 수 있다.For example, if an input image (1) of a specific format was used when learning the first neural network model 100, the first neural network model 100 receives an input of the same format (as the input image (1) used during learning). By receiving and processing the image (1), the inferred image (2) can be output.

도 10에 도시된 실시예에서는 제1 신경망 모델(100) 및 제2 신경망 모델(200)이 카메라 모듈(1010)에 탑재되는데, 이와 다르게 모바일 단말(1000)의 메인 프로세서(1020)에 신경망 모델들(100, 200)이 탑재되도록 구현될 수도 있다. 메인 프로세서(1020)에는 CPU(1011), GPU(1012), NPU(1013) 및 메모리(1014) 등이 포함될 수 있는데, CPU(1011), GPU(1012) 및 NPU(1013) 중 적어도 하나가 메모리(1014)에 저장된 프로그램을 실행함으로써 신경망 모델들(100, 200)을 구현할 수도 있다.In the embodiment shown in FIG. 10, the first neural network model 100 and the second neural network model 200 are mounted on the camera module 1010, but differently, the neural network models are installed in the main processor 1020 of the mobile terminal 1000. (100, 200) may be implemented to be mounted. The main processor 1020 may include a CPU 1011, GPU 1012, NPU 1013, and memory 1014, and at least one of the CPU 1011, GPU 1012, and NPU 1013 is memory. Neural network models 100 and 200 may be implemented by executing the program stored in 1014.

또 다른 실시예에 따르면, 신경망 모델들(100, 200)은 영상이 촬영되는 디바이스에 탑재되지 않고, 클라우드 서버 등과 같은 외부 장치에 의해서 구현될 수도 있다. 예를 들어, 도 19에 도시된 바와 같이 모바일 단말(1000)이 이미지 센서(1012)를 통해 획득된 원시 영상들을 클라우드 서버(1900)에 전송하면, 클라우드 서버(1900)의 프로세서(1910)는 영상 복원 모듈(1911)을 이용해 원시 영상들로부터 리니어 RGB 영상을 생성하고, 영상 보정 모듈(1912)에 포함된 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 이용해 리니어 RGB 영상을 보정한 후, 보정된 영상을 클라우드 서버(1900) 내에 저장하거나 모바일 단말(1000)로 전송할 수 있다.According to another embodiment, the neural network models 100 and 200 may not be mounted on a device where images are captured, but may be implemented by an external device such as a cloud server. For example, as shown in FIG. 19, when the mobile terminal 1000 transmits raw images acquired through the image sensor 1012 to the cloud server 1900, the processor 1910 of the cloud server 1900 A linear RGB image is generated from the raw images using the restoration module 1911, and the linear RGB image is corrected using the first neural network model 100 and the second neural network model 200 included in the image correction module 1912. Afterwards, the corrected image can be stored in the cloud server 1900 or transmitted to the mobile terminal 1000.

또는 다른 실시예에 따르면, 모바일 단말(1000)은 원시 영상들로부터 리니어 RGB 영상을 복원한 후, 복원된 리니어 RGB 영상을 클라우드 서버(1900)에 전송하고, 클라우드 서버(1900)의 프로세서(1910)는 신경망 모델들(100, 200)을 이용하여 영상을 보정한 후 보정된 영상을 클라우드 서버(1900) 내에 저장하거나 모바일 단말(1000)로 전송할 수 있다.Or, according to another embodiment, the mobile terminal 1000 restores the linear RGB image from the raw images, transmits the restored linear RGB image to the cloud server 1900, and the processor 1910 of the cloud server 1900 After correcting the image using the neural network models 100 and 200, the corrected image can be stored in the cloud server 1900 or transmitted to the mobile terminal 1000.

도 12는 본 개시의 실시예에 따른 신경망 모델들(100, 200)이 도 10의 영상 보정 모듈(1013b)에 포함되는 구체적인 실시예를 도시한 도면이다.FIG. 12 is a diagram illustrating a specific embodiment in which neural network models 100 and 200 according to an embodiment of the present disclosure are included in the image correction module 1013b of FIG. 10.

도 12를 참고하면, 영상 보정 모듈(1200)은 제1 전처리부(1210), 제2 전처리부(1220), 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 포함할 수 있다.Referring to FIG. 12 , the image correction module 1200 may include a first preprocessor 1210, a second preprocessor 1220, a first neural network model 100, and a second neural network model 200.

제1 전처리부(1210)는 입력 영상(1)을 회색조 영상으로 변환하기 위한 구성으로서, 메타 데이터에 포함된 자동 화이트 밸런스(Auto White Balance, AWB) 게인(gain), 색 보정 행렬(Color Correction Matrix, CCM) 및 감마(Gamma) 등을 입력 영상(1)에 적용한 후, 픽셀별로 RGB의 최대값을 추출하는 채널 와이즈 맥스(Channel wise MAX)를 수행함으로써, 입력 영상(1)을 회색조 영상으로 변환하여 출력할 수 있다.The first preprocessor 1210 is a component for converting the input image 1 into a grayscale image, and includes the Auto White Balance (AWB) gain and the color correction matrix included in the metadata. , CCM) and Gamma are applied to the input image (1), and then the input image (1) is converted to a grayscale image by performing channel wise MAX to extract the maximum value of RGB for each pixel. You can print it out.

제2 전처리부(1220)는 제1 전처리부(1210)에서 출력된 회색조 영상으로부터 픽셀값의 평균(mean) 및 분산(variance)을 추출하고, 추출된 평균 및 분산을 입력 영상(1) 및 회색조 영상과 함께 스케일드 컨캐터네이션(scaled concatenation)하여 출력한다. 스케일드 컨캐터네이션을 수행하기 위한 구체적인 연산 구조를 1201 영역에 도시하였다.The second preprocessor 1220 extracts the mean and variance of pixel values from the grayscale image output from the first preprocessor 1210, and applies the extracted mean and variance to the input image (1) and grayscale. It is output using scaled concatenation along with the video. The specific operation structure for performing scaled concatenation is shown in area 1201.

제2 신경망 모델(200)은 제2 전처리부(1220)의 출력을 입력받아 보정 파라미터(α, β)를 추론할 수 있다. 제2 신경망 모델(200)이 추론한 보정 파라미터(α, β)는 입력 영상(1) 및 회색조 영상과 함께 스케일드 컨캐터네이션되어 제1 신경망 모델(100)에 입력될 수 있다.The second neural network model 200 can receive the output of the second preprocessor 1220 and infer the correction parameters (α, β). The correction parameters (α, β) inferred by the second neural network model 200 may be scaled concatenated with the input image 1 and the grayscale image and input to the first neural network model 100.

제1 신경망 모델(100)은 입력 영상(1) 및 보정 파라미터(α, β)에 대응되는 필터(1230)를 출력할 수 있으며, 이렇게 출력된 필터(1230)를 이용하면 입력 영상(1)이 추론 영상(2)으로 변환될 수 있다.The first neural network model 100 can output a filter 1230 corresponding to the input image 1 and the correction parameters (α, β), and using the filter 1230 output in this way, the input image 1 It can be converted into an inferred image (2).

일 실시예에 따르면, 제2 신경망 모델(200)이 추론한 보정 파라미터(α, β)는 사용자에 의해 조정될 수도 있다. 사용자가 보정 파라미터(α, β)를 조정하면, 제1 신경망 모델(100)은 조정된 보정 파라미터(α, β)에 대응되는 필터(1230)를 출력하고, 이렇게 출력된 필터(1230)를 이용하여 입력 영상(1)이 추론 영상(2)으로 변환될 수 있다.According to one embodiment, the correction parameters (α, β) inferred by the second neural network model 200 may be adjusted by the user. When the user adjusts the correction parameters (α, β), the first neural network model 100 outputs a filter 1230 corresponding to the adjusted correction parameters (α, β), and uses the filter 1230 output in this way. Thus, the input image (1) can be converted into the inferred image (2).

일 실시예에 따르면, 앞서 설명한 바와 같이 사용자는 제2 신경망 모델(200)이 추론한 보정 파라미터(α, β)에 따라 보정된 영상을 미리보기를 통해 확인하고, 원하는 영상 특성을 갖도록 보정 파라미터(α, β)를 조정할 수 있다.According to one embodiment, as described above, the user previews the image corrected according to the correction parameters (α, β) deduced by the second neural network model 200 and checks the correction parameters (α, β) to have the desired image characteristics. α, β) can be adjusted.

이하에서는 도 13 내지 도 15를 참조하여, 신경망 모델을 이용하여 영상을 보정하는 방법에 대해서 설명한다. 이하에서는 설명의 편의를 위해 도 10의 모바일 단말(1000)의 ISP(1013)가 도 13 내지 도 15의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 13 내지 도 15의 단계들의 전부 또는 일부는 모바일 단말(1000)의 메인 프로세서(1020) 또는 도 19의 클라우드 서버(1900)의 프로세서(1910)에 의해 수행될 수도 있다.Hereinafter, a method of correcting an image using a neural network model will be described with reference to FIGS. 13 to 15. Hereinafter, for convenience of explanation, the ISP 1013 of the mobile terminal 1000 of FIG. 10 will be described as performing the steps of FIGS. 13 to 15. However, the present invention is not limited thereto, and all or part of the steps of FIGS. 13 to 15 may be performed by the main processor 1020 of the mobile terminal 1000 or the processor 1910 of the cloud server 1900 of FIG. 19 .

도 13을 참고하면, 1301 단계에서 ISP(1013)는 제1 신경망 모델(100)에 입력 영상 및 보정 파라미터를 입력할 수 있다. 제1 신경망 모델(100)은, 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델일 수 있다. 이때 보정 파라미터에 대응되는 레이블 영상은, 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 적어도 하나의 영상 보정 알고리즘에 의해 입력 영상이 보정된 영상일 수 있다.Referring to FIG. 13, in step 1301, the ISP 1013 may input an input image and correction parameters to the first neural network model 100. The first neural network model 100 may be a model learned to minimize the difference between an inferred image output when an input image and a correction parameter are input, and a label image corresponding to the correction parameter. At this time, the label image corresponding to the correction parameter may be an image in which the input image has been corrected by at least one image correction algorithm when the correction parameter is applied to at least one image correction algorithm.

입력 영상은, 영상 복원 모듈(1013a)이 이미지 센서(1012)로부터 출력된 원시 영상들을 복원하여 출력한 영상일 수 있다. 보정 파라미터는, 미리 설정된 값(e.g. 제1 신경망 모델(100)의 학습 시 사용된 값)일 수도 있고, 사용자의 입력에 따라 조정된 값일 수도 있다. 사용자의 입력에 따라 보정 파라미터가 조정되는 실시예에 대해서는 아래에서 도 15 내지 도 17을 참조하여 자세히 설명한다.The input image may be an image output by the image restoration module 1013a by restoring raw images output from the image sensor 1012. The correction parameter may be a preset value (e.g. a value used when learning the first neural network model 100) or a value adjusted according to the user's input. An embodiment in which correction parameters are adjusted according to user input will be described in detail below with reference to FIGS. 15 to 17.

1302 단계에서 ISP(1013)는 제1 신경망 모델(100)로부터 보정 파라미터에 대응하는 추론 영상을 획득할 수 있다. ISP(1013)는 획득한 추론 영상을 모바일 단말(100)의 화면에 표시하거나 메모리(1014)에 저장할 수 있다.In step 1302, the ISP 1013 may obtain an inferred image corresponding to the correction parameter from the first neural network model 100. The ISP 1013 may display the obtained inferred image on the screen of the mobile terminal 100 or store it in the memory 1014.

도 14는 제2 신경망 모델이 보정 파라미터를 추론하는 실시예를 설명하기 위한 도면이다. 도 14의 순서도는 도 13의 1301 단계에 포함되는 세부 단계들을 포함한다.Figure 14 is a diagram for explaining an embodiment in which a second neural network model infers a correction parameter. The flow chart of FIG. 14 includes detailed steps included in step 1301 of FIG. 13.

도 14를 참고하면, 1401 단계에서 ISP(1013)는 제2 신경망 모델(200)에 입력 영상을 입력할 수 있다. 제2 신경망 모델(200)은, 입력 영상이 입력되었을 때 제2 신경망 모델(200)이 추론하는 보정 파라미터와, 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.Referring to FIG. 14, in step 1401, the ISP 1013 may input an input image to the second neural network model 200. The second neural network model 200 is a model learned to minimize the difference between the correction parameters inferred by the second neural network model 200 when an input image is input and the correction parameters that allow the label image to have preset image characteristics. You can.

1402 단계에서 ISP(1013)는 제2 신경망 모델(200)이 추론한 보정 파라미터를 획득하고, 1403 단계에서 ISP(1013)는 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(100)에 입력할 수 있다.In step 1402, the ISP 1013 obtains the correction parameters deduced by the second neural network model 200, and in step 1403, the ISP 1013 inputs the correction parameters together with the input image into the first neural network model 100. there is.

도 15는 사용자가 보정 파라미터를 조정하는 실시예를 설명하기 위한 도면이다. 도 15의 순서도는 도 13의 1301 단계에 포함되는 세부 단계들을 포함한다.Figure 15 is a diagram for explaining an embodiment in which a user adjusts correction parameters. The flow chart of FIG. 15 includes detailed steps included in step 1301 of FIG. 13.

도 15를 참고하면, 1501 단계에서 ISP(1013)는 모바일 단말(1000)의 입출력 인터페이스(e.g. 터치 스크린, 마이크 등)를 통해 보정 파라미터를 조정하기 위한 입력을 수신할 수 있다. 1502 단계에서 ISP(1013)는 1501 단계에서 수신한 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경할 수 있다. 1503 단계에서 ISP(1013)는 제2 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(100)에 입력할 수 있다.Referring to FIG. 15, in step 1501, the ISP 1013 may receive input for adjusting correction parameters through the input/output interface (e.g. touch screen, microphone, etc.) of the mobile terminal 1000. In step 1502, the ISP 1013 may change the preset first correction parameter to a second correction parameter based on the input received in step 1501. In step 1503, the ISP 1013 may input the second correction parameter into the first neural network model 100 along with the input image.

모바일 단말(1000)의 화면에 표시된 UI를 통해 밝기 조절을 위한 보정 파라미터를 사용자가 조정하는 실시예를 도 17에 도시하였다.An example in which a user adjusts correction parameters for brightness control through the UI displayed on the screen of the mobile terminal 1000 is shown in FIG. 17 .

도 17을 참고하면, 영상의 특성을 조절하기 위한 UI 화면(1700)의 제1 영역(1710)에는 보정의 대상이 되는 영상(미리 설정된 제1 보정 파라미터에 대응하는 추론 영상)이 표시되고, UI 화면(1700)의 아래에는 영상의 특성을 조절하기 위한 툴(tool)이 표시될 수 있다.Referring to FIG. 17, the image subject to correction (an inferred image corresponding to a preset first correction parameter) is displayed in the first area 1710 of the UI screen 1700 for adjusting the characteristics of the image, and the UI Tools for adjusting the characteristics of the image may be displayed at the bottom of the screen 1700.

도 17에 도시된 UI 화면(1700)에서는 사용자가 영상의 밝기를 조절하기 위한 툴을 선택했다고 가정한다. UI 화면(1700)의 제2 영역(1720)에는 현재 조절되는 영상의 특성은 '밝기'라는 정보와, 현재 밝기의 정도를 수치로 표현한 값이 표시될 수 있다. UI 화면(1700)의 제3 영역(1730)에는 밝기를 조절하기 위한 슬라이더(slider)가 표시되고, 사용자는 터치 입력을 통해 슬라이더를 움직임으로써 입력 영상의 밝기를 조절할 수 있다.In the UI screen 1700 shown in FIG. 17, it is assumed that the user has selected a tool to adjust the brightness of the image. In the second area 1720 of the UI screen 1700, information that the characteristic of the image currently being adjusted is 'brightness' and a value expressing the current brightness level in numbers may be displayed. A slider for adjusting brightness is displayed in the third area 1730 of the UI screen 1700, and the user can adjust the brightness of the input image by moving the slider through touch input.

사용자가 입력 영상의 밝기를 증가시키도록 도 17의 UI 화면(1700)의 제3 영역(1730)의 슬라이더를 움직였다면, 제2 영역(1720)에 표시된 수치가 증가하고, ISP(1013)는 영상의 밝기가 증가하도록 제1 보정 파라미터를 제2 보정 파라미터로 조정할 수 있다.If the user moves the slider in the third area 1730 of the UI screen 1700 of FIG. 17 to increase the brightness of the input image, the value displayed in the second area 1720 increases, and the ISP 1013 increases the image brightness. The first correction parameter may be adjusted to the second correction parameter to increase the brightness.

사용자가 모바일 단말(1000)을 이용해 영상을 촬영하고 영상의 밝기를 조절하기 위한 툴을 선택하면, 처음에는 UI 화면(1700)의 제1 영역(1710)에 제2 신경망 모델(200)이 추론한 보정 파라미터에 따라 입력 영상(e.g. 촬영 영상인 원시 영상으로부터 생성된 리니어 RGB 영상 등)이 보정된 영상이 표시될 수 있다. 사용자가 UI 화면(1700)의 제2 영역(1720) 및 제3 영역(1730)에 표시된 툴을 통해 밝기를 조절하면, 그에 따라 보정 파라미터가 조정(e.g. 도 16에서와 같이 2배 증가)되고, 조정된 보정 파라미터에 따라 입력 영상이 보정된 영상이 제1 영역(1710)에 표시될 수 있다.When a user captures an image using the mobile terminal 1000 and selects a tool to adjust the brightness of the image, the second neural network model 200 infers is displayed in the first area 1710 of the UI screen 1700. Depending on the correction parameters, an image in which the input image (e.g. a linear RGB image generated from a raw image that is a captured image, etc.) has been corrected may be displayed. When the user adjusts the brightness through the tools displayed in the second area 1720 and the third area 1730 of the UI screen 1700, the correction parameter is adjusted accordingly (e.g. increased by 2 times as in FIG. 16), An image in which the input image has been corrected according to the adjusted correction parameters may be displayed in the first area 1710.

앞서 설명한 바와 같이, 제1 신경망 모델(100)은 보정 파라미터와 레이블 영상 간의 관계를 학습하므로, 보정 파라미터가 변경되면 변경된 보정 파라미터에 대응하는 레이블 영상을 추론할 수 있다. 도 16은 본 개시의 일 실시예에 따른 제1 신경망 모델에 입력되는 보정 파라미터가 변경되었을 때 추론 영상의 변화를 설명하기 위한 도면이다.As described above, the first neural network model 100 learns the relationship between correction parameters and label images, so when the correction parameters are changed, the label image corresponding to the changed correction parameters can be inferred. FIG. 16 is a diagram illustrating a change in an inferred image when a correction parameter input to a first neural network model is changed according to an embodiment of the present disclosure.

설명의 편의를 위해, 도 16에서 보정 파라미터(10)는 밝기 조절과 관련된 파라미터만을 포함한다고 가정한다. 또한, 제1 신경망 모델(100)은 밝기를 조절하는 영상 보정 알고리즘에 의해 생성된 레이블 영상을 이용하여 학습되었고, 학습 시 사용된 영상 보정 알고리즘은 보정 파라미터의 값이 클수록 밝기가 증가하도록 영상을 보정한다고 가정한다.For convenience of explanation, it is assumed in FIG. 16 that the correction parameter 10 includes only parameters related to brightness control. In addition, the first neural network model 100 was learned using a label image generated by an image correction algorithm that adjusts brightness, and the image correction algorithm used during learning corrects the image so that the brightness increases as the value of the correction parameter increases. Assume that you do.

도 16에 도시된 실시예에서는 보정 파라미터(10)가 2배로 증가하였다. 2배로 증가된 보정 파라미터(10)에 대응하는 레이블 영상은, 기존의 보정 파라미터(10)에 대응하는 레이블 영상에 비해 밝기가 증가한다. 따라서, 제1 신경망 모델(100)에서 출력되는 추론 영상(2) 역시 보정 파라미터(10)가 증가함에 따라 밝기가 증가하게 된다.In the example shown in Figure 16, the correction parameter 10 is doubled. The brightness of the label image corresponding to the doubled correction parameter 10 increases compared to the label image corresponding to the existing correction parameter 10. Accordingly, the brightness of the inferred image 2 output from the first neural network model 100 also increases as the correction parameter 10 increases.

한편, 도 17에 도시된 실시예에서는 사용자가 UI 화면(1700)을 터치함으로써 보정 파라미터를 조정하기 위한 입력을 인가하는 것으로 설명하였으나, 다른 실시예에 따르면 사용자는 음성 입력을 통해 보정 파라미터를 조정할 수도 있다. 예를 들어, 사용자는 모바일 단말(1000)에 구비된 스피커를 통해 영상의 특성 조절을 지시하는 음성(e.g. "하이 빅스비, 사진을 더 밝게 만들어줘.")을 입력할 수도 있다.Meanwhile, in the embodiment shown in FIG. 17, the user applies an input to adjust the correction parameter by touching the UI screen 1700. However, according to another embodiment, the user may adjust the correction parameter through voice input. there is. For example, the user may input a voice (e.g. “Hi Bixby, make the picture brighter.”) that instructs to adjust the characteristics of the image through a speaker provided in the mobile terminal 1000.

이하에서는 도 20 및 도 21을 참조하여 제1 신경망 모델(100) 및 제2 신경망 모델(200)을 학습시키는 방법에 대해서 각각 설명한다. 이하에서는 설명의 편의를 위해 도 18의 컴퓨팅 장치(1800)의 프로세서(1830)가 도 20 및 도 21의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 20 및 도 21의 단계들의 전부 또는 일부는 도 10의 모바일 단말(1000)의 메인 프로세서(1020)에 의해 수행될 수도 있다.Hereinafter, a method of training the first neural network model 100 and the second neural network model 200 will be described with reference to FIGS. 20 and 21, respectively. Hereinafter, for convenience of explanation, the processor 1830 of the computing device 1800 of FIG. 18 will be described as performing the steps of FIGS. 20 and 21. However, the present invention is not limited to this, and all or part of the steps of FIGS. 20 and 21 may be performed by the main processor 1020 of the mobile terminal 1000 of FIG. 10 .

도 20을 참고하면, 2001 단계에서 프로세서(1830)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.Referring to FIG. 20, in step 2001, the processor 1830 may generate a label image by correcting the input image by applying a correction parameter to at least one image correction algorithm.

2002 단계에서 프로세서(1830)는 보정 파라미터 및 입력 영상을 제1 신경망 모델에 입력하고, 2003 단계에서 프로세서(1830)는 제1 신경망 모델로부터 출력되는 추론 영상을 획득할 수 있다.In step 2002, the processor 1830 may input correction parameters and an input image to the first neural network model, and in step 2003, the processor 1830 may obtain an inferred image output from the first neural network model.

2004 단계에서 프로세서(1830)는 레이블 영상과 추론 영상 간 차이가 최소가 되도록 제1 신경망 모델을 업데이트할 수 있다.In step 2004, the processor 1830 may update the first neural network model so that the difference between the label image and the inferred image is minimized.

도 21을 참고하면, 프로세서(1830)는 2101 단계에서 입력 영상을 제2 신경망 모델에 입력하고, 2102 단계에서 제2 신경망 모델로부터 출력되는 보정 파라미터를 획득할 수 있다.Referring to FIG. 21, the processor 1830 may input an input image into a second neural network model in step 2101 and obtain correction parameters output from the second neural network model in step 2102.

2103 단계에서 프로세서(1830)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.In step 2103, the processor 1830 may generate a label image by correcting the input image by applying correction parameters to at least one image correction algorithm.

프로세서(1830)는, 2104 단계에서 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득하고, 2105 단계에서 측정 특성값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 제2 신경망 모델을 업데이트할 수 있다.The processor 1830 obtains measurement characteristic values expressing the image characteristics of the label image in numbers in step 2104, and updates the second neural network model so that the difference between the measurement characteristic value and the preset target characteristic value is minimized in step 2105. You can.

이상 설명한 실시예들에 따른 신경망 모델들(100, 200)을 모바일 단말(1000) 등에 탑재한다면 영상 보정 모듈(1013b)의 업데이트를 간편하게 수행할 수 있는 장점이 있다. 이하에서는 도 22 및 도 23을 참조하여 일 실시예에 따른 신경망 모델을 업데이트하는 방법에 대해서 설명한다.If the neural network models 100 and 200 according to the embodiments described above are mounted on the mobile terminal 1000, there is an advantage that the image correction module 1013b can be easily updated. Hereinafter, a method of updating a neural network model according to an embodiment will be described with reference to FIGS. 22 and 23.

도 22에는 도 10의 모바일 단말(1000)의 ISP(1013)에 포함된 영상 보정 모듈(1013b)이 신경망 모델이 아닌 영상 보정 알고리즘들을 포함하도록 구현된 예를 도시하였다. 도 22를 참고하면, 영상 보정 모듈(1013b)은 명암비 개선 알고리즘 A(2211) 및 밝기 보정 알고리즘(2220)을 포함하도록 구현되었다.FIG. 22 shows an example in which the image correction module 1013b included in the ISP 1013 of the mobile terminal 1000 of FIG. 10 is implemented to include image correction algorithms rather than a neural network model. Referring to FIG. 22, the image correction module 1013b is implemented to include a contrast ratio improvement algorithm A (2211) and a brightness correction algorithm (2220).

도 22에서는 영상 보정 모듈(1013b)에 포함된 영상 보정 알고리즘들에 대한 업데이트가 수행된다고 가정한다. 업데이트의 내용은 다음과 같다.In FIG. 22, it is assumed that an update to the image correction algorithms included in the image correction module 1013b is performed. The contents of the update are as follows.

1) 명암비 개선 알고리즘 A를 명암비 개선 알고리즘 B로 교체1) Replace contrast ratio improvement algorithm A with contrast ratio improvement algorithm B

2) 밝기 보정 알고리즘을 제거2) Remove brightness correction algorithm

3) 노출 융합 알고리즘을 추가3) Add exposure fusion algorithm

업데이트를 수행한 결과를 도 22의 우측에 도시하였다. 도 22를 참고하면, 영상 보정 모듈(1013b)에서 명암비 개선 알고리즘 A(2211)는 명암비 개선 알고리즘 B(2212)로 교체되었고, 밝기 보정 알고리즘(2220)은 제거되었으며, 노출 융합 알고리즘(2230)이 추가되었다.The result of performing the update is shown on the right side of FIG. 22. Referring to FIG. 22, in the image correction module 1013b, contrast ratio improvement algorithm A (2211) has been replaced with contrast ratio improvement algorithm B (2212), the brightness correction algorithm (2220) has been removed, and the exposure fusion algorithm (2230) has been added. It has been done.

이와 같이 영상 보정 모듈(1013b)이 영상 보정 알고리즘들을 포함하도록 구현된 상태에서 영상 보정 모듈(1013b)에 대한 업데이트가 이루어질 경우 다음과 같은 문제점들이 존재한다.In this way, when an update to the image correction module 1013b is implemented while the image correction module 1013b is implemented to include image correction algorithms, the following problems exist.

첫 번째로 영상 보정 알고리즘에 대한 변경(교체, 제거, 추가 등)이 이루어질 때마다 처리 속도를 향상시키기 위한 최적화 작업이 필요하므로 시간과 리소스가 많이 필요하다.First, whenever a change (replacement, removal, addition, etc.) is made to the image correction algorithm, optimization work is required to improve processing speed, which requires a lot of time and resources.

두 번째로 일부 영상 보정 알고리즘의 경우 별도의 하드웨어로 구현되므로, 해당 영상 보정 알고리즘을 추가하기 위해서는 하드웨어를 교체하거나 추가해야 하는데, 특히 영상 보정 모듈(1013b)이 모바일 단말(1000)상에 구현된 경우 하드웨어의 교체나 추가는 많은 제약이 따른다.Second, some image correction algorithms are implemented as separate hardware, so in order to add the corresponding image correction algorithm, the hardware must be replaced or added, especially when the image correction module 1013b is implemented on the mobile terminal 1000. Replacing or adding hardware comes with many restrictions.

도 23에는 도 10의 모바일 단말(1000)의 ISP(1013)에 포함된 영상 보정 모듈(1013b)이 본 개시의 실시예들에 따른 신경망 모델들(100, 200)을 포함하도록 구현되었을 때 영상 보정 모듈(1013b)을 업데이트하는 실시예를 도시하였다.FIG. 23 shows image correction when the image correction module 1013b included in the ISP 1013 of the mobile terminal 1000 of FIG. 10 is implemented to include neural network models 100 and 200 according to embodiments of the present disclosure. An embodiment of updating the module 1013b is shown.

도 23을 참고하면, 영상 보정 모듈(1013b)에 포함된 제1 신경망 모델(100)을 업데이트하기 위해서는 제1 신경망 모델(100)에 대한 학습이 다시 수행되어야 한다. 앞서 설명한 바와 같이 제1 신경망 모델(100)에 대한 학습은 도 18에 도시된 별도의 컴퓨팅 장치(1800)에 의해 수행될 수도 있으므로, 이하에서는 컴퓨팅 장치(1800)가 제1 신경망 모델(100)에 대한 학습을 수행한다고 가정한다.Referring to FIG. 23, in order to update the first neural network model 100 included in the image correction module 1013b, learning on the first neural network model 100 must be performed again. As described above, learning of the first neural network model 100 may be performed by a separate computing device 1800 shown in FIG. 18, so hereinafter, the computing device 1800 is used to learn the first neural network model 100. Assume that you are learning about

앞서 설명한 바와 같이 레이블 영상 생성 모듈(300)은 제1 신경망 모델(100)에 학습시키고자 하는 영상 보정 특성에 대응되는 영상 보정 알고리즘들로 구성될 수 있다. 도 23을 참고하면, 최초에 프로세서(1830)는 레이블 영상 생성 모듈(300)이 명암비 개선 알고리즘 A(3211) 및 밝기 보정 알고리즘(3220)을 포함하도록 구성하고, 제1 신경망 모델(100)을 학습시킨 후 이를 모바일 단말(1000)의 영상 보정 모듈(1013b)에 탑재하였다.As described above, the label image generation module 300 may be composed of image correction algorithms corresponding to image correction characteristics to be learned in the first neural network model 100. Referring to FIG. 23, the processor 1830 initially configures the label image generation module 300 to include a contrast ratio improvement algorithm A (3211) and a brightness correction algorithm 3220, and learns the first neural network model 100. After doing so, it was mounted on the image correction module 1013b of the mobile terminal 1000.

이후 모바일 단말(1000)의 영상 보정 모듈(1013b)의 영상 보정 특성을 조정할 필요가 있는 경우, 프로세서(1830)는 레이블 영상 생성 모듈(300)이 명암비 개선 알고리즘 B(3212) 및 노출 융합 알고리즘(3230)를 포함하도록 새롭게 구성하고 다시 제1 신경망 모델(100)을 학습시킬 수 있다. 제1 신경망 모델(100)에 대한 학습이 완료되면 프로세서(1830)는 새롭게 학습된 제1 신경망 모델(100)을 모바일 단말(1000)에 전송하고, 모바일 단말(100)은 수신한 제1 신경망 모델(100)을 설치함으로써 영상 보정 모듈(1013b)을 업데이트할 수 있다.Afterwards, if there is a need to adjust the image correction characteristics of the image correction module 1013b of the mobile terminal 1000, the processor 1830 allows the label image generation module 300 to use the contrast ratio improvement algorithm B 3212 and the exposure fusion algorithm 3230. ) and the first neural network model 100 can be trained again. When learning of the first neural network model 100 is completed, the processor 1830 transmits the newly learned first neural network model 100 to the mobile terminal 1000, and the mobile terminal 100 receives the received first neural network model. By installing 100, the image correction module 1013b can be updated.

이와 같이 영상 보정 모듈(1013b)이 본 개시의 실시예들에 따른 신경망 모델들(100, 200)을 포함하도록 구현된 경우, 영상 보정 모듈(1013b)이 업데이트되더라도 최적화 작업을 수행할 필요가 없다. 또한, 일반적으로 신경망 모델들(100, 200)을 학습시키는 컴퓨팅 장치(1800)는 충분한 하드웨어 리소스를 포함하고 있으므로, 새로운 학습을 위해 레이블 영상 생성 모듈(300)에 포함되는 영상 보정 알고리즘들의 변경(교체, 삭제, 추가 등)을 자유롭게 할 수 있다.In this way, when the image correction module 1013b is implemented to include the neural network models 100 and 200 according to embodiments of the present disclosure, there is no need to perform optimization even if the image correction module 1013b is updated. In addition, since the computing device 1800 for training the neural network models 100 and 200 generally includes sufficient hardware resources, it is necessary to change (replace) the image correction algorithms included in the label image generation module 300 for new learning. , deletion, addition, etc.) can be done freely.

본 개시의 일 실시예에 따른 신경망 모델을 이용하여 영상을 보정하는 방법은, 컴퓨팅 장치의 프로세서가 제1 신경망 모델에 입력 영상(input image) 및 보정 파라미터(correction parameter)를 입력하는 단계 및 상기 프로세서가 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상(inference image)을 획득하는 단계를 포함하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상(label image) 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능하다.A method of correcting an image using a neural network model according to an embodiment of the present disclosure includes the steps of a processor of a computing device inputting an input image and a correction parameter to a first neural network model, and the processor Obtaining an inference image corresponding to the correction parameter from the first neural network model, wherein the first neural network model includes the inference image output when the input image and the correction parameter are input. and, a model learned to minimize the difference between label images corresponding to the correction parameters, wherein the label image corresponding to the correction parameters is, when the correction parameters are applied to at least one image correction algorithm, Since the input image is an image corrected by at least one image correction algorithm, and the first neural network model learns the relationship between the correction parameter and the label image, the image output from the first neural network model is changed by changing the correction parameter. Control of the inferred image is possible.

일 실시예에 따르면, 상기 제1 신경망 모델에 상기 입력 영상 및 제1 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제1 추론 영상은, 상기 제1 신경망 모델에 상기 입력 영상 및 제2 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제2 추론 영상과 다른 것을 특징으로 할 수 있다.According to one embodiment, when the input image and the first correction parameter are input to the first neural network model, the first inferred image output from the first neural network model is the input image and the second correction parameter to the first neural network model. When a correction parameter is input, it may be different from the second inferred image output from the first neural network model.

일 실시예에 따르면, 상기 보정 파라미터를 입력하는 단계는, 상기 프로세서가 제2 신경망 모델에 상기 입력 영상을 입력하는 단계, 상기 프로세서가 상기 제2 신경망 모델이 추론한 상기 보정 파라미터를 획득하는 단계 및 상기 프로세서가 상기 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하는 단계를 포함하며, 상기 제2 신경망 모델은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.According to one embodiment, the step of inputting the correction parameter includes the processor inputting the input image to a second neural network model, the processor obtaining the correction parameter inferred by the second neural network model, and A step of the processor inputting the correction parameters together with the input image into the first neural network model, wherein the second neural network model includes correction parameters that the second neural network model infers when the input image is input. , It may be a model learned to minimize the difference between correction parameters that allow the label image to have preset image characteristics.

일 실시예에 따르면, 상기 보정 파라미터를 입력하는 단계는, 상기 컴퓨팅 장치의 입출력 인터페이스를 통해 상기 프로세서가 상기 보정 파라미터를 조정하기 위한 입력을 수신하는 단계, 상기 프로세서가 상기 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경하는 단계, 상기 프로세서가 상기 제2 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하는 단계를 포함할 수 있다.According to one embodiment, the step of inputting the correction parameter includes the processor receiving an input for adjusting the correction parameter through an input/output interface of the computing device, and the processor performing a preset adjustment based on the input. It may include changing a first correction parameter to a second correction parameter, and inputting the second correction parameter to the first neural network model together with the input image by the processor.

일 실시예에 따르면, 상기 추론 영상을 획득하는 단계는, 상기 프로세서가 상기 제1 신경망 모델로부터 상기 제2 보정 파라미터에 대응하는 추론 영상을 획득하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 제1 보정 파라미터가 입력되었을 때 출력되는 제1 추론 영상과, 상기 제1 보정 파라미터에 대응되는 제1 레이블 영상 간 차이를 최소화하고, 상기 입력 영상 및 상기 제2 보정 파라미터가 입력되었을 때 출력되는 제2 추론 영상과, 상기 제2 보정 파라미터에 대응되는 제2 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 제1 레이블 영상은, 상기 제1 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제2 레이블 영상은, 상기 제2 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상일 수 있다.According to one embodiment, in the step of acquiring the inferred image, the processor acquires an inferred image corresponding to the second correction parameter from the first neural network model, and the first neural network model includes the input image and the Minimize the difference between a first inferred image output when a first correction parameter is input and a first label image corresponding to the first correction parameter, and a first inferred image output when the input image and the second correction parameter are input. 2 A model learned to minimize the difference between an inferred image and a second label image corresponding to the second correction parameter, and the first label image is a model in which the first correction parameter has been applied to the at least one image correction algorithm. When the input image is a corrected image by the at least one image correction algorithm, and the second label image is the at least one image when the second correction parameter is applied to the at least one image correction algorithm The input image may be a corrected image using a correction algorithm.

일 실시예에 따르면, 상기 제1 신경망 모델은, 상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하는 단계, 상기 보정 파라미터 및 상기 입력 영상을 상기 제1 신경망 모델에 입력하는 단계, 상기 제1 신경망 모델로부터 출력되는 상기 추론 영상을 획득하는 단계 및 상기 레이블 영상과 상기 추론 영상 간 차이가 최소가 되도록 상기 제1 신경망 모델을 업데이트하는 단계에 의해 학습될 수 있다.According to one embodiment, the first neural network model includes generating the label image by correcting the input image by applying the correction parameter to the at least one image correction algorithm, the correction parameter and the input image Learning by inputting into a first neural network model, acquiring the inferred image output from the first neural network model, and updating the first neural network model so that the difference between the label image and the inferred image is minimized. It can be.

일 실시예에 따르면, 상기 제2 신경망 모델은, 상기 입력 영상을 상기 제2 신경망 모델에 입력하는 단계, 상기 제2 신경망 모델로부터 출력되는 상기 보정 파라미터를 획득하는 단계, 상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하는 단계, 상기 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득하는 단계 및 상기 측정 특정값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 상기 제2 신경망 모델을 업데이트하는 단계에 의해 학습될 수 있다.According to one embodiment, the second neural network model includes inputting the input image into the second neural network model, obtaining the correction parameter output from the second neural network model, and the at least one image correction algorithm. generating the label image by correcting the input image by applying the correction parameter to the label image, obtaining a measurement characteristic value expressing the image characteristic of the label image in numbers, and determining the difference between the measurement specific value and a preset target characteristic value. It can be learned by updating the second neural network model so that the difference is minimized.

일 실시예에 따르면, 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는, 상기 프로세서가 상기 입력 영상을 회색조(gray scale) 영상으로 변환하는 단계, 상기 프로세서가 상기 보정 파라미터에 포함된 제1 파라미터를 상기 회색조 영상에 적용하여 제1 회색조 영상을 생성하는 단계, 상기 프로세서가 상기 보정 파라미터에 포함된 제2 파라미터를 상기 회색조 영상에 적용하여 제2 회색조 영상을 생성하는 단계 및 상기 프로세서가 상기 입력 영상, 상기 제1 회색조 영상 및 상기 제2 회색조 영상을 상기 제1 신경망 모델에 입력하는 단계를 포함할 수 있다.According to one embodiment, the step of inputting the input image and the correction parameter to the first neural network model includes converting the input image into a gray scale image by the processor, and converting the input image into a gray scale image by the processor. Generating a first gray-scale image by applying a first parameter included in the gray-scale image to the gray-scale image, generating a second gray-scale image by the processor applying a second parameter included in the correction parameter to the gray-scale image, and It may include the step of a processor inputting the input image, the first gray-scale image, and the second gray-scale image into the first neural network model.

일 실시예에 따르면, 상기 추론 영상을 획득하는 단계는, 상기 프로세서가 상기 제1 신경망 모델로부터 필터(filter) 및 맵 정보(map information) 중 적어도 하나를 획득하는 단계 및 상기 프로세서가 상기 필터 및 맵 정보 중 적어도 하나를 이용하여 상기 입력 영상을 상기 추론 영상으로 변환하는 단계를 포함할 수 있다.According to one embodiment, the obtaining of the inferred image includes the processor acquiring at least one of a filter and map information from the first neural network model, and the processor obtaining the filter and the map. It may include converting the input image into the inferred image using at least one piece of information.

일 실시예에 따르면, 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는, 상기 프로세서가 상기 컴퓨팅 장치에 포함된 카메라로부터, 상기 카메라의 이미지 센서를 통해 획득된 원시 영상(raw image)들을 수신하는 단계, 상기 프로세서가 상기 원시 영상들을 이용하여 상기 입력 영상을 생성하는 단계 및 상기 프로세서가 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력하는 단계를 포함할 수 있다.According to one embodiment, the step of inputting the input image and the correction parameter to the first neural network model includes the processor using a raw image acquired through an image sensor of the camera from a camera included in the computing device. images), the processor generating the input image using the raw images, and the processor inputting the input image and the correction parameter into the first neural network model.

일 실시예에 따르면, 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는, 상기 컴퓨팅 장치가 외부의 디바이스로부터 원시 영상들을 수신하는 단계, 상기 프로세서가 상기 원시 영상들을 이용하여 상기 입력 영상을 생성하는 단계 및 상기 프로세서가 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력하는 단계를 포함할 수 있다.According to one embodiment, inputting the input image and the correction parameter to the first neural network model includes the computing device receiving raw images from an external device, and the processor using the raw images to It may include generating an input image and allowing the processor to input the input image and the correction parameters into the first neural network model.

본 개시의 일 실시예에 따른 영상 보정을 위한 신경망 모델을 실행하는 컴퓨팅 장치는, 사용자로부터 입력을 수신하기 위한 입출력 인터페이스, 입력 영상을 보정하기 위한 프로그램이 저장되는 메모리 및 프로세서를 포함하고, 상기 프로세서는 상기 프로그램을 실행함으로써, 제1 신경망 모델에 입력 영상 및 보정 파라미터를 입력하고, 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상을 획득하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능하다.A computing device executing a neural network model for image correction according to an embodiment of the present disclosure includes an input/output interface for receiving input from a user, a memory storing a program for correcting an input image, and a processor, the processor By executing the program, inputting an input image and correction parameters to a first neural network model, and obtaining an inferred image corresponding to the correction parameters from the first neural network model, the first neural network model includes the input image and It is a model learned to minimize the difference between the inferred image output when the correction parameter is input and the label image corresponding to the correction parameter, and the label image corresponding to the correction parameter is an image in which the correction parameter is at least one image. When applied to a correction algorithm, the input image is a corrected image by the at least one image correction algorithm, and the first neural network model learns the relationship between the correction parameter and the label image, so by changing the correction parameter The inferred image output from the first neural network model can be controlled.

일 실시예에 따르면, 상기 프로세서는 상기 보정 파라미터를 입력함에 있어서, 제2 신경망 모델에 상기 입력 영상을 입력하고, 상기 제2 신경망 모델이 추론한 상기 보정 파라미터를 획득한 후, 상기 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하며, 상기 제2 신경망 모델은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.According to one embodiment, when inputting the correction parameter, the processor inputs the input image to a second neural network model, obtains the correction parameter inferred by the second neural network model, and then sets the correction parameter to the It is input to the first neural network model together with the input image, and the second neural network model includes a correction parameter that the second neural network model infers when the input image is input, and a correction parameter that allows the label image to have preset image characteristics. It may be a model learned to minimize differences between correction parameters.

일 실시예에 따르면, 상기 프로세서는 상기 보정 파라미터를 입력함에 있어서, 상기 입출력 인터페이스를 통해 상기 보정 파라미터를 조정하기 위한 입력을 수신하고, 상기 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경한 후, 상기 제2 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력할 수 있다.According to one embodiment, when inputting the correction parameter, the processor receives an input for adjusting the correction parameter through the input/output interface, and based on the input, performs a second correction of the preset first correction parameter. After changing the parameter, the second correction parameter can be input to the first neural network model along with the input image.

일 실시예에 따르면, 상기 프로세서는 상기 추론 영상을 획득함에 있어서, 상기 제1 신경망 모델로부터 상기 제2 보정 파라미터에 대응하는 추론 영상을 획득하며, 상기 제1 신경망 모델은, 상기 입력 영상 및 상기 제1 보정 파라미터가 입력되었을 때 출력되는 제1 추론 영상과, 상기 제1 보정 파라미터에 대응되는 제1 레이블 영상 간 차이를 최소화하고, 상기 입력 영상 및 상기 제2 보정 파라미터가 입력되었을 때 출력되는 제2 추론 영상과, 상기 제2 보정 파라미터에 대응되는 제2 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 제1 레이블 영상은, 상기 제1 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제2 레이블 영상은, 상기 제2 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상일 수 있다.According to one embodiment, when acquiring the inferred image, the processor acquires an inferred image corresponding to the second correction parameter from the first neural network model, and the first neural network model includes the input image and the second correction parameter. 1 Minimize the difference between a first inferred image output when a correction parameter is input and a first label image corresponding to the first correction parameter, and a second image output when the input image and the second correction parameter are input. A model learned to minimize the difference between an inferred image and a second label image corresponding to the second correction parameter, wherein the first label image is used when the first correction parameter is applied to the at least one image correction algorithm. , the input image is an image corrected by the at least one image correction algorithm, and the second label image is a corrected image when the second correction parameter is applied to the at least one image correction algorithm. The input image may be a corrected image using an algorithm.

일 실시예에 따르면, 상기 제1 신경망 모델은, 상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하고, 상기 보정 파라미터 및 상기 입력 영상을 상기 제1 신경망 모델에 입력하고, 상기 제1 신경망 모델로부터 출력되는 상기 추론 영상을 획득한 후, 상기 레이블 영상과 상기 추론 영상 간 차이가 최소가 되도록 상기 제1 신경망 모델을 업데이트함으로써 학습될 수 있다.According to one embodiment, the first neural network model generates the label image by correcting the input image by applying the correction parameter to the at least one image correction algorithm, and combines the correction parameter and the input image with the first neural network model. 1 It can be learned by inputting a neural network model, obtaining the inferred image output from the first neural network model, and then updating the first neural network model so that the difference between the label image and the inferred image is minimized.

일 실시예에 따르면, 상기 제2 신경망 모델은, 상기 입력 영상을 상기 제2 신경망 모델에 입력하고, 상기 제2 신경망 모델로부터 출력되는 상기 보정 파라미터를 획득하고, 상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하고, 상기 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득한 후, 상기 측정 특정값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 상기 제2 신경망 모델을 업데이트함으로써 학습될 수 있다.According to one embodiment, the second neural network model inputs the input image to the second neural network model, obtains the correction parameter output from the second neural network model, and executes the at least one image correction algorithm. The label image is generated by correcting the input image by applying a correction parameter, and measurement characteristic values expressing the image characteristics of the label image in numbers are obtained, and then the difference between the measurement specific value and the preset target characteristic value is minimized. It can be learned by updating the second neural network model so that .

일 실시예에 따르면, 상기 프로세서는 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력함에 있어서, 상기 입력 영상을 회색조(gray scale) 영상으로 변환하고, 상기 보정 파라미터에 포함된 제1 파라미터를 상기 회색조 영상에 적용하여 제1 회색조 영상을 생성하고, 상기 보정 파라미터에 포함된 제2 파라미터를 상기 회색조 영상에 적용하여 제2 회색조 영상을 생성한 후, 상기 입력 영상, 상기 제1 회색조 영상 및 상기 제2 회색조 영상을 상기 제1 신경망 모델에 입력할 수 있다.According to one embodiment, when inputting the input image and the correction parameter to the first neural network model, the processor converts the input image into a gray scale image and uses a first parameter included in the correction parameter. is applied to the gray-scale image to generate a first gray-scale image, and a second parameter included in the correction parameter is applied to the gray-scale image to generate a second gray-scale image. Then, the input image, the first gray-scale image, and The second grayscale image may be input to the first neural network model.

일 실시예에 따르면, 상기 프로세서는 상기 추론 영상을 획득함에 있어서, 상기 제1 신경망 모델로부터 필터(filter) 및 맵 정보(map information) 중 적어도 하나를 획득한 후, 상기 필터 및 맵 정보 중 적어도 하나를 이용하여 상기 입력 영상을 상기 추론 영상으로 변환할 수 있다.According to one embodiment, when acquiring the inferred image, the processor obtains at least one of a filter and map information from the first neural network model, and then obtains at least one of the filter and map information. The input image can be converted into the inferred image using .

일 실시예에 따르면, 상기 프로세서는 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력함에 있어서, 상기 컴퓨팅 장치에 포함된 카메라로부터, 상기 카메라의 이미지 센서를 통해 획득된 원시 영상(raw image)들을 수신하고, 상기 원시 영상들을 이용하여 상기 입력 영상을 생성한 후, 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력할 수 있다.According to one embodiment, when inputting the input image and the correction parameter to the first neural network model, the processor uses a raw image obtained from a camera included in the computing device through an image sensor of the camera. ) are received, the input image is generated using the raw images, and then the input image and the correction parameters can be input to the first neural network model.

일 실시예에 따르면, 상기 프로세서는 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력함에 있어서, 외부의 디바이스로부터 원시 영상들을 수신하고, 상기 원시 영상들을 이용하여 상기 입력 영상을 생성한 후, 상기 프로세서가 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력할 수 있다.According to one embodiment, when inputting the input image and the correction parameters to the first neural network model, the processor receives raw images from an external device, generates the input image using the raw images, and then , the processor may input the input image and the correction parameter into the first neural network model.

본 개시의 다양한 실시예들은 하나 이상의 컴퓨터 프로그램들에 의해 구현 또는 지원될 수 있고, 컴퓨터 프로그램들은 컴퓨터 판독 가능한 프로그램 코드(code)로부터 형성되고, 컴퓨터로 판독 가능한 매체에 수록될 수 있다. 본 개시에서, "애플리케이션(application)" 및 "프로그램(program)"은 컴퓨터 판독 가능한 프로그램 코드에서의 구현에 적합한 하나 이상의 컴퓨터 프로그램, 소프트웨어 컴포넌트, 명령어 세트, 프로시저(procedure), 함수, 개체(object), 클래스, 인스턴스, 관련 데이터, 또는 그것의 일부를 나타낼 수 있다. "컴퓨터 판독 가능한 프로그램 코드"는, 소스 코드, 목적 코드, 및 실행 가능한 코드를 포함하는 다양한 유형의 컴퓨터 코드를 포함할 수 있다. "컴퓨터 판독 가능한 매체"는, ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브(HDD), CD(compact disc), DVD(digital video disc), 또는 다양한 유형의 메모리와 같이, 컴퓨터에 의해 액세스(access)될 수 있는 다양한 유형의 매체를 포함할 수 있다.Various embodiments of the present disclosure may be implemented or supported by one or more computer programs, and the computer programs may be formed from computer-readable program code and stored in a computer-readable medium. In this disclosure, “application” and “program” refer to one or more computer programs, software components, instruction sets, procedures, functions, or objects suitable for implementation in computer-readable program code. ), may represent a class, instance, related data, or part thereof. “Computer-readable program code” may include various types of computer code, including source code, object code, and executable code. “Computer-readable media” means read only memory (ROM), random access memory (RAM), hard disk drive (HDD), compact disc (CD), digital video disc (DVD), or various types of memory, It may include various types of media that can be accessed by a computer.

또한, 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장 매체'는 실재(tangible)하는 장치이고, 일시적인 전기적 또는 다른 신호들을 전송하는 유선, 무선, 광학적, 또는 다른 통신 링크들을 배제할 수 있다. 한편, 이 '비일시적 저장 매체'는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장 매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 컴퓨터 판독 가능한 매체는, 데이터가 영구적으로 저장될 수 있는 매체와 데이터가 저장되고 나중에 덮어쓰기 될 수 있는 매체, 이를테면 재기입 가능한 광 디스크 또는 소거 가능한 메모리 디바이스를 포함한다.Additionally, device-readable storage media may be provided in the form of non-transitory storage media. Here, a ‘non-transitory storage medium’ is a tangible device and may exclude wired, wireless, optical, or other communication links that transmit transient electrical or other signals. Meanwhile, this 'non-transitory storage medium' does not distinguish between cases where data is semi-permanently stored in the storage medium and cases where data is stored temporarily. For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored. Computer-readable media can be any available media that can be accessed by a computer and can include both volatile and non-volatile media, removable and non-removable media. Computer-readable media includes media on which data can be permanently stored and media on which data can be stored and later overwritten, such as rewritable optical disks or erasable memory devices.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예를 들어, 스마트폰) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예를 들어, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. A computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or through an application store, or on two user devices (e.g., smart device). It can be distributed (e.g., downloaded or uploaded) directly between phones, or online. In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be stored on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be at least temporarily stored or created temporarily.

전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 으로 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present disclosure is for illustrative purposes, and a person skilled in the art to which the present disclosure pertains will understand that the present disclosure can be easily modified into another specific form without changing its technical idea or essential features. will be. For example, the described techniques are performed in an order different from the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or in a different configuration. Appropriate results may be achieved through substitution or substitution by elements or equivalents. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as single may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present disclosure. do.

Claims (20)

컴퓨팅 장치의 프로세서가 제1 신경망 모델에 입력 영상(input image) 및 보정 파라미터(correction parameter)를 입력하는 단계; 및
상기 프로세서가 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상(inference image)을 획득하는 단계를 포함하며,
상기 제1 신경망 모델은,
상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상(label image) 간 차이를 최소화하도록 학습된 모델이며,
상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능한, 방법.
Inputting, by a processor of a computing device, an input image and a correction parameter to a first neural network model; and
Comprising the step of the processor acquiring an inference image corresponding to the correction parameter from the first neural network model,
The first neural network model is,
A model learned to minimize the difference between the inferred image output when the input image and the correction parameter are input, and a label image corresponding to the correction parameter,
The label image corresponding to the correction parameter is an image in which the input image is corrected by the at least one image correction algorithm when the correction parameter is applied to the at least one image correction algorithm,
Since the first neural network model learns the relationship between the correction parameter and the label image, the inferred image output from the first neural network model can be controlled by changing the correction parameter.
제1항에 있어서,
상기 제1 신경망 모델에 상기 입력 영상 및 제1 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제1 추론 영상은, 상기 제1 신경망 모델에 상기 입력 영상 및 제2 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제2 추론 영상과 다른 것을 특징으로 하는, 방법.
According to paragraph 1,
When the input image and the first correction parameter are input to the first neural network model, the first inferred image output from the first neural network model is, when the input image and the second correction parameter are input to the first neural network model. A method, characterized in that it is different from the second inferred image output from the first neural network model.
제1항에 있어서,
상기 보정 파라미터를 입력하는 단계는,
상기 프로세서가 제2 신경망 모델에 상기 입력 영상을 입력하는 단계;
상기 프로세서가 상기 제2 신경망 모델이 추론한 상기 보정 파라미터를 획득하는 단계; 및
상기 프로세서가 상기 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하는 단계를 포함하며,
상기 제2 신경망 모델은,
상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인 방법.
According to paragraph 1,
The step of inputting the correction parameters is,
inputting the input image to a second neural network model by the processor;
obtaining, by the processor, the correction parameter inferred by the second neural network model; and
Including the step of the processor inputting the correction parameters together with the input image into the first neural network model,
The second neural network model is,
A method in which the model is learned to minimize the difference between a correction parameter inferred by the second neural network model when the input image is input and a correction parameter that causes the label image to have preset image characteristics.
제1항에 있어서,
상기 보정 파라미터를 입력하는 단계는,
상기 컴퓨팅 장치의 입출력 인터페이스를 통해 상기 프로세서가 상기 보정 파라미터를 조정하기 위한 입력을 수신하는 단계;
상기 프로세서가 상기 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경하는 단계; 및
상기 프로세서가 상기 제2 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하는 단계를 포함하는 방법.
According to paragraph 1,
The step of inputting the correction parameters is,
receiving, by the processor, an input for adjusting the correction parameter through an input/output interface of the computing device;
changing, by the processor, a preset first correction parameter to a second correction parameter based on the input; and
Method comprising the step of the processor inputting the second correction parameter into the first neural network model along with the input image.
제4항에 있어서,
상기 추론 영상을 획득하는 단계는,
상기 프로세서가 상기 제1 신경망 모델로부터 상기 제2 보정 파라미터에 대응하는 추론 영상을 획득하며,
상기 제1 신경망 모델은,
상기 입력 영상 및 상기 제1 보정 파라미터가 입력되었을 때 출력되는 제1 추론 영상과, 상기 제1 보정 파라미터에 대응되는 제1 레이블 영상 간 차이를 최소화하고, 상기 입력 영상 및 상기 제2 보정 파라미터가 입력되었을 때 출력되는 제2 추론 영상과, 상기 제2 보정 파라미터에 대응되는 제2 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
상기 제1 레이블 영상은, 상기 제1 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제2 레이블 영상은, 상기 제2 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상인 것을 특징으로 하는, 방법.
According to paragraph 4,
The step of acquiring the inferred image is,
The processor obtains an inferred image corresponding to the second correction parameter from the first neural network model,
The first neural network model is,
Minimize the difference between a first inferred image output when the input image and the first correction parameter are input and a first label image corresponding to the first correction parameter, and the input image and the second correction parameter are input. It is a model learned to minimize the difference between the second inferred image output when
The first label image is an image in which the input image is corrected by the at least one image correction algorithm when the first correction parameter is applied to the at least one image correction algorithm,
The second label image is an image in which the input image is corrected by the at least one image correction algorithm when the second correction parameter is applied to the at least one image correction algorithm.
제1항에 있어서,
상기 제1 신경망 모델은,
상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하는 단계;
상기 보정 파라미터 및 상기 입력 영상을 상기 제1 신경망 모델에 입력하는 단계;
상기 제1 신경망 모델로부터 출력되는 상기 추론 영상을 획득하는 단계; 및
상기 레이블 영상과 상기 추론 영상 간 차이가 최소가 되도록 상기 제1 신경망 모델을 업데이트하는 단계에 의해 학습되는 것을 특징으로 하는 방법.
According to paragraph 1,
The first neural network model is,
generating the label image by correcting the input image by applying the correction parameter to the at least one image correction algorithm;
Inputting the correction parameters and the input image into the first neural network model;
Obtaining the inferred image output from the first neural network model; and
A method characterized in that it is learned by updating the first neural network model so that the difference between the label image and the inferred image is minimized.
제3항에 있어서,
상기 제2 신경망 모델은,
상기 입력 영상을 상기 제2 신경망 모델에 입력하는 단계;
상기 제2 신경망 모델로부터 출력되는 상기 보정 파라미터를 획득하는 단계;
상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하는 단계;
상기 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득하는 단계; 및
상기 측정 특정값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 상기 제2 신경망 모델을 업데이트하는 단계에 의해 학습되는 것을 특징으로 하는 방법.
According to paragraph 3,
The second neural network model is,
Inputting the input image into the second neural network model;
Obtaining the correction parameters output from the second neural network model;
generating the label image by correcting the input image by applying the correction parameter to the at least one image correction algorithm;
Obtaining measurement characteristic values expressing image characteristics of the label image in numbers; and
A method characterized in that it is learned by updating the second neural network model so that the difference between the measurement specific value and a preset target characteristic value is minimized.
제1항에 있어서,
상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는,
상기 프로세서가 상기 입력 영상을 회색조(gray scale) 영상으로 변환하는 단계;
상기 프로세서가 상기 보정 파라미터에 포함된 제1 파라미터를 상기 회색조 영상에 적용하여 제1 회색조 영상을 생성하는 단계;
상기 프로세서가 상기 보정 파라미터에 포함된 제2 파라미터를 상기 회색조 영상에 적용하여 제2 회색조 영상을 생성하는 단계; 및
상기 프로세서가 상기 입력 영상, 상기 제1 회색조 영상 및 상기 제2 회색조 영상을 상기 제1 신경망 모델에 입력하는 단계를 포함하는, 방법.
According to paragraph 1,
Inputting the input image and the correction parameters into the first neural network model includes:
converting the input image into a gray scale image by the processor;
generating a first gray-scale image by the processor applying a first parameter included in the correction parameter to the gray-scale image;
generating a second gray-scale image by the processor applying a second parameter included in the correction parameter to the gray-scale image; and
The method comprising the processor inputting the input image, the first gray-scale image, and the second gray-scale image into the first neural network model.
제1항에 있어서,
상기 추론 영상을 획득하는 단계는,
상기 프로세서가 상기 제1 신경망 모델로부터 필터(filter) 및 맵 정보(map information) 중 적어도 하나를 획득하는 단계; 및
상기 프로세서가 상기 필터 및 맵 정보 중 적어도 하나를 이용하여 상기 입력 영상을 상기 추론 영상으로 변환하는 단계를 포함하는, 방법.
According to paragraph 1,
The step of acquiring the inferred image is,
The processor acquiring at least one of a filter and map information from the first neural network model; and
Method comprising the step of converting the input image into the inferred image by the processor using at least one of the filter and map information.
제1항에 있어서,
상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는,
상기 프로세서가 상기 컴퓨팅 장치에 포함된 카메라로부터, 상기 카메라의 이미지 센서를 통해 획득된 원시 영상(raw image)들을 수신하는 단계;
상기 프로세서가 상기 원시 영상들을 이용하여 상기 입력 영상을 생성하는 단계; 및
상기 프로세서가 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력하는 단계를 포함하는, 방법.
According to paragraph 1,
Inputting the input image and the correction parameters into the first neural network model includes:
Receiving, by the processor, raw images obtained through an image sensor of the camera from a camera included in the computing device;
generating, by the processor, the input image using the raw images; and
The method comprising the processor inputting the input image and the correction parameters into the first neural network model.
제1항에 있어서,
상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력하는 단계는,
상기 컴퓨팅 장치가 외부의 디바이스로부터 원시 영상들을 수신하는 단계;
상기 프로세서가 상기 원시 영상들을 이용하여 상기 입력 영상을 생성하는 단계; 및
상기 프로세서가 상기 입력 영상 및 상기 보정 파라미터를 상기 제1 신경망 모델에 입력하는 단계를 포함하는, 방법.
According to paragraph 1,
Inputting the input image and the correction parameters into the first neural network model includes:
The computing device receiving raw images from an external device;
generating, by the processor, the input image using the raw images; and
The method comprising the processor inputting the input image and the correction parameters into the first neural network model.
제1항 내지 제11항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium on which a program for performing the method of any one of claims 1 to 11 is recorded on a computer. 사용자로부터 입력을 수신하기 위한 입출력 인터페이스;
입력 영상을 보정하기 위한 프로그램이 저장되는 메모리; 및
프로세서를 포함하고,
상기 프로세서는 상기 프로그램을 실행함으로써,
제1 신경망 모델에 입력 영상 및 보정 파라미터를 입력하고, 상기 제1 신경망 모델로부터 상기 보정 파라미터에 대응하는 추론 영상을 획득하며,
상기 제1 신경망 모델은,
상기 입력 영상 및 상기 보정 파라미터가 입력되었을 때 출력되는 상기 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제1 신경망 모델은 상기 보정 파라미터와 상기 레이블 영상 간의 관계를 학습하므로, 상기 보정 파라미터를 변경함으로써 상기 제1 신경망 모델에서 출력되는 상기 추론 영상의 제어가 가능한, 컴퓨팅 장치.
an input/output interface for receiving input from a user;
a memory in which a program for correcting an input image is stored; and
Includes a processor,
The processor executes the program,
Entering an input image and correction parameters into a first neural network model, and obtaining an inferred image corresponding to the correction parameters from the first neural network model,
The first neural network model is,
A model learned to minimize the difference between the inferred image output when the input image and the correction parameter are input, and the label image corresponding to the correction parameter,
The label image corresponding to the correction parameter is an image in which the input image is corrected by the at least one image correction algorithm when the correction parameter is applied to the at least one image correction algorithm,
Since the first neural network model learns the relationship between the correction parameter and the label image, the computing device is capable of controlling the inferred image output from the first neural network model by changing the correction parameter.
제13항에 있어서,
상기 제1 신경망 모델에 상기 입력 영상 및 제1 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제1 추론 영상은, 상기 제1 신경망 모델에 상기 입력 영상 및 제2 보정 파라미터가 입력되었을 때 상기 제1 신경망 모델에서 출력되는 제2 추론 영상과 다른 것을 특징으로 하는, 컴퓨팅 장치.
According to clause 13,
When the input image and the first correction parameter are input to the first neural network model, the first inferred image output from the first neural network model is, when the input image and the second correction parameter are input to the first neural network model. A computing device, characterized in that it is different from the second inferred image output from the first neural network model.
제13항에 있어서,
상기 프로세서는 상기 보정 파라미터를 입력함에 있어서,
제2 신경망 모델에 상기 입력 영상을 입력하고, 상기 제2 신경망 모델이 추론한 상기 보정 파라미터를 획득한 후, 상기 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하며,
상기 제2 신경망 모델은,
상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인, 컴퓨팅 장치.
According to clause 13,
When inputting the correction parameter, the processor
Inputting the input image into a second neural network model, obtaining the correction parameter inferred by the second neural network model, and then inputting the correction parameter together with the input image into the first neural network model,
The second neural network model is,
A computing device that is a model learned to minimize the difference between a correction parameter inferred by the second neural network model when the input image is input and a correction parameter that causes the label image to have preset image characteristics.
제13항에 있어서,
상기 프로세서는 상기 보정 파라미터를 입력함에 있어서,
상기 입출력 인터페이스를 통해 상기 보정 파라미터를 조정하기 위한 입력을 수신하고, 상기 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경한 후, 상기 제2 보정 파라미터를 상기 입력 영상과 함께 상기 제1 신경망 모델에 입력하는, 컴퓨팅 장치.
According to clause 13,
When inputting the correction parameter, the processor
Receives an input for adjusting the correction parameter through the input/output interface, changes a preset first correction parameter to a second correction parameter based on the input, and then exchanges the second correction parameter with the input image. A computing device that inputs to the first neural network model.
제16항에 있어서,
상기 프로세서는 상기 추론 영상을 획득함에 있어서,
상기 제1 신경망 모델로부터 상기 제2 보정 파라미터에 대응하는 추론 영상을 획득하며,
상기 제1 신경망 모델은,
상기 입력 영상 및 상기 제1 보정 파라미터가 입력되었을 때 출력되는 제1 추론 영상과, 상기 제1 보정 파라미터에 대응되는 제1 레이블 영상 간 차이를 최소화하고, 상기 입력 영상 및 상기 제2 보정 파라미터가 입력되었을 때 출력되는 제2 추론 영상과, 상기 제2 보정 파라미터에 대응되는 제2 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
상기 제1 레이블 영상은, 상기 제1 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제2 레이블 영상은, 상기 제2 보정 파라미터가 상기 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상인 것을 특징으로 하는 컴퓨팅 장치.
According to clause 16,
In acquiring the inferred image, the processor
Obtaining an inferred image corresponding to the second correction parameter from the first neural network model,
The first neural network model is,
Minimize the difference between a first inferred image output when the input image and the first correction parameter are input and a first label image corresponding to the first correction parameter, and the input image and the second correction parameter are input. It is a model learned to minimize the difference between the second inferred image output when
The first label image is an image in which the input image is corrected by the at least one image correction algorithm when the first correction parameter is applied to the at least one image correction algorithm,
The second label image is an image in which the input image is corrected by the at least one image correction algorithm when the second correction parameter is applied to the at least one image correction algorithm.
제13항에 있어서,
상기 제1 신경망 모델은,
상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하고, 상기 보정 파라미터 및 상기 입력 영상을 상기 제1 신경망 모델에 입력하고, 상기 제1 신경망 모델로부터 출력되는 상기 추론 영상을 획득한 후, 상기 레이블 영상과 상기 추론 영상 간 차이가 최소가 되도록 상기 제1 신경망 모델을 업데이트함으로써 학습되는 것을 특징으로 하는 컴퓨팅 장치.
According to clause 13,
The first neural network model is,
The label image is generated by correcting the input image by applying the correction parameter to the at least one image correction algorithm, inputting the correction parameter and the input image into the first neural network model, and generating the label image from the first neural network model. A computing device characterized in that it is learned by updating the first neural network model so that the difference between the label image and the inferred image is minimized after obtaining the output inferred image.
제15항에 있어서,
상기 제2 신경망 모델은,
상기 입력 영상을 상기 제2 신경망 모델에 입력하고, 상기 제2 신경망 모델로부터 출력되는 상기 보정 파라미터를 획득하고, 상기 적어도 하나의 영상 보정 알고리즘에 상기 보정 파라미터를 적용하여 상기 입력 영상을 보정함으로써 상기 레이블 영상을 생성하고, 상기 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득한 후, 상기 측정 특정값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 상기 제2 신경망 모델을 업데이트함으로써 학습되는 것을 특징으로 하는 컴퓨팅 장치.
According to clause 15,
The second neural network model is,
Input the input image into the second neural network model, obtain the correction parameter output from the second neural network model, and apply the correction parameter to the at least one image correction algorithm to correct the input image to obtain the label. After generating an image and obtaining a measurement characteristic value expressing the image characteristic of the label image in numbers, learning is performed by updating the second neural network model so that the difference between the measurement specific value and a preset target characteristic value is minimized. A computing device characterized by:
제13항에 있어서,
상기 프로세서는 상기 제1 신경망 모델에 상기 입력 영상 및 상기 보정 파라미터를 입력함에 있어서,
상기 입력 영상을 회색조(gray scale) 영상으로 변환하고, 상기 보정 파라미터에 포함된 제1 파라미터를 상기 회색조 영상에 적용하여 제1 회색조 영상을 생성하고, 상기 보정 파라미터에 포함된 제2 파라미터를 상기 회색조 영상에 적용하여 제2 회색조 영상을 생성한 후, 상기 입력 영상, 상기 제1 회색조 영상 및 상기 제2 회색조 영상을 상기 제1 신경망 모델에 입력하는, 컴퓨팅 장치.
According to clause 13,
The processor inputs the input image and the correction parameters into the first neural network model,
Convert the input image to a gray scale image, apply the first parameter included in the correction parameter to the gray scale image to generate a first gray scale image, and apply the second parameter included in the correction parameter to the gray scale image. A computing device that generates a second gray-scale image by applying it to an image and then inputs the input image, the first gray-scale image, and the second gray-scale image into the first neural network model.
KR1020220140507A 2022-05-27 2022-10-27 Method for correcting image by using neural network, and computing apparatus executing neural network for correcting image KR20230165676A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2023/007295 WO2023229431A1 (en) 2022-05-27 2023-05-26 Method for correcting image by using neural network model, and computing device for executing neural network model for image correction
US18/220,008 US20230385986A1 (en) 2022-05-27 2023-07-10 Method of correcting image by using neural network model, and computing device for executing neural network model for image correction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220065554 2022-05-27
KR20220065554 2022-05-27

Publications (1)

Publication Number Publication Date
KR20230165676A true KR20230165676A (en) 2023-12-05

Family

ID=89157346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220140507A KR20230165676A (en) 2022-05-27 2022-10-27 Method for correcting image by using neural network, and computing apparatus executing neural network for correcting image

Country Status (1)

Country Link
KR (1) KR20230165676A (en)

Similar Documents

Publication Publication Date Title
KR101954851B1 (en) Metadata-based image processing method and apparatus
US11508038B2 (en) Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system
US8611654B2 (en) Color saturation-modulated blending of exposure-bracketed images
JP6415062B2 (en) Image processing apparatus, image processing method, control program, and recording medium
US20200111447A1 (en) Machine learning color science conversion
JP4905552B2 (en) Image quality adjustment capability measurement method, apparatus and program, and image quality adjustment method, apparatus and program
KR20170017911A (en) Methods and systems for color processing of digital images
US9997133B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
US10785466B2 (en) Multi-image color-refinement with application to disparity estimation
JP7207846B2 (en) Information processing device, information processing method and program
KR102192016B1 (en) Method and Apparatus for Image Adjustment Based on Semantics-Aware
JP5156423B2 (en) Color processing apparatus and color processing method
KR102430743B1 (en) Apparatus and method for developing object analysis model based on data augmentation
US11451703B2 (en) Method and system for customizing camera parameters
KR20230165676A (en) Method for correcting image by using neural network, and computing apparatus executing neural network for correcting image
US20230385986A1 (en) Method of correcting image by using neural network model, and computing device for executing neural network model for image correction
KR20230166870A (en) Image signal processing method using neural network, and computing appratus for performing the same
US20230386193A1 (en) Image signal processing method using neural network model and computing apparatus for performing the same
JP2020135653A (en) Video image correction device and program
US20210397899A1 (en) Image processing apparatus that performs machine learning of learning model, method of controlling image processing apparatus, and storage medium
JP2006093757A (en) Image processing apparatus, imaging apparatus, and image processing program
WO2023229431A1 (en) Method for correcting image by using neural network model, and computing device for executing neural network model for image correction
KR102563621B1 (en) Artificial intelligence-based tooth shade diagnostic system and operation method therefor
JP2014219724A (en) Image processor, method for controlling image processor, and program
US11941853B2 (en) Apparatus and method