• Rezultati Niso Bili Najdeni

Identifikacija pomikov iz slik na podlagi fazne informacije pridobljene z valˇ cno

N/A
N/A
Protected

Academic year: 2022

Share "Identifikacija pomikov iz slik na podlagi fazne informacije pridobljene z valˇ cno"

Copied!
44
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI Fakulteta za strojniˇstvo

Identifikacija pomikov iz slik na podlagi fazne informacije pridobljene z valˇ cno

transformacijo

Zakljuˇ cna naloga Univerzitetnega ˇstudijskega programa I. stopnje Strojniˇstvo - Razvojno raziskovalni program

Sara Ravnik

(2)
(3)

UNIVERZA V LJUBLJANI Fakulteta za strojniˇstvo

Identifikacija pomikov iz slik na podlagi fazne informacije pridobljene z valˇ cno

transformacijo

Zakljuˇ cna naloga Univerzitetnega ˇstudijskega programa I. stopnje Strojniˇstvo - Razvojno raziskovalni program

Sara Ravnik

Mentor: prof. dr. Janko Slaviˇ c, univ. dipl. inˇ z.

(4)
(5)

Zahvala

Iskreno se zahvaljujem svojemu mentorju prof. dr. Janku Slaviˇcu za podporo, za- upanje, potrpeˇzljivost in stalno pripravljenost za nasvete in smernice. Prav tako se zahvaljujem asistentu Domnu Gorjupu za pomoˇc ter laboratoriju LADISK in Fakulteti za strojniˇstvo, ki sta mi ogomoˇcila raziskovalno delo in neprecenjivo izkuˇsnjo dela v takem laboratorju. Navsezadnje gre zahvala moji druˇzini za veˇcni obˇcutek, da je vse mogoˇce.

(6)
(7)

Izvleˇ cek

UDK 534.1:517.443:004.932(043.2) Tek. ˇstev.: UN I/1573

Identifikacija pomikov iz slik na podlagi fazne informacije pri- dobljene z valˇ cno transformacijo

Sara Ravnik

Kljuˇcne besede: valˇcna transformacija kompleksna faza pomiki

korelacja obdelava slik

V tem delu je obravnavana metoda za identifikacijo pomikov iz zaporedja slik na pod- lagi fazne informacije. Predstavljene so ˇze poznane metode za iskanje pomikov in njihove glavne znaˇcilnosti. Opisana je valˇcna transformacija in zanjo izdelana koda v programskem jeziku Python, poenostavljena preko konvolucije in razˇsirjena tako, da omogoˇca identifikacijo pomikov z amplitudami, niˇzjimi od enega slikovnega elementa.

Ta koda je v povezavi s korelacijo uporabljena za izraˇcun pomikov; najprej na enodi- menzijskem signalu, potem na sintetiˇcnem zaporedju slik zgolj v eni smeri in v obeh smereh na realnem posnetku, pridobljenem s hitro kamero. Prav tako je raziskan vpliv ˇsuma na uˇcinkovitost metode, opisane moˇzne teˇzave, ki se lahko pri uporabi metode pojavijo, in moˇznosti nadaljnega razvoja.

(8)

Abstract

UDC 534.1:517.443:004.932(043.2) No.: UN I/1573

Image based displacement identification using phase informa- tion obtained by continuous wavelet transform

Sara Ravnik

Key words: continuous wavelet transform complex phase

displacement correlation image processing

This work discusses a method for image based displacement identification based on spatial phase information. Some already known techniques and their properties are presented. Continuous wavelet transform is described, the code for its computation is written in the Python programming language, simplified with the use of convolution and further advanced for sub-pixel accuracy of the displacement identification. This function, together with the correlation method is then used for displacement calcula- tion; firstly, for a one dimensional signal and afterwards on a series of images, both synthetic and filmed with a high-speed camera. The influence of noise was researched, possible difficulties and further progress were described.

vi

(9)

Kazalo

Kazalo slik . . . ix

Kazalo preglednic . . . x

Seznam uporabljenih simbolov . . . xi

Seznam uporabljenih okrajˇsav . . . xii

1 Uvod . . . 1

1.1 Ozadje problema . . . 1

1.2 Cilji naloge . . . 2

2 Teoretiˇcne osnove . . . 3

2.1 Valˇcna transformacija . . . 3

2.1.1 Gaborjev valˇcek . . . 4

2.1.2 Skalogram in fazna informacija . . . 6

2.2 Konvolucija . . . 8

2.2.1 Fourierova transformacija . . . 8

2.2.2 Konvolucija s Fourierovo transformacijo . . . 8

2.3 Korelacija . . . 9

2.4 Osnove obdelav slik . . . 9

2.5 Identifikacija pomikov . . . 9

2.5.1 Identifikacija pomikov iz fazne informacije . . . 10

3 Identifikacija pomikov z valˇcno transformacijo . . . 12

3.1 Koda za valˇcno transformacijo . . . 12

3.2 Identifikacija pomikov na enodimenzijskem signalu . . . 15

3.3 Primerjava identifikacije pri razliˇcnih nivojih ˇsuma . . . 16

3.4 Identifikacija pomikov na dvodimenzijskem signalu . . . 16

3.4.1 Sintetiˇcni eksperiment . . . 17

(10)

4 Rezultati . . . 20

4.1 Rezultati identifikacije na 1D signalu . . . 20

4.2 Rezultati sintetiˇcnega eksperimenta . . . 21

4.3 Rezultati realnega eksperimenta . . . 22

5 Diskusija . . . 24

5.1 Diskusija identifikacije na 1D signalu . . . 24

5.2 Diskusija sintetiˇcnega eksperimenta . . . 24

5.3 Diskusija realnega eksperimenta . . . 25

6 Zakljuˇcki . . . 26

Literatura . . . 28

viii

(11)

Kazalo slik

Slika 2.1: Prikaz Gaussovega okna pri razliˇcnih vrednostihσ. . . 4 Slika 2.2: Prikaz Gaborjevega valˇcka v obliki realne in imaginarne komponente. 5 Slika 2.3: Prikaz realne komponente Gaborjevega valˇcka pri razliˇcnih vredno-

stih η. . . 5 Slika 2.4: Prikaz realne komponente osnovnega in skaliranega ter premaknje-

nega Gaborjevega valˇcka. . . 6 Slika 2.5: Prikaz realne in imaginarne komponente skaliranega ter premaknje-

nega Gaborjevega valˇcka ter njegove konjugirane verzije. . . 6 Slika 2.6: Prikaz poljubnega signala. . . 7 Slika 2.7: Normiran skalogram (levo) in kompleksna faza (desno) valˇcne trans-

formacije signala, ki je prikazan v 2.6. . . 7 Slika 2.8: Pomik signala in posledniˇcno pomik fazne informacije. . . 11 Slika 3.1: Fazna informacija pridobljena prek osnovne enaˇcbe valˇcne transfor-

macije (levo) ter enaˇcbe valˇcne transformacije s konvolucijo (desno). 14 Slika 3.2: Prikaz poljubnega signala in njegove premaknjene verzije (levo) ter

enak signal prikazan v slikovni obliki (desno). . . 15 Slika 3.3: Prikaz poljubnega signala in njegove premaknjene verzije s ˇsumom. 16 Slika 3.4: Slika (levo) ter njena umetno premaknjena verzija (desno). . . 17 Slika 3.5: Vrednosti generiranih pomikov. . . 18 Slika 3.6: Slika z realnega posnetka (levo) ter njena premaknjena verzija (desno). 19 Slika 4.1: Izraˇcunani pomiki ter napake glede na realne pomike. . . 20 Slika 4.2: Napake glede na realne pomike pri razliˇcnih nivojih ˇsuma. . . 21 Slika 4.3: Izraˇcunani pomiki glede na realne pomike pri dveh razliˇcnih poljih

pomikov (3.5, manjˇsi levo, veˇcji desno). . . 22 Slika 4.4: Napake glede na realne pomike pri dveh razliˇcnih poljih pomikov

(3.5, manjˇsi levo, veˇcji desno). . . 22 Slika 4.5: Izraˇcunani in realni pomiki vx (levo) in y smeri (desno). . . 23 Slika 4.6: Napake glede na realne pomike v x (levo) in y smeri (desno). . . 23

(12)

Kazalo preglednic

Preglednica 4.1: Standardne deviacije napak pomikov razliˇcnih kod za valˇcno transformacijo. . . 21 Preglednica 4.2: Standardne deviacije napak pomikov pri razliˇcnih nivojih

ˇsuma. . . 21 Preglednica 4.3: Standardni deviaciji pri razliˇcnih velikostih pomikov. . . 22

x

(13)

Seznam uporabljenih simbolov

Oznaka Enota Pomen

a(), b() / poljubna funkcija

A(), B() / Fourierova transformacija poljubne funkcije f / prostorska frekvenca (ang. spatial frequency)

g() / Gaussovo okno

P / skalogram

s / faktor skaliranja

t s ˇcas

u / premik

w() / korelacija

W / valˇcna transformacija

y,x / prostorska koordinata

h(), H() / konvolucija in njena Fourierova transformacija

η / parameter Gaborjevega valˇcka

Φ / kompleksna faza

ψ() / funkcija valˇcka

σ / parameter Gaussovega okna, standardna deviacija

Indeksi

s skaliran s faktorjem s u premaknjen za vrednost u W valˇcne transformacije

(14)

Seznam uporabljenih okrajˇ sav

Okrajˇsava Pomen

2D dvodimenzionalno

3D trodimenzionalno

DIC korelacija digitalnih slik (ang. digital image correlation)

xii

(15)

1 Uvod

V svetu se sreˇcamo z mnogimi primeri gibanja, ki so skriti prostemu oˇcesu, vendar imajo velik vpliv na opazovan objekt ali konstrukcijo. Le-to dejstvo pojasnjuje aktivno iskanje metod za merjenje pomikov. Zaradi neˇzelenih vplivov nekaterih kontaktnih tehnik merjenja na podatke, ki jih ˇzelimo izluˇsˇciti, so v porastu nekontaktne metode, kot so komputacija optiˇcnega toka (ang. optical flow) iz posnetkov, po navadi pridobljenih s hitro kamero. Glavni problemi se pri obdelavi slik v ˇcasovnem zaporedju pojavi pri zaˇsumljenosti podatkov, spremembah v osvetljenosti posameznih sledeˇcih si posnetkov ter omejitvi podatkov na doloˇceno ˇstevilo slikovnih elementov (ang. pixels). Ker se iskani pomiki nahajajo na skalah manjˇsih od velikosti slikovnega elementa, moramo torej poiskati uˇcinkovito metodo za izraˇcun le-teh.

1.1 Ozadje problema

Identifikacija pomikov iz slik je pridobivanje dvodimenzionalnega polja pomikov, ki predstavlja projekcije pomikov toˇck povrˇsine v trodimenzinalnem prostoru na ravnino slike [1]. Le-ta nam lahko predstavlja kljuˇcno informacijo o trajektorijah razliˇcnih objektov, mejah objekta [2], vibracijah [3, 4] ter omogoˇca modalno analizo, torej pri- dobivanje podatkov o lastnih frekvencah, duˇsenju, modalnih konstantah [5].

Zaradi pomembnosti omenjenih dinamskih pojavov in potrebe po raziskovanju pojavov, ki so prostem oˇcesu nevidni [6], so se tekom zadnjega stoletja pojavile mnoge razliˇcne metode za obdelavo vrste slik. Eden izmed glavnih razlogov za porast uporabe le-teh, je tudi v problematiki ostalih metod; s klasiˇcnimi pospeˇskomeri lahko pomike merimo le v omejenem ˇstevilu toˇck, njihova dodatna teˇza lahko znatno vpliva na razultate pri laˇzjih stukturah [4, 7], pri skenirnih laserskih vibrometrih pa lahko pomike merimo le v eni toˇcki naenkrat in se nam zatorej pojavi problematika ponovitev poskusa za izdelo- vanje ˇsirˇse mreˇze meritev [4, 5]. Glavna prednost identifikacije pomikov iz slik je torej istoˇcasna meritev v veˇcjem ˇstevilu toˇck, pri ˇcemer lahko z izraˇcunom relacije med ve- likostjo slikovnega elementa in dimenzijami relanega predmeta opazovanja, ugotovimo realne iskane premike in hitrosti [3].

(16)

Uvod

1.2 Cilji naloge

Namen zakljuˇcnega dela je v programskem jeziku Python izdelati funkcijo ali nabor funkcij za identifikacijo pomikov. Pri tem ˇzelimo, da je podlaga za izraˇcun fazna in- formacija pridobljena z valˇcno transformacijo. Doseˇci ˇzelimo natanˇcnost pod nivojem slikovnega elementa, da bo identifikacija primerna tudi za opazovanje manjˇsih pomikov.

Najprej bomo za obˇcutek naredili pregled trenutnega stanja in ˇze obstojeˇcih metod za identifikacijo pomikov. Celotno teorijo bomo zaradi laˇzje predstave naredili na enodi- menzijskem signalu, ki se spreminja v ˇcasu, kodo pa potem razˇsirili za eno dimenzijo, da bo primerna za uporabo na zaporedju slik. Za vrednotenje zmogljivosti izbrane me- tode, bomo njeno toˇcnost preverili na sintetiˇcnem poskusu s sintetiˇcno pridobljenimi slikami in realnimi slikami, na enodimenzionalnem posnetku bomo raziskali tudi vpliv ˇsuma na napake, ki se pojavljajo. Poskuˇsali bomo identificirati razloge za razlike med izraˇcunanimi in pravimi pomiki in se dotaknili moˇznosti nadalje uporabe ter izboljˇsave narejenega dela.

Cilji naloge so torej:

– seznanjanje z ostojeˇcimi metodami za identifikacijo pomikov iz slik in njihovimi la- sntostmi,

– identifikacija pomikov na enodimenzijskem signalu, – primerjava identifikacije pri razliˇcnih nivojih ˇsuma, – identifikacija pomikov iz slik,

– poskus na zaporedju slik s sintetiˇcno generiranimi pomiki, – poskus na realnih slikah, posnetimi z hitro kamero.

2

(17)

2 Teoretiˇ cne osnove

2.1 Valˇ cna transformacija

Valˇcna transformacija je matematiˇcna operacija, ki omogoˇca predstavitev signala v ˇcasovni in frekvenˇcni domeni naenkrat, kar je izredno uporabno za obdelavo signalov, ki se jim frekvenca spreminja v ˇcasu [8]. Ker je namen naˇse naloge obdelava slik, bomo tekom dela govorili o signalih v prostoru (vxiny-smeri) ter njihovih prostorskih frekvencah (ang. spatial frequency). Valˇcna transformacija se v sploˇsnem uporablja pri mnogih izraˇcunih in aplikacijah, kot so prenos signalov [8], identifikacija duˇsenja pri mehanskih vibracijah [9], kompresija slik [10], ojaˇcanje pomikov [6] in podobno [11].

Teorija valˇcne transformacije bo zaradi laˇzje predstave prikazana na enodimenzional- nem signalu v prostoru. Dve glavni lastnosti valˇckov, t.j. funkcij, s katerimi izvajamo valˇcno transformacijo, sta, da je njihova povpreˇcna vrednost enaka niˇc, integral kva- drata pa enak 1 [12], kar je prikazano v spodnjih dveh enaˇcbah:

∫︂

−∞

ψ(x) dx = 0, (2.1)

∫︂

−∞

ψ2(x) dx = 1. (2.2)

Enaˇcbo valˇcne transformacije lahko zapiˇsemo kot notranji produkt valˇcka in obravnvane funkcijea(x) [13]:

W a(u, s) = ⟨a, ψu,s⟩ =

∫︂

−∞

a(x) 1

√sψ

(︃x−u s

)︃

dx, (2.3)

pri ˇcemer ψu,s(x) = 1

√sψ

(︃x−u s

)︃

(2.4) predstavlja osnovni valˇcek (ang. mother wavelet) skaliran s faktorjems in premaknjen za vrednost u. Obe zgoraj navedeni lastnosti (2.1) in (2.2) veljata za celotno druˇzino

(18)

Teoretiˇcne osnove

2.1.1 Gaborjev valˇ cek

Obstaja veˇc vrst frekvenˇcno-prostorskih filtrov, ki ustrezajo naˇsim lastnostim, kot so opisane v poglavju 2.1, obstaja tudi veˇc vrst valˇckov [12, 13]: Morletov, Haarov in drugi, ki so primerni za razliˇcne aplikacije [9, 10]. Enega izmed njih, ki bo uporabljen tudi v naˇsem delu, je leta 1944 opisal Gabor [8]. Gre za harmoniˇcni signal oknjen z Gaussovo funkcijo, ki je sledeˇca [13]:

g(x) = 1

2π)1/4ex

2

2 . (2.5)

Gaussovo okno je prikazano spodaj, na sliki 2.1 lahko opazimo tudi vpliv parametra σ, ki predstavlja standradno deviacijo, na ˇsirino okna; viˇsjo vrednost kot ima, ˇsirˇse je okno.

10 5 0 5 10

x 0.0

0.2 0.4 0.6

g(x)

Okno pri = 1 Okno pri = 2 Okno pri = 5

Slika 2.1: Prikaz Gaussovega okna pri razliˇcnih vrednostihσ.

Okno torej frekvenˇcno moduliramo in dobimo Gaborjev valˇcek (2.6), ki zaradi komple- ksnosti na sliki 2.2 prikazan v obliki realne in imaginarne komponente. Kodo njegovo komputacijo zapiˇsemo kot analitiˇcno enaˇcbo, ki sprejme prostorke toˇckexin parametra sigma ineta.

ψ(x) = g(x)eiηx pri pogoju σ2η2 >1 (2.6) V kodig(x)predstavlja funckijo za komputacijo Gaussovega okna, kot je prikazano na sliki 2.1.

1 def psi(x, sigma, eta):

2 """..."""

3 psi = g(x)*np.exp(1j*eta*x)

4 if sigma**2*eta**2 > 1.:

5 return psi

4

(19)

Teoretiˇcne osnove

10 5 0 5 10

x 0.4

0.2 0.0 0.2 0.4

(x)

Re( (x)) Im( (x))

Slika 2.2: Prikaz Gaborjevega valˇcka v obliki realne in imaginarne komponente.

Ogledamo si ˇse odziv valˇcne funkcije na izbrano vrednostη, ki nam spreminja frekvence pod Gaussovim oknom. Opazimo, da z veˇcanjem vrednosti η, dolˇzina periode pada, torej se frekvenca poveˇcuje.

10 5 0 5 10

x 0.4

0.2 0.0 0.2 0.4

(x)

Re( (x)) pri = 1 Re( (x)) pri = 2 Re( (x)) pri = 3

Slika 2.3: Prikaz realne komponente Gaborjevega valˇcka pri razliˇcnih vrednostih η.

Kot je predvideno za izvedbo valˇcne transformacije, prikaˇzemo skaliran in premaknjen valˇcek, kot je predvideno v enaˇcbi (2.4) ter ga konjugiramo (konjugacija je oznaˇcena z v enaˇcbi (2.3), da dobimo obˇcutek o spremembah, ki jih izvedemo pred dejansko transformacijo.

(20)

Teoretiˇcne osnove

10 5 0 5 10

x 0.4

0.2 0.0 0.2 0.4

(x)

Re( (x)) Re( _u,s(x))

Slika 2.4: Prikaz realne komponente osnovnega in skaliranega ter premaknjenega Gaborjevega valˇcka.

10 5 0 5 10

x 0.3

0.2 0.1 0.0 0.1 0.2 0.3 0.4

(x)

Re( _u,s(x)) Im( _u,s(x)) Re( *_u,s(x)) Im( *_u,s(x))

Slika 2.5: Prikaz realne in imaginarne komponente skaliranega ter premaknjenega Gaborjevega valˇcka ter njegove konjugirane verzije.

Opazimo, da se pri translaciji valˇcek premakne za parameter u v desno, ter se mu ˇcasovni razpon poveˇca. Opazimo, da se razˇsirita tako Gaussovo okno, kot tudi dolˇzina periode harmoniˇcnega signala pod njim. Pri konugaciji opazimo, da se imaginarna komponenta valˇcka obrne glede na abscisno os, ker se imaginarnim vrednostim valˇcka zamenja predznak. Realna komponenta valˇcka ostane enaka.

2.1.2 Skalogram in fazna informacija

Pri valˇcni transformaciji pridemo do 2D matrike kompleksnih ˇstevil, zato moramo za izluˇsˇcitev informacij podatke dodatno obdelati. Skalogram je izraˇcunan iz absolutne vrednosti omenjenih kompleksnih ˇstevil [13]:

PWa(u, s) = |W a(u, s)|2, (2.7)

6

(21)

Teoretiˇcne osnove normiramo ga lahko z deljenjem z vrednostjo s. Kompleksno fazo izraˇcunanamo po enaˇcbi

ΦWa(u, s) = arctan

(︃Im(W a(u, s)) Re(W a(u, s))

)︃

. (2.8)

Kot smo ˇze omenili v podpoglavju 2.5, sta dve razliˇcni vrsti metod za pridobivanje pomikov taki, ki temeljita na energiji itenzitete (ang. energy-based) ter na fazni infor- maciji (ang. phase-based). Komputacije s skalogramom bi torej ˇsteli med prve, tiste z uporabo kompleksne faze pa med druge [14]. Za uporabo slednje v tem delu smo se odloˇcili na podlagi prednosti fazne informacije [14], med katerimi sta tudi podpikselska natanˇcnost in robustnost, ki je pri variacijah v svetlobi pri fazi veliko boljˇsa kot pri podatkih o amplitudi.

Za laˇzje razumevanje omenjenih prikazov smo umetno generirali spodnji signal, ki je sestavljen iz sinusnega signala s frekvenco f = 3 ter harmoniˇcnega signala, ki se mu frekvenca v ˇcasu spreminja odf = 2 dof = 6.

10 5 0 5 10

x 2

1 0 1 2

a(x)

Slika 2.6: Prikaz poljubnega signala.

Sedaj izvedemo valˇcno transformacijo omenjenega signala in dobimo spodnja prikaza:

10 5 0 5 10

x 2

3 4 5 6

f

10 5 0 5 10

x 2

3 4 5 6

f

(22)

Teoretiˇcne osnove Opazimo, da nam normiran skalogram podaja informacijo o frekvencah, ki se pojavljajo v signalu pri doloˇcenem ˇcasu, kompleksna faza pa na prvi pogled ne ponuja nobenih razvidnih informacij o obdelanem signalu.

2.2 Konvolucija

Konvolucija je operacija, ki nam pove vpliv izbrane funkcije a(x) na drugo izbrano funkcijo b(x). Oznaˇcimo jo zh(x) in jo lahko zapiˇsemo z enaˇcbo [15]:

h(x) = a(x)∗b(x) =

∫︂

−∞

a(y)b(x−y) dy =

∫︂

−∞

a(x−y)b(y) dy. (2.9) Pri tem opazimo, da lahko torej enaˇcbo (2.3) zapiˇsemo kot [13]

W a(u, s) = a∗ψ¯

s(u), (2.10)

z vednostjo, da velja ψs(x) = 1

√sψ (︃−x

s )︃

. (2.11)

2.2.1 Fourierova transformacija

Fourierova transformacija je preslikava funkcije v frekvenˇcno domeno, ki nam poda informacijo, kako pogosto se doloˇcena frekvenca pojavi v signalu [13] in jo zapiˇsemo z enaˇcbo [15]:

A(f) =

∫︂

−∞

a(x)e−if xdx. (2.12)

Obratno transformacijo, torej transformacijo iz frekvenˇcnega nazaj v prostorski signal lahko izvedemo s podobnim izraˇcunom:

a(x) =

∫︂

−∞

1

2π A(f)eif xdf. (2.13)

2.2.2 Konvolucija s Fourierovo transformacijo

V frekvenˇcnem prostoru se konvolucija prevede v navadno mnoˇzenje [16], torej lahko zapiˇsemo

H(f) = A(f)B(f), (2.14)

pri ˇcemerH(f),A(f) inB(f) predstavljajo Fourierove transformacije konvolucijeh(x) in funkcij a(x) ter b(x) v tem vrstnem redu. Z enaˇcbo (2.12) lahko torej funkciji pretvorimo v frekvenˇcno domeno, izraˇcunamo konvolucijo preko mnoˇzenja ter rezultat s pomoˇcjo enaˇcbe (2.13) vrnemo nazaj v ˇcasovno domeno.

8

(23)

Teoretiˇcne osnove

2.3 Korelacija

Pomike iz zaporedja slik lahko izraˇcunamo tudi s pomoˇcjo korelacije digitalnik slik (ang. digital image correlation, DIC), ki se predstavlja kot metoda za identifikacijo 2D ali 3D deformacij [4, 17]. Deluje na podlagi ujemanj obmoˇcij na objektu, ki ga opazujemo in je prekrit s specifiˇcnim vzorcem, ki to omogoˇca [17].

Mi bomo uporabili sploˇsno enaˇcbo korelacije in pri tem iskali velikost ujemanja v posamezni toˇcki ter z iskanjem maksimuma poiskali premik [7]. Tako kot pri konvolu- ciji, lahko tudi korelacijo izvajamo v ˇcasovni ali frekveˇcni domeni s pomoˇcjo Fourierove transformacije 2.2.1 [18]. Zaradi iskanja maksimuma smo pri iskanju pomika s pomoˇcjo korelacije omejeni na velikost slikovnega elementa [19].

Korelacija je definirana s spodnjo enaˇcbo [15]:

w(x) =

∫︂

−∞

a(x)b(x+y) dx. (2.15)

2.4 Osnove obdelav slik

Osnovo meritev pri vrsti ˇcrnobelih slik predstavlja diskretna dvodimenzionalna matrika digitaliziranih vrednosti intezitete svetlobe v posameznih slikovnih elementih [18]. Pri posnetkih vsak podatek predstavlja nivo svetlobe, ki vpada na senzor, zaradi odboja svetlobe od predmeta, ki ga slikamo [3].

Obdelava slikovnih podatkov z namenom pridobivanja fizikalnih veliˇcin se imenuje fo- togrametrija (ang. photogrammetry) in izhaja iz ˇzelje po kreiranju zemljevidov iz foto- grafij iz zraka. Napredek digitalne fotografije nam omogoˇca veliko analiz in s tem tudi izraˇcun realnih distanc iz razdalj na posnetku/sliki [3], kar je uporabno tudi za naˇs pri- mer, ko iz pomikov na sliki ˇzelimo pridobiti tudi vrednsoti teh razdalj na opazovanem objektu. To nam seveda oteˇzujejo spremembe v svetlosti med zaporednimi slikami, ki se pojavljajo zaradi neenakomerne porazdelitve svetlobe, sprememb v hrapavosti predmeta opazovanja ali spremembe kota opazovanja [17]. Za naˇso ˇzeleno uporabo je pomembna tudi iznajdba hitrih kamer, ki nam omogoˇca jasne slike pri velikih hitostih zajemanja [7].

2.5 Identifikacija pomikov

Optiˇcni tok je metoda iskanja pomikov z iskanjem konstantnega vzorca svetlobe v sli- kah [20] in je izkoriˇsˇcen pri veliko metodah, ki uporabljajo razliˇcne predpostavke; pri metodi Horn-Schunck [20] je to gladkost sprememb intenzitete svetlobe. Omenjena metoda temelji na ohranjanju svetlobnih vzorcev in ji lahko uˇcinkovitost poveˇcamo z uporabo iterativne sheme. Pri tem je predlagana uporaba polja pomikov iz prejˇsnjega

(24)

Teoretiˇcne osnove in iskanju najmanjˇse napake ujemanja med podobmoˇcji. Metoda Fleet-Jepson [14] je bila prva osnovana na podlagi fazne informacije in tako od vseh omenjenih najbliˇzje tej obravnavani v tem zakljuˇcnem delu. Pri tem so hitrosti oz. pomiki pridobljeni z ˇcasovno evolucijo kontur, kjer je faza konstantna.

Zaradi trakratne odsotnosti kakovostne evalvacije in pregleda metod je bila narejena primerjava nekaj poznanih metod [1], kjer so bile metode v grobem razdeljene na diferencialne metode, med katere spadata tudi prvi zgoraj omenjeni metodi, metode ujemanja podobmoˇcij, metode, ki temeljijo na energiji itenzitete (ang. energy-based) ter na fazni informaciji (ang. phase-based). Od vseh obravnavanih metod je najbolj zanesljiva ravno fazna metoda Fleet-Jepson, ker so bili njeni rezultati najbolj toˇcni in je bila metoda zelo konsistentna; ni priˇslo do nobenih veˇcjih odmikov od realnega stanja.

Omenjeno dejstvo nas ˇse dodatno spodbudi za iskanje pomikov prav s pomoˇcjo fazne informacije, ker imajo tovrstne metode oˇcitno prednost pred ostalimi. Kasneje se pojavi metoda, ki temelji na fazni informaciji, pridobljeni s prostorskim filtriranjem Gautama- Hulle [22], namesto s prostorsko-ˇcasovnim (ang. spatiotemporal), ki je uporabljeno pri Fleet-Jepson metodi. Pri prostorsko-ˇcasovnem filtriranju je namreˇc nujno, da so filtri primerni za frekvence, ki se pojavljajo v ˇcasovnem spektru ter so zato vezani na hitrosti pomikov, medtem ko se nam ta omejitev pri filtriranju vsake slike zgolj v prostorski domeni ne pojavi. Nadaljnji razvoj pa je prinesel tudi metodo, ki deluje na nivoju niˇzjem od slikovnega elementa, ki jo je predstavil Alba s sodelavci [19]. Metoda s pomoˇcjo korelacije lokalne faze izraˇcuna pomik na nivoju slikovnega elementa ter ga potem ˇse natanˇcneje izraˇcuna z uporabo prilegajoˇcih se funkcij v okolici posamezne toˇcke (ang. curve fitting). Primer uporabe metode za nivo pod slikovnim elementom je bil predstavljen tudi v 18, kjer je bil le ta dobljen na podlagi gradienta in povezavo med intenziteto slikovne toˇcke ter deleˇzem ˇcrnega vzorca, ki prekriva obmoˇcje omenjene slikovne toˇcke.

2.5.1 Identifikacija pomikov iz fazne informacije

Identifikacijo pomikov lahko izvajamo na podlagi fazne informacije, zaradi dejstva da se konture faze pomikajo skladno z pomiki signala, ki ga obdelujemo. To bomo prikazali na premiku spodnjega signala, ki mu bo sledil pomik fazne informacije.

10

(25)

Teoretiˇcne osnove

10 5 0 5 10

x 2

1 0 1 2

a(x) pred pomikom

10 5 0 5 10

x 2

1 0 1 2

a(x) po pomiku

10 5 0 5 10

x 2

3 4 5 6

f

10 5 0 5 10

x 2

3 4 5 6

f

Slika 2.8: Pomik signala in posledniˇcno pomik fazne informacije.

(26)

3 Identifikacija pomikov z valˇ cno transformacijo

3.1 Koda za valˇ cno transformacijo

Glede na to, da je glavna naloga tega dela oblikovati funkcijo, ki bo omogoˇcila raˇcunanje pomikov prek fazne informacije, pridobljene z valˇcno transformacijo, smo najprej obli- kovali funkcijo, ki bo izvajala valˇcno transformacijo na enodimenzionalnem signalu.

Celotno delo je narejeno v programskem jeziku Python [23] in obmoˇcju Jupyter Note- book. Pri komputaciji smo si pomagali z razliˇcnimi orodji iz knjiˇznic in modulov, ki so naˇsteti spodaj:

– knjiˇznica Numpy za numeriˇcne operacije [24],

– paketscipy.signal iz knjiˇznice Scipy za obdelavo signalov [25],

– matplotlib.pyplot za izrisovanje grafov in ostalih grafiˇcnih prikazov [26].

S sledenjem enaˇcbam, kot smo to izvedli tudi pri kodi za izdelavo valˇcka, izdelamo celotno funkcijo za izdelavo valˇcne trasnformacije na podlagi enaˇcbe (2.3). Parametri Gaborjevega valˇcka so povezani med seboj [13], zatorej lahko zapiˇsemo:

f = 1

s , ˇce velja: η = 2π. (3.1)

Ta lastnost je upoˇstevana v vseh kodah, zato je parameter eta nastavljen kot kon- stantna vrednost 2π (3. vrstica v spodnji kodi). Valˇcna transformacija sprejme 4 parametre, prvisig je signal, ki je napet ˇcez prostorske toˇcke x, kar je drugi parame- ter. Tretji parameter so frekvence valˇckov f, s katerimi ˇzelimo izvesti transformacijo.

Le-te se bistvenega pomena predvsem pri skalogramu, kjer lahko iz signala izvemo, katere frekvence so v njem prisotne v doloˇcenem ˇcasovnem trenutku. Vpliv ˇcetrtega parametrasigma, katerega nastavljena vrednost je 3, smo prikazali ˇze v 2.1.1.

Kot je razvidno v 4. in 5. vrstici, funkcija najprej naredi dve matriki za shranjeva- nje skalograma in fazne informacije, velikosti: velikost vrste prostorskih frekvenc f × velikost prostorskih toˇck x. Za vsako toˇcko matrik izdelamo primeren valˇcek z pred- pripravljeno funkcijo na podlagi enaˇcbe (2.4), ga konjugiramo ter mnoˇzimo s signalom.

Vrednost integrala izraˇcunamo posebej za realno ter posebej za imaginarno kompo- nento s funkcijo za numeriˇcno integracijo numpy.trapz [24]. Po enaˇcbah (2.7) in (2.8) izraˇcunamo vrednosti normiranega skalograma in fazne informacije v doloˇceni toˇcki. V 12

(27)

Identifikacija pomikov z valˇcno transformacijo primeru, da je realna komponenta enaka niˇc, pridemo pri izraˇcunu faze do deljenja z niˇclo, ki ga ne poznamo, zato ustvarimo predpogoj, da realna komponenta ne sme biti niˇcelna (14. vrstica).

1 def valˇcna_trans(sig, x, f, sigma = 3):

2 '''...'''

3 eta = 2*np.pi

4 Pw = np.zeros((len(f), len(x)))

5 Phase = np.zeros((len(f), len(x)))

6 for x, i in enumerate(x):

7 for y, j in enumerate(f):

8 psi = psi_us(x, sigma, eta, i, j)

9 psi_us_konj = np.conj(1/np.sqrt(1/j)*psi)

10 skupno = sig*psi_us_konj

11 in_re = np.trapz(np.real(skupno), x)

12 in_im = np.trapz(np.imag(skupno), x)

13 Pw[y][x] = (in_re**2 + in_im**2)*j

14 if in_re != 0:

15 Phase[y][x] = np.arctan(in_im/in_re)

16 return Pw, Phase

Sliki 2.7 smo izdelali z zgornjo kodo.

Ker je koda zaradi preraˇcunov v vsaki toˇcki valˇcne transformacije zahtevna za kom- putacijo, poskusimo poiskati boljˇso reˇsitev prek konvolucije (2.10). Tako od 6. do 15.

vrstice v kodi?? zamenjamo s spodnjimi:

1 for y, j in enumerate(f):

2 psi = psi_s(-x, sigma, eta, j)

3 psi_s_obrn = 1/np.sqrt(1/j)*np.conj(psi)

4 skupno = signal.convolve(sig, psi_s_obrn, mode = 'same')

5 re = np.real(skupno)

6 im = np.imag(skupno)

7 Pw[y] = (re**2 + im**2)*j

8 for k in np.nonzero(re):

9 Phase[y][k] = np.arctan(im[k]/re[k])

Valˇcek je tu izdelan s predpripravljeno funkcijo, ki sledi enaˇcbi (2.11) primerni za valˇcno transformacijo s konvolucijo. Omenjena operacija je izvedena s pomoˇcjo funkcije scipy.signal.convolve [25]. Le-ta konvolucijo izvaja ali z direktnim mnoˇzenjem ali pa prek Fourier-ove transformacije, kot je bilo opisano v poglavju 2.2.

Tukaj for zanko izvajamo samo preko toˇck frekvenc f, kar nam funkcijo poenostavi.

S tem se ˇcas trajanja funckije zmanjˇsa za pribliˇzno 25-krat. Za primerjavo originalne valˇcne transformacije ter te prek konvolucije, spodaj prikaˇzemo fazni informaciji pri-

(28)

Identifikacija pomikov z valˇcno transformacijo

10 5 0 5 10

x 2

3 4 5 6

f

10 5 0 5 10

x 2

3 4 5 6

f

Slika 3.1: Fazna informacija pridobljena prek osnovne enaˇcbe valˇcne transformacije (levo) ter enaˇcbe valˇcne transformacije s konvolucijo (desno).

Opazimo lahko rahle razlike pri fazni informaciji, kasneje pa bomo raziskali ali poeno- stavitev pokvari kakovost dobljenih rezultatov pri iskanju pomikov.

Kot smo omenili v uvodu 1, ˇzelimo identifikacijo na nivoju, niˇzjem od slikovnega ele- menta, ˇcesar s korelacijo, ki je naˇsa ˇzeljena metoda iskanja pomikov, ne moremo doseˇci, zato valˇcno transformacijo rahlo spremenimo, da z dodajanjem veˇc diskretnih toˇck med slikovnimi elementi poveˇcamo njeno loˇcljivost.

1 def valˇcna_nova_conv(sig, x, f, sigma = 3, o = 10):

2 '''...'''

3 eta = 2*np.pi

4 x_nov = np.linspace(x[0], x[-1], o*len(x)-(o-1))

5 #interval osnovnega parametra na novo razdelimo

6 sig_nov = np.zeros(len(x_nov))

7 sig_nov[::10] = sig

8 Pw = np.zeros((len(f), len(x_nov)))

9 Phase = np.zeros((len(f), len(x_nov)))

10 for y, j in enumerate(f):

11 psi = psi_s(-x_nov, sigma, eta, j)

12 psi_s_obrn = 1/np.sqrt(1/j)*np.conj(psi)

13 skupno = signal.convolve(sig_nov, psi_s_obrn, mode = 'same')

14 re = np.real(skupno)

15 im = np.imag(skupno)

16 Pw[y] = (re**2 + im**2)*j

17 for k in np.nonzero(re):

18 Phase[y][k] = np.arctan(im[k]/re[k])

19 return Pw, Phase

Parameterotako predstavlja ˇstevilo intervalov, na katero ˇzelimo razdeliti razdaljo med dvema toˇckama signala. Privzeta vrednost je 10. V 4. vrstici funkcije zgornje kode vidimo novo delitev izbranega intevala toˇckx, v vrsticah 6 in 7 izbran signal obdelamo tako, da med dve toˇcki signala vstavimo niˇcelne toˇcke, tako da je ˇstevilo toˇck signala enako kot ˇstevilo toˇck novega ˇcasovnega intervalax nov. Lahko bi med toˇckami izvedli tudi interpolacijo, a to v ciljih naloge ni bilo predvideno.

14

(29)

Identifikacija pomikov z valˇcno transformacijo

3.2 Identifikacija pomikov na enodimenzijskem si- gnalu

Podobno, kot smo izdelali signal prikazan na sliki 2.6, sedaj izdelamo ˇse njegovo tran- slirano vrednost. Ker se delo nanaˇsa na obdelavo slik, smo naˇs signal izrisali tudi v obliki slike, ki ima v smeri y veˇc enakih signalov. Za primer identifikacije pomikov bomo signal premaknili za 4,854 toˇcke v desno.

10 5 0 5 10

x 2

1 0 1 2

a(x)

Signal brez premika Signal s premikom

0 100 200 300 400

x 0

100 200

y

Slika 3.2: Prikaz poljubnega signala in njegove premaknjene verzije (levo) ter enak signal prikazan v slikovni obliki (desno).

Sedaj izvedemo valˇcno transformacijo na obeh signalih. Uporabili bomo funkcijo, ki je prizakana v spodnji kodi. Posamezno razdaljo med toˇckama bomo razdelili na 100 podintervalov, da bomo priˇsli do veˇcje natanˇcnosti pomikov.

1 o = 100

2 f = np.linspace(2, 6, 500)

3 Phase1 = valˇcna_nova_conv(signal1, t, x, sigma = 3, o = o)

4 Phase2 = valˇcna_nova_conv(signal2, t, x, sigma = 3, o = o)

Namesto iskanja pomikov iz gradienta, kot je to opisano v [22], kar je dokazano uˇcinkovita metoda za izraˇcunavanje podpikselskih pomikov, je naˇsa naloga izraˇcun le-teh preko korelacije. Kot je omenjeno v 2.3, izvedemo korelacijo faznih informa- cij ter poiˇsˇcemo lokacijo njene najveˇcje vrednosti. Korelacijo izvedemo s pomoˇcjo scipy.signal.correlate [25]. Z razliko med sredino in maksimumom korelacije pridemo do iskanega pomika. Zaradi tega, ker je sredina naˇsega polja med dvema toˇckama, v katerih bi lahko zaznali premike, napako, ki se pojavi, uravnavamo s priˇstevanjem te razdalje rezultatu pomika.

1 kor = signal.correlate(Phase2, Phase1, mode='same')

2 pomik = (np.where(kor == np.max(kor))[1] - len(kor[1])/2)/o + 0,5*o Enak proces ponovimo tudi s faznimi informacijami pridobljeni s funkacijami po osnovni

(30)

Identifikacija pomikov z valˇcno transformacijo

3.3 Primerjava identifikacije pri razliˇ cnih nivojih ˇ suma

Enako kot v prejˇsnem poglavju 3.2, sedaj prav tako obravnavamo enodimenzionalni signal, le da mu dodamo ˇsum. S tem ˇzelimo preveriti, kakˇsen vpliv ima doloˇcen nivo ˇsuma na razline izvedbe valˇcnih transformacij in ali je naˇsa metoda sploh primerna za realen posnetek, ki ni bil predhodno obdelan.

Prikaˇzemo primer dodajanja ˇsuma na izbran signal:

1 nivo_ˇsuma = 0.2

2 ˇsum1 = np.random.normal(0, nivo_ˇsuma, len(x))

3 signal1_ˇsum = signal1 + ˇsum1

10 5 0 5 10

x 2

1 0 1 2

a(x) + um

Slika 3.3: Prikaz poljubnega signala in njegove premaknjene verzije s ˇsumom.

Odloˇcimo se za nivo ˇsuma (v spodnji kodi je to 0,2) in ga generiramo znumpy.random.normal, za toliko toˇck kolikor imamo diskretnih vrednosti v signalu. Potem ˇsum signalu prepro- sto priˇstejemo. Sedaj zopet prikaˇzemo signal in njegovo premaknjeno razliˇcico, tokrat z dodanim ˇsumom (3.3).

Pridobivanje pomikov, kot smo to izvedli v 3.2, bomo sedaj izvedli na ˇsumnih signalih z znanimi nivoji ˇsuma: 0,2, 0,5 ter 0,8. Uporabili bomo metodo, ki se bo izkazala za najbolj uˇcinkovito od preizkuˇsenih.

3.4 Identifikacija pomikov na dvodimenzijskem si- gnalu

Ker je naˇs glavni cilj identifikacija pomikov iz slik, moramo kodo iz poglavja 4.1 razˇsiriti tako, da bomo lahko obdelali dvoimenzionalni signal. Prilagoditev je prikazana v 16

(31)

Identifikacija pomikov z valˇcno transformacijo poglavju 3.4.1, kjer poskuˇsmo identificirati pomike iz vrste slik s sintetiˇcno izdelanimi pomiki zgolj v eni smeri (x-smer), kasneje pa uporabo pokaˇzemo ˇse realnem posnetku v obeh smereh.

3.4.1 Sintetiˇ cni eksperiment

Za numeriˇcni eksperiment vzamemo zaporedje slik s sintetiˇcno generiranimi pomiki zgolj v x-smeri. Take vrste slik so predvsem primerne za ocenjevanje uˇcinkovitosti preizkuˇsane metode, ker je polje pomikov znano [1]. Primer dveh zaporednih slik je podan spodaj.

0 50 100

x 0

20 40 60 80 100 120 140

y

0 50 100

x 0

20 40 60 80 100 120 140

y

Slika 3.4: Slika (levo) ter njena umetno premaknjena verzija (desno).

Na prvi pogled se sliki zdita enaki, vendar temu ni tako. Naredimo zanko, ko nam bo izraˇcunala pomike med zaporednimi slikami. Najprej si pripravimo prostor za shra- njevanje vrednosti pomikov p yx enake velikosti, kot je ˇstevilo slik, ki jih obdelujemo ter z dvemi prostori za pomik v y ter x-smeri. Potem naredimo zanko, v kateri se najprej shrani prva slikan0, ko jo uporabimo kot referenˇcno potem pa se podn1 shrani naslednja matrika (5. do 8. vrstica v spodnji kodi). Izdelamo vrsto za shranjevanje pomikovp01za vsako vrstico poy, ter na vsaki od njih izvedemo valˇcno transformacijo s funkcijo, ki smo jo pripravili prek. Na dveh vrsticah z enako lokacijo, a razliˇcnim ˇcasovnim trenutkom izvedemo korelacijo, poiˇsˇcemo maksimum, izraˇcunamo pomik ter ga shranimo v p01 (enak proces, kot je opisan v 3.2). Ker nas zanima pomik celotne slike v x-smeri, izraˇcunamo povpreˇcje vseh izraˇcunanih pomikov, ter ga shranimo v p yx. Zanka nato nadaljuje z naslednjo sliko, ki jo zopet obravnavamo glede na prvo sliko n0.

1 p_yx = np.zeros((signal2D.shape[0],2))

2 x = np.arange(signal2D.shape[2])

(32)

Identifikacija pomikov z valˇcno transformacijo

6 n0 = signal2D[i]

7 else:

8 n1 = signal2D[i]

9 p01 = np.zeros(n0.shape[0])

10 for k, _ in enumerate(p01):

11 Phase0 = valˇcna_nova_conv(n0[k], x, f, o = o)

12 Phase1 = valˇcna_nova_conv(n1[k], x, f, o = o)

13 kor01 = signal.correlate(Phase1, Phase0,

14 mode='same')

15 p01[k] = (np.where(kor01 == np.max(kor01))[1]

16 - len(kor01[1])/2)/o

17 x = np.average(p01)

18 p_yx[i][1] = x

Referiranje na prvo sliko si lahko privoˇsˇcimo, ker vemo, da so pomiki izvedeni le v eni smeri, kar nam dopuˇsˇca moˇznost obravnavanja vsake vrste posebej skozi celotni ˇcasovni interval. V primeru sprememb vy-smeri, bi se namreˇc motnje, ki so v doloˇceni vrsti lahko premaknile niˇzje, ter jih zato primerjava narejena po vrstici ne bi zaznala.

Reˇsitev za omenjeno teˇzavo je opisana v 3.4.2.

Za preizkus delovanja zanke za izraˇcun pomikov v x-smeri generiramo dva primera vrst slik s pomiki, kot so prikazani na spodnjih grafih (3.5). Prvi pomiki imajo sinusno nihanje, pomiki pa so zgolj v levo stran, drugi pa imajo drugo harmoniˇcno obliko in veˇcje vrednosti.

0 50 100 150 200

t 4

3 2 1 0

Pomik v smeri x

0 100 200 300 400

t 10

5 0 5 10

Pomik v smeri x

Slika 3.5: Vrednosti generiranih pomikov.

3.4.2 Realni eksperiment

Sedaj enak postopek ponovimo ˇse na realnih slikah, posnetih s hitro kamero. Pri tem moramo paziti, da je na posnetku prikazan predmet, ki se mu svetlobni vzorci spreminjajo pri premikanju; osvetljena krogla ima pri rotaciji naprimer ves ˇcas enak odboj okoliˇske svetlobe [20] in zato za naˇs poskus ne bi bila primerna. Veliko bolj primerni so objekti z kontrastnimi vzorci [7], pri iskanju pomikov le v eni smeri bi bile to lahko ˇcrte [18], za nas pa bo bolj primeren nakljuˇcen vzorec, kot je prikazan spodaj.

18

(33)

Identifikacija pomikov z valˇcno transformacijo

0 20 40 60

x 0

10 20 30 40

y

0 20 40 60

x 0

10 20 30 40

y

Slika 3.6: Slika z realnega posnetka (levo) ter njena premaknjena verzija (desno).

Prikazali smo prvo sliko ter eno izmed zadnjih slik, da vidimo kakˇsne premike lahko priˇcakujemo. Opazimo, da se vzorci pomikajo desno in navzdol. Pri realnih slikah zopet izraˇcunamo pomike v smeri x, podobno, kot je prikazano v poglavju 3.4.1. Za- radi premika v obeh smereh vedno primerjamo dve zaporedni sliki in dobljeno vrednost priˇstejemo vrednosti, dobljeni v prejˇsnjem ˇcasovnem trenutku. Potem posamezne ma- trike posnetka obrnemo, kot je prikazano v sponji kodi, da enak proces izvedemo za y-smer.

1 signal2D_obrn = np.zeros((signal2D.shape[0],

2 signal2D.shape[2], signal2D.shape))

3 for i, n in enumerate(signal2D):

4 n_obrn = n.transpose()

5 signal2D_obrn[i] = n_obrn

Vrednosti realnih pomikov izraˇcunamo z drugo metodo, da lahko ovrednostimo naˇse rezultate. Izberemo metodo Lucas-Kanade [21], v izvedbi iz paketa PyIDI 27.

(34)

4 Rezultati

4.1 Rezultati identifikacije na 1D signalu

Za ovrednotenje primernosti razliˇcnih kod valˇcnih transformacij za komputacijo pomi- kov, smo prikazali vrednosti pomikov in napake glede na realne pomike za posamezno funkcijo.

0 2 4 6 8 10

Pravi pomiki 0

2 4 6 8 10

Izra unani pomiki

Pravi pomiki Izra unani, osnovna Izra unani, konv.

Izra unani, konv., o = 10 Izra unani, konv., o = 100

0 2 4 6 8 10

Pravi pomiki 0.4

0.2 0.0 0.2 0.4

Napake

Napake, osnovna Napake, konv.

Napake, konv., o = 10 Napake, konv., o = 100

Slika 4.1: Izraˇcunani pomiki ter napake glede na realne pomike.

20

(35)

Rezultati Izraˇcunamo tudi standardno deviacijo σ napak posameznih metod.

Preglednica 4.1: Standardne deviacije napak pomikov razliˇcnih kod za valˇcno transfor- macijo.

Koda za valˇcno transformacijo

Osnovna valˇcna transformacija

Osnovna valˇcna trans.

prek konvolucije

Valˇcna trans.

prek konvolucije

o= 10

Valˇcna trans.

prek konvolucije

o= 100 Standardna

deviacija 0.2880 0.2882 0.0291 0.0029

Sedaj prikaˇzemo ˇse napake identifikacije z metodo z najniˇzjo standardno deviacijo, na signalih z razliˇcnimi nivoji ˇsuma:

0 2 4 6 8 10

Pravi pomiki 4

2 0 2 4

Napake

Napake, nivo uma 0 Napake, nivo uma 0,2 Napake, nivo uma 0,5 Napake, nivo uma 0,8

Slika 4.2: Napake glede na realne pomike pri razliˇcnih nivojih ˇsuma.

Prikaˇzemo standardne deviacije σ napak pri razliˇcnih nivojih ˇsuma:

Preglednica 4.2: Standardne deviacije napak pomikov pri razliˇcnih nivojih ˇsuma.

Nivo ˇsuma 0,0 0,2 0,5 0,8

Standardna

deviacija 0.0029 0.0123 0.0361 0.4294

4.2 Rezultati sintetiˇ cnega eksperimenta

Kot reˇceno smo eksperiment izvedli na dveh razliˇcnih poljih pomikov. Prikaˇzemo

(36)

Rezultati

4 3 2 1 0

Pravi pomiki 4

3 2 1 0

Izra unani pomiki

Pravi pomiki Izra unani pomiki

10 5 0 5 10

Pravi pomiki 10

5 0 5 10

Izra unani pomiki

Pravi pomiki Izra unani pomiki

Slika 4.3: Izraˇcunani pomiki glede na realne pomike pri dveh razliˇcnih poljih pomikov (3.5, manjˇsi levo, veˇcji desno).

4 3 2 1 0

Pravi pomiki 0.1

0.0 0.1 0.2

Napake

10 5 0 5 10

Pravi pomiki 0.2

0.1 0.0 0.1 0.2

Napake

Slika 4.4: Napake glede na realne pomike pri dveh razliˇcnih poljih pomikov (3.5, manjˇsi levo, veˇcji desno).

Standardni deviaciji napak sta sledeˇci:

Preglednica 4.3: Standardni deviaciji pri razliˇcnih velikostih pomikov.

Polje pomikov Manjˇsi pomiki (3.5 levo) Veˇcji pomiki (3.5 desno) Standardna

deviacija 0.0875 0.1189

4.3 Rezultati realnega eksperimenta

Prikaˇzemo izraˇcunane in realne pomike, pridobljene iz realnega posnetka, posnetega s hitro kamero, vx in y-smeri:

22

(37)

Rezultati

0 20 40 60

t 0

2 4 6

Pomik v smeri x

Pravi pomiki Izra unani pomiki

0 20 40 60

t 0.0

2.5 5.0 7.5 10.0

Pomik v smeri y

Pravi pomiki Izra unani pomiki

Slika 4.5: Izraˇcunani in realni pomiki v x (levo) in y smeri (desno).

Prikaˇzemo tudi napake glede na realne vrednosti pomikov, prav tako v obeh smereh:

0 2 4 6

Pravi pomiki v x-smeri 4

3 2 1 0

Napake

0.0 2.5 5.0 7.5 10.0

Pravi pomiki v y-smeri 6

4 2 0

Napake

Slika 4.6: Napake glede na realne pomike vx (levo) in y smeri (desno).

(38)

5 Diskusija

5.1 Diskusija identifikacije na 1D signalu

Najprej si ogledamo razultate identifikacije na 1D signalu. Za pomike smo si izbrali vrednosti viˇsje natanˇcnosti, kot smo jo zmoˇzni doloˇciti, da bi ˇcim boljˇse povzeli re- alno stanje. Opazimo, da med identifikacijo s prvima dvema naˇcinoma izvedbe valˇcne transformacije ni velikih razlik, kar pomeni, da konvolucija, kot je bilo predvideno, predstavlja dobro zamenjavo za raˇcunanje integralov v vsaki toˇcki transformacije. Pri obeh teh izraˇcunih lahko pri primerjavah izraˇcunanih in realnih vrednosti, opazimo sto- pniˇcasto obliko, kar pritiˇce omejitvi izaˇcunov na nivo slikovnega elementa. Stopniˇcasto obliko opazimo tudi pri izraˇcuni z o = 10 in o = 100, le da so stopnice drobnejˇse, ker smo omejeni na desetinko in stotinko slikovnega elementa. Tudi standardna de- viacija napake je pri prvih dveh naˇcinih pribliˇzno enaka, kasneje pa pada z faktorjem deljenja pikselske razdalje. Najbolj uˇcinkovita je torej metoda, kjer podpikselsko raz- daljo razdelimo na ˇcim veˇcje ˇstevilo intervalov. Pri tem moramo upoˇstevati, da se z nataˇcnostjo poveˇcuje tudi ˇstevilo podatkov, ki jih moramo obdelati, zato moramo, zaradi ˇcasa komputacije in namena uporabe, sprejeti kompromis pri izbiri tega para- metra. Identifikacije s ˇse viˇsjo nataˇcnostjo namreˇc nismo mogli veˇc izvesti, saj je bila velikost ˇzelenih podatkov neobvladljiva.

Zaradi uˇcinkovitosti metode zo = 100, smo tudi poskus z razliˇcnimi ˇsumi signala, izve- dli s to metodo. Pri obravnavi ˇsumnega signala opazimo, da napake rastejo z viˇsanjem zaˇsumljenosti, vendar izredno velike odstopke od realnih vrednosti opazimo ˇsele pri nivoju ˇsuma 0,8, ker je smiselno, glede na to, da naj bi bila fazna informacija dokaj odporna na ˇsum. Iz standardnih deviacij napak je oˇcitno, da pri zaˇsumljenosti signala do 0,5 ˇse vedno dosegamo boljˇse rezultate, kot z identifikacijo na faznih informacijah na podlagi valˇcne informacije na pikselskem nivoju. ˇSele pri nivoju ˇsuma 0,8 je toˇcnost izraˇcunov bistveno slabˇsa.

5.2 Diskusija sintetiˇ cnega eksperimenta

Na sintetiˇcnem poskusu smo pomike identificirali na podlagi fazne informacije v izvedbi z o = 10, ker je bila komputacija z o = 100 preveˇc ˇcasovno potratna. Zaradi tega se pri manjˇsih pojavih pojavljajo veˇcji odstopki glede na velikost izraˇcunanih pomikov.

24

(39)

Diskusija Zopet imajo kvazi-stopniˇcasto obliko, za kar lahko krivimo natanˇcnost na desetino razdalje med slikovnima elementoma. Pri veˇcjih vrednosth pomikov so ti odstopki manjˇsi v primerjavi z velikostmi pomikov. Ko pogledamo napake, opazimo, da so njihove absolutne vrednosti pribliˇzno enake, kar pomeni, da bi bile relativne napake pri podpikselkih vrednosti verjetno izredno visoke. Standardna deviacija je pri veˇcjih pomikih rahlo viˇsja, kot pri manjˇsih, ker je priˇcakovano.

5.3 Diskusija realnega eksperimenta

Pri izraˇcunu pomikov iz realnih slik opazimo, da je vrednost pomika vedno bolj odda- ljena od realne vrednosti, oziroma referenˇcne vrednosti, izraˇcunane z drugo metodo, napaka raste z velikostjo pomika s skoraj linearno funkcijo. To je smiselno, ker se pomiki seˇstevajo in se poslediˇcno seˇstevajo tudi napake. Ker so pomiki med dvema slikama majhni in ker smo ugotovili, da imamo najveˇcje teˇzave z identifikacijo podpi- kselskih napak, so poslediˇcno te napake relativno velike. Pri seˇstevanju postajajo ˇse veˇcje. Z referiranjem, glede na fazno informacije prve slike, te teˇzave ne bi reˇsili, ker bi se zaradi premika v obeh smereh konutre izgubile v niˇzjo vrsto in jih s korelacijo po posamezni vrsti ne bi zaznali.

Moˇzna reˇsitev za napisano se pojavlja v postavitvi eksperimenta tako, da bi bile vre- dnosti pomikov vsaj pribliˇzno poravnane v xali ysmerjo. Prav tako bi lahko funkcijo oblikovali tako, da s korelacijo ne bi primerjali zaporednih slik, ampak slike, ki so nekaj ˇcasovnih trenutkov oddaljene med seboj, tako da so med njimi veˇcji kot podpi- skelski pomiki. S tem bi se zmanjˇsalo tudi ˇstevilo napak, ki se seˇstejejo med seboj, in poslediˇcno velikost napake pri doloˇceni vrednosti pomika.

Sicer so napake pri identifikaciji pomikov na realnem posnetku lahko v sploˇsnem priˇcakovane zaradi ˇsuma, ki smo ga tudi obravnavali na enodimenzionalnem signalu, odstopkov med intezitatami v posameznih slikah ter zaradi kvantizacije in napak, ki se zaradi tega po- javijo v procesu obdelave [14].

(40)

6 Zakljuˇ cki

V nalogi smo priˇsli do sledeˇcih zakljuˇckov:

1. Raziskali smo metode za identifikacijo pomikov.

2. Oblikovali smo razliˇcne kode za komputacijo fazne informacije z valˇcno transfor- macijo.

3. S pomoˇcjo fazne informacije smo s korelacijo identificirali pomike.

4. Na enodimenzionalnem signalu smo raziskali vpliv ˇsuma na identifikacijo pomi- kov.

5. Oblikovali smo kodo za identifikacijo pomikov iz vrste slik v eni ali dveh smereh.

6. Izvedli smo poskus identifikacije pomikov na slikah s sintetiˇcno generiranimi po- miki razliˇcnih velikosti.

7. Izvedli smo poskus identifikacije pomikov na realnem posnetku v dveh smereh.

8. Ugotovili smo, da je fazno informacijo moˇzno izraˇcunati na veˇc diskretnih toˇck, kot jih ima obravnavan signal.

9. Ugotovili smo, da je uˇcinkovitost identifikacije iz fazne informacije razmeroma neobˇcutljiva na ˇsum, dokler vrednosti niso prevelike.

10. Ugotovili smo, da je obravnavana metoda uˇcinkovita, ko se pomiki gibljejo v smeri, v kateri jih raˇcunamo.

11. Ugovotili smo, da za podpiskelske pomike metoda ni najbolj primerna, saj je im- plementacija s poveˇcevanjem gostote slikovnih elementov in korelacijo numeriˇcno premalo uˇcinkovita.

V delu smo pokazali alternativno moˇznost za pridobivanje pomikov iz fazne informacije na nivoju, niˇzjem od podpikselskega elementa, vendar smo prav tako dokazali, da metoda v naˇsi izvedbi, zaradi velikega ˇstevila podatkov, ki se nam pri obdelavi pojavijo, verjetno ni konkurenˇcna ostalim metodam.

26

(41)

Zakljuˇcki Predlogi za nadaljnje delo

V primeru nadaljnega razvijanja metode, bi bilo smotrno kodo oblikovati tako, da bo ˇcim hitrejˇsa in komputacijsko bolj uˇcinkovita. Za realne posnetke bi bilo potrebno raziskati, pri katerih pomikih je metoda najbolj uˇcinkovita in korelacijo izvajati na slikah, ki imajo med seboj primerne pomike.

(42)

Literatura

[1] J. L. Barron, D. J. Fleet in S. S. Beauchemin, “Performance of optical flow tech- niques,” International journal of computer vision, let. 12, ˇst. 1, str. 43–77, 1994.

[2] C. L. Fennema in W. B. Thompson, “Velocity determination in scenes containing several moving objects,”Computer graphics and image processing, let. 9, ˇst. 4, str.

301–315, 1979.

[3] M. N. Helfrick, C. Niezrecki, P. Avitabile in T. Schmidt, “3d digital image cor- relation methods for full-field vibration measurement,” Mechanical systems and signal processing, let. 25, ˇst. 3, str. 917–927, 2011.

[4] T. Beberniss, T. Eason in S. Spottswood, “High-speed 3d digital image correlation measurement of long-duration random vibration; recent advancements and noted limitations,” vISMA Biennial Conference, Lueven, Belgium, 2012.

[5] J. Javh, Modalna analiza na podlagi meritev pomikov s hitro kamero, doktorska disertacija, Univerza v Ljubljani, Fakulteta za strojniˇstvo, 2018.

[6] N. Wadhwa, M. Rubinstein, F. Durand in W. T. Freeman, “Phase-based video motion processing,” ACM Transactions on Graphics (TOG), let. 32, ˇst. 4, str.

1–10, 2013.

[7] J. Javh, M. Brumat, J. Slaviˇc in M. Bolteˇzar, “A high-speed camera measure- ment set-up for deflection shape analysis,” Proceeding of ISMA2016-USD2016, str. 1043–1050, 2016.

[8] “Theory of communication. part 1: The analysis of information, author=gabor, dennis,” Journal of the Institution of Electrical Engineers-Part III: Radio and Communication Engineering, let. 93, ˇst. 26, str. 429–441, 1946.

[9] J. Slaviˇc, I. Simonovski in M. Bolteˇzar, “Damping identification using a continuous wavelet transform: application to real data,”Journal of Sound and Vibration, let.

262, ˇst. 2, str. 291–307, 2003.

[10] P. Raviraj in M. Sanavullah, “The modified 2d-haar wavelet transformation in image compression,” Middle-East Journal of Scientific Research, let. 2, ˇst. 2, str.

73–78, 2007.

28

(43)

Literatura [11] J. Vassilicos, B. Silvermanet al., Wavelets: The key to intermittent information?

Oxford University Press on Demand, 2000.

[12] D. B. Percival in A. T. Walden, Wavelet methods for time series analysis. Cam- bridge university press, 2000, let. 4.

[13] S. Mallat,A wavelet tour of signal processing. Elsevier, 1999.

[14] D. J. Fleet in A. D. Jepson, “Computation of component image velocity from local phase information,” International journal of computer vision, let. 5, ˇst. 1, str. 77–104, 1990.

[15] “Signali,” nasl. z nasl. zaslona El. publikacija v formatu pdf. obsega 250 str.

dostopno na: http://luks.fe.uni-lj.si/nluks/wp-content/uploads/2014/11/Signali.

pdf

[16] K. Shin in J. Hammond,Fundamentals of signal processing for sound and vibration engineers. John Wiley & Sons, 2008.

[17] B. Pan, H. Xie in Z. Wang, “Equivalence of digital image correlation criteria for pattern matching,”Applied optics, let. 49, ˇst. 28, str. 5501–5509, 2010.

[18] J. Javh, J. Slaviˇc in M. Bolteˇzar, “The subpixel resolution of optical-flow-based modal analysis,” Mechanical Systems and Signal Processing, let. 88, str. 89–99, 2017.

[19] A. Alba, R. M. Aguilar-Ponce, J. F. Vigueras-G´omez in E. Arce-Santana, “Phase correlation based image alignment with subpixel accuracy,” v Mexican Internati- onal Conference on Artificial Intelligence. Springer, 2012, str. 171–182.

[20] B. K. Horn in B. G. Schunck, “Determining optical flow,” Artificial intelligence, let. 17, ˇst. 1-3, str. 185–203, 1981.

[21] B. D. Lucas, T. Kanadeet al., “An iterative image registration technique with an application to stereo vision.” Vancouver, British Columbia, 1981.

[22] T. Gautama in M. Van Hulle, “A phase-based approach to the estimation of the optical flow field using spatial filtering,” IEEE transactions on neural networks, let. 13, ˇst. 5, str. 1127–1136, 2002.

[23] Welcome to python.org. dostopno na: https://www.python.org/about/ [ogled 23.

avgust 2021].

[24] Numpy. dostopno na: https://numpy.org/ [ogled 23. avgust 2021].

[25] Signal processing (SCIPY.SIGNAL). dostopno na: https://docs.scipy.org/doc/

scipy/reference/signal.html [ogled 23. avgust 2021].

[26] matplotlib.pyplot. dostopno na: https://matplotlib.org/stable/api/ as gen/

matplotlib.pyplot.html [ogled 23. avgust 2021].

(44)

Reference

POVEZANI DOKUMENTI

Naloga 3: toˇ cke 4 Produkt dveh ˇstevil je 192, njun najveˇ cji skupni delitelj pa 4... Naloga 5: toˇ cke 4 Prvi obiskuje knjiˇ znico

Nekaj je bilo na tem področju narejenega tudi v Slove- niji, še več je bilo prenesenega iz tujine. Nedvomno pa je to področje, ki so bo v prihodnosti razvijalo, zato je v tej

18 Preglednica 2: Rezultati meritev telesne mase pri jezersko-solčavski ovci 21 Preglednica 3: Telesna masa glede na starost pri jezersko-solčavski ovci 22 Preglednica 4:

Slika 4: Delež proizvodnih operacij na CNC glede na velikost podjetja 28 Slika 5: Delež operacij na CNC glede na število računalnikov v mikro podjetjih 28 Slika 6: Delež operacij

Slika 3: Tipične slike neustreznih in ustreznih slik jedrne DNA 25 Slika 4: Porazdelitev vrednosti OTM vzorcev vodnih izlužkov iz homogeniziranega blata 27 Slika 5:

Vhodne slike, ki jih bo dobival naˇs sistem, so lahko razliˇ cno zasukane, osvetlitev dveh razliˇ cnih slik se lahko bistveno razlikuje na slikah, pa so poleg univerzalnega plaˇ

Slika 4.1: CA metode nakljuˇ cnih gozdov pri razredu ISCHEMIA na podmnoˇ zicah najboljˇsih n atributov, izbranih na podlagi razliˇ cnih..

4.4 Identifikacija protokola pri funkcijski resonanci 33 razliˇ cnih ˇ ze omenjenih razlogov lahko pojavi pri funkciji [Izvajanje funkcije ”readback”], vpliva na funkciji