Klassifizierungsmethoden unter Anwendung einer adaptiven Datenmenge zur mobilen Bilderkennung

Größe: px
Ab Seite anzeigen:

Download "Klassifizierungsmethoden unter Anwendung einer adaptiven Datenmenge zur mobilen Bilderkennung"

Transkript

1 Klassifizierungsmethoden unter Anwendung einer adaptiven Datenmenge zur mobilen Bilderkennung von Bruns, Erich aus Saarburg Diplomarbeit eingereicht an der Fakultät Medien (Fachbereich Mediensysteme) zum Erreichen des akademischen Grades DIPLOM-MEDIENSYSTEMWISSENSCHAFTLER an der BAUHAUS UNIVERSITÄT WEIMAR Betreuer der Arbeit: Jun. Prof. Dr. Oliver Bimber Bauhaus Universität Weimar Erstbetreuer Prof. Dr. Benno Stein Bauhaus Universität Weimar Zweitbetreuer Tag der Einreichung: 26. Februar 2007

2 Erklärung Hiermit erkläre ich, dass ich diese Arbeit selbstständig erstellt und keine anderen als die angegebenen Hilfsmittel benutzt habe. Weimar, den 26. Februar 2007 Erich Bruns

3 Zusammenfassung Durch integrierte Kameras in heutigen Mobiltelefonen ist es möglich, effiziente Bilderkennungsverfahren einzusetzen, um die Funktionalitäten eines Handys zu erweitern startete das Projekt PhoneGuide mit dem Ziel, einen digitalen Museumsführer für mobile Geräte zu entwickeln. Basierend auf globalen Farb-Features und einem neuronalen Netz als Classifier ist es möglich, Ausstellungsstücke durch ein Foto zu identifizieren. Dadurch können dem Museumsbesucher multimediale Inhalte über Exponate präsentiert werden. Gegenstand dieser Arbeit ist ein Verfahren, dass die Erkennung unabhängig von der Position des Betrachters ermöglicht. Hierfür werden die aufgenommenen Daten der Objekte auf einem Server vorverarbeitet, so dass sie den Kriterien zweier unterschiedlicher Classifierarten genügen. Darüber hinaus werden adaptive Verfahren vorgestellt, die mit Hilfe einer Client-Server-Architektur das System, und somit die Erkennung, über die Zeit robuster werden lässt. Dieses System wurde durch eine Benutzerstudie evaluiert. II

4 Inhaltsverzeichnis Zusammenfassung Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis II IV VI VII 1 Einführung Motivation der Arbeit Vorschau der Ergebnisse Kapitelübersicht Grundlagen Objekt-/ Bilderkennung Künstliche neuronale Netze PhoneGuide Verwandte Arbeiten Content Based Video Retrieval Adaptive Verfahren Mobile Applikationen Datenaufbereitung Features Keyframe Extrahierung Keyframe Clustering Datenabstraktion III

5 Inhaltsverzeichnis 4.5 Implementierung Training und Erkennung Training Dynamisches Training Statisches Training Erkennung Arten der Erkennung Darbietung der Erkennungsergebnisse Adaptive Verfahren Rückkoppelndes Lernen Adaptive Featuremengen Evaluierung Ergebnisse Dynamisches Verfahren Statisches Verfahren Auswertung Lernen über die Zeit Benutzerstudie Erkennungsrate Verhalten der Nutzer Auswertung des Fragebogens Szenarios Zusammenfassung und Ausblick Zusammenfassung der Ergebnisse Verbesserungsmöglichkeiten und Erweiterungen Beispielgrafiken 96 Fragebogen 100 IV

6 Abbildungsverzeichnis 1.1 Der Algorithmus Ein Perzeptron mit einem Neuron Idealisierte Veranschaulichung des Trainingsbereichs (rot) Erkennungsrate und Dauer des Trainings bei unterschiedlichen Bin-Konfigurationen Vergrößerter Trainingsbereich Darstellung des Unterschieds im Output, wenn nach 10 oder 100 Iterationen abgebrochen wird Darstellung des Unterschieds im Output mit einem oder vier Perzeptron(en) Darstellung des durchschnittlichen Outputs bei verschiedenen Clusterkonfigurationen Die Keyframes eines Objekts werden in drei Cluster eingeteilt (rot, grün, blau) Abstrahierungsschritte Übersicht der Systemteile Screenshot der grafischen Oberfläche des Servers Skizzierung der grafischen Oberfläche Schattenwürfe auf einem Objekt Erkennungsraten unter unterschiedlichen Voraussetzungen Dauer der Erkennung im dynamischen und statischen Verfahren Häufigkeiten falsch erkannter Perspektiven Ähnliche Objekte V

7 Abbildungsverzeichnis 6.6 Entwicklung des Systems über die Zeit Positionen der Benutzer Sechs Ergebnisse von ausgewählten Fragen aus dem Fragebogen: (1) Wie angenehm war die Dauer des Wartens auf die Positionsbestimmung für Sie? (2) Wie gut empfanden Sie die Erkennungsrate von PhoneGuide? (3) Wie einfach empfanden Sie die Bedienung von PhoneGuide? (4) Wie zufrieden waren Sie mit dem Gesamtkonzept PhoneGuide (5) Wie gut können Sie sich vorstellen dass PhoneGuide als gute Alternative zu den heute eingesetzten Systemen (z.b. Audio-Guides) dient? (6) Wie gut können Sie sich vorstellen dass PhoneGuide generell in anderen Kontexten (z.b. als Stadtführer, indem Sie Gebäude, Statuen, etc. erkennen lassen) eingesetzt wird? Extrahierte Keyframes von einem Objekt Extrahierte Keyframes von einem Objekt gruppiert Abstrahierte Keyframes von einem Objekt VI

8 Tabellenverzeichnis 1.1 Erkennungsraten aller Verfahren Erkennungsrate des dynamischen Verfahrens Erkennungsrate des statischen Verfahrens Erkennungsrate der Benutzerstudie VII

9 1 Einführung 1.1 Motivation der Arbeit Als Motorola 1983 das erste, 800 g schwere Mobiltelefon (Dynatac 8000x) auf den Markt brachte und es für einen Preis von 3995 Dollar anbot, konnten nicht viele Menschen absehen, welchen Stellenwert das Handy nach etwas mehr als 20 Jahren in der Gesellschaft einnehmen würde. Besonders in den letzten Jahren entwickelte sich das Handy vom einfachen mobilen Telefonapparat zu einem Allzweckgerät mit - in Relation zur Größe - guter Performance, ausreichendem Speicher und Funktionalitäten, die über das bloße Telefonieren weit hinausgehen. So ist es fast alltäglich geworden, mit dem Handy im Internet zu Surfen oder es als Organizer, MP3-Player, GPS-Empfänger und Fotoapparat einzusetzen. Im Jahr 2006 waren 48% aller verkauften Handys mit einer Kamera ausgestattet. Marktforscher gehen davon aus, dass diese Zahl auf 81% im Jahr 2010 ansteigen wird, was einen absoluten Wert von einer Milliarde verkaufter Kamerahandys entspräche 1. Diese Entwicklung ebnet den Weg, neue Anwendungen im Bereich der mobilen Applikationen zu beschreiten. Besonders interessant scheint hier die Forschung im Gebiet des maschinellen Sehens (engl. computer vision) zu sein, da ein Handy die notwendigen Komponenten Kamera und PC vereint und zudem durch seine Kompaktheit und Verbreitung überall eingesetzt werden kann. Aufgrund dessen startete die Bauhaus-Universität Weimar im Jahr 2003 das Projekt PhoneGuide, mit dem Ziel, robuste Objekterkennungsverfahren für Mobiltelefone zu entwickeln. Die Hauptanwendung der PhoneGuide-Software ist hierbei die mobile Museumsführung. Ein Besucher 1 Vgl. 1

10 1 Einführung kann die Applikation verwenden, um Ausstellungsstücke erkennen zu lassen und multimediale Informationen (Text, Audio, Video) zu erhalten. Dabei muss der Benutzer lediglich mit einem Handy ein Foto von dem betreffenden Objekt erstellen, alles Weitere übernimmt das Programm auf dem mobilen Gerät. PhoneGuide hebt sich von verwandten Projekten und Produkten ab, da hier eine lokale Objekterkennung direkt auf dem Endgerät durchgeführt werden kann: Es werden während der Benutzung keine Daten zu einem zentralen Server gesendet, so dass der Betreiber auf teure Hardware zum Senden und Empfangen verzichten kann und dem Anwender somit keine Verbindungskosten entstehen. Ziel dieser Arbeit ist die Erweiterung und Verbesserung von PhoneGuide, um eine konstante und hohe Erkennungsrate zu gewährleisten. Dabei sollen neue Techniken und Algorithmen entwickelt werden, die eine Objekterkennung unabhängig von der genauen Position des Betrachters ermöglicht. Zudem sollen zwei unterschiedliche Herangehensweisen zur Verwendung eines Classifiers beschrieben und evaluiert, sowie ein System implementiert werden, das kontinuierlich Daten sammelt, um die Anwendung über die Zeit robuster zu machen. Am Ende soll eine Benutzerstudie zeigen, ob die vorgestellten Erweiterungen eine Verbesserung der Erkennungsrate und der Bedienung liefert und wie sich PhoneGuide in der Praxis bewährt. 1.2 Vorschau der Ergebnisse Im Rahmen dieser Arbeit ist ein Algorithmus entwickelt worden, der es ermöglicht, eine Erkennung von Objekten mit einem Handy durchzuführen, die unabhängig von der Position des Benutzers ist. Dieser Algorithmus, der in Abbildung 1.1 dargestellt ist, verfolgt zwei Ansätze nach Aufnahme der Daten durch ein Video: Im dynamischen Fall werden die gesammelten Daten durch eine Keyframe-Extrahierung reduziert. Danach werden diese Keyframes geclustert, um ähnliche Bilder zu gruppieren. Diese Cluster repräsentieren Teile des gesamten Objekts und werden später jeweils durch ein Perzeptron vertreten. Eine Datenabstraktion mindert die Datenmenge ohne Informationsverlust, so dass das Verhältnis von Informationsgehalt zu Datenmenge maximiert wird. Dadurch können die Perzeptronen auf dem mobilen Gerät in Echtzeit trainiert 2

11 1 Einführung werden und unterstützen somit eine freie Wahl der Position vor dem Objekt. Im statischen Fall wird die Keyframe-Extrahierung und das Clustering der Daten eingesetzt, um eine homogene Datenverteilung von jedem Ausstellungsstück zu gewährleisten. Ein dreischichtiges neuronales Netz wird mit diesen Daten auf einem externen Rechner trainiert und auf das mobile Gerät transferiert. Hierfür wurde das System zu einer Client-Server-Architektur erweitert und eine benutzerfreundliche grafische Oberfläche für die Client-Applikation entwickelt. Während der Erkennung werden die aufgenommenen Bilder auf dem Handy gespeichert und am Ende eines Einsatzes auf den Server übertragen. Dieses rückkoppelnde Lernen garantiert eine kontinuierliche Datenaquisition im Laufe der Anwendung. Durch die angehäuften Datenmengen können im statischen Fall robustere Classifier generiert werden, die die Erkennung verbessern. Versuche mit 139 Objekten in einem Museum haben gezeigt, dass durch die Vorverarbeitung der gesammelten Daten ein einschichtiges neuronales Netz ähnlich gute Ergebnisse liefern kann, wie ein mehrschichtiges. Die Erkennungsrate des dynamischen Verfahrens beträgt 85,6% und liegt somit etwas niedriger als der statische Ansatz, der eine Erkennungsrate von 92,6% erreicht hat. Schlussfolgernd konnte unter gleichen Bedingungen eine Verbesserung von über 40% gegenüber dem Vorgänger PhoneGuide 2 erzielt werden. Mit einer entwickelten Videoerkennung, bei der mehrere Bilder analysiert werden, stieg die Erkennungsrate auf 95,7%. Eine Benutzerstudie mit 15 Probanden hat bewiesen, dass das entwickelte System benutzertauglich ist und einen ersten Schritt in die praktische Anwendung besteht. Die ermittelte Erkennungsrate durch die Testpersonen betrug 82%. Es wurde ebenfalls gezeigt, dass durch das adaptive Verfahren in Verbindung mit den beobachteten Verhaltensweisen der Probanden, diese Zahl über einen längeren Zeitraum zu steigern ist. Alle relevanten Ergebnisse sind in Tabelle 1.1 dargestellt. 1.3 Kapitelübersicht Der Aufbau der übrigen Arbeit ist wie folgt gegliedert: Zunächst werden die grundlegenden Prinzipien vorgestellt, auf denen diese Arbeit basiert, um das 3

12 1 Einführung VERFAHREN INDIVIDUELLE TESTS BENUTZERSTUDIE PhoneGuide 2 50,9% Dynamisches Verfahren 85,6% Statisches Verfahren 92,6% 82,0% Statisches (Video) 95,7% 77,1% a a Für 75 Objekte Tabelle 1.1: Erkennungsraten aller Verfahren. Verständnis zu fördern. Unter anderem wird hier der Entwicklungsstand von PhoneGuide, wie er vor dieser Arbeit vorlag, beschrieben. Im dritten Kapitel werden verwandte Arbeiten vorgestellt, die durch die entwickelten Algorithmen tangiert werden. Dabei werden unterschiedliche Forschungsgebiete präsentiert und ausgewählte Veröffentlichungen zusammengefasst. Das nächste Kapitel erklärt die Datenaufbereitung. Hier wird darauf eingegangen, wie die nötigen Daten zur Beschreibung der Objekte gesammelt und verarbeitet werden. In Kapitel fünf werden die Unterschiede zwischen dem dynamischen und statischen Verfahren erläutert, welche sich besonders in der Art und Weise des Trainings zeigen. Darüber hinaus werden die adaptiven Verfahren vorgestellt, also Techniken, um das System über die Zeit zu verbessern, sowie die Videoerkennung erklärt. Das sechste Kapitel beschäftigt sich mit der Auswertung der Benutzerstudie. Es werden die unterschiedlichen Verfahren untersucht und teilweise mit dem alten Verfahren von PhoneGuide 2 verglichen. Zusätzlich wird der Fragebogen ausgewertet und interpretiert. Szenarios für das statische und dynamische Verfahren, wie sie Anwendung finden könnten, beenden dieses Kapitel. Im letzten Kapitel werden die Ergebnisse dieser Arbeit noch einmal zusammengefasst und ein Ausblick auf zukünftige Themenbereiche gegeben, in denen diese Arbeit weiterentwickelt werden kann. 4

13 1 Einführung Abbildung 1.1: Der Algorithmus. 5

14 2 Grundlagen In diesem Kapitel werden grundlegende Prinzipien der Objekterkennung und Klassifizierung vorgestellt, um die verwendeten Techniken in dieser Arbeit nachvollziehen zu können und einen Überblick zu vermitteln. In 2.1 werden die Elemente vorgestellt, die nötig sind, um eine Objekterkennung durchzuführen. Hierbei werden einige gängige Methoden kurz erläutert. In 2.2 wird eine Einführung in künstliche neuronale Netze gegeben, da diese im Laufe der Arbeit eingesetzt werden. 2.1 Objekt-/ Bilderkennung Obwohl in der Einleitung zu dieser Arbeit von Objekterkennung gesprochen wird, handelt es sich bei genauer Betrachtung nicht um eine Objekt-, sondern um eine Bilderkennung. Es werden keine Informationen über das eigentliche Objekt generiert und gesammelt, sondern nur über das Bild des Objekts. Dies sollte erwähnt sein, auch wenn in der Arbeit dieser Unterschied nicht mehr verfolgt wird. In der Bilderkennung und in dem damit verknüpften Forschungsfeld des Content Based Image Retrieval (CBIR) geht es darum, ein aufgenommenes Objekt zu klassifizieren, indem es mit bekannten Objekten (Bildern) verglichen wird. Um eine erfolgreiche Objekt- oder Bilderkennung durchzuführen, benötigt man im Wesentlichen drei Komponenten: 1. Eine Vorschrift zur Beschreibung der Objekte/Bilder. 2. Eine Menge von bekannten Objekten, um neue Objekte anhand dessen zu klassifizieren. 6

15 2 Grundlagen 3. Eine Vorschrift, um Objekte miteinander zu vergleichen und auf Ähnlichkeit zu prüfen. Die einfachste Beschreibung eines Objekts ist ein Foto und dessen Pixelinformationen. Anhand dieser Pixel ist ein Vergleich zu anderen Bildern möglich, indem man zum Beispiel die Fotos ausrichtet und jeden einzelnen Pixel des vorliegenden Bildes mit denen einer Datenbank vergleicht. Dieser Ansatz ist jedoch sehr rechenintensiv und beansprucht viel Speicherplatz, weil jedes Foto im Bildformat abgespeichert werden muss. Aufgrund dessen werden charakteristische Merkmale, so genannte Features berechnet. Hierbei unterscheidet man zwischen lokalen und globalen Features. Lokale Features beschreiben markante Bereiche eines Bildes. Bekanntestes Verfahren in den letzten Jahren ist der SIFT Algorithmus (Scale-Invariant Feature Transform) von David Lowe [Low99]. Dabei werden Bildbereiche extrahiert, die unveränderlich gegen Rotationen und Skalierungen sind, sowie teilweise invariant gegen Beleuchtungsänderungen, die zur Charakterisierung eines Objekts dienen. Ein Vorteil dieser Features ist, dass Objekte erkennbar sind, auch wenn sie nur teilweise sichtbar sind. Nachteil dieser lokalen Features ist der relativ hohe Rechenaufwand, der verhindert, solche Algorithmen zum Beispiel auf einem Handy auszuführen. Demgegenüber stehen globale Features, die in der Regel ein Objekt schlechter beschreiben können, weil sie sich immer auf das ganze Bild beziehen, dafür jedoch schneller zu berechnen und somit teilweise auf mobilen Geräten einsetzbar sind. Beispiele hierfür sind Features, die die Farbe eines Bildes beschreiben, Kanten, oder Texturen charakterisieren. Farb-Features sind die bekanntesten, die extrahiert werden, um Bilder zu beschreiben [MM00]. Dabei bedient man sich häufig der statistischen Verteilung von Intensitäten in Form von Histogrammen. Die einzelnen Bins (Intensitätsbereiche) können dabei variabel festgelegt werden. Je mehr Bins verwendet werden, desto genauer ist die Beschreibung des Objekts und desto anfälliger ist es gegen Rauschen und Ungenauigkeiten. Jeder Bin charakterisiert ein Feature. Um Kanten-Informationen als Features zu verwenden, muss zuerst eine Kantenerkennung durchgeführt werden. Hierfür existieren einige Operatoren, wie Sobel, Laplace, Prewitt oder den Canny-Algorithmus. Danach können Verhältnisse berechnet werden, wie die Anzahl an Pixeln mit starken zu schwachen Kanten, oder die Anzahl an 7

16 2 Grundlagen Kanten-Pixeln zu allen Pixeln im Bild [FZB + 05]. Textur-Features sind im Gegensatz zu den vorher genannten etwas komplexer. Eine Textur kann nur über eine Gruppe von Pixeln definiert sein. Charakteristisch für Texturen ist ihre Periodisität im Bildinhalt und sie können durch Richtung, Körnung, Kontrast, etc. definiert werden [HR04]. Um diese zu berechnen, müssen Pixelgruppen miteinander verglichen werden. Dabei werden meist Co-occurence Matrizen, oder Gabor-Filter verwendet. Besonders in der Verwendung von globalen Features ist der Unterschied zwischen Objekterkennung und Content Based Image Retrieval, wie oben erwähnt, fließend. Im lokalen wie auch im globalen Fall kann noch eine Segmentierung durchgeführt werden, die anhand von Features herausfindet, wo sich im Bild die Objekte befinden, die man erkennen möchte. Dabei können Kantenerkennungs-Algorithmen Verwendung finden, die alle Kanten im Bild extrahieren. Durch individuelle Regeln werden diese Kanten zu Konturen von Objekten zusammengefasst, um die Objekte vom Hintergrund zu trennen. Eine andere Möglichkeit ist die Verbindung von ähnlichen Regionen im Bild [Ami02]. Eine ungenauere, dafür schnelle Methode ist die Einteilung eines Bildes in Teilbilder (Patches), die dann unabhängig voneinander gewichtet werden. Dies kann statisch erfolgen, indem man davon ausgeht, dass Objekte in einem Bild zentriert werden, so dass die Patches in der Mitte hoch bewertet und diese Gewichtung in Richtung der Bildgrenzen verringert wird. Die Gewichtung kann aber auch dynamisch eingesetzt werden, wenn mehrere Bilder des Objekts existieren und diese anhand ihrer wechselnden Bildinhalte bewertet werden[bbzb07]. Sind ausreichend Algorithmen zur Extrahierung von Features vorhanden, so kann man die Daten der Objekte aufnehmen, die man im nächsten Schritt erkennen möchte. Ohne eine gute Auswahl an Trainingsbeispielen, also Daten anhand derer aufgenommene Objekte verglichen werden, ist eine gute Erkennung nicht möglich. Nichtsdestotrotz ist es bei der Verwendung von lokalen Features schon möglich, mit nur einem Referenzbild pro Objekt, hohe Erkennungsraten zu erzielen [Low99]. Bei globalen Features kann der Mangel an Feature-Qualität teilweise durch eine größere Menge an Trainingsbeispielen ausgeglichen werden. Um ein aktuell aufgenommenes Bild mit einer Datenbank von bekannten Bil- 8

17 2 Grundlagen dern zu vergleichen und zu klassifizieren, bietet sich eine Vielzahl von Methoden an. Im Folgenden werden nur einige Standard-Anwendungen angeführt. Die einfachste ist der Nearest-Neighbor-Algorithmus. Dabei werden die extrahierten Features eines Bildes als Elemente eines Vektors angesehen, um somit Distanzfunktionen im n-dimensionalen Raum zwischen diesen Vektoren ausführen zu können. Bekannteste Funktionen sind die Euklidische oder die Manhatten Distanz. In diesem Zusammenhang kann man auch den Kosinus des Winkels zwischen zwei Vektoren als Ähnlichkeitsmaß anwenden. Obwohl dieser Algorithmus teilweise gute Ergebnisse liefert, existieren bessere Systeme, die besonders dann eingesetzt werden, wenn die Trainingsmenge groß ist und das System auf neue Daten effizient angepasst werden soll. Eine Gruppe dieser Classifier sind die künstlichen neuronalen Netze. Diese werden in Punkt 2.2 näher erläutert. Eine Erweiterung und Verbesserung der neuronalen Netze sind die Support Vector Machines (SVM). Wie auch die neuronalen Netze teilen SVM eine Menge von Trainingsbeispielen in Gruppen auf. Allerdings wird hier die Trennungslinie so gelegt, dass die Objekte der einzelnen Gruppen möglichst weit von dieser Grenze entfernt liegen. Diese Linie wird anhand von Stützvektoren ( support vectors ) der einzelnen Klassen definiert und trägt daher ihren Namen. Bei Hidden Markov Models (HMM) ist das Ziel, Wahrscheinlichkeiten für das Eintreten zukünftiger Ereignisse zu bestimmen. Man unterscheidet hier zwischen verborgenen ( hidden ) Variablen, die man nicht kennt und bestimmen möchte und Wahrscheinlichkeiten von Variablen und Übergängen, die man beobachtet und die im Zusammenhang mit den versteckten Variablen stehen. Die beobachteten werden verwendet, um auf die verborgenen Variablen zu schließen. Bevor ein Classifier trainiert wird, werden häufig die Feature-Vektoren der Trainingsdaten einer Hauptkomponentenanalyse (engl. Principle Component Analysis, PCA) unterzogen. Hierbei wird versucht, aus der Menge an Features relevante Eigenschaften zu extrahieren und zu Faktoren zusammenzufassen, die das Objekt eindeutiger beschreiben. Dabei können Features wegfallen, die keine eindeutige Information enthalten. Dadurch wird der Rechenaufwand für das Trainieren eines Classifiers minimiert. 9

18 2 Grundlagen 2.2 Künstliche neuronale Netze Im Folgenden wird die Theorie eines Perzeptrons und eines mehrschichtigen künstlichen neuronalen Netzes betrachtet. Zudem wird auf Regeln eingegangen, die in dieser Arbeit angewendet werden und beachtet werden sollten, wenn ein neuronales Netz eingesetzt wird. Ein künstliches neuronales Netz (oder: neuronales Netz), wie in 2.1 erwähnt, ist ein Classifier. Es dient dazu, Daten zu klassifizieren, also zu berechnen, wie ähnlich Eingangsdaten zu Mengen von vorhandenen Daten sind. Dieses System basiert auf der Struktur und Funktion eines biologischen neuronalen Netzes. Nervensysteme von Menschen und Tieren sind in ihrer Architektur unterschiedlich komplex. Nichtsdestotrotz werden sie alle aus ähnlichen Bausteinen gebildet: den Neuronen (Nervenzelle). Ein Neuron empfängt Signale über Dendriten. Diese sind mit Synapsen an anderen Nervenzellen verbunden, von denen die Signale ausgehen. Der Zellkörper eines Neurons ist die Recheneinheit und entscheidet, wie auf ein Eingangssignal reagiert wird. Über ein Axon übergibt die Nervenzelle ihre Antwort an weitere Nervenzellen. Diese vier Elemente (Dendriten, Synapsen, Zellkörper und Axone) werden übernommen, um künstliche neuronale Netze nach zu bilden. Seit 1943, als Warren McCulloch und Walter Pitts die ersten künstlichen neuronalen Netze entwickelt haben, sind viele unterschiedliche Modelle und Abwandlungen entstanden. Eines dieser neuronalen Netzmodelle ist das Perzeptron 1 (engl. Perceptron), welches von Rosenblatt 1958 eingeführt wurde 2. Die einfachste Form eines Perzeptrons - ein Perzeptron mit nur einem Neuron - ist in Abbildung 2.1 dargestellt und besitzt vier einem Neuron. Abbildung 2.1: Ein Perzeptron mit Eingänge. Die Eingänge (Input) eines 1 In dieser Arbeit wird auch von einem einschichtigen neuronalen Netz gesprochen. 2 Vgl. [Roj96]. 10

19 2 Grundlagen Neurons besitzen Gewichte. Diese Gewichte werden mit Hilfe einer Übertragungsfunktion (meist die Summe aller gewichteten Eingänge) mit den Eingangsdaten verrechnet und dienen als Kriterium für den Ausgang (Output) des Neurons. Alle Informationen, die ein Neuron fasst, sind durch die Gewichte definiert. Die Aktivierungsfunktion dient dazu, den finalen Output zu berechnen. In diesem Fall ist diese Funktion eine Stufenfunktion (engl. step function), die dem Ergebnis der Übertragungsfunktion eine 0 oder eine 1 zuweist. Die Übertragungs- sowie die Aktivierungsfunktion werden am Anfang der Erstellung eines neuronalen Netzes festgelegt. Die Gewichte eines Neurons müssen im so genannten Training berechnet werden. Das Training läuft im Allgemeinen in den folgenden vier Schritten ab: 3 1. Initialisierung der Gewichte (und ggf. des Bias) mit kleinen Zufallszahlen. 2. Berechnung der Netzeingabe durch Verwendung der Eingangsdaten (Eingangsvektor) und der Übertragungsfunktion (in diesem Fall Skalarprodukt) net = (x j w j + b) (2.1) 3. Berechnung der Ausgabe des Neurons mit Hilfe der Aktivierungsfunktion (in diesem Fall 0 oder 1) y = 1 i f net > 0 y = 0 i f net 0 (2.2) 4. Aktualisierung der Gewichte mit der Delta-Regel w i (k + 1) = w i (k) + ɛlx i b(k + 1) = b(k) + ɛ (2.3) k repräsentiert den Index der Iteration, l ist die Lernrate und ɛ ist definiert als ɛ = ȳ y (2.4) 3 Vgl. [Kul01]. 11

20 2 Grundlagen wobei ȳ der gewollte Output ist und y der aktuelle. 5. Für jeden Eingabevektor wiederhole Schritt 2 und 3 bis die Gewichte konvergiert sind oder die maximale Anzahl an Iterationen erreicht ist. 6. Wiederhole Schritt 2-4 für alle Trainingsdaten. Um nun eine Klassifizierung vorzunehmen, wird die Gleichung 2.1 mit dem Eingabevektor verwendet. Das Perzeptron (Neuron) mit dem höchsten Output ist das Ergebnis. Das Perzeptronenmodell eignet sich in den Fällen, in denen die Eingabedaten und die Klassen linear trennbar sind. Solche Fälle treten jedoch selten auf. Um Daten nichtlinear trennen zu wollen, muss ein mehrschichtiges neuronales Netz eingesetzt werden. Hierfür entwickelte Rumelhart 1986 den Backpropagation Algorithmus, der beschreibt, wie ein mehrschichtiges Netz trainiert werden kann. Backpropagation sucht das Minimum der Fehlerfunktion eines bestimmten Lernproblems durch Abstieg in der Gradientenrichtung. Die Kombination derjenigen Gewichte eines Netzes, die den Berechnungsfehler minimiert, wird als Lösung des Lernproblems betrachtet. 4 Die Vorgehensweise der Fehlerberechnung - also die Anwendung der Delta-Regel - gleicht der eines Perzeptrons. Der Unterschied liegt in der Verwendung einer Sigmoid-Funktion als Aktivierungsfunktion anstatt einer einfachen Step- oder Linearfunktion. Aufgrund dessen sind nicht-lineare Trennungen möglich. Die Sigmoid- Funktion eignet sich hier besonders, da sie eine einfache Ableitung besitzt, die nötig ist, um den Gradienten zur Fehlerbestimmung zu berechnen. Um diesen Fehler zu bestimmen, existieren eine Vielzahl von Backpropagation- Algorithmen. Auf zwei wird in näher eingegangen. Ein Vorteil eines neuronalen Netzes ist die Fähigkeit der Generalisierung. Wird eine Klasse durch eine Menge von Eingabedaten definiert, so werden ähnliche Daten, die nicht zu den Trainingsdaten gehören, dieser Klasse zugewiesen. Hierbei kann es zu dem Problem des Overfitting kommen. Dieses tritt ein, wenn das neuronale Netz zu lange trainiert und somit zu stark auf die Eingangsdaten spezialisiert wird, so dass keine Generalisierung mehr vorhanden ist: Die Erkennung für die Trainingsdaten ist dabei zwar sehr gut, jedoch 4 [Roj96]. 12

21 2 Grundlagen können ähnliche Daten nur noch schlecht klassifiziert werden. Dieses Problem umgeht man, indem die Eingangsdaten zum Trainieren in eine Trainingsmenge und eine Validierungsmenge eingeteilt werden. Zum Trainieren des Netzes wird die Trainingsmenge verwendet. Für die Berechnung des Fehlers jedoch die Validierungsmenge. Während des Trainings wird der Fehler kontinuierlich minimiert. Sollte der Fehler wieder ansteigen, wird das Training abgebrochen, um eine Spezialisierung zu verhindern und eine Generalisierung zu gewährleisten. Man spricht in diesem Zusammenhang auch von cross-correlation. Oversampling (oder Subsampling ) ist ein weiteres Problem, das beim Trainieren eines neuronalen Netzes auftreten kann. Hierbei muss darauf geachtet werden, dass die Eingabemenge (Feature-Vektoren) für jedes Objekt ähnlich ist. Ist dies nicht der Fall - also wenn etwa eine Klasse (Objekt) wesentlich mehr Trainingsbeispiele als andere besitzt - wird das neuronale Netz auf diese Eingabe spezialisiert, d.h. dieses Objekt wird dann mit einer sehr hohen Wahrscheinlichkeit erkannt. Führt man für die restlichen Objekte jedoch eine Erkennung durch, so ist es möglich, dass das andere Objekt als Ergebnis geliefert wird. Der Grund hierfür liegt in der Ungenauigkeit der Daten (Rauschen), was dazu führt, dass Objekte mit kleinen Datenmengen, von der großen Datenmenge nicht mehr getrennt werden können. Die kleinen sind nicht ausreichend, um die Gewichte des neuronalen Netzes zu ihren Gunsten anzupassen. Bei Anwendung des Gradientenabstiegsverfahrens ist es möglich, dass die Berechnung in einem lokalen Minimum endet. Da dies nicht zu vermeiden ist, sollte man die Berechnung des neuronalen Netzes mehrmals durchführen und das beste Ergebnis auswählen, etwa anhand der falsch erkannten Objekte bei einer simulierten Erkennung. 2.3 PhoneGuide PhoneGuide ist das Ergebnis des gleichnamigen Forschungsprojekts, das 2003 an der Bauhaus-Universität ins Leben gerufen worden ist. Es beschäftigt sich damit, einen digitalen Museumsführer auf herkömmlichen Kamerahandys zu realisieren. Bisher gab es zwei relevante Entwicklungsstufen. In der ersten Stufe ([FZB + 05]) wurden die Grundlagen gelegt und ein erster Prototyp entwi- 13

22 2 Grundlagen ckelt. Hierbei sind zuerst unterschiedliche globale Features zur Objektbeschreibung festgelegt und untersucht worden. 22 Features wurden am Ende evaluiert. Darunter waren Farb-Features (Durchschnittsfarbwerte, Varianzen, Histogramme im Verhältnis für die einzelnen Farbkanäle), sowie Struktur-Features (Verhältnisse von harten und weichen Kanten). Es stellte sich heraus, dass die Farb-Features alleine eine höhere Erkennungsrate erzielten, als in Verbindung mit den Struktur-Features. Die alleinige Verwendung von Struktur-Features lieferte das schlechteste Ergebnis. Somit verwendete der erste Prototyp einen 14-dimensionalen Vektor zur Charakterisierung eines Bildes. Als Classifier kam ein einschichtiges neuronales Netz (Perzeptronen) zum Einsatz, das auf dem Handy implementiert wurde. Sowohl das Training als auch die Erkennung wurden auf dem Handy ausgeführt, wodurch sich das Verfahren von verwandten Methoden unterscheidet. Die Erkennungsrate betrug für 50 Objekte 91%. PhoneGuide 2 [BBZB07] wurde im Jahr 2005 entwickelt und löste das Problem, dass die Erkennungsrate von PhoneGuide 1 bei mehr als 50 Objekten stark abfiel. Das einschichtige neuronale Netz in Verbindung mit den einfachen globalen Features schien mehr als 50 Objekte nicht trennen zu können. Um dies zu umgehen, wurde die Position des Benutzers bestimmt. Dadurch war es möglich, zur Laufzeit nur diejenigen Objekte zu trainieren, die den Benutzer umgeben haben. Die Positionsbestimmung wurde durch Bluetooth-Emitter realisiert, die zum Beispiel in einem Museum verteilt worden sind. Diese Emitter senden eine eindeutige ID im Umkreis von ca. 10 m aus, die das Handy empfangen kann. Jeder Bluetooth-Sender definiert somit eine Menge, in der sich der Benutzer befindet. Weitere Mengen entstehen dadurch, dass sich einzelne Bluetooth-Emitter in ihrer Sendereichweite überlagern. Je mehr Bluetooth- Sender vorhanden sind, desto weniger Objekte befinden sich in einer Menge und desto wahrscheinlicher ist eine gute Erkennung. Darüber hinaus wurde der Classifier erweitert, indem das Konzept des Belohnens und Bestrafens beim Trainieren eingesetzt wurde. Dabei werden die Gewichte des richtigen Perzeptrons (das hätte schießen müssen, es aber nicht getan hat) um die Differenz zwischen dem tatsächlichem und dem gewollten Ergebnisses nach oben verändert (addiert), sowie die des falsch geschossenen Perzeptrons (falls existent) nach unten korrigiert (subtrahiert). Eine weitere Neuerung war die Einteilung 14

23 2 Grundlagen der Bilder in Patches. Diese Patches wurden während des Trainings gewichtet. War die Varianz des Outputs eines Patches (Perzeptrons) sehr hoch so wurde das Patch niedrig gewichtet. Fiel die Varianz niedrig aus, so war die Gewichtung stark. Dadurch wurde die Erkennung auf die Bereiche konzentriert, die bei unterschiedlichen Perspektiven konstant waren. Ein Test in einem Museum ergab eine Erkennungsrate von ca. 95% für 155 Objekte. 15

24 3 Verwandte Arbeiten In diesem Kapitel werden verwandte Arbeiten vorgestellt, die im Ganzen (3.3) oder in Teilen (3.1 und 3.2) dieser Diplomarbeit ähnlich sind. In 3.1 werden Content Based Video Retrieval Systeme vorgestellt, die Verfahren einsetzen, um Keyframes aus einem Video zu extrahieren und zu clustern. 3.2 erläutert Systeme, die mit Hilfe von Benutzer-Feedback das bestehende System anpassen. Hauptsächlich werden Relevance Feedback Verfahren erläutert, wie sie im Information Retrieval Bereich eingesetzt werden. 3.3 stellt mobile, digitale Touristen-/Museumsführer vor, die dem PhoneGuide Projekt ähnlich sind. 3.1 Content Based Video Retrieval Ein Teil dieser Arbeit (Kapitel 4) beschäftigt sich mit der Aufbereitung von Videosequenzen, in dem Features berechnet, Keyframes extrahiert und gruppiert werden. Darüber hinaus werden Objekte mit Hilfe eines neuronalen Netzes klassifiziert. Dieser Versuch der effizienten Beschreibung von Videos und Klassifizierung von Bildern wird u. a. in dem Forschungsgebiet von Content Based Video Retrieval (CBVR) bearbeitet. Per Definition haben CBVR-Systeme das Ziel, es einem Benutzer zu erleichtern, eine Videosequenz aus einer möglicherweise sehr großen Datenbank abzurufen [MM00]. Anwendung soll CBVR vor allem für Archiv-Recherchen von Nachrichtenbeiträgen, Werbungen und Musik-Clips, aber auch bei Institutionen (Universitäten, Firmen), für die Suche nach aufgenommen Vorlesungen, Veranstaltungen und Vorträgen, finden. Hauptsächlich existieren in diesem Forschungsgebiet zwei Ansätze: Entweder es wird das ganze Video betrachtet und so aufbereitet, dass eine effektive Suche möglich ist oder es werden zuerst repräsentative Bilder (Keyframes) extra- 16

25 3 Verwandte Arbeiten hiert und nur diese bearbeitet. Werden alle Frames eines Videos untersucht, so werden diese meist in Features oder Signaturen umgewandelt, die jedes Frame beschreiben und die sich für Vergleiche mit anderen eignen. Dieser Ansatz lebt davon, dass keine Informationen verloren gehen im Gegensatz zu dem Keyframe-Verfahren [ALK99]. In [ZH06] werden Videos miteinander verglichen, die den gleichen Inhalt haben, aber durch Formatierungen (Bildauflösungen) und Komprimierungen unterschiedlich aussehen. Hier wird besonders darauf eingegangen, dass Keyframe Verfahren nicht anwendbar seien, da jedes einzelne Frame zum Vergleich wichtig sei. In [ALK99] werden die einzelnen Bilder anhand von Features in Symbole umgewandelt, so dass ein Video einer Zeichenkette (String) gleicht. Somit können Algorithmen zum Vergleichen von Strings angewendet werden. Die Keyframe Extrahierung hat den Vorteil, dass weniger Daten bereit liegen müssen, um eine Suche durchzuführen, was die Suchgeschwindigkeit fördert. Besonders bei dem dynamischen Verfahren spielt die Datenmenge eine große Rolle, da sich die Bilder zum Trainieren des neuronalen Netzes auf dem Handy befinden müssen. Die Keyframes eines Videos werden auf unterschiedliche Weise extrahiert. Um ein Video zu beschreiben, kann man dies auf Frame- Level, Shot-Level, Szenen-Level oder Video-Level betreiben [MM00]. Häufig wird auf dem Shot-Level gearbeitet, bei dem versucht wird, Einstellungsgrenzen (shot boundaries) zu finden, wie zum Beispiel Schnitte, Übergänge und Blenden. Bilder vor oder nach diesen Grenzen werden als Keyframes verwendet, so dass jede Einstellung (engl. shot) von einem oder mehreren Keyframe(s) beschrieben wird. Um diese Grenzen zu finden werden unterschiedliche Arten von Features, wie zum Beispiel Farb-, Kontrast-, oder Kanten-Features, berechnet. [PR03] generiert zur Keyframe-Extrahierung Histogramm-Features. Diese Features dienen zur Manhatten-Distanzberechnung von einem Frame zu den nächsten 16 Frames in einer Richtung. Liegt die Distanz unter einem Schwellwert t, so wird geschlussfolgert, dass eine Einstellungsgrenze vorliegt. Bei einem harten Schnitt ist das erste Bild des Shots ein Keyframe, bei Übergängen und Blenden ist es das zehnte, um nicht während des Übergangs eines auszuwählen. Nachdem die Keyframes extrahiert wurden, werden für diese weitere Features berechnet. Darunter sind HMMD und HSV Farbhistogramme, so- 17

26 3 Verwandte Arbeiten wie Faltungen (engl. convolution filter) zur Kantenerkennung. Diese Features ermöglichen eine Klassifizierung durch eine von drei vorgestellten Modellen. Im Vektorraum Modell wird zu jedem Bild in der Datenbank die Manhatten- Distanz berechnet. Das Bild mit dem zugehörigen Video das den kleinsten Abstand besitzt, ist das Ergebnis. Die nächste Methode wird durch den Boosting Algorithmus gewährleistet. Dabei werden mehrere schwache Classifier (engl. weak classifier) mit Hilfe des AdaBoost-Algorithmus (Adaptive Boosting Algorithm) kombiniert, um einen starken Classifier zu erhalten. Die schwachen Classifier erhält man durch Aufstellen von Hypothesen für jedes einzelne Feature. Die dritte Methode verwendet eine Variante des k-nearest-neighbor-algorithmus. Hierbei werden Distanzen des aktuellen Bildes zu richtigen, wie zu falschen Beispielen aus der Datenbank ins Verhältnis gesetzt. Je größer das Verhältnis, desto wahrscheinlicher das Ergebnis. Eine Suche in dem System findet per Suche durch Beispiel (engl. query by example) statt. Der nearest-neighbor- Algorithmus war in Tests am Effektivsten. Dieses Beispiel ist exemplarisch für eine Vielzahl von CBVR-Systemen (siehe auch: [FFLF05], [MHI + ], [OSMM99]), alle mit dem Ziel, eine effiziente Beschreibung durch Keyframes für Videos zu finden. In den letzten Jahren werden häufig die Funktionalitäten des MPEG Verfahrens, in denen die meisten Videos vorliegen verwendet, um Keyframes zu extrahieren. Hierbei werden die Bewegungsinformationen, die bei einer aufeinander folgenden Menge von Bildern auftreten, benutzt. In [Wol96] wird über die Zeit der Optical flow eines Films dargestellt. Lokale Minima in diesem Graph beschreiben dann die Keyframes, basierend auf der Annahme, dass stehende, ruhige Bilder der Anfang einer neuen Szene sind. Häufig werden in MPEG-Filmen die darin enthalten Komprimierungstechniken verwendet, um Keyframes zu extrahieren. [BSM + 99] und [NG03] verwenden diese Informationen. Wenn ein B-Frame, welches normalerweise Bewegungs-Vektoren enthält, keine besitzt, dann ist es sehr wahrscheinlich, dass sich die Szene ändert und man somit ein Keyframe gefunden hat. Die Bewegungs-Vektoren können zudem auch als Features zur Beschreibung verwendet werden. Auf eine Anwendung von MPEG-Informationen wird in Kapitel 4.2 näher eingegangen. [CZ05] stellt eine schnelle Vergleichssuche und Gruppierung von Videosequen- 18

27 3 Verwandte Arbeiten zen vor, um das World-Wide-Web zu durchsuchen. Jedes Frame eines Videos wird in vier Quadranten eingeteilt. Für jedes dieser Quadranten wird ein 178- Bin HSV Farbhistogramm berechnet. Diese werden verwendet, um ähnliche Videosequenzen aus einer Datenbank zu finden. Aufgrund der Möglichkeit, dass Videos den gleichen Inhalt, jedoch unterschiedliche Formate, Auflösungen und Qualität besitzen, werden die Ergebnisse der Suche gruppiert. Somit wird verhindert, dass gleiche Videos in unterschiedlichen Formaten als mehrere Treffer gelten und die Auswahl erschweren. Um sie zu clustern wird ein minimaler Spannbaum, basierend auf dem Algorithmus von Kruskal, erstellt. Ein Cluster entsteht, wenn die Kantenanzahl zwischen den Elementen einen festgelegten Schwellwert übersteigt. Diese Herangehensweise wird als robuster angesehen, als andere Cluster-Algorithmen, wie den hierarchischen Single-Link-Algorithmus, da dieser Ungenauigkeiten in der Abstandsmessung schlechter kompensieren kann. Die angeführten Kriterien zur Keyframe-Extrahierung sind mit denen in der vorliegenden Arbeit nur teilweise zu vereinen. Obwohl sehr ähnliche Techniken verwendet werden, um die Extrahierung durchzuführen (Feature-Extrahierung und Distanzberechnung), sind die Kriterien, Frames auszuwählen, unterschiedlich. In CBVR Systemen werden nach technischen Übergängen zwischen einzelnen Szenen gesucht - also meist nach abrupten Bildwechseln im Video. Existieren solche Übergänge nicht, werden auch keine Keyframes generiert. In dieser Arbeit ist die Entwicklung der einzelnen Bilder eines Videos über die Zeit wichtig: Sobald sich der Bildinhalt zu stark ändert, wird ein Keyframe generiert. Algorithmisch liegt der Unterschied in der Analyse des Filmmaterials. Wie in [PR03] beschrieben, werden nur die vorherigen oder nächsten 16 Frames zum aktuellen betrachtet, um zu entscheiden, ob ein Keyframe vorliegt. Somit können identische Keyframes existieren, wenn sie an unterschiedlichen Stellen des Videos auftauchen. Diese lokale Betrachtung ist in allen CBVR- Verfahren anzutreffen. Im Gegensatz dazu werden in dieser Arbeit alle Frames mit den bereits vorhandenen Keyframes begutachtet, um zu entscheiden, ob sie Keyframes sind. Kein Keyframe gleicht dabei dem anderen. 19

28 3 Verwandte Arbeiten 3.2 Adaptive Verfahren Das rückkoppelnde Lernen, wie es in 5.3 vorgestellt wird, dient dazu, kontinuierlich Daten und Information des Benutzers zu sammeln, um das System und somit die Erkennung zu verbessern. Diese Funktionalität kann man u. a. mit dem Relevance Feedback aus Information Retrieval Systemen vergleichen. Die Idee hierbei besteht darin, dass Benutzer bereits gefundene Dokumente bewerten (also ihre Relevanz zur Anfrage), um die Suche für ähnliche Dokumente anzupassen und zu verbessern. Somit soll die Lücke geschlossen werden zwischen den low-level Features, die zur Beschreibung verwendet werden und der subjektiven Wahrnehmung des Menschen, der eine Suchanfrage stellt. Aufgekommen ist das Verfahren 1989 im Bereich des Document Retrieval. Mitte der 90er wurde es dann von Content Based Image Retrieval Systemen aufgegriffen und weiterentwickelt [rui98]. In [ZH03] findet sich eine umfangreiche Übersicht von Relevance Feedback Methoden. Exemplarisch verwendet [MBS00] einen Entscheidungsbaum (engl. decision tree), der abhängig des Feedbacks durch den Nutzer angepasst wird. Die vorgestellte Idee basiert darauf, dass bei der Suche eines Bildes nicht alle Features gleich wichtig sind. Sucht man zum Beispiel ein Auto einer gewissen Marke, so sind Features, die die Form beschreiben wichtiger, als Farb-Features. Aufgrund dessen, besteht eine Suche aus mehreren Iterationen. Nach jedem Schritt muss der Benutzer die dargebotenen Ergebnisse einer Bildersuche bewerten, indem er sie in relevante und irrelevante Gruppen einteilt. Daraufhin wird aus den ausgewählten Bildern ein Entscheidungsbaum erzeugt. Dieser wird verwendet, um die vorhandene Datenbank mit Feature-Vektoren in relevante und irrelevante Images einzuteilen. K relevante Images, mit dem geringsten Abstand zur Suchanfrage (query by image) werden dem Benutzer präsentiert, der dann wiederum eine neue Relevanzeinteilung der neuen Menge vornimmt. Dies wird so lange ausgeführt, bis der Benutzer das richtige Ergebnis gefunden hat, oder er die Suche abbricht. Evaluiert wurde dieses Verfahren mit einer Menge von 1004 Images, die in 27 Klassen eingeteilt wurden. Mit K = 4 wurde nach 10 Iterationsschritten eine Präzisionsrate 1 von ungefähr 68% erreicht. Für K = 10 betrug das Ergebnis ca. 1 Verhältnis von der Anzahl relevanter Bilder zu allen Bildern. 20

29 3 Verwandte Arbeiten 75%. Auch in dieser Arbeit wird das Feedback des Benutzers verwendet, um den Classifier und somit die Erkennungsrate zu verbessern. Es wird jedoch nur ein Image pro Suchanfrage bewertet (wenn man eine Erkennung durchführt) und als relevant betrachtet, indem man das Bild (Objekt) angibt, dass gesucht war. Der Unterschied liegt nun darin, dass dieses System neue Bilddaten liefert und empfängt, um den Classifier anzupassen, im Gegensatz zu dem vorgestellten Verfahren, welches Informationen zur Gewichtung von Features erhält. Die Suchanfragen von unterschiedlichen Benutzern sind unabhängig voneinander. In der vorliegenden Arbeit jedoch trägt jede Information jeder Person dazu bei, das System für zukünftige Anfragen zu verbessern. Auch der Aufwand für den Benutzer ist bei dem vorgestellten Verfahren höher, da er aktiv Dokumente bewerten muss. Dieses entfällt bei dem Ansatz dieser Arbeit. Unabhängig davon wurde in [BBHR04] ein office task assistance system entwickelt, welches mit Hilfe von Kameras Objekte auf einem Schreibtisch und Handgesten identifizieren kann. Zur Erkennung wird ein Classifier basierend auf einem neuronalen Netz verwendet. Um in diesem System neue Objekte zu trainieren oder vorhandene zu verbessern, kann der Benutzer in einen teaching mode wechseln. Dieser wird per Tastatur aktiviert und mit einer Geste wird das neue oder schlecht trainierte Objekt ausgewählt. Daraufhin nimmt das System ein Foto des betreffenden Objekts auf. Der Benutzer muss die Position des Objekts mehrmals ändern, damit das System das Objekt aus unterschiedlichen Perspektiven aufnehmen kann. Wie oft dies geschieht, bleibt dem Benutzer überlassen. Am Ende muss er wiederum über die Tastatur ein Label vergeben, das angibt, ob es sich um ein neues Objekt handelt oder ein altes verbessert werden soll. Ist diese Datenaquisition abgeschlossen, wird in einem fast training mode der Classifier zur Laufzeit neu trainiert und erkannt. Gleichzeitig wird in einem full training mode das komplette System neu trainiert, das eine Vektor-Quantisierung und eine Hauptkomponentenanalyse (PCA) vor dem Generieren des Classifiers ausführt. Ist der full training mode abgeschlossen, wird der vorhandene Classifier ersetzt. In einer Testumgebung mit zwölf Objekten wurden für jedes 60 Bilder aus 16 unterschiedlichen Perspektiven aufgenommen. 120 der insgesamt 720 Bilder wurden zum Training verwendet, der Rest zur Erkennung. Das System weist für diese zwölf Objek- 21

30 3 Verwandte Arbeiten te eine Erkennungsrate von etwas mehr als 80% aus. Wird der fast training mode angewendet und mit diesem Classifier eine Erkennung durchgeführt, so sinkt diese Zahl abhängig von der Anzahl neuer Objekte. So zum Beispiel sinkt die Erkennung von 100% - wenn nur zwei Objekte trainiert worden sind - auf unter 70%, für zehn hinzugekommene Objekte. Die Trainingszeit für zwölf Objekte im full training mode beträgt ca. 160 Sekunden, im fast training mode knapp 80 Sekunden. Wie auch in dieser Arbeit werden zur Laufzeit Daten gesammelt, um das System zu verbessern. Zudem ist es möglich, dass Benutzer neue Objekte trainieren können und dass sie zur Laufzeit einen verbesserten Classifier verwenden können. Neue Objekte in diesem System zu trainieren ist nicht sinnvoll, da die Objekte, die erkannt werden sollen, schon vorher feststehen. Den Classifier in Echtzeit zu adaptieren scheint in der Museumsapplikation ebenfalls nicht nötig. Zum einen ist es ein System, welches über lange Zeit betrieben wird, so dass ein tägliches Update der Daten ausreichen sollte. Zum anderen hätte man eine hohe Datenkommunikation, die eine Benutzung des Handys mehr hemmen (bzgl. Performance) als dienen würde. Der Nachteil des in [BBHR04] vorgestellten Verfahrens ist die bewusste Interaktion des Benutzers, die nötig ist, um neue Daten anzuhäufen (Tastaturkommandos, Gesten). Hier ist das System dieser Arbeit im Vorteil, da die Daten im Hintergrund, während der Benutzung, gesammelt werden und der Anwender nicht gestört wird. 3.3 Mobile Applikationen In diesem Teil werden Systeme vorgestellt, die dem Gesamtkonzept PhoneGuide ähneln oder verwandte Einsatzmöglichkeiten bieten. Dabei werden Unterschiede und Gemeinsamkeiten, wo es nötig erscheint, herausgearbeitet 2. Mobile digitale Führer (engl. Guide) für Museen und Städte lassen sich hauptsächlich in zwei Forschungsgebiete einteilen: ortsbasierte Systeme bestimmen die Position des Benutzers, um ihm Informationen über seine Umgebung darzubieten. Bildbasierte Systeme wählen durch Bild- oder Objekterkennungsver- 2 Die Entwicklungsstufen und relevanten Arbeiten von PhoneGuide wurden in 2.3 vorgestellt. 22

31 3 Verwandte Arbeiten fahren Gegenstände aus, um Informationen zu erhalten. Im Folgenden werden zu beiden Ansätzen unterschiedliche Arbeiten vorgestellt. Im Anschluss werden einige Systeme vorgestellt, die sich nicht in einer der beiden Gruppen einteilen lassen, oder keine digitalen Führer sind, aber mobile Funktionen bieten. [LPA05] stellt einen mobilen, bildbasierten Stadtführer für Smartphones vor, mit dem man Objekte, wie Gebäude, im Freien erkennen kann und Informationen dargeboten bekommt. Im ersten Schritt wird die Software (entwickelt in Symbian) installiert, indem man sie entweder von einem PC transferiert, oder sie mit Hilfe des Handys von einer Website herunterlädt. Nachdem ein Foto des betreffenden Objekts mit dem Gerät erstellt wurde, wird die Position des Benutzers per GPS Signal bestimmt. Ist diese erfolgreich, so wird sie und das aufgenommene Bild per GPRS oder UMTS zu einem Server gesendet. Im zweiten Schritt verwendet der Server die empfangenen Daten zur Objekterkennung. Dabei werden markante Features mit dem SIFT-Algorithmus extrahiert und diese mit Features von anderen Bildern einer Datenbank verglichen. Die Position des Benutzers dient dazu, die Anzahl der Objekte in der Datenbank für die Suche einzugrenzen. Wurde ein entsprechendes Objekt gefunden, werden zu diesem Text und Bilder aus einer zweiten Datenbank gewonnen. Diese Informationen werden an das Handy gesendet. Zudem wird auf dem Display des Geräts eine URL angeboten, die zu weiteren detaillierten Informationen führt. [HL04] stellt einen Museumsführer basierend auf einem Pocket-PC mit Kamera vor. Das mobile Gerät ist Bestandteil einer Client- Server-Architektur. Das aufgenommene Bild wird zu einem Server gesendet, um die Erkennung durchzuführen. Zur Feature-Extrahierung wird der SIFT- Algorithmus angewendet. Zur Klassifizierung des erstellten Fotos wird ein Verfahren vorgestellt, das analog zur Textklassifizierung (engl. text retrieval) angewendet wird. Ein Bild wird hierbei als Dokument angesehen, das aus mehreren visuellen Wörtern besteht. Diese werden zu Vektoren zusammengefasst. In einem ersten Schritt wird die Kosinus-Distanz zwischen dem aktuellen Vektor und einem Vektor aus der Datenbank berechnet, um diesen einzuordnen. Danach wird das Ergebnis neu sortiert, indem die geometrische Konsistenz zwischen den Features des aktuellen Bildes und denen der Datenbank, ermittelt wird. Hierfür wurden in einem Kunstmuseum 200 Bilder zur 23

32 3 Verwandte Arbeiten Evaluierung aufgenommen. Die Datenbank enthielt 850 Images von Gemälden. Als Erkennungsrate wird 80% angegeben. Diese wird jedoch nur erreicht, wenn die ersten 20 geordneten Ergebnisse betrachtet werden, d. h. das richtige Gemälde befand sich unter den ersten 20 Ergebnisbildern. Wurde nur das erste Ergebnis betrachtet, so betrug die Erkennungsrate etwas mehr als 20%. In [LPA05], wie auch in [HL04] werden die Daten zur Erkennung zu einen zentralen Server gesendet. Hiermit unterscheiden sie sich von PhoneGuide. PhoneGuide führt die Erkennung auf dem mobilen Gerät durch, so dass während der Benutzung kein Datentransfer stattfindet. Somit können auch keine Kosten entstehen, weder für den Betreiber (Hardware), noch für den Anwender (Datenübertragung). Zudem ist dieses System weniger anfällig für Ausfälle von Hardware (Server, Empfangssationen), da die Erkennung nicht zentralisiert ist. Die Erkennungsrate von [HL04] liegt darüber hinaus unter der dieser Arbeit, obwohl nur Gemälde erkannt werden, anstatt dreidimensionale Objekte, die durch Verdeckungen schwieriger zu erkennen sind. [BFG06] hat einen Museumsführer entwickelt, der mit Hilfe eines Tablet-PCs und einer Webcam Bilder aufnimmt, um Ausstellungsstücke zu erkennen. Im Gegensatz zu dem vorherigen Verfahren, findet hier kein Datenverkehr statt. Die Aufnahme der Bilder, wie auch die Erkennung und die Präsentation des Ergebnisses, werden auf dem Tablet-PC 3 durchgeführt. Die Erkennung basiert auf einer Abwandlung des SIFT-Algorithmus, genannt SURF. Um die Ableitung der Gaußverteilung 2. Ordnung zu berechnen werden so genannte Box Filter verwendet, die den Vorteil haben, schnellere Ergebnisse zu liefern. Unterschiedliche Konstellationen des SURF-Algorithmus (unterschiedliche Anzahl von Features, rotationsvariant/invariant, Klassifizierungsart) wurden für 20 Objekte aus einem Museum getestet. 205 Bilder (320x240) aus unterschiedlichen Perspektiven der Objekte wurden aufgenommen, um skalierungsinvariant zu sein. Diese werden in zwei Mengen aufgeteilt, um abwechselnde Beleuchtungen und zwei Kameras zu unterstützen. Zum Testen wurden 116 Fotos aufgenommen, die in drei Gruppen eingeteilt wurden. Eine Evaluierung zeigte, dass der vorgestellte Algorithmus zur Erkennung schneller ist und bessere Ergebnisse für diesen Fall liefert, als der SIFT-Algorithmus. Die höchste 3 Pentium M 1,7 GHz. 24

33 3 Verwandte Arbeiten Erkennungsrate beträgt 91.5%. Hierbei wird die maximale Anzahl an Features eingesetzt. Der Algorithmus unterstützt jedoch keine Rotation des Geräts. Der Autor geht davon aus, dass Anwender den Tablet-PC nicht stark rotieren. Beim Vorgänger dieser Arbeit [BFG05] wurden zusätzlich Bluetooth-Emitter im Museum verteilt, um die Position des Benutzers zu bestimmen, um somit die Erkenung zu verbessern. Diese Arbeit, besonders in Verbindung mit der Positionsbestimmung durch Bluetooth Emitter, gleicht der vorliegenden Arbeit. Die Erkennungsraten, wie auch die Testumgebung in einem Museum sind sehr ähnlich. Der größte Unterschied liegt jedoch in der Verwendung der Hardware zur Erkennung. Während diese Arbeit auf kompakte Mobiltelefone zurückgreift, die fast jeder Anwender besitzt, wird in [BFG06] ein Tablet-PC eingesetzt. Dieser ist nicht nur unhandlich, da man ihn mit zwei Händen bedienen muss, sondern auch teuer. Da nur sehr wenige Menschen einen eigenen Tablet-PC besitzen, müsste der Museumsbetreiber in der Praxis diese anbieten, was hohe Kosten hervorriefe. Die aufwendigen Algorithmen machen es unmöglich, den vorgestellten Ansatz auf einem Handy zu realisieren. [BCK05] bietet einen guten Überblick über ortsbasierte (location based) Systeme. Alle ortsbasierten Systeme haben gemeinsam, dass sie eine Karte darstellen, so dass auch von Karten-basierten mobilen Führern gesprochen wird. Die Informationen zur Bestimmung der Position werden durch unterschiedliche Techniken, wie GPS, WLAN, Infrarot etc. gewonnen. Anhand dieser werden dem Anwender Services angeboten. Eines der ersten Systeme ist Cyberguide [AAH + 97], das 1997 entwickelt wurde. Auf einem PDA wird eine schwarzweiße Karte dargestellt, die Gebäude und Freiflächen darstellt. Außerhalb von Gebäuden werden GPS-Signale eingesetzt, um die Position des Benutzers zu bestimmen. Innerhalb von Gebäuden wurden Infrarot-Emitter verteilt. Das Hippie/Hips Projekt entwickelte einen Ausstellungsführer, der zum einen dem Nutzer als Wegweiser dient, zum anderen Services anbietet, die über eine LAN- Verbindung wahrgenommen werden können. Infrarot-Emitter sind in der Nähe von Ausstellungsstücken angebracht, um die erwähnten Funktionalitäten anzubieten. Die verschiedenen Stationen, die der Besucher in einer Ausstellung abgeht, werden protokolliert, um ein Benutzerprofil zu erstellen. Basie- 25

34 3 Verwandte Arbeiten rend auf diesen Informationen schlägt das Gerät dem Anwender weitere Ausstellungsstücke vor, die ihn interessieren könnten. [PUM02] ist ein mobiler Stadtführer, der mit Hilfe von GPS-Signalen oder Mobilfunk-Zellen die Position des Benutzers bestimmt. Über UMTS kann der Anwender ortsbasierte Informationen auf seinem Handy empfangen. Die dynamisch generierten Karten sind interaktiv (zum Beispiel zoomfähig) und können annotiert werden. GUIDE [CDM + 00] ist ein weiteres Projekt, das als Stadtführer ausgelegt ist. Hierbei wird die Position des Nutzers durch WLAN Hotspots bestimmt, die in der Stadt verteilt sind. Mit diesen werden die Daten übertragen, die dem Nutzer Informationen über nahe gelegene Objekte liefern. Mit Hilfe eines Tablet- PCs 4 kann sich der Anwender über ausgewählte Objekte nähere Informationen liefern lassen, indem er dem System die Frage beantwortet, ob das Objekt nah oder fern ist. Anhand der Antwort und der ungefähren Position des Benutzers wird eine Auswahl an Objekten in Form von Bildern dargestellt. [DCDH05] untersucht, ob Nutzer GUIDE mit bildbasierter Objekterkennung, einer ortsbasierten Lösung vorziehen würden. Dazu wurden 27 Testpersonen orts- und bildbasierte 5 Systeme auf einem Gerät angeboten. Zwar haben sich für beide Systeme gleich viele Personen positiv ausgesprochen, so dass keine eindeutige Präferenz festzustellen war. Überraschend war jedoch die Beobachtung, dass die Nutzer das bildbasierte System trotz schwächerer Ergebnisse nicht schlechter bewerteten. Der Autor folgert, dass bildbasierte Systeme akzeptiert werden und fordert von ihnen die Bereitstellung von Objekt- und Positionsinformationen. Leider werden keine Gründe genannt, warum ein Teil der Anwender das bildbasierte System bevorzugen. Ortsbasierte Systeme beschreiben einen Bereich der Funktionalität von Phone- Guide, da die Position des Nutzers mit Hilfe von Bluetooth-Emittern bestimmt wird. Nichtsdestotrotz ist die Positionsbestimmung nur ein Mittel, um die Objekterkennung zu verfeinern. Basierend auf der Position werden keine Objekt- Informationen dem Benutzer dargeboten. Darüber hinaus können bildbasierte Systeme schneller und intuitiver sein, da nur ein Foto zu erstellen ist, um ein 4 In der späteren Entwicklung wurden PDAs eingesetzt. 5 Die Objekterkennung wurde in dem Versuchsaufbau nur simuliert. Das aufgenommene Bild ist an einen Tablet-PC transferiert worden und ein Mitarbeiter hat ein Ergebnisbild manuell zurückgesendet. 26

35 3 Verwandte Arbeiten bestimmtes Objekt auszuwählen. Eine Suche oder Befragung durch ein System entfällt. [DCDH05] hat zudem beobachtet, dass ortsbasierte Systeme eher als eine Art Katalog angesehen werden. Der Anwender hat die Liste der Objekte betrachtet, um zu sehen was ihn umgibt, anstatt mit dieser Information ein Objekt zu identifizieren. [YGTD05] stellt eine bildbasierte Suche auf einem mobilen Gerät vor, mit dem man relevante Websites über ein aufgenommenes Objekt finden kann. Es werden Bilder gesucht, die dem Fotografiertem gleichen. Um dies erfolgreich durchzuführen, wird eine Segmentierung vorgenommen, die das Objekt vom Hintergrund trennt. Dabei muss der Nutzer zum einen ein Foto des Objekts erstellen und ein Foto aus der gleichen Perspektive ohne Objekt, so dass er nur den Hintergrund fotografiert. Danach wird ein einfacher Figur/Grund-Trennungsalgorithmus angewendet. Eine Benutzerstudie zeigt, dass dieses interaktive Verfahren besser von den Probanden angenommen wird, als ein manuelles Verfahren, bei dem mit Hilfe von Adobe Photoshop ein Objekt ausgeschnitten werden muss. Das getrennte Objekt wird als Bild zu einem Server übertragen. Dort wird mit einer Konturerkennung nach ähnlichen Images gesucht und gegebenenfalls die dazugehörige Website angezeigt. Einen erweiterten Audio-Guide stellt das Projekt der Universität Magdeburg vor [Vie05]. Anstatt ein Audio- Gerät auszuleihen, kann hier das eigene Handy verwendet werden. An den Exponaten des Museums sind Nummern angebracht, die in die Guide-IT Software auf dem Handy eingegeben wird. Daraufhin werden Text- und Audio-Informationen abgespielt, sowie die Position auf einer Karte angezeigt. Die Positionsbestimmung basiert auf der eingegebenen Nummer. Obwohl in diesem Fall das Handy als Museumsführer verwendet wird, müssen immer noch Nummern an jedes Ausstellungsstück angebracht werden, um es zu identifizieren. Dies hat den Nachteil, dass es die Optik der Exponate beeinflusst, wenn neben jedem Ausstellungsstück ein Schild mit einer Nummer positioniert ist. Mit dem Ansatz dieser Arbeit können ohne visuelle Hilfsmittel beliebig viele Objekte erkannt werden. Somit bleibt das Arrangement der Exponate unberührt. [KRSW04] präsentiert eine Infrastruktur, um mit einem Handy eine Gesichtserkennung durchzuführen. Nachdem ein Foto von einer Person erstellt wor- 27

36 3 Verwandte Arbeiten den ist, wird dieses Foto als MMS Nachricht zu einem Server transferiert. Dort wird eine Gesichtserkennung durchgeführt und das Ergebnis als SMS zurückgesendet. Der Schwerpunkt dieser Arbeit liegt im Design des Systems, das für unterschiedliche Kommunikationsarten und Services Schnittstellen bereit hält. Die Gesichtserkennung wird auf einem Rechner-Cluster durchgeführt, um die Performance zu erhöhen. [CHHH05] stellt eine interessante Methode vor, um Objekte mit einem PDA in einem Museum auszuwählen. Das mobile Gerät ist mit einem digitalen Kompass ausgestattet, mit dem die Orientierung des Anwenders bestimmt werden kann. Aufgenommene Panorama-Bilder von jedem Raum im Museum werden auf dem Display des PDAs dargestellt und auf die reale Welt, mit Hilfe des Kompasses, ausgerichtet. Betrachtet der Museumsbesucher eine Wand des Museums, so erscheint die gleiche auf dem mobilen Gerät. Durch einen Touchscreen kann der Anwender das betreffende Objekt auswählen. Die ID des Objekts wird an einen Server gesendet, der die Anfrage verarbeitet und die vorhandenen Informationen über das Exponat zurück an das mobile Gerät sendet. Eine Benutzerstudie zeigte, dass dieses Verfahren die Schnelligkeit eines Anwenders, das richtige Objekt auszuwählen, um 25% erhöht, im Vergleich zu einem digitalen listenbasierten Verfahren, bei dem nach dem richtigen Objekt gesucht werden muss. Der Nachteil ist, dass neben dem PDA ein digitaler Kompass nötig ist. Somit ist eine praktische Anwendung schwierig. 28

37 4 Datenaufbereitung Die Datenaufbereitung oder Vorverarbeitung ist ein wesentlicher Bestandteil dieser Arbeit und der Erweiterung von PhoneGuide, wie es in 2.3 vorgestellt worden ist. PhoneGuide 2 gibt für 155 Objekte eine Erkennungsrate von über 95% [BBZB07] an. Dieses Ergebnis ist zunächst beachtlich. Allerdings muss bei der Angabe die Einschränkung gemacht werden, dass die Erkennung eines Objekts (Ausstellungsstücks) nur dann Erfolg versprach, wenn das Foto zur Erkennung in dem gleichen Bereich aufgenommen wurde, wie eines der drei vom Training. Die Fotos zum Trainieren des neuronalen Netzes wiederum, wurden alle aus der gleichen Entfernung erstellt und befanden sich alle auf der X-Achse 1 relativ zum Objekt (siehe 4.1). Dadurch wurden die Bewegungen nach links und rechts des Betrachters zur Erkennung des Objekts unterstützt, nicht jedoch die Bewegung auf der Y- oder Z-Achse 2. Aufgrund dessen verschlechterte sich die Erkennung rapide, sobald der Benutzer aus dem Trainingsbereich heraus trat, der durch die drei Fotos definiert worden war. Eine erste Lösung hätte sein können, mehr Fotos von jedem Objekt aufzunehmen, um die Erkennungsrate zu steigern. Bei diesem Ansatz ist es jedoch schwierig festzustellen, aus welchen Perspektiven ein Trainings-Foto aufgenommen werden muss, um das Ausstellungsstück ausreichend zu repräsentieren. Durch solch eine manuelle Methode würden zudem unweigerlich redundante Informationen entstehen, die die Datenmenge unnötig vergrößern würden. Dies wiederum führt zu einer längeren Trainingszeit auf dem Handy. Darüber hinaus können Bilder, die aus unterschiedlichen Entfernungen zu dem Objekt aufgenommen werden, wegen der limitierten Trainingsdurchgänge nur schlecht durch ein Perzeptron reprä- 1 Waagerecht verlaufende Achse. 2 Tiefenachse. 29

38 4 Datenaufbereitung Abbildung 4.1: Idealisierte Veranschaulichung des Trainingsbereichs (rot). sentiert werden. Aufgrund dessen sind Verfahren entwickelt worden, um Daten für jedes Objekt zu sammeln und automatisch aufzubereiten, um einen Classifier optimal zu trainieren. Hierbei sind zwei Verfahren entstanden. Von dem dynamischen Verfahren wird im Laufe dieser Arbeit gesprochen, wenn die Daten (Feature- Vektoren) auf ein Handy übertragen werden, um ein einschichtiges neuronalen Netz dort in Echtzeit zu trainieren. Beim statischen Verfahren werden dreischichtige neuronale Netze auf einem separaten Server generiert, die auf das Handy transferiert werden und ad hoc ausgewählt werden können. Besonders beim dynamischen Verfahren ist es wichtig, die Datenmenge so gering wie möglich zu halten, denn je mehr Daten angehäuft werden, desto länger ist die Trainingszeit auf dem Handy. Hierbei ist also ein Kompromiss zu finden zwischen einer ausreichenden Beschreibung des Objekts und der Datenmenge. Eine möglichst verlustfreie Datenreduktion wird durch das Extrahieren von Keyframes (4.2) und der Datenabstraktion (4.4) erzielt, welche in diesem Kapitel beschrieben werden. Aufgrund der mangelnden Anzahl von 30

39 4 Datenaufbereitung Trainingsdurchgängen werden die extrahierten Keyframes geclustert (gruppiert), so dass weniger komplexe Teilmengen entstehen. Für jede entstandene Teilmenge wird ein Perzeptron generiert. Dieses Verfahren wird in 4.3 erläutert. Dieser Ablauf (Keyframe Extrahierung, Clustering und Datenabstraktion) ist nötig, um zur Laufzeit (dynamisch) das Training auf einem Handy zu ermöglichen, wenn sich das Gerät in einer neuen Bluetooth-Menge befindet. Im statischen Fall jedoch, wenn die neuronalen Netze für die unterschiedlichen Bluetooth-Mengen offline auf einem Server trainiert werden, fällt die Datenabstraktion weg, da die Datenmenge auf dem Server kein Problem darstellt. In Kapitel 5.1 wird näher auf diese beiden Verfahren eingegangen. Bis auf das Aufnehmen und Berechnen der Features werden alle oben genannten Operationen auf einem Server durchgeführt. Dies widerspricht jedoch nicht der eigentlichen Idee von PhoneGuide, das Training und besonders die Erkennung auf dem Handy, ohne Kommunikation während der Bedienung, durchzuführen. Die in diesem Kapitel vorgestellten Schritte müssen nur einmal 3 ausgeführt werden, um die gesammelten Daten so aufzubereiten, dass die mobile Applikation das Training und die Erkennung ausführen kann. Im Folgenden werden die Algorithmen zur Datenaufbereitung erläutert, sowie deren Einsatz im statischen und dynamischen Verfahren. Der gesamte Ablauf der Datenaufbereitung wird anhand eines Beispiels verdeutlicht. In der vorliegenden Arbeit wird versucht, englische Ausdrücke oder Wörter ins Deutsche zu übersetzen. Das englische Original wird in Klammern einmalig erwähnt, um etwaige Missverständnisse zu vermeiden. In manchen Fällen wird jedoch direkt das englische Wort verwendet (Beispiel: Classifier, Clustering), wenn keine adäquate Übersetzung vorliegt. Wenn von PhoneGuide gesprochen wird, so ist dies als Synonym für die Ergebnisse dieser Diplomarbeit zu sehen. Mit PhoneGuide 2 werden der Vorgänger und der Entwicklungsstand vor dieser Arbeit bezeichnet. 3 Aufgrund der adaptiven Verfahren (siehe 5.3.1) werden diese häufiger ausgeführt. 31

40 4 Datenaufbereitung 4.1 Features Um eine Objekterkennung durchzuführen, müssen die Bilddaten der Ausstellungsstücke in einer repräsentativen Datenstruktur vorliegen. Aufgrund dessen werden aus diesen Bildern Features zur Beschreibung extrahiert. In [FZB + 05] wurden diese Features entwickelt und evaluiert. Es stellte sich heraus, dass 14 Features zunächst ausreichend waren, um eine gute Beschreibung zu gewährleisten. Fünf dieser Features charakterisieren die Durchschnittswerte in den drei Farbkanälen, sowie die Verhältnisse dieser Features untereinander. Weitere fünf Features gehen ähnlich vor, verwenden jedoch die Varianz anstelle des Durchschnitts. Die letzten vier sind durch ein Histogramm charakterisiert und stellen das Verhältnis zwischen der maximalen Anzahl an Pixeln mit der gleichen Intensität zu allen Pixeln dar (in den Farbkanälen und grau). Für das damalige Verfahren wurden diese Features verwendet, da die Datenmenge pro Bild komfortabel klein ist. Untersuchungen zeigten jedoch 4, dass diese Histogramm-Features nur einen geringen Anteil der Beschreibung ausmachten. Aufgrund dessen wurden sie erweitert, so dass nun nicht mehr nur ein Bin (Intensitätsbereich) eingesetzt wird, sondern mehrere. Jeder dieser Bins repräsentiert ein Feature, indem die Anzahl der Pixel in einem Bin durch die Gesamtanzahl aller Pixel dividiert wird. Maximal wären dies 255 pro Farbkanal. Dadurch steigt die Datenmenge pro Bild. In der Literatur (siehe 3.1) erscheint dies als ein Standardverfahren und es stellt sich die Frage, wie viele Bins pro Farbkanal eingesetzt werden: Verwendet man zu viele Bins, entsteht starkes Rauschen. Setzt man zu wenige ein, so ist die Verallgemeinerung der Daten zu groß und somit der Informationsgehalt zu gering. Zudem bedeutet eine Erhöhung der Zahl der Features eine längere Wartezeit, bis im dynamischen Verfahren ein neuronales Netz trainiert, oder eine Erkennung durchgeführt worden ist. Aufgrund dessen wurde folgender Test durchgeführt: 15 ähnliche Objekte mit insgesamt ca. 300 Keyframes dienten als Grundlage. Aus jedem dieser Keyframes wurden die Farb-Features (ersten zehn Features, s. o.) extrahiert, sowie jeweils unterschiedliche Konfigurationen von Histogramm- Features. Diese wurden mehrmals trainiert und erkannt, da aufgrund von loka- 4 Es wurden Erkennungen durchgeführt, einmal mit und einmal ohne Histogramm-Features 32

41 4 Datenaufbereitung Abbildung 4.2: Erkennungsrate und Dauer des Trainings bei unterschiedlichen Bin-Konfigurationen. len Minima das neuronale Netz unterschiedliche Ergebnisse liefert. Der Durchschnitt aller nicht richtig erkannten Frames wurde registriert. Abbildung 4.2 zeigt für verschiedene Bin Konfigurationen zum einen die Anzahl der Fehler bei einer Erkennung, sowie die Dauer für das Training eines neuronalen Netzes auf dem Handy für eine bestimmte Anzahl an Keyframes und Cluster. Es zeigt sich, dass für fünf Bins, also insgesamt 3(RGB) x = 25 Features, 38 Frames nicht richtig erkannt worden sind. Diese Zahl sinkt auf knapp 26 für 10 Bins (40 Features). Bis 30 Bins pro Farbkanal bleibt diese Zahl relativ konstant (kleiner Anstieg nach 15 Bins) und fällt erst wieder am Ende von 50 Bins. Dem gegenüber steht die Dauer des Trainings im dynamischen Verfahren. Für 5 Bins (inklusive den Farb-Features) beträgt die Dauer 61 Sekunden. Diese Zahl steigt linear an und endet für 50 Bins bei ca. 307 Sekunden. Anhand dieser Messergebnisse musste ein Kompromiss gefunden werden, zwischen Erkennungsrate und Trainingsdauer. Bildet man das Verhältnis zwischen diesen beiden Werten, so scheint 10 Bins pro Farbkanal die beste Lösung zu sein. Würde man 50 Bins oder mehr verwenden, stiege wahrscheinlich die Erkennungsrate. Allerdings müsste dann der Benutzer beim dynamischen Verfahren zu lange auf das 33

42 4 Datenaufbereitung Training warten. Auch die Berechnung zur Erkennung dauert länger. Hier ändern sich die Werte jedoch nur im Zehntel Sekunden Bereich für verschiedene Bin-Konfigurationen, so dass dieses Kriterium nicht ins Gewicht fällt. Da das Training im statischen Fall auf einem PC durchgeführt wird, könnte man hier eine höhere Anzahl an Bins verwenden, als im dynamischen Fall. Um jedoch diese beiden Verfahren miteinander Vergleichen zu können, wurde die Anzahl an Bins auf 10 für beide festgelegt. Weitere Tests in diesem Versuchsaufbau ergaben, dass durch die Ausweitung der Histogramm-Features die Farb-Features dennoch nicht überflüssig wurden und immer noch zu einer höheren Erkennungsrate führen 5. Die Verwendung von Histogramm-Features im Graubereich jedoch, lieferten keine besseren Ergebnisse. Hier scheinen nur redundante Informationen hinzuzukommen, welche durch die Farbkanäle abgedeckt werden. 4.2 Keyframe Extrahierung Die Keyframe Extrahierung ist der erste Schritt in der Vorverarbeitung der gesammelten Daten. Wie Eingangs erwähnt, wird dieser Schritt gewählt, um die Datenmenge zu reduzieren und repräsentative Datensätze für jedes Objekt zu erhalten. Bevor die Extrahierung ausgeführt werden kann, müssen die Bilder für jedes Objekt aufgenommen werden. Hierbei können zwei unterschiedliche Wege gegangen werden. Entweder man nimmt ein MPEG Video 6 auf, mit der Videofunktion des Handys, oder einzelne Fotos, die am Ende einen Film ergeben. Besonders in der Content Based Video Retrieval Forschung werden Keyframes extrahiert, um Videos so aufzubereiten, dass eine effiziente Suche durch eine Datenbank von Filmen möglich ist (siehe 3.1). Dabei werden häufig die Eigenschaften der MPEG Codierung ausgenutzt. Ein Film der mit MPEG codiert ist, besteht aus drei unterschiedlichen Arten von Bildern (Frames). I-Frames 5 Die Durchschnittswerte mehr als die Varianz. 6 Auf dem Handy werden die Videos meist im 3gp Dateiformat abgespeichert. 3gp ist abgeleitet vom MPEG-4 Standard und zeichnet sich durch eine starke Kompression der Videodaten aus. 34

43 4 Datenaufbereitung (intra-coded frames) werden unabhängig von benachbarten Frames mit JPEGähnlichen Methoden codiert. Die Kompressionsrate - im Vergleich zu den anderen Frames - ist bei diesen Bildern sehr gering, jedoch dienen sie als Ankerpunkte zur manuellen Suche und zur Verwendung der anderen Framearten. MPEG-1 Verfahren zum Beispiel benötigen mindestens zwei dieser Frames pro Sekunde, um einen Film zu codieren [SGG + 99]. P-Frames (forward-predicted frames) speichern Veränderungen (Pixelinformationen und Bewegungsvektoren zwischen Makroblöcken zweier Frames) des vorangegangenen I- oder P- Frames. B-Frames (bi-directionally predicted frames) codieren die Veränderungen des vergangenen und zukünftigen Bildes und erreichen somit die größte Kompressionsrate aller drei Framearten. Sie können jedoch nicht als Referenzbild dienen. Mit diesen Informationen des Aufbaus von MPEG Videos ist es möglich, Keyframes ohne weitere Vorberechnung zu extrahieren. Die einfachste Idee wäre, die I-Frames als Keyframes auszuwählen. Dies jedoch hätte einen Nachteil, da I-Frames häufig statisch in einer GOP-Sequenz 7 auftauchen. Somit wäre das Kriterium der Auswahl eines Keyframes nicht der Bildinhalt, sondern das Zeitintervall, wann ein I-Frame wieder auftaucht. Leider konnten keine genauen Informationen zur GOP Sequenz von 3gp Daten herausgefunden werden, da dieser u. a. kein offener Standard ist. Aufgrund dessen könnte man davon ausgehen, dass I-Frames im MPEG-4 Standard auch dynamisch festgelegt werden. Wäre dies der Fall, würden wahrscheinlich viele I-Frames bei sehr bewegungsreichen Filmabschnitten eingesetzt werden und wenige bei bewegungsarmen oder Standbildern. [NG03] verwendet zum Beispiel die Informationen von B-Frames. Beinhaltet ein B-Frame hauptsächlich nur Informationen (Bewegungsvektoren) von dem vorherigen Bild aber kaum Informationen zu dem kommenden, so muss das kommende B-Frame ein Keyframe sein, sofern es Makroblöcke beinhaltet, die auf das zukünftige Bild verweisen. Beide Herangehensweisen - also die Annahme, dass I-Frames auch variabel wählbar sind und B-Frame Informationen - zielen beide in die Richtung, dass immer dann ein Keyframe vorliegt, wenn sich der Bildinhalt abrupt ändert (Schnitt im Film). Im Fall dieser Arbeit jedoch sind nicht die Szenenwechsel wichtig, also der schnelle Übergang zwischen unterschiedlichen Bildinhalten, sondern 7 Group of pictures: Bezeichnet eine Gruppe von I-, P-, B-Frames, zum Beispiel IBBPBBP. 35

44 4 Datenaufbereitung die konstante Änderung von Pixelinformationen über die Zeit und den ganzen Film (siehe 3.1). Ein Keyframe soll also immer nur dann ausgewählt werden, wenn das aktuelle Frame zu allen vorherigen (Key-)Frames zu einem gewissen Grad unterschiedlich ist. Bei MPEG-codiertem Videomaterial können jedoch auch gleiche Keyframes auftreten, wenn sie zeitlich getrennt sind. Aufgrund dessen ist die Verwendung von MPEG-Videos nicht ratsam. Ein Nachteil würde dadurch bestehen, dass 3gp-Dateien sehr stark komprimiert sind. Dadurch entstehen Artefakte (Blöcke) und kleinere Farbverfälschungen, die besonders bei der Berechnung der Farb-Features problematisch werden können. Das spätere aufgenommene Foto zur Erkennung ist im PNG-Format und weniger stark komprimiert. Durch die entstehenden Diskrepanzen in den Farbwerten kann die Erkennung schlechter werden. Aufgrund dessen wird ein Video, basierend auf einzelnen PNG-codierten Bildern, von jedem Objekt aufgenommen. Die Bildrate beträgt ca. 4 fps. Es zeigte sich in der Praxis, dass diese Rate ausreichend ist, wenn man das Handy in normaler Geschwindigkeit (ca cm pro Sekunde. Also ca. alle 5-10 cm ein Foto) bewegt. Um diese Framerate zu erhalten, müssen die Bilder im Arbeitsspeicher (auf dem Heap) während der Aufnahme gespeichert werden. Das Speichern auf eine Speicherkarte dauert pro Bild ca. 1,2 s (inkl. grabben, also das Bild von der Kamera erstellen), was zu lange wäre. Der Nachteil, wenn die Daten im Arbeitsspeicher abgelegt werden, ist, dass dieser nach ca. 28 Sekunden erschöpft ist. Nach dieser Zeit muss zwischengespeichert (inklusive Featureberechnung, s. u.) werden. Danach kann mit dem Filmen fortgefahren werden. Die Aufnahme des Films erfolgt durch eine Zick-Zack-Bewegung um das Objekt. Wurden alle Frames für ein Objekt aufgenommen, werden aus jedem Bild die Features extrahiert, wie in 4.1 vorgestellt. Diese dienen zur Bildbeschreibung und werden per Bluetooth-Verbindung zum Server gesendet. Wurden die Daten von dem Server empfangen, beginnt die eigentliche Keyframe Extrahierung. Dabei werden die Features der einzelnen Bilder eines Objekts untereinander verglichen. Da Vektoren verwendet werden, können einfache Formeln zur Abstandsberechnung - zum Beispiel die Euklidische Distanz - angewendet werden. Damit ein Frame ein Keyframe wird, muss es zu allen anderen Frames unterschiedlich sein. Dieser Unterschied wird durch einen Schwellwert festgelegt. Dieser 36

45 4 Datenaufbereitung Schwellwert bestimmt, wie groß der Abstand zwischen dem aktuellen und allen anderen Vektoren werden darf, bis ein Frame zu einem Keyframe deklariert wird. Bei einer gewöhnlichen Distanzberechnung, wäre dieser Schwellwert eine Zahl, die den absoluten Abstand angibt. Wünschenswerter ist es jedoch, einen etwas aussagekräftigeren, sowie relativen Schwellwert zu besitzen. Aufgrund dessen wird die folgende Formel verwendet, um ein Keyframe zu bestimmen: d = max N 1 i=0 ( ) M 1 s i,j f j j=0 (4.1) N ist die Anzahl der vorhandenen Keyframes, M die Dimension des Feature- Vektors. s sind die normalisierten Feature-Vektoren der Keyframes und f ist der aktuelle normalisierte Feature-Vektor, den es gilt zu klassifizieren. Letztendlich beträgt d die maximale Distanz, die das aktuelle Frame zu allen vorhandenen Keyframes besitzt. Beträgt d = 1, so sind die Vektoren gleich. Je kleiner d ist, desto unterschiedlicher sind die Vektoren. Durch die Normalisierung ist t ein Wert zwischen 0 und 1. Praktisch jedoch liegt die untere Grenze bei 0,5, da das verwendete Handy eine Belichtungskontrolle (engl. exposure control) besitzt, die die Helligkeit der Bilder stets konstant hält. Filmt man daher sehr dunkle Szenen wird die Belichtungszeit automatisch erhöht und das Bild erhellt. Nimmt man sehr helle Szenen auf, so werden diese abgedunkelt. Aufgrund dessen reicht die Helligkeitsspanne von schwarz (komplette Abdunklung - irgendwann reicht das vorhandene Licht der Kamera nicht mehr aus, um das Bild zu beleuchten) bis grau (das Bild wird immer auf den Mittelwert abgedunkelt). Diese Funktion kann bei dem verwendeten Handy (und bei vielen weiteren Handys) nicht deaktiviert werden. Der Algorithmus zur Keyframe Extrahierung ist folgender: Das erste Bild einer Videosequenz wird als Keyframe definiert. Alle folgenden Frames werden mit Hilfe der Formel 4.1 auf Ähnlichkeit zu diesem Keyframe geprüft. Liegt d unter dem Schwellwert t, wird das aktuelle Frame als Keyframe ausgewiesen. Die nun folgenden Frames werden an beiden Keyframes getestet. Dies wird bis zum letzten Bild eines Videos durchgeführt. 37

46 4 Datenaufbereitung Abbildung 4.3: Vergrößerter Trainingsbereich. Durch die Aufnahme eines Videos aus mehreren Perspektiven verändert sich der Trainingsbereich, also der Bereich, in dem die Daten für die Objektbeschreibung aufgenommen werden. Dieser Unterschied wird in Abbildung 4.3 im Vergleich zu Abbildung 4.1 deutlich. Die dazugehörigen Keyframes sind in Abbildung.1 dargestellt 8. Im dynamischen wie auch im statischen Verfahren ist die Extrahierung von Keyframes wichtig. In beiden Fällen sorgt sie dafür, dass keine Perspektive bevorzugt wird, indem von ihr mehr Frames existieren, als von anderen. Würde man beim Aufnehmen des Videos nur kurz das Handy nach links und rechts schwenken und ansonsten nur zentriert das Objekt aufnehmen, so gäbe es wesentlich mehr Bilder von dieser als von den anderen Perspektiven. Dies hätte beim Trainieren eines neuronalen Netzes den Effekt, dass die Perspektiven zur linken und rechten kaum ins Gewicht fallen würden und die Erkennungsrate dort wahrscheinlich schlecht wäre. Das Netz würde aufgrund der Anzahl an 8 Aufgrund der Übersichtlichkeit wurde der Schwellwert etwas erniedrigt, um weniger Keyframes zu erhalten. 38

47 4 Datenaufbereitung Frames aus der zentralen Perspektive, zu dieser trainiert werden. Diese Spezialisierung ist jedoch auf diesem Weg nicht wünschenswert. Aufgrund dessen wurde ein Verfahren entwickelt, welches in erläutert wird und diese Spezialisierung adaptiv vornimmt, insbesondere für den statischen Fall. Hier wird die Keyframe-Extrahierung nur ein Mal für die aufgenommenen Daten durchgeführt. Danach wird die Extrahierung nicht mehr verwendet 9, um die Effekte des rückkoppelnden Lernens nicht zu beeinflussen. In beiden Fällen muss ein Schwellwert angegeben werden, der empirisch ermittelt worden ist. Im statischen Fall ist dieser einfach zu bestimmen, da er hier nur gewährleisten muss, dass keine gleichen Frames als Keyframes abgespeichert werden, um die oben genannte Spezialisierung zu verhindern. Er wird also sehr hoch liegen. Wie viele und welche Keyframes über die Zeit verwendet werden, wird durch das adaptive Verfahren geregelt. Im dynamischen Fall muss dieser Schwellwert niedriger angesetzt sein, da die Daten auf das Handy übertragen werden. Es ist also ein Kompromiss zu finden, zwischen Informations- und Datenmenge. Obwohl dieser Schwellwert empirisch durch Tests 10 festgelegt wurde und bisher allgemeingültig angewendet werden konnte, muss hervorgehoben werden, dass er nur als ein Richtwert für die endgültige Zahl von Keyframes dient. Sollte dieser Schwellwert zu viele Keyframes produzieren (er sollte also höher gewählt werden, so dass er eher zu viel als zu wenig Keyframes erstellt), so wird dies durch die Datenabstraktion (siehe 4.4) ausgeglichen: je mehr ähnliche Keyframes vorhanden sind, desto mehr werden zusammengefasst und desto höher ist die Datenabstraktionsrate. 4.3 Keyframe Clustering Die extrahierten Keyframes werden im zweiten Schritt der Verarbeitung geclustert. Das bedeutet, dass ähnliche Bilder eines Objekts zu Gruppen zusammengefasst werden. Im dynamischen Verfahren repräsentieren diese Gruppen 9 Im Gegensatz zum dynamischen Verfahren, in dem die Extrahierung auch als Datenreduktion eingesetzt wird. 10 Es wurde u. a. für ausgewählte Mengen untersucht, wie viele Frames mindestens nötig sind, um eine ausreichend gute Erkennungsrate zu erreichen. 39

48 4 Datenaufbereitung unterschiedliche Perspektiven des Objekts, die trainiert werden können. Im statischen Fall wird das Clustering eingesetzt, um Ausreißer zu erkennen und zu entfernen. Das Problem von PhoneGuide 2 war die fehlende Unterstützung, ein Objekt aus allen Perspektiven zu identifizieren. Der Grund hierfür lag in der Struktur des eingesetzten einschichtigen neuronalen Netzes, in der geringen Menge von Trainingsdaten und in der Limitierung der Anzahl der Trainingsdurchgänge. Jedes Objekt wurde durch ein Perzeptron repräsentiert. Solange die aufgenommenen Bilder ähnlich waren, indem sie zum Beispiel alle aus der gleichen Entfernung oder aus der gleichen Perspektive aufgenommen wurden, war die lineare Trennung mit den Trainingsvorgaben meist ausreichend. Erschienen die Bilder jedoch sehr unterschiedlich, war die Trennung dem Classifier nicht mehr möglich. Durch das Trainieren des neuronalen Netzes auf dem mobilen Gerät, musste gewährleistet werden, dass der Benutzer nicht zu lange warten muss, bis er eine Erkennung durchführen kann. Aufgrund dessen wurde die Anzahl von Iterationen auf ein Minimum reduziert, indem die Fehlergrenze, gegen die das Training konvergieren soll, recht hoch gewählt wurde und die maximale Anzahl an Durchgängen klein gehalten worden ist. Der Nachteil ist, dass die Fehlerminimierung nicht sehr effizient ausgeübt werden konnte, so dass das Netz fehleranfälliger war und somit öfters das falsche Ergebnis lieferte. Dem konnte man teilweise entgegensteuern, indem man die Lernrate erhöhte (siehe Gleichung 2.3), was jedoch dazu führen kann, dass das Fehlerminimum verfehlt wird. Um dies zu verdeutlichen zeigt Abbildung 4.4 den Unterschied in der Identifikationsrate 11 zwischen einem Perzeptron, welches mit 10 Passes trainiert worden ist und eines mit 100. Hierbei wurde eine Keyframe-Extrahierung eines Videos von einem Objekt vorgenommen. Die Keyframes dieses Objekts dienten zum Training eines Perzeptrons. Danach wurden alle Frames des Videos zur Erkennung verwendet (X-Achse), um den Output jedes einzelnen zu bestimmen (Y-Achse). Es ist zu erkennen, dass der durchschnittliche Output 11 Der Verlauf des Outputs eines Perzeptrons, wenn Daten eines Objekts zum Training und zur Erkennung verwendet werden. Nicht zu verwechseln mit der Erkennungsrate, bei der unterschiedliche Objekte in ein neuronales Netz trainiert werden, auch wenn die Kurven ähnlich aussehen können. 40

49 4 Datenaufbereitung (a) 10 Durchgänge, 1 Perzeptron (b) 100 Durchgänge, 1 Perzeptron Abbildung 4.4: Darstellung des Unterschieds im Output, wenn nach 10 oder 100 Iterationen abgebrochen wird. steigt je mehr Passes durchlaufen werden, da mit der Anzahl der Passes der Fehler, welcher durch die Delta-Regel berechnet wird, immer weiter minimiert wird. Dieser Fehler ist nach wenigen Durchgängen noch sehr hoch. Zudem wird deutlich, dass die ersten Frames des Videos bei einer Erkennung einen hohen Output produzieren. Der Grund hierfür liegt darin, dass nach nur wenigen Passes das Netz die Gewichte noch nicht für die späteren Frames anpassen konnte. Aufgrund dessen entstehen die Einbrüche, wie man sie bei Frame 480 sehen kann. Nach 100 Iterationen ist das Netz besser trainiert. Der Output der ersten Frames ist zwar gesunken, die Gesamterkennung über alle Frames ist jedoch besser und einheitlicher geworden. Dieses Ziel versucht ein neuronalen Netz zu verfolgen. Ein ähnliches Verhalten ist demzufolge auch bei der Erkennungsrate zu erwarten. Aufgrund der wenigen Iterationen wurde für den dynamischen Fall der Ansatz entwickelt, die Perspektiven eines realen Objekts in ähnliche zu gruppieren, um sie jeweils als ein eigenständiges Objekt zu betrachten. Für jedes dieser Objekte wird dann ein Perzeptron erzeugt. Ein reales Objekt wird demzufolge in mehrere virtuelle Objekte aufgeteilt. Durch diese künstliche Trennung der Eingabedaten in kleinere, einfache Mengen ist es dem neuronalen Netz möglich, trotz der beschränkten Möglichkeiten, komplexe Objekte aus unterschiedlichen Blickwinkeln zu trennen. Um das Clustering (Gruppierung) durchzuführen, bieten sich eine Vielzahl un- 41

50 4 Datenaufbereitung terschiedlicher Algorithmen an. Diese werden in hierarchische und partitionierende Algorithmen eingeteilt. Hierarchische Verfahren lassen sich wiederum in agglomerative und divisive Verfahren trennen. Agglomerative Algorithmen häufen Gruppen an, indem sie bei einem Objekt (Element) starten und sich sukzessive zu Clustern aufbauen, bis jedes Objekt einer Gruppe angehört. Dem gegenüber stehen die divisiven Verfahren, die eine Menge von Objekten immer weiter unterteilen, bis ein festgelegtes Kriterium erfüllt ist. In beiden Fällen wird das Resultat in eine Baumstruktur gefasst. Partitionierende Algorithmen versuchen hingegen eine Menge sukzessive in Cluster aufzuteilen. Bei allen Clusteralgorithmen ist der berechnete Abstand zwischen den Elementen entscheidend. Ein Algorithmus bricht ab, wenn entweder die gewünschte Anzahl an Cluster erreicht worden ist, oder wenn der Abstand zwischen den Clustern eine akzeptable Größe aufweist, die von dem Anwender angegeben worden ist. In dieser Arbeit wurden drei Clusteralgorithmen getestet und auf ihre Eignung in dem vorliegenden Kontext untersucht. Zunächst wurde ein hierarchische Verfahren basierend auf dem Single Linkage Algorithmus angewendet. Als Kriterium für die Clusterbildung diente die kürzeste Distanz, d. h. die Cluster wurden so organisiert, dass Elemente mit den kürzesten Abständen zusammengefasst werden. Als nächstes Verfahren wurde k-means untersucht. K-means gehört zu den partitionierenden Verfahren. Bei diesem Algorithmus muss am Anfang die Anzahl der Cluster (k), in die man die vorliegende Menge einteilen möchte, festgelegt werden. k Elemente ( centroids ) werden zufällig ausgewählt und dienen der Gruppe als Zentrum. Nun wird der Abstand zwischen den restlichen Objekten und den Zentren bestimmt. Daraufhin werden die Elemente zu der Gruppe hinzugefügt, mit der sie den kürzesten Abstand haben. Danach werden die Zentren der Gruppen neu berechnet, indem der Durchschnitt der Koordinaten aller Objekte eines Clusters gebildet wird. Dann wird zu dem zweiten Schritt zurückgegangen und die Abstände aller Elemente zu den Zentren berechnet. Dies wird so lange durchgeführt, bis die Clusterkonfiguration die gewünschte Anzahl an Teilmengen erreicht hat. Der dritte Algorithmus wurde durch ein neuronales Netz realisiert. Dabei wird mit den vorhandenen Elementen ein Perzeptron trainiert. Danach wird eine Erken- 42

51 4 Datenaufbereitung nung durchgeführt. Für alle Objekte deren Output während der Erkennung unter einem Schwellwert t fielen, wurde ein neues Perzeptron generiert. Dies wird so lange wiederholt, bis alle Elemente über dem genannten Schwellwert lagen. Die Perzeptronen bildeten hierbei die Clusterzentren. Die Zugehörigkeit der Objekte wurde durch den Output definiert. Ein Objekt wurde dem Perzeptron zugeordnet, bei dem es den höchsten Output aufwies. Nach Untersuchungen an unterschiedlichen Testobjekten zeigte sich, dass die Ergebnisse in der Gruppierung sehr ähnlich waren. Besonders das hierarchische Verfahren und k-means lieferten fast identische Ergebnisse, was darauf zurückzuführen ist, dass sie beide als Kriterium den minimalen Euklidischen Abstand zwischen Elementen zur Generierung von Clustern einsetzen. Die Wahl des Clusteralgorithmus fiel auf k-means. Dieser wird in der Literatur als schnell und einfach beschrieben [AV06] und liefert fast immer gute Ergebnisse. K-means hat jedoch den Nachteil, dass er nicht immer konvergieren muss und dass Cluster in einer Iteration leer bleiben können, so dass diese im nächsten Schritt nicht mehr gefüllt werden können. Um dies zu umgehen, wird der Algorithmus mehrmals mit unterschiedlichen Zentren ausgeführt, um das beste Ergebnis zu erreichen. Bei der Verwendung des neuronalen Netzes wäre der Nachteil gewesen, dass nicht angegeben werden konnte, wie viele Cluster am Ende generiert werden, was für das in diesem Kapitel vorgestellte Verfahren nötig ist. Um nun das Clustering der realen Objekte in virtuelle auf dem Server zu realisieren, wird folgender Algorithmus verwendet: 1. Cluster alle Keyframes N eines Objekts in n=2 Mengen (virtuelle Objekte). 2. Trainiere ein neuronales Netz. 3. Führe eine Erkennung durch. Wurde ein Image eines Clusters nicht erkannt, weil der Output kleiner einem Schwellwert t ist, so wird dieser Cluster verworfen. Wurden alle Frames einer Menge mit einem Output größer t erkannt, so wird diese gespeichert. 4. Alle verworfenen Bilder werden zu N zusammengefasst. Gehe zurück zu Punkt 1 mit n = n+1, bis N =. 43

52 4 Datenaufbereitung 5. Führe diese Schritte m mal durch und liefere das Ergebnis mit den wenigsten Clustern zurück. Nach der Keyframe-Extrahierung werden diese Bilder (bzw. deren Features) eines Objekts in zwei Mengen mit Hilfe des k-means Algorithmus aufgeteilt (Punkt 1). Die Keyframes eines virtuellen Objekts - also einer Menge - werden in eine Trainingsmenge und eine Validierungsmenge aufgeteilt, wie in 2.2 erläutert. Die Trainingsmenge wird verwendet, um ein Perzeptron zu trainieren. Nun wird eine Erkennung mit der Validierungsmenge durchgeführt. Liegt der Output eines Images eines Clusters unter dem Schwellwert, so wird dieser Cluster verworfen. Ist der Output aller Frames über dem Schwellwert, so wird dieser Cluster und die dazugehörigen Keyframes abgespeichert. Die Keyframes aller Cluster die verworfen wurden, werden nun wieder zusammengefasst und wiederum neu gruppiert. Dadurch, dass Cluster, die die Kriterien erfüllen abgespeichert werden, verläuft dieser Algorithmus effizienter, als wenn alle Cluster verworfen und neu geclustert werden, wenn ein Frame unter dem Schwellwert liegt. Dieser Algorithmus wird so lange ausgeführt, bis alle Keyframes zu einem Cluster gehören und einen Output größer t hervorrufen. Wie erwähnt, kann es sein, dass k-means keine optimale Lösung liefert. Um dem entgegen zu wirken wird der Algorithmus mehrmals mit unterschiedlichen Keyframes als Zentren für k-means ausgeführt. Die beste Lösung ist die Konfiguration mit den wenigsten Clustern, denn je weniger Mengen (ohne Minderung der Identifikationrate) vorhanden sind, desto geringer ist die Gefahr, dass Perzeptronen mit nur einem oder wenigen Keyframe(s) entstehen. Denn dies hätte den Nachteil, dass Funktionalitäten eines neuronalen Netzes, wie Generalisierung, nicht mehr greifen würden. Dies könnte dann mit einem nearestneighbor-verfahren verglichen werden. Zudem erhöhen mehrere Cluster die Wahrscheinlichkeit, dass ein falsches Perzeptron bei einer Erkennung schießt, da ein Cluster in diesem Fall nichts anderes ist als ein (virtuelles) Objekt: je mehr Objekte ein neuronales Netz halten muss, desto schlechter kann die Erkennung werden. Um den Schwellwert t zu bestimmen wurde untersucht, wie hoch der durchschnittliche Wert des Outputs eines Perzeptrons mindestens sein muss, wenn es bei einer Erkennung feuert und das richtige Ergebnis liefert. Dieser Wert wurde als Richtwert für den Schwellwert gewählt, um zu gewähr- 44

53 4 Datenaufbereitung (a) 10 Durchgänge, 1 Perzeptron (b) 10 Durchgänge, 4 Perzeptronen Abbildung 4.5: Darstellung des Unterschieds im Output mit einem oder vier Perzeptron(en). leisten, dass wenn ein Objekt richtig erkannt werden soll, dieser Wert erreicht werden kann. Ansonsten würden stets andere Perzeptronen feuern, weil ihr eher niedriger Output-Wert immer noch höher wäre, als der des richtigen Perzeptrons. Abbildung 4.5 zeigt den Unterschied in den Identifikationsraten zwischen einem Objekt mit nur einem Perzeptron und einem, welches in vier virtuelle Objekte eingeteilt und somit mit vier Perzeptronen in zehn Passes trainiert wurde. Es ist zu erkennen, dass der Minimalwert, wie auch der durchschnittliche Output gestiegen ist. Besonders der Abfall um Frame 480 ist nun beseitigt und gehört zu den Bereichen mit der höchsten Erken- Abbildung 4.6: Darstellung des durchschnittlichen Outputs bei verschiedenen Clusterkonfigurationen. 45

54 4 Datenaufbereitung nung. Betrachtet man noch einmal Abbildung 4.3 mit dem erweiterten Trainingsbereich, so ist Abbildung 4.7 das Resultat des Clusterings. Die dazugehörigen Frames sind in Abbildung.2 dargestellt. Es ist zu erkennen, dass ein Cluster alle Keyframes abdeckt, die nahe am Objekt aufgenommen worden sind (rot), da diese eher schwarz - durch die Darstellung der aufgenommenen Kamera - erscheinen. Die blauen und grünen Bereiche sind von der Objektdarstellung ähnlich. Hier spielen eher die Farben des Hintergrunds eine Rolle: die Bilder im blauen Cluster wirken im Hintergrund heller, als die grünen. Um den eingesetzten Schwellwert t adaptiv festzulegen, anstatt ihn empirisch zu bestimmen, bestand die Idee, das Clustering abzubrechen, wenn die Differenz der Steigung des Outputs zwischen zwei Clusterkonfigurationen abfällt. Hier ergab sich jedoch das Problem, dass das Ergebnis für unterschiedliche Objekte immer gleich war. Exemplarisch ist dieses Verhalten in Abbildung 4.6 für ein Objekt zu sehen. Der Gewinn im Output ist zwischen einem und zwei Clustern am höchsten und fällt mit steigender Clusteranzahl ab. Würde hier als Kriterium die Größe der Differenz zwischen zwei Clusterkonfigurationen gewählt werden, so ergäbe das Ergebnis stets zwei. Bisher wurden die Objekte unabhängig voneinander geclustert. Hierbei besteht jedoch die Gefahr, dass Cluster gebildet werden, die untereinander sehr ähnlich sind, auch wenn die realen Objekte, denen sie angehören, unterschiedlich aussehen. Aufgrund dessen wurden Ansätze entwickelt, während des Trainings eines neuronalen Netzes die Clusterkonfigurationen zu ändern. Ob zwei virtuelle Objekte ähnlich sind und zu einer falschen Erkennung führen können, kann während des Trainings getestet werden, wenn für die Fehlerberechnung eine Erkennung durchgeführt wird. Werden zwei oder mehrere virtuelle Objekte auch nach mehreren Passes nicht richtig erkannt, so kann dies hier festgestellt werden. Um solche Verwechslungen zwischen virtuellen Objekten zu verhindern, boten sich folgende Überlegungen an: Nachdem die problematischen Keyframes eines Clusters entdeckt wurden, wäre die einfachste Lösung, diesen Cluster zu löschen. Dann wäre die Verwechslung beseitigt. Allerdings würden hierbei zu viele wertvolle Informationen über das Objekt verloren gehen. Anstatt den Cluster zu löschen könnten nur die kritischen Keyframes gelöscht werden, die zu einer falschen Erkennung führen. Wiederum würden wichti- 46

55 4 Datenaufbereitung Abbildung 4.7: Die Keyframes eines Objekts werden in drei Cluster eingeteilt (rot, grün, blau). ge Informationen eingebüßt werden. In beiden Fällen besteht zudem die Gefahr, dass Keyframes gelöscht werden, die eigentlich gar nicht gleich sind, die jedoch durch die mangelnde Anzahl an Durchgängen des Trainings gleich erscheinen. Eine letzte Möglichkeit ist die Clusteranzahl eines Objekts zu ändern. Eine Reduzierung wäre dabei die schlechtere Methode, da man hier die Identifikationsrate senken würde, besonders bei dem Schritt von zwei Clustern zu einem. Eine Erhöhung würde jedoch zu noch mehr Perzeptronen führen, die wahrscheinlich mindestens die gleichen Probleme hervorrufen würden. Aufgrund dessen wurden diese Ansätze nicht mehr weiter verfolgt. Das vorgestellte Clustering - wie eingangs erwähnt - bezieht sich auf dynamische Verfahren. Beim statischen Verfahren ist die Einteilung in virtuelle Objekte nicht mehr nötig. Da hier das Generieren eines Classifiers offline auf einem PC ausgeführt wird, können u. a. mehrschichtige neuronale Netze verwendet werden, die zur nötigen Konvergenz trainiert werden. Nichtsdestotrotz wird das Clustering auch hier eingesetzt. In diesem Fall werden Ausreißer in den 47

56 4 Datenaufbereitung Daten eliminiert. Ausreißer sind Keyframes, die unterschiedlich von allen anderen Frames sind. Sie können etwa auftreten, wenn ein Benutzer aus Versehen die Hand vor die Kamera hält, oder den Fußboden fotografiert und dann mit Hilfe der grafischen Oberfläche (siehe 5.2.2) das Objekt auswählt, dass er eigentlich erkennen wollte. Wird dieses Frame nun im Zuge des rückkoppelnden Lernens auf den Server übertragen, so beeinflusst dieses das Training des betreffenden neuronalen Netzes negativ. Das Netz versucht alle Elemente (hier Feature-Vektoren) eines Objekts von allen anderen Objekten zu trennen. Liegt nun ein oder liegen mehrere Elemente weit außerhalb von allen anderen Elementen der gleichen Gruppe, so kann das Netz nur bedingt eine gute Trennung vornehmen und eröffnet die Möglichkeit, dass Elemente anderer Objekte dem falschen Objekt zugewiesen werden. Dies kann zu einer schlechteren Erkennungsrate führen. Um solche Ausreißer zu eliminieren, wird folgendes Verfahren angewandt: 1. Cluster die gegebene Menge von Keyframes eines Objekts in zwei Cluster. 2. Ist der Betrag des Verhältnisses zwischen der Anzahl von Elementen in der kleineren Menge zu der großen Menge unter einem Mindestwert t, so wird die kleine Menge gelöscht. 3. Schritt 1 und 2 werden so lange durchgeführt, bis der Betrag des Verhältnisses über dem Mindestwert liegt. Wie auch im dynamischen Verfahren wird hier k-means verwendet, um die Keyframes in zwei Cluster zu gruppieren. Danach wird die Menge mit der kleineren Anzahl von Keyframes ausgewählt und ins Verhältnis mit der größeren gestellt. Ist der prozentuale Anteil des kleinen Clusters unter t (in der Praxis wurde dieser bei 2% festgelegt), so wird dieser gelöscht, da die Wahrscheinlichkeit hoch ist, dass dieser nicht zur Beschreibung des Objekts dient. Nun wird die große Menge noch einmal geclustert, so lange, bis das Verhältnis zwischen den zwei resultierenden Clustern den Mindestwert nicht mehr unterschreitet. Es sollte jedoch darauf geachtet werden, dieses Verfahren in größeren zeitlichen Abschnitten durchzuführen. Ansonsten besteht die Gefahr, Keyframes zu löschen, die für die Beschreibung des Objekts wichtig sind, die jedoch 48

57 4 Datenaufbereitung in kurzen Abschnitten nicht so stark angehäuft werden können, um eine große Menge zu bilden. Wird dieses Kriterium beachtet ist die Wahrscheinlichkeit gering, wichtige Keyframes zu löschen, da durch das rückkoppelnde Lernen ständig neue Keyframes hinzukommen. Wenn diese wichtig sind, werden sie sich auch in größeren Mengen ansammeln. 4.4 Datenabstraktion Die Datenabstraktion dient dazu, die Datenmenge der Keyframes ohne Informationsverlust zu minimieren. Je weniger Daten dem dynamischen Verfahren zur Verfügung stehen, desto schneller ist das Training auf dem Handy. Allerdings bedeuten weniger Daten auch weniger Informationen, so dass die Erkennungsrate darunter leiden kann. Die Datenabstraktion versucht die Datenmenge ohne, oder nur mit einem sehr geringen Informationsverlust, zu reduzieren. Dabei wird versucht, Keyframes zusammen zu fassen und ein neues Keyframe (Feature-Vektor) zu erstellen, so dass die Informationen von mehreren Feature-Vektoren durch einen Feature- Vektor ausgedrückt werden. Um dies zu erreichen, wird folgender Algorithmus ausgeführt: 1. Initialisieren: Trainiere ein neuronales Netz mit allen Keyframes (Feature- Vektoren) n eines Clusters. Führe eine Erkennung mit allen Keyframes aus und speichere den durchschnittlichen Output O. c = Gruppiere diesen Cluster in n-c Cluster. 3. Bilde den Durchschnitt der Feature-Vektoren für jeden Cluster. 4. Trainiere ein neuronales Netz mit diesen n-c Feature-Vektoren. 5. Führe eine Erkennung mit allen n Keyframes durch und bestimme den durchschnittlichen Output. 6. Liegt dieser Output unter O, so breche den Algorithmus ab und nehme die vorherige Cluster-Konstellation als Ergebnis. Andernfalls gehe zu Punkt 2 mit c = c

58 4 Datenaufbereitung 7. Führe Schritt 1-6 m mal durch und wähle das Ergebnis mit der besten Abstraktionsrate 12. Dieser Algorithmus ist in Abbildung 4.8 dargestellt. Zunächst wird einer der Abbildung 4.8: Abstrahierungsschritte. Cluster, der durch das Gruppieren der Keyframes entstanden ist herausgegriffen, wie es in Bild 1 und 2 zu sehen ist. Dieser wird dann im ersten Schritt in n-1 Cluster gruppiert, so dass in jedem Cluster ein Keyframe (Feature-Vektor) vorhanden ist, außer in einem zwei (siehe Bild 3). Aus diesen zwei Vektoren wird der Durchschnitt ermittelt, so dass ein neuer Feature-Vektor resultiert (in Bild 3 mit drei Vektoren grün dargestellt). Dieser neue Vektor und die restlichen 12 1 minus Anzahl Keyframes nach der Abstrahierung geteilt durch Anzahl Keyframes vor der Abstrahierung. 50

59 4 Datenaufbereitung Vektoren dienen zum Training eines neuronalen Netzes. Liegt nun der Output nach einer Erkennung mit allen n Keyframes unter O, so wird der Algorithmus abgebrochen und das vorherige Ergebnis (in diesem Fall die Ausgangssituation) gewählt. Ist dies nicht der Fall, so werden die n Keyframes in n-2 Cluster gruppiert. Mit O als Referenz wird die Menge ohne Informationsverlust reduziert, wenn davon ausgegangen wird, dass dies bei gleich bleibenden Output eines neuronalen Netzes der Fall ist. Um eine höhere Datenreduktion zu erreichen ist es möglich, einen bestimmten Prozentsatz von O anzugeben. Je niedriger dieser Wert ist, desto geringer ist die Datenmenge, aber auch die Informationsmenge. Bild 4 stellt das Resultat dar. Dieser Algorithmus wird wie das Clustering mehrmals durchgeführt, um das optimale Ergebnis zu erhalten. Abbildung.3 zeigt das Ergebnis am vorgestellten Beispiel. Anstatt ein Clustering mit dem k-means-algorithmus durchzuführen, wäre es denkbar, ähnliche Keyframes zu finden, indem man ihre Feature-Vektoren verwendet, um den Abstand zu den anderen Vektoren zu bestimmen. Aufgrund der quadratischen Komplexität würde in diesem Fall die Berechnungsdauer bei vielen Objekten jedoch stark ansteigen. Die Abstrahierung der Keyframes ist nur für das dynamische Verfahren sinnvoll. Im statischen Fall ist es nicht nötig, die Datenmenge zu reduzieren, da sich die Daten nicht auf dem Handy befinden. 4.5 Implementierung In diesem Abschnitt werden einige grundlegende Aspekte der Programmierung des bestehenden Systems erläutert. Abbildung 4.9 zeigt die implementierte Struktur der Software. Das System besteht aus einer mobilen Applikation, die in J2ME geschrieben ist und einem Symbian-Client, sowie einem Server in Matlab mit einer Bluetooth-Schnittstelle in Java (J2SE) zur Kommunikation. J2ME wurde ausgewählt, da Java-Applikationen heutzutage auf allen neueren Handy-Modellen lauffähig sind. Dadurch ist gewährleistet, dass die Applikation in Zukunft auf unterschiedlichen Handys ausgeführt werden kann. Besonders in den geschilderten Szenarios (siehe 6.5), wenn die Software auf jedes Handy automatisch und unabhängig von dem verwendeten Modell installiert 51

60 4 Datenaufbereitung Abbildung 4.9: Übersicht der Systemteile. wird. Darüber hinaus ist J2ME, im Hinblick auf Datentypen und -strukturen, kompatibel zu J2SE, welche für Desktop-Applikationen eingesetzt wird. Dadurch wurde eine einfache Implementierung der nötigen Kommunikation zwischen Handy und PC unterstützt. Dem Gegenüber steht Symbian als Alternative. Symbian ist ein Betriebssystem inklusive einer eigenen C++-ähnlichen Programmiersprache. Symbian-Handys 13 werden hauptsächlich im Businessbereich eingesetzt. Diese so genannten Smartphones vereinen die Konzepte von Handy und PDA (Personal Digital Assistent) und sind somit in ihrem Umfang an Funktionen ausgeprägter. Der Vorteil von Symbian ist die spezialisierte Programmierung. Es verfügt über ein großes Repertoire an eigenen Betriebssystem-Funktionen und kann somit näher an der Hardware programmiert werden. Dadurch ist es zum Beispiel möglich, den Videostream grafisch zu überlagern, oder Kamera Einstellungen zu ändern, was in J2ME nicht machbar ist. Zudem ist die Performance von Symbian-Programmen, denen von Java, überlegen. Nachteilig ist, dass Symbian-Handys nur sehr beschränkt im Markt vertreten sind wurden 33,9 Millionen Symbian-Handys verkauft. Dem gegenüber steht die Zahl von 825 Millionen verkauften Handys aller Arten im 13 Handys mit Symbian als Betriebssystem. 52

61 4 Datenaufbereitung gleichen Jahr. Somit betrug der Marktanteil ca. 4%. Die restlichen 96% sind Handys, die ihre eigenen, eingebetteten Betriebssysteme des jeweiligen Herstellers einsetzen. Java ist auf Symbian- wie auf nicht Symbian-Handys ausführbar. Ein weiterer Nachteil ist, dass sich Symbian - im Vergleich zu Java - in einer früheren Entwicklungsphase befindet, so dass man immer wieder auf nicht implementierte Funktionen trifft, die das Entwickeln erschweren. Ein zentrales Konzept von Symbian ist die Speicherverwaltung, die zu großen Teilen der Entwickler übernehmen muss. Im Gegensatz dazu bietet Java den Garbage Collector, der dem Programmierer viel Arbeit abnimmt. Das Speichermanagement ist einer der Gründe 14, warum das Programmieren unter Symbian ein Vielfaches der Zeit beansprucht, die man in Java benötigt. Der eingesetzte Symbian-Client ist die Folge wiederum eines Problems in Java. In Java ist es nicht möglich, kontinuierlich ein Bluetooth Scanning durchzuführen, um nur die Geräte zu entdecken, die sich auch wirklich im Umkreis befinden. Anstatt diese Funktionalität zu gewährleisten, werden die Geräte, wenn sie entdeckt worden sind, in einem Cache gespeichert, den man nicht löschen kann. Dadurch werden auch Minuten nach dem Abschalten eines Geräts, dieses Gerät noch angezeigt. Somit ist das Bluetooth-Tracking (siehe 2.3) nicht möglich. In Symbian werden nur die Objekte angezeigt, die sich auch wirklich im Umkreis befinden. Aufgrund dessen wurde ein Symbian-Client geschrieben, der kontinuierlich nach Bluetooth-Geräten sucht. Die gefundenen IDs werden dann über eine TCP/IP Verbindung zur weiteren Verarbeitung an die Java-Applikation gesendet. Die berechneten Features aus den aufgenommen Videos der Objekte werden mit Hilfe des RFCOMM Protokolls per Bluetooth übertragen. Bluetooth kennt insgesamt drei unterschiedliche Protokolle: RFCOMM, L2CAP und OBEX. OB- EX (OBject EXchange) ist das komfortabelste und dient zum Versenden von Objektdaten. Dieses Protokoll wird jedoch von dem verwendeten Handymodell (Nokia 6630) nicht unterstützt. RFCOMM ist Stream-orientiert und ähnelt in der Verwendung einer seriellen Schnittstelle. Es sollte eingesetzt werden, wenn ein kontinuierlicher Datenstrom (zum Beispiel GPS-Daten) gesendet wird. L2CAP ist paketorientiert und eignet sich zum Verteilen der einge- 14 Ein anderer Grund wäre zum Beispiel das Fehlen von Containern, wie Vektoren, Hashtables, etc. 53

62 4 Datenaufbereitung henden Daten an Methoden, Threads, etc. 15. Die Übertragung der Videodaten von dem mobilen Gerät zum Server wird mit Hilfe des RFCOMM Protokolls durchgeführt. In die andere Richtung wird das L2CAP Protokoll verwendet. Der Grund für den Einsatz zweier unterschiedlicher Protokolle ist, dass eingehende Daten zum Handy über RFCOMM nicht verlässlich gelesen werden können. Dies ist ein bekannter Bug bei Nokia 16. Die Featureberechnung findet trotz Performancemangel auf dem Handy statt. Die Ursache hierfür ist, dass die ImageLoader für J2ME (Handy) und J2SE (PC) unterschiedlich zu sein scheinen. Nimmt man ein Bild per Handy im PNG-Format auf und extrahiert die RGB-Werte für jeden Pixel, so unterscheiden sich diese Werte von denen, die auf dem PC von dem gleichen Bild ausgelesen worden sind. Die Unterschiede belaufen sich auf 0-3 Intensitätsstufen. Damit sich dies nicht negativ auf die Erkennung auswirkt, werden aufgrund dessen die Features auf dem Handy berechnet und diese zu dem Server übertragen, um mit einheitlichen Daten zu arbeiten. Die Daten des mobilen Geräts werden von der Serverseitigen Bluetooth Schnittstelle empfangen und in Datenstrukturen von Matlab (Matrizen) umgewandelt. Dort werden die in diesem Kapitel vorgestellten Algorithmen abgearbeitet. Matlab bietet sich hier als Plattform an, da es nützliche Funktionen bereithält, wie zum Beispiel k-means, die das Entwickeln vereinfachen. Zudem existiert eine Toolbox 17 für künstliche neuronale Netze, die die Anwendung mehrschichtiger Netze erleichtert. Darüber hinaus ist das Erstellen von Graphiken und Diagrammen komfortabel, um das Verwendete zu dokumentieren. Der Server verfügt über eine grafische Oberfläche, wie sie in Abbildung 4.10 zu sehen ist. Dort findet der Anwender zum einen statistische Angaben, wie die Anzahl der Frames, Keyframes, Cluster und Abstraktionsrate, sowie Einstellmöglichkeiten der Schwellwerte oder Iterationsschritte. Darüber hinaus ist auswählbar, welches Verfahren - dynamisch oder statisch - verwendet werden soll. Die Features der Bilder für das dynamische Verfahren, sowie die Classifier im statischen Fall, werden nach Abschluss der Berechnungen wieder in Java- Datenstrukturen umgewandelt (Hashtables, Vectoren, Arrays), um sie an das 15 Vgl. [HA03]. 16 Siehe Nokia Technical Library, Nummer KIJ Ansammlung von Funktionen, um bestimmte Klassen von Problemen zu lösen. 54

63 4 Datenaufbereitung mobile Gerät zu senden. Nachdem die Daten auf das Handy übertragen worden sind, werden sie dort Abbildung 4.10: Screenshot der grafischen Oberfläche des Servers. auf unterschiedliche Weise gespeichert. Beim statischen Verfahren ist die Dateigröße relativ gering, so dass sie in einer Datenbank (RMS) abgelegt und bei Gebrauch komplett in den Speicher geladen werden. Beim dynamischen Verfahren kann die Datenmenge sehr groß sein. Aufgrund dessen werden die 55

Kinect Nils Röder, Björn Frömmer

Kinect Nils Röder, Björn Frömmer Kinect Nils Röder, Björn Frömmer Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking) Einleitung Was ist Kinect? Eingabegerät (Human Computer Interface) Optisches

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise

Mehr

Künstliche Intelligenz Dirk Krechel SS 2009

Künstliche Intelligenz Dirk Krechel SS 2009 Künstliche Intelligenz Dirk Krechel SS 2009 Überblick über das Modul 1. Einführung 2. Symbolische Verfahren Logik Aussagenlogik Prädikatenlogik Horn Logik Prolog 3. Suchen und Bewerten Problemlösen durch

Mehr

Multimedia-Metadaten und ihre Anwendung

Multimedia-Metadaten und ihre Anwendung Multimedia-Metadaten und ihre Anwendung 14.02.2006 Video Retrieval und Video Summarization Maria Wagner Aspekte des Video Retrieval 2/14 Videoanalyse Analyse nötig, um Struktur und Metadaten zu erkennen

Mehr

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern Björn Burow SE Mustererkennung in Bildern und 3D-Daten Lehrstuhl Graphische Systeme BTU Cottbus Inhaltsübersicht

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining. Personalisierung Personalisierung Thomas Mandl Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung Klassifikation Die Nutzer werden in vorab bestimmte Klassen/Nutzerprofilen

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Bildmerkmalssuche. Seminar Computational Photography. Visual Computing Department of Computer Science

Bildmerkmalssuche. Seminar Computational Photography. Visual Computing Department of Computer Science Bildmerkmalssuche Seminar Computational Photography EINFÜHRUNG 2 Einführung Bildmerkmalssuche: sehr wichtiges Thema des künstlichen Sehens Erkennen von Objekten auf dem Bild oder in einer Bildsequenz anhand

Mehr

Machine Learning - Maschinen besser als das menschliche Gehirn?

Machine Learning - Maschinen besser als das menschliche Gehirn? Machine Learning - Maschinen besser als das menschliche Gehirn? Seminar Big Data Science Tobias Stähle 23. Mai 2014 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

Mehr

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Johannes Schemmel Forschungsgruppe Electronic Vision(s) Lehrstuhl Prof. K. Meier Ruprecht-Karls-Universität Heidelberg Mitarbeiter:

Mehr

iphone App. www.woistwer24.de Bedienungsanleitung für die iphone App. Wichtiger Hinweis:

iphone App. www.woistwer24.de Bedienungsanleitung für die iphone App. Wichtiger Hinweis: iphone App. www.woistwer24.de Bedienungsanleitung für die iphone App. Wichtiger Hinweis: Wir haben bei der Entwicklung der iphone App. darauf geachtet, eine einfache Bedienung und eine stabile Anwendung

Mehr

Videos die Videokamera

Videos die Videokamera Videos die Videokamera Steffen Schwientek Kurzvortrag zum Videokurs Themen heute Kurze Einführung in die Videotechnik Drehen eines kurzen Dokumentarfilmes Fernsehtechnik Kameratechnik (Kleine) Kaufberatung

Mehr

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz.

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz. Aufbau des Internet Im Überblick ist im wesentlichen die Hardeare dargestellt, die digitale Informationen vom User bis zur Entstehung transportiert. Für diesen Überblick beschränken wir uns auf die wesentlichen

Mehr

Einleitung. Was ist das Wesen von Scrum? Die Ursprünge dieses Buches

Einleitung. Was ist das Wesen von Scrum? Die Ursprünge dieses Buches Dieses Buch beschreibt das Wesen von Scrum die Dinge, die Sie wissen müssen, wenn Sie Scrum erfolgreich einsetzen wollen, um innovative Produkte und Dienstleistungen bereitzustellen. Was ist das Wesen

Mehr

Ideen der Informatik. Maschinelles Lernen. Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Ideen der Informatik. Maschinelles Lernen. Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Ideen der Informatik Maschinelles Lernen Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Lernen: Begriff Beispiele für den Stand der Kunst Spamerkennung Handschriftenerkennung

Mehr

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1 Neuronale Netze, Fuzzy Control, Genetische Algorithmen Prof. Jürgen Sauer 5. Aufgabenblatt: Neural Network Toolbox 1 A. Mit Hilfe der GUI vom Neural Network erstelle die in den folgenden Aufgaben geforderten

Mehr

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining Gliederung 1. Einführung 2. Grundlagen Data Mining Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining 3. Ausgewählte Methoden des Data

Mehr

Phishingerkennung mittels visuellem Ähnlichkeitsvergleich. Felix Hill Ruhr-Universität Bochum felix.hill@rub.de

Phishingerkennung mittels visuellem Ähnlichkeitsvergleich. Felix Hill Ruhr-Universität Bochum felix.hill@rub.de Phishingerkennung mittels visuellem Ähnlichkeitsvergleich Felix Hill Ruhr-Universität Bochum felix.hill@rub.de 1 ÜBERSICHT Entwicklung im Bereich Phishing Ansatz Bilderkennung Evaluation G DATA EINFACH

Mehr

Factsheet. Einbau TOSC4. Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz

Factsheet. Einbau TOSC4. Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz Factsheet Einbau TOSC4 Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz Letzte Änderungen: - Mobile Version - Reverse Proxy - Hinweise Lightbox 0. Inhaltsverzeichnis 0. 1. 2. INHALTSVERZEICHNIS...

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Aufabe 7: Baum-Welch Algorithmus

Aufabe 7: Baum-Welch Algorithmus Effiziente Algorithmen VU Ausarbeitung Aufabe 7: Baum-Welch Algorithmus Florian Fest, Matr. Nr.0125496 baskit@generationfun.at Claudia Hermann, Matr. Nr.0125532 e0125532@stud4.tuwien.ac.at Matteo Savio,

Mehr

Proseminar - Data Mining

Proseminar - Data Mining Proseminar - Data Mining SCCS, Fakultät für Informatik Technische Universität München SS 2012, SS 2012 1 Data Mining Pipeline Planung Aufbereitung Modellbildung Auswertung Wir wollen nützliches Wissen

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Kompakte Graphmodelle handgezeichneter Bilder

Kompakte Graphmodelle handgezeichneter Bilder Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Authentizierung und Bilderkennung Inhaltsverzeichnis Seminar Mustererkennung WS 006/07 Autor: Stefan Lohs 1 Einleitung 1 Das graphische Modell.1

Mehr

Vorbereitungsaufgaben

Vorbereitungsaufgaben Praktikum Bildverarbeitung / Bildinformationstechnik Versuch BV 4 / BIT 3: Mustererkennung Paddy Gadegast, CV00, 160967 Alexander Opel, CV00, 16075 Gruppe 3 Otto-von-Guericke Universität Magdeburg Fakultät

Mehr

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.

Mehr

Sophos Mobile Control Benutzerhandbuch für Android

Sophos Mobile Control Benutzerhandbuch für Android Sophos Mobile Control Benutzerhandbuch für Android Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Android-Mobiltelefon...

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining. Motivation Themenblock: Klassifikation Praktikum: Data Warehousing und Data Mining Ziel Item hat mehrere Attribute Anhand von n Attributen wird (n+)-tes vorhergesagt. Zusätzliches Attribut erst später

Mehr

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung Wie fängt man an Um alle Vorzüge der iphone TBird Anwendung zu nutzen, sollten nachfolgende Hinweise gelesen werden. Fortgeschrittene Kontakt Verwaltung Mit der TBird iphone Anwendung ist es möglich Kontakte

Mehr

CLUSTERED NEURONAL NETWORK - DOKUMENTATION

CLUSTERED NEURONAL NETWORK - DOKUMENTATION CLUSTERED NEURONAL NETWORK - DOKUMENTATION Johannes Hoppe 03.02.2009 1 1 INHALT 1 Das Projekt Clustered Neuronal Network... 3 1.1 Das Team... 3 1.2 Die Idee... 3 1.3 Microsoft Windows Compute Cluster Server

Mehr

TEXTKLASSIFIKATION. WS 2011/12 Computerlinguistik I Deasy Sukarya & Tania Bellini

TEXTKLASSIFIKATION. WS 2011/12 Computerlinguistik I Deasy Sukarya & Tania Bellini TEXTKLASSIFIKATION WS 2011/12 Computerlinguistik I Deasy Sukarya & Tania Bellini GLIEDERUNG 1. Allgemeines Was ist Textklassifikation? 2. Aufbau eines Textklassifikationssystems 3. Arten von Textklassifikationssystemen

Mehr

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Zusatzmaterial zum Buch "Algorithmen kompakt und verständlich" Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Robuste Hashes zur forensischen Bilderkennung

Robuste Hashes zur forensischen Bilderkennung Robuste Hashes zur forensischen Bilderkennung Dr. Martin Steinebach Information Assurance (IAS) Fraunhofer SIT Rheinstrasse 75, 64295 Darmstadt Telefon: 06151 869-349, Fax: 06151 869-224 E-mail: martin.steinebach@sit.fraunhofer.de

Mehr

HANDYHISTORIE: TECHNISCHE ENTWICKLUNGEN VON HANDYS

HANDYHISTORIE: TECHNISCHE ENTWICKLUNGEN VON HANDYS HANDYHISTORIE: TECHNISCHE ENTWICKLUNGEN VON HANDYS Jahr Funktion Handytyp 1928 1. Mobiltelefon - im deutschen Zug, 1. Mobiltelefon, mit dem man telefonieren konnte. 1983 - im US-Standart TACS Mobiltelefon

Mehr

Data Mining - Wiederholung

Data Mining - Wiederholung Data Mining - Wiederholung Norbert Fuhr 9. Juni 2008 Problemstellungen Problemstellungen Daten vs. Information Def. Data Mining Arten von strukturellen Beschreibungen Regeln (Klassifikation, Assoziations-)

Mehr

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise A-Plan 12.0 Zeiterfassung 2.0 Ausgabe 1.1 Copyright Copyright 1996-2014 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf mechanischem

Mehr

Data Mining mit Rapidminer im Direktmarketing ein erster Versuch. Hasan Tercan und Hans-Peter Weih

Data Mining mit Rapidminer im Direktmarketing ein erster Versuch. Hasan Tercan und Hans-Peter Weih Data Mining mit Rapidminer im Direktmarketing ein erster Versuch Hasan Tercan und Hans-Peter Weih Motivation und Ziele des Projekts Anwendung von Data Mining im Versicherungssektor Unternehmen: Standard

Mehr

The integration of business intelligence and knowledge management

The integration of business intelligence and knowledge management The integration of business intelligence and knowledge management Seminar: Business Intelligence Ketevan Karbelashvili Master IE, 3. Semester Universität Konstanz Inhalt Knowledge Management Business intelligence

Mehr

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftsingenieur der Fakultät

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Proseminar - Data Mining

Proseminar - Data Mining Proseminar - Data Mining SCCS, Fakultät für Informatik Technische Universität München SS 2014, SS 2014 1 Data Mining: Beispiele (1) Hausnummererkennung (Klassifikation) Source: http://arxiv.org/abs/1312.6082,

Mehr

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Lucene Hilfe Begriffe Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Ein einzelner Begriff ist ein einzelnes

Mehr

SLAM. Simultaneous Localization and Mapping. KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann

SLAM. Simultaneous Localization and Mapping. KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann SLAM Simultaneous Localization and Mapping KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann Simultaneous Localization And Mapping SLAM Problematik SLAM Arten SLAM Methoden: (E)KF SLAM GraphSLAM Fast

Mehr

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz Mit KI gegen SPAM Proseminar Künstliche Intelligenz SS 2006 Florian Laib Ausblick Was ist SPAM? Warum SPAM-Filter? Naive Bayes-Verfahren Fallbasiertes Schließen Fallbasierte Filter TiMBL Vergleich der

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

Mehr

Fingerpulsoximeter. A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC?

Fingerpulsoximeter. A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC? Mini-FAQ v1.5 PO-300 Fingerpulsoximeter A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC? B. Wie nimmt man mit dem PULOX PO-300

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Digitale Bilddateien

Digitale Bilddateien ARBEITSBLATT 1 Digitale Bilddateien Gängige Bildformate und deren Speicherbedarf Unkomprimierte Bilddateien Öffnen Sie in Photopaint die Datei beauty.tga! Beauty.tga ein virtueller Männertraum, generiert

Mehr

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 9 Kombination von Vektor- und Rasterdaten Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2011/12 Ludwig-Maximilians-Universität

Mehr

Die wichtigsten Vorteile von SEPPmail auf einen Blick

Die wichtigsten Vorteile von SEPPmail auf einen Blick Die wichtigsten Vorteile von SEPPmail auf einen Blick August 2008 Inhalt Die wichtigsten Vorteile von SEPPmail auf einen Blick... 3 Enhanced WebMail Technologie... 3 Domain Encryption... 5 Queue-less Betrieb...

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Datamining-Cup 2012 - TeamFK i. Datamining-Cup 2012 - TeamFK

Datamining-Cup 2012 - TeamFK i. Datamining-Cup 2012 - TeamFK i Datamining-Cup 2012 - TeamFK ii Inhaltsverzeichnis 1 Programme und Datenvorverarbeitung 1 2 Vorbetrachtung der Daten 2 2.1 Zeitintervalle..................................................... 2 2.2 Mittelwert

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

VERSIONSHINWEISE. Versionshinweise. Versionsmitteilung. Produktversion: Vision und Vision Pro Version 8.1. Build-Nummer: 16. Juli 2013.

VERSIONSHINWEISE. Versionshinweise. Versionsmitteilung. Produktversion: Vision und Vision Pro Version 8.1. Build-Nummer: 16. Juli 2013. Versionshinweise Produktversion: Vision und Vision Pro Version 8.1 Build-Nummer: Versanddatum: VERSIONSHINWEISE 8133 16. Juli 2013 Versionsmitteilung Diese Version stellt eine Android Student-App und eine

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

360Grad-Service Dienstleistungs-Preisliste

360Grad-Service Dienstleistungs-Preisliste 360Grad-Service Dienstleistungs-Preisliste 1. Foto 2. Film 3. Ton / Musik 4. 360 Grad Rundgänge 5. Luftbildaufnahmen 6. Allgemeine Infos Stand 05 / 2015 1. Foto Fotoaufnahmen - HiRes - RAW / HDR Fotograf

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Linux Cluster in Theorie und Praxis

Linux Cluster in Theorie und Praxis Foliensatz Center for Information Services and High Performance Computing (ZIH) Linux Cluster in Theorie und Praxis Monitoring 30. November 2009 Verfügbarkeit der Folien Vorlesungswebseite: http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/

Mehr

Software Requirements Specification

Software Requirements Specification Software Requirements Specification Identifikation von Sehenswürdigkeiten basierend auf Bildinhalten Iterationsschritt: 3 Abgabedatum: 08.06.2010 Gruppe 37: Matthias Hochsteger 0627568 Josef Kemetmüller

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Mining top-k frequent itemsets from data streams

Mining top-k frequent itemsets from data streams Seminar: Maschinelles Lernen Mining top-k frequent itemsets from data streams R.C.-W. Wong A.W.-C. Fu 1 Gliederung 1. Einleitung 2. Chernoff-basierter Algorithmus 3. top-k lossy counting Algorithmus 4.

Mehr

Support Vector Machine und Ridge Regression in der digitalen Bildverarbeitung

Support Vector Machine und Ridge Regression in der digitalen Bildverarbeitung Support Vector Machine und Ridge Regression in der digitalen Bildverarbeitung Volker Gimple, Gruppenleiter Bildverarbeitung STEMMER IMAGING GmbH, Puchheim INHALT (1) Einleitung Begriffsklärung Struktur

Mehr

VCA mit HD so geht s. Abgrenzung - Videoanalyse und Bewegungserkennung

VCA mit HD so geht s. Abgrenzung - Videoanalyse und Bewegungserkennung VCA mit HD so geht s Video Content Analysis (VCA), also die automatisierte Analyse von Videodaten zur Erkennung von Objekten und alarmrelevanten Ereignissen, ist sicherlich eine der anspruchsvollsten Teilaufgaben

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

T H E P O W E R O F B U I L D I N G A N D M A N A G I N G N E T W O R K S. Operations

T H E P O W E R O F B U I L D I N G A N D M A N A G I N G N E T W O R K S. Operations T H E P O W E R O F B U I L D I N G A N D M A N A G I N G N E T W O R K S by ERAMON GmbH Welserstraße 11 86368 Gersthofen Germany Tel. +49-821-2498-200 Fax +49-821-2498-299 info@eramon.de Inhaltsverzeichnis

Mehr

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

Mehr

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Ziel Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Einteilung (=Klassifikation) der Pixel eines multispektralen Datensatzes in eine endliche Anzahl von Klassen. Es sollen dabei versucht

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Bildverarbeitung - Inhalt

Bildverarbeitung - Inhalt Bildverarbeitung Bildverarbeitung - Inhalt 1. Anfänge der industriellen Bildverarbeitung 2. Von der Kamera zum Vision Sensor 3. Hardware Konzepte in der BV 4. Beleuchtungssysteme 5. Auswerteverfahren (Software)

Mehr

SAP als effiziente IT-Application für den deutschen Mittelstand? mit Schwerpunkt Internationales Management

SAP als effiziente IT-Application für den deutschen Mittelstand? mit Schwerpunkt Internationales Management Wirtschaftswissenschaftliche Fakultät Universität Passau Bachelorarbeit SAP als effiziente IT-Application für den deutschen Mittelstand? Eingereicht bei Prof. Dr. Carola Jungwirth Lehrstuhl für Betriebswirtschaftslehre

Mehr

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2) Inhalt Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)... 1 1. Die integrierte Firewall von Windows XP... 2 2. Convision ActiveX und Internet Explorer 6... 3 3. Probleme

Mehr

Professionelles Videoüberwachungssystem für Analog-Kameras

Professionelles Videoüberwachungssystem für Analog-Kameras Professionelles Videoüberwachungssystem für Analog-Kameras Das von ALNET entwickelte System VDR-S (Video-Digital- Recording-Server) ist ein hochprofessionelles System für digitale Video-Aufnahmen, mit

Mehr

EFS 10.8 Neue Features

EFS 10.8 Neue Features EFS 10.8 Neue Features Version 1.0, 1.10.2015 2015 Questback GmbH Die in dieser Publikation enthaltene Information ist Eigentum der Questback GmbH. Weitergabe und Vervielfältigung dieser Publikation oder

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Ohne Mathematik undenkbar!

Ohne Mathematik undenkbar! Die tägliche - Suche: Ohne Mathematik undenkbar! Dipl.-Wirt.Math. Jan Maruhn FB IV - Mathematik Universität Trier 29. März 2006 29. März 2006 Seite 1 Gliederung Einleitung und Motivation Das Internet als

Mehr

Infrastruktur für Web Intelligent Systems

Infrastruktur für Web Intelligent Systems Infrastruktur für Web Intelligent Systems Thema: Business Intelligence Teil II: Data Mining & Knowledge Discovery von Christian Merker Gliederung Web-Intelligent-Systeme Begriffsklärung Personalisiertes

Mehr

03/ DISKUS Erweiterungen 2003

03/ DISKUS Erweiterungen 2003 03/ DISKUS Erweiterungen 2003 03/ 1. Diverses a) Größe der Markier-Pfeile ist konfigurierbar Für Nutzer hochauflösender Kameras, stehen bei dem größeren Bild auch größere Pfeile zum einstanzen zur Verfügung.

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

Data Mining und maschinelles Lernen

Data Mining und maschinelles Lernen Data Mining und maschinelles Lernen Einführung und Anwendung mit WEKA Caren Brinckmann 16. August 2000 http://www.coli.uni-sb.de/~cabr/vortraege/ml.pdf http://www.cs.waikato.ac.nz/ml/weka/ Inhalt Einführung:

Mehr

Künstliche Neuronale Netze und Data Mining

Künstliche Neuronale Netze und Data Mining Künstliche Neuronale Netze und Data Mining Catherine Janson, icasus GmbH Heidelberg Abstract Der Begriff "künstliche Neuronale Netze" fasst Methoden der Informationstechnik zusammen, deren Entwicklung

Mehr

Die Hifidelio App Beschreibung

Die Hifidelio App Beschreibung Die Hifidelio App Beschreibung Copyright Hermstedt 2010 Version 1.0 Seite 1 Inhalt 1. Zusammenfassung 2. Die Umgebung für die Benutzung 3. Der erste Start 4. Die Ansicht Remote Control RC 5. Die Ansicht

Mehr

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Präsentation Agenda I. Einführung 1. Motivation 2. Das Spiel Vier Gewinnt

Mehr

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung 1 Kapitel III Skalierbare Peer to Peer-Netzwerke Tapestry von Zhao, Kubiatowicz und Joseph (2001) Netzw erke 2 Tapestry

Mehr

Zusammenfassung der Umfrageergebnisse Customer Intelligence in Unternehmen 23.12.2010

Zusammenfassung der Umfrageergebnisse Customer Intelligence in Unternehmen 23.12.2010 Zusammenfassung der Umfrageergebnisse Customer Intelligence in Unternehmen 23.12.2010 Autoren: Alexander Schramm Marcus Mertens MuniConS GmbH Einleitung Unternehmen verfügen heute über viele wichtige Informationen

Mehr

Digitales Video I Wie wird Video am Computer codiert?

Digitales Video I Wie wird Video am Computer codiert? Digitales Video I Wie wird Video am Computer codiert? Bilder Auflösung Speicherung am Computer Bewegte Bilder Interlacing Kompression / Codec Ton Audioformate / Codecs Videoformate Bilder Auflösung: z.b.:

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Single Parity check Codes (1)

Single Parity check Codes (1) Single Parity check Codes (1) Der Single Parity check Code (SPC) fügt zu dem Informationsblock u = (u 1, u 2,..., u k ) ein Prüfbit (englisch: Parity) p hinzu: Die Grafik zeigt drei Beispiele solcher Codes

Mehr

VPN mit INSYS-Routern OpenVPN-Server mit Authentifizierung über statischen Schlüssel konfigurieren. Konfigurations-Handbuch

VPN mit INSYS-Routern OpenVPN-Server mit Authentifizierung über statischen Schlüssel konfigurieren. Konfigurations-Handbuch VPN mit INSYS-Routern OpenVPN-Server mit Authentifizierung über statischen Schlüssel konfigurieren Konfigurations-Handbuch Pos: 1 /Datenkommunikation/Configuration Guide/=== ORGA - Module ===/1 Einführung:

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008 Histogramme in der Datenbankoptimierung Marian Marx 26.06.2008 Inhaltsverzeichnis 1. Histogramme im Allgemeinen 1.1 Definition Histogramm 1.2 Beispiel Histogramm 2. Histogramme in der Datenbankoptimierung

Mehr