Filtern
Dokumenttyp
- Diplomarbeit (47) (entfernen)
Volltext vorhanden
- ja (47) (entfernen)
Schlagworte
- Google App Engine (2)
- Google Web Toolkit (2)
- Interaktion (2)
- Visualisierung (2)
- WebGL (2)
- 101companies (1)
- API Analysis (1)
- API Migratiom (1)
- Adobe Flex (1)
- Ambient Occlusion (1)
Institut
- Fachbereich 4 (47) (entfernen)
In dieser Arbeit wird der Nutzen von GPGPU (Allzweckberechnungen auf Grafikprozessoren) zur robusten Deskription von natürlichen, markanten Bildmerkmalen mit Hilfe der Grafikprozessoren mobiler Geräte bewertet. Dazu wurde der SURF-Deskriptor [4] mit OpenGL ES 2.0/GLSL ES 1.0 implementiert und dessen Performanz auf verschiedenen mobilen Geräten ausgiebig evaluiert. Diese Implementation ist um ein Vielfaches schneller als eine vergleichbare CPU-Variante auf dem gleichen Gerät. Die Ergebnisse belegen die Tauglichkeit moderner, mobiler Grafikbeschleuniger für GPGPU-Aufgaben, besonders für die Erkennungsphase von NFT-Systemen (Tracking mit natürlichen, markanten Bildmerkmalen), die in Augmented-Reality-Anwendungen genutzt werden. Die nötigen Anpassungen am Algorithmus des SURF-Deskriptors, um diesen effizient auf mobilen GPUs nutzen zu können, werden dargelegt. Weiterhin wird ein Ausblick auf ein GPGPU-gestütztes Tracking-Verfahren gegeben.
Computer unterstützen Menschen zunehmend in Alltagssituationen. Ihre fortwährend voranschreitende Miniaturisierung erlaubt die Erschließung weiterer Einsatzmöglichkeiten und trägt zu einer wachsenden Bedeutung und Verbreitung in der Gesellschaft bei. Längst sind solche Systeme in vielerlei Alltagsgegenständen Realität und ihre Mobilität spielt eine immer größer werdende Rolle: von Laptops über Smartphones und Tablets hin zu am oder im Körper tragbaren Systemen (engl. wearable computing) wie Hörgeräte und Pulsuhren, unterstützen sie den Menschen aktiv und kontextsensitiv in ihrem Alltag.
Als ein Teilgebiet des wearable computing gilt die Entwicklung von Head-mounted Displays (kurz HMD). Das sind Helme oder Brillen die dem Benutzer auf einer oder mehreren Darstellungsflächen computergenerierte Bilder (virtual reality) oder mit Zusatzinformationen versehene Aufnahmen der Umgebung (enhanced reality) präsentieren. Aktuell sind HMDs welche LC-Displays nutzen weit verbreitet, innovativer sind solche welche das Bild direkt auf die Netzhaut des Benutzers projizieren. Neuste Entwicklungen deuten auf weitere Miniaturisierung des Konzepts, hin zu Kontaktlinsen mit integriertem Bildschirm. Für die Sammlung dazustellender Daten werden eine Vielzahl Sensoren hinzugezogen, wie Head-Tracker oder GPS. Auch durch Erweiterungen im Bereich der Bedienbarkeit - zum Beispiel durch Spracheingabe über ein Mikrofon - und die Steigerung des Immersionsgefühls - zum Beispiel durch stereoskopische Bilder oder integrierte Kopfhörer - wandeln sich HMDs von einfachen Anzeigen hin zu stetig besser ausgerüsteten Geräten mit ständig wachsenden Einsatzgebieten. Längst werden HMDs in einer Vielzahl von Feldern benutzt. rnIm Vordergrund dieser Arbeit steht der Entwurf und die Erstellung einer Anwendung für das Betriebssystem Apple iOS 5, als softwaretechnischen Beitrag zur Entwicklung eines HMD auf Basis von Apple-Mobilgeräten mit hochauflösendem Retina Display. Das RollerCoaster2000-Projekt soll zur Darstellung des grafischen Inhalts genutzt werden, aus Gründen einer freien Lizenz, frei zugänglichen Quellcodes sowie einer effizienten OpenGL-ES-Portierung. Dabei soll ein leichter Austausch oder die Erweiterung dieses grafischen Grundgerüsts gegeben sein um die Einsatzmöglichkeiten des HMD zu erhöhen. Über die reine Nutzung als Darstellungsmedium soll die erstellte Anwendung die vielfältigen, sensorischen Fähigkeiten und Vernetzungsmöglichkeiten aktueller Apple-Endgeräte nutzen um mehrere Geräte zu einer Datenbrille zu verbinden und die Kopfbewegungen des Benutzers auszuwerten, in der virtuellen Szene abzubilden und zwischen den Geräten synchron zu halten. Zur leichten Orientierung des Benutzers während der Bedienung soll außerdem auf die integrierte Gerätekamera zugegriffen werden.
Um die Realisierung einer den Kriterien gerecht werdenden Anwendung zu ermöglichen wird in dieser Arbeit in den Bereich der iOS-Entwicklung eingeführt. Zuerst erfolgt eine Einleitung in die historischen Entwicklungen auf dem Gebiet der mobilen Entwicklung für Apple-Mobilgeräte, von der Entstehung des objektorientierten Paradigmas hin zur heutigen Ausprägung des iOS-SDK. Letzteres ergibt sich dabei aus der Summe einer Vielzahl, stark kohärenter Komponenten. Dazu gehören die Grundsteine einer jeden iOS-Applikation, die objektorientierte, dynamische und streng typisierte Sprache Objective-C sowie den durch Apple an die eigenen Bedürfnisse angepassten LLVM-Compiler und die von Apple angepasste LLVM-Laufzeitumgebung. Zudem sind das Cocoa Framework und die Entwicklungsumgebung Xcode, die zur Erstellung mobiler Anwendungen von Apple entwickelt wurden, Gegenstand dieser Arbeit. Anhand der gewonnenen Kenntnisse im Bereich der mobilen Anwendungsentwicklung werden Anforderungen an eine Anwendung für ein HMD erhoben und die Erstellung einer, diesen Kriterien genügenden, Software beschrieben.
Mittels facettierter Suche lassen sich große, unbekannte Datensätze einfach und gezielt erkunden. Bei der Implementation von Anwendungen für Smartphones ist zu beachten, dass im Gegensatz zu Desktop-Anwendungen ein kleinerer Bildschirm und nur beschränkte Möglichkeiten zur Interaktion zwischen Benutzer und Smartphone zur Verfügung stehen. Diese Beschränkungen können die Benutzbarkeit einer Anwendung negativ beeinflussen. Mit FaThumb und MobileFacets existieren zwei mobile Anwendungen, die die facettierte Suche umsetzen und verwenden, aber nur MobileFacets ist für gegenwärtige Smartphones mit Touchscreenbildschirm ausgelegt.
Jedoch bietet FaThumb eine neuartige Facettennavigation, die durch MFacets in dieser Arbeit für aktuelle Smartphones neu realisiert wird. Außerdem befasst sich diese Arbeit mit der Durchführung einer summativen Evaluation zwischen den beiden Anwendungen, MFacets und MobileFacets, bezüglich der Benutzbarkeit und präsentiert die ausgewerteten Ergebnisse.
Zur Entwicklung von Webanwendungen und Webseiten existieren viele verschiedene Technologien und Konzepte. Jede dieser Technologien implementiert bestimmte Anforderungen, wie z.B. das Erzeugen von Inhalten oder die Kommunikation zwischen Client und Server. Verschiedene Konzepte helfen, diese Technologien innerhalb einer Webanwendung zusammenzufügen. Nicht zuletzt Architekturstile und -muster gehören zu diesen Konzepten. Die Diplomarbeit beschreibt einen Ansatz zur Erstellung einer Taxonomie dieser Technologien und Konzepte unter Zuhilfenahme der freien Enzyclopädie Wikipedia, im speziellen der Kategorie "Web-Application Framework". Unser 101companies Projekt benutzt Implementationen, um die einem Web-Application-Framework zugrunde liegenden Technologien zu identifizieren und zu klassifizieren. Innerhalb des Projekts werden Taxonomien und Ontologien mit Hilfe dieser Klassifikationen erstellt. Zusätzlich beschreibt die Ausarbeitung, wie nützliche Web-Application-Frameworks mit der Hilfe von Wikipedia priorisiert werden. Abschließend enthält die Diplomarbeit auch die Dokumentation der betreffenden Implementationen.
In dieser Arbeit wurde die Realisierung einer mobilen Sicherheitslösung für Überwachungszwecke vorgestellt, welche unter Zuhilfenahme des staatlich geförderten Forschungsprojekts CamInSens entwickelt wurde. CamInSens soll erreichen, in überwachten Gefahrenbereichen die erhaltenen Video- und Sensorendaten so zu analysieren, dass Bedrohungen möglichst frühzeitig erkannt und behandelt werden können. Das Ziel dieser Arbeit war, auf Basis von verarbeiteten Daten aus CamInSens eine Interaktion und Visualisierung zu entwickeln, die bei einem späteren Praxiseinsatz mobilem Sicherheitspersonal dabei hilft, in Bedrohungssituationen fundierte Entscheidungen treffen zu können. Zu diesem Zweck wurde nicht nur eine Software implementiert, sondern auch eine Marktsichtung hinsichtlich geeigneter Geräte und einsetzbarer Softwarebibliotheken durchgeführt.
Software Projekte nutzen typischerweise mehrere externe Programmbibliotheken. Die Schnittstelle, die solch eine Programmbibliothek zur Verfügung stellt, wird als API (application programming interface) bezeichnet. APIs werden üblicherweise laufend weiterentwickelt, was es notwendig macht, dass die Anwendungen, welche sie verwenden, entsprechend modifiziert werden. Zudem kann es kann vorkommen, dass eine Programmbibliothek durch eine andere ersetzt werden soll, was ebenfalls zur Folge hat, dass die Anwendungen, wo die API verwendet wurde, modifiziert werden müssen. Den Vorgang eine Anwendung so zu modifizieren, dass eine andere API verwendet wird, bezeichnet man als API Migration. Manuelle API Migration ist eine mühselige und zeitintensive Aufgabe, deshalb ist automatische API Migration ein aktives Forschungsfeld. Ein verwandtes Forschungsgebiet ist API Analyse, welches Daten zur Verfügung stellt, die helfen können Werkzeuge für API Migration zu entwickeln. Die hier vorliegende Arbeit behandelt Techniken und Technologien für die Entwicklung von Werkzeugen für API Analyse und API Migration. Die Ergebnisse werden als Design Patterns präsentiert, welche auf unseren Erfahrungen mit API Analyse und API Migration innerhalb des Software Languages Teams basieren.
In einigen Bereichen des automatischen Theorembeweisens benötigt man das Wissen, dass Konstanten paarweise ungleich sind. Um dieses zu erreichen, fügt man Fakten, die dieses Wissen explizit angeben, zu den Wissensbasen hinzu. Wenn man diese Eigenschaft für viele Konstanten definieren muss, wird die Klauselmenge der Wissensbasen schnell sehr umfangreich und wegen der vielen - eigentlich irrelevanten - Ungleichheiten kann man den Blick auf das eigentlich formalisierte Problem verlieren. Da die Größe der Wissensbasis in vielen Fällen Einfluss auf die Geschwindigkeit hat, ist es auch aus diesem Grund sinnvoll, die Anzahl dieser Fakten gering zu halten. Die unique name assumption erlaubt auf die Einführung der Ungleichheits-Fakten zu verzichten, da sie festlegt, dass zwei Konstanten genau dann gleich sind, wenn ihre Interpretationen identisch sind. Auf diesem Wege lässt sich das Aufblähen von Wissensbasen mit Ungleichheits-Fakten verhinde. In dieser Arbeit wird der E-Hyper-Tableau-Kalkül erweitert um die unique name assumption nutzen zu können. Der in dieser Arbeit entwickelte Kalkül ist vollständig und korrekt, was durch formale Beweise in dieser Arbeit belegt wird. Um zu zeigen, dass die native Behandlung von Ungleichheiten dem Einführen von Ungleichheits-Fakten überlegen ist, wird der Kalkül in den Theorembeweiser E-KRHyper implementieren. Der Theorembeweiser E-KRHyper ist ein etabliertes System und basiert in seiner ursprünglichen Version auf dem E-Hyper-Tableau. Mit systematischen Tests wird dann gezeigt, dass die entwickelte Implementierung des erweiterten Kalküls nie schlechter ist, als der original E-KRHyper, diesen aber in einigen Fällen in der Ausführungsgeschwindigkeit deutlich übertrifft.
In dieser Ausarbeitung beschreibe ich die Ergebnisse meiner Untersuchungen zur Erweiterung des LogAnswer-Systemsmit nutzerspezifischen Profilinformationen. LogAnswer ist ein natürlichsprachliches open-domain Frage-Antwort-System. Das heißt: es beantwortet Fragen zu beliebigen Themen und liefert dabei konkrete (möglichst knappe und korrekte) Antworten zurück. Das System wird im Rahmen eines Gemeinschaftsprojekts der Arbeitsgruppe für künstliche Intelligenz von Professor Ulrich Furbach an der Universität Koblenz-Landau und der Arbeitsgruppe Intelligent Information and Communication Systems (IICS) von Professor Hermann Helbig an der Fernuniversität Hagen entwickelt. Die Motivation meiner Arbeit war die Idee, dass der Prozess der Antwortfindung optimiert werden kann, wenn das Themengebiet, auf das die Frage abzielt, im Vorhinein bestimmt werden kann. Dazu versuchte ich im Rahmen meiner Arbeit die Interessensgebiete von Nutzern basierend auf Profilinformationen zu bestimmen. Das Semantic Desktop System NEPOMUK wurde verwendet um diese Profilinformationen zu erhalten. NEPOMUK wird verwendet um alle Daten, Dokumente und Informationen, die ein Nutzer auf seinem Rechner hat zu strukturieren. Dazu nutzt das System ein sogenanntes Personal Information Model (PIMO) in Form einer Ontologie. Diese Ontologie enthält unter anderem eine Klasse "Topic", welche die wichtigste Grundlage für das Erstellen der in meiner Arbeit verwendeten Nutzerprofile bildete. Konkret wurde die RDF-Anfragesprache SPARQL verwendet, um eine Liste aller für den Nutzer relevanten Themen aus der Ontologie zu filtern. Die zentrale Idee meiner Arbeit war es nun diese Profilinformationen zur Optimierung des Ranking von Antwortkandidaten einzusetzen. In LogAnswer werden zu jeder gestellten Frage bis zu 200 potentiell relevante Textstellen aus der deutschen Wikipedia extrahiert. Diese Textstellen werden auf Basis von Eigenschaften (wie z.B. lexikalische Übereinstimmungen zwischen Frage und Textstelle) geordnet, da innerhalb des zur Verfügung stehenden Zeitlimits nicht alle Kandidaten bearbeitet werden können.
Mein Ansatz verfolgte das Ziel, diesen Algorithmus durch Nutzerprofile so zu erweitern, dass Antwortkandidaten, welche für den Benutzer relevante Informationen enthalten, höher in der Rangfolge eingeordnet werden. Zur Umsetzung dieser Idee musste eine Methode gefunden werden, um zu bestimmen ob ein Antwortkandidat mit dem Profil übereinstimmt. Da sich die in einer Textstelle enthaltenen Informationen in den meisten Fällen auf das übergeordnete Thema des Artikels beziehen, ohne den Namen des Artikels explizit zu erwähnen, wurde in meiner Implementierung der Artikelname betrachtet, um zu ermitteln, zu welchem Themengebiet die Textstelle Informationen liefert. Als zusätzliches Hilfsmittel wurde außerdem die DBpedia-Ontologie eingesetzt, welche die Informationen der Wikipedia strukturiert im RDF Format enthält. Mit Hilfe dieser Ontologie war es möglich, jeden Artikel in Kategorien einzuordnen, die dann mit den im Profil enthaltenen Stichworten verglichen wurden. Zur Untersuchung der Auswirkungen des Ansatzes auf das Ranking-Verfahren wurden mehrere Testläufe mit je 200 Testfragen durchgeführt. Die erste Testmenge bestand aus zufällig ausgewählten Fragen, die mit meinem eigenen Nutzerprofil getestet wurden. Dieser Testlauf lieferte kaum nutzbare Ergebnisse, da nur bei 29 der getesteten Fragen überhaupt ein Antwortkandidat mit dem Profil in Verbindung gebracht werden konnte. Außerdem konnte eine potentielle Verbesserung der Ergebnisse nur bei einer dieser 29 Fragen festgestellt werden, was zu der Schlussfolgerung führte, dass der Einsatz von Profildaten nicht für Anwendungsfälle geeignet ist, in denen die Fragen keine Korrelation mit dem genutzten Profil aufweisen.
Da die Grundannahme meiner Arbeit war, dass Nutzer in erster Linie Fragen zu den Interessensgebieten stellen, welche sich aus ihrem Profil ableiten lassen, sollten die weiteren Testläufe genau diesen Fall beleuchten. Dazu wurden 200 Testfragen aus dem Bereich Sport ausgewählt und mit einem Profil getestet, welches Stichworte zu unterschiedlichen Sportarten enthielt. Die Tests mit den Sportfragen waren wesentlich aussagekräftiger. Auch hier deuteten die Ergebnisse darauf hin, dass der Ansatz kein großes Potential zur Verbesserung des Rankings hat. Eine genauere Betrachtung einiger ausgewählter Beispiele zeigte allerdings, dass die Integration von Profildaten für bestimmte Anwendungsfälle, wie z.B. offene Fragen für die es mehr als eine korrekte Antwort gibt, durchaus zu einer Verbesserung der Ergebnisse führen kann. Außerdem wurde festgestellt, dass viele der schlechten Ergebnisse auf Inkosistenzen in der DBpedia-Ontologie und grundsätzliche Probleme im Umgang mit Wissensbasen in natürlicher Sprache beruhen.
Die Schlussfolgerung meiner Arbeit ist, dass der in dieser Arbeit vorgestellte Ansatz zur Integration von Profilinformationen für den aktuellen Anwendungsfall von LogAnswer nicht geeignet ist, da vor allem Faktenwissen aus sehr unterschiedlichen Domänen abgefragt wird und offene Fragen nur einen geringen Anteil ausmachen.