Sprachen

Cool-IP - SS 2010, WS 2010/2011

Thema: 
Cool-IP - Configurable Toolchain for Embedded Image Processing
Zeitraum: 
SS 2010, WS 2010/2011
Umfang: 
8 SWS pro Semester
Veranstalter: 

Frank Weichert, Informatik VII (Graphische Systeme),
OH16, R.121, Tel.: 6122, E-Mail: frank.weichert@cs.uni-dortmund.de

Constantin Timm, Informatik XII (Entwurfsautomatisierung Eingebetteter Systeme),
OH16, R.105, Tel.: 6144, E-Mail: constantin.timm@cs.uni-dortmund.de

Einzelpräsentation: 
Dienstag, den 17.11. um 14.00 Uhr in der OH14, Raum E04
Thematik: 

a) Motivation: Der Lehrstuhl VII und der Lehrstuhl XII arbeiten gemeinsam an einem Projekt zur Nutzung von intelligenten Kameras mit eingebauten FPGAs und weiteren Verarbeitungseinheiten (s. Abbildung 1) in der Medizinischen Informatik und insbesondere in der Biosensortechnik. Intelligente Kameras haben bereits eine hohe Durchdringung in der Fahrzeugtechnik für Fahrerassistenzsysteme oder in der Kameraüberwachung des öffentlichen Raums. Da derartige Anwendungen erfolgreich gezeigt haben, dass eingebettete Bildverarbeitungssysteme energieeffizient und mit harten Echtzeitschranken eingesetzt werden können, liegt eine Anwendung entsprechender Systeme in der hoch relevanten Domäne der Biosensortechnik nahe. Insbesondere das zunehmende Auftreten viraler Infektionen verlangt eine schnelle und effiziente Erkennung entsprechender Erreger auch außerhalb von speziellen Laboren — im Hinblick auf diese Anforderungen an Biosensoren kann sich speziell die Kombination von bildbasierter Mustererkennung [5] und portablen Eingebetteten Systemen [8] als erfolgversprechender Weg erweisen.

Die in dieser Projektgruppe verwendete Biosensortechnik heißt Oberflächen-Plasmonen-Resonanz (surface plasmon resonance, SPR) [7] und hat zur Zielsetzung den Nachweis von Viren in Flüssigkeiten, wie z.B. Blut. Die Funktionsweise des Sensors wird aus Abbildung 2 deutlich. Vereinfacht dargestellt wird eine Flüssigkeit mit Viren durch eine Flusszelle geleitet, wobei es zu einer Bindung der Viren an die Sensoroberfläche kommt. Während der Durchleitung wird mit einer CCD-Kamera die Oberfläche des Sensors - diese reflektiert das Licht eines Lasers - beobachtet und Folgen von Bildern aufgenommen. Ein Virus hebt sich dabei mit einer prägnanten Intensität vom Hintergrund ab. Da die Auswertung bisher manuell und damit sehr zeitaufwändig erfolgt, besteht die Anforderung, eine automatisierte und schnelle Erkennung der Viren und dessen örtliche Verteilung auf dem Sensorsystem zu entwickeln.

Abbildung 1: Aufbau des FPGA/Prozessor-Boards einer Elphel-KameraAbbildung 1: Aufbau des FPGA/Prozessor-Boards einer Elphel-Kamera

Abbildung 2: Schematische Darstellung des Biosensors und der resultierenden Bildfolge mit sich ausprägenden Strukturen der VirenAbbildung 2: Schematische Darstellung des Biosensors und der resultierenden Bildfolge mit sich ausprägenden Strukturen der Viren

Hier setzt die Aufgabe der Projektgruppe an. Innerhalb dieser soll die manuelle Analyse der Bilddaten durch eine automatisierte Lösung, die eine bildbasierte Mustererkennung [10] einsetzt und durch ein Eingebettetes System zu implementieren ist, abgelöst werden (s. Abbildung 3). Aufgrund der Spezialhardware und der Forderung möglichst energieeffizient zu arbeiten, stellt sich neben der digitalen Bildverarbeitung [10] insbesondere die Frage eines effizienten Entwurfs von Eingebetteten Systemen [8].

 

b) Aufgabenbeschreibung: Die Zielsetzung dieser Projektgruppe ist die Konzeptionierung und Implementierung einer Toolchain von Bildverarbeitungsalgorithmen und Verfahren zur bildbasierten Mustererkennung für den einleitend beschriebenen SPR-basierten Biosensor und darüber hinaus, sollen die implementierten Algorithmen als Grundkomponenten für eine Konfigurationsumgebung auf einem Eingebetteten bildbasierten Biosensor dienen (s. Abbildung 3). Hierzu sollen zunächst etablierte Bildverarbeitungmethoden auf ihre Eignung hin untersucht, geeignete ausgewählt und eventuell auf die spezielle Problemstellung hin angepasst werden. Im Anschluss an diese Entwurfs- und Realisierungsphase, die zuerst auf PCs erfolgt, sollen die Algorithmen auf eine Spezialhardware überführt werden - CCD-Kamera inklusive FPGA und optionalen weiteren Verarbeitungseinheiten.
Aus Sicht der Informatik umfasst die Projektgruppe zwei Aufgabengebiete, die in einem Optimierungszyklus zur Adaptierung der Algorithmen eingebunden sind (s. Abbildung 3). Ein Teilgebiet fokussiert sich dabei auf die digitale Bildverarbeitung und bildbasierte Mustererkennung, das zweite beinhaltet den Entwurf und die Implementierung eines Eingebetteten Systems. Dabei werden die verschiedenen Aufgabengebiete während der gesamten Projektgruppe parallelbearbeitet. Für die digitale Bildverarbeitung sind folgende Verarbeitungsschritte angedacht:

  • Datenaufbereitung: Bedingt durch das Prinzip des Biosensors sind die Bilder stark verrauscht, d.h. sie müssen mit sogenannten „Denoising“-Verfahren verbessert werden. Hierfür bieten sich beispielsweise mehrskalige Filter unter Verwendung von Wavelets an [2]. Alternativ können auch modellbasierte Filter, die basierend auf einer Unabhängigkeitsanalyse und einer dadurch möglichen Trennung von Nutz- und Störsignal, die Bilder verbessern [6], genutzt werden.
  • Mustererkennung: Ausgehend von den vorarbeiteten Bildern ist es die Intention der Mustererkennung, die Viren auf den Bilddaten zu lokalisieren. Dazu können verschiedene Verfahren, wie z.B. „Pattern-Matching“ [12] oder Zeitreihenanalyseverfahren [4] eingesetzt werden.
  • Klassifikation: Die verschiedenen Viren sollen automatisch unterschieden werden. Daher ist auf Basis der im vorhergehenden Schritt extrahierten Merkmalen eine Klassifikation durchzuführen – dieses könnte durch unüberwachte als auch überwachte Klassifikationsverfahren geschehen [9].

Das zweite Teilgebiet der Projektgruppe geht von den o.g. Bildverbeitungsalgorithmen aus und

Abbildung 3: Konzept der konfigurierbaren Bildverarbeitungspipeline im Rahmen der PGAbbildung 3: Konzept der konfigurierbaren Bildverarbeitungspipeline im Rahmen der PG

zielt auf eine Implementierung eines Eingebetteten Systems auf einer Intelligenten Kamera ab, welche diese Algorithmen beinhaltet. Hierzu sind folgende Arbeitspunkte umzusetzen:

  • Entwurf von Verarbeitungseinheiten: Dieser Teilschritt soll unter Verwendung der Systementwicklungsumgebung Xilinx [11] erfolgen. Innerhalb dieser fungiert die ISE-Komponente für das Hardwaredesign und das EDK für das Systemdesign. Darüber hinaus wird für die Abbildung auf die CPUs ein Standardcompiler benutzt. Eine vorgeschaltete Hardware-/Software-Partitionierung soll sicherstellen, dass nur rechenintensive und echtzeitkritische (Teile der) Algorithmen auf dem FPGA selbst laufen. Alles andere kann auf den CPUs berechnet werden.
  • Erstellung von Energie- und Performanzmessungen: Für die verschiedenen Verarbeitungseinheiten sollen Ressourcenmessungen durchgeführt werden, die später zur Evaluierung der Implementierungen dienen.
  • Erstellung einer Konfigurationsumgebung: Die Konfigurationsumgebung soll so aufgebaut werden, dass für verschiedene Biosensoren, die jeweils eine Bildverarbeitung benötigen, eine entsprechende Bildverarbeitungspipeline konfiguriert werden kann, welche die Aufgabe des Biosensors löst. Die Bildverarbeitungspipeline wird nach einem manuellen Auswahlprozess automatisch auf ein FPGA abgebildet.

Neben den spezifischen Aufgaben werden themenübergreifende Aspekte bearbeitet:

  • Optimierungszyklus: Die integrierte Betrachtung der beiden Teilgebiete soll zur globalen Optimierung der realisierten Algorithmen genutzt werden (s. Abbildung 3). Dieses beinhaltet eine enge Verzahnung von Aspekten der Bildverarbeitung und der eingebetteten Umsetzung, welches durch gegenseitig implizierte Anpassungs- und Optimierungsphasen innerhalb der Projektgruppe gekennzeichnet ist.
  • Visualisierung: Die Intelligente Kamera soll an ein interaktives System zur Visualisierung der Biosensorbilder und der Detektionsergebnisse angeschlossen werden.
  • Evaluierungsprozess: Die entwickelten Bildverarbeitungspipelines (Toolchain), als auch die Implementierung auf ein Eingebettetes System sollen kontinuierlich evaluiert werden. Zur Evaluierung stehen umfangreiche reale Daten zur Verfügung – auch der reale Experimentaufbau ist vorhanden.

Bei der Umsetzung dieser Anforderungen in ein Hardware-/Softwaresystem sollen verschiedene Entwurfsphasen beachtet werden [1] und adäquate Werkzeuge (Quellcodeverwaltung, Wiki System, Bugtracking) eingesetzt werden. Dieses geht mit der angestrebten modularen Umsetzung einher, welche eine spätere einfache Erweiterung des Systems erlaubt. Zudem bietet das gewählte Thema einen engen thematischen Anschluss zu verschiedenen Forschungsarbeiten in Richtung Softwareentwicklung für Eingebettete Systeme am Lehrstuhl Informatik XII und digitale Bildverarbeitung/Mustererkennung am Lehrstuhl Informatik VII und erlaubt damit den Teilnehmenden, sich für eine Reihe von möglichen Diplomarbeiten an den Lehrstühlen zu qualifizieren.

Teilnahmevorraussetzungen:

  • Eine der Vorlesungen Mensch-Maschine-Interaktion (Graphische Systeme), Digitale Bildverarbeitung oder Graphische Datenverarbeitung [V]
  • Eine der Vorlesungen Eingebettete Systeme, Rechnergestützter Entwurf von Mikroelektronik oder Rechnerarchitektur [V]
  • Kenntnisse in einer Programmiersprache, z.B. Java, C++ oder C [V]
  • Kenntnisse und Erfahrung in der Hardwareentwicklung mit VHDL [W]

Legende: [V] vorausgesetzt, [W] wünschenswert

Minimalziele:

  • Modulare Implementierung zweier Bildverarbeitungspipelines für den Biosensor
  • Umsetzung eines Eingebetteten Analysesystems für die Medizinische Bildverarbeitung, insbesondere die Implementierung der Bildverarbeitungsalgorithmen und der Algorithmen zur bildbasierten Mustererkennung auf einem FPGA/CPU-Board
  • Erstellung einer graphischen Benutzungs- und Konfigurationsoberfläche

Literatur:

[1] H. Balzert. Lehrbuch der Software-Technik. Spektrum Akademischer Verlag, 1997.
[2] S.G. Chang, B. Yu, and M. Vetterli. Adaptive wavelet thresholding for image denoising and compression. IEEE Transactions on Image Processing, pages 1532–1546, 2000.
[3] A. Filippov. Reconfigurable network cameras. Embedded Conf. Eindhoven, Netherlands, 2002.
[4] M. Gaspar, F. Weichert, H. Müller, E. Musemic, P. Walzel, and M. Wagner. Signal-processing based frequency analysis at hollow cones nozzles. Proc of the Fifth IASTED Int. Conf. on Signal Processing, Pattern Recognition, and Application, pages 244–249, 2008.
[5] R.C. Gonzalez and R.E. Woods. Digital Image Processing. Prentice Hall, 2. Aufl., 2002.
[6] M. Haritopoulos, H. Yin, and N.M. Allinson. Image denoising using self-organizing mapbased nonlinear independent component analysis. Neural Networks, pages 1085–1098, 2002.
[7] E. Kretschmann. Die Bestimmung der optischen Konstanten dünner Schichten in der Nähe der Plasmafrequenz aus Kurvenfeldern konstanter Transmission. Zeitschrift für Physik A Hadrons and Nuclei, 221(4):346–356, 1969.
[8] P. Marwedel. Eingebettete Systeme. Springer Verlag, Heidelberg, Berlin, 2007.
[9] H. Niemann. Klassifikation von Mustern. 2. aufl. edition, 2. Aufl., 2003.
[10] F.M. Wahl. Digitale Bildsignalverarbeitung. Springer-Verlag, 1989.
[11] Xilinx. FPGAs; ISE; Platform Studio and EDK, 2009.
[12] M.-H. Yang, D.J. Kriegman, and N. Ahuja. Detecting faces in images: A survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(1):34–58, 2002.

Rechtliche Hinweise:

Die Ergebnisse der Projektarbeit inklusive der dabei erstellten Software sollen der Fakultät für Informatik uneingeschränkt zur freien Forschung zur Verfügung stehen. Darüber hinaus sind keine Einschränkungen der Verwertungsrechte an den Ergebnissen der Projektgruppe und keine Vertraulichkeitsvereinbarungen vorgesehen.