Bildverarbeitung und Deep Learning (BDL)

Belegbar Nur im Wintersemester
ECTS-Punkte 10 (ca. 300 Stunden)
Fachgebiet Angewandte Informatik

Ziel des Moduls

In einer Vielzahl industrieller Anwendungen, angefangen von der automatisierten Produktion bis hin zur Qualitätssicherung werden optische Kamerasysteme eingesetzt, um effizient und berührungslos Produktionsprozesse zu überwachen oder zu steuern. Auch in den gegenwärtig hoch innovativen Bereichen des autonomen Fahrens, der Robotik oder der Medizintechnik ist der Einsatz spezialisierter Bilderfassungssysteme weit verbreitet. Die Analyse derartiger Bilddaten erfordert den Einsatz leistungsfähiger, computergestützter Verfahren aus dem Bereich der Bildverarbeitung, welche darauf abzielen, eine automatisierte Interpretation der Bildinhalte vorzunehmen.
Ziel des Moduls ist es, grundlegenden Methoden der Bildverarbeitung vorzustellen und deren praktischen Einsatz zu demonstrieren. Hierbei wird auf die gesamte Verarbeitungskette eingegangen, ausgehend von der Bildvorverarbeitung zur Bildverbesserung, über Segmentierungsverfahren bis hin zur Merkmalsextraktion zur Klassifikation von Bildinhalten.
Neben der algorithmisch geprägten, klassischen Bildverarbeitung werden weiterhin die sich gegenwärtig sehr dynamisch entwickelnden Methoden tiefer Neuronaler Netze (Deep Learning) zur Bild- und Szeneninterpretation behandelt. Das Ziel des Moduls liegt dabei sowohl in der Vermittlung der theoretischen Grundlagen als auch in der konkreten Realisierung der behandelten Verfahren.

Inhalt des Moduls

Grundlagen in Python

  • Einführung in Python zur eigenständigen Realisierung von Bildverarbeitungsverfahren

Algorithmische Bildverarbeitung

  • Repräsentation von Bildern, Farbräume
  • Verfahren der Bildvorverarbeitung
  • Filterung im Orts- und Spektralbereich
  • Texturanalyse
  • Segmentierungsverfahren
  • Merkmalsextraktion und Klassifikation

Deep Learning

  • Theoretische Grundlagen Neuronaler Netze
  • Convolutional Neural Networks
  • Bildklassifikation mittels Deep Learning
  • Semantische Segmentierung mittels Deep Learning
Inhalt im Detail

BDL 1:

  • Basis-Datentypen
  • Verzweigungen, Schleifen, Funktionen, Klassen und Module
  • Matrizen und Arrays in NumPy, SciPy
  • Datenvisualisierung mit Matplotlib
  • Jupyter Notebooks

BDL 2:

  • Bildaufnahme, digitale Bilder und Dateiformate
  • Farbbilder und Farbräume
  • Histogramme (1D und Bi-Dimensional)
  • Wahrscheinlichkeiten und Entropie
  • Globale Schwellwertsegmentierung

BDL 3:

  • Punktoperationen, Kontrastverbesserung
  • Lineare Filterung im Ortsbereich
  • Rangordnungsfilter
  • Filterung im Frequenzbereich

BDL 4:

  • Geometrische Transformation
  • Interpolation
  • Template Matching
  • Detektion von Kanten und Konturen
  • Radon- und Hough-Transformation
  • Automatische Schwellwertoperationen

BDL 5:

  • Morphologische Filter
  • Texturanalyse: Statistik 1. und 2. Ordnung
  • Hauptachsentransformation
  • Segmentierungsverfahren

BDL 6:

  • Validierung der Güte von Segmentierungsergebnissen
  • Merkmalsextraktion
  • Clusterverfahren (k-means)
  • Klassifikation

BDL 7:

  • Grundlagen Neuronaler Netze
  • Aufbau und Training von Feed-Forward-Netzen
  • Backpropagation-Verfahren
  • Aktivierungs- und Zielfunktionen
  • Realisierung einfacher Klassifikations- und Regressionsnetze in TensorFlow.

BDL 8:

  • Regularisierung und Overfitting
  • Aufbau und Verwendung von Convolutional Neural Networks (CNN)
  • Tiefe Neuronale Netze zur Bildklassifizierung
  • Implementierung und Training von CNN mittels TensorFlow

BDL 9:

  • Aufbau und Verwendung von CNN zur semantischen Bildsegmentierung
  • Verwendung rekurrenter Faltungsnetze (CLSTM)
  • Implementierung und Training einer Bildsegmentierung mittels TensorFlow
Umfang des Moduls
  • 9 Kurseinheiten
    Für Teile der Kurseinheiten gibt es Jupyter Notebooks.
  • Lehrbuch
  • Übungsaufgaben: Theorie / Python / TensorFlow / Jupyter Notebooks
  • Regelmäßige Webmeetings für fachliche Fragen
  • 1 Präsenztag (Prüfung)
Empfohlene Vorkenntnisse

Elementare Programmierkenntnisse und Grundlagen zur objektorientierten Programmierung werden als bekannt vorausgesetzt. Das Modul setzt jedoch keine vertieften Kenntnisse in Python-Programmierung voraus.

Für das Modul sind grundlegende Mathematikkenntnisse in linearer Algebra und Analysis erforderlich. Die weiteren für das Modul relevanten Mathematikkenntnisse werden innerhalb des Moduls vermittelt (Statistik, komplexe Zahlen, Faltung, Fourier-Transformation, ...).

Kursdauer
1 Semester

Kosten im WS 2020/21
Im Zertifikatsstudium: 730 Euro
Im Masterfernstudium: 830 Euro

Abschluss
Das Modul ist verwendbar für die Abschlüsse:

Leseprobe

Lehrbuch
Digitale Bildverarbeitung
(in den Modulkosten enthalten)

Lehrtext
Grundlagen Neuronaler Netze

back-to-top nach oben