Viola-Jones Gesichtserkennung mit WebGL
|
|
- Karl Küchler
- vor 7 Jahren
- Abrufe
Transkript
1 Viola-Jones Gesichtserkennung mit WebGL Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg 18. Juli 2013
2 Outline Motivation Viola-Jones Funktionsweise Blockbewertung Integralbild Phasen Implementierung GPU Einschränkungen und Besonderheiten von WebGL Implementierung mit WebGL Evaluierung Beispiele Auswertung Fazit 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 2
3 Motivation Verwendung von Gesichtserkennung: Bei der Fotografie (Fokussierung) Zuordnung von Personen auf Bildern Automatisierte Überwachung Herausforderungen: Fehlerkennung vermeiden Laufzeit der Erkennung verringern Lösungsansatz: Viola Jones zur Gesichtserkennung einsetzen Algorithmen auf der GPU ausführen 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 3
4 Outline Motivation Viola-Jones Funktionsweise Blockbewertung Integralbild Phasen Implementierung GPU Einschränkungen und Besonderheiten von WebGL Implementierung mit WebGL Evaluierung Beispiele Auswertung Fazit 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 4
5 Funktionsweise Bild wird blockweise untersucht (hier Blockgröße von 24x24px) Dabei ist jeder Block ein potentielles Gesicht Um Gesichter unterschiedlicher Größe zu erkennen, wird das Bild skaliert. Blockgröße bleibt konstant! Training Trainingsalgorithmus ermittelt Werte für Schwellenwerte, Filter, etc. Hier wurde keine Trainingsalgorithmus implementiert. Es wurden schon berechnete Werte verwendet. 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 5
6 Skalierung while image_size >= block_window_size do calculate integralimage for all stages do stage_sum = 0 for all filter in stage do filter_value = calculate filter if filter_value > filter_threshold then stage_sum += filter_alpha2 else stage_sum += filter_alpha1 if stage_sum < stage_threshold face = -1 break else face = 1 if face == 1 face detected scale image 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 6
7 Blockbewertung Haar Filter Bestehen aus 2 bis 4 Flächen Flächenwert berechnet sich aus Pixelwertsumme Wert eines Filters berechnet sich, indem die hellen Flächen von den dunklen subtrahiert werden Filter wird positiv gewertet, wenn festgelegter Schwellenwert überschritten ist Haar Filter ermöglichen es, entweder Kanten oder Helligkeitsunterschiede zu erkennen 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 7
8 Integralbild Wofür wird es benötigt? Ermöglicht die Berechnung der Pixelwertsumme einer Fläche durch die Betrachtung von 4 Werten Dies ist deutlich performanter, als das Aufsummieren aller Pixel einer Teilfläche Aufbau: Abbildung: Quelle: Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 8
9 Integralbild Pixelwertsummenberechnung Benötigte Fläche S: S = B C D + A 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 9
10 Filterberechnung while image_size >= block_window_size do calculate integralimage for all stages do stage_sum = 0 for all filter in stage do filter_value = calculate filter if filter_value > filter_threshold then stage_sum += filter_alpha2 else stage_sum += filter_alpha1 if stage_sum < stage_threshold face = -1 break else face = 1 if face == 1 face detected scale image 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 10
11 Phasen Eine Phase gruppiert mehrere Haar Filter Jeder Filter wird hierbei gewichtet (je ein Wert für positive/negative Erkennung) Summe dieser Werte ergibt den Wert der Phase Dieser Wert wird mit dem Schwellenwert verglichen und entscheidet über die positive oder negative Erkennung eines Gesichts in einem Block Wird eine Phase als negativ gewertet, wird der gesamte Block sofort verworfen Bei positiver Bewertung wird die nächste Phase ausgeführt Werden alle Phasen positiv durchlaufen, befindet sich ein Gesicht im aktuellen Block 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 11
12 Phasen 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 12
13 Phasen while image_size >= block_window_size do calculate integralimage for all stages do stage_sum = 0 for all filter in stage do filter_value = calculate filter if filter_value > filter_threshold then stage_sum += filter_alpha2 else stage_sum += filter_alpha1 if stage_sum < stage_threshold face = -1 break else face = 1 if face == 1 face detected scale image 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 13
14 Outline Motivation Viola-Jones Funktionsweise Blockbewertung Integralbild Phasen Implementierung GPU Einschränkungen und Besonderheiten von WebGL Implementierung mit WebGL Evaluierung Beispiele Auswertung Fazit 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 14
15 Einschränkungen und Besonderheiten von WebGL Frei lesbarer Speicher Zusätzliche Daten werden im Shader durch Texturpuffer bereitgestellt. Diese bestehen jedoch aus vec4 (4 Bytes). Werte, die nicht in ein Byte passen, müssen geteilt und in den 4 Bytes kodiert werden. Lesen vom Texturpuffer und Schreiben von Ergebnissen erzeugt durch die Kodierung/Dekodierung zusätzlichen Overhead. Undefiniertes Verhalten Browser verhalten sich nicht gleich Genauigkeit highp wird nicht von jeder/m Hardware/Treiber unterstützt Überlauf 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 15
16 Einschränkungen und Besonderheiten von WebGL Schleifengrenzen müssen statisch sein Provisorische Lösung: for ( int i = 0; i < 300; ++ i) { if (i >= act_num_filter ) { break; }... } Keine Bitoperatoren verfügbar Die Bitoperatoren und (&), oder ( ), exklusives oder (^), nicht (~), rechts schieben (> >), links schieben (< <) sind nicht verfügbar multiply bug 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 16
17 Implementierung mit WebGL 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 17
18 Integralberechnung GPU Zwei Phasen: Reihenweise Addition Spaltenweise Addition Problem: Es können keine umliegenden Werte verändert werden. Für jeden zu ändernden Wert muss ein Shader aufgerufen werden. Jeder Shader muss alle benötigten Werte berechnen. Es werden Werte vielfach berechnet. 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 18
19 Parallele Erkennung Jede Blockposition ist eine eigene Aufgabe: Anzahl Blockpositionen: (Breite Blockbreite + 1) (Höhe Blockhöhe + 1) Jeder Block wird in einem eigenem Shader berechnet. Problem: Die Größe des Speicherbereichs mit den Ergebnissen entspricht der Anzahl Blöcke. Jedoch: gefundene Gesichter Speicherbereich Der gesamte Speicherbereich muss zur Auswertung auf den Host kopiert werden. unnötige Daten müssen zwischen Host und GPU kopiert werden. 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 19
20 Outline Motivation Viola-Jones Funktionsweise Blockbewertung Integralbild Phasen Implementierung GPU Einschränkungen und Besonderheiten von WebGL Implementierung mit WebGL Evaluierung Beispiele Auswertung Fazit 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 20
21 Beispiele Hardware: Intel Core i5 CPU 2.67GHz ATI Radeon HD 5850 Beispiel 1: Pixel 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 21
22 CPU: 2609 ms und 307 Treffer Schritt Integral Detektion Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms GPU: 2175 ms und 277 Treffer Schritt Host-GPU Integral Detektion GPU-Host Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 22
23 Beispiel 2: Pixel 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 23
24 CPU: 514 ms und 24 Treffer GPU: 640 ms und 25 Treffer Schritt Integral Detektion Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms Schritt Host-GPU Integral Detektion GPU-Host Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 24
25 Beispiel 3: Pixel 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 25
26 CPU: ms und 1111 Treffer GPU: ms und 1097 Treffer Schritt Integral Detektion Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms Schritt Host-GPU Integral Detektion GPU-Host Gesamt ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 26
27 Auswertung Speedup S: 0.8 < S < 1.5 Identifizierte Probleme Host - GPU Kopieroperationen Größe der Speicherbereiche für Ergebnisse Umrechnung von 4 Byte Vektoren in Integer und umgekehrt Um Werte zu schreiben muss ein Shader aufgerufen werden Verbesserungsmöglichkeiten Bildskalierung auf der GPU ab Schritt 2 entfällt die Kopieroperation auf die GPU Block skalieren statt dem Bild erneute Integralberechnung entfällt 18. Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 27
28 References [1] 5KK73 GPU kk73 gpu assignment 2012, [Online; accessed 19-Jul-2013]. [2] Paul Viola and Michael Jones. Robust real-time face detection. International Journal of Computer Vision, 57: , Juli 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Viola-Jones mit WebGL 28
Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor
Seminar: Multi-Core Architectures and Programming Viola-Jones Gesichtsdetektor Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Viola-Jones Gesichtsdetektor Aufbau Blockmerkmale
MehrCUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1
CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig
MehrProgrammierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de
> Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion
MehrGrafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
MehrExcel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013
Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...
MehrObjekterkennung am Beispiel des Viola-Jones-Objektdetektors
Objekterkennung am Beispiel des Viola-Jones-Objektdetektors Medieninformatik IL Andreas Unterweger Vertiefung Medieninformatik Studiengang ITS FH Salzburg Wintersemester 2014/15 Andreas Unterweger (FH
MehrPRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten
Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrSteuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009
Steuerung von Programmabläufen Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2009 7. und 14. Mai 2009 For-Schleifen Bisher: Matlab -Kommandos
MehrProjekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
MehrEffizienz von Algorithmen
Effizienz von Algorithmen Letzte Bearbeitung: Jan 211 Ein wichtiger Aspekt bei Algorithmen sind seine "Kosten". Wir wollen uns hier ausschließlich mit der Laufzeit des gewählten Algorithmus beschäftigen.
MehrBachelorverteidigung Marco Franke
Bachelorverteidigung Java EE Webservice basiert auf RESTlet, JaxB und JPA/Hibernate zur Bilderkennung mit Hilfe der SURF-Merkmalsextraktion Verantwortlicher Professor: Prof. Dr. rer. nat. Klaus Hering
MehrGPGPU-Architekturen CUDA Programmiermodell Beispielprogramm Organiosatorisches. Tutorial CUDA. Ralf Seidler
Friedrich-Alexander-Universität Erlangen-Nürnberg 05.10.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm 4 Organiosatorisches Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell
MehrOptical Flow im Browser - beschleunigt mit WebGL
Optical Flow im Browser - beschleunigt mit WebGL Michael Moese und Marvin Kampf Seminar: Multi-Core Architectures and Programming, SS13 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele
MehrBeispielvortrag: HPCG auf Intel Haswell-EP
Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg
MehrInteraktive Lokalisierung durch Objekterkennung
Interaktive Lokalisierung durch Objekterkennung Bachelor Thesis Adrian Batzill Motivation GPS Abweichungen - Guter Tag: ~5m - Wahrscheinlicher: >15m Kompass Abweichungen: - Normal ~3-10 Für Augmented Reality
MehrLEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610
LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware
MehrGroßübung zu Einführung in die Programmierung
Großübung zu Einführung in die Programmierung Daniel Bimschas, M.Sc. Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/bimschas Inhalt 1. Besprechung Übung 4 Iteration
MehrImplementierung zweier Algorithmen mittels OpenCL auf Grafikkarten
Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Tobias Schwarzer, Michael Theil Hardware-Software-Co-Design Universität Erlangen-Nürnberg Tobias.Schwarzer@e-technik.uni-erlangen.de,
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrBeleg 3 Numerische Integration
Hochschule für Technik, Wirtschaft und Kultur Leipzig Fakultät Informatik, Mathematik und Naturwissenschaften Multiprozessor-Systeme und Programmierung Beleg 3 Numerische Integration B.Sc. Matthias Rick
MehrGPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1
GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrDie Bildbearbeitungssprache Halide
Die Bildbearbeitungssprache Halide Dominik Danner 13.06.2013 Dominik Danner Die Bildbearbeitungssprache Halide 13.06.2013 1 / 30 Inhaltsverzeichnis 1 Einführung Die Domäne der Bildbearbeitung Einführungsbeispiel
MehrAlgorithmen zur Division
Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest
MehrTensorFlow Open-Source Bibliothek für maschinelles Lernen. Matthias Täschner Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig
TensorFlow Open-Source Bibliothek für maschinelles Lernen Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig Motivation Renaissance bei ML und KNN Forschung bei DNN fortgeschrittene
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Caches in der Praxis Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 17. Juli 2015 Cache-Architektur Mehrere Cache-Stufen, z.b.: Speicherplatz
MehrOpenCL (Cell B. E., PS3) Multicore Architectures and Programming
OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht
Mehr11. Übung Informatik II - Operatorfunktionen
Stand: 26. Juni 2015 Inhalt 1 2 3 Übersicht 1 2 3 Warum Operatoren überladen? Großteil der Operatoren (Arithmetik, Logik, Vergleiche) nur für Standarddatentypen (Zahlen, Zeiger) implementiert vergleichbare
MehrProportionale und antiproportionale Zuordnungen
Proportionale und antiproportionale Zuordnungen Proportionale und antiproportionale Zuordnungen findet man in vielen Bereichen des täglichen Lebens. Zum Beispiel beim Tanken oder beim Einkaufen. Bei proportionalen
MehrGrundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
MehrParallelisierung von Modellprädiktiver Regelung auf CUDA-Hardware
Parallelisierung von Modellprädiktiver Regelung auf CUDA-Hardware Thomas Jahn Universität Bayreuth 6 Februar 20 Zeitdiskretes Modell Modellfunktion Diskrete Dynamik eines Kontrollsystems ist durch Φ :
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrKapitel 4.2 Parallele Algorithmen
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 4.2 Parallele Algorithmen SWT I Sommersemester 2009 Prof. Dr. Walter F. Tichy Dipl.-Inform. David J. Meder Überblick Matrix-Vektor-Multiplikation
MehrEinführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg
GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte
MehrINFORMATIK FÜR BIOLOGEN
Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie
MehrANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath
ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS Sascha Kath Dresden, Gliederung 1. Motivation & Zielstellung 2. Systembeschreibung 3. Implementierung und Messungen
MehrAlgorithmen zur Division
Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest
Mehrwww.mathe-aufgaben.com
Abiturprüfung Mathematik Baden-Württemberg (ohne CAS) Pflichtteil Aufgaben Aufgabe : ( VP) Bilden Sie die erste Ableitung der Funktion f mit f(x) = x sin( x + ) Aufgabe : ( VP) Berechnen Sie das Integral
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE13-TypenOperatorenAusdrücke (Stand 01.12.2010) Aufgabe 1: Schreiben Sie ein Programm zur Umrechnung von Celsius-Temperaturwerten in Fahrenheit-Temperaturwerte.
MehrArithmetik und Algebra
Willkommen Gliederung "Hallo Welt!" für Fortgeschrittene Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 2 7. Juni 2005 Willkommen Gliederung Gliederung 1 Repräsentation
MehrSOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
MehrVektoren. Kapitel 3. 3.1 Skalare, Vektoren, Tensoren. 3.2 Vektoren
Kapitel 3 Vektoren 31 Skalare, Vektoren, Tensoren Viele physikalische Größen lassen sich bei bekannter Maßeinheit durch Angabe ihres Betrages als reelle Zahl vollständig angeben Solche Größen nennt man
MehrSprachkonstrukte Verzweigungen und Array-Strukturen
Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else
MehrSegmentierung. Vorlesung FH-Hagenberg SEM
Segmentierung Vorlesung FH-Hagenberg SEM Segmentierung: Definition Die Pixel eines Bildes A={a i }, i=1:n, mit N der Anzahl der Pixel, werden in Teilmengen S i unterteilt. Die Teilmengen sind disjunkt
MehrParalleler Cuckoo-Filter. Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21.
Paralleler Cuckoo-Filter Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21. November 2017 1 Paralleler Cuckoo-Filter Cuckoo-Hashtabelle Serieller Cuckoo-Filter
MehrExemplar für Prüfer/innen
Exemplar für Prüfer/innen Kompensationsprüfung zur standardisierten kompetenzorientierten schriftlichen Reifeprüfung AHS Juni 2015 Mathematik Kompensationsprüfung Angabe für Prüfer/innen Hinweise zur Kompensationsprüfung
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
MehrSeminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrExponentialgleichungen und Logarithmen
Exponentialgleichungen und Logarithmen 1. Löse die Gleichungen: a) 2 x = 16 b) 3 4x = 9 Tipp: Exponentialgleichungen (die Variable x steht im Exponenten) lassen sich durch Zurückführen auf die gleiche
MehrPräfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen
Präfix-Summe Das Schweizer Offiziersmesser der Parallelen Algorithmen Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Parallele Rechenmodelle Beispiel: Summieren von Zahlen Verlauf des Rechenprozesses:
MehrAlgorithmen und Datenstrukturen Laufzeitabschätzung
Algorithmen und Datenstrukturen Laufzeitabschätzung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren, Suchen,
Mehr3. Analyse der Kamerabewegung Video - Inhaltsanalyse
3. Analyse der Kamerabewegung Video - Inhaltsanalyse Stephan Kopf Bewegungen in Videos Objektbewegungen (object motion) Kameraoperationen bzw. Kamerabewegungen (camera motion) Semantische Informationen
MehrGrundlagen der Theoretischen Informatik: Übung 10
Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f
MehrParagon System Upgrade Utilities 2010. Leitfaden: System aus einem zuvor erstellten Sicherungsarchiv virtualisieren
Paragon System Upgrade Utilities 2010 Leitfaden: System aus einem zuvor erstellten Sicherungsarchiv virtualisieren Ein System aus einem Sicherungsimage virtualisieren... 3 Eine virtuellen Festplatte aus
MehrEvaluation einer modernen Zynq-Plattform am Beispiel der Implementierung einer Hough Transformation
Evaluation einer modernen Zynq-Plattform am Beispiel der Implementierung einer Hough Transformation Zwischenpräsentation der Bachelorarbeit Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 31.05.2018
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrParallelisierung auf CUDA
Parallelisierung auf CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht RSA-Faktorisierung Image Flooding 2 RSA-Faktorisierung Erster Ansatz Implementierung des Pollard-Rho Algorithmus (sequentiell)
MehrEine Handschrift vektorisieren
Vom Pixelbild zur Vektor-Datei Langner Marketing Unternehmensplanung Metzgerstraße 59 72764 Reutlingen T 0 71 21 / 2 03 89-0 F 0 71 21 / 2 03 89-20 www.langner-beratung.de info@langner-beratung.de Vorbereitungen
MehrWorld of Warcraft. Mindestvoraussetzungen
World of Warcraft Betriebssystem Windows XP / Windows Vista / Windows 7 Windows 7 / Windows 8 64-bit mit Windows 8 mit aktuellstem Servicepack aktuellstem Servicepack Prozessor Intel Core 2 Duo E6600 oder
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrGerät Preis* CPU, VGA, HD, RAM Ausstattung
1 PC Ultra 559.- CPU: Intel Core Duo ab 3,0 GHz RAM: 8 GB HD: 128 GB SSD + 1 TB HDD VGA: GeForce GTX 750 2GB GDDR5 robuster Verarbeitung. Neben starken verfügt der PC Ultra über eine hochwertige Grafikkarte
Mehr4. Anhang 4.1 Wertetabellen zum 2. Algorithmus //Suche alle k, welche quadratische Reste mod 64 sind print "Quadratische Reste mod 64:"; for k:=0 to 31 do print (k^2 mod 64); end for; k 0 1 2 3 4 5 6 7
MehrShader zur Bildbearbeitung
15. Oktober 2009 1 / 23 Übersicht 1 Motivation 2 Grundlagen 3 State of the Art 4 Konzeption 5 Implementierung 6 Benchmarks 7 Fazit 2 / 23 Motivation: GPU >> CPU Moores Law: Hardware verbessert sich rapide
MehrDaten suchen und durchsuchen. Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie
Daten suchen und durchsuchen Lineare Suche Dennis Komm Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie Frühling 2019 1. April 2019 Lineare Suche Einfachste
Mehr3D-Oberflächen-Rekonstruktion und plastisches Rendern aus Bilderserien
plastisches Rendern aus Bilderserien Sebastian Schäfer Carsten Heep Detlef Krömker Unterstüzung: Thomas Lehmann Krister Smith Naturmuseum Senckenberg Übersicht Motivation & Problemstellung Verfahren Anforderungen
MehrProgrammieren Übung! Meine ersten Schritte als ProgrammiererIn! Prolog 2014 Stefan Podlipnig, TU Wien
Programmieren Übung! Meine ersten Schritte als ProgrammiererIn! Stefan Podlipnig, TU Wien Beispiel 1 Programmierung - Übung! 2 Geben Sie folgende Anweisungen ein size(300, 200); rect(100, 50, 100, 100);
MehrTechnische Gesichtserkennung
Technische Gesichtserkennung Gliederung Was ist Gesichtserkennung? Anwendungsbereiche der Gesichtserkennung Technische Verfahren Paul-Viola Algorithmus Gesichtsverfolgung via Webcam Hardware Software Demo
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrDer Flächeninhalt für Flurstücke und Flurstücksabschnitte der tatsächlichen Nutzung ist zu berechnen,
5 Flächenberechnung 5.1 Umfang Ist der Nachweis der Grenzen im Liegenschaftskataster verändert worden, so sind gewöhnlich die Flächen aller davon betroffenen Flurstücke neu zu berechnen. Der Flächeninhalt
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger
MehrSkript Prozentrechnung. Erstellt: 2015/16 Von: www.mathe-in-smarties.de
Skript Prozentrechnung Erstellt: 2015/16 Von: www.mathe-in-smarties.de Inhaltsverzeichnis Vorwort... 2 1. Einführung... 3 2. Berechnung des Prozentwertes... 5 3. Berechnung des Prozentsatzes... 6 4. Berechnung
Mehr7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle
In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =
Mehr12. Rekursion Grundlagen der Programmierung 1 (Java)
12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung
MehrPeg-Solitaire. Florian Ehmke. 29. März / 28
Peg-Solitaire Florian Ehmke 29. März 2011 1 / 28 Gliederung Einleitung Aufgabenstellung Design und Implementierung Ergebnisse Probleme / Todo 2 / 28 Einleitung Das Spiel - Fakten Peg-33 33 Löcher, 32 Steine
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn
MehrSuche nach korrespondierenden Pixeln
Suche nach korrespondierenden Pixeln Seminar Algorithmen zur Erzeugung von Panoramabildern Philip Mildner, Gliederung 1. Motivation 2. Anforderungen 3. Moravec Detektor 4. Harris Detektor 5. Scale Invariant
MehrT (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)
Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrBeschleunigung von kräftebasierten Graphzeichenalgorithmen mittels wohlseparierten Paardekompositionen
Bachelorkolloquium Beschleunigung von kräftebasierten Graphzeichenalgorithmen mittels wohlseparierten Paardekompositionen von Johannes Zink Übersicht 1. Grundlagen 1.1 Kräftebasierte Graphzeichenalgorithmen
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrÜbung zu Einführung in die Informatik # 11
Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe
MehrInteraktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL)
Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL) Verteidigung der Belegarbeit Andreas Stahl Zielstellung Globales Beleuchtungsverfahren für die
MehrDHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W.
Schaltjahr Klasse: LeapYear Schreiben Sie ein Programm LeapYear, das eine Jahreszahl von der Konsole einliest und dann bestimmt, ob es sich bei diesem Jahr um ein Schaltjahr handelt! Das Ergebnis soll
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrDie Architektur des Sun UltraSPARC T2 Prozessors, Anwendungsszenarien
Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur, Prof. Spallek Die Architektur des Sun UltraSPARC T2 Prozessors, Anwendungsszenarien Tobias Berndt, to.berndt@t-online.de
MehrÜber die Vereinfachung der Gewichtsberechnung bei Umlegierungen
Über die Vereinfachung der Gewichtsberechnung bei Umlegierungen (veröffentlicht in Uhren & Juwelen 10/1993) Inhalt: VORWORT... 2 DIE PRAXIS... 3 Das Auf- und Ablegieren:... 3 Tabelle 1: (Goldlegierungen)...
MehrTypische Speicherfehler in C
Typische Speicherfehler in C Thorsten Ploß Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte 17.05.2013 1 / 13 Inhaltsverzeichnis Einleitung Klassische Speicherverwaltung - Fehlerquellen
MehrLineare Algebra und analytische Geometrie
TI voyage 200 Kompaktwissen Lineare Algebra und analytische Geometrie Eine kleine Hilfe für Schüler der DSB Seite 2 TI voyage 200 Kompaktwissen Algebra/Geometrie Diese Anleitung soll helfen, Aufgaben aus
MehrMulti-Core Architectures and Programming. Bilateral Grid Filter
Multi-Core Architectures and Programming Bilateral Grid Filter - Parallelisierung mit CUDA - C. Kugler und E. Sert Inhalt Motivation Bilateral Filter (Exkurs) Bilateral Grid Filter Portierung auf Grafikkarte
MehrChristoph Fischer Jörg Schneider DFKI Intelligente Netze. Real Time Workload Monitoring for WLAN
Christoph Fischer Jörg Schneider DFKI Intelligente Netze Real Time Workload Monitoring for WLAN Agenda 1. Motivation 2. Anforderungen 3. Entwickeltes Monitoring Verfahren 4. Erreichte Anforderungen Motivation
MehrCUDA. Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig. Hardware-Software-Co-Design Universität Erlangen-Nürnberg
CUDA Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig Hardware-Software-Co-Design Universität Erlangen-Nürnberg Philip Höhlein, Nils Werner 1 Übersicht Entwicklungsumgebung RSA-Faktorisierer
Mehry x x y ( 2x 3y + z x + z
Matrizen Aufgabe Sei f R R 3 definiert durch ( ) x 3y x f = x + y y x Berechnen Sie die Matrix Darstellung von f Aufgabe Eine lineare Funktion f hat die Matrix Darstellung A = 0 4 0 0 0 0 0 Berechnen Sie
MehrMatLab Teil 2: weitere Operationen, Dateien und Bildformate
MatLab Teil 2: weitere Operationen, Dateien und Bildformate Dr. Martin Gollbach 1 Weitere Operationen 2 Vergleichsoperationen Gleichheit Symbol: == Bsp.: if I == J end A(I,J) = 1; Ungleichheit Symbol:
Mehr