Home >Technology peripherals >AI >Deep ensemble learning algorithm for retinal image classification
Translator | Zhu Xianzhong
Revised | Sun Shujuan
Picture 1 : Cover of the Iluminado project designed by the original author himself
In 2019, the World Health Organization estimated that there were approximately 2.2 billion people with visual impairments in the world, of which at least 1 billion could have been prevented or are still suffering from visual impairments. treat. When it comes to eye care, the world faces many challenges, including inequalities in coverage and quality of preventive, therapeutic and rehabilitative services. There is a lack of trained eye care staff and eye care services are poorly integrated into the main health system. My goal is to inspire action to address these challenges together. The project presented in this article is part of Iluminado, my current data science capstone project.
The purpose of creating this project is to train a deep learning ensemble model, and ultimately implement the model very easily for low-income families available, and initial disease risk diagnosis can be performed at low cost. By using my model procedure, ophthalmologists can determine whether immediate intervention is needed based on retinal fundus photography.
OphthAI provides a fundus multi-disease image data set (Retinal Fundus Multi-Disease Image Dataset, referred to as "RFMiD") Publicly available image dataset, this dataset contains 3200 fundus images captured by three different fundus cameras and annotated by two senior retinal experts based on adjudicated consensus.
These images were extracted from thousands of inspections performed during 2009-2010, selecting both high-quality images and quite a few low-quality images to make Data sets are more challenging.
The data set is divided into three parts, including training set (60% or 1920 images), evaluation set (20% or 640 images) and test set (20% and 640 photos). On average, the proportions of people with diseases in the training set, evaluation set, and test set were 60±7%, 20±7%, and 20±5%, respectively. The basic purpose of this dataset is to address various eye diseases that arise in daily clinical practice, with a total of 45 categories of diseases/pathologies identified. These labels can be found in three CSV files, namely RFMiD_Training_Labels.CSV, RFMiD_Validation_Labels.SSV and RFMiD_Testing_Labels.CSV.
The image below was taken using a tool called a fundus camera. A fundus camera is a specialized low-power microscope attached to a flash camera that is used to photograph the fundus, the retinal layer at the back of the eye.
Nowadays, most fundus cameras are handheld, so the patient only has to look directly into the lens. Among them, the bright flash part indicates that the fundus image has been taken.
Handheld cameras have their advantages as they can be carried to different locations and can accommodate patients with special needs, such as wheelchair users. Additionally, any employee with the required training can operate the camera, allowing underserved diabetic patients to have their annual check-ups quickly, safely and efficiently.
Fundus retinal imaging system photography situation:
Figure 2: Images taken based on respective visual characteristics : (a) diabetic retinopathy (DR), (b) age-related macular degeneration (ARMD) and (c) moderate haze (MH).
The initial screening process can be assisted by deep learning, but the final diagnosis is made by an ophthalmologist using slit lamp examination.
This process, also known as biomicroscopic diagnosis, involves the examination of living cells. The doctor can perform a microscopic examination to determine if there are any abnormalities in the patient's eyes.
Figure 3: Illustration of slit lamp examination
Different from traditional machine learning algorithms, depth Convolutional neural networks (CNN) can use multi-layer models to automatically extract and classify features from raw data.
Recently, a large number of academic articles have been published on the use of convolutional neural networks (CNN) to identify various eye diseases, such as diabetic retinopathy and abnormal outcomes (AUROC) >0.9) glaucoma, etc.
The AUROC score summarizes the ROC curve into a number that describes how well the model performs when handling multiple thresholds simultaneously. It is worth noting that an AUROC score of 1 represents a perfect score, while an AUROC score of 0.5 corresponds to random guessing.
Figure 4: Schematic diagram of ROC curve display
Cross entropy is often used as a loss function in machine learning. Cross entropy is a metric in the field of information theory that builds on the definition of entropy and is typically used to calculate the difference between two probability distributions, while cross entropy can be thought of as calculating the total entropy between two distributions.
Cross entropy is also related to logistic loss, called logarithmic loss. Although these two measures come from different sources, when used as a loss function for a classification model, both methods calculate the same quantity and can be used interchangeably.
(For specific details, please refer to: https://machinelearningmastery.com/logistic-regression-with-maximum-likelihood-estimation/)
Cross entropy is a measure of the difference between two probability distributions given a random variable or set of events. You may recall that information quantifies the number of bits required to encode and transmit an event. Low-probability events tend to contain more information, while high-probability events contain less information.
In information theory, we like to describe the "surprise" of events. The less likely an event is to occur, the more surprising it is, which means it contains more information.
Given the probability of event P(x), the information h(x) can be calculated for event x, as follows:
h(x) = -log(P(x))
Figure 4: Perfect illustration (Image source: Vlastimil Martinek)
Entropy is the transmission of randomness from a probability distribution The number of bits required for the selected event. Skewed distributions have lower entropy, while distributions with equal probabilities of events generally have higher entropy.
Figure 5: A perfect illustration of the ratio of target to predicted probability (Image source: Vlastimil Martinek)
Skewed probability distributions have fewer "surprises" and in turn have lower entropy because possible events dominate. Relatively speaking, the equilibrium distribution is more surprising and has higher entropy because the events are equally likely to occur.
Entropy H(x) can be calculated for a random variable with a set x of x discrete states and its probability P(x), as shown in the following figure:
Figure 6: Multi-level cross-entropy formula (Image source: Vlastimil Martinek)
Multi-category classification - we use multiple Categorical cross-entropy is a specific application case of cross-entropy where the target uses a one-hot encoding vector scheme. (Interested readers can refer to Vlastimil Martinek’s article)
Figure 7: Perfect decomposition diagram of panda and cat loss calculation (Image source: Vlastimil Martinek)
Figure 8: Perfect decomposition of loss value Figure 1 (Image source: Vlastimil Martinek)
Figure 9: Perfect decomposition of loss value Figure 2 (Image source: Vlastimil Martinek)
Figure 9: Visual representation on probability and loss (Image source: Vlastimil Martinek)
Figure 10: Illustration of the categorical cross-entropy formula (Image source: Vlastimil Martinek)
In our project We chose to use binary classification - a binary cross-entropy scheme, that is, a cross-entropy scheme with a target of 0 or 1. If we convert the targets into hot encoding vectors of [0,1] or [1,0] respectively and predict, then we can use the cross-entropy formula to calculate.
Figure 11: Illustration of the binary cross entropy calculation formula (Image source: Vlastimil Martinek)
In a typical multi-label model environment, the features of the data set may have a disproportionate number of positive and negative labels. At this point, the tendency of the data set to favor negative labels has a dominant impact on the optimization process and ultimately leads to under-emphasis of the gradients of positive labels, thereby reducing the accuracy of the prediction results.
This is exactly the situation faced by the data set I currently choose.
This project uses the asymmetric loss algorithm developed by BenBaruch and others (refer to Figure 12). This is a method to solve multi-label classification, but there are also serious problems in the categories. Unbalanced distribution situation.
The way I think of it is: by asymmetrically modifying the positive and negative components of the cross entropy, thereby reducing the weight of the negative label part, and finally highlighting the above-mentioned positive labels that are more difficult to process. part weight.
Figure 12: Asymmetric multi-label classification algorithm (2020, author: Ben-Baruch et al.)
To summarize, the project in this article uses the architecture shown in the figure:
## Figure 13 (Picture source: Sixu)
The key algorithms used in the above architecture mainly include:
In addition, the above-mentioned algorithm-related content will definitely be updated after I complete the Capstone project of this article! Interested readers please stay tuned!
Zhu Xianzhong, 51CTO community editor, 51CTO expert blogger, lecturer, computer teacher at a university in Weifang, and a veteran in the freelance programming industry.
Original title: ##Deep Ensemble Learning for Retinal Image Classification (CNN) By Cathy Kam
The above is the detailed content of Deep ensemble learning algorithm for retinal image classification. For more information, please follow other related articles on the PHP Chinese website!