Stoprocentní kontrolu kvality výroby obvykle není možno realizovat
bez použití kamer a programového vybavení pro strojové vidění. Pomocí
vizuální inspekce lze kontrolovat velké množství parametrů výrobků,
jako je např. barevnost, velikosti a pozice komponentů, korektnost
potisku, textů a kódů, přítomnost šroubů, matic, těsnění nebo jiných
dílů, výskyt prasklin a mnoho dalšího. Tyto optické kontroly lze
obvykle realizovat s použitím standardních algoritmů, které bývají
součástí většiny používaných systémů strojového vidění. Takovéto úlohy
bývají relativně snadno řešitelné a ve většině pracují stabilně a
spolehlivě.
Velmi častými zadáními na vizuální inspekci hotových výrobků je
potřeba kontroly poškození obrysů a vady povrchů a povrchových úprav.
Tyto požadavky vypadají na první pohled rovněž velmi jednoduše. Jsou v
nich ale skryty často zcela nečekané a rozsáhlé potíže. Při řešení
takovýchto úloh standardními a obvyklými prostředky vznikají v řadě
případů problematické a nespolehlivé aplikace.
Společným a velmi důležitým faktorem pro oba tyty typy aplikací je
kvalita obrazu z kamer. Vady obrysových linií nebo povrchů, které musí
systém vizuální inspekce spolehlivě detekovat bývají často velmi
subtilní, nezřetelné, často téměř na mezi pozorovatelnosti lidským
okem. Proto zde sehrává jednu z klíčových rolí kvalita obrazu. Jemná
kresba obrazu může zcela zaniknout v šumu, také dynamický rozsah běžně
používaných průmyslových kamer nebývá nijak slavný a artefakty
komprese obrazu mohou hledané objekty účinně zlikvidovat. Vše tedy
začíná výběrem správné kamery. Potřebujeme kameru s vysokou dynamikou
jasu a s nízkým šumem, ale především bez ztrátové komprese obrazových
dat. Právě těmito vlastnostmi se vyznačují kamery
DataCam. Chceme hledat jemné nerovnosti obrysů a skvrnky
s minimálním kontrastem a nikoliv čtvercové bloky zpětné diskrétní
kosinové transformace.
Podívejme se nyní blíže na skryté potíže a možnosti jejich řešení u
těchto dvou typů úloh.
Inspekce obrysových křivek
Nasvítit kontrolovaný výrobek tak, abychom zdůraznili jeho
obrysy obvykle nebývá problém, a to dokonce ani u průhledných
objektů ze skla či plastu. V případě obrazu s dostatečným
rozlišením může být řešení úlohy v prostředí strojového vidění
VisionLab celkem snadné. Máme zde k dispozici krok edge_defects,
který je specializován právě pro tohle. Pomocí parametru
stanovujícího počet sousedních pixelů obrysu, na základě kterých
budou prováděny výpočty potřebné pro nalezení defektů, a parametru
pro intenzitu defektu lze odezvu kroku škálovat pro různá měřítka
obrazu a různé velikosti a hloubky poškození.
Obr. 1: Vada obrysu detekovaná krokem
edge_defects
Je-li velikost nepravidelnosti obrysu natolik malá, že nelze
použít algoritmy obsažené v kroku edge_defects, jsou zde další
možnosti detekce vlastností obrysu v krocích edge_profile_by_threshold
a edge_profile_by_contour. Ukázka, jak jemné vady
obrysu, prakticky na mezi pixelového rozlišení, lze těmito
prostředky detekovat, je na obr. 2. Předpoklad kvalitního obrazu
bez kompresních artefaktů zde ještě nabývá na své důležitosti.
Obr. 2: Jemná vada obrysu odhalená pomocí polí
hranových pixelů
Inspekce kvality povrchů
Hledáme-li povrchové vady, jejichž charakter a velikost předem
dobře známe, lze je relativně snadno z obrazu extrahovat pomocí
vhodně nastavených obrazových filtrů. Potřebujeme-li ale detekovat
vady projevující se sníženým i zvýšeným jasem, vady nejrůznějších
tvarů a především mnoha velikostí, situace se velmi značně
komplikuje. Realizovat detektory dobře fungující v širokém rozsahu
obrazových měřítek pomocí konvolučních filtrů je obtížná práce s
nejistým výsledkem. Velmi zajímavé výsledky v detekci povrchových
vad mnoha charakterů a rozměrů poskytuje extraktor významných bodů
v obraze, obsažený v kroku gpu_keypoint. K detekci významných bodů
se využívá detektoru založeného na výpočtu determinantu Hessovy
matice. Detektor pracuje v osmi obrazových měřítcích a pro
akceleraci výpočtu využívá masivně paralelního výkonu grafického
procesoru.
Obr. 3: Spolehlivá extrakce malé vady v textuře
povrchu
Pro každé z používaných obrazových měřítek lze samostatně
nastavit práh detekce – takto lze velmi dobře vyřešit extrakci
hledaných objektů např. v obrazovém šumu nebo v textuře povrchu
použitého materiálů. Extrakce malé vady v textuře je vidět na obr.
3. Zde je také v pravém dolním rohu grafického editoru zobrazeno
osmiprvkové pole prahů. Na dalších obrázcích je dokumentována
multiměřítkovost a vynikající citlivost algoritmů hledání
významných bodů i na velice jemné objekty na samé mezi
viditelnosti lidským okem.
Obr. 4: Detekce velmi málo viditelné šmouhy
Ač to tak na první pohled nevypadá, patří kontrola povrchů
svými nároky na kvalitu a rozlišení obrazu, složitost algoritmů i
požadavky na výpočetní výkon mezi nejsložitější úlohy vizuální
inspekce. Systém strojového vidění VisionLab
poskytuje ty správné nástroje, pomocí kterých se lze s takovými
požadavky efektivně vyrovnat.
Obr. 5: Multiměřítková detekce povrchových
defektů
RC
Článek tak, jak
vyšel v magazínu Control Engineeering, je v PDF podobě zde: ControlEngineering_09_2015.pdf.
rc
|