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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Wie optimiert man die Werbungserkennung von Ad- Detective?

Wie optimiert man die Werbungserkennung von Ad- Detective? Wie optimiert man die Werbungserkennung von Ad- Detective? Die Ad-Detective-Werbe-Erkennung von VideiReDo basiert auf der Erkennung von Schwarzwerten / scharzen Bildern, die die Werbeblöcke abgrenzen.

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

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

Verwalten und Organisieren von Fotos,

Verwalten und Organisieren von Fotos, Verwalten und Organisieren von Fotos, Datensicherung auf einen externen Datenträger durchführen, Datensicherung auf externe Datenträger - Datensicherheit Grundsätze 02 - Sicherungsmethode / FreeCommander

Mehr

Kreatives Gestalten mit Flash 5.0

Kreatives Gestalten mit Flash 5.0 Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

DPF Dynamic Partial distance Function

DPF Dynamic Partial distance Function DPF Dynamic Partial distance Function Vorgelegt von Sebastian Loose (MatrikelNR.: 169172), Computervisualistikstudent im 4. Semester. Hausarbeit zum Papier DPF A Perceptual Distance Function for Image

Mehr

Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero?

Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero? Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero? Manche sagen: Ja, manche sagen: Nein Wie soll man das objektiv feststellen? Kann man Geschmack objektiv messen? - Geschmack ist subjektiv

Mehr

Wasserfall-Ansätze zur Bildsegmentierung

Wasserfall-Ansätze zur Bildsegmentierung Wasserfall-Ansätze zur Bildsegmentierung von Philipp Jester Seminar: Bildsegmentierung und Computer Vision 16.01.2006 Überblick 1. Problemstellung 2. Wiederholung: Wasserscheiden-Ansätze 3. Der Wasserfall-Ansatz

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Mobile Intranet in Unternehmen

Mobile Intranet in Unternehmen Mobile Intranet in Unternehmen Ergebnisse einer Umfrage unter Intranet Verantwortlichen aexea GmbH - communication. content. consulting Augustenstraße 15 70178 Stuttgart Tel: 0711 87035490 Mobile Intranet

Mehr

Internet Kurs. Suchmaschinen

Internet Kurs. Suchmaschinen Internet Kurs Suchmaschinen M. Stalder Internetkurs M. Stalder 1 / 6 Suchmaschinen Suchmaschinen haben sich in letzter Zeit immer mehr zu einem unverzichtbaren Hilfsmittel entwickelt. Das Internet bietet

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In - eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In - Übersicht: Nach dem Herunterladen und Ausführen des Installationsprogamms für das eduvote PowerPoint Add-In befindet sich rechts

Mehr

Fragebogen: Abschlussbefragung

Fragebogen: Abschlussbefragung Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Bilder Schärfen und Rauschen entfernen

Bilder Schärfen und Rauschen entfernen Bilder Schärfen und Rauschen entfernen Um alte Bilder, so wie die von der Olympus Camedia 840 L noch dazu zu bewegen, Farben froh und frisch daherzukommen, bedarf es einiger Arbeit und die habe ich hier

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Windows 8.1. In 5 Minuten Was ist alles neu? Word

Windows 8.1. In 5 Minuten Was ist alles neu? Word Windows 8.1 In 5 Minuten Was ist alles neu? Word Inhaltsverzeichnis Inhaltsverzeichnis WINDOWS 8.1 IN 5 MINUTEN... 1 1. WINDOWS 8.1 DIE NEUEN FEATURES... 1 2. DIE DESKTOP- UND KACHELOBERFLÄCHE... 2 3.

Mehr

Anbieter auf dem Foto-Marktplatz werden

Anbieter auf dem Foto-Marktplatz werden Wie kann ich meine Fotos auf dem Marktplatz anbieten? Anbieter auf dem Foto-Marktplatz werden Um Ihre Bilder auf dem Marktplatz präsentieren zu können benötigen Sie persönliche Zugangsdaten, damit Sie

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

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

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen. Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Statistische Auswertung:

Statistische Auswertung: Statistische Auswertung: Die erhobenen Daten mittels der selbst erstellten Tests (Surfaufgaben) Statistics Punkte aus dem Punkte aus Surftheorietest Punkte aus dem dem und dem Surftheorietest max.14p.

Mehr

Tutorial: Homogenitätstest

Tutorial: Homogenitätstest Tutorial: Homogenitätstest Eine Bank möchte die Kreditwürdigkeit potenzieller Kreditnehmer abschätzen. Einerseits lebt die Bank ja von der Vergabe von Krediten, andererseits verursachen Problemkredite

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Jan Parthey, Christin Seifert. 22. Mai 2003

Jan Parthey, Christin Seifert. 22. Mai 2003 Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.

Mehr

Ich möchte eine Bildergalerie ins Internet stellen

Ich möchte eine Bildergalerie ins Internet stellen Ich möchte eine Bildergalerie ins Internet stellen Ich habe viele Fotos von Blumen, von Häusern, von Menschen. Ich möchte zu einem Thema Fotos sammeln, eine Vorschau erstellen und die Fotos so in der Größe

Mehr

Word 2010 Schnellbausteine

Word 2010 Schnellbausteine WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Benutzerhandbuch MedHQ-App

Benutzerhandbuch MedHQ-App Benutzerhandbuch MedHQ-App T h o r D y n a m i c s G m b H A m B ü c h e n b e r g s k a m p 2 2 2 1 0 3 9 B ö r n s e n V e r s i o n 1. 0 S t a n d : 0 4 / 2 0 1 5 z u r M e d H Q - A p p - V e r s i

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Outlook 2003 - Aufbaukurs 19 Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Wie kann ich die Bearbeitung von Nachrichten automatisieren? Wie kann ich Nachrichten automatisch

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Das Handbuch zu Simond. Peter H. Grasch

Das Handbuch zu Simond. Peter H. Grasch Peter H. Grasch 2 Inhaltsverzeichnis 1 Einführung 6 2 Simond verwenden 7 2.1 Benutzereinrichtung.................................... 7 2.2 Netzwerkeinrichtung.................................... 9 2.3

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG von Urs Schaffer Copyright by Urs Schaffer Schaffer Consulting GmbH Basel www.schaffer-consulting.ch Info@schaffer-consulting.ch Haben Sie gewusst dass... >

Mehr

15 Arten von QR-Code-Inhalten!

15 Arten von QR-Code-Inhalten! 15 Arten von QR-Code-Inhalten! Quelle: www.rohinie.eu QR-Codes(= Quick Response Codes) sind Pop-Art-Matrix Barcodes, die Informationen in einer kleinen rechteckigen Grafik enthalten. Sie sind auch eine

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip. KLAUSUR Statistik B

Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip. KLAUSUR Statistik B Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip Sommersemester 2010 KLAUSUR Statistik B Hinweise zur Bearbeitung: Bei allen Teilaufgaben

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Programm 4: Arbeiten mit thematischen Karten

Programm 4: Arbeiten mit thematischen Karten : Arbeiten mit thematischen Karten A) Anteil der ausländischen Wohnbevölkerung an der Wohnbevölkerung insgesamt 2001 in Prozent 1. Inhaltliche und kartographische Beschreibung - Originalkarte Bei dieser

Mehr

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis

Mehr

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag

Mehr

Seekajakspots.ch Android App

Seekajakspots.ch Android App Eine App zum Finden und Eintragen von Einwasserstellen (Spots) für Kanuten auf Schweizer Seen und in angerenzenden Ländern. Seekajakspots.ch Android App Manual Inhaltsverzeichnis Setup...3 Benutzername...3

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Woher kommt die Idee Internet?

Woher kommt die Idee Internet? Woher kommt die Idee Internet? Aus den USA kommt die Idee. Nachdem die UdSSR 1957 den ersten Satelliten ins All schoss, fühlt en die USA sich bedroht. Die USA suchte nun eine Möglichkeit auch wenn das

Mehr