90 likes | 175 Views
Vestavný modul pro počítačové vidění využívající hradlové pole. Diplomová práce, 8.6. 2011 Bc. Jan Šváb ČVUT Praha, Fakulta Elektrotechnická. Obsah prezentace. Motivace HW řešení modulu FPGA konfigurace Klíčové bloky SW řešení Experimenty a výsledky Závěr. Motivace.
E N D
Vestavný modul pro počítačové vidění využívající hradlové pole Diplomová práce, 8.6. 2011 Bc. Jan Šváb ČVUT Praha, Fakulta Elektrotechnická
Obsah prezentace • Motivace • HW řešení modulu • FPGA konfigurace • Klíčové bloky • SW řešení • Experimenty a výsledky • Závěr
Motivace • Architektura běžné aplikace využívající „local image features“: • Pro dosažení invariance vůči zvětšení nutno významné body hledat v „prostoru měřítek“ • několikanásobný nárůst zpracovávaných dat a počtu operací • Pro zrychlení nutnost paralelizace • multi-core, GPU, specializované HW akcelerátory
Motivace (pokr.) • Aplikace vyžadující nízkou spotřebu, kompaktní řešení, vysokou spolehlivost, velký objem výroby, speciální parametry – vhodné oblasti pro specializovaný HW akcelerátor • Zvolena platforma FPGA • Umožňuje optimalizovat „až do posledního registru a hrany“ (zdrojový kód v RTL) • Umožňuje vysokou míru paralelizace • Vysoká flexibilita: stejný HW může obsluhovat libovolně mnoho aplikací se stejnou mírou optimalizace (rekonfigurace in-the-field) • Obvody dostupné i pro letecké/vojenské/vesmírné aplikace • Práce zacílena na mobilní robotiku → nutnost vývoje vlastní HW platformy pro úsporu místa a energie
HW řešení modulu Fotografie modulu Řešení postaveno na AvnetMiniModule Plus s FPGA Xilinx XC5VFX70T Vlastnoručně navržená základní deska obsahuje: zdroje, konektory, SD slot, SSRAM , master a slaveSATA porty Blokové schéma modulu
FPGA konfigurace • Akcelerace hledání významných bodů • Vlastnoručně navržené bloky podle XilinxMicroprcessorPeripheralDefinifinition standard • Specializovaná sběrnice pro sériový přenos obrazu (SPB)
SW řešení • OS sestaven z jádra Linux 2.6.37 a balíku aplikací BusyBox • Vlastnoručně navržený driver ovládající všechny funkce akcelerátoru • Koncept „processingchain“ • SW rozhraní komplexní funkcionality několika HW bloků • Konfigurace a inicializace pomocí node /dev/spbss/control • Např. „framegrabberprocessingchain“ (datový tok):
Závěr • Práce prezentuje ověřené a kompletní řešení vestavného modulu implementující algoritmus SURF určené pro aplikace mobilní robotiky • Provedeny 2 experimenty verifikující korektnost implementace SURF-u v porovnání s GPU implementací • Klíčové parametry:
Srovnání modulu s alternativními řešeními • Vhodné řešení pro aplikace se speciálními požadavky • Vhodný základ pro sériovou výrobu (přechod k ASIC) • Vysoký stupeň optimalizace → nejlepší poměr fps/MHz → nejlepší energetická náročnost