Na vykonávanie kontroly kvality výrobkov sú potrební špecializovaní pracovníci. Týchto pracovníkov je v súčasnosti nedostatok. Počas vizuálnej kontroly pozornosť ľudí klesá už po hodine. Presnosť detekcie defektov u ľudí po niekoľkých hodinách kontroly môže klesnúť o desiatky percent. Pri vizuálnej kontrole zvarov sú tieto problémy ešte výraznejšie. Z týchto dôvodov je dôležité vyvinúť metódy na rozpoznávanie a detekciu defektov zvarov. Na rozpoznávanie a detekciu sa používajú rôzne metódy počítačového videnia.
V súčasnosti sa na rozpoznávanie a detekciu častejšie používajú metódy založené na hlbokých neurónových sieťach. Riešením je použitie robotickej vizuálnej kontroly s laserovým snímačom a spracovaním dát metódami umelej inteligencie. Do inteligentného robotického pracoviska využívajúceho technológiu zvárania TIG je cieľom zabudovať vizuálnu kontrolu zvarov. Toto pracovisko je detailne opísané v článkoch [1] a [2], ktoré sa zameriavajú na použité technológie a fungovanie inteligentného zváracieho pracoviska.
Navrhnutý systém bezkontaktnej robotickej inšpekcie kvality zvaru predstavuje rozšírenie pracoviska o novú technológiu a funkcionalitu, čím sa zvyšuje autonómnosť, efektivita a kvalita pracoviska. Vyvinuli sme robotický nástroj na robotické skenovanie obrazu zvárania predstavujúci fúziu technológií v automatizácii a vizuálnom spracovaní. Tento systém (obr. 1) kombinuje Raspberry Pi 3B+ ako centrálne procesorové jadro, Raspberry Cam V3 na nahrávanie videa, LED svetelný kruh na stabilné osvetlenie a 2D laserový skener pre možnosť 3D vizualizácie finálnych zvarov. Jadro systému Raspberry Pi 3B+ koordinuje operácie medzi jednotlivými komponentmi. Raspberry Cam V3 zachytáva detailné videá zvarov s frekvenciou 50 snímok za sekundu, pričom dokáže zachytiť až päť snímok na milimeter zvaru pri rýchlosti robota 10 mm/s.
Táto vysoká snímková frekvencia umožňuje detailnú a spoľahlivú analýzu zvarov. LED svetelný kruh je nevyhnutný na zabezpečenie konzistentných svetelných podmienok počas celého procesu skenovania. Uvedené zariadenie eliminuje problémy so zmenami osvetlenia, ktoré by mohli skresliť kvalitu zachytených obrázkov. Neodmysliteľnou súčasťou tohto nástroja je 2D laserový skener, ktorý umožňuje presné meranie a vytvára 3D mračno bodov zvaru. Z naskenovaného 3D mračna bodov zvaru vykonávame pokročilú analýzu kvality zvaru s využitím metód umelej inteligencie. Obrazová informácia z kamery sa používa na zlepšenie detekcie defektov zvarov.
Celý nástroj je namontovaný na robotickom manipulátore Fanuc CRX-25iA (obr. 2), ktorý zabezpečuje presné a plynulé pohyby pozdĺž zvaru. Robotický manipulátor tiež poskytuje variabilitu, čo sa týka frekvencie snímok na milimeter zvaru. Presnosť je dôležitá pre dosiahnutie spoľahlivých výsledkov skenovania. Vďaka použitiu kolaboratívneho robota, ktorý umožňuje manuálne vedenie počas programovania, je tento systém mimoriadne flexibilný a prispôsobivý pre zvary rôznych geometrií. Táto vlastnosť robota umožňuje jednoduché nastavenie a prispôsobenie procesu skenovania rôznym typom zvarov, či už ide o jednoduché rovné zvary alebo zložitejšie zvarové spoje s neštandardnými tvarmi. Tento prístup zvyšuje všestrannosť nástroja a jeho schopnosť efektívne pracovať v rôznych výrobných prostrediach.
Proces skenovania je plne automatizovaný. Robot poskytuje signál Raspberry Pi na spustenie nahrávania videa, keď sa začne pohybovať, a na konci trajektórie odošle signál Stop, čo vedie k ukončeniu nahrávania. Tento automatizovaný proces minimalizuje ľudské chyby a zvyšuje efektivitu a presnosť meraní. Navrhnutý a otestovaný robotický nástroj ponúka možnosti v oblasti kontroly kvality zvarových spojov, kde kombinuje pokročilú robotiku s presným skenovaním. Následne poskytuje spracovanie dát metódami strojového videnia z viacerých zdrojov údajov, ktorých fúzia ponúka potenciál zvýšenia presnosti pri kontrole kvality zvarov, čo vedie k zlepšeniu kvality výrobkov a efektivite automatizovanej výroby. V nasledujúcom texte je v piatich krokoch opísaný postup návrhu a implementácie konvolučných neurónových sietí na klasifikáciu defektov zvarov zo získaných skenov zvarov.
Prvý krok: Predspracovanie dát
Cieľom predspracovania laserových dát je priradenie farby mračnám bodov na základe informácií o hĺbke zvaru podľa normy ČSN EN ISO 5817. Následne treba vzhľadom na klasifikáciu defektov transformovať mračná bodov na 2D obraz. Na transformovanie trojrozmerného povrchu cylindra do dvojrozmerného obrazu sme použili cylindrickú projekciu (obr. 3). Pri rozvíjaní valcového objektu na 2D rovinu je zásadné zachovať správne uhlové rozloženie bodov tak, aby zodpovedalo záznamu z kamery. V našom prípade bol tento krok dôležitý pre následnú synchronizáciu dát LiDAR s kamerovým obrazom.
Druhý krok: Vytvorenie obrazových dát na trénovanie a testovanie neurónových sietí
Cieľom druhého kroku je vytvoriť dátové súbory na trénovanie a testovanie konvolučných neurónových sietí. Najskôr je potrebné na základe protokolov kontroly kvality vykonať označenie úsekov s defektmi zvarov – okrem typu defektu zapisujeme aj triedu kvality zvaru. Označovali sme tieto defekty: 502 – prevýšenie zvaru, 510 – diera, 511 – neprevarený zvar, 5011 – zápal, 2017 – povrchový pór, 2025 – kráterový lunker (obr. 4). K defektu sme priraďovali aj triedu kvality B, C, D a N, kde najlepšia trieda kvality je B a najhoršia N ako nevyhovujúci zvar. Pri klasifikácii zvarov berieme iba zvary kvality B ako dobré zvary, ostatné triedy kvality priraďujeme do triedy zlý zvar.
Na základe označených úsekov sa automaticky pomocou posuvného okna vyrežú obrazy z kamerového videa a 2D obrazu dát LiDAR a zatriedia sa do jednotlivých tried defektov. Narezané obrazy boli rozdelené na trénovaciu a testovaciu časť v pomere 80 % trénovacích dát a 20 % validačných dát. Validačné obrazy boli získané zo samostatných úsekov zvarov, ktoré neboli použité na trénovanie. Na doplnenie trénovacieho dátového súboru pre jednotlivé triedy zvarov s defektmi bola použitá augmentácia, ako je posun, zrkadlenie, rotácia, zmena veľkosti, zašumenie a rozmazanie.
Tretí krok: Trénovanie konvolučných neurónových sietí
V treťom kroku sa snažíme natrénovať neurónovú sieť rozpoznávať, či sa na zvare nachádza alebo nenachádza defekt, t. j. vyhodnocovať do tried dobrý/zlý zvar. Ak sa defekt nachádza na zvare, druhou neurónovou sieťou sa určuje aj typ defektu zo šiestich typov defektov. Takže budeme trénovať dva neurónové modely pre každý dátový vstup. Použili sme konvolučné neurónové siete (CNN), ktoré sú špecifickým typom hlbokých neurónových sietí obsahujúcich konvolučné vrstvy. Tento typ sietí sa využíva najmä na analýzu dát s mriežkovou štruktúrou, ako sú obrazy a videá.
Analýza obrazu sa vykonáva pomocou konvolučných vrstiev, ktoré aplikujú operáciu konvolúcie na extrakciu čŕt z obrazových dát. Platí, že čím je vrstva hlbšie, tým abstraktnejšie vlastnosti z dát extrahuje. Medzi tieto vlastnosti patria napríklad hrany, textúry alebo komplexnejšie a abstraktnejšie charakteristiky. Nevýhodou týchto hlbokých sietí je ich vysoká výpočtová náročnosť, ktorá často vyžaduje špecializovaný hardvér, ako sú grafické karty (GPU).
Pri návrhu architektúry CNN sme použili transferové učenie, pri ktorom sa využili predtrénované siete natrénované na veľkých datasetoch, ako je napríklad ImageNet. Veľkou výhodou využitia týchto sietí je to, že namiesto toho, aby sme model museli trénovať od začiatku, môžeme využiť už predtrénovaný model, ktorý sa na našich nových dátach bude učiť oveľa rýchlejšie. Tieto modely zvyčajne dosahujú vysokú presnosť, pretože ich architektúra bola optimalizovaná odborníkmi. Predtrénované modely sú flexibilné a dajú sa manuálne dolaďovať.
Ak chceme model zjednodušiť alebo rozšíriť, môžeme manuálne zmeniť jeho architektúru. Z testovaných architektúr CNN sme vybrali predtrénovanú sieť EfficientNet od spoločnosti Google. Pri trénovaní siete bolo potrebné nastaviť viacero parametrov trénovania, napríklad počet trénovacích epoch, veľkosť dávky, krok učenia, optimalizátor učenia atď., aby nedochádzalo k tzv. pretrénovaniu siete.
Štvrtý krok: Testovanie CNN na validačných dátach
Pri trénovaní siete sme dosiahli 100 % úspešnosť klasifikácie na trénovacích dátach. Dôležitejšia je však úspešnosť na validačných dátach, na ktorých sa sieť netrénovala. Vysoká úspešnosť na validačných dátach vyjadruje dobrú schopnosť zovšeobecniť získané znalosti neurónovej siete na iné dáta. Nám sa podarilo na validačných dátach dosiahnuť vysokú úspešnosť 99,6% pre dve triedy (dobrý/zlý) a 98,9% pre šesť tried (typy defektov). Ďalším krokom je overenie, či sa sieť pri klasifikácii rozhoduje na základe oblastí, kde sa defekt zvaru nachádza.
Siete hlbokého učenia sa často považujú za čierne skrinky, kde nemôžeme priamo vidieť, na základe čoho sieť robí rozhodnutia. Existuje viacero metód na vizualizáciu CNN, my sme použili mapovanie aktivácie tried s gradientovým vážením (Gradient-weighted Class Activation Mapping – GradCAM). GradCAM je jedna z techník, ktorú možno použiť na získanie vizuálnych vysvetlení predpovedí konvolučných neurónových sietí. Nesprávne, zdanlivo neprimerané predpovede môžu mať často rozumné vysvetlenie. Pomocou mapovania aktivácie tried môžeme skontrolovať, či konkrétna časť (časť defektov) vstupného obrázka „zmiatla“ sieť a viedla ju k nesprávnej predpovedi.
Obr. 5 zobrazuje mapu aktivácie tried s gradientovým vážením pre príklady vybraných typov defektov zvarov, ktoré správne lokalizovali defekty. Vizualizácia pomocou metódy GradCAM potvrdila správnosť klasifikácie defektov zvarov pomocou CNN a odhalila prípadné nedostatky v klasifikácii.
Piaty krok: Implementácia a testovanie CNN
Na obr. 6 je znázornená bloková schéma vyhodnotenia zvaru, ktorá vyjadruje postupnosť vyhodnotenia získaného mračna bodov zvaru. Pohyblivým oknom postupne prechádzame obraz zvaru a jednou CNN zisťujeme výskyt defektu zvarov a druhou CNN určujeme typ zvaru. Výstupom sú grafy a CSV súbor s informáciami o výskyte defektov, ako aj obrazové záznamy z jednotlivých defektov a GradCAM vizualizácie, ktoré slúžia ako podklad pre kontrolóra kvality. Vyhodnotenie kvality zvaru je realizované off-line na cloudovom serveri.
Opísaný inovatívny prístup predstavuje dôležitý krok vpred v oblasti automatizácie a kontroly kvality v priemyselných procesoch. Robotický efektor na snímanie kvality objektov je už aktuálne inštalovaný na pracovisku v Tlmačoch, kde v rámci partnerských aktivít ÚRK FEI STU – VÚEZ projektu QUALBYAI prebieha vývoj a testovanie prototypu automatizovaného robotického systému testovania kvality výrobkov, založeného na vizuálnych systémoch a umelej inteligencii (obr. 7).
Príspevok vznikol v rámci spolupráce Ústavu robotiky a kybernetiky FEI STU v Bratislave a spoločnosti VÚEZ, a. s.
Zdroje:
[1] https://www.atpjournal.sk/rubriky/aplikacie/spickovepracoviskorobotickehozvarania1.html?page_id=34239
[2] https://www.atpjournal.sk/rubriky/aplikacie/spickovepracoviskorobotickehozvarania2.html?page_id=34422
Ing. Slavomír Kajan
PhD. Ing. Marek Trebuľa
Ústav robotiky a kybernetiky
FEI STU Bratislava
slavomir.kajan@stuba.sk
trebula.marek@vuez.sk