KR20200126327A - Normalization method for machine-learning and apparatus thereof - Google Patents
Normalization method for machine-learning and apparatus thereof Download PDFInfo
- Publication number
- KR20200126327A KR20200126327A KR1020200022368A KR20200022368A KR20200126327A KR 20200126327 A KR20200126327 A KR 20200126327A KR 1020200022368 A KR1020200022368 A KR 1020200022368A KR 20200022368 A KR20200022368 A KR 20200022368A KR 20200126327 A KR20200126327 A KR 20200126327A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- conversion
- parameter value
- model
- normalization
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
Description
본 개시는 기계학습을 위한 정규화 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 입력 이미지에 존재하는 잠재적 바이어스(latent bias)를 제거하고, 입력 이미지를 목적 태스크(target task)에 적합한 이미지로 정규화(normalization)함으로써, 타깃 모델(target model)의 성능을 향상시킬 수 있는 방법 및 그 방법을 지원하는 장치에 관한 것이다.The present disclosure relates to a normalization method and apparatus for machine learning. In more detail, the performance of the target model can be improved by removing the latent bias existing in the input image and normalizing the input image to an image suitable for the target task. And a device supporting the method.
컨볼루션 신경망(convolutional neural network)은 이미지 인식 태스크에 특화된 기계학습 모델이다. 컨볼루션 신경망은 입력된 이미지에서 특징(feature)을 자동으로 추출하고 객체 분류, 객체 인식 등의 태스크를 높은 정확도로 수행할 수 있기 때문에 이미지를 다루는 다양한 도메인에서 각광받고 있다.The convolutional neural network is a machine learning model specialized for image recognition tasks. Convolutional neural networks are attracting attention in various domains dealing with images because they can automatically extract features from input images and perform tasks such as object classification and object recognition with high accuracy.
컨볼루션 신경망은 인간의 시각 인지 과정을 모방한 모델이나, 실제 컨볼루션 신경망이 이미지를 인식하는 방식은 시각 세포가 이미지를 인식하는 방식과 전혀 상이하다. 컨볼루션 신경망은 이미지의 픽셀 정보(e.g. 밝기, 명도, 채도, 색상 등)를 다각적으로 분석함으로써 입력된 이미지를 인식하기 때문이다. 이러한 컨볼루션 신경망의 작동 방식으로 인해, 이미지에 존재하는 잠재적 바이어스(latent bias)는 컨볼루션 신경망의 학습을 저해하는 요인으로 작용할 수 있다. 또한, 이미지의 잠재적 바이어스는 이미지 프로세싱 기법, 촬영 장비의 파라미터 및/또는 촬영 환경의 차이 등과 같이 다양한 원인으로 인해 발생될 수 있다.The convolutional neural network is a model that mimics the human visual perception process, but the way that the actual convolutional neural network recognizes images is completely different from the way that visual cells recognize images. This is because the convolutional neural network recognizes the input image by analyzing pixel information (e.g. brightness, brightness, saturation, color, etc.) of the image in multiple ways. Due to the way the convolutional neural network operates, a latent bias in the image can act as a factor that hinders the learning of the convolutional neural network. In addition, the potential bias of the image may be caused by various causes, such as differences in image processing techniques, parameters of photographing equipment and/or photographing environments.
위와 동일한 이유로, 컨볼루션 신경망의 인식 성능을 최대화할 수 있는 이미지의 픽셀 정보는 해당 신경망의 목적 태스크(target task)에 따라 달라질 수 있다. 예를 들어, 제1 태스크를 수행하는 제1 컨볼루션 신경망은 제1 범위의 밝기(intensity)를 갖는 이미지를 학습할 때 가장 우수한 인식 성능을 보일 수 있으나, 제2 태스크를 수행하는 제2 컨볼루션 신경망은 제2 범위의 밝기에서 더 나은 인식 성능을 보일 수도 있다. 그러나, 목적 태스크에 가장 적절한 이미지의 픽셀 정보를 알려주는 방법론은 아직까지 제안된 바가 없다.For the same reason as above, the pixel information of the image that can maximize the recognition performance of the convolutional neural network may vary depending on the target task of the neural network. For example, a first convolutional neural network performing a first task may exhibit the best recognition performance when learning an image having a first range of intensity, but a second convolutional neural network performing a second task The neural network may exhibit better recognition performance in the second range of brightness. However, a methodology for notifying pixel information of an image that is most appropriate for an objective task has not yet been proposed.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 타깃 모델의 성능을 향상시키기 위해 입력 이미지를 타깃 모델(또는 목적 태스크)에 최적화된 이미지로 정규화하는 방법 및 그 방법을 지원하는 장치를 제공하는 것이다.The technical problem to be solved through some embodiments of the present disclosure is to provide a method of normalizing an input image to an image optimized for a target model (or target task) and an apparatus supporting the method in order to improve the performance of the target model. Is to do.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 학습의 안정성 향상을 위해 입력 이미지에 존재하는 잠재적 바이어스(latent bias)를 제거할 수 있는 방법 및 그 방법을 지원하는 장치를 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method capable of removing a latent bias existing in an input image and an apparatus supporting the method to improve stability of learning. .
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 원본 이미지를 목적 이미지의 형태로 변환시킬 수 있는 파라미터의 값을 자동으로 산출하는 방법 및 그 방법을 지원하는 장치를 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method of automatically calculating a parameter value capable of converting an original image into a form of a target image, and an apparatus supporting the method.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 기계학습을 위한 정규화 방법은, 컴퓨팅 장치에 의하여 수행되는 기계학습을 위한 정규화(normalization) 방법에 있어서, 정규화 모델을 통해 입력 이미지에 대한 정규화 파라미터의 값을 산출하는 단계, 상기 산출된 정규화 파라미터의 값을 이용하여 상기 입력 이미지를 정규화하는 단계, 타깃 모델(target model)을 통해 상기 정규화된 입력 이미지에 대한 예측 레이블을 얻는 단계 및 상기 예측 레이블의 오차를 기초로 상기 정규화 모델을 업데이트하는 단계를 포함할 수 있다.In order to solve the above technical problem, a normalization method for machine learning according to some embodiments of the present disclosure is a normalization method for machine learning performed by a computing device, wherein the input image is Calculating a value of a normalization parameter, normalizing the input image using the calculated value of the normalization parameter, obtaining a prediction label for the normalized input image through a target model, and the prediction It may include the step of updating the normalization model based on the error of the label.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 이미지 변환 방법은, 컴퓨팅 장치에 의하여 수행되는 이미지 변환(transformation) 방법에 있어서, 이미지 변환 모델을 통해 제1 이미지에 대한 변환 파라미터의 값을 산출하는 단계, 상기 산출된 변환 파라미터의 값을 이용하여 상기 제1 이미지를 변환하는 단계, 상기 변환된 제1 이미지와 목적 이미지 간의 오차에 기초하여 상기 이미지 변환 모델을 학습시키는 단계 및 상기 학습된 이미지 변환 모델을 이용하여 제2 이미지에 대한 변환 파라미터의 값을 산출하는 단계를 포함할 수 있다.In order to solve the above technical problem, an image transformation method according to some embodiments of the present disclosure includes, in an image transformation method performed by a computing device, a value of a transformation parameter for a first image through an image transformation model. Calculating, converting the first image using the calculated conversion parameter value, training the image conversion model based on an error between the converted first image and a target image, and the learned It may include calculating a value of a conversion parameter for the second image by using the image conversion model.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 정규화 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리 및 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 정규화 모델을 통해 입력 이미지에 대한 정규화 파라미터의 값을 산출하고, 상기 산출된 정규화 파라미터의 값을 이용하여 상기 입력 이미지를 정규화하며, 타깃 모델(target model)을 통해 상기 정규화된 입력 이미지에 대한 예측 레이블을 얻고, 상기 예측 레이블의 오차를 기초로 상기 정규화 모델을 업데이트하는 프로세서를 포함할 수 있다.A normalization apparatus according to some embodiments of the present disclosure for solving the above-described technical problem includes a memory storing one or more instructions and a normalization of an input image through a normalization model by executing the stored one or more instructions. Calculate a parameter value, normalize the input image using the calculated normalization parameter value, obtain a prediction label for the normalized input image through a target model, and calculate the error of the prediction label. It may include a processor that updates the normalization model based on.
도 1 및 도 2는 본 개시의 몇몇 실시예에 따른 기계학습 장치와 학습 환경을 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 학습 절차에서의 정규화 방법을 나타내는 예시적인 흐름도이다.
도 4는 본 개시의 몇몇 실시예에 따른 정규화 방법을 부연 설명하기 위한 도면이다.
도 5는 본 개시의 몇몇 실시예에 따른 정규화 모델의 구조와 정규화 파라미터 산출 프로세스를 설명하기 위한 예시도이다.
도 6은 본 개시의 다른 몇몇 실시예에 따른 정규화 모델의 구조와 정규화 파라미터 산출 프로세스를 설명하기 위한 예시도이다.
도 7은 본 개시의 제1 실시예에 따른 정규화 프로세스를 나타내는 예시적인 흐름도이다.
도 8 및 도 9는 본 개시의 제1 실시예에 따른 정규화 프로세스를 설명하기 위한 예시도이다.
도 10은 본 개시의 제2 실시예에 따른 정규화 프로세스를 나타내는 예시적인 흐름도이다.
도 11은 본 개시의 제2 실시예에 따른 정규화 프로세스를 설명하기 위한 예시도이다.
도 12는 본 개시의 제3 실시예에 따른 정규화 프로세스를 설명하기 위한 예시도이다.
도 13은 본 개시의 제4 실시예에 따른 정규화 프로세스를 설명하기 위한 예시도이다.
도 14는 본 개시의 몇몇 실시예에 따른 예측 절차에서의 정규화 방법을 나타내는 예시적인 흐름도이다.
도 15는 본 개시의 기술적 사상이 의료 도메인에 활용된 예를 설명하기 위한 도면이다.
도 16은 본 개시의 몇몇 실시예에 따른 이미지 변환 방법을 나타내는 예시적인 흐름도이다.
도 17은 도 16에 도시된 이미지 변환 모델 학습 단계 S1100을 부연 설명하기 위한 예시도이다.
도 18은 본 개시의 제1 실시예에 따른 이미지 변환 프로세스를 설명하기 위한 예시도이다.
도 19 및 도 20은 본 개시의 제2 실시예에 따른 이미지 변환 프로세스를 설명하기 위한 예시도이다.
도 21 내지 도 23은 본 개시의 제3 실시예에 따른 이미지 변환 프로세스를 설명하기 위한 예시도이다.
도 24는 본 개시의 다양한 실시예에 따른 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.1 and 2 are diagrams for describing a machine learning apparatus and a learning environment according to some embodiments of the present disclosure.
3 is an exemplary flowchart illustrating a normalization method in a learning procedure according to some embodiments of the present disclosure.
4 is a diagram for further explaining a normalization method according to some embodiments of the present disclosure.
5 is an exemplary diagram illustrating a structure of a normalization model and a process of calculating a normalization parameter according to some embodiments of the present disclosure.
6 is an exemplary diagram illustrating a structure of a normalization model and a process of calculating a normalization parameter according to some other embodiments of the present disclosure.
7 is an exemplary flowchart showing a normalization process according to the first embodiment of the present disclosure.
8 and 9 are exemplary diagrams for explaining a normalization process according to the first embodiment of the present disclosure.
10 is an exemplary flow diagram illustrating a normalization process according to a second embodiment of the present disclosure.
11 is an exemplary diagram for describing a normalization process according to a second embodiment of the present disclosure.
12 is an exemplary diagram for describing a normalization process according to a third embodiment of the present disclosure.
13 is an exemplary diagram for explaining a normalization process according to a fourth embodiment of the present disclosure.
14 is an exemplary flowchart illustrating a normalization method in a prediction procedure according to some embodiments of the present disclosure.
15 is a diagram for explaining an example in which the technical idea of the present disclosure is utilized in a medical domain.
16 is an exemplary flowchart illustrating a method of converting an image according to some embodiments of the present disclosure.
17 is an exemplary diagram for further explaining the image transformation model training step S1100 shown in FIG. 16.
18 is an exemplary diagram for describing an image conversion process according to the first embodiment of the present disclosure.
19 and 20 are exemplary diagrams for explaining an image conversion process according to the second embodiment of the present disclosure.
21 to 23 are exemplary diagrams for explaining an image conversion process according to a third embodiment of the present disclosure.
24 illustrates an example computing device that may implement a device according to various embodiments of the present disclosure.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure, and a method of achieving them will be apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical idea of the present disclosure, and in the technical field to which the present disclosure belongs. It is provided to completely inform the scope of the present disclosure to those of ordinary skill in the art, and the technical idea of the present disclosure is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present disclosure, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present disclosure, a detailed description thereof will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings that can be commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically. The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present disclosure. In this specification, the singular form also includes the plural form unless specifically stated in the phrase.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the constituent elements of the present disclosure, terms such as first, second, A, B, (a) and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to that other component, but another component between each component It will be understood that elements may be "connected", "coupled" or "connected".
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used in the specification, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, actions and/or elements, and/or elements, steps, actions and/or elements mentioned. Or does not exclude additions.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in the present specification will be clarified.
본 명세서에서, 태스크(task)란, 기계학습을 통해 해결하고자 하는 과제 또는 기계학습을 통해 수행하고자 하는 작업을 지칭한다. 예를 들어, 얼굴 데이터로부터 얼굴 인식, 표정 인식, 성별 분류, 포즈 분류 등을 수행한다고 할 때, 얼굴 인식, 표정 인식, 성별 분류, 포즈 분류 각각이 개별 태스크에 대응될 수 있다. 다른 예로, 의료 이미지(medical image)로부터 이상(anomaly)에 대한 인식, 분류, 예측 등을 수행한다고 할 때, 이상 인식, 이상 분류, 이상 예측 각각이 개별 태스크에 대응될 수 있다. 그리고 태스크는 목적 태스크(target task)라고 칭할 수도 있다.In the present specification, a task refers to a task to be solved through machine learning or a task to be performed through machine learning. For example, when performing facial recognition, facial expression recognition, gender classification, pose classification, and the like from facial data, each of face recognition, expression recognition, gender classification, and pose classification may correspond to individual tasks. As another example, when recognizing, classifying, and predicting anomaly from a medical image, each of anomaly recognition, anomaly classification, and anomaly prediction may correspond to individual tasks. In addition, the task may be referred to as a target task.
본 명세서에서, 타깃 모델(target model)이란, 목적 태스크를 수행하는 모델이자, 기계학습을 통해 구축하고자 하는 모델을 의미할 수 있다. 상기 타깃 모델은 신경망을 포함하는 임의의 기계학습 모델에 기반하여 구현될 수 있으므로, 본 개시의 기술적 범위는 타깃 모델의 구현 방식에 의해 한정되지 않는다.In the present specification, a target model may mean a model that performs a target task and a model to be built through machine learning. Since the target model may be implemented based on any machine learning model including a neural network, the technical scope of the present disclosure is not limited by the implementation method of the target model.
본 명세서에서, 정규화 모델(normalization model)이란, 주어진 이미지에 대한 정규화 파라미터의 값을 산출할 수 있는 모델을 의미할 수 있다. 상기 정규화 모델은 다양한 방식으로 구현될 수 있을 것이므로, 본 개시의 기술적 범위는 정규화 모델의 구현 방식에 의해 한정되지 않는다. 정규화 모델의 몇몇 예시는 도 5 및 도 6을 참조하도록 한다.In the present specification, a normalization model may mean a model capable of calculating a value of a normalization parameter for a given image. Since the normalization model may be implemented in various ways, the technical scope of the present disclosure is not limited by the implementation method of the normalization model. For some examples of the normalization model, refer to FIGS. 5 and 6.
본 명세서에서, 이미지 변환 모델(image transformation model)이란, 주어진 이미지를 목적 이미지의 형태로 변환시키기 위한 변환 파라미터의 값을 산출할 수 있는 모델을 의미할 수 있다. 상기 이미지 변환 모델은 다양한 방식으로 구현될 수 있을 것이므로, 본 개시의 기술적 범위는 이미지 변환 모델의 구현 방식에 의해 한정되지 않는다.In the present specification, an image transformation model may mean a model capable of calculating a value of a transformation parameter for transforming a given image into a shape of a target image. Since the image conversion model may be implemented in various ways, the technical scope of the present disclosure is not limited by the implementation method of the image conversion model.
본 명세서에서, 신경망(neural network)이란, 신경 구조를 모방하여 고안된 모든 종류의 기계학습 모델을 포괄하는 용어이다. 가령, 상기 신경망은 인공 신경망(artificial neural network; ANN), 컨볼루션 신경망(convolutional neural network; CNN) 등과 같이 모든 종류의 신경망 기반 모델을 포함할 수 있다.In this specification, a neural network is a term encompassing all kinds of machine learning models designed by mimicking neural structures. For example, the neural network may include all types of neural network-based models such as an artificial neural network (ANN), a convolutional neural network (CNN), and the like.
본 명세서에서 인스트럭션(instruction)이란, 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In this specification, an instruction refers to a series of computer-readable instructions grouped on a function basis, which is a component of a computer program and executed by a processor.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 몇몇 실시예에 따른 기계학습 장치(10)와 학습 환경을 예시한다.1 illustrates a
도 1에 도시된 바와 같이, 기계학습 장치(10)는 목적 태스크를 수행하기 위해 주어진 이미지셋(11)에 대해 기계학습을 수행하는 컴퓨팅 장치이다. 보다 구체적으로, 기계학습 장치(10)는 레이블이 주어진 이미지셋(11)을 기계학습하여 타깃 모델을 구축할 수 있다. 또한, 기계학습 장치(10)는 타깃 모델을 통해 목적 태스크를 수행함으로써 예측용 이미지(13)의 레이블(15)을 예측할 수 있다. 이하에서는, 설명의 편의상 기계학습 장치(10)를 학습 장치(10)로 약칭하도록 한다.As shown in FIG. 1, the
상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop), 서버(server) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치의 일 예는 도 15를 참조하도록 한다.The computing device may be a notebook, a desktop, a laptop, a server, etc., but is not limited thereto, and may include all types of devices equipped with a computing function. Refer to FIG. 15 for an example of the computing device.
도 1은 학습 장치(10)가 하나의 컴퓨팅 장치로 구현된 것을 예로써 도시하고 있으나, 실제 물리적 환경에서 학습 장치(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 학습 장치(10)의 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 즉, 학습 장치(10)의 기능은 복수의 컴퓨팅 장치에 의해 구현될 수도 있다. 또한, 복수의 컴퓨팅 장치가 제1 기능과 제2 기능을 나누어 구현할 수도 있다.1 illustrates that the
본 개시의 다양한 실시예에 따르면, 학습 장치(10)는 소정의 기계학습 모델에 의해 산출된 파라미터의 값을 이용하여 입력 이미지를 정규화하거나, 입력 이미지를 목적 이미지(e.g. 톤 매핑된 이미지)의 형태로 변환시킬 수 있다. 이하에서는, 상기 기계학습 모델의 용도를 명확하게 구분하기 위해, 정규화에 관련된 실시예에 대해서는 상기 기계학습 모델을 정규화 모델로 지칭하고, 이미지 변환에 관련된 실시예에 대해서는 상기 기계학습 모델을 이미지 변환 모델로 지칭하도록 한다.According to various embodiments of the present disclosure, the
몇몇 실시예에서, 학습 장치(10)는 각 이미지가 타깃 모델로 입력되기 전에, 정규화 모델을 이용하여 입력 이미지에 대한 정규화를 수행할 수 있다. 또한, 학습 장치(10)는 정규화된 이미지를 이용하여 타깃 모델을 학습시키거나, 이미지의 레이블을 예측할 수 있다. 상기 정규화는 정규화 모델에서 출력된 정규화 파라미터의 값에 기반하여 수행될 수 있는데, 정규화 모델은 타깃 모델의 예측 오차를 학습함으로써 타깃 모델(또는 목적 태스크)에 적절한 정규화 파라미터 값을 산출할 수 있다. 상기 정규화 모델의 구성 및 동작에 대한 보다 자세한 설명은 도 3 내지 도 15의 도면을 참조하여 후술하도록 한다. 본 실시예에 따르면, 입력 이미지가 타깃 모델로 입력되기 전에 정규화를 통해 상기 입력 이미지에 존재하는 잠재적 바이어스(latent bias)가 제거될 수 있는 바, 학습의 안정성이 크게 향상될 수 있다. 또한, 상기 정규화를 통해 입력 이미지의 픽셀 정보가 타깃 모델(또는 목적 태스크)에 적합하도록 보정(e.g. 태스크 수행에 중요한 특정 범위의 픽셀들의 값이 증폭됨)를 될 수 있는데, 이로 인해 타깃 모델의 성능이 크게 향상될 수 있다.In some embodiments, the
또한, 몇몇 실시예에서, 학습 장치(10)는 타깃 모델의 성능을 더욱 향상시키기 위해 멀티 도메인 학습을 수행할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 서로 다른 도메인(A, B)에 속한 이미지셋(21, 23)을 이용하여 멀티 도메인 학습이 수행될 수 있다. 이때, 각 도메인의 이미지셋(21, 23)에는 촬영 환경, 촬영 장비의 파라미터 및/또는 이미지 프로세싱 기법의 차이 등의 다양한 원인으로 인해 잠재적 바이어스가 존재할 수 있다. 이와 같은 경우, 학습 장치(10)는 정규화 프로세스를 통해 이미지셋(21, 23)에 존재하는 잠재적 바이어스를 제거하고, 각각의 이미지를 타깃 모델에 적합한 이미지로 정규화할 수 있다. 그렇게 함으로써, 멀티 도메인 학습에 따른 성능 향상 효과가 보장될 수 있다.In addition, in some embodiments, the
상술한 바와 같이, 정규화와 관련된 본 개시의 다양한 실시예에서, 학습 장치(10)는 정규화 장치(10)로 명명될 수도 있다.As described above, in various embodiments of the present disclosure related to normalization, the
또한, 몇몇 실시예에서, 학습 장치(10)는 기계학습을 통해 원본 이미지를 목적 이미지(e.g. 톤 매핑된 이미지)의 형태로 변환시킬 수 있는 이미지 변환 모델을 구축할 수 있다. 또한, 학습 장치(10)는 이미지 변환 모델에 의해 산출된 변환 파라미터의 값을 사용자에게 제공하거나, 상기 변환 파라미터의 값을 이용하여 원본 이미지를 목적 이미지의 형태로 변환시킬 수 있다. 이와 같은 실시예에 한하여, 학습 장치(10)는 이미지 변환 장치(10)로 명명될 수도 있다. 이하에서는, 설명의 편의상 이미지 변환 모델을 변환 모델로 약칭하도록 한다. 본 실시예에 대한 자세한 설명은 도 16 내지 도 23을 참조하여 후술하도록 한다.In addition, in some embodiments, the
지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예에 따른 학습 장치(10)와 학습 환경에 대하여 설명하였다. 이하에서는, 도 3 내지 도 14를 참조하여 본 개시의 다양한 실시예에 따른 정규화 방법에 대하여 상세하게 설명한다.So far, the
이하에서 후술될 방법의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 상기 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 상기 방법에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 복수의 물리적인 컴퓨팅 장치에 의해 분산되어 실행될 수도 있다. 예를 들면, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 상기 방법의 각 단계가 도 1 또는 도 2에 예시된 장치(10)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 본 실시예에 관한 설명에서 각 동작의 주어가 생략된 경우, 상기 예시된 장치(10)에 의하여 수행 될 수 있는 것으로 이해될 수 있을 것이다. 또한, 본 실시예에 따른 방법은 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.Each step of the method to be described below may be performed by a computing device. In other words, each step of the method may be implemented with one or more instructions executed by the processor of the computing device. All of the steps included in the method may be executed by one physical computing device, but may be distributed and executed by a plurality of physical computing devices. For example, first steps of the method may be performed by a first computing device, and second steps of the method may be performed by a second computing device. In the following, description will be continued on the assumption that each step of the method is performed by the
도 3은 본 개시의 몇몇 실시예에 따른 정규화 방법을 나타내는 예시적인 흐름도이다. 특히, 도 3은 타깃 모델의 학습 절차에서 정규화 방법이 수행되는 과정을 예시하고 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.3 is an exemplary flowchart illustrating a normalization method according to some embodiments of the present disclosure. In particular, FIG. 3 illustrates a process in which the normalization method is performed in the learning procedure of the target model. However, this is only a preferred embodiment for achieving the object of the present disclosure, and of course, some steps may be added or deleted as necessary.
도 3에 도시된 바와 같이, 상기 정규화 방법은 레이블이 주어진 이미지셋을 획득하는 단계 S100에서 시작된다. 상기 이미지셋은 복수의 이미지를 포함하는 학습용 데이터셋을 의미할 수 있다.As shown in Fig. 3, the normalization method starts in step S100 of obtaining an image set given a label. The image set may mean a training dataset including a plurality of images.
몇몇 실시예에서, 상기 이미지셋은 서로 다른 도메인과 연관된 복수의 이미지셋을 포함할 수 있다. 예를 들어, 상기 이미지셋은 제1 촬영 장치에 의해 생성된 제1 이미지셋과 제2 촬영 장치에 의해 생성된 제2 이미지셋을 포함할 수 있다. 다른 예로써, 상기 이미지셋은 제1 이미지 프로세싱 기법에 의해 생성된 제1 이미지셋과 제2 이미지 프로세싱 기법에 의해 생성된 제2 이미지셋을 포함할 수 있다. 여기서, 이미지 프로세싱 기법은 이미지 변환, 이미지 필터링(e.g. bayer filter 등), 이미지 보정(e.g. white balancing, crop, auto-focusing 등) 등의 모든 종류의 프로세싱 기법을 포함할 수 있다. 이와 같은 경우, 정규화를 통해 서로 다른 촬영 장치 또는 서로 다른 이미지 프로세싱 기법에 의해 발생되는 잠재적 바이어스가 제거될 수 있다. 이에 따라, 멀티 도메인 학습에 의한 타깃 모델의 성능 개선 효과는 더욱 향상될 수 있다.In some embodiments, the image set may include a plurality of image sets associated with different domains. For example, the image set may include a first image set generated by a first photographing device and a second image set generated by a second photographing device. As another example, the image set may include a first image set generated by a first image processing technique and a second image set generated by a second image processing technique. Here, the image processing technique may include all types of processing techniques such as image conversion, image filtering (e.g. bayer filter, etc.), image correction (e.g. white balancing, crop, auto-focusing, etc.). In this case, through normalization, potential biases caused by different photographing devices or different image processing techniques may be removed. Accordingly, the effect of improving the performance of the target model by multi-domain learning can be further improved.
단계 S200 및 S300은 입력 이미지에 대한 정규화 프로세스를 나타낸다. 상기 입력 이미지는 타깃 모델로 입력되는 이미지를 의미할 수 있다. 도 4에 예시된 바와 같이, 입력 이미지(31)가 타깃 모델(35)로 입력되기 전에, 정규화 모델(33)에 기반하여 입력 이미지(31)가 정규화된 이미지(34)로 변환될 수 있다. 또한, 정규화된 이미지(34)가 타깃 모델(35)로 입력될 수 있다. 입력 이미지(31)가 타깃 모델(35)에 입력되기 전에 입력 이미지(31)를 정규화하는 이유는, 잠재적 바이어스를 제거함으로써 안정적인 학습을 유도하고 오버피팅(overfitting)을 방지하기 위한 것이다. 또 다른 이유는, 입력 이미지(31)의 픽셀 정보가 목적 태스크에 적합해지도록 조정하기 위한 것이다. 이하, 단계 S200 및 S300에 대하여 상세하게 설명한다.Steps S200 and S300 represent a normalization process for the input image. The input image may mean an image input to a target model. As illustrated in FIG. 4, before the
단계 S200에서, 정규화 모델을 통해 입력 이미지에 대한 정규화 파라미터의 값이 산출된다. 상기 정규화 모델은 학습 가능 파라미터(learnable parameter)를 포함하는데, 상기 학습 가능 파라미터는 타깃 모델의 예측 오차에 기초하여 학습(즉, 예측 오차를 최소화하기 위해 학습)될 수 있다. 따라서, 정규화 모델은 입력 이미지를 목적 태스크에 적합한 이미지로 변환시키기 위한 정규화 파라미터 값을 정확하게 산출할 수 있게 된다.In step S200, a value of a normalization parameter for the input image is calculated through the normalization model. The normalized model includes a learnable parameter, which may be trained (ie, trained to minimize a prediction error) based on a prediction error of a target model. Therefore, the normalization model can accurately calculate a normalization parameter value for converting an input image into an image suitable for the target task.
상기 정규화 모델은 실시예에 따라 다양한 방식으로 설계되고 선택될 수 있다. 또한, 정규화 파라미터의 값을 산출하는 구체적인 방식도 실시예에 따라 달라질 수 있다.The normalization model may be designed and selected in various ways according to embodiments. Also, a specific method of calculating the value of the normalization parameter may vary according to embodiments.
몇몇 실시예에서, 상기 정규화 모델은 컨볼루션 신경망에 기반하여 구현될 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 정규화 모델은 특징 추출 레이어(43)와 출력 레이어(45)를 포함하는 컨볼루션 신경망으로 구현될 수 있다. 특징 추출 레이어(43)는 컨볼루션 레이어를 포함할 수 있고, 풀링 레이어 등과 같이 다양한 레이어들을 선택적으로 더 포함할 수도 있다. 이와 같은 경우, 정규화 모델은 특징 추출 레이어(43)를 통해 입력 이미지(41)에서 특징 데이터(e.g. 특징 맵)를 추출하고, 출력 레이어(45)를 통해 상기 특징 데이터에 기반한 적어도 하나의 예측 값(47-1 내지 47-n)을 산출할 수 있다. 그리고, 적어도 하나의 예측 값(47-1 내지 47-n)이 정규화 파라미터의 값으로 이용될 수 있다. 몇몇 실시예에서는, 예측 값(47-1 내지 47-n)에서 유도된 특정 값이 정규화 파라미터의 값으로 이용될 수도 있다. 컨볼루션 신경망은 이미지 인식에 특화된 신경망이므로, 입력 이미지와 정규화 파라미터 간의 관계를 가장 정확하게 이해하고 파악할 수 있다. 따라서, 본 실시예에 따르면, 이미지에 특화된 컨볼루션 신경망의 특성을 활용함으로써 정규화의 효과가 더욱 향상될 수 있다. 한편, 상기 정규화 모델은 상술한 컨볼루션 신경망 이외에도 다양한 기계학습 모델에 기반하여 구현될 수 있다In some embodiments, the normalization model may be implemented based on a convolutional neural network. For example, as shown in FIG. 5, the normalization model may be implemented as a convolutional neural network including a
다른 몇몇 실시예에서, 입력 이미지에서 기 정의된 특징이 추출되고, 정규화 모델은 상기 기 설정된 특징에 기반하여 정규화 파라미터의 값을 산출할 수 있다. 즉, 본 실시예에서는, 정규화 모델이 입력 이미지에서 특징을 자동으로 추출하는 것이 아니라, 사전에 정의된 특징이 이용된다. 여기서, 상기 기 정의된 특징은 이미지의 스타일 정보(e.g. 평균, 표준 편차 등의 다양한 통계 정보), 픽셀값 패턴, 픽셀값의 통계 정보 등을 포함할 수 있다. 이외에도, SIFT(Scale Invariant Feature Transform), HOG(Histogram of Oriented Gradient), Haar, LBP(Local Binary Pattern)과 같이 당해 기술 분야에서 널리 알려진 피처(feature)들이 더 포함될 수도 있다. 본 실시예에 대한 구체적인 예시는 도 6에 도시되어 있다.In some other embodiments, a predefined feature is extracted from an input image, and a normalization model may calculate a value of a normalization parameter based on the preset feature. That is, in this embodiment, the normalization model does not automatically extract features from the input image, but uses predefined features. Here, the predefined features may include image style information (e.g. various statistical information such as average and standard deviation), pixel value patterns, and statistical information of pixel values. In addition, features widely known in the art, such as Scale Invariant Feature Transform (SIFT), Histogram of Oriented Gradient (HOG), Haar, and Local Binary Pattern (LBP), may be further included. A specific example of this embodiment is shown in FIG. 6.
도 6에 도시된 바와 같이, 특징 추출 모듈(53)은 입력 이미지(51)에서 상기 예시된 특징들 중 적어도 하나(e.g. 55-1 내지 55-3)를 추출하고, 추출된 특징들(55-1 내지 55-3)이 정규화 모델(57)로 입력될 수 있다. 그러면, 정규화 모델(57)이 입력된 특징들(55-1 내지 55-3)에 기반하여 정규화 파라미터의 값(e.g. 59-1, 59-2)을 출력할 수 있다. 도 6은 정규화 모델(57)이 인공 신경망으로 구현된 것을 예로써 도시하고 있으나, 정규화 모델(57)은 다른 종류의 기계학습 모델로 구현될 수도 있다. 예를 들어, 정규화 모델(57)은 SVM(Support Vector Machine)과 같이 전통적인 기계학습 모델에 기반하여 구현될 수도 있다. 본 실시예에 따르면, 사용자가 지정한 중요 특징에 기반하여 적절한 정규화 파라미터 값이 산출될 수 있다. 예를 들어, 목적 태스크가 스타일 정보와 밀접한 태스크인 경우, 입력 이미지의 스타일 정보에 기반하여 정규화 파라미터의 값이 산출되므로, 목적 태스크에 적합하게 정규화가 수행될 수 있다.6, the
다시 도 3을 참조하여 설명한다.It will be described again with reference to FIG. 3.
단계 S300에서, 정규화 파라미터의 값을 이용하여 입력 이미지가 정규화된다. 본 단계의 세부 프로세스는 실시예에 따라 달라질 수 있다. 이하, 본 단계와 관련된 다양한 실시예에 대하여 도 7 내지 도 13을 참조하여 상세하게 설명하도록 한다.In step S300, the input image is normalized using the value of the normalization parameter. The detailed process of this step may vary according to embodiments. Hereinafter, various embodiments related to this step will be described in detail with reference to FIGS. 7 to 13.
먼저, 도 7 내지 도 9를 참조하여 본 개시의 제1 실시예에 따른 정규화 프로세스를 설명하도록 한다.First, a normalization process according to a first embodiment of the present disclosure will be described with reference to FIGS. 7 to 9.
상기 제1 실시예에서는, 정규화 파라미터가 픽셀값의 범위를 기준으로 정의되고, 각 픽셀값 범위마다 독립적으로 정규화가 수행될 수 있다. 예를 들어, 제1 픽셀값 범위에 대해 제1 정규화 파라미터가 정의되고, 제2 픽셀값 범위에 제2 정규화 파라미터가 정의되었다고 가정하자. 이와 같은 경우, 도 7에 도시된 바와 같이, 상기 제1 픽셀값 범위에 속한 픽셀들로 구성된 제1 픽셀 그룹은 제1 정규화 파라미터의 값에 기초하여 정규화되고, 상기 제2 픽셀값 범위에 속한 픽셀들로 구성된 제2 픽셀 그룹은 상기 제2 정규화 파라미터에 기초하여 정규화될 수 있다(S320, S340). 보다 이해의 편의를 제공하기 위해, 도 8 및 도 9에 도시된 예를 참조하여 부연 설명하도록 한다.In the first embodiment, a normalization parameter is defined based on a range of pixel values, and normalization may be independently performed for each pixel value range. For example, assume that a first normalization parameter is defined for a first pixel value range, and a second normalization parameter is defined for a second pixel value range. In this case, as shown in FIG. 7, a first pixel group consisting of pixels belonging to the first pixel value range is normalized based on a value of a first normalization parameter, and pixels belonging to the second pixel value range The second pixel group consisting of the elements may be normalized based on the second normalization parameter (S320 and S340). In order to provide a more convenient understanding, description will be made with reference to the examples shown in FIGS. 8 and 9.
도 8은 정규화 모델(63)이 5개의 정규화 파라미터(65-1 내지 65-5) 값을 산출하고, 각각의 정규화 파라미터(65-1 내지 65-5)가 특정 범위의 픽셀값에 대응되는 것을 예시하고 있다. 예를 들어, 도 8에서, 제1 정규화 파라미터(65-1)는 0부터 v1까지의 픽셀값 범위에 대응되고, 제2 정규화 파라미터(65-2)는 v1부터 v2까지의 픽셀값 범위에 대응될 수 있다. 각 정규화 파라미터(65-1 내지 65-5)에 대응되는 픽셀값의 범위는 균등할 수도 있고, 서로 상이할 수도 있다. 몇몇 예에서는, 다수의 픽셀이 분포하고 있는 픽셀값 범위가 다수의 구간으로 세분화되고, 각 구간에 대해 서로 다른 정규화 파라미터가 정의될 수도 있다.8 shows that the
도 9는 입력 이미지(61)의 각 픽셀에 대해 정규화가 수행되는 것을 예시하고 있다. 특히, 도 9는 이미지(61)에 포함된 제1 픽셀(61-1)의 값은 제1 픽셀값 범위에 속하고, 제2 픽셀(61-2)의 값은 제2 픽셀값 범위에 속하며, 제3 픽셀(61-3)의 값은 제3 픽셀값 범위에 속하는 것을 예시하고 있다.9 illustrates that normalization is performed for each pixel of the
도 9에 예시된 바와 같이, 각 픽셀값 범위에 대해 독립적으로 정규화가 수행될 수 있다. 구체적으로, 제1 픽셀(61-1)의 값은 제1 정규화 파라미터(65-1)에 의해 조정되고, 제2 픽셀(61-2)의 값은 제2 정규화 파라미터(65-2)에 의해 조정되고 제3 픽셀(61-3)의 값은 제3 정규화 파라미터(65-3)에 의해 조정될 수 있다. 입력 이미지(61)의 픽셀값이 모두 조정되면, 입력 이미지(61)가 정규화된 이미지(67)으로 변환될 수 있다.As illustrated in FIG. 9, normalization may be performed independently for each pixel value range. Specifically, the value of the first pixel 61-1 is adjusted by the first normalization parameter 65-1, and the value of the second pixel 61-2 is adjusted by the second normalization parameter 65-2. It is adjusted and the value of the third pixel 61-3 can be adjusted by the third normalization parameter 65-3. When all the pixel values of the
한편, 도 8 및 도 9는 입력 이미지(61)의 픽셀값에 정규화 파라미터(65-1 내지 75-5)의 값을 곱하는 방식으로 정규화 연산이 수행되는 것을 예시하고 있다. 그러나, 상기 정규화 연산은 곱셈 외에도 합산 등의 다양한 산술 연산, 선형 변환, 비선형 변환 등과 같이 다양한 방식으로 수행될 수 있으며, 이는 실시예에 따라 다양하게 설계되고 선택될 수 있다.Meanwhile, FIGS. 8 and 9 illustrate that the normalization operation is performed by multiplying the pixel values of the
또한, 몇몇 실시예에서는, 입력 이미지가 멀티 채널(e.g. 색상 채널, 명도 채널)로 구성된 경우, 각 채널 별로 정규화 파라미터가 정의될 수 있다. 예를 들어, 제1 채널에 대해 제1 정규화 파라미터가 정의되고, 제2 채널에 대해 제2 정규화 파라미터가 정의될 수 있다. 이와 같은 경우, 제1 채널의 픽셀값들은 제1 정규화 파라미터에 기초하여 정규화되고, 제2 채널의 픽셀값들은 제2 정규화 파라미터에 기초하여 정규화될 수 있다. 그렇게 함으로써, 정규화의 정밀도와 타깃 모델의 성능이 향상될 수 있다.In addition, in some embodiments, when the input image is composed of multiple channels (e.g. color channels, brightness channels), a normalization parameter may be defined for each channel. For example, a first normalization parameter may be defined for a first channel, and a second normalization parameter may be defined for a second channel. In this case, pixel values of the first channel may be normalized based on the first normalization parameter, and pixel values of the second channel may be normalized based on the second normalization parameter. By doing so, the precision of normalization and the performance of the target model can be improved.
또한, 몇몇 실시예에서는, 이미지의 특정 영역마다 독립적으로 정규화 파라미터가 정의되고, 상기 정규화 파라미터에 기초하여 이미지의 특정 영역마다 독립적으로 정규화가 수행될 수도 있다. 이와 같은 경우, 정규화의 정밀도와 정확도가 더욱 향상될 수 있다. 본 실시예에 대한 자세한 설명은 도 18 내지 도 23을 참조하도록 한다.In addition, in some embodiments, a normalization parameter is independently defined for each specific region of the image, and normalization may be independently performed for each specific region of the image based on the normalization parameter. In this case, the precision and accuracy of normalization can be further improved. For a detailed description of the present embodiment, refer to FIGS. 18 to 23.
지금까지 도 7 내지 도 9를 참조하여 본 개시의 제1 실시예에 따른 정규화 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 픽셀값의 범위를 기준으로 정규화가 수행될 수 있다. 이에 따라, 더욱 정교하게 정규화가 수행될 수 있으며, 타깃 모델의 성능도 더욱 향상될 수 있다.So far, the normalization process according to the first embodiment of the present disclosure has been described with reference to FIGS. 7 to 9. As described above, normalization may be performed based on a range of pixel values. Accordingly, normalization can be performed more precisely, and performance of the target model can be further improved.
이하에서는, 도 10 및 도 11을 참조하여 본 개시의 제2 실시예에 따른 정규화 프로세스에 대하여 설명하도록 한다.Hereinafter, a normalization process according to a second embodiment of the present disclosure will be described with reference to FIGS. 10 and 11.
상기 제2 실시예에서는, 시그모이드(sigmoid) 함수를 이용하여 입력 이미지가 정규화될 수 있다. 시그모이드 함수는 입력 값을 일정 범위 내의 출력 값으로 변환하는 특성을 지닌다. 이러한 특성으로 인해, 시그모이드 함수가 적용되면, 입력 이미지가 적절하게 정규화된 이미지로 변환될 수 있으며, 잠재적 바이어스가 효과적으로 제거될 수 있다.In the second embodiment, the input image may be normalized using a sigmoid function. The sigmoid function has the characteristic of converting an input value into an output value within a certain range. Due to this characteristic, when the sigmoid function is applied, the input image can be converted to an appropriately normalized image, and potential bias can be effectively removed.
상기 제2 실시예에 따른 정규화 프로세스의 세부 과정은 도 10에 도시되어 있다. 도 10에 도시된 바와 같이, 정규화 파라미터의 값을 이용하여 시그모이드 함수의 파라미터가 세팅될 수 있다(S310). 또한, 상기 세팅된 시그모이드 함수를 이용하여 입력 이미지가 정규화될 수 있다(S330). 즉, 입력 이미지의 각 픽셀값이 시그모이드 함수를 통해 적정한 범위의 값으로 조정될 수 있다.A detailed process of the normalization process according to the second embodiment is shown in FIG. 10. As shown in FIG. 10, a parameter of the sigmoid function may be set using the value of the normalization parameter (S310). In addition, the input image may be normalized using the set sigmoid function (S330). That is, each pixel value of the input image may be adjusted to a value within an appropriate range through a sigmoid function.
상기 시그모이드 함수의 파라미터는 예를 들어 시그모이드 함수의 변위를 조절하는 파라미터(e.g. x축 또는 y축 이동과 관련된 쉬프트 파라미터), 출력값의 크기를 조절하는 파라미터(e.g. 함수 값의 크기를 조절하는 스케일 파라미터) 등을 포함할 수 있다. 그러나, 이외에도 다양한 파라미터가 정의될 수 있으므로, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니다.The parameters of the sigmoid function include, for example, a parameter that adjusts the displacement of the sigmoid function (eg, a shift parameter related to the x-axis or y-axis movement), a parameter that adjusts the size of the output value (eg, adjusts the size of the function value). Scale parameter) and the like. However, in addition to the various parameters may be defined, the technical scope of the present disclosure is not limited to the examples listed above.
도 11은 4개의 시그모이드 함수 파라미터가 존재하는 경우를 예시하고 있다. 도 11에 예시된 바와 같이, 정규화 모델(73)은 입력 이미지(71)에 기반하여 4개의 정규화 파라미터(75-1 내지 75-4)의 값을 산출하고, 각 정규화 파라미터(75-1 내지 75-4)의 값에 의해 시그모이드 함수(77)의 각 파라미터가 세팅될 수 있다.11 illustrates a case where there are four sigmoid function parameters. As illustrated in FIG. 11, the
몇몇 실시예에서는, 픽셀값 범위 및/또는 채널 별로 독립적으로 시그모이드 함수 파라미터가 세팅되고, 픽셀값 범위 및/또는 채널 별로 독립적으로 정규화가 수행될 수도 있다. 이와 같은 경우, 정규화의 정밀도와 정확도가 더욱 향상될 수 있다.In some embodiments, sigmoid function parameters are independently set for each pixel value range and/or channel, and normalization may be performed independently for each pixel value range and/or channel. In this case, the precision and accuracy of normalization can be further improved.
지금까지 도 10 및 도 11을 참조하여 본 개시의 제2 실시예에 따른 정규화 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 시그모이드 함수의 특성을 이용하여 정규화에 중점을 둔 정규화가 수행될 수 있다. 따라서, 상술한 정규화 방식은 이미지에 포함된 잠재적 바이어스를 효과적으로 제거할 수 있으며, 다양한 바이어스가 존재하는 멀티 도메인 환경에서 타깃 모델의 성능 향상을 위해 유용하게 활용될 수 있다.So far, the normalization process according to the second embodiment of the present disclosure has been described with reference to FIGS. 10 and 11. As described above, normalization focusing on normalization may be performed using the characteristics of the sigmoid function. Therefore, the above-described normalization method can effectively remove potential biases included in an image, and can be usefully used to improve the performance of a target model in a multi-domain environment in which various biases exist.
이하에서는, 본 개시의 제3 실시예에 따른 정규화 프로세스에 대하여 설명하도록 한다.Hereinafter, a normalization process according to a third embodiment of the present disclosure will be described.
상기 제3 실시예에서는, 정규화 모델에 의해 산출된 정규화 파라미터의 값에 기초하여 선형 변환 모델의 파라미터(e.g. 스케일, 쉬프트 파라미터)가 세팅될 수 있다. 또한, 상기 선형 변환 모델을 통해 입력 이미지가 정규화될 수 있다.In the third embodiment, parameters of the linear transformation model (e.g. scale and shift parameters) may be set based on the value of the normalization parameter calculated by the normalization model. In addition, the input image may be normalized through the linear transformation model.
상기 제3 실시예에 내재된 기술적 사상은 이미지(e.g. DICOM 형식의 의료 이미지)의 윈도잉(windowing) 처리를 위해 활용될 수 있다. 상기 윈도잉은 관심 영역을 잘 볼 수 있도록 주어진 이미지에서 특정 범위의 픽셀값들을 추출하고 특정 형태(e.g. 8bit grayscale)로 변환하는 작업을 의미한다. 일반적으로, DICOM 헤더에 윈도잉 파라미터(e.g. center, width)의 값이 정의되어 있으나, 그렇지 않더라도 상기 정규화 모델을 통해 상기 윈도잉 파라미터의 값이 예측될 수 있다. 도 12를 참조하여 부연 설명한다.The technical idea inherent in the third embodiment can be utilized for windowing processing of an image (e.g. a DICOM format medical image). The windowing refers to an operation of extracting pixel values of a specific range from a given image and converting them into a specific shape (e.g. 8-bit grayscale) so that the region of interest can be well viewed. In general, values of windowing parameters (e.g. center, width) are defined in the DICOM header, but even if they are not, the values of the windowing parameters can be predicted through the normalization model. It will be further described with reference to FIG. 12.
도 12에 도시된 바와 같이, 정규화 모델(83)은 이미지(81)를 입력받고, 입력된 이미지(81)에 대한 윈도잉 파라미터(85)의 값을 산출할 수 있다. 또한, 윈도잉 파라미터(85)의 값에 따라 이미지(81)에 대한 윈도잉 처리가 수행되며, 윈도잉 처리된 이미지(87)가 타깃 모델로 입력될 수 있다. 정규화 모델(83)은 타깃 모델의 예측 오차를 학습하기 때문에, 정규화 모델(83)은 목적 태스크의 관심 영역이 잘 표시되도록 하는 윈도잉 파라미터(85)의 값을 산출할 수 있게 된다.As shown in FIG. 12, the
참고로, DICOM 규약에 따르면, 윈도잉 파라미터 center와 width에 의해 정의되는 X-ray 영상의 윈도우 영역 [center-width/2, center+width/2]이 변환된 영상의 [0, 1]로 매핑되므로(e.g. center = 1000, width = 400일 때, 실제 X-ray 영상의 [800, 1200] 영역이 변환된 영상의 [0, 1]로 매핑됨), 윈도잉 파라미터 center와 width는 선형 변환 모델의 파라미터의 연관 관계를 갖게 된다. 즉, 윈도잉 파라미터 center와 width와 동일한 연산을 하게 해주는 선형 변환 모델의 파라미터 값이 항상 존재하게 된다(e.g. y = ax + b 모델에서 a = 1/400, b = -2인 경우, x-ray 영상의 [800, 1200] 영역이 [0, 1]로 매핑됨).For reference, according to the DICOM protocol, the window area [center-width/2, center+width/2] of the X-ray image defined by the windowing parameters center and width is mapped to [0, 1] of the converted image. (Eg when center = 1000, width = 400, the [800, 1200] area of the actual X-ray image is mapped to [0, 1] of the converted image), so the windowing parameters center and width are linear transformation models. Will have an association of parameters of. In other words, there is always a parameter value of the linear transformation model that allows the same operation as the windowing parameter center and width (eg y = ax + b in the model a = 1/400, b = -2, x-ray Area [800, 1200] of the image is mapped to [0, 1]).
다른 몇몇 실시예에서는, 정규화 모델에 의해 산출된 정규화 파라미터의 값에 기초하여 비선형 변환 모델(e.g. 시그모이드 함수)의 파라미터가 세팅되고, 상기 비선형 변환 모델을 통해 입력 이미지가 정규화될 수도 있다.In some other embodiments, a parameter of a nonlinear transformation model (e.g. a sigmoid function) is set based on a value of a normalization parameter calculated by the normalization model, and the input image may be normalized through the nonlinear transformation model.
이하에서는, 도 13을 참조하여 본 개시의 제4 실시예에 따른 정규화 프로세스에 대하여 설명하도록 한다.Hereinafter, a normalization process according to a fourth embodiment of the present disclosure will be described with reference to FIG. 13.
상기 제4 실시예에서는, 전술한 제1 실시예 내지 제3 실시예의 조합에 기초하여 정규화가 수행될 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 입력 이미지(91)에 대하여 상기 제1 실시예에 따른 제1 정규화 프로세스가 수행되고, 이어서 상기 제2 실시예에 따른 제2 정규화 프로세스가 더 수행될 수 있다. 상기 제1 정규화 프로세스를 통해 입력 이미지(91)는 이미지(95)로 변환되고, 시그모이드 함수(97)에 기반한 제2 정규화 프로세스를 통해 이미지(95)는 정규화된 이미지(99)로 변환될 수 있다.In the fourth embodiment, normalization may be performed based on a combination of the first to third embodiments described above. For example, as shown in FIG. 13, the first normalization process according to the first embodiment is performed on the
다른 몇몇 실시예에서는, 상기 제2 정규화 프로세스가 먼저 수행되고, 이어서 상기 제1 정규화 프로세스가 수행될 수도 있다.In some other embodiments, the second normalization process may be performed first, followed by the first normalization process.
지금까지 도 13를 참조하여 본 개시의 제4 실시예에 따른 정규화 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 상기 제1 정규화 프로세스를 통해 입력 이미지의 픽셀값이 타깃 모델에 적합한 값으로 조정될 뿐만 아니라 상기 제2 정규화 프로세스를 통해 입력 이미지에 존재하는 잠재적 바이어스까지 효과적으로 제거될 수 있다. 이를 통해, 타깃 모델의 성능은 더욱 향상될 수 있다.So far, the normalization process according to the fourth embodiment of the present disclosure has been described with reference to FIG. 13. As described above, not only the pixel value of the input image is adjusted to a value suitable for the target model through the first normalization process, but also the potential bias existing in the input image can be effectively removed through the second normalization process. Through this, the performance of the target model can be further improved.
지금까지 도 7 내지 도 13를 참조하여 본 개시의 다양한 실시예에 따른 정규화 프로세스에 대하여 설명하였다. 다시 도 3을 참조하여 이후 단계에 대한 설명을 이어가도록 한다.So far, a normalization process according to various embodiments of the present disclosure has been described with reference to FIGS. 7 to 13. With reference to FIG. 3 again, a description of the subsequent steps will be continued.
단계 S400에서, 타깃 모델을 통해 정규화된 입력 이미지에 대한 예측 레이블이 획득된다. 즉, 정규화된 입력 이미지가 상기 타깃 모델로 입력되고, 상기 타깃 모델을 통해 상기 정규화된 입력 이미지의 레이블이 예측될 수 있다.In step S400, a predictive label for the input image normalized through the target model is obtained. That is, a normalized input image may be input to the target model, and a label of the normalized input image may be predicted through the target model.
단계 S500에서, 예측 레이블의 오차를 기초로 타깃 모델과 정규화 모델이 업데이트된다. 도 4에 도시된 바와 같이, 예측 레이블의 오차(37)는 타깃 모델(35)에서 출력된 예측 레이블(36)과 정답 레이블(32)과의 차이에 기초하여 산출될 수 있다. 상기 오차는 다양한 손실 함수(loss function)에 의해 산출될 수 있는데, 손실 함수의 종류는 목적 태스크에 따라 달라질 수 있으므로, 본 개시의 기술적 범위는 손실 함수의 종류에 의해 제한되지 않는다.In step S500, the target model and the normalization model are updated based on the error of the prediction label. As shown in FIG. 4, the
또한, 오차(37)를 최소화하는 방향으로 타깃 모델(35)과 정규화 모델(33)이 업데이트될 수 있다. 상기 업데이트는 각 모델에 포함된 학습 가능 파라미터(e.g. 신경망의 가중치 파라미터)의 값을 조정하는 것으로 이해될 수 있다. 각 모델(33, 35)의 학습 가능 파라미터 값이 조정됨으로써, 타깃 모델(35)은 목적 태스크를 보다 정확하게 수행할 수 있도록 학습될 수 있고, 정규화 모델(33)은 입력 이미지를 상기 타깃 모델에 적합한 이미지로 정규화할 수 있도록 학습될 수 있다. 즉, 상기 업데이트가 진행됨에 따라 정규화 모델(33)은 정규화 파라미터의 값을 보다 정확하게 산출할 수 있게 된다.In addition, the
단계 S600에서, 학습 종료 여부가 판정된다. 학습 종료 여부는 미리 설정된 종료 조건에 기초하여 판정될 수 있다. 또한, 상기 종료 조건은 에폭(epoch), 미학습 데이터 존재 여부, 타깃 모델의 성능 등과 같이 다양한 기준에 의거하여 정의되고 설정될 수 있다. 따라서, 본 개시의 기술적 범위가 특정 종료 조건에 한정되는 것은 아니다.In step S600, it is determined whether or not the learning has ended. Whether or not to end learning may be determined based on a preset end condition. In addition, the termination condition may be defined and set based on various criteria such as an epoch, whether there is unlearned data, and a performance of a target model. Therefore, the technical scope of the present disclosure is not limited to a specific termination condition.
상기 종료 조건이 만족되지 않았다는 판정에 응답하여, 전술한 단계 S200 내지 S600이 다시 수행될 수 있다. 상기 종료 조건이 만족되었다는 판정에 응답하여, 타깃 모델(또는 정규화 모델)에 대한 학습은 종료될 수 있다.In response to a determination that the termination condition is not satisfied, steps S200 to S600 described above may be performed again. In response to determining that the termination condition is satisfied, the learning of the target model (or the normalized model) may be terminated.
지금까지 도 3 및 도 13을 참조하여 타깃 모델의 학습 절차에서 수행되는 정규화 방법에 대하여 설명하였다. 이하에서는, 도 14를 참조하여 예측 절차에서 수행되는 정규화 방법에 대하여 설명하도록 한다.So far, the normalization method performed in the learning procedure of the target model has been described with reference to FIGS. 3 and 13. Hereinafter, a normalization method performed in the prediction procedure will be described with reference to FIG. 14.
타깃 모델이 학습되면, 타깃 모델을 이용하여 예측 절차가 수행될 수 있다. 상기 예측 절차는, 학습된 타깃 모델을 이용하여 예측용 이미지에 대해 목적 태스크를 수행하는 것을 의미할 수 있다. 또한, 상기 예측용 이미지는 레이블이 주어지지 않은 이미지를 의미할 수 있다. 예측 절차의 세부 과정은 도 14에 도시되어 있다.When the target model is trained, a prediction procedure may be performed using the target model. The prediction procedure may mean performing a target task on an image for prediction by using the learned target model. In addition, the prediction image may mean an image to which no label is given. The detailed process of the prediction procedure is shown in FIG. 14.
도 14에 도시된 바와 같이, 상기 예측 절차는 예측용 이미지를 획득하는 단계 S700에서 시작된다.As shown in FIG. 14, the prediction procedure starts in step S700 of obtaining an image for prediction.
단계 S800 및 단계 S900에서, 예측용 이미지에 대해 정규화 프로세스가 수행된다. 상기 정규화 프로세스는 학습된 정규화 모델에 기초하여 수행되므로, 예측용 이미지는 타깃 모델에 적합한 이미지(즉, 타깃 모델이 용이하게 분석할 수 있는 이미지)로 변환될 수 있다.In steps S800 and S900, a normalization process is performed on the prediction image. Since the normalization process is performed based on the learned normalization model, the prediction image may be converted into an image suitable for the target model (ie, an image that the target model can easily analyze).
단계 S1000에서, 타깃 모델을 통해 정규화된 예측용 이미지에 대한 레이블이 예측된다. 상기 정규화된 예측용 이미지는 타깃 모델에 적합한 상태로 변환된 이미지이므로, 타깃 모델은 보다 정확하게 예측용 이미지의 레이블을 예측할 수 있다. 즉, 정규화 프로세스를 통해 예측용 이미지에서 잠재적 바이어스가 제거되고 예측용 이미지의 픽셀값들이 타깃 모델에 최적화된 값으로 조정되기 때문에, 타깃 모델의 성능이 향상될 수 있다.In step S1000, a label for the normalized prediction image is predicted through the target model. Since the normalized prediction image is an image converted into a state suitable for a target model, the target model can more accurately predict the label of the prediction image. That is, since a potential bias is removed from the prediction image through the normalization process and pixel values of the prediction image are adjusted to values optimized for the target model, the performance of the target model can be improved.
지금까지 도 14를 참조하여 예측 절차에서 정규화가 수행되는 방법에 대하여 설명하였다.So far, a method of performing normalization in the prediction procedure has been described with reference to FIG. 14.
지금까지 설명한 본 개시의 기술적 사상과 이에 관한 다양한 실시예들은 다양한 분야에서 타깃 모델의 성능을 향상시키기 위해 이용될 수 있다. 이에 대한 일 예시로, 본 개시의 기술적 사상이 의료 분야(또는 도메인)에 활용된 것을 도 15를 참조하여 간략하게 소개하도록 한다.The technical idea of the present disclosure described so far and various embodiments thereof may be used to improve the performance of the target model in various fields. As an example of this, the technical idea of the present disclosure will be briefly introduced with reference to FIG. 15 that is utilized in the medical field (or domain).
도 15에 도시된 바와 같이, 본 개시의 기술적 사상은 의료 분야에서 진단 모델(107)을 구축하기 위해 이용될 수 있다. 진단 모델(107)은 예를 들어 병변 검출, 병변 분류, 병변의 위치 인식 등을 수행하는 모델일 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 특히, 도 15는 진단 모델(107)이 컨볼루션 신경망에 기반하여 구현되고, 의료 이미지(101)에서 유방암과 관련된 진단을 수행하는 것을 예로써 도시하고 있다.As shown in FIG. 15, the technical idea of the present disclosure may be used to build a
본 개시의 다양한 실시예에 따른 정규화 모델(103)은 입력 이미지(101)가 진단 모델(107)에 입력되기 전에, 입력 이미지(101)를 진단 모델(107)에 적합한 이미지(105)로 정규화할 수 있다. 또한, 진단 모델(107)은 정규화된 이미지(105)를 이용하여 학습될 수 있고, 진단 모델(107)은 정규화된 이미지(105)를 이용하여 진단을 수행할 수 있다. 그렇게 함으로써, 진단 결과의 정확도가 향상될 수 있다.The
의료 이미지의 종류, 진단 태스크의 유형 등에 따라 진단 모델(107)이 요구하는 의료 이미지의 픽셀 정보는 상이할 수 있다. 이와 같은 경우, 정규화 모델(103)은 진단 모델(107)의 예측 오차를 학습함으로써, 입력 이미지를 진단 모델(107)에 최적화된 이미지로 변환시킬 수 있다. 이로 인해, 진단 모델(107)의 정확도는 향상되고, 진단 모델(107)에 기반하여 만족도 높은 진단 보조 서비스가 제공될 수 있다.Pixel information of the medical image requested by the
이하에서는, 도 16 내지 도 23을 참조하여 본 개시의 몇몇 실시예에 따른 이미지 변환 방법에 대하여 설명하도록 한다.Hereinafter, an image conversion method according to some embodiments of the present disclosure will be described with reference to FIGS. 16 to 23.
도 16은 본 개시의 몇몇 실시예에 따른 이미지 변환 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.16 is an exemplary flowchart illustrating a method of converting an image according to some embodiments of the present disclosure. However, this is only a preferred embodiment for achieving the object of the present disclosure, and of course, some steps may be added or deleted as necessary.
도 16에 도시된 바와 같이, 상기 이미지 변환 방법은 변환 모델을 학습시키는 단계 S1100에서 시작된다. 보다 구체적으로, 제1 원본 이미지와 목적 이미지(즉, 정답 이미지)를 이용하여 상기 변환 모델이 학습될 수 있다. 여기서, 상기 목적 이미지는 변환 모델을 통해 원본 이미지가 변환되기를 원하는 이미지를 의미할 수 있다. 예를 들어, 원본 이미지를 특정 필터(또는 톤 매핑 함수)에 의해 톤 매핑된 이미지로 변환하고자 하는 경우, 상기 목적 이미지는 상기 제1 원본 이미지에 상기 특정 필터(또는 톤 매핑 함수)를 적용하여 톤 매핑한 이미지가 될 수 있다. 다른 예를 들어, 원본 이미지를 특정 스타일의 이미지로 변환하고자 하는 경우, 상기 목적 이미지는 상기 제1 원본 이미지를 상기 특정 스타일로 변환시킨 이미지가 될 수 있다. 상기 목적 이미지는 다양한 이미지 변환/보정 프로그램에 의해 획득될 수 있을 것이나, 상기 목적 이미지를 획득하는 방식은 어떠한 방식이 되더라도 무방하다.As shown in Fig. 16, the image conversion method starts in step S1100 of training a conversion model. More specifically, the transformation model may be trained using a first original image and a target image (ie, a correct answer image). Here, the target image may mean an image for which an original image is desired to be converted through a conversion model. For example, if an original image is to be converted to a tone-mapped image by a specific filter (or tone mapping function), the target image is toned by applying the specific filter (or tone mapping function) to the first original image. It can be a mapped image. For another example, when an original image is to be converted into an image of a specific style, the target image may be an image obtained by converting the first original image to the specific style. The target image may be obtained by various image conversion/correction programs, but the method of obtaining the target image may be any method.
변환 모델을 구축하는 세부 프로세스는 도 17에 예시되어 있다. 도 17에 예시된 바와 같이, 변환 모델(112)은 원본 이미지(111)를 입력받고, 원본 이미지(111)에 대한 변환 파라미터(113)의 값을 산출할 수 있다. 또한, 변환 파라미터(113)의 값에 기반하여 원본 이미지(111)에 대한 이미지 변환 프로세스가 수행되고, 그 결과로 변환된 이미지(114)가 획득되며, 변환된 이미지(114)와 목적 이미지(115) 간의 오차(116)에 기반하여 변환 모델(112)이 학습될 수 있다. 이와 같이 학습이 수행되면, 변환 모델(112)은 입력된 원본 이미지를 목적 이미지(e.g. 115)의 형태로 변환시킬 수 있는 파라미터의 값을 산출하게 된다. 변환 모델(112)은 CNN과 같이 이미지에 특화된 신경망으로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The detailed process of building the transformation model is illustrated in FIG. 17. As illustrated in FIG. 17, the
변환 파라미터(113)는 예를 들어 이미지의 색온도(color temperature), 휘도(luminance), 채도(saturation) 중 적어도 하나를 포함할 수 있다. 그러나, 변환 파라미터(113)의 종류가 상기 열거된 예시에 한정되는 것은 아니다. 예컨대, 변환 파라미터(113)는 원본 이미지를 목적 이미지의 형태로 변환시킬 수 있는 다양한 변환 함수(e.g. 톤 매핑 함수, 스타일 변환 함수)의 파라미터를 포함할 수 있다. 다시 도 16을 참조하여 설명한다.The
단계 S1200에서, 학습된 변환 모델을 이용하여 제2 원본 이미지에 대한 변환 파라미터의 값이 예측된다. 상기 제2 원본 이미지는 전술한 제1 원본 이미지와 다른 이미지일 것이나, 동일한 이미지이더라도 무방하다. 본 단계에서, 상기 제2 원본 이미지가 학습된 변환 모델에 입력되면, 학습된 변환 모델을 통해 상기 제2 원본 이미지에 대한 변환 파라미터의 값이 산출될 수 있다.In step S1200, a value of a transformation parameter for the second original image is predicted using the learned transformation model. The second original image may be an image different from the aforementioned first original image, but may be the same image. In this step, when the second original image is input to the learned transformation model, a value of a transformation parameter for the second original image may be calculated through the learned transformation model.
단계 S1300에서, 산출된 변환 파라미터의 값에 기초하여 상기 제2 원본 이미지를 목적 이미지의 형태로 변환시키기 위한 이미지 변환 프로세스가 수행된다. 예를 들어, 색온도 파라미터의 값에 따라 상기 제2 원본 이미지의 색온도가 조정될 수 있다.In step S1300, an image conversion process for converting the second original image into a shape of a target image is performed based on the calculated conversion parameter value. For example, the color temperature of the second original image may be adjusted according to the value of the color temperature parameter.
몇몇 실시예에서는, 산출된 변환 파라미터의 값이 사용자에게 제공될 수 있다. 그러면, 사용자는 제공받은 파라미터 값을 초기 값으로 이용하여 직접 이미지 변환을 수행할 수도 있다. 예를 들어, 사용자는 이미지 변환 프로그램을 통해 변환 파라미터(e.g. 색온도)의 초기 값을 상기 제공받은 파라미터 값으로 세팅하고, 상기 변환 파라미터의 값을 미세하게 조정하며 이미지 변환을 수행할 수도 있다. 본 실시예에 따르면, 사용자가 자신의 주관이 섞인 이미지 변환(e.g. 톤 매핑)을 수행할 수 있기 때문에, 변환 모델의 사용성이 더 증대될 수 있다.In some embodiments, the value of the calculated conversion parameter may be provided to the user. Then, the user may directly perform image conversion using the provided parameter value as an initial value. For example, the user may set an initial value of a conversion parameter (e.g. color temperature) as the supplied parameter value through an image conversion program, finely adjust the value of the conversion parameter, and perform image conversion. According to the present embodiment, since a user can perform image conversion (e.g. tone mapping) in which his or her subjectivity is mixed, the usability of the conversion model can be further increased.
또한, 몇몇 실시예에서는, 산출된 변환 파라미터의 값이 특정 모드, 특정 설정 기능에 적용되어 사용자에게 제공될 수도 있다. 그리고 사용자는 제공된 특정 모드, 특정 설정 기능을 선택하여, 산출된 변환 파라미터 값을 이용한 이미지 변환이 수행되도록 할 수 있다.Further, in some embodiments, the calculated conversion parameter value may be applied to a specific mode or a specific setting function and provided to the user. In addition, the user may select a specific mode and a specific setting function provided to perform image conversion using the calculated conversion parameter value.
지금까지 도 17을 참조하여 본 개시의 몇몇 실시예에 따른 이미지 변환 방법에 대하여 설명하였다. 이하에서는, 도 18 내지 도 23을 참조하여 보다 정밀하고 고도한 이미지 변환을 수행하기 위한 본 개시의 실시예들에 대하여 설명하도록 한다. 이하에서 후술될 실시예들은 도 3 내지 도 15를 참조하여 설명한 정규화 방법에도 적용될 수 있다.So far, an image conversion method according to some embodiments of the present disclosure has been described with reference to FIG. 17. Hereinafter, embodiments of the present disclosure for performing more precise and advanced image conversion will be described with reference to FIGS. 18 to 23. Embodiments to be described below may also be applied to the normalization method described with reference to FIGS. 3 to 15.
도 18은 본 개시의 제1 실시예에 따른 이미지 변환 프로세스를 설명하기 위한 예시도이다.18 is an exemplary diagram for describing an image conversion process according to the first embodiment of the present disclosure.
도 18에 도시된 바와 같이, 상기 제1 실시예에서는, 원본 이미지(121)의 영역(123-1 내지 123-3) 별로 변환이 수행되어, 원본 이미지(121)가 이미지(129)로 변환될 수 있다. 예를 들어, 원본 이미지(121)의 제1 영역(123-1)은 제1 변환 파라미터(127-1)의 값에 기초하여 변환되고, 원본 이미지(121)의 제2 영역(123-2)은 제2 변환 파라미터(127-2)의 값에 기초하여 변환되며, 원본 이미지(121)의 제3 영역(123-3)은 제3 변환 파라미터(127-3)의 값에 기초하여 변환될 수 있다. 이때, 원본 이미지(121)의 영역 별로 서로 다른 변환 방식이 적용될 수 있고, 동일한 변환 방식이 적용될 수도 있다. 각 이미지 영역(123-1 내지 123-3)에 적용되는 변환 파라미터(127-1 내지 127-3)의 값은 변환 모델(125)에 의해 산출될 수 있다. 변환 모델(125)은 변환 파라미터(127-1 내지 127-3)의 값을 산출하기 위해 전술한 방식으로 학습될 수 있다.As shown in FIG. 18, in the first embodiment, conversion is performed for each area (123-1 to 123-3) of the
몇몇 실시예에서는, 복수의 변환 모델이 이용되고, 각 변환 모델은 원본 이미지(121)의 각 영역에 대응될 수 있다. 이와 같은 경우, 원본 이미지(121)의 제1 영역(123-1)은 제1 변환 모델에 의해 산출된 제1 변환 파라미터의 값에 기초하여 변환되고, 원본 이미지(121)의 제2 영역(123-2)은 제2 변환 모델에 의해 산출된 제2 변환 파라미터의 값에 기초하여 변환되며, 원본 이미지(121)의 제3 영역(123-3)은 제3 변환 모델에 의해 산출된 제3 변환 파라미터의 값에 기초하여 변환될 수 있다.In some embodiments, a plurality of transformation models are used, and each transformation model may correspond to each region of the
도 18은 원본 이미지(121)의 각 영역(123-1 내지 123-3)이 연속한 픽셀의 집합으로 정의된 것을 예로써 도시하고 있다. 그러나, 이는 이해의 편의를 제공하기 위한 것일 뿐이며, 원본 이미지 상의 영역은 얼마든지 다른 방식(e.g. 이산적인 형태)으로 정의될 수 있다. 예컨대, 원본 이미지의 제1 영역은 제1 픽셀값 범위에 속한 픽셀들의 집합으로 정의되고, 제2 영역은 제2 픽셀값 범위에 속한 픽셀들의 집합으로 정의될 수도 있다.18 shows by way of example that each area 123-1 to 123-3 of the
도 19 및 도 20은 본 개시의 제2 실시예에 따른 이미지 변환 프로세스를 설명하기 위한 예시도이다19 and 20 are exemplary diagrams for explaining an image conversion process according to a second embodiment of the present disclosure
상기 제2 실시예는 전술한 제1 실시예를 보다 고도화한 것으로, 원본 이미지의 영역 별로 이미지 변환을 수행하되, 에지(edge)가 블러링(blurring)되는 것을 방지하기 위해 3차원 그리드(e.g. bilateral grid)를 이용하는 방법에 관한 것이다.The second embodiment is a more advanced embodiment of the above-described first embodiment, and performs image conversion for each area of the original image, but in order to prevent blurring of edges, a three-dimensional grid (eg bilateral grid).
도 19에 도시된 바와 같이, 3차원 그리드(134)는 원본 이미지(131) 상에서 픽셀의 위치를 나타내는 2개의 축(x축, y축)과 픽셀값(e.g. intensity)의 크기를 나타내는 1개의 축(z축)에 의해 정의될 수 있다. 도 19에 도시된 3차원 그리드(134)를 이용하면, 원본 이미지(131) 상에서 인접하여 위치한 픽셀들이라 하더라도, 픽셀값의 차이에 따라 서로 다른 그리드에 매핑될 수 있다. 예를 들어, 에지를 기준으로 인접한 두 픽셀(132, 133)이 3차원 그리드(134) 상에서는 서로 다른 그리드(135, 136)에 매핑될 수 있다. 따라서, 그리드 별로 이미지 변환을 수행하면, 픽셀들의 위치 관계와 크기 관계를 같이 고려하여 이미지 변환이 수행될 수 있으며, 이미지 변환 이후에도 에지가 보존될 수 있다. 여기서, 그리드에 대해 이미지 변환을 수행한다는 것은, 해당 그리드에 매핑된 픽셀의 집합(즉, 원본 이미지 상의 특정 영역)에 대해 이미지 변환을 수행한다는 것을 의미한다. 도 20을 참조하여 부연 설명한다.As shown in FIG. 19, the three-
도 20에 도시된 바와 같이, 변환 모델(142)은 원본 이미지(141)에 대한 복수의 변환 파라미터(143-1 내지 143-n)의 값을 산출할 수 있다. 각 변환 파라미터(143-1 내지 143-n)는 하나 이상의 그리드에 대응될 수 있다. 또한, 변환 파라미터(143-1 내지 143-n)의 값을 이용하여 그리드 별로 이미지 변환이 수행될 수 있다. 예를 들어, 제1 변환 파라미터(143-1)의 값을 이용하여 제1 그리드(144-1)에 대한 이미지 변환이 수행되고, 제2 변환 파라미터(143-2)의 값을 이용하여 제2 그리드(144-2)에 대한 이미지 변환이 수행되며, 제n 변환 파라미터(143-n)의 값을 이용하여 제n 그리드(144-n)에 대한 이미지 변환이 수행될 수 있다. 각 그리드 별로 이미지 변환이 수행되면, 원본 이미지(141)의 에지를 보존하면서 보다 자연스럽고 정교하게 변환된 이미지(145)가 생성될 수 있다.As shown in FIG. 20, the
이하에서는, 본 개시의 제3 실시예에 따른 이미지 변환 프로세스에 대하여 설명하도록 한다.Hereinafter, an image conversion process according to a third embodiment of the present disclosure will be described.
상기 제3 실시예도 원본 이미지 상에서 정의되는 영역 별로 이미지 변환을 수행한다는 점에서 상술한 제2 실시예와 유사하다. 다만, 상술한 제2 실시예가 3차원 그리드를 이용하여 각 영역을 정의하였다면, 상기 제3 실시예는 슈퍼픽셀(super-pixel) 알고리즘을 이용하여 각 영역을 정의한다는 점에서 제2 실시예와 차이가 있다. 슈퍼픽셀 알고리즘은 유사한 특성을 가진 하나 이상의 픽셀을 슈퍼픽셀로 그룹핑하는 알고리즘을 의미한다. 슈퍼픽셀 알고리즘의 대표적인 예로는 SLIC(Simple Linear Iterative Clustering), SEEDS 알고리즘을 들 수 있다. 다만, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니며, 다른 종류의 슈퍼픽셀 알고리즘이 이용되더라도 무방하다. 당해 기술 분야의 당업자라면, 슈퍼픽셀 알고리즘에 대해 자명하게 이해할 수 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다. 이하, 도 21 내지 도 23에 도시된 예시도를 참조하여 상기 제3 실시예에 대하여 상세하게 설명한다.The third embodiment is also similar to the second embodiment described above in that image conversion is performed for each area defined on the original image. However, if the second embodiment described above defines each region using a three-dimensional grid, the third embodiment is different from the second embodiment in that each region is defined using a super-pixel algorithm. There is. The superpixel algorithm refers to an algorithm that groups one or more pixels with similar characteristics into superpixels. Representative examples of superpixel algorithms include Simple Linear Iterative Clustering (SLIC) and SEEDS algorithms. However, the technical scope of the present disclosure is not limited to the examples listed above, and other types of superpixel algorithms may be used. Those skilled in the art will be able to clearly understand the superpixel algorithm, and a detailed description thereof will be omitted. Hereinafter, the third embodiment will be described in detail with reference to the exemplary diagrams shown in FIGS. 21 to 23.
도 21은 원본 이미지(151)에 슈퍼픽셀 알고리즘을 적용하여 유사한 특성을 가진 픽셀들이 12개의 슈퍼픽셀(e.g. 154, 155)로 그룹핑된 것을 예시하고 있다. 도 21에 예시된 바와 같이 슈퍼픽셀(e.g. 154, 155)이 형성되면, 슈퍼픽셀 별로 이미지 변환이 수행될 수 있다. 물론, 하나 이상의 슈퍼픽셀을 포함하는 영역 별로 이미지 변환이 수행될 수도 있다.21 illustrates that pixels having similar characteristics are grouped into 12 superpixels (e.g. 154, 155) by applying a superpixel algorithm to the
상기 이미지 변환을 위해, 변환 모델은 원본 이미지(151)와 슈퍼픽셀 정보를 입력받고, 각 슈퍼픽셀(e.g. 154, 155)을 변환시키기 위한 변환 파라미터의 값을 산출할 수 있다. 이때, 슈퍼픽셀 정보를 상기 변환 모델에 입력하는 구체적인 방식은 실시예에 따라 달라질 수 있다.For the image transformation, the transformation model may receive the
몇몇 실시예에서는, 도 22에 도시된 바와 같이, 복수의 슈퍼픽셀 정보를 포함하는 맵 이미지(156)가 원본 이미지(151)와 함께 변환 모델(157)로 입력될 수 있다. 예를 들어, 맵 이미지(156)를 원본 이미지(151)에 적층(stacking)하여 멀티 채널 이미지가 구성되고, 상기 멀티 채널 이미지가 변환 모델(157)로 입력될 수 있다. 그러면, 변환 모델(157)은 각 슈퍼픽셀(e.g. 154, 155)에 대응되는 변환 파라미터(158-1 내지 158-12)의 값을 산출할 수 있다. 맵 이미지(156)는 각 픽셀 별로 해당 픽셀이 속한 슈퍼픽셀의 정보(e.g. 식별자)를 갖도록 구성될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In some embodiments, as illustrated in FIG. 22, a
다른 몇몇 실시예에서는, 도 23에 도시된 바와 같이, 개별 슈퍼픽셀 정보를 포함하는 복수의 맵 이미지(161-1 내지 161-12)가 원본 이미지(151)와 함께 변환 모델(163)로 입력될 수 있다. 예를 들어, 복수의 맵 이미지(161-1 내지 161-12)를 원본 이미지(151)에 적층(stacking)하여 멀티 채널 이미지가 구성되고, 상기 멀티 채널 이미지가 변환 모델(163)로 입력될 수 있다. 그러면, 변환 모델(163)은 각 슈퍼픽셀(e.g. 154, 155)에 대응되는 변환 파라미터(165-1 내지 165-12)의 값을 산출할 수 있다. 여기서, 제1 맵 이미지(161-1)는 제1 슈퍼픽셀에 속한 픽셀에 특정 값(e.g. 1)을 마킹하고, 상기 제1 슈퍼픽셀에 속하지 않는 픽셀에 다른 값(e.g. 0)을 마킹함으로써 구성될 수 있다. 그리고, 제12 맵 이미지(161-12)는 제12 슈퍼픽셀에 속한 픽셀에 특정 값(e.g. 1)을 마킹하고, 상기 제12 슈퍼픽셀에 속하지 않는 픽셀에 다른 값(e.g. 0)을 마킹함으로써 구성될 수 있다. 그러나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니며, 개별 슈퍼픽셀의 정보를 나타낼 수 있다면, 맵 이미지(e.g. 161-1)는 어떠한 방식으로 구성되더라도 무방하다.In some other embodiments, as shown in FIG. 23, a plurality of map images 161-1 to 161-12 including individual superpixel information are input to the
상기 제3 실시예에 따르면, 유사 특성을 가진 슈퍼픽셀 별로 이미지 변환이 수행되므로, 픽셀의 특성을 유지하면서 정교한 이미지 변환이 수행될 수 있다.According to the third embodiment, since image conversion is performed for each superpixel having similar characteristics, sophisticated image conversion can be performed while maintaining the characteristics of the pixels.
지금까지 도 18 내지 도 23을 참조하여 본 개시의 다양한 실시예에 따른 이미지 변환 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 원본 이미지에 포함된 복수의 영역 별로 서로 다른 변환 방식이 적용될 수 있기 때문에, 보다 정밀하고 고도한 형태의 이미지 변환이 수행될 수 있다. 이를테면, 각 영역 별로 다양한 형태의 톤 매핑이 수행되어, 보다 자연스럽고 정교하게 변환된 톤 매핑 이미지가 생성될 수 있다.Up to now, an image conversion process according to various embodiments of the present disclosure has been described with reference to FIGS. 18 to 23. As described above, since different conversion methods may be applied for each of a plurality of regions included in the original image, more precise and highly sophisticated image conversion can be performed. For example, by performing various types of tone mapping for each area, a more natural and elaborately converted tone mapping image may be generated.
이하에서는, 도 24를 참조하여 본 개시의 다양한 실시예에 따른 장치(e.g. 도 1의 학습 장치, 정규화 장치, 이미지 변환 장치 10)를 구현할 수 있는 예시적인 컴퓨팅 장치(170)에 대하여 설명한다.Hereinafter, an
도 24는 컴퓨팅 장치(170)를 나타내는 하드웨어 구성도이다.24 is a hardware configuration diagram illustrating the
도 24에 도시된 바와 같이, 컴퓨팅 장치(170)는 하나 이상의 프로세서(171), 버스(173), 통신 인터페이스(174), 프로세서(171)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(172)와, 컴퓨터 프로그램(176)을 저장하는 스토리지(175)를 포함할 수 있다. 다만, 도 24에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 24에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.As shown in FIG. 24, the
프로세서(171)는 컴퓨팅 장치(170)의 각 구성의 전반적인 동작을 제어한다. 프로세서(171)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(171)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(170)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(172)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(172)는 본 개시의 실시예들에 따른 다양한 방법/동작을 실행하기 위하여 스토리지(175)로부터 하나 이상의 프로그램(176)을 로드할 수 있다. 메모리(172)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The
버스(173)는 컴퓨팅 장치(170)의 구성 요소 간 통신 기능을 제공한다. 버스(173)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
통신 인터페이스(174)는 컴퓨팅 장치(170)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(174)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(174)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(174)는 생략될 수도 있다.The
스토리지(175)는 상기 하나 이상의 프로그램(176)을 비임시적으로 저장할 수 있다. 스토리지(175)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
컴퓨터 프로그램(176)은 메모리(172)에 로드될 때 프로세서(171)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(171)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(176)은 정규화 모델을 통해 입력 이미지에 대한 정규화 파라미터의 값을 산출하는 동작, 상기 산출된 정규화 파라미터의 값을 이용하여 상기 입력 이미지를 정규화하는 동작, 타깃 모델(target model)을 통해 상기 정규화된 입력 이미지에 대한 예측 레이블을 얻는 동작 및 상기 예측 레이블의 오차를 기초로 상기 정규화 모델을 업데이트하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(170)를 통해 본 개시의 몇몇 실시예에 따른 학습 장치(10) 또는 정규화 장치(10)가 구현될 수 있다.For example, the
다른 예를 들어, 컴퓨터 프로그램(176)은 이미지 변환 모델을 통해 제1 이미지에 대한 변환 파라미터의 값을 산출하는 동작, 상기 산출된 변환 파라미터의 값을 이용하여 상기 제1 이미지를 변환하는 동작, 상기 변환된 제1 이미지와 목적 이미지 간의 오차에 기초하여 상기 이미지 변환 모델을 학습시키는 동작 및 상기 학습된 이미지 변환 모델을 이용하여 제2 이미지에 대한 변환 파라미터의 값을 산출하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(170)를 통해 본 개시의 몇몇 실시예에 따른 학습 장치(10) 또는 이미지 변환 장치(10)가 구현될 수 있다.For another example, the
지금까지 도 1 내지 도 24를 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present disclosure and effects according to the embodiments have been mentioned with reference to FIGS. 1 to 24. The effects according to the technical idea of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
지금까지 도 1 내지 도 24를 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described so far with reference to FIGS. 1 to 24 may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium is, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). I can. The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.
이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all the constituent elements constituting the embodiments of the present disclosure have been described as being combined into one or operating in combination, the technical idea of the present disclosure is not necessarily limited to these embodiments. That is, as long as it is within the scope of the object of the present disclosure, one or more of the components may be selectively combined and operated.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are illustrated in a specific order in the drawings, it should not be understood that the operations must be executed in the specific order shown or in a sequential order, or all illustrated operations must be executed to obtain a desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the above-described embodiments should not be understood as necessitating such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present disclosure have been described with reference to the accompanying drawings, the present disclosure may be implemented in other specific forms without changing the technical spirit or essential features of those of ordinary skill in the art. I can understand that there is. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. The scope of protection of the present disclosure should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the technical ideas defined by the present disclosure.
Claims (20)
대상 이미지인 제1 이미지와, 상기 제1 이미지를 변환한 목적 이미지를 이용하여, 이미지를 변환하는 이미지 변환 모델을 학습시키는 단계; 및
상기 학습된 이미지 변환 모델을 이용하여, 제2 이미지를 변환하는 단계를 포함하는
이미지 변환 방법.In the image transformation (transformation) method performed by the computing device,
Learning an image conversion model for converting an image using a first image that is a target image and a target image obtained by converting the first image; And
Comprising the step of transforming a second image using the learned image transformation model
Image conversion method.
상기 이미지 변환 모델을 학습시키는 단계는
상기 제1 이미지에 대한 변환 파라미터 값을 산출하는 단계와,
상기 산출된 변환 파라미터 값을 기초로, 상기 제1 이미지를 변환하는 단계와,
상기 변환된 제1 이미지와 상기 목적 이미지 간의 오차를 기초로 상기 이미지 변환 모델을 학습시키는 단계를 포함하는
이미지 변환 방법.The method of claim 1,
The step of training the image transformation model
Calculating a conversion parameter value for the first image,
Converting the first image based on the calculated conversion parameter value,
And training the image conversion model based on an error between the converted first image and the target image.
Image conversion method.
상기 변환 파라미터 값은 상기 제1 이미지의 제1 영역에 대응하는 제1 파라미터 값과 상기 제1 이미지의 제2 영역에 대응하는 제2 파라미터 값을 포함하고,
상기 제1 이미지를 변환하는 단계는,
상기 제1 파라미터 값을 이용하여 상기 제1 이미지의 상기 제1 영역을 변환하는 단계와,
상기 제1 파라미터 값을 이용하여 상기 제1 이미지의 상기 제2 영역을 변환하는 단계를 포함하는,
이미지 변환 방법.The method of claim 2,
The conversion parameter value includes a first parameter value corresponding to a first area of the first image and a second parameter value corresponding to a second area of the first image,
Converting the first image,
Transforming the first region of the first image by using the first parameter value,
Transforming the second region of the first image using the first parameter value,
Image conversion method.
상기 제1 이미지에 포함된 복수의 픽셀은 픽셀의 위치를 나타내는 2개의 축과 픽셀값의 크기를 나타내는 1개의 축에 의해 정의되는 3차원 그리드에 매핑되고,
상기 제1 영역은 상기 3차원 그리드에 포함된 복수의 그리드 중 제1 그리드에 매핑된 픽셀에 의해 결정되고,
상기 제2 영역은 상기 복수의 그리드 중 제2 그리드에 매핑된 픽셀에 의해 결정되는,
이미지 변환 방법.The method of claim 3,
The plurality of pixels included in the first image are mapped to a three-dimensional grid defined by two axes representing a position of a pixel and one axis representing a size of a pixel value,
The first area is determined by a pixel mapped to a first grid among a plurality of grids included in the 3D grid,
The second area is determined by a pixel mapped to a second grid among the plurality of grids,
Image conversion method.
상기 제1 영역은 상기 제1 이미지에 슈퍼픽셀(super-pixel) 알고리즘을 적용하여 얻어진 복수의 슈퍼픽셀 중 제1 슈퍼픽셀에 대응하고,
상기 제2 영역은 상기 복수의 슈퍼픽셀 중 제2 슈퍼픽셀에 대응하고,
상기 변환 파라미터 값을 산출하는 단계는,
상기 제1 이미지와, 상기 제1 슈퍼픽셀 및 상기 제2 슈퍼픽셀에 관한 정보를 상기 이미지 변환 모델에 입력하여 상기 제1 파라미터 값과 상기 제2 파라미터 값을 산출하는 단계를 포함하는,
이미지 변환 방법.The method of claim 3,
The first region corresponds to a first superpixel among a plurality of superpixels obtained by applying a super-pixel algorithm to the first image,
The second region corresponds to a second superpixel among the plurality of superpixels,
The step of calculating the conversion parameter value,
Comprising the step of calculating the first parameter value and the second parameter value by inputting information on the first image, the first superpixel, and the second superpixel into the image conversion model,
Image conversion method.
상기 변환 파라미터 값은
이미지와 관련된 색온도(color temperature), 휘도(luminance) 및 채도(saturation) 중 적어도 하나에 대한 값을 포함하는,
이미지 변환 방법The method of claim 2,
The conversion parameter value is
Including a value for at least one of color temperature, luminance, and saturation associated with the image,
Image conversion method
상기 목적 이미지는
상기 제1 이미지에 적어도 하나의 필터를 적용하여 생성된 이미지인
이미지 변환 방법.The method of claim 1,
The target image above is
An image generated by applying at least one filter to the first image
Image conversion method.
상기 이미지 변환 모델은
컨볼루션 뉴럴 네트워크(Convolution Neural Network)를 포함하는
이미지 변환 방법.The method of claim 1,
The image conversion model is
Convolutional Neural Network
Image conversion method.
상기 제2 이미지를 변환하는 단계는
상기 학습된 이미지 변환 모델을 이용하여, 상기 제2 이미지에 대한 변환 파라미터 값을 산출하는 단계와,
상기 산출된 제2 이미지에 대한 변환 파라미터 값을 기초로, 상기 제2 이미지를 변환하는 단계를 포함하는
이미지 변환 방법.The method of claim 1,
Converting the second image
Calculating a conversion parameter value for the second image by using the learned image conversion model,
Converting the second image based on the calculated conversion parameter value for the second image
Image conversion method.
상기 변환 파라미터 값과 관련된 초기 값을 입력받는 단계를 더 포함하고,
상기 제2 이미지를 변환하는 단계는
상기 입력된 초기 값을 반영한 변환 파라미터 값을 기초로, 상기 제2 이미지를 변환하는 단계를 포함하는
이미지 변환 방법.The method of claim 9,
Further comprising the step of receiving an initial value related to the conversion parameter value,
Converting the second image
Converting the second image based on a conversion parameter value reflecting the input initial value
Image conversion method.
하나 이상의 인스트럭션들(instructions)을 저장하는 메모리를 포함하고,
상기 프로세서는 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
대상 이미지인 제1 이미지와, 상기 제1 이미지를 변환한 목적 이미지를 이용하여, 이미지를 변환하는 이미지 변환 모델을 학습시키고,
상기 학습된 이미지 변환 모델을 이용하여, 제2 이미지를 변환하도록 하는
전자 장치.At least one processor; And
Contains a memory for storing one or more instructions,
The processor executes the stored one or more instructions,
Using a first image that is a target image and a target image obtained by converting the first image, an image conversion model for converting the image is trained,
Converting the second image using the learned image conversion model
Electronic device.
상기 프로세서는
상기 제1 이미지에 대한 변환 파라미터 값을 산출하고,
상기 산출된 변환 파라미터 값을 기초로, 상기 제1 이미지를 변환하고,
상기 변환된 제1 이미지와 상기 목적 이미지 간의 오차를 기초로 상기 이미지 변환 모델을 학습시키는
전자 장치.The method of claim 11,
The processor is
Calculate a conversion parameter value for the first image,
Transforming the first image based on the calculated conversion parameter value,
Training the image conversion model based on an error between the converted first image and the target image
Electronic device.
상기 변환 파라미터 값은 상기 제1 이미지의 제1 영역에 대응하는 제1 파라미터 값과 상기 제1 이미지의 제2 영역에 대응하는 제2 파라미터 값을 포함하고,
상기 프로세서는
상기 제1 파라미터 값을 이용하여 상기 제1 이미지의 상기 제1 영역을 변환하고,
상기 제1 파라미터 값을 이용하여 상기 제1 이미지의 상기 제2 영역을 변환하도록 하는
전자 장치The method of claim 12,
The conversion parameter value includes a first parameter value corresponding to a first area of the first image and a second parameter value corresponding to a second area of the first image,
The processor is
Transform the first area of the first image using the first parameter value,
Transforming the second area of the first image by using the first parameter value
Electronic device
상기 제1 이미지에 포함된 복수의 픽셀은 픽셀의 위치를 나타내는 2개의 축과 픽셀값의 크기를 나타내는 1개의 축에 의해 정의되는 3차원 그리드에 매핑되고,
상기 제1 영역은 상기 3차원 그리드에 포함된 복수의 그리드 중 제1 그리드에 매핑된 픽셀에 의해 결정되고,
상기 제2 영역은 상기 복수의 그리드 중 제2 그리드에 매핑된 픽셀에 의해 결정되는,
전자 장치.The method of claim 13,
The plurality of pixels included in the first image are mapped to a three-dimensional grid defined by two axes representing a position of a pixel and one axis representing a size of a pixel value,
The first area is determined by a pixel mapped to a first grid among a plurality of grids included in the 3D grid,
The second area is determined by a pixel mapped to a second grid among the plurality of grids,
Electronic device.
상기 제1 영역은 상기 제1 이미지에 슈퍼픽셀(super-pixel) 알고리즘을 적용하여 얻어진 복수의 슈퍼픽셀 중 제1 슈퍼픽셀에 대응하고,
상기 제2 영역은 상기 복수의 슈퍼픽셀 중 제2 슈퍼픽셀에 대응하고,
상기 프로세서는
상기 제1 이미지와, 상기 제1 슈퍼픽셀 및 상기 제2 슈퍼픽셀에 관한 정보를 상기 이미지 변환 모델에 입력하여 상기 제1 파라미터 값과 상기 제2 파라미터 값을 산출하도록 하는
전자 장치.The method of claim 13,
The first region corresponds to a first superpixel among a plurality of superpixels obtained by applying a super-pixel algorithm to the first image,
The second region corresponds to a second superpixel among the plurality of superpixels,
The processor is
Inputting information on the first image, the first superpixel, and the second superpixel into the image conversion model to calculate the first parameter value and the second parameter value
Electronic device.
상기 변환 파라미터 값은
이미지와 관련된 색온도(color temperature), 휘도(luminance) 및 채도(saturation) 중 적어도 하나에 대한 값을 포함하는,
전자 장치.The method of claim 12,
The conversion parameter value is
Including a value for at least one of color temperature, luminance, and saturation associated with the image,
Electronic device.
상기 목적 이미지는
상기 제1 이미지에 적어도 하나의 필터를 적용하여 생성된 이미지인
전자 장치.The method of claim 11,
The target image above is
An image generated by applying at least one filter to the first image
Electronic device.
상기 이미지 변환 모델은
컨볼루션 뉴럴 네트워크(Convolution Neural Network)를 포함하는
전자 장치.The method of claim 11,
The image conversion model is
Convolutional Neural Network
Electronic device.
상기 프로세서는
상기 학습된 이미지 변환 모델을 이용하여, 상기 제2 이미지에 대한 변환 파라미터 값을 산출하고,
상기 산출된 제2 이미지에 대한 변환 파라미터 값을 기초로, 상기 제2 이미지를 변환하도록 하는
전자 장치.The method of claim 11,
The processor is
Using the learned image transformation model, calculate a transformation parameter value for the second image,
Converting the second image based on the calculated conversion parameter value for the second image
Electronic device.
상기 프로세서는
상기 변환 파라미터 값과 관련된 초기 값을 입력받고,
상기 입력된 초기 값을 반영한 변환 파라미터 값을 기초로, 상기 제2 이미지를 변환하도록 하는
전자 장치.The method of claim 19,
The processor is
Receiving an initial value related to the conversion parameter value,
Converting the second image based on a conversion parameter value reflecting the input initial value
Electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200022368A KR102245218B1 (en) | 2020-02-24 | 2020-02-24 | Normalization method for machine-learning and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200022368A KR102245218B1 (en) | 2020-02-24 | 2020-02-24 | Normalization method for machine-learning and apparatus thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049694A Division KR102082970B1 (en) | 2019-04-29 | 2019-04-29 | Normalization method for machine-learning and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200126327A true KR20200126327A (en) | 2020-11-06 |
KR102245218B1 KR102245218B1 (en) | 2021-04-27 |
Family
ID=73572122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200022368A KR102245218B1 (en) | 2020-02-24 | 2020-02-24 | Normalization method for machine-learning and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102245218B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113902749A (en) * | 2021-09-30 | 2022-01-07 | 上海商汤临港智能科技有限公司 | Image processing method and device, computer equipment and storage medium |
KR20220131808A (en) * | 2021-03-22 | 2022-09-29 | 재단법인대구경북과학기술원 | Method and apparatus for generating imaga classification model |
KR20220138696A (en) * | 2021-04-06 | 2022-10-13 | 서울대학교산학협력단 | Method and apparatus for classifying image |
WO2023229431A1 (en) * | 2022-05-27 | 2023-11-30 | 삼성전자 주식회사 | Method for correcting image by using neural network model, and computing device for executing neural network model for image correction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160000271A (en) | 2014-06-24 | 2016-01-04 | 연세대학교 산학협력단 | Medical imaging device and image compensating method thereof |
-
2020
- 2020-02-24 KR KR1020200022368A patent/KR102245218B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160000271A (en) | 2014-06-24 | 2016-01-04 | 연세대학교 산학협력단 | Medical imaging device and image compensating method thereof |
Non-Patent Citations (5)
Title |
---|
Chen, Dongdong, et al. Stereoscopic neural style transfer. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. * |
Gatys, Leon A., Alexander S. Ecker, and Matthias Bethge. Image style transfer using convolutional neural networks. Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. * |
Johnson, Justin, Alexandre Alahi, and Li Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. European conference on computer vision. Springer, Cham, 2016. * |
Lee, Hoyeon, et al. Deep-neural-network-based sinogram synthesis for sparse-view CT image reconstruction. IEEE Transactions on Radiation and Plasma Medical Sciences 3.2. 2018. * |
Zhu, Feida, et al. Exemplar-based image and video stylization using fully convolutional semantic features. IEEE Transactions on Image Processing 26.7. 2017.7.* * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220131808A (en) * | 2021-03-22 | 2022-09-29 | 재단법인대구경북과학기술원 | Method and apparatus for generating imaga classification model |
KR20220138696A (en) * | 2021-04-06 | 2022-10-13 | 서울대학교산학협력단 | Method and apparatus for classifying image |
CN113902749A (en) * | 2021-09-30 | 2022-01-07 | 上海商汤临港智能科技有限公司 | Image processing method and device, computer equipment and storage medium |
WO2023229431A1 (en) * | 2022-05-27 | 2023-11-30 | 삼성전자 주식회사 | Method for correcting image by using neural network model, and computing device for executing neural network model for image correction |
Also Published As
Publication number | Publication date |
---|---|
KR102245218B1 (en) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102245218B1 (en) | Normalization method for machine-learning and apparatus thereof | |
CN108986140B (en) | Target scale self-adaptive tracking method based on correlation filtering and color detection | |
US9418458B2 (en) | Graph image representation from convolutional neural networks | |
US11875257B2 (en) | Normalization method for machine-learning and apparatus thereof | |
US20150278710A1 (en) | Machine learning apparatus, machine learning method, and non-transitory computer-readable recording medium | |
CN111079833B (en) | Image recognition method, image recognition device and computer-readable storage medium | |
CN111986785B (en) | Medical image labeling method, device, equipment and storage medium | |
AU2017443986B2 (en) | Color adaptation using adversarial training networks | |
KR102046113B1 (en) | Machine-learning method for neural network and apparatus thereof | |
US10810464B2 (en) | Information processing apparatus, information processing method, and storage medium | |
CN110598638A (en) | Model training method, face gender prediction method, device and storage medium | |
CN111476806A (en) | Image processing method, image processing device, computer equipment and storage medium | |
CN110765882A (en) | Video tag determination method, device, server and storage medium | |
US20200364913A1 (en) | User guided segmentation network | |
CN113469092A (en) | Character recognition model generation method and device, computer equipment and storage medium | |
CN113591763A (en) | Method and device for classifying and identifying face shape, storage medium and computer equipment | |
CN115526803A (en) | Non-uniform illumination image enhancement method, system, storage medium and device | |
CN115641323A (en) | Method and device for automatically labeling medical images | |
CN113052236A (en) | Pneumonia image classification method based on NASN | |
CN117315758A (en) | Facial expression detection method and device, electronic equipment and storage medium | |
KR102037483B1 (en) | Method for normalizing neural network data and apparatus thereof | |
KR20210113539A (en) | Method, apparatus and computer program for classifying chromosomes using artificial intelligence | |
CN116486151A (en) | Image classification model training method, image classification method, device and storage medium | |
WO2022262337A1 (en) | Video labeling method and apparatus, computing device, and computer-readable storage medium | |
CN113902001A (en) | Model training method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |