Ferienakademie 2013 – Kurs 5 Multi-Core = Multi-Performance Sascha Roloff, Frank Hannig, Jürgen Teich Friedrich-Alexander-Universität Erlangen-Nürnberg.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Service Oriented Architectures for Remote Instrumentation
Finding the Pattern You Need: The Design Pattern Intent Ontology
E-Solutions mySchoeller.com for Felix Schoeller Imaging
H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
Kapitel 9: Graphdurchlauf
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
The difference between kein and nicht.
1 | R. Steinbrecher | IMK-IFU | KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Natural Sources SNAP11.
First Seminar in Brussels, 15th of December 2010
Institut für Softwaresysteme in Wirtschaft, Umwelt und Verwaltung Folie 1 DER UMWELT CAMPUS BIRKENFELD ISS Institut für Softwaresysteme in Wirtschaft,
Peter Marwedel TU Dortmund, Informatik 12
Java: Grundlagen der Sprache
NUMEX – Numerical experiments for the GME Fachhochschule Bonn-Rhein-Sieg Wolfgang Joppich PFTOOL - Precipitation forecast toolbox Semi-Lagrangian Mass-Integrating.
We have a magnetic field that it is very similar to the one of a dipole. Well in reality this is true close to the surface if we go far away enough it.
Thorsten Jost INF-M2 – AW1 – Sommersemester Mai 2008
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
Modulare Programmierung
DVG Einführung in Java1 Einführung in JAVA.
Bestimmung des ggT zweier Zahlen
Munz – IT/TG - Lörrach. Goals of this intensive lecture To learn: To learn: –What does it means programming in Java ? –What is JAVA good/bad for ? –Which.
Methods Fuzzy- Logic enables the modeling of rule based knowledge by the use of fuzzy criteria instead of exact measurement values or threshold values.
Die Hausaufgaben: Machen Sie Ü. 7 auf S. 29
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 SADDU June 2008 S. Noël, K.Bramstedt,
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 Pointing Meeting Nov 2006 S. Noël IFE/IUP Elevation and Azimuth Jumps during.
Status eSciDoc Malte Dreyer eSciDoc Hauptaktivitäten in 2006 Abstimmung mit den Zielgruppen Funktionale Anforderungserhebung mit.
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
Laurie Clarcq The purpose of language, used in communication, is to create a picture in the mind and/or the heart of another.
Case Study Session in 9th GCSM: NEGA-Resources-Approach
Machen Sie sich schlau am Beispiel Schizophrenie.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Ich möchte ein Eisberg sein. Last time … 3 icebergs Triangels Unique connections Ich möchte ein Eisberg sein
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
SIFT Scale-Invariant-Feature-Transform Stages
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
XML IV: Cocoon 2.
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Einheit 3: Rechte und Pflichten Deutsch III Notizen.
Fusszeilentext – bitte in (Ansicht – Master – Folienmaster, 1. Folie oben) individuell ändern! Danach wieder zurück in Normalansicht gehen! 1 OTR Shearography.
Faculty of Public Health Department of Health Economics and Management University of Bielefeld WP 3.1 and WP 4.1: Macrocost EUprimecare Plenary Meeting.
Tage der Woche German Early Level Montag Dienstag Mittwoch Donnerstag
Einführung in das Wissenschaftliche Arbeiten Andreas Hechenblaickner Programmiersprache Eiffel
Past Perfect Tense.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL Recent activities on ammonia emissions: Emission inventory Rindvieh.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Image Processing and Analysis Introduction. How do we see things ?
Cross-Polarization Modulation in DWDM Systems
German Level 1 Greetings.
HRM A – G. Grote ETHZ, WS 06/07 HRM A: Work process design Overview.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Selectivity in the German Mobility Panel Tobias Kuhnimhof Institute for Transport Studies, University of Karlsruhe Paris, May 20th, 2005.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
Noch most directly has the meaning of still. As such, it has basically for types of usage. The temporal usage of the word. (as it relates to time) can.
Data Mining Spectral Clustering Junli Zhu SS 2005.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Großvater Großmutter Großvater Großmutter Tante/Onkel Vater Mutter.
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
Azure Countdown Wenn der Freund und Helfer Freunde und Helfer braucht: Sichere Content-Upload-Plattform für Bürger.
Ultrakurzeinführung OpenCV Feature Detektoren
eSciDoc als Plattform für die Wissenschaft Anwendungen und Szenarien
Integrating Knowledge Discovery into Knowledge Management
 Präsentation transkript:

Ferienakademie 2013 – Kurs 5 Multi-Core = Multi-Performance Sascha Roloff, Frank Hannig, Jürgen Teich Friedrich-Alexander-Universität Erlangen-Nürnberg Erlangen, 10. Juli 2013

Praktischer Teil 1. Woche: Vornehmlich Vorträge 2. Woche: Programmieraufgabe Programmieraufgabe Ziel: Implementierung einer Kette von Bildverarbeitungsalgorithmen in der Programmiersprache X10 Bearbeitung in Teams 2-3 Studenten pro Team Jedes Team implementiert und testet einen Algorithmus separat Integration zu einer Kette Teams arbeiten gemeinsam an der Integration der Algorithmen Absprache über Austausch der Datenstrukturen Testen der gesamten Algorithmenkette 2

Die Anwendung: Objekterkennung Typisches Anwendungsszenario aus der Robotik Roboter erkennt ein Objekt und kann ihm folgen (object detection, object tracking) 3 Objekt im Referenzbild Merkmale Erkanntes Objekt im Suchbild Fehl- Erkennungen

Die Algorithmen Harris Corner Detection Erkennung der Ecken eines Bildes Verwendung als Merkmale (Features) für nachfolgende Algorithmen SIFT Feature Description SIFT – Scale-Invariant Feature Transform Umwandlung der Harris Corner Features in SIFT Features SIFT Feature Matching Vergleich der SIFT Features des Suchbildes mit den SIFT Features des Referenzbildes und Finden des passendsten Kandidaten Camera Image Harris Corner Detection SIFT Feature Description SIFT Feature Description SIFT Feature Matching Object Location Object Recognition Algorithm 4

Die Programmiersprache: X10 Neuartige parallele Programmiersprache von IBM Syntax: Mischung aus Java und Scala Bietet Sprachkonstrukte für Parallelität Thread-level Parallelität (gemeinsamer Speicher) Verteilung von Daten (verteilter Speicher) Synchronisation, Atomarität 5 public class Test { public static def main(args:Array[String](1)) { finish for(p in Place.places()) async at (p) { Console.OUT.println(Hello, World from +here.id); }

Implementierung der Algorithmen in X10 Erst sequentiell, dann parallel (wenn genug Zeit vorhanden) Kopplung der Algorithmen über eine X10 Task (Aktor) Bibliothek Implementierung und Integration 6 Harris Corner Detection in X10 SIFT Feature Description in X10 SIFT Feature Description in X10 SIFT Feature Matching in X10 func1 func3 func2 channel actor 1 activities channel actor 2 actor 3 Camera Image Harris Corner Features SIFT FeaturesObject Position

Die Plattform Testen der Algorithmenkette auf einer Simulationsplattform 7 SIFT Detection SIFT Detection SIFT Matching SIFT Matching Harris Corner Camera Images

Vorbereitungen für die Implementierung Laptop mit installiertem Linux Keine virtuelle Maschine Linux-spezifische Funktionen für Simulation benötigt Testen der Programmiersprache X10 auf eigenem Laptop Download von der X10 Webseite (x10-lang.org)x10-lang.org Version Eclipse-basierte Entwicklungsumgebung X10DT (x86, x86_64) Vorkompilierter Compiler (x86, x86_64) 8

Detailliertere Beschreibung der Algorithmen 9

Harris Corner SIFT Features Image Source Edges may have FIFO semantic. Pointers can be exchanged instead of concrete data. Create corresponding activities for execution on the allocated resources ( = claim(actor Harris Corner ) ) src sobelX sobelY calculate autocorrelation matrix get max response thresholding response sink … 10

Harris Corner Eigenvalues of M: src sobelX sobelY calculate autocorrelation matrix get max response thresholding response sink 1.) 2.) 3.) 11

SIFT Feature Descriptor key points Harris Corner SIFT features image source img … src sobelX sobelY calc angles and magnitudes of pixels around each keypoint calc descriptor per keypoint relative to its orientation sink img keypoints calc orientation(s) per keypoint (additional orientations = additional keypoints) based on 36 bin histogram 12

SIFT Feature Descriptor src sobelX sobelY calc angles and magnitudes of the gradients of pixels around each keypoint calc descriptor per keypoint relative to its orientation sink img keypoints calc orientation(s) per keypoint (additional orientations = additional keypoints) Angle and magnitudes of pixel orientations (=gradients) can be obtained based on Sobel X/Y (which form x and y of the gradient) Histogram with 36 bins (1 bin represents 10 degrees) build upon angles and magnitudes of pixel gradients in region around the keypoint (e.g. 16x16) Result: maximal orientation; but possibly also further peak orientations new keypoints descriptor of keypoint relative to its orientation based upon orientations of pixels in 16x16 regions around keypoint collected in 4x4 histograms with 8 bins ( 128 dimensions) 13

SIFT Feature Matching src find nearest neighbor feature in model (represented as kdTree for fast search) for each SIFT descriptor SIFT descriptors filter matches; only accept good (close) matches register matches (not on the feature vector but on the coordinates); e.g., using RANSAC sink Harris Corner SIFT features SIFT descriptors Feature matching … … model 14