KR20230002041A - Method and system of learning artificial neural network model for image processing - Google Patents

Method and system of learning artificial neural network model for image processing Download PDF

Info

Publication number
KR20230002041A
KR20230002041A KR1020220052705A KR20220052705A KR20230002041A KR 20230002041 A KR20230002041 A KR 20230002041A KR 1020220052705 A KR1020220052705 A KR 1020220052705A KR 20220052705 A KR20220052705 A KR 20220052705A KR 20230002041 A KR20230002041 A KR 20230002041A
Authority
KR
South Korea
Prior art keywords
neural network
artificial neural
image
network model
loss value
Prior art date
Application number
KR1020220052705A
Other languages
Korean (ko)
Inventor
장한힘
이명제
Original Assignee
주식회사 에너자이(ENERZAi)
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
Priority claimed from KR1020210084579A external-priority patent/KR102393761B1/en
Application filed by 주식회사 에너자이(ENERZAi) filed Critical 주식회사 에너자이(ENERZAi)
Priority to KR1020220052705A priority Critical patent/KR20230002041A/en
Priority to PCT/KR2022/008947 priority patent/WO2023277448A1/en
Publication of KR20230002041A publication Critical patent/KR20230002041A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • 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 Analysis (AREA)

Abstract

The present invention relates to a method and a system for instructing an artificial neural network model for image processing. In accordance with one purpose, a lightened artificial neural network model is provided such that even a low-capacity terminal can perform image processing sufficiently. To achieve the purpose, in accordance with the present invention, the method includes the following steps of: (a) generating a training data set including a first image and a second image; (b) inputting the second image into a first artificial neural network model and a second artificial neural network model to extract a third image and a fourth image, respectively; (c) while the step (b) is being performed, generating a plurality of loss values based on an output value of at least one layer included in the first and second artificial neural network models, thereby instructing the first and second artificial neural network models based on the loss values; and (c) transmitting the second artificial neural network model to a user terminal.

Description

이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템{METHOD AND SYSTEM OF LEARNING ARTIFICIAL NEURAL NETWORK MODEL FOR IMAGE PROCESSING}Artificial neural network model learning method and system for image processing {METHOD AND SYSTEM OF LEARNING ARTIFICIAL NEURAL NETWORK MODEL FOR IMAGE PROCESSING}

본 발명은 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템에 관한 것으로, 보다 자세하게는 높은 사양의 서버를 거치지 않고 단말에서 적용 가능하게 경량화 된 인공 신경망 모델을 학습시키는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for learning an artificial neural network model for image processing, and more particularly, to a method and system for learning a lightweight artificial neural network model applicable to a terminal without going through a high-spec server.

인공지능 기술이 발전함에 따라 이미지의 처리에 인공 신경망 모델을 적용하는 방법이 상용화되고 있다. As artificial intelligence technology develops, a method of applying an artificial neural network model to image processing is commercialized.

그러나 이미지 처리 기능을 수행하는 인공 신경망 모델은 일반적으로 사이즈가 클수록 성능이 우수하기 때문에 높은 사양의 컴퓨팅 리소스를 요구한다. 따라서 우수한 성능의 인공 신경망 모델은 널리 사용되는 단말에서 실행될 수 없는 단점이 있다.However, artificial neural network models that perform image processing generally require high-specification computing resources because performance is excellent as the size increases. Therefore, artificial neural network models with excellent performance have a disadvantage in that they cannot be executed in widely used terminals.

본 발명은 전술한 문제점을 해결하기 위한 것으로서, 단말에서 동작하는 우수한 성능의 경량화 된 인공 신경망 모델을 생성 및 학습시키는 것을 일 목적으로 한다.The present invention is to solve the above problems, and an object of the present invention is to create and learn a lightweight artificial neural network model with excellent performance that operates in a terminal.

또한 본 발명은 인공 신경망 모델을 경량화하기 위하여 구조를 단순화하고, 대형 인공 신경망 모델을 모방 학습시키는 과정을 제공하는 것을 일 목적으로 한다.In addition, an object of the present invention is to simplify the structure in order to lighten the artificial neural network model and to provide a process of imitating and learning a large artificial neural network model.

이러한 목적을 달성하기 위한 본 발명은 전자 장치가 이미지 처리를 위한 인공 신경망을 학습시키는 방법에 있어서, 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하는 a 단계, 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하는 b 단계, 상기 b 단계가 수행되는 동안, 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 포함된 적어도 하나의 레이어의 출력 값을 기반으로 복수 개의 로스 값을 생성하여, 상기 로스 값을 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 c 단계 및 제2 인공 신경망 모델을 사용자 단말에 전송하는 c 단계를 포함하는 것을 일 특징으로 한다.The present invention for achieving this object is a method for an electronic device to learn an artificial neural network for image processing, in step a of generating a training data set including a first image and a second image, the second image as a first Step b of extracting a third image and a fourth image by inputting them to the artificial neural network model and the second artificial neural network model, respectively. While step b is being performed, at least one image included in the first artificial neural network model and the second artificial neural network model is performed. Step c of generating a plurality of loss values based on the output value of the layer of and learning a first artificial neural network model and a second artificial neural network model based on the loss value, and transmitting the second artificial neural network model to the user terminal It is characterized by including step c.

또한 본 발명은 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하고, 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하며, 제3 이미지 및 제4 이미지를 추출하는 과정에서 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 포함된 적어도 하나의 레이어의 출력 값을 기반으로 복수 개의 로스 값을 생성하여, 상기 로스 값을 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 제어 모듈, 그리고 제2 인공 신경망 모델을 사용자 단말에 전송하는 통신 모듈을 포함하는 전자 장치 및 상기 전자 장치로부터 제2 인공 신경망 모델을 수신하여 사용자로부터 수신한 이미지를 처리하는 사용자 단말을 포함하는 것을 일 특징으로 한다.In addition, the present invention generates a training data set including a first image and a second image, inputs the second image to the first artificial neural network model and the second artificial neural network model, extracts the third image and the fourth image, respectively, , In the process of extracting the third image and the fourth image, a plurality of loss values are generated based on the output values of at least one layer included in the first artificial neural network model and the second artificial neural network model, and based on the loss values An electronic device including a control module for learning the first artificial neural network model and the second artificial neural network model, and a communication module for transmitting the second artificial neural network model to the user terminal, and receiving the second artificial neural network model from the electronic device It is characterized in that it includes a user terminal that processes an image received from a user.

전술한 바와 같은 본 발명에 의하면, 단말에서 동작하는 우수한 성능의 경량화 된 인공 신경망 모델을 생성 및 학습시킬 수 있는 효과가 있다.According to the present invention as described above, there is an effect of generating and learning a lightweight artificial neural network model with excellent performance that operates in a terminal.

또한 본 발명은 인공 신경망 모델을 경량화하기 위하여 구조를 단순화하고, 대형 인공 신경망 모델을 모방 학습시키는 과정을 통해 경량화 된 인공 신경망 모델의 성능을 서버에서 동작하는 대형 인공 신경망 모델의 수준으로 보장할 수 있는 효과가 있다.In addition, the present invention simplifies the structure in order to lighten the artificial neural network model and imitates the large artificial neural network model, thereby guaranteeing the performance of the lightweight artificial neural network model to the level of the large artificial neural network model operating on the server. It works.

도 1은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델의 구조를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시 예에 의한 인공 신경망 모델의 학습 방법을 구체적으로 설명하기 위한 도면이다.
1 is a diagram showing the configuration of a system for learning an artificial neural network model for image processing according to an embodiment of the present invention.
2 is a diagram for explaining the structure of an artificial neural network model for image processing according to an embodiment of the present invention.
3 is a flowchart illustrating a method of learning an artificial neural network model for image processing according to an embodiment of the present invention.
4 is a diagram for explaining in detail a learning method of an artificial neural network model according to an embodiment of the present invention.

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.The above objects, features and advantages will be described later in detail with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention belongs will be able to easily implement the technical spirit of the present invention. In describing the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.

도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.In the drawings, the same reference numerals are used to indicate the same or similar elements, and all combinations described in the specification and claims may be combined in any manner. And unless otherwise specified, it should be understood that references to the singular may include one or more, and references to the singular may also include plural.

본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.Terms used herein are only for the purpose of describing specific exemplary embodiments and are not intended to be limiting. Singular expressions as used herein may also be intended to include plural meanings unless the context clearly dictates otherwise. The term “and/or,” “and/or” includes all combinations and any one of the associated listed items. The terms "comprises", "comprising", "including", "including", "having", "having" and the like are meant to be inclusive, and thus such terms shall be construed as having a recited feature, integer, Specifies steps, operations, elements, and/or components, and does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and actions described herein should not be construed as requiring their performance in the specific order discussed or illustrated, unless such order of performance is specifically established. . It should also be understood that additional or alternative steps may be used.

또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.In addition, each component may be implemented as a hardware processor, and the above components may be integrated and implemented as one hardware processor, or the above components may be combined with each other and implemented as a plurality of hardware processors.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템의 블록도를 나타낸 도면이다.1 is a block diagram of a system for learning an artificial neural network model for image processing according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 인공 신경망 모델을 학습시키기 위한 시스템은 경량화 된 인공 신경망 모델을 학습시키기 위한 전자 장치(10)와 경량화 된 인공 신경망 모델을 동작하기 위한 사용자 단말(20)을 포함한다.Referring to FIG. 1, the system for learning the artificial neural network model of the present invention includes an electronic device 10 for learning the lightweight artificial neural network model and a user terminal 20 for operating the lightweight artificial neural network model. .

전자 장치(10)는 경량화 된 인공 신경망 모델을 학습시키기 위한 장치로, 제어 모듈(11), 통신 모듈(13), 저장 모듈(15)을 포함할 수 있다.The electronic device 10 is a device for learning a lightweight artificial neural network model, and may include a control module 11 , a communication module 13 , and a storage module 15 .

전자 장치(10)는 대용량 인공 신경망 모델인 제1 인공 신경망 모델, 경량화 된 인공 신경망 모델인 제2 인공 신경망 모델을 구비하여, 딥러닝 모델의 지식 증류기법(Knowledge Distillation)을 통해 제2 인공 신경망 모델을 학습시켜 사용자 단말에 제공하는 것을 특징으로 한다.The electronic device 10 includes a first artificial neural network model, which is a large-capacity artificial neural network model, and a second artificial neural network model, which is a lightweight artificial neural network model, and a second artificial neural network model through knowledge distillation of the deep learning model. Characterized in that it is provided to the user terminal by learning.

이하에서는 설명의 편의성을 위해 제1 인공 신경망 모델 및 제2 인공 신경망 모델이 노이즈 제거(image de-noising)를 목적으로 동작하는 것을 대표 실시 예로 하여 설명하며, 이 외 모자이크 제거(de-mosaics), 초해상화(super-resolution) 등과 같은 다양한 이미지 처리 기법에 적용 가능하다.Hereinafter, for convenience of description, the operation of the first artificial neural network model and the second artificial neural network model for the purpose of image de-noising will be described as a representative embodiment, and other de-mosaics, It can be applied to various image processing techniques such as super-resolution.

제어 모듈(11)은 쿼리 이미지에서 노이즈를 식별하고, 이를 제거할 수 있도록 제1 인공 신경망 모델과 제2 인공 신경망 모델을 학습시킬 수 있다.The control module 11 may train the first artificial neural network model and the second artificial neural network model to identify noise in the query image and remove it.

제어 모듈(11)은 제1 인공 신경망 모델과 제2 인공 신경망 모델을 학습시키기 위해 트레이닝 데이터 세트를 활용할 수 있다. 본 발명의 일 실시 예에 의한 트레이닝 데이터 세트는 노이즈가 존재하는 제1 쿼리 이미지와 제1 쿼리 이미지와 동일하나 노이즈가 존재하지 않는 제2 쿼리 이미지를 포함하여, 제어 모듈(11)은 제1 인공 신경망 모델 및 제2 인공 신경망 모델이 노이즈를 정확하게 식별할 수 있도록 제1 쿼리 이미지와 제2 쿼리 이미지를 이용하여 학습시킬 수 있다.The control module 11 may utilize the training data set to train the first artificial neural network model and the second artificial neural network model. The training data set according to an embodiment of the present invention includes a first query image with noise and a second query image that is the same as the first query image but without noise, and the control module 11 controls the first artificial query image. The neural network model and the second artificial neural network model may be trained using the first query image and the second query image so as to accurately identify noise.

제어 모듈(11)은 제1 인공 신경망 모델과 제2 인공 신경망 모델이 일정 수준 이상의 정확도를 갖는다고 판단하면, 제2 인공 신경망 모델이 경량화 된 인공 신경망 모델이라고 할 지라도 제1 인공 신경망 모델 대비 성능이 유사하다고 보아, 제2 인공 신경망 모델만으로도 쿼리 이미지의 노이즈를 충분히 제거할 수 있다고 판단하여, 제2 인공 신경망 모델을 사용자 단말(20)에 전송하여 쿼리 이미지의 노이즈 제거를 제공하게 할 수 있다.When the control module 11 determines that the first artificial neural network model and the second artificial neural network model have accuracy of a certain level or higher, even if the second artificial neural network model is a lightweight artificial neural network model, performance compared to the first artificial neural network model is reduced. Considering the similarity, it is determined that the noise of the query image can be sufficiently removed only with the second artificial neural network model, and the second artificial neural network model is transmitted to the user terminal 20 to provide noise removal of the query image.

통신 모듈(13)은 제2 인공 신경망 모델을 사용자 단말(20)에 전송할 수 있다.The communication module 13 may transmit the second artificial neural network model to the user terminal 20 .

저장 모듈(15)은 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키기 위한 복수 개의 이미지가 저장된 이미지 데이터베이스와, 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 저장하는 모델 데이터베이스를 포함할 수 있다.The storage module 15 may include an image database storing a plurality of images for training the first artificial neural network model and the second artificial neural network model, and a model database storing the first artificial neural network model and the second artificial neural network model. there is.

사용자 단말(20)은 전자 장치(10)로부터 수신한 제2 인공 신경망 모델을 이용하여 사용자로부터 수신된 쿼리 이미지에서 노이즈를 제거할 수 있으며, 구체적으로 제어 모듈(21), 통신 모듈(23), 저장 모듈(25)을 포함할 수 있다.The user terminal 20 may remove noise from the query image received from the user using the second artificial neural network model received from the electronic device 10, and specifically, the control module 21, the communication module 23, A storage module 25 may be included.

제어 모듈(21)은 전자 장치(10)로부터 수신한 제2 인공 신경망 모델을 이용하여 사용자로부터 수신한 쿼리 이미지에서 노이즈를 제거할 수 있다.The control module 21 may remove noise from the query image received from the user by using the second artificial neural network model received from the electronic device 10 .

통신 모듈(23)은 사용자로부터 쿼리 이미지를 수신하고, 전자 장치(10)로부터 제2 인공 신경망 모델을 수신할 수 있다.The communication module 23 may receive a query image from a user and receive a second artificial neural network model from the electronic device 10 .

저장 모듈(25)은 제2 인공 신경망 모델을 저장할 수 있다.The storage module 25 may store the second artificial neural network model.

도 2는 본 발명의 일 실시 예에 따른 노이즈 제거를 위한 인공 신경망 모델의 구조를 설명하기 위한 도면이다. 도 2에 도시된 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 트레이닝 데이터 세트를 기반으로 학습될 수 있다. 도 2에 도시된 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 도 1에 도시된 저장 모듈(15)에 저장될 수 있고, 제어 모듈(11)에 의해 실행될 수 있다.2 is a diagram for explaining the structure of an artificial neural network model for noise removal according to an embodiment of the present invention. The first artificial neural network model 30 and the second artificial neural network model 40 shown in FIG. 2 may be learned based on a training data set. The first artificial neural network model 30 and the second artificial neural network model 40 shown in FIG. 2 may be stored in the storage module 15 shown in FIG. 1 and executed by the control module 11.

먼저, 제어 모듈(11)은 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)를 학습시키기 위해 트레이닝 데이터 세트를 생성할 수 있다. 제어 모듈(11)은 저장 모듈(15)의 이미지 데이터베이스에 저장된 이미지를 이용하여 트레이닝 데이터 세트를 생성할 수 있다.First, the control module 11 may generate a training data set to train the first artificial neural network model 30 and the second artificial neural network model 40 . The control module 11 may generate a training data set using images stored in the image database of the storage module 15 .

구체적으로, 제어 모듈(11)은 이미지 데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지 및 제2 이미지를 생성할 수 있다. Specifically, the control module 11 may generate a first image and a second image of a predetermined size using images stored in an image database.

제어 모듈(11)은 이미지 데이터베이스에 저장된 이미지에서 기 설정된 크기를 갖는 패치 단위의 제1 이미지를 생성하고, 제1 이미지에 임의로 노이즈를 생성하여 제2 이미지를 생성할 수 있다.The control module 11 may generate a first image of a patch unit having a predetermined size from an image stored in an image database, and may generate a second image by randomly generating noise in the first image.

제어 모듈(11)은 가우시안 노이즈 생성 알고리즘과 같은 노이즈 생성 알고리즘을 활용하여 제1 이미지에 대한 다양한 노이즈를 생성하고 제1 이미지에 더하여 제2 이미지를 생성할 수 있다.The control module 11 may generate various noises for the first image by using a noise generation algorithm such as a Gaussian noise generation algorithm, and generate a second image in addition to the first image.

제어 모듈(11)은 제1 이미지 및 제2 이미지를 기반으로 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)를 학습시킬 수 있다. 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 유넷(U-Net) 구조로 형성되어 있음에 따라 적어도 하나의 다운 샘플링 레이어(down-sampling layer)와 업 샘플링 레이어(up-sampling layer) 로 구성될 수 있다.The control module 11 may train the first artificial neural network model 30 and the second artificial neural network model 40 based on the first image and the second image. Since the first artificial neural network model 30 and the second artificial neural network model 40 are formed in a U-Net structure, they include at least one down-sampling layer and an up-sampling layer. sampling layer).

본 발명의 일 실시 예에 의한 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 유넷 구조를 통해 이미지의 미시적 및 거시적 특징을 모두 사용 가능한 것을 특징으로 한다.The first artificial neural network model 30 and the second artificial neural network model 40 according to an embodiment of the present invention are characterized in that both microscopic and macroscopic features of an image can be used through the UNET structure.

제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈(down-path), 제2 모듈(middle-path), 제3 모듈(up-path)를 각각 포함할 수 있다. 제1 모듈은 컨볼루션 레이어와 활성화 함수(PReLU layer 혹은 ReLU layer)를 포함하는 블록과, 이미지의 크기를 축소시키는 다운샘플 모듈을 포함하고, 제2 모듈은 dense block을, 제3 모듈은 제1 모듈에서 축소된 이미지의 크기를 다시 확대시키는 업샘플 모듈과, 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 포함할 수 있다.The first artificial neural network model 30 and the second artificial neural network model 40 may include a first module (down-path), a second module (middle-path), and a third module (up-path), respectively. . The first module includes a block including a convolution layer and an activation function (PReLU layer or ReLU layer) and a downsampling module that reduces the size of an image, the second module includes a dense block, and the third module includes the first module. It may include an upsample module that re-enlarges the size of the image reduced in the module, and a block including a convolution layer and an activation function.

제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈과 제3 모듈의 크기에 차이를 두고 있으며, 제1 모듈과 제3 모듈의 크기가 제1 인공 신경망 모델(30)보다 작은 제2 인공 신경망 모델(40)은 지식 증류기법을 통해 제1 인공 신경망 모델(30)를 모방하여 학습될 수 있다.The first artificial neural network model 30 and the second artificial neural network model 40 have a difference in the size of the first module and the third module, and the size of the first module and the third module is the first artificial neural network model 30 The second artificial neural network model 40 smaller than ) may be learned by imitating the first artificial neural network model 30 through a knowledge distillation technique.

제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)의 제1 모듈(31, 41) 및 제3 모듈(36, 46)은 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 복수 개 구비할 수 있다. 본 발명의 일 실시 예에 의한 제1 모듈(31, 41)은 블록을 3개 구비할 것이다. 제1 인공 신경망 모델(30)의 제1 모듈(31) 및 제3 모듈(36)과 제2 인공 신경망 모델(40)의 제1 모듈(41) 및 제3 모듈(46)은 컨볼루션 레이어의 파라미터(parameter)에 차이를 두어 그 두께를 달리 할 수 있다. 이를 통해 제2 인공 신경망 모델(40)은 제1 인공 신경망 모델(30)를 경량화 할 수 있다.The first modules 31 and 41 and the third modules 36 and 46 of the first artificial neural network model 30 and the second artificial neural network model 40 include a plurality of blocks including convolutional layers and activation functions. can do. The first modules 31 and 41 according to an embodiment of the present invention will have three blocks. The first module 31 and the third module 36 of the first artificial neural network model 30 and the first module 41 and the third module 46 of the second artificial neural network model 40 are convolutional layer The thickness can be varied by varying parameters. Through this, the second artificial neural network model 40 can reduce the weight of the first artificial neural network model 30 .

상술한 바와 같이 본 발명의 일 실시 예에서, 제1 모듈(31, 41) 및 제3 모듈(36, 46)은 3개의 블록을 포함함에 따라, 제1 인공 신경망 모델(30)의 제1 모듈(31)은 제1 블록(32), 제2 블록(33), 제3 블록(34)를 포함하고, 제3 모듈(36)은 제4 블록(37), 제5 블록(38), 제6 블록(39)를 포함할 것이며, 제2 인공 신경망 모델(40)의 제1 모듈(41)은 제1 블록(42), 제2 블록(43), 제3 블록(44)를 포함하고, 제3 모듈(46)은 제4 블록(47), 제5 블록(48), 제6 블록(49)을 포함할 것이다.As described above, in one embodiment of the present invention, the first module 31 and 41 and the third module 36 and 46 include three blocks, so the first module of the first artificial neural network model 30 31 includes a first block 32, a second block 33, a third block 34, and a third module 36 includes a fourth block 37, a fifth block 38, a It will contain 6 blocks 39, the first module 41 of the second artificial neural network model 40 includes the first block 42, the second block 43, the third block 44, The third module 46 will include a fourth block 47 , a fifth block 48 and a sixth block 49 .

제2 모듈(35, 45)은 dense block을 포함할 수 있다. Dense block은 제1 모듈(31, 41)에 포함된 모든 컨볼루션 레이어의 출력 값을 순차적으로 합칠 수 있다. 예를 들어, 제1 모듈(31)에 포함된 제1 블록(32)의 컨볼루션 레이어의 출력 값이 A, 제2 블록(33)의 컨볼루션 레이어의 출력 값이 B, 제3 블록(34)의 컨볼루션 레이어의 출력 값이 C일 때, 제2 모듈(35)의 dense block은 A와 B와 C를 순차적으로 합쳐 ABC를 출력할 수 있다. The second modules 35 and 45 may include dense blocks. The dense block may sequentially combine output values of all convolution layers included in the first modules 31 and 41 . For example, the output value of the convolution layer of the first block 32 included in the first module 31 is A, the output value of the convolution layer of the second block 33 is B, and the third block 34 When the output value of the convolution layer of ) is C, the dense block of the second module 35 can output ABC by sequentially combining A, B, and C.

제2 모듈(35, 45)은 dense block을 사용함으로써 각 단계의 모든 출력 값(예를 들어 피쳐 맵)을 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 학습에 반영할 수 있어 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 성능을 더 향상시킬 수 있다.The second modules 35 and 45 can reflect all output values (for example, feature maps) of each step in the learning of the first artificial neural network model and the second artificial neural network model by using dense blocks, and thus the first artificial neural network The performance of the model and the second artificial neural network model may be further improved.

이하에서는 제어 모듈(11)에 의해 제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)가 학습되는 과정을 설명한다.Hereinafter, a process of learning the first artificial neural network model 30 and the second artificial neural network model 40 by the control module 11 will be described.

제어 모듈(11)은 제1 인공 신경망 모델(30)에 제2 이미지를 입력 데이터로 하여 제2 이미지의 제1 노이즈를 추출한 후, 제1 노이즈가 제거된 제3 이미지를 출력할 수 있다.The control module 11 may extract the first noise of the second image by using the second image as input data to the first artificial neural network model 30 and then output a third image from which the first noise is removed.

제어 모듈(11)은 제1 인공 신경망 모델(30)에 제2 이미지가 입력되면, 제1 인공 신경망 모델(30)의 제1 모듈(31)에 포함된 제1 블록(32)의 컨볼루션 레이어의 출력 값을 제1 피쳐-1로, 제2 블록(33)의 컨볼루션 레이어의 출력 값을 제2 피쳐-1로, 제3 블록(34)의 컨볼루션 레이어의 출력 값을 제3 피쳐-1로 설정할 수 있다. 또한 제어 모듈(11)은 제1 인공 신경망 모델(30)의 제3 모듈(36)에 포함된 제4 블록(37)의 컨볼루션 레이어의 출력 값을 제4 피쳐-1로, 제5 블록(38)의 컨볼루션 레이어의 출력 값을 제5 피쳐-1로, 제6 블록(39)의 컨볼루션 레이어의 출력 값을 제6 피쳐-1로 설정할 수 있다.When the second image is input to the first artificial neural network model 30, the control module 11 performs a convolution layer of the first block 32 included in the first module 31 of the first artificial neural network model 30. The output value of is the first feature-1, the output value of the convolution layer of the second block 33 is the second feature-1, and the output value of the convolution layer of the third block 34 is the third feature-1. Can be set to 1. In addition, the control module 11 converts the output value of the convolution layer of the fourth block 37 included in the third module 36 of the first artificial neural network model 30 into the fourth feature-1, and the fifth block ( An output value of the convolution layer of 38) may be set to the fifth feature-1, and an output value of the convolution layer of the sixth block 39 may be set to the sixth feature-1.

제어 모듈(11)은 제1 인공 신경망 모델(30)에서 제3 이미지를 추출하면, 제1 이미지와 비교하여 제1 로스 값을 연산할 수 있다.When the third image is extracted from the first artificial neural network model 30, the control module 11 compares it with the first image and calculates a first loss value.

제어 모듈(11)은 제2 인공 신경망 모델(40)에 제2 이미지를 입력 데이터로 하여 제2 이미지의 제2 노이즈를 추출한 후, 제2 노이즈가 제거된 제4 이미지를 출력할 수 있다.The control module 11 may extract the second noise of the second image by using the second image as input data to the second artificial neural network model 40 and then output a fourth image from which the second noise is removed.

제어 모듈(11)은 제2 인공 신경망 모델(40)에 제2 이미지가 입력되면, 제2 인공 신경망 모델(40)의 제1 모듈(41)에 포함된 제1 블록(42)의 컨볼루션 레이어의 출력 값을 제1 피쳐-2로, 제2 블록(43)의 컨볼루션 레이어의 출력 값을 제2 피쳐-2로, 제3 블록(44)의 컨볼루션 레이어의 출력 값을 제3 피쳐-2로 설정할 수 있다. 또한 제어 모듈(11)은 제1 인공 신경망 모델(40)의 제3 모듈(46)에 포함된 제4 블록(47)의 컨볼루션 레이어의 출력 값을 제4 피쳐-2로, 제5 블록(48)의 컨볼루션 레이어의 출력 값을 제5 피쳐-2로, 제6 블록(49)의 컨볼루션 레이어의 출력 값을 제6 피쳐-2로 설정할 수 있다.When the second image is input to the second artificial neural network model 40, the control module 11 performs a convolution layer of the first block 42 included in the first module 41 of the second artificial neural network model 40. The output value of is the first feature-2, the output value of the convolution layer of the second block 43 is the second feature-2, and the output value of the convolution layer of the third block 44 is the third feature-2. Can be set to 2. In addition, the control module 11 converts the output value of the convolution layer of the fourth block 47 included in the third module 46 of the first artificial neural network model 40 to the fourth feature-2, and converts the output value of the convolution layer to the fifth block ( An output value of the convolution layer of 48) may be set to the fifth feature-2, and an output value of the convolution layer of the sixth block 49 may be set to the sixth feature-2.

제어 모듈(11)은 제2 인공 신경망 모델(40)에서 제4 이미지를 추출하면, 제1 이미지와 비교하여 제2 로스 값을 연산할 수 있다.When the fourth image is extracted from the second artificial neural network model 40, the control module 11 compares it with the first image and calculates a second loss value.

또한 제어 모듈(11)은 제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)에서 각각 추출한 제1 내지 제6 피쳐를 이용하여 제3 로스 값을 더 연산할 수 있다. 구체적으로, 제어 모듈(11)은 제1 피쳐-1과 제1 피쳐-2를 비교하여 제3 로스 값-1을, 제2 피쳐-1과 제2 피쳐-2를 비교하여 제3 로스 값-2을, ..., 제6 피쳐-1과 제6 피쳐-2를 비교하여 제3 로스 값-6을 연산할 수 있다. 제3 로스 값의 수는 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)에 포함된 제1 모듈(31, 41)의 블록 수에 따를 것이다.Also, the control module 11 may further calculate a third loss value by using the first to sixth features extracted from the first artificial neural network model 30 and the second artificial neural network model 40, respectively. Specifically, the control module 11 compares the first feature-1 and the first feature-2 to obtain a third loss value-1, and compares the second feature-1 and the second feature-2 to obtain a third loss value- 2, ..., a third loss value-6 may be calculated by comparing the sixth feature-1 and the sixth feature-2. The number of third loss values will depend on the number of blocks of the first modules 31 and 41 included in the first artificial neural network model 30 and the second artificial neural network model 40 .

제어 모듈(11)은 제3 이미지 및 제4 이미지를 비교하여 제4 로스 값을 더 연산할 수 있다.The control module 11 may further calculate a fourth loss value by comparing the third image and the fourth image.

제어 모듈(11)은 제1 로스 값 내지 제4 로스 값을 이용하여 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 제어 모듈(11)은 제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산할 수 있다. The control module 11 may train the first artificial neural network model and the second artificial neural network model using the first to fourth loss values. The control module 11 may calculate a fifth loss value by assigning a weight to each of the first loss value to the fourth loss value.

제어 모듈(11)은 제5 로스 값을 연산함에 있어서 제1 모듈(31, 41) 및 제3 모듈(36, 46)에 포함된 복수 개의 컨볼루션 레이어 각각의 출력 값에 대한 로스 값 즉, 제3 로스 값을 더 이용함으로써, 제2 인공 신경망 모델(40)가 제1 인공 신경망 모델(30)를 단계별로 보다 잘 모방할 수 있게 한다.In calculating the fifth loss value, the control module 11 calculates a loss value for the output values of each of the plurality of convolution layers included in the first modules 31 and 41 and the third modules 36 and 46, that is, the first loss value. By further using the 3 loss value, the second artificial neural network model 40 can better imitate the first artificial neural network model 30 step by step.

도 3은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명하기 위한 순서도이다. 이하에서는 도 3을 참조하여 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명한다. 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법에 대한 설명에 있어서, 앞서 설명한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템과 중복되는 세부 실시 예는 생략될 수 있다.3 is a flowchart illustrating a method of learning an artificial neural network model for image processing according to an embodiment of the present invention. Hereinafter, a method of learning an artificial neural network model for image processing will be described with reference to FIG. 3 . In the description of the method for learning the artificial neural network model for image processing, detailed embodiments overlapping with the system for learning the artificial neural network model for image processing described above may be omitted.

단계 100에서, 전자 장치는 트레이닝 데이터 세트를 생성할 수 있다. 전자 장치는 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키기 위하여 이미지 데이터베이스에 저장된 이미지를 이용하여 트레이닝 데이터 세트를 생성할 수 있다.In step 100, the electronic device may generate a training data set. The electronic device may generate a training data set using images stored in an image database in order to train the first artificial neural network model and the second artificial neural network model.

구체적으로 전자 장치는 이미지 데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지 및 제2 이미지를 생성할 수 있다. Specifically, the electronic device may generate a first image and a second image of a preset size using images stored in an image database.

전자 장치는 이미지 데이터베이스에 저장된 이미지에서 기 설정된 크기를 갖는 패치 단위의 제1 이미지를 생성하고, 제1 이미지에 임의로 노이즈를 추가하여 제2 이미지를 생성할 수 있다.The electronic device may generate a first image of a patch unit having a preset size from an image stored in an image database, and may randomly add noise to the first image to generate a second image.

전자 장치는 가우시안 노이즈 생성 알고리즘과 같은 노이즈 생성 알고리즘을 활용하여 제1 이미지에 대한 다양한 노이즈를 생성하고 제1 이미지에 더하여 제2 이미지를 생성할 수 있다.The electronic device may generate various noises for the first image by using a noise generation algorithm such as a Gaussian noise generation algorithm, and generate a second image in addition to the first image.

단계 200에서, 전자 장치는 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 본 발명의 제1 인공 신경망 모델 및 제2 인공 신경망 모델은 유넷(u-net) 구조로 형성되어 있음에 따라 적어도 하나의 풀링 레이어(pooling layer)와 언풀링 레이어(unpooling layer)로 구성될 수 있다.In step 200, the electronic device may train a first artificial neural network model and a second artificial neural network model based on a training data set including a first image and a second image. As the first artificial neural network model and the second artificial neural network model of the present invention are formed in a u-net structure, they may be composed of at least one pooling layer and an unpooling layer. .

제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈(down-path), 제2 모듈(middle-path), 제3 모듈(up-path)를 각각 포함할 수 있다. 제1 모듈은 컨볼루션 레이어와 활성화 함수를 포함하는 블록과, 이미지의 크기를 축소시키는 다운샘플 모듈을 포함하고, 제2 모듈은 dense block을, 제3 모듈은 제1 모듈에서 축소된 이미지의 크기를 다시 확대시키는 업샘플 모듈과, 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 포함할 수 있다.The first artificial neural network model 30 and the second artificial neural network model 40 may include a first module (down-path), a second module (middle-path), and a third module (up-path), respectively. . The first module includes a block including a convolution layer and an activation function, and a downsample module for reducing the size of an image, the second module includes a dense block, and the third module includes the size of the image reduced by the first module. It may include an upsample module that re-expands , and a block including a convolution layer and an activation function.

제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)의 제1 모듈(31, 41) 및 제3 모듈(36, 46)은 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 복수 개 구비할 수 있다. 본 발명의 일 실시 예에 의한 제1 모듈(31, 41)은 블록을 3개 구비할 것이다. 제1 인공 신경망 모델(30)의 제1 모듈(31) 및 제3 모듈(36)과 제2 인공 신경망 모델(40)의 제1 모듈(41) 및 제3 모듈(46)은 컨볼루션 레이어의 파라미터(parameter)에 차이를 두어 그 두께를 달리 할 수 있다. 즉, 제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈과 제3 모듈의 크기에 차이를 두고 있으며, 제1 모듈과 제3 모듈의 크기가 제1 인공 신경망 모델(30)보다 작은 제2 인공 신경망 모델(40)은 지식 증류기법을 통해 제1 인공 신경망 모델(30)를 모방하여 학습될 수 있다.The first modules 31 and 41 and the third modules 36 and 46 of the first artificial neural network model 30 and the second artificial neural network model 40 include a plurality of blocks including a convolution layer and an activation function. can do. The first modules 31 and 41 according to an embodiment of the present invention will have three blocks. The first module 31 and the third module 36 of the first artificial neural network model 30 and the first module 41 and the third module 46 of the second artificial neural network model 40 are the convolution layer The thickness can be varied by varying parameters. That is, the first artificial neural network model 30 and the second artificial neural network model 40 have a difference in the size of the first module and the third module, and the size of the first module and the third module is the first artificial neural network model. The second artificial neural network model 40 smaller than (30) may be learned by imitating the first artificial neural network model 30 through a knowledge distillation technique.

도 4는 본 발명의 일 실시 예에 의한 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 학습 방법을 구체적으로 설명하기 위한 도면이다.4 is a diagram for explaining in detail a learning method of a first artificial neural network model and a second artificial neural network model according to an embodiment of the present invention.

도 4를 참조하면, 단계 210에서, 전자 장치는 제1 인공 신경망 모델에 제2 이미지를 입력 데이터로 하여, 제2 이미지에 대한 제1 노이즈를 추출할 수 있다. 단계 210의 과정을 수행함에 있어서, 전자 장치는 제1 인공 신경망 모델(30)의 제1 모듈(31)에 포함된 제1 블록(32)의 컨볼루션 레이어의 출력 값을 제1 피쳐-1로, 제2 블록(33)의 컨볼루션 레이어의 출력 값을 제2 피쳐-1로, 제3 블록(34)의 컨볼루션 레이어의 출력 값을 제3 피쳐-1로 설정할 수 있다. 또한 제어 모듈(11)은 제1 인공 신경망 모델(30)의 제3 모듈(36)에 포함된 제4 블록(37)의 컨볼루션 레이어의 출력 값을 제4 피쳐-1로, 제5 블록(38)의 컨볼루션 레이어의 출력 값을 제5 피쳐-1로, 제6 블록(39)의 컨볼루션 레이어의 출력 값을 제6 피쳐-1로 설정할 수 있다.Referring to FIG. 4 , in step 210, the electronic device may extract the first noise of the second image by using the second image as input data to the first artificial neural network model. In performing the process of step 210, the electronic device converts the output value of the convolution layer of the first block 32 included in the first module 31 of the first artificial neural network model 30 to the first feature-1. , the output value of the convolution layer of the second block 33 may be set to second feature-1, and the output value of the convolution layer of the third block 34 may be set to third feature-1. In addition, the control module 11 converts the output value of the convolution layer of the fourth block 37 included in the third module 36 of the first artificial neural network model 30 into the fourth feature-1, and the fifth block ( An output value of the convolution layer of 38) may be set to the fifth feature-1, and an output value of the convolution layer of the sixth block 39 may be set to the sixth feature-1.

단계 220에서, 전자 장치는 제2 이미지에서 제1 노이즈를 제거한 제3 이미지를 출력할 수 있다.In step 220, the electronic device may output a third image obtained by removing the first noise from the second image.

단계 230에서, 전자 장치는 제1 이미지와 제3 이미지를 비교하여 제1 로스 값을 연산할 수 있다.In step 230, the electronic device may calculate a first loss value by comparing the first image with the third image.

단계 240에서, 전자 장치는 제2 인공 신경망 모델에 제2 이미지를 입력 데이터로 하여, 제2 이미지에 대한 제2 노이즈를 추출할 수 있다. 단계 240의 과정을 수행함에 있어서, 전자 장치는 제2 인공 신경망 모델(40)의 제1 모듈(41)에 포함된 제1 블록(42)의 컨볼루션 레이어의 출력 값을 제1 피쳐-2로, 제2 블록(43)의 컨볼루션 레이어의 출력 값을 제2 피쳐-2로, 제3 블록(44)의 컨볼루션 레이어의 출력 값을 제3 피쳐-2로 설정할 수 있다. 또한 제어 모듈(11)은 제1 인공 신경망 모델(40)의 제3 모듈(46)에 포함된 제4 블록(47)의 컨볼루션 레이어의 출력 값을 제4 피쳐-2로, 제5 블록(48)의 컨볼루션 레이어의 출력 값을 제5 피쳐-2로, 제6 블록(49)의 컨볼루션 레이어의 출력 값을 제6 피쳐-2로 설정할 수 있다.In step 240, the electronic device may extract the second noise of the second image by using the second image as input data to the second artificial neural network model. In performing the process of step 240, the electronic device converts the output value of the convolution layer of the first block 42 included in the first module 41 of the second artificial neural network model 40 to the first feature-2. , the output value of the convolution layer of the second block 43 may be set to second feature-2, and the output value of the convolution layer of the third block 44 may be set to third feature-2. In addition, the control module 11 converts the output value of the convolution layer of the fourth block 47 included in the third module 46 of the first artificial neural network model 40 to the fourth feature-2, and converts the output value of the convolution layer to the fifth block ( An output value of the convolution layer of 48) may be set to the fifth feature-2, and an output value of the convolution layer of the sixth block 49 may be set to the sixth feature-2.

단계 250에서, 전자 장치는 제2 이미지에서 제2 노이즈를 제거한 제4 이미지를 출력할 수 있다.In step 250, the electronic device may output a fourth image obtained by removing the second noise from the second image.

단계 260에서, 전자 장치는 제1 이미지와 제4 이미지를 비교하여 제2 로스 값을 연산할 수 있다.In operation 260, the electronic device may calculate a second loss value by comparing the first image with the fourth image.

단계 210 내지 230과 단계 240 내지 260은 동시에 동작할 수도 있고 순차적으로 동작할 수도 있다.Steps 210 to 230 and steps 240 to 260 may operate simultaneously or sequentially.

단계 270에서, 전자 장치는 단계 210 및 단계 240에서 각각 추출한 제1 내지 제6 피쳐를 이용하여 제3 로스 값을 연산할 수 있다. 구체적으로, 전자 장치는 제1 피쳐-1과 제1 피쳐-2를 비교하여 제3 로스 값-1을, 제2 피쳐-1과 제2 피쳐-2를 비교하여 제3 로스 값-2을, ..., 제6 피쳐-1과 제6 피쳐-2를 비교하여 제3 로스 값-6을 연산할 수 있다. In step 270, the electronic device may calculate a third loss value using the first to sixth features extracted in steps 210 and 240, respectively. Specifically, the electronic device compares the first feature-1 and the first feature-2 to obtain a third loss value-1, compares the second feature-1 and the second feature-2 to obtain a third loss value-2, ..., a third loss value-6 may be calculated by comparing the sixth feature-1 and the sixth feature-2.

단계 280에서, 전자 장치는 제3 이미지 및 제4 이미지를 비교하여 제4 로스 값을 더 연산할 수 있다.In operation 280, the electronic device may further calculate a fourth loss value by comparing the third image and the fourth image.

단계 290에서, 전자 장치는 제1 로스 값 내지 제4 로스 값을 이용하여 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 전자 장치는 제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산할 수 있다.In step 290, the electronic device may train the first artificial neural network model and the second artificial neural network model using the first to fourth loss values. The electronic device may calculate a fifth loss value by assigning a weight to each of the first loss value to the fourth loss value.

전자 장치는 제5 로스 값을 연산함에 있어서 제1 모듈(31, 41) 및 제3 모듈(36, 46)에 포함된 복수 개의 컨볼루션 레이어 각각의 출력 값에 대 한 로스 값 즉, 제3 로스 값을 더 이용함으로써, 제2 인공 신경망 모델(40)가 제1 인공 신경망 모델(30)를 보다 잘 모방할 수 있게 한다.In calculating the fifth loss value, the electronic device calculates a loss value for the output values of each of the plurality of convolution layers included in the first module 31 and 41 and the third module 36 and 46, that is, the third loss value. Further use of the values allows the second artificial neural network model 40 to better mimic the first artificial neural network model 30 .

다시 도 3에 대한 설명으로 복귀하면, 단계 300에서, 전자 장치는 제1 인공 신경망 모델과 제2 인공 신경망 모델에서 출력된 최종 로스 값(제5 로스 값)이 기 설정된 로스 임계 값 이하이면, 제2 인공 신경망 모델을 사용자 단말(20)에 전송할 수 있다.Returning to the description of FIG. 3 again, in step 300, if the final loss value (fifth loss value) output from the first artificial neural network model and the second artificial neural network model is less than or equal to a preset loss threshold, the electronic device generates a first loss threshold. 2 The artificial neural network model may be transmitted to the user terminal 20 .

사용자 단말은 전자 장치로부터 제2 인공 신경망 모델을 수신하면, 경량화 된 제2 인공 신경망 모델을 통해 사용자에게 노이즈 제거 서비스를 제공할 수 있다.Upon receiving the second artificial neural network model from the electronic device, the user terminal may provide a noise removal service to the user through the lightweight second artificial neural network model.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.The embodiments of the present invention disclosed in the present specification and drawings are only presented as specific examples to easily explain the technical content of the present invention and help understanding of the present invention, and are not intended to limit the scope of the present invention. It is obvious to those skilled in the art that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

Claims (7)

전자 장치가 이미지 처리를 위한 인공 신경망을 학습시키는 방법에 있어서,
제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 획득하는 a 단계;
상기 제2 이미지를 제1 인공 신경망 모델에 입력하여 제3 이미지를 획득하고, 상기 제2 이미지를 제2 인공 신경망 모델에 입력하여 제4 이미지를 획득하는 b 단계; 및
상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 c 단계;를 포함하되,
상기 c 단계는,
상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하는 단계;
상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하는 단계;
상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하는 단계;
상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하는 단계;
상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하는 단계; 및
상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 단계;를 더 포함하는,
이미지 처리를 위한 인공 신경망 학습 방법.
A method for an electronic device to learn an artificial neural network for image processing,
a step of obtaining a training data set including a first image and a second image;
b) obtaining a third image by inputting the second image to a first artificial neural network model, and acquiring a fourth image by inputting the second image to a second artificial neural network model; and
step c of learning the first artificial neural network model and the second artificial neural network model;
In step c,
calculating a first loss value by comparing the first image with the third image;
calculating a second loss value by comparing the first image with the fourth image;
calculating a third loss value by comparing output values of convolution layers of a first module included in the first artificial neural network model and the second artificial neural network model;
calculating a fourth loss value by comparing the third image with the fourth image;
calculating a fifth loss value as a final loss value using the first to fourth loss values; and
Learning the first artificial neural network model and the second artificial neural network model based on the fifth loss value; Further comprising,
An artificial neural network training method for image processing.
제1 항에 있어서,
상기 a 단계는,
데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지를 생성하는 단계; 및
제1 이미지에 임의의 노이즈를 추가하여 제2 이미지를 생성하는 단계를 더 포함하는,
이미지 처리를 위한 인공 신경망 학습 방법.
According to claim 1,
In step a,
generating a first image of a predetermined size using an image stored in a database; and
Further comprising generating a second image by adding random noise to the first image,
An artificial neural network training method for image processing.
제2 항에 있어서,
제1 인공 신경망 모델 및 제2 인공 신경망 모델은 각각 제1 모듈, 제2 모듈, 제3 모듈을 포함하며, 제1 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 다운샘플 모듈을 포함하고,
제3 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 업샘플 모듈을 포함하되,
제1 인공 신경망 모델과 제2 인공 신경망 모델은 제1 모듈 및 제3 모듈의 크기가 상이한 것을 특징으로 하는,
이미지 처리를 위한 인공 신경망 학습 방법.
According to claim 2,
The first artificial neural network model and the second artificial neural network model include a first module, a second module, and a third module, respectively, wherein the first module includes at least one block including a convolution layer and an activation function and a downsample module. include,
The third module includes at least one block including a convolutional layer and an activation function and an upsample module,
The first artificial neural network model and the second artificial neural network model are characterized in that the first module and the third module have different sizes,
An artificial neural network training method for image processing.
제3 항에 있어서,
상기 b 단계는,
제1 인공 신경망 모델에 제2 이미지를 입력하여 제1 노이즈를 추출하고, 제2 이미지에서 제1 노이즈를 제거하여 제3 이미지를 생성하는 단계; 및
제2 인공 신경망 모델에 제2 이미지를 입력하여 제2 노이즈를 추출하고, 제2 이미지에서 제2 노이즈를 제거하여 제4 이미지를 생성하는 단계를 더 포함하는,
이미지 처리를 위한 인공 신경망 학습 방법.
According to claim 3,
In step b,
generating a third image by inputting a second image to a first artificial neural network model, extracting a first noise, and removing the first noise from the second image; and
Further comprising generating a fourth image by inputting a second image to a second artificial neural network model, extracting a second noise, and removing the second noise from the second image,
An artificial neural network training method for image processing.
제1 항에 있어서,
제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산하고, 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는,
이미지 처리를 위한 인공 신경망 학습 방법.
According to claim 1,
Calculating a fifth loss value by assigning a weight to each of the first loss value to the fourth loss value, and learning the first artificial neural network model and the second artificial neural network model,
An artificial neural network training method for image processing.
제5 항에 있어서,
상기 방법은,
상기 제5 로스 값이 기 설정된 로스 임계 값 이하이면 상기 제2 인공 신경망 모델을 사용자 단말에 전송하는 d 단계를 더 포함하는,
이미지 처리를 위한 인공 신경망 학습 방법.
According to claim 5,
The method,
Further comprising a d step of transmitting the second artificial neural network model to a user terminal when the fifth loss value is less than or equal to a preset loss threshold value.
An artificial neural network training method for image processing.
제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 획득하고, 상기 제2 이미지를 제1 인공 신경망 모델에 입력하여 제3 이미지를 획득하고, 상기 제2 이미지를 제2 인공 신경망 모델에 입력하여 제4 이미지를 획득하고, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키도록 구성된 제어 모듈을 포함하되,
상기 제어 모듈은,
상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하고, 상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하고, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하고, 상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하고, 상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하고, 상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키도록 구성되는,
전자 장치.
Acquiring a training data set including a first image and a second image, inputting the second image to a first artificial neural network model to obtain a third image, and inputting the second image to a second artificial neural network model A control module configured to acquire a fourth image and to train the first artificial neural network model and the second artificial neural network model,
The control module,
A first loss value is calculated by comparing the first image and the third image, a second loss value is calculated by comparing the first image and the fourth image, and the first artificial neural network model and the second loss value are calculated. A third loss value is calculated by comparing each output value of the convolution layer of the first module included in the artificial neural network model, a fourth loss value is calculated by comparing the third image and the fourth image, and the first loss value is calculated. To calculate a fifth loss value, which is a final loss value, using a fourth loss value, and to learn the first artificial neural network model and the second artificial neural network model based on the fifth loss value,
electronic device.
KR1020220052705A 2021-06-29 2022-04-28 Method and system of learning artificial neural network model for image processing KR20230002041A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220052705A KR20230002041A (en) 2021-06-29 2022-04-28 Method and system of learning artificial neural network model for image processing
PCT/KR2022/008947 WO2023277448A1 (en) 2021-06-29 2022-06-23 Artificial neural network model training method and system for image processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210084579A KR102393761B1 (en) 2021-06-29 2021-06-29 Method and system of learning artificial neural network model for image processing
KR1020220052705A KR20230002041A (en) 2021-06-29 2022-04-28 Method and system of learning artificial neural network model for image processing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210084579A Division KR102393761B1 (en) 2021-06-29 2021-06-29 Method and system of learning artificial neural network model for image processing

Publications (1)

Publication Number Publication Date
KR20230002041A true KR20230002041A (en) 2023-01-05

Family

ID=84706524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220052705A KR20230002041A (en) 2021-06-29 2022-04-28 Method and system of learning artificial neural network model for image processing

Country Status (2)

Country Link
KR (1) KR20230002041A (en)
WO (1) WO2023277448A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670870B1 (en) * 2023-10-10 2024-05-30 주식회사 포바이포 Apparatus for deep learning-based noise reduction of images

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6516025B2 (en) * 2016-02-12 2019-05-22 ソニー株式会社 Information processing method and information processing apparatus
KR102190103B1 (en) * 2018-12-27 2020-12-11 (주)아크릴 Method of providing commercialization service of an artificial neural network
KR20190119548A (en) * 2019-10-02 2019-10-22 엘지전자 주식회사 Method and apparatus for processing image noise
KR20210062477A (en) * 2019-11-21 2021-05-31 삼성전자주식회사 Electronic apparatus and control method thereof
KR102393761B1 (en) * 2021-06-29 2022-05-04 주식회사 에너자이(ENERZAi) Method and system of learning artificial neural network model for image processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670870B1 (en) * 2023-10-10 2024-05-30 주식회사 포바이포 Apparatus for deep learning-based noise reduction of images

Also Published As

Publication number Publication date
WO2023277448A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
EP3480741B1 (en) Reinforcement and imitation learning for a task
CN109948029B (en) Neural network self-adaptive depth Hash image searching method
KR102392094B1 (en) Sequence processing using convolutional neural networks
RU2666631C2 (en) Training of dnn-student by means of output distribution
CN110427799B (en) Human hand depth image data enhancement method based on generation of countermeasure network
WO2020062911A1 (en) Actor ensemble for continuous control
CN111709493B (en) Object classification method, training device, object classification equipment and storage medium
EP3855388A1 (en) Image processing device and operation method thereof
CN114418030A (en) Image classification method, and training method and device of image classification model
DE102022121649A1 (en) Fast retraining of fully fused neural transceiver components
CN110570375B (en) Image processing method, device, electronic device and storage medium
KR20230002041A (en) Method and system of learning artificial neural network model for image processing
KR102393761B1 (en) Method and system of learning artificial neural network model for image processing
CN114781654A (en) Federal transfer learning method, device, computer equipment and medium
US20220067882A1 (en) Image processing device, computer readable recording medium, and method of processing image
CN113743317A (en) License plate picture generation method, medium and equipment based on generation countermeasure network
CN117894038A (en) Method and device for generating object gesture in image
CN117635488A (en) Light-weight point cloud completion method combining channel pruning and channel attention
CN115860113B (en) Training method and related device for self-countermeasure neural network model
KR102393759B1 (en) Method and system for generating an image processing artificial nerual network model operating in a device
KR20220166712A (en) Method and system for generating an image processing artificial nerual network model operating in a device
CN114155276A (en) Single-target tracking method and device, electronic equipment and storage medium
KR20220130498A (en) Method and apparatus for image outpainting based on deep-neural network
CN110533749B (en) Dynamic texture video generation method, device, server and storage medium
CN116704588B (en) Face image replacing method, device, equipment and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application