Studienarbeit
Filtern
Dokumenttyp
- Studienarbeit (74) (entfernen)
Sprache
- Deutsch (74) (entfernen)
Schlagworte
- Robotik (8)
- Bildverarbeitung (5)
- Computergraphik (4)
- Augmented Reality (3)
- Augenbewegung (2)
- Autonomes Robotersystem (2)
- Computer (2)
- Computersimulation (2)
- Computerspiel (2)
- GLSL (2)
Institut
- Institut für Computervisualistik (74) (entfernen)
Diese Studienarbeit baut auf der Arbeit von Tim Steffens [Ste05] auf. Bei seiner Studienarbeit handelt es sich um ein System zur einfachen Präsentation handschriftlicher Lehrinhalte mittels eines Tablet PCs und eines Beamers. Im Wesentlichen wird das Beschreiben von Folien und deren gleichzeitige Projektion mit einem Overheadprojektor ersetzt. Das Programm, welches aus der Studienarbeit Tim Steffens hervorgegangen ist, enthält Mängel in der Programmierung und im Entwurf aus softwaretechnischer und -ergonomischer Sicht. Diese Mängel reichen von ungünstig gewählten Schaltflächen über ein immer langsamer werdendes System bis hin zu Abstürzen während des laufenden Betriebs. Meine Studienarbeit soll dieses System genauer analysieren, bestehende Fehler korrigieren und gleichzeitig das gesamte System nach neuen Anforderungen umgestalten.
Rissmuster enthalten zahlreiche Informationen über die Entstehung der Risse und können für die Technik oder die Kulturgeschichte von großem Wert sein. So vereinfacht etwa die automatische oder halbautomatische Klassifizierung von Abbildungen solcher Rissmuster die Echtheitsprüfung antiker Artefakte oder die Materialforschung. Teilweise existieren bereits Klassifizierungsverfahren, die sich für die computergestützte Auswertung einsetzen lassen. Da es bislang kein Verfahren zur objektivierten Auswertung und Analyse von Rissmustern gab, entstand 2007 in Zusammenarbeit mit der Stuttgarter Staatlichen Akademie der Bildenden Künste das Projektpraktikum Rissmusteranalyse (Primus), das die automatische Klassifikation von Rissmuster-Aufnahmen ermöglicht. Daran angebunden sollte ein Datenbanksystem die Bilder samt ihrer Analyseergebnisse verwalten und darstellen können. Eine einfach zu bedienende grafische Benutzeroberfläche soll verschiedene Methoden anbieten, die mit jeweils unterschiedlichen Bildverarbeitungsverfahren eine robuste Klassifikation der Rissmuster und den anschließenden Transfer in die Datenbank ermöglichen. Zunächst werden die aktuelle Situation des Projektes Primus und dessen grundlegende Strukturen dargestellt, unter besonderer Berücksichtigung der verwendeten Programmiersprache Qt. Den Schwerpunkt der Arbeit bildet das Redesign der Benutzeroberfläche und deren Erweiterung um neue Komponenten wie Qt-Objekte und einen separaten Tracer.
Diese Studienarbeit beschäftigt sich mit der Entwicklung einer Extension für Mozilla Thunderbird, welche direkt in den Text einer Email eingebettete strukturierte Informationen (wie z.B. Termine, Kontaktdaten) automatisch erkennt und es dem Benutzer ermöglicht, diese in weiteren Anwendungen weiter zu verwenden. Es werden Überlegungen zur Usability und möglichen weiteren Entwicklungen vorgestellt, sowie der Code des Prototyp genauer aufgezeigt.
Für die Netzwerkprogrammierung hat sich auf breiter Front das Socket API nach Vorbild der Berkley Sockets durchgesetzt. Die "normalen" Sockets in Form von Stream- oder Datagram-Sockets erleichtern zwar die Programmierarbeit, verschleiern jedoch auch zahlreiche Details der Netzwerkkommunikation vor dem Programmierer. So ist man beispielsweise auf die Nutzung der Protokolle TCP oder UDP eingeschränkt und agiert zwangsläufig bereits auf dem Application-Layer des TCP/IP Referenzmodells. Für den Zugriff auf tiefer gelegene Netzwerkschichten, d.h. für den Zugriff auf die Headerdaten eines Netzwerkpaketes, hält das Socket API die sogenannten RAW Sockets bereit. Mit ihnen ist es möglich, alle IP Pakete inklusive Headerdaten zu lesen oder von Grund auf neu zu generieren. Hiermit ist es nun auch möglich, Protokolle zu verwenden, die dem Anwendungsprogrammierer bislang nicht zugänglich waren (z.B. ICMP oder OSPF) oder sogar eigene IP basierte Protokolle zu entwickeln. RAW Sockets stoßen an ihre Grenzen, wenn es darum geht auf den Data-Link-Layer der Netzwerkkommunikation zuzugreifen. Unter Linux gibt es hierfür einen weiteren Socket-Typ: Den PACKET Socket. Die Studienarbeit möchte einen Einstieg in die Programmierung mit den eher unbekannten RAW und PACKET Sockets schaffen. Dabei werden einige Beispielprogramme vorgestellt und mögliche Anwendungsgebiete aufgezeigt.
Ziel dieser Studienarbeit war es, Erfahrungen in der Grafik- und Spieleprogrammierung zu sammeln. Als Grundidee kam dabei die Erstellung eines 3-dimensionalen Terrains auf. Solche Terrains werden heutzutage nicht nur in der Spielebranche eingesetzt, wo sie in beinahe jedem Genre vertreten sind, sondern auch z.B. in der Geologie zur Erstellung von Simulationen von Plattentektonik. Die simple Erstellung eines 3-dimensionalen Terrains wäre für eine Studienarbeit jedoch zu trivial, daher sollte das Terrain spezielle Anforderungen erfüllen. Zum einen sollte das Terrain dynamisch erzeugt werden, d.h. der Benutzer des Programms hat Einfluss darauf, wie sich das Terrain entwickelt. Dies sollte vorzugsweise spielerisch eingebracht werden. Zum anderen sollte das Terrain zufällig generiert werden. Dies bedeutet, dass keine vormodellierte Landschaft genutzt, sondern jede Erhebung/- Vertiefung des Terrains mittels Zufallsfaktoren erzeugt werden sollte. Zusätzlich sollte das Terrain endlos erzeugt werden. Bei einer Bewegung über das Terrain sollte also niemals ein Ende erreicht werden. Also auch keine Kreistrecke, sondern ein wirklich endloses und stets anders aussehendes Terrain. Desweiteren sollte es dem Benutzer møglich sein, ein Fluggerät über das Terrain zu steuern. Dies gab dann auch die Chance, aus der oben genannten dynamischen Anforderung ein spielerisches Element zu machen, indem der Benutzer das Terrain durch Einsammeln von sogenannten TerraformItems beeinflussen kann. Die Steuerung eines Fluggerätes spielt auch für die geforderte Endlosigkeit des Terrains eine wichtige Rolle, da diese ohne eine Möglichkeit der Fortbewegung gar nicht nachprüfbar wäre. Das Problem mit der Endlosigkeit ist dabei, dass kein System endlosen Speicher zur Verfügung hat um das Terrain komplett zu speichern und dem Benutzer somit die Option zu bieten, die gleiche Strecke zurückzufliegen. Eine Lösung für diese Problematik wäre bei einer Kehrtwende das Terrain auch rückwärts wieder neu zu generieren. Der Einfachheit halber sollte stattdessen ein komplette Kehrtwende einfach nicht zugelassen werden. Eine Kollisionserkennung musste dann natürlich auch implementiert werden. Zum einen weil das Fluggerät ja nicht einfach wie ein Geist durch das Terrain hindurchgleiten sollte, zum anderen muss das Programm ja irgendwie das Einsammeln der oben angesprochenen TerraformItem-Objekte registrieren können. Weitere Objekte wie Bäume oder Felsen sollten das Terrain optisch aufwerten. Zu guter Letzt sollte noch eine simple Benutzeroberfläche erstellt werden, um dem Benutzer diverse Bedienelemente und Rückmeldungen zu bieten. Damit sollte es z.B. auch möglich sein dass Terrain direkt zu verändern.
Im Rahmen der Glaukomdiagnostik sind Größe und Position des Sehnervkopfes wichtige Parameter zur Klassifikation des Auges. Das Finden und exakte Markieren der Papille ist ein subjektiver Vorgang und kann von Arzt zu Arzt stark variieren. Ziel der Arbeit ist die Entwicklung eines automatischen Verfahrens zur Detektion der Papille. Zunächst wird der medizinische Hintergrund erläutert (Aufbau des Auges, Glaukom) und das bildgebende Verfahren, der Heidelberg Retina Tomograph, dargestellt. Nach einer Diskussion bisheriger Ansätze zur Detektion der Papille wird ein eigenes Verfahren entwickelt und detailliert beschrieben. Für bei der Implementation aufgetretene Probleme werden Ansätze zur Optimierung vorgeschlagen.
In der vorliegenden Studienarbeit wird eine OpenGL-Applikation vorgestellt, die Geometrie-Shader in einem Feedback-Loop einsetzt, um auf der GPU Geometrie zu erzeugen. Dargelegt werden die erforderlichen Grundlagen Geometrie-Shader und Transform Feedback betreffend, die Umsetzung der Anwendung und die eingesetzten GLSL-Shader.
Im Rahmen dieser Studienarbeit wurden acht verschiedene Algorithmen unterschiedlichen Umfangs und Komplexität zur Pupillenmittelpunktssuche implementiert und im Vergleich mit dem Originalalgorithmus ausgewertet. Die Berechnung des Hornhautreflektionsmittelpunkts wurde modifiziert, so dass die Helligkeitswerte der Hornhautreflektion bei der Berechnung des Schwerpunkts gewichtet werden. Bei der Auswertung wurde festgestellt, dass drei der acht Algorithmen, der Starburst-Algorithmus für hochauflösende Bilder, Daugmans Algorithmus für Aufnahmen bei sichtbarem Licht und der Average Coordinate Algorithmus von Daunys und Ramanauskas, Mängel in Zusammenhang mit dem gegebenen System aufweisen, so dass diese momentan nicht für die Mittelpunktssuche im Gazetracker geeignet sind. Die restlichen Algorithmen zeigten im grafischen Vergleich ähnlich gute Ergebnisse und wurden im Test verglichen, wobei der Algorithmus von Perez, Garcia, Mendez, Munoz, Pedraza und Sanches und der Algorithmus von Poursaberi und Araabi die besten Ergebnisse aufwiesen in Bezug auf Dichte der Punkte, Fehlerpunkte und Outlier.
Personenverfolgungssysteme bestehen oft aus teurer und meist an Personen befestigter Trackinghardware, die die Bewegungsfreiheit der Personen deutlich einschränkt. Durch die in den letzten Jahrzehnten angestiegene Rechenleistung der Computersysteme ist es möglich, Bilddaten von digitalen Video-, Foto- oder Webkameras in Echtzeit auszuwerten. Dadurch erschließen sich neue Möglichkeiten, die eine Verfolgung von Personen auch ohne die störrige Trackinghardware erlauben. In dieser Arbeit soll ein System zum Verfolgen von Personen auschließlich unter Zuhilfenahme einer Videokamera und eines Computers, also ohne Marker, entwickelt werden.
In dieser Studienarbeit wurde ein Algorithmus vorgestellt, um sich mit einem Roboter in unbekanntem Gebiet zu lokalisieren und gleichzeitig eine Karte von der Umgebung zu erstellen. Die Lokalisation des Roboters geschieht auf 2D Ebene und errechnet die (x, y, θ)T Position des Roboters zu jedem Zeitpunt t inkrementell. Der Algorithmus baut auf dem FastSLAM 2.0 Algorithmus auf und wurde abgeändert, um eine möglichst genaue Lokalisation in Gebäuden zu ermöglichen. Hierfür wurden mehrere verschieden Arten von möglichen Landmarken untersucht, verglichen und kombiniert. Schwerpunkt dieser Studienarbeit war das Einarbeiten in das Extended Kalman-Filter und die Selektion von Landmarken, die für den Einsatz in Gebäuden geeignet sind.
Das Forschungsprojekt Bildanalyse zur Ornamentklassifikation hat es sich zur Aufgabe gemacht, ornamentale Strukturen in Bildern computergestützt zu lokalisieren, analysieren und klassifizieren. Grundlage des Projekts bildet eine umfangreiche Bilddatenbank, deren Abbildungen manuell vorsortiert sind. Durch Kombinationen mit Methoden der Bildverabeitung und der Verwendung von Wissensdatenbanken (Knowledge Databases) soll diese Kategorisierung weiter verfeinert werden. Sämtliche Bilder durchlaufen bis zum Prozess der Ornamentklassifikation mehrere Vorverarbeitungsschritte. Beginnend mit einem Normalisierungsprozess, bei dem das Bild u. a. entzerrt und entrauscht wird, werden im Anschluss Interessensregionen selektiert. Diese Regionen bilden die Grundlage für das spätere Lokalisieren der Ornamente. Aus ihnen werden mit unterschiedlichen Verfahren Merkmale extrahiert, die wiederum in der Datenbank gespeichert werden. In dieser Arbeit wurde ein weiteres solches Verfahren implementiert und auf seine mögliche Verwendung in dem Projekt untersucht.
Große Gebiete lassen sich auf Grund von Schattenbildung und begrenzter Scanreichweite nicht mit einem einzigen 3D-Scan aufnehmen. Um konsistente dreidimensionale Karten dieses Gebietes zu erzeugen müssen also mehrere Scans zusammengefügt werden. Soll dieses Matchen der Scans automatisch geschehen, so kann es wegen fehlerhaften Translations- und Rotationsdaten, die die unterschiedlichen Positionen der Scans beschreiben,zu inkonsistenten Karten kommen. Um dies zu vermeiden wird in dieser Arbeit ein schneller Iterativ Closest Points Algorithmus implementiert, der versucht, Fehler in diesen sechs Freiheitsgraden zu korrigieren. Das Verfahren soll im Rahmen dieser Arbeit in die schon vorhandene Software unseres Roboters eingebunden werden.
Rettungsroboter helfen nach Katastrophen wie z.B. Erdbeben dabei, in zerstörten Gebäuden Überlebende zu finden. Die Aufgabe, die Umgebung effizient möglichst vollständig abzusuchen und dabei eine Karte zu erstellen, die den Rettungskräften bei der Bergung der Opfer zur Orientierung dient, soll der Roboter autonom erfüllen. Hierzu wird eine Explorationsstrategie benötigt; eine Strategie zur Navigation in bekanntem und zur Erkundung von unbekanntem Gelände. Für den mobilen Roboter "Robbie" der Arbeitsgruppe Aktives Sehen wurde in dieser Arbeit ein Grenzen-basierter Ansatz zur Lösung des Explorationsproblems ausgewählt und implementiert. Hierzu werden Grenzen zu unbekanntem Gelände aus der Karte, die der Roboter erstellt, extrahiert und angefahren. Grundlage der Navigation zu einem so gefundenen Wegpunkt bildet die sog. Pfad-Transformation (Path-Transform).
Ziel der Arbeit ist es, einen MP3-Player zu entwickeln, der eine Benutzerinteraktion ermöglicht, wie es gängige Computerprogramme zur Wiedergabe von Musik tun. Der Benutzer soll über eine grafische Oberfläche MP3-Dateien laden, abspielen und in Playlisten organisieren können. Ferner soll es möglich sein, Metadaten wie Titel, Autor, Genre, Veröffentlichungsjahr und vieles weitere als zusätzlichen Tag zu speichern und zu editieren. Diese Informationen soll die Software auch beim Abspielen eines Musikstückes auslesen und dem Nutzer übersichtlich anzeigen. Hier scheitern die meisten Player aufgrund ihres kleinen Displays. Außerdem soll der MP3-Player auch rudimentäre Funktionen zur Echtzeitmanipulation der Musikwiedergabe bieten. Als Hardware zum Abspielen der Musikdateien dient die Spielekonsole Nintendo DS, welche aufgrund ihrer beiden Displays genügend Anzeigemöglichkeiten für eine grafische Benutzerführung bietet. Eines der beiden Displays dient zudem als Touchscreen und kann für Eingaben verwendet werden.
Im Rahmen dieser Studienarbeit wurde zunächst ein State of the Art Bericht über fünf Softwareprodukte zur Visualisierung und Gestaltung von Oberflächenentwürfen erstellt. Aufbauend auf den daraus gewonnen Erkenntnissen wurde eine Benutzungsoberfläche entwickelt, mit welcher mittels eines Grafiktabletts oder Tablet PC erste Oberflächenentwürfe gestaltet werden können.
Der Hokuyo URG-04LX Laserscanner wird auf der mobilen Roboterplattform "Robbie" der Arbeitsgruppe Aktives Sehen zur Kartenerstellung und Kollisionsvermeidung eingesetzt. Die Navigation auf Grundlage der 2D-Scans wird den gewachsenen Anforderungen der Rescue-Arenen nicht mehr gerecht. Eine Verwendung von kommerziellen 3D-Laserscannern kommt wegen der hohen Anschaffungskosten nicht in Frage. Idee: Einsatz von mehreren günstigen 2D-Laserscannern mit unterschiedlichen Blickwinkeln oder aber die aktive Veränderung der Scanebene. Das Variieren der Scanebene erfolgt durch Schwenken oder Drehen des Laserscanners. Die Orientierung des Laserscanners im Raum liefert die dritte Dimension. Im Rahmen dieser Arbeit soll eine Plattform entwickelt werden, die es durch rotative Lagerung des Laserscanners ermöglicht, 3D-Laserscans der Umgebung zu erzeugen. Hierbei soll ein möglichst einfacher Aufbau erreicht werden, der es weiterhin ermöglicht, den Laserscanner zur Erzeugung von 2D-Karten zu benutzen. Um das Stereokamerasystem des Roboters nicht zu beeinträchtigen, wird zusätzlich ein sehr kompakter Aufbau angestrebt.
In der Bildverarbeitung werden zunehmend Algorithmen unter Verwendung von prägnanten Merkmalen implementiert. Prägnante Merkmale können sowohl für die optische Kameraposebestimmung als auch für die Kalibrierung von Stereokamerasystemen verwendet werden. Für solche Algorithmen ist die Qualität von Merkmalen in Bildern ein entscheidender Faktor. In den letzten Jahren hat sich an dieser Stelle das von D. Lowe 2004 vorgestellte SIFT-Verfahren hervorgetan. Problematisch bei der Anwendung dieses Verfahrens ist seine hohe Komplexität und der daraus resultierende hohe Rechenaufwand. Um das Verfahren zu beschleunigen, wurden bereits mehrere Implementationen veröffentlicht, die teils weiterhin ausschließlich die CPU nutzen, teils neben der CPU auch die GPU zur Berechnung bestimmter Teilbereiche des SIFT verwenden. Diese Implementationen gilt es zu hinterfragen. Ebenso ist die Qualität der Merkmale zu untersuchen, um die Verwendbarkeit von SIFT-Merkmalen für andere Bereiche der Bildverarbeitung gewährleisten zu können. Zur Visualisierung der Ergebnisse wurde eine GUI erstellt.
In dieser Arbeit werden mehrere Verfahren zur Superresolution, die zwei unterschiedlichen Ansätzen zuzuordnen sind, implementiert und miteinander verglichen. IBP, ein Verfahren, welches der Tomographie ähnelt, stellt den klassischen Ansatz der Superresolution dar. Das Prinzip von IBP ist leicht verständlich und relativ einfach zu implementieren, hat aber den Nachteil, keine eindeutigen Lösungen zu produzieren, da es schwer ist, Vorwissen mit einfließen zu lassen. Bei den statistischen Verfahren erweist es sich als äußerst zeitkritisch, die Systemmatrix M vorzuberechnen. Capel und Zisserman haben beim Maximum-Likelihood-Verfahren eine starke Rauschanfälligkeit festgestellt. Der Vergleich ergibt, dass IBP in punkto Bildqualität Maßstäbe setzt, zumindest bei kaum verrauschten Eingangsbildern und guter Registrierung. Allerdings stellen viele Eingangsbilder wegen des linearen Laufzeitverhaltens ein Problem dar. Die statistischen Verfahren liefern bei stark verrauschten Eingangsbildern bessere Ergebnisse als IBP. Durch viele Eingangsbilder lassen sich diese noch weiter verbessern. Die bei vorberechneten Systemmatrizen nahezu konstante Laufzeit und ihre Robustheit bei Rauschen prädestinieren die statistischen Verfahren für solche Bildserien. Ungenau registrierte Eingangsbilder wiederum führen bei allen Verfahren zu unscharfen Ergebnissen.
In dieser Arbeit werden jeweils ein Verfahren aus den beiden Bereichen der Bildregistrierung implementiert und beschrieben. Eine direkte und eine merkmalsbasierte Methode werden verglichen und auf ihre Grenzen hin überprüft. Die implementierten Verfahren funktionieren gut und registrieren beide verschiedene Bildserien subpixelgenau. Bei der direkten Methode ist vor allem die Wahl des Transformationsmodells ausschlaggebend. Auch das Einbetten der Methode in eine Gaußpyramidenstruktur hat sich als wichtig herausgestellt. Da die merkmalsbasierte Methode aus verschiedenen Komponenten aufgebaut ist, kann jeder einzelne Schritt durch unterschiedliche Verfahren ausgetauscht werden, so z.B. die Detektion der Merkmale durch Tomasi-Kanade, SIFT oder Moravec. In der direkten Methode kann die Genauigkeit der Ergebnisse zum einen durch den gewählten Schwellwert und zum anderen durch die Anzahl der Pyramidenstufen beeinflusst werden. Bei der merkmalsbasierten Methode wiederum können unterschiedlich viele Merkmale benutzt werden, die einen unterschiedlich hohen Schwellwert besitzen können. Es wird gezeigt, dass beide Methoden zu guten Ergebnissen führen, wenn davon ausgegangen wird, dass die Verschiebung sowie die Rotation gering sind. Bei stärkeren Veränderungen jedoch wird die direkte Methode recht ungenau, während die merkmalsbasierte Methode noch gute Ergebnisse erzielt. An ihre Grenze gerät sie erst, wenn entweder der Bildinhalt sich stark ändert, oder die Rotationen einen Winkel von 20° überschreitet. Beide Verfahren arbeiten also subpixelgenau, können aber unter verschiedenen Voraussetzungen zu Ungenauigkeiten führen. Werden die jeweiligen Probleme der beiden Methoden beachtet und am besten bei der Aufnahme oder vor der Registrierung eliminiert, so können sehr gute Ergebnisse erzielt werden.