Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware



Ähnliche Dokumente
Bildrekonstruktion & Multiresolution

computer graphics & visualization

Lineare Gleichungssysteme

Leica 3D Disto CAD-Werkzeuge

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Wasserfall-Ansätze zur Bildsegmentierung

Konzepte der Informatik

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

Lichtbrechung an Linsen

TechTipp. Bildbearbeitung mit Lookup-Tabellen (LUT): Machen Sie das (fast) Unsichtbare sichtbar. Hintergrund

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

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

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

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

omnidirektionalersichtsysteme

Michelson-Interferometer & photoelektrischer Effekt

Fraunhofer FOKUS ADPSW-INSTALLATION. Abiturdaten-Prüfsoftware. Version 3.0.1, 7. Mai 2013 FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Einführung in. Logische Schaltungen

Bilderzeugung Pixel. Daniela Glatz Jasmin Rießle. Sommersemester 2012

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Grundlagen der Computer-Tomographie

Erfahrungen mit Hartz IV- Empfängern

Hauptprüfung Fachhochschulreife Baden-Württemberg

Diese CD ersetzt die ursprünglich auf der RAVE-CD enthaltenen Repair Operation Times (ROTs) und die auf der KSD-CD enthaltenen Fehlercodes.

Gussnummern-Lesesystem

Ein Bild in den Text einfügen

Prof. Dr. Norbert Pohlmann, Institut für Internet Sicherheit - if(is), Fachhochschule Gelsenkirchen. Lage der IT-Sicherheit im Mittelstand

Projektdokumentation

ECO-Manager - Funktionsbeschreibung

Advanced Rendering Interior Szene

MPDS4 MODELLE IMPORTIEREN

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

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

Wie findet das Navi den Weg?

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Neuer Vorraum-Sensor. Dr. H. Klein, CEDES GmbH VII. Schwelmer Symposium Juni 2009

Bildbearbeitung mit IrfanView

Installationsanleitung. Ab Version

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Die reellen Lösungen der kubischen Gleichung

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

Hinweise zur Kalibrierung von Kameras mit einer AICON Kalibriertafel

Handout Relaunch globetrotter.de

Optimierung von Heizungsanlagen. Hydraulischer Abgleich Arbeitsweise der Software

UMSTELLUNG DER RÖNTGEN-SCHNITTSTELLE DÜRR-DBSWIN AUF DÜRR-VDDS

OrgChart 2.30 INTRANET-AUSGABE 2 DARSTELLUNGSOPTIONEN 5 SUCHFUNKTION 8 SYMBOLEDITOR 8 LOGA-VERSION 8 FEHLERBEREINIGUNGEN 9 SUCHFUNKTION 2

Auswertung des Jahresabschlusses Bilanzanalyse 2

So versprüht man digitalen Lockstoff

Weather Professional & WS 550 Treiber Installation unter Windows

Sparen mit der Sparkassen-RiesterRente. Da legt der Staat ordentlich was drauf.

Jan Parthey, Christin Seifert. 22. Mai 2003

Einbau bzw. Umbau einer USB-Schnittstelle für das Testboard TB1 nicht nur für il-troll

Objekterkennung mit SIFT-Merkmalen

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Arbeiten mit Pivot-Tabellen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Abi-Retter-Strategien: Texterörterung. Das komplette Material finden Sie hier:

Optimierung und Fertigung eines Bogenmittelteils aus einer Magnesiumlegierung

Ihr Ideen- & Projektmanagement-Tool

Seminar Seminarname SS 2003

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

Diese werden in Strukturkanten umgewandelt und neue Flächen als kantendefinierte Flächen erzeugt.

Ihr Smart Home beginnt an Ihrer Tür

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Lösungen mit Strategie

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Import und Export von Übergängern


Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Die Näherung durch die Sekante durch die Punkte A und C ist schlechter, da der Punkt C weiter von A entfernt liegt.

6.2 Scan-Konvertierung (Scan Conversion)

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

FIW Forschungs-Institut Würtenberger Fragebogen Hauptbefragung bodylife Award bodylife AWARD Fragebogen. 0 Ja, sofort 0 Ja, später 0 Nein

CKL Bewertung PLUS. für Microsoft Dynamics NAV. AugenbliCKLlich Durchblick: Die Bewertung zum Bilanzstichtag. Software, die sich rechnet.

Augmented Reality als moderne Darstellungsform für Geodaten

Probabilistisches Tracking mit dem Condensation Algorithmus

Elementare Bildverarbeitungsoperationen

Grundlagen zur Wheatstone'schen Brückenschaltung

Origami Geld Buchstaben

2D-Transformationen. Kapitel Translation. 6.2 Skalierung

Entwurf einer universellen rekonfigurierbaren Architektur für Visual Computing. Urs Kanus WSI / GRIS Universität Tübingen urs@gris.uni-tuebingen.

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Origami Geldschein Bagger

5. Bildauflösung ICT-Komp 10

Simulation LIF5000. Abbildung 1

Holen Sie das Beste aus Ihrer Kampagne heraus mit unserer Landingpage!

Ein Tool für automatische Performancetests von Java3D Applikationen

ecaros2 - Accountmanager

Zwischenablage (Bilder, Texte,...)

Industrielle Bildverarbeitung mit OpenCV

Herzlich Willkommen zur Präsentation von. Erfahren Sie alles über Ihre Chancen als GDA. (c) by HaWo Holding Inc., 2015, All rights reserved

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

Plotten von Linien ( nach Jack Bresenham, 1962 )

Transkript:

Implementierung und Evaluierung von Video Feature Tracking auf moderner Diplomarbeit vorgelegt von Sebastian Heymann Betreut von Prof. Dr. Bernd Fröhlich Bauhaus Universität t Dr. Aljoscha Smolic Fraunhofer Heinrich Hertz Institut Berlin 21. September 2005

Übersicht Motivation und Zielstellung der Arbeit SIFT-Scale Invariant Feature Transform GPGPU - General Purpose Computations on the GPU SIFT Implementierung auf der GPU Zusammenfassung Resultate

Motivation und Zielstellung der Arbeit Computer Vision: Computer sollen Bilder verstehen Extraktion von Bildinformationen Interpretation von Bildinformationen Anwendungsbeispiele: Szenenrekonstruktion Orientierung in Szenen Objekterkennung

Allgemeiner Ansatz bei Computer Vision Finden von Punkten mit hoher Einzigartigkeit und somit hoher Wiedererkennbarkeit ( Featurepunkte ) Häufig verwendete Kriterien: Kanten Ecken Farben Extrema Lernmenge von Punkte wird durch Eingangsbild(er) erzeugt In späteren Bildern wird nach Übereinstimmungen mit der Lernmenge gesucht

Probleme Je höher die Qualität der Featurepunkte desto höher ist der Berechnungsaufwand Qualität? Wiedererkennen von Featurepunkten nach: Positionswechseln Rotationen Blickrichtungsänderungen Beleuchtungsvarianzen Echtzeitanwendung nur eingeschränkt möglich Zielstellung: Implementierung eines Featureverfahrens auf CPU und GPU zum anschließenden Vergleich

SIFT - Scale Invariant Feature Transform LoweSift03 - David Lowe et al. 1999-2004 - Methode zur Generierung von Featurevektoren Besitzt Invarianzen gegen: Rotation, Skalierung, Helligkeits/Kontraständerungen, affine Transformationen Schritte zur Generierung von SIFT Features: 1. Suche nach globalen Extrempunkten in den Bildfrequenzen 2. Filterung und Lokalisierung der Interessenpunkte 3. Richtungsberechnung der Punkte 4. Berechnung der Featurevektoren

1. Suche nach Extrema 1.1 DoG - Difference of Gaussian Pyramide Wiederholte Gaußfaltung des Originalbildes in verschiedenen Skalierungen Subtraktion der in der Pyramide benachbarten Bilder dadurch Trennung der Frequenzen des Eingangsbildes Scale Space/Skalenraum [Witkin, 83]

1.2 Suche nach Extrema & 2. Filterung der Extrem 1.2 Suche nach Extrema & 2.1 Filterung der Extrempunkte Schwellwertfilterung in der DoG Pyramide Prüfen verbleibender Punkte auf globales Minimum / Maximum Entfernen von auf Kanten liegenden Punkten a) Eingangsbild b) lokale Extrempunkte c) Globale Extrema / nach Kantenfilterung

3. Richtungsbestimmung der verbliebenen Punkte Vorberechnungen der Gradientengröße und Richtung für die gesamten Skalenraum Pyramide Richtung des potentiellen Keypoints wird berechnet (Rotationsinvarianz) Richtung und Größe (Freqenz des Extrempunktes in der DoG Pyramide) sind Basis der nachfolgenden Berechnungen

4. Berechnung der Featurevektoren 4x4 Gradientenfenster pro Featurevektor Gradientenhistogramm aus je 4x4 Samples pro Fenster in 8 Richtungen Gaußgewichtung um den Mittelpunkt des Keypoints daraus resultiert ein 128-elementiger Feature Vektor Normalisierung des Vektors erzeugt Helligkeitsinvarianz

Keypoint Matching Berechnung des euklisischen Abstands der zu vergleichenden Vektoren Abstand kleiner als Schwellwert, dann Übereinstimmung, sonst nicht. Brute Force - Vergleichen jedes einzelnen Vektors kd-baum BBF (Best-Bin-First) Modifizierter kd-baum 95% Erfolg bei besserer Performance als Standard kd-baum

Keypoint Matching Resultate

Warum eine Implementierung auf? Leistungsstarker Parallelprozessor Durch Videospieleindustrie sehr starkes Wachstum Beste Rechenleistung pro Dollar Spitzenwerte bei Fließkommaoperationen nicht auf CPUs erreichbar Nicht-bilderzeugende Berechnungen nach Anpassung von Algorithmen möglich Leistungsentwicklung bei nvidia GPUs 2002-2005

GPGPU - General Purpose Computations on the GPU Nutzen der Rendering Pipeline für allgemeine Berechnungen Berechnungen über Vertex- und Fragment Programme, die auf Geometrierepräsentationen und Texturdaten ausgeführt werden Implementierung und Evaluierung von Video Feature Tracking auf moderner

Umsetzung auf GPU * 1:1 oder n:1 Operationen 1:n oder n:n Operationen nicht gut möglich Teile des SIFT Verfahrens können gut in Hardware realisiert werden, besonders: Gaussfaltung/Differenz Gradientenberechnungen Suche nach Extrema * SSE optimierte CPU Implementierung

Berechnung der DoG-Pyramide Intuitive Übersetzung: 1. 1D-Gauss Kernel pro Pixel in horizontaler Richtung 2. Resultat aus 1. wird mit dem selben Kernel in vertikaler Richtung gefaltet 3. 1. und 2. werden mit verschiedenen Kernelgrößen so oft wiederholt, wie für die DoG-Pyramide nötig 4. Größe halbieren und zurück zu 1. Probleme/Chancen bei GPU Implementierung: Operationen mit Graubildern Verschenkte Rechenleistung durch skalare Operationen GPU rechnet auf Vektoren Ausnutzen von Vektorberechnungen für Gaußfaltungen notwendig

DoG-Pyramide auf der GPU mit gepackten Daten Bild wird horizontal und vertikal gepackt pro: GPU kann besser genuzt werden contra: Anpassen von Algorithmen u.u. notwendig Zusätzlicher Rechenaufwand zum Packen Bildgröße, somit Ausführen des Fragment Programms nur 1/4

Gepackte Faltung in zwei Teilen Ausnutzung linearer Interpolation Pro: Faltung gepackter Daten - Ideale Ausnutzung der Grafikkarte Contra: - Hoher Entwicklungsaufwand - wenig flexibel GPU Daten gemessen mit nvidias cgc Compiler

Erzeugen der Difference of Gaussian Pyramide Subtraktion der einzelnen Faltungsstufen: - Eins-zu-Eins Abbildung der Pixel zueinander - gepackte Daten benötigen keine Extrabehandlung Reduktion der Bildgrösse: - Halbieren der Berechnungsgröße - kein weiterer Informationsverlust aufgrund der wiederholten Tiefpassfilterung des Eingangsbildes

Vergleiche

Filterung der Punkte auf der GPU gestaffelte Filterung / verbleibende Punkte der vorangegangenen Filterschritte werden weiter berücksichtigt, andere verworfen Branch Prediction auf CPU macht Filterung effizient möglich gesamte Filterung in einem Rendering-Pass Analyse der einzelnen Filterstufen ermöglicht Verzweigungsoptimierung

Konditionalverzweigungen der Filterung Intuitiver Ansatz: Branching optimierter Ansatz:

Vorberechnung der Gradientengröß öße e und -richtung Berechnungen auf gepackten Daten Eine Textur pro Skalenraumstufe Basis der Featurevektorberechnungen gepackte Daten ab jetzt ungünstig Entpacken der Daten Abbildung der RGBA Anteile in je einen Grauwert Später schnellerer Zugriff möglich

Berechnung der Featurevektoren Gefilterte Extrempunkte liegen in einer Textur pro Skalenraumstufe vor Zurücklesen auf CPU notwendig Aufteilen auf 2 Rendering Targets Erzeugung von Geometriepunkten für Vektorelemente (1 Punkt je Fenster) Position, Rotation und Größe des Keypointfensters in Texturekoordinaten

Matching der Vektoren Berechnung des eukildischen Abstandes Brute Force Implementierung liefert auf GPU gute Resultate, da sehr gut parallelisierbar Berechnungsfenster der Größe Referenzfeatures x Bildfeatures

Resultate und Zusammenfassung Echtzeitbenutzung des SIFT Verfahrens auf GPUs möglich prozentuale Verschiebung der Berechnungsschwerpunkte durch unterschiedlichen Parallelisierungsgrad Verschiedene Verfahren zur Ausnutzung der GPU-Fähigkeiten

Ausblick Praktische Anwendung des Verfahrens durch GPU Nähe ist eine Anwendung in Augmented Reality denkbar Optimierung einzelner Schritte möglich Abwärtskompatibilität für GeForce FX Grafikkarten wäre denkbar Kameraeingabe für Live-Demos

Danke