Gépi látás az Ipar 4.0 szolgálatában


A mai világban már mindenkinek ott van a zsebében egy korszerű képdigitalizációs eszköz – a mobiltelefon –, melynek eredményeképp rengeteg képet készítünk. Megörökítünk minden fontos és kevésbé fontos eseményt, aztán vagy megnézzük a képeket, vagy nem. Azonban az eszköz nem minden, jól is kell tudni használni. Nem véletlen, hogy a fotózás egy külön szakma. Ahhoz, hogy szép eredmény szülessen, a fotósnak megfelelő képet kell készítenie, és a megfelelő utómunkát hozzátennie. Az ipari képfeldolgozásban sincs ez másként, habár, a fotózással ellentétben, a műszaki célból készült képeket más motiváció hajtja. A recept tehát:

Megfelelő kép

+

Megfelelő utómunka

Ebben a bejegyzésben bemutatom, hogy milyen alapokon nyugszik az Ipar4.0-t kiszolgáló képfeldolgozás. Tartalmilag a következő témaköröket fogom érinteni:

A célom az , hogy a cikk elolvasása után te is könnyen meg tudd mondani egy ipari problémáról, hogy milyen irányban kell elindulni a megoldás felé.

Kiegészítésként csatolok egy ingyenesen letölthető segédletet, ami a mindennapi munkát megkönnyítendő, segítségedre lesz a kamerás feladatok definiálásában.

A letölthető segédlet az alábbi pontokban segít:

  • Kamerás feladat céljának meghatározása
  • Termék definiálása
  • Körülmények definiálása

Így például az alábbi két képen bemutatott feladatokra is megoldást találhatsz:

  • jelenlétellenőrzés,
  • karakterfelismerés.

Megfelelő kép

A receptünk első része azt mondja tehát, hogy készítsünk egy megfelelő képet. 

Na de, mitől megfelelő egy kép? Mi az a kép egyáltalán? 

Fontos magunkban rendezni az alapvető fogalmakat ahhoz, hogy egy műszaki problémát a megoldás felé tereljünk. Ígérem, igyekszem kerülni a száraz definíciókat, azonban egy-két alapvető dolgot kötelességem leírni.

Műszaki szempontból a képet egy kétváltozós függvénynek tekintjük (f (x, y)), melynek amplitúdója a kép egy adott pontjának intenzitását mutatja meg. Abban az esetben, ha x, y és az intenzitás véges értéket vehet fel, akkor digitális képről beszélünk. Így a digitális kép véges számú elemből áll, melyek adott helyen adott értéket vesznek fel. Ezeket az elemeket hívjuk pixelnek. 

Amennyiben egy pixelt 8 biten tárolunk, úgy 28=256 különböző intenzitásértékről beszélünk. 

Színes képet pedig a három alapszínből készítjük el, ami 3 * 8 bit-et jelent. Az RGB színkóddal biztosan sokan találkoztatok már, amiben R, G és B értéke 0 és 255 között változtatható. Ez megfelel a fenti intenzitás értéknek az egyes csatornákra: piros (R), zöld (G) és kék(B).

Megjegyzés: A fenti függvény értelmezhető egy illetve három dimenzióban is. Ezekre az esetekre ebben a cikkben nem térünk ki, klasszikus 2D képekkel foglalkozunk. Későbbi írásokban bemutatok 3D képfeldolgozásra is példát.

Ahhoz, hogy megkapjuk ezt a diszkrét függvényt, két dolgot kell tennünk:

  1. Mintavételezés
  2. Kvantálás

Mintavételezésnél begyűjtjük azon intenzitás értékeket, amelyet az adott termék, illetve az azt körülvevő egyéb dolgok visszavernek a fényforrásból.

Ezeket az értékeket minden egyes pontban hozzárendeljük egy lehetséges kimeneti értékhez. Például a 8 bites kép esetében 0..255-ös skálához. Ez a folyamat a kvantálás.

A folyamat nagyon gyorsan végbemegy, a telefonunkat elő véve, és fotózva egyet, már meg is történt a mintavételezés és kvantálás.

Megfelelő utómunka

Az utómunka több felfogásban értelmezhető. Bemenetként adott a digitális kép, a kimenetet azonban még nem definiáltuk. A szakirodalom a kimenet függvényében megkülönbözteti a képfeldolgozást a gépi látástól vagy számítógépes látástól.

Képfeldolgozás:

Kép → Kép

Gépi látás:

Kép → Leírás

Képfeldolgozás esetén a kimenetünk szintén egy kép, gépi látás esetén egy leírást kapunk. Ez valamilyen adat jellegű dolog.

Például:

Ha azt szeretnénk megtudni, hogy hány termék van mondjuk egy sörös rekeszben, akkor egy számot várunk eredménynek. Ekkor gépi látásról beszélünk. Ha szeretnénk egy képet látni, amin jelölve vannak a sörösüvegek, akkor azt képfeldolgozásnak nevezzük. Mivel a feldolgozás folyamatára, a használt algoritmusokra ez nem feltétlenül jelent különbséget, így ez a határ elmosódik. Az automatizálásban megjelenő problémák nagyrészt a gépi látás témakörébe tartoznak. Ebben az írásban mindkét kifejezést használom, de ez nem feltétlenül kell a definíció szerint értelmezni, a gyakorlatban nem különböztetem meg a kettőt egymástól. A lenti ábra szemlélteti, hogy csupán képfeldolgozás segítségével megmutatható, hogy hány sörösüveg található a rekeszben, kiemelve azok kupakjait.

Ezt a fajta csoportosítást tovább vive létezik olyan felállás is, amikor valamilyen leírás alapján várunk leírást eredménynek. Ezt nevezzük mesterséges intelligenciának (röviden: MI vagy angolul AI: artificial intelligence). Ez egy nagyon érdekes, és sok lehetőséget rejtő irány, későbbi írásokban ezt is tárgyaljuk majd.

Mesterséges intelligencia

Leírás → Leírás


Képfeldolgozás lépései

Az utómunka feltérképezését a digitális képfeldolgozás elemi lépésein keresztül mutatom be. Ez szépen rendezi azokat a fogalmakat, amikkel eredményesen tudunk gépi látást megvalósítani.

1. lépés – Képkészítés

Nem is kell nagyon mélyen értelmezni a dolgot, az iparban használt kamerák mindegyike digitalizált képet készít, így a fent definiált kép függvényünk össze is áll.

2. lépés – Képfokozás

Azt a célt szolgálja, hogy a készített képet átalakítsuk oly módon, hogy az megfelelőbb legyen számunka. Ilyenek a zajszűrés, kontrasztjavítás stb. Értelemszerűen a megoldandó probléma vezérel minket az átalakításban. Például egy röntgen képen alkalmazott javítás nem lesz megfelelő egy műholdképen alkalmazottra. Ennél a lépésnél a képet feldolgozó személy szubjektivitása is fontos szerephez jut, mert nem lehet egzakt metodikát alkalmazni. Néha csak később dönthető el, hogy esetleg itt kisebb módosításra van szükség.

3. lépés – Képjavítás

A következő lépésnek – képjavítás – szintén a kép megfelelővé tétele a célja, azonban az itt alkalmazott metodika már objektív. Ezek általában valamilyen matematikai alapon nyugvó eljárások. Ilyen eljárások az elmosodás csökkentése, ismétlődő zajok szűrése.

4. lépés – Szín feldolgozás

Itt az alapszínekre bonthatjuk a képet, és az egyes elemek jelenlétével további következtetéseket vonhatunk le. Általában színes kép esetében fontosabb lépés. Megjegyzendő, hogy iparban sokszor alkalmazunk monokróm kamerákat, hiszen, ha a vizsgálandó terméknél a szín nem jelent információt vagy nincs szükség színes képre további tárolás céljából, akkor a monokróm szenzorral szebb képet tudunk készíteni zaj és így felbontás szempontjából.

Aztán egyre bonyolultabb matematika felé vesszük az irányt.

5. lépés – Kép vizsgálata, különböző tartományokban

A lineáris algebra és analízis minden eszközét be tudjuk vetni. Például a képünket értelmezhetjük vektortérben. Ezek a műveletek lehetnek számításigényesek, a használatukhoz megfelelő matematikai háttér szükséges. Ilyen műveletek a Laplace-transzformáció, Fourier-transzformáció stb. A különböző terekben vizsgált kép i szolgálhat fontos információval.

6. lépés – Tömörítés

Az így kapott képet tömörítjük. Célja a tárolt kép méretének redukálása a megfelelő szintre. Lényeges lépés, ha az adattárolási kapacitás véges. Számos tömörített képformátum létezik, sőt, a legelterjedtebben használt formátumok mindegyike valamilyen tömörítést alkalmaz. Ilyenek pl:

  • jpeg,
  • png,
  • tiff.

7. lépés – Sajátosságok kiemelése, osztályozás

morfológiai feldolgozás képkomponensek kinyerésére szolgáló eszközökkel foglalkozik. Ezt követően szegmentáljuk a képen számunkra fontos részleteket, majd kiemeljük a sajátosságokat. Végül osztályozzuk a kapott képet.

Ezek az eljárások már komolyabb matematikai alapokat igényelnek. Nem szándékom belemenni, hogy egy neurális hálót hogyan építsünk fel, mindenesetre összefoglaltam, hogy mik a pontos lépései a digitális képfeldolgozásnak.

Példa – Morfológiai átalakításra

Adott egy kép, ami esetünkben egy szerkesztett kép, és nem mintavételezésből született. (A célja éppen az volt, hogy szabad szemmel kevésbé legyen kivehető egy felirat.)

Első lépésben szürkeárnyalatossá alakítjuk, majd egy Gauss-féle adaptív szűrőt alkalmazunk.

Kamerás feladat definiálása

Megbeszéltük, hogy mik a feldolgozás lépései, ami alapján összegyűjthetjük, hogy mik azok a pontok, amikre figyelni kell egy kamerás feladat definiálása esetén. Ahogy azt leírtam ez egy szekvenciális folyamat, ami a képkészítéssel kezdődik. Így ez alapozza meg a későbbi utómunka sikerességét. Ez az a kulcsfontosságú dolog, ami megalapozza, hogy egy feladat milyen módon oldható meg, vagy egyáltalán megoldható-e. Azonban még mielőtt bármibe belefogunk – mint minden egyéb feladat esetében – meg kell határozni a vizsgálat célját.

1. Cél meghatározása

Ez egy nagyon egyszerűen megfogalmazott állítás kell, hogy legyen. Sokszor az is segít, sőt, nagyon fontos lépés, hogy megfogalmazunk nem célokat is.

Példák:

  • Adott egy termék és szeretném ellenőrizni, hogy az adott helyen megtalálható-e egy bizonyos alkatrész.
  • Szeretném meghatározni az éppen gyártott termékcsoporton belül a gyártott típust.
  • Ezen a három termékemen szeretném ellenőrizni, hogy egy adott méret megfelelő tűréssel készült-e.
  • Szeretném ellenőrizni, hogy bekerült-e a csomagolásba minden alkatrész.
  • Szeretném ellenőrizni, hogy a termékre került-e sorozatszám, ha került, akkor megfelelően visszaolvasható-e.

2. Definiáljuk a terméket

Képfeldolgozás szempontjából alapvető információ a befoglaló méret és az ehhez képesti legkisebb megkülönböztetni kívánt méret meghatározása. Ha termékcsoportról van szó, akkor az egyes termékek közti különbség definiálása is nagyon fontos. Azt is szükséges meghatározni, hogy ezek a különbségek befolyásolják-e a várt eredményt, tehát külön meg kell őket vizsgálni, vagy az eltérés olyan részen van, ami a feladat szempontjából nem különbözteti meg a termékeket.

Kérdések, amikre ki kell térni:

  • Hány féle típus vizsgálunk?
  • Típusok között mik a különbségek?
  • A különbség szerepet játszik a vizsgálatban vagy nem?
  • Mekkora a termékem? Mekkora területet kell egyszerre vizsgálni?
  • Mekkora a legkisebb tulajdonság mérete, amit meg szeretnék különböztetni?
  • Mekkora a legkisebb vizsgált méret és maximális méret aránya?

3. Definiáljuk a körülményeket

Ahogy azt leírtam, a szenzor a termékről és annak környezetéről visszavert fényt gyűjti össze. Így minden kamerás feladat esetében a környezeti fényviszonyok döntőek lehetnek a megoldás sikerességét illetően. Esetlegesen szükséges lehet a külső fényviszonyok kizárása.

Kérdések:

  • Állandó-e a megvilágítás a vizsgálat helyén?
  • Napfény vagy eseti fény érheti-e a vizsgálat területét?

Fentiek megválaszolásával eljutunk oda, hogy a képkészítést megfelelően meg tudjuk oldani. Így ez alapján megfelelő kamerát, optikát és megvilágítást tudunk választani.

Kamera eszköz lehetőségek

Alapvetően két irányba indulhatunk el. Vannak olyan ipari eszközök, amelyek rendelkeznek feldolgozó egységgel, illetve használhatunk kamerát, ami csak a szenzor szerepét tölti be, és a feldolgozást egy számítógép segítségével oldjuk meg. A két megoldás közül bármelyik alkalmas lehet a feladat megoldására, a választást az adott feladat és a gyártási körülmények befolyásolhatják.

Néhány tulajdonság összefoglalva:

Fizikai méretHasználhatóság korlátaiOptikaFényforrás
Kamera feldolgozó egységgelKameraegység általában nagyobb, mint egy képkészítésre használt kameraEbben az esetben előre definiált függvénykészletet használhatunk. Ezek mennyisége szenzorgyártótól függ.A használható optikák száma korlátozott lehet.Általában rendelkeznek saját fényforrással, de külső megvilágítás is használható.
Kamera és PCKamera egység kisebb tud lenni, de a PC méretével is számolni kell. Ha ezt el tudjuk helyezni az alkalmazás körül, akkor ez a megoldás kisebbnek adódik a gyártási folyamat helyén.Saját szoftvert szükséges írnunk, így itt a használható eszközök tára végtelen.Bármilyen megfelelő csatlakozással ellátott optika használható.Általában külső fényforrás kialakítása szükséges.

Záró gondolatok

Gépi látás esetén tehát a képkészítés egy kulcsfontosságú lépés. Remélem ez az írás sokaknak tud mankót adni egy-egy felmerült probléma esetén. A mély elméleti fogalmakat kerülve igyekeztem megmutatni, hogy a kép matematikai értelmezésével mennyi lehetőségünk van azt átalakítani és feldolgozni.

Ezek ne rémítsenek meg senkit. Nem kell matematikusnak lenni az eredményes használathoz, viszont esetenként szakember bevonása ajánlatos. Ha ez az írás csak abban segít, hogy a feladatok definiálása pontos legyen, akkor már elérte a célját.

Hiszem, hogy a gépi látásban sok lehetőség rejlik, hiszen a matematika rengeteg eszközt nyújt számunkra, és az informatika folyamatos fejlődésével egyre több feladatot tudunk megoldani egyre rövidebb idő alatt, így kiszolgálva a gyorsuló világ által megkövetelt egyre gyorsabb termelési folyamatokat is.

Összefoglalás

Az egyedi gépgyártási, ipari automatizálási, robotizálási projektek menedzselése nem könnyű feladat. A fent leírtakkal és ismereteid bővítésével, sokat javíthatsz folyamataid gördülékennyé tételén, projektjeid sikerességén.

Ha azonban mégsem boldogulnál és kérdésed merült fel egy automatizálási feladat követelményeinek megfogalmazásával kapcsolatban, esetleg automatizálnád termelésed és nem tudod hogy állj neki, lépj velünk kapcsolatba, és levesszük válladról a terhet.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük