Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=1126&lang=405, vytištěno: 19.04.2024 13:16:56

Hlavní stránkaProduktyStrojové vidění VisionLab

Detekce vzorů v binárních obrazech s podporou GPU
 Spolehlivý krok pro detekci obrazových vzorů, který pro dosahování překvapivé výkonnosti využívá programovatelný grafický procesor, je v systému strojového vidění VisionLab již řadu let. Tento krok, byť je koncipován pro obrazy s jasovou škálou, překvapivě dobře funguje i pro binární obrazy. Nyní je navíc k dispozici krok, který je navržen speciálně pro binární (černobílé) obrazy.

Detekce obrazových vzorů (pattern matching) je v aplikacích strojového vidění jedním z nejpoužívanějších funkcí. Používané algoritmy, kdy se porovnávají obrazové body prostřednictvím normalizované křížové korelace spotřebovávají velké množství výpočetního výkonu. Vše je samozřejmě silně závislé na množství porovnávaných obrazových bodů. Zde je značným přínosem využití GPU, které disponuje jednak vysokým masivně paralelním výkonem pro výpočty křížových korelací, tak si vysokým datovým tokem pro přístup k fragmentům obrazů, uložených v grafické paměti. I přes to ale naivní přístup s testováním všech bodů dokáže zahltit i velmi výkonné grafické procesory. Proto je zde použito několik optimalizací. Nejsou testovány vždy všechny body, ale množina bodů je vybírána na základě svých jasů a také proces detekce je rozdělen do několika fází s různou přesností nalezených pozic obrazových vzorů. Významná je i role GPU při výpočtech obrazových transformací při rotacích a proměnlivém měřítku obrazu. Hledání obrazových vzorů tak dosahuje díky využití grafického procesoru velmi vysokých výkonů.

Vývojové prostředí systému VisionLab s kroky vyhledávání vzorů.

Vývojové prostředí systému VisionLab s kroky vyhledávání vzorů.

Pro hledání siluet objektů v binárních obrazech lze dále ušetřit několik operací z výše popsaného algoritmu. Zjevně není nutno vybírat testované body na základě jejich jasů a také není třeba pro posuzování shod počítat normalizované křížové korelace. Postačí shodnost prahovaných hodnot jasů v mřížce s definovanou hustotou. V případě maximálních nároků na přesnost lze testovat veškeré body vzorů. Algoritmus má dvě fáze, kdy pro každou z nich si můžeme rovněž zadat rozdílné požadované skóre srovnávání. V první fázi obvykle můžeme požadovat nižší skóre než ve fázi finální. Metoda je pro siluety v binárních obrazech velmi rychlá a přesná.

Přesnost metody umožňuje spolehlivé rozlišení podobných vzorů

Přesnost metody umožňuje spolehlivé rozlišení podobných vzorů

Tento krok gpu_pattern_binary je k dispozici v update 8.0.16 systému VisionLab.

Roman Cagaš