Mérföldkövek

1. Mérföldkő

Elméleti megközelítés kidolgozása, költségterv készítése, szakirodalom feldolgozása, algoritmusterv.

Rugóidomok vizsgálata elvégezhető sziluett és/vagy szegmentált képek alapján. Alap esetben a spirál rugóknak egyértelműen meghatározható a tengelye, valamint állandó a menetemelkedése is. Idővel elhasználódás során a húzó- vagy nyomó rugók elnyúlhatnak, eldeformálódhatnak.

Projektmunkánkban tollrugók különböző tulajdonságait vizsgáljuk meg. A tengelyt meghatározva kinyerjük a rugóban lévő elhajlások, görbületek nagyságát. Megadjuk, hogy mennyire egyenes a vizsgált rugó tengelye, azaz hány fokos elhajlás észlelhető benne. Az egyenetlen menetről, elnyúlásról a rugó spiráljában lévő cikkcakk mintázat szabálytalansága ad információt.



Képkészítés folyamata:

A perspektivikus torzítás kiküszöbölése végett telecentrikus objektívet használtunk a fényképek elkészítése során. A rugók sziluettjeinek kinyeréséhez egyenletes háttérvilágítású izzótestet alkalmaztunk, melyre ráhelyeztük a rugókat és egy milliméterpapírt azért, hogy pontos méréseket is tudjunk végezni a deformálódásokkal kapcsolatban. A fotókat JAI CB-140 típusú ipari kamerával és Edmund 56675 telecentrikus objektív kombinációjával készítettük el. Utóbbi konstrukcióra részletesen kitérek, de előbb tekintsük meg a 2.1. ábrát, melyen egy minta felvétel látható egy tollrugóról és a mellette lévő milliméterpapírról.

Ipari képi mérések végzésekor nagyon fontos, hogy magas kontrasztú, alacsony torzítású felvételeket tudjunk készíteni, ezért minimalizálni kell a perspektívahatásból és a változó nagyításból eredő hibákat. Kulcsfontosságú megfelelő objektívet választani ilyen feladatokhoz. A telecentrikus optika minimalizálja, vagy akár teljesen kiiktatja ezeket a problémákat, így a legtöbb ipari képi méréshez ilyet használnak. Előnyös tulajdonságai közé tartoznak a következők:

Konstans nagyítás.

Mivel a telecentrikus optikák affin kameraként működnek (egy bizonyos tárgytávolság intervallumban), azaz párhuzamos vetítést hajtanak végre (tehát párhuzamosak a vetítősugaraik), így érzéketlenek a tárgytávolság változására. A 2.2. ábra illusztrálja a nagyítás tárgytávolságtól való függetlenségét. Ez arra jó, hogy pontatlanul (pl. gyártósoron) elhelyezett tárgyakról azonos méretű kép készülhessen.

Alacsony geometriai torzítás.

Elengedhetetlen pontos mérések végzéséhez. Telecentrikus optikáknál akár kalibrálás nélkül is kellően pontos felvételek készíthetők. Alapvetően a torzítás mértékét százalékban adjuk meg, mely megadja egy képpont középpontól való távolságának eltérését a torzításmentes képhez viszonítva. Például, ha egy képpont 495 pixelre van a középpontól az eredeti képen, de 500 pixelre kéne lennie torzításmentesen, akkor (495-500)/500 = -1% a torzítás mértéke. A negatív torzítást párna torzításnak, a pozitívat hordó torzításnak hívják, utalva a torzulás alakjára, melyet a 2.3. ábrán szemléltetünk.

2.3. ábra - Párna és hordó torzítás

Magas minőségű telecentrikus optikáknak alacsony, 0,1% körüli a torzítása, de van, hogy ez sem elég a pixelre pontos mérések elvégzéséhez. Ilyenkor kalibrációs mintát helyezve az optika elé szotfveresen korrigálható a hiba.

Perspektívahatás minimalizálása.

Erősen háromdimenziós tárgyak vizsgálatakor, melyek nem laposak hagyományos optikával a tárgy távolabbi pontjai kisebbeknek tűnnek, mint a közeliek. Rugók esetében is szembetűnő ez a hiba, méghozzá a rugó spiráljának mentén. Gyakorlatilag belelátunk a spirálba - a kép alján és tetején a spirál belső részére látunk rá, amit el szeretnénk kerülni, hiszen a rugó profilja érdekel bennünket. Egy másik példa a 2.4. ábrán látható, ahol egy hengert vizsgálva hagyományos optikával a henger belső falát is látjuk (bal oldal), ellenben telecentrikus optikával csak a peremét (jobb oldal). Ez a hatás a hagyományos optikáknál annak köszönhető, hogy az optikai tengelyre nézve “párhuzamos” információi a valóságnak megjelennek a szenzor síkjában. Ezzel szemben telecentrikus optikáknál nincs ilyen jelenség, az optikai tengellyel párhuzamos vonalak nem lesznek leképezve a szenzorra. A 2.5. ábrán látható a kétféle optika leképezése.

2.4. ábra - Hagyományos és telecentrikus optika perspektívája

Jó képfelbontás.

Az optikai feloldóképesség leírására az úgynevezett CTF (Contrast Transfer Function) rövidítést használják. Ennek mértékegysége az lp/mm, azaz vonalpár per milliméter, és a kontraszt megadására használják különböző térfrekvenciákon. A homályosság elkerülése érdekében olcsó szenzorok kis pixelmérete miatt fontos a jó optikai feloldóképesség. A telecentrikus optikák magas feloldóképessége miatt alkalmasak nagyfelbontású, kis pixelméretű szenzorok használatára.

Pontos éldetektálás.

Objektumokat háttérvilágítással fényképezve nehéz lehet az élek pontos detektálása, mert a háttér világos képpontjai rendszerint átfedésben vannak a tárgy sötét képpontjaival. Továbbá erősen háromdimenziós tárgyak esetében egy határeffektus még jobban limitálhatja a mérések pontosságát. Bizonyos beesési szögű sugarak esetén azok visszaverődhetnek a tárgyról a lencsébe, mely azokat úgy érzékeli, mintha a tárgy mögül érkeznének, kitakarva így a tárgy szélét. Ez az effektus a 2.6. ábrán látható. Telecentrikus optikáknál a kis apertúraméret miatt csak a közel páruhzamos visszavert sugarak léphetnek be a lencsén.

Képfeldolgozás folyamata:

A rugókról készült bmp formátumú színes képeket először át kell alakítani a további feldolgozáshoz alkalmas formájúra, hogy digitális képfeldolgozó algoritmusokkal releváns információt nyerhessünk ki róluk. Ennek a folyamatnak az elsődleges célja az, hogy a rugót leíró jellemzőket nyerjünk ki a képből, mint például a spirál sarokpontjainak helyzetét. A lépések a következők:

RGB kép szürkeárnyalatossá alakítása.

Az eredeti kép színinformációját elhagyjuk, mivel egyszerűbb színinformáció nélküli, szürkeárnyalatos képekkel dolgozni, valamint a geometriai információk kinyeréséhez elegendő a megfelelően binarizált adatok vizsgálata.

Bináris kép létrehozása a szürkeárnyalatosból.

Küszöböléssel binarizáljuk a szürkeárnyalatos képet, hogy következő lépésben végrehajtott éldetektálás jobb eredményt biztosítson. A küszöbölést elegendő egy küszöbértékkel elvégezni, mivel a bemeneti képünkön az előtér és a háttér értékei jól szeparáltak.

Éldetektálás.

Az éldetektálással a bináris képen megjelenő területek körvonalait határozzuk meg. Az eredmény egy bináris kép lesz. Az élkép előállításához általában bonyolult algoritmusok szükségesek, de esetünkben egy binarizált bemenet áll rendelkezésre. Az élek meghatározásához elég a 4 szomszédra és az adott pixelre alkalmazott vizsgálat, hogy eldöntsük, hogy élhez tartozik-e. Bár pontosságban elmarad a fejlett éldetektoroktól a bináris képeken is, a további feldolgozás nem érzékeny az eljárás által okozott hibákra.

Konkáv befoglaló alakzat meghatározása.

Meg szeretnénk határozni a rugó spirálját befoglaló alakzatot, mely ferde rugó esetén konkáv is lehet. Erre az alpha shape [2] eljárást vetjük be, melynek kimenete a konvex befoglaló burok általánosítása, mely a Delaunay-háromszögelés részgráfja. Az eljárást a következőképpen lehet elképzelni: vegyünk egy jó adag fagylaltot, mely az univerzumot alkotja, és pontokat tartalmaz, melyek legyenek csokidarabok. Most vegyünk egy adott méretű fagylaltadagoló kanalat, amivel vájjuk ki a fagylaltot a csokidarabok közül úgy, hogy egyiket sem érintjük. Így akár olyan fagylaltrészeket is kivájhatunk, melyek kívülről haladva nem érhetők el, tehát a ponthalmaz belső lyukait is eltávolíthatjuk. A 2.7. ábrán tekinthető meg az elképzelést segítő rajz. Itt az érték a kanál sugarának négyzete. Egy nagyon kicsi érték megengedi, hogy az összes fagylaltot megegyük, csupán a csokidarabokat hátrahagyva, míg egy nagyon nagy érték hatására alig tudjuk megmozdítani kanalunkat két csokidarab között, így nem fogunk fagylaltot kivájni a befoglaló burkon belülről. Tehát az 0 esetben magát a ponthalmazt, míg az esetben magát a konvex burkot kapjuk meg. Ha kiegyenesítjük a “kerek” oldallapokat háromszögekké és egyenes szegmensekké, akkor megkapjuk az alfa alakzat intuitív leírását.

Rugóidom vetületének sarokpontjainak megállapítása az alfa alakzat alapján.

Az alfa alakzat kerülete azokat a pontokat fogja tartalmazni, melyek rugóidom határán helyezkednek el. Ebből klaszterezéssel kiválaszthatók azok a csomópontok, melyek a rugó spiráljának vetületéhez tartoznak, és velük jellemezhető a vetület cikcakk mintázata.

Ezután a kinyert információn elkezdhetünk számításokat végezni, melyekkel a rugó tengelyét és menetemelkedését állapítjuk meg.

Számítások képi adatokon:

A sarokpontok alapján felépíthető az eredeti cikcakk minta egyszerűsített változata, mely alapján a tengely háromszögek vizsgálatával meghatározható. Lényegében egy rugó szegmens alatt a spirál vetületének azon részét értjük, mely egy háromszöget határoz meg a rugó menetében, tehát a legkisebb egysége a menetnek. Ezeknek a rugó szegmenseknek vizsgáljuk a három csúcspontját. Az egyik oldalon lévő két pont felezőjét összekötjük a szemben lévő egyedüli csúcsponttal, majd vesszük a létrejövő egyenes szegmens felezőpontját. Ezt végrehajtva minden rugó szegmensre megkapjuk a tengelyt, és a menetemelkedésről is lesz információnk. Ezután már különböző mérőszámok adhatók a rugó tengelyének ferdeségére és menetemelkedésének egyenetlenségére.

Rugók meghatározott tulajdonságai:

A tengelyre vonatkozóan megadjuk a hosszt, hogy hány fokos, és hol van a rugóban lévő legnagyobb elhajlás két spirálszegmens között, valamint hogy hány fokos a rugó alja és teteje közötti teljes tengelybeli elferdülés. A menetemelkedésre is hasonló attribútumokat határozunk meg. Megadjuk az átlagos menetemelkedést, a szegmensek közötti szórást, a legnagyobb eltérést és annak helyét is.

Felhasznált eszközök:

Eszköz Típus Ár
Kamera JAI CB-140 GE 465 000 Ft
Telecentrikus optika Edmund 56675 81 000 Ft
Állvány 391RC2 15 000 Ft
Tripod - ~40 000 Ft
Háttérvilágítás - ~15 000 Ft
MATLAB r2016b (MATLAB + Image Processing Toolbox) 70 000 Ft

Összesen: ~686 000 Ft.

A képek elkészítéséhez a JAI CB-140 GE típusú ipari kamerát, valamint az erre csatlakoztatható Edmund 56675 telecentrikus optikát használtuk. A fehér háttérvilágításra azért volt szükség mert sziluett képeket szerettünk volna készíteni. A telecentrikus optikára a torzítások elkerülése végett volt szükség, így a távolságok és a rugó deformációja a képen is mérhető marad, szemben egy hagyományos optika segítségével elkészített kép esetében, melyen elkerülhetetlenül ott lesznek a perspektíva hibák.

A deformáció méréséhez szükséges algoritmusokat MATLAB-ban fogjuk implementálni. Azért döntöttünk a MATLAB használata mellett, mert ebben már vannak korábbi ismereteink, így gyorsabban halad a fejlesztés mintha OpenCV-ben kezdtük volna el, valamint az Image Processing Toolbox rengeteg előre implementált funkcióval rendelkezik (pl.: az alpha shape algoritmus nincs megvalósítva OpenCV-ben de MATLAB-ban igen)