Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=1069&lang=405, vytištěno: 02.11.2024 0:41:44
Hlavní stránka▹Produkty▹Strojové vidění VisionLab | 23.3.2022 |
---|
Obecně platí, že hledání obrazových vzorů pomocí normalizované křížové korelace je hodně náročné na výkon počítače. A požadavky na výpočetní výkon ještě dále významně rostou s potřebou hledat vzory v různých měřítcích velikosti a v různých natočeních. A máme-li hledat obrazové vzory v binárním obraze, není to, jak by se mohlo při prvním nahlédnutí zdát, zjednodušením, ale spíše komplikací. Uvedená aplikace, která tuto problematiku úspěšně řeší, může být inspirací pro autory, kteří jsou nebo budou postavení před podobná zadání. |
Schopnosti systému strojového vidění VisionLab v oblasti hledání obrazových vzorů lze dobře ukázat na této, na první pohled prosté, ale ve skutečnosti náročné úloze.
Podle tohoto zadání by tuto úlohu asi většinu odborníků v oblasti strojového vidění označila jako neřešitelnou. Je dobře, že autora aplikace takovéto zadání neodradilo. Řešení všech výše uvedených potíží dobře dokumentuje nejen odvahu autora, ale i schopnosti systému VisionLab. Malý odstup kamery a použití širokoúhlého objektivu nutně vede k značnému geometrickému zkreslení. Tyto aberace jsou při použití virtuálního přístroje gl_camera snadno korigovatelné. Stačí v konkrétní scéně pořídit snímek kalibračního tečkovaného rastru a pomocí průvodce ve vývojovém prostředí vytvořit soubor s kalibračními daty. Vlastní geometrická kalibrace pak již probíhá v reálném čase s vysokou subpixelovou přesností. Pro výpočty v plovoucí řádové čárce je využíván grafický procesor, takže kalibrace aplikační program prakticky nezatěžuje. Pomocí CPU počítače by byla takováto kalibrace v reálném čase nerealizovatelná. Projektivní aberace objektivu máme odstraněny a nyní se dostáváme ke stěžejnímu problému. Osvětlení scény je v prostoru i v čase velmi různorodé a proměnlivé. Proto také jsou i plechové výrobky zobrazovány s temnými povrchy i vysokými jasy odlesků. Tento problém je vyřešen pomocí barevného pozadí. Máme totiž k dispozici např. krok gpu_HSL_filter, který dokáže pomocí výpočtů v HSL barevném prostoru identifikovat barvu pozadí v požadovaných rozsazích nasycení a jasů. Takto dokážeme separovat i velmi různorodě vypadající výrobky. Krok běží v GPU a je velmi rychlý. Výrobky máme nyní oddělené od pozadí a jejich proměnlivý vzhled je eliminován převedením do černo-bílého binárního obrazu. Zbývá již jen černé objekty na bílém pozadí identifikovat, spočítat je a vrátit pole s jejich pozicemi. Pro tento účel použijeme krok gpu_pattern. Obrazové vzory mohou být velké a v obraze se mohou vyskytovat mnohokrát v různých pozicích a rotacích. Velkou předností kroky gpu_pattern je jeho rychlost, ke které pomáhá vysoký výpočetní výkon grafického procesoru. Hledání vzorů je optimalizováno do několika výpočetních průchodů v GPU, kdy jsou počítány odezvy normalizované křížové korelace a postupně jsou zpřesňovány regiony s nejlepšími výsledky. I když použitý krok je optimalizován pro použití v obrazech se škálou jasů, překvapivě i s binárním obrazem dosahuje dobrých výsledků. Řešitelem popisované úlohy je společnost WAtech a.s., děkujeme za poskytnuté informace. WAtech a.s. - průmyslová stříkací, lakovací a lepicí technika, automatizace, digitalizace, robotizace www.watech.cz Tel.: +420 277 001 002 U Zastávky 771, CZ 252 16 Nučice u Rudné, Praha - západ Pro autory aplikací může snad být toto řešení inspirací a povzbuzením pro jejich práci v oblasti strojového vidění. Roman Cagaš |