Informatik
Refine
Document Type
- Bachelor Thesis (26) (remove)
Has Fulltext
- yes (26)
Is part of the Bibliography
- no (26) (remove)
Keywords
- Applikation (2)
- Maschinelles Lernen (2)
- Neuronales Netz (2)
- 3D-Ultraschall (1)
- Algorithmus (1)
- Alzheimer (1)
- Analyse , Datenqualität , Krebsregister (1)
- Android (1)
- Antragsportal (1)
- Applikation , Atemfrequenz , Signalverarbeitung , Python (1)
Institute
- Informatik (26)
Die heutige Software-Entwicklung ist davon geprägt, dass Anwendungen immer komplexer
und aufwändiger werden. Gleichzeitig steigen die Erwartungen der Kunden an
die Qualität der Software.
Für die Software-Entwickler ist die Telemetrie zu einem unverzichtbaren Werkzeug
geworden. Sie ist ein wesentlicher Baustein, um die Beobachbarkeit (Observability)
von Applikationen zu erhöhen und somit die Grundlage für eine bessere Qualität in
der Software Entwicklung. Hierbei ist zu analysieren, welche Bedeutung die Telemetrie
für den gesamten Software Development Life Cyle hat.
Der aktuelle Stand der Software-Telemetrie wird am Beispiel des Projektes OpenTelemetry
dargelegt.
OpenTelemetry hat sich zum Ziel gesetzt, die universelle Plattform für den Austausch
von Telemetriedaten zu werden.
Die Ergebnisse des Projektes OpenTelemetry werden analysiert und bewertet.
Auf dem Markt der Android Applikationen gibt es ein breites Spektrum an
Lernanwendungen. Allerdings exisitiert ein Mangel an gut strukturierten
inhaltlichen Zusammenfassungen der schulischen Themen, gerade im
Fach Mathematik.
Mein Ziel der Bachelorarbeit ist, eine Education App zu entwickeln, diese
im realen Betrieb zu testen und somit einen Lösungsansatz für den
Mangel an solchen Apps zu erhalten. Ich werde am Beispiel der 8. Klasse
Realschule im Fach Mathematik eine thematische Zusammenfassung
erzeugen und als App umsetzen. Mathematische Grundlage hierfür bildet
das Schulbuch Schnittpunkt 8 des Klettverlages (Differenzierende
Ausgabe, 2015).
Bugfixing und Evaluierung verläuft Hand in Hand, um am Ende des
Entwicklungsprozesses eine voll funktionsfähige, getestete App zu
bekommen.
Mit Hilfe eines Fragebogens wird dabei direkt auf die Zielgruppe
eingegangen.
Die App wird im Anschluss des Entwicklungsprozesses nach dem Open-
Closed Prinzip fungieren. Ist also für Erweiterungen offen. Diese Funktion
erreiche ich durch genau definierte Schnittstellen. Es wird möglich sein,
neue Klassen ebenso wie Schularten hinzuzufügen. Als
Entwicklungsumgebung dient mir IntelliJ, als Testgerät ein Samsung
Smartphone.
Die App wird den Namen MaTHive Spectre tragen, um direkt auf das
Potential aufmerksam zu machen und einen einprägsamen Namen zu
erhalten.
In this bachelor thesis, different models for predicting the influenza virus are
examined in more detail.
The focus is on epidemiological compartmental models, as well as on different
Machine Learning approaches.
In particular, the basics chapter presents the SIR model and its various extensions.
Furthermore, Deep Learning and Social Network approaches are
investigated and the applied methods of a selected article are analysed in more
detail.
The practical part of this work consists in the implementation of a Multiple
Linear Regression model and an Artificial Neural Network. For the development
of both models the programming language Python was chosen using the
Deep Learning Framework Keras.
Tests were performed with real data from the Réseau Sentinelles, a French
organisation for monitoring national health.
The results of the tests show that the Neural Network is able to make better
predictions than the Multiple Linear Regression model.
The discussion shows ideas for improving influenza prediction including the
establishment of a worldwide collaboration between the surveillance centres as
well as the consolidation of historical data with real-time social media data.
Therefore, this work consists of a state-of-the art of models regarding the
spread of influenza virus, the development and comparison of several models
programmed in Python, evaluated on real data.
Alzheimer’s Disease affects millions of people worldwide, but till today, the gold standard
for definitive diagnosis of this disease is a biopsy. Nevertheless, with the progress
of the disease, a volume loss in the Hippocampus can be observed. Therefore, good
segmentation methods are crucial to facilitate quantification of this loss.
The focus of this work is on the development of a Machine Learning algorithm, more
precisely a Generative Adversarial Network, for the automated segmentation of the
human Hippocampus and its substructures in Magnetic Resonance Images. In particular,
the task is to determine if the integration of a pre-trained network that generates
segmentations into a Generative Adversarial Network scheme can improve generated
segmentations. In this context, a segmentation network in form of a U-net corresponds
to the generator. The discriminator is developed separately and merged in a second
step with the generator for combined training.
With a literature review regarding the automated segmentation of the Hippocampus,
current methods in this field and their medical and technological basics were identified.
The datasets were preprocessed to make them suitable for the use in a neural
network. In the training process, the generator was trained first until convergence.
Then, the Generative Adversarial Network including the pre-trained generator was
trained. The outcomes were evaluated via cross-validation in two different datasets
(Kulaga-Yoskovitz and Winterburn). The Generative Adversarial Network scheme
was tested regarding different architectural and training aspects, including the usage
of skip-connections and a combined loss function.
The best results were achieved in the Kulaga-Yoskovitz dataset with a Dice coefficient
of 90.84 % after the combined training of generator and discriminator with a joined
loss function. This improves the current state of the art method in the same task and
dataset with a Dice index of 88.79 % by Romero [Rom17]. Except of two cases in the
Winterburn dataset, the proposed combined method could always improve the Dice
results after the training of only the generator, even though only by a small amount.
Aufgrund der unterschiedlichen Wiederbelebungsabläufe zwischen Erwachsenen
und Kindern, müssen bei der Reanimation eines Kindes andere Behandlungsmaßnahmen
durchgeführt werden. So müssen z.B. Medikamente anders dosiert werden.
Hinzu kommt, dass eine Reanimation an einem Kind nur selten durchgeführt wird.
Dadurch sind Mediziner mit einer Wiederbelebungsmaßnahmen an Kindern aufgrund
mangelnden Routine unsicher bzw. führen falsche Behandlungsmaßnahmen
durch. Zwar sind bereits Leitlinien in digitaler Ausführung vorhanden, jedoch
werden diese in einer für eine Reanimation ungeeigneten Form ausgegeben und
können so nur schlecht in einer Wiederbelebungsmaßnahme genutzt werden. Um
Behandlungsfehler zu minimieren wird in dieser Arbeit untersucht, ob eine Datenbrille
zur Darstellung der Leitlinien verwendet werden und der Mediziner diese
mittels Sprachkommandos steuern kann. Um die Qualität der Sprachsteuerung im
Umgang mit den Leitlinien festzustellen, wurde eine Evaluation dieser durchgeführt.
Dafür wurden die Anwendung mit zehn Personen getestet. Diese ergab, dass
die Nutzung der Sprachsteuerung durch Auswahl geeigneter Sprachkommandos
sowohl bei Zimmerlautstärke, als auch bei Straßenlärm möglich war. Somit ist die
Steuerung einer Datenbrille mit Sprachkommandos in einer Reanimation denkbar,
um den Mediziner durch Informationen zu unterstützen .
Gegenstand der hier vorgestellten Arbeit ist ein Konzept zum Lehren von Ontologie in der Informatik, des Ontologiemanagementsystems Protégé und des Wissensverwal-tungssytems ProKEt. Dies geschieht in Form von Präsentationen, welche mit Hilfe von PowerPoint erstellt wurden. Dabei wird auf die Installation, die Basics, Kernkonzepte und die Teilwissensbasen im Detail eingegangen. Diese Präsentationen sollen ein alter-natives Konzept für den Unterricht darstellen, um die Lernenden aktiv zu beteiligen, und stellen ein Angebot zum Lehren der entsprechenden Thematiken dar. Zur Überprüfung der Effizienz wird eine Evaluation durchgeführt.
Die Online-Enzyklopädie Wikipedia kann für die Analyse der Beziehungen zwischen
Konzepten als wertvolle Datenquelle dienen. Aus ihren klar deffinierten Strukturen,
wie z.B. der baumartigen Kategorisierung, Weiterleitungen, Infoboxen und Links zwischen
Artikeln ergibt sich die Möglichkeit, ausgehend von einem bestimmten Konzept
eine Fülle enzyklopädischen Wissens zu extrahieren, das für viele Anwendungszwecke
in der medizinischen Informatik genutzt werden kann. Trotz der einfachen Verfügbarkeit
von Wikipedia-MySQL-Backups ist es weder besonders intuitiv noch effizient,
diese Beziehungen direkt aus diesen relationalen Datenbanken abzuleiten. Stattdessen
wäre ein weitaus intuitiverer Ansatz für die Datenanalyse, die genannten Strukturen
und ihre Beziehungen zueinander als Knoten und Kanten in einem Graphen abzubilden.
Ausgehend von einem bestehenden Wikipedia-Graph-API zielte diese Arbeit
darauf ab, ein effizientes System zu entwickeln, das Wikipediastrukturen aus einem
MySQL-Backup extrahiert, diese verarbeitet und in eine Graphdatenbank speichert.
Eine Analyse von Graphdatenbank-Managementsystemen im Rahmen dieser Arbeit
ergab, dass Neo4j für diesen Anwendungszweck optimal geeignet ist, da seine Anfragesprache
Cypher eine intuitive Möglichkeit darstellt, Graphdaten zu analysieren. Das
Ergebnis dieser Arbeit ist NeoWiki, ein System, das sowohl eine Möglichkeit zur Generierung
von strukturellen Wikipedia-Graphen bietet als auch als Java Library die
Arbeit mit den erstellten Graph-Entitäten als Java-Objekten unterstützt. Obgleich
derzeit noch Raum für Verbesserungen hinsichtlich der Performance bei der Graphgenerierung
besteht, stellt NeoWiki doch bereits jetzt ein Tool zur intuitiven Analyse
von Wikipedia-Daten dar.
Das Ziel dieser Bachelorarbeit war es, ein Programm zu entwickeln, welches die doppelte
Lichtbrechung und die Reflexion eines Laserstrahls berechnen kann. Hierbei wird zuerst auf
die physikalischen Grundlagen eingegangen. Anschließend wird das dazu verwendete Programm
mit dem Algorithmus inklusive den Berechnungen vorgestellt. Das Programm kann
die doppelte Lichtbrechung und auch die Reflexion eines Laserstrahls berechnen und zusätzlich
bestimmen, ob der Laserstrahl gebrochen oder total reflektiert wird. Die Prüfung dafür,
erfolgt über den Größenvergleich zwischen dem Einfallswinkel und dem kritischen Winkel.
Der Algorithmus ist für beliebige Laserstrahlen unter Berücksichtigung der Brechungsindexe
geeignet.
Gammastrahlung ist hochenergetische elektromagnetische Strahlung, die zum Beispiel
beim Zerfall radioaktiver Stoffe auftritt und besteht aus ungeladenen Photonen. Jeder
dieser Gammastrahler strahlt Photonen mit einer für ihn spezifischen Energie aus, woran
man ihn auch erkennen kann. So hat jeder Gammastrahler sozusagen seinen eigenen
Fingerabdruck.
Wenn man wissen will, welche Gammastrahler in einer Probe vorhanden sind, kann auf
die Gammaspektroskopie zurückgegriffen werden. Diese misst, wie der Name schon sagt,
das Spektrum, also die Energie und die Intensität, der Gammastrahlen. Aus dem daraus
entstehenden Graphen kann dann anhand der Ausschläge abgelesen werden, welche
Gammastrahler in der Probe enthalten sind, da sich diese über ihr Energiemaß bestimmen
lassen.
Die beiden grundsätzlichen Bestandteile eines solchen Gammastrahlenspektrometers sind
ein Detektor und eine Strahlungsquelle, meist eine radioaktive Probe. Die Probe wird so
angebracht, dass sie auf den Detektor strahlt. Dieser registriert dann die Impulse, die
durch Wechselwirkung zwischen den Gammastrahlen und den Elektronen des Detektors
entstehen.
Es gibt zwei hauptsächlich auftretende Effekte. Der Wichtigste ist wohl der Photoeffekt.
Hierbei trifft ein Photon auf ein Elektron und das Photon wird vollständig vom Elektron
absorbiert, wodurch das Elektron aus seiner aktuellen Bindung, innerhalb des Atoms,
gelöst wird. Dies ist der wichtigste Effekt, weil er genau die Information liefert, die gesucht
wird. Das ist die exakte Energie, mit der ein radioaktives Nuklid abstrahlt. Den durch
gehäuftes Vorkommen dieses Effektes auftretenden Ausschlag nennt man Photopeak. Er
stellt die spezifische Energie von einem der, in der Probe vorhandenen, Gammastrahlern
dar. Anhand dieses Peaks ist es letztendlich möglich die enthaltenen Gammastrahler zu
identifizieren.
Der zweite Effekt nennt sich Compton-Effekt. Hierbei trifft ebenfalls ein Photon auf ein
Elektron. Dieses Mal wird das Photon aber nicht absorbiert, sondern gibt lediglich einen
Teil seiner Energie an das Elektron ab und wird dann in einem Winkel von 0° bis 180°
gestreut. Es setzt seinen Weg also mit geringerer Energie und damit größerer Wellenlänge
fort.
Leider ist das obige Spektrum im jetzigen Zustand noch lange nicht perfekt. Noch sind zu
viele Störungen und Fehlinformationen enthalten. Zwar könnte damit gearbeitet werden,
jedoch mit dem Risiko, dass eventuell Informationen verfälscht, oder sogar gar nicht
ausgelesen werden. Perfekt wäre es, wenn das Spektrum komplett der x-Achse anliegen
würde, vollkommen glatt, ohne Rauschen und nur die Photopeaks zu sehen wären.
Ein kleiner Teil der Störungen, die das Signal beeinflussen, kann schon im obigen Teil
erkannt werden. Es spielen nämlich viel mehr Effekte eine Rolle, als es im besten Fall sein
sollten.
Einer der Störeffekte zum Beispiel, ist der bereits oben erwähnte Compton-Effekt. Dieser
trägt nichts zum Photopeak bei, sondern liefert einen Impuls, dessen Energie bis zu einem
gewissen Punkt, dieser „Punkt“ wird auch Compton-Kante genannt, unterhalb der
spezifischen Energie des Photons liegt. Wenn die spezifische Energie eines Photons zum
Beispiel 600keV betragen würde, dann könnte durch den Compton-Effekt eine Energie
von 400keV geliefert werden. Es ist also möglich, dass angenommen wird es seien zwei
unterschiedliche Gammastrahler in der Probe vorhanden. Glücklicherweise sind die
Impulse, die durch den Compton-Effekt entstehen relativ gleich verteilt und erreichen
kaum die Intensität eines Photopeaks. Dennoch zieht jeder Photopeak einen solchen
Rattenschwanz aus schwächeren Impulsen, welche von 0keV bis zur Energie der
Compton-Kante reichen, hinter sich her. Dies wird auch Compton-Kontinuum genannt. Da
im niedrigeren Bereich des Energiespektrums immer mehr Compton-Kontinuen
aufeinandertreffen, je nachdem wie viele Photopeaks, also unterschiedliche
Gammastrahler, in der Probe vorhanden sind, bildet sich dort oft ein sichtbarer Hügel, oder
eine Steigung. Umgekehrt flacht das Spektrum im höheren Bereich immer weiter ab, da
4
Abbildung 1: Beispielspektrum
weniger Compton-Kontinuen vorhanden sind.
Das Compton-Kontinuum trägt einen Großteil zum Untergrund bei. Der Untergrund füllt
fast den kompletten Bereich zwischen Gammaspektrum und x-Achse aus. Ebenso spielt
hier auch die Umgebungsstrahlung eine Rolle, welche eigentlich immer vorhanden ist und
die man nur schwer ausschließen kann.
Ein weiterer Störfaktor ist das in der Elektrotechnik bekannte Rauschen, welches auch im
obigen Spektrum sehr gut erkannt werden kann.
Dies sind nur einige Störungen, die eine Rolle spielen.
Es werden somit sehr viele Störgrößen ungewollt mit betrachtet und diese Störgrößen
müssen durch Werkzeuge, wie zum Beispiel Algorithmen, entfernt werden. Da ich mich in
dieser Bachelorarbeit auf die Untersuchung von Algorithmen zur Bestimmung des
Untergrundes beziehe, werde ich mich im Weiteren auf diese beschränken und die
anderen Probleme größtenteils außer Acht lassen.
Nun gibt es natürlich bereits Algorithmen, mit denen sich der Untergrund von Gammaspektren
bestimmen lässt. Das Problem hierbei ist, dass diese meist nur bei bekannten
Spektren funktionieren, auf die sie, mehr oder weniger, speziell zugeschnitten sind. Wenn
diese Algorithmen eins zu eins auf ein unbekanntes Spektrum angewandt würden, kann es
schnell vorkommen, dass die Untergrundbestimmung misslingt und weit vom angestrebten
Ergebnis entfernt ist.
Einen einzelnen Algorithmus zu entwickeln, der für alle Spektren einsetzbar wäre, ist aber
auch keine Möglichkeit. Der Aufwand und die Kosten wären noch viel zu hoch. Außerdem
würde sich keine Firma finden,welche sich an solch ein Projekt wagen würde, da auch viel
zu wenige Abnehmer dafür vorhanden sind.
Darum werde ich in dieser Arbeit kleinere, einfachere Algorithmen genauer untersuchen,
um zu verstehen, wie sich diese auf unterschiedliche Spektren anwenden lassen. Das
damit entstehende Ergebnis ist wahrscheinlich nicht perfekt, aber gut genug, um damit
arbeiten zu können.
Ziel dieser Arbeit ist es, zwei Algorithmen zur Untergrundbestimmung zu evaluieren und
einen Überblick über folgende Themen zu geben:
– Einen Ausblick über die Auswirkungen der einzelnen Parameter der Algorithmen zu
geben, um zum Beispiel schnell abschätzen zu können, welcher Parameter in
einem konkreten Fall verändert werden muss.
– Einen groben Rahmen festzulegen, in dem die einzelnen Parameter gewählt
werden können, sodass mit hoher Wahrscheinlichkeit ein gutes Ergebnis erreicht
wird.
– Stärken und Schwächen der Algorithmen herausarbeiten, um zum Beispiel die
Verwendung eines Algorithmus auszuschließen, der sich für den beabsichtigten
Zweck nur schwer oder gar nicht einsetzen ließe.
5
– Einen schnellen Überblick über die Möglichkeiten geben, um mit den Algorithmen
ohne großes Vorwissen zu arbeiten.
In dieser Arbeit wird eine Software entwickelt, um das Koppeln des Thalmic MYOArmbands
mit dem Stimulator MotionStim8 zu vereinfachen. In einer vorherigen Arbeit
[15] wurden für die Kopplung MATLAB Skripte benutzt. Diese sollen durch die
Software vollständig ersetzt werden. Auÿerdem soll der Stimulator eine drahtlose Anbindung
über zwei British Broadcasting Corporation (BBC) micro:bit Systeme erhalten.
Dazu wird zuerst eine Anforderungsanalyse durchgeführt, woraus konkrete UseCases der
Software formuliert werden konnten. Hierzu werden aus der Problemstellung und den
daraus resultierenden Zielen dieser Arbeit Funktionale und nicht-Funktionale Anforderungen
extrahiert. Es müssen Gesten, sowie deren Myo- und Stimulations-Daten verwaltet
werden können. Auch müssen sowohl Myo-Armband als auch MotionStim8 drahtlos
angebunden, sowie gekoppelt werden.
Nachdem die Anforderungen feststehen, wird ein Konzept zur Umsetzung entwickelt.
Dazu wird eine Entwicklungsumgebung gewählt und eine Softwarearchitektur ausgearbeitet.
Es wird ein Model-View-Controller (MVC)-Modell angestrebt. Für die Entwicklungsumgebung
der Steuersoftware wird VisualStudio, bzw. C#, und für die drahtlos
Anbindung Mu, bzw. MicroPython, verwendet. Auch wird eine Übersicht über die Komponenten
angefertigt. Daraus sind die Hardware-Schnittstellen, PC zu micro:bit, micro:
bit zu micro:bit, micro:bit zu MotionStim8, sowie Myo-Armband zu PC, ableitbar.
Für das Myo-Armband existieren bereits Software-Bibliotheken, welche eingebunden werden
können und somit das Entwickeln einer eigenen Schnittstelle nicht notwendig machen.
Zum Schluss der Konzeption werden Ideen für eine Benutzeroberäche erarbeitet. Dafür
werden die Nicht-Funktionalen Anforderungen, modularer Aufbau sowie Benutzerfreundlichkeit
und Übersichtlichkeit, aus der Anforderungsanalyse aufgegrien. In dieser Phase
werden bereits erste MockUps erstellt.
Die Implementierung ndet in zwei Schritten statt.
Die Drahtlosfunktion, bzw. der Python-Teil, kann separat entwickelt werden. Dafür werden
die seriellen Schnittstellen, PC zu micro:bit und micro:bit zu MotionStim8, sowie
die Übertragung zwischen den beiden micro:bits implementiert. Auÿerdem werden die
Befehle im micro:bit an die benötigte Command Structure des Stimulators angepasst.
Die Steuersoftware beinhaltet eine Graphical User Interface (GUI) mit modulübergreifenden
Funktionen. Die einzelnen Module, Myo Controller, Stimulation Controller und
Gesture Controller besitzen ihre eigene Oberäche und können in die GUI modular integriert
werden. Die Gesten-, Myo- und Stimulations-Daten können über das jeweilige
Modul verwaltet werden. Über das Beenden der Anwendung hinaus werden alle Daten
in einer Extensible Markup Language (XML)-Datei gespeichert. Die Kopplung des Myo-
Armbands mit dem MotionStim8 ndet über einen Mapper statt, welcher eine Mapping-
Matrix für eine Geste errechnet. Dafür müssen vorab Myo- und Stimulations-Daten für
jede Position dieser Geste gesetzt werden. Die Echtzeitfunktion wird übergeordnet über
die GUI gestartet und berechnet für eingehende Myo-Daten die Pulsweiten für die Stimulation.
Für diese Berechnung wird die Mapping-Matrix benötigt.
Hiernach kann die entwickelte Steuersoftware für die denierten Anforderungen, bzw.
UseCases, verwendet werden.