reklama

 

VOŠ a SPŠ Žďár nad Sázavou, Studentská 1, 591 01






VOŠ a SPŠ Žďár nad Sázavou, Studentská 1, 591 01

 

aktuality
 
Naše tipy

18.1.2009 10:44 » Otto Havle » IT ŘEŠENÍ

Strojové vidění, 2. díl


Strojové vidění bylo v tomto článku definováno jako specifická část oboru počítačové vidění, která se zabývá řešením úloh objevujících se v procesu výroby. Stejně jako v oblasti hardwaru, také v oblasti softwaru pro strojového vidění není komerčně výhodné vyvíjet pro každou úlohu speciální program.

 Dodavatelé softwaru tedy využili toho, že skutečně aktuálních úloh které se opakovaně v různých variacích ve výrobě objevují je omezený počet. Na ně se soustředili a vyvinuli pro jejich řešení soubor nástrojů. Systémoví integrátoři tedy většinou nevyužívají k vývoji softwaru přímo algoritmů pro zpracování obrazu, ale řeší inspekci sestavením těchto nástrojů ve vývojovém prostředí ve vývojovém prostředí inspekčního programu. Obrázek ukazuje zjednodušené schema této hierarchie. Stejná situace ostatně existuje i v integraci samotných řídicích systémů. Zde již také integrátor neprogramuje regulační smyčky a vizualizační obrazovky ale využívá nástrojů poskytovaných například systémy typu SCADA.

Vztah úlohy nástroje a algoritmu v inspekčním programu

Typické úlohy řešené strojovým viděním ve výrobě

Strojové vidění je inovací zavedenou převážně z důvodu realizace kontroly zaručující úplnou bezchybnost výrobků produkovaných ve výrobním procesu. Výrobní proces se dá definovat jako posloupnost výrobních operací. Existuje mnoho teoretických prací které se zabývají vlivem organizace výrobního procesu na kvalitu výroby, vždy však obsahují podmínku bezchybného provedení alespoň některých výrobních operací k tomu, aby byl vyroben bezchybný výrobek. Právě strojové vidění umožňuje tuto pomínku splnit. Nejtypičtější aplikací strojového vidění ve výrobě je tedy kontrola správnosti provedení výrobní operace.

Nástroje strojového vidění se tedy aplikují hlavně na úlohy spojené s kontrolou výrobní operace. Použijeme-li  velmi zjednodušený model výrobní operace (Wysk, Peters, Smith. 1995), můžeme se na výrobní operaci dívat jako na posloupnost čtyř fází:

  • shromáždění materiálů a součástí (load) – do této fáze patří i kontrola materiálu vstupujícího do operace
  • příprava materiálů a součástí k operaci (move) – nastavení dílů do operační polohy
  • provedení operace (process) – tím může být například spojení dílů zalisováním
  • vyzvednutí výsledného produktu (unload) – zahrnuje i provedení výstupní kontroly

V každé z těchto fází se může objevit jedna nebo několik úloh, jejichž úspěšné řešení je podmínkou bezchybného provedení výrobní operace. Tyto úlohy se opakují v různých modifikacích a po určitém zobecnění je lze seskupit do omezené množiny, která může vypadat následovně:

  • nalezení povrchových vad
  • rozpoznání, nalezení polohy a počítání
  • měření a kontrola tolerancí
  • identifikace barev
  • čtení a verifikace textů a kódů

Nalezení povrchových vad - tato úloha je typická pro fázi shromáždění materiálu k operaci, provázené vstupní kontrolou. Může jít o identifikaci poškozených povrchů, vad nátěrů či povrchových úprav, neúplných potisků atd. Samozřejmě, pokud je nátěr sám výrobní operací, uplatní se tento typ úlohy i ve fázi vyzvednutí výsledného produktu. Obrázek 6a ukazuje příklad špatně nanesené housenky těsnícího tmelu.

a) Příklad úlohy nalezení povrchové vady: housenka těsnicího tmelu
b) Příklad úlohy rozpoznání: špatně zalisovaný vodič v konektoru

Rozpoznání, nalezení polohy a počítání - tato úloha může mít mnoho podob. Nejčastěji se používá ke zjištění je-li správný objekt na správném místě. Například před provedením operace zalisování je nutné se přesvědčit, zda jsou k zalisování připraveny všechny díly ve správné poloze. Totéž je třeba udělat po skončené operaci – chybu v zalisovaném konektoru. Tato úloha se rovněž vyskytuje při vstupní kontrole. Může jít o identifikaci deformované části, otřepů po stříhání, nevyvrtaného otvoru nebo poškozené hrany. Počítání se uplatní při kontrole naplněné přepravky nebo blistru.

Příklad úlohy počítání: kontrola naplnění lékového blistru

Měření a kontrola tolerancí -úloha měření prostupuje celou výrobní operací. Měří se tolerance vstupních dílů, poloha dílů před operací i tolerance hotového výrobku. na obrázku 6d je příklad kontroly tolerancí kulového čepu.

Identifikace barev - barvy je třeba rozpoznávat při vstupní nebo výstupní kontrole, může jít například o jeden z identifikačních znaků pro typ materiálu. V potravinářství může barva potraviny identifikovat sníženou kvalitu produktu vstupujícího do operace vyskladnění.

Čtení kódů a textů - čtení kódů ať již čárových nebo matrixových se provádí hlavně v první a druhé fázi výrobní operace, kdy se ujišťujeme, že k operaci je připraven správný díl na správném místě. V samotné operaci někdy bývá vytvořen další kód, jeho verifikace se pak provádí v poslední fázi operace. Čtení nebo verifikace kódů je málokdy samostatnou úlohou strojového vidění ve výrobní operaci; v tom případě je výhodnější svěřit ji specializované čtečce. Provádí-li však systém strojového vidění na operaci více úloh, je výhodné využít i této možnosti.

Příklad úlohy čtení textu: kontrola výrobního / expiračního data

Čtení textů je typické rovněž pro první a poslední fázi operace. V první se používá pro identifikaci dílů, v poslední pro kontrolu vytvořených identifikačních znaků například potisků s typem a expirační dobou výrobku.

Nástroje

K řešení těchto úloh byly vytvořeny nástroje, někdy nazývané také senzory nebo softwarové senzory pro podobnost s funkcí některých přibližovacích senzorů. Lze si je představit jako programové bloky do kterých vstupují data, zpracovávají se podle zadaných parametrů a výsledek zpracování ve formě dat je předáván dál. Data vystupující z jednoho nástroje mohou vstupovat do dalšího nástroje jako jeho vstupy či parametry. Počet a výkonnost nástrojů a možnosti jejich propojení určují výkonnost a flexibilitu softwaru systému a z velké části také určují, do které kategorie (kamerový senzor nebo inteligentní kamera) systém patří.

Vývoj inspekčního programu obvykle probíhá tak, že uživatel nástroje aplikuje na referenční (bezchybný) objekt a parametrizuje je tak, aby výsledek inspekce odpovídal bezchybnému objektu. Poté se na základě teoretického výpočtu, simulace nebo použití skutečného objektu s vadami upravuje parametrizace nástrojů tak, aby byly spolehlivě identifikovány chyby, jejichž odhalení je požadováno. Tento empiricko-heuristický postup se na první pohled může zdát primitivní a nesystematický, v reálném prostředí průmyslové výroby s mnoha nepředvídatelnými rušivými vlivy je však velmi efektivní a někdy i jediný možný. Proto jsou i nástroje takovému postupu přizpůsobeny. Součástí parametrizace bývají různé režimy „učení“ na správný či chybný objekt, při parametrizaci bývá změna působení nástroje graficky znázorněna přímo v obraze objektu, k dispozici jsou pomocné údaje, často v názorné grafické podobě.

Základními nástroji využívanými v inspekčním programu jsou, samozřejmě, nástroje pro zpracování obrazu. Pro funkci systému strojového vidění jsou však nutné i další typy nástrojů.

  • nástroje pro zpracování obrazu
  • nástroje pro měření v obraze
  • nástroje pro OCR a kódy
  • nástroje pro obsluhu hardware
  • nástroje pro řízení postupu vyhodnocení
  • nástroje pro zacházení s daty

Přehled nástrojů pro zpracování obrazu

Nástroje pro zpracování obrazu - soubor nástrojů pro zpracování obrazu je základem každého inspekčního softwaru. Jejich nejvýznamnějším znakem je, že jedním z jejich vstupů vždy bývá souvislá část obrazu (ROI, Region Of Interest) ve které je nástroj aplikován. Lze je rozdělit na tři skupiny: filtry, které provádějí matematické operace s hodnotou jasu každého bodu digitalizovaného obrazu v prostoru ROI, nástroje pracující s tzv. hranami, což jsou rozhraní oblastí s rozdílným jasem a nástroje pracující s rozložením jasu v ROI. Tabulka 2 ukazuje ještě další členění těchto nástrojů.

Nástroje pro měření v obraze - nástroje pro měření v obraze pracují typicky s výstupy nástrojů pro zpracování obrazu. Většinou provádí měření na geometrických útvarech které aproximují hrany. Jedná se většinou o měření délek, řidčeji ploch. Aby bylo možné stanovit délku ve skutečných délkových jednotkách je nutné přiřadit digitalizovanému obrazu kalibraci. Potíž při kalibraci spočívá v tom, že digitalizovaný obraz nemůže být lineárním zobrazením sledované scény. Byl proveden převod trojrozměrné scény na dvojrozměrný obraz, kde se většinou uplatní zkreslení perspektivou, použitá optická soustava (objektiv kamery) vykazuje různé optické chyby, při digitalizaci se uplatní chyba vzorkování. K potlačení těchto rušivých vlivů se používají různé prostředky. Některé souvisí se způsobem sejmutí obrazu, další jsou součástí samotných nástrojů.

Nástroje pro OCR a kódy - nástroje pro OCR (Optical Character Recognition, optické rozeznávání znaků) musí zvládnout podstatně složitější úkol než komerční programy pro čtení tištěného textu. Tvar písmena bývá deformovaný vlivem nerovné podložky (čtení z obalů), musí zvládnout i čtení různých typů písma. Na druhou stranu, čtené texty bývají většinou krátké. Vstupem nástroje je ROI, výstupem textový řetězec. Nástroj pracuje na prinicipu naučení omezené množiny znaků, která je v nápisu použita. Pokud je úkolem pouze kontrolovat úplnost stále stejného nápisu, je někdy jednodušší použít nástroje pro vyhledání motivu na základě podobnosti.

Nástroje pro obsluhu hardwaru - nástroje pro obsluhu hardwaru najdeme hlavně u kamerových senzorů a inteligentních kamer. U PC systémů je možné využít knihoven dodávaných výrobci příslušných periferií. Nástroje lze rozdělit do tří skupin:

  • práce se vstupy a výstupy
  • práce s komunikačním rozhraním
  • nastavení kamery

Nástroje pro řízení postupu inspekce - nástroje pro řízení postupu inspekce jsou součástí vývojového prostředí inspekčního programu. Umožňují větvení postupu inspekce (například na základě hodnot na výstupu nástroje), volání podprogramů, zařazení externích programů a kódů, obsluhu interních čítačů událostí, časových plánovačů, spouštěcích podmínek a dalších činností nezbytných pro chod inspekčního programu. U kamerových senzorů s omezenou flexibilitou vyhodnocení je těchto nástrojů k dispozici samozřejmě méně než u inteligentních kamer a softwaru pro PC systémy.

Nástroje pro zacházení s daty - tyto nástroje se objevují jen u nejsložitějších softwarů pro inspekci. Umožňují například transformace geometrických útvarů, změnu instance dat, sestavení vlastního komunikačního protokolu.

Příklad sestavení inspekčního programu

Příklad

Jako příklad použití nástrojů k sestavení inspekčního programu je na obrázku 7 řešení jednoduché úlohy strojového vidění. U zadané čtvercové součásti je třeba zkontrolovat polohu otvoru a jeho průměr. Na levé straně je vyznačena sestava inspekčního programu, vpravo pak aplikace nástrojů na bezchybný objekt.
Nejprve je třeba objekt sejmout a vytvořit digitální obraz. Nástroj pro obsluhu kamery čeká na signál čidla potvrzující, že je součást v poloze pro sejmutí obrazu. Po příchodu signálu je proveden snímek a vytvořen digitální obraz. První úlohou je celý objekt v obraze vůbec najít. Použijeme nástroj pro nalezení hran a parametrizujeme jej tak, aby určil průsečík dvou na sebe kolmých hran – levý horní roh objektu. Výstupem nástroje je souřadnice tohoto rohu, kterou použijeme jako vstup (nový počátek souřadnic) pro nástroj který bude hledat hranu ve tvaru kružnice.

Prostor, ve kterém budeme hledat je vztažen k tomuto novému počátku. Výstupem tohoto nástroje bude kružnice, která co nejlépe aproximuje nalezenou hranu a souřadnice středu této kružnice vzhledem k rohu objektu. Polohu středu kružnice v nových souřadnicích porovnáme s předepsahou hodnotou – dostaneme polohu otvoru v součásti. Pokud se neshoduje s předepsanou hodnotou, aktivujeme nástrojem pro obsluhu hardware, který součástku vyřadí. Nástroj pro měření již nepracuje s reálným objektem, ale pouze s aproximovanou kružnicí. Na základě kalibrací přepočte její průměr do reálných jednotek a určí, je-li v předepsané toleranci. Druhý nástroj pro obsluhu hardwaru slouží opět k vyřazení součásti s otvorem mimo toleranci. Příklad je, samozřejmě, velmi zjednodušený. Nezabývá se například nastavením kamery, ošetřením chování programu při zcela vadném výrobku (například při chybějícím otvoru) a dalšími záležitostmi nezbytnými pro praktické použití ve výrobě.

Reference: Wysk, R. A., B. A. Peters and J. S. Smith. 1995. A Formal Process Planning Schema for Shop Floor Control. Engineering Design and Automation, 1995





Computer Design
IT CAD
Autodeskclub
Živě