KR102628166B1 - Method, program, and apparatus for super-resolution based on artificial neural network - Google Patents

Method, program, and apparatus for super-resolution based on artificial neural network Download PDF

Info

Publication number
KR102628166B1
KR102628166B1 KR1020220111878A KR20220111878A KR102628166B1 KR 102628166 B1 KR102628166 B1 KR 102628166B1 KR 1020220111878 A KR1020220111878 A KR 1020220111878A KR 20220111878 A KR20220111878 A KR 20220111878A KR 102628166 B1 KR102628166 B1 KR 102628166B1
Authority
KR
South Korea
Prior art keywords
size
label
neural network
image size
data
Prior art date
Application number
KR1020220111878A
Other languages
Korean (ko)
Inventor
김현수
Original Assignee
주식회사 에어스메디컬
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에어스메디컬 filed Critical 주식회사 에어스메디컬
Priority to KR1020220111878A priority Critical patent/KR102628166B1/en
Priority to PCT/KR2023/008583 priority patent/WO2024053828A1/en
Priority to KR1020240007745A priority patent/KR20240033689A/en
Application granted granted Critical
Publication of KR102628166B1 publication Critical patent/KR102628166B1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • 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)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

본 개시의 일 실시예에 따른 인공 신경망 기반 해상도 향상 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 단계; 및 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계를 포함할 수 있다.An artificial neural network-based resolution enhancement method, program, and device according to an embodiment of the present disclosure are disclosed. The method includes acquiring a plurality of learning data having a plurality of acquisition matrix sizes; And based on the plurality of learning data, a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. It may include a learning step.

Description

인공 신경망 기반 해상도 향상 방법, 프로그램 및 장치{METHOD, PROGRAM, AND APPARATUS FOR SUPER-RESOLUTION BASED ON ARTIFICIAL NEURAL NETWORK}Artificial neural network-based resolution enhancement method, program, and device {METHOD, PROGRAM, AND APPARATUS FOR SUPER-RESOLUTION BASED ON ARTIFICIAL NEURAL NETWORK}

본 개시는 영상 처리 기술에 관한 것으로, 구체적으로 다양한 해상도로 구성된 데이터를 활용하여 인공 신경망을 학습시키고, 학습된 인공 신경망을 사용하여 데이터의 해상도를 향상시키는 방법 및 장치에 관한 것이다.This disclosure relates to image processing technology, and specifically to a method and device for training an artificial neural network using data composed of various resolutions and improving the resolution of the data using the learned artificial neural network.

해상도 향상(super-resolution)이라는 태스크(task)를 수행하는 인공 신경망을 학습시키기 위해서, 통상적으로 저해상도(low resolution)의 이미지와 고해상도(high resolution)의 이미지 쌍이 학습 데이터로 사용된다. 저해상도 이미지를 입력, 고해상도 이미지를 라벨(label)로 하여 인공 신경망을 학습시키면, 해당 인공 신경망은 입력의 해상도를 라벨에 가깝게 높이도록 학습된다.In order to train an artificial neural network that performs a task called super-resolution, pairs of low-resolution images and high-resolution images are typically used as learning data. When an artificial neural network is trained using a low-resolution image as input and a high-resolution image as a label, the artificial neural network is trained to increase the resolution of the input closer to the label.

한편, 현실적으로 단일한 해상도를 갖는 고해상도의 학습 데이터를 얻기 어려운 경우가 많다. 그리고, 학습이 완료된 인공신경망에 입력으로 들어오게 될 저해상도 이미지의 해상도도 실제로 단일하지 않은 경우가 더 일반적이다. 예를 들어, 자기 공명 영상의 경우, 이미지의 해상도는 장비의 종류, 촬영 부위, 펄스 시퀀스(pulse sequence), 또는 병원 및 의료진의 기호 등에 따라 달라지게 된다.Meanwhile, in reality, it is often difficult to obtain high-resolution learning data with a single resolution. In addition, it is more common that the resolution of the low-resolution image that will be input to the trained artificial neural network is not actually single. For example, in the case of magnetic resonance imaging, the resolution of the image varies depending on the type of equipment, imaging area, pulse sequence, or preferences of the hospital and medical staff.

이와 같이 단일한 해상도로 구성된 학습 데이터를 확보하지 못하는 현실적 상황에서 다양한 해상도로 구성된 학습 데이터를 이용해 인공 신경망을 학습시키면. 학습 데이터 중 최대값에 해당하는 해상도의 데이터를 출력하도록 인공 신경망이 학습되지 못하고, 인공 신경망이 저해상도의 학습 데이터의 영향을 받아 최대값보다 작은 해상도의 데이터를 출력한다는 단점이 발생할 수 있다.In a realistic situation where learning data composed of a single resolution cannot be secured, if an artificial neural network is trained using learning data composed of various resolutions. There may be a disadvantage in that the artificial neural network is not trained to output data with a resolution corresponding to the maximum value among the training data, and the artificial neural network is affected by low-resolution training data and outputs data with a resolution smaller than the maximum value.

예를 들어, 해상도가 동일하진 않고 비슷한 학습 이미지 두 장이 있다고 가정한다. 이때, 두 장의 이미지 중 A이미지는 해상도가 512x512이고 B이미지는 해상도가 256x256이라고 하면, 일반적인 종래의 학습 방법을 통해 인공 신경망을 학습시킬 경우에 인공 신경망은 최대값인 512x512에 해당하는 해상도의 이미지를 출력한다고 보장할 수 없다. 해상도가 512x512인 A데이터와 해상도가 256x256인 B데이터가 각각 라벨로 사용될 것이므로, 인공 신경망을 통해 두 장의 이미지 사이의 해상도를 갖는 이미지가 출력되거나 아티팩트(artifact)가 있는 비정상적인 이미지가 출력될 수 있다.For example, assume that there are two training images that are similar but not of the same resolution. At this time, if among the two images, image A has a resolution of 512x512 and image B has a resolution of 256x256, when training the artificial neural network through a typical learning method, the artificial neural network will use an image with a resolution corresponding to the maximum value of 512x512. Printing is not guaranteed. Since A data with a resolution of 512x512 and B data with a resolution of 256x256 will be used as labels, an image with a resolution between the two images may be output through an artificial neural network, or an abnormal image with artifacts may be output.

대한민국 공개특허공보 제10-2018-0114488호(2018.10.18)Republic of Korea Patent Publication No. 10-2018-0114488 (2018.10.18)

본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 다양한 해상도를 가진 데이터 중 최대 해상도에 가까운 데이터를 출력하도록 인공 신경망을 학습시키고, 학습된 인공 신경망을 통해 데이터의 해상도를 향상시키는 방법 및 장치를 제공하고자 한다.The present disclosure was made in response to the above-described background technology, and provides a method and device for training an artificial neural network to output data close to the maximum resolution among data with various resolutions and improving the resolution of the data through the learned artificial neural network. We would like to provide

다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.However, the problems to be solved by this disclosure are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood based on the description below.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 인공 신경망 기반 해상도 향상 방법이 개시된다. 상기 방법은, 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 단계; 및 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계를 포함할 수 있다.According to an embodiment of the present disclosure for realizing the above-described problem, an artificial neural network-based resolution enhancement method performed by a computing device is disclosed. The method includes acquiring a plurality of learning data having a plurality of acquisition matrix sizes; And based on the plurality of learning data, a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. It may include a learning step.

대안적으로, 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는, 상기 신경망 모델을 사용하여, 상기 복수의 학습 데이터에 포함된 입력을 기초로, 상기 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성하는 단계; 상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하는 단계; 및 제 1 손실 함수를 통해 상기 이미지 크기가 조절된 출력 데이터과 상기 제 2 라벨 간의 오차를 연산하는 단계를 포함할 수 있다.Alternatively, based on the plurality of learning data, a neural network model outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. The training step includes using the neural network model to generate output data having an image size larger than or equal to the size of the acquisition matrix of the first label, based on inputs included in the plurality of training data; adjusting the image size of the output data to correspond to the image size of a second label matching the input used to generate the output data; And it may include calculating an error between the image size-adjusted output data and the second label through a first loss function.

대안적으로, 상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하는 단계는, 상기 출력 데이터에 대한 보간(interpolation)을 수행함으로써, 상기 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 축소하는 단계를 포함할 수 있다.Alternatively, adjusting the image size of the output data to correspond to the image size of the second label matching the input used to generate the output data includes performing interpolation on the output data. By doing so, it may include reducing the image size of the output data to correspond to the image size of the second label.

대안적으로, 상기 제 1 손실 함수는, 상기 이미지 크기가 축소된 출력 데이터의 획득 행렬 크기와 상기 제 2 라벨의 획득 행렬 크기를 기초로, 상기 이미지 크기가 축소된 출력 데이터와 상기 제 2 라벨 간의 유사도를 연산하기 위한 손실 함수일 수 있다.Alternatively, the first loss function is based on the acquisition matrix size of the image size-reduced output data and the acquisition matrix size of the second label, between the image size-reduced output data and the second label. It may be a loss function for calculating similarity.

대안적으로, 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는, 상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 조절하는 단계; 및 제 2 손실 함수를 통해 상기 생성된 출력 데이터와 상기 이미지 크기가 조절된 제 2 라벨 간의 오차를 연산하는 단계를 더 포함할 수 있다.Alternatively, based on the plurality of learning data, a neural network model outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. The learning step includes adjusting the image size of the second label to correspond to the image size of the generated output data; And it may further include calculating an error between the generated output data and the second label whose image size is adjusted through a second loss function.

대안적으로, 상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 조절하는 단계는, 상기 제 2 라벨에 대한 보간을 수행함으로써, 상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 확대하는 단계를 포함할 수 있다.Alternatively, adjusting the image size of the second label to correspond to the image size of the generated output data may include performing interpolation on the second label to correspond to the image size of the generated output data. Preferably, the step of enlarging the image size of the second label may be included.

대안적으로, 상기 제 2 손실 함수는, 상기 생성된 출력 데이터의 획득 행렬 크기와 상기 이미지 크기가 확대된 제 2 라벨의 획득 행렬 크기를 기초로, 상기 생성된 출력 데이터와 상기 이미지 크기가 확대된 제 2 라벨 간의 유사도를 연산하기 위한 손실 함수일 수 있다.Alternatively, the second loss function is based on the acquisition matrix size of the generated output data and the acquisition matrix size of the second label with the image size enlarged, the generated output data and the image size are enlarged. It may be a loss function for calculating similarity between second labels.

대안적으로, 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는, 상기 제 1 손실 함수를 통한 연산 결과와 상기 제 2 손실 함수를 통한 연산 결과의 가중합을 기초로, 상기 신경망 모델을 학습시키는 단계를 더 포함할 수 있다.Alternatively, based on the plurality of learning data, a neural network model outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. The learning step may further include training the neural network model based on a weighted sum of the calculation results through the first loss function and the calculation results through the second loss function.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 인공 신경망 기반 해상도 향상 방법이 개시된다. 상기 방법은, 저해상도의 의료 영상을 획득하는 단계; 및 사전 학습된 신경망 모델을 사용하여, 상기 저해상도의 의료 영상 대비 해상도가 개선된 고해상도의 의료 영상을 생성하는 단계를 포함할 수 있다. 이때, 상기 신경망 모델은, 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망을 포함할 수 있다.According to an embodiment of the present disclosure for realizing the above-described problem, an artificial neural network-based resolution enhancement method performed by a computing device is disclosed. The method includes acquiring a low-resolution medical image; and generating a high-resolution medical image with improved resolution compared to the low-resolution medical image using a pre-trained neural network model. At this time, the neural network model includes a neural network that outputs data having an image size larger than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among labels included in a plurality of learning data having a plurality of acquisition matrix sizes. can do.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 인공 신경망을 기반으로 데이터의 해상도를 향상시키기 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 동작; 및 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 동작을 포함할 수 있다.According to an embodiment of the present disclosure for realizing the above-described object, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed on one or more processors, it performs operations to improve the resolution of data based on an artificial neural network. At this time, the operations include acquiring a plurality of learning data having a plurality of acquisition matrix sizes; And, based on the plurality of learning data, an operation of training a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. may include.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 인공 신경망을 기반으로 데이터의 해상도를 향상시키는 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시킬 수 있다.According to an embodiment of the present disclosure for realizing the above-described problem, a computing device that improves the resolution of data based on an artificial neural network is disclosed. The device includes a processor including at least one core; a memory containing program codes executable on the processor; And it may include a network unit that acquires a plurality of learning data having a plurality of acquisition matrix sizes. At this time, the processor is a neural network that, based on the plurality of learning data, outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. You can train a model.

본 개시는 현실적으로 단일한 해상도를 갖는 학습 데이터를 확보하지 못하더라도, 다양한 해상도로 구성된 학습 데이터를 활용하여 인공 신경망을 효과적으로 학습시킴으로써, 임의의 데이터에 대한 인공 신경망의 해상도 향상 성능을 보장할 수 있다.In the present disclosure, even if training data with a single resolution cannot be secured in reality, the resolution improvement performance of the artificial neural network for arbitrary data can be guaranteed by effectively training the artificial neural network using training data composed of various resolutions.

도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 신경망 모델의 학습 과정을 나타낸 블록도이다.
도 3은 본 개시의 일 실시예에 따른 해상도 향상 방법을 나타낸 순서도이다.
도 4는 본 개시의 일 실시예에 따른 신경망 모델의 학습 과정을 나타낸 순서도이다.
도 5는 본 개시의 대안적 실시예에 따른 해상도 향상 방법을 나타낸 순서도이다.
1 is a block diagram of a computing device according to an embodiment of the present disclosure.
Figure 2 is a block diagram showing the learning process of a neural network model according to an embodiment of the present disclosure.
Figure 3 is a flow chart showing a resolution improvement method according to an embodiment of the present disclosure.
Figure 4 is a flowchart showing the learning process of a neural network model according to an embodiment of the present disclosure.
Figure 5 is a flow chart showing a resolution improvement method according to an alternative embodiment of the present disclosure.

아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다. Below, with reference to the attached drawings, embodiments of the present disclosure are described in detail so that those skilled in the art (hereinafter referred to as skilled in the art) can easily implement the present disclosure. The embodiments presented in this disclosure are provided to enable any person skilled in the art to use or practice the subject matter of this disclosure. Accordingly, various modifications to the embodiments of the present disclosure will be apparent to those skilled in the art. That is, the present disclosure can be implemented in various different forms and is not limited to the following embodiments.

본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.The same or similar reference numerals refer to the same or similar elements throughout the specification of this disclosure. Additionally, in order to clearly describe the present disclosure, reference numerals in the drawings may be omitted for parts that are not related to the description of the present disclosure.

본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다.As used in this disclosure, the term “or” is intended to mean an inclusive “or” and not an exclusive “or.” That is, unless otherwise specified in the present disclosure or the meaning is not clear from the context, “X uses A or B” should be understood to mean one of natural implicit substitutions. For example, unless otherwise specified in the present disclosure or the meaning is not clear from the context, “X uses A or B” means that It can be interpreted as one of the cases where all B is used.

본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.The term “and/or” as used in this disclosure should be understood to refer to and include all possible combinations of one or more of the listed related concepts.

본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. The terms “comprise” and/or “comprising” as used in this disclosure should be understood to mean that certain features and/or elements are present. However, the terms "comprise" and/or "including" should be understood as not excluding the presence or addition of one or more other features, other components, and/or combinations thereof.

본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다. Unless otherwise specified in this disclosure or the context is clear to indicate a singular form, the singular should generally be construed to include “one or more.”

본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.The term “Nth (N is a natural number)” used in the present disclosure can be understood as an expression used to distinguish the components of the present disclosure according to a predetermined standard such as a functional perspective, a structural perspective, or explanatory convenience. there is. For example, in the present disclosure, components performing different functional roles may be distinguished as first components or second components. However, components that are substantially the same within the technical spirit of the present disclosure but must be distinguished for convenience of explanation may also be distinguished as first components or second components.

한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈" 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈" 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈" 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈" 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.Meanwhile, the term "module" or "unit" used in this disclosure refers to a computer-related entity, firmware, software or part thereof, hardware or part thereof. , can be understood as a term referring to an independent functional unit that processes computing resources, such as a combination of software and hardware. At this time, the “module” or “unit” may be a unit composed of a single element, or may be a unit expressed as a combination or set of multiple elements. For example, a "module" or "part" in the narrow sense is a hardware element of a computing device, or set of pieces thereof, an application program that performs a specific function of software, a process implemented through software execution, or a program execution. It may refer to a set of instructions for . Additionally, as a broad concept, “module” or “unit” may refer to the computing device itself constituting the system, or an application running on the computing device. However, since the above-described concept is only an example, the concept of “module” or “unit” may be defined in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

본 개시에서 사용되는 "모델(model)" 이라는 용어는 특정 문제를 해결하기 위해 수학적 개념과 언어를 사용하여 구현되는 시스템, 특정 문제를 해결하기 위한 소프트웨어 단위의 집합, 혹은 특정 문제를 해결하기 위한 처리 과정에 관한 추상화 모형으로 이해될 수 있다. 예를 들어, 신경망(neural network) "모델" 은 학습을 통해 문제 해결 능력을 갖는 신경망으로 구현되는 시스템 전반을 지칭할 수 있다. 이때, 신경망은 노드(node) 혹은 뉴런(neuron)을 연결하는 파라미터(parameter)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 신경망 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.As used in this disclosure, the term "model" refers to a system implemented using mathematical concepts and language to solve a specific problem, a set of software units to solve a specific problem, or a process to solve a specific problem. It can be understood as an abstract model of a process. For example, a neural network “model” may refer to an overall system implemented as a neural network that has problem-solving capabilities through learning. At this time, the neural network can have problem-solving capabilities by optimizing parameters connecting nodes or neurons through learning. A neural network “model” may include a single neural network or a neural network set in which multiple neural networks are combined.

본 개시에서 사용되는 "영상" 이라는 용어는 이산적 이미지 요소들로 구성된 다차원 데이터를 지칭할 수 있다. 다시 말해, "영상"은 사람의 눈으로 볼 수 있는 대상의 디지털 표현물을 지칭하는 용어로 이해될 수 있다. 예를 들어, "영상" 은 2차원 이미지에서 픽셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다. "영상"은 3차원 이미지에서 복셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다.The term “image” used in this disclosure may refer to multidimensional data composed of discrete image elements. In other words, “image” can be understood as a term referring to a digital representation of an object that can be seen by the human eye. For example, “image” may refer to multidimensional data consisting of elements corresponding to pixels in a two-dimensional image. “Image” may refer to multidimensional data consisting of elements corresponding to voxels in a three-dimensional image.

본 개시에서 사용되는 "이미지 크기(size)" 라는 용어는 이미지의 높이 축, 너비 축, 및/또는 깊이 축을 구성하는 절대적인 픽셀 수를 의미할 수 있다. 그리고, 본 개시에서 사용되는 "획득 행렬 크기(acquisition matrix size)" 라는 용어는 이미지를 촬영할 때 획득되는 픽셀 단위의 크기로서, 이미지의 정보를 모두 포함할 수 있는 최소 크기로 이해될 수 있다. 다시 말해서, "획득 행렬 크기" 라는 용어는 원본 이미지가 갖는 해상도와 관련된 용어로서, 원본 이미지를 정보의 손실없이 분해하기 위한 최소 픽셀 수를 의미할 수 있다.As used in this disclosure, the term “image size” may mean the absolute number of pixels that make up the height axis, width axis, and/or depth axis of an image. Additionally, the term “acquisition matrix size” used in the present disclosure refers to the size in pixels obtained when taking an image, and can be understood as the minimum size that can include all information of the image. In other words, the term “acquisition matrix size” is a term related to the resolution of the original image, and may mean the minimum number of pixels for decomposing the original image without loss of information.

예를 들어, 획득 행렬 크기가 800x600인 이미지는 높이가 800픽셀, 너비가 600픽셀로 얻어진 이미지를 의미할 수 있다. 이때, 획득 행렬 크기 800x600는 이미지 크기와 비교하여 같거나 작을 수 있다. 획득 행렬 크기가 800x600 인 이미지를 2배 확대하여 이미지 크기가 1600x1200이 되도록 확대한다고 가정하자. 이때, 확대된 이미지의 이미지 크기는 1600x1200이지만, 획득 행렬 크기는 800x600이다. 상술한 획득 행렬 크기의 설명에 따르면, 확대된 이미지의 높이 축 신호 값들은 최소한 800 픽셀로 분해 혹은 표현할 수 있으며, 그 미만의 픽셀로는 분해할 수 없기 때문이다. 반대로, 획득 행렬 크기와 이미지 크기가 800x600인 이미지를 이미지 크기가 400x300이 되도록 축소한다고 가정하자. 이때, 축소된 이미지는 최소 400x300픽셀로 분해 가능하므로, 획득 행렬 크기는 400x300으로 감소한다. 또한, 이미지 크기는 400x300이 된다.For example, an image with an acquisition matrix size of 800x600 may mean an image obtained with a height of 800 pixels and a width of 600 pixels. At this time, the acquisition matrix size 800x600 may be equal to or smaller than the image size. Assume that an image with an acquisition matrix size of 800x600 is enlarged by 2 times so that the image size is 1600x1200. At this time, the image size of the enlarged image is 1600x1200, but the acquisition matrix size is 800x600. According to the description of the size of the acquisition matrix described above, the height axis signal values of the enlarged image can be decomposed or expressed by at least 800 pixels, and cannot be decomposed into pixels smaller than that. Conversely, assume that an image with an acquisition matrix size and image size of 800x600 is reduced to an image size of 400x300. At this time, the reduced image can be decomposed into at least 400x300 pixels, so the acquisition matrix size is reduced to 400x300. Also, the image size is 400x300.

본 개시에서 "가속화 촬영"은 일반적인 촬영 대비 자기 공명 신호에 대한 여기 횟수(NEX: number of excitations)를 감소시켜 촬영 시간을 단축시키는 촬영 기법으로 이해될 수 있다. 여기 횟수는 케이-스페이스 도메인에서 자기 공명 신호의 라인들을 반복 획득할 때의 반복된 횟수로 이해될 수 있다. 따라서, 여기 횟수가 증가함에 따라 자기 공명 영상의 촬영 시간이 비례하여 증가할 수 있다. 즉, 자기 공명 영상의 촬영 시에 여기 횟수를 감소시키는 경우, 자기 공명 영상의 촬영 시간이 단축된 가속화 촬영이 구현될 수 있다.In the present disclosure, “accelerated imaging” can be understood as an imaging technique that shortens imaging time by reducing the number of excitations (NEX) for magnetic resonance signals compared to general imaging. The number of excitations can be understood as the number of repetitions when repeatedly acquiring lines of a magnetic resonance signal in the K-space domain. Therefore, as the number of excitations increases, the capturing time of the magnetic resonance image may increase proportionally. That is, when the number of excitations is reduced when taking a magnetic resonance image, accelerated imaging with a shortened magnetic resonance image taking time can be implemented.

본 개시에서 "가속화 촬영"은 케이-스페이스 도메인에서 위상 인코딩(phase encoding) 방향으로 더 좁은 범위의 신호를 얻음으로써, 해상도가 상대적으로 낮은 영상을 획득하는 촬영 기법으로 이해될 수 있다. 다시 말해, 본 개시의 가속화 촬영은 일반적인 촬영 대비 위상 레졸루션(resolution)을 감소시킨 촬영 기법으로 이해될 수 있다. 위상 레졸루션은 케이-스페이스 도메인에서 위상 인코딩 방향으로 샘플링 된 라인의 개수를 미리 설정된 기준 값으로 나눈 값으로 이해될 수 있다. 따라서, 위상 레졸루션이 증가함에 따라, 자기 공명 영상의 촬영 시간이 비례하여 증가할 수 있다. 즉, 자기 공명 영상의 촬영 시에 위상 레졸루션을 감소시키는 경우, 자기 공명 영상의 촬영 시간이 단축된 가속화 촬영이 구현될 수 있다.In the present disclosure, “accelerated imaging” can be understood as an imaging technique that obtains an image with relatively low resolution by obtaining a narrower range of signals in the phase encoding direction in the K-space domain. In other words, accelerated imaging of the present disclosure can be understood as a imaging technique that reduces phase resolution compared to general imaging. Phase resolution can be understood as the number of lines sampled in the phase encoding direction in the K-space domain divided by a preset reference value. Therefore, as the phase resolution increases, the capturing time of the magnetic resonance image may increase proportionally. That is, when the phase resolution is reduced when capturing a magnetic resonance image, accelerated imaging with a shortened magnetic resonance image capturing time can be implemented.

본 개시에서 "가속화 촬영"은 일반적인 촬영에 비해 가속화 지수(acceleration factor)를 높여 촬영 시간을 단축시키는 촬영 기법으로 이해될 수 있다. 가속화 지수는 병렬 영상 기법에서 사용되는 용어로서, 케이-스페이스에서 풀 샘플링(full sampling)된 신호 라인의 개수를 촬영을 통해 샘플링 된 신호 라인의 개수로 나눈 값으로 이해될 수 있다. 예를 들어, 가속화 지수가 2 라는 것은, 위상 인코딩 방향으로 자기 공명 신호를 샘플링 하여 라인을 획득할 때, 풀 샘플링 된 신호 라인의 개수 대비 절반의 신호 라인의 개수를 획득하는 것으로 이해될 수 있다. 따라서, 가속화 지수가 증가함에 따라, 자기 공명 영상의 촬영 시간이 비례하여 감소할 수 있다. 즉, 자기 공명 영상의 촬영 시에 가속화 지수를 증가시키는 경우, 자기 공명 영상의 촬영 시간이 단축된 가속화 촬영이 구현될 수 있다.In the present disclosure, “accelerated shooting” can be understood as a shooting technique that shortens the shooting time by increasing the acceleration factor compared to regular shooting. The acceleration index is a term used in parallel imaging techniques, and can be understood as the number of signal lines fully sampled in K-space divided by the number of signal lines sampled through imaging. For example, an acceleration index of 2 can be understood as acquiring half the number of signal lines compared to the number of fully sampled signal lines when acquiring a line by sampling a magnetic resonance signal in the phase encoding direction. Therefore, as the acceleration index increases, the capturing time of the magnetic resonance image may decrease proportionally. That is, if the acceleration index is increased when taking a magnetic resonance image, accelerated imaging with a shortened magnetic resonance image taking time can be implemented.

본 개시에서 "가속화 촬영"은 서브 샘플링(sub sampling) 된 자기 공명 신호를 획득하여 자기 공명 영상을 생성하는 촬영 기법으로 이해될 수 있다. 이때, 서브 샘플링은 나이키스트 샘플링 레이트(nyquist sampling rate)보다 낮은 샘플링 레이트로 자기 공명 신호를 샘플링 하는 작업으로 이해될 수 있다. 따라서, 본 개시의 의료 데이터는 나이키스트 샘플링 레이트보다 낮은 샘플링 레이트로 자기 공명 신호를 샘플링 하여 획득된 영상일 수 있다.In the present disclosure, “accelerated imaging” can be understood as an imaging technique that generates a magnetic resonance image by acquiring a sub-sampled magnetic resonance signal. At this time, subsampling can be understood as an operation of sampling a magnetic resonance signal at a sampling rate lower than the Nyquist sampling rate. Accordingly, the medical data of the present disclosure may be images obtained by sampling magnetic resonance signals at a sampling rate lower than the Nyquist sampling rate.

다만, 상술한 "가속화 촬영"의 설명은 하나의 예시일 뿐이므로, 가속화 촬영의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.However, since the above description of “accelerated photography” is only an example, the concept of accelerated photography may be defined in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.The explanation of the foregoing terms is intended to aid understanding of the present disclosure. Therefore, if the above-mentioned terms are not explicitly described as limiting the content of the present disclosure, it should be noted that the content of the present disclosure is not used in the sense of limiting the technical idea.

도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도다.1 is a block diagram of a computing device according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The computing device 100 according to an embodiment of the present disclosure may be a hardware device or part of a hardware device that performs comprehensive processing and calculation of data, or may be a software-based computing environment connected to a communication network. For example, the computing device 100 may be a server that performs intensive data processing functions and shares resources, or it may be a client that shares resources through interaction with the server. Additionally, the computing device 100 may be a cloud system in which a plurality of servers and clients interact to comprehensively process data. Since the above description is only an example related to the type of computing device 100, the type of computing device 100 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 및 네트워크부(network unit)(130)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.Referring to FIG. 1, a computing device 100 according to an embodiment of the present disclosure may include a processor 110, a memory 120, and a network unit 130. there is. However, since FIG. 1 is only an example, the computing device 100 may include other components for implementing a computing environment. Additionally, only some of the configurations disclosed above may be included in computing device 100.

본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 컴퓨터 프로그램을 판독하여 기계 학습을 위한 데이터 처리를 수행할 수 있다. 프로세서(110)는 기계 학습을 위한 입력 데이터의 처리, 기계 학습을 위한 특징 추출, 역전파(backpropagation)에 기반한 오차 계산 등과 같은 연산 과정을 처리할 수 있다. 이와 같은 데이터 처리를 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The processor 110 according to an embodiment of the present disclosure may be understood as a structural unit including hardware and/or software for performing computing operations. For example, the processor 110 may read a computer program and perform data processing for machine learning. The processor 110 may process computational processes such as processing input data for machine learning, extracting features for machine learning, and calculating errors based on backpropagation. The processor 110 for performing such data processing includes a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), and a custom processing unit (TPU). It may include a semiconductor (ASIC: application specific integrated circuit), or a field programmable gate array (FPGA: field programmable gate array). Since the type of processor 110 described above is only an example, the type of processor 110 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

프로세서(110)는 데이터의 해상도 향상을 위한 신경망 모델을 학습시킬 수 있다. 프로세서(110)는 다양한 획득 행렬 크기를 갖는 복수의 학습 데이터를 기초로 신경망 모델이 입력의 획득 행렬 크기를 개선시키도록, 신경망 모델을 학습시킬 수 있다. 이때, 신경망 모델은 입력과 대비하여 획득 행렬 크기가 증가되고 일정한 이미지 크기를 갖는 출력을 생성하는 신경망을 포함할 수 있다. 그리고, 신경망이 생성하는 출력의 이미지 크기는 다양한 획득 행렬 크기를 갖는 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 특정 라벨의 획득 행렬 크기 이상일 수 있다. 즉, 프로세서(110)는 다양한 획득 행렬 크기를 갖는 복수의 학습 데이터 중 획득 행렬 크기가 최대값인 데이터에 가까운 이미지를 출력하도록 신경망 모델을 학습시킬 수 있다. 예를 들어, 프로세서(110)는 후술할 네트워크부(130)를 통해 확보된 학습 데이터에서 입력에 해당하는 데이터를 신경망 모델에 입력하여 학습 데이터의 라벨의 획득 행렬 크기를 기준으로 결정된 일정한 이미지 크기의 출력을 생성할 수 있다. 프로세서(110)는 신경망 모델의 입력에 대응되는 라벨과 신경망 모델의 입력을 기초로 생성된 출력 간의 획득 행렬 크기를 비교할 수 있다. 프로세서(110)는 비교 결과를 토대로 신경망 모델에 포함된 신경망의 파라미터를 업데이트함으로써, 신경망 모델이 입력과 대비하여 획득 행렬 크기가 증가된 데이터를 출력하도록 신경망 모델을 학습시킬 수 있다.The processor 110 can learn a neural network model to improve the resolution of data. The processor 110 may train the neural network model to improve the size of the acquisition matrix of the input based on a plurality of learning data having various acquisition matrix sizes. At this time, the neural network model may include a neural network that generates an output whose acquisition matrix size is increased compared to the input and has a constant image size. Additionally, the image size of the output generated by the neural network may be larger than or equal to the acquisition matrix size of a specific label whose acquisition matrix size is the maximum among labels included in a plurality of learning data having various acquisition matrix sizes. That is, the processor 110 may train the neural network model to output an image close to data whose acquisition matrix size is the maximum among a plurality of training data having various acquisition matrix sizes. For example, the processor 110 inputs data corresponding to the input from the training data obtained through the network unit 130, which will be described later, into a neural network model to create a constant image size determined based on the size of the acquisition matrix of the label of the training data. Can produce output. The processor 110 may compare the size of the acquisition matrix between the label corresponding to the input of the neural network model and the output generated based on the input of the neural network model. The processor 110 may train the neural network model to output data with an increased acquisition matrix size compared to the input by updating the parameters of the neural network included in the neural network model based on the comparison result.

프로세서(110)는 신경망 모델의 학습 과정에서 신경망 모델의 출력의 이미지 크기를 조절할 수 있다. 예를 들어, 프로세서(110)는 신경망 모델의 출력의 이미지 크기를 출력을 생성하기 위해 사용된 입력에 대응되는 라벨의 획득 행렬 크기에 맞춰 조절할 수 있다. 신경망 모델의 출력의 이미지 크기는 일정한 반면, 라벨은 이미지 크기가 획득 행렬 크기에 맞춰 다양하게 구성될 수 있다. 따라서, 신경망 모델의 출력과 라벨 간 획득 행렬 크기의 비교가 쉽고 정확하게 이루어질 수 있도록 하기 위해, 프로세서(110)는 라벨의 획득 행렬 크기의 최대값을 기준으로 결정된 출력의 이미지 크기를, 출력과 비교할 라벨의 획득 행렬 크기에 맞춰 축소할 수 있다.The processor 110 may adjust the image size of the output of the neural network model during the learning process of the neural network model. For example, the processor 110 may adjust the image size of the output of the neural network model to match the size of the acquisition matrix of the label corresponding to the input used to generate the output. While the image size of the output of the neural network model is constant, the image size of the label can be configured in various ways to match the size of the acquisition matrix. Therefore, in order to easily and accurately compare the acquisition matrix size between the output of the neural network model and the label, the processor 110 sets the image size of the output determined based on the maximum value of the acquisition matrix size of the label to the label to be compared with the output. It can be reduced to fit the size of the acquisition matrix.

프로세서(110)는 신경망 모델의 학습 과정에서 학습 데이터의 이미지 크기를 조절할 수 있다. 예를 들어, 프로세서(110)는 복수의 학습 데이터에 포함된 라벨들 중 이미지 크기가 획득 행렬 크기보다 큰 라벨의 이미지 크기를 조절할 수 있다. 프로세서(110)는 이미지 크기가 획득 행렬 크기보다 큰 라벨의 이미지 크기를 획득 행렬 크기에 대응되도록 축소할 수 있다. 이미지 크기가 획득 행렬 크기보다 크다면, 이미지 크기를 축소하더라도 이미지를 표현하는 정보량은 동일할 수 밖에 없다. 따라서, 신경망 모델의 출력과 라벨 간 획득 행렬 크기의 비교가 쉽고 정확하게 이루어질 수 있도록 하기 위해, 프로세서(110)는 라벨의 이미지 크기를 라벨의 획득 행렬 크기에 맞춰 조절할 수 있다.The processor 110 may adjust the image size of the learning data during the learning process of the neural network model. For example, the processor 110 may adjust the image size of a label whose image size is larger than the acquisition matrix size among labels included in a plurality of learning data. The processor 110 may reduce the image size of a label whose image size is larger than the acquisition matrix size to correspond to the acquisition matrix size. If the image size is larger than the acquisition matrix size, the amount of information representing the image is bound to be the same even if the image size is reduced. Therefore, in order to easily and accurately compare the size of the acquisition matrix between the output of the neural network model and the label, the processor 110 may adjust the image size of the label to match the size of the acquisition matrix of the label.

프로세서(110)는 상술한 바에 따라 사전 학습된 신경망 모델을 사용하여, 저해상도 데이터를 사용자가 원하는 수준의 고해상도 데이터로 변환할 수 있다. 프로세서(110)는 사전 학습된 신경망 모델을 통해 저해상도 데이터의 획득 행렬 크기를 개선함으로써, 저해상도 데이터 대비 해상도가 향상된 데이터를 생성할 수 있다. 예를 들어, 프로세서(110)는 의료 영상을 신경망 모델에 입력하여 병원에서 요구하는 품질 수준에 맞춰 의료 영상의 해상도를 개선시킬 수 있다. 이때, 신경망 모델은 학습 데이터에 존재하는 다양한 획득 행렬 크기 중 최대값에 가까운 데이터를 출력하도록 학습되므로, 프로세서(110)는 신경망 모델이 학습한 최대값에 맞춰 해상도가 개선된 영상을 생성할 수 있다.The processor 110 can convert low-resolution data into high-resolution data at a level desired by the user using a pre-trained neural network model as described above. The processor 110 can generate data with improved resolution compared to low-resolution data by improving the size of the acquisition matrix of low-resolution data through a pre-trained neural network model. For example, the processor 110 may input medical images into a neural network model to improve the resolution of the medical images to meet the quality level required by the hospital. At this time, the neural network model is trained to output data close to the maximum value among the various acquisition matrix sizes present in the training data, so the processor 110 can generate an image with improved resolution according to the maximum value learned by the neural network model. .

본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 또는 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The memory 120 according to an embodiment of the present disclosure may be understood as a structural unit including hardware and/or software for storing and managing data processed in the computing device 100. That is, the memory 120 can store any type of data generated or determined by the processor 110 and any type of data received by the network unit 130. For example, the memory 120 may be a flash memory type, hard disk type, multimedia card micro type, card type memory, or random access memory (RAM). ), SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory , a magnetic disk, or an optical disk may include at least one type of storage medium. Additionally, the memory 120 may include a database system that controls and manages data in a predetermined system. Since the type of memory 120 described above is only an example, the type of memory 120 may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 획득된 학습 데이터를 저장할 수 있다. 메모리(120)는 신경망 모델이 학습 데이터를 기초로 학습하도록 동작시키는 프로그램 코드, 신경망 모델이 데이터에 대한 특징 해석(혹은 추론)을 수행하도록 동작시키는 프로그램 코드 및 프로그램 코드가 실행됨에 따라 산출된 각종 데이터 등을 저장할 수 있다.The memory 120 can manage data necessary for the processor 110 to perform operations, a combination of data, and program code executable on the processor 110 by structuring and organizing them. For example, the memory 120 may store learning data obtained through the network unit 130, which will be described later. The memory 120 includes program code that operates the neural network model to learn based on learning data, program code that operates the neural network model to perform feature analysis (or inference) on the data, and various data calculated as the program code is executed. etc. can be saved.

본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.The network unit 130 according to an embodiment of the present disclosure may be understood as a structural unit that transmits and receives data through any type of known wired or wireless communication system. For example, the network unit 130 is a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), and WiBro (wireless). broadband internet, 5th generation mobile communication (5G), ultra wide-band wireless communication, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity ), data transmission and reception can be performed using a wired or wireless communication system such as near field communication (NFC), or Bluetooth. Since the above-described communication systems are only examples, the wired and wireless communication systems for data transmission and reception of the network unit 130 may be applied in various ways other than the above-described examples.

네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 의료 영상 저장 전송 시스템 등과 통신을 통해, 신체 부위를 촬영한 의료 영상을 수신할 수 있다. 네트워크부(130)는 전술한 시스템 등과 통신을 통해, 프로세서(110)의 연산을 통해 생성된 각종 데이터를 송신할 수 있다.The network unit 130 may receive data necessary for the processor 110 to perform calculations through wired or wireless communication with any system or client. Additionally, the network unit 130 may transmit data generated through the calculation of the processor 110 through wired or wireless communication with any system or any client. For example, the network unit 130 may receive medical images of body parts through communication with a medical image storage and transmission system. The network unit 130 may transmit various data generated through calculations of the processor 110 through communication with the above-described system, etc.

도 2는 본 개시의 일 실시예에 따른 신경망 모델의 학습 과정을 나타낸 블록도이다.Figure 2 is a block diagram showing the learning process of a neural network model according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따른 컴퓨팅 장치(100)의 프로세서(110)는 다양한 획득 행렬 크기를 갖는 이미지들을 해상도 향상을 위한 신경망 모델의 학습 데이터로 사용할 수 있다. 이때, 학습 데이터로 사용되는 이미지들은 신경망 모델의 입력 혹은 라벨로 구별될 수 있다. 그리고, 학습 데이터로 사용되는 이미지의 획득 행렬 크기는 이미지 크기와 동일하거나 작을 수 있다. 획득 행렬 크기가 이미지 크기보다 작은 경우, 신경망 모델의 원활한 학습을 위해서, 프로세서(110)는 학습 데이터로 사용되는 이미지의 이미지 크기를 획득 행렬 크기에 맞춰 축소할 수 있다.The processor 110 of the computing device 100 according to an embodiment of the present disclosure may use images having various acquisition matrix sizes as training data for a neural network model to improve resolution. At this time, images used as learning data can be distinguished as inputs or labels of a neural network model. Additionally, the size of the acquisition matrix of the image used as learning data may be the same as or smaller than the image size. When the acquisition matrix size is smaller than the image size, for smooth learning of the neural network model, the processor 110 may reduce the image size of the image used as training data to match the acquisition matrix size.

예를 들어, 도 2를 참조하면, 프로세서(110)는 서로 다른 획득 행렬 크기를 갖는 이미지들을 신경망 모델(200)의 입력 세트(10) 혹은 라벨 세트(20)로 구별하여 사용할 수 있다. 신경망 모델(200)의 학습을 위해, 프로세서(110)는 입력 A(11)를 신경망 모델(200)로 입력할 수 있다. 그리고, 프로세서(110)는 입력 A(11)를 수신한 신경망 모델(200)의 출력을 검증하기 위해 입력 A(11)에 매칭되는 라벨 A(21)를 사용할 수 있다.For example, referring to FIG. 2 , the processor 110 may distinguish and use images having different acquisition matrix sizes as the input set 10 or the label set 20 of the neural network model 200. To learn the neural network model 200, the processor 110 may input input A 11 to the neural network model 200. Additionally, the processor 110 may use the label A (21) matching the input A (11) to verify the output of the neural network model 200 that receives the input A (11).

한편, 신경망 모델(200)은 신경망 모델의 입력으로 사용될 이미지를 수신하여, 일정한 이미지 크기를 갖는 출력을 생성하는 신경망을 포함할 수 있다. 이때, 일정한 이미지 크기는 라벨로 사용될 이미지들 중 획득 행렬 크기가 최대값인 이미지의 획득 행렬 크기 이상일 수 있다. 즉, 신경망 모델(200)은 라벨로 사용될 이미지들을 기준으로 최대 획득 행렬 크기 이상인 이미지 크기를 갖는 출력을 생성하는 신경망을 포함할 수 있다. 신경망 모델(200)은 이러한 신경망을 통해 어떠한 획득 행렬 크기를 갖는 학습 데이터가 입력되더라도 출력이 획득 행렬 크기의 최대값을 표현할 수 있도록 학습될 수 있다.Meanwhile, the neural network model 200 may include a neural network that receives an image to be used as an input to the neural network model and generates an output with a constant image size. At this time, the constant image size may be larger than or equal to the acquisition matrix size of the image with the maximum acquisition matrix size among the images to be used as labels. That is, the neural network model 200 may include a neural network that generates an output with an image size that is greater than or equal to the maximum acquisition matrix size based on images to be used as labels. The neural network model 200 can be trained so that the output can express the maximum value of the acquisition matrix size no matter what size the acquisition matrix is input through this neural network.

예를 들어, 도 2에서 라벨 세트(20) 중 획득 행렬 크기가 최대인 라벨을 라벨 B(22), 라벨 B(22)의 획득 행렬 크기를 R이라고 가정하자. 이때, R은 이미지의 너비(x) 축 방향의 최대값, 높이(y) 축 방향의 최대값, 및/또는 깊이(z) 축 방향의 최대값일 수 있다. 신경망 모델(200)에 포함된 신경망은 어떠한 입력을 획득하더라도 출력의 이미지 크기가 C라는 일정한 값을 갖는 출력을 생성할 수 있다. 이때, C는 R 이상인 값일 수 있다. 즉, 신경망 모델(200)은 입력 A(11)가 입력되든지 혹은 입력 B(12)가 입력되든지 관계없이 라벨 B(22)의 획득 행렬 크기 R 이상인 C라는 일정한 값의 이미지 크기를 갖는 출력을 생성할 수 있다.For example, in FIG. 2, let us assume that among the label set 20, the label with the largest acquisition matrix size is label B(22), and the acquisition matrix size of label B(22) is R. At this time, R may be the maximum value in the width (x) axis direction, the maximum value in the height (y) axis direction, and/or the maximum value in the depth (z) axis direction of the image. The neural network included in the neural network model 200 can generate an output whose image size has a constant value of C no matter what input it obtains. At this time, C may be a value greater than or equal to R. In other words, the neural network model 200 generates an output with an image size of a constant value of C, which is greater than or equal to the acquisition matrix size R of label B (22), regardless of whether input A (11) or input B (12) is input. can do.

프로세서(110)는 학습 데이터 중 신경망 모델의 입력으로 사용될 이미지를 신경망 모델로 입력하여 입력과 대비하여 획득 행렬 크기가 증가된 출력을 생성할 수 있다. 이때, 신경망 모델로부터 생성된 출력은 라벨들의 획득 행렬 크기 중 최대값 이상인 이미지 크기를 가질 수 있다. 신경망 모델의 학습을 위해서, 프로세서(110)는 출력과 비교할 라벨의 획득 행렬 크기에 맞춰 출력의 이미지 크기를 조절할 수 있다. 그리고, 프로세서(110)는 손실 함수를 통해 이미지 크기가 조절된 출력과 라벨 간의 오차를 연산하고, 연산된 오차를 기반으로 신경망 모델을 학습시킬 수 있다.The processor 110 may input an image to be used as an input to the neural network model among the training data into the neural network model and generate an output with an increased acquisition matrix size compared to the input. At this time, the output generated from the neural network model may have an image size that is greater than or equal to the maximum value among the acquisition matrix sizes of labels. To learn a neural network model, the processor 110 may adjust the image size of the output to match the size of the acquisition matrix of the label to be compared with the output. Additionally, the processor 110 may calculate the error between the output with the image size adjusted and the label through a loss function, and train a neural network model based on the calculated error.

예를 들어, 도 2와 같이 학습 데이터 중에서 입력 A(11) 및 획득 행렬 크기가 r1인 라벨 A(21)를 사용하여 신경망 모델(200)의 학습을 진행한다고 가정하자. 프로세서(110)는 입력 A(11)를 신경망 모델(200)로 입력하여 이미지 크기가 C인 출력 A(31)를 생성할 수 있다. 프로세서(110)는 신경망 모델(200)을 사용하여 생성된 출력 A(31)의 이미지 크기를 라벨 A(21)의 획득 행렬 크기인 r1으로 축소하기 위해 출력 A(31)에 대한 보간(interpolation)을 수행할 수 있다. 프로세서(110)는 제 1 손실 함수를 사용하여, 출력 A(31)에 대한 축소 보간을 통해 생성된 출력 A'(32)와 라벨 A(21) 간 오차를 연산할 수 있다. 이때, 제 1 손실 함수는 이미지 크기가 r1인 출력 A'(32)의 획득 행렬 크기와 획득 행렬 크기가 r1인 라벨 A(21)의 획득 행렬 크기를 기초로, 출력 A'(32)와 라벨 A(21) 간의 유사도를 연산하는 손실 함수일 수 있다. 제 1 손실 함수로는 SSIM(structural similarity) 손실 함수, (MSE mean squared error) 손실 함수 등이 사용될 수 있으나, 본 개시는 이러한 예시에 제한되지 않는다. 프로세서(110)는 제 1 손실 함수를 통해 도출된 유사도 연산 결과를 토대로 신경망 모델(200)이 C라는 일정한 이미지 크기를 가지면서 최대 행렬 획득 크기 R을 갖는 이미지를 생성하도록, 신경망 모델(200)을 학습시킬 수 있다.For example, as shown in FIG. 2, assume that the neural network model 200 is trained using input A(11) and label A(21) with an acquisition matrix size r1 among the training data. The processor 110 may input input A 11 into the neural network model 200 and generate output A 31 with an image size C. The processor 110 performs interpolation on output A (31) to reduce the image size of output A (31) generated using the neural network model 200 to r1, which is the acquisition matrix size of label A (21). can be performed. The processor 110 may use the first loss function to calculate an error between the output A' (32) and the label A (21) generated through reduced interpolation for the output A (31). At this time, the first loss function is based on the acquisition matrix size of output A' (32) with an image size of r1 and the acquisition matrix size of label A (21) with an acquisition matrix size of r1, output A' (32) and label It may be a loss function that calculates the similarity between A(21). As the first loss function, a structural similarity (SSIM) loss function, (MSE mean squared error) loss function, etc. may be used, but the present disclosure is not limited to these examples. The processor 110 configures the neural network model 200 so that the neural network model 200 generates an image with a maximum matrix acquisition size R while having a constant image size C based on the similarity calculation result derived through the first loss function. It can be learned.

상술한 과정을 입력 B(12) 등에 대해서도 반복 수행함으로써, 다양한 획득 행렬 크기를 갖는 이미지를 가지고도 신경망 모델(200)을 안정적으로 학습시킬 수 있다. 보다 구체적으로 살펴보면, 신경망 모델(200)의 학습에 사용될 이미지는 다음과 같은 획득 행렬 크기를 갖는 것으로 가정하자. By repeatedly performing the above-described process for input B 12, etc., the neural network model 200 can be stably trained even with images having various acquisition matrix sizes. In more detail, let us assume that the image to be used for learning the neural network model 200 has the following acquisition matrix size.

- 입력 A(11): 320x320 / 라벨 A(21): 400X400- Input A(11): 320x320 / Label A(21): 400X400

- 입력 B(12): 320x320 / 라벨 B(22): 512x512- Input B(12): 320x320 / Label B(22): 512x512

이때, 각 이미지의 획득 행렬 크기와 이미지 크기가 동일한 것으로 가정한다. 그리고, 라벨 B(22)의 획득 행렬 크기는 최대값인 512x512를 가지므로, 신경망 모델(200)은 640x640인 이미지를 입력받아 이미지 크기가 512x512보다 큰 640x640인 이미지를 출력하는 신경망을 포함한다고 가정한다.At this time, it is assumed that the acquisition matrix size and image size of each image are the same. And, since the acquisition matrix size of label B (22) has the maximum value of 512x512, it is assumed that the neural network model 200 includes a neural network that receives an image of 640x640 and outputs an image of 640x640, which is larger than 512x512. .

이러한 가정에 따르면, 프로세서(110)는 입력 A(11)를 신경망 모델(200)로 입력하여 640x640의 이미지 크기를 갖는 출력 A(31)를 생성할 수 있다. 이때, 입력 A(11)를 신경망 모델(200)로 입력시키기 위해서, 프로세서(110)는 입력 A(11)의 이미지 크기를 보간을 통해 320x320에서 640x640으로 확대할 수 있다. 프로세서(110)는 보간을 통해 출력 A(31)의 이미지 사이즈를 라벨 A(21)의 획득 행렬 크기인 400x400으로 축소하여, 출력 A'(32)를 생성할 수 있다. 프로세서(110)는 이미지 사이즈가 400x400인 출력 A'(32)와 획득 행렬 크기가 400x400인 라벨 A(21)를 기반으로 손실 값을 계산함으로써, 신경망 모델을 학습시킬 수 있다.According to this assumption, the processor 110 can input input A 11 into the neural network model 200 and generate output A 31 having an image size of 640x640. At this time, in order to input input A (11) into the neural network model 200, the processor 110 may enlarge the image size of input A (11) from 320x320 to 640x640 through interpolation. The processor 110 may generate output A' (32) by reducing the image size of output A (31) to 400x400, which is the size of the acquisition matrix of label A (21), through interpolation. The processor 110 can learn a neural network model by calculating a loss value based on output A' (32) with an image size of 400x400 and label A (21) with an acquisition matrix size of 400x400.

입력 A(11)에 대한 학습 이후, 프로세서(110)는 입력 B(12)를 신경망 모델(200)로 입력하여 640x640의 이미지 크기를 갖는 출력 B를 생성할 수 있다. 이때, 입력 B(12)를 신경망 모델(200)로 입력시키기 위해서, 프로세서(110)는 입력 B(12)의 이미지 크기를 보간을 통해 320x320에서 640x640으로 확대할 수 있다. 프로세서(110)는 보간을 통해 출력 B의 이미지 사이즈를 라벨 B(22)의 획득 행렬 크기인 512x512로 축소하여, 출력 B'를 생성할 수 있다. 프로세서(110)는 이미지 사이즈가 512x512인 출력 B'와 획득 행렬 크기가 512x512인 라벨 B(22)를 기반으로 손실 값을 계산하고, 손실 값이 최소가 되도록 신경망 모델을 학습시킬 수 있다.After learning about input A (11), the processor 110 may input input B (12) into the neural network model 200 to generate output B with an image size of 640x640. At this time, in order to input input B (12) into the neural network model 200, the processor 110 may enlarge the image size of input B (12) from 320x320 to 640x640 through interpolation. The processor 110 may generate output B' by reducing the image size of output B to 512x512, which is the size of the acquisition matrix of label B 22, through interpolation. The processor 110 may calculate a loss value based on output B' with an image size of 512x512 and label B(22) with an acquisition matrix size of 512x512, and train a neural network model to minimize the loss value.

상술한 바와 같이 라벨의 최대 획득 행렬 크기에 맞춰 이미지 크기가 일정한 출력을 생성하고, 출력의 이미지 크기를 조절하여 출력에 대응되는 라벨과 획득 행렬 크기를 비교하는 학습이 수행되면, 신경망 모델(200)이 라벨 A(21)와 라벨 B(22)를 모두 적절히 예측할 수 있도록 학습이 수행될 수 있다. 즉, 상술한 바와 같이 학습이 수행되면, 640x640의 이미지 크기를 갖는 출력의 획득 행렬 크기는 512x512 이상이 되도록 신경망 모델(200)이 학습되므로, 신경망 모델(200)이 학습 데이터에 포함된 어떠한 라벨도 예측할 수 있다. 상술한 바와 같이 학습이 수행되지 못하는 경우, 신경망 모델(200)은 라벨 A(21)의 획득 행렬 크기인 400x400과 라벨 B(22)의 획득 행렬 크기인 512x512 사이인 획득 행렬 크기를 갖는 출력을 생성하거나, 아티팩트를 포함하는 출력을 생성할 수 밖에 없다. 다시 말해, 상술한 바와 같이 학습이 수행되지 못하는 경우, 신경망 모델(200)은 획득 행렬 크기가 400x400인 라벨 A(21)는 예측할 수 있지만, 획득 행렬 크기가 512x512인 라벨 B(22)는 예측할 수 없다.As described above, when an output with a constant image size is generated according to the maximum acquisition matrix size of the label and learning is performed to adjust the image size of the output to compare the label corresponding to the output and the acquisition matrix size, the neural network model 200 Learning can be performed so that both label A (21) and label B (22) can be appropriately predicted. That is, when learning is performed as described above, the neural network model 200 is trained so that the acquisition matrix size of the output with an image size of 640x640 is 512x512 or more, so that the neural network model 200 does not use any labels included in the training data. It is predictable. If learning is not performed as described above, the neural network model 200 generates an output with an acquisition matrix size between 400x400, which is the acquisition matrix size of label A (21), and 512x512, which is the acquisition matrix size of label B (22). Otherwise, it has no choice but to produce output containing artifacts. In other words, if learning is not performed as described above, the neural network model 200 can predict label A (21) with an acquisition matrix size of 400x400, but cannot predict label B (22) with an acquisition matrix size of 512x512. does not exist.

한편, 라벨 A(21) 혹은 라벨 B(22)의 이미지 크기가 획득 행렬 크기보다 크다면, 프로세서(110)는 라벨 A(21) 혹은 라벨 B(22)의 이미지 크기를 획득 행렬 크기만큼 축소할 수 있다. 이미지의 정보를 모두 포함할 수 있는 최소 크기이므로, 이미지 크기를 획득 행렬 크기만큼 축소하더라도 라벨에 포함된 정보량은 동일하다. 따라서, 신경망 모델이 불필요하게 중복되는 정보를 배제하고 효율적으로 학습을 수행할 수 있도록, 프로세서(110)는 라벨 A(21) 혹은 라벨 B(22)의 이미지 크기를 획득 행렬 크기만큼 축소할 수 있다.Meanwhile, if the image size of label A (21) or label B (22) is larger than the acquisition matrix size, the processor 110 reduces the image size of label A (21) or label B (22) by the acquisition matrix size. You can. Since it is the minimum size that can contain all the information of the image, the amount of information included in the label remains the same even if the image size is reduced by the size of the acquisition matrix. Therefore, so that the neural network model can exclude unnecessary redundant information and perform learning efficiently, the processor 110 can reduce the image size of label A (21) or label B (22) by the size of the acquisition matrix. .

대안적으로, 신경망 모델의 학습을 위해서, 프로세서(110)는 출력과 비교할 라벨의 획득 행렬 크기에 맞춰, 출력의 이미지 크기를 조절할 수 있다. 그리고, 프로세서(110)는 출력 원본의 이미지 크기에 맞춰, 출력과 비교할 라벨의 이미지 크기를 조절할 수도 있다. 프로세서(110)는 손실 함수를 통해 이미지 크기가 조절된 출력과 라벨 간의 오차와 함께 이미지 크기가 조절된 라벨과 출력 원본 간의 오차를 연산하고, 연산된 오차들을 기반으로 신경망 모델을 학습시킬 수 있다.Alternatively, for training of a neural network model, the processor 110 may adjust the image size of the output to match the size of the acquisition matrix of the labels to be compared with the output. Additionally, the processor 110 may adjust the image size of the label to be compared with the output according to the image size of the output source. The processor 110 can calculate the error between the image resized output and the label as well as the error between the image resized label and the output source through a loss function, and learn a neural network model based on the calculated errors.

예를 들어, 도 2와 같이 학습 데이터 중에서 입력 A(11) 및 획득 행렬 크기가 r1인 라벨 A(21)를 사용하여 신경망 모델(200)의 학습을 진행한다고 가정하자. 프로세서(110)는 입력 A(11)를 신경망 모델(200)로 입력하여 이미지 크기가 C인 출력 A(31)를 생성할 수 있다. 프로세서(110)는 신경망 모델(200)을 사용하여 생성된 출력 A(31)의 이미지 크기를 라벨 A(21)의 획득 행렬 크기인 r1으로 축소하기 위해 출력 A(31)에 대한 보간(interpolation)을 수행할 수 있다. 그리고, 프로세서(110)는 라벨 A(21)의 이미지 크기를 출력(31)의 이미지 크기인 C로 확대하기 위해 라벨 A(21)에 대한 보간을 수행할 수 있다. 프로세서(110)는 제 1 손실 함수를 사용하여, 출력 A(31)에 대한 축소 보간을 통해 생성된 출력 A'(32)와 라벨 A(21) 간 오차를 연산할 수 있다. 그리고, 프로세서(110)는 제 2 손실 함수를 사용하여, 라벨 A(21)에 대한 확대 보간을 통해 생성된 라벨 A'(40)과 출력 A(31) 간의 오차를 연산할 수 있다. 이때, 제 2 손실 함수는 이미지 크기가 C인 출력 A(31)의 획득 행렬 크기와 획득 행렬 크기가 r1이고 이미지 크기가 C인 라벨 A'(40)의 획득 행렬 크기를 기초로, 출력 A(31)와 라벨 A'(40) 간의 유사도를 연산하는 손실 함수일 수 있다. 제 2 손실 함수로는 SSIM(structural similarity) 손실 함수, (MSE mean squared error) 손실 함수 등이 사용될 수 있으나, 본 개시는 이러한 예시에 제한되지 않는다. 프로세서(110)는 제 1 손실 함수를 통해 도출된 유사도 연산 결과와 제 2 손실 함수를 통해 도출된 유사도 연산 결과를 토대로 신경망 모델(200)이 C라는 일정한 이미지 크기를 가지면서 최대 행렬 획득 크기 R을 갖는 이미지를 생성하도록, 신경망 모델(200)을 학습시킬 수 있다.For example, as shown in FIG. 2, assume that the neural network model 200 is trained using input A(11) and label A(21) with an acquisition matrix size r1 among the training data. The processor 110 may input input A 11 into the neural network model 200 and generate output A 31 with an image size C. The processor 110 performs interpolation on output A (31) to reduce the image size of output A (31) generated using the neural network model 200 to r1, which is the acquisition matrix size of label A (21). can be performed. Additionally, the processor 110 may perform interpolation on label A (21) to enlarge the image size of label A (21) to C, which is the image size of the output (31). The processor 110 may use the first loss function to calculate an error between the output A' (32) and the label A (21) generated through reduced interpolation for the output A (31). Additionally, the processor 110 may use the second loss function to calculate the error between label A' (40) generated through expanded interpolation for label A (21) and output A (31). At this time, the second loss function is output A ( It may be a loss function that calculates the similarity between 31) and label A'(40). As the second loss function, a structural similarity (SSIM) loss function, (MSE mean squared error) loss function, etc. may be used, but the present disclosure is not limited to these examples. The processor 110 determines that the neural network model 200 has a constant image size C and a maximum matrix acquisition size R based on the similarity calculation result derived through the first loss function and the similarity calculation result derived through the second loss function. The neural network model 200 can be trained to generate an image with

보다 구체적으로 살펴보면, 프로세서(110)는 제 1 손실 함수와 제 2 손실 함수의 가중합으로 표현되는 손실 함수를 이용하여 신경망 모델(200)을 학습시킬 수 있다. 이때, 제 1 손실 함수는 640x640의 이미지 크기를 갖는 출력 A(31)를 라벨 A(21)의 획득 행렬 크기인 400X400으로 축소 보간하여 생성된 출력 A'(32)와 라벨 A(21) 간의 획득 행렬 크기를 기초로, 출력 A'(32)와 라벨 A(21) 간의 유사도를 연산하기 위한 손실 함수일 수 있다. 그리고, 제 2 손실 함수는 640x640의 이미지 크기를 갖는 출력 A(31)와 라벨 A(21)의 이미지 크기를 출력 A(31)의 이미지 크기인 640x640으로 확대 보간하여 생성된 라벨 A'(40) 간의 획득 행렬 크기를 기초로, 출력 A(31)와 라벨 A'(40) 간의 유사도를 연산하기 위한 손실 함수일 수 있다. 따라서, 제 1 손실 함수와 제 2 손실 함수의 가중합으로 표현되는 손실 함수는 다음과 같은 [수학식 1]과 같이 나타낼 수 있다.In more detail, the processor 110 may train the neural network model 200 using a loss function expressed as a weighted sum of the first loss function and the second loss function. At this time, the first loss function is the acquisition between output A'(32) and label A(21), which is generated by reducing and interpolating output A(31), which has an image size of 640x640, to 400X400, which is the acquisition matrix size of label A(21). Based on the matrix size, it may be a loss function for calculating the similarity between output A' (32) and label A (21). And, the second loss function is output A (31), which has an image size of 640x640, and label A' (40), which is generated by enlarging and interpolating the image size of label A (21) to 640x640, which is the image size of output A (31). It may be a loss function for calculating the similarity between output A (31) and label A' (40) based on the size of the acquisition matrix between them. Therefore, the loss function expressed as the weighted sum of the first loss function and the second loss function can be expressed as follows [Equation 1].

[수학식 1][Equation 1]

LL totaltotal = L = L 1One (출력 A'(32), 라벨 A(21)) + α*L(output A'(32), label A(21)) + α*L 22 (출력 A(31), 라벨 A'(40))(output A(31), label A'(40))

이때, L1은 제 1 손실 함수, L2는 제 2 손실 함수를 나타낸다. 그리고, 가중치 α는 제 2 손실 함수 L2에 적용되어 전체 손실 함수에서 제 2 손실 함수 L2의 비율을 조절할 수 있다. 이와 같이 제 1 손실 함수 L1에 더해 가중치 α로 비중을 조절 가능한 제 2 손실 함수 L2를 추가적으로 고려함으로써, 프로세서(110)는 신경망 모델(200)이 출력에 발생할 수 있는 아티팩트를 최소화 하도록 신경망 모델(200)을 학습시킬 수 있다. 즉, 프로세서(110)는 제 2 손실 함수를 추가적으로 손실 값 계산에 반영함으로써, 신경망 모델(200)을 보다 효과적으로 학습시킬 수 있다.At this time, L 1 represents the first loss function and L 2 represents the second loss function. And, the weight α can be applied to the second loss function L 2 to adjust the ratio of the second loss function L 2 to the overall loss function. In this way, by additionally considering the second loss function L 2 , the proportion of which can be adjusted with the weight α, in addition to the first loss function L 1 , the processor 110 configures the neural network model 200 to minimize artifacts that may occur in the output. (200) can be learned. That is, the processor 110 can learn the neural network model 200 more effectively by additionally reflecting the second loss function in the loss value calculation.

도 3은 본 개시의 일 실시예에 따른 해상도 향상 방법을 나타낸 순서도이다. 그리고, 도 4는 본 개시의 일 실시예에 따른 신경망 모델의 학습 과정을 나타낸 순서도이다.Figure 3 is a flow chart showing a resolution improvement method according to an embodiment of the present disclosure. And, Figure 4 is a flowchart showing the learning process of a neural network model according to an embodiment of the present disclosure.

도 3을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득할 수 있다(S110). 여기서, 학습 데이터의 획득은 외부 단말, 장치 혹은 시스템과의 무선 통신 네트워크를 통해 학습 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 학습 데이터를 생성 혹은 수신하는 것을 지칭하는 것으로 이해될 수 있다. 예를 들어, 컴퓨팅 장치(100)는 영상 촬영 장치와의 클라우드 통신을 통해 영상 촬영 장치에서 생성된 이미지를 학습 데이터로서 수신할 수 있다. 컴퓨팅 장치(100)는 영상 촬영 장치에 탑재되어 촬영 이미지를 학습 데이터로서 직접 수집할 수도 있다. 현실적으로 영상 촬영 장치의 촬영 조건, 촬영 환경, 사용자의 선호도 등에 따라 획득 행렬 크기가 균일하게 분포된 이미지를 학습 데이터로 획득하는 것은 힘들기 때문에, 컴퓨팅 장치(100)는 다양한 획득 행렬 크기를 갖는 이미지들을 학습 데이터로 획득할 수 있다.Referring to FIG. 3, the computing device 100 according to an embodiment of the present disclosure may acquire a plurality of learning data having a plurality of acquisition matrix sizes (S110). Here, acquisition of learning data refers not only to receiving learning data through a wireless communication network with an external terminal, device, or system, but also to generating or receiving learning data in an on-device form. It can be understood. For example, the computing device 100 may receive an image generated by an image capture device as learning data through cloud communication with the image capture device. The computing device 100 may be mounted on an image capture device and directly collect captured images as learning data. In reality, it is difficult to acquire images with uniformly distributed acquisition matrix sizes as learning data depending on the shooting conditions of the video capture device, the shooting environment, the user's preference, etc., so the computing device 100 collects images with various acquisition matrix sizes. It can be obtained as learning data.

컴퓨팅 장치(100)는 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시킬 수 있다(S120). 즉, N개(N은 자연수)의 라벨들이 확보된 상태라고 가정하면, 신경망 모델의 출력의 이미지 크기는 N개의 라벨들 중 획득 행렬 크기가 가장 큰 제 1 라벨의 획득 행렬 크기보다 클 수 있다. 예를 들어, 제 1 라벨의 획득 행렬 크기가 128x128이라고 하면, 신경망 모델의 출력은 128x128 이상인 256x256, 512x512 등과 같은 이미지 크기를 가질 수 있다. 컴퓨팅 장치(100)는 이와 같은 신경망 모델의 출력을 그에 대응되는 라벨과 오차를 연산하고, 연산된 오차가 최소가 되도록 신경망 모델을 학습시킬 수 있다.The computing device 100 may train a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label with the maximum acquisition matrix size among the labels included in the plurality of training data (S120). That is, assuming that N labels (N is a natural number) are secured, the image size of the output of the neural network model may be larger than the acquisition matrix size of the first label with the largest acquisition matrix size among the N labels. For example, if the size of the acquisition matrix of the first label is 128x128, the output of the neural network model may have an image size of 256x256, 512x512, etc., which is greater than 128x128. The computing device 100 may calculate the label and error corresponding to the output of the neural network model and train the neural network model so that the calculated error is minimized.

보다 구체적으로, 도 4를 참조하면, 컴퓨팅 장치(100)는 신경망 모델을 사용하여, 복수의 학습 데이터에 포함된 입력을 기초로, 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성할 수 있다(S121). 이때, 신경망 모델은 입력 데이터의 획득 행렬 크기보다 증가된 획득 행렬 크기를 가지면서 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성할 수 있다. 예를 들어, 입력 데이터의 획득 행렬 크기가 64x64, 제 1 라벨의 획득 행렬 크기가 128x128, 신경망 모델의 출력의 이미지 크기가 256x256이라고 가정하면, 신경망 모델은 64x64 이상인 획득 행렬 크기를 가지면서 256x256의 이미지 크기를 갖는 출력 데이터를 생성할 수 있다. 이때, 컴퓨팅 장치(100)는 신경망 모델의 입력 크기에 맞추어 입력 데이터의 이미지 크기를 조절할 수 있다.More specifically, referring to FIG. 4, the computing device 100 uses a neural network model to generate output data having an image size that is greater than or equal to the size of the acquisition matrix of the first label, based on the input included in the plurality of training data. You can do it (S121). At this time, the neural network model may generate output data having an image size larger than the acquisition matrix size of the input data and an image size larger than the acquisition matrix size of the first label. For example, assuming that the acquisition matrix size of the input data is 64x64, the acquisition matrix size of the first label is 128x128, and the image size of the output of the neural network model is 256x256, the neural network model has an acquisition matrix size of 64x64 or more and produces an image of 256x256. Output data of any size can be generated. At this time, the computing device 100 may adjust the image size of the input data to match the input size of the neural network model.

컴퓨팅 장치(100)는 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 출력 데이터의 이미지 크기를 조절할 수 있다(S122). 컴퓨팅 장치(100)는 출력 데이터에 대한 보간을 수행함으로써, 제 2 라벨의 이미지 크기에 대응되도록, 출력 데이터의 이미지 크기를 축소할 수 있다. 예를 들어, 제 2 라벨의 획득 행렬 크기가 100x100이라고 가정하면, 신경망 모델은 보간을 통해 출력 데이터의 이미지 크기를 256x256에서 100x100으로 축소할 수 있다.The computing device 100 may adjust the image size of the output data to correspond to the image size of the second label matching the input used to generate the output data (S122). The computing device 100 may reduce the image size of the output data to correspond to the image size of the second label by performing interpolation on the output data. For example, assuming that the acquisition matrix size of the second label is 100x100, the neural network model can reduce the image size of the output data from 256x256 to 100x100 through interpolation.

컴퓨팅 장치(100)는 제 1 손실 함수를 사용하여, S122 단계를 통해 이미지 크기가 조절된 출력 데이터과 제 2 라벨 간의 오차를 연산할 수 있다(S123). 이때, 제 1 손실 함수는, 이미지 크기가 축소된 출력 데이터의 획득 행렬 크기와 제 2 라벨의 획득 행렬 크기 간의 차이를 연산하기 위한 손실 함수일 수 있다. 예를 들어, S122 단계를 통해 출력 데이터의 이미지 크기와 제 2 라벨의 이미지 크기는 100x100으로 동일할 수 있으나, 출력 데이터의 획득 행렬 크기와 제 2 라벨의 획득 행렬 크기는 다를 수 있다. 따라서, 컴퓨팅 장치(100)는 제 1 손실 함수를 사용하여, 출력 데이터의 획득 행렬 크기와 제 2 라벨의 획득 행렬 크기를 기초로, 출력 데이터와 제 2 라벨 간의 유사도를 손실 값으로 계산할 수 있다.The computing device 100 may use the first loss function to calculate an error between the output data whose image size has been adjusted through step S122 and the second label (S123). At this time, the first loss function may be a loss function for calculating the difference between the acquisition matrix size of the output data with the image size reduced and the acquisition matrix size of the second label. For example, in step S122, the image size of the output data and the image size of the second label may be the same as 100x100, but the acquisition matrix size of the output data and the acquisition matrix size of the second label may be different. Accordingly, the computing device 100 may use the first loss function to calculate the similarity between the output data and the second label as a loss value, based on the size of the acquisition matrix of the output data and the size of the acquisition matrix of the second label.

컴퓨팅 장치(100)는 신경망 모델을 통해 생성된 출력 데이터의 이미지 크기에 대응되도록, 제 2 라벨의 이미지 크기를 조절할 수 있다(S124). 제 2 라벨에 대한 보간을 수행함으로써, 출력 데이터의 이미지 크기에 대응되도록, 제 2 라벨의 이미지 크기를 확대할 수 있다. 예를 들어, 제 2 라벨의 이미지 크기가 100x100이라고 가정하면, 신경망 모델은 보간을 통해 제 2 라벨의 이미지 크기를 100x100에서 256x256으로 확대할 수 있다.The computing device 100 may adjust the image size of the second label to correspond to the image size of the output data generated through the neural network model (S124). By performing interpolation on the second label, the image size of the second label can be enlarged to correspond to the image size of the output data. For example, assuming that the image size of the second label is 100x100, the neural network model can enlarge the image size of the second label from 100x100 to 256x256 through interpolation.

한편, S122 단계에서 수행되는 이미지 크기를 축소 혹은 S124 단계에서 수행되는 이미지 크기를 확대하기 위한 보간 기법으로 이중선형 보간법(bilinear interpolation), 바이큐빅 보간법(bicubic interpolation), 최근린 보간법(nearest interpolation) 등과 같은 기법들이 사용될 수 있으나, 본 개시는 이러한 예시에 제한되지 않는다.Meanwhile, interpolation techniques for reducing the image size performed in step S122 or enlarging the image size performed in step S124 include bilinear interpolation, bicubic interpolation, and nearest interpolation. The same techniques may be used, but the disclosure is not limited to this example.

컴퓨팅 장치(100)는 제 2 손실 함수를 통해 상기 생성된 출력 데이터와 이미지 크기가 조절된 제 2 라벨 간의 오차를 연산할 수 있다(S125). 제 2 손실 함수는, 출력 데이터의 획득 행렬 크기와 이미지 크기가 확대된 제 2 라벨의 획득 행렬 크기 간의 차이를 연산하기 위한 손실 함수일 수 있다. 제 2 손실 함수에 따른 오차 연산 결과는 제 1 손실 함수에 따른 오차 연산 결과에 더해 학습에 함께 활용됨으로써, 신경망 모델이 출력 데이터에서 나타날 수 있는 아티팩트 등을 제거하는데 도움을 줄 수 있다.The computing device 100 may calculate an error between the generated output data and the second label with the image size adjusted through the second loss function (S125). The second loss function may be a loss function for calculating the difference between the acquisition matrix size of the output data and the acquisition matrix size of the second label with the enlarged image size. The error calculation results according to the second loss function are used for learning in addition to the error calculation results according to the first loss function, so that the neural network model can help remove artifacts that may appear in the output data.

컴퓨팅 장치(100)는 제 1 손실 함수를 통한 오차 연산 결과를 기초로 신경망 모델의 파라미터를 업데이트할 수 있다(S126). 컴퓨팅 장치(100)는 제 1 손실 함수를 통해 도출된 오차가 최소가 되도록 신경망 모델의 파라미터를 업데이트할 수 있다. 컴퓨팅 장치(100)는 제 1 손실 함수를 통한 연산 결과와 제 2 손실 함수를 통한 연산 결과의 가중합을 기초로, 신경망 모델의 파라미터를 업데이트할 수도 있다(S126). 컴퓨팅 장치(100)는 제 1 손실 함수와 제 2 손실 함수의 가중합을 통해 도출된 오차가 최소가 되도록 신경망 모델의 파라미터를 업데이트할 수도 있다. 이와 같이 제 2 손실 함수를 함께 활용하는 경우, 신경망 모델의 출력에서 아티팩트가 생성되지 않도록 신경망 모델의 특징 해석(혹은 추론)을 효과적으로 유도할 수 있다.The computing device 100 may update the parameters of the neural network model based on the error calculation result through the first loss function (S126). The computing device 100 may update the parameters of the neural network model so that the error derived through the first loss function is minimized. The computing device 100 may update the parameters of the neural network model based on the weighted sum of the calculation results through the first loss function and the calculation results through the second loss function (S126). The computing device 100 may update the parameters of the neural network model so that the error derived through the weighted sum of the first loss function and the second loss function is minimized. In this way, when the second loss function is used together, feature interpretation (or inference) of the neural network model can be effectively derived so that artifacts are not generated in the output of the neural network model.

도 5는 본 개시의 대안적 실시예에 따른 해상도 향상 방법을 나타낸 순서도이다.Figure 5 is a flow chart showing a resolution improvement method according to an alternative embodiment of the present disclosure.

도 5를 참조하면, 본 개시의 대안적 실시예에 따른 컴퓨팅 장치(100)는 저해상도의 의료 영상을 획득할 수 있다(S210). 예를 들어, 컴퓨팅 장치(100)는 는 의료 영상 저장 전송 시스템 혹은 자기 공명 영상 장치와 클라우드 통신을 통해 가속화 촬영을 통해 획득된 자기 공명 영상을 수신할 수 있다. 컴퓨팅 장치(100)는 가속화 촬영된 자기 공명 영상을 복원하는 인공지능 기반 장치와 통신을 통해 일반 촬영 수준으로 복원되었으나 저해상도인 자기 공명 영상을 수신할 수도 있다. 또한, 컴퓨팅 장치(100)는 가속화 촬영된 자기 공명 영상을 복원하는 인공지능 기반 장치에 탑재되어 저해상도인 자기 공명 영상을 직접 획득할 수도 있다.Referring to FIG. 5, the computing device 100 according to an alternative embodiment of the present disclosure can acquire a low-resolution medical image (S210). For example, the computing device 100 may receive a magnetic resonance image acquired through accelerated imaging through a medical image storage and transmission system or cloud communication with a magnetic resonance imaging device. The computing device 100 may receive a magnetic resonance image restored to a normal shooting level but with low resolution through communication with an artificial intelligence-based device that restores an accelerated magnetic resonance image. Additionally, the computing device 100 may be mounted on an artificial intelligence-based device that restores accelerated magnetic resonance images and directly obtain low-resolution magnetic resonance images.

컴퓨팅 장치(100)는 사전 학습된 신경망 모델을 사용하여, 저해상도의 의료 영상 대비 해상도가 개선된 고해상도의 의료 영상을 생성할 수 있다(S220). 이때, 신경망 모델은, 서로 다른 획득 행렬 크기를 갖는 복수의 학습 데이터를 기초로, 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망을 포함할 수 있다. 컴퓨팅 장치(100)는 상술한 도 4를 통해 설명한 학습 과정을 통해 학습된 신경망 모델에 저해상도의 의료 영상을 입력하여 고해상도의 의료 영상을 생성할 수 있다.The computing device 100 may use a pre-trained neural network model to generate a high-resolution medical image with improved resolution compared to a low-resolution medical image (S220). At this time, the neural network model has an image size that is greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data, based on a plurality of learning data having different acquisition matrix sizes. It may include a neural network that outputs data. The computing device 100 may generate a high-resolution medical image by inputting a low-resolution medical image into a neural network model learned through the learning process described with reference to FIG. 4 above.

예를 들어, 컴퓨팅 장치(100)는 가속화 촬영 후 복원 과정을 통해 획득한 자기 공명 영상을 신경망 모델로 입력하여 해상도를 개선시킬 수 있다. 이때, 신경망 모델을 통한 해상도의 개선 정도는 신경망 모델을 학습시키기 위해 사용한 학습 데이터의 획득 행렬 크기에 따라 달라질 수 있다. 신경망 모델은 복수의 학습 데이터에 포함된 라벨들의 획득 행렬 크기 중 최대값에 가깝게 출력을 생성하도록 학습되므로, 자기 공명 영상의 해상도는 신경망 모델이 학습한 최대 획득 행렬 크기를 기준으로 개선될 수 있다.For example, the computing device 100 may improve resolution by inputting a magnetic resonance image obtained through an accelerated imaging and restoration process into a neural network model. At this time, the degree of resolution improvement through the neural network model may vary depending on the size of the acquisition matrix of the learning data used to learn the neural network model. Since the neural network model is trained to generate output close to the maximum value among the acquisition matrix sizes of labels included in a plurality of learning data, the resolution of the magnetic resonance image can be improved based on the maximum acquisition matrix size learned by the neural network model.

앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다. The various embodiments of the present disclosure described above may be combined with additional embodiments and may be changed within the scope understandable to those skilled in the art in light of the above detailed description. The embodiments of the present disclosure should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form. Accordingly, all changes or modified forms derived from the meaning and scope of the claims of the present disclosure and their equivalent concepts should be construed as being included in the scope of the present disclosure.

Claims (11)

적어도 하나의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는, 인공 신경망 기반 해상도 향상 방법으로서,
복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 단계; 및
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계;
를 포함하고,
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는,
상기 신경망 모델을 사용하여, 상기 복수의 학습 데이터에 포함된 입력을 기초로, 상기 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성하는 단계;
상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하는 단계; 및
제 1 손실 함수를 통해 상기 이미지 크기가 조절된 출력 데이터과 상기 제 2 라벨 간의 오차를 연산하는 단계;
를 포함하는,
방법.
An artificial neural network-based resolution enhancement method performed by a computing device including at least one processor, comprising:
Obtaining a plurality of learning data having a plurality of acquisition matrix sizes; and
Based on the plurality of learning data, learning a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. ordering step;
Including,
The step of training a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data, based on the plurality of learning data. ,
Using the neural network model, based on input included in the plurality of learning data, generating output data having an image size greater than or equal to the size of the acquisition matrix of the first label;
adjusting the image size of the output data to correspond to the image size of a second label matching the input used to generate the output data; and
calculating an error between the image size-adjusted output data and the second label through a first loss function;
Including,
method.
삭제delete 제 1 항에 있어서,
상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하는 단계는,
상기 출력 데이터에 대한 보간(interpolation)을 수행함으로써, 상기 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 축소하는 단계;
를 포함하는,
방법.
According to claim 1,
Adjusting the image size of the output data to correspond to the image size of the second label matching the input used to generate the output data,
Reducing the image size of the output data to correspond to the image size of the second label by performing interpolation on the output data;
Including,
method.
제 3 항에 있어서,
상기 제 1 손실 함수는,
상기 이미지 크기가 축소된 출력 데이터의 획득 행렬 크기와 상기 제 2 라벨의 획득 행렬 크기를 기초로, 상기 이미지 크기가 축소된 출력 데이터와 상기 제 2 라벨 간의 유사도를 연산하기 위한 손실 함수인,
방법.
According to claim 3,
The first loss function is,
A loss function for calculating similarity between the output data with the image size reduced and the second label, based on the acquisition matrix size of the output data with the image size reduced and the acquisition matrix size of the second label,
method.
제 4 항에 있어서,
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는,
상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 조절하는 단계; 및
제 2 손실 함수를 통해 상기 생성된 출력 데이터와 상기 이미지 크기가 조절된 제 2 라벨 간의 오차를 연산하는 단계;
를 더 포함하는,
방법.
According to claim 4,
The step of training a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data, based on the plurality of learning data. ,
adjusting the image size of the second label to correspond to the image size of the generated output data; and
calculating an error between the generated output data and a second label whose image size has been adjusted through a second loss function;
Containing more,
method.
제 5 항에 있어서,
상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 조절하는 단계는,
상기 제 2 라벨에 대한 보간을 수행함으로써, 상기 생성된 출력 데이터의 이미지 크기에 대응되도록, 상기 제 2 라벨의 이미지 크기를 확대하는 단계;
를 포함하는,
방법.
According to claim 5,
The step of adjusting the image size of the second label to correspond to the image size of the generated output data,
enlarging the image size of the second label to correspond to the image size of the generated output data by performing interpolation on the second label;
Including,
method.
제 6 항에 있어서,
상기 제 2 손실 함수는,
상기 생성된 출력 데이터의 획득 행렬 크기와 상기 이미지 크기가 확대된 제 2 라벨의 획득 행렬 크기를 기초로, 상기 생성된 출력 데이터와 상기 이미지 크기가 확대된 제 2 라벨 간의 유사도를 연산하기 위한 손실 함수인,
방법.
According to claim 6,
The second loss function is,
A loss function for calculating similarity between the generated output data and the second label with an enlarged image size, based on the acquisition matrix size of the generated output data and the acquisition matrix size of the second label with the enlarged image size. person,
method.
제 7 항에 있어서,
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 단계는,
상기 제 1 손실 함수를 통한 연산 결과와 상기 제 2 손실 함수를 통한 연산 결과의 가중합을 기초로, 상기 신경망 모델을 학습시키는 단계;
를 더 포함하는,
방법.
According to claim 7,
The step of training a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data, based on the plurality of learning data. ,
Learning the neural network model based on a weighted sum of the calculation results through the first loss function and the calculation results through the second loss function;
Containing more,
method.
적어도 하나의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는, 인공 신경망 기반 해상도 향상 방법으로서,
저해상도의 의료 영상을 획득하는 단계; 및
사전 학습된 신경망 모델을 사용하여, 상기 저해상도의 의료 영상 대비 해상도가 개선된 고해상도의 의료 영상을 생성하는 단계;
를 포함하되,
상기 신경망 모델은,
복수의 획득 행렬 크기를 갖는 복수의 학습 데이터에 포함된 입력을 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성하고,
제 1 손실 함수를 통해, 상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록 이미지 크기가 조절된 출력 데이터와 상기 제 2 라벨 간의 오차를 연산함으로써, 학습되는,
방법.
An artificial neural network-based resolution enhancement method performed by a computing device including at least one processor, comprising:
Obtaining a low-resolution medical image; and
Using a pre-trained neural network model, generating a high-resolution medical image with improved resolution compared to the low-resolution medical image;
Including,
The neural network model is,
Based on the input included in a plurality of learning data having a plurality of acquisition matrix sizes, an image size that is greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data Generate output data with
Learned by calculating an error between the output data and the second label, with the image size adjusted to correspond to the image size of the second label matching the input used to generate the output data, through a first loss function.
method.
컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 인공 신경망을 기반으로 데이터의 해상도를 향상시키 위한 동작들을 수행하도록 하며,
상기 동작들은,
복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 동작; 및
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 동작;
을 포함하고,
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키는 동작은,
상기 신경망 모델을 사용하여, 상기 복수의 학습 데이터에 포함된 입력을 기초로, 상기 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성하는 동작;
상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하는 동작; 및
제 1 손실 함수를 통해 상기 이미지 크기가 조절된 출력 데이터과 상기 제 2 라벨 간의 오차를 연산하는 동작;
을 포함하는,
컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium, wherein the computer program, when executed on one or more processors, performs operations to improve the resolution of data based on an artificial neural network,
The above operations are,
Obtaining a plurality of learning data having a plurality of acquisition matrix sizes; and
Based on the plurality of learning data, learning a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. The action of telling;
Including,
Based on the plurality of learning data, learning a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. The action to do is,
Using the neural network model, based on input included in the plurality of learning data, generating output data having an image size larger than or equal to the size of the acquisition matrix of the first label;
adjusting the image size of the output data to correspond to the image size of a second label matching the input used to generate the output data; and
calculating an error between the image size-adjusted output data and the second label through a first loss function;
Including,
computer program.
인공 신경망을 기반으로 데이터의 해상도를 향상시키기 위한 컴퓨팅 장치로서,
적어도 하나의 코어(core)를 포함하는 프로세서;
상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
복수의 획득 행렬 크기를 갖는 복수의 학습 데이터를 획득하는 네트워크부(network unit);
를 포함하고,
상기 프로세서는,
상기 복수의 학습 데이터를 기초로, 상기 복수의 학습 데이터에 포함된 라벨(label)들 중 획득 행렬 크기가 최대값인 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 데이터를 출력하는 신경망 모델을 학습시키기 위해,
상기 신경망 모델을 사용하여, 상기 복수의 학습 데이터에 포함된 입력을 기초로, 상기 제 1 라벨의 획득 행렬 크기 이상인 이미지 크기를 갖는 출력 데이터를 생성하고,
상기 출력 데이터를 생성하기 위해 사용된 입력에 매칭되는 제 2 라벨의 이미지 크기에 대응되도록, 상기 출력 데이터의 이미지 크기를 조절하며,
제 1 손실 함수를 통해 상기 이미지 크기가 조절된 출력 데이터과 상기 제 2 라벨 간의 오차를 연산하는,
장치.
A computing device for improving the resolution of data based on an artificial neural network,
A processor including at least one core;
a memory containing program codes executable on the processor; and
A network unit that acquires a plurality of learning data having a plurality of acquisition matrix sizes;
Including,
The processor,
Based on the plurality of learning data, learning a neural network model that outputs data having an image size greater than or equal to the acquisition matrix size of the first label whose acquisition matrix size is the maximum among the labels included in the plurality of learning data. To do it,
Using the neural network model, based on input included in the plurality of learning data, generate output data having an image size that is larger than or equal to the size of the acquisition matrix of the first label,
Adjusting the image size of the output data to correspond to the image size of the second label matching the input used to generate the output data,
Calculating an error between the image size-adjusted output data and the second label through a first loss function,
Device.
KR1020220111878A 2022-09-05 2022-09-05 Method, program, and apparatus for super-resolution based on artificial neural network KR102628166B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220111878A KR102628166B1 (en) 2022-09-05 2022-09-05 Method, program, and apparatus for super-resolution based on artificial neural network
PCT/KR2023/008583 WO2024053828A1 (en) 2022-09-05 2023-06-21 Artificial neural network-based super-resolution method, program, and apparatus
KR1020240007745A KR20240033689A (en) 2022-09-05 2024-01-18 Method, program, and apparatus for super-resolution based on artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220111878A KR102628166B1 (en) 2022-09-05 2022-09-05 Method, program, and apparatus for super-resolution based on artificial neural network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240007745A Division KR20240033689A (en) 2022-09-05 2024-01-18 Method, program, and apparatus for super-resolution based on artificial neural network

Publications (1)

Publication Number Publication Date
KR102628166B1 true KR102628166B1 (en) 2024-01-24

Family

ID=89717879

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220111878A KR102628166B1 (en) 2022-09-05 2022-09-05 Method, program, and apparatus for super-resolution based on artificial neural network
KR1020240007745A KR20240033689A (en) 2022-09-05 2024-01-18 Method, program, and apparatus for super-resolution based on artificial neural network

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240007745A KR20240033689A (en) 2022-09-05 2024-01-18 Method, program, and apparatus for super-resolution based on artificial neural network

Country Status (2)

Country Link
KR (2) KR102628166B1 (en)
WO (1) WO2024053828A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180114488A (en) 2017-04-10 2018-10-18 삼성전자주식회사 System and method for deep learning image super resolution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190110965A (en) * 2019-09-11 2019-10-01 엘지전자 주식회사 Method and apparatus for enhancing image resolution
KR20220021494A (en) * 2020-08-14 2022-02-22 주식회사 지디에프랩 Artificial intelligence based resolution improvement system
KR20220070866A (en) * 2020-11-23 2022-05-31 주식회사 지디에프랩 Image enhancement method, device and program applied with deep learning technology
KR102337412B1 (en) * 2021-03-17 2021-12-09 주식회사 에스아이에이 Method for super resolution imaging based on deep learning
KR102428725B1 (en) * 2022-02-15 2022-08-04 주식회사 에어스메디컬 Method and program for imaging quality improving

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180114488A (en) 2017-04-10 2018-10-18 삼성전자주식회사 System and method for deep learning image super resolution

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Anran Liu 외, Blind Image Super-Resolution: A Survey and Beyond, arXiv, 2021.07.07., pp.1-20. *
Bjorn Moller 외, A Super-Resolution Training Paradigm Based on Low-Resolution Data Only to Surpass the Technical Limits of STEM and STM Microscopy, CVPR 2023, 2023.06.22., pp.1-10. *
Lucy Chai 외, Any-resolution Training for High-resolution Image Synthesis, ECCV 2022, 2022.10.27., pp.1-18. *
Nao Takano 외, SRGAN: Training Dataset Matters, arXiv, 2019.03.24., pp.1-7. *

Also Published As

Publication number Publication date
WO2024053828A1 (en) 2024-03-14
KR20240033689A (en) 2024-03-12

Similar Documents

Publication Publication Date Title
US10552944B2 (en) Image upscaling with controllable noise reduction using a neural network
US20230103638A1 (en) Image-to-Image Mapping by Iterative De-Noising
KR20220124622A (en) Image compression method and apparatus thereof
CN109658468B (en) Magnetic resonance parameter imaging method, device, equipment and storage medium
KR102428725B1 (en) Method and program for imaging quality improving
Wang et al. Gan prior based null-space learning for consistent super-resolution
CN112419437A (en) System and method for reconstructing magnetic resonance images
US20220198610A1 (en) Image super-resolution
WO2022100490A1 (en) Methods and systems for deblurring blurry images
JP6832252B2 (en) Super-resolution device and program
WO2023225344A1 (en) Generating images using sequences of generative neural networks
US11966454B2 (en) Self-contrastive learning for image processing
US11887277B2 (en) Removing compression artifacts from digital images and videos utilizing generative machine-learning models
KR102533000B1 (en) Method, computer program and apparatus for generating training data
Bai et al. Self-supervised deep blind video super-resolution
KR102628166B1 (en) Method, program, and apparatus for super-resolution based on artificial neural network
KR102526487B1 (en) Method, program, and apparatus for processing medical data for training of deep learning model
CN108230253B (en) Image restoration method and device, electronic equipment and computer storage medium
CN111105471B (en) Method and apparatus for generating sampling mask related to imaging
KR102513218B1 (en) Method, computer program and apparatus for generating training data
US20220292673A1 (en) On-Site training of a machine-learning algorithm for generating synthetic imaging data
CN114708353B (en) Image reconstruction method and device, electronic equipment and storage medium
US11941732B2 (en) Multi-slice MRI data processing using deep learning techniques
KR102546620B1 (en) Method, program, and apparatus for processing medical data for training of deep learning model
KR20240006470A (en) Method, program, and apparatus for improving quality of medical data based on deep learning

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant