1 / 14

Ferienakademie 2013 – Kurs 5 Multi-Core = Multi-Performance

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

ciara
Download Presentation

Ferienakademie 2013 – Kurs 5 Multi-Core = Multi-Performance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ferienakademie 2013 – Kurs 5Multi-Core = Multi-Performance SaschaRoloff, Frank Hannig, JürgenTeichFriedrich-Alexander-Universität Erlangen-Nürnberg Erlangen, 10. Juli 2013

  2. PraktischerTeil • 1. Woche: VornehmlichVorträge • 2. Woche: Programmieraufgabe • Programmieraufgabe • Ziel: ImplementierungeinerKette von Bildverarbeitungsalgorithmenin derProgrammiersprache X10 • Bearbeitung in Teams • 2-3 Studenten pro Team • Jedes Team implementiert und testeteinenAlgorithmusseparat • Integration zueinerKette • Teams arbeitengemeinsam an der Integration derAlgorithmen • AbspracheüberAustauschderDatenstrukturen • TestendergesamtenAlgorithmenkette

  3. Die Anwendung: Objekterkennung • TypischesAnwendungsszenarioausderRobotik • RobotererkennteinObjekt und kannihmfolgen(object detection, object tracking) Fehl-Erkennungen ErkanntesObjektimSuchbild ObjektimReferenzbild Merkmale

  4. Die Algorithmen • Harris Corner Detection • ErkennungderEckeneinesBildes • VerwendungalsMerkmale (Features) fürnachfolgendeAlgorithmen • SIFT Feature Description • SIFT – Scale-Invariant Feature Transform • Umwandlungder Harris Corner Features in SIFT Features • SIFT Feature Matching • Vergleichder SIFT Features des Suchbildesmit den SIFT Features des Referenzbildes und Finden des passendstenKandidaten Harris Corner Detection SIFTFeature Description SIFT Feature Matching Camera Image Object Location Object Recognition Algorithm

  5. Die Programmiersprache: X10 • NeuartigeparalleleProgrammiersprache von IBM • Syntax: Mischungaus Java und Scala • BietetSprachkonstruktefürParallelität • Thread-level Parallelität (gemeinsamerSpeicher) • Verteilung von Daten (verteilterSpeicher) • Synchronisation, Atomarität public class Test{ public static def main(args:Array[String](1)) { finish for(p inPlace.places()) async at (p) { Console.OUT.println(„Hello, World from “+here.id); } } }

  6. Implementierung und Integration • ImplementierungderAlgorithmen in X10 • Erstsequentiell, dann parallel (wenngenugZeitvorhanden) • KopplungderAlgorithmenübereine X10 Task (Aktor) Bibliothek SIFTFeature Description in X10 Harris Corner Detection in X10 SIFTFeature Matching in X10 Camera Image Harris Corner Features SIFT Features Object Position actor2 actor1 actor3 channel channel func2 func1 func3 activities

  7. Die Plattform • TestenderAlgorithmenkette auf einerSimulationsplattform SIFT Detection Harris Corner Camera Images SIFT Matching

  8. Vorbereitungenfür die Implementierung • Laptop mitinstalliertem Linux • KeinevirtuelleMaschine • Linux-spezifischeFunktionenfür Simulation benötigt • TestenderProgrammiersprache X10 auf eigenem Laptop • Download von der X10 Webseite (x10-lang.org) • Version 2.3.1 • Eclipse-basierteEntwicklungsumgebung X10DT (x86, x86_64) • Vorkompilierter Compiler (x86, x86_64)

  9. DetailliertereBeschreibungderAlgorithmen

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

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

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

  13. SIFT Feature Descriptor keypoints sobelX calc angles and magnitudes of the gradients of pixels around each keypoint calc orientation(s) per keypoint (additional orientations = additional keypoints) calc descriptor per keypoint relative to its orientation sink src sobelY img 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 Angle and magnitudes of pixel orientations (=gradients) can be obtained based on Sobel X/Y (which form x and y of the gradient) descriptor of keypointrelative to its orientation based upon orientations of pixels in 16x16 regions around keypoint collected in 4x4 histograms with 8 bins (128 dimensions)

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

More Related