KR20210008283A - 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법 - Google Patents

뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법 Download PDF

Info

Publication number
KR20210008283A
KR20210008283A KR1020190084814A KR20190084814A KR20210008283A KR 20210008283 A KR20210008283 A KR 20210008283A KR 1020190084814 A KR1020190084814 A KR 1020190084814A KR 20190084814 A KR20190084814 A KR 20190084814A KR 20210008283 A KR20210008283 A KR 20210008283A
Authority
KR
South Korea
Prior art keywords
patch
neural network
result
disease
level
Prior art date
Application number
KR1020190084814A
Other languages
English (en)
Other versions
KR102329546B1 (ko
Inventor
김선우
조준영
이상훈
Original Assignee
주식회사 딥바이오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 딥바이오 filed Critical 주식회사 딥바이오
Priority to KR1020190084814A priority Critical patent/KR102329546B1/ko
Priority to US17/626,806 priority patent/US20220301712A1/en
Priority to PCT/KR2020/009096 priority patent/WO2021010671A2/ko
Priority to EP20841047.2A priority patent/EP3989237A4/en
Priority to CN202080051105.3A priority patent/CN114503153A/zh
Priority to JP2022500883A priority patent/JP7299658B2/ja
Publication of KR20210008283A publication Critical patent/KR20210008283A/ko
Application granted granted Critical
Publication of KR102329546B1 publication Critical patent/KR102329546B1/ko

Links

Images

Classifications

    • 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
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0033Features or image-related aspects of imaging apparatus classified in A61B5/00, e.g. for MRI, optical tomography or impedance tomography apparatus; arrangements of imaging apparatus in a room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/048Activation functions
    • 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
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • 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/30081Prostate
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Quality & Reliability (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Processing (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

뉴럴 네트워크를 통한 학습을 수행하여 학습된 뉴럴 네트워크 및 비국소적 블록을 이용하여 생체조직의 이미지에서 질병이 있는 영역을 세그멘테이션할 수 있는 질병 진단 시스템 및 그 방법이 개시된다. 본 발명의 일 측면에 따르면, 프로세서 및 뉴럴 네트워크를 저장하는 저장장치를 포함하는 시스템에 구현되며 생체이미지인 슬라이드와 상기 뉴럴 네트워크를 이용한 질병의 진단 시스템에 있어서, 상기 시스템은, 상기 슬라이드가 소정의 크기로 분할된 소정의 패치 각각에 대하여, 상기 패치를 입력 레이어로 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 뉴럴 네트워크를 포함하되, 상기 패치레벨 세그멘테이션 뉴럴 네트워크는, 상기 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과를 출력하는 패치레벨 클래시피케이션 뉴럴 네트워크 및 상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 아키텍쳐를 포함하는 질병 진단 시스템이 제공된다.

Description

뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법{System and method for medical diagnosis using neural network and non-local block}
본 발명은 뉴럴 네트워크를 이용한 질병 진단 시스템 및 그 방법에 관한 것이다. 보다 상세하게는 뉴럴 네트워크를 통한 학습을 수행하여 학습된 뉴럴 네트워크 및 비국소적 블록을 이용하여 생체조직의 이미지에서 질병이 있는 영역을 세그멘테이션할 수 있는 질병 진단 시스템 및 그 방법에 관한 것이다.
병리학 또는 병리과에서 수행하는 주요한 업무 중 하나는 환자의 생체이미지를 판독하여 특정 질병에 대한 상태 또는 징후를 판단하는 진단을 수행하는 일이다. 이러한 진단은 오랜 기간 숙련된 의료인의 경험과 지식에 의해 의존되는 방식이다.
최근에는 기계학습의 발달로 인해 이미지를 인식하거나 분류하는 등의 업무를 컴퓨터 시스템에 의해 자동화하고자 하는 시도가 활발히 이루어지고 있다. 특히 기계학습의 일종인 뉴럴 네트워크(예컨대, 컨벌루션 뉴럴 네트워크(Convolution neural network, CNN)를 이용한 딥러닝 방식)를 이용하여 숙련된 의료인이 수행하던 진단을 자동화하기 위한 시도가 이루어지고 있다.
특히 뉴럴 네트워크(예컨대, CNN)를 이용한 딥러닝을 통한 진단은 종래에 숙련된 의료인의 경험과 지식을 단순히 자동화하는 것이 아니라, 스스로 학습을 통해 특징적인 요소들을 찾아내어 원하는 해답을 도출한다는 점에 있어서 오히려 숙련된 의료인이 알지 못하던 질병인자의 특징을 이미지에서 찾아내는 경우도 있다.
일반적으로 생체이미지를 이용하는 뉴럴 네트워크를 통한 질병의 진단은 생체이미지의 조각 즉, 패치(pathch, 또는 타일(tile)이라고도 함)을 이용한다. 즉, 해당 타일에 대해 숙련된 의료인은 특정 질병의 상태(예컨대, 암이 발현되었는지 여부)를 어노테이션(annotaion)하고, 이러한 어노테이션된 다수의 타일들을 트레이닝 데이터로 이용하여 뉴럴 네트워크를 학습하게 된다. 이때 상기 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크가 이용될 수 있다.
하지만 이러한 방식의 경우 학습된 뉴럴 네트워크는 해당 타일의 이미지 특징만으로 해당 타일의 질병의 상태를 판단하게 되는데, 실제로는 특정 질병에 대해 특정 생체조직의 상태를 판단할 때에는 상기 특정 생체조직 자체뿐만 아니라 상기 특정 생체조직의 주변 조직의 현황(예컨대, 모양, 특정 패턴이 존재하는지 등)까지 같이 고려되어야 하는 경우가 존재한다. 하지만 종래의 방식은 이러한 경우에 적합하지 않는 문제점이 있다.
또한, 패치 단위의 진단결과에 따라 질병의 발현여부를 패치별로 판단하는 경우, 특정 패치는 질병이 발현되었다고 진단결과가 출력될 수 있지만 보다 광범위한 범위에서는 질병이 발현되지 않았다고 판단될 가능성은 얼마든지 존재할 수 있다. 따라서 패치별 진단결과를 토대로 해당 패치를 포함하는 슬라이드 전체에서 질병이 발현되었는지 여부를 별도로 판단하는 것이 필요할 수 있다.
또한, 패치 단위의 진단결과에 따라 질병의 발현여부를 패치 별로 판단(즉 패치 별 클래시피케이션)하고, 패치 단위 진단 결과를 바로 시각화하는 경우 실제로 조직(티슈)가 아닌 부분까지 시각화되는 문제가 있을 수 있다. 따라서, 질병으로 진단된 조직 부분을 명확히 파악할 수 있도록 패치에서 질병 영역을 구분해낼 수 있는 세그멘테이션이 필요할 수 있다.
한편, 생체이미지를 이용하는 뉴럴 네트워크를 통한 질병의 진단에서는 2차원의 이미지로 3차원의 전립선을 진단을 하기 때문에 접면(tangential) 문제가 발생할 수 있다. 예를 들면, 병리학자들은 서로 다른 슬라이드에서 비슷한 모양의 분비선(gland)이 발견되었을 때 주변의 분비선을 보고 진단 결과(예를 들면, 영성/음성, 글리슨 스코어 3점, 4점 등)가 구별하게 된다. 즉, 보통 병리학자들은 주변을 보고 진단을 하지만 현존하는 딥 러닝 네트워크는 대부분 그러한 것을 반영하지 못한다는 문제점이 있다.
한국공개특허 10-2016-0034814 "뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템"
본 발명이 이루고자 하는 기술적인 과제는 특정 패치를 통해 질병이 발병하였는지 여부뿐만 아니라 해당 패치에서 질병이 발명한 영역을 구분할 수 있는 뉴럴 네트워크를 이용한 진단 시스템 및 그 방법을 제공하는 것이다. 특히, 패치에 질병이 존재하는지 여부를 판단할 수 있는 클래시피케이션 뉴럴 네트워크 아키텍쳐에 세그멘테이션을 위한 서브 아키텍쳐를 추가함으로써 효율적으로 질병이 발명한 영역의 구분을 위한 세그멘테이션을 수행할 수 있는 진단 시스템 및 그 방법을 제공하는 것이다.
또한 특정 패치의 질병에 대한 상태(예컨대, 질병의 발현여부, 또는 질병의 상태를 나타내는 지표 등)를 판단하기 위해 상기 특정 타일뿐만 아니라 주변 타일까지 학습에 이용하여 보다 정확도를 높일 수 있는 뉴럴 네트워크를 이용하는 진단 시스템 및 그 방법을 제공하는 것이다.
또한 패치별 진단결과 자체가 아니라, 해당 패치를 포함하는 광범위한 생체조직에서 질병의 발현여부를 상기 패치별 진단결과를 활용하여 효과적이고 정확도가 높게 진단할 수 있는 진단 시스템 및 그 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 프로세서 및 뉴럴 네트워크를 저장하는 저장장치를 포함하는 시스템에 구현되며 생체이미지인 슬라이드와 상기 뉴럴 네트워크를 이용한 질병의 진단 시스템에 있어서, 상기 시스템은, 상기 슬라이드가 소정의 크기로 분할된 소정의 패치 각각에 대하여, 상기 패치를 입력 레이어로 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 뉴럴 네트워크를 포함하되, 상기 패치레벨 세그멘테이션 뉴럴 네트워크는, 상기 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과를 출력하는 패치레벨 클래시피케이션 뉴럴 네트워크; 및
상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 아키텍쳐를 포함하고,
상기 패치레벨 세그멘테이션 아키텍쳐는, 상기 2 이상의 피쳐 추출 레이어 각각에 대응되는 비국소적 상관관계 산출노드를 포함하는 비국소적 상관관계 산출 서브 아키텍쳐-상기 비국소적 상관관계 산출노드 각각은 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소적 상관관계 산출 과정을 수행하며, 상기 비국소적 상관관계 산출과정은 컨볼루션(Convolution) 수행 과정, 비국소 블록(Non-local Block) 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정임-, 상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 기초하여 상기 패치 중 질병이 존재하는 영역을 특정하는 세그멘테이션 서브 아키텍쳐를 포함하는 질병 진단 시스템이 제공된다.
일 실시예에서, 상기 세그멘테이션 서브 아키텍쳐는, 상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 대하여 컨볼루션 및 접합(concatenation)을 통해 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성할 수 있다.
일 실시예에서, 상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 피쳐 맵 추출 레이어는, 저수준 피쳐 추출 레이어, 중수준 피쳐 추출 레이어 및 고수준 피쳐 추출 레이어를 포함하고, 상기 비국소적 상관관계 산출 서브 아키텍쳐는, 상기 저수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 컨볼루션 과정을 수행하여 제1컨볼루션 결과물을 생성하는 저수준 비국소적 상관관계 산출노드, 상기 중수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정 및 컨볼루션 과정을 병렬적으로 수행하여 제1비국소 결과물 및 제2컨볼루션 결과물을 생성하는 중수준 비국소적 상관관계 산출노드, 및 상기 고수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정을 수행하여 제2비국소 결과물을 생성하는 고수준 비국소적 상관관계 산출노드를 포함할 수 있다.
일 실시예에서, 상기 세그멘테이션 서브 아키텍쳐는, 제1비국소 결과물, 제2컨볼루션 결과물 및 상기 제2비국소 결과물을 업스케일링한 결과물을 접합하여 제1중간 결과물을 생성하고, 상기 제1중간 결과물에 대한 컨볼루션 및 업스케일링일 수행한 제2중간 결과물을 상기 제1컨볼루션 결과물과 접합하여 제3중간 결과물을 생성하고, 상기 제3중간 결과물에 대한 컨볼루션을 수행하여 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성할 수 있다.
일 실시예에서, 상기 슬라이드에 포함된 다수의 패치들 각각의 패치 레벨 분류 결과 질병으로 분류된 패치를 마킹하고, 마킹된 결과에 기초하여 상기 슬라이드에 질병이 존재하는지 여부인 슬라이드 레벨 진단결과를 출력하는 슬라이드 진단 엔진을 더 포함할 수 있다.
일 실시예에서, 상기 질병은, 전립선 암인 것을 특징으로 할 수 있다.
본 발명의 다른 일 측면에 따르면, 프로세서 및 뉴럴 네트워크를 저장하는 저장장치를 포함하는 시스템에 구현되며 생체이미지인 슬라이드와 상기 뉴럴 네트워크를 이용한 질병의 진단 방법에 있어서, 상기 시스템이, 상기 슬라이드가 소정의 크기로 분할된 소정의 패치 각각에 대하여, 상기 패치를 상기 뉴럴 네트워크의 입력 레이어로 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 단계를 포함하되, 상기 패치레벨 세그멘테이션 뉴럴 네트워크는, 상기 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과를 출력하는 패치레벨 클래시피케이션 뉴럴 네트워크 및 상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 아키텍쳐를 포함하고, 상기 패치레벨 세그멘테이션 아키텍쳐는, 상기 2 이상의 피쳐 추출 레이어 각각에 대응되는 비국소적 상관관계 산출노드를 포함하는 비국소적 상관관계 산출 서브 아키텍쳐-상기 비국소적 상관관계 산출노드 각각은 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소적 상관관계 산출 과정을 수행하며, 상기 비국소적 상관관계 산출과정은 컨볼루션(Convolution) 수행 과정, 비국소 블록(Non-local Block) 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정임-, 상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 기초하여 상기 패치 중 질병이 존재하는 영역을 특정하는 세그멘테이션 서브 아키텍쳐를 포함하는 질병 진단 방법이 제공된다.
일 실시예에서, 상기 질병 진단 방법은, 상기 시스템이, 상기 슬라이드에 포함된 다수의 패치들 각각의 패치 레벨 분류 결과 질병으로 분류된 패치를 마킹하고, 마킹된 결과에 기초하여 상기 슬라이드에 질병이 존재하는지 여부인 슬라이드 레벨 진단결과를 출력하는 단계를 더 포함할 수 있다..
본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램이 제공된다.
본 발명의 기술적 사상에 의하면, 패치별로 질병의 발명 여부를 판단하는 패치 레벨 클래시피케이션뿐만 아니라 해당 패치 중 질병이 발명한 영역까지 구분할 수 있는 패치 레벨 세그멘테이션을 수행할 수 있는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법을 제공할 수 있으며, 병리학적 관점(Pathologic view)을 반영하여 더욱 세밀한 진단을 가능케 하는 딥 러닝 네트워크를 제공할 수 있다.
또한 본 발명의 기술적 사상에 따르면 특정 패치에 대한 진단을 수행하면서 상기 특정 패치를 포함하며 주변패치를 더 포함하는 거시 패치까지 같이 고려하여 상기 특정 패치의 질병에 대한 상태를 판단할 수 있는 뉴럴 네트워크를 제공함으로써 보다 높은 진단의 정확도를 제공할 수 있는 효과가 있다.
또한 본 발명의 기술적 사상에 의하면, 패치별 진단결과 자체만으로 해당 패치를 포함하는 슬라이드에 질병이 발현되었다고 판단할 경우의 문제점을 해결하기 위해, 해당 패치를 포함하는 슬라이드에서 질병의 발현여부를 클러스터 및 클러스터의 피쳐들(특징들)을 이용해 다시 판단함으로써 효과적이고 정확도가 높은 진단을 수행할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 따른 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템의 개략적인 시스템 구성을 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템의 하드웨어적 구성을 설명하기 위한 도면이다.
도 3는 본 발명의 실시 예에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템의 논리적 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크의 전체적인 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 패치레벨 클래시피케이션 뉴럴 네트워크의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시 예에 따른 패치레벨 클래시피케이션 뉴럴 네트워크의 예시적 구성을 설명하기 위한 도면이다.
도 7은 상기 패치레벨 세그멘테이션 아키텍쳐의 전체적인 구조를 설명하기 위한 도면이다.
도 8a는 본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크의 구체적인 예를 도시한 도면이며, 도 8b는 도 8a의 딥 뉴럴 네트워크의 일 예를 도시한 도면이다.
도 9는 본 발명의 실시 예에 따른 투 페이스 질병 진단 방법의 개념을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시 예에 따른 패치 레벨 진단 결과에 따른 마킹결과를 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 따른 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템(이하, '진단 시스템(100)'이라고 함)의 개략적인 시스템 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 기술적 사상에 따른 진단 시스템(100)은 소정의 서버(10)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다. 상기 서버(10)는 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치를 의미하며, 일반적으로 네트워크를 통해 클라이언트가 접속 가능한 데이터 처리장치뿐만 아니라 개인용 컴퓨터, 휴대 단말 등과 같이 특정 서비스를 수행할 수 있는 어떠한 장치도 서버로 정의될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 서버(10)는 도 2에 도시된 바와 같이 프로세서(11) 및 저장장치(12)를 포함할 수 있다. 상기 프로세서(11)는 본 발명의 기술적 사상을 구현하기 위한 프로그램(12-1)을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로세서(11)는 상기 프로그램(12-1)과 본 발명의 기술적 사상에 의해 정의되는 뉴럴 네트워크(Neural Network, 12-2)를 이용해 진단을 수행할 수 있다. 상기 뉴럴 네트워크(12-2)는 후술할 바와 같이 패치레벨 진단을 수행하는 패치레벨 세그멘테이션 뉴럴 네트워크를 포함할 수 있다. 또한 상기 패치레벨 세그멘테이션 뉴럴 네트워크는 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션을 수행할 수도 있다.
구현 예에 따라 상기 뉴럴 네트워크(12-2)는 슬라이드 레벨 진단을 수행하는 뉴럴 네트워크를 더 포함할 수도 있다. 실시 예에 따라서 상기 슬라이드 레벨 진단을 수행하는 구성은 뉴럴 네트워크뿐만 아니라 다양한 머신러닝 기법을 통해 구현될 수도 있다. 본 발명의 기술적 사상에 따르면 상기 슬라이드 레벨 진단을 수행하는 진단엔진은 공지의 XGBoost가 이용되었지만 다양한 방식의 머신러닝 기법에 따른 진단엔진이 구현될 수 있고, 이러한 진단엔진은 상기 저장장치(12)에 저장될 수 있음은 물론이다.
상기 서버(10)는 도 2에 도시된 바와 같이 프로세서(11) 및 저장장치(12)를 포함할 수 있다. 상기 프로세서(11)는 본 발명의 기술적 사상을 구현하기 위한 프로그램(12-1)을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로세서(11)는 상기 프로그램(12-1)과 본 발명의 기술적 사상에 의해 정의되는 뉴럴 네트워크(Nerual Network, 12-2)를 이용해 진단을 수행할 수 있다.
상기 뉴럴 네트워크(12-2)는 후술할 바와 같이 패치레벨 진단을 수행하는 뉴럴 네트워크를 포함할 수 있다. 패치레벨 진단을 수행하는 뉴럴 네트워크는 슬라이드를 분할한 일부인 패치에 질병이 존재하는지 여부를 판단할 수 있다. 또한 패치레벨 진단을 수행하는 뉴럴 네트워크는 해당 패치 중 질병의 발병 영역을 특하는 세그멘테이션을 수행할 수도 있는데, 이러한 뉴럴 네트워크를 이하에서는 패치레벨 세그멘테이션 뉴럴 네트워크라고 부르기로 한다.
구현 예에 따라 상기 뉴럴 네트워크(12-2)는 슬라이드 레벨 진단을 수행하는 뉴럴 네트워크를 더 포함할 수도 있다. 실시 예에 따라서 상기 슬라이드 레벨 진단을 수행하는 구성은 뉴럴 네트워크뿐만 아니라 다양한 머신러닝 기법을 통해 구현될 수도 있다. 본 발명의 기술적 사상에 따르면 상기 슬라이드 레벨 진단을 수행하는 진단엔진은 공지의 XGBoost가 이용되었지만 다양한 방식의 머신러닝 기법에 따른 진단엔진이 구현될 수 있고, 이러한 진단엔진은 상기 저장장치(12)에 저장될 수 있음은 물론이다.
상기 저장장치(12)는 상기 프로그램(12-1), 뉴럴 네트워크(12-2), 및/또는 슬라이드 레벨 진단을 수행하는 진단엔진을 저장할 수 있는 데이터 저장수단을 의미할 수 있으며, 구현 예에 따라 복수의 저장수단으로 구현될 수도 있다. 또한 상기 저장장치(12)는 상기 서버(10)에 포함된 주 기억장치뿐만 아니라, 상기 프로세서(11)에 포함될 수 있는 임시 저장장치 또는 메모리 등을 포함하는 의미일 수도 있다.
상기 진단 시스템(100)은 도 1 또는 도 2에서는 어느 하나의 물리적 장치로 구현된 것으로 도시하였지만, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 진단 시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
본 명세서에서 상기 진단 시스템(100)이 진단을 수행한다고 함은 생체조직이 표현된 생체이미지 즉, 슬라이드의 전체 또는 상기 슬라이드의 일부인 패치를 입력받아 본 명세서에서 정의된 출력 데이터를 출력하는 일련의 프로세스를 의미할 수 있다.
일 예에 의하면 상기 진단 시스템(100)은 투 페이스(two phase) 진단을 수행할 수 있다. 첫 번째 페이스는 패치레벨 진단을 수행하는 과정일 수 있고, 이러한 과정에서 상기 진단 시스템(100)은 슬라이드의 패치 별로 입력을 받고 해당 패치에 질병의 발현여부를 출력하고 및/또는 해당 패치에서 질병이 발병한 영역을 특정할 수 있다. 이를 위한 뉴럴 네트워크가 학습되어 구현될 수 있음은 물론이다.
두 번째 페이스는 첫 번째 페이스의 진단결과를 통해 슬라이드에 질병이 발현되었는지 여부를 출력할 수 있다. 이러한 과정은 뉴럴 네트워크 또는 소정의 머신러닝 기법이 이용될 수 있다.
즉, 패치별 진단결과에 따라 일부 패치가 질병이 발현되었다고 판단되더라도, 해당 패치를 포함하는 슬라이드 전체에 상응하는 생체조직에서 질병이 발현된 것으로 판단되지 않을 가능성은 존재할 수 있다. 예컨대, 질병 발현된 것으로 판단된 패치들이 슬라이드 내에서 산만하게 흩어져 있거나, 그 수가 적은 경우, 또는 밀집도 등 기타 질병이 발현된 것으로 판단된 패치들의 물리적 특성(예컨대, 위치, 크기, 밀집도 등)이 실제 해당 슬라이드에서 질병의 발현여부 판단에 중요한 의미를 가질 수 있다. 따라서 두 번째 페이스는 패치별 진단결과와 이러한 진단결과에 기초하여 판단된 패치들(즉, 질병이 발현된 것으로 진단된 패치들)의 특성에 기초하여 슬라이드에서의 질병의 발현여부를 판단함으로써 효과적으로 그리고 정확도 높은 진단을 수행할 수 있다.
한편, 패치레벨 진단을 수행하는 뉴럴 네트워크는 본 발명의 기술적 사상에 의하면, 해당 패치만을 이용하여 진단을 수행하는 것이 아니라 해당 패치의 주변패치까지 더 고려하여 진단을 수행할 수 있다. 이러한 기술적 사상은 본 출원인이 출원한 한국특허출원(출원번호 10-2016-0168176, 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법, 이하 '이전출원')에서 상세히 개시한 바 있다. 이를 통해 매우 지엽적인 영역 즉, 패치에 해당하는 영역만 단독으로 고려하여 진단을 수행하는 것보다 그 주변 영역까지 같이 고려할 경우, 진단의 정확성을 높일 수 있다. 더욱이 본 발명의 기술적 사상에 의하면, 특정 패치의 주변패치뿐만 아니라 전체 슬라이드에서 패치들의 위치, 밀집도, 클러스터의 크기 등의 물리적 특성을 더 고려함으로써 슬라이드에 질병이 존재하는지 여부를 더욱 정확하게 판단할 수 있는 효과가 있다. 이전출원은 본 발명의 레퍼런스로 포함되며 그 내용은 본 명세서에 기재된 것으로 취급될 수 있다.
물론, 본 발명의 다른 실시 예에 의하면, 이전 출원과 같이 미시 네트워크와 거시 네트워크 즉, 투 웨이(two-way) 방식의 뉴럴 네트워크를 이용하는 것이 아니라 단일의 원 웨이(one-way) 뉴럴 네트워크를 이용할 수도 있다. 예컨대, 본 발명의 실시 예에 따른 뉴럴 네트워크는 도 6에 도시된 바와 같을 수도 있다.
어떠한 경우든 상기 뉴럴 네트워크는 패치를 입력받아 입력된 패치가 질병이 발현했는지 여부를 출력하도록 정의되는 뉴럴 네트워크이면 족하다. 이때 상기 뉴럴 네트워크는 오리지널 입력 값(예컨대, RGB 3채널)에 추가로 그레이 채널을 입력 값으로 받아서 진단을 수행하도록 학습되는 것을 특징으로 할 수 있다.
한편, 패치레벨 진단을 수행하는 뉴럴 네트워크가 출력하는 상태정보는 상기 패치에 해당하는 조직에 특정 질병(예컨대, 특정 종류의 암)이 발현되었는지 여부에 대한 확률을 나타내는 정보일 수 있다. 상기 뉴럴 네트워크는 특정 기준 값(문턱 값) 이상의 확률이 나타날 경우 상기 패치를 질병(예컨대, 전립선 암)이 발현한 패치로 판단할 수 있다.
물론, 상기 뉴럴 네트워크는 이전출원에 개시된 바와 같이 특정 질병의 발현여부뿐만 아니라, 특정 질병의 진행 정도를 나타내는 정보(또는 상기 진행 정도에 해당할 확률)일 수도 있다. 예컨대, 본 발명의 기술적 사상이 전립선 암의 진단에 이용되는 경우, 전립선 암의 진행 정도를 나타내는 지표인 글리슨 스코어(Gleason Pattern) 또는 글리슨 스코어(Gleason Score)가 상기 뉴럴 네트워크가 출력하는 상태정보에 포함될 수 있다. 예컨대, 글리슨 스코어는 2 내지 5의 값을 가지며, 숫자가 클수록 전립선 암이 발현된 정도가 심한 것을 나타낸다. 따라서 상기 상태정보는 진단의 대상이 되는 패치에 해당하는 생체조직이 글리슨 스코어의 특정 값(예컨대, 3, 4, 또는 5)에 해당할 확률을 의미할 수도 있다.
상기 상태정보는 복수 개 존재할 수 있다. 예컨대, 제1상태정보는 글리슨 스코어가 3일 확률, 제2상태정보는 글리슨 스코어가 4일 확률, 제3상태정보는 글리슨 스코어가 5일 확률을 나타낼 수 있으며, 이러한 제1상태정보, 제2상태정보, 제3상태정보에 상응하는 상태채널 모두가 상기 출력 레이어에 정의될 수도 있다. 구현 예에 따라서는 글리슨 스코어가 일정 범위(예컨대, 3 내지 5, 4 내지 5 등)를 가질 확률을 나타내는 상태정보가 정의될 수도 있다. 즉, 하나의 상태정보가 질병의 진행상태를 표현하는 복수개의 지표들에 대응할 수도 있다.
이러한 경우, 상기 뉴럴 네트워크는 글리슨 스코어가 3 이상인 상태정보가 소정의 문턱 값 이상일 경우, 상기 패치를 질병 패치 즉 질병이 발현한 패치라고 판단할 수 있다.
한편, 상기 뉴럴 네트워크가 이용하는 문턱 값은 다양하게 설정될 수 있다. 실시 예에 따르면 상기 문턱 값은 복수 개 이용될 수 있다. 문턱 값에 따라 특정 패치가 질병이 발현된 패치 즉, 질병 패치로 판단될 수도 있고 노멀 패치로 판단될 수 있음은 물론이다.
본 발명의 기술적 사상에 의하면, 상기 뉴럴 네트워크가 이용하는 문턱 값은 복수 개일 수 있고, 이러한 경우 복수 개의 문턱 값 각각에 따라 진단되는 질병 패치는 달라질 수 있다. 따라서 문턱 값들 각각에 따라 질병 패치가 슬라이드 상에서 배치되는 특성 역시 달라질 수 있다. 따라서 어떤 문턱 값들을 이용할 경우, 슬라이드에서의 진단결과의 정확도 역시 달라질 수 있다.
따라서 본 발명의 기술적 사상은 후술할 바와 같이 복수의 문턱 값들 각각에 따라 진단된 질병 패치들이 슬라이드에서 갖는 물리적 특성을 다중적으로 고려하여, 슬라이드 진단 엔진이 슬라이드의 진단을 수행하도록 구현될 수 있다. 이러한 기술적 사상은 후술하도록 한다.
상기 진단 시스템(100)이 소정의 서버(10)에 포함되어 구현되는 경우, 상기 진단 시스템(100)은 상기 서버(10)에 접속가능한 적어도 하나의 클라이언트(예컨대, 20, 20-1)와 통신을 수행할 수도 있다. 이러한 경우 상기 클라이언트(예컨대, 20, 20-1)는 생체이미지를 상기 진단 시스템(100)으로 전송할 수 있고, 상기 진단 시스템(100)은 전송된 생체이미지에 대해 본 발명의 기술적 사상에 따른 진단을 수행할 수 있다. 그리고 진단결과를 상기 클라이언트(예커대, 20, 20-1)로 전송할 수도 있다.
상기 진단 시스템(100)은 본 발명의 기술적 사상에 따른 뉴럴 네트워크를 이용하여 패치레벨 진단을 수행할 수 있다. 물론, 이러한 진단을 수행하기 위해 상기 뉴럴 네트워크를 학습시키는 프로세스를 먼저 수행할 수도 있다.
또한 슬라이드 레벨 진단 역시 소정의 뉴럴 네트워크가 이용될 수도 있음은 전술한 바와 같다.
따라서 상기 진단 시스템(100)은 본 발명의 기술적 사상에 따라 학습된 뉴럴 네트워크 및 상기 뉴럴 네트워크를 이용하여 진단을 수행하기 위한 프로그램을 외부로부터 수신하여 진단을 수행하는 시스템일 수도 있고, 상기 뉴럴 네트워크의 학습까지 수행하는 시스템일 수도 있다. 또한, 상기 진단 시스템(100)은 범용의 데이터처리장치가 아니라 본 발명의 기술적 사상을 구현하기 위해 제작된 전용 장치로 구현될 수도 있고, 이러한 경우에는 생체이미지를 스캔하기 위한 수단 등이 더 구비될 수도 있다.
상기 뉴럴 네트워크는 이전 출원에서 개시된 바와 같이 특정 패치에 대한 진단을 수행하기 위해 상기 특정 패치 자체의 이미지만을 고려하는 것이 아니라, 상기 특정 패치의 인접한 적어도 하나의 패치의 이미지까지도 고려하여 상기 특정 패치의 진단을 수행하는 특징을 가질 수 있다. 이러한 기술적 사상을 통해 실제로 특정 패치에 해당하는 생체조직의 진단을 위해서 상기 생체조직뿐만 아니라 상기 생체조직의 주변조직의 상태까지 고려하여야 하는 질병의 진단에 매우 유의미한 수준으로 정확도의 향상이 가능해지는 효과가 있다. 또한 생체이미지를 다수의 패치로 분할하는 경우, 패치의 분할방식이나 분할된 영역이 생체조직의 어떤 위치인지 여부에 따라 발생할 수 있는 진단결과의 영향에 강인한 효과를 가질 수 있다.
물론 전술한 바와 같이 상기 뉴럴 네트워크는 이전출원에 개시된 특징을 가지지 않을 수도 있으며, 어떠한 경우든 상기 뉴럴 네트워크는 패치별로 진단을 수행하도록 학습되는 뉴럴 네트워크일 수 있다.
이때 상기 뉴럴 네트워크는 종래와 달리 패치에 포함된 픽셀들 각각에 대해 추가 채널을 더 입력값으로 받아들일 수 있다. 상기 추가 채널은 각각의 픽셀들의 그레이 값일 수 있다. 따라서 상기 뉴럴 네트워크는 패치별로 입력을 받아들이면서 상기 패치에 포함된 픽셀들의 오리지널 값(예컨대, RGB) 3채널과 더불어 추가채널인 그레이 채널을 더 입력으로 받아들일 수 있다.
이러한 경우 생체이미지의 컬러가 질병과 관련된 이미지 특성과 무관한 요인(예컨대, 진단기관의 특성, 염색시약 등)에 의해 변화가 있을 수 있는 경우에 강인한 효과를 가질 수 있다. 물론, 단순히 원래의 오리지널 값을 이용하지 않고 그레이 채널만을 이용하는 경우 발생할 수 있는, 질병과 관련된 이미지 특성이 컬러로 반영되어 표시될 때 이러한 중요한 정보들이 학습에 반영되지 못하는, 문제점을 가질 수 있으며 이러한 문제점을 해결할 수도 있다.
이러한 기술적 사상을 구현하기 위한 상기 진단 시스템(100)은 논리적으로 도 3와 같은 구성을 가질 수 있다.
도 3는 본 발명의 실시 예에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템의 논리적 구성을 설명하기 위한 도면이다.
도 3를 참조하면, 상기 진단 시스템(100)은 제어모듈(110) 및 상기 뉴럴 네트워크 및/또는 슬라이드 진단엔진이 저장된 진단모듈(120)을 포함한다. 또한, 상기 진단 시스템(100)은 전처리 모듈(130)을 더 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 진단 시스템(100)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다. 예를 들어 상기 진단 시스템(100)은 상기 클라이언트(예컨대, 20, 20-1)와 통신하기 위한 통신모듈(미도시)을 더 포함할 수 있다.
상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 제어모듈(110), 상기 진단모듈(120), 및/또는 상기 전처리 모듈(130) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 상기 진단모듈(120) 및/또는 상기 전처리 모듈(130) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 상기 진단 시스템(100)에 포함된 다른 구성(예컨대, 상기 진단모듈(120) 및/또는 상기 전처리 모듈(130) 등)을 제어할 수 있다.
또한, 상기 제어모듈(110)은 상기 진단모듈(120)에 저장된 뉴럴 네트워크를 및/또는 슬라이드 진단엔진을 이용하여 본 발명의 기술적 사상에 따른 진단을 수행할 수 있다.
상기 제어모듈(110)은 상기 진단모듈(120)에 저장된 패치레벨 뉴럴 네트워크 즉, 학습된 뉴럴 네트워크에 입력 데이터 즉, 패치 별 입력을 받을 수 있다. 그리고 뉴럴 네트워크에 의해 정의되는 연산들을 수행하여 출력 데이터 즉, 패치에 해당하는 질병 발현 확률에 상응하는 피쳐 값을 출력할 수 있다. 또한 실시예에 따라서는 패치 중 질병이 발현한 영역의 특정할 수 있다. 또한, 실시 예에 따라서는 후술할 바와 같은 슬라이드 레벨 진단을 위해 상기 피쳐 값이 소정의 문턱 값지 여부에 따라 해당 패치가 질병이 발현되었는지 여부를 출력할 수도 있다.
상기 진단모듈(120)은 패치레벨 진단을 수행하는 패치 진단엔진 및 슬라이드레벨 진단을 수행하는 슬라이드 진단엔진을 포함할 수 있다.
상기 패치 레벨 진단엔진은 전술한 바와 같이 본 발명의 기술적 사상에 따른 딥러닝 기반의 뉴럴 네트워크를 통해 구현될 수 있다. 상기 슬라이드 진단엔진은 딥러닝 기반의 뉴럴 네트워크가 이용될 수도 있고, 뉴럴 네트워크가 아닌 소정의 머신러닝(예컨대, XGBoost) 엔진이 이용될 수도 있다.
상기 뉴럴 네트워크는 뉴럴 네트워크를 정의하는 일련의 설계사항들을 표현하는 정보의 집합을 의미할 수 있다. 본 명세서에서 상기 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크일 수 있다.
상기 컨볼루션 뉴럴 네트워크는 잘 알려진 바와 같이, 입력 레이어, 복수의 히든 레이어들, 및 출력 레이어를 포함할 수 있다. 복수의 히든 레이어들 각각은 컨볼루션 레이어 및 풀링 레이어(또는 서브 샘플링 레이어)를 포함할 수 있다.
컨볼루션 뉴럴 네트워크는 이러한 각각의 레이어들을 정의하기 위한 함수, 필터, 스트라이드(stride), 웨이트 팩터 등에 의해 정의될 수 있다. 또한, 출력 레이어는 풀리 커넥티드(fully connected)된 전방향 레이어(FeedForward layer)로 정의될 수 있다.
컨볼루션 뉴럴 네트워크를 구성하는 각각의 레이어별 설계 사항은 널리 알려져 있다. 예컨대, 복수의 레이어들에 포함될 레이어의 개수, 상기 복수의 레이어들을 정의하기 위한 컨볼루션 함수, 풀링 함수, 활성화 함수 각각에 대해서는 공지된 함수들이 이용될 수도 있고, 본 발명의 기술적 사상을 구현하기 위해 별도로 정의된 함수들이 이용될 수도 있다.
앞서 언급한 바와 같이 패치 레벨 진단을 수행하는 뉴럴 네트워크는 패치에 질병이 존재하는지 여부를 판단할 뿐만 아니라 해당 패치 중 질병의 발병 영역을 특정하기 위한 세그멘테이션을 수행하는 패치레벨 세그멘테이션 뉴럴 네트워크일 수 있다.
본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크는 패치에 질병이 존재하는지 여부를 판단하기 위한 클래시피케이션을 수행하는 뉴럴 네트워크(후술할 '패치레벨 클래시피케이션 뉴럴 네트워크')를 베이스로 하여, 여기에 세그멘테이션을 위한 별도의 아키텍쳐를 결합한 형태로 구현될 수 있다. 이와 같은 패치레벨 세그멘테이션 뉴럴 네트워크의 구조가 도 4에 도시되어 있다.
도 4는 본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크의 전체적인 구조를 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크(400)는 패치레벨 클래시피케이션 뉴럴 네트워크(200) 및 패치레벨 세그멘테이션 아키텍쳐(500)를 포함할 수 있다.
상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 슬라이드를 분할한 일부인 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과(예를 들어, 도 4에 도시된 바와 같은 스코어)를 출력할 수 있다. 이를 클래시피케이션이라고 하는데, 클래시피케이션 과정에서 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 내부에 포함된 일부 히든 레이어에서 중간 생성물로서 입력(즉, 패치)에 대한 피쳐를 생성할 수 있다. 특히, 이미지와 같은 2차원 이상의 매트릭스를 입력으로 받는 경우 생성되는 피쳐는 2차원 매트릭스의 형태이므로 피쳐 맵이라는 용어를 사용하기도 한다. 한편, 이하에서는 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)에 포함된 히든 레이어 중 피쳐 맵을 생성하는 레이어를 피쳐 맵 추출 레이어라고 부르기로 한다.
한편, 상기 패치레벨 세그멘테이션 아키텍쳐(500)는 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵(예를 들어, 도 4에 도시되어 있는 f1, f2, f3)을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하여 출력할 수 있다.
도 4에서는 패치레벨 클래시피케이션 뉴럴 네트워크(200)가 클래시피케이션을 수행하는 과정에서 3 개의 피쳐 맵(저수준 피쳐맵 f1, 중수준 피쳐맵 f2, 고수준 피쳐맵 f3)을 생성하는 예를 도시하고 있으나, 실시예에 따라서 이보다 많거나 적은 수의 피쳐 맵이 생성될 수 있음은 물론이다.
한편, 본 발명의 실시 예에 따르면, 패치레벨 클래시피케이션을 수행하는 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 공지된 densenet을 이용할 수 있으며, 이때 이전 출원에 개시된 바와 같이 진단의 대상이 되는 특정 패치뿐만 아니라 주변 패치까지도 고려할 수 있도록 설계될 수 있다. 이외에도 다양한 뉴럴 네트워크가 활용될 수 있으며, 어떠한 경우든 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 특정 패치를 입력으로 받고 해당 특정 패치의 질병 발현 확률에 상응하는 피쳐 값을 출력하도록 정의될 수 있다.
도 5는 본 발명의 실시 예에 따른 패치레벨 클래시피케이션 뉴럴 네트워크(200)의 구성을 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 기술적 사상에 따른 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 미시 뉴럴 네트워크 및 거시 뉴럴 네트워크를 포함한다.
우선 도 5a를 참조하면, 이전 출원에도 개시된 바와 같이 미시 뉴럴 네트워크는 복수의 레이어들(210) 및 출력 레이어(230)를 포함한다. 복수의 레이어들(210)에는 입력 레이어(211) 및 복수의 히든 레이어들(212)이 포함된다.
거시 뉴럴 네트워크는 복수의 레이어들(220) 및 상기 출력 레이어(230)를 포함한다. 상기 복수의 레이어들(220)에는 입력 레이어(221) 및 복수의 히든 레이어들(222)이 포함된다.
상기 미시 뉴럴 네트워크는 특정 패치(30)을 입력 받고, 특정 패치의 진단결과 즉, 출력 레이어(230)에 정의된 출력 데이터들을 출력하도록 정의된다.
또한 상기 거시 뉴럴 네트워크는 상기 특정 패치(30)를 포함하며 상기 특정 패치(30)의 인접 패치를 적어도 하나 포함하는 거시 패치(40)를 입력 받고, 상기 특정 패치의 진단결과를 출력하도록 정의된다.
즉, 본 발명의 기술적 사상에 따른 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 특정 패치(30)의 진단결과를 출력하기 위해 특정 패치(30)의 이미지 특성뿐만 아니라 상기 특정 패치(30)의 인접한 패치들의 이미지 특성까지 고려하여 진단결과를 출력할 수 있다.
상기 거시 패치(40)은 도 5에서는 패치를 둘러싼 3×3패치가 이용되는 일 예를 도시하고 있지만, 다양한 실시예가 가능할 수 있음은 물론이다.
상기 출력 레이어(230)는 상기 미시 뉴럴 네트워크에 포함된 상기 출력 레이어(230)의 직전 레이어인 제1직전 레이어(212-1)와 거시 뉴럴 네트워크에 포함된 상기 출력 레이어(230)의 직전 레이어인 제2직전 레이어(222-1) 각각의 출력 데이터를 입력받아 상기 출력 레이어(230)에 정의된 출력 데이터를 출력할 수 있다. 상기 제1직전 레이어(212-1), 상기 제2직전 레이어(222-1), 및 상기 출력 레이어(230)는 풀리 커넥티드(fully connected)될 수 있다.
상기 출력 레이어(230)를 정의하는 전방향(Feedforward) 함수로는 입력 레이어로 입력받은 입력 데이터가 패치레벨 클래시피케이션 뉴럴 네트워크(200)를 통해 결과로 출력 레이어(230)로 출력 데이터를 출력하는 다양한 함수 중 어느 하나가 이용될 수 있다.
결국, 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 특정 패치(30)에 대해 진단을 수행하기 위해 상기 특정 패치(30)의 이미지 특성과 상기 특정 패치(30)을 포함하는 거시 패치(40)의 이미지 특성을 같이 고려하여, 다수의 트레이닝 데이터들의 어노테이션 값과 상응하는 출력 레이어(230)의 출력 데이터를 출력하도록 학습된다.
즉, 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)를 학습하기 위해서는 다수의 트레이닝 데이터들이 이용되며, 다수의 트레이닝 데이터는 특정 패치(30) 및 거시 패치(40) 한쌍을 포함할 수 있다. 그리고 거시 패치(40) 역시 상기 특정 패치(30)의 어노테이션 정보를 이용하여 학습을 수행할 수 있다.
그러면 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 상기 특정 패치(30)과 상기 거시 패치(40)의 이미지 특성을 모두 고려하여, 상기 특정 패치(30)의 어노테이션 정보에 상응하는 출력 데이터를 출력할 수 있도록 학습될 수 있다.
그리고 학습된 뉴럴 네트워크(200)는 진단의 대상이 되는 대상 패치 및 상기 대상 패치에 상응하는 거시 패치를 각각 미시 뉴럴 네트워크 및 거시 뉴럴 네트워크의 입력 레이어의 입력 데이터로 입력받으면, 상기 대상 패치의 진단 결과 즉, 출력 레이어(230)의 출력 데이터를 출력할 수 있다.
상기 출력 레이어(230)는 도 5a에 도시된 바와 같이 진단의 대상이 되는 특정 패치(30)의 진단결과를 출력 데이터를 출력할 수 있다. 진단결과는 상기 특정 패치(30)의 질병의 상태에 대한 정보를 적어도 포함할 수 있다. 질병의 상태에 대한 정보는 단순히 특정 질병이 특정 패치(30)에 발현되었는지 여부(또는 확률 값)에 대한 정보를 의미할 수도 있다. 하지만 질병의 종류에 따라 질병의 상태에 대한 정보에는 보다 구체적으로 질병의 진행정도를 나타내는 정보가 포함될 수도 있다.
상기 출력 레이어는 이전출원에 개시된 바와 같이 단순히 질병의 발현여부를 출력하는 것뿐만 아니라, 여러 추가적인 정보를 출력하도록 설계될 수도 있다. 예컨대, 질병의 진행정도를 나타내는 정보 및/또는 상기 상태채널의 값과 연관된 연관인자의 발현정도를 나타내는 연관인자 정보를 포함할 수도 있다. 이에 대해서는 이전 출원에 상세히 개시되어 있으므로 상세한 설명은 생략하도록 한다.
도 5a에 도시된 뉴럴 네트워크(200)가 이용되는 경우, 도 5a에서는 도시되지 않았지만 상기 출력 레이어(230)의 출력 데이터를 입력받아 최종적으로 입력된 패치의 질병의 발현 확률에 상응하는 피쳐 값을 출력하는 레이어가 더 존재할 수 있음은 물론이다.
또는 도 5b에 도시된 바와 같이 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 도 5a에 도시된 바와 같이 복수의 상태채널 및 연관인자 채널을 출력하는 레이어를 대체하여 입력된 패치의 질병의 발현 확률에 상응하는 피쳐 값을 출력하는 레이어(240)를 가지도록 설계될 수도 있다.
본 발명의 다른 일 실시 예에 의하면, 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 도 5a에 도시된 바와 같이 두 경로(미시 네트워크 및 거시 네트워크 각각의 경로)를 갖는 방식이 아니라 단일의 경로를 갖도록 설계될 수도 있다. 이러한 일 예는 도 6에 도시된 바와 같을 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 패치레벨 클래시피케이션 뉴럴 네트워크(200)의 예시적 구성을 설명하기 위한 도면이다.
도 6을 참조하면, 전술한 바와 같이 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 패치단위로 입력을 받고 입력된 패치의 질병 여부를 판단하도록 정의될 수 있다. 이때 도시된 바와 같이 상기 뉴럴 네트워크는 4채널(예컨대, RGB 및 Gray 채널) 데이터를 입력받을 수 있다.
입력된 데이터는 도 6에 도시된 바와 같이 컨볼루션 레이어, 맥스풀링 당 다수의 레이어들을 통과하여 출력 데이터 즉, 입력된 패치가 질병 패치인지 여부를 출력하도록 정의될 수 있다. 이러한 뉴럴 네트워크는 공지의 densenet 모델을 이용한 뉴럴 네트워크일 수 있다. 그리고 이때 본 발명의 기술적 사상에 따른 상기 뉴럴 네트워크는 원래의 densenet 모델 대비 1×1 컨볼루션이 추가됨을 알 수 있고, 이를 통해 내부 피쳐 맵을 확인할 수 있는 효과가 있다. 또한 활성함수로 시그노이드(Signoid)함수가 이용되고 있지만 다양한 활성함수가 이용될 수도 있다.
기타 다양한 방식으로 패치레벨 진단을 수행하는 뉴럴 네트워크가 정의될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
한편, 도 7은 상기 패치레벨 세그멘테이션 아키텍쳐(500)의 전체적인 구조를 설명하기 위한 도면이다.
도 7을 참조하면, 상기 패치레벨 세그멘테이션 아키텍쳐(500)는 비국소적 상관관계 산출 서브 아키텍쳐(510), 세그멘테이션 서브 아키텍쳐(520)를 포함할 수 있다.
상술한 바와 같이 상기 패치레벨 클레시피케이션 뉴럴 네트워크(200)에서 수행되는 클래시피케이션 과정에서 각각의 피쳐 추출 레이어에 의해 피쳐 맵들(f1, f2, f3)이 생성될 수 있는데, 피쳐 맵 각각은 상기 비국소적 상관관계 산출 서브 아키텍쳐(510)에 포함된 비국소적 상관관계 산출노드(511-1 내지 511-3)에 입력될 수 있다.
각각의 비국소적 상관관계 산출노드(511-1 내지 511-3)은 상기 패치레벨 클레시피케이션 뉴럴 네트워크(200)에 포함된 2 이상의 피쳐 추출 레이어 각각에 대응되며, 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵(f1 내지 f3)에 대한 비국소적 상관관계 산출 과정을 수행할 수 있다.
각각의 비국소적 상관관계 산출노드가 수행하는 비국소적 상관관계 산출과정은 컨볼루션(Convolution) 수행 과정, 비국소 블록(Non-local Block) 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정일 수 있다.
따라서, 각각의 비국소적 상관관계 산출노드(511-1 내지 511-3)는 1 이상의 컨볼루션 과정 또는 비국소 블록 과정을 수행하거나 이들을 병렬적으로 수행함으로써, 하나 또는 2 이상의 결과물을 생성할 수 있다.
실시예에 따라서, 상기 비국소적 상관관계 산출노드(511-1 내지 511-3) 중 적어도 일부가 수행하는 컨볼루션은 다이얼레이티드 컨볼루션(Dilated convolution; Atrous convolution이라고도 함)일 수 있다. 다이얼레이티드 컨볼루션은 통상적인 컨볼루션과 달리 인접한 픽셀들에서 피쳐를 추출하는 것이 아니라 미리 정해진 간격(rate)을 두고 컨볼루션을 수행하는 방법이다. 예를 들어, 상기 비국소적 상관관계 산출노드 중 어느 하나(예를 들어, 511-2)는 1x1 다이얼레이티드 컨볼루션, rate 6의 3x3 다이얼레이티드 컨볼루션, rate 12의 3x3 다이얼레이티드 컨볼루션, rate 18의 3x3 다이얼레이티드 컨볼루션을 수행하여 4 개의 컨볼루션 결과물(피쳐)을 생성할 수 있다.
한편, 상기 비국소적 상관관계 산출노드(511-1 내지 511-3) 중 적어도 일부가 수행하는 비국소 블록은 피쳐 맵의 비국소적인 상관관계를 산출하는데 이용되는 연산을 의미할 수 있으며, 이에 대한 상세한 설명은 Kaiming He 등의 논문 “Non-local Neural Networks”(https://arxiv.org/pdf/1711.07971.pdf)에 개시되어 있다.
한편, 실시예에 따라서 각각의 비국소적 상관관계 산출노드(511-1 내지 511-3) 중 적어도 일부는 비국소적 상관관계 산출과정 수행 후 결과물에 대한 업스케일링(예를 들면, 업샘플링) 또는 다운스케일링(예를 들면, 다운샘플링) 수행할 수도 있다.
한편, 상기 세그멘테이션 서브 아키텍쳐(520)는 상기 비국소적 상관관계 산출 서브 아키텍쳐(510)에서 생성하는 컨볼루션 결과에 기초하여 상기 패치 중 질병이 존재하는 영역을 특정할 수 있다.
상기 세그멘테이션 서브 아키텍쳐(520)는 상기 비국소적 상관관계 산출 서브 아키텍쳐(510)에서 생성하는 컨볼루션 결과에 대한 소정의 연산을 수행할 수 있다. 상기 세그멘테이션 서브 아키텍쳐(520)가 수행하는 연산은 결합(concatenation) 및/또는 컨볼루션의 조합으로 정의될 수 있다. 실시예에 따라 결합 및 컨볼루션이 다양한 방식으로 조합될 수 있다.
도 8a는 본 발명의 일 실시예에 따른 패치레벨 세그멘테이션 뉴럴 네트워크(400)의 구체적인 예를 도시한 도면이며, 도 8b는 도 8a의 딥 뉴럴 네트워크(즉, 패치레벨 클래시피케이션 뉴럴 네트워크(200))의 일 예를 도시한 도면이다.
먼저 도 8b를 참조하면, 상기 패치레벨 세그멘테이션 뉴럴 네트워크에 포함된 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 클래시피케이션을 수행할 수 있다. 클래시피케이션을 위하여, 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)는 패치를 입력 레이어로 입력 받을 수 있으며, 제1 피쳐 추출 레이어(L1)에서 컨볼루션 및 풀링 연산을 통해 1/4 크기의 저수준 피쳐맵(low feature; f1)을 생성할 수 있다. 이어 제1덴스블록 및 제1트랜지션 연산(denseblock1, transition1) 및 제2덴스블록 및 제2트랜지션 연산(denseblock2, transition2)을 거쳐 제2 피쳐 추출 레이어(L2)에서 1/16 크기의 중수준 피쳐 맵(middle feature; f2)을 생성할 수 있다. 이어, 제3덴스블록 및 제3트랜지션 연산(denseblock1, transition1), 제4덴스블록(denseblock4), 1x1 컨볼루션을 차례로 거쳐 제3 피쳐 추출 레이어(L3)에서 1/16 크기의 고수준 피쳐 맵(end feature; f3)을 생성할 수 있다. 이후 에버러지 풀링을 통해 질병 여부에 대한 스코어를 출력할 수 있다.
한편, 도 8a에 도시된 바와 같이, 상기 패치레벨 세그멘테이션 아키텍쳐(500)에서는 상기 패치레벨 클래시피케이션 뉴럴 네트워크(200)에서 생성된 각 피쳐를 이용하여 세그멘테이션을 수행할 수 있다.
보다 상세하게는, 비국소적 상관관계 산출 서브 아키텍쳐(510)에 포함된 각각의 비국소적 상관관계 산출노드(511-1 내지 511-3)는 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대하여 미리 정의된 방식의 상관관계 산출 과정을 수행할 수 있다.
각 노드가 수행하는 상관관계 산출 과정은 컨볼루션 수행 과정, 비국소 블록 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정 중 어느 하나일 수 있다.
도 8b의 예에서는 저수준 비국소적 상관관계 산출노드(511-1)는 그에 대응되는 제1 피쳐 추출 레이어(L1)로부터 입력되는 저수준 피쳐 맵(f1)에 대한 1x1 컨볼루션을 수행하여 제1컨볼루션 결과물을 생성할 수 있다.
중수준 비국소적 상관관계 산출노드(511-2)는 그에 대응되는 제2 피쳐 추출 레이어(L2)로부터 입력되는 중수준 피쳐 맵(f2)에 대하여, 비국소 블록 과정 및 컨볼루션 과정을 병렬적으로 수행하여 제1비국소 결과물 및 제2컨볼루션 결과물을 생성할 수 있다.
고수준 비국소적 상관관계 산출노드(511-3)는 그에 대응되는 제3 피쳐 추출 레이어(L3)로부터 입력되는 고수준 피쳐 맵(f3)에 비국소 블록 과정을 수행하여 제2비국소 결과물을 생성할 수 있다.
한편, 상기 세그멘테이션 서브 아키텍쳐(520)는 상기 비국소적 상관관계 산출 서브 아키텍쳐(510)에서 생성되는 결과를 입력 받아 미리 정의된 연산을 수행할 수 있다. 도 9a의 예에서 상기 세그멘테이션 서브 아키텍쳐(520)는 상기 중수준 비국소적 상관관계 산출노드(511-2)에서 생성한 제1비국소 결과물(1) 및 제2컨볼루션 결과물(2)과 상기 고수준 비국소적 상관관계 산출노드(511-3)에서 생성한 제2비국소 결과물을 업스케일링한 결과물(3)을 접합하여 제1중간 결과물(4)을 생성하고, 상기 제1중간 결과물(4)에 대한 컨볼루션 및 업스케일링일 수행한 제2중간 결과물(5)을 상기 제1컨볼루션 결과물과 접합하여 제3중간 결과물(6)을 생성하고, 상기 제3중간 결과물(6)에 대한 컨볼루션을 수행하여 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크(7)를 생성할 수 있다.
이와 같은 본 발명의 기술적 특징을 가지는 뉴럴 네트워크를 이용함으로써 접면 문제를 상당히 해소할 수 있으며, 세그멘테이션의 정확도를 매우 높일 수 있다. 통상적인 뉴럴 네트워크에서 세그멘테이션 정확도를 높이기 위해서는 입력 데이터에서 피쳐를 잘 추출해야 하며, 훈련 전 뉴럴 네트워크의 초기 가중치를 잘 설정하고 훈련을 수행해야 한다는 것이 경험적으로 잘 알려져 있다. 그런데, 상술한 바와 같이, 본 발명의 기술적 사상에 따르면, 세그멘테이션은 패치 레벨 클래시피케이션 뉴럴 네트워크를 기반으로 특정한 구조를 가지는 세그멘테이션 아키텍쳐를 결합한 방식의 뉴럴 네트워크에 의해 수행되며, 패치 레벨 클래시피케이션 과정에서 추출되는 피쳐들은 입력 데이터의 특징을 매우 잘 반영하고 있다. 따라서, 이를 세그멘테이션 과정에도 그대로 이용함으로써 세그멘테이션의 정확도를 높일 수 있는 효과가 있다.
한편, 도 8a 및 도 8b에 도시된 뉴럴 네트워크는 본 발명의 기술적 사상이 구현된 하나의 예일 뿐이며, 다양한 구조의 패치 레벨 클래시피케이션 뉴럴 네트워크 및 패치레벨 세그멘테이션 아키텍쳐가 있을 수 있다.
한편, 다시 도 3를 참조하면, 상기 진단모듈(120)은 슬라이드 진단 엔진을 포함할 수 있고, 상기 슬라이드 진단 엔진 역시 상기 제어모듈(110)에 의해 학습되어 구현될 수 있다.
상기 슬라이드 진단엔진은 상기 뉴럴 네트워크의 출력결과에 따라 질병 패치를 마킹할 수 있다. 마킹이라 함은 슬라이드 내에서 질병 패치들을 구분하는 것을 의미할 수 있다. 일 예에 의하면 상기 슬라이드 진단엔진은 질병 패치들을 다른 패치와 구분되도록 표시하여 히트맵을 생성할 수 있다. 그리고 생성된 히트맵에 기초하여 질병 패치들을 복수 개로 클러스터링할 수 있다. 일 실시 예에 의하면 상기 슬라이드 진단엔진은 질병 패치들을 적어도 두 개로 클러스터링할 수 있다. 그리고 그 중에서 가장 큰 클러스터 2개를 슬라이드 진단에 이용할 수 있다. 하지만 2개 이상의 클러스터를 슬라이드 진단에 이용할 수 있음은 물론이다.
상기 슬라이드 진단엔진은 각각의 클러스터별 소정의 피쳐 값을 산출할 수 있다. 그리고 산출된 피쳐 값을 입력 데이터로 하여 입력된 입력 데이터에 상응하는 슬라이드가 질병이 발현되었는지 여부를 출력하도록 학습된다.
또한 상기 슬라이드 진단엔진은 복수의 문턱 값들을 모두 고려하여 학습될 수 있다. 이를 통해 문턱 값의 설정에 강인한 슬라이드 진단 결과를 출력할 수 있다. 이에 대해서는 후술하도록 한다.
상기 전처리 모듈(130)은 뉴럴 네트워크를 이용하여 진단을 수행하기 전에 필요한 생체이미지의 전처리를 수행할 수 있다. 예컨대, 상기 생체이미지의 전처리는 상기 생체이미지를 미리 정의된 크기의 패치들로 패치화하는 과정을 포함할 수 있으며, 전술한 바와 같이 패치별 픽셀들의 그레이 값을 산출할 수도 있다. 또한 필요에 따라 상기 뉴럴 네트워크에 적합한 방식으로 적절한 이미지 프로세싱을 수행할 수도 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
도 9는 본 발명의 실시 예에 따른 투 페이스 질병 진단 방법의 개념을 설명하기 위한 도면이다.
도 9에 도시된 바와 같이 생체조직에 상응하는 생체이미지 즉, 슬라이드로부터 샘플링된 패치들이 뉴럴 네트워크(200)학습에 이용될 수 있다. 상기 패치들은 암으로 라벨링되는 패치와 노멀로 라벨링되는 패치가 소정의 비율을 갖도록 샘플링된 것일 수 있다.
그리고 상기 뉴럴 네트워크(200)는 전술한 바와 같이 그레이 채널을 더 포함하는 패치별 입력 데이터를 입력받아 학습되고, 그 결과 상기 뉴럴 네트워크(200)는 각각의 패치들이 암인지 여부(또는 확률 값)를 출력하도록 학습된다.
그러면 이처럼 학습된 상기 뉴럴 네트워크(200)는 도 9의 하부에 도시된 바와 같이 슬라이드가 입력된 경우, 각각의 슬라이드에 포함된 각각의 패치에 대해 패치레벨 진단을 수행할 수 있다.
그리고 상기 슬라이드 진단엔진은 패치레벨 진단 결과에 따라 질병 패치를 마킹할 수 있다. 예컨대, 도 9에 도시된 바와 같이 히트맵을 생성할 수 있다.
또한, 도 10은 본 발명의 일 실시 예에 따른 패치 레벨 진단 결과에 따른 마킹결과를 나타내는 도면인데, 도 10a는 숙련된 전문가에 의해 라벨링된 생체조직의 이미지를 나타내고 도 10b는 학습된 상기 뉴럴 네트워크(200)에 의해 생성된 히트맵을 나타낸다. 도 10에서 알 수 있듯이 매우 정확한 진단이 가능할 수 있음을 알 수 있다.
한편, 생성한 히트맵에 따라 상기 슬라이드 진단엔진은 클러스터를 생성할 수 있다. 상기 슬라이드 진단엔진은 소정의 클러스터링 알고리즘을 이용하여 질병 패치들을 클러스터링 할 수 있다. 본 발명의 실시 예에 의하면, 상기 슬라이드 진단엔진은 공지의 DBSCAN 알고리즘을 통해 클러스터링을 수행하였지만, 다양한 클러스터링 기법이 이용될 수 있음은 물론이다.
상기 슬라이드 진단엔진은 클러스터링 결과 생성된 클러스터별로 클러스터 피쳐를 추출할 수 있다.
상기 클러스터 피쳐는 질병의 발현과 연관있는 특징을 나타낼 수 있는 특징 적인 값일 수 있다.
일 예에 의하면, 상기 클러스터 피쳐는 클러스터에 포함된 질병 패치의 개수, 패치별 질병일 확률 값의 평균, 패치별 질병일 확률 값의 최대 값, 및 패치별 질병일 확률 값의 최소 값을 포함할 수 있다. 이러한 클러스터 피쳐가 포함될 경우 슬라이드 진단엔진의 진단결과가 상대적으로 높아짐을 확인할 수 있었다.
또한 실시 예에 따라 상기 클러스터 피쳐는 클러스터 각각의 메이저 축(major axis), 마이너 축(minor axis), 면적(area), 및 밀도(density)를 더 포함할 수 있다. 이는 클러스터의 물리적 특징과 밀접한 연관이 있고, 이러한 클러스터 피쳐가 같이 이용되는 경우 더욱 진단 성능이 높아질 수 있다.
한편, 상기 클러스터는 각각의 패치들이 질병 패치로 판단되는지 여부에 따라 그 위치, 크기, 및 상술한 바와 같은 클러스터 피쳐가 달라질 수 있다. 그리고 이는 패치레벨 진단에서 어떤 문턱 값을 이용하는지에 의존된다.
본 발명의 기술적 사상에 의하면, 슬라이드 레벨 진단을 위해 복수의 문턱 값들이 같이 이용될 수 있다.
일 예에 의하면, 본 발명의 실시 예에서는 5개의 서로 다른 문턱 값들이 이용되었지만 다양한 실시 예가 가능할 수 있다.
그리고 각각의 문턱 값들에 따라 특정 패치가 질병 패치로 진단되는 결과는 달라질 수 있고, 그에 따라 클러스터링 결과도 달라질 수 있음은 물론이다.
본 발명의 실시 예에 따른 상기 슬라이드 진단 엔진은 예컨대, N(예컨대, 5)개의 문턱 값들 및 상기 N 개의문턱 값들 각각을 기준으로 질병이 발현된 패치를 소정의 방식으로 클러스팅 하여 M(예컨대, 2) 개의 클러스터들을 형성하였다.
그리고 형성된 클러스터들 각각에 대해 P(예컨대 상술한 8개의 클러스터 비쳐) 개의 클러스터 피쳐를 산출하였다. 그리고 이러한 경우 하나의 슬라이드에 대해 M×N×P(예컨대, 80) 개의 클러스터 피쳐들이 추출될 수 있다.
그리고 이러한 피쳐 값들이 입력 값으로 입력되고 출력 데이터로써 상기 슬라이드가 질병이 존재하는지 여부를 출력하도록 슬라이드 진단엔진은 학습될 수 있다.
또한 본 명세서에서는 전립선 암에 대해 본 발명의 기술적 사상이 적용된 일 예를 주로 설명하였지만, 특정 조직뿐만 아니라 해당 조직이 주변조직의 상태까지 고려하여 상기 특정 조직의 진단을 수행할 필요가 있는 다른 질병에 대해서도 본 발명의 기술적 사상이 적용될 경우 정확한 진단이 가능할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
한편, 구현 예에 따라서, 상기 진단 시스템(100)은 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다.
한편, 본 발명의 실시예에 따른 진단 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (12)

  1. 프로세서 및 뉴럴 네트워크를 저장하는 저장장치를 포함하는 시스템에 구현되며 생체이미지인 슬라이드와 상기 뉴럴 네트워크를 이용한 질병의 진단 시스템에 있어서,
    상기 시스템은,
    상기 슬라이드가 소정의 크기로 분할된 소정의 패치 각각에 대하여, 상기 패치를 입력 레이어로 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 뉴럴 네트워크를 포함하되,
    상기 패치레벨 세그멘테이션 뉴럴 네트워크는,
    상기 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과를 출력하는 패치레벨 클래시피케이션 뉴럴 네트워크; 및
    상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 아키텍쳐를 포함하고,
    상기 패치레벨 세그멘테이션 아키텍쳐는,
    상기 2 이상의 피쳐 추출 레이어 각각에 대응되는 비국소적 상관관계 산출노드를 포함하는 비국소적 상관관계 산출 서브 아키텍쳐-상기 비국소적 상관관계 산출노드 각각은 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소적 상관관계 산출 과정을 수행하며, 상기 비국소적 상관관계 산출과정은 컨볼루션(Convolution) 수행 과정, 비국소 블록(Non-local Block) 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정임;
    상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 기초하여 상기 패치 중 질병이 존재하는 영역을 특정하는 세그멘테이션 서브 아키텍쳐를 포함하는 질병 진단 시스템.
  2. 제1항에 있어서,
    상기 세그멘테이션 서브 아키텍쳐는,
    상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 대하여 컨볼루션 및 접합(concatenation)을 통해 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성하는 질병 진단 시스템.
  3. 제1항에 있어서,
    상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 피쳐 맵 추출 레이어는, 저수준 피쳐 추출 레이어, 중수준 피쳐 추출 레이어 및 고수준 피쳐 추출 레이어를 포함하고,
    상기 비국소적 상관관계 산출 서브 아키텍쳐는,
    상기 저수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 컨볼루션 과정을 수행하여 제1컨볼루션 결과물을 생성하는 저수준 비국소적 상관관계 산출노드,
    상기 중수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정 및 컨볼루션 과정을 병렬적으로 수행하여 제1비국소 결과물 및 제2컨볼루션 결과물을 생성하는 중수준 비국소적 상관관계 산출노드, 및
    상기 고수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정을 수행하여 제2비국소 결과물을 생성하는 고수준 비국소적 상관관계 산출노드를 포함하는 질병 진단 시스템.
  4. 제3항에 있어서,
    상기 세그멘테이션 서브 아키텍쳐는,
    제1비국소 결과물, 제2컨볼루션 결과물 및 상기 제2비국소 결과물을 업스케일링한 결과물을 접합하여 제1중간 결과물을 생성하고,
    상기 제1중간 결과물에 대한 컨볼루션 및 업스케일링일 수행한 제2중간 결과물을 상기 제1컨볼루션 결과물과 접합하여 제3중간 결과물을 생성하고,
    상기 제3중간 결과물에 대한 컨볼루션을 수행하여 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성하는 질병 진단 시스템.
  5. 제1항에 있어서,
    상기 시스템은,
    상기 슬라이드에 포함된 다수의 패치들 각각의 패치 레벨 분류 결과 질병으로 분류된 패치를 마킹하고, 마킹된 결과에 기초하여 상기 슬라이드에 질병이 존재하는지 여부인 슬라이드 레벨 진단결과를 출력하는 슬라이드 진단 엔진을 더 포함하는 질병 진단 시스템.
  6. 제1항에 있어서, 상기 슬라이드는,
    생체 조직 이미지인 것을 특징으로 하는 질병 진단 시스템.
  7. 프로세서 및 뉴럴 네트워크를 저장하는 저장장치를 포함하는 시스템에 구현되며 생체이미지인 슬라이드와 상기 뉴럴 네트워크를 이용한 질병의 진단 방법에 있어서,
    상기 시스템이, 상기 슬라이드가 소정의 크기로 분할된 소정의 패치 각각에 대하여, 상기 패치를 상기 뉴럴 네트워크의 입력 레이어로 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 단계를 포함하되,
    상기 패치레벨 세그멘테이션 뉴럴 네트워크는,
    상기 패치를 입력 레이어로 입력 받아서 상기 패치에 상기 질병이 존재하는지 여부에 관한 패치레벨 분류 결과를 출력하는 패치레벨 클래시피케이션 뉴럴 네트워크; 및
    상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 히든 레이어 중 2 이상의 피쳐 맵 추출 레이어 각각에서 생성되는 피쳐 맵을 입력 받아서 상기 패치 중 질병이 존재하는 영역을 특정하는 패치레벨 세그멘테이션 아키텍쳐를 포함하고,
    상기 패치레벨 세그멘테이션 아키텍쳐는,
    상기 2 이상의 피쳐 추출 레이어 각각에 대응되는 비국소적 상관관계 산출노드를 포함하는 비국소적 상관관계 산출 서브 아키텍쳐-상기 비국소적 상관관계 산출노드 각각은 그에 대응되는 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소적 상관관계 산출 과정을 수행하며, 상기 비국소적 상관관계 산출과정은 컨볼루션(Convolution) 수행 과정, 비국소 블록(Non-local Block) 수행 과정, 또는 컨볼루션 및 비국소 블록을 병렬적으로 수행하는 과정임;
    상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 기초하여 상기 패치 중 질병이 존재하는 영역을 특정하는 세그멘테이션 서브 아키텍쳐를 포함하는 질병 진단 방법.
  8. 제7항에 있어서, 상기 세그멘테이션 서브 아키텍쳐는,
    상기 비국소적 상관관계 산출 서브 아키텍쳐에서 생성하는 결과에 대하여 컨볼루션 및 접합(concatenation)을 통해 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성하는 질병 진단 방법.
  9. 제7항에 있어서,
    상기 패치레벨 클래시피케이션 뉴럴 네트워크에 포함된 피쳐 맵 추출 레이어는, 저수준 피쳐 추출 레이어, 중수준 피쳐 추출 레이어 및 고수준 피쳐 추출 레이어를 포함하고,
    상기 비국소적 상관관계 산출 서브 아키텍쳐는,
    상기 저수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 컨볼루션 과정을 수행하여 제1컨볼루션 결과물을 생성하는 저수준 비국소적 상관관계 산출노드,
    상기 중수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정 및 컨볼루션 과정을 병렬적으로 수행하여 제1비국소 결과물 및 제2컨볼루션 결과물을 생성하는 중수준 비국소적 상관관계 산출노드, 및
    상기 고수준 피쳐 추출 레이어로부터 입력되는 피쳐 맵에 대한 비국소 블록 과정을 수행하여 제2비국소 결과물을 생성하는 고수준 비국소적 상관관계 산출노드를 포함하는 질병 진단 방법.
  10. 제9항에 있어서, 상기 세그멘테이션 서브 아키텍쳐는,
    제1비국소 결과물, 제2컨볼루션 결과물 및 상기 제2비국소 결과물을 업스케일링한 결과물을 접합하여 제1중간 결과물을 생성하고,
    상기 제1중간 결과물에 대한 컨볼루션 및 업스케일링일 수행한 제2중간 결과물을 상기 제1컨볼루션 결과물과 접합하여 제3중간 결과물을 생성하고,
    상기 제3중간 결과물에 대한 컨볼루션을 수행하여 상기 패치 중 질병이 존재하는 영역에 상응하는 마스크를 생성하는 질병 진단 방법.
  11. 제7항에 있어서,
    상기 질병 진단 방법은,
    상기 시스템이, 상기 슬라이드에 포함된 다수의 패치들 각각의 패치 레벨 분류 결과 질병으로 분류된 패치를 마킹하고, 마킹된 결과에 기초하여 상기 슬라이드에 질병이 존재하는지 여부인 슬라이드 레벨 진단결과를 출력하는 단계를 더 포함하는 질병 진단 방법.
  12. 데이터 처리장치에 설치되며 제7항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램.
KR1020190084814A 2019-07-13 2019-07-13 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법 KR102329546B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190084814A KR102329546B1 (ko) 2019-07-13 2019-07-13 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
US17/626,806 US20220301712A1 (en) 2019-07-13 2020-07-10 Disease diagnosis system and method for performing segmentation by using neural network and unlocalized block
PCT/KR2020/009096 WO2021010671A2 (ko) 2019-07-13 2020-07-10 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
EP20841047.2A EP3989237A4 (en) 2019-07-13 2020-07-10 DISEASE DIAGNOSIS SYSTEM AND METHOD FOR SEGMENTATION USING A NEURAL NETWORK AND UNLOCALIZED BLOCKS
CN202080051105.3A CN114503153A (zh) 2019-07-13 2020-07-10 利用神经网络及非局部块进行分割的疾病诊断系统及方法
JP2022500883A JP7299658B2 (ja) 2019-07-13 2020-07-10 ニューラルネットワーク及び非局所的ブロックを用いてセグメンテーションを行う疾病診断システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190084814A KR102329546B1 (ko) 2019-07-13 2019-07-13 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210008283A true KR20210008283A (ko) 2021-01-21
KR102329546B1 KR102329546B1 (ko) 2021-11-23

Family

ID=74210469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190084814A KR102329546B1 (ko) 2019-07-13 2019-07-13 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법

Country Status (6)

Country Link
US (1) US20220301712A1 (ko)
EP (1) EP3989237A4 (ko)
JP (1) JP7299658B2 (ko)
KR (1) KR102329546B1 (ko)
CN (1) CN114503153A (ko)
WO (1) WO2021010671A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220108677A (ko) * 2021-01-27 2022-08-03 대구대학교 산학협력단 합성곱 신경망 기반의 덴스넷을 통한 부정맥 분류 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868443B1 (en) * 2021-05-12 2024-01-09 Amazon Technologies, Inc. System for training neural network using ordered classes
US11948358B2 (en) * 2021-11-16 2024-04-02 Adobe Inc. Self-supervised hierarchical event representation learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034814A (ko) 2014-09-22 2016-03-30 삼성전자주식회사 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
KR20180066983A (ko) * 2016-12-11 2018-06-20 주식회사 딥바이오 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법
KR101889725B1 (ko) * 2018-07-04 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102190257B1 (ko) * 2017-12-20 2020-12-16 주식회사 마이크로트 안압의 조절을 위한 안질환용 임플란트 장치
CN109919961A (zh) * 2019-02-22 2019-06-21 北京深睿博联科技有限责任公司 一种用于颅内cta图像中动脉瘤区域的处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034814A (ko) 2014-09-22 2016-03-30 삼성전자주식회사 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
KR20180066983A (ko) * 2016-12-11 2018-06-20 주식회사 딥바이오 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법
KR101889725B1 (ko) * 2018-07-04 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Wang,Hongzhen 외 4명, Gated Convolutional Neural Network for Semantic Segmentation in High-Resolution Images, Remote sensing, 2017.5.5. 1부* *
Wang,Xiaolong 외 3명, Non-local Neural Networks, CVPR, 2018 IEEE/CVF Conference on, IEEE, 2018.6. 1부* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220108677A (ko) * 2021-01-27 2022-08-03 대구대학교 산학협력단 합성곱 신경망 기반의 덴스넷을 통한 부정맥 분류 방법

Also Published As

Publication number Publication date
EP3989237A4 (en) 2023-07-26
JP2022540152A (ja) 2022-09-14
JP7299658B2 (ja) 2023-06-28
CN114503153A (zh) 2022-05-13
US20220301712A1 (en) 2022-09-22
WO2021010671A9 (ko) 2021-05-27
EP3989237A2 (en) 2022-04-27
WO2021010671A3 (ko) 2021-04-08
WO2021010671A2 (ko) 2021-01-21
KR102329546B1 (ko) 2021-11-23

Similar Documents

Publication Publication Date Title
KR102174379B1 (ko) 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
Graziani et al. Concept attribution: Explaining CNN decisions to physicians
TWI823897B (zh) 用於診斷腸胃腫瘤的系統和方法
KR102172213B1 (ko) 투 페이스 질병 진단 시스템 및 그 방법
KR102236948B1 (ko) 준-지도학습을 이용하여 질병의 발병 영역에 대한 어노테이션을 수행하기 위한 방법 및 이를 수행하는 진단 시스템
CN105912990A (zh) 人脸检测的方法及装置
EP3819912B1 (en) System and method for disease diagnosis using neural network
KR102329546B1 (ko) 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
KR102151723B1 (ko) 다중 색 모델 및 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
KR102215269B1 (ko) 진단 결과 생성 시스템 및 방법
CN116468702A (zh) 黄褐斑评估方法、装置、电子设备及计算机可读存储介质
KR102446638B1 (ko) 유방암 병변 영역을 판별하기 위한 인공 신경망을 학습하기 위한 학습 방법, 및 이를 수행하는 컴퓨팅 시스템
Wu Biomedical image segmentation and object detection using deep convolutional neural networks
KR102162895B1 (ko) 듀얼 클래스를 지원하는 질병 진단 시스템 및 그 방법
KR20200092801A (ko) 다중 페이즈 생체 이미지를 이용하여 학습된 뉴럴 네트워크를 이용한 질병 진단 방법 및 이를 수행하는 질병 진단 시스템
US20230298753A1 (en) Method for annotating pathogenic site of disease by means of semi- supervised learning, and diagnosis system for performing same
US11995819B2 (en) Diagnosis result generation system and method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant