Nothing Special   »   [go: up one dir, main page]

KR102034248B1 - GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템 - Google Patents

GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템 Download PDF

Info

Publication number
KR102034248B1
KR102034248B1 KR1020190045836A KR20190045836A KR102034248B1 KR 102034248 B1 KR102034248 B1 KR 102034248B1 KR 1020190045836 A KR1020190045836 A KR 1020190045836A KR 20190045836 A KR20190045836 A KR 20190045836A KR 102034248 B1 KR102034248 B1 KR 102034248B1
Authority
KR
South Korea
Prior art keywords
image
difficulty
model
generator
abnormality detection
Prior art date
Application number
KR1020190045836A
Other languages
English (en)
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 KR1020190045836A priority Critical patent/KR102034248B1/ko
Priority to US16/535,277 priority patent/US10733733B1/en
Application granted granted Critical
Publication of KR102034248B1 publication Critical patent/KR102034248B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • G06T7/0014Biomedical image inspection using an image reference approach
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30096Tumor; Lesion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Radiology & Medical Imaging (AREA)
  • Public Health (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

GAN(Generative Adversarial Networks)을 이용하여 검출 결과의 정확도 및 신뢰도를 향상시킬 수 있는 이상 검출 방법, 장치 및 그 시스템이 제공된다. 본 개시의 몇몇 실시예에 따른 이상 검출 장치는, GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델과 이상(anomaly) 검출 모델을 저장하는 메모리 및 상기 이미지 변환 모델을 통해 저난이도의 학습 이미지를 고난이도의 학습 이미지로 변환하고, 상기 변환된 학습 이미지를 이용하여 상기 이상 검출 모델을 학습시키는 프로세서를 포함할 수 있다. 이상 검출이 어려운 고난이도의 학습 이미지로 이상 검출 모델을 학습시킴으로써, 이상 검출 장치의 검출 성능이 향상될 수 있다.

Description

GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템{METHOD FOR DETECTING ANOMALY USING GENERATIVE ADVERSARIAL NETWORKS, APPARATUS AND SYSTEM THEREOF}
본 개시는 이상 검출 방법, 장치 및 그 시스템에 관한 것이다. 보다 자세하게는, 기계 학습 모델을 이용하여 주어진 이미지에서 이상(anomaly)을 검출함에 있어서, 검출 결과의 정확도 및 신뢰도를 향상시킬 수 있는 방법, 그 방법을 지원하는 장치 및 시스템에 관한 것이다.
최근 수년간 딥러닝(deep-learning)을 중심으로 하는 기계학습(machine-learning) 기술은 영상, 음성, 텍스트 등 다양한 형태의 데이터 분석에서 기존 방법의 성능을 뛰어 넘는 결과를 보이며 주목 받아 왔다. 또한, 기계학습 기술은 기술 자체에 내재된 확장성 및 유연성으로 인해 다양한 분야에 도입되어 활용되고 있다.
다양한 분야 중에서도 의료 분야는 진단 보조 시스템을 개발하기 위해 기계학습 기술을 가장 활발하게 도입하고 있는 분야이다. 진단 보조 시스템은 기계학습 기술에 기반한 이상 검출 로직을 이용하여 질병을 조기 진단하고, 추가 검사를 방지함으로써 전반적인 의료 비용 절감에 일조할 수 있다.
그러나, 육안으로 보이지 않는 작은 병변이나 진행 초기 단계의 병변에 관한 대량의 학습 이미지셋을 확보하는 것은 쉽지 않으며, 대부분의 학습 이미지셋은 병변이 잘 보이는 이미지들로 구성된다. 이 경우, 진단 보조 시스템은 학습 이미지셋의 부재로 인해 진행 초기 단계의 병변을 정확하게 검출하지 못하게 되고, 결과적으로 진단 보조 시스템의 효용성은 떨어질 수 밖에 없다.
한국공개특허 제10-2016-0012758호 (2016.02.03일 공개)
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 주어진 이미지에서 이상을 검출함에 있어서, 검출 결과의 정확도 및 신뢰도를 향상시킬 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 의료 이미지에서 병변 검출을 포함하는 진단 로직을 수행함에 있어서, 진단 결과의 정확도 및 신뢰도를 향상시킬 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 이상 검출 난이도가 높은 이미지를 낮은 난이도의 이미지로 정확하게 변환할 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
이상 검출 난이도가 낮은 이미지를 높은 난이도의 이미지로 정확하게 변환할 수 있는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 고성능의 이미지 변환 모델을 구축하는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 고성능의 이상 검출 모델을 구축하는 방법, 그 방법을 지원하는 장치 및 시스템을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 이상 검출 장치는, GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델과 이상(anomaly) 검출 모델을 저장하는 메모리 및 상기 이미지 변환 모델을 통해 이상 검출 난이도가 제1 난이도인 제1 학습 이미지를 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하고, 상기 변환된 제2 학습 이미지를 이용하여 상기 이상 검출 모델을 학습시키는 프로세서를 포함할 수 있다.
몇몇 실시예에서, 상기 이미지 변환 모델은, 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크(fake) 이미지로 변환하는 제1 생성기(generator)와 상기 제2 난이도의 이미지를 상기 제1 난이도의 페이크 이미지로 변환하는 제2 생성기를 포함하고, 상기 프로세서는, 검출대상 이미지에 대한 이상 검출 요청에 응답하여, 상기 제2 생성기를 통해 상기 검출대상 이미지를 상기 제1 난이도의 검출대상 이미지로 변환하고, 상기 이상 검출 모델을 통해 상기 변환된 제1 난이도의 검출대상 이미지에 대한 이상 검출을 수행할 수 있다.
몇몇 실시예에서, 상기 프로세서는, 이상 클래스에 속한 이상 이미지셋과 정상 클래스에 속한 정상 이미지셋을 이용하여 상기 이상 검출 모델을 사전학습시키고, 상기 사전학습된 이상 검출 모델을 이용하여 상기 이상 이미지셋을 상기 제1 난이도를 갖는 제1 이미지셋과 상기 제2 난이도를 갖는 제2 이미지셋으로 분류하며, 상기 제1 이미지셋과 상기 제2 이미지셋을 이용하여 상기 이미지 변환 모델을 학습시킬 수 있다.
몇몇 실시예에서, 상기 이상 검출 모델의 대상 클래스는 이상 클래스와 정상 클래스를 포함하고, 상기 프로세서는, 상기 이상 검출 모델을 통해 상기 제2 학습 이미지가 속한 클래스를 예측하고, 상기 예측의 오차를 이용하여 상기 이미지 변환 모델을 업데이트할 수 있다.
몇몇 실시예에서, 상기 이상 검출 모델의 대상 클래스는 페이크(fake) 클래스를 포함하고, 상기 프로세서는, 상기 이상 검출 모델을 통해 상기 제2 학습 이미지가 속한 클래스를 예측하고, 상기 예측의 오차를 이용하여 상기 이미지 변환 모델을 업데이트할 수 있다.
몇몇 실시예에서, 상기 이상 검출 모델의 대상 클래스는 상기 제1 난이도에 대응되는 제1 이상 클래스와 상기 제2 난이도에 대응되는 제2 이상 클래스를 포함하고, 상기 프로세서는, 상기 이상 검출 모델을 통해 상기 제2 학습 이미지가 속한 클래스를 예측하고, 상기 예측의 오차를 이용하여 상기 이미지 변환 모델을 업데이트할 수 있다.
몇몇 실시예에서, 상기 이미지 변환 모델은 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크(fake) 이미지로 변환하는 제1 생성기(generator)와 상기 제2 난이도의 이미지를 상기 제1 난이도의 페이크 이미지로 변환하는 제2 생성기를 포함하고, 상기 프로세서는, 상기 제1 생성기를 통해 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하고, 상기 제2 생성기를 통해 상기 제2 학습 이미지를 상기 제1 난이도의 제3 학습 이미지로 변환하며, 상기 제1 학습 이미지와 상기 제3 학습 이미지 간의 차이를 기초로 상기 제1 생성기를 업데이트할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 이상 검출 방법은, 컴퓨팅 장치에서 의하여 수행되는 이상 검출 방법에 있어서, GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델을 통해 이상 검출 난이도가 제1 난이도인 제1 학습 이미지를 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하는 단계 및 상기 변환된 제2 학습 이미지를 이용하여 이상 검출 모델을 학습시키는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 컴퓨터 프로그램은, GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델을 통해 제1 난이도의 제1 학습 이미지를 이상 검출 난이도가 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하는 단계 및 상기 변환된 제2 학습 이미지를 이용하여 이상 검출 모델을 학습시키는 단계를 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장될 수 있다.
도 1 및 도 2는 본 개시의 몇몇 실시예에 따른 이상 검출 장치를 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 이상 검출 방법의 학습 프로세스를 나타내는 예시적인 흐름도이다.
도 4 및 도 5는 본 개시의 몇몇 실시예에 따른 이미지셋 분류 방법을 설명하기 위한 예시도이다.
도 6은 본 개시의 다양한 실시예에 따른 이미지 변환 모델의 학습 방법을 설명하기 위한 예시도이다.
도 7은 본 개시의 제1 실시예에 따른 이미지 변환 모델의 구조와 학습 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 제2 실시예에 따른 이미지 변환 모델의 구조와 학습 방법을 설명하기 위한 도면이다.
도 9 및 도 10은 본 개시의 제3 실시예에 따른 이미지 변환 모델의 구조와 학습 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 제1 실시예에 따른 이상 검출 모델의 출력 구조와 이미지 변환 모델의 학습 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 제2 실시예에 따른 이상 검출 모델의 출력 구조와 이미지 변환 모델의 학습 방법을 설명하기 위한 도면이다.
도 13은 본 개시의 제3 실시예에 따른 이상 검출 모델의 출력 구조와 이미지 변환 모델의 학습 방법을 설명하기 위한 도면이다.
도 14는 본 개시의 제4 실시예에 따른 이상 검출 모델의 출력 구조와 이미지 변환 모델의 학습 방법을 설명하기 위한 도면이다.
도 15는 본 개시의 몇몇 실시예에 따른 이상 검출 방법의 검출 프로세스를 나타내는 예시적인 흐름도이다.
도 16은 본 개시의 몇몇 활용예에 따른 진단 보조 시스템을 설명하기 위한 도면이다.
도 17은 본 개시의 다양한 실시예에 따른 장치/시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 개시에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 개시에 대한 설명에 앞서, 본 개시에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예에 따른 이상 검출 장치(10)를 설명하기 위한 도면이다.
도 1을 참조하면, 이상 검출 장치(10)는 이상(anomaly) 검출 기능이 구비된 컴퓨팅 장치이다. 상기 이상은 이상 행위, 이상 상태, 이상 객체(e.g. 병변)와 같이 정상과 구별되며 검출 가능한 모든 대상을 포함할 수 있다. 보다 상세하게는, 이상 검출 장치(10)는 레이블이 주어진 학습 이미지셋(11)을 기계학습(machine-learning)하여 이상 검출 모델을 구축하고, 상기 이상 검출 모델을 이용하여 검출대상 이미지(13)의 레이블(15)을 예측할 수 있다. 레이블(15)의 클래스는 정상 클래스와 이상 클래스를 포함할 수 있을 것이나, 다중 클래스로 더 세분화될 수도 있다. 이하의 서술에서는, 설명의 편의상, 이상 검출 장치(10)를 "검출 장치(10)"로 약칭하도록 한다.
상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 서버(server) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치의 일 예는 도 17을 참조하도록 한다.
도 1은 검출 장치(10)가 하나의 컴퓨팅 장치로 구현된 것을 예시하고 있으나, 검출 장치(10)의 기능은 복수의 컴퓨팅 장치로 구성된 이상 검출 시스템을 통해 구현될 수도 있다. 이와 같은 경우, 검출 장치(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 검출 장치(10)의 제2 기능은 제2 컴퓨팅 장치에서 구현될 수 있다. 또는, 상기 복수의 컴퓨팅 장치가 제1 기능 또는 제2 기능을 나누어 구현할 수도 있다.
학습 이미지셋(11)은 정답 레이블이 주어진 학습 데이터셋이다. 예를 들어, 학습 이미지셋(11)은 이상 클래스가 레이블로 주어진 이미지셋과 정상 클래스가 레이블로 주어진 이미지셋을 포함할 수 있다. 그러나, 이에 한정되는 것은 아니고, 상기 이상 클래스 또는 상기 정상 클래스는 복수의 서브 클래스로 세분화될 수도 있다. 이하에서는, 이해의 편의를 제공하기 위해, 검출대상 클래스가 바이너리 클래스(즉, 이상과 정상)인 경우를 가정하여 설명을 이어가도록 한다.
본 개시의 다양한 실시예에서, 검출 장치(10)는 이상 검출 난이도를 기준으로 이상 클래스에 속한 학습 이미지셋을 분류할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 검출 장치(10)는 상기 학습 이미지셋을 제1 난이도의 제1 이미지셋(21)과 제2 난이도의 제2 이미지셋(23)으로 분류할 수 있다. 이때, 상기 제1 난이도는 이상 검출 난이도가 기준치 미만인 경우를 의미하고, 상기 제2 난이도는 이상 검출 난이도가 기준치 이상인 경우를 의미할 수 있다. 또한, 검출 장치(10)는 제1 이미지셋(21)과 제2 이미지셋(23)을 이용하여 GAN(Generative Adversarial Network) 기반의 이미지 변환 모델(27)을 학습시킬 수 있다. 상기 학습을 통해, 이미지 변환 모델(27)은 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크 이미지(fake image)로 변환하거나 그 반대의 변환 기능을 수행할 수 있게 된다.
이미지 변환 모델(27)이 충분히 학습되면, 검출 장치(10)는 이미지 변환 모델(27)을 통해 상기 제1 난이도의 이미지들(e.g. 이미지셋 21)을 상기 제2 난이도의 페이크 이미지로 변환하고, 변환된 페이크 이미지를 이용하여 이상 검출 모델(25)을 학습시킬 수 있다. 그렇게 함으로써, 이상 검출 모델(25)의 검출 성능은 향상될 수 있다. 즉, 검출 장치(10)는 이상 검출 모델(25)을 통해, 이상 검출이 어려운 고난이도 이미지(e.g. 진행 초기 단계의 병변이 포함된 이미지)에 대해서도 높은 정확도로 이상을 검출할 수 있다. 본 실시예에 대한 보다 자세한 설명은 도 3 이하의 도면을 참조하여 상세하게 설명하도록 한다.
이하에서는, 설명의 편의상, 이미지 변환 모델을 "변환 모델"로 약칭하고, 이상 검출 모델을 "검출 모델"로 약칭하도록 한다.
지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예에 따른 검출 장치(10)에 대하여 설명하였다. 이하에서는, 도 3 내지 도 15를 참조하여 본 개시의 다양한 실시예에 따른 이상 검출 방법에 대하여 설명하도록 한다.
이하에서 후술될 방법의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 상기 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 상기 방법에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 복수의 물리적인 컴퓨팅 장치에 의해 분산되어 실행될 수도 있다. 예를 들면, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 상기 방법의 각 단계가 도 1에 예시된 검출 장치(10)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 본 실시예에 관한 설명에서 각 동작의 주어가 생략된 경우, 상기 예시된 장치(10)에 의하여 수행될 수 있는 것으로 이해될 수 있을 것이다. 또한, 본 실시예에 따른 방법은 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.
도 3은 본 개시의 몇몇 실시예에 따른 이상 검출 방법의 학습 프로세스를 나타내는 예시적인 흐름도이다. 즉, 도 3은 기계학습을 통해 변환 모델과 검출 모델을 구축하는 프로세스를 예시하고 있다. 단, 도 3에 예시된 프로세스는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 3에 도시된 바와 같이, 상기 학습 프로세스는 학습 이미지셋을 획득하는 단계 S100에서 시작된다. 상기 학습 이미지셋은 정답 레이블이 주어진 데이터셋으로, 이상 클래스에 속한 학습 이미지셋과 정상 클래스에 속한 학습 이미지셋을 포함할 수 있다.
단계 S120에서, 이상 검출 난이도를 기준으로 이상 클래스에 속한 학습 이미지셋이 분류된다. 예를 들어, 상기 학습 이미지셋이 저난이도의 이미지셋과 고난이도의 이미지셋으로 분류될 수 있다. 다른 예에서는, 이상 검출 난이도를 기준으로 상기 학습 이미지셋이 3개 이상의 이미지셋으로 분류될 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 상기 학습 이미지셋이 저난이도와 고난이도의 이미지셋으로 분류되는 경우를 가정하여 설명을 이어가도록 한다.
상기 학습 이미지셋을 분류하는 구체적인 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예에서는, 검출 모델이 출력하는 이상 스코어(e.g. 이상 클래스의 컨피던스 스코어)를 기준으로 상기 학습 이미지셋이 자동으로 분류될 수 있다. 도 4 및 도 5를 참조하여 본 실시예에 대하여 보다 상세하게 설명한다. 도 4 및 도 5는 검출 모델(33)이 암(cancer)과 관련된 병변을 검출하는 모델인 것을 예시하고 있는데, 다른 언급이 없는 한 이하의 설명에서도 검출 모델은 질병을 진단하거나 병변을 검출하는 모델(e.g. 암 진단 모델)인 것을 가정하여 설명을 이어가도록 한다. 다만, 이는 본 개시의 일부 실시예에 불과할 뿐이며, 이상 검출 모델의 검출 대상은 실시예에 따라 얼마든지 달라질 수 있다.
도 4에 도시된 바와 같이, 이상 클래스에 속한 학습 이미지셋(e.g. 병변이 검출된 이미지들)을 분류하기 전에, 검출 모델(33)에 대한 학습이 수행될 수 있다. 검출 모델(33)의 이상 스코어가 이상 검출 난이도를 정확하게 반영하기 위해서는, 충분한 학습이 선행되어야 하기 때문이다. 검출 모델(33)은 이상 및 정상 클래스에 해당하는 학습 이미지셋(31, 32)을 이용하여 학습될 수 있다.
다음으로, 도 5를 참조하면, 이상 클래스에 속한 이미지셋(31)이 저난이도의 제1 이미지셋(35)과 고난이도의 제2 이미지셋(36)으로 분류될 수 있다. 예를 들어, 검출 모델(33)의 이상 스코어가 기준치 이상인 이미지들이 제1 이미지셋(35)으로 분류되고, 기준치 미만인 이미지들이 제2 이미지셋(36)으로 분류될 수 있다. 상기 기준치는 미리 설정된 고정값 또는 상황에 따라 변동되는 변동값일 수 있다. 예를 들어, 상기 기준치는 검출 모델(33)의 정확도가 낮을수록 더 높은 값으로 결정되는 변동값일 수도 있다. 본 실시예에서는, 검출 모델(33)의 이상 스코어를 기준으로 이미지셋이 분류되므로, 검출 모델(33)의 입장에서 분석이 어려운 이미지들이 고난이도의 이미지로 분류될 수 있다. 예를 들어, 진행 초기 상태의 병변이 포함된 이미지, 매우 작은 크기의 병변이 포함된 이미지, 노이즈가 많이 포함된 이미지 등이 고난이도의 이미지로 분류될 수 있다.
다른 몇몇 실시예에서는, 이미지의 메타(meta) 정보 또는 어노테이션(annotation) 정보를 기준으로 상기 학습 이미지셋이 분류될 수 있다. 상기 메타 정보 또는 상기 어노테이션 정보는 이미지의 해상도, 이미지의 형식, 노이즈 포함 정도, 검출 대상과 관련된 정보(e.g. 병변 진행 단계, 병변의 크기 등) 등의 각종 정보를 포함할 수 있다. 구체적인 예를 들어, 병변의 크기를 기준으로 상기 학습 이미지셋이 분류될 수 있다. 즉, 작은 병변이 포함된 이미지들이 고난이도의 이미지로 분류될 수 있다. 다른 예로써, 병변의 진행 단계를 기준으로 상기 학습 이미지셋이 분류될 수 있다. 즉, 초기 진행 단계의 병변이 포함된 이미지들이 고난이도의 이미지로 분류될 수 있다.
다시 도 3을 참조하여 설명한다.
단계 S140에서, 분류된 학습 이미지셋을 이용하여 변환 모델이 학습된다. 상기 변환 모델은 이미지 변환 기능을 수행하는 모델로서, GAN에 기반하여 구현될 수 있다. GAN은 페이크 이미지를 생성하는 생성기(generator)와 실제 이미지와 페이크 이미지를 판별하는 판별기(discriminator)를 포함하고, 생성기와 판별기 간의 적대적 학습(adversarial learning)을 통해 구축되는 모델을 의미한다. 당해 기술 분야의 당업자라면 GAN의 기본 구조 및 동작에 대하여 자명하게 이해할 수 있을 것인 바, GAN 자체에 대한 자세한 설명은 생략하도록 한다.
본 개시의 다양한 실시예에 따르면, 도 6에 도시된 바와 같이, 변환 모델(37)은 검출 모델(33)의 예측 오차를 이용하여 더 학습될 수 있다. 즉, 생성기와 판별기 간에 적대적 학습이 수행될 뿐만 아니라, 검출 모델(33)의 예측 오차를 이용하여 변환 모델(37)이 더 학습될 수 있다. 그렇게 함으로써, 변환 모델(37)의 성능이 더 향상될 수 있다. 또한, 변환 모델(37)을 학습하는 과정에서 검출 모델(33)도 함께 학습될 수 있다. 변환 모델(37)과 검출 모델(33)의 학습은 동시 또는 순차적으로 수행될 수도 있고, 서로 번갈아가며 수행될 수도 있다. 변환 모델(37)은 다양한 구조의 GAN에 기반하여 구현될 수 있는데, GAN의 구조에 따라 구체적인 학습 방법은 달라질 수 있다. 변환 모델(37)에 대한 구체적인 학습 방법에 대해서는 추후 도 7 내지 도 14를 참조하여 상세하게 설명하도록 한다.
다시 도 3을 참조하여 설명한다.
단계 S160에서, 학습된 변환 모델을 통해 저난이도의 학습 이미지가 고난이도의 학습 이미지로 변환된다. 상기 고난이도의 학습 이미지는 상기 변환 모델의 생성기를 통해 합성된 페이크 이미지를 의미할 수 있다. 본 단계를 통해, 검출 모델의 성능을 향상시킬 수 있는 고난이도의 이미지가 용이하게 확보될 수 있다.
단계 S180에서, 상기 고난이도의 학습 이미지를 이용하여 검출 모델이 학습된다. 예를 들어, 단계 S120에서 사전학습된 검출 모델 또는 단계 S160에서 변환 모델과 함께 학습된 검출 모델이 상기 고난이도의 학습 이미지를 이용하여 추가로 학습(e.g. fine-tuning)될 수 있다. 그렇게 함으로써, 검출 모델의 검출 성능이 크게 향상될 수 있다.
몇몇 실시예에서는, 검출 모델의 학습을 위해 데이터 확장(data augmentation) 기법이 활용될 수 있다. 상기 데이터 확장 기법은 이미지의 레이블(즉, 클래스)을 변경하지 않고 이미지 변형을 통해 같은 레이블을 갖는 신규 이미지들을 생성하는 기법을 의미한다. 이 경우, 상기 이미지 변형은 크롭(crop), 플립(flip), 컬러 지터링(color jittering), 회전(rotation), 노이즈 주입 등과 같이 다양한 방식으로 수행될 수 있다. 본 실시예에서, 이상 클래스에 속한 고난이도의 학습 이미지의 개수를 증가시키기 위해 데이터 확장 기법이 적용될 수 있다. 또한, 데이터 확장을 통해 생성된 신규 이미지를 이용하여 검출 모델이 추가로 학습될 수 있다. 상기 데이터 확장 기법은 실제 이미지뿐만 아니라 변환 모델을 통해 합성된 페이크 이미지에 대해서도 적용될 수 있다. 본 실시예에 따르면, 고난이도 이미지에 대한 추가 학습이 수행되므로, 검출 모델의 성능이 더욱 향상될 수 있다.
지금까지 도 3 내지 도 6을 참조하여 본 개시의 몇몇 실시예에 따른 이상 검출 방법의 학습 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 변환 모델을 통해 고난이도의 페이크 이미지가 용이하게 확보될 수 있고, 상기 페이크 이미지를 이용하여 검출 모델에 대한 추가 학습이 수행될 수 있다. 이에 따라, 고성능의 검출 모델이 구축될 수 있다.
이하에서는, 도 7 내지 도 10을 참조하여 변환 모델의 구조와 학습 방법에 대하여 보다 상세하게 설명하도록 한다.
도 7은 본 개시의 제1 실시예에 따른 변환 모델(40)의 구조와 학습 방법을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 상기 제1 실시예에 따른 변환 모델(40)은 제1 생성기(41), 제2 생성기(42), 제1 판별기(43) 및 제2 판별기(44)를 포함할 수 있다.
제1 생성기(41)는 저난이도의 이미지(52)를 고난이도의 페이크 이미지(53)로 변환하는 모듈이다. 그리고, 제1 판별기(43)는 고난이도의 실제 이미지(56)와 페이크 이미지(53)를 판별하는 모듈이다. 제1 생성기(41)와 제1 판별기(43)는 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.
또한, 제1 생성기(41)는 제1 일관성 오차(consistency loss; 46)를 이용하여 더 학습될 수 있다. 제1 일관성 오차(46)는 제1 생성기(41)로 입력된 실제 이미지(52)와 제2 생성기(42)를 통해 변환된 페이크 이미지(54) 간의 차이에 기초하여 산출될 수 있다. 이때, 페이크 이미지(54)는 제1 생성기(41)를 통해 변환된 페이크 이미지(53)를 다시 제2 생성기(42)를 통해 본래의 난이도로 변환한 이미지를 의미한다. 제1 일관성 오차(46)을 학습함으로써, 제1 생성기(41)는 이미지셋이 이미지 쌍(pair)으로 구성되어 있지 않더라도 정확하게 이미지 변환을 수행할 수 있게 된다. 제1 일관성 오차(46)는 예를 들어 유클리드 거리(Euclidian distance), 코사인 유사도(cosine similarity) 등에 기초하여 산출될 수 있을 것이나, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니다.
또한, 제1 생성기(41)는 검출 모델(50)의 예측 오차를 이용하여 더 학습될 수 있다. 예를 들어, 제1 생성기(41)를 통해 변환된 페이크 이미지(53)에 대해 검출 모델(50)의 예측 오차가 산출되면, 상기 예측 오차를 이용하여 제1 생성기(41)가 업데이트될 수 있다. 이와 같은 경우, 제1 생성기(41)는 더욱 고난이도에 가까운 페이크 이미지(53)를 생성할 수 있도록(즉, 검출 모델 50을 통해 고난이도에 대응되는 이상 클래스로 분류되도록) 학습될 수 있다. 상기 예측 오차는 예를 들어 크로스 엔트로피(cross-entropy) 손실 함수에 기초하여 산출될 수 있을 것이나, 본 개시의 기술적 범위가 상기 열거된 예시에 한정되는 것은 아니다.
제2 생성기(42)는 고난이도의 이미지(56)를 저난이도의 페이크 이미지(57)로 변환하는 모듈이다. 또한, 제2 판별기(44)는 저난이도의 실제 이미지(52)와 페이크 이미지(57)를 판별하는 모듈이다. 제2 생성기(42)와 제1 판별기(44) 또한 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.
또한, 제2 생성기(42)는 제2 일관성 오차(45)를 이용하여 더 학습될 수 있다. 제2 생성기(42)의 학습 과정은 제1 생성기(41)와 유사한 바 더 이상의 설명은 생략하도록 한다.
또한, 제2 생성기(42)도 검출 모델(50)의 예측 오차를 이용하여 더 학습될 수 있다. 예를 들어, 제2 생성기(42)를 통해 변환된 페이크 이미지(57)에 대해 검출 모델(50)의 예측 오차가 산출되면, 상기 예측 오차를 이용하여 제2 생성기(42)가 업데이트될 수 있다. 이와 같은 경우, 제2 생성기(42)는 더욱 저난이도에 가까운 페이크 이미지(57)를 합성할 수 있도록 학습될 수 있다.
몇몇 실시예에서는, 변환 모델(40)과 검출 모델(50)이 상호 보완적으로 학습될 수 있다. 검출 모델(50)은 생성기(41, 42)가 합성한 페이크 이미지를 학습하고, 생성기(41, 42)는 검출 모델(50)의 예측 오차를 학습하기 때문에, 상호 보완적 학습이 이루어지면 검출 모델(50)과 생성기(41, 42)의 성능이 함께 향상될 수 있기 때문이다. 보다 자세하게는, 정상 이미지(51), 서로 다른 난이도의 실제 이미지(52, 56)와 각 생성기(41, 42)에 의해 합성된 페이크 이미지(53, 57)를 이용하여 검출 모델(50)이 학습되고, 페이크 이미지(53, 57)에 대한 검출 모델(50)의 예측 오차를 이용하여 각 생성기(41, 42)가 학습될 수 있다. 이와 같은 학습은 순차적으로 수행될 수 있고, 번갈아가며 수행될 수도 있다. 몇몇 예에서는, 학습 이미지셋 분류를 위해 사전학습된 모델(도 4 및 도 5 참조)이 검출 모델(50)로 이용될 수 있다. 이와 같은 경우, 미세 조정(fine-tuning) 방식으로 검출 모델(50)이 학습될 것이므로, 검출 모델(50)이 용이하게 학습될 수 있으며, 목표 성능에 도달하기까지의 컴퓨팅 비용과 시간 비용이 절감될 수 있다.
한편, 도 7은 검출 모델(50)이 4개의 클래스를 검출하는 경우를 예로써 도시하고 있으나, 검출대상 클래스의 종류는 실시예에 따라 다양하게 설계되고 선택될 수 있다. 이와 관련하여서는 도 11 내지 도 14를 참조하여 후술하도록 한다.
도 8은 본 개시의 제2 실시예에 따른 변환 모델(60)의 구조와 학습 방법을 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 상기 제2 실시예에 따른 변환 모델(60)은 고난이도와 연관된 제1 인코더(61), 제1 생성기(63) 및 제1 판별기(65)와, 저난이도와 연관된 제2 인코더(62), 제2 생성기(64) 및 제2 판별기(66)를 포함할 수 있다.
제1 인코더(61)는 고난이도의 이미지(68-1)를 인코딩 데이터(67)로 인코딩하는 모듈이고, 제2 인코더(62)는 저난이도 이미지(68-1)를 인코딩 데이터(67)로 인코딩하는 모듈이다. 인코딩 데이터(67)는 고난이도와 저난이도 이미지 간(즉, 서로 다른 도메인 간)에 잠재적으로 공유되는 특정 공간(latent shared space) 상의 데이터로 이해될 수 있다.
제1 생성기(63)는 인코딩 데이터(67)에 기초하여 고난이도의 페이크 이미지(68-2)를 생성하는 모듈이다. 마찬가지로, 제2 생성기(64)는 인코딩 데이터(67)에 기초하여 저난이도의 페이크 이미지(69-2)를 생성하는 모듈이다.
제1 판별기(65)는 고난이도 이미지에 대한 판별 동작을 수행하는 모듈이고, 제2 판별기(66)는 저난이도 이미지에 대한 판별 동작을 수행하는 모듈이다. 제1 판별기(65)와 제1 생성기(63) 간에는 적대적 학습이 수행되고, 제2 판별기(66)와 제2 생성기(64) 간에도 적대적 학습이 수행될 수 있다.
또한, 이미지 변환을 위해 도 8에 도시된 흐름에 따라 학습이 수행될 수 있다. 예를 들어, 저난이도의 이미지(69-1)에 대한 인코딩 데이터(67)를 제1 생성기(63)에 입력하면, 저난이도의 이미지(69-1)가 고난이도의 페이크 이미지(68-2)로 변환되도록 학습이 수행될 수 있다. 유사하게, 고난이도의 이미지(68-1)에 대한 인코딩 데이터(67)를 제2 생성기(64)에 입력하면, 고난이도의 이미지(68-1)가 저난이도의 페이크 이미지(69-2)로 변환되도록 학습이 수행될 수 있다. 구체적인 학습 방법과 관련해서는"UNIT; Unsupervised Image-to-Image Translation"으로 명명되는 문헌을 참조하도록 한다. 실제 이미지 변환 또한 도 8에 도시된 흐름에 따라 수행될 수 있다.
도 8에는 도시되어 있지 않으나, 각 생성기(63, 64)는 검출 모델(e.g. 도 7의 50)의 예측 오차를 이용하여 더 학습될 수 있다. 구체적으로, 상기 검출 모델을 통해 각 생성기(63, 64)가 합성한 페이크 이미지에 대한 예측 오차가 산출되고, 상기 예측 오차를 기초로 각 생성기(63, 64)가 업데이트될 수 있다.
도 9 및 도 10은 본 개시의 제3 실시예에 따른 변환 모델의 구조와 학습 방법을 설명하기 위한 도면이다.
도 9는 고난이도와 연관된 제1 변환 모델(70)을 도시하고 있다. 도 9에 도시된 바와 같이, 제1 변환 모델(70)은 콘텐트 인코더(72-1)와 스타일 인코더(72-2) 및 디코더를 포함할 수 있다. 도 9에는 도시되어 있지 않으나, 저난이도와 연관된 제2 변환 모델(미도시)도 동일한 구성 요소를 포함할 수 있다.
콘텐트 인코더(72-1)는 고난이도의 이미지(71-1)를 콘텐트 코드(content code; 73-1)로 인코딩하고, 스타일 인코더(72-2)는 고난이도의 이미지(71-1)를 스타일 코드(style code;73-2)로 인코딩하는 모듈이다. 즉, 본 실시예에서는, 이미지의 표현(representation)이 2가지 형태로 분리될 수 있다.
콘텐트 코드(73-1)는 여러 도메인(즉, 고난이도와 저난이도 이미지)에서 공통적으로 나타나는 추상적인 특징(e.g. 객체의 자세)을 나타내는 데이터이고, 스타일 코드(73-2)는 특정 도메인(즉, 고난이도 이미지)만의 특징(e.g. 객체의 종류, 형태 등)을 나타내는 데이터로 이해될 수 있다.
디코더(74)는 콘텐트 코드(73-1)와 스타일 코드(73-2)를 이용하여 해당 도메인(즉, 고난이도 이미지)에 속한 페이크 이미지를 합성하는 모듈이다.
제1 변환 모델(70)과 제2 변환 모델(미도시)은 이미지 변환 수행하기 위해 크로스 도메인 방식으로 학습이 수행될 수 있다. 구체적인 학습 방법에 대해서는 "MUNIT; Multimodal Unsupervised Image-to-Image Translation"으로 명명된 문헌을 참조하도록 한다.
상기 제3 실시예에 따른 이미지 변환은 도 10에 도시된 바와 같이 수행될 수 있다. 도 10은 저난이도의 이미지(76)를 고난이도의 페이크 이미지(75-2)로 변환하는 것을 예시하고 있다.
도 10에 도시된 바와 같이, 저난이도 이미지(76)에 대한 콘텐트 코드(78)와 고난이도 이미지(75-1)에 대한 스타일 코드(79)를 디코더(74)를 통해 디코딩함으로써 고난이도의 페이크 이미지(75-2)가 생성될 수 있다. 콘텐트 코드(78)는 저난이도와 연관된 콘텐트 인코더(77)에 의해 생성될 수 있고, 스타일 코드(79)는 고난이도와 연관된 스타일 인코더(72-2)에 의해 생성될 수 있다.
지금까지 도 7 내지 도 10을 참조하여 본 개시의 다양한 실시예에 따른 변환 모델의 구조와 학습 방법에 대하여 설명하였다. 상술한 실시예 외에도, 변환 모델은 이미지 변환을 수행하는 다양한 GAN 모델(e.g. domain transfer network)에 기반하여 구현될 수 있으므로, 본 개시의 기술적 범위는 특정 구조의 GAN에 한정되지 않는다.
이하에서는, 도 11 내지 도 14를 참조하여 검출 모델의 출력 구조와 관련된 실시예들에 대하여 설명하도록 한다.
도 11은 본 개시의 제1 실시예에 따른 검출 모델(87)의 출력 구조와 변환 모델(83)의 학습 방법을 설명하기 위한 도면이다.
도 11에 도시된 바와 같이, 상기 제1 실시예에 따른 검출 모델(87)의 출력 구조는 정상 클래스와 이상 클래스(e.g. cancer)를 검출하도록 설계될 수 있다. 즉, 검출 모델(87)의 대상 클래스는 정상 클래스와 이상 클래스를 포함할 수 있다.
이와 같은 경우, 변환 모델(83)은 클래스를 잘 유지하면서 이미지를 변환하도록 학습될 수 있다(즉, 클래스 유지에 중점을 둔 학습이 수행됨). 구체적으로, 저난이도의 이미지(81)가 변환 모델(83)을 통해 고난이도의 페이크 이미지(85)로 변환되고, 검출 모델(87)을 통해 페이크 이미지(85)에 대한 예측 오차(89)가 산출될 수 있다. 이때, 예측 오차(89)는 저난이도의 이미지(81)가 고난이도의 페이크 이미지(85)로 변환되는 동안 이상 클래스가 잘 유지되었는지를 반영하고 있는 값이 될 수 있다. 따라서, 예측 오차(89)가 최소화되도록 변환 모델(83)이 업데이트되면, 변환 모델(83)은 이상 클래스를 잘 유지하면서 난이도 변환을 정확하게 수행할 수 있도록 학습될 수 있다.
도 11은 저난이도의 이미지(81)가 고난이도의 페이크 이미지(85)로 변환되는 경우만 도시하고 있으나, 반대의 경우에도 상술한 바와 유사하게 변환 모델(83)이 학습될 수 있다. 이는, 도 12 내지 도 14의 경우에도 동일하게 적용될 수 있다.
도 12는 본 개시의 제2 실시예에 따른 검출 모델(97)의 출력 구조와 변환 모델(93)의 학습 방법을 설명하기 위한 도면이다.
도 12에 도시된 바와 같이, 상기 제2 실시예에 따른 검출 모델(97)의 출력 구조는 정상 클래스와 저난이도(e.g. easy)에 대응되는 제1 이상 클래스 및 고난이도(e.g. hard)에 대응되는 제2 이상 클래스를 검출하도록 설계될 수 있다.
이와 같은 경우, 변환 모델(93)은 클래스를 유지하면서 난이도 변환까지 정확하게 수행하도록 학습될 수 있다(즉, 클래스 유지와 난이도 변환 모두에 중점을 둔 학습이 수행됨). 구체적으로, 저난이도의 이미지(91)가 변환 모델(93)을 통해 고난이도의 페이크 이미지(95)로 변환되고, 검출 모델(97)을 통해 페이크 이미지(95)에 대한 예측 오차(99)가 산출될 수 있다. 이때, 예측 오차(99)는 저난이도의 이미지(91)가 고난이도의 페이크 이미지(95)로 변환되는 동안 이상 클래스가 잘 유지되었는지 및/또는 난이도 변환이 정확하게 되었는지를 반영하고 있는 값이 될 수 있다. 따라서, 예측 오차(99)가 최소화되도록 변환 모델(93)이 업데이트되면, 변환 모델(93)은 이상 클래스를 유지하면서 난이도 변환까지 정확하게 수행할 수 있도록 학습될 수 있다.
도 13은 본 개시의 제3 실시예에 따른 검출 모델(107)의 출력 구조와 변환 모델(103)의 학습 방법을 설명하기 위한 도면이다.
도 13에 도시된 바와 같이, 상기 제3 실시예에 따른 검출 모델(107)의 출력 구조는 페이크 클래스, 정상 클래스 및 이상 클래스(e.g. cancer)를 검출하도록 설계될 수 있다. 즉, 검출 모델(107)은 판별 동작을 더 수행하도록 설계될 수 있다.
이와 같은 경우, 변환 모델(103)은 이상 클래스를 잘 유지하면서 실제 이미지에 가깝게 페이크 이미지를 합성할 수 있도록 학습될 수 있다(즉, 클래스 유지와 페이크 이미지 합성에 중점을 둔 학습이 수행됨). 구체적으로, 저난이도의 이미지(101)가 변환 모델(103)을 통해 고난이도의 페이크 이미지(105)로 변환되고, 검출 모델(107)을 통해 페이크 이미지(105)에 대한 예측 오차(109)가 산출될 수 있다. 이때, 예측 오차(109)는 저난이도의 이미지(101)가 고난이도의 페이크 이미지(105)로 변환되는 동안 이상 클래스가 잘 유지되었는지 및/또는 실제 이미지에 가깝게 변환되었는지를 반영하고 있는 값이 될 수 있다. 따라서, 예측 오차(109)가 최소화되도록 변환 모델(103)이 업데이트되면, 변환 모델(103)은 이상 클래스를 유지하면서 실제 이미지에 가까운 페이크 이미지를 더 잘 합성할 수 있도록 학습될 수 있다.
도 14는 본 개시의 제4 실시예에 따른 검출 모델(117)의 출력 구조와 변환 모델(113)의 학습 방법을 설명하기 위한 도면이다.
도 14에 도시된 바와 같이, 상기 제4 실시예에 따른 검출 모델(117)의 출력 구조는 페이크 클래스, 정상 클래스, 저난이도에 대응되는 제1 이상 클래스 및 고난이도에 대응되는 제2 이상 클래스를 검출하도록 설계될 수 있다.
이와 같은 경우, 변환 모델(113)은 클래스를 유지하면서 정확한 난이도 변환을 수행함과 동시에 실제에 가까운 페이크 이미지를 합성하도록 학습될 수 있다(즉, 클래스 유지, 페이크 이미지 합성, 난이도 변환 모두에 중점을 둔 학습이 수행됨). 구체적으로, 저난이도의 이미지(111)가 변환 모델(113)을 통해 고난이도의 페이크 이미지(115)로 변환되고, 검출 모델(117)을 통해 페이크 이미지(115)에 대한 예측 오차(119)가 산출될 수 있다. 이때, 예측 오차(119)는 저난이도의 이미지(111)가 고난이도의 페이크 이미지(115)로 변환되는 동안 이상 클래스가 잘 유지되었는지, 난이도 변환이 정확하게 되었는지 및/또는 실제에 가까운 페이크 이미지가 합성되었는지를 반영하고 있는 값이 될 수 있다. 따라서, 예측 오차(119)가 최소화되도록 변환 모델(113)이 업데이트되면, 변환 모델(113)은 이상 클래스를 유지하면서 정확한 난이도 변환을 수행함과 동시에 실제에 가까운 페이크 이미지를 합성하도록 학습될 수 있다.
지금까지 도 11 내지 도 14를 참조하여 본 개시의 다양한 실시예에 따른 검출 모델의 출력 구조에 대하여 설명하였다. 상술한 실시예 외에도, 검출 모델의 출력 구조는 다양한 형태로 설계되고 선택될 수 있으므로, 본 개시의 기술적 범위가 앞서 설명된 실시예들에 한정되는 것은 아니다. 예를 들어, 상기 검출 모델의 출력 구조는 고난이도에 대응되는 제1 이상 클래스와 저난이도에 대응되는 제2 이상 클래스만을 검출하도록 설계될 수도 있다.
이하에서는, 도 15를 참조하여 본 개시의 몇몇 실시예에 따른 이상 검출 방법의 검출 프로세스에 대하여 설명하도록 한다. 상기 검출 프로세스는 레이블이 주어지지 않은 검출대상 이미지에 대하여 이상 검출을 수행하는 과정을 의미한다.
도 15는 상기 검출 프로세스는 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 15에 도시된 바와 같이, 상기 검출 프로세스는 검출대상 이미지를 획득하는 단계 S200에서 시작된다.
단계 S220에서, 변환 모델을 통해 검출대상 이미지가 저난이도의 페이크 이미지로 변환된다. 즉, 변환 모델의 생성기로 검출 대상 이미지가 입력되고, 상기 생성기를 통해 저난이도의 페이크 이미지가 생성될 수 있다.
몇몇 실시예에서는, 상기 검출대상 이미지가 고난이도의 이미지인 경우에 한하여, 단계 S220이 수행될 수 있다. 검출대상 이미지가 이미 저난이도의 이미지라면, 굳이 이미지 변환을 수행할 필요가 없기 때문이다. 본 실시예에서는, 먼저, 검출 모델의 이상 스코어를 통해 검출 대상 이미지가 고난이도의 이미지인지 여부가 판정될 수 있다. 또한, 고난이도라는 판정에 응답하여, 상기 검출대상 이미지가 저난이도의 페이크 이미지로 변환될 수 있다.
단계 S240에서, 이상 검출 모델을 통해 페이크 이미지에서 이상 검출이 수행된다. 상기 페이크 이미지는 이상 검출의 난이도가 낮은 이미지(e.g. 병변이 잘 보이는 이미지, 노이즈가 적은 이미지)이므로, 이상 검출 모델을 통해 보다 정확한 검출 결과가 제공될 수 있다.
몇몇 실시예에서는, 상기 검출대상 이미지에 대한 제1 이상 검출 결과와 상기 페이크 이미지에 대한 제2 이상 검출 결과를 함께 활용하여 최종 결과가 결정될 수 있다. 즉, 변환 과정에서 검출대상 이미지의 중요한 특성이 손실될 가능성이 있으므로, 이를 보완하기 위해 상기 제1 이상 검출 결과를 더 이용하여 최종 결과가 결정될 수 있다. 이때, 상기 최종 결과는 소정의 가중치에 기반하여 상기 제1 이상 검출 결과와 상기 제2 이상 검출 결과를 종합(e.g. 가중치 합)하는 형태로 결정될 수 있다. 또한, 각 이상 검출 결과에 부여되는 가중치는 미리 설정된 고정값 또는 상황에 따라 변동되는 변동값일 수 있다. 예를 들어, 상기 가중치는 변환 모델의 성능에 기초하여 변동되는 변동값일 수 있는데, 상기 변환 모델의 성능이 높을수록 상기 제2 이상 검출 결과에 부여되는 가중치는 상향될 수 있다.
지금까지 도 3 내지 도 15를 참조하여 본 개시의 다양한 실시예에 따른 이상 검출 방법에 대하여 설명하였다. 상술한 바에 따르면, 검출 프로세스에서는 학습 프로세스와는 반대로 고난이도의 이미지가 저난이도의 이미지로 변환될 수 있다. 이를 통해, 검출 결과의 정확도는 더욱 향상될 수 있다.
지금까지 설명한 이상 검출 방법은 앞서 예시한 바와 같이 의료 이미지에서 특정 질병(e.g. 암)을 진단하거나, 특정 질병과 관련된 병변의 종류 또는 위치 등을 검출하기 위해 활용될 수 있다. 즉, 상술한 이상 검출 방법은 진단 보조 시스템을 구축하는데 활용될 수 있는데, 이하 상기 진단 보조 시스템에 관한 활용예에 대하여 도 16을 참조하여 간단하게 설명하도록 한다.
도 16은 본 개시의 몇몇 활용예에 따른 진단 보조 시스템(120)에 활용된 것을 예시하고 있다.
도 16에 도시된 바와 같이, 진단 보조 시스템(120)은 하나 이상의 사용자 단말(121-1 내지 121-n)에게 진단 보조 서비스를 제공하는 시스템이다. 예를 들어, 진단 보조 시스템(120)은 사용자 단말(121-1 내지 121-n)의 진단 요청에 응답하여, 사용자에 대한 진단을 수행하고, 그 진단 결과를 요청 단말(121-1 내지 121-n)로 전송할 수 있다.
진단 보조 시스템(120)은 본 개시의 실시예에 따른 이상 검출 방법을 통해 진단을 수행하는 컴퓨팅 장치를 포함할 수 있다. 또한, 진단 보조 시스템(120)은 의료 이미지를 촬영하는 촬영 장치, 의료 이미지와 환자의 병력 정보 등을 저장하는 의료 데이터 저장 장치를 더 포함할 수도 있다.
진단 보조 시스템(120)은 고난이도의 페이크 이미지(e.g. 작은 병변이 포함된 이미지, 진행 초기 단계의 병변이 포함된 이미지 등)를 학습한 이상 검출 모델을 이용하여 진단 서비스를 제공할 수 있다. 따라서, 진단 보조 시스템(120)은 진행 초기 단계의 병변까지 정확한 검출을 수행할 수 있으며, 특정 질병(e.g. 암)에 대한 조기 진단 서비스를 제공할 수 있다. 이에 따라, 양질의 의료 서비스가 제공될 수 있고, 추가 검사에 소요되는 의료 비용이 절감될 수 있다.
도 16은 진단 보조 시스템(120)이 네트워크를 통해 온라인 진단 서비스를 제공하는 것을 예로써 설명하고 있으나, 진단 보조 시스템(120)은 다양한 환경에서 온라인 또는 오프라인 형태로 진단 서비스를 제공할 수 있다.
예를 들어, 진단 보조 시스템(120)은 특정 의료 시설에서 의사의 진단을 보조하는 형태로 활용될 수 있다. 이와 같은 경우, 의사는 진단 보조 시스템(120)의 진단 결과를 보조적으로 활용하여 환자에게 양질의 진단 서비스를 제공할 수 있다. 또한, 환자의 의료 이미지(e.g. CT 이미지 등)에서 병변이 잘 보이지 않는 경우, 의사는 진단 보조 시스템(120)의 이미지 변환 기능을 활용하여 상기 의료 이미지를 병변이 잘 보이는 페이크 이미지로 변환하고, 페이크 이미지를 활용하여 육안 진단을 수행할 수도 있다. 이외에도, 상기 페이크 이미지는 환자에게 병변의 진행 경과를 설명하는 용도로도 활용될 수도 있다.
지금까지 도 16을 참조하여 본 개시의 기술적 사상이 진단 보조 시스템(120)에 활용된 예에 대하여 설명하였다. 이하에서는, 도 17을 참조하여 본 개시의 다양한 실시예에 따른 장치(e.g. 도 1의 검출 장치 10) 및/또는 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 설명하도록 한다.
도 17은 컴퓨팅 장치(200)를 나타내는 예시적인 하드웨어 구성도이다.
도 17에 도시된 바와 같이, 컴퓨팅 장치(200)는 하나 이상의 프로세서(210), 버스(250), 통신 인터페이스(270), 프로세서(210)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(230)와, 컴퓨터 프로그램(291)을 저장하는 스토리지(290)를 포함할 수 있다. 다만, 도 17에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 17에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(200)에는, 도 17에 도시된 구성 요소 이외에도 다양한 구성 요소가 더 포함될 수 있다.
프로세서(210)는 컴퓨팅 장치(200)의 각 구성의 전반적인 동작을 제어한다. 프로세서(210)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(210)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(200)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(230)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(230)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 스토리지(290)로부터 하나 이상의 프로그램(291)을 로드할 수 있다. 메모리(230)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 않는다.
버스(250)는 컴퓨팅 장치(200)의 구성 요소 간 통신 기능을 제공한다. 버스(250)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(270)는 컴퓨팅 장치(200)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(270)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(270)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(270)는 생략될 수도 있다.
스토리지(290)는 상기 하나 이상의 프로그램(291)을 비임시적으로 저장할 수 있다. 스토리지(290)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(291)은 메모리(230)에 로드될 때 프로세서(210)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들(instruction)을 포함할 수 있다. 즉, 프로세서(210)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 인스트럭션은 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.
예를 들어, 컴퓨터 프로그램(291)은 GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델을 통해 제1 난이도의 제1 학습 이미지를 이상 검출 난이도가 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하는 동작 및 상기 변환된 제2 학습 이미지를 이용하여 이상 검출 모델을 학습시키는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이외에도, 컴퓨터 프로그램(291)은 전술한 본 개시의 다양한 실시예에 따른 동작들을 수행하도록 하는 인스트럭션들을 더 포함할 수도 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 개시의 몇몇 실시예에 따른 검출 장치(10)가 구현될 수 있다.
지금까지 도 1 내지 도 17을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 1 내지 도 17을 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델과 이상(anomaly) 검출 모델을 저장하는 메모리; 및
    상기 이미지 변환 모델을 통해 이상 검출 난이도가 제1 난이도인 제1 학습 이미지를 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하고, 상기 변환된 제2 학습 이미지를 이용하여 상기 이상 검출 모델을 학습시키는 프로세서를 포함하고,
    상기 이상 검출 모델의 대상 클래스는 복수의 클래스를 포함하고,
    상기 프로세서는,
    상기 이상 검출 모델을 통해 상기 제2 학습 이미지가 속한 클래스를 예측하고, 상기 예측의 오차를 이용하여 상기 이미지 변환 모델을 업데이트하는,
    이상 검출 장치.
  2. 제1 항에 있어서,
    상기 이미지 변환 모델은, 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크(fake) 이미지로 변환하는 제1 생성기(generator)와 상기 제2 난이도의 이미지를 상기 제1 난이도의 페이크 이미지로 변환하는 제2 생성기를 포함하고,
    상기 프로세서는,
    검출대상 이미지에 대한 이상 검출 요청에 응답하여, 상기 제2 생성기를 통해 상기 검출대상 이미지를 상기 제1 난이도의 검출대상 이미지로 변환하고,
    상기 이상 검출 모델을 통해 상기 변환된 제1 난이도의 검출대상 이미지에 대한 이상 검출을 수행하는,
    이상 검출 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    이상 클래스에 속한 이상 이미지셋과 정상 클래스에 속한 정상 이미지셋을 이용하여 상기 이상 검출 모델을 사전학습시키고,
    상기 사전학습된 이상 검출 모델을 이용하여 상기 이상 이미지셋을 상기 제1 난이도를 갖는 제1 이미지셋과 상기 제2 난이도를 갖는 제2 이미지셋으로 분류하며,
    상기 제1 이미지셋과 상기 제2 이미지셋을 이용하여 상기 이미지 변환 모델을 학습시키는,
    이상 검출 장치.
  4. 제3 항에 있어서,
    상기 프로세서는,
    상기 학습된 이미지 변환 모델을 통해 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하고,
    상기 변환된 제2 학습 이미지를 이용하여 상기 사전학습된 이상 검출 모델을 학습시키는,
    이상 검출 장치.
  5. 제1 항에 있어서,
    상기 대상 클래스는 이상 클래스와 정상 클래스를 포함하는,
    이상 검출 장치.
  6. 제1 항에 있어서,
    상기 대상 클래스는 페이크(fake) 클래스를 포함하는,
    이상 검출 장치.
  7. 제1 항에 있어서,
    상기 대상 클래스는 상기 제1 난이도에 대응되는 제1 이상 클래스와 상기 제2 난이도에 대응되는 제2 이상 클래스를 포함하는,
    이상 검출 장치.
  8. 제1 항에 있어서,
    상기 이미지 변환 모델은 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크(fake) 이미지로 변환하는 제1 생성기(generator)와 상기 제2 난이도의 이미지를 상기 제1 난이도의 페이크 이미지로 변환하는 제2 생성기를 포함하고,
    상기 프로세서는,
    상기 제1 생성기를 통해 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하고,
    상기 제2 생성기를 통해 상기 제2 학습 이미지를 상기 제1 난이도의 제3 학습 이미지로 변환하며,
    상기 제1 학습 이미지와 상기 제3 학습 이미지 간의 차이를 기초로 상기 제1 생성기를 업데이트하는,
    이상 검출 장치.
  9. 제8 항에 있어서,
    상기 프로세서는,
    상기 예측의 오차를 이용하여 상기 제1 생성기를 업데이트하는,
    이상 검출 장치.
  10. 제8 항에 있어서,
    상기 이미지 변환 모델은 상기 제1 난이도의 이미지와 상기 제1 난이도의 페이크 이미지를 판별하는 제1 판별기(discriminator)와 상기 제2 난이도의 이미지와 상기 제2 난이도의 페이크 이미지를 판별하는 제2 판별기를 포함하고,
    상기 프로세서는,
    상기 제2 생성기와 상기 제1 판별기 간에 적대적 학습(adversarial learning)을 수행하고,
    상기 제1 생성기와 상기 제2 판별기 간에 적대적 학습(adversarial learning)을 수행하는,
    이상 검출 장치.
  11. 제1 항에 있어서,
    상기 이미지 변환 모델은 상기 제1 난이도의 이미지를 인코딩하는 제1 인코더(encoder), 상기 제2 난이도의 이미지를 인코딩하는 제2 인코더, 상기 제1 인코더 또는 상기 제2 인코더에서 출력된 인코딩 데이터를 이용하여 상기 제1 난이도의 페이크 이미지를 생성하는 제1 생성기(generator) 및 상기 인코딩 데이터를 이용하여 상기 제2 난이도의 페이크 이미지를 생성하는 제2 생성기를 포함하고,
    상기 프로세서는,
    상기 제1 인코더를 통해 상기 제1 학습 이미지에 대한 제1 인코딩 데이터를 얻고,
    상기 제1 인코딩 데이터를 상기 제2 생성기에 입력하여 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하는,
    이상 검출 장치.
  12. 컴퓨팅 장치에서 의하여 수행되는 이상(anomaly) 검출 방법에 있어서,
    GAN(Generative Adversarial Networks) 기반의 이미지 변환 모델을 통해 이상 검출 난이도가 제1 난이도인 제1 학습 이미지를 상기 제1 난이도보다 높은 제2 난이도의 제2 학습 이미지로 변환하는 단계; 및
    상기 변환된 제2 학습 이미지를 이용하여 이상 검출 모델을 학습시키는 단계를 포함하고,
    상기 이상 검출 모델의 대상 클래스는 복수의 클래스를 포함하고,
    상기 이상 검출 모델을 학습시키는 단계는,
    상기 이상 검출 모델을 통해 상기 제2 학습 이미지가 속한 클래스를 예측하는 단계; 및
    상기 예측의 오차를 이용하여 상기 이미지 변환 모델을 업데이트하는 단계를 포함하는,
    이상 검출 방법.
  13. 제12 항에 있어서,
    상기 변환하는 단계 이전에,
    이상 클래스에 속한 이상 이미지셋과 정상 클래스에 속한 정상 이미지셋을 이용하여 상기 이상 검출 모델을 사전학습시키는 단계;
    상기 사전학습된 이상 검출 모델을 이용하여 상기 이상 이미지셋을 상기 제1 난이도를 갖는 제1 이미지셋과 상기 제2 난이도를 갖는 제2 이미지셋으로 분류하는 단계; 및
    상기 제1 이미지셋과 상기 제2 이미지셋을 이용하여 상기 이미지 변환 모델을 학습시키는 단계를 더 포함하는,
    이상 검출 방법.
  14. 제13 항에 있어서,
    상기 변환하는 단계는,
    상기 학습된 이미지 변환 모델을 통해 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하는 단계를 포함하고,
    상기 이상 검출 모델을 학습시키는 단계는,
    상기 변환된 제2 학습 이미지를 이용하여 상기 사전학습된 이상 검출 모델을 학습시키는 단계를 포함하는,
    이상 검출 방법.
  15. 제12 항에 있어서,
    상기 대상 클래스는 이상 클래스와 정상 클래스를 포함하는,
    이상 검출 방법.
  16. 제12 항에 있어서,
    상기 대상 클래스는 페이크(fake) 클래스를 포함하는,
    이상 검출 방법.
  17. 제12 항에 있어서,
    상기 대상 클래스는 상기 제1 난이도에 대응되는 제1 이상 클래스와 상기 제2 난이도에 대응되는 제2 이상 클래스를 포함하는,
    이상 검출 방법.
  18. 제12 항에 있어서,
    상기 이미지 변환 모델은 상기 제1 난이도의 이미지를 상기 제2 난이도의 페이크(fake) 이미지로 변환하는 제1 생성기(generator)와 상기 제2 난이도의 이미지를 상기 제1 난이도의 페이크 이미지로 변환하는 제2 생성기를 포함하고,
    상기 제1 생성기를 통해 상기 제1 학습 이미지를 상기 제2 학습 이미지로 변환하는 단계;
    상기 제2 생성기를 통해 상기 제2 학습 이미지를 상기 제1 난이도의 제3 학습 이미지로 변환하는 단계; 및
    상기 제1 학습 이미지와 상기 제3 학습 이미지 간의 차이를 기초로 상기 제1 생성기를 업데이트하는 단계를 더 포함하는,
    이상 검출 방법.
  19. 제18 항에 있어서,
    상기 제1 생성기를 업데이트하는 단계는,
    상기 예측의 오차를 더 이용하여 상기 제1 생성기를 업데이트하는 단계를 포함하는,
    이상 검출 방법.
  20. 제18 항에 있어서,
    상기 이미지 변환 모델은 상기 제1 난이도의 이미지와 상기 제1 난이도의 페이크 이미지를 판별하는 제1 판별기(discriminator)와 상기 제2 난이도의 이미지와 상기 제2 난이도의 페이크 이미지를 판별하는 제2 판별기를 포함하고,
    상기 제2 생성기와 상기 제1 판별기 간에 적대적 학습(adversarial learning)을 수행되고,
    상기 제1 생성기와 상기 제2 판별기 간에 적대적 학습(adversarial learning)을 수행되는,
    이상 검출 방법.
KR1020190045836A 2019-04-19 2019-04-19 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템 KR102034248B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190045836A KR102034248B1 (ko) 2019-04-19 2019-04-19 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
US16/535,277 US10733733B1 (en) 2019-04-19 2019-08-08 Method for detecting anomaly using generative adversarial networks, apparatus and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190045836A KR102034248B1 (ko) 2019-04-19 2019-04-19 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127085A Division KR102115534B1 (ko) 2019-10-14 2019-10-14 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템

Publications (1)

Publication Number Publication Date
KR102034248B1 true KR102034248B1 (ko) 2019-10-18

Family

ID=68462623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190045836A KR102034248B1 (ko) 2019-04-19 2019-04-19 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템

Country Status (2)

Country Link
US (1) US10733733B1 (ko)
KR (1) KR102034248B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102115534B1 (ko) * 2019-10-14 2020-05-26 주식회사 루닛 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
CN111260620A (zh) * 2020-01-14 2020-06-09 三峡大学 图像异常检测方法、装置和电子设备
CN111414770A (zh) * 2020-02-24 2020-07-14 内蒙古工业大学 一种基于协同训练的半监督蒙汉神经机器翻译方法
KR102181762B1 (ko) 2020-05-25 2020-11-24 서울시립대학교 산학협력단 적대적 오토 인코더 기반 이상 데이터 검출 장치
WO2021080233A1 (ko) * 2019-10-21 2021-04-29 주식회사 픽스트리 이미지 복원 방법 및 장치
KR20210081805A (ko) * 2019-12-24 2021-07-02 아주대학교산학협력단 이종 도메인 데이터 간의 변환을 수행하는 gan의 학습 방법 및 장치
KR20210100825A (ko) * 2020-02-07 2021-08-18 경북대학교 산학협력단 미케노발광 및 이중 인공 지능을 이용하여 대상체의 물리값을 산출하는 방법 및 장치
EP3905139A1 (en) * 2020-04-30 2021-11-03 Stradvision, Inc. Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same
WO2021217852A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 损伤检测方法、装置、电子设备及介质
KR20210145003A (ko) 2020-05-22 2021-12-01 동아대학교 산학협력단 딥러닝을 이용한 짧은 시간 촬영한 뇌 단층 촬영 이미지 복원 장치
US12039449B2 (en) 2020-02-05 2024-07-16 Samsung Electronics Co., Ltd. Method and apparatus with neural network meta-training and class vector training

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12039615B2 (en) * 2019-07-03 2024-07-16 Sap Se Anomaly and fraud detection with fake event detection using machine learning
US11308492B2 (en) 2019-07-03 2022-04-19 Sap Se Anomaly and fraud detection with fake event detection using pixel intensity testing
JP7419178B2 (ja) * 2020-07-01 2024-01-22 株式会社東芝 学習装置、方法およびプログラム
US11687619B2 (en) * 2020-10-02 2023-06-27 Robert Bosch Gmbh Method and system for an adversarial training using meta-learned initialization
US12019747B2 (en) * 2020-10-13 2024-06-25 International Business Machines Corporation Adversarial interpolation backdoor detection
JP7453136B2 (ja) 2020-12-25 2024-03-19 株式会社日立製作所 異常検出装置、異常検出方法及び異常検出システム
TWI802906B (zh) * 2021-01-28 2023-05-21 旺宏電子股份有限公司 資料識別裝置及辨識方法
CN113627576B (zh) * 2021-10-08 2022-01-18 平安科技(深圳)有限公司 扫码信息检测方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160012758A (ko) 2014-07-25 2016-02-03 삼성전자주식회사 영상 진단 보조 장치 및 방법
KR101898575B1 (ko) * 2018-01-18 2018-09-13 주식회사 뷰노 진행성 병변에 대한 미래 상태를 예측하는 방법 및 이를 이용한 장치
KR20180117009A (ko) * 2017-04-18 2018-10-26 황성관 초음파 영상 을 보완 및 증강 출력 해주기 위한 인공지능적인 방법
JP2019046269A (ja) * 2017-09-04 2019-03-22 株式会社Soat 機械学習用訓練データの生成

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10636141B2 (en) * 2017-02-09 2020-04-28 Siemens Healthcare Gmbh Adversarial and dual inverse deep learning networks for medical image analysis
US11257259B2 (en) * 2017-08-15 2022-02-22 Siemens Healthcare Gmbh Topogram prediction from surface data in medical imaging
US10521927B2 (en) * 2017-08-15 2019-12-31 Siemens Healthcare Gmbh Internal body marker prediction from surface data in medical imaging
US11621058B2 (en) * 2018-02-08 2023-04-04 Ohio State Innovation Foundation Synthetic IHC-stained digital sides generated using artificial neural networks
US11011275B2 (en) * 2018-02-12 2021-05-18 Ai.Skopy, Inc. System and method for diagnosing gastrointestinal neoplasm
US11132792B2 (en) * 2018-02-22 2021-09-28 Siemens Healthcare Gmbh Cross domain medical image segmentation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160012758A (ko) 2014-07-25 2016-02-03 삼성전자주식회사 영상 진단 보조 장치 및 방법
KR20180117009A (ko) * 2017-04-18 2018-10-26 황성관 초음파 영상 을 보완 및 증강 출력 해주기 위한 인공지능적인 방법
JP2019046269A (ja) * 2017-09-04 2019-03-22 株式会社Soat 機械学習用訓練データの生成
KR101898575B1 (ko) * 2018-01-18 2018-09-13 주식회사 뷰노 진행성 병변에 대한 미래 상태를 예측하는 방법 및 이를 이용한 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GAN-based Synthetic Medical Image Augmentation for increased CNN Performance in Liver Lesion Classification, Computer Vision and Pattern Recognition, 2018.03.* *
논문2 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102115534B1 (ko) * 2019-10-14 2020-05-26 주식회사 루닛 GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
WO2021080233A1 (ko) * 2019-10-21 2021-04-29 주식회사 픽스트리 이미지 복원 방법 및 장치
KR20210081805A (ko) * 2019-12-24 2021-07-02 아주대학교산학협력단 이종 도메인 데이터 간의 변환을 수행하는 gan의 학습 방법 및 장치
KR102306658B1 (ko) 2019-12-24 2021-09-30 아주대학교산학협력단 이종 도메인 데이터 간의 변환을 수행하는 gan의 학습 방법 및 장치
CN111260620A (zh) * 2020-01-14 2020-06-09 三峡大学 图像异常检测方法、装置和电子设备
CN111260620B (zh) * 2020-01-14 2023-08-18 三峡大学 图像异常检测方法、装置和电子设备
US12039449B2 (en) 2020-02-05 2024-07-16 Samsung Electronics Co., Ltd. Method and apparatus with neural network meta-training and class vector training
KR102377367B1 (ko) 2020-02-07 2022-03-22 경북대학교 산학협력단 미케노발광 및 이중 인공 지능을 이용하여 대상체의 물리값을 산출하는 방법 및 장치
KR20210100825A (ko) * 2020-02-07 2021-08-18 경북대학교 산학협력단 미케노발광 및 이중 인공 지능을 이용하여 대상체의 물리값을 산출하는 방법 및 장치
CN111414770A (zh) * 2020-02-24 2020-07-14 内蒙古工业大学 一种基于协同训练的半监督蒙汉神经机器翻译方法
EP3905139A1 (en) * 2020-04-30 2021-11-03 Stradvision, Inc. Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same
JP2023514172A (ja) * 2020-04-30 2023-04-05 株式会社ストラドビジョン 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー
WO2021217852A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 损伤检测方法、装置、电子设备及介质
JP7365511B2 (ja) 2020-04-30 2023-10-19 株式会社ストラドビジョン 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー
KR20210145003A (ko) 2020-05-22 2021-12-01 동아대학교 산학협력단 딥러닝을 이용한 짧은 시간 촬영한 뇌 단층 촬영 이미지 복원 장치
KR102181762B1 (ko) 2020-05-25 2020-11-24 서울시립대학교 산학협력단 적대적 오토 인코더 기반 이상 데이터 검출 장치

Also Published As

Publication number Publication date
US10733733B1 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
KR102034248B1 (ko) GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
KR102115534B1 (ko) GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
AU2019200270B2 (en) Concept mask: large-scale segmentation from semantic concepts
CN111916207B (zh) 一种基于多模态融合的疾病识别方法及装置
JP2023509031A (ja) マルチモーダル機械学習に基づく翻訳方法、装置、機器及びコンピュータプログラム
US20200097554A1 (en) Systems and methods for multilingual text generation field
KR102245220B1 (ko) 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법
CN111667066B (zh) 网络模型的训练、文字识别方法、装置和电子设备
CA3113527A1 (en) Image captioning with weakly-supervised attention penalty
JP2019096303A (ja) 機械翻訳方法及び装置
JPWO2017017722A1 (ja) 処理装置、処理方法及びプログラム
US12039277B2 (en) Method and device with natural language processing
CN111967277A (zh) 基于多模态机器翻译模型的翻译方法
US20210365714A1 (en) Detecting Artificial Multimedia Content Using Deep Network Response Analysis
KR20220045879A (ko) 이미지 번역 서비스를 제공하기 위한 방법 및 서버
US20210090552A1 (en) Learning apparatus, speech recognition rank estimating apparatus, methods thereof, and program
KR20190125029A (ko) 시계열 적대적인 신경망 기반의 텍스트-비디오 생성 방법 및 장치
CN112669215A (zh) 一种训练文本图像生成模型、文本图像生成的方法和装置
CN115762484A (zh) 用于语音识别的多模态数据融合方法、装置、设备及介质
CN113239799B (zh) 训练方法、识别方法、装置、电子设备和可读存储介质
EP4006789A1 (en) Conversion device, conversion method, program, and information recording medium
CN110069666B (zh) 基于近邻结构保持的哈希学习方法和装置
CN114492386A (zh) 网络文本中药物名称及药物不良反应的联合检测方法
CN115048442A (zh) 用于主机入侵检测的系统调用序列数据增强方法
JP2022041800A (ja) 多言語文埋め込みのためのシステム及び方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant