Vestavný modul pro počítačové vidění využívající hradlové pole Diplomová práce, 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 Řešení postaveno na Avnet MiniModule Plus s FPGA Xilinx XC5VFX70T Vlastnoručně navržená základní deska obsahuje: zdroje, konektory, SD slot, SSRAM, master a slave SATA porty Blokové schéma moduluFotografie modulu
FPGA konfigurace Akcelerace hledání významných bodů Vlastnoručně navržené bloky podle Xilinx Microprcessor Peripheral Definifinition standard Specializovaná sběrnice pro sériový přenos obrazu (SPB)
SW řešení OS sestaven z jádra Linux a balíku aplikací BusyBox Vlastnoručně navržený driver ovládající všechny funkce akcelerátoru Koncept „processing chain“ – SW rozhraní komplexní funkcionality několika HW bloků – Konfigurace a inicializace pomocí node /dev/spbss/control – Např. „frame grabber processing chain“ (datový tok):
Závěr Parametry snímaného obrazu1024x768 pix. / 8-bit Průměrná doba zpracování obrazu HW detektorem 101,5ms Průměrná doba výpočtu jednoho deskriptoru procesorem 0,993ms Příkon (za provozu, s připojením na 1G eth.) 7,6W 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 CPUGPUFPGA RychlostNízkáVysokáStřední Opakovatelnost detekce VynikajícíDobrá PříkonStředníVysokýNízký Prostorová náročnostStředníVelkáMiniaturní