- Mesterséges intelligencia: a legnagyobb gyűjtőfogalom.
- Gépi tanulás: a rendszer példákból tanul, nem minden felismerési szabályt programozunk bele kézzel.
- Mélytanulás: több rétegből álló neurális hálózatot használ.
- YOLO: mélytanuláson alapuló modellcsalád, amely többek között objektumok felismerésére és helyük meghatározására használható.
Objektumfelismerő rendszerek az iparban
- különböző alkatrészek és termékváltozatok azonosítása
- egy képen egyszerre több objektum megtalálása és megszámlálása
- hiányzó, többlet- vagy téves alkatrész jelzése
- megfelelő és nem megfelelő termékek szétválasztása
- csavarok, szerelvények, dobozok, címkék vagy csomagok ellenőrzése
- a felismerési eredmény naplózása és továbbítása más ipari rendszereknek
- folyamatos videós megfigyelés vagy külső triggerre végzett egyszeri ellenőrzés
Osztályozás vagy objektumdetektálás
A két feladat gyakran összekeveredik, pedig másféle eredményt ad. A megfelelő módszer kiválasztása a projekt egyik első döntése.
| Módszer | Mit ad eredményül | Mikor célszerű |
|---|---|---|
| Képosztályozás | A teljes képre egy kategóriát és valószínűséget | Ha egy képen jellemzően egy termék van, és csak a típusát kell megmondani |
| Objektumdetektálás | Minden megtalált objektumhoz keretet, kategóriát és bizalmi értéket | Ha több tárgy van a képen, fontos a helyük vagy darabszámuk |
| Szegmentálás | Az egyes objektumok pontos képpontszintű körvonalát | Ha a forma, felület vagy egymást átfedő tárgyak pontos elkülönítése fontos |
| OBB detektálás | Elforgatott befoglaló téglalapot |
A You Only Look Once működése a gyakorlatban
A feldolgozás eredménye minden lehetséges objektumhoz három fontos információ:
- a befoglaló keret helye és mérete
- a becsült kategória, például csavar M6, tartóelem vagy burkolat
- a bizalmi érték, amely azt fejezi ki, mennyire erős a modell becslése
A modell több, részben egymást fedő jelölt keretet is készíthet ugyanarra a tárgyra. A kiértékelés ezeket összeveti, és a beállított eljárás szerint megtartja a legjobb találatot. A végső képen ezért általában egy keret, egy kategórianév és egy százalékos vagy 0 és 1 közötti bizalmi érték jelenik meg objektumonként.
A teljes munkafolyamat
- Meghatározzuk, milyen objektumokat és milyen üzemi helyzetben kell felismerni
- A valós gyártási környezetet reprezentáló képeket készítünk
- Minden releváns objektum köré keretet rajzolunk, és hozzárendeljük a megfelelő címkét
- A képeket tanító, validációs és teszt adathalmazra választjuk szét
- A modellt betanítjuk, közben mérjük a hibát és a felismerési mutatókat
- Új, korábban nem látott képeken ellenőrizzük a működést
- A modellt beépítjük a kamera-, PLC-, adatbázis- vagy MQTT-kapcsolattal rendelkező alkalmazásba
- A gyártás során gyűjtött hibás esetekkel később célzottan továbbfejlesztjük a modellt
A detektálási feladat pontos meghatározása
Különösen fontos az egymáshoz nagyon hasonló termékek kezelése. Ha két alkatrész csak egy kis furatban, rövid csatlakozóban vagy halvány feliratban tér el, a kamera felbontásának és látószögének ezt láthatóvá kell tennie. Amit az ember sem tud megbízhatóan megkülönböztetni a rendelkezésre álló képen, azt a modell sem fogja stabilan felismerni.
Képgyűjtés a valós környezetből
változatosságok a tanítás során?
- különböző tárgypozíciók, elforgatások és kisebb helyzeteltérések
- a várható méret- és távolságváltozások
- világosabb és sötétebb, de még elfogadható üzemi képek
- fényes, matt vagy tükröződő felületek különböző visszaverődései
- részben takart és egymáshoz közel fekvő objektumok
- üres hátterek és olyan zavaró tárgyak, amelyek nem képeznek felismerendő osztályt
- hibás, hiányos vagy nem megfelelő termékek, ha ezeket is külön kell azonosítani
Annotálás és címkézés
A jó annotálás szabályai
- A keret szorosan fogja körbe az objektumot, de ne vágjon le belőle lényeges részt
- Minden olyan objektumot jelöljünk, amely az adott osztályhoz tartozik. A kihagyott példány a tanítás számára félrevezető háttérré válhat
- Ugyanazt a tárgytípust minden képen ugyanazzal a címkével jelöljük
- A részben takart objektumokra előre egységes szabályt kell meghatározni
- A nagyon apró, felismerhetetlen vagy bizonytalan objektumokat következetesen kezeljük
- Az annotációkat tanítás előtt érdemes vizuálisan ellenőrizni, mert a hibás keretek közvetlenül rontják a modellt
A tanító adatok felosztása
A felosztást nem célszerű véletlenül képkockánként elvégezni, ha a képek ugyanabból a rövid videóból származnak. Az egymást követő képkockák szinte azonosak lehetnek, ezért a mérés túl optimista eredményt adhat. Jobb külön gyártási sorozatokat, időpontokat vagy termékpéldányokat elkülöníteni.
A tanítás folyamata
A tanítás egy epoch alatt egyszer végighalad a teljes tanító adathalmazon. Minden képnél összehasonlítja a modell becslését a kézzel megadott annotációval, kiszámítja a hibát, majd kis lépésekben módosítja a hálózat paramétereit. Ez sok epochon keresztül ismétlődik.
| Fogalom | Közérthető jelentés |
|---|---|
| Epoch | A tanító adathalmazon végzett egy teljes áthaladás |
| Batch | Az egyszerre feldolgozott képek csoportja |
| Képméret | A tanítás és felismerés bemeneti felbontása; a nagyobb méret több részletet, de több számítást igényel |
| Learning rate | A modellparaméterek módosításának lépésköze |
| Loss | A modell hibáját összefoglaló tanítási érték; alakulását több komponenssel együtt kell értelmezni |
| Augmentáció | A képek mesterséges változtatása, például eltolás, méretezés vagy fényerő-változtatás a jobb általánosítás érdekében |
jó és rossz a tanulás
A modellnek nem a tanítóképek "bemagolása" a feladata, hanem az, hogy új képeken is felismerje ugyanazokat az objektumtípusokat.Túltanulásról beszélünk, ha a tanítási eredmény javul, miközben a validációs teljesítmény stagnál vagy romlik. Ennek oka lehet a kevés adat, az egyhangú képhalmaz, a túl hosszú tanítás vagy a tanító és üzemi környezet közötti eltérés.
A felismerés minőségének mérése
| Mutató | Mit fejez ki | Ipari értelmezés |
|---|---|---|
| Precision | A jelzett találatok közül mennyi volt valóban helyes | Magas érték esetén kevés a téves riasztás |
| Recall | A tényleges objektumok közül mennyit talált meg a rendszer | Magas érték esetén kevés objektum marad észrevétlen |
| IoU | Mennyire fedi egymást a becsült és a referencia keret | Megmutatja a lokalizálás pontosságát |
| mAP | A pontosság több osztályra és küszöbre összesített mérőszáma | Modellek és tanítási változatok összehasonlítására használható |
| Confusion matrix | Mely osztályokat téveszti össze a modell | Megmutatja a hasonló termékek közötti problémákat |
Felismerés az üzemi rendszerben
- A kamera állóképet vagy videóképkockát készít
- A program elvégzi a szükséges előfeldolgozást
- A YOLO modell előállítja a jelölt objektumokat, kereteket és osztálybecsléseket
- A kiértékelés eltávolítja a túl gyenge és ismétlődő találatokat
- Az alkalmazás megszámolja vagy szabályok szerint ellenőrzi az objektumokat
- A végeredmény megjelenik, naplózódik, illetve továbbítható PLC, MQTT vagy más rendszer felé
Folyamatos és triggerelt működés
Folyamatos üzemmódban a rendszer egymás után elemzi a videó képkockáit. Ez látványos és alkalmas követésre, de ugyanazt a tárgyat sok képkockán érzékelheti, ezért számláláshoz nyomkövetés vagy áthaladási szabály szükséges. Triggerelt módban a PLC, fotocella vagy kezelői parancs indít egyetlen ellenőrzést. Ez gyakran jobban illeszkedik állomásos gyártáshoz, mert egyértelmű, mely munkadarabhoz tartozik az eredmény.
Értékelési küszöb helyes beállítása
Alacsonyabb érték küszöbnél több a találat, ezért javulhat az érzékenység, de több téves felismerés is megjelenhet. Magasabb küszöbnél csak a biztosabb találatokat fogadjuk el, viszont néhány valódi objektum kieshet. Nincs minden projektre érvényes ideális érték. A küszöböt osztályonként, üzemi tesztek és a hibák arényéban alapján érdemes beállítani.A pontosságot a következő tényezők befolyásolják
| Tényező | Tipikus probléma | Javasolt megoldás |
|---|---|---|
| Világítás | Árnyék, csillogás, változó fény | Diffúz, stabil ipari megvilágítás; fényes felületnél polarizáció vizsgálata |
| Kamera és optika | Kevés képpont jut a kis részletre | Megfelelő felbontás, látómező, munkatávolság és fókusz |
| Mozgás | Elmosódott kép | Rövid expozíció, elegendő fény, szükség esetén global shutter és villanófény |
| Háttér | A tárgy beleolvad vagy zavaró minták jelennek meg | Kontrasztos, állandó háttér és jól meghatározott vizsgálati terület |
| Adathalmaz | Kevés vagy egyhangú példa | Több valós variáció és célzott nehéz eset |
| Annotáció | Kihagyott tárgyak, pontatlan keretek, hibás címkék | Egységes szabályzat és tanítás előtti ellenőrzés |
| Hasonló osztályok | A modell összetéveszti a termékváltozatokat | Látható megkülönböztető részlet biztosítása, közelebbi kép vagy több kamera |
| Képméret és modell | A kis tárgy részlete elveszik vagy a feldolgozás lassú | Sebesség és pontosság mérése több modellmérettel és bemeneti felbontással |
Minél több tanítókép
Az elegendő képszám nem adható meg egyetlen általános számmal. Függ az osztályok számától, a termékek hasonlóságától, az üzemi változatosságtól, az objektum képen belüli méretétől és a szükséges megbízhatóságtól. A helyes megközelítés az, hogy mérjük a hibákat, majd kifejezetten azokból a helyzetekből gyűjtünk új példákat, amelyeket a modell rosszul kezel.
Gyakori hibák a projekt során
- A tanítóképek és az üzemi képek eltérő kameraállásból készülnek
- Csak ideális, hibátlan és jól középre helyezett tárgyakat tanítunk
- Egy képen néhány példány fel van címkézve, a többi azonos objektum nincs
- A kategóriák elnevezése vagy sorszámozása megváltozik a tanítás közben
- A nagyon hasonló osztályok megkülönböztető jegye túl kevés képpontból áll
- A tanító és validációs képek gyakorlatilag ugyanannak a videónak szomszédos képkockái
- A kezelői felületen látható bizalmi százalékot összekeverjük a teljes rendszer pontosságával
- A modellt csak néhány látványos példán teszteljük, valódi selejt- és zavaró eseteken nem
A rendszer integrációja
- PLC vagy Modbus jel indítja a kép készítését, a rendszer pedig BUSY, DONE, OK vagy ERROR állapotot ad vissza
- MQTT üzenet továbbítja a felismert objektum nevét, darabszámát és azonosítóját
- adatbázis tárolja az időpontot, a terméktípust, az eredményt és szükség esetén a bizonyító képet
- a kezelői felület megjeleníti a kereteket, a bizalmi értékeket és a döntés okát
- a hibás esetek külön gyűjthetők a következő tanítási ciklushoz
Helyi vagy felhőalapú feldolgozás
A betanítás és a napi felismerés nem feltétlenül ugyanazon az eszközön történik. A tanítás erősebb GPU-t igényelhet, míg a kész modell megfelelő optimalizálással CPU-n, ipari PC-n, GPU-s edge eszközön vagy más gyorsítón is futtatható. A hardvert mindig a szükséges képméret, képkockasebesség, modelltípus és válaszidő alapján kell méretezni.
Több száz terméktípus kezelése
Összegzés
A legjobb eredményt nem az adja, ha minél több epochot állítunk be, hanem ha a rendszer egészét együtt tervezzük: mit lát a kamera, milyen példákból tanul a modell, hogyan mérjük a hibákat, és milyen szabály alapján születik üzemi döntés. Így a képfelismerés nem látványos demonstráció marad, hanem ellenőrizhető és továbbfejleszthető gyártási megoldássá válik.
Ipari hardverek objektumfelismerő rendszerhez
Ipari kamera
A szükséges felbontást nem önmagában a megapixelszám alapján választjuk ki. A legkisebb felismerendő részletnek elegendő képpontból kell állnia. Ha például két alkatrész között csak egy kisméretű furat vagy rövid csatlakozó a különbség, a látómezőt és a felbontást ehhez a részlethez kell méretezni.
| Kamera jellemzője | Mikor fontos | Gyakorlati szempont |
|---|---|---|
| Global shutter | Mozgó tárgyak, szállítószalag, rövid expozíció | Csökkenti a mozgásból eredő geometriai torzulást |
| Nagyobb felbontás | Kisméretű részletek vagy nagy látómező | Több képpont jut az objektumra, de nő az adat- és számításigény |
| Monokróm szenzor | Ha a szín nem hordoz szükséges információt | Gyakran jobb fényérzékenységet és egyszerűbb megvilágítást tesz lehetővé |
| Színes szenzor | Ha a szín alapján kell osztályozni vagy hibát keresni | Stabil színhőmérsékletű világítás és fehéregyensúly szükséges |
| IP védettség vagy védőház | Poros, nedves vagy tisztítószeres környezet | A kamerát és a csatlakozókat is az üzemi környezethez kell választani |
Kamera Interfész
Az USB3 egyszerű és nagy adatsebességű kapcsolatot ad, de a kábelhossz és a csatlakozás mechanikai rögzítése nagyobb figyelmet igényel. Nagy felbontásnál és nagyon magas képkockasebességnél 5GigE, 10GigE vagy CoaXPress rendszer is indokolt lehet.
Objektív
- Fix fókusztávolságú C-mount objektív általános ipari felismerési feladatokhoz
- Kis torzítású objektív, ha a pozíció vagy a méret pontos meghatározása is szükséges
- Telecentrikus objektív precíz méréshez, amikor a perspektivikus méretváltozást minimalizálni kell
- Polarizációs szűrő fényes, zománcozott vagy fémes felületek zavaró csillanásának csökkentésére
Ipari megvilágítás
Gyors mozgásnál a rövid expozíció több fényt igényel. Ilyenkor a kamera triggerjelével szinkronizált, rövid idejű nagy intenzitású villanófény segíthet éles képet készíteni. A vezérlőnek biztosítania kell, hogy a fény minden felvételnél azonos időzítéssel kapcsoljon
Trigger, érzékelők és PLC kapcsolat
A kapcsolat megvalósítható digitális I/O-val, Modbus TCP-vel, OPC UA-val, Profinet- vagy EtherNet/IP átjáróval, illetve MQTT-alapú adatkapcsolattal.
Ipari PC és számítási gyorsító
| Hardverkategória | Jellemző feladat | Előny és korlát |
|---|---|---|
| Ipari PC csak CPU-val | Triggerelt, másodpercenként kevés ellenőrzés; kisebb YOLO modell | Egyszerű és költséghatékony, de nagy felbontásnál vagy több kameránál lassabb lehet |
| Integrált GPU vagy NPU | Közepes terhelés, energiahatékony helyi feldolgozás | Kompakt rendszer; a teljesítmény erősen függ a modelltől és a futtatókörnyezettől |
| Különálló GPU-s ipari PC | Több kamera, nagyobb modellek, folyamatos videó | Nagy teljesítmény, de több energia, hűtés és hely szükséges |
| Beágyazott edge AI eszköz | Gépbe épített, kompakt és alacsony fogyasztású rendszer | Jó teljesítmény fogyasztási arány; az exportálási és optimalizálási lehetőségeket előre ellenőrizni kell |
| Központi GPU szerver | Több gyártócella kiszolgálása vagy modellek tanítása | Nagy közös kapacitás, de hálózati függőséget és központi hibapontot hozhat létre |
Memória, háttértár és hálózat
Az operációs rendszer és az alkalmazás számára ipari SSD ajánlott. Ha minden vizsgálati képet megőrzünk, a tárhelyigény gyorsan megnőhet, ezért célszerű csak a hibás vagy bizonytalan eseteket, illetve mintavételezett képeket archiválni. A hálózati interfésznek kezelnie kell a kamerák összesített adatsebességét; több GigE kamera esetén külön hálózati kártya, dedikált switch vagy elkülönített kamerahálózat lehet szükséges
A rendszer integrációja
- PLC vagy Modbus jel indítja a kép készítését, a rendszer pedig BUSY, DONE, OK vagy ERROR állapotot ad vissza
- MQTT üzenet továbbítja a felismert objektum nevét, darabszámát és azonosítóját
- adatbázis tárolja az időpontot, a terméktípust, az eredményt és szükség esetén a bizonyító képet
- a kezelői felület megjeleníti a kereteket, a bizalmi értékeket és a döntés okát;
- a hibás esetek külön gyűjthetők a következő tanítási ciklushoz.
Mik a különbségek egy "hagyományos" Vision rendszerek és a mély tanulás alapú rendszerek között?
A hagyományos vision rendszer
YOLO-alapú rendszer
Melyik pontosabb?
A hagyományos vision rendszer előnyösebb:
A YOLO előnyösebb:
A legjobb ipari megoldás gyakran hibrid, a két technológia kombinációja. A két megoldás nem zárja ki egymást.