Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Size: px
Start display at page:

Download "Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga"

Transcription

1 Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Boštjan Markežič Zaznavanje gibov Zaključna naloga Koper, september 2011 Mentor: doc. dr. Peter Rogelj

2 Kazalo Slovarček 6 1 Uvod 7 2 Osnove zaznavanja gibov Optični tok Metoda Lucas-Kanade Metoda Horn-Schunck Mean shift in CAMshift Histogrami Metoda Mean shift Metoda CAMshift Implementacija Upravljanje kurzorja z gibi rok Ideja Delovanje programa Prepoznavanje in segmentacija roke Detekcija prsta Premik kurzorja Ugotovitve Zaključek Literatura 32 Priloge 35 2

3 Povzetek V tej nalogi so predstavljene nekatere popularnejše metode za zaznavanje gibanja. Poudarek je na najbolj razširjenih metodah, kot so Lucas-Kanade, katera temelji na optičnemu toku in CAMshift metoda, katera je uporabljena za izdelavo praktičnega programa. V zadnjem poglavju je predstavljen program, napisan v programskem jeziku Python s pomočjo odprtokodne knjižnjice OpenCV, za implementacijo računalniške miške, katero lahko premikamo s pomočjo gibov roke. 3

4 Abstract In this paper, the most popular methods of motion detection are presented. Emphasis is placed on the most widely used methods, such as Lucas-Kanade, which is based on optical flow and CAMshift method, which is used to produce a practical program. In the last chapter a practical implementation of a computer mouse, which can be moved by hand movements is presented. It is written in Python programming language using open-source OpenCV library. 4

5 Zahvala Rad bi se zahvalil mentorju za pomoč pri izdelavi te naloge, vsem razvijalcem odprtokodnih programov, kateri so bili uporabljeni v tej nalogi in svoji mami, ki mi je pomagala pri odpravljanju slovničnih napak. 5

6 Slovarček Razlage manj znanih strokovnih besed in kratic. Določene razlage so povzete po [23]. Algoritem (angl. Algorithm) Python Numpy Psyco PyWin32 C++ OpenCV gradient momenti Zaporedje pravil, operacij, ukazov, ki zagotavljajo rešitev problema v končnem številu korakov. Programski jezik. Odprtokodna knjižnjica za Python, katera ima ugrajene funkcije za delo z matrikami. Odprtokodna knjižnjica za Python, katera pripomore k optimizaciji Python programske kode. Odprtokodna knjižnjica za Python, katera je namenjena za interakcijo z Windows API. Programski jezik. Odprtokodna knjižnica za računalniški vid. Gradient je diferencialna operacija, definirana nad skalarnim ali vektorskim poljem, ki pove, v kateri smeri se polje najbolj spreminja. Momenti se uporabljajo za opis področij, ki so lahko bianrna ali sivinska. Z uporabo memontov lahko določimo površino, center in orientacijo objekta. 6

7 Poglavje 1 Uvod V zadnjih letih je računalniški vid dobil posebno vlogo v interakciji med človekom in multimedijskimi napravami. Z uporabo učinkovitih algoritmov lahko zaznavamo človeške gibe v realnem času. Te zaznave gibov lahko procesiramo in uporabimo za sprožitev določenega dogodka. Na primer: s premikom roke v levo smer lahko premaknemo miško na zaslonu v levo smer. Take algoritme lahko uporabimo tudi v varnostne namene in sicer, da sprožijo alarm ko zaznajo, da se nekdo sprehaja po dvorišču. Ta tehnologija se lahko uporablja tudi v zabavnejše namene. Kot primer navajamo Microsoftovo novo igralno konzolo imenovano Kinect, s katero lahko igramo razne igre samo z uporabo človeških gibov. V osnovi vse kar potrebujemo za izdelavo zgoraj omenjenih stvari, je dobro poznavanje algotimov za zaznavanje gibov in kamero s katero bomo zajemali slike. Cilj te naloge je predstaviti različne principe in metode za zaznavo gibov in prikazati praktično delovanje z eno izmed opisanih metod, na programu s katerim bomo lahko z določenimi gibi upravljali računalnik. V nadaljevanju bosta predstavljena dva glavna principa zaznavanja gibov in iz vsakega bosta natančneje opisani dve metodi. Pred tem pa se bomo seznanili z osnovami zaznavanja gibov. 7

8 Poglavje 2 Osnove zaznavanja gibov Ko govorimo o zaznavanju gibanja v računalniškem vidu, imamo v večini primerov opravka z zaporedjem slik, s pomočjo katerih želimo ugotoviti gibanja objektov, iz ene slike v drugo. Objekt na sliki, si lahko predstavljamo kot skupek sosednjih točk, ki ima določene lastnosti. Če želimo ugotoviti gibanje določenega objekta, se moramo spopasti najprej z identifikacijo objekta. Identifikacija znaša v ugotovitvi objekta na sliki. Če poznamo lastnosti objekta, katerega želimo identificirati, lahko te uporabimo za predelavo slike v kateri iščemo objekt. Na primer, če želimo ugotoviti lokacijo rdeče žoge na sliki, lahko uporabimo lastnost barve objekta za predelavo slike tako, da iz slike izluščimo samo objekte z rdečo barvo. Na takšen način lahko zelo efektivno zaznavamo gibanje žoge, vendar ob predpostavki, da se na sliki ne nahajajo drugi rdečkasti objekti. Pri identifikaciji objektov katerih ne poznamo, je potrebno določiti lastnosti na katere se navezujejo. Pomembno je, da so te lastnosti čim bolj unikatne, saj le takšne lastnosti vodijo do efektivnega sledenja določenega objekta. Slika 2.1: Slika prikazuje dobre in slabe lastnosti za sledenje določenega objekta. Lastnosti prikazane znotraj kvadrata so slabe, lastnosti znotraj kroga pa so dobre lastnosti za sledenje določenega objekta. Vir: povzeto po [6]. 8

9 Na sliki 2.1 lahko vidimo kaj so slabe in dobre lastnosti za sledenje avtomobila. Lastnosti, ki predstavljajo del vetrobranskega stekla ali rob pnevmatike niso primerne za efektivno sledenje avtomobila. To pa zato, ker lahko na sliki poiščemo več različnih lokacij, katere vsebujejo takšne lastnosti in posledično ne bomo mogli natančno povedati, kje se bo takšna lastnost na naslednji pojavila. Izkaže se, da so koti in unikatne teksture na objektu zelo dobre lastnosti za robustno in efektivno sledenje, saj so takšne lastnosti za razliko robov in enobarvnih tekstur unikatne. Sedaj ko poznamo kakšne so dobre lastnosti za sledenje, lahko te posredujemo metodam za zaznavaje gibov, katere bodo izračunale premik objekta iz ene slike v drugo. V tej nalogi bodo predstavljene metode iz dveh različnih principov, več v nadaljevanju. 2.1 Optični tok Ideja optičnega toka (ang. optical flow) je oceniti gibanje med dvema slikama, brez kakršnega znanja o kontekstu teh slik. Tipično, gibanje predstavlja nek dogodek, ki se zgodi pri premiku iz ene slike v drugo. Optični tok je prikazan na sliki 2.2. Slika 2.2: Prikaz optičnega toka. Označene lastnosti (kvadrati) na levi sliki, so sledene čez čas in njihovo premikanje je pretvorjeno v vektorje, ki zaznamujejo optični tok (desna slika). Vir: povzeto po [6]. Točkam na sliki lahko dodelimo neke vrste hitrosti ali optični tok, kateri predstavlja razdaljo premika točke iz ene slike v drugo. Takšen pristop se nanaša na gosti optični tok (ang. dense optical flow), kateri dodeli hitrost vsaki točki na sliki. Optični tok na neki točki nam pove smer gibanja te točke in njeno hitrost premika iz ene slike v drugo. V nadaljevanju bo predstavljena ena izmed metod gostega optičnega toka menovana Horn- Schunck-ova metoda. Na videz je pristop gostega optičnega toka enostaven, saj skuša primerjati točke dveh zaporednih slik, vendar se v praksi izkaže, da ni tako enostavno. Pri premiku belega lista papirja v levo, lahko opazimo, da je večina belih točk pred premikom ostala bela tudi po premiku. Samo robovi se bodo morda spremenili in to samo tisti robovi, ki so pravokotni na smer gibanja. Zato mora gosti optični tok imeti nekakšno interpolacijsko metodo med točkami, katere so lažje sledljive, tako da lahko rešimo premik točk, za katere 9

10 ne znamo ugotoviti premika. Vendar nas takšen način sledenja pripelje do visokih računskih stroškov, kar pa si ne želimo. Zgornji problem nas pripelje do alternative, imenovane redek optični tok (ang. sparse optical flow). Metode takšne narave, se nanašajo na neka povprečja od vnaprej definiranih podmnožic točk, katere bomo sledili. To pomeni, da računamo optični tok samo na določenih delih slike, katere nas zanimajo, kar pripomore do zmanjšanja računskih stroškov. Če bodo te točke vsebovale dobre lastnosti za sledenje, kot so koti, o katerih smo se že pogovarjali, bo sledenje teh točk relativno robustno. Za praktične aplikacije, v katerih je hitrost pomembna, je bolj primerno uporabljati redek optični tok. Za razliko od gostega optičnega toka je redek optični tok precej hitrejši. Matematično, optični tok na dvodimenzionanih slikah izhaja iz enačbe imenovane 2D Motion Constraint Equation[22] (v nadaljevanju enačba gibanja): I T v = I t, (2.1) kjer I T = (I x, I y ) predstavlja intenzivnost prostorskega gradienta, kateri nam pove v katero smer se slika najbolj spreminja in vektor v = (v x, v y ) predstavlja optični tok na točki (x, y) v času t. Ta enačba predpostavlja, da se točke ob gibanju ne spreminjajo in hkrati, da so premiki točk iz slike v sliko majhni. Kljub temu ima enačba zaradi dvodimenzionalne narave slik dve neznanki v x in v y kar pomeni, da merjenje za vsako točko posebej ne pripelje do željenega rezultata v dvodimenzijskem polju. Izračunamo lahko samo gibanje točk, katere so pravokotne na črto opisane z enačbo gibanja Takšno vrst gibanja imenujemo pravokoten optični tok (ang. Normal flow). Slika 2.3: Prikaz dvo-dimenzionalnega optičnega toka na eni točki. Optični tok na eni točki je nedoločen. Lahko izračunamo samo gibanje točk, katere so pravokotne na črto opisano z enačbo gibanja. Pri pravokotnem optičnem toku lahko preide do problema odprtine (ang. aperture problem). Ta se zgodi kadar imamo majhno odprtino za merjenje gibanja. Kadar ugotovimo gibanje v neki majhni odprtini, pogosto vidimo rob in ne kot. Vendar sam rob ni dovolj, da bi ugotovili v katero smer se objekt premika (slika 2.4). 10

11 Slika 2.4: Problem odprtine - Skozi odprtino vidimo da se nek objekt premika iz leve proti desni (zgornja vrstica), vendar ne moremo zaznati da se objekt hkrati premika navzdol (spodnja vrstica). Vir: povzeto po [6]. Zaradi tega, morajo metode optičnega toka uporabiti dodatne predpostavke za izračun gibanja. V nadaljevanju bo predstavljena ena izmed najpopularnejših metod iz redkega optičnega toka, imenovana Lucas-Kanade Metoda Lucas-Kanade Algoritem Lucas-Kanade je bil prvotno predlagan leta Njegova avtorja sta bila Bruce D. Lucas in Takeo Kanade [19]. Algoritem je postal zelo popularen, saj se ga lahko enostavno uporabi za neko podmnožico točk na sliki. To pa zato, ker algoritem temelji samo na lokalnem območju na sliki kar pomeni, da je računanje gibanja zelo hitro. Slabost tega je, da ta algoritem ne zazna premike izven lokalnega območja. Ta problem so rešili tako, da so razvili Piramidni Lucas-Kanade algoritem, kateri zaznava spremembe od najvišje stopnje slike (grobe spremembe) pa do najnižjih stopenj (fine spremembe) [20]. V tej nalogi bomo predstavili samo osnovno metodo Lucas-Kanade. Osnovna ideja Lucas-Kande algoritma sestoji iz treh predpostavk (slika 2.5). 1. Stalna svetlost (ang. Brightness constancy). Točka iz nekega objekta na sliki naj se ne bi spremenila, če bi se premaknila iz ene točke na prvotni sliki v drugo točko na naslednji sliki. Za črno belo sliko to pomeni, da se svetlost točke ne bi spremenila iz ene slike v drugo. 2. Majhni premiki (ang. Temporal persistence). Premiki naj bi se spreminjali počasi s časom. V praksi to pomeni, da so premiki iz ene slike v drugo, relativno majhni. 3. Prostorska usklajenost (ang. Spatial coherence). Sosednje točke na sliki naj bi pripadale isti površini, imele podobno gibanje in se preslikale v bližnje točke na slikovni ravnini. 11

12 Slika 2.5: Osnovne tri predpostavke za Lucas-Kanade. Vir: povzeto po [6]. Prve dve predpostavki izhajata iz enačbe gibanja 2.1. Tretjo predpostavko (prostorska usklajenost), sta Lucas in Kanade uporabila za rešitev problema odprtine. Če se točke v neposredni bližini premikajo usklajeno, potem lahko rešimo gibanje centralne točke tako, da uporabimo sosednje točke za pridobitev sistema enačb. Na primer, če uporabimo okno velikosti 5x5 okoli trenutne točke za izračun gibanja, lahko sestavimo 25 enačb na sledeč način: I x (p 1 ) I y (p 1 ) I x (p 2 ) I y (p 2 ).. } I x (p 25 ) I y (p 25 ) {{ } A 25x2 [ vx v y }{{} d 2x1 ] = I t (p 1 ) I t (p 2 ) }. I t (p 25 ) {{ } b 25x1 (2.2) Sedaj imamo sistem enačb, v katerem imamo več enačb kot neznank. Za rešitev takšnega sistema, uporabimo metodo weighted least squares, kjer min Ad b 2 je rešen v sledeči obliki: (A T A) }{{} 2x2 }{{} d 2x1 = A T b }{{} 2x1 (2.3) Iz te relacije pridobimo komponenti optičnega toka v x in v y. Rešitev enačbe je torej: [ ] vx = (A T A) 1 A T b (2.4) v y Enačba je lahko rešljiva, ko je matrika (A T A) obrnljiva, obrnljiva pa je takrat, kadar je rang matrike enak 2. Z drugimi besedami to pomeni, da bo enačba rešljiva takrat, ko se bo objekt znotraj naše 5x5 odprtine premikal v vsaj dve smeri. 12

13 2.1.2 Metoda Horn-Schunck Metodo Horn-Schunck sta razvila Berthold Horn in Brian Schunck leta 1981 [21]. Metoda spada med gosti optični tok, kar pomeni da izračunava optični tok za vsako točko na sliki. Za izračun komponenti optičnega toka v x in v y sta Horn in Schunck predpostavila, da se točke na sliki premikajo v enako smer in hkrati, da je premik točk relativno podoben. To pomeni, da imajo vektorji optičnega toka enako oziroma podobno smer in hitrost gibanja. Matematično sta to dosegla tako, da sta uveljavila gladkostno omejitev (ang. smoothness constraint) nad komponentama optičnega toka v x in v y : v x x x 1 α I x (I x v x + I y v y + I t ) = 0 (2.5) v y y y 1 α I y (I x v x + I y v y + I t ) = 0 (2.6) Tukaj α predstavlja konstanto težnostnega koeficienta, poznana kot konstanta urejanja (ang. regularization constant). Večja kot je vrednost α, večja je gladkost vektorjev optičnega toka. Ta relativno preprosta konstanta za povečanje gladkosti ima tudi negativno lastnost na regijah, v katerih se optični tok spreminja v velikosti. Kar pomeni, da če se bodo določene točke na regiji premikale hitreje kot ostale, se bo optični tok teh točk prilagodil ostalim. To pa zato, ker se komponenti optičnega toka v x in v y izračunata na podlagi povprečja sosednjih točk. V primerjavi z metodo Lucas-Kanade, je ta metoda precej počasnejša in tudi ne podpira ujemanja na širšem območju kar pomeni, da ne zaznava velikih premikov. Zaradi naštetih pomanjkljivosti se to metodo le redko uporablja. 2.2 Mean shift in CAMshift V tem poglavju bosta predstavljeni dve neparametrični metodi, in sicer Mean shift in CAMshift. Ti metodi sta si med seboj zelo podobni. Za razliko od optičnega toka, kateri računa gibanje vseh točk (gosti optični tok) ali gibanje točk za določeno območje (redek optični tok) na sliki, ti dve metodi računata gibanje celotnega objekta. To pomeni, da ti dve metodi izračunata samo en vektor, kateri predstavlja hitrost in smer gibanja objekta. Oblika objekta katerega želimo slediti se v večini primerov spreminja. Recimo, če želimo slediti človeku kateri se sprehaja po ulici, bomo zelo težko definirali njegovo strukturo, saj se ta ob hoji spreminja. Zaradi tega, ti dve metodi modelirajo objekt s pomočjo barvnih histogramov Histogrami Histogram je vrsta grafikona, ki se uporablja v statistiki za prikaz porazdelitve določene statistične spremenljivke. Če govorimo o barvnem histrogramu, nam ta predstavlja graf, kateri prikazuje število pojavitev barvnih vrednosti na sliki za vnaprej določene skupine (bin-e) (slika 2.6). Barvni histogram je lahko zgrajen nad poljubnim barvnim prostorom s poljubno dimenzijo. Sestavljen je lahko iz več histogramov, kateri vsak predstavlja določeno komponento barvnega prostora. Vsak histogram je sestavljen iz določenega števila bin-ov. Bin si lahko 13

14 Slika 2.6: Prikaz histograma na sivinski sliki. Na levi strani je sivinska slika in na desni je prikazan njen histogram. X os histograma predstavlja število bin-ov in y os predstavlja število pojavitev barvnih vrednosti na sliki. predstavljamo kot skupino, katera vsebuje skupek barvnih vrednosti določene komponente. Za lažje razumevanje, vzemimo R komponento RGB barvnega prostora in jo razdelimo na 4 bin-e. V osnovi, R komponenta razpenja barvne vrednosti od 0 do 255. Če to razdelimo v 4 bin-e, dobimo štiri skupine (bin-e), katere vsebujejo enako število barvnih vrednosti (v našem primeru, vsak bin vsebuje 64 barvnih vrednosti): 1. bin vsebuje barvne vrednosti od 0 do bin vsebuje barvne vrednosti od 64 do bin vsebuje barvne vrednosti od 128 do bin vsebuje barvne vrednosti od 192 do 255 V tem primeru, v bin-e shranjujemo število pojavitev barvnih vrednosti R komponente na določeni sliki. To naredimo tako, da na podlagi barvne vrednosti R komponente na neki točki, povečamo za ena samo tisti bin v katerega vrednost spada. Torej, če bo določena točka na sliki vsebovala barvno vrednost 24 bomo 1. bin-u prišteli vrednost ena, saj 24 pripada območju od 0 do 63. Če se vrnemo na zgornjo sliko 2.6, lahko opazimo, da je histogram na sliki razdeljen na 256 bin-ov kar pomeni, da merimo število pojavitev za vsako barvno vrednost posebej. Za sledenje določenega objekta s pomočjo Mean shift ali CAMshift metode, je najprej potrebno ločiti objekt od ozadja. Za lažje razumevanje bomo predstavili ločitev objekta od ozadja s preprostim primerom. Na sliki 2.7a imamo sliko roke katero bi radi ločili od ozadja. Za ločitev roke od ozadja bomo uporabili H komponento HSV barvnega prostora. Postopek ločitve lahko opišemo v naslednjih korakih: 1. definiramo novo sivinsko sliko v kateri bomo shranjevali verjetnosti (od 0 do 255) za vsako točko. 14

15 2. označimo področje roke na sliki 2.7a in nad označenim področjem izračunamo enodimenzijski histogram H komponente HSV barvnega prostora. Histogram bo razdeljen na 180 bin-ov kar pomeni, da bo vsaka barvna vrednost H komponente predstavljala en bin. Za razliko od ostalih barvnih komponent, katere razpenjajo barvne vrednosti od 0 do 255, H komponenta HSV barvnega prostora razpenja barvne vrednosti od 0 do preberemo vrednost H komponente za vsako točko na originalni sliki 4. za vsako prebrano vrednost na lokaciji (x, y) poiščemo ustrezen bin na histogramu in vrednost poiskanega bin-a zapišemo v sliko definirano v točki 1 na lokacijo (x, y). Na primer, če je vrednost točke na lokaciji (0,0) znotraj originalne slike enaka 26, poiščemo na izračunanem histogramu bin 26 in zapišemo njegovo vrednost v novo sliko na lokacijo (0,0). Večja kot je vrednost bin-a, večja je verjetnost da bodo točke, katere pripadajo tem bin-u predstavljaje roko. Pri tem moramo paziti, saj je lahko vrednost posameznega bin-a večja, kot je maksimalna vrednost v sivinskih slikah (255). Če pride do tega, zapišemo vrednost 255 namesto vrednost bin-a. 5. rezultat tega postopka je prikazan na sliki 2.7b Slika 2.7: Prikaz delovanja barvnega histograma za ločitev roke od ozadja, s pomočjo H komponente HSV barvnega prostora. Leva slika predstavlja originalno sliko, bel kvadrat predstavlja označeno območje za izračun histograma, kateri je razdeljen na 180 bin-ov. Desna slika predstavlja ločeno roko od ozadja. Svetlejše točke na desni sliki predstavljajo večjo verjetnost in temnejše točke predstavljajo manjšo verjetnost, da točka pripada roki. Teoretično je sivinska slika prikazana na sliki 2.7b sestavljena iz največ 180 različnih sivinskih vrednosti med 0 in 255, saj tolikšno je število bin-ov iz katerih beremo vrednosti. Sedaj lahko takšen rezultat prikazan na 2.7b posredujemo Mean shift ali CAMshift metodi, kateri bosta izračunali smer in hitrost gibanja roke, več v nadaljevanju. 15

16 2.2.2 Metoda Mean shift Mean shift predstavlja metodo neparametričnega razvrščanja v skupine (ang. clustering). Za razliko od klasičnega K-means pristopa za razvrščanje v skupine [7], nima vgrajenih predpostavk o obliki porazdelitve in o število gruč (ang. clusters). Fukunaga in Hostetler sta bila prva katera sta predlagala Mean shift metodo leta 1975 [8]. Leta 1995 jo je Cheng sprejel za analizo slik [9]. Kasneje so jo Comaniciu, Meer in Ramesh razširili na probleme računalniškega vida na področju segmentacije in glajenja slik [10] ter na področju sledenja [11]. Mean shift se je na začetku uporabljal za ugotovitev najgostejšega območja določene podatkovne distribucije (ang. data distribution). Recimo, da imamo točke na koordinatnem sistemu z x in y osjo in bi želeli ugotoviti na katerem območju so točke najgostejše (slika 2.8). Če želimo uporabiti Mean shift metodo za ugotovotev najgostejšega območja, moramo najprej izbrati začetno območje. Začetno območje je lahko poljubne oblike, velikosti in na poljubnem mestu. Različna začetna območja nas lahko pripeljejo do različnih rešitev še posebej, kadar imamo več gostejših območij. V našem primeru smo izbrali začetno območje okrogle oblike w 0 (slika 2.8), katerega podamo Mean shift metodi. Za lažje razumevanje predpostavimo, da točke na koordinatnem sistemu niso utežene. Nato delovanje Mean shift metode lahko opišemo v sledečih korakih: 1. definiramo spremenljivko X n (x, y), kjer vrednosti x in y predstavljata središče začetnega območja. n predstavlja iteracijo v kateri se nahajamo, to nastavimo na vrednost 0 (na sliki X 0 (x, y)). 2. V začetnem območju w n, poiščemo središče točk (v nadaljevanju centroid), katere se nahajajo znotraj začetnega območja. Povečamo n za ena in shranimo koordinate centroida x in y v X n (x,y). V našem primeru centroid predstavlja povprečje x in y koordinati točk, vsebovane v začetnem območju. 3. Začetno območje centriramo na izračunan centroid X n (x,y). Vektor, kateri poteka iz X n 1 (x,y) do X n (x,y) se imenuje Mean shift vektor. 4. Preverimo, če je dolžina Mean shift vektorja večja od nič. Če je enaka nič, nam metoda vrne območje w n, če je večja od nič se vrnemo na točko 2. Ponavadi Mean shift metoda vsebuje tudi zaustavitveni pogoj, katerega podamo kot parameter. V zgornjem primeru se bo metoda ustavila, ko bo Mean shift vektor enak 0, vendar lahko bi nastavili, da nam vrne območje, ko je Mean shift vektor blizu ničle. V praksi se za zaustavitveni pogoj poda maksimalno število iteracij. Recimo, če podamo metodi število 10 kot maksimalno število iteracij pomeni, da če metoda ne konvergira v desetih iteracijah, nam vrne območje iz zadnje iteracije. Izkaže se, da se v večini primerov metoda zaključi pred deseto iteracijo. Če Mean shift metodo združimo z barvnimi histogrami, lahko to metodo uporabimo za sledenje objekta. In sicer, izberemo začetno območje, nastavimo zaustavitvene pogoje in izvedemo Mean shift metodo nad sliko pridobljeno s pomočjo histogramov (slika 2.7b). Na sliki 2.7b lahko opazimo, da imamo točke različne svetlosti, kar pomeni da so točke utežene. Kako izračunati centroid, če imamo množico uteženih točk bomo povedali pri CAMshift-u, 16

17 Slika 2.8: Delovanje Mean shift metode. Zasenčena črna točka X 0 (x, y) predstavlja središče začetnega območja, n predstavlja iteracijo v kateri se nahajamo, črtkan krog predstavlja območje in puščice predstavljajo premike iz X n 1 (x,y) do X n (x,y) (Mean shift vektor). Vir: povzeto po [12]. kjer bomo postopek podrobneje razložili. Rezultat metode Mean shift nam pove območje nahajanja sledenega objekta, v našem primeru roke. Torej, če želimo slediti določenemu objektu moramo najprej ločiti objekt od ozadja s pomočjo histograma, izvesti Mean shift metodo nad rezultatom histograma in to moramo početi za vsako sliko posebej. Slabost te metode je, da je občutljiva, če se objekt približa ali oddalji od objektiva, saj se velikost začetnega območja ne spreminja. Kar pomeni, če imamo tako veliko začetno območje, da v njem ležita dva podobna objekta, ne bomo morali pravilno sledili želenemu objektu, saj bo centroid ležal med dvema objektoma in ne na želenem objektu. Zaradi tega so to metodo razširili v CAMshift metodo, katera je odporna na omenjeno težavo, več v nadaljevanju. 17

18 2.2.3 Metoda CAMshift Bradski je leta 1998 predlagal CAMshift metodo, s katero lahko sledimo določenemu objektu v realnem času tudi na zelo počasnih računalnikih [13] (v članku je Bradski uporabljal Pentium 300Mhz). Ta metoda izhaja iz prej predstavljene Mean shift metode, katero je Bradski prilagodil tako, da je odporna nad približevanjem in oddaljevanjem sledenega objekta. Izraz CAMshift pomeni Continuously Adaptive Mean shift, saj je CAMshift v osnovi Mean shift z razliko, da ne temelji na statičnem začetnem območju (v nadaljevanju začetno okno). Bradski je v svojem članku uporabil to metodo za letenje čez tridimenzionalni grafični model Havajev in za igranje računalniške igre Quake 2 na podlagi sledenja obraza. V tej nalogi bo ta metoda uporabljena za upravljane kurzorja na podlagi sledenja roke. CAMshift metoda računa momente (ang. moments), s pomočjo katerih izračuna centroid nad rezultatom histogramov (slika 2.9b) znotraj začetnega okna (področje katerega bomo sledili), velikost novega iskalnega okna (začetno okno se ročno izbere ob inicializaciji) in tudi orientacijo sledenega objekta. Za razliko Mean shift metode se iskalno okno pri CAMshiftu spreminja, zato da lahko sledimo tudi objektom, kateri se približujejo ali oddaljujejo od objektiva in hkrati je tudi bolj odporna na zavajajoče objekte (slika 2.10). Slika 2.9: a) Prikaz iskalnega okna (plav kvadrat) in njenega centroida (središče kvadrata) CAMshift metode; b) Prikaz slike pridobljene s pomočjo eno-dimenzijskega histograma na H (hue) komponenti HSV barvnega prostora. Vir: povzeto po [13]. Slika 2.10: Prikaz CAMshift metode uporabljena za sledenje obraza, odporna na zavajajoče objekte (dodaten obraz). Beli križ predstavlja orientacijo sledenega objekta (obraza). Vir: povzeto po [13]. 18

19 Za izračun centroida znotraj iskalnega okna moramo najprej izračunati moment 0. reda M 00 (ang. zeroth moment) M 00 = I(x, y), (2.7) x y nato poiščemo še moment 1. reda (ang. first moment) za x M 10 in y M 01 M 10 = x y xi(x, y) M 01 = x y yi(x, y), (2.8) in sedaj se lokacija centrioda (x c, y c ) izračuna kot x c = M 10 M 00 y c = M 01 M 00, (2.9) kjer I(x, y) predstavlja verjetnost točke (x, y) (v primeru sivinske slike 2.9 je ta verjetnost med 0 in 255) na sliki ter x in y pa predstavljata območje iskalnega okna. Ta postopek ponavljamo dokler se lokacija centroida ne spreminja več (ali dokler ne pridemo do zaustavitvenega pogoja, katerega podamo ob inicializaciji metode). Nato za izračun orientacije dvo-dimenzionalne verjetnostne distribucije potrebujemo še moment 2. reda (ang. second moment) za x 2 M 20 in y 2 M 02 M 20 = x nato orientacija objekta je θ = y x2 I(x, y) arctan ( M20 M 02 = x ( ) M10 M 01 2 x c y c M 00 ) ( ) M02 x M 2 c yc 00 M y y2 I(x, y), (2.10). (2.11) Sedaj lahko pridobimo dolžino in širino sledenega objekta s pomočjo zgornje enačbe na sledeč način: Naj bo a = M 20 x 2 M c, 00 ( ) M10 M 01 b = 2 x c y c in M 00 c = M 02 M 00 y 2 c, nato se dolžina l in širina w iz izračuna kot (a + c) + b l = 2 + (a + c) 2, (2.12) 2 (a + c) b w = 2 + (a + c) 2. (2.13) 2 19

20 Slika 2.11: a) Prikazuje dolžino, širino in orientacijo sledečega objekta (obraza) b) Prikaz slike pridobljene s pomočjo eno-dimenzijskega histograma na H (hue) komponenti HSV barvnega prostora. Vir: povzeto po [13]. Na sliki 2.11 so vidni rezultati zgornjih enačb pri sledenju obraza. Sedaj ko smo vse to izračunali, moremo izračunati še velikost novega iskalnega okna. Velikost novega iskalnega okna na dvo-dimenzionalni verjetnostni distribuciji, kjer je maksimalna verjetnost neke točke 255 se izračuna na sledeč način s = 2 M00 256, (2.14) kjer s predstavlja širino okna in vrednost 256 predstavlja skupno število različnih verjetnosti. Za višino iskalnega okna je Bradski postavil na 6 s, saj se je ukvarjal s sledenjem obraza, 5 katera velikost je eliptična. Vendar, če želimo slediti poljubnemu objektu je razmerje med širino in višino iskalnega okna neznana. Za rešitev tega problema so predlagali naslednje [14]: Naj bo b širina, h višina in s 2.14 velikost iskalnega okna, dobimo bh = s 2 (2.15) Razmerje med dolžino in širino iskalnega okna naj bo enako razmerju dolžine l 2.12 in širine w 2.13 sledečega objekta ter dobimo b h = w l, (2.16) nato w l b = l s h = w s (2.17) S predlaganim postopkom za izračunavanje iskalnega okna, lahko sledimo objektom različnih oblik in hkrati je tudi bolj odporen na deformacije sledenega objekta. Celotna kompleksnost CAMshift metode je O(αN 2 ), kjer je α konstanta in NN pa velikost slike. Velikost konstante α je odvisna od računanja momentov in število iteracij, potrebno za izračunanje centroida. 20

21 Poglavje 3 Implementacija Upravljanje kurzorja z gibi rok Kot smo že omenili, je to poglavje namenjeno predstavitvi praktične implementacije računalniške miške s pomočjo računalniškega vida. Opisano bo natančno delovanje programa, metode katere so bile uporabljene, nastali problemi ki so bili prisotni in zaključek. 3.1 Ideja Osnovna ideja programa je, da lahko premikamo miško po ekranu brez dejanske uporabe miške, vendar z uporabo spletne kamere in roke. Za implementacijo programa je bil uporabljen programski jezik Python, s pomočjo odprtokodne knjižnjice OpenCV [24], katera vsebuje funkcije za zajemanje in obdelavo slik [25], za premik miške po ekranu je bila uporabljena knjižnjica PyWin32 [28]. Za pravilno delovanje programa mora biti spletna kamera postavljena v višini vsaj 30 cm nad podlago na kateri bo roka postavljena in mora biti obrnjena proti njej. V praksi je najlažje, da se kamera postavi nad ekranom, katera je obrnjena proti mizi, kjer bo postavljena roka (za lažjo razumevanje slika 3.1). Slika 3.1: Postavitev kamere in roke za pravilno delovanje programa. Priporočljivo je, da podlaga na kateri bo roka postavljena ne vsebuje predmetov, katerih barva je podobna barvi kože, saj lahko takšni predmeti pripeljejo do nepravilnega delovanja 21

22 programa. Na začetku, ko program poženemo moremo označiti področje roke, saj se bo na podlagi označenega območja program naučil o naši barvi kože in bo posledično znal ločiti roko od ozadja. Tukaj je pomembno, da ko označujemo območje roke ne označimo še podlage, saj pride do šuma pri prepoznavanju roke (več v nadaljevanju). Ko označimo območje roke, bo program to območje tudi posredoval CAMshift algoritmu, kateri kot že omenjeno je bil uporabljen za sledenje roke. CAMshift algoritem je implementiran v OpenCV-ju in za delovanje potrebuje tri parametre. Prvi parameter je v našem primeru slika na kateri je roka ločena od ozadja, drugi parameter je območje zanimanja (v našem primeru območje roke) ter treji parameter pa so ustavitveni pogoji. Po izvedbi nam CAMshift algoritem vrne novo območje zanimanja, saj kot že vemo iz prejšnjega poglavja CAMshift algoritem spremija velikost okna na podlagi sledenega objekta. Torej v našem primeru se bo okno povečalo, če bomo vse prste stegnili in pomanjšalo, če bomo vse prste skrčili v pest (slika 3.2). Slika 3.2: Slika prikazuje roko katera je ločena od ozadja in plavo obrobljen kvadrat predstavlja območje zanimanja katero nam vrne CAMshift algoritem. Ko se program pravilno nauči prepoznavati roko, lahko začnemo premikati kurzor po ekranu. Za premikanje kurzorja po ekranu mora biti eden od prstov stegnjen (velja za vse prste razen palca. Palec je uporabljen za sprožitev levega miškinega gumba), ostali pa skrčeni tako da tvorijo pest. Na sliki 3.3 so prikazani pravilni položaji (zgornja vrstica) in nepravilni položaji (spodnja vrstica) za premikanje kurzorja. Slika 3.3: Prikaz pravilnih (slike v zelenem okvirju) in nepravilnih (slike v rdečen okvirju) položajev rok za premikanje kurzorja. 22

23 3.2 Delovanje programa Program je razdeljen na tri dele: Prvi del je učenje barv roke, katero se izvede na začetku delovanja, drugi del sestoji iz detekcije in sledenje prsta ter prepoznavanje palca (za levi miškin gumb), tretji del pa je izračun koordinat na zaslonu s pomočjo koordinat, ki jih pridobimo iz spletne kamere ter premik kurzorja (prikaz na sliki 3.4). Slika 3.4: Diagram prikazuje delovanje programa Prepoznavanje in segmentacija roke Program za prepoznavanje roke uporablja tri različne pristope. Prvi pristop uporablja RGB barvni prostor, ostala dva pa uporabljata HSV barvni prostor za prepoznavanje roke. Rezultati vseh treh pristopov se nato združijo v eno sliko, s tem da se v programu lahko opcijsko izklopi združevanja rezultata na podlagi RGB barvnega prostora (v nadaljevanju bo razloženo zakaj). Prvi pristop kateri je bil predlagan na RGB barvnem prostoru [15] deluje tako, da vsako točko na sliki filtrira s sledečim filtrom: If ( R-G >20 and R-G <50 and R>B and R>G and B>G) then skin pixel else non-skin pixel Kar pomeni, da če točka ustreza pogoju jo pobarvamo v belo (je koža), če ne jo pobarvamo v črno in dobimo črno belo sliko. V članku [16] so predlagali blokoven pristop zgornjega filtra. Ideja je da sliko razdeli na bloke in v najboljšem primeru pregleda samo kote bloka. V primeru, da vsi koti ustrezajo zgoraj omenjenem pogojem (RGB filtru) bo cel blok zaznan kot koža. Če vsaj eden od kotov ustreza pogoju, preverimo pogoj za celoten blok, če koti ne ustrezajo pogoju potem predpostavimo, da blok ne predstavlja kože. Ta pristop je bil najprej uporabljen, saj bi moral biti precej hitrejši, kot da bi preverili za vsako točko na sliki posebej. Vendar se je izkazalo da temu ni tako, to pa zato ker so iteracije po matrikah v Python-u neučinkovite, v primerjavi s programskem jeziku C++. Problem je bil rešen z uporabo Python knjižnjice NumPy [27], katera zna zelo hitro in efektivno izvajati operacije nad matrikami. Rezultat tega pristopa je viden na sliki 3.5. Iz slike lahko vidimo, da omenjen filter na beli podlagi učinkuje zelo dobro, na temni podlagi pa precej slabše. 23

24 Prednost tega pristopa je, da za razpoznavanje roke ni potrebno oznac evati podroc ja roke, kot je potrebno pri ostalih dveh pristopih. Slika 3.5: Slika prikazuje delovanje filtra za razpoznavanje c lovekove koz e na RGB barvnem prostoru. Sliki na levi strani predstavljata originalni sliki, sliki na desni pa predstavljata rezultat filtra nad originalnima slikama (rezultat originalne slike na levi, je prikazan v isti vrsti na desni strani). Naslednja dva pristopa, kot z e prej omenjeno uporabljata HSV barvni prostor, saj naj bi bil ta bolj povezan s c lovekovimi barvami [1][2][3]. Pravijo tudi, da so za loc itev roke od ozadja potrebne le H in S komponenti HSV prostora [1][2][3], vendar se je izkazalo da na temni podlagi temu ni tako (slika 3.6). Na podlagi omenjene tez ave s temnimi podlagami, oba pristopa za uc enje roke uporablja celoten HSV prostor. Slika 3.6: Na levi je originalna slika, na sredini sta bili uporabljeni H in S komponenti za uc enje roke, na desni pa so bile uporabljene vse tri komponente. Pri obeh je bilo obmoc je uc enja roke enako, kamera Logitech C510 pa je bila uporabljena za zajem slik. Drugi pristop za uc enje roke uporablja tri-dimenzionalni histogram, saj deluje hitro in zelo uc inkovito. V OpenCV-ju se histogram ustvari s funkcijo CreateHist, katera potrebuje tri parametre. Prvi parameter predstavlja s tevilo bin-ov za vsako dimenzijo histograma, drugi tip histograma in zadnji razpon vrednosti za vsako dimenzijo. S tevilo bin-ov za vsako dimenzijo histograma je postavljena na 32, saj so ugotovili, da tako s tevilo prinas a najboljs e rezultate za detekcijo koz e [17]. Ko ustvarimo histogram, moramo pretvoriti sliko iz RGB v HSV. To naredimo s pomoc jo funkcije CvtColor, katera zna pretvarjati iz enega barvnega prostora v drugega. Nato HSV sliko razdelimo na komponente H, S in V, za to imamo v OpenCV-ju na voljo Split funkcijo, katera razdeli barvni prostor po komponentah, tako da vsako komponento shrani v svojo sliko. Po funkciji Split moramo oznac iti podroc je roke in iz 24

25 oznac enega podroc ja pobrati vse tri komponente. To naredimo tako, da najprej s funkcijo SetImageROI nastavimo na sliki obmoc je zanimanja in nato s funkcijo Copy, kopiramo izbrano obmoc je v novo sliko, to je potrebno narediti za vsako komponento posebej. Kadar smo kopirali izbrana obmoc ja, uporabimo na njih funkcijo CalcHist, katera bo izrac unala histogram na podlagi izbranih obmoc ij za vse tri komponente H, S in V in shranila v zac etni histogram. Omenjena funkcija ima s e en dodaten parameter, kateri omogoc a da lahko dodajamo nova obmoc ja zanimanja brez da bi odstranila stara, vendar tega program ne uporablja. Sedaj ko imamo histogram izrac unan, ga uporabimo na H, S in V komponentah katere smo pridobili s pomoc jo Split funkcije, in sicer s funkcijo CalcBackProject, katera nam vrne sivinsko sliko prikazano na sliki 3.7. Slika 3.7: Slika prikazuje rezultat OpenCV funkcije CalcBackProject. Kot je vidno na zgornji sliki 3.7, nam funkcija vrne ne samo c rne in bele toc ke, ampak tudi vmesne, kar pomeni da toc ke katere so bele je verjetnost da je roka najvec ja, sive toc ke pomenijo da je manjs a verjetnost in toc ke katere so c rne pa, da je verjetnost najmanjs a. Izkazalo se je, da vse toc ke katere niso bile c rne pripadajo roki, tako da naslednja funkcija katera je bila uporabljena se imenuje Threshold. S pomoc jo Threshold-a pobarvamo vse ne c rne toc ke v bele toc ke, tako da uporabimo binarni tip threshold-a in kot threshold value damo vrednost 0. Rezultat tega pristopa na temni in svetli pdolagi je prikazan na sliki 3.8. Slika 3.8: Slika prikazuje rezultat histograma za prepoznavanje roke na HSV barvnem prostoru. Sliki na levi strani predstavljata originalni sliki, sliki na desni pa predstavljata rezultat histograma nad originalnima slikama (rezultat originalne slike na levi, je prikazan v isti vrsti na desni strani) 25

26 Tretji pristop, kot z e povedano uporablja HSV barvni prostor in je relativno preprost. Ideja tega pristopa je, da na oznac enem podroc ju zanimanja izrac unamo povprec je za H avgh, S avgs in V avgv komponento in nato pobarvamo toc ke katere ustrezajo naslednjemu filtru. If (H>(avgH-3) and H<(avgH+6) and S>(avgS-25) and V>(avgV-15)) then skin pixel else non-skin pixel Do teh mejnih vrednosti smo pris li s testiranjem na razlic nih podlagah ob razlic nih svetlobnih pogojih, predvsem temnih pogojih, za katere je bil filter posebej prirejen, saj se ostala dva pristopa v temnih pogojih ne odraz ata dobro Za implementacijo tega filtra smo uporabili OpenCV funkciji Avg in InRangeS. Funkcija Avg nam vrne povprec ne vrednosti za H, S in V komponente na oznac enem obmoc ju in nato smo zgornji filter dali kot parameter funkciji InRangeS, katera nam vrne c rno belo sliko, pri kateri bele toc ke predstavljajo roko. Rezultat kateri je viden na sliki 3.9, je bil izveden z enakimi pogoji (enaka svetloba in obmoc je za uc enje) kot na sliki 3.8 iz drugega pristopa. Slika 3.9: Slika prikazuje rezultat z uporabo filtra na HSV barvnem prostoru za prepoznavanje roke. Sliki na levi strani predstavljata originalni sliki, sliki na desni pa predstavljata rezultat histograma nad originalnima slikama (rezultat originalne slike na levi, je prikazan v isti vrsti na desni strani) Slika 3.10: Slika prikazuje delovanje pristopov za zaznavanje roke v zelo temnih pogojih. a) Originalna slika b) Tretji pristop, z uporabo povprec ja H, S in V komponente c) Drugi pristop, z uporabo histogramov na HSV barvnem prostoru d) Prvi pristop, z uporabo predlaganega filtra na RGB barvnem prostoru 26

27 Sedaj moremo rezultate teh pristopov združiti v eno samo sliko. To naredimo s pomočjo OpenCV funkcije Or katera združi dve sliki tako, da istoležne točke na slikah primerja. Če je na vsaj eni sliki bela točka, bo na združeni sliki bela točka, če ne bo črna točka. Program najprej združi drugi in tretji pristop in nad rezultatom združimo še prvi pristop, za katerega smo omenili, da ga lahko izklopimo (se ne izvede združitev). To pa zato, ker ob povzroča veliko šuma kadar se na sliki pojavljajo kakšni rumenkasti predmeti 3.10 in posledično onemogoča pravilno delovanje programa. Slika 3.11: Slika prikazuje delovanje pristopov za zaznavanje roke na podlagi z različnimi objekti. a) Originalna slika b) Tretji pristop, z uporabo povprečja H, S in V komponente c) Drugi pristop, z uporabo histogramov na HSV barvnem prostoru d) Prvi pristop, z uporabo predlaganega filtra na RGB barvnem prostoru Po združitvi vseh treh pristopov, vidno na sliki 3.12b, bomo sliko izboljšali s pomočjo OpenCV filtrov, s katerimi bomo odstranili šume in napolnili črne luknje, katere so prisotne na roki. Črne luknje bomo napolnili z en-kratnim zapiranjem slike s pomočjo funkcije MorphologyEx, s funkcijo Smooth z uporabo medianinega filtra v velikosti 15x15, bomo odstranili šume in pogladili robove roke. Rezultat je viden na sliki 3.12c Slika 3.12: Slika prikazuje združitev vseh pristopov za prepoznavanje roke in njeno izboljšavo z uporabo OpenCV filtrov. a) Originalna slika b) Združitev vseh pristopov za prepoznavanje roke c) Izboljšava združitve s pomočjo OpenCV filtrov Detekcija prsta Če želimo poiskati na sliki prst, moramo najprej poznati območje, kjer se roka nahaja. Tukaj nastane problem, saj območje zanimanja, katerega nam ga vrne CAMshift algoritem ne pokriva celotne roke. Območje, ki nam ga CAMshift algoritem vrne je prikazan na sliki 3.2. Problem je bil rešen, tako da smo na podlagi CAMshift-ovega območja izračunali novo območje, ki pa je zajemalo celotno površino roke. Izračunali smo ga tako, da smo si za 27

28 osnovo vzeli spodnjo stranico CAMshift-ovega območja. Spodnja stranica vedno predstavlja začetek roke in na podlagi te stranice smo izračunali novo območje, tako da spodnja stranica novega območja leži na spodnji stranici CAMshift-ovega območja, dolžina in širina novega območja pa se določi v programu. Kljub temu imamo še en problem, in sicer palec kateri bo bil uporabljen za sprožitev miškinega levega gumba, se na levi roki nahaja na desni strani, na desni roki pa na obratni strani. Ta problem je bil rešen tako, da smo v program dodali možnost izbire za sledenje leve ali desne roke, katera je na podlagi izbrane roke premaknila okno bolj na levo ali na desno (slika 3.13). Slika 3.13: Slika prikazuje novo izračunano območje za levo in desno roko. Plavo obrobljen kvadrat predstavlja CAMshift-ovo območje zanimanja (iskalno okno), zelen obrobljen kvadrat pa predstavlja novo izračunano območje roke za levo roko (na levi) in desno roko (na desni). Sedaj ko imamo novo področje roke izračunano lahko začnemo iskati prst. Iskanje prsta poteka tako, da se sprehodimo po območju roke, in sicer začnemo zgoraj levo ter se sprehajamo proti desni strani. Na začetku imamo naslednje spremenljivke, katere so vse postavljene na vrednost 0: število prstov, širina prsta in višina prsta ter maksimalna širina prsta, katera vrednost je določena v programu. Če pridemo do bele točke si shranimo koordinate točke, saj je možnost da je naš iskani prst, povečamo število prstov in pa tudi širino prsta za ena ter to počnemo dokler se ne pojavi črna točka. Če se pojavi po belih točkah črna točka najverjetneje pomeni, da je konec prsta, vendar se je treba do konca v desno sprehoditi, saj je možnost da se bo še kašno zaporedje belih točk pojavilo. Če se to zgodi pomeni, da smo zaznali dva prsta in posledično končamo z iskanjem, saj eden od pogojev za iskanje je, da moramo za premik miške imeti natančno en prst stegnjen. Če se zaporedje belih točk, se ob sprehodu iz leve proti desni pojavi enkrat, vendar je to zaporedje večje od maksimalne širine prsta ali pa manjše od širine prsta, katero nastavimo v programu, končamo z iskanjem, saj lahko združimo dva prsta tako, da na sliki izgleda kot eden. Če se nobeden od zaustavitveni pogojev zgodi, ko preidemo iz leve proti desni, povečamo višino prsta za ena, se premaknemo eno vrstico nižje in ponovimo postopek. Postopek ponavljamo dokler se kakšen od zaustavitvenih pogojev zgodi ali pa da je višina prsta večja od višina prsta, katero nastavimo v programu. Če smo ugotovili da je višina prsta večja od nastavljene, se nam na prstu pojavi rdeča pika in začnemo premikati kurzor (slika 3.14). Kadar program preide v stanje sledenja, kar pomeni da je zaznal prst, se začne iskanje palca, s pomočjo katerega, kot smo že večkrat omenili, sprožimo levi miškin gumb. Območje 28

29 Slika 3.14: Slika prikazuje stanje, v katerem premikamo kurzor. Plavo obrobljen kvadrat je območje, ki nam ga CAMshift algoritem vrne, zeleno obrobljen kvadrat je našo prirejeno območje v katerem iščemo prst, rumena barva predstavlja naš prst, rdeča pika predstavlja točko na podlagi katere bomo računali premik kurzorja in rdeč obrobljen kvadrat predstavlja območje v katerem iščemo palec. v katerem iščemo palec se izračuna na podlagi zaznanega prsta za premik kurzorja in območja roke. Izračuna se tako, da od območja roke odbijemo področje prsta s katerim premikamo kurzor. Rezultat novega izračunanega območja je prikazan na sliki Postopek za iskanje palca je zelo podoben postopku za iskanje prsta za premik kurzorja, edina sprememba je ta, kako iteracije po območju potekajo. Za obe roki (levo in desno) potekajo iteracije od zgoraj navzdol, s tem da za levo roko se premikamo proti desni, za desno pa proti levi strani. Ko zaznamo palec, program sproži levi miškin gumb tako, da ga postavi v stanje LEFTDOWN. Dokler palca ne skrčimo bo bil levi miškin gumb vedno pritisnjen, kar pomeni, da lahko označujemo in premikamo objekte na ekranu. Kadar bomo palec skrčili se bo stanje levega miškinega gumba spremenilo v LEFTUP, kar pomeni da smo nekaj pritisnili, oziroma če smo nek objekt premikali, ga bomo spustili. Problem nastane, kadar želimo sprožiti dvojni miškin klik, saj če želimo to narediti moremo klikniti dvakrat na enako mesto, vendar se nam v večini primerov roka premakne, ko iztegnemo palec. Za rešitev tega problema je bilo treba beležiti časovne razmake med dvemi kliki. Če je bil razmak dveh klikov pod nekim vnaprej določenim časom, je program sprožil levi klik na lokaciji prejšnjega klika. Vendar izkazalo se je, da tudi to ni bilo dovolj, saj če želimo sprožiti dvojni klik moremo to storiti zelo hitro in v večini primerov ne uspemo dovolj hitro stegniti in skrčiti palca. Zato je bilo potrebno izvesti dvojni klik, kadar se dva klika izvedejo pod določenim časom. Vendar se pri tem dejansko zgodi trojni klik, saj prvi klik se zgodi, ko uporabnik prvič stegne in skrči palec. Če pod določenim časom še enkrat stegne in skrči palec, bo program izvedel še dva klika. V praksi se to sploh ne opazi in hkrati je bila to edina uporabna rešitev za izvajanje dvojnega klika Premik kurzorja Enkrat ko zaznamo prst, s katerim bomo premikali kurzor, vse kar je potrebno še narediti je ustrezen premik miške na zaslonu. Prvi problem s katerim se moremo soočiti je, da ne moremo koordinate zaznanega prsta direktno preslikati na zaslon, zaradi šumov, ki 29

30 nastanejo pri segmentacije roke, saj bi kurzor skakal po zaslonu. Za rešitev te težave ima program ugrajeno krožno vrsto, v katero program shranjuje zadnjih n koordinat, pri čemer se število n lahko spremnija v programu in s pomočjo te izračuna povprečno vrednost za x in y koordinato. Naslednja težava oziroma želja, katera se je pojavila je bila, da premik miške mora biti počasen in hkrati hiter. Počasen zato, ker moramo biti natančni pri klikih manjših objektov (primer: zapiranje okna) in hiter zato, da se lahko premaknemo iz enega konca zaslona na drugi v relativno kratkem odmiku prsta, saj je področje zajemanja roke v večini primerov majhen (odvisen od postavitve kamere). Problem je bil odpravljen, z implementacijo miškinega pospeška (ang. mouse acceleration), s katerim smo dosegli natančnost in hitrost premika miške. Enačba za izračun koordinat na zaslonu je sledeča x = x (ptpx atpx)(1 + sx )a (3.1) rs y = y (ptpy atpy)(1 + sy )a (3.2) rs kjer x in y predstavljata koordinati kurzorja na zaslonu, ptpx in ptpy predstavljata koordinato prejšnje točke prsta, atpx in atpy predstavljata povprečno koordinato prsta, sx in sy predstavlja absolutno razliko med prvo in zadnjo vrednostjo v krožni vrsti, za x in y koordinato prsta, rs predstavlja vrednost miškinega pospeška, katero lahko v programo spreminjamo (manjša kot je rs vrednost večji je miškin pospešek) in a pa predstavlja dodaten pospeševalnik kurzorja. 3.3 Ugotovitve Kljub številnim problemom, kateri so se pojavili ob implementaciji, lahko zaključimo da program deluje po pričakovanjih. Program deluje hitro in zanesljivo, tudi ob slabših svetlobnih pogojih. V tej nalogi so bili uporabljeni trije pristopi za zaznavanje kože, katerih rezultati so bili združeni, res pa je, da če ena od treh metod povzroči šum, se bo ta šum prenesel na skupen rezultat, saj uporabljamo operacijo or nad združitvami. V praksi se je izkazalo, da v večini primerov rezultat, pridobljen iz uporabljenih pristopov, ne povzroča takšnih šumov, da bi bilo zaradi tega sledenje prsta onemogočeno. Ugotovili smo tudi, da nismo potrebovali podatek o orientaciji roke, katerega nam CAMshift vrne, kajti izkazalo se je, da imamo roko obrnjeno vedno proti kameri. V primerjavi s tradicionalno miško je naša rešitev precej bolj procesorsko požrešna, vendar z današnjo tehnologijo to ni več težava. Res pa je, da takšna miška ni primerna za prenosne računalnike, kajti potrebuje več procesorskega časa in posledično pripomore k zmanjšanju avtonomije. Tukaj smo uporabili knjižnjico Psyco za Python [26], katera optimizira delovanje našega programa in pripomore pri zmanjševanju procesorskega časa. Kljub tej optimizaciji je naš program daleč bolj procesorsko požrešen v primerjavi s tradicionalno miško, to pa zato, ker izvajamo številne operacije nad vsako sliko, katere pridobimo s pomočjo kamere. 30

31 3.4 Zaključek Če povzamemo predstavljene metode o katerih smo govorili lahko trdimo, da ima vsaka metoda dobre in slabe lastnosti. Metode iz optičnega toka so v primerjavi z neparametričnimi metodami boljše za sledenje kompleksnejših objektov. Na primer, če sledimo padajoči kapljici vode, bosta predstavljeni neparametrični metodi neuspešno sledili kapljici, ko se bo ta ob stiku s tlemi razdelila na več delov, saj kot vemo ti metodi uporabljajo eno okno za sledenje objekta. Metode optičnega toka bodo bolj uspešno sledili kapljici tudi ob trku s tlemi, saj računajo gibanje za vsako točko posebej. Vendar imajo metode optičnega toka tudi slabo lastnost, da nam vračajo neprecizne rezultate. To pa zato, ker temeljijo na različnih predpostavkah. Neparametrični metodi sta za razliko od metod optičnega toka precej hitrejše, ker ne računata gibanje posameznih točk, ampak gibanje celotnega objekta. Neparametrični metodi imata tudi eno veliko slabost in sicer, da temeljita nad rezultati histogramov. Kot vemo, si histogrami za ločitev objekta od ozadja pomagajo s pomočjo barv, vendar v večini primerov barve niso dovolj za izvedbo ločitve. Recimo, če želimo ločiti roko od podlage katera vsebuje podobne barve, bi s pomočjo histogramov dobili veliko šuma, kateri bo onemogočil natančno sledenje. Res je, da je segmentacija človekove kože še dandanes problem, za katerega lahko trdimo, da še ni povsem rešen. V članku [18] so predstavljeni številni pristopi na različnih barvnih prostorih za prepoznavanje kože, vendar noben ni idealen. Predvidevamo, da bi tudi naš program imel težave pri sledenju roke na podlagi, katera bi bila barva zelo podobna človeški koži, vendar tega ne moremo trditi, saj pri testiranju programa nismo imeli takšne podlage. Za rešitev omenjenega problema bi morali poznati obliko objekta katerega sledimo, vendar lahko nastane problem, saj se lahko oblika objekta zelo spreminja. Prava rešitev bi bila mogoče z uporabo nekakšne umetne inteligence, katera bi iz slike znala prepoznati objekte, tako kot jih zna človek. Predvidevamo, da bomo v prihodnosti s pomočjo umetne inteligence in računalniškega vida lahko zaznavali raznorazne objekte in jim tudi natančno sledili. Kar človek obvlada, bo nekoč tudi računalnik obvladal, le vprašanje časa je kdaj se bo to zgodilo. 31

Reševanje problemov in algoritmi

Reševanje problemov in algoritmi Reševanje problemov in algoritmi Vhod Algoritem Izhod Kaj bomo spoznali Zgodovina algoritmov. Primeri algoritmov. Algoritmi in programi. Kaj je algoritem? Algoritem je postopek, kako korak za korakom rešimo

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

TOPLJENEC ASOCIIRA LE V VODNI FAZI TOPLJENEC ASOCIIRA LE V VODNI FAZI V primeru asociacij molekul topljenca v vodni ali organski fazi eksperimentalno določeni navidezni porazdelitveni koeficient (P n ) v odvisnosti od koncentracije ni konstanten.

More information

ENAČBA STANJA VODE IN VODNE PARE

ENAČBA STANJA VODE IN VODNE PARE ENAČBA STANJA VODE IN VODNE PARE SEMINARSKA NALOGA PRI PREDMETU JEDRSKA TEHNIKA IN ENERGETIKA TAMARA STOJANOV MENTOR: IZRED. PROF. DR. IZTOK TISELJ NOVEMBER 2011 Enačba stanja idealni plin: pv = RT p tlak,

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) O neeksaknotsti eksaktnega binomskega intervala zaupanja (On the inexactness

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

Iskanje najcenejše poti v grafih preko polkolobarjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Veronika Horvat Iskanje najcenejše poti v grafih preko polkolobarjev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Naknadna stabilizacija videoposnetkov

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Naknadna stabilizacija videoposnetkov UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Naknadna stabilizacija videoposnetkov (Subsequent video stabilization) Ime in priimek: Kevin Sedevcic

More information

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida Univerza v Ljubljani Fakulteta za računalništvo in informatiko Grega Kres Razpoznavanje znakov prstne abecede na osnovi računalniškega vida diplomsko delo na visokošolskem strokovnem študiju doc. dr. Iztok

More information

Problem umetnostne galerije

Problem umetnostne galerije Problem umetnostne galerije Marko Kandič 17. september 2006 Za začetek si oglejmo naslednji primer. Recimo, da imamo v galeriji polno vrednih slik in nočemo, da bi jih kdo ukradel. Seveda si želimo, da

More information

Attempt to prepare seasonal weather outlook for Slovenia

Attempt to prepare seasonal weather outlook for Slovenia Attempt to prepare seasonal weather outlook for Slovenia Main available sources (ECMWF, EUROSIP, IRI, CPC.NCEP.NOAA,..) Two parameters (T and RR anomally) Textual information ( Met Office like ) Issued

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

OPTIMIRANJE IZDELOVALNIH PROCESOV OPTIMIRANJE IZDELOVALNIH PROCESOV asist. Damir GRGURAŠ, mag. inž. str izr. prof. dr. Davorin KRAMAR damir.grguras@fs.uni-lj.si Namen vaje: Ugotoviti/določiti optimalne parametre pri struženju za dosego

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Verjetnostni algoritmi za testiranje praštevilskosti (Algorithms for testing primality) Ime in

More information

Topološka obdelava slik

Topološka obdelava slik Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Matjaž Cerar Topološka obdelava slik DIPLOMSKO DELO UNIVERZITETNI INTERDISCIPLINARNI ŠTUDIJ RAČUNALNIŠTVA

More information

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R Multipla koelacia in egesia Multipla egesia, multipla koelacia, statistično zaklučevane o multiplem Multipla egesia osnovni model in ačunane paametov Z multiplo egesio napoveduemo vednost kiteia (odvisne

More information

2 Zaznavanje registrske tablice

2 Zaznavanje registrske tablice Razpoznavanje avtomobilskih registrskih tablic z uporabo nevronskih mrež Matej Kseneman doc. dr. Peter Planinšič, mag. Tomaž Romih, doc. dr. Dušan Gleich (mentorji) Univerza v Mariboru, Laboratorij za

More information

Stiskanje slik z algoritmi po vzorih iz narave

Stiskanje slik z algoritmi po vzorih iz narave Stiskanje slik z algoritmi po vzorih iz narave Gregor Jurgec Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, Maribor gregor.jurgec@gmail.com Iztok Fister Univerza

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Ekstremne porazdelitve za odvisne spremenljivke (Extremal Distributions for Dependent Variables)

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba logistične regresije za napovedovanje razreda, ko je število enot v preučevanih razredih

More information

Linearna regresija. Poglavje 4

Linearna regresija. Poglavje 4 Poglavje 4 Linearna regresija Vinkove rezultate iz kemije so založili. Enostavno, komisija je izgubila izpitne pole. Rešitev: Vinko bo kemijo pisal še enkrat. Ampak, ne more, je ravno odšel na trening

More information

Hipohamiltonovi grafi

Hipohamiltonovi grafi Hipohamiltonovi grafi Marko Čmrlec, Bor Grošelj Simić Mentor(ica): Vesna Iršič Matematično raziskovalno srečanje 1. avgust 016 1 Uvod V marsovskem klubu je želel predsednik prirediti večerjo za svoje člane.

More information

Naloge iz LA T EXa : 3. del

Naloge iz LA T EXa : 3. del Naloge iz LA T EXa : 3. del 1. V besedilo vklju ite naslednjo tabelo skupaj z napisom Kontrolna naloga Dijak 1 2 Povpre je Janko 67 72 70.5 Metka 72 67 70.5 Povpre je 70.5 70.5 Tabela 1: Rezultati kontrolnih

More information

Eulerjevi in Hamiltonovi grafi

Eulerjevi in Hamiltonovi grafi Eulerjevi in Hamiltonovi grafi Bojan Možina 30. december 006 1 Eulerjevi grafi Štirje deli mesta Königsberg v Prusiji so bili povezani s sedmimi mostovi (glej levi del slike 1). Zdaj se Königsberg imenuje

More information

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

AKSIOMATSKA KONSTRUKCIJA NARAVNIH UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Poučevanje: Predmetno poučevanje ŠPELA ZOBAVNIK AKSIOMATSKA KONSTRUKCIJA NARAVNIH ŠTEVIL MAGISTRSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink Laboratorijske vaje Računalniška simulacija 2012/13 1. laboratorijska vaja Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink Pri tej laboratorijski vaji boste spoznali

More information

R V P 2 Predavanje 05

R V P 2 Predavanje 05 R V P 2 Predavanje 05 Kreiranje programskih modulov - Scripts RVP2 Kreiranje programskih modulov 1/44 Programski moduli -Scripts Možnosti: Omogočajo: Izvajanje ukazov Izvajanje logičnih operacij Ob določenih

More information

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe Sistem linearnih enačb Matrična algebra Oseba X X X3 B A.A. 3 B.B. 7 C.C. Doc. dr. Anja Podlesek Oddelek za psihologijo, Filozofska fakulteta, Univerza v Ljubljani Študijski program prve stopnje Psihologija

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: Matematika in računalništvo Fibonaccijevo zaporedje in krožna konstanta

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Sabina Skornšek Maribor, 2012 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba Kalmanovega filtra pri vrednotenju izbranih finančnih instrumentov (Using Kalman filter

More information

Lokalizacija mobilnega robota s pomočjo večsmerne kamere

Lokalizacija mobilnega robota s pomočjo večsmerne kamere Univerza v Ljubljani Fakulteta za računalništvo in informatiko Iztok Oder Lokalizacija mobilnega robota s pomočjo večsmerne kamere DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Verifikacija napovedi padavin

Verifikacija napovedi padavin Oddelek za Meteorologijo Seminar: 4. letnik - univerzitetni program Verifikacija napovedi padavin Avtor: Matic Šavli Mentor: doc. dr. Nedjeljka Žagar 26. februar 2012 Povzetek Pojem verifikacije je v meteorologiji

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Inženirski pristop k načrtovanju in implementaciji reševalca Sudoku za mobilne naprave (Engineering

More information

SIMETRIČNE KOMPONENTE

SIMETRIČNE KOMPONENTE Univerza v Ljubljani Fakulteta za elektrotehniko SIMETRIČNE KOMPONENTE Seminarska naloga pri predmetu Razdelilna in industrijska omrežja Poročilo izdelala: ELIZABETA STOJCHEVA Mentor: prof. dr. Grega Bizjak,

More information

Linearna algebra. Bojan Orel. Univerza v Ljubljani

Linearna algebra. Bojan Orel. Univerza v Ljubljani Linearna algebra Bojan Orel 07 Univerza v Ljubljani Fakulteta za računalništvo in informatiko CIP - Kataložni zapis o publikaciji Narodna in univerzitetna knjižnica, Ljubljana 5.64(075.8) OREL, Bojan Linearna

More information

SVM = Support Vector Machine = Metoda podpornih vektorjev

SVM = Support Vector Machine = Metoda podpornih vektorjev Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in

More information

Evolucija dinamike Zemljine precesije

Evolucija dinamike Zemljine precesije Univerza v Ljubljani Fakulteta za matematiko in fiziko oddelek za fiziko Evolucija dinamike Zemljine precesije Avtor: Ivo Krajnik Ljubljana, 15. marec 2011 Povzetek Bistvo tega seminarja je v sklopu klasične

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO Ljubljana, 2013 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ODDELEK ZA MATEMATIKO IN RAČUNALNIŠTVO SAŠO ZUPANEC Mentor:

More information

VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE

VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Jernej Perhavc VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE DIPLOMSKO DELO UNIVERZITETNEGA TUDIJA Mentor: prof. dr. Jurij F. Tasi LJUBLJANA, 2005 Zahvala

More information

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA UDK 543.428.2:544.171.7 ISSN 1580-2949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 49(3)435(2015) B. PONIKU et al.: USING SIMULATED SPECTRA TO TEST THE EFFICIENCY... USING SIMULATED SPECTRA

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA UDK621.3:(53+54+621 +66), ISSN0352-9045 Informaclje MIDEM 3~(~UU8)4, Ljubljana ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA Marijan Macek 1,2* Miha Cekada 2 1 University of Ljubljana,

More information

Iterativne metode podprostorov 2010/2011 Domače naloge

Iterativne metode podprostorov 2010/2011 Domače naloge Iterativne metode podprostorov 2010/2011 Domače naloge Naloge so razdeljene v 6 skupin. Za pozitivno oceno morate rešiti toliko nalog, da bo končna vsota za pozitivno oceno vsaj 8 točk oz. vsaj 10 točk

More information

Hadamardove matrike in misija Mariner 9

Hadamardove matrike in misija Mariner 9 Hadamardove matrike in misija Mariner 9 Aleksandar Jurišić, 25. avgust, 2009 J. Hadamard (1865-1963) je bil eden izmed pomembnejših matematikov na prehodu iz 19. v 20. stoletje. Njegova najpomembnejša

More information

Particija grafa, odkrivanje skupnosti in maksimalen prerez

Particija grafa, odkrivanje skupnosti in maksimalen prerez Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Matemati ne znanosti - 2. stopnja Peter Mur²i Particija grafa, odkrivanje skupnosti in maksimalen prerez Magistrsko

More information

Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih

Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih Elektrotehniški vestnik 71(1-2): 13 19, 2004 Electrotechnical Review, Ljubljana, Slovenija Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih Peter Rulić,

More information

Intervalske Bézierove krivulje in ploskve

Intervalske Bézierove krivulje in ploskve Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Tadej Borovšak Intervalske Bézierove krivulje in ploskve DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Kvadratne forme nad končnimi obsegi (Quadratic Forms over Finite Fields) Ime in priimek: Borut

More information

Uporaba preglednic za obdelavo podatkov

Uporaba preglednic za obdelavo podatkov Uporaba preglednic za obdelavo podatkov B. Golli, PeF Pedagoška fakulteta UL Ljubljana 2012 Kazalo 1 Uvod 1 2 Zgled iz kinematike 2 2.1 Izračun hitrosti................................... 2 2.2 Izračun

More information

Izmenični signali moč (17)

Izmenični signali moč (17) Izenicni_signali_MOC(17c).doc 1/7 8.5.007 Izenični signali oč (17) Zania nas potek trenutne oči v linearne dvopolne (dve zunanji sponki) vezju, kjer je napetost na zunanjih sponkah enaka u = U sin( ωt),

More information

arxiv: v1 [cs.dm] 21 Dec 2016

arxiv: v1 [cs.dm] 21 Dec 2016 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE arxiv:1612.07113v1 [cs.dm] 21 Dec 2016 Zaključna naloga (Final project paper) Odčitljivost digrafov in dvodelnih

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA Tina Lešnik Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Zgoščevanje podatkov

Zgoščevanje podatkov Zgoščevanje podatkov Pojem zgoščevanje podatkov vključuje tehnike kodiranja, ki omogočajo skrajšan zapis neke datoteke. Poznan program za zgoščevanje datotek je WinZip. Podatke je smiselno zgostiti v primeru

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Troha Robotsko učenje in planiranje potiskanja predmetov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Ivan Bratko Ljubljana,

More information

OPTIMIZACIJA Z ROJEM DELCEV

OPTIMIZACIJA Z ROJEM DELCEV UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: organizacijska informatika OPTIMIZACIJA Z ROJEM DELCEV Mentor: doc. dr. Igor Bernik Kandidat: Matjaž Lipovšek Kranj, december 2005 Izjava: "Študent

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Primerjava modernih pristopov za identifikacijo pomembno izraženih genov za dve skupini (Comparison

More information

56 1 Upogib z osno silo

56 1 Upogib z osno silo 56 1 Upogib z osno silo PREGLEDNICA 1.5 (nadaljevanje): Upogibnice in notranje sile za nekatere nosilce d) Upogibnica prostoležečega nosilca obteženega s silo F Pomik in zasuk v polju 1: w 1 = F b x (L

More information

Izvedbe hitrega urejanja za CPE in GPE

Izvedbe hitrega urejanja za CPE in GPE Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Erker Izvedbe hitrega urejanja za CPE in GPE DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor: doc. dr. Tomaž

More information

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Petelin Sprotno učenje modelov na podlagi Gaussovih procesov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Janez Demšar

More information

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION Table of contents 1 TECHNICAL FIELDS... 2 2 PRESENTING THE SCOPE OF A CALIBRATION LABOORATORY... 2 3 CONSIDERING CHANGES TO SCOPES... 6 4 CHANGES WITH

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Kromatično število in kromatični indeks grafa (The chromatic number and the chromatic index of

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations Študijski program in stopnja Study programme and level Magistrski

More information

TEORIJA GRAFOV IN LOGISTIKA

TEORIJA GRAFOV IN LOGISTIKA TEORIJA GRAFOV IN LOGISTIKA Maja Fošner in Tomaž Kramberger Univerza v Mariboru Fakulteta za logistiko Mariborska cesta 2 3000 Celje Slovenija maja.fosner@uni-mb.si tomaz.kramberger@uni-mb.si Povzetek

More information

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Domen Perc Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

More information

Excel. Matjaž Željko

Excel. Matjaž Željko Excel Matjaž Željko Elektronska preglednica Excel Excel je zmogljiv kalkulator. Omogoča izdelavo grafikonov statistično analizo podatkov lepo oblikovanje poročila za natis Podatke predstavljamo tabelarično,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) Grafi struktur proteinov: Uporaba teorije grafov za analizo makromolekulskih

More information

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija University of Ljubljana Faculty of Mathematics and Physics Modelska Analiza 1 3. naloga - Numeri na minimizacija Avtor: Matic Lubej Asistent: dr. Simon ƒopar Predavatelj: prof. dr. Alojz Kodre Ljubljana,

More information

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ 1 OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ Opis problema. Danih je k vhodnih nizov, ki jih označimo s t 1,..., t k. Množico vseh znakov, ki se pojavijo v vsaj enem vhodnem nizu, imenujmo abeceda in jo označimo

More information

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih Daniel Grošelj Mentor: Prof. Dr. Rudi Podgornik 2. marec 2011 Kazalo 1 Uvod 2 2 Nekaj osnovnih pojmov pri teoriji omrežij 3 2.1 Matrika sosednosti.......................................

More information

Călugăreanu-White-Fullerjev teorem in topologija DNA

Călugăreanu-White-Fullerjev teorem in topologija DNA Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Călugăreanu-White-Fullerjev teorem in topologija DNA Seminar Jure Aplinc, dipl. fiz. (UN) Mentor: prof. dr. Rudolf Podgornik 26.

More information

Kode za popravljanje napak

Kode za popravljanje napak UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE KOPER MATEMATIČNE ZNANOSTI MAGISTRSKI ŠTUDIJSKI PROGRAM 2. STOPNJE Aljaž Slivnik Kode za popravljanje napak Magistrska

More information

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika 1 Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 15. december 2010 Poglavje 3 Funkcije 3.1 Osnovni pojmi Preslikavam v množico R ali C običajno pravimo funkcije v prvem primeru realne, v drugem

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO Rok Erman BARVANJA RAVNINSKIH IN SORODNIH DRUŽIN GRAFOV Doktorska disertacija MENTOR: prof. dr. Riste Škrekovski Ljubljana,

More information

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS G 2014 V ROTACIJA Z ENOTSKIM KVATERNIONOM GEODETSKI VESTNIK letn. / Vol. 58 št. / No. 2 ROTATION WITH UNIT QUATERNION 58/2 Klemen Kregar, Mitja Lakner, Dušan Kogoj UDK: 512.626.824:528 Klasifikacija prispevka

More information

GEOMETRIJSKE FAZE V KVANTNI MEHANIKI

GEOMETRIJSKE FAZE V KVANTNI MEHANIKI GEOMETRIJSKE FAZE V KVANTNI MEHANIKI LARA ULČAKAR Fakulteta za matematiko in fiziko Univerza v Ljubljani V članku so predstavljene geometrijske faze, ki nastopijo pri obravnavi kvantnih sistemov. Na začetku

More information

Analiza oblike in površine stabilograma

Analiza oblike in površine stabilograma Analiza oblike in površine stabilograma France Sevšek, Darja Rugelj UNIVERZA V LJUBLJANI, Visoka šola za zdravstvo, Ljubljana IZVLEČEK Analiza oblike in velikosti področja gibanja projekcije telesnega

More information

Electric Power-System Inertia Estimation applying WAMS

Electric Power-System Inertia Estimation applying WAMS Univerza v Ljubljani Fakulteta za elektrotehniko Teodora Dimitrovska Electric Power-System Inertia Estimation applying WAMS Master's thesis Mentor: doc. dr. Urban Rudež Co-mentor: prof. dr. Rafael Mihalič

More information

Makroekonomija 1: 4. vaje. Igor Feketija

Makroekonomija 1: 4. vaje. Igor Feketija Makroekonomija 1: 4. vaje Igor Feketija Teorija agregatnega povpraševanja AD = C + I + G + nx padajoča krivulja AD (v modelu AS-AD) učinek ponudbe denarja premiki vzdolž krivulje in premiki krivulje mikro

More information

PRESENEČENJA V FIZIKI: VRTAVKE. Mitja Rosina Fakulteta za matematiko in fiziko Ljubljana, 12.marca 2010

PRESENEČENJA V FIZIKI: VRTAVKE. Mitja Rosina Fakulteta za matematiko in fiziko Ljubljana, 12.marca 2010 PRESENEČENJA V FIZIKI: VRTAVKE Mitja Rosina Fakulteta za matematiko in fiziko Ljubljana, 12.marca 2010 1. Vrtavka na prostem 2. Vrtavka na mizi: vrtenje, precesija, nutacija 3. Vrtavka na mizi: trenje,

More information

Optimizacija delovanja in povečanje obiska na spletni strani

Optimizacija delovanja in povečanje obiska na spletni strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Adlešič Optimizacija delovanja in povečanje obiska na spletni strani DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc.

More information

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani JEDRSKA URA JAN JURKOVIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani Natančnost časa postaja vse bolj uporabna in pomembna, zato se rojevajo novi načini merjenja časa. Do danes najbolj natančnih

More information

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO.

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO. UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO Jana Miklavič Mentor: prof. dr. Juš Kocijan Nova Gorica, 2012 NASLOV

More information

Gašper Derganc. Računalniško branje padavinskih grafov

Gašper Derganc. Računalniško branje padavinskih grafov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gašper Derganc Računalniško branje padavinskih grafov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Peter Peer Ljubljana, 2009

More information

Minimizacija učne množice pri učenju odločitvenih dreves

Minimizacija učne množice pri učenju odločitvenih dreves Univerza v Ljubljani Fakulteta za računalništvo in informatiko Ivan Štajduhar Minimizacija učne množice pri učenju odločitvenih dreves Diplomska naloga Mentor: prof. dr. Ivan Bratko Ljubljana, 2001 Izjava

More information

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2). NALOGE ) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih ( in ). 0.8 0.6 0.4 0. 0.0 0.08 0.06 0.04 0.0 0.00 0 0 0 30

More information

VAJE 2: Opisna statistika

VAJE 2: Opisna statistika VAJE : Opisna statistika Na računalniških vajah se za urejanje in prikazovanje statističnih podatkov uporabi statistični programski paket SPSS in podatkovna datoteka podatki.sav. NALOGE: 1. Analiza vzorčnih

More information

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani FRAKTALNA DIMENZIJA VESNA IRŠIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani PACS: 07.50.Hp, 01.65.+g V članku je predstavljen zgodovinski razvoj teorije fraktalov in natančen opis primerov,

More information

DOMINACIJSKO TEVILO GRAFA

DOMINACIJSKO TEVILO GRAFA UNIVERZA V LJUBLJANI PEDAGO KA FAKULTETA tudijski program: MATEMATIKA in RAƒUNALNI TVO DOMINACIJSKO TEVILO GRAFA DIPLOMSKO DELO Mentor: doc. dr. Primoº parl Kandidatka: Neja Zub i Ljubljana, maj, 2011

More information

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo)

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Blaž Zupan 29. julij 2017 Kazalo 1 Odkrivanje skupin 7 1.1 Primer podatkov.................................. 7 1.2 Nekaj

More information

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours RMZ Materials and Geoenvironment, Vol. 59, No. 4, pp. 331 346, 2012 331 Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours Določitev

More information

POLDIREKTNI PRODUKT GRUP

POLDIREKTNI PRODUKT GRUP UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUCIJA ŽNIDARIČ POLDIREKTNI PRODUKT GRUP DIPLOMSKO DELO LJUBLJANA 2014 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Univerzitetni študijski program 1. stopnje: Dvopredmetni

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Gregor Ambrož Maribor, 2010 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

IZRAČUN POLOŽAJA GPS-SATELITA IZ PODATKOV PRECIZNIH EFEMERID GPS-ORBIT COMPUTATION FROM PRECISE EPHEMERIS DATA

IZRAČUN POLOŽAJA GPS-SATELITA IZ PODATKOV PRECIZNIH EFEMERID GPS-ORBIT COMPUTATION FROM PRECISE EPHEMERIS DATA 177 IZRAČUN POLOŽAJA GPS-SATELITA IZ PODATKOV PRECIZNIH EFEMERID GPS-ORBIT COMPUTATION FROM PRECISE EPHEMERIS DATA Polona Pavlovčič Prešeren, Bojan Stopar UDK: 528.33 Klasifikacija prispevka po COBISS-u:

More information

NIKJER-NIČELNI PRETOKI

NIKJER-NIČELNI PRETOKI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ALJA ŠUBIC NIKJER-NIČELNI PRETOKI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo ALJA

More information

Geometrijske faze v kvantni mehaniki

Geometrijske faze v kvantni mehaniki Seminar 1-1. letnik, 2. stopnja Geometrijske faze v kvantni mehaniki Avtor: Lara Ulčakar Mentor: prof. dr. Anton Ramšak Ljubljana, november 2014 Povzetek V seminarju so predstavljene geometrijske faze,

More information

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Seminar - 3. letnik, I. stopnja Kvantni računalniki Avtor: Tomaž Čegovnik Mentor: prof. dr. Anton Ramšak Ljubljana, marec 01 Povzetek

More information

FOTONSKI POGON. Avtor: Črt Harej Mentor: prof. dr. Simon Širca. Ljubljana, Maj 2016

FOTONSKI POGON. Avtor: Črt Harej Mentor: prof. dr. Simon Širca. Ljubljana, Maj 2016 FOTONSKI POGON Seminar I b - 1. letnik, II. stopnja Avtor: Črt Harej Mentor: prof. dr. Simon Širca Ljubljana, Maj 2016 Povzetek Človeštvo že skoraj 60 let raziskuje in uresničuje vesoljske polete. V tem

More information

EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI

EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DVOPREDMETNI UČITELJ:

More information

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Univerza v Ljubljani Fakulteta za elektrotehniko Boštjan Murovec Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Doktorska disertacija Mentor: prof. dr. Peter

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

Vsebina Od problema do načrta programa 1. del

Vsebina Od problema do načrta programa 1. del Vsebina Od problema do načrta programa 1. del Osnovne strategije iskanja rešitev problema Načini opisovanja rešitev problema Osnovni gradniki rešitve problema Primeri Napišite postopek za kuhanje kave

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Prototip mobilnega čitalca registrskih tablic za preverjanje parkirnin (Prototype of mobile license

More information