Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

王林
王林nach vorne
2023-04-12 10:37:09921Durchsuche

Übersetzer | Zhu Xianzhong

Rezensent | Weltweit gab es etwa 2,2 Milliarden Menschen mit Sehbehinderungen, von denen mindestens eine Milliarde hätte verhindert werden können oder noch behandelt werden. Wenn es um die Augenpflege geht, steht die Welt vor vielen Herausforderungen, darunter Ungleichheiten in der Abdeckung und Qualität präventiver, therapeutischer und rehabilitativer Dienste. Es mangelt an geschultem Augenpflegepersonal und die Augenpflegedienste sind nur unzureichend in das Hauptgesundheitssystem integriert. Mein Ziel ist es, zum Handeln anzuregen, um diese Herausforderungen gemeinsam anzugehen. Das in diesem Artikel vorgestellte Projekt ist Teil von Iluminado, einem datenwissenschaftlichen Abschlussprojekt, an dem ich derzeit arbeite.

Designziele des Capstone-ProjektsDeep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Der Zweck der Erstellung dieses Artikelprojekts besteht darin, ein Deep-Learning-Ensemble-Modell zu trainieren, das letztendlich für Familien mit niedrigem Einkommen sehr zugänglich ist und eine erste Krankheitsrisikodiagnose zu geringen Kosten durchführen kann. Mithilfe meines Modellverfahrens können Augenärzte anhand der Netzhautfundusfotografie feststellen, ob ein sofortiger Eingriff erforderlich ist.

Quelle des Projektdatensatzes

OphthAI stellt einen öffentlich verfügbaren Bilddatensatz namens Retinal Fundus Multi-Disease Image Dataset („RFMiD“) bereit, der 3200 Bilder enthält. Fundusbilder, die von drei verschiedenen Funduskameras aufgenommen wurden, wurden mit Anmerkungen versehen von zwei hochrangigen Netzhautexperten basierend auf einem gerichtlichen Konsens.

Diese Bilder wurden aus Tausenden von Inspektionen extrahiert, die im Zeitraum 2009–2010 durchgeführt wurden. Dabei wurden sowohl einige qualitativ hochwertige Bilder als auch einige Bilder geringer Qualität ausgewählt, was den Datensatz anspruchsvoller macht.

Der Datensatz ist in drei Teile unterteilt: Trainingssatz (60 % oder 1920 Bilder), Bewertungssatz (20 % oder 640 Bilder) und Testsatz (20 % und 640 Bilder). Im Durchschnitt betrug der Anteil der Menschen mit Erkrankungen im Trainingssatz, Bewertungssatz und Testsatz 60 ± 7 %, 20 ± 7 % bzw. 20 ± 5 %. Der Hauptzweck dieses Datensatzes besteht darin, verschiedene Augenkrankheiten zu behandeln, die in der täglichen klinischen Praxis auftreten, wobei insgesamt 45 Kategorien von Krankheiten/Pathologien identifiziert werden. Diese Labels sind in drei CSV-Dateien zu finden, nämlich RFMiD_Training_Labels.CSV, RFMiD_Validation_Labels.SSV und RFMiD_Testing_Labels.CSV.

Bildquelle

Das Bild unten wurde mit einem Werkzeug namens Funduskamera aufgenommen. Eine Funduskamera ist ein spezielles Mikroskop mit geringer Leistung, das an eine Blitzkamera angeschlossen ist und zum Fotografieren des Fundus, der Netzhautschicht im hinteren Teil des Auges, verwendet wird.

Heutzutage sind die meisten Funduskameras Handkameras, sodass der Patient nur direkt in die Linse schauen muss. Darunter zeigt der hell blinkende Teil an, dass das Fundusbild aufgenommen wurde.

Handkameras haben ihre Vorteile, da sie an verschiedene Orte getragen werden können und Patienten mit besonderen Bedürfnissen, wie beispielsweise Rollstuhlfahrern, gerecht werden können. Darüber hinaus kann jeder Mitarbeiter mit der erforderlichen Schulung die Kameras bedienen, sodass unterversorgte Diabetiker ihre jährlichen Kontrolluntersuchungen schnell, sicher und effizient durchführen können.

Fundus-Retina-Bildgebungssystem-Aufnahmesituation:

Abbildung 2: Bilder, die basierend auf ihren jeweiligen visuellen Merkmalen aufgenommen wurden: (a) diabetische Retinopathie (DR), (b) altersbedingte Makuladegeneration (ARMD) und (c) Mäßige Trübung (MH).

Wo wird die endgültige Diagnose gestellt?

Der anfängliche Screening-Prozess kann durch Deep Learning unterstützt werden, die endgültige Diagnose wird jedoch von einem Augenarzt mithilfe einer Spaltlampenuntersuchung gestellt.

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Dieser Vorgang wird auch biomikroskopische Diagnostik genannt und beinhaltet die Untersuchung lebender Zellen. Der Arzt kann eine mikroskopische Untersuchung durchführen, um festzustellen, ob Anomalien in den Augen des Patienten vorliegen.

Abbildung 3: Abbildung einer Spaltlampenuntersuchung

Anwendung von Deep Learning bei der Klassifizierung von Netzhautbildern

Im Gegensatz zu herkömmlichen Algorithmen für maschinelles Lernen können Deep Convolutional Neural Networks (CNN) mehrschichtige Modelle verwenden, um automatisch zu extrahieren und zu klassifizieren Merkmale aus Rohdaten.

Kürzlich hat die akademische Gemeinschaft eine große Anzahl von Artikeln über den Einsatz von Convolutional Neural Networks (CNN) zur Identifizierung verschiedener Augenkrankheiten wie diabetischer Retinopathie und Glaukom mit abnormalen Ergebnissen (AUROC>0,9) veröffentlicht.

Datenmetriken

Der AUROC-Score fasst die ROC-Kurve in einer Zahl zusammen, die die Leistung des Modells bei der gleichzeitigen Verarbeitung mehrerer Schwellenwerte beschreibt. Es ist erwähnenswert, dass ein AUROC-Score von 1 einen perfekten Score darstellt, während ein AUROC-Score von 0,5 einer zufälligen Schätzung entspricht.

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 4: Schematische Darstellung der ROC-Kurve mit Darstellung

Verwendete Methode – Kreuzentropie-Verlustfunktion

Kreuzentropie wird normalerweise als Verlustfunktion beim maschinellen Lernen verwendet. Kreuzentropie ist eine Metrik im Bereich der Informationstheorie, die auf der Definition von Entropie aufbaut und typischerweise zur Berechnung der Differenz zwischen zwei Wahrscheinlichkeitsverteilungen verwendet wird, während man sich Kreuzentropie als Berechnung der Gesamtentropie zwischen zwei Verteilungen vorstellen kann.

Kreuzentropie hängt auch mit logistischen Verlusten zusammen, die als logarithmischer Verlust bezeichnet werden. Obwohl diese beiden Maße aus unterschiedlichen Quellen stammen, berechnen beide Methoden bei Verwendung als Verlustfunktion für ein Klassifizierungsmodell dieselbe Menge und können austauschbar verwendet werden.

(Weitere Einzelheiten finden Sie unter: https://machinelearningmastery.com/logistic-regression-with-maximum-likelihood-estimation/)

Was ist Kreuzentropie?

Kreuzentropie ist ein Maß für die Differenz zwischen zwei Wahrscheinlichkeitsverteilungen für eine gegebene Zufallsvariable oder eine Reihe von Ereignissen. Sie erinnern sich vielleicht, dass Informationen die Anzahl der Bits quantifizieren, die zum Kodieren und Übertragen eines Ereignisses erforderlich sind. Ereignisse mit geringer Wahrscheinlichkeit enthalten tendenziell mehr Informationen, während Ereignisse mit hoher Wahrscheinlichkeit weniger Informationen enthalten.

In der Informationstheorie beschreiben wir gerne die „Überraschung“ von Ereignissen. Je unwahrscheinlicher das Eintreten eines Ereignisses ist, desto überraschender ist es und desto mehr Informationen enthält es.

  • Ereignis mit geringer Wahrscheinlichkeit (überraschend): Weitere Informationen.
  • Ereignis mit hoher Wahrscheinlichkeit (keine Überraschung): weniger Informationen.

Angesichts der Wahrscheinlichkeit des Ereignisses P(x) kann die Information h(x) für Ereignis x wie folgt berechnet werden:

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

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 4: Perfekte Illustration ( Bildnachweis: Vlastimil Martinek)

Entropie ist die Anzahl der Bits, die erforderlich sind, um ein zufällig ausgewähltes Ereignis aus einer Wahrscheinlichkeitsverteilung zu übertragen. Schiefe Verteilungen haben eine geringere Entropie, während Verteilungen mit gleichen Ereigniswahrscheinlichkeiten im Allgemeinen eine höhere Entropie aufweisen.

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 5: Eine perfekte Darstellung des Verhältnisses von Ziel- zu vorhergesagten Wahrscheinlichkeiten (Bildquelle: Vlastimil Martinek)

Eine schiefe Wahrscheinlichkeitsverteilung hat weniger „Überraschungen“ und hat im Gegenzug möglichst eine geringere Entropie Ereignisse dominieren. Relativ gesehen ist die Gleichgewichtsverteilung überraschender und weist eine höhere Entropie auf, da die Ereignisse mit gleicher Wahrscheinlichkeit eintreten.

  • Schiefe Wahrscheinlichkeitsverteilung (keine Überraschung): niedrige Entropie.
  • Ausgewogene Wahrscheinlichkeitsverteilung (überraschenderweise): hohe Entropie.

Die Entropie H(x) kann für eine Zufallsvariable mit einer Menge von x in x diskreten Zuständen und ihrer Wahrscheinlichkeit P(x) berechnet werden, wie in der folgenden Abbildung dargestellt:

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 6: Mehrstufige Kreuzentropieformel (Bildquelle: Vlastimil Martinek)

Multi-Kategorie-Klassifizierung – wir verwenden Multi-Kategorie-Kreuzentropie – ein spezifischer Anwendungsfall der Kreuzentropie, bei dem das Ziel Es wird ein One-Hot-Codierungsvektorschema verwendet. (Interessierte Leser können den Artikel von Vlastimil Martinek lesen)

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 7: Perfektes Zerlegungsdiagramm der Panda- und Katzenverlustberechnung (Bildquelle: Vlastimil Martinek)

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 8: Verlustwert Abbildung 9 : Perfekte Zerlegung des Verlustwerts Abbildung 2 (Bildquelle: Vlastimil Martinek) Abbildung 9: Über Wahrscheinlichkeit und Verlust Visuelle Darstellung von (Bildnachweis: Vlastimil Martinek)

Wie wäre es mit binärer Kreuzentropie? Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 10: Darstellung der Klassifizierungs-Kreuzentropieformel (Bildquelle: Vlastimil Martinek)

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

In unserem Projekt haben wir uns für die binäre Klassifizierung entschieden – binäres Kreuzentropieschema, das heißt, das Ziel ist 0 oder 1 Kreuzentropieschema. Wenn wir die Ziele in Hot-Codierungsvektoren von [0,1] bzw. [1,0] umwandeln und vorhersagen, können wir zur Berechnung die Kreuzentropieformel verwenden.

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von NetzhautbildernAbbildung 11: Darstellung der Formel zur Berechnung der binären Kreuzentropie (Bildquelle: Vlastimil Martinek)

Verwendung eines asymmetrischen Verlustalgorithmus zur Verarbeitung unausgeglichener Daten

In einer typischen Multi-Label-Modellumgebung wird die Datenmerkmale einer Menge können eine unverhältnismäßige Anzahl positiver und negativer Bezeichnungen aufweisen. An diesem Punkt hat die Tendenz des Datensatzes, negative Labels zu bevorzugen, einen dominanten Einfluss auf den Optimierungsprozess und führt letztendlich zu einer Unterbetonung des Gradienten positiver Labels, wodurch die Genauigkeit der Vorhersageergebnisse verringert wird.

Das ist genau die Situation, in der sich der Datensatz befindet, den ich derzeit auswähle. Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Der von BenBaruch et al. entwickelte asymmetrische Verlustalgorithmus (siehe Abbildung 12) wird in diesem Projekt verwendet. Dies ist eine Methode zur Lösung der Klassifizierung mit mehreren Etiketten, aber die Kategorien weisen auch schwerwiegende unausgeglichene Verteilungssituationen auf.

Die Methode, die ich mir ausgedacht habe, besteht darin, das Gewicht des negativen Etikettenteils durch asymmetrische Änderung der positiven und negativen Komponenten der Kreuzentropie zu reduzieren und schließlich das Gewicht des positiven Etikettenteils hervorzuheben, das schwieriger zu verarbeiten ist .

Abbildung 12: Asymmetrischer Multi-Label-Klassifizierungsalgorithmus (2020, Autor: Ben-Baruch et al.)

Die zu testende Architektur

Zusammenfassend lässt sich sagen, dass dieses Projekt die im gezeigte verwendet Abbildung Architektur:

Deep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern

Abbildung 13 (Bildquelle: Sixu)

Die in der obigen Architektur verwendeten Schlüsselalgorithmen umfassen hauptsächlich:

  • DenseNet-121
  • # 🎜🎜#
  • InceptionV3
  • #
  • VGG16
  • # 🎜🎜 #
  • Darüber hinaus werden die oben genannten algorithmischen Inhalte auf jeden Fall aktualisiert, nachdem ich das Capstone-Projekt dieses Artikels abgeschlossen habe! Interessierte Leser bleiben bitte dran!
  • Übersetzer-Einführung

Zhu Xianzhong, 51CTO-Community-Redakteur, 51CTO-Expertenblogger, Dozent, Computerlehrer an einer Universität in Weifang, Veteran in der Freiberufliche Programmierbranche Ein Stück.

Originaltitel:

Deep Ensemble Learning für Retinal Bildklassifizierung (CNN), Autor: Cathy Kam

Das obige ist der detaillierte Inhalt vonDeep-Ensemble-Learning-Algorithmus zur Klassifizierung von Netzhautbildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen