Maison  >  Article  >  Périphériques technologiques  >  Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

王林
王林avant
2023-04-12 10:37:09875parcourir

Traducteur | Zhu Xianzhong

Critique | Sun Shujuan

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 1 : La couverture du projet Iluminado conçue par l'auteur original lui-même

En 2019, l'Organisation mondiale de la santé a estimé qu'il Il y a environ 2,2 milliards de personnes dans le monde ayant une déficience visuelle, dont au moins 1 milliard auraient pu être évitées ou sont encore traitées. En matière de soins oculaires, le monde est confronté à de nombreux défis, notamment les inégalités dans la couverture et la qualité des services préventifs, thérapeutiques et de réadaptation. Il y a un manque de personnel qualifié en matière de soins oculaires et les services de soins oculaires sont mal intégrés dans le système de santé principal. Mon objectif est d’inspirer des actions pour relever ensemble ces défis. Le projet présenté dans cet article fait partie d'Iluminado, un projet de synthèse de science des données sur lequel je travaille actuellement.

Objectifs de conception du projet Capstone

Le but de la création de ce projet d'article est de former un modèle d'ensemble d'apprentissage en profondeur qui est finalement très accessible aux familles à faible revenu et peut effectuer un diagnostic initial du risque de maladie à faible coût. En utilisant ma procédure modèle, les ophtalmologistes peuvent déterminer si une intervention immédiate est nécessaire sur la base de la photographie du fond d'œil rétinien.

Source de l'ensemble de données du projet

OphthAI fournit un ensemble de données d'images accessible au public appelé Retinal Fundus Multi-Disease Image Dataset (« RFMiD »), qui contient 3 200 images. Les images du fond d'œil, qui ont été capturées par trois caméras de fond d'œil différentes, ont été annotées. par deux experts chevronnés en rétine, sur la base d'un consensus.

Ces images ont été extraites de milliers d'inspections menées en 2009-2010, sélectionnant à la fois des images de haute qualité et un certain nombre d'images de mauvaise qualité, ce qui rend l'ensemble de données plus difficile.

L'ensemble de données est divisé en trois parties, dont l'ensemble d'entraînement (60 % ou 1920 images), l'ensemble d'évaluation (20 % ou 640 images) et l'ensemble de test (20 % et 640 images). En moyenne, les proportions de personnes atteintes de maladies dans l'ensemble de formation, l'ensemble d'évaluation et l'ensemble de tests étaient respectivement de 60 ± 7 %, 20 ± 7 % et 20 ± 5 %. L'objectif fondamental de cet ensemble de données est d'aborder diverses maladies oculaires qui surviennent dans la pratique clinique quotidienne, avec un total de 45 catégories de maladies/pathologies identifiées. Ces étiquettes se trouvent dans trois fichiers CSV, à savoir RFMiD_Training_Labels.CSV, RFMiD_Validation_Labels.SSV et RFMiD_Testing_Labels.CSV.

Source de l'image

L'image ci-dessous a été prise à l'aide d'un outil appelé caméra de fond. Une caméra de fond d'œil est un microscope spécialisé de faible puissance attaché à un appareil photo flash utilisé pour photographier le fond d'œil, la couche rétinienne située à l'arrière de l'œil.

De nos jours, la plupart des caméras de fond d'œil sont portables, le patient n'a donc qu'à regarder directement dans l'objectif. Parmi eux, la partie clignotante indique que l'image du fond d'œil a été prise.

Les caméras portables ont leurs avantages car elles peuvent être transportées à différents endroits et peuvent accueillir des patients ayant des besoins particuliers, tels que les utilisateurs de fauteuils roulants. De plus, tout employé possédant la formation requise peut faire fonctionner les caméras, permettant ainsi aux patients diabétiques mal desservis de subir leurs examens annuels rapidement, en toute sécurité et efficacement.

Situation photographique du système d'imagerie du fond d'œil rétinien :

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 2 : Images prises en fonction des caractéristiques visuelles respectives : (a) rétinopathie diabétique (RD), (b) dégénérescence maculaire liée à l'âge (DMLA) et (c) brume modérée (MH).

Où est effectué le diagnostic final ?

Le processus de dépistage initial peut être assisté par l'apprentissage profond, mais le diagnostic final est posé par un ophtalmologiste à l'aide d'un examen à la lampe à fente.

Ce processus est également appelé diagnostic biomicroscopique et implique l'examen de cellules vivantes. Le médecin peut procéder à un examen microscopique pour déterminer s'il existe des anomalies dans les yeux du patient.

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 3 : Illustration de l'examen par lampe à fente

Application de l'apprentissage profond dans la classification des images rétiniennes

Différent des algorithmes d'apprentissage automatique traditionnels, les réseaux neuronaux convolutifs profonds (CNN) peuvent utiliser des modèles multicouches pour réaliser une extraction et une classification automatiques caractéristiques à partir de données brutes.

Récemment, la communauté universitaire a publié un grand nombre d'articles sur l'utilisation des réseaux de neurones convolutifs (CNN) pour identifier diverses maladies oculaires, telles que la rétinopathie diabétique et le glaucome avec des résultats anormaux (AUROC>0,9).

Data Metrics

Le score AUROC résume la courbe ROC en un nombre qui décrit les performances du modèle lors de la gestion simultanée de plusieurs seuils. Il convient de noter qu’un score AUROC de 1 représente un score parfait, tandis qu’un score AUROC de 0,5 correspond à une supposition aléatoire.

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 4 : Diagramme schématique de la courbe ROC montrant

Méthode utilisée - Fonction de perte d'entropie croisée

L'entropie croisée est généralement utilisée comme fonction de perte dans l'apprentissage automatique. L'entropie croisée est une métrique dans le domaine de la théorie de l'information qui s'appuie sur la définition de l'entropie et est généralement utilisée pour calculer la différence entre deux distributions de probabilité, tandis que l'entropie croisée peut être considérée comme le calcul de l'entropie totale entre deux distributions.

L'entropie croisée est également liée à la perte logistique, appelée perte logarithmique. Bien que ces deux mesures proviennent de sources différentes, lorsqu’elles sont utilisées comme fonction de perte pour un modèle de classification, les deux méthodes calculent la même quantité et peuvent être utilisées de manière interchangeable.

(Pour plus de détails, veuillez vous référer à : https://machinelearningmastery.com/logistic-regression-with-maximum-likelihood-estimation/)

Qu'est-ce que l'entropie croisée ?

L'entropie croisée est une mesure de la différence entre deux distributions de probabilité pour une variable aléatoire ou un ensemble d'événements donné. Vous vous souviendrez peut-être que les informations quantifient le nombre de bits requis pour coder et transmettre un événement. Les événements à faible probabilité ont tendance à contenir plus d’informations, tandis que les événements à forte probabilité contiennent moins d’informations.

En théorie de l'information, on aime décrire la « surprise » des événements. Moins un événement est susceptible de se produire, plus il est surprenant, c’est-à-dire qu’il contient plus d’informations.

  • Événement à faible probabilité (surprenant) : Plus d'informations.
  • Événement à forte probabilité (pas de surprise) : moins d'informations.

Étant donné la probabilité de l'événement P(x), l'information h(x) peut être calculée pour l'événement x comme suit :

h(x) = -log(P(x))

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 4 : Illustration parfaite (Crédit image : Vlastimil Martinek)

L'entropie est le nombre de bits requis pour transmettre un événement sélectionné au hasard à partir d'une distribution de probabilité. Les distributions asymétriques ont une entropie plus faible, tandis que les distributions avec des probabilités d'événements égales ont généralement une entropie plus élevée.

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 5 : Une illustration parfaite du rapport entre les probabilités cibles et les probabilités prédites (Source de l'image : Vlastimil Martinek)

Une distribution de probabilité asymétrique a moins de « surprises » et, à son tour, une entropie plus faible, autant que possible les événements dominent. Relativement parlant, la distribution à l’équilibre est plus surprenante et présente une entropie plus élevée car les événements ont la même probabilité de se produire.

  • Distribution de probabilité asymétrique (pas de surprise) : faible entropie.
  • Distribution de probabilité équilibrée (étonnamment) : entropie élevée.

L'entropie H(x) peut être calculée pour une variable aléatoire avec un ensemble de x dans x états discrets et sa probabilité P(x) comme le montre la figure ci-dessous :

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 6 : Formule d'entropie croisée multi-niveaux (Source de l'image : Vlastimil Martinek)

Classification multi-catégories - nous utilisons l'entropie croisée multi-catégories - un cas d'application spécifique de l'entropie croisée, dans lequel l'objectif Un schéma vectoriel de codage à chaud est utilisé. (Les lecteurs intéressés peuvent se référer à l'article de Vlastimil Martinek)

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 7 : Diagramme de décomposition parfait du calcul des pertes de pandas et de chats (Source photo : Vlastimil Martinek)

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 8 : Valeur de perte Figure 9 : Décomposition parfaite de la valeur de perte Figure 2 (Source de l'image : Vlastimil Martinek) Figure 9 : À propos de la probabilité et de la perte Représentation visuelle de (Crédit image : Vlastimil Martinek)

Que diriez-vous de l'entropie croisée binaire ? Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 10 : Illustration de la formule d'entropie croisée de classification (Source de l'image : Vlastimil Martinek)

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Dans notre projet, nous avons choisi d'utiliser la classification binaire - schéma d'entropie croisée binaire, c'est-à-dire que la cible est 0 ou 1 schéma d'entropie croisée. Si nous convertissons les cibles en vecteurs de codage à chaud de [0,1] ou [1,0] respectivement et prédisons, nous pouvons alors utiliser la formule d'entropie croisée pour calculer.

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennesFigure 11 : Illustration de la formule de calcul d'entropie croisée binaire (Source de l'image : Vlastimil Martinek)

Utilisation d'un algorithme de perte asymétrique pour traiter des données déséquilibrées

Dans un environnement de modèle multi-étiquette typique, le Les caractéristiques des données d'un ensemble peuvent avoir un nombre disproportionné d'étiquettes positives et négatives. À ce stade, la tendance de l’ensemble de données à favoriser les étiquettes négatives a une influence dominante sur le processus d’optimisation et conduit finalement à une sous-accentuation du gradient d’étiquettes positives, réduisant ainsi la précision des résultats de prédiction.

C'est exactement la situation à laquelle est confronté l'ensemble de données que je choisis actuellement. Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Ce projet utilise l'algorithme de perte asymétrique développé par BenBaruch et al. (voir Figure 12). Il s'agit d'une méthode pour résoudre la classification multi-étiquettes, mais les catégories présentent également de graves situations de distribution déséquilibrée.

La façon dont j'ai trouvé est de réduire le poids de la partie étiquette négative en modifiant asymétriquement les composantes positives et négatives de l'entropie croisée, et enfin de mettre en évidence le poids de la partie étiquette positive qui est plus difficile à traiter .

Figure 12 : Algorithme de classification asymétrique multi-label (2020, auteur : Ben-Baruch et al.)

Architecture système à tester

Pour résumer, ce projet utilise celui présenté dans le figure Architecture :

Algorithme d'apprentissage d'ensemble profond pour la classification des images rétiniennes

Figure 13 (Source de l'image : Sixu)

Les algorithmes clés utilisés dans l'architecture ci-dessus incluent principalement : VGG16

  • De plus, le algorithmes associés ci-dessus Le contenu sera mis à jour une fois que j'aurai terminé le projet Capstone pour cet article ! Lecteurs intéressés, restez à l’écoute !
  • Présentation du traducteur
  • Zhu Xianzhong, rédacteur en chef de la communauté 51CTO, blogueur expert 51CTO, conférencier, professeur d'informatique dans une université de Weifang et vétéran de l'industrie de la programmation indépendante.
  • Titre original :
  • Deep Ensemble Learning for Retinal Image Classification (CNN)

, auteur : Cathy Kam

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer