KR20220042558A - 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템 - Google Patents

병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템 Download PDF

Info

Publication number
KR20220042558A
KR20220042558A KR1020200125500A KR20200125500A KR20220042558A KR 20220042558 A KR20220042558 A KR 20220042558A KR 1020200125500 A KR1020200125500 A KR 1020200125500A KR 20200125500 A KR20200125500 A KR 20200125500A KR 20220042558 A KR20220042558 A KR 20220042558A
Authority
KR
South Korea
Prior art keywords
pathological image
lesion region
image
lesion
learning
Prior art date
Application number
KR1020200125500A
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 KR1020200125500A priority Critical patent/KR20220042558A/ko
Priority to PCT/KR2021/012653 priority patent/WO2022065798A1/ko
Priority to KR1020210138117A priority patent/KR20220043064A/ko
Publication of KR20220042558A publication Critical patent/KR20220042558A/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/007Dynamic range modification
    • G06T5/90
    • 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/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • 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
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/60ICT specially adapted for the handling or processing of medical references relating to pathologies
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical

Abstract

본 발명은 진단자가 병리 이미지에 대한 병리학적 분석 결과를 보다 용이하게 파악할 수 있도록 분석 결과를 시각화하기 위한 방법 및 이를 수행하는 컴퓨팅 시스템이 개시된다. 본 발명의 일 측면에 따르면, 본 발명의 일 측면에 따르면, 컴퓨팅 시스템이, 병리 이미지를 획득하는 단계, 상기 컴퓨팅 시스템이, 상기 병리 이미지 중 병변 영역을 판단하는 단계, 상기 컴퓨팅 시스템이, 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 단계 및 상기 컴퓨팅 시스템이, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 단계를 포함하는 방법이 제공된다.

Description

병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템{Method for displaying diagnosis result of pathological image and computing system performing the same}
본 발명은 진단자가 병리 이미지에 대한 병리학적 분석 결과를 보다 용이하게 파악할 수 있도록 분석 결과를 시각화하기 위한 방법에 관한 것이다.
디지털 병리학의 발전으로 디지털 병리 진단 시스템을 도입하는 의료기관이 점점 늘어나고 있다.
조직 검사를 통해 확보된 검체는 일련의 과정을 거쳐 염색된 유리 슬라이드 형태로 제작되며, 과거에는 이러한 슬라이드들을 광학 현미경을 통해 병리 전문의가 육안으로 관찰하고 판독하여 진단하였다. 반면 디지털 병리 진단 시스템에서는 이러한 슬라이드들을 디지털 슬라이드 스캐너로 스캔하여 디지털 영상으로 변환한 후 컴퓨터 모니터를 통해 관찰하고 진단하게 된다.
한편, 영상 처리 인공지능 기술의 발전으로 다양한 형태의 의료 영상을 인공지능으로 분석하여 병변을 검출하거나 질병을 진단하는 등의 기능을 제공하는 소프트웨어인 진단용 병리 슬라이드 영상 뷰어 소프트웨어가 등장하고 있다. 이들은 분석 결과(예를 들면, 조직 내의 병변 영역 등)를 다양한 색상의 다각형이나 히트맵 등 시각적 요소로 변환하여 원래의 의료 영상 위에 중첩하여 보여주는 형태로 제공하는 것이 일반적이다. 도 1은 이들 소프트웨어들이 디스플레이하는 진단용 병리 슬라이드의 일 예를 도시하고 있다.
이러한 분석 결과 시각화 방법은 분석 결과의 위치나 강도 등을 빠르게 한 눈에 들어오게 하는 점에서 장점이 있으나, 분석 결과 시각적 요소가 원본 영상을 가리기 때문에 해당 영역의 원본 영상을 확인하기 위해서는 시각적 요소를 일시적으로 제거해야 하는 등의 불편함이 존재한다. 즉, 시각적 요소를 제거하는 순간 사용자는 해당 분석 결과의 위치를 확인할 수 없기 때문에 기억했던 위치를 참고하여 원본 영상을 확인해야 하며, 따라서 분석 결과 시각적 요소를 제거했다가 복원하는 과정을 여러 번 반복하는 경우가 일상적이다.
이를 해결하기 위해, 도 2에 도시된 바와 같이, 분석 결과가 지정하는 영역(예를 들어, 병변 영역)의 경계선만을 표시하고 그 내부는 비워두거나 하는 방식이 사용될 수 있는데, 이 방법은 영상을 확대하여 해당 영역의 경계선을 모두 확인할 수 없게 된 경우, 경계선의 내부 영역과 외부 영역을 구분하기 어려울 수 있다.
한편, 본 발명의 배경 기술 중 하나인 다중 인스턴스 학습(Multiple Instance Learning)에 관하여 도 3a 및 도 3b를 참조하여 설명한다.
인스턴스(instance) 하나를 학습 단위로 사용하는 개별 인스턴스 학습과는 달리 다중 인스턴스 학습에서는 인스턴스의 집합인 백(Bag)을 학습 단위로 간주한다. 따라서 개별 인스턴스 학습에서는 인스턴스에 레이블을 다는 반면, 다중 인스턴스 학습에서는 인스턴스가 아닌 백에 레이블을 달게 된다. 다중 인스턴스 학습은 학습 단위 측면에서 제외하고 개별 인스턴스 학습와 유사하지만 다음 제약사항을 추가로 가진다. 이진 분류를 수행함에 있어 백이 긍정(positive)이면 적어도 백 안에 존재하는 인스턴스 중 하나 이상이 긍정임을, 백이 부정(negative)이면 백 안에 모든 인스턴스들이 부정임을 가정한다.
이러한 특징으로 인하여 다중 인스턴스 학습은, 예를 들어, 뉴럴 네트워크를 이용하여 병리 홀-슬라이드-이미지(Whole Slide Image)로부터 병변을 진단하는 분야에 적용될 수 있다. 병변을 진단하는 뉴럴 네트워크를 학습하기 위해서는 홀-슬라이드-이미지가 아니라 이를 일정한 크기로 분할한 이미지 패치를 학습 데이터로 사용하게 되지만, 병변의 유무에 관한 정보(즉, 레이블)는 패치 단위가 아니라 홀-슬라이드-이미지에 부여되어 있기 때문이다.
도 3a는 다중 인스턴스 학습에 이용되는 학습 데이터의 일 예를 도시한 도면이다. 도 1은 각각 N개의 데이터 인스턴스를 포함하는 M개의 백(B1 내지 BM)을 도시하고 있다. 도 1에서 백 Bi는 Li로 라벨링되어 있으며(여기서, i는 1<=i<=M인 임의의 정수), 데이터 인스턴스 Dij는 백 Bi에 포함되어 있는 j번째 인스턴스를 나타낸다(여기서, j는 1<=j<=N인 임의의 정수).
도 3b는 다중 인스턴스 학습 기법을 통하여 뉴럴 네트워크(NN)를 학습하는 과정의 일 예를 나타내는 의사코드(pseudo code)를 도시한 도면이다. 도 3b는 학습 데이터를 1 에폭(epoch)만큼 학습하는 과정을 나타내고 있으며, 실제 학습 과정에서는 다수의 에폭만큼 학습이 진행될 수 있다. 도 3b에서는 도 3a에 도시된 학습 데이터로 학습이 진행된다고 가정한다.
도 3b를 참조하면, 다중 인스턴스 학습에서는 먼저 각각의 백(B1 내지 BM)으로부터 학습 데이터 인스턴스(T1 내지 TM)를 추출하는 과정(S10)에 수행되며, 이후 추출된 학습 데이터 인스턴스로 뉴럴 네트워크(NN)을 훈련하는 과정(S20)이 수행된다.
S10 단계에 대하여 보다 상세하게 설명하면, 백 Bi에 대하여 다음의 과정이 수행된다(여기서, i는 1<=i<=M인 임의의 정수).
현재 학습이 진행 중인 뉴럴 네트워크(NN) 백 Bi내의 각 데이터 인스턴스를 입력하여 해당 인스턴스가 긍정(positive; 예를 들어, 병변이 존재함)일 가능성을 산출한다(S11, S12).
백 Bi 내의 모든 데이터 인스턴스 중 해당 데이터 인스턴스의 긍정 가능성이 가장 큰 데이터 인스턴스 Dik를 학습 데이터 인스턴스 Ti로 결정하며(S13), 학습 데이터 인스턴스 Ti의 레이블은 백 Bi에 부여된 레이블이 된다(S14).
위에서 설명한 종래의 다중 인스턴스 학습에서는 백 하나당 인스턴스 하나를 추출하여 학습에 이용하기 때문에, 뉴럴 네트워크의 성능을 높이기 위해서는 많은 양의 백이 필요하다는 문제점이 있다. 예를 들어, 병변을 검출하기 위한 뉴럴 네트워크에 기존의 다중 인스턴스 학습을 이용하기 위해서는 병변 유무에 관한 표지가 부여된 많은 수의 홀-슬라이드-이미지가 필요하게 되는 것이다.
또한 앞서 설명한 바와 같이 다중 인스턴스 학습에서는 학습 데이터 인스턴스의 추출 과정에서 학습이 완료되기 전의 뉴럴 네트워크가 이용되기 때문에, 하나의 백으로부터 다수의 데이터 인스턴스를 추출하게 되면 잘못된 인스턴스가 추출될 가능성이 높아지는 문제점이 발생하게 된다.
본 발명이 이루고자 하는 기술적인 과제는 병리 슬라이드 영상을 분석한 결과로 인하여 검출된 병변 영역 등의 정보를 원본 영상을 가리지 않으면서 위치와 크기 등을 확인할 수 있도록 하기 위한 방법 및 시스템을 제공하는 것이다.
또한 하나의 데이터 백에서 여러 개의 데이터 인스턴스를 학습용 인스턴스를 추출함으로써, 상대적으로 적은 수의 데이터로도 적절하게 뉴럴 네트워크를 학습할 수 있는 방법 및 시스템을 제공하는 것이다.
본 발명의 일 측면에 따르면, 컴퓨팅 시스템이, 병리 이미지를 획득하는 단계; 상기 컴퓨팅 시스템이, 상기 병리 이미지 중 병변 영역을 판단하는 단계; 상기 컴퓨팅 시스템이, 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 단계; 및 상기 컴퓨팅 시스템이, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 단계를 포함하는 방법이 제공된다.
일 실시예에서, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 단계는, 상기 병리 이미지의 비병변 영역의 투명도를 조정하는 단계; 상기 병리 이미지의 비병변 영역의 채도를 조정하는 단계; 또는 상기 병리 이미지의 비병변 영역의 명도를 조정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 컴퓨팅 시스템이, 사용자로부터 소정의 토글 명령이 입력될 때마다, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지와 상기 비병변 영역에 시각적 효과를 부여하지 않은 원본 병리 이미지를 번갈아 출력하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 병리 이미지 중 병변 영역을 판단하는 단계는, 상기 병리 이미지를 소정의 크기로 분할한 복수의 진단 패치 각각을 미리 학습된 뉴럴 네트워크에 입력하여 상기 복수의 진단 패치 각각에 상응하는 판단 결과를 획득하는 단계; 및 획득된 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지 중 병변 영역을 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 뉴럴 네트워크는, 입력된 패치가 제1상태인지 제2상태인지를 판단하기 위한 오토인코더를 이용한 소정의 뉴럴 네트워크 학습 방법에 의하여 미리 학습되어 있으며-여기서, 상기 패치는 이미지를 소정의 크기로 분할한 것 중 하나이며, 제1상태는 병변이 존재하지 않는 상태이며, 제2상태는 병변이 존재하는 상태임-, 상기 뉴럴 네트워크 학습 방법은, 제1상태 또는 제2상태 중 어느 하나로 라벨링되어 있는 복수의 학습용 이미지 각각에 대하여, 상기 학습용 이미지를 구성하는 패치 중 일부인 학습용 패치를 추출하는 추출단계; 및 상기 복수의 학습용 이미지 각각에 상응하는 학습용 패치에 기초하여 상기 뉴럴 네트워크를 학습하는 학습단계를 포함하되, 상기 추출단계는, 상기 학습용 이미지를 구성하는 각 패치를 훈련중인 상기 뉴럴 네트워크에 입력하여, 상기 학습용 이미지를 구성하는 각 패치 별 가능성을 산출하는 단계; 및 상기 학습용 이미지를 구성하는 각 패치 별 가능성, 및 상기 학습용 이미지를 구성하는 각 패치 중 적어도 일부에 대한 상기 오토인코더의 판단 결과에 기초하여 상기 학습용 이미지를 구성하는 각 패치 중 일부를 학습용 패치라고 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 오토인코더는, 제1상태인 패치만으로 미리 학습되어 있으며, 상기 학습용 이미지를 구성하는 각 패치 별 가능성, 및 상기 학습용 이미지를 구성하는 각 패치 중 적어도 일부에 대한 상기 오토인코더의 판단 결과에 기초하여 상기 학습용 이미지를 구성하는 각 패치 중 일부를 학습용 패치라고 판단하는 단계는, 상기 학습용 이미지가 제1상태로 라벨링된 경우, 제2상태일 가능성이 가장 높은 패치에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더에 입력하여, 상기 오토인코더에 의해 제1상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단하는 단계; 및 상기 학습용 이미지가 제2상태로 라벨링된 경우, 제2상태일 가능성이 가장 높은 패치에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더에 입력하여, 상기 오토인코더에 의해 제2상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램이 제공된다.
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 다른 일 측면에 따르면, 컴퓨팅 시스템으로서, 프로세서 및 메모리를 포함하되, 상기 메모리는, 상기 프로세서에 의해 수행될 경우, 상기 컴퓨팅 시스템이 상술한 방법을 수행하도록 하는 컴퓨팅 시스템이 제공된다.
본 발명의 다른 일 측면에 따르면, 병리 이미지를 획득하는 획득모듈; 상기 병리 이미지 중 병변 영역을 판단하는 판단모듈; 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 처리모듈; 및 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 출력모듈을 포함하는 컴퓨팅 시스템이 제공된다.
일 실시예에서, 상기 처리모듈은, 상기 병리 이미지의 비병변 영역에 시각적 효과를 부여하기 위하여, 상기 병리 이미지의 비병변 영역의 투명도를 조정하거나, 상기 병리 이미지의 비병변 영역의 채도를 조정하거나, 상기 병리 이미지의 비병변 영역의 명도를 조정하는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 출력모듈은, 사용자로부터 소정의 토글 명령이 입력될 때마다, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지와 상기 비병변 영역에 시각적 효과를 부여하지 않은 원본 병리 이미지를 번갈아 출력하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 판단모듈은, 상기 병리 이미지를 소정의 크기로 분할한 복수의 진단 패치 각각을 미리 학습된 뉴럴 네트워크에 입력하여 상기 복수의 진단 패치 각각에 상응하는 판단 결과를 획득하고, 획득된 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지 중 병변 영역을 판단할 수 있다.
일 실시예에서, 상기 뉴럴 네트워크는, 입력된 패치가 제1상태인지 제2상태인지를 판단하기 위한 오토인코더를 이용한 소정의 뉴럴 네트워크 학습 방법에 의하여 미리 학습되어 있으며-여기서, 상기 패치는 이미지를 소정의 크기로 분할한 것 중 하나이며, 제1상태는 병변이 존재하지 않는 상태이며, 제2상태는 병변이 존재하는 상태임-, 상기 뉴럴 네트워크 학습 방법은, 제1상태 또는 제2상태 중 어느 하나로 라벨링되어 있는 복수의 학습용 이미지 각각에 대하여, 상기 학습용 이미지를 구성하는 패치 중 일부인 학습용 패치를 추출하는 추출단계; 및 상기 복수의 학습용 이미지 각각에 상응하는 학습용 패치에 기초하여 상기 뉴럴 네트워크를 학습하는 학습단계를 포함하되, 상기 추출단계는, 상기 학습용 이미지를 구성하는 각 패치를 훈련중인 상기 뉴럴 네트워크에 입력하여, 상기 학습용 이미지를 구성하는 각 패치 별 가능성을 산출하는 단계; 및 상기 학습용 이미지를 구성하는 각 패치 별 가능성, 및 상기 학습용 이미지를 구성하는 각 패치 중 적어도 일부에 대한 상기 오토인코더의 판단 결과에 기초하여 상기 학습용 이미지를 구성하는 각 패치 중 일부를 학습용 패치라고 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 오토인코더는, 제1상태인 패치만으로 미리 학습되어 있으며, 상기 학습용 이미지를 구성하는 각 패치 별 가능성, 및 상기 학습용 이미지를 구성하는 각 패치 중 적어도 일부에 대한 상기 오토인코더의 판단 결과에 기초하여 상기 학습용 이미지를 구성하는 각 패치 중 일부를 학습용 패치라고 판단하는 단계는, 상기 학습용 이미지가 제1상태로 라벨링된 경우, 제2상태일 가능성이 가장 높은 패치에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더에 입력하여, 상기 오토인코더에 의해 제1상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단하는 단계; 및 상기 학습용 이미지가 제2상태로 라벨링된 경우, 제2상태일 가능성이 가장 높은 패치에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더에 입력하여, 상기 오토인코더에 의해 제2상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단하는 단계를 포함할 수 있다.
앞서 설명한 바와 같이, 종래에는 병변 영역과 같이 병리적 분석을 수행한 분석 결과를 원본 병리 이미지 위에 히트맵의 형태로 중첩하여 출력하는 것이 일반적이었다. 그러나 종래의 이러한 방법은 분석 결과의 시각적 요소(예를 들어, 히트맵)가 원본 영상을 가리기 때문에 해당 이미지로 진단을 해야 하는 진단자(예를 들어, 의사)는 분석 결과 시각적 요소를 제거했다가 복원하는 과정을 여러 번 반복하여야 했다. 반면, 본 발명의 일 실시예에 따르면, 병변 영역이 아니라 비병변 영역에 시각적 효과를 부여함으로써, 병변 영역과 비병변 영역을 쉽게 구분할 수 있으면서도 진단자가 진단을 위해 주로 살펴보게 되는 병변 영역을 원본 그대로의 상태로 유지할 수 있다.
또한 본 발명의 일 실시예에 의하면, 하나의 데이터 백에서 여러 개의 데이터 인스턴스를 학습용 인스턴스가 추출될 수 있다. 종래의 다중 인스턴스 학습 방법에서는 하나의 데이터 백에서 여러 개의 학습용 인스턴스를 추출하는 경우 잘못된 학습 데이터 인스턴스가 추출될 가능성이 높아 뉴럴 네트워크의 학습에 부정적인 영향을 미칠 수 있었으나, 본 발명의 기술적 사상에 따른 방법에 의하면, 미리 학습된 오토인코더를 이용하여 학습용 인스턴스를 필터링을 함으로써, 잘못된 학습 데이터 인스턴스가 추출되는 것을 상당히 줄일 수 있게 되는 효과가 있다.. 따라서, 보다 적은 수의 데이터만으로 효과적으로 뉴럴 네트워크를 학습할 수 있게 되는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 소프트웨어들이 디스플레이하는 진단용 병리 슬라이드의 일 예를 도시하고 있다.
도 2는 종래의 소프트웨어들이 디스플레이하는 진단용 병리 슬라이드의 다른 일 예를 도시하고 있다.
도 3a는 다중 인스턴스 학습에 이용되는 학습 데이터의 일 예를 도시한 도면이다.
도 3b는 다중 인스턴스 학습 기법을 통하여 뉴럴 네트워크를 학습하는 과정의 일 예를 나타내는 의사코드(pseudo code)를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 병리 이미지 분석 결과 출력 방법을 수행하는 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.
도 5a는 병리 이미지의 비병변 영역만의 투명도를 증가시킨 상태의 병리 이미지의 일 예를 도시한 도면이다.
도 5b는 병리 이미지의 비병변 영역만의 채도를 감소시킨 상태의 병리 이미지의 일 예를 도시한 도면이다.
도 5c는 병리 이미지의 비병변 영역만의 명도를 감소시킨 상태의 병리 이미지의 일 예를 도시한 도면이다.
도 6은 병리 이미지를 격자 형태로 분할한 각 진단 패치 별 판단 결과(격자맵)의 일 예를 도시한 도면이다.
도 7는 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 방법을 수행하기 위한 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.
도 8은 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 방법에서 이용하는 오토인코더의 구조를 개략적으로 도시한 도면이다.
도 9는 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 시스템이 학습용 데이터 인스턴스를 추출하는 방법의 일 예를 도시한 도면이다.
도 10는 도 9의 단계 S120의 구체적인 과정의 일 예를 도시한 도면이다.
도 11은 도 10의 단계 S121의 구체적인 과정의 일 예를 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 병리 이미지 분석 결과 출력 방법을 도시한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 병리 이미지 분석 결과 출력 방법을 수행하는 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다. 본 명세서에서는 경우에 따라, 본 발명의 기술적 사상에 따른 병리 이미지 분석 결과 출력 방법을 수행하는 컴퓨팅 시스템을 병리 이미지 분석 결과 출력 시스템으로 칭할 수 있다.
본 발명의 기술적 사상에 따른 병리 이미지 분석 결과 출력 방법은 병리 이미지 분석 결과 출력 시스템(100)에 의해 수행될 수 있다.
상기 병리 이미지 분석 결과 출력 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치인 컴퓨팅 시스템일 수 있으며, 일반적으로 네트워크를 통해 클라이언트가 접속 가능한 데이터 처리 장치인 서버뿐만 아니라 개인용 컴퓨터나 휴대 단말 등과 같은 컴퓨팅 장치를 포함할 수 있다.
상기 병리 이미지 분석 결과 출력 시스템(100)은 어느 하나의 물리적 장치로 구현될 수도 있으나, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 병리 이미지 분석 결과 출력 시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
일 실시예에서, 상기 병리 이미지 분석 결과 출력 시스템(100)은 디스플레이 장치(150)를 구비할 수 있으며, 병리 이미지를 분석한 결과를 상기 디스플레이 장치(150)를 통해 출력할 수 있다.
다른 일 실시예에서, 상기 병리 이미지 분석 결과 출력 시스템(100)은 소정의 단말(200)과 네트워크를 통해 연결되어 단말(200)의 요청에 의해 상기 단말(200)로 병리 이미지를 분석한 결과를 출력할 수 있다.
도 4를 참조하면, 상기 병리 이미지 분석 결과 출력 시스템(100)은 획득모듈(110), 판단모듈(120), 처리모듈(130), 출력모듈(340)을 포함할 수 있다. 실시예에 따라 상기 병리 이미지 분석 결과 출력 시스템(100)은 저장모듈(150)을 더 포함할 수 있다.
본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 병리 이미지 분석 결과 출력 시스템(100)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다. 예를 들어 상기 시스템(100)은 상기 병리 이미지 분석 결과 출력 시스템(100)의 다른 구성(예를 들면, 획득모듈(110), 판단모듈(120), 처리모듈(130), 출력모듈(340) 등)의 기능 및/또는 리소스를 제어하기 위한 제어모듈(미도시)을 더 포함할 수도 있다.
상기 병리 이미지 분석 결과 출력 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예를 들어, 획득모듈(110), 판단모듈(120), 처리모듈(130), 출력모듈(340) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 획득모듈(110), 판단모듈(120), 처리모듈(130), 출력모듈(340) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들어, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 저장모듈(150)은 본 발명의 기술적 사상을 구현하는데 필요한 각종 데이터를 저장할 수 있다. 예를 들어 상기 저장모듈(150)은 후술할 병리 이미지, 후술할 뉴럴 네트워크 등을 저장할 수 있다.
상기 획득모듈(110)은 병리 이미지를 획득할 수 있다. 병리 이미지는 조직 이미지를 비롯한 다양한 생체 이미지일 수 있으며, 생체 조직을 염색한 유리 슬라이드를 디지털 스캐너로 스캔한 병리 슬라이드 이미지 혹은 병리 슬라이드 이미지의 일부를 발췌한 이미지일 수 있다.
일 실시예에서, 상기 획득모듈(110)은 상기 단말(200)로부터 네트워크를 통해 병리 이미지를 획득할 수 있다. 또는 상기 획득모듈(110)은 상기 저장모듈(150)에 저장된 병리 이미지를 획득할 수 있다.
상기 판단모듈(120)은 상기 병리 이미지 중 병변 영역을 판단할 수 있다.
병변 영역은 병변을 포함하는 영역으로서, 질병 등의 병리적 원인으로 인하여 병리적인 변화가 일어난 영역일 수 있으며, 상기 판단모듈(120)은 다양한 방법으로 상기 병리 이미지 중 병변 영역을 판단할 수 있다. 예를 들어, 상기 판단모듈(120)은 사용자로부터 소정의 영역이 지정되면 지정된 영역을 병변 영역으로 판단할 수 있다.
다른 일 실시예에서, 상기 병변 영역은 소정의 알고리즘 혹은 머신 러닝을 통하여 자동으로 판단될 수 있다. 특히 상기 판단모듈(120)은 미리 학습된 인공 뉴럴 네트워크에 병리 이미지를 입력하고, 뉴럴 네트워크에서 출력된 결과를 이용하여 병변 영역을 판단할 수 있는데, 이에 대해서는 이후에 보다 상세하게 설명하기로 한다.
한편, 상기 처리모듈(130)은 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여할 수 있다.
상기 판단모듈(120)에 의해 병리 이미지는 병변을 포함하는 병변 영역과 병변을 포함하지 않는 비병변 영역으로 구분될 수 있으며, 상기 처리모듈(130)은 병변 영역이 아니라 비병변 영역에 시각적 효과를 부여할 수 있다.
일 실시예에서, 상기 처리모듈(130)은 상기 처리모듈은, 상기 병리 이미지의 비병변 영역에 시각적 효과를 부여하기 위하여, 병변 영역은 원본 상태를 그대로 유지하고, 비병변 영역의 투명도, 채도, 명도 중 적어도 일부를 조정할 수 있다. 즉, 상기 처리모듈(130)은 상기 병리 이미지의 비병변 영역의 투명도를 조정하거나, 상기 병리 이미지의 비병변 영역의 채도를 조정하거나, 상기 병리 이미지의 비병변 영역의 명도를 조정할 수 있다.
도 5a는 병리 이미지의 비병변 영역만의 투명도를 증가시킨 상태의 병리 이미지의 일 예를 도시한 도면이다. 도 5a에 도시된 바와 같이, 병리 이미지 중 비병변 영역의 투명도를 높이게 되면 비병변 영역의 영상의 색상이 배경 색상과 합쳐지며 해당 부분의 선명도가 낮아지게 되고, 원본 그대로의 상태인 병변 영역은 상대적으로 뚜렷하게 보이게 된다.
도 5b는 병리 이미지의 비병변 영역만의 채도를 감소시킨 상태의 병리 이미지의 일 예를 도시한 도면이다. 도 5b에 도시된 바와 같이, 병리 이미지 중 비병변 영역의 채도가 낮아지게 되면 비병변 영역의 색상이 일부 탈색되는 효과가 발생하고, 원본 그대로의 상태인 병변 영역은 상대적으로 뚜렷하게 보이게 된다.
도 5c는 병리 이미지의 비병변 영역만의 명도를 감소시킨 상태의 병리 이미지의 일 예를 도시한 도면이다. 도 5c에 도시된 바와 같이, 병리 이미지 중 비병변 영역의 명도가 낮아지게 되면 비병변 영역의 색상이 검정색과 합쳐지는 효과가 발생하며, 원본 그대로의 상태인 병변 영역은 상대적으로 뚜렷하게 보이게 된다.
일 실시예에서, 상기 처리모듈(130)은 병변 영역과 비병변 영역이 명확히 구분될 수 있도록 미리 정해진 일정 수준으로 투명도, 채도, 명도 중 적어도 일부를 조정할 수 있다(예를 들어, 투명도 30%/50%/70% 등, 채도 25%/50%/75% 등, 명도 25%/50%/75% 등).
한편, 일 실시예에서, 상기 처리모듈(130)은 사용자로부터 투명도, 명도 및/또는 채도의 수준을 입력받고 해당 수준에 맞게 시각적 효과를 부여할 수 있다. 이를 위하여 상기 처리모듈(130)은 사용자에게 투명도, 명도 및/또는 채도의 수준을 입력하기 위한 사용자 인터페이스를 제공할 수 있다. 또한 다른 일 실시예에서, 상기 처리모듈(130)은 미리 결정된 투명도, 명도 및/또는 채도의 수준을 포함하는 몇 가지 프로파일을 사용자에게 제공하고 사용자가 선택한 프로파일에 포함된 명도 및/또는 채도의 수준에 따라 시각적 효과를 부여할 수 있다.
앞서 설명한 바와 같이, 종래에는 병변 영역과 같이 병리적 분석을 수행한 분석 결과를 원본 병리 이미지 위에 히트맵의 형태로 중첩하여 출력하는 것이 일반적이었다. 그러나 종래의 이러한 방법은 분석 결과의 시각적 요소(예를 들어, 히트맵)가 원본 영상을 가리기 때문에 해당 이미지로 진단을 해야 하는 진단자(예를 들어, 의사)는 분석 결과 시각적 요소를 제거했다가 복원하는 과정을 여러 번 반복하여야 했다.
반면, 본 발명의 일 실시예에 따르면, 상기 처리모듈(130)은 병변 영역이 아니라 비병변 영역에 시각적 효과를 부여함으로써, 병변 영역과 비병변 영역을 쉽게 구분할 수 있으면서도 진단자가 진단을 위해 주로 살펴보게 되는 병변 영역을 원본 그대로의 상태로 유지할 수 있다.
다시 도 4를 참조하면, 상기 출력모듈(140)은 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 상기 시스템(100)의 외부로 출력할 수 있다. 예를 들어, 상기 출력모듈(140)은 상기 병리 이미지 분석 결과 출력 시스템(100)과 네트워크를 통해 연결되어 있는 단말(200) 혹은 상기 병리 이미지 분석 결과 출력 시스템(100)과 소정의 인터페이스로 연결된 디스플레이 장치(150)로 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력할 수 있다.
실시예에 따라, 상기 출력모듈(140) 사용자로부터 소정의 토글 명령이 입력될 때마다, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지와 상기 비병변 영역에 시각적 효과를 부여하지 않은 원본 병리 이미지를 번갈아 출력할 수 있다.
한편, 상기 판단모듈(120)은 패치 단위의 판단을 수행할 수 있도록 미리 학습된 뉴럴 네트워크를 이용하여 상기 병리 이미지 중 병변 영역을 판단할 수 있다. 보다 상세하게는 상기 판단모듈(120)은 상기 병리 이미지를 소정의 크기로 분할한 복수의 진단 패치 각각을 미리 학습된 뉴럴 네트워크에 입력하여 상기 복수의 진단 패치 각각에 상응하는 판단 결과를 획득할 수 있으며, 획득된 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지 중 병변 영역을 판단할 수 있다.
일 실시예에서, 상기 판단모듈(120)은 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지에 대한 격자맵을 생성할 수 있다. 상기 격자맵은 병변 상태의 패치로 구성된 영역과 비병변 상태의 패치로 구성된 영역을 구분할 수 있는 맵을 의미할 수 있다.
도 6은 병리 이미지를 격자 형태로 분할한 각 진단 패치 별 판단 결과(즉, 상기 격자맵)의 예를 도시한 도면이다.
상기 판단모듈(120)은 병리 슬라이드(10)를 일정한 크기를 가지는 진단 패치(예를 들어, 11-1, 11-2 등)로 분할하여, 각 패치를 미리 학습된 뉴럴 네트워크에 입력할 수 있으며, 각 패치에 대한 뉴럴 네트워크의 판단 결과에 따라 각 패치가 병변 영역인지 비병변 영역인지를 판단할 수 있다. 모든 패치에 대한 판단이 완료되면 상기 판단모듈(120)은 상기 병리 슬라이드(10) 중 병변 영역에 해당하는 부분을 판단할 수 있다.
한편 상기 판단모듈(120)이 이용하는 뉴럴 네트워크는 다중 인스턴스 학습 및 오토 인코더를 이용한 독창적인 뉴럴 네트워크 학습 방법에 의해 미리 학습될 수 있는데, 이하에서는 이에 대하여 보다 상세하게 설명하기로 한다.
도 7은 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 방법을 수행하기 위한 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다. 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 방법은 뉴럴 네트워크 학습 시스템(300)에 의해 수행될 수 있다.
상기 뉴럴 네트워크 학습 시스템(300)은 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치인 컴퓨팅 시스템일 수 있으며, 일반적으로 네트워크를 통해 클라이언트가 접속 가능한 데이터 처리 장치인 서버뿐만 아니라 개인용 컴퓨터나 휴대 단말 등과 같은 컴퓨팅 장치를 포함할 수 있다.
상기 뉴럴 네트워크 학습 시스템(300)은 어느 하나의 물리적 장치로 구현될 수도 있으나, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 시스템(300)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
도 7를 참조하면, 상기 뉴럴 네트워크 학습 시스템(300)은 저장모듈(310), 추출모듈(320) 및 학습모듈(330)을 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 뉴럴 네트워크 학습 시스템(300)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다. 예를 들어 상기 시스템(100)은 상기 뉴럴 네트워크 학습 시스템(300) 의 다른 구성(예를 들면, 저장모듈(310), 추출모듈(320), 학습모듈(330) 등)의 기능 및/또는 리소스를 제어하기 위한 제어모듈(미도시)을 더 포함할 수도 있다. 또한 실시예에 따라 상기 뉴럴 네트워크 학습 시스템(300)은 본 발명의 기술적 사상을 구현하는데 필요한 각종 정보 및/또는 데이터를 저장하기 위한 데이터베이스(Database; DB; 340)를 더 포함할 수도 있다.
상기 뉴럴 네트워크 학습 시스템(300)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예를 들어, 저장모듈(310), 추출모듈(320), 학습모듈(330) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 저장모듈(310), 추출모듈(320), 학습모듈(330) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
상기 저장모듈(310)은 뉴럴 네트워크(311) 및 오토인코더(312)를 저장할 수 있다.
본 명세서에서 뉴럴 네트워크는 다층 퍼셉트론 모델을 포함하며, 인공 뉴럴 네트워크를 정의하는 일련의 설계사항들을 표현하는 정보의 집합을 의미할 수 있다.
일 실시예에서, 상기 뉴럴 네트워크(311)는 컨볼루션 뉴렬 네트워크일 수 있다. 컨볼루션 뉴렬 네트워크는 잘 알려진 바와 같이, 입력 레이어, 복수의 히든 레이어들, 및 출력 레이어를 포함할 수 있다. 복수의 히든 레이어들 각각은 컨볼루션 레이어 및 풀링 레이어(또는 서브 샘플링 레이어)를 포함할 수 있다.
컨볼루션 뉴렬 네트워크는 이러한 각각의 레이어들을 정의하기 위한 함수, 필터, 스트라이드(stride), 웨이트 팩터 등에 의해 정의될 수 있다. 또한, 출력 레이어는 풀리 커넥티드(fully connected)된 전방향 레이어(FeedForward layer)로 정의될 수 있다.
컨볼루션 뉴렬 네트워크를 구성하는 각각의 레이어별 설계 사항은 널리 알려져 있다. 예를 들어, 복수의 레이어들에 포함될 레이어의 개수, 상기 복수의 레이어들을 정의하기 위한 컨볼루션 함수, 풀링 함수, 활성화 함수 각각에 대해서는 공지된 함수들이 이용될 수도 있고, 본 발명의 기술적 사상을 구현하기 위해 별도로 정의된 함수들이 이용될 수도 있다.
컨볼루션 함수의 일 예로는 이산 컨볼류션 합 등이 있다. 풀링 함수의 일 예로는 맥스 풀링(max pooling), 에버리지 풀링(average pooling) 등이 이용될 수 있다. 활성화 함수의 일 예로는 시그모이드 (sigmoid), 탄젠트 하이퍼볼릭 (tanh), ReLU (rectified linear unit)등일 수 있다.
이러한 컨볼루션 뉴렬 네트워크의 설계 사항이 정의되면 설계사항이 정의된 컨볼루션 뉴럴 네트워크가 저장장치에 저장될 수 있다. 그리고 상기 컨볼류션 뉴럴 네트워크가 학습되면, 각각의 레이어들에 해당하는 웨이트 팩터가 특정될 수 있다.
즉, 컨볼루션 뉴렬 네트워크의 학습은 각각의 레이어들의 웨이트 팩터들이 결정되는 프로세스를 의미할 수 있다. 그리고 컨볼루션 뉴렬 네트워크가 학습되면, 학습된 컨볼루션 뉴렬 네트워크는 입력 레이어에 입력 데이터를 입력받고 미리 정의된 출력 레이어를 통해 출력 데이터를 출력할 수 있다.
본 발명의 실시 예에 따른 뉴럴 네트워크는 상기와 같이 널리 알려진 설계 사항들 중 어느 하나 또는 복수 개를 선택하여 정의될 수도 있고, 독자적인 설계 사항이 상기 뉴럴 네트워크를 위해 정의될 수도 있다.
상기 뉴럴 네트워크(311)는 입력된 데이터의 분류(classification)에 이용될 수 있는 클래시피케이션 뉴럴 네트워크일 수 있다. 바람직하게는 상기 뉴럴 네트워크(311)는 입력된 데이터가 소정의 제1상태 또는 제2상태인지 여부에 대한 가능성을 출력함으로써, 상기 입력된 데이터에 대한 이진 분류에 이용되는 뉴럴 네트워크일 수 있다. 예를 들어, 상기 뉴럴 네트워크(311)는 생체 이미지를 입력받아 해당 이미지에 소정의 질병(예를 들면, 암)에 의해 발생하는 병변이 존재할 가능성을 판단하기 위한 뉴럴 네트워크일 수 있다.
즉, 상기 뉴럴 네트워크(311)는 상기 뉴럴 네트워크(311)에 입력되는 값이 소정의 제1상태 또는 제2상태일 가능성을 출력할 수 있다. 제1상태는 긍정(positive) 또는 부정(negative) 중 어느 하나일 수 있으며, 제2상태는 긍정(positive) 또는 부정(negative) 중 나머지 하나일 수 있다. 예를 들어, 제1상태는 병변이 존재하지 않는 정상 상태(negative)이고 제2상태는 병변이 존재하는 비정상 상태(positive)일 수 있다.
상기 뉴럴 네트워크(311)가 출력하는 가능성은, 상기 뉴럴 네트워크(311) 내의 손실함수(예를 들면, 평균 제곱 오차(mean squared error; MSE), 교차 엔트로피 오차(cross entropy error; CEE) 또는 두 벡터 간의 거리(예를 들면, 유클리드 거리, n-노름 거리, 맨해튼 거리 등)를 나타내는 함수 등)에 의해 산출되는 값일 수 있다.
상기 오토인코더(312)는 비지도 학습 방법론에서 주로 사용되는 뉴럴 네트워크 구조이다. 상기 오토인코더(312)는 입력되는 값의 차원을 축소했다가 다시 복원하는 형태의 비지도 기계학습 모델로서, 학습에 사용되는 값들이 가지는 특징을 학습하는 기능을 가진다. 보다 상세하게는 상기 오토인코더(312)는 출력 값을 입력 값에 근사하도록 하는 함수를 학습하며, 인코더를 통해 입력 값에 대한 피쳐를 추출하고, 디코더를 통해 입력 값를 재구성한다.
도 8은 상기 오토인코더(312)의 구조를 개략적으로 도시한 도면이다. 도 8을 참조하면, 오토인코더(312)는 컨볼루셔널 레이어를 포함하는 인코더 파트(312-1) 및 디컨볼루셔널 레이어를 포함하는 디코더 파트(312-2)를 포함할 수 있다. 인코더(111)로 원본 데이터(x)가 입력되면 인코더 파트(312-1)에서 원본 데이터(x)에 대한 인코딩이 수행되어 원본 데이터(x)의 피쳐(z=E(x))가 생성될 수 있다. 생성된 피쳐(z)는 디코더 파트(312-2)에서 디코딩되어 원본 데이터(x)에 상응하는 복원 데이터(x'=D(z))가 생성될 수 있다.
오토인코더 역시 뉴럴 네트워크의 일종이므로 다수의 훈련 데이터에 의한 학습이 선행되는데, 오토 인코도의 학습 단계에서는 각각의 학습 데이터 d에 대해 아래의 1) 내지 3) 과정이 수행된다.
1) 학습 데이터 d가 오토인코더(312)에 입력되어 인코딩 및 디코딩 과정을 거쳐 학습 데이터 d에 상응하는 복원 데이터 d'이 생성된다.
2) 학습 데이터 d와 복원 데이터 d' 간의 차이인 오차 e=L(d, d')가 산출된다(L은 손실함수).
3) 오차 역전파(error backpropagation) 방법에 따라 오토인코더(312) 내의 가중치가 갱신된다.
한편, 상기 오토인코더(312)는 입력된 값이 제1상태인지 제2상태인지를 판단하는데 이용될 수 있다.
일 실시예에서, 상기 오토인코더(312)는 제1상태의 학습 데이터만으로 미리 학습될 수 있으며, 소정의 예측 대상 값을 학습된 상기 오토인코더(312)에 입력하여 상기 오토인코더(312)가 복원(즉, 출력)한 결과 값과 상기 예측 대상 값이 소정의 한계 값 이상 차이가 나는 경우, 상기 예측 대상 값은 제2상태라고 판단될 수 있다.
다른 일 실시예예서, 상기 오토인코더(312)는 제2상태의 데이터만으로 미리 학습될 수 있으며, 소정의 예측 대상 값을 학습된 상기 오토인코더(312)에 입력하여 상기 오토인코더(312)가 복원(즉, 출력)한 결과 값과 상기 예측 대상 값이 소정의 한계 값 이상 차이가 나는 경우, 상기 예측 대상 값은 제1상태라고 판단될 수 있다.
한편, 실시예에 따라 상기 오토인코더(312)는 변분 오토인코더(Variational AutoEncoder; VAE)를 포함할 수 있다.
다시 도 7를 참조하면, 상기 DB(340)은 상기 뉴럴 네트워크(311)의 학습에 이용될 학습 데이터를 저장할 수 있다. 학습 데이터는 도 3a을 참조하여 설명한 바와 같은 다중 인스턴스 학습용 데이터일 수 있다. 즉, 상기 DB(340)에 저장된 학습 데이터 각각은 다수의 데이터 인스턴스를 포함하는 데이터 백일 수 있다.
일 실시예에서, 상기 복수의 학습 데이터 각각은 홀-이미지일 수 있으며, 각각의 학습 데이터를 구성하는 데이터 인스턴스는 해당 홀-이미지를 소정의 크기로 분할한 각각의 이미지 패치일 수 있다. 예를 들어, 상기 학습 데이터 각각은 온전한 병리 슬라이드 이미지일 수 있다. 이 경우 데이터 백은 하나의 온전한 병리 슬라이드 이미지가 되며, 해당 데이터 백에 포함된 데이터 인스턴스는 해당 병리 슬라이드 이미지를 소정의 크기로 분할한 개별 패치일 수 있다.
한편, 상기 DB(340)에 저장된 학습 데이터는 각각 제1상태 또는 제2상태로 라벨링되어 있을 수 있다. 예를 들어, 상기 복수의 학습 데이터가 병리 슬라이드 이미지일 경우, 각각의 학습 데이터는 병리 슬라이드 이미지에 대한 진단 결과(예를 들어, 병변의 유무 등)가 라벨링되어 있을 수 있다.
한편, 실시예에 따라서는 상기 학습 데이터들은 DB(340)에 저장되어 있는 것이 아니라 외부 입력 수단을 통해 사용자로부터 입력될 수도 있으며, HDD나 SDD와 같은 저장장치에 파일의 형태로 저장되어 있을 수도 있다.
상기 추출모듈(320)은 제1상태 또는 제2상태 중 어느 하나로 라벨링되어 있는 복수의 데이터 백 각각에 대하여, 상기 데이터 백에 포함된 데이터 인스턴스들 중 일부를 학습용 인스턴스로 추출하는 추출단계를 수행할 수 있다. 상기 추출모듈(320)에 의해 추출된 학습용 인스턴스는 후추 상기 뉴럴 네트워크(311)의 학습에 이용될 수 있다.
도 9는 상기 추출모듈(320)이 학습용 데이터 인스턴스를 추출하는 방법의 일 예를 도시한 도면이다. 도 9는 학습 데이터들이 도 3a에 도시돤 바와 같은 경우를 예로 들고 있다.
도 9를 참조하면, 상기 추출모듈(320)은 먼저 각각의 데이터 백 B1 내지 BM에 대하여 단계 S110 내지 S130을 수행할 수 있다(S100).
한편, 상기 추출모듈(320)은 데이터 백 Bi에 대하여(i는 1<=i<=M인 임의의 정수), 상기 데이터 백 Bi에 포함된 각 데이터 인스턴스 Dij를 뉴럴 네트워크(311)에 입력하여(j는 1<=j<=N인 임의의 정수), 상기 데이터 백 Bi에 포함된 각 데이터 인스턴스 Dij의 가능성 Pij을 산출할 수 있다(S110, S111). 예를 들어, Pij는 제2상태일 가능성일 수 있으며, 데이터 인스턴스 Dij에 대한 Cross-entropy Loss를 가능성 Pij로 산출할 수 있다.
이후 상기 추출모듈(320)은 상기 데이터 백 Bi에 포함된 각 데이터 인스턴스 별 가능성(Pi1 내지 PiN), 및 상기 데이터 백에 포함된 각 데이터 인스턴스(Di1 내지 DiN) 중 적어도 일부에 대한 상기 오토인코더(312)의 판단 결과에 기초하여 상기 데이터 백 Bi에 포함된 각 데이터 인스턴스(Di1 내지 DiN) 중 일부를 학습용 인스턴스라고 판단할 수 있으며(S120), 판단된 학습용 인스턴스를 Bi의 라벨 Li로 라벨링할 수 있다(S130).
도 10는 도 9의 단계 S120의 구체적인 과정의 일 예를 도시한 도면이다. 도 10의 예에서는 상기 오토인코더(312)는, 제1상태인 데이터 인스턴스만으로 미리 학습되어 있다고 가정한다.
도 10를 참조하면, 상기 추출모듈(320)은 상기 데이터 백이 제1상태로 라벨링된 경우, 제2상태일 가능성이 가장 높은 데이터 인스턴스에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더(312)에 입력하여, 상기 오토인코더에 의해 제1상태라고 판단된 상위 일부의 데이터 인스턴스를 상기 데이터 백에 상응하는 학습용 인스턴스라고 판단할 수 있다(S121). 이때, 상기 추출모듈(320)은 오토인코더(312)에 입력된 데이터 인스턴스와 오토인코더(312)가 출력한 출력 데이터 간의 차이가 소정의 한계 값 이상인 경우 오토 인코더(112)에 입력된 데이터 인스턴스가 제1상태라고 판단할 수 있다.
한편, 상기 데이터 백이 제2상태로 라벨링된 경우, 상기 추출모듈(320)은 제2상태일 가능성이 가장 높은 데이터 인스턴스에서부터 제2상태일 가능성이 낮아지는 순서로 상기 오토인코더(312)에 입력하여, 상기 오토인코더(312)에 의해 제2상태라고 판단된 상위 일부의 데이터 인스턴스를 상기 데이터 백에 상응하는 학습용 인스턴스라고 판단할 수 있다(S122).
도 11은 도 10의 단계 S121의 구체적인 과정의 일 예를 도시한 도면이다.
도 11을 참조하면, 상기 추출모듈(320)은 데이터 백 Bi 내의 데이터 인스턴스(Di1 내지 DiN)를 제2상태일 가능성의 순으로 내림차순 정렬을 할 수 있다(S1211).
상기 추출모듈(320)은 단계 S1211를 통해 정렬된 순서대로 Bi 내의 데이터 인스턴스 Ak를 오토인코더(312)에 입력하여(k는 1<=j<=N인 임의의 정수), 입력된 데이터 인스턴스 Ak의 상태를 판단할 수 있으며(S1213), 데이터 인스턴스 Ak가 제1상태라고 판단된 경우 데이터 인스턴스 Ak를 학습용 인스턴스라고 판단할 수 있다(S1215).
상기 추출모듈(320)은 단계 S1213 내지 단계 S1215를 루프가 종료하거나 데이터 백 Bi에 상응하는 학습용 인스턴스가 미리 정해진 개수 Z만큼 발견될 때까지 수행할 수 있다(S1212, S1216, S1217 참조).
본 발명이 속하는 분야의 통상의 기술자라면, 도 11을 참고하여 도 10의 단계 S122의 구체적인 예 역시 손쉽게 도출할 수 있을 것이므로 상세한 설명은 생략하기로 한다. 한편, 도 10 및 도 11은 도 9의 단계 S120을 구현하는 일 예이며, 도 9의 단계 S120을 구현하는 다양한 방법이 있을 수 있음은 물론이다.
상술한 바와 같은 추출 과정을 통하여, 상기 추출모듈(320)은 하나의 데이터 백에서 여러 개의 데이터 인스턴스를 학습용 인스턴스로 추출할 수 있다. 종래의 다중 인스턴스 학습 방법에서는 하나의 데이터 백에서 여러 개의 학습용 인스턴스를 추출하는 경우 잘못된 학습 데이터 인스턴스가 추출될 가능성이 높아 뉴럴 네트워크의 학습에 부정적인 영향을 미칠 수 있었으나, 본 발명의 기술적 사상에 따른 방법에 의하면, 어느 하나의 상태만을 가지는 학습 데이터 인스턴스로 미리 학습된 오토인코더를 이용하여 필터링을 함으로써, 잘못된 학습 데이터 인스턴스가 추출되는 것을 상당히 줄일 수 있게 되는 효과가 있다.
다시 도 7를 참조하면, 상기 학습모듈(330)은 상기 추출모듈(320)에 의해 추출된 학습용 인스턴스에 기초하여 상기 뉴럴 네트워크(311)를 학습할 수 있다.
상기 학습모듈(330)은 널리 알려진 바와 같이, 뉴럴 네트워크(311)에 입력된 학습용 인스턴스와 출력 값간의 손실 오차를 상기 뉴럴 네트워크(311)에 역전파하여 상기 뉴럴 네트워크(311)를 학습할 수 있다.
상기 뉴럴 네트워크 학습 방법은, 상기 추출모듈에 의해 수행되는 학습 데이터 인스턴스 추출과정 및 상기 학습모듈(330)에 의해 수행되는 학습과정을 하나의 에폭(epoch)으로 취급하고, 복수의 에폭만큼 이를 반복 수행함으로써 뉴럴 네트워크(311)의 성능을 향상시킬 수 있다.
한편, 본 발명의 기술적 사상에 따른 뉴럴 네트워크 학습 방법은 이미지 기반의 질병 진단 혹은 의사의 진단에 도움을 주기 위한 진단 보조에 이용될 수 있는 이미지 기반의 질병 진단을 위한 뉴럴 네트워크를 학습하는데 응용될 수 있는데, 이하에서는 이러한 응용예에 대하여 설명하기로 한다.
본 응용예에서 상기 뉴럴 네트워크(311)는 홀-슬라이드-이미지(whole-slide-image)를 소정의 크기로 분할한 이미지 패치를 입력받아 해딩 이미지 패치에 소정의 질병으로 인한 병변의 유무를 판단하는 진단용 혹은 진단 보조용 뉴럴 네트워크일 수 있다. 이 경우 상기 DB(340)는 복수의 병리 이미지 슬라이드를 저장할 수 있다. 병리 슬라이드 이미지는 조직 이미지를 비롯한 다양한 생체 이미지일 수 있다. 한편, 각각의 병리 슬라이드 이미지는 병변이 존재하지 않는 제1상태(정상 상태), 또는 상기 병변이 존재하는 제2상태(비정상 상태) 중 어느 하나로 라벨링되어 있을 수 있다. 한편, 본 응용예에서, 상기 오토인코더(312)는 병변이 존재하지 않는 정상 상태의 이미지 패치만으로 미리 학습되어 있을 수 있다. 예를 들어, 학습자는 뉴럴 네트워크(311)의 학습을 위해 상기 DB(340)에 저장된 병리 슬라이드 이미지 중 정상 상태로 라벨링된 것만을 골라 패치로 분할한 후 상기 오토인코더(312)를 미리 학습할 수 있다. 또는 학습자는 뉴럴 네트워크(311)의 학습에 이용되지 않는 별도의 정상 상태의 패치를 수집하여 상기 오토인코더(312)를 미리 학습할 수도 있다.
본 응용예에서, 상기 추출모듈(320)은 정상 상태 또는 비정상 상태 중 어느 하나로 라벨링되어 있는 복수의 학습용 병리 슬라이드 이미지 각각에 대하여, 상기 학습용 병리 슬라이드 이미지를 구성하는 패치 중 일부인 학습용 패치를 추출하는 추출단계를 수행할 수 있으며, 상기 학습모듈(330)은 추출된 학습용 패치에 기초하여 상기 뉴럴 네트워크(311)를 학습하는 학습단계를 수행할 수 있다.
이때, 상기 추출단계에서, 상기 추출모듈(320)은 상기 학습용 병리 슬라이드 이미지를 구성하는 각 패치를 훈련중인 뉴럴 네트워크(311)에 입력하여, 상기 학습용 병리 슬라이드 이미지를 구성하는 각 패치 별 가능성을 산출할 수 있으며, 상기 학습용 병리 슬라이드 이미지를 구성하는 각 패치 별 가능성, 및 상기 학습용 병리 슬라이드 이미지를 구성하는 각 패치 중 적어도 일부에 대한 상기 오토 인코더(112)의 판단 결과에 기초하여 상기 학습용 병리 슬라이드 이미지를 구성하는 각 패치 중 일부를 학습용 패치라고 판단할 수 있다.
보다 상세하게는 상기 추출모듈(320)은 상기 학습용 병리 슬라이드 이미지가 정상 상태로 라벨링된 경우, 비정상 상태일 가능성이 가장 높은 패치에서부터 비정상 상태일 가능성이 낮아지는 순서로 상기 오토인코더(312)에 입력하여, 상기 오토인코더(312)에 의해 정상상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단할 수 있다. 또한 상기 추출모듈(320)은 상기 학습용 이미지가 비정상 상태로 라벨링된 경우, 비정상 상태일 가능성이 가장 높은 패치에서부터 비정상 상태일 가능성이 낮아지는 순서로 상기 오토 인코더(112)에 입력하여, 상기 오토 인코더(112)에 의해 비정상 상태라고 판단된 상위 일부의 패치를 상기 학습용 이미지에 상응하는 학습용 패치라고 판단할 수 있다.
상기 뉴럴 네트워크 학습 방법에 의해 학습된 뉴럴 네트워크는 상술한 바와 같이, 병리 이미지 분석 결과 출력 시스템(100)에 탑재되어, 병리 이미지에 대한 판단에 이용될 수 있다. 즉, 상기 뉴럴 네트워크는 소정의 이미지(진단 패치)가 병변 상태 또는 비병변 상태인지 여부를 판단할 수 있다.
도 12는 본 발명의 일 실시예에 따른 병리 이미지 분석 결과 출력 방법(200)을 도시한 도면이다.
도 12를 참조하면, 병리 이미지 분석 결과 출력 시스템(100)은, 병리 이미지를 획득할 수 있다(S210).
상기 병리 이미지 분석 결과 출력 시스템(100)은 상기 병리 이미지 중 병변 영역을 판단할 수 있다(S220). 일 실시예에서, 상기 상기 병리 이미지 분석 결과 출력 시스템(100)은 미리 학습된 뉴럴 네트워크를 이용하여 병변 영역을 판단할 수 있다.
상기 병리 이미지 분석 결과 출력 시스템(100)은 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여할 수 있다(S230). 일 실시예에서, 상기 병리 이미지 분석 결과 출력 시스템(100)은 상기 병리 이미지의 비병변 영역의 투명도를 조정하거나, 상기 병리 이미지의 비병변 영역의 채도를 조정하거나, 상기 병리 이미지의 비병변 영역의 명도를 조정할 수 있다.
이후 상기 병리 이미지 분석 결과 출력 시스템(100)은 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 단계(240).
한편, 상기 컴퓨팅 장치(100; 300)는 프로세서 및 저장장치를 포함할 수 있다. 상기 프로세서는 본 발명의 기술적 사상을 구현하기 위한 프로그램을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로그램과 본 발명의 기술적 사상에 의해 정의되는 뉴럴 네트워크 학습 방법을 수행할 수 있다. 상기 프로세서는 싱글 코어 CPU 혹은 멀티 코어 CPU를 포함할 수 있다. 상기 저장장치는 본 발명의 기술적 사상을 구현하는데 필요한 프로그램 및 각종 데이터를 저장할 수 있는 데이터 저장수단을 의미할 수 있으며, 구현 예에 따라 복수의 저장수단으로 구현될 수도 있다. 또한 상기 저장장치는 상기 컴퓨팅 장치(100; 300)에 포함된 주 기억장치뿐만 아니라, 상기 프로세서에 포함될 수 있는 임시 저장장치 또는 메모리 등을 포함하는 의미일 수도 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다.
한편, 본 발명의 실시예에 따른 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (11)

  1. 컴퓨팅 시스템이, 병리 이미지를 획득하는 단계;
    상기 컴퓨팅 시스템이, 상기 병리 이미지 중 병변 영역을 판단하는 단계;
    상기 컴퓨팅 시스템이, 상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 단계; 및
    상기 컴퓨팅 시스템이, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 단계는,
    상기 병리 이미지의 비병변 영역의 투명도를 조정하는 단계;
    상기 병리 이미지의 비병변 영역의 채도를 조정하는 단계; 또는
    상기 병리 이미지의 비병변 영역의 명도를 조정하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 컴퓨팅 시스템이,
    사용자로부터 소정의 토글 명령이 입력될 때마다, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지와 상기 비병변 영역에 시각적 효과를 부여하지 않은 원본 병리 이미지를 번갈아 출력하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 병리 이미지 중 병변 영역을 판단하는 단계는,
    상기 병리 이미지를 소정의 크기로 분할한 복수의 진단 패치 각각을 미리 학습된 뉴럴 네트워크에 입력하여 상기 복수의 진단 패치 각각에 상응하는 판단 결과를 획득하는 단계; 및
    획득된 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지 중 병변 영역을 판단하는 단계를 포함하는 방법.
  5. 데이터 처리장치에 설치되며 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램.
  6. 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  7. 컴퓨팅 시스템으로서,
    프로세서 및 메모리를 포함하되,
    상기 메모리는, 상기 프로세서에 의해 수행될 경우, 상기 컴퓨팅 시스템이 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하도록 하는 컴퓨팅 시스템.
  8. 병리 이미지를 획득하는 획득모듈;
    상기 병리 이미지 중 병변 영역을 판단하는 판단모듈;
    상기 병리 이미지의 병변 영역과 상기 병리 이미지의 비(非)병변 영역이 시각적으로 구분되도록 하기 위하여, 상기 병리 이미지의 비병변 영역에 소정의 시각적 효과를 부여하는 처리모듈; 및
    상기 비병변 영역에 시각적 효과를 부여한 병리 이미지를 출력하는 출력모듈을 포함하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 처리모듈은, 상기 병리 이미지의 비병변 영역에 시각적 효과를 부여하기 위하여,
    상기 병리 이미지의 비병변 영역의 투명도를 조정하거나,
    상기 병리 이미지의 비병변 영역의 채도를 조정하거나,
    상기 병리 이미지의 비병변 영역의 명도를 조정하는 것을 특징으로 하는 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 출력모듈은,
    사용자로부터 소정의 토글 명령이 입력될 때마다, 상기 비병변 영역에 시각적 효과를 부여한 병리 이미지와 상기 비병변 영역에 시각적 효과를 부여하지 않은 원본 병리 이미지를 번갈아 출력하는 단계를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 판단모듈은,
    상기 병리 이미지를 소정의 크기로 분할한 복수의 진단 패치 각각을 미리 학습된 뉴럴 네트워크에 입력하여 상기 복수의 진단 패치 각각에 상응하는 판단 결과를 획득하고,
    획득된 상기 복수의 진단 패치 각각의 판단 결과에 기초하여, 상기 병리 이미지 중 병변 영역을 판단하는 컴퓨팅 시스템.
KR1020200125500A 2020-09-28 2020-09-28 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템 KR20220042558A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200125500A KR20220042558A (ko) 2020-09-28 2020-09-28 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템
PCT/KR2021/012653 WO2022065798A1 (ko) 2020-09-28 2021-09-16 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템
KR1020210138117A KR20220043064A (ko) 2020-09-28 2021-10-18 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200125500A KR20220042558A (ko) 2020-09-28 2020-09-28 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210138117A Division KR20220043064A (ko) 2020-09-28 2021-10-18 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR20220042558A true KR20220042558A (ko) 2022-04-05

Family

ID=80846068

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200125500A KR20220042558A (ko) 2020-09-28 2020-09-28 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템
KR1020210138117A KR20220043064A (ko) 2020-09-28 2021-10-18 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210138117A KR20220043064A (ko) 2020-09-28 2021-10-18 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템

Country Status (2)

Country Link
KR (2) KR20220042558A (ko)
WO (1) WO2022065798A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583827B2 (en) * 2001-10-03 2009-09-01 Retinalyze Danmark A/S Assessment of lesions in an image
KR100958491B1 (ko) * 2004-07-30 2010-05-17 애플 인크. 터치 감지 입력 장치용 모드 기반 그래픽 사용자 인터페이스
KR101728725B1 (ko) * 2010-10-04 2017-04-20 엘지전자 주식회사 이동 단말기 및 그 제어방법
JP6361776B2 (ja) * 2016-09-02 2018-07-25 カシオ計算機株式会社 診断支援装置、及び診断支援装置における画像処理方法、並びにプログラム
JP7217589B2 (ja) * 2018-02-27 2023-02-03 シスメックス株式会社 画像解析方法、画像解析装置、プログラム、学習済み深層学習アルゴリズムの製造方法および学習済み深層学習アルゴリズム
KR102043672B1 (ko) * 2019-03-29 2019-11-12 주식회사 딥노이드 딥러닝 기반의 병변 판독 시스템 및 방법

Also Published As

Publication number Publication date
KR20220043064A (ko) 2022-04-05
WO2022065798A1 (ko) 2022-03-31

Similar Documents

Publication Publication Date Title
US10452899B2 (en) Unsupervised deep representation learning for fine-grained body part recognition
Carass et al. Longitudinal multiple sclerosis lesion segmentation: resource and challenge
CN111784671B (zh) 基于多尺度深度学习的病理图像病灶区域检测方法
Lin et al. Automatic retinal vessel segmentation via deeply supervised and smoothly regularized network
JP2019533866A (ja) 制御フィードバックを用いる画像セグメンテーションの方法及びシステム
EP3726466A1 (en) Autonomous level identification of anatomical bony structures on 3d medical imagery
Tennakoon et al. Image quality classification for DR screening using convolutional neural networks
CN111275686B (zh) 用于人工神经网络训练的医学图像数据的生成方法及装置
KR102163519B1 (ko) 오토인코더 및 다중 인스턴스 학습을 통한 뉴럴 네트워크 학습 방법 및 이를 수행하는 컴퓨팅 시스템
US11935213B2 (en) Laparoscopic image smoke removal method based on generative adversarial network
CN114998210A (zh) 一种基于深度学习目标检测的早产儿视网膜病变检测系统
Ramkumar et al. Multi res U-Net based image segmentation of pulmonary tuberculosis using CT images
CN114463320B (zh) 一种磁共振成像脑胶质瘤idh基因预测方法及系统
KR20220043064A (ko) 병리 이미지 분석 결과 출력 방법 및 이를 수행하는 컴퓨팅 시스템
Mohammedhasan et al. A new deeply convolutional neural network architecture for retinal blood vessel segmentation
CN113379770B (zh) 鼻咽癌mr图像分割网络的构建方法、图像分割方法及装置
Xiao et al. Segmentation of cerebrovascular anatomy from TOF-MRA using length-strained enhancement and random walker
CN112614092A (zh) 脊柱检测方法和装置
Kumar et al. Segmentation of retinal lesions in fundus images: a patch based approach using encoder-decoder neural network
Paul et al. Computer-Aided Diagnosis Using Hybrid Technique for Fastened and Accurate Analysis of Tuberculosis Detection with Adaboost and Learning Vector Quantization
CN116739951B (zh) 一种图像生成器、图像风格转换装置及方法
Khan A Novel Deep Learning-Based Framework for Context-Aware Semantic Segmentation in Medical Imaging
CN116188879B (zh) 图像分类、图像分类模型训练方法、装置、设备及介质
Zehra et al. Dr-net: Cnn model to automate diabetic retinopathy stage diagnosis
Yang et al. Depth mapping hybrid deep learning method for optic disc and cup segmentation on stereoscopic ocular fundus

Legal Events

Date Code Title Description
J301 Trial decision

Free format text: TRIAL NUMBER: 2021101002660; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20211018

Effective date: 20220323

E902 Notification of reason for refusal
S601 Decision to reject again after remand of revocation