Institut für Mikroelektronische Systeme Studium Studien- & Abschlussarbeiten Abgeschlossene Arbeiten
Implementierung und Evaluierung von Computer-Vision-Algorithmen zur Merkmalsextraktion auf horizontalen und vertikalen SIMD-Vektorprozessoren

Implementierung und Evaluierung von Computer-Vision-Algorithmen zur Merkmalsextraktion auf horizontalen und vertikalen SIMD-Vektorprozessoren

Betreuung:  Weißbrich, Moritz
Student/in:  Jing Ye
Ist abgeschlossen:  ja

 

Schlagworte: C- und Assemblerprogrammierung, Intrinsics, FPGA-basierte Emulation, ASIC-Verlustleistungsanalyse, Computer Vision, Merkmalsextraktion, Objekterkennung

An Prozessoren für moderne Embedded-Computer-Vision-Systeme wie z.B. bildverarbeitende Fahrerassistenzsysteme oder intelligente vernetzte Kamerasysteme werden hohe Anforderungen gestellt. Die Echtzeitausführung rechenintensiver Algorithmen, etwa zur Extraktion von Bildmerkmalen oder zur Objekterkennung, erfordert eine hohe Leistungsfähigkeit/Performance der Architektur bei einem stark beschränkten Verlustleistungsbudget von nur wenigen Watt für mobile Systeme. Daher werden applikationsspezifische Prozessoren eingesetzt, deren Architektur algorithmisches Parallelisierungspotential ausnutzt, um eine in Bezug auf Performance-pro-Watt optimierte Verarbeitung zu erreichen.

Für diese Arbeit stehen VHDL-Architekturbeschreibungen von zwei SIMD-Vektorprozessoren zur Verfügung, die horizontale und vertikale Datenparallelität ermöglichen. Horizontale Vektorarchitekturen ermöglichen die gleichzeitige Ausführung einer Operation auf einer Vielzahl paralleler Datensätze, indem der Datenpfad des Prozessors in mehrere, voneinander unabhängige Sub-Datenworte unterteilt wird. Vertikale Vektorarchitekturen unterstützen die zeitsequentielle Verarbeitung einer Operation auf zu Vektoren zusammengefassten Datenworten, wobei nachfolgende Vektoroperationen durch Verketten funktionaler Einheiten (Chaining) zeitparallel ausgeführt werden können.

 

Um die Effektivität der beschriebenen Parallelisierungsmöglichkeiten zu evaluieren, sollen im Rahmen dieser Arbeit zunächst typische Computer-Vision-Algorithmen zur Merkmalsextraktion für die genannten Vektor-Prozessorarchitekturen unter Ausnutzung der architekturspezifischen Datenparallelität implementiert werden. Weiterhin ist die Evaluation von Performance und Verlustleistung bei Ausführung der implementierten Applikationen Bestandteil der Arbeit. Aufgabengebiete umfassen dabei unter anderem:

  • Programmierung in C, Assembler und Intrinsics unter Verwendung eines LLVM-basierten Compilerframeworks
  • Verifikation der Implementierung durch Simulation und Evaluierung der Performance durch FPGA-basierte Emulation der Prozessorplattformen
  • Timing-Simulation und Verlustleistungsanalyse zur Generierung quantitativer Daten bzgl. der Performance-pro-Watt-Optimierung