iris recognition
Képfeldolgozás Firtha Ferenc, BCE, Fizika
A katonai UFO-felismeréstől …
Character Recognition
a hétköznapig: felbontás: 1384x1034 nettó 4km/h túllépésnél: 2 fillér/pixel 30 ezer forint
1. Színmérés: milyennek látjuk?
kontakt optikai: RGB színinger
2. Képfeldolgozás: hol?
THE 007, 228, 20111130 távérzékelés + adatredukció: szegmentálás, szín, alak, mintázat
3. Spektroszkópia: mi?
kontakt mérés + statisztikai modell: NIR reflexió -> víz, zsír, olaj, fehérje,…
4. Spektrális képfeldolgozás: hol, mi?
távmérés+analízis -> multispektrális alkalmazás ásványok, parlagfű, gyógyszer, élelmiszer
Képfeldolgozás Az optikai mérések o roncsolás-mentesek, o érintés-mentesek, o gyorsak A színmérés o csak az adott felület átlagos színét méri
Miért képfeldolgozás? ü a felület nem homogén ü objektum távol van Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
ü alakleírás, mintázat leírása a cél Eredmény:
szín, alak, mintázat
Néhány képfeldolgozási példa: 1. Szegmentálás
Sérülések detektálása gyümölcsön, zöldségen
2. Színmérés:
3
4
5
6
2
7
1
8
Kajszi színváltozása az Lab síkon az érés folyamán
3. Alak
‘002’
‘270’
‘369’
‘005’
‘190’
‘640’
Fajtaazonosítás is történhet a szín és alak alapján
‘017’
‘336’
‘701’
Még a 3D alak is becsülhető több kamerával, vagy ügyesen választott megvilágítással
4. Mintázat
Csoki mikroszkóp-fevétele: kakaó, kakaóvaj, cukor és tej
Kenyér porozitásának leírása a lyukak detektálásával
Hogyan? Méréselrendezés + adatredukciós algoritmus HARDVER:
Setup:
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
Képfelvételi eszközök példái 1. video camera • BW / Color • Live imaging Ø On-line application Ø Robot sensing 2. photo camera • still images • higher resolution • documentation, archivation 3. scanner precise recording of flat surfaces 4. line-scan camera continuous recording, on-line application 5. NIR-camera quality assessment (water, sugar)
Képfeldolgozás alapvető lépései Digitális kép átvitele számítógépre Előfeldolgozás • képtartomány (ROI: region of interrest) kiválasztása (pl. menetek 10000 ford/p) • képjavítás: zoom, kontraszt, tükrözések, invertálás (pl. endoszkópos alkalmazás) Szegmentálás 1. Objektum képpontjainak kiválasztása -> objektum mérete (pixelek száma) További képjellemzők számítása 2. Színmérés 3. Körvonal meghatározása. Alakleírás: hossz, szélesség, speficikus jellemzők 4. Mintázat leírása: általában célalgoritmussal Mi a képfeldolgozás?
ADATREDUKCIÓ: látható jellemző leírása pár számmal
Szegmentálás Küszöbölési technikák
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
Klaszterezés
Élkeresés, élnövesztés
1.a. Szegmentálás küszöböléssel Szegmentálás az intenzitás (I=R+G+B, a sárga egyenesre való vetület) alapján:
mintakép
RGB kocka
histogram, küszöb
A hisztogramon a háttér és az objektum csúcsai között, a minimum-helyen választjuk a küszöböt (threshold). Az ennél világosabb pontokat tekintjük az objektum pontjainak.
object background
Adott esetben, más egyenes vetülete, hatékonyabban választ el. Ennek irányát manuálisan lehet megadni. Így az intenzitás: I = d rR + d g G + d b B = d ∙ c
Minden, amit tudni akartál a statisztikáról összeg: szorzat-összeg:
X = å xi XX = å xi × xi
Egy-vált: átlag (mean):
Mx = X n
eltérés-szorzatösszeg (SQ product-moment): xx = XX szórás (standard deviation): s x = szórásnégyzet (variance):
å (x - M ) i
i
n
s2
xx n
sx =
xx n -1 ~ s = x n
becsült szórás (standard error):
~ sx =
átlag becsült szórása:
sMx
konfidencia intervallum (confidence interval):
M x ± sMx xy n xy rxy = xx × yy q xy =
Több-vált: kovariancia (covariance): korrelációs együttható: determinációs együttható: r2 lineáris regresszió: y = ax+b
a=
X ×X n
xy xx
n dimenzió esetén n-ismeretlenes egyenletrendszer megoldása
b = My -a×Mx
XY = å xi × yi
xy = XY -
X ×Y n
Küszöbölés javítása színstatisztika alapján background
object kovariancia-mátrix -> d vetítés-> intenzitás:
in vivo alkalmazás
I := d ∙ c
pl. napraforgó magok szegmentálására: d = {-1, 0, 1}
1.b. Szegmentálás klaszterezéssel • Kalibráció: Egérrel kijelölünk mintafelületeket az objektumra és a háttérre is. Egy-egy ilyen osztály középpontját átlagolással számoljuk. • Klaszterezés: adott pont középpontoktól való távolsága, vagy szöge alapján döntjük el, melyik csoporthoz tartozik. ß RGB kocka eredmény à amikor a szög alapján jobb szegmentálni
1.c. Szegmentálás élkeresés alapján Lépései 1. Élkeresés (edge-detection) 2. Élnövesztés (edge-growing) 1. Élkeresés: Laplace operátor, Soebel, Roberts, Best plane, stb. Hibrid algoritmus: • Gradient • Non-maxima suppression • Nevatia-Babu à
2. Élnövesztés példája: egyenes keresése a Hough transzformáció terében
Nincs „világegyenlet megoldása”, csak speciális megoldás, adott célfeladatra
Szegmentálás javítása, körvonal simítása, színstatisztika 1. Festő-algoritmus: egymás melletti pixelek azonosítása, mint objektum 2. Zaj-szűrés: túl kis szigeteket a környező tartományhoz soroljuk.
3. Körvonal simítása morfologiai operátorral • • Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
nyitás (opening= erosion + dilation) törli a csücsköket, pl. a szárat zárás (closing = dilation + erosion) törli az öblöket
ImgPro célszoftver (FF 1995-, nyelv: C-Assembly) •Olvasás videó eszközről •Előfeldolgozás •Szegmentálás,színstatisztika •Alakleírás: Fourier transzformáció
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
További operátorok… A képfeldolgozás hőskorában mindent fel kellett programozni: • DOS alatt a grafikát, az egeret, a video eszközök elérését, mindent • Win31 alatt, a nagyméretű képek kezelését • Windows alatt a képek feldolgozásának összes lépését, a modulok közti adatcsere protokolját Nem léteztek szabadon elérhető képfeldolgozó rutin-könyvtárak….
XXI.sz: MATLAB program-csomag Cél: adott kezelések gyökértömegre gyakorolt hatását mérni közvetlen tömegméréssel és in-vivo impedancia méréssel. Részfeladat: tömeg becslése gyors, optikai méréssel. Gyökér színe piros+zöld, ezért kék alapon szkenneltünk. Megoldás:
3 sorban:
im=imread('gyök137.jpg'); % open image R = im(:,:,1); BW = im2bw(R); BW = medfilt2(BW,[2 2]);
% use Red channel % thresholding % remove Salt&Pepper noise
msgbox(num2str( nnz(BW) )); imwrite(BW,'gyök0137_out.jpg');
Eredmény 6 sorban
% number of pixel % save result
2. Színmérés feltételei: stabilitás, etalonok, görbület hatása CIE konverzió alapjai: 1. Stabilitás: • Algoritmus a pixel-fluktuáció kezelésére à RGB szórás a Gray etalonra : 3,20–1,59–2,10 • Algoritmus a kalibráció vezérlésére à RGB szórás a 3 RGB etalonra, 22 hétre: 3,60–2,89–3,25 2. Etalonok (standards): • RGB tér kifeszítése • Mért tartományban minták • Intnz. szórásának kezelése à Eredmény: RGB -> XYZ konverzió 16 etalonra R2=0.97 3. Görbült felület: hogyan függ a mért jel a beesés- és visszaverődés szögétől
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
Fénynyalábbal megvilágított felületet, különböző irányból mérjük
Görbült felület hatása a mért RGB jelre Fejlesztett méréselrendezés, forgózsámoly, szoftver a görbület hatásának mérésére.
Izolált környezetben megvilágítás fénysugárral
A felület a középpontban, objektum és kamera forgatva
Terület szegmentálása küszöböléssel
Tipikus reflexiós viselkedések
kaliforniai paprika: BG:tükör, R:diffúz
dió: beesőtől függ
barack: nézettől függ (ezüst szőrök)
3. Alakleírás
• Körvonal pontjainak felsorolása • Súlypont számítása és áttérés polár koordináta-rendszerbe
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
• Resampling 2n adatra lineáris interpolációval (Fourier transzformáció igényli) • Alakleírás:
a) Általános FFT-vel (pl automatizáláshoz) b) Specifikus (pl. szakértői rendszerhez) c) Morfológiai (pl. fajta-azonosításhoz)
3.a. Fourier transzformáció Folytonos jel adott perióduson előállítható többszörös frekvenciájú szinuszok és koszinuszok különböző amplitúdójú összegeként.
Időtartomány
ßà Frekvenciatartomány folytonos Fourier sor n
f (t ) = a0 + å ( ak × cos(kw × t ) + bk × sin( kw × t )) 1 a0 = T
T
k =1
ò f (t )dt 0
T
2 ak = ò f (t ) cos kwt × dt T 0
amplitúdó-eltolással
T
2 bk = ò f (t ) sin kwt × dt T 0
cos(a + b ) = cos a × cos b - sin a × sin b
A × cos(j + kw × t ) = ( A × cos j ) × cos kw × t + (- A × sin j ) × sin kw × t b j k = - arctg k Ak = ak2 + bk2 ak n
f (t ) = A0 + å Ak × cos( kw × t + j i ) k =1
Euler-képlettel, ez a komplex exponenciális valós része: n
e = cos x + i × sin x ix
f (t ) = A0 + å Ak × e i ( kw ×t +ji ) k =1
A transzformáció invertálható, pl. egyes frekvenciák (pl. zajok) szűrése után visszaalakítható. Diszkrét Fourier Transzformáció (DFT): véges minta transzformálása Fast Fourier Transzformáció (FFT): DFT gyors algoritmusa 2n mintaszám esetére
3.a. Szimmetriák leírása Fourier együtthatókkal A körvonal súlypontra vonatkoztatott r(α) polár koordinátáit transzformálva a Fourier térbe (mint hangból a spektrum), az a amplitúdói és a φ eltolásai a különböző hullámhosszaknak, jellemzik a 2D alak szimmetriáit: polár: a0 : átlagos sugár
xy:
a3
a1: súlypont excentricitása
a4
a2: ellipszoid (major- / minor tengely) φ2: főtengely szöge
a25
polár:
xy:
3.b. Alak közelítése célfüggvény illesztésével Szakértői rendszerek az értelmezhető paramétereket preferálják. Egy megfelelő célfüggvény n paraméterét legkisebb négyzetek módszerével (LSE), regresszióval illeszthetjük a körvonal pontjaira. Hagymafajták azonosítása 12 paraméteres függvény-szekvenciával valósítható meg: • konstans • exponenciális • koszinusz • koszinusz • exponenciális • konstans + 3 paraméter a tengely asszimmetriájára
Visszatérve a hagyma alakjának 12 paraméteres közelítésére: MSE: 1,13 – 2,42 px2 avr. error: 0,21 – 0,31 mm
Intermezzo: 3D grafika és a világítástechnika? Star wars (‘77), PC (‘86), hagyma (‘95)
3D rendering
3.c: Strukturális leírás: mesterséges görbékkel való közelítés Elsőként autótervezésben használták. Az alappontok meghatározása után mesterséges görbéket kell illeszteni a körvonalra. Ilyenek: Lagrange int, Bezier regr, Spline int, … A töréspontokat a strukturális elemzés adja. 5 pontos regresszió és interpoláció:
Bezier regresszió Alkalmazás a hagyma alakon:
cubic spline interpoláció
Cubic spline közelítés: MSE: 1,31 – 3,16 px2 avr. error: 0,23 – 0,35 mm
3.c: Morfológia: Struktúra, görbült tengely A természetes objektumok gyakran tengelyes szimmetriájúak, nem polárisak (lásd levél, banán, uborka, …). Ez a tengely viszont szinte mindig görbült. Az algoritmusnak kezelni kell, hogy a két oldalon a részletek mások, ezért a körvonalakon az úthossz különbözik. Stanislav Barton-nal (Czech, Brno) kifejlesztett algoritmusunk minimalizálja a tengely görbületét.
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
2. Bordák nem keresztezik egymást
1. Fourier közelítés (n<=10)
3. közelítés eredménye
Természetes objektumok görbült topológiájának példája
4: Mintázat: Transzformálás polár koordinátákra Borland C++ (FF, 2004)
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
4: Mintázat: Kenyér porozitás (FF, 2006) Borland C++
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
4: Mintázat: Kenyér porozitás (FF, 2009) küszöböléssel (Matlab 11 sor): fname = 'kenyer1.jpg'; I= imread(fname); I = rgb2gray(I); I = imadjust(I);
% convert to grayscale % increases the contrast of grayscale image.
imhist(I); level = graythresh(I); % get threshold using Otsu's method bw = im2bw(I,level); % Convert grayscale image to binary image bw = bwareaopen(bw, 50); % remove small objects (50px) GLCM2 = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM2,{'contrast','homogeneity','energy','correlation'}); e = entropy(I);
4: Mintázat: Hús márványosság (FF, 2011) szegmentálás 8 paraméter ~ szakértői vél. PLS / neuron à becslés
Képfeldolgozás • hardver Szegmentálás • küszöb, klaszter, él • korrekció, szoftverek Színmérés feltételei • stabil, kalibrálás, 3D Alakleírás • Fourier, célfv, spline • görbült topológia Mintázat • kenyér, hús
Képfeldolgozás után köv: a spektrális képalkotás