Mit Skin Check ermöglichen wir eine einfache Hautkrebs-Früherkennung auf dem Smartphone

Health
Mit Skin Check entsteht ein automatisiertes Hautkrebs Analysetool für die Hosentasche. Auf dem Smartphone installiert oder im Web-Browser lassen sich mit der App Bilder von Hautstellen abfotografieren. Diese unterliegen anschließend einer Untersuchung durch eine Künstliche Intelligenz. Die KI bewertet das aufgenommene Bild und gibt als Resultat zurück, ob die Abbildung als besorgniserregend einzustufen ist oder nicht. Die Anwendung ermöglicht den Benutzer:innen, unter Einhaltung datenschutzrechtlicher Bestimmungen, eine Hautkrebsvorsorge mittels genauer Analyse von bestimmten Hautstellen. Die Verwaltung von Hautveränderungen ist um automatisierte Erinnerungen zur erneuten Kontrolle ergänzt. So können die Patient:innen eventuellen Bedenken auf eine Hautkrebserkrankung nachgehen. Eine Alternative zum Arzt stellt die Applikation jedoch nicht dar, sondern dient als zusätzliches Werkzeug zur schnellen Aufklärung und weiteren Beobachtung verdächtiger Hautveränderungen!

Die Herausforderung
<br />
<b>Notice</b>:  Undefined index: awards in <b>/home/bitfactory/website/wp-content/themes/bitfactory/template-parts/case-studies-detail/text-splitted.php</b> on line <b>10</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type null in <b>/home/bitfactory/website/wp-content/themes/bitfactory/template-parts/case-studies-detail/text-splitted.php</b> on line <b>10</b><br />

Immer mehr Menschen in Deutschland erkranken und sterben an Hautkrebs. Dennoch bezahlen gesetzliche Krankenkassen ein Hautkrebs-Screening erst ab einem Alter von 35 Jahren. Wir suchen nach einer Lösung, die auch jüngeren Menschen einen kostenfreien und mobilen Indikator für Hautkrebs (malignen Melanom) bietet.

Die Lösung
<br />
<b>Notice</b>:  Undefined index: awards in <b>/home/bitfactory/website/wp-content/themes/bitfactory/template-parts/case-studies-detail/text-splitted.php</b> on line <b>24</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type null in <b>/home/bitfactory/website/wp-content/themes/bitfactory/template-parts/case-studies-detail/text-splitted.php</b> on line <b>24</b><br />

Die entwickelten Web, Android und iOS Apps ermöglichen den Benutzer:innen, ein kostenloses Hautkrebs-Screening auf ihrem Smartphone oder Computer durchzuführen. Eine skalierbare KI im Hintergrund sorgt für die Kategorisierung der aufgenommenen Bilder. Damit schafft sie den Anwendenden Klarheit über Leberflecke, Muttermale und andere Flecken auf ihrer Haut.

Zusätzliche Information

Die App Skin Check entstand als Projekt der Bitfactory, in welchem wir uns mit dem Thema Hautkrebs-Screening auseinandersetzen. Die Applikation erreicht eine Genauigkeit von 75 Prozent in der richtigen Vorhersage von Hautkrebs. Diese verbessert sich mit der Zeit, da die App durch die Verwendung mitlernt. Nicht nur die Themen KI und Hautkrebs spielen hierbei eine Rolle, sondern auch die Skalierbarkeit. Diese erreichten wir mit Hilfe von Microservice-Architekturen.

Herangehensweise: Schlank und effektiv

Für die Entwicklung dieser Applikation waren mehrere Bereiche notwendig. Das erste Ziel war die Erstellung eines intuitiven Frontends. Dieses steht zum einen als Web-Applikation zur Verfügung sowie als Android und iOS-App. Dadurch besteht keine Notwendigkeit für die Benutzer:innen eine App zu installieren. Für das bessere Nutzungserlebnis steht ihnen die Möglichkeit aber offen.

 

In der Hautkrebs-Früherkennungs-Applikation ist das Aufnehmen sowie Hinzufügen neuer Bilder möglich, sodass eine Analyse über unsere Künstliche Intelligenz stattfinden kann. Neben dem Bild ist es auch wichtig, die jeweilige betroffene Körperstelle sowie die Größe des Flecks anzugeben. Die Bewertung des Bildes unterliegt der ABCDE-Regel, welche folgende Parameter abdeckt:

  1. Asymmetrie: Ein Hinweis auf Hautkrebs kann sein, wenn der Hautfleck keine gleichmäßige runde Form hat.
  2. Begrenzung: Die Unregelmäßigkeit des Randes ist ebenfalls ein wichtiges Kriterium. Ist keine klare Abgrenzung gegeben, erhöht sich das Risiko.
  3. Colour: Eine weitere Eigenschaft liegt in der Unregelmäßigkeit der Farbe, wie Schwankungen in der Farbintensität oder schwarzen Punkten.
  4. Durchmesser: Der Durchmesser sollte zwischen zwei bis sechs Millimeter betragen. Hierfür ist die Größe des Flecks anzugeben.
  5. Erhabenheit: Umso erhabener ein Muttermal ist, desto höher das Risiko.

Aus den Kriterien wird eine Prognose erstellt. Diese gibt die Wahrscheinlichkeit an, dass es sich bei dem untersuchten Fleck um Hautkrebs handelt. Dies schafft den Benutzer:innen eine direkte Einsicht in das Risiko.

Anwendung der Skin Check Web App

Des Weiteren steht eine automatische Erinnerungsfunktion zur Verfügung, umgesetzt durch Push-Nachrichten. Diese erinnert nach einem gewissen Zeitabstand die User:innen, sich einer erneuten Analyse des Pigments zu unterziehen. Das soll einer unerkannten, bösartigen Entwicklung des Fleckes vorbeugen. In einer Übersicht stehen den Nutzenden der gesamte Verlauf eines Hautpigments sowie alle Screening Ergebnisse zur Ansicht bereit.

Skin Check Web App Screening Ergebnisse

Für die individuelle Speicherung der Ergebnisse ist ein Account notwendig. In diesem ist das Hinterlegen weiterer Faktoren wie das Alter möglich. Dieses kann ebenfalls in die Analyse miteinfließen. Die Applikation sowie ihre Inhalte unterliegen den datenschutzrechtlichen Bestimmungen.

 

Die Generierung des Web-Frontends und Backends ist mit jHipster, einem Frontend und Backend Generierungstool, entstanden. Hierbei kommt für das Frontend Angular zum Einsatz, ein Framework für Web-Anwendungen. Die Android App entwickelten wir dagegen nativ mit Kotlin und die iOS App mit Swift.

Mit Hilfe von Microservices schaffen wir eine skalierbare Backend Lösung. Zum Erfolg von Skin Check führt die Anwendung von Neuronalen Netzen.

Das generierte Backend besteht aus mehreren Microservices. Dabei handelt es sich um kleine Services, die jeweils nur einen minimalen Funktionsumfang beinhalten und mit anderen Services kommunizieren. Damit das Backend optimal auf sich ändernde Bedingungen anpassbar ist, sind einzelne Services skalierbar. Beispielsweise besteht jeweils ein einzelner Service für die vier oben genannten Bewertungskriterien.
Jeder Microservice stellt eine einzelne Spring Boot Applikation dar, die wir mit Hilfe von Java entwickelten. Die Daten wie der Account und die Ergebnisse der Analyse sind in einer SQL-Datenbank mit dem Namen MariaDB gespeichert.

 

Präzise Vorhersagen über die aufgenommenen Bilder sind essenziell. Hierfür implementierten wir als KI ein Neuronales Netz, genauer ein Convolutional Neural Network (CNN). Diese sind für die Bildverarbeitung optimiert und erlernen gezielt, Merkmale aus den Bildern zu extrahieren. Wir trainierten mittels Deep-Learning für jede der vier Vorhersagen ein eigenes Neuronales Netz. Die beigebrachten Eigenschaften ermöglichen eine gezielte Kategorisierung von neuen Bildern und somit eine Einschätzung des Risikos.
Für die Erstellung und das Training des CNN verwendeten wir die Deep-Learning-Bibliotheken Keras und TensorFlow. Die Modelle trainierten wir in der Programmiersprache Python mit Hilfe der zwei genannten Bibliotheken. Anschließend importierten wir die Modelle in Java. So konnten wir direkt in der Spring Boot Applikation neue Vorhersagen treffen.