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

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

Info

Publication number
WO2021010671A9
WO2021010671A9 PCT/KR2020/009096 KR2020009096W WO2021010671A9 WO 2021010671 A9 WO2021010671 A9 WO 2021010671A9 KR 2020009096 W KR2020009096 W KR 2020009096W WO 2021010671 A9 WO2021010671 A9 WO 2021010671A9
Authority
WO
WIPO (PCT)
Prior art keywords
patch
neural network
result
disease
level
Prior art date
Application number
PCT/KR2020/009096
Other languages
English (en)
French (fr)
Other versions
WO2021010671A2 (ko
WO2021010671A3 (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 JP2022500883A priority Critical patent/JP7299658B2/ja
Priority to US17/626,806 priority patent/US20220301712A1/en
Priority to CN202080051105.3A priority patent/CN114503153A/zh
Priority to EP20841047.2A priority patent/EP3989237A4/en
Publication of WO2021010671A2 publication Critical patent/WO2021010671A2/ko
Publication of WO2021010671A3 publication Critical patent/WO2021010671A3/ko
Publication of WO2021010671A9 publication Critical patent/WO2021010671A9/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

Definitions

  • the present invention relates to a disease diagnosis system and method using a neural network.
  • the present invention relates to a disease diagnosis system and method capable of segmenting a diseased region in an image of a living tissue using a neural network and a non-local block learned by performing learning through a neural network.
  • One of the major tasks performed in the pathology or pathology department is to read the patient's biometric image and perform a diagnosis to determine the condition or symptom for a specific disease.
  • This diagnosis is a method that is dependent on the experience and knowledge of a skilled medical practitioner for a long time.
  • diagnosis through deep learning using neural networks does not simply automate the experience and knowledge of experienced medical personnel, but finds characteristic elements through self-learning to derive desired answers. Rather, there are cases in which the characteristics of disease factors that an experienced medical practitioner was not aware of are found in images.
  • diagnosis of a disease through a neural network using a biological image uses a piece of a biological image, that is, a patch (also referred to as a pathch or tile). That is, a medical practitioner who is skilled with the corresponding tile annotates the state of a specific disease (eg, whether cancer has been developed), and learns a neural network using a plurality of the annotated tiles as training data.
  • a convolutional neural network may be used as the neural network.
  • the learned neural network determines the state of the disease of the tile only with the image characteristics of the tile.
  • the state of a specific biological tissue for a specific disease not only the specific biological tissue itself but also the status of surrounding tissues of a specific living tissue (eg, shape, whether a specific pattern exists, etc.) must be considered together.
  • the conventional method has a problem that is not suitable for this case.
  • the diagnosis result may be output that the disease has been expressed in a specific patch, but there is no possibility that the disease is not expressed in a wider range. I can. Therefore, it may be necessary to separately determine whether the disease has been expressed in the entire slide including the patch based on the diagnosis result for each patch.
  • the diagnosis result of the patch unit determines whether or not the disease is on a per patch basis (i.e., patch-by-patch), and when the patch unit diagnosis result is immediately visualized, there may be a problem that even parts other than the tissue (tissue) are actually visualized. I can. Therefore, segmentation capable of distinguishing the disease region from the patch may be required so that the tissue part diagnosed as a disease can be clearly identified.
  • a tangential problem may occur because a three-dimensional prostate is diagnosed with a two-dimensional image.
  • diagnosis results e.g., spirituality/negative, Gleason score 3, 4, etc.
  • pathologists usually diagnose their surroundings, but there is a problem that most of the existing deep learning networks do not reflect that.
  • Patent Document Korean Patent Laid-Open Publication No. 10-2016-0034814 "Client device with neural network and system including the same"
  • a technical problem to be achieved by the present invention is to provide a diagnostic system and method using a neural network capable of distinguishing not only whether a disease has occurred through a specific patch, but also a region in which the disease has been invented in the corresponding patch.
  • a diagnostic system capable of efficiently performing segmentation to distinguish the area in which the disease was invented, and the Is to provide a way.
  • a neural network that can increase accuracy is used for learning not only the specific tile but also the surrounding tiles. It is to provide a diagnostic system and method to be used.
  • the present invention provides a diagnostic system and method capable of effectively and accurately diagnosing whether or not a disease is expressed in a wide range of biological tissues including a corresponding patch, rather than a diagnosis result for each patch by using the diagnosis result for each patch.
  • the system comprises: For each predetermined patch divided by size, a patch level segmentation neural network for specifying a region in which a disease exists among the patches by receiving the patch as an input layer, wherein the patch level segmentation neural network comprises: A patch level classification neural network receiving input through an input layer and outputting a patch level classification result regarding whether the disease is present in the patch; And
  • a patch level segmentation architecture for specifying a region in which a disease exists among the patches by receiving a feature map generated from each of two or more feature map extraction layers among hidden layers included in the patch level classification neural network,
  • the patch level segmentation architecture includes a non-local correlation calculation sub-architecture including a non-local correlation calculation node corresponding to each of the two or more feature extraction layers-each of the non-local correlation calculation nodes has a corresponding feature
  • a non-local correlation calculation process is performed for the feature map input from the extraction layer, and the non-local correlation calculation process is a convolution process, a non-local block process, or A process of performing convolution and non-local blocks in parallel-Diseases including a segmentation sub-architecture specifying a region in which a disease exists in the patch based on a result generated by the non-local correlation calculation sub-architecture
  • a diagnostic system is provided.
  • the segmentation sub-architecture generates a mask corresponding to a region in which a disease exists in the patch through convolution and concatenation with respect to the result generated by the non-local correlation calculation sub-architecture. I can.
  • the segmentation sub-architecture generates a first intermediate result by joining a first non-local result, a second convolution result, and a result of upscaling the second non-local result, and the first intermediate result Convolution and up-scaling for the second intermediate result is concatenated with the first convolution result to generate a third intermediate result, and a disease exists in the patch by performing convolution on the third intermediate result. It is possible to create a mask corresponding to the area.
  • a patch level classification result of each of the plurality of patches included in the slide is marked, and a slide level diagnosis result indicating whether a disease exists in the slide is output based on the marked result. It may further include a slide diagnosis engine.
  • the disease may be characterized in that prostate cancer.
  • the system comprises: For each predetermined patch divided by the size of, receiving the patch as an input layer of the neural network and specifying a region in which a disease exists among the patches, wherein the patch level segmentation neural network comprises: A feature map of two or more of a patch level classification neural network that receives as an input layer and outputs a patch level classification result regarding whether the disease is present in the patch, and a hidden layer included in the patch level classification neural network.
  • the system marks a patch classified as a disease as a result of the patch level classification of each of the plurality of patches included in the slide, and the disease is displayed on the slide based on the marked result. It may further include outputting a slide level diagnosis result indicating whether or not there is.
  • a computer program installed in a data processing apparatus and recorded in a medium for performing the above-described method is provided.
  • a system and method can be provided, and a deep learning network that enables more detailed diagnosis by reflecting a pathologic view can be provided.
  • a neural network capable of determining the disease state of the specific patch by considering the macro patch including the specific patch and further including the surrounding patches while performing diagnosis on a specific patch is provided. By providing it, there is an effect of providing higher diagnostic accuracy.
  • the cluster and the presence of the disease in the slide including the patch are determined. There is an effect of performing an effective and highly accurate diagnosis by re-evaluating using the features (features) of the cluster.
  • FIG. 1 is a diagram showing a schematic system configuration of a disease diagnosis system that performs segmentation using a neural network and a non-local block according to the technical idea of the present invention.
  • FIG. 2 is a diagram illustrating a hardware configuration of a disease diagnosis system using a neural network according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an overall structure of a patch level segmentation neural network according to an embodiment of the present invention.
  • FIG. 5 is a diagram for explaining the configuration of a patch level classical neural network according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining an exemplary configuration of a patch level classification neural network according to another embodiment of the present invention.
  • FIG. 7 is a diagram for explaining the overall structure of the patch level segmentation architecture.
  • FIG. 8A is a diagram illustrating a specific example of a patch level segmentation neural network according to an embodiment of the present invention
  • FIG. 8B is a diagram illustrating an example of the deep neural network of FIG. 8A.
  • FIG. 9 is a view for explaining the concept of a two-face disease diagnosis method according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a marking result according to a patch level diagnosis result according to an embodiment of the present invention.
  • the component when one component'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. This means that the data may be transmitted to the other component. Conversely, when one component'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
  • diagnosis system 100 is a diagram showing a schematic system configuration of a disease diagnosis system (hereinafter referred to as “diagnosis system 100”) that performs segmentation using a neural network and a non-local block according to the technical idea of the present invention.
  • a diagnostic system 100 may be installed in a predetermined server 10 to implement the technical idea of the present invention.
  • the server 10 refers to a data processing device having computational capability to implement the technical idea of the present invention, and generally provides a specific service such as a personal computer and a portable terminal as well as a data processing device accessible to a client through a network. It will be easily inferred by an average expert in the art that any device capable of performing can be defined as a server.
  • the neural network 12-2 may include a neural network that performs patch level diagnosis as will be described later.
  • the neural network performing patch-level diagnosis may determine whether a disease exists in a patch that is a part of the slide.
  • the neural network performing the patch-level diagnosis may perform segmentation specific to the disease-prone area among the corresponding patches. This neural network will be referred to as a patch-level segmentation neural network hereinafter.
  • the neural network 12-2 may further include a neural network that performs slide level diagnosis.
  • the configuration for performing the slide level diagnosis may be implemented through various machine learning techniques as well as a neural network.
  • the known XGBoost is used as the diagnostic engine for performing the slide level diagnosis, but a diagnosis engine according to various types of machine learning techniques may be implemented. Of course it can be stored.
  • control module 110 may perform diagnosis according to the technical idea of the present invention using a neural network stored in the diagnosis module 120 and/or a slide diagnosis engine.
  • the control module 110 may receive input data, that is, input for each patch, to a patch level neural network, that is, a learned neural network, stored in the diagnostic module 120. In addition, by performing operations defined by the neural network, output data, that is, a feature value corresponding to a disease occurrence probability corresponding to a patch may be output. In addition, depending on the embodiment, the region in which the disease is expressed may be specified in the patch. In addition, depending on the embodiment, for the slide level diagnosis as described later, whether or not the corresponding patch has a disease may be output according to whether the feature value is a predetermined threshold value or not.
  • Design items for each layer constituting a convolutional neural network are widely known.
  • known functions may be used for each of the number of layers to be included in a plurality of layers, a convolution function, a pooling function, and an activation function for defining the plurality of layers, and to implement the technical idea of the present invention.
  • Separately defined functions may be used.
  • FIG. 4 is a diagram illustrating an overall structure of a patch level segmentation neural network according to an embodiment of the present invention.
  • the patch level classification neural network 200 receives a patch, which is a part of the slide division, as an input layer, and a patch level classification result regarding whether the disease is present in the patch (for example, as shown in FIG. 4 ). The same score) can be output. This is called classification, and during the classification process, the patch level classification neural network 200 may generate a feature for an input (ie, a patch) as an intermediate product in some hidden layers included therein.
  • a feature map a layer for generating a feature map among hidden layers included in the patch level classification neural network 200 will be referred to as a feature map extraction layer.
  • the patch level segmentation architecture 500 is a feature map generated from each of two or more feature map extraction layers among hidden layers included in the patch level classification neural network 200 (for example, as shown in FIG. It is possible to input f1, f2, f3) in which there is a disease, and to specify and output a region in which a disease exists among the patches.
  • FIG. 4 shows an example of generating three feature maps (low-level feature map f1, middle-level feature map f2, and high-level feature map f3) in the process of the patch-level classification neural network 200 performing classification.
  • more or less feature maps may be generated according to embodiments.
  • the patch level classification neural network 200 performing patch level classification may use a known densenet, and at this time, as disclosed in the previous application, a specific target for diagnosis It can be designed to take into account not only patches but also surrounding patches.
  • various neural networks may be used, and in any case, the patch level classification neural network 200 may be defined to receive a specific patch as an input and output a feature value corresponding to the disease occurrence probability of the specific patch. .
  • a patch level classical neural network 200 includes a micro neural network and a macro neural network.
  • the macroneural network includes a plurality of layers 220 and the output layer 230.
  • the plurality of layers 220 include an input layer 221 and a plurality of hidden layers 222.
  • the microneural network is defined to receive a specific patch 30 and output a diagnosis result of a specific patch, that is, output data defined in the output layer 230.
  • the macro neural network is defined to receive a macro patch 40 including the specific patch 30 and including at least one adjacent patch of the specific patch 30, and output a diagnosis result of the specific patch.
  • the patch level classification neural network 200 according to the technical idea of the present invention is The diagnosis result can be output in consideration of the image characteristics of the patches.
  • the macro patch 40 shows an example in which a 3 ⁇ 3 patch surrounding the patch is used in FIG. 5, but it is a matter of course that various embodiments may be possible.
  • the output layer 230 is a layer immediately preceding the first layer 212-1, which is a layer immediately preceding the output layer 230 included in the microneural network, and a layer immediately preceding the output layer 230, which is included in the macroneural network.
  • Output data of each of the second immediately preceding layers 222-1 may be input and output data defined in the output layer 230 may be output.
  • the first immediately preceding layer 212-1, the second immediately preceding layer 222-1, and the output layer 230 may be fully connected.
  • the input data input to the input layer is output to the output layer 230 as a result through the patch level classification neural network 200.
  • Any one of a variety of functions can be used.
  • the patch level classification neural network 200 is a macro patch 40 including the image characteristics of the specific patch 30 and the specific patch 30 in order to perform diagnosis on the specific patch 30 It is trained to output the output data of the output layer 230 corresponding to the annotation values of the plurality of training data in consideration of the image characteristics of.
  • a plurality of training data is used to learn the patch level classical neural network 200, and the plurality of training data may include a specific patch 30 and a pair of macro patches 40.
  • the macro patch 40 may also perform learning by using the annotation information of the specific patch 30.
  • the patch level classification neural network 200 considers both the image characteristics of the specific patch 30 and the macro patch 40, and outputs output data corresponding to the annotation information of the specific patch 30. It can be learned to do.
  • the learned neural network 200 receives a target patch to be diagnosed and a macro patch corresponding to the target patch as input data of the microneural network and the macroneural network, respectively, the diagnosis result of the target patch That is, the output data of the output layer 230 may be output.
  • the output layer 230 may output output data of a diagnosis result of a specific patch 30 to be diagnosed.
  • the diagnosis result may include at least information on the disease state of the specific patch 30.
  • the information on the state of the disease may simply mean information on whether a specific disease is expressed in a specific patch 30 (or a probability value). However, depending on the type of disease, the information on the state of the disease may include information indicating the progression of the disease more specifically.
  • the output data of the output layer 230 is received and a feature value corresponding to the disease occurrence probability of the finally input patch is output.
  • a feature value corresponding to the disease occurrence probability of the finally input patch is output.
  • the patch level classification neural network 200 has a single path rather than a method having two paths (each path of a micro network and a macro network) as shown in FIG. 5A. It can also be designed. An example of this may be as shown in FIG. 6.
  • FIG. 6 is a diagram for explaining an exemplary configuration of a patch level classification neural network 200 according to another embodiment of the present invention.
  • the patch level classification neural network 200 may be defined to receive an input in a patch unit and determine whether the input patch is diseased. At this time, as shown, the neural network may receive 4 channels (eg, RGB and Gray channels) data.
  • 4 channels eg, RGB and Gray channels
  • An average expert in the technical field of the present invention can easily infer that a neural network that performs patch level diagnosis can be defined in various other ways.
  • FIG. 7 is a diagram for explaining the overall structure of the patch level segmentation architecture 500.
  • the patch level segmentation architecture 500 may include a non-local correlation calculation sub-architecture 510 and a segmentation sub-architecture 520.
  • the non-local correlation calculation process performed by each non-local correlation calculation node is a convolution process, a non-local block process, or a convolution and a non-local block in parallel. It may be a process performed by.
  • a non-local block performed by at least a part of the non-local correlation calculation nodes 511-1 to 511-3 may mean an operation used to calculate a non-local correlation of a feature map.
  • the detailed description is disclosed in Kaiming He et al's paper "Non-local Neural Networks" (https://arxiv.org/pdf/1711.07971.pdf).
  • At least some of the non-local correlation calculation nodes 511-1 to 511-3 perform the non-local correlation calculation process and then upscaling the result (for example, upsampling).
  • upscaling eg, downsampling
  • downscaling may be performed.
  • the segmentation sub-architecture 520 may specify a region in which a disease exists among the patches based on a convolution result generated by the non-local correlation calculation sub-architecture 510.
  • FIG. 8A is a diagram showing a specific example of a patch level segmentation neural network 400 according to an embodiment of the present invention
  • FIG. 8B is a deep neural network of FIG. 8A (that is, a patch level classification neural network 200). ) Is a diagram showing an example of.
  • the patch level classification neural network 200 included in the patch level segmentation neural network may perform classification.
  • the patch level classification neural network 200 may receive a patch as an input layer, and a low level of 1/4 size through convolution and pooling operations in the first feature extraction layer (L1).
  • (middle feature; f2) can be created.
  • segmentation may be performed using each feature generated by the patch level classification neural network 200.
  • each of the non-local correlation calculation nodes 511-1 to 511-3 included in the non-local correlation calculation sub-architecture 510 is in a feature map input from a corresponding feature extraction layer. For this, a correlation calculation process in a predefined manner may be performed.
  • the correlation calculation process performed by each node may be any one of a process of performing convolution, a process of performing a non-local block, or a process of performing convolution and a non-local block in parallel.
  • the low-level non-local correlation calculation node 511-1 performs a 1x1 convolution on the low-level feature map f1 input from the first feature extraction layer L1 corresponding thereto. You can create a solution output.
  • the high-level non-local correlation calculation node 511-3 performs a non-local block process on the high-level feature map f3 input from the corresponding third feature extraction layer L3 to generate a second non-local result. I can.
  • the segmentation sub-architecture 520 may receive a result generated by the non-local correlation calculation sub-architecture 510 and perform a predefined operation.
  • the segmentation sub-architecture 520 includes a first non-local result (1) and a second convolution result (2) generated by the middle-level non-local correlation calculation node 511-2, and the A first intermediate result (4) is generated by joining the result (3) of upscaling the second non-local result generated by the high-level non-local correlation calculation node (511-3), and the first intermediate result (4).
  • To generate a third intermediate result (6) by joining the second intermediate result (5) performed on the convolution and upscaling to the first convolution result, and convolving the third intermediate result (6).
  • a mask 7 corresponding to a region in which a disease exists among the patches may be generated by performing a lution.
  • FIGS. 8A and 8B is only one example in which the technical idea of the present invention is implemented, and there may be a patch level classical neural network having various structures and a patch level segmentation architecture.
  • the diagnosis module 120 may include a slide diagnosis engine, and the slide diagnosis engine may also be learned and implemented by the control module 110.
  • the slide diagnosis engine may mark a disease patch according to an output result of the neural network. Marking may mean discriminating disease patches within a slide.
  • the slide diagnosis engine may generate a heat map by displaying disease patches to be distinguished from other patches.
  • a plurality of disease patches may be clustered based on the generated heat map.
  • the slide diagnosis engine may cluster disease patches into at least two. And two of the largest clusters can be used for slide diagnosis. However, of course, two or more clusters can be used for slide diagnosis.
  • the slide diagnosis engine may be learned by considering all of a plurality of threshold values. Through this, it is possible to output a slide diagnosis result that is robust to setting a threshold value. This will be described later.
  • the preprocessing module 130 may perform preprocessing of a necessary biometric image before performing diagnosis using a neural network.
  • the preprocessing of the biometric image may include a process of patching the biometric image into patches having a predefined size, and as described above, gray values of pixels for each patch may be calculated.
  • an average expert in the technical field of the present invention can easily infer that appropriate image processing may be performed in a manner suitable for the neural network, if necessary.
  • FIG. 9 is a view for explaining the concept of a two-face disease diagnosis method according to an embodiment of the present invention.
  • a biological image corresponding to a biological tissue may be used for learning the neural network 200.
  • the patches may be sampled so that a patch labeled with an arm and a patch labeled with a normal have a predetermined ratio.
  • the learned neural network 200 may perform patch level diagnosis on each patch included in each slide.
  • the slide diagnosis engine may mark a disease patch according to a patch level diagnosis result.
  • a heat map may be generated as shown in FIG. 9.
  • the slide diagnosis engine may generate a cluster according to the generated heat map.
  • the slide diagnosis engine may cluster disease patches using a predetermined clustering algorithm.
  • the slide diagnosis engine performs clustering through a known DBSCAN algorithm, but of course, various clustering techniques may be used.
  • the slide diagnosis engine may extract cluster features for each cluster generated as a result of clustering.
  • the cluster feature may be a characteristic value capable of representing a characteristic associated with the expression of a disease.
  • the cluster feature may include the number of disease patches included in the cluster, an average of disease probability values for each patch, a maximum value of a disease probability value for each patch, and a minimum value of a disease probability value for each patch. I can. When these cluster features are included, it can be confirmed that the diagnosis result of the slide diagnosis engine is relatively high.
  • the cluster may have a different location, size, and cluster feature as described above depending on whether each of the patches is determined as a disease patch. And it depends on what threshold value is used in patch level diagnosis.
  • a plurality of threshold values may be used together for slide level diagnosis.
  • the result of diagnosing a specific patch as a disease patch may vary according to the respective threshold values, and the clustering result may vary accordingly.
  • the slide diagnosis engine clusters a disease-expressed patch based on each of N (e.g., 5) threshold values and each of the N threshold values in a predetermined manner to form M (e.g., 2) Two clusters were formed.
  • N e.g., 5
  • M e.g., 2
  • cluster features were calculated.
  • M ⁇ N ⁇ P (eg, 80) cluster features may be extracted for one slide.
  • the slide diagnosis engine may be trained to input these feature values as input values and output whether the slide has a disease as output data.
  • the diagnostic system 100 may include a processor and a memory storing a program executed by the processor.
  • the processor may include a single-core CPU or a multi-core CPU.
  • the memory may include high-speed random access memory and may include non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to memory by processors and other components can be controlled by a memory controller.
  • the diagnostic method according to an embodiment of the present invention may be implemented in the form of a computer-readable program command and stored in a computer-readable recording medium. It can be stored in a recording medium that can be read.
  • the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floptical disks. Hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like are included.
  • the computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner.
  • the above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
  • the present invention can be used in a disease diagnosis system and method for performing segmentation using a neural network and a non-local block.

Abstract

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

Description

뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
본 발명은 뉴럴 네트워크를 이용한 질병 진단 시스템 및 그 방법에 관한 것이다. 보다 상세하게는 뉴럴 네트워크를 통한 학습을 수행하여 학습된 뉴럴 네트워크 및 비국소적 블록을 이용하여 생체조직의 이미지에서 질병이 있는 영역을 세그멘테이션할 수 있는 질병 진단 시스템 및 그 방법에 관한 것이다.
병리학 또는 병리과에서 수행하는 주요한 업무 중 하나는 환자의 생체이미지를 판독하여 특정 질병에 대한 상태 또는 징후를 판단하는 진단을 수행하는 일이다. 이러한 진단은 오랜 기간 숙련된 의료인의 경험과 지식에 의해 의존되는 방식이다.
최근에는 기계학습의 발달로 인해 이미지를 인식하거나 분류하는 등의 업무를 컴퓨터 시스템에 의해 자동화하고자 하는 시도가 활발히 이루어지고 있다. 특히 기계학습의 일종인 뉴럴 네트워크(예컨대, 컨벌루션 뉴럴 네트워크(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항 중 어느 한 항에 기재된 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램.
PCT/KR2020/009096 2019-07-13 2020-07-10 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법 WO2021010671A2 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022500883A JP7299658B2 (ja) 2019-07-13 2020-07-10 ニューラルネットワーク及び非局所的ブロックを用いてセグメンテーションを行う疾病診断システム及び方法
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
CN202080051105.3A CN114503153A (zh) 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

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
WO2021010671A2 WO2021010671A2 (ko) 2021-01-21
WO2021010671A3 WO2021010671A3 (ko) 2021-04-08
WO2021010671A9 true WO2021010671A9 (ko) 2021-05-27

Family

ID=74210469

Family Applications (1)

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

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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102592762B1 (ko) * 2021-01-27 2023-10-24 대구대학교 산학협력단 합성곱 신경망 기반의 덴스넷을 통한 부정맥 분류 방법
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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
KR101944536B1 (ko) * 2016-12-11 2019-02-01 주식회사 딥바이오 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법
KR102190257B1 (ko) * 2017-12-20 2020-12-16 주식회사 마이크로트 안압의 조절을 위한 안질환용 임플란트 장치
KR101889725B1 (ko) 2018-07-04 2018-08-20 주식회사 루닛 악성 종양 진단 방법 및 장치
CN109919961A (zh) * 2019-02-22 2019-06-21 北京深睿博联科技有限责任公司 一种用于颅内cta图像中动脉瘤区域的处理方法及装置

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2020045848A1 (ko) 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
WO2021010671A9 (ko) 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
WO2019235828A1 (ko) 투 페이스 질병 진단 시스템 및 그 방법
WO2021060899A1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2020197239A1 (ko) 뉴럴 네트워크를 이용한 결측 영상 데이터 대체 방법 및 그 장치
WO2019074195A1 (ko) 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램
WO2021045331A1 (ko) 암호화폐 거래 분석 방법 및 장치
WO2021006522A1 (ko) 딥 러닝 모델을 활용한 영상 진단 장치 및 그 방법
WO2022005090A1 (ko) 진단 결과를 제공하기 위한 방법 및 장치
WO2020204535A1 (ko) 머신 러닝 기반의 사용자 맞춤형 특허 문헌 자동 분류 방법, 장치 및 시스템
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2022050719A1 (ko) 사용자의 치매 정도 결정 방법 및 장치
WO2023120831A1 (ko) 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020032561A2 (ko) 다중 색 모델 및 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
WO2022146050A1 (ko) 우울증 진단을 위한 인공지능 연합학습 방법 및 시스템
EP3922036A1 (en) Apparatus and method for generating image
WO2020032560A2 (ko) 진단 결과 생성 시스템 및 방법
WO2021080175A1 (ko) 컨텐츠 처리 방법
WO2019235827A1 (ko) 듀얼 클래스를 지원하는 질병 진단 시스템 및 그 방법
WO2020141907A1 (ko) 키워드에 기초하여 이미지를 생성하는 이미지 생성 장치 및 이미지 생성 방법
WO2023167448A1 (ko) 병리 슬라이드 이미지를 분석하는 방법 및 장치
WO2020149518A1 (ko) 안저영상 자동판독을 위한 딥러닝 아키텍처 시스템 및 딥러닝 아키텍쳐 시스템을 이용한 안저영상 자동판독 방법
WO2019231162A1 (ko) 이미지 분할 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20841047

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2022500883

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020841047

Country of ref document: EP

Effective date: 20220111