WO2023277448A1 - 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템 - Google Patents

이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템 Download PDF

Info

Publication number
WO2023277448A1
WO2023277448A1 PCT/KR2022/008947 KR2022008947W WO2023277448A1 WO 2023277448 A1 WO2023277448 A1 WO 2023277448A1 KR 2022008947 W KR2022008947 W KR 2022008947W WO 2023277448 A1 WO2023277448 A1 WO 2023277448A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
artificial neural
image
network model
loss value
Prior art date
Application number
PCT/KR2022/008947
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020210084579A external-priority patent/KR102393761B1/ko
Application filed by 주식회사 에너자이 filed Critical 주식회사 에너자이
Publication of WO2023277448A1 publication Critical patent/WO2023277448A1/ko

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
    • 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]

Definitions

  • 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.
  • 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.
  • 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.
  • 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.
  • 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, ,
  • 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.
  • 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.
  • FIG. 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.
  • FIG. 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.
  • FIG. 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.
  • FIG. 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.
  • a method for training an artificial neural network for image processing includes a step of generating a training data set including a first image and a second image; b) extracting a third image and a fourth image by inputting the second image to a first artificial neural network model and a second artificial neural network model; step c of learning the first artificial neural network model and the second artificial neural network model while step b is being performed; and a d step of transmitting the second artificial neural network model to a user terminal, wherein the c step comprises: 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
  • step a may include generating a first image having a preset size using an image stored in a database; and generating a second image by adding random noise to the first image.
  • 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, and the first module includes a convolution layer and an activation function.
  • a third module includes at least one block and a downsample module, and a third module includes at least one block and an upsample module including a convolution layer and an activation function, wherein the first artificial neural network model and the second artificial neural network model are It may be characterized in that the size of the first module and the third module are different.
  • step b may include inputting a second image to a first artificial neural network model, extracting a first noise, and generating a third image by removing the first noise from the second image. ; and 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.
  • a fifth loss value may be calculated by assigning a weight to each of the first loss value to the fourth loss value, and the first artificial neural network model and the second artificial neural network model may be trained.
  • a second artificial neural network model may be transmitted to the user terminal.
  • An artificial neural network learning system for image processing generates a training data set including a first image and a second image, and converts the second image into a first artificial neural network model and a second artificial neural network.
  • a control module that inputs a model to extract a third image and a fourth image, and trains the first artificial neural network model and the second artificial neural network model in a process of extracting the third image and the fourth image;
  • An electronic device including a communication module for transmitting the second artificial neural network model to a user terminal; and a user terminal receiving a second artificial neural network model from the electronic device and processing an image received from a user, wherein the control module calculates a first loss value by comparing the first image with the third image.
  • the first artificial neural network model and the second artificial neural network model may be configured to learn.
  • 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.
  • FIG. 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.
  • 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. .
  • 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 .
  • 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 a deep learning model. It is characterized by learning and providing it to the user terminal.
  • a first artificial neural network model which is a large-capacity artificial neural network model
  • a second artificial neural network model which is a lightweight artificial neural network model
  • a second artificial neural network model through knowledge distillation of a deep learning model. It is characterized by learning and providing it to the user terminal.
  • 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.
  • 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.
  • 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.
  • 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.
  • the communication module 13 may transmit the second artificial neural network model to the user terminal 20 .
  • 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.
  • 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.
  • 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 .
  • 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 .
  • the storage module 25 may store the second artificial neural network model.
  • 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.
  • 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 .
  • control module 11 may generate a first image and a second image of a predetermined size using images stored in an image database.
  • 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.
  • 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.
  • a noise generation algorithm such as a Gaussian noise generation algorithm
  • 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).
  • 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.
  • 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
  • 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.
  • 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.
  • 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. Through this, the second artificial neural network model 40 can reduce the weight of the first artificial neural network model 30 .
  • 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 .
  • 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 .
  • 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
  • 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.
  • 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.
  • 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.
  • the control module 11 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
  • the output value of the convolution layer of the third block 34 is the third feature-1.
  • 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
  • the fifth block An output value of the convolution layer of 38
  • an output value of the convolution layer of the sixth block 39 may be set to the sixth feature-1.
  • control module 11 compares it with the first image and calculates a first loss value.
  • 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.
  • the control module 11 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
  • the output value of the convolution layer of the third block 44 is the third feature-2. Can be set to 2.
  • 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.
  • control module 11 compares it with the first image and calculates a second loss value.
  • 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 .
  • the control module 11 may further calculate a fourth loss value by comparing the third image and the fourth image.
  • 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.
  • 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.
  • the second artificial neural network model 40 can better imitate the first artificial neural network model 30 step by step.
  • FIG. 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.
  • a method of learning an artificial neural network model for image processing will be described with reference to FIG. 3 .
  • detailed embodiments overlapping with the system for learning the artificial neural network model for image processing described above may be omitted.
  • 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.
  • the electronic device may generate a first image and a second image of a preset size using images stored in an image database.
  • 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.
  • 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.
  • a noise generation algorithm such as a Gaussian noise generation algorithm
  • 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.
  • 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. .
  • 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
  • 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.
  • 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.
  • FIG. 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.
  • 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.
  • 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
  • the output value of the convolution layer of the third block 34 may be set to third feature-1.
  • 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.
  • the electronic device may output a third image obtained by removing the first noise from the second image.
  • the electronic device may calculate a first loss value by comparing the first image with the third image.
  • 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.
  • 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
  • the output value of the convolution layer of the third block 44 may be set to third feature-2.
  • 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.
  • the electronic device may output a fourth image obtained by removing the second noise from the second image.
  • the electronic device may calculate a second loss value by comparing the first image with the fourth image.
  • Steps 210 to 230 and steps 240 to 260 may operate simultaneously or sequentially.
  • 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.
  • the electronic device may further calculate a fourth loss value by comparing the third image and the fourth image.
  • 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.
  • 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 .
  • 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 .
  • the user terminal may provide a noise removal service to the user through the lightweight second artificial neural network model.

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

본 발명은 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템에 관한 것으로, 경량화 된 인공 신경망 모델을 제공하여 저용량 단말에서도 이미지 처리를 충분히 수행할 수 있게 하는 것을 일 목적으로 한다. 이러한 목적을 달성하기 위한 본 발명은 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하는 a 단계, 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하는 b 단계, 상기 b 단계가 수행되는 동안, 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 포함된 적어도 하나의 레이어의 출력 값을 기반으로 복수 개의 로스 값을 생성하여, 상기 로스 값을 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 c 단계 및 제2 인공 신경망 모델을 사용자 단말에 전송하는 c 단계를 포함하는 것을 특징으로 한다.

Description

이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템
본 발명은 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템에 관한 것으로, 보다 자세하게는 높은 사양의 서버를 거치지 않고 단말에서 적용 가능하게 경량화 된 인공 신경망 모델을 학습시키는 방법 및 시스템에 관한 것이다.
인공지능 기술이 발전함에 따라 이미지의 처리에 인공 신경망 모델을 적용하는 방법이 상용화되고 있다.
그러나 이미지 처리 기능을 수행하는 인공 신경망 모델은 일반적으로 사이즈가 클수록 성능이 우수하기 때문에 높은 사양의 컴퓨팅 리소스를 요구한다. 따라서 우수한 성능의 인공 신경망 모델은 널리 사용되는 단말에서 실행될 수 없는 단점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 단말에서 동작하는 우수한 성능의 경량화 된 인공 신경망 모델을 생성 및 학습시키는 것을 일 목적으로 한다.
또한 본 발명은 인공 신경망 모델을 경량화하기 위하여 구조를 단순화하고, 대형 인공 신경망 델을 모방 학습시키는 과정을 제공하는 것을 일 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 전자 장치가 이미지 처리를 위한 인공 신경망을 학습시키는 방법에 있어서, 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하는 a 단계, 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하는 b 단계, 상기 b 단계가 수행되는 동안, 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 포함된 적어도 하나의 레이어의 출력 값을 기반으로 복수 개의 로스 값을 생성하여, 상기 로스 값을 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 c 단계 및 제2 인공 신경망 모델을 사용자 단말에 전송하는 c 단계를 포함하는 것을 일 특징으로 한다.
또한 본 발명은 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하고, 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하며, 제3 이미지 및 제4 이미지를 추출하는 과정에서 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 포함된 적어도 하나의 레이어의 출력 값을 기반으로 복수 개의 로스 값을 생성하여, 상기 로스 값을 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 제어 모듈, 그리고 제2 인공 신경망 모델을 사용자 단말에 전송하는 통신 모듈을 포함하는 전자 장치 및 상기 전자 장치로부터 제2 인공 신경망 모델을 수신하여 사용자로부터 수신한 이미지를 처리하는 사용자 단말을 포함하는 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 단말에서 동작하는 우수한 성능의 경량화 된 인공 신경망 모델을 생성 및 학습시킬 수 있는 효과가 있다.
또한 본 발명은 인공 신경망 모델을 경량화하기 위하여 구조를 단순화하고, 대형 인공 신경망 모델을 모방 학습시키는 과정을 통해 경량화 된 인공 신경망 모델의 성능을 서버에서 동작하는 대형 인공 신경망 모델의 수준으로 보장할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델의 구조를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시 예에 의한 인공 신경망 모델의 학습 방법을 구체적으로 설명하기 위한 도면이다.
본 출원의 일 실시예에 따른 이미지 처리를 위한 인공 신경망을 학습시키는 방법은, 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하는 a 단계; 상기 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하는 b 단계; 상기 b 단계가 수행되는 동안, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 c 단계; 및 상기 제2 인공 신경망 모델을 사용자 단말에 전송하는 d 단계를 포함하되,상기 c 단계는, 상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하는 단계; 상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하는 단계; 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하는 단계; 상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하는 단계; 상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하는 단계; 및 상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 a 단계는, 데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지를 생성하는 단계; 및 제1 이미지에 임의의 노이즈를 추가하여 제2 이미지를 생성하는 단계를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 제1 인공 신경망 모델 및 제2 인공 신경망 모델은 각각 제1 모듈, 제2 모듈, 제3 모듈을 포함하며, 제1 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 다운샘플 모듈을 포함하고, 제3 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 업샘플 모듈을 포함하되, 제1 인공 신경망 모델과 제2 인공 신경망 모델은 제1 모듈 및 제3 모듈의 크기가 상이한 것을 특징으로 할 수 있다.
본 출원의 일 실시예에 따르면, 상기 b 단계는, 제1 인공 신경망 모델에 제2 이미지를 입력하여 제1 노이즈를 추출하고, 제2 이미지에서 제1 노이즈를 제거하여 제3 이미지를 생성하는 단계; 및 제2 인공 신경망 모델에 제2 이미지를 입력하여 제2 노이즈를 추출하고, 제2 이미지에서 제2 노이즈를 제거하여 제4 이미지를 생성하는 단계를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산하고, 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다.
본 출원의 일 실시예에 따르면, 상기 d 단계는, 제5 로스 값이 기 설정된 로스 임계 값 이하이면 제2 인공 신경망 모델을 상기 사용자 단말에 전송할 수 있다.
본 출원의 일 실시예에 따른 이미지 처리를 위한 인공 신경망 학습 시스템은, 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하고, 상기 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하며, 상기 제3 이미지 및 상기 제4 이미지를 추출하는 과정에서 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 제어 모듈; 상기 제2 인공 신경망 모델을 사용자 단말에 전송하는 통신 모듈;을 포함하는 전자 장치; 및 상기 전자 장치로부터 제2 인공 신경망 모델을 수신하여 사용자로부터 수신한 이미지를 처리하는 사용자 단말을 포함하되, 상기 제어 모듈은, 상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하고, 상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하고, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하고, 상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하고, 상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하고, 상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키도록 구성될 수 있다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템의 블록도를 나타낸 도면이다.
도 1을 참조하면, 본 발명의 인공 신경망 모델을 학습시키기 위한 시스템은 경량화 된 인공 신경망 모델을 학습시키기 위한 전자 장치(10)와 경량화 된 인공 신경망 모델을 동작하기 위한 사용자 단말(20)을 포함한다.
전자 장치(10)는 경량화 된 인공 신경망 모델을 학습시키기 위한 장치로, 제어 모듈(11), 통신 모듈(13), 저장 모듈(15)을 포함할 수 있다.
전자 장치(10)는 대용량 인공 신경망 모델인 제1 인공 신경망 모델, 경량화 된 인공 신경망 모델인 제2 인공 신경망 모델을 구비하여, 딥러닝 모델의 지식 증류기법(Knowledge Distillation)을 통해 제2 인공 신경망 모델을 학습시켜 사용자 단말에 제공하는 것을 특징으로 한다.
이하에서는 설명의 편의성을 위해 제1 인공 신경망 모델 및 제2 인공 신경망 모델이 노이즈 제거(image de-noising)를 목적으로 동작하는 것을 대표 실시 예로 하여 설명하며, 이 외 모자이크 제거(de-mosaics), 초해상화(super-resolution) 등과 같은 다양한 이미지 처리 기법에 적용 가능하다.
제어 모듈(11)은 쿼리 이미지에서 노이즈를 식별하고, 이를 제거할 수 있도록 제1 인공 신경망 모델과 제2 인공 신경망 모델을 학습시킬 수 있다.
제어 모듈(11)은 제1 인공 신경망 모델과 제2 인공 신경망 모델을 학습시키기 위해 트레이닝 데이터 세트를 활용할 수 있다. 본 발명의 일 실시 예에 의한 트레이닝 데이터 세트는 노이즈가 존재하는 제1 쿼리 이미지와 제1 쿼리 이미지와 동일하나 노이즈가 존재하지 않는 제2 쿼리 이미지를 포함하여, 제어 모듈(11)은 제1 인공 신경망 모델 및 제2 인공 신경망 모델이 노이즈를 정확하게 식별할 수 있도록 제1 쿼리 이미지와 제2 쿼리 이미지를 이용하여 학습시킬 수 있다.
제어 모듈(11)은 제1 인공 신경망 모델과 제2 인공 신경망 모델이 일정 수준 이상의 정확도를 갖는다고 판단하면, 제2 인공 신경망 모델이 경량화 된 인공 신경망 모델이라고 할 지라도 제1 인공 신경망 모델 대비 성능이 유사하다고 보아, 제2 인공 신경망 모델만으로도 쿼리 이미지의 노이즈를 충분히 제거할 수 있다고 판단하여, 제2 인공 신경망 모델을 사용자 단말(20)에 전송하여 쿼리 이미지의 노이즈 제거를 제공하게 할 수 있다.
통신 모듈(13)은 제2 인공 신경망 모델을 사용자 단말(20)에 전송할 수 있다.
저장 모듈(15)은 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키기 위한 복수 개의 이미지가 저장된 이미지 데이터베이스와, 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 저장하는 모델 데이터베이스를 포함할 수 있다.
사용자 단말(20)은 전자 장치(10)로부터 수신한 제2 인공 신경망 모델을 이용하여 사용자로부터 수신된 쿼리 이미지에서 노이즈를 제거할 수 있으며, 구체적으로 제어 모듈(21), 통신 모듈(23), 저장 모듈(25)을 포함할 수 있다.
제어 모듈(21)은 전자 장치(10)로부터 수신한 제2 인공 신경망 모델을 이용하여 사용자로부터 수신한 쿼리 이미지에서 노이즈를 제거할 수 있다.
통신 모듈(23)은 사용자로부터 쿼리 이미지를 수신하고, 전자 장치(10)로부터 제2 인공 신경망 모델을 수신할 수 있다.
저장 모듈(25)은 제2 인공 신경망 모델을 저장할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 노이즈 제거를 위한 인공 신경망 모델의 구조를 설명하기 위한 도면이다. 도 2에 도시된 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 트레이닝 데이터 세트를 기반으로 학습될 수 있다. 도 2에 도시된 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 도 1에 도시된 저장 모듈(15)에 저장될 수 있고, 제어 모듈(11)에 의해 실행될 수 있다.
먼저, 제어 모듈(11)은 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)를 학습시키기 위해 트레이닝 데이터 세트를 생성할 수 있다. 제어 모듈(11)은 저장 모듈(15)의 이미지 데이터베이스에 저장된 이미지를 이용하여 트레이닝 데이터 세트를 생성할 수 있다.
구체적으로, 제어 모듈(11)은 이미지 데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지 및 제2 이미지를 생성할 수 있다.
제어 모듈(11)은 이미지 데이터베이스에 저장된 이미지에서 기 설정된 크기를 갖는 패치 단위의 제1 이미지를 생성하고, 제1 이미지에 임의로 노이즈를 생성하여 제2 이미지를 생성할 수 있다.
제어 모듈(11)은 가우시안 노이즈 생성 알고리즘과 같은 노이즈 생성 알고리즘을 활용하여 제1 이미지에 대한 다양한 노이즈를 생성하고 제1 이미지에 더하여 제2 이미지를 생성할 수 있다.
제어 모듈(11)은 제1 이미지 및 제2 이미지를 기반으로 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)를 학습시킬 수 있다. 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 유넷(U-Net) 구조로 형성되어 있음에 따라 적어도 하나의 다운 샘플링 레이어(down-sampling layer)와 업 샘플링 레이어(up-sampling layer) 로 구성될 수 있다.
본 발명의 일 실시 예에 의한 제1 인공 신경망 모델(30) 및 제2 인공 신경망 모델(40)은 유넷 구조를 통해 이미지의 미시적 및 거시적 특징을 모두 사용 가능한 것을 특징으로 한다.
제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈(down-path), 제2 모듈(middle-path), 제3 모듈(up-path)를 각각 포함할 수 있다. 제1 모듈은 컨볼루션 레이어와 활성화 함수(PReLU layer 혹은 ReLU layer)를 포함하는 블록과, 이미지의 크기를 축소시키는 다운샘플 모듈을 포함하고, 제2 모듈은 dense block을, 제3 모듈은 제1 모듈에서 축소된 이미지의 크기를 다시 확대시키는 업샘플 모듈과, 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 포함할 수 있다.
제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈과 제3 모듈의 크기에 차이를 두고 있으며, 제1 모듈과 제3 모듈의 크기가 제1 인공 신경망 모델(30)보다 작은 제2 인공 신경망 모델(40)은 지식 증류기법을 통해 제1 인공 신경망 모델(30)를 모방하여 학습될 수 있다.
제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)를 경량화 할 수 있다.
상술한 바와 같이 본 발명의 일 실시 예에서, 제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)을 포함할 것이다.
제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를 출력할 수 있다.
제2 모듈(35, 45)은 dense block을 사용함으로써 각 단계의 모든 출력 값(예를 들어 피쳐 맵)을 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 학습에 반영할 수 있어 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 성능을 더 향상시킬 수 있다.
이하에서는 제어 모듈(11)에 의해 제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)가 학습되는 과정을 설명한다.
제어 모듈(11)은 제1 인공 신경망 모델(30)에 제2 이미지를 입력 데이터로 하여 제2 이미지의 제1 노이즈를 추출한 후, 제1 노이즈가 제거된 제3 이미지를 출력할 수 있다.
제어 모듈(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로 설정할 수 있다.
제어 모듈(11)은 제1 인공 신경망 모델(30)에서 제3 이미지를 추출하면, 제1 이미지와 비교하여 제1 로스 값을 연산할 수 있다.
제어 모듈(11)은 제2 인공 신경망 모델(40)에 제2 이미지를 입력 데이터로 하여 제2 이미지의 제2 노이즈를 추출한 후, 제2 노이즈가 제거된 제4 이미지를 출력할 수 있다.
제어 모듈(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로 설정할 수 있다.
제어 모듈(11)은 제2 인공 신경망 모델(40)에서 제4 이미지를 추출하면, 제1 이미지와 비교하여 제2 로스 값을 연산할 수 있다.
또한 제어 모듈(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)의 블록 수에 따를 것이다.
제어 모듈(11)은 제3 이미지 및 제4 이미지를 비교하여 제4 로스 값을 더 연산할 수 있다.
제어 모듈(11)은 제1 로스 값 내지 제4 로스 값을 이용하여 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 제어 모듈(11)은 제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산할 수 있다.
제어 모듈(11)은 제5 로스 값을 연산함에 있어서 제1 모듈(31, 41) 및 제3 모듈(36, 46)에 포함된 복수 개의 컨볼루션 레이어 각각의 출력 값에 대한 로스 값 즉, 제3 로스 값을 더 이용함으로써, 제2 인공 신경망 모델(40)가 제1 인공 신경망 모델(30)를 단계별로 보다 잘 모방할 수 있게 한다.
도 3은 본 발명의 일 실시 예에 의한 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명하기 위한 순서도이다. 이하에서는 도 3을 참조하여 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법을 설명한다. 이미지 처리를 위한 인공 신경망 모델을 학습시키는 방법에 대한 설명에 있어서, 앞서 설명한 이미지 처리를 위한 인공 신경망 모델을 학습시키기 위한 시스템과 중복되는 세부 실시 예는 생략될 수 있다.
단계 100에서, 전자 장치는 트레이닝 데이터 세트를 생성할 수 있다. 전자 장치는 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키기 위하여 이미지 데이터베이스에 저장된 이미지를 이용하여 트레이닝 데이터 세트를 생성할 수 있다.
구체적으로 전자 장치는 이미지 데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지 및 제2 이미지를 생성할 수 있다.
전자 장치는 이미지 데이터베이스에 저장된 이미지에서 기 설정된 크기를 갖는 패치 단위의 제1 이미지를 생성하고, 제1 이미지에 임의로 노이즈를 추가하여 제2 이미지를 생성할 수 있다.
전자 장치는 가우시안 노이즈 생성 알고리즘과 같은 노이즈 생성 알고리즘을 활용하여 제1 이미지에 대한 다양한 노이즈를 생성하고 제1 이미지에 더하여 제2 이미지를 생성할 수 있다.
단계 200에서, 전자 장치는 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 기반으로 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 본 발명의 제1 인공 신경망 모델 및 제2 인공 신경망 모델은 유넷(u-net) 구조로 형성되어 있음에 따라 적어도 하나의 풀링 레이어(pooling layer)와 언풀링 레이어(unpooling layer)로 구성될 수 있다.
제1 인공 신경망 모델(30)와 제2 인공 신경망 모델(40)은 제1 모듈(down-path), 제2 모듈(middle-path), 제3 모듈(up-path)를 각각 포함할 수 있다. 제1 모듈은 컨볼루션 레이어와 활성화 함수를 포함하는 블록과, 이미지의 크기를 축소시키는 다운샘플 모듈을 포함하고, 제2 모듈은 dense block을, 제3 모듈은 제1 모듈에서 축소된 이미지의 크기를 다시 확대시키는 업샘플 모듈과, 컨볼루션 레이어와 활성화 함수를 포함하는 블록을 포함할 수 있다.
제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)를 모방하여 학습될 수 있다.
도 4는 본 발명의 일 실시 예에 의한 제1 인공 신경망 모델 및 제2 인공 신경망 모델의 학습 방법을 구체적으로 설명하기 위한 도면이다.
도 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로 설정할 수 있다.
단계 220에서, 전자 장치는 제2 이미지에서 제1 노이즈를 제거한 제3 이미지를 출력할 수 있다.
단계 230에서, 전자 장치는 제1 이미지와 제3 이미지를 비교하여 제1 로스 값을 연산할 수 있다.
단계 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로 설정할 수 있다.
단계 250에서, 전자 장치는 제2 이미지에서 제2 노이즈를 제거한 제4 이미지를 출력할 수 있다.
단계 260에서, 전자 장치는 제1 이미지와 제4 이미지를 비교하여 제2 로스 값을 연산할 수 있다.
단계 210 내지 230과 단계 240 내지 260은 동시에 동작할 수도 있고 순차적으로 동작할 수도 있다.
단계 270에서, 전자 장치는 단계 210 및 단계 240에서 각각 추출한 제1 내지 제6 피쳐를 이용하여 제3 로스 값을 연산할 수 있다. 구체적으로, 전자 장치는 제1 피쳐-1과 제1 피쳐-2를 비교하여 제3 로스 값-1을, 제2 피쳐-1과 제2 피쳐-2를 비교하여 제3 로스 값-2을, ..., 제6 피쳐-1과 제6 피쳐-2를 비교하여 제3 로스 값-6을 연산할 수 있다.
단계 280에서, 전자 장치는 제3 이미지 및 제4 이미지를 비교하여 제4 로스 값을 더 연산할 수 있다.
단계 290에서, 전자 장치는 제1 로스 값 내지 제4 로스 값을 이용하여 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시킬 수 있다. 전자 장치는 제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산할 수 있다.
전자 장치는 제5 로스 값을 연산함에 있어서 제1 모듈(31, 41) 및 제3 모듈(36, 46)에 포함된 복수 개의 컨볼루션 레이어 각각의 출력 값에 대 한 로스 값 즉, 제3 로스 값을 더 이용함으로써, 제2 인공 신경망 모델(40)가 제1 인공 신경망 모델(30)를 보다 잘 모방할 수 있게 한다.
다시 도 3에 대한 설명으로 복귀하면, 단계 300에서, 전자 장치는 제1 인공 신경망 모델과 제2 인공 신경망 모델에서 출력된 최종 로스 값(제5 로스 값)이 기 설정된 로스 임계 값 이하이면, 제2 인공 신경망 모델을 사용자 단말(20)에 전송할 수 있다.
사용자 단말은 전자 장치로부터 제2 인공 신경망 모델을 수신하면, 경량화 된 제2 인공 신경망 모델을 통해 사용자에게 노이즈 제거 서비스를 제공할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (7)

  1. 전자 장치가 이미지 처리를 위한 인공 신경망을 학습시키는 방법에 있어서,
    제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하는 a 단계;
    상기 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하는 b 단계;
    상기 b 단계가 수행되는 동안, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 c 단계; 및
    상기 제2 인공 신경망 모델을 사용자 단말에 전송하는 d 단계를 포함하되,
    상기 c 단계는,
    상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하는 단계;
    상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하는 단계;
    상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하는 단계;
    상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하는 단계;
    상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하는 단계; 및
    상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 단계;를 더 포함하는,
    이미지 처리를 위한 인공 신경망 학습 방법.
  2. 제1항에 있어서, 상기 a 단계는,
    데이터베이스에 저장된 이미지를 이용하여 기 설정된 크기의 제1 이미지를 생성하는 단계;
    제1 이미지에 임의의 노이즈를 추가하여 제2 이미지를 생성하는 단계를 포함하는 이미지 처리를 위한 인공 신경망 학습 방법.
  3. 제2항에 있어서,
    제1 인공 신경망 모델 및 제2 인공 신경망 모델은 각각 제1 모듈, 제2 모듈, 제3 모듈을 포함하며, 제1 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 다운샘플 모듈을 포함하고,
    제3 모듈은 컨볼루션 레이어 및 활성화 함수를 포함하는 적어도 하나의 블록 및 업샘플 모듈을 포함하되,
    제1 인공 신경망 모델과 제2 인공 신경망 모델은 제1 모듈 및 제3 모듈의 크기가 상이한 것을 특징으로 하는 이미지 처리를 위한 인공 신경망 학습 방법.
  4. 제3항에 있어서, 상기 b 단계는,
    제1 인공 신경망 모델에 제2 이미지를 입력하여 제1 노이즈를 추출하고, 제2 이미지에서 제1 노이즈를 제거하여 제3 이미지를 생성하는 단계; 및
    제2 인공 신경망 모델에 제2 이미지를 입력하여 제2 노이즈를 추출하고, 제2 이미지에서 제2 노이즈를 제거하여 제4 이미지를 생성하는 단계를 포함하는 이미지 처리를 위한 인공 신경망 학습 방법.
  5. 제1항에 있어서,
    제1 로스 값 내지 제4 로스 값 각각에 가중치를 부여하여 제5 로스 값을 연산하고, 제1 인공 신경망 모델 및 제2 인공 신경망 모델을 학습시키는 이미지 처리를 위한 인공 신경망 학습 방법.
  6. 제5 항에 있어서, 상기 d 단계는,
    제5 로스 값이 기 설정된 로스 임계 값 이하이면 제2 인공 신경망 모델을 상기 사용자 단말에 전송하는 이미지 처리를 위한 인공 신경망 학습 방법.
  7. 제1 이미지 및 제2 이미지를 포함하는 트레이닝 데이터 세트를 생성하고, 상기 제2 이미지를 제1 인공 신경망 모델 및 제2 인공 신경망 모델에 입력하여 제3 이미지 및 제4 이미지를 각각 추출하며, 상기 제3 이미지 및 상기 제4 이미지를 추출하는 과정에서 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키는 제어 모듈; 상기 제2 인공 신경망 모델을 사용자 단말에 전송하는 통신 모듈;을 포함하는 전자 장치; 및
    상기 전자 장치로부터 제2 인공 신경망 모델을 수신하여 사용자로부터 수신한 이미지를 처리하는 사용자 단말을 포함하되,
    상기 제어 모듈은, 상기 제1 이미지와 상기 제3 이미지를 비교하여 제1 로스 값을 연산하고, 상기 제1 이미지와 상기 제4 이미지를 비교하여 제2 로스 값을 연산하고, 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델에 포함된 제1 모듈의 컨볼루션 레이어의 출력 값 각각을 비교해 제3 로스 값을 연산하고, 상기 제3 이미지와 상기 제4 이미지를 비교하여 제4 로스 값을 연산하고, 상기 제1 내지 제4 로스 값을 이용하여 최종 로스 값인 제5 로스 값을 연산하고, 상기 제5 로스 값을 기반으로 상기 제1 인공 신경망 모델 및 상기 제2 인공 신경망 모델을 학습시키도록 구성되는,
    이미지 처리를 위한 인공 신경망 학습 시스템.
PCT/KR2022/008947 2021-06-29 2022-06-23 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템 WO2023277448A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0084579 2021-06-29
KR10-2022-0052705 2021-06-29
KR1020210084579A KR102393761B1 (ko) 2021-06-29 2021-06-29 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템
KR1020220052705A KR20230002041A (ko) 2021-06-29 2022-04-28 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2023277448A1 true WO2023277448A1 (ko) 2023-01-05

Family

ID=84706524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008947 WO2023277448A1 (ko) 2021-06-29 2022-06-23 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670870B1 (ko) * 2023-10-10 2024-05-30 주식회사 포바이포 딥러닝 기반 영상 노이즈 저감 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190119548A (ko) * 2019-10-02 2019-10-22 엘지전자 주식회사 이미지 노이즈 처리방법 및 처리장치
KR20200080819A (ko) * 2018-12-27 2020-07-07 (주)아크릴 인공 신경망의 상용화 서비스 제공 방법
US20200257506A1 (en) * 2016-02-12 2020-08-13 Sony Corporation Information processing method and information processing apparatus
KR20210062477A (ko) * 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102393761B1 (ko) * 2021-06-29 2022-05-04 주식회사 에너자이(ENERZAi) 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200257506A1 (en) * 2016-02-12 2020-08-13 Sony Corporation Information processing method and information processing apparatus
KR20200080819A (ko) * 2018-12-27 2020-07-07 (주)아크릴 인공 신경망의 상용화 서비스 제공 방법
KR20190119548A (ko) * 2019-10-02 2019-10-22 엘지전자 주식회사 이미지 노이즈 처리방법 및 처리장치
KR20210062477A (ko) * 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102393761B1 (ko) * 2021-06-29 2022-05-04 주식회사 에너자이(ENERZAi) 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템

Also Published As

Publication number Publication date
KR20230002041A (ko) 2023-01-05

Similar Documents

Publication Publication Date Title
WO2020256471A1 (ko) 머신 러닝 기반의 발화 동영상 생성 방법 및 장치
WO2023277448A1 (ko) 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템
CN108764336A (zh) 用于图像识别的深度学习方法及装置、客户端、服务器
WO2018186708A1 (ko) 음원의 하이라이트 구간을 결정하는 방법, 장치 및 컴퓨터 프로그램
WO2023068795A1 (ko) 이미지 분석을 이용한 메타버스 생성 장치 및 방법
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020139054A1 (en) Apparatus and method for generating a virtual avatar
WO2022146080A1 (ko) 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
WO2022114368A1 (ko) 뉴로 심볼릭 기반 릴레이션 임베딩을 통한 지식완성 방법 및 장치
WO2021101052A1 (ko) 배경 프레임 억제를 통한 약한 지도 학습 기반의 행동 프레임 검출 방법 및 장치
WO2023113372A1 (ko) 불균형 데이터에 대한 딥러닝 분류 모델 성능을 향상시키기 위한 레이블 기반 샘플 추출 장치 및 그 방법
WO2020101121A1 (ko) 딥러닝 기반의 영상분석 방법, 시스템 및 휴대 단말
WO2023040545A1 (zh) 一种数据处理方法、装置、设备、存储介质和程序产品
WO2023033194A1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
WO2022260392A1 (ko) 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템
WO2022163996A1 (ko) 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법
WO2021261687A1 (ko) 영상 기반 사람의 3차원 자세 및 형상 모델 복원 장치 및 방법
WO2021071258A1 (ko) 인공지능 기반의 휴대용 보안영상 학습장치 및 방법
WO2019208869A1 (ko) 학습을 이용한 얼굴 특징점 검출 방법 및 장치
WO2021167257A1 (ko) Ppt 추천방법 및 그 장치
WO2022097909A1 (ko) 비지도 기반 질의 생성 모델의 학습 방법 및 장치
WO2022145769A1 (ko) 이미지 분류를 통한 이미지 퀄리티 연산 방법 및 장치
Chen et al. Static correlative filter based convolutional neural network for visual question answering
WO2023120788A1 (ko) Snn/cnn 동시 구동이 가능한 데이터 처리 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22833504

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE