primena proširene stvarnosti u internet marketingu - master rad

74
Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Zrenjanin Primena Proširene stvarnosti u Internet marketingu Application of Augmented Reality in Internet marketing - Diplomski (master) rad - Mentor: Milan Milićev prof. dr Miodrag Ivković MIT 28/11 Informacione tehnologije Master Zrenjanin, 2013.

Upload: milan-milicev

Post on 05-Dec-2014

1.407 views

Category:

Technology


16 download

DESCRIPTION

Master rad na temu Primena Proširene Stvarnosti u Internet marketingu (Application of Augmented Reality in Internet marketing)

TRANSCRIPT

Page 1: Primena Proširene Stvarnosti u Internet marketingu - Master rad

Univerzitet u Novom Sadu

Tehnički fakultet »Mihajlo Pupin«

Zrenjanin

Primena Proširene stvarnosti u Internet marketingu

Application of Augmented Reality in Internet marketing

- Diplomski (master) rad -

Mentor: Milan Milićev

prof. dr Miodrag Ivković MIT 28/11

Informacione tehnologije – Master

Zrenjanin, 2013.

Page 2: Primena Proširene Stvarnosti u Internet marketingu - Master rad

1

Sadržaj

Primena Proširene stvarnosti u Internet marketingu ................................................................. 0

Application of Augmented Reality in Internet marketing ......................................................... 0

Sadržaj ....................................................................................................................................... 1

Uvod .......................................................................................................................................... 4

1 Internet marketing ............................................................................................................. 5

1.1 Metode Internet marketinga........................................................................................ 6

1.2 SEO ............................................................................................................................. 6

1.3 Email marketing ......................................................................................................... 7

1.4 Baner ........................................................................................................................... 7

1.5 Bilteni ......................................................................................................................... 7

1.6 Plaćeno Internet oglašavanje ...................................................................................... 8

1.7 Partnerski marketing ................................................................................................... 8

1.8 Blog ............................................................................................................................ 9

1.9 Društvene mreže ......................................................................................................... 9

2 Definicija Proširene stvarnosti ........................................................................................ 10

2.1 Proširena Stvarnost kroz vreme ................................................................................ 11

3 Pojam Proširene stvarnosti .............................................................................................. 14

3.1 Hardver ..................................................................................................................... 14

3.2 Popularnost Proširene stvarnosti .............................................................................. 15

4 Princip Proširene stvarnosti ............................................................................................. 15

5 Primena Proširene stvarnosti ........................................................................................... 16

5.1 Turizam ..................................................................................................................... 17

5.2 Revizija proizvoda .................................................................................................... 18

5.3 Print .......................................................................................................................... 23

6 Praćenje bez markera ....................................................................................................... 25

7 PTAM – Parallel Tracking and Mapping ........................................................................ 25

7.1 Karakteristike metode u kontekstu SLAM tehnike ................................................... 26

7.2 Izgradnja mape – koordinatnog sistema .................................................................... 26

7.3 Praćenje .................................................................................................................... 27

7.4 Mapiranje – izgradnja mape ...................................................................................... 28

7.5 Implementacija sistema PTAM ................................................................................ 29

7.5.1 Potrebna konfiguracija ...................................................................................... 29

Page 3: Primena Proširene Stvarnosti u Internet marketingu - Master rad

2

7.5.2 Potrebne biblioteke ............................................................................................ 30

7.5.3 Instalacija .......................................................................................................... 30

7.5.4 Pokretanje programa .......................................................................................... 31

8 Android ............................................................................................................................ 35

8.1 Android SDK ............................................................................................................ 37

8.1.1 Dalvik VM (DVM) ............................................................................................ 37

8.1.2 Java API ............................................................................................................ 38

8.1.3 Grafički API ...................................................................................................... 38

8.1.4 Eclipse ............................................................................................................... 39

8.1.5 Native Development Kit (NDK) ........................................................................ 39

8.2 Proširena stvarnost na android platformi ...................................................... 40

9 QCAR SDK ..................................................................................................................... 40

9.1.1 Arhitektura sistema ............................................................................................ 41

9.1.2 Aplikacijsko programsko interfejsa – API ....................................................... 42

9.1.3 Android dozvole ................................................................................................ 44

9.1.4 Markeri – „Trackables“ ..................................................................................... 44

9.1.5 Virtualni tasteri - Virtual Buttons ...................................................................... 46

9.2 IMPLEMENTACIJA SISTEMA QCAR SDK ........................................................ 47

9.2.1 Instalacija sistema QCAR SDK ......................................................................... 47

9.2.2 Implementacija Virtualnih tastera ...................................................................... 49

9.3 QCAR + UNITY ...................................................................................................... 51

9.3.1 Unity .................................................................................................................. 51

9.4 QCAR Unity Extension ............................................................................................ 52

9.5 Implementacija sistema QCAR Unity Extension ......................................... 53

9.5.1 Instalacija potrebnih komponenti ...................................................................... 53

10 Implementacija jednostavnog projekata........................................................................... 54

10.1 Aplikacija – „Interaktivni virtualni patuljak“ ....................................................... 56

11 ARToolKit ....................................................................................................................... 63

11.1.1 Jednostavnost korištenja .................................................................................... 63

11.1.2 Prenosivost ........................................................................................................ 63

11.1.3 Praćenje ............................................................................................................. 63

11.1.4 Izrada vlastitih markera ..................................................................................... 66

11.1.5 Verovatnoća praćenja markera .......................................................................... 66

12 D'Fusion .......................................................................................................................... 66

12.1.1 Jednostavnost korištenja .................................................................................... 66

12.1.2 Prenosivost ........................................................................................................ 66

Page 4: Primena Proširene Stvarnosti u Internet marketingu - Master rad

3

12.1.3 Praćenje ............................................................................................................. 66

12.1.4 Izrada vlastitih markera ..................................................................................... 67

12.1.5 Verovatnoća praćenja markera .......................................................................... 68

13 Vuforia ............................................................................................................................ 69

13.1.1 Jednostavnost korištenja .................................................................................... 69

13.1.2 Prenosivost ........................................................................................................ 69

13.1.3 Praćenje ............................................................................................................. 69

13.1.4 Izrada vlastitih markera ..................................................................................... 70

13.1.5 Verovatnoća praćenja markera .......................................................................... 70

14 Upoređivanje sistema ...................................................................................................... 71

14.1 Konačno upoređivanje .......................................................................................... 71

Zaključak ................................................................................................................................. 72

Literatura i reference ............................................................................................................... 73

Page 5: Primena Proširene Stvarnosti u Internet marketingu - Master rad

4

Uvod

Dobro je poznato da svako ozbiljno poslovanje današnjice mora da prati prisustvo i promocija

na Internetu. Budući da se Internet poslovanje jedno od najbrže rastućih oblasti, prirodno je da

postoji konstantna potreba za novim načinima promocije, a Proširena stvarnost pruža upravo

to.

Mobilni telefoni su u današnje vreme postali svakodnevica. Ubrzanim razvojem tehnologije, ti

isti mobilni telefoni su postali prava prenosni računar koja ostvaruju procesorsku snagu i preko

1GHz.

S druge strane imamo kompjuterske grafike kao jedan od imperativa u prikazu podataka.

Gotovo svaki popularniji mobilni uređaj omogućava trodimenzionalni prikaz virtuelnih

modela. Takođe, kamera na mobilnim telefonima postala je postala nezaobilazni dodatak.

Navedene pojave u globalnim kretanjima na tržištu mobilnih uređaja i propratne tehnologije

dovele su do omogućavanja Proširene stvarnosti na ugrađenim sistemima poput mobilnog

telefona.

Proširena stvarnost prisutna je na računarima od 90-ih godina 20. veka. Koliko god to

atraktivna tehnologija bila, nikad nije doživela široku komercijalnu upotrebu upravo zbog

robusnosti uređaja. Međutim, prethodno spomenutim procvatom mobilnih uređaja i razvojem

mobilnih platformi, omogućen je razvoj aplikacija baziranih na proširenoj stvarnosti

programerima širom sveta. Kroz proteklih godinu dana razvijeno je par programskih radnih

okvira (eng. framevork) - kvalitetnih podloga za razvoj navedenih aplikacija. Takođe, prisutne

su novčane nagrade za inovativne aplikacije.

Page 6: Primena Proširene Stvarnosti u Internet marketingu - Master rad

5

1 Internet marketing

Internet marketing predstavlja skup strategija i tehnika koje koriste Internet kao kanal poslovne

komunikacije za podršku ostvarivanja generalnih marketinških ciljeva organizacije ili

preduzeća.

Internet marketing koristi pristup koji nudi direktni marketing oslonjen na rast i razvoj

telekomunikacija i informatičku tehnologiju. Internet marketing je zapravo interaktivni

direktni marketing. Ova vrsta marketinga obuhvata, kako kreativni, tako i tehnički aspekt

Interneta, uključujući dizajn, razvoj, reklame i marketing u konvencijalnom smislu reči.

Duboka i precizna fragmentacija tržišta koju omogućava Internet marketing, a čiji je ishod

„jedan čovek — jedan segment“, omogućava prelazak sa masovnog na mikromarketing.

Slika 1 - Internet marketing

Sa aspekta definisanja „klasičnog“ marketinga, može se reći da je Internet marketing zbir

aktivnosti koje su upotrebljene u cilju usmeravanja tokova proizvoda i usluga od proizvođača

prema potrošaču (korisniku, kupcu, klijentu) korišćenjem Interneta kao kanala poslovne

komunikacije. Pored termina Internet marketing koriste se i termini e-marketing, onlajn

marketing, sajber marketing, virtuelni marketing, interaktivni marketing.

Page 7: Primena Proširene Stvarnosti u Internet marketingu - Master rad

6

1.1 Metode Internet marketinga

Prezentovanje na Internetu predstavlja reklamu koja ima bitne razlike u svim segmentima

reklamiranja u odnosu na standardno reklamiranje. Sa stanovišta Internet marketinga, a u

skladu sa njegovom definicijom, mogu se nabrojati sledeće metod:

SEO (engl. Search Engine Optimization)

Email marketing,

Baner,

Bilteni (engl. newsletter), elektronske knjige (engl. e-books) i ostale tehnologije

oglašavanja,

Plaćeno Internet oglašavanje (engl. pay per click advertising)

Pripojeni marketing ili marketing filijala (engl. affiliate marketing).

Blog

1.2 SEO

SEO ili optimizacija veb sajtova za pretraživače predstavlja deo Internet marketinga koji se

bavi pozicioniranjem veb-sajtova na pretraživačima za određene ključne reči, a koje pak

najviše odgovaraju sadržaju na datom sajtu.

Cilj SEO-a je povećanje posećenosti na nekom sajtu. Istraživanja pokazuju da čak 90% svih

posetilaca sajtova do konkretnog sajta i dolazi preko nekog pretraživača. Veb-sajt je, sam po

sebi, sredstvo marketinga 24 sata na dan, sedam dana u nedelji, 365 dana u godini, uključujući

i praznike, a bez godišnjeg odmora. Dakle, pretraživači predstavljaju najkvalitetniji izvor

ciljane posećenosti na Internetu.

Slika 2 - Optimizacija za pretraživače

Page 8: Primena Proširene Stvarnosti u Internet marketingu - Master rad

7

U prvoj deceniji 21. veka jedan od osnovnih veb slogana bio je: „Ukoliko ne postojiš na

Internetu, ti ne postojiš!“ Slogan veb 2.0 tehnologija može se parafrazirati: „Ukoliko nisi

prepoznatljiv na Internetu, ti ne postojiš.“

1.3 Email marketing

Email marketing predstavlja direktnu komunikaciju sa korisnikom proizvoda ili usluge u čemu

se i ogleda njegova prednost. Na osnovu prikupljenih podataka sa imejla, registracionih formi

i interih izvora podataka, mogu se informisati svi oni koji žele da budu upućeni u nečije

poslovanje, proizvode, usluge. Email marketing služi za održavanje dobrih odnosa sa

klijentima i bitno je ne zapostaviti već postojeće mušterije već ih redovno obaveštavati o

aktivnostima.

1.4 Baner

Baner predstavlja reklamu za proizvod ili uslugu koja se nalazi na stranici određenog veb sajta.

Reklamiranje preduzeća se preko banera može vršiti:

Razmenom banera sa takozvanim prijateljskim veb lokacijama.

Postavljanjem banera i reklama na veb-portale koji ovu uslugu nude besplatno.

Postavljanje banera na popularnim sajtovima uz novčanu nadoknadu.

1.5 Bilteni

Bitno je konstanto biti u svesti potencijanih partnera i bilteni, elektronske knjige i ostale

tehnologije oglašavanja su jedan od načina za to. Preduzeće, u zavisnosti od svoje dinamike

promene, šalje jednom nedeljno, mesečno ili godišnje svim postojećim i potencijalnim

partnerima biltene, elektronske knjige ili elektronsku razglednicu i time obaveštava prijavljene

na mejling listu o novostima u poslovanju. Time pokazuje da uvek misli na svoje korisnike.

Važno je ne spamovati korisnike i slati im samo elektronsku poštu koja se tiče onih oblasti za

koje znamo da ih interesuju.

Page 9: Primena Proširene Stvarnosti u Internet marketingu - Master rad

8

1.6 Plaćeno Internet oglašavanje

Plaćeno Internet oglašavanje je takođe jedna od važnih metoda Internet marketinga. Jedan

primer je Google AdWords. Korisnici prikazuju svoj oglas, u ovom slučaju na Guglu, i sami

biraju ključne reči, gde se nakon rezultata pretrage sa strane ili na vrhu pojavljuje njihov oglas.

Drugi primer jesu Fejsbuk oglasi koji se nalaze sa desne strane Fejsbuk profila i predstavljaju

kombinacije banera i tekstualnog oglasa. Pored ogromne baze korisnika, važna činjenica je ta

da se može usmeriti na konkretne grupe ljudi. Oglasi koji ciljaju prijatelje nečijih prijatelja su

veliki potencijal jer se broj korisnika svakodnevno povećava.

Kako Gugl, tako i Fejsbuk oglasi imaju fleksibilnost cena, tačnije mogućnost da se oglasi

plaćaju po broju klikova (CPC) ili po broju prikazivanja (CPM).

Plaćeno Internet oglašavanje nudi ciljanje nove publike, menjanje oglasa po potrebi i još

nekoliko usluga sve dok ne postignete željeni rezultat. Važno je to da nema zahtevane

minimalne potrošnje novca, a opcijom plaćanja po kliku pruža se mogućnost naplate samo

ukoliko neko klikne na Vaš oglas. Ovo znači da će svaki dinar nečijeg budžeta povećati šanse

za uspeh.

Besplatni Internet oglasi predstavljaju Internet servise na kojima posetioci imaju mogućnost

da reklamitaju svoje usluge ili proizvode bez ikakve novčane ili materijalne nadoknade.

1.7 Partnerski marketing

Partnerski marketing (engl. Affiliate marketing) predstavlja značajnu granu marketinga gde

jedno preduzeće plaća proviziju drugom za svakog korisnika koji je određenim marketinškim

strategijama doveden na njegov sajt. Jedan od načina jesu aukcijski sajtovi i prodaja proizvoda,

gde je jedno preduzeće preko svog sajta linkom dovelo korisnika da kupi proizvod drugog sajta

i za to dobija procenat od prodaje proizvoda.

Page 10: Primena Proširene Stvarnosti u Internet marketingu - Master rad

9

1.8 Blog

Jedan od sigurno dobrih načina Internet promocije je i pisanje bloga. Termin „blog“ je nastao

od 2 reči: „veb“ i „log“ (engl. web log, blog) - Internet dnevnik i predstavlja posebnu formu

pisanja kratkih tekstova, vezanih za jednu oblast koji su hronološki poređani.

Postoje 3 tipa bloga:

1. lični blog koji piše pojedinac o određenoj temi

2. kompanijski blog koga piše organizacija ili kompanija, koja na taj način komunicira

sa svojim članovima i spoljnim svetom

3. biznis blog koji je napravljen u svrhu zarađivanja novca ili putem reklamiranja ili

putem promocije i prodaje svojih usluga. Ukoliko se lični blog koristi da bi se ostvarili

prihodi, tada on postaje biznis blog

Iznajmljivanje prostora za reklame, programi partnerskog marketinga, postavljanje plaćenih

oglasa, prodaja proizvoda, promocija usluga predstavljaju samo neke od načina da se zaradi od

bloga.

1.9 Društvene mreže

Društvene mreže predstavljaju platformu za izgradnju društvenih konekcija i društvenih

odnosa među ljudima koji su , na primer, prijatelji, imaju interesovanja za slične aktivnosti,

poslovnih iskustava ili drugih svera interesovanja koja ih povezuju na neki način. Društvena

mreža servis se sastoji od predstavljanja svakog korisnika ( često putem profila ), sa njegovim

/ njenim društvenim vezama i raznim dodatnim uslugama. Društveno umrežavanje putem

interfejsa omogućava korisnicima da dele ideje, slike, postove, događaje, aktivnosti i interese

sa ljudima u svojoj mreži.

Slika 3 - Društvene mreže

Page 11: Primena Proširene Stvarnosti u Internet marketingu - Master rad

10

2 Definicija Proširene stvarnosti

U osnovi definicije ovog termina, proširena stvarnost (eng. Augmented reality -

AR) predstavlja područje na granici stvarnog i virtuelnog. Proširena stvarnost

postavlja virtuelne objekte u stvarnom svetu.

Slika 4 - Proširene Stvarnost

Službene i jedinstvene definicije proširene stvarnosti nema. Međutim, sistem koji predstavlja

proširenu stvarnost, mora sadržavati sledeće karakteristike:

1. Proširena stvarnost kombinuje realno i virtuelno

2. Omogućava interaktivni prikaz u realnom vremenu

3. Trodimenzionalnost

Prva karakteristika definiše da će sistem kao rezultat prikazivati i delove virtualnog i delove

stvarnog sveta učitanog kroz kameru. Drugom se karakteristikom proširena stvarnost

ograničava na realno vreme. Ovom se tačkom definicije iz proširene stvarnosti isključuju svi

filmovi koji naizgled kombinuju stvarno i virtuelno, zbog nedostatka interaktivnosti. Trećom

se karakteristikom ograničava samo na sisteme koji "osećaju" dubinu i u odnosu prema njoj

iscrtavaju virtuelne objekte. Tako, na primer prilikom fotografisanja, na ekranu nam se mogu

pojaviti razne postavke prikazane virtuelnim objektima - dugmadima. Tu dolazi do mešanja

Page 12: Primena Proširene Stvarnosti u Internet marketingu - Master rad

11

stvarnosti i virtuelnog okrutenja u realnom vremenu. Međutim, prema ovoj postavci, takav

prikaz ne spada u proširenu stvarnost.

Slika 5 - Kontinuum stvarnosti i virtuelnosti

Slika 2 pokazuje kontinuum odnosa stvarnog i virtuelnog okruženja predstavljena u [6]. Na

jednoj strani ekstrema prikazano je stvarno okruženje, dok je na potpuno drugoj strani virtualna

stvarnost. Sve unutar tih dveju stvarnosti pripada takozvanoj "Mešanoj stvarnosti". Prema ovoj

podeli, razlikujemo i "proširenu virtualnost", gde se stvarni objekti mešaju s virtuelnim

okruženjem. Primer toga bi mogla biti virtuelna soba u koju su dodate stvarne osobe. Takođe,

treba napomenuti da se proširena stvarnost može odnositi na sva čula, a ne samo na vid. Tako,

na primer, proširenu stvarnost možemo obogatiti zvukom. Slušalice bi mogle dodavati

generisani zvuk, dok bi spoljni mikrofon prepoznavao zvukove iz okoline. Takav bi sistem

omogućavao maskiranje i prekrivanje odabranih zvukova. Nadalje, s optičkom uređajima koji

pružaju povratne informacije možemo "proširivati" stvarne sile iz okoline. Naravno, ovi

sistemi su komplikovani, ali ne i neizvodljivi. Međutim, u ovom radu ćemo se baviti radu

vizuelnim sistemima proširene stvarnosti.

2.1 Proširena Stvarnost kroz vreme

Istorijski gledano, tragovi proširene stvarnosti setu do davne 1897., kada se psiholog George

Malcolm Stratton u jednom od svojih radova referencirao na "Obrnute naočare" (eng. upside-

dovn glasses). Te su naočale coveku pružale obrnuti prikaz stvarnosti.

Page 13: Primena Proširene Stvarnosti u Internet marketingu - Master rad

12

Slika 6 - Ivan Sutherland - HMD

Iako se ovaj pristup izgledao prilično primitivn i uopšte ne dolazi do "proširenja" stvarnosti,

uočljiva je sličnost sa sistemom Ivana Sutherlanda iz 1968. Sutherland je sa grupom kolega

dizajnirao HMD (eng. head mounted displai) kroz koji je korisnik mogao videti kompjuterski

generisane slike mešane sa stvarnim objektima (Slika 3).

Kasnije, njegov je rad razvijala američka vojska kroz unaprjeđivanje prikazima vojnog pilota

određenim informacijama. Njihov je rad u 90-tim godinama javno objavljen, pa je postao

osnova raznih civilnih razvojnih projekata. Kakogod, termin "Proširene stvarnosti" je prvi puta

upotrebljen u leto 1990. od strane Boeingovog razvojnog tima. Njihov je zadatak bio naći

alternativu skupim dijagramima i markirnim ureCajima korišćenim za voCenje radnika kroz

fabriku zaduteni za kabliranje. Rezultat istraživanja bio je uređaj koji se nosio na glavi,

dizajniran da korisniku ispisuje instrukcije o kablovima aviona, te samim time olakšava i

ubrzava rad u fabrici.

Pred kraj 90-ih, proširena je stvarnost postala prilično istrativana tema. Dr Ronald Azuma je

svojim radom "Pregled Proširene stvarnosti" (eng. "Survei of Augmented Realiti ") 1997

postavio temelje ove grane nauke.

Page 14: Primena Proširene Stvarnosti u Internet marketingu - Master rad

13

Slika 7 - Sistemi korišceni za AR aplikacije (a): PC + HMD (b): Tablet PC (c): PDA (d): Smartphone

U narednim godinama, proširena stvarnost je postala sveprisutna u računarskom svetu.

Ostvarena su brojna tehnička ostvarenja na raznim sistemima. Pretežno je u svim takvim

sistemima sastavna komponenta bilo zaseban računar kao eksterne ulazne i izlazne jedinice.

Međutim, u današnje doba, sve više sistema sadrže sve spomenute komponente u vlastitom

integrisanom sistemu. Tako smo od "Robota" kojeg smo morali nositi na sebi došli do pametnih

mobilnih telefona koji se uz sve navedene komponente mogu pohvaliti is preko 1 GHz procesne

snage. Prema tome, tema proširene stvarnosti dobija nove interese od strane sve brojnijih

razvojnih timova specijalizovanih za mobilne aplikacije.

Page 15: Primena Proširene Stvarnosti u Internet marketingu - Master rad

14

3 Pojam Proširene stvarnosti

Proširena realnost ( AR ) je uživo, direktno ili indirektno, pogled na fizičkom , realnom

okruženju čiji su elementi pojačana računarski generisanom senzornim ulazom , kao što su

audio, video, grafika ili GPS podaci . To se odnosi na jedan opštiji koncept pod nazivom

posredovana stvarnost , u kojoj pogled na stvarnost je modifikovan ( možda čak i umanjena , a

ne uvećan ). Kao rezultat toga, ova tehnologija funkcioniše po trenutnoj percepciji proširene

realnosti. Nasuprot tome, virtuelna realnost zamenjuje realni svet sa simuliranim. Uvećanje je

uobičajeno u realnom vremenu i na semantičkom kontekstu sa ekološkim elementma , kao što

su sportske rezultate na televiziji tokom meča. Uz pomoć napredne AR tehnologije ( npr.

dodavanje kompjutersku viziju i cilj prepoznavanje )podaci o stvarnom svetu oko korisnika

postaje interaktivna i digitalno se može manipulisati. Veštačka informacije o životnoj sredini,

a objekti mogu biti preklopljen na realnom svetu.

3.1 Hardver

Hardverske komponente za Proširenu Stvarnost su: procesor, displej, senzori i ulazni uređaji.

Savremenih mobilnih računarskih uređaja kao što su smart telefona i tablet računari sadrže ove

elemente koji često uključuju kameru i MEMS senzori kao što su akcelerometar, GPS i

kompas, što ih čini pogodnim AR platforme.

Page 16: Primena Proširene Stvarnosti u Internet marketingu - Master rad

15

3.2 Popularnost Proširene stvarnosti

Budući da sama ideja Proširene stvarnosti nije nova, postavlja se pitanje zašto je sada doživela

toliku ekspanziju? Razlog tome je naglo razvijanje mobilnih telefona i tablet uređaja, koji sada

imaju dovoljno razvijenu tehnogoliju i Verovatnoća da renderuju i obrade sve potrebne podatke

za prikazivanje Proširene stvarnosti. Nekad je ovo bio veoma skup i komplikovan proces i

najviše je našao primene u filmskoj industriji, ali danas je dostupan svima i njegova

implementacija znatno jednostavnija i jeftinija, a sa druge strane daleko naprednija.

4 Princip Proširene stvarnosti

Za prikazivanje Proširene stvarnosti po trebno je da ispunimo nekoliko uslova.

Potrebno nam je:

o Marker (slika “okidač”)

o Kompjuterski generisan element (slika, video, 3D model, HTML)

o Smart uređaj sa odgovarajućom mobilnom aplikacijom

Slika 8 – Princip Proširene stvarnosti

Kada pokrenemo AR aplikaciju, koristeći kameru smart uređaja skeniramo okolinu i kada

aplikacija prepozna marker, postavlja kompjuterski generisan element preko tog markera.

Page 17: Primena Proširene Stvarnosti u Internet marketingu - Master rad

16

5 Primena Proširene stvarnosti

Zbog svoje jednistvene Verovatnoćai spajanja relanog i digitalnog sveta, primena Proširene

stvarnosti je veoma široka. Iako je ovaj princip u širokoj upotrebi veoma malo vremana, već

sada postoji niz načina na koji možemo da iskoristimo Proširenu Stvarnost da bismo realnom

svetu dodali neke važne informacije.ć

Neke od oblast u kojima možemo već sada videti primenu Proširene stvarnosti:

o Obrazovanje

o Igrice

o Promocija

o Testiranje proizvoda

o Štampani mediji

o Turizam

Slika 9 - Primena Proširene stvarnosti

Page 18: Primena Proširene Stvarnosti u Internet marketingu - Master rad

17

5.1 Turizam

Predavanja iz geografije zahtevaju mnogo deskriptivnog opisivanja od strane predavača i još

viši nivo imaginacije od strane slušaoca. Uz pomoć Proširene stvarnosti dobijate mogućnost

da držite u ruci neke od svetskih poznatih znamenosti i da ih posmatrate u 3D prostoru.

Slika 11 - Rio de Žanejro Slika 10 - Ajfelov toranj

Slika 13 - Trijumfalna kapija Slika 12 - Koloseum

Slika 15 - Noterdam spolja Slika 14 - Noterdam iznutra

Page 19: Primena Proširene Stvarnosti u Internet marketingu - Master rad

18

5.2 Revizija proizvoda

U današnje vreme promocija i marketing su sve značajniji u cilju poboljšanja prodaje. Uz

pomoć Proširene stvarnosti firme su u mogućnosti da pruže priliku protrošačima mogućnost

da, uslovno rečeno, probaju proizvod pre nego što ga kupe, a da ga ustvari ni ne dobiju fizički.

Kupci više cene vrednost nekog proizvoda kada ga vide u svom domu. Jedan od takvih primera

je i deo Mitsubishi-eve kompanije koja se bavi belom tehnikom. Uz pomoć Proširene stvarnosti

oni su uspeli da odgovore na jedno od najčešćih pitanja koja dobijaju - ,,Kako će ovaj uređaj

izgledati u mojoj kući?” i sada mogu veoma lako da odgovore na to pitanje. Danas svi njihovi

komercijalisti su opremljeni sa tablet uređajima i njihovom aplikacijom koja sadrži Proširenu

Stvarnost i na taj način i znatno olakšava komunikaciju i pregovaranje sa klijentima. Iz

Mitsubishi-ja kažu da predviđaju 30 miliona dolara u porastu prodaje i više miliona u uštedi na

štampanom materijalu.

Slika 16 - Mitsubishi Electronics

Jednostavnim postavljanjem markera na zid i skeniranjem kroz njihovu aplikaciju, klijent je u

mogućnosti da vidi kako taj proizvod, u ovom slučaju klima uređaj, izgleda u njihovom domu

u realnom vremenu. Ono što je još dodatna prednost jeste činjenica da klijent može da se

dodatno informiše o konkretnom proizvodu kao i da bira između više različitih modela.

Proizvođač automobila Mazda takođe ima zanimljivu aplikaciju sa Proširenom Stvarnosti.

Njihova aplikacija pruža mogućnost da posmatrate njihov najnoviji model CX-5 u tri dimenzije

kako biste mogli da se slobodno krećete oko njega. Primena Proširene stvarnosti dolazi do

posebnog izražaja kada su u pitanju industrije kao što je automobilska, gde nije jednostavno,

lako i jeftno prokazati potencijanom kupcu određen proizvod. Primanom ovih tehnologija

može se direktono uticati na prodaju ali i u isto vreme može smanjiti neke druge troškove kao

što su transport, štampa i drugi prezentacioni materijali.

Page 20: Primena Proširene Stvarnosti u Internet marketingu - Master rad

19

Aplikacija nam pruža mogućnost da vidimo razne varijante sa kojima ovaj model može da

dođe. Sa samo par klikova možemo promeniti boju, kao i različite vrste felni koje mogu da

dođu uz njega.

Takođe imamo mogućnost da pogledamo i unutrašnjost automobila uz pomoć žiroskopa, kao i

da biramo između opcija vrste oblaganja unutrašnjosti modela.

Zanimljivu primenu Proširene stvarnosti ima i kompanija Lego koja postavila štand na

prodajnum mestu (point of sale). Oni su brendirali štand koji je opremljen računarom sa

kamerom i programom koji vrši samu proces Proširene stvarnosti. Ideja koju oni imaju je

krajnje prakitčna i jednostavna, a u isto vreme veoma zabavna. Kada korisnik pokaže kameri

kutiju sa Lego kockicama, dobija prikaz modela koji može da se sastavi od njih.

Slika 18 - Mazda CX-5 Slika 17 - Mazda CX-5

Slika 20 - Mazda CS-5 unutrašnjost Slika 19 - Mazda CS-5 unutrašnjost

Page 21: Primena Proširene Stvarnosti u Internet marketingu - Master rad

20

Slika 21 – Lego

Lego je iskoristio i napredne varijante 3D modelovanja u kojima su uključili i animacije i time

dodali celokupnom doživljaju. Ovakvi vidovi promocije su posebno zanimljivi i privlačni

mlađoj populaciji, koja u ovom slučaju predstavlja ciljnu grupu.

Proširena Stavarnost ne mora da se primenjuje samo korišćenjem odštampanih markera.

iMirror aplikacija koristi detekciju ključnih tačaka na licu i nakon toga postavlja 3D model

naočara koji dalje prate pokrete vašeg lica.

Slika 22 - iMirror Slika 23 - iMirror

Page 22: Primena Proširene Stvarnosti u Internet marketingu - Master rad

21

Postoji mogućnost odabira modela naočare, boje okvira kako i vrste samog stakla. Uz pomoć

ove aplikacije dobijamo mogućnost da u realnom vremenu isprobamo celu paletu proizvoda sa

svim opcijama koje nudi, a da ni ne odemu u zvaničnu prodavnicu. Poseban akcenat je stavljen

i na deljenje sadržaja, budući da postoji mogućno da se fotografišete i da tu fotografiju podelite

sa svojim prijateljima na društvenim mrežama.

Kao posebna kategorija u ovoj oblasti izdvojila se upotreba Proširene stvarnosti kao pomoć

menadžerima komercijalne službe pri vizualizaciji proizvoda i promotivnih materija na mestu

prodaje. Komericijalista može jednstavnim postavljanjem markera na rafu u prodavnici da vidi

kako će njegov proizvod izgledati i uklopiti sa okolinom.

Takođe ovo je moguće uraditi i sa promotivnim materijalima kao što su štandovi. Ovo dodatno

može olakšati posao komercijalnom radniku budući da su ovakvi predmeti većeg formata i

komplikovaniji za transport i montažu.

Slika 26 - Roba široke potrošnje Slika 27 - Roba široke potrošnje

Slika 25 - Roba široke potrošnje Slika 24 - Roba široke potrošnje

Page 23: Primena Proširene Stvarnosti u Internet marketingu - Master rad

22

Neke od aplikacija ne moraju biti igrice već mogu samo biti proratni elementi i raditi na

promociji i upoznavanjem sa samim akterima. Takav primer možemo videti kod trenutno

veoma popularnih igara kao što je Crisis i Nano Suit koji glavni akter igrice nosi.

Slika 28 - Crisis (Nano Suit)

Neki od najvećih svetkih brendova u ovoj industriji kao što je Marvel uradio je veoma zahtevan

3D model za svog superheroja Iron Man u cilju promocije koju predstavljaju na raznim

promocijama i konferencijama. Veoma je zanimljivo videti Iron Man-a u prirodnoj veličini u

realnom okruženju, što vam pruža čak i mogućnost da se fotografišete sa njim kroz samu

aplikaciju, što je stvorilo veoma veliku interakciju i oduševljenje kod samih fanova. Pored

same činjenice da se radi veoma zahtevno i realističnom 3D modelu, ono što dodatno pridodaje

samom doživljaju jeste i animacija koja ide uz sam 3D model Iron Man-a.

Slika 29 - Iron Man

Page 24: Primena Proširene Stvarnosti u Internet marketingu - Master rad

23

Takođe postoji i zanimljiva apikacija uz

pomoć koje možete da vidite kako bi vama

stajala Iron Man maska. Ova aplikacija

koristi praćenje ključnih tačaka na licu i uz

pomoć koje možete slobodno da pokrećete

glavu i maska će vas pratiti kao da je zaista

nosite.

5.3 Print

Štampani mediji su jedno od najpopularnijih oblasti gde je Proširena Stvarnost našla svoju

primenu. Sve češće možemo pritetiti u raznim katalozima i brošurama ikonice koje označavaju

da te stranice možete skenirati sa odgovarajućom aplikacijom i dobiti dodatne informacije.

Problem kod štampanih medija kao što su katalozi jeste ograničenost prostora i činjenica da ste

ograničeni samo na text i slike. Primenom proširene stvarnosti sada možemo u štampane

materijale dodati video što je do sada bilo nezamislivo.

Slika 31 - Proširena Stvarnost – Katalog

Jednostavnim skeniranjem stranice automatski se pokreće prezentacioni video materijal koji

prate kretanje kataloga. Takođe postoji mogućnost da duplim pritiskom na video, on pređe u

prikaz preko celog ekrana i tada postajemo nezavistan od marketa, tj. u ovm slučaju kataloga.

Slika 30 - Iron Man maska

Page 25: Primena Proširene Stvarnosti u Internet marketingu - Master rad

24

Zbog problema ograničenog prostora u printu, potrebno je predstaviti neki proizvod na što

verniji način, kao i njegovu primenu. U ovom konkretnom primeru to možemo postići

predstavljanjem 3D modela sa kojim možemo steći bolji doživljaj kako će konačni proizvod

izgledati u primeni. Ovim 3D pristupom dobijamo realniji osećaj dubine koji može direktno

uticati na konačnu odluku potencijalnog klijenta.

Slika 32 - Proširena Stvarnost – Katalog

Veoma je važno voditi računa da korisniku pružimo dodatne informacije koje su u kontekstu

sa onim što je u samom štampanom mediju. U primeru ispod možemo videte deo kataloga koji

posvećen kontakt informacijama same firme u kojima se između ostalog nalazi i adresa same

firme. Ovo je iskorišćeno da se, skeniranjem tog dela, prilaže mapa sa markiranom lokacijom

firme. Ovde se išlo i korak dalje, tako da možete primetiti i dugme koje je označeno sa WWW.

Pritiskom na to dugme odlazimo na mobilnu verziju sajta i to na kontakt stranicu.

Page 26: Primena Proširene Stvarnosti u Internet marketingu - Master rad

25

6 Praćenje bez markera

Razvoj prvih sistema za praćenje bez markera (eng. markerless visual tracking) započeo je

istraživanjem C. Harrisa 1992. godine na MIT-u [7]. Njegov sistem, zvan RAPiD (eng.

Real time attitude and position determination), bio je jedan od ranijih sistema za praćenje

bez markera u tri dimenzije u stvarnom vremenu. Iako sa uvelike slabijim računarskim

performansama, sistem je ostvario priličan uspeh. Mnogi sistemi koji su usledili dele iste

principe rada kao i Harrisov sistem. Takođe, kratki opis načela rada ovog sistema

posluži će kao dobar uvod u tehnike praćenja bez markera.

U RAPiD-u sistem prati poziciju kamere u odnosu na 3D model. Pozicija je opisana

sa šest parametara, po tri za translaciju, odnosno rotaciju. Za svaku sličicu videa (eng.

frame), pozicija se ažurira: prvo po pretpostavkama na osnovu promene položaja sistema,

a zatim i na osnovu merenja iz video ulaza. Navedena merenja ostvaruju se na osnovu

prepoznavanja rubova modela i merenja razlika između predviđenog i stvarnog položaja

ruba. Generalno, razlike (greške), nikad ne mogu biti potpuno izolirane, međutim, mogu biti

svedene na minimum.

Sistemi praćenja bez markera pretežno se oslanjaju na pronalaženje „prirodnih“ markera,

onih detalja koji su mogu naći u svakoj realnoj sceni. Nadalje, nailazimo na problem oko

otkrivanja dubinskog položaja. Neki sistemi su korištenjem dve kamere prilično olakšali

ovaj proces. Međutim, u nastavku će biti objašnjen rad jednog sistema koji koristi samo jednu

kameru.

7 PTAM – Parallel Tracking and Mapping

Ovaj se sistem koristi metodama za određivanje pozicije kamere u nepoznatoj sceni.

Bazira se na tehnici SLAM (eng. simultaneous localization and mapping) koja se pretežno

koristi u robotici jednake svrhe. PTAM sistem se bazira na podeli praćenja i

preslikavanja (mapiranja) u dva nezavisna zadatka koje omogućava razne metode

optimizacije. Jedan proces se bavi praćenjem uređaja koje obavlja nepravilne pokrete, dok

se u drugom generiše trodimenzionalni koordinatni sistem (mapu) sa svim detaljima

pronađenim u prethodnoj slici. U kasnijim poglavljima govori se o implementaciji ovog

sistema, pa se primer jedne takve mape može videti na slici 39.

Page 27: Primena Proširene Stvarnosti u Internet marketingu - Master rad

26

Zbog česte nejasnoće elemenata na sceni, dolazi do razvoja tehnika pod skupnim nazivom

„prošireno praćenje“ (eng. extensible tracking), u kojem sistem pokušava dodati prethodno

nepoznate elemente scene u inicijalni trodimenzionalni koordinatni sistem. Budući da se

ovaj sistem bazira na određivanju pozicije kamere u nepoznatoj okolini, ovakvo „prošireno

praćenje“ počinje praktički iz ničega. Na kasnije opisanoj implementaciji, primer takvog

naknadnog praćenja vizualno se može primetiti na slici 38.

7.1 Karakteristike metode u kontekstu SLAM tehnike

- Praćenje i preslikavanje su odvojeni i pokreću se u odvojenim procesima

- Preslikavanje scene u koordinatni sistem (mapiranje - postavljanje scene u

koordinatni sistem) je zasnovano na „ključnim slikama“ (eng. keyframes)

- Koordinatni sistem je inicijaliziran iz para ključnih tačaka (5-Point Algorithm)

- Novi detalji (tačke) se inicijaliziraju na osnovu epipolarne geometrije

- Mapira se velik broj tačaka – reda veličine i do 103

Ova se metoda pretežno temelji na traženju planarnih struktura – ravnih ploča. Takođe,

implementacija ovog sistema omogućuje prikaz virtualnih objekata na jednoj od takvih

ploča.

7.2 Izgradnja mape – koordinatnog sistema

Koordinatni sistem – u daljem tekstu „mapa“, sastoji se od M tačaka lociranih u

koordinatnom sistemu W. Svaka tačka predstavlja lokalnu planarnu teksturu u svetu –

sceni koju promatramo. Svaka tačka u mapi ima koordinate:

Takođe, svaka tačka sadrži i normalu i referencu na vezani detalj iz scene.

Nadalje, mapa sadrži i N ključnih slika (eng. keyframes). To su slike snimljene kamerom u

različitim vremenima. Svaka ključna slika sadrži odgovarajući koordinatni sistem s kamerom

pozicioniranom u centru. Svaki koordinatni sistem takođe sprema piramidu s četiri stepena

sivih bpp slika. Na slici 33 se nalazi primer piramidalnog prikaza slike. Piramidalni

prikaz slike sadrži slojeve slike u različitim rezolucijama. Tako je u sistemu PTAM na nultoj

razdaljini spremljena cela slika rezolucije 640x480, dok su na trećem stupnju spremljena ista

slika degradirane rezolucije na 80x60 piksela.

Page 28: Primena Proširene Stvarnosti u Internet marketingu - Master rad

27

Slika 33 - Piramidalni prikaz slike

7.3 Praćenje

Prilikom praćenja, uz pretpostavku da je koordinatni sistem već izgrađen, sistem provodi

sledeću proceduru pri svakom okviru (frame) ulaznog toka podataka:

1. Nova slika (eng. frame) se preuzima uz pomoć kamere. Izrađuje se piramidalni

prikaz s četiri stepena. OdreĐuju se rubovi na osnovu algoritma FAST-10 za svaki

stepen piramide.

2. Tačke koordinatnog sistema se projekatuju na sliku

3. Cca 50 najgrubljih detalja - tačaka se traži na slici

4. Pozicija kamere se ažurira na osnovu pronađenih korespondencija

5. Veći broj (cca 1000) tačaka se re-projekatuje i traži na slici

6. Konačna pozicija se računa iz svih pronađenih odnosa

Page 29: Primena Proširene Stvarnosti u Internet marketingu - Master rad

28

7.4 Mapiranje – izgradnja mape

U nastavku će okvirno biti objašnjeno kako se trodimenzionalne tačke dodaju u koordinatni

sistem. Koordinatni sistem se inicijalno izgrađuje uz pomoć stereo- algoritma u 5 tačaka.

Pri spomenutoj inicijalizaciji korisnik mora pritisnuti određenu taster za početak praćenja.

Zatim je potrebno kameru translatirati u jednu stranu, pa otpustiti taster. Spomenuti proces

inicijalizacije na implementaciji sistema PTAM vizualno se može pratiti na slici 35. Nadalje,

preslikavanje (mapiranje) se kontinuirano provodi sukladno dodavanjem novih ključnih

slika. Ključne slike se dodaju ukoliko se uspostave sledeći zahtevi: kvalitet praćenja mora

biti visok, mora proći barem dvadeset slika (frejmova) od generisenja prošle ključne slike i

kamera mora biti minimalno udaljena od već poznate tačke scene.

Procesom praćenja već su određeni rubovi. Zatim se koriste algoritmi za sužavanje

skupa ovih rezultata. Preostale tačke su kandidati za unošenje u koordinatni sistem. Pošto

tačka zahteva informaciju dubine, traži se najbliža ključna slika, pa se triangulacijom

pronalazi položaj tačke.

Na slici 34. skiciran je proces preslikavanja - mapiranja.

Slika 34 - Skica procesa preslikavanja

Page 30: Primena Proširene Stvarnosti u Internet marketingu - Master rad

29

7.5 Implementacija sistema PTAM

Gore opisani sistem implementiran je u C++ programskom jeziku. Kod je izvorno razvijen

na x86-64 Linux operativnom sistemu. Takođe je uspešno prenesen i na MacOS (Intel-based;

grafika X11). Program (softver) je uz nekakve izmene prenesen i na 32-bitnu Windows

platformu.

7.5.1 Potrebna konfiguracija

Program zahteva minimalno dva procesa u isto vreme, pa bi prema tome bio potreban

više-jezgreni procesor. Osobno sam koristio Intel i5 2,4 GHz, međutim, razvojni tim

garantuje kvalitetne performanse i s Intel Core 2 Duo procesorom koji radi na istoj

frekvenciji.

Program zahteva OpenGL grafički standard. Razvijen je i testiran isključivo za nVidia

grafičku karticu i popratne pogonske programe. Prema tome, pri korištenju drugih GL

pogonskih programa bile bi potrebne određene promene u kodu.

Program se zasniva na ulaznom toku podataka i zahteva video kameru sa širokougaonim

objektivom rezolucije 640x480, frekvencije 30 Hz. Iako razvojni tim preporučuje skuplje

uređaje, ovde je korišćen Logitech Quickcam C100, uz prilične performanse i efikasnost.

Page 31: Primena Proširene Stvarnosti u Internet marketingu - Master rad

30

7.5.2 Potrebne biblioteke

Programsko ostvarenje ovog sistema zasniva se na tri glavne zavisnosti:

- TooN – glavna biblioteka za linearnu algebru

- libCVD – biblioteka za manipulaciju videom i slikama za računarski vid

- Gvars3 – run-time biblioteka za skriptovanje i konfiguraciju (potprojekat libCVD

biblioteke)

Sve tri navedene biblioteke razvijene su u laboratoriju Cambidge Machine Intelligence i mogu

se naći na [16] (biblioteka TooN) i na [17] (biblioteke libCVD i Gvars3).

7.5.3 Instalacija

U navedenom će odeljku biti objašnjena instalacija za Linux operativni sistem. Pomoć pri

instalaciji na Windows ili MacOS operativnim sistemima možete naći na [18].

Pri instalaciji, potrebno je nužne biblioteke instalirati sledećim redosledom:

1. TooN;

2. libCVD;

3. Gvars3.

Sve se biblioteke instaliraju klasičnim ./configure; make; make install

protokolom.

Zatim, treba kopirati datoteke iz direktorijuma PTAM/Build/Linux u direktorijum

PTAM.

Sledeći korak je prevođenje (eng. compile) video postavki. Ponuđene su dve datoteke:

patchVideoSource_Linux_DV.cc i VideoSource_Linux_V4L.cc, koje rade s Unibrain

Fire-i, odnosno Logitech QuickCam Pro 5000 kamerama. Nadalje, treba prepraviti Makefile

datoteku, prema kojoj će se željena datoteka prevesti. Potrebno je prepraviti samo

vrednost varijable VIDEOSOURCE.

Nadalje, celi se sistem prevodi uz pomoć naredbe make; dobivamo dve

izvršne datoteke: PTAM i CameraCalibrator.

Page 32: Primena Proširene Stvarnosti u Internet marketingu - Master rad

31

7.5.4 Pokretanje programa

Inicijaliziranje sistema obavljamo pokretanjem izvršne datoteke CameraCalibrator. U

ovom se koraku od korisnika očekuje da kamerom snimi uzorak kao na slici 35. Ovim se

postupkom sistem proverava da li su sve tražene postavke uključene i da li ulazni video tok

uopšte radi.

Slika 35 - Kalibracija kamere

Po uspešnom prepoznavanju uzorka, korisnik treba da pritisne taster „GrabFrame“, i isti da

postupak ponovi u različitim pozama. Nakon par „uhvaćenih“ slika, potrebno je pritisnuti

taster „Optimize“ kojom se kalkulišu parametri kamere. Kad je korisnik zadovoljan s

konvergencijom (greška RMS bi trebala biti oko 0.3 piksela) potrebno je pritisnuti

taster „Save“ kojom se spremaju postavke u camera.cfg.

Page 33: Primena Proširene Stvarnosti u Internet marketingu - Master rad

32

Slika 36 - Završena kalibracija kamere

Po završetku kalibracije kamere, pokrećemo izvršnu datoteku PTAM. Na početku, sistem

zahteva od korisnika izvršavanje inicijalizacije. Korisnik usmeri kameru u željenu površinu

(savršena bi bila ploča s izraženim detaljima – poput npr. tastature).

Slika 37 - Inicijalizacija mape

Page 34: Primena Proširene Stvarnosti u Internet marketingu - Master rad

33

Pritiskom na taster razmaka (eng. spacebar), korisnik polako translatira kameru. Ponovnim

pritiskom na prethodno naveden taster, ostvaruje se tzv. stereo par, iz kojeg sistem

inicijalizira trodimenzionalni koordinatni sistem i počinje proces praćenja. Spomenuti proces

inicijalizacije primećujemo na slici 37. Takođe je zgodno primetiti na slici 38 kako inicijalna

mapa sadrži vidno manje tačaka od mape dobijene udaljavanjem/naknadnim praćenjem i

preslikavanjem.

Slika 38 - Pronalazak površina i proširivanje mape

Jednostavna proširena stvarnost se može prikazati pritiskom na taster „Draw AR“. Iscrtava

se kvartet od po dva para očiju, koji nakon početne jednostavne animacije počinju da prate

kameru. Primer iscrtavanja spomenute proširene stvarnosti vidi se na slici 40.

Ukoliko nije došlo do pravilnog generišenja koordinatnog sistema, potrebno je ponoviti

proces inicijalizacije. Taj proces pokrećemo pritiskom na taster Reset, pa se nastavlja kao

da je program tek pokrenut. Moguće da je do nepravilne inicijalizacije došlo zbog nedovoljno

duge translacije. Takođe je bitno naglasiti da inicijalizacija samo s rotacijom neće omogućiti

dovoljno dobru osnovu, pa sistem neće moći da nastavi da funkcioniše.

Page 35: Primena Proširene Stvarnosti u Internet marketingu - Master rad

34

Slika 39 - Mapa - Koordinatni sistem

Potrebno je spomenuti da sistem pri praćenju i ažuriranju mape koristi samo crno-

beli prikaz i da se boja može uključiti/isključiti.

Slika 40 - Iscrtavanje proširene stvarnosti

Razvojni tim napominje da je ostavljeno mnogo mesta za napredak i ubrzanje

algoritama praćenja. Međutim, sledećim je mjerenjem pokazano da sistem uz

4000 tačaka „odvaja“ svega nepunih 20 ms za praćenje jedne slike video toka

podataka:

Page 36: Primena Proširene Stvarnosti u Internet marketingu - Master rad

35

Priprema ključne slike 2.2 ms

Projekcija tačaka 3.5 ms

Pretraživanje detalja 9.8 ms

Iterativno ažuriranje pozicije 3.7 ms

Ukupno 19.2 ms

Spomenuti je sistem ostvario i naknadne verzije. Par mjeseci po objavljivanju PTAM

sistema ostvarena je i verzija PTAMM (eng. Parallel Tracking and Multiple Mapping) koja

između sitnih poboljšanja nudi i permanentno spremanje mapa koja bi se pokretala

ponovnim dolaskom/prepoznavanjem prethodno posjećenog mesta.

8 Android

Pošto je glavna tema ovog diplomskog rada proširena stvarnost na ugraĐenom sistemu,

odabrao sam Android platformu kao svoju radnu okolinu. Ovo je poglavlje zamišljeno kao

kratki opis Android platforme uz osvrt na razlike u odnosu na platforme prisutne na stolnim

računalima.

Android je otvoreni sistem (eng. open source) iniciran od strane Google Inc. Baš zbog svoje

„otvorenosti“ postavio se kao najlogičniji odabir. U svojoj osnovi, zamišljen je kao platforma

za mobilne uređaje. Uključuje operativni sistem, SDK (eng. Sofware Development Kit),

programski radni okvir (eng. framework) i ključne aplikacije. Razvijen je od strane „Open

Handset Alliance“ konzorcija koji se sastoji od 65 tehnologija i mobilnih kompanija, među

kojima se nalazi Pre spomenuti Google Inc., T-Mobile, HTC, Motorola i Qualcomm. Upravo

posljednji nudi jedan zanimljiv okvir za izradu aplikacija iz domene proširene stvarnosti,

koji će biti tema sledećih poglavlja.

Najveći deo Android projekata objavljen je pod Apache 2.0 licencom (open source). To

omogućuje svakome izgradnju željene verzije Androida. Na primer, popularna

Page 37: Primena Proširene Stvarnosti u Internet marketingu - Master rad

36

verzija CyanogenMod je modificirana verzija bazirana na Android 1.6, pa pruža još mnoštvo

mogućnosti koja su uključena u novije verzije Androida. Prema tome, ovakva licenca uvelike

omogućava razvoj platforme od strane programera diljem svijeta.

Na slici 41 prikazana je arhitektura Android platforme. Platforma je bazirana na Linux jezgri

(eng. kernel) verzije 2.6., koja omogućuje manipulaciju memorijom, model pogonskih

programa, manipulaciju procesima i energijom/napajanjem i sigurnosni model gornjim

slojevima. Međutim, gornji su slojevi prilično izmijenjeni, te je nemoguće pokretati

standardne Linux aplikacije na Android platformi.

Slika 41 - Arhitektura Android platforme

Povrh jezgre nalaze se nativne biblioteke, na slici 41 prikazane zelenim blokom. Android

koristi mnoge postojeće open-source projekate za vlastitu platformu. Na primer, biblioteka

WebKit, koja se koristi za prikaz HTML stranica, koristi se i u web-pregledniku Safari. Tu

se nalaze pretežno biblioteke za manipulaciju raznih medija i spremanje podataka. MeĐu

njima se nalazi i posebna verzija OpenGL-a

Page 38: Primena Proširene Stvarnosti u Internet marketingu - Master rad

37

(OpenGL ES) o kojoj će kasnije biti riječi. Bibliotekama se pristupa putem Java

aplikacijskog interfejsa (API-ja).

8.1 Android SDK

U ovom su poglavlju ukratko opisane komponente Android Software Development

Kita potrebne za razvoj aplikacija opisanih u narednim poglavljima.

8.1.1 Dalvik VM (DVM)

Java je programski jezik koji se koristi za programiranje svih aplikacija na Androidu.

Java aplikacije se generalno ne smatraju štedljive kad govorimo o memoriji. Na sistemima

s više gigabajta to ne predstavlja veći problem. Međutim na mobitelima rijetko se kad

susrećemo s viškom RAM-a. Takođe, niti snaga procesora nije najveća. Standardna se Java

Virtualna Mašina (eng. Java Virtual Machine – JVM) ne susreće s navedenim problemima

jer inicijalno nije stvorena za mobilne uređaje. Upravo zbog ovih činjenica, Android

razvojni tim je razvio Virtualnu mašinu pod imenom Dalvik (DVM – eng. Dalvik Virtual

Machine), dizajniranu za rad na ureĐajima koji rade na baterije sa sporijim procesorom

i manje RAM-a.

Osnova ove virtualne mašine je Apache Harmony [14]. Java izvorni kod se inače prevodi u

class datoteke, međutim, DVM ne može direktno pokretati ove datoteke. Umjesto toga,

koristi se format tipa dex. Ovaj tip datoteke sadrži više klasa. Zgodno je napomenuti

da ova vrsta datoteke ima manju veličinu od zbirenih veličina svih class datoteka koje

sadrži. Uzrok tome je što se konstantne vrednosti i deklaracije metoda definišeju samo

jednom.

Takođe, za razliku od JVM koji se bazira na stogu, DVM se bazira na registrima.

Ovo je takođe jedan od načina uštede memorije.

Nadalje, standardni JVM obavlja kompilaciju byte koda u machine kod za vreme rada (eng.

runtime), što ubrzava celu aplikaciju. DVM ne omogućuje spomenutu karakteristiku. Razlozi

su sledeći:

Page 39: Primena Proširene Stvarnosti u Internet marketingu - Master rad

38

- Takav način prevoĐenja povećava korištenje memorije

- Mnoge su funkcionalnosti svejedno implementirane u nativnom kodu

- Mnoge su funkcionalnosti ostvarene hardverski, poput grafike i zvuka

Takođe, ekvivalent Javinoj jar izvršnoj datoteci na DVM je datoteka tipa apk. To je arhiva

koja sadrži dex datoteke, resurse, nativne biblioteke i meta informacije. Ovo je datoteka koja

se prenosi na mobilni ureĐaj prilikom instalacionog procesa.

Android platforma susreće se i s nedostatkom FPU (eng. Floating Point Units) na mobilnim

ureĐajima. Prema tome, operacije s decimalnim brojevima moraju se ostvarivati

programerski. Po nekim procenama takva ostvarenja računanja su otprilike 50 puta

sporije od računanja s celim brojevima. Nadalje, u najvećem broju slučajeva, mobiteli ne

raspolažu s više procesora, te nije omogućeno paralelno izvođenje programa. Uz smanjene

hardverske performanse, ovo su razlozi koji u mnogome otežavaju izvođenje programa.

8.1.2 Java API

Android službeno ne podržava niti Java SE niti Java ME. Međutim, dijelovi ovih API-ja

su podržani na Androidu. Nadalje, Android pruža verziju svog API-ja za grafičko

korisničko interfejsa (GUI). Zbog toga sve klase Swing i awt biblioteka nedostaju.

Najznačajniji nedostatak je ne podržavanje Java beansa, koji su sastavni deo velike većine

open source projekata.

8.1.3 Grafički API

Android podržava OpenGL ES verziju OpenGL-a specijalno dizajniranu za ugraĐene

sisteme. Ovaj 3D API je dostupan za Java i C++ programski jezik. Uključene su samo

one mogućnosti OpenGL-a koje su stvarno potrebne. Zbog prethodno objašnjenog problema

nedostatka FPU jedinice, na OpenGL ES 1.x se koristi računanje s fiksiranim decimalnim

zarezom. OpenGL ES 2.0 koriste zapis s pomičnim zarezom (eng. floating point).

Najveća razlika u odnosu na standardni OpenGL je nedostatak glBegin/glEnd

ulaznih tačaka. Umjesto specificiranja svakog vrha, referenciraju se nizovi vrhova.

Page 40: Primena Proširene Stvarnosti u Internet marketingu - Master rad

39

Sve teksture moraju biti kvadratne veličine potencije broja dva, kao u ranijim

verzijama OpenGL-a.

8.1.4 Eclipse

Za razvoj aplikacija koristi se Eclipse SDK. Specifične funkcionalnosti dostupne su kroz

Android SDK. Omogućeno je pokretanje na emulatoru ili direktno na mobilnom

ureĐaju. Eclipse obavlja generisanje apk datoteke i instaliranje aplikacije na mobitel.

Takođe, Eclipse omogućuje debugg kako na emulatoru, tako i na mobitelu.

Slika 42 - Eclipse radna okolina

8.1.5 Native Development Kit (NDK)

Java je jedini programski jezik koji je jedini podržan na Android platformi. Međutim,

moguće je kombinirati Java kod s C++ kodom preko JNI (eng. Java Native Interface). NDK

omogućuje korištenje klasa i metoda pisanih u nativnom jeziku (C/C++) preko dijeljenih

biblioteka. Takođe, omogućeno je i korištenje Java klasa i metoda u nativnom kodu. Ovo

omogućuje korištenje drugih biblioteka otvorenog koda (eng. open source) biblioteka, te

pruža moguće ubrzanje ukoliko npr. iscrtavanje obavljamo preko nativnog koda. Spomenuti

se alat koristi u programskom ostvarenju objašnjenom u slijedećem poglavlju.

Page 41: Primena Proširene Stvarnosti u Internet marketingu - Master rad

40

8.2 Proširena stvarnost na android platformi

Kako je Android još uvijek mlada platforma, a proširena stvarnost prilično zahtjevna

tehnologija, dostupno je svega par okvira (eng. framework) koji nude podršku proširene

stvarnosti na Android ugraĐenom sistemu. Takođe, ovi su sistemi u ranijim fazama

razvoja. Jedan od njih je AndAR, sistem baziran na slavnom ARToolKit-u, biblioteci

razvijenoj još 1999. godine.

Slika 43 - AndAR

Sistem AndAR neće biti tema užeg proučavanja ovog rada, a detaljnije informacije možete

naći na [20]. Predmet izučavanja ovog poglavlja biti će jedna drugi alat, QCAR. Ova je

biblioteka, poput AndAR otvorene licence, i kao takva omogućava i olakšava razvoj

proširene stvarnosti na Androidu.

9 QCAR SDK

QCAR SDK je projekat razvijen od strane Qualcomm Inc., koj i j e objavljen 2010.

godine. QCAR uvelike olakšava razvoj aplikacija iz područja proširene stvarnosti. Baziran

je na markerima dostupnim na stranicama projekata, o kojima će više govora biti u sledećem

poglavlju.

Page 42: Primena Proširene Stvarnosti u Internet marketingu - Master rad

41

9.1.1 Arhitektura sistema

Aplikacija bazirana na QCAR SDK sastoji se od sledećih komponenti. Na slici 44 prikazana

je arhitektura sistema s imenima komponenti navedenim u zagradama:

- Kamera (eng. Camera): Kamera odgovara predlošku vrste singleton koji

osigurava da se u sistemu nalazi isključivo jedna instanca ove komponente. Kamera

osigurava da se svaki frame uhvati i proslijedi trackeru. Uloga programera je

samo pokretanje i zaustavljanje ove komponente. Frame se automatski dovodi u

formatu i veličini ovisnoj o ureĐaju.

- Pretvornik slika (eng. Image Converter): Ova komponenta pretvara sliku iz

formata kamere (npr. YUV12) u format prikladan za iscrtavanje OpenGL- om (npr.

RGB565) i praćenje. Takođe je uključeno i pod-uzorkovanje.

- Tragač (eng. Tracker): Takođe singleton i sadrži algoritme računarskog vida koji

otkrivaju i prate objekte scene u svakoj slici video toka podataka. Takođe sadrži i

algoritme koji otkrivaju markere i virtualne tastera. Rezultat se sprema u tzv. objekt

stanja (eng. state object) koji se dalje koristi pri iscrtavanju, pa je dostupan za

manipulaciju iz programskog koda.

- Pozadinski video pokazivač (eng. Video Background Renderer): Još jedna

komponenta koja odgovara predlošku singleton koja je zadužena za iscrtavanje slika

spremljenih u objekt stanja

- Aplikacijski kod (eng. Application Code): Programer mora inicijalizirati sve

gore spomenute komponente i odraditi tri koraka u aplikacijskom kodu. Za svaki

procesuirani slikovni okvir (eng. frame), ažurira se objekt stanja i poziva se metoda

za iscrtavanje. Tri koraka su sljedeća:

1. Upit objektu stanja za novo detektiranim ili novim stanjima

prethodno detektiranih markera

2. Ažuriranje aplikacijske logike s novim ulaznim podacima

3. Iscrtavanje generisanih objekata - grafike

- Markeri (eng. Target Resources): Markeri se mogu generišeti pomoću on- line

sistema. Generišeju se posebne konfiguracijske datoteke koje omogućuju

korisniku/programeru korištenje vlastitih markera. Konfiguracijske datoteke QCAR

SDK koristi u vreme izvoĐenja.

Page 43: Primena Proširene Stvarnosti u Internet marketingu - Master rad

42

Slika 44 - Arhitektura i tok podataka QCAR SDK u aplikacijskom okruženju

9.1.2 Aplikacijsko programsko interfejsa – API

U ovom odlomku ukratko će biti spomenuti razredi QCAR biblioteke i u par crta objašnjena

njihova uloga. Za detaljniju dokumentaciju moguće je pritisnuti na naziv svakoga od razreda.

QCAR::Area – osnovni razred za 2D oblike korištene u QCAR-u

QCAR::CameraCalibration – utvrĐuje unutrašnje parametre kamere

QCAR::CameraDevice – implementira pristup ugraĐenoj kameri mobilnog uređaja

QCAR::Frame – kolekcija različitih prikaza jedne slike video toka podataka. Može

sadržavati proizvoljan broj slikovnih prikaza u različitim formatima ili rezolucijama zajedno

s vremenskom oznakom i indeksom

QCAR::Image – jedna slika. Npr. proslijeĐena s kamere

Page 44: Primena Proširene Stvarnosti u Internet marketingu - Master rad

43

QCAR::ImageTarget – ciljana ravnina za iscrtavanje. Svako manipuliranje s

virtualnim tasterma obavlja se preko ovog razreda

QCAR::Marker – pravokutni marker

QCAR::Matrix34F – matrica s 3 reda i 4 stupca decimalnih brojeva QCAR::Matrix44F –

matrica s 4 reda i 4 stupca decimalnih brojeva QCAR::MultiTarget – skup ciljanih ravnina

za iscrtavanje s fiksiranom prostornom

udaljenosti

QCAR::NonCopyable – osnovni razred za sve objekte koji se ne mogu kopirati. MeĐu

njima su CameraCalibration, CameraDevice, Image, Renderer, Trackable, Tracker,

VirtualButton i svi njihovi podrazredi

QCAR::Rectangle – definiše dvodimenzionalni pravokutni prostor

QCAR::Renderer – pruža metode za iscrtavanje video pozadine i

trodimenzionalnih objekata na osnovu podataka o poziciji

QCAR::State – jedan od bitnijih razreda. Pruža konzistentan pogled na stanje proširene

stvarnosti uključujući i frame i sve instance razreda Trackable.

QCAR::Trackable – predstavlja osnovni razred za sve objekte koji mogu biti praćeni

u 6DOF (eng. Six Degrees of Freedom – translatacija i rotacija u svim smjerovima)

QCAR::Tracker – razred zadužen za praćenje i manipulaciju svim Trackable

objektima

QCAR::UpdateCallback – služi za ažuriranje čitavog sistema

QCAR::Vec2F – dvodimenzionalni vektor s decimalnim brojevima

QCAR::Vec2I – dvodimenzionalni vektor s celim brojevima QCAR::Vec3F

– trodimenzionalni vektor s decimalnim brojevima QCAR::Vec3I –

trodimenzionalni vektor s celim brojevima QCAR::Vec4F –

četverodimenzionalni vektor s decimalnim brojevima

Page 45: Primena Proširene Stvarnosti u Internet marketingu - Master rad

44

QCAR::Vec4I – četverodimenzionalni vektor s celim brojevima

QCAR::VideoBackgroundConfig – čuva konfiguraciju pozadinskog videa

QCAR::VideoMode – implementira pristup ugraĐenoj kameri uređaja

QCAR::VirtualButton – virtualna taster na površini koja se može pratiti.

9.1.3 Android dozvole

Svaka aplikacija na Android platformi sadrži konfiguracijsku datoteku

AndroidManifest.xml u svom osnovnom direktorijumu. Manifest operativnom sistemu

prikazuje osnovne informacije o aplikaciji Pre svakog pokretanja aplikacije. MeĐu

informacija o raznim imenima komponenti aplikacije, uključenih biblioteka, minimalne

verzije Android sistema itd., nalaze se i dozvole za korištenje određenih komponenti uređaja

i samog operacijskog sistema. Tako za pokretanje QCAR SDK aplikacije neophodno je

omogućiti sledeće dozvole (Android Permissions):

- android.permission.ACCESS_NETWORK_STATE

- android.permission.ACCESS_WIFI_STATE

- android.permission.CAMERA

- android.permission.INTERNET

- android.permission.READ_PHONE_STATE

9.1.4 Markeri – „Trackables“

„Trackables“ predstavlja osnovi razred koji predstavlja sve objekte u stvarnom svetu koje

QCAR SDK može pratiti u šest stepeni slobode. Svaka instanca tog razreda može biti

prepoznata i praćena, ima ime, identifikacijski broj, status i informacije o poziciji. Razredi

„Image Targets“, „Multi Targets“ i „Markers“ su podrazredi, pa nasljeđuju sve atribute od

„Trackables“ osnovnog razreda. Instance ovog razreda (i instance njegovih podrazreda) se

ažuriraju svakog okvira video toka podataka, pa se u tzv. statičkom objektu (eng. Static

Object) prenose u samu aplikaciju.

Page 46: Primena Proširene Stvarnosti u Internet marketingu - Master rad

45

Četiri su tipa ovog razreda, pa su označeni sledećim enumeratorima:

- UNKNOWN_TYPE - Trackable nepoznatog tipa.

- IMAGE_TARGET - Trackable tipa ImageTarget

- MULTI_TARGET - Trackable tipa MultiTarget

- MARKER - Trackable tipa Marker

Nadalje, sledećim se enumeratorima označava status svake instance razreda

Trackable:

- UNKNOWN – stanje je nepoznato. Ovo stanje se najčešće vraća Pre

inicijalizacije.

- UNDEFINED – stanje nije definišeno.

- NOT_FOUND – Trackable nije pronaĐen. Do ovog stanja dolazi npr. ukoliko

referencirani Trackable nije deo baze podataka.

- DETECTED – Trackable je pronaĐen u okviru video toka podataka.

- TRACKED – obavljeno je praćenje na Trackableu u okviru video toka

podataka.

Ukoliko je Trackable pronaĐen i praćen, dalje se procesuira pozicija u obliku matrice

3x4. Na slici 45 možemo videti pravilno detektirane i praćene dve instance razreda

Trackable.

Slika 45 - Trackable – marker pomoću kojeg se definiše položaj u okolini

Page 47: Primena Proširene Stvarnosti u Internet marketingu - Master rad

46

9.1.4.1 Image Targets

Ovaj podrazred Trackable razreda nas najviše zanima u ovom radu. Radi se o

najjednostavnijoj, međutim za potrebe ovog rada sasvim dovoljnoj implementaciji razreda

Trackable. U praksi, radi se o običnom markeru, slici na papiru koju QCAR SDK

prepoznaje i na osnovu pozicije omogućava iscrtavanje proširene stvarnosti na ekran.

U instalacijskom paketu QCAR SDK dobija se pet pokaznih primera aplikacija s kojima

dolaze i korespondentni markeri/Trackables. Trackable markeri se definišeju u datoteci

assets/config.xml. Generisanje proizvoljnih markera omogućeno je na [21]. Slanjem slike

formata JPG ili PNG, dobivaju se povratne datoteke, među kojima i prethodno navedena

XML datoteka, koje je potrebno uključiti u projekat. Na slici 46 vidimo naš Trackable i

njegove referentne detalje na osnovu kojih se prepoznaje u sceni.

Slika 46 - FER Trackable (lijevo) i njegovi referentni detalji (desno)

9.1.5 Virtualni tasteri - Virtual Buttons

Ovim razredom omogućena je interakcija s proširenom stvarnosti u aplikaciji baziranoj na

QCAR SDK. To je prethodno definišena površina na Image Targetu, koja dodirom ili

prekrivanjem pokreće dogaĐaj (eng. event). Ovaj razred se može koristiti za razne

implementacije: od klasičnog pritiskanja tipaka, detektiranja da li je određeni deo Image

Targeta prekriven, pa sve do raznih interakcija s modelima

Page 48: Primena Proširene Stvarnosti u Internet marketingu - Master rad

47

na sceni proširene stvarnosti. Virtualne tastera se evaluiraju jedino ako su unutar dosega

kamere, pa je video tok podataka postojan određeno vreme. Evaluacija Virtualnih tastera

je isključena prilikom brzih pokreta kamerom.

Virtualne tastera se mogu prethodno dodati u config.xml datoteku kao segment

Image Targetu, pa se mogu dinamički dodavati prilikom izvoĐenja aplikacije.

Sledeći su najvažniji parametri Virtualne tastera:

- Naziv / identifikator

- Koordinate: Virtualne tastera su definišene kao pravokutne površine.

Definišeju se gornji-lijevi i donji-desni kut pravokutnika. Potrebno je naglasiti da se

za jedinice za definišenje koordinata definišeju u lokalnom koordinatnom sistemu.

Izvor koordinatnog sistema je u sredini roditeljskog Image Targeta

- Osetljivost:

1. HIGH – brza detekcija, može prouzročiti netačne aktivacije

2. MEDIUM – najčešće optimalna detekcija

3. LOW – potrebno je duže prekriti taster za pokretanje događaja

- Događaji – korespondentne akcije koje se poduzimaju osnovu prekrivanja, odnosno

otkrivanja Virtualne tastera

9.2 IMPLEMENTACIJA SISTEMA QCAR SDK

9.2.1 Instalacija sistema QCAR SDK

U sledećem poglavlju će ukratko biti objašnjen postupak instalacije za Windows operativni

sistem. Pri instalaciji za Linux sistem postupak je sličan, međutim komponenta Cygwin

nije potrebna, jer je postupak izgradnje (eng. build) omogućen u operativnom sistemu.

Za potpunu instalaciju i razvoj aplikacija baziranih na QCAR SDK potrebne su sledeće

komponente. Pri instalaciji komponenti je potrebno instalirati navedenim redosledom:

Page 49: Primena Proširene Stvarnosti u Internet marketingu - Master rad

48

1. JDK (eng. Java SE Development Kit) – omogućuje programiranje u programskom

jeziku Java i sadrži osnovne Java biblioteke

2. Eclipse IDE (eng. Integrated Development Environment) – okolina koja

omogućava programiranja aplikacija, njihovo prevođenje i pokretanje

3. Android SDK (eng. Software Development Kit) – omogućuje programiranje

Android programskih aplikacija i korištenje osnovnih biblioteka

4. Android ADT (eng. Android Development Tools) – alat/dodatak za Eclipse koji

omogućuje brže i lakše razvijanje i distribuiranje aplikacija

5. Android SDK podrška za platforme (eng. Android SDK Platform Support) – pomoću

aplikacije Android SDK and AVD Manager omogućuje ažuriranje i skidnevno

novih komponenti, pokretačkih programa za mobilne uređaje i generisanje virtualnih

uređaja za pokretanje Android aplikacija

6. Cygwin okruženje – okruženje koje omogućuje prevođenje native klasa

7. Android NDK (eng. Native Development Kit) – ekstenzija na Android SDK koja

omogućuje izgradnju delova programskog koda u native jeziku. Native jezici se

koriste za programske kodove kritičnih performansi (npr. iscrtavanje). U našoj

aplikaciji koristi se C++ programski jezik.

8. QCAR SDK

Nadalje, potrebno je postaviti globalnu varijablu QCAR_SDK_ROOT na vrednost

direktorijuma u koji je instaliran QCAR SDK.

Npr. „C:/Development/Android/qcar-sdk-xx-yy-zz“, gde su xx-yy-zz vrednosti

korespondentne verzije SDK-a. Linkovi na navedene programske komponente nalaze se

na .

Page 50: Primena Proširene Stvarnosti u Internet marketingu - Master rad

49

9.2.2 Implementacija Virtualnih tastera

QCAR SDK s instalacijom pruža pet primera koji omogućuju brže shvatanje i razvoj

vlastitih aplikacija. U ovom poglavlju objašnjena je integracija vlastitih modela i

upotreba Virtualnih tastera za menjanje tekstura modela. Navedeni je postupak

implementacije baziran na primeru Virtual Buttons, uz određene promene.

Za početak nam je potreban primeren Image Target. Ovaj je postupak objašnjen u poglavlju

4.1.4.1. Bitno je navesti da nam je za upotrebu Virtualnih tastera potreban dovoljno detaljan

Image Target. Razlog tome je što se pri detektiranju Virtualnih tastera koriste detalji

dostupni na Image Targetu. Ukoliko „ispod“ Virtualne tastera nema detalja, nemoguće

je detektovati prekrivanje/otkrivanje tastera.

Nadalje, potreban nam je model koji ćemo iscrtavati. Za potrebe ovog primera, izradio sam

jednostavan model prikazan na slici 24.

Slika 24 - 3D model

Za iscrtavanje modela u aplikaciji baziranoj na QCAR SDK potreban nam je .h header

format. Do traženog formata je najlakše doći izvozom željenog modela u .obj

formatu, skripta za konverziju je dostupna na [22]. Potrebno je spomenuti da ovim

pristupom nije moguće implementirati animaciju modela. Za animiranje potrebno je koristiti

nekakav programski okvir koji omogućuje prikaz i animaciju (eng. rendering framework)

baziran na Android platformi i OpenGL ES-u. Međutim, pošto je platforma još „mlada“,

takvi su programski okviri pretežno u test fazama. Takođe, bitno je naglasiti da je iscrtavanje

poželjno odraditi u nativnom kodu, zbog skupoće samog procesa iscrtavanja.

Nadalje, potrebno je željeni model integrisati u segment aplikacije zadužen za

Page 51: Primena Proširene Stvarnosti u Internet marketingu - Master rad

50

iscrtavanje. U korištenom primeru radi se o VirtualButtons.cpp razredu dostupnom među

datotekama nativnog koda u direktorijumu jni/. Pošto naš generisani model ne sadrži

polje indeksa (eng. indeks array), potrebno je koristiti metodu glDrawArrays umesto

glDrawElements. Nadalje, potrebno je refaktorisati i izmenjati kod baziran na ovim

metodama.

Sama inicijalizacija Virtualnih tastera je prilično dobro obavljena u primeru, pa ćemo je

velikim delom koristiti za naš program. Prema tome, potrebno je implementirati akcije koje

se provode po aktiviranju Virtualnih tastera. U našem primeru, na osnovu pritisaka na

različite tastera, naš će se model „zavijati“ u različite teksture. Pošto je naglasak ovog

poglavlja samo prikazati osnove funkcionalnosti QCAR SDK, navedene su teksture

jednostavne slike u boji.

Iteracijom kroz dostupne Virtualne tastere, svakim okvirom video toka podataka potrebno je

proveriti da li i koji taster pritisnut. Na osnovu toga, za korišćenu se odabire korespondentna

tekstura. Takođe, za svaku od dostupnih tastera se iscrtavaju okviri na ekranu, što može biti

praktična funkcionalnost.

Nadalje, potrebne su promene u Java programskom kodu. Ove se promene

prvenstveno odnose na učitavanje tekstura.

Pre pokretanja same aplikacije potrebno je prevesti sav kod u nativnom jeziku. Za taj

postupak koristimo skriptu ndk-build prethodno spomenutog alata Android NDK.

Na slici 25 može se videti primer iscrtavanja i korištenja Virtualnih tastera za

promjenu teksture na modelu.

Slika 47 - Virtualni tasteri

Page 52: Primena Proširene Stvarnosti u Internet marketingu - Master rad

51

9.3 QCAR + UNITY

QCAR ekstenzija za alat Unity [23] omogućuje integraciju QCAR funkcionalnosti u Unity

3 IDE i time omogućuje brži razvoj aplikacija i igara. U ovom je poglavlju ukratko opisan

sam alat Unity, ekstenzija i na jednom primeru je objašnjena implementacija jednostavnog

sistema.

9.3.1 Unity

Unity je integrisani alat za kreiranje 3D video igrica ili drugog interaktivnog sadržaja poput

3D animacija u realnom vremenu. Omogućuje razvoj aplikacija prvenstveno temeljeno na

grafičkom okruženju, što znači da se čitava scena može izgraditi doslovno „povlačenjem“

sadržaja u okolinu.

Slika 48 - Unity

Alat je dostupan za Windows i Mac OS X platforme, pa je pomoću njega moguće razvijati

aplikacije za sledeće platforme:

- Windows

- Mac

- Linux (trenutno u razvoju)

- Wii

- iPad

- iPhone

- Android

Page 53: Primena Proširene Stvarnosti u Internet marketingu - Master rad

52

Takođe, moguće je razvijati i aplikacije za preglednike, uz koje je dostupan i dodatak „Unity

web player plugin“. Podrške za Xbox 360 i PlayStation 3 su u finalnoj fazi razvoja. Prema

tome, radi se o izuzetno kvalitetnom i široko korištenom alatu.

Unity je dostupan u dve glavne licencne verzije: Unity i Unity Pro. Osnovna je verzija

besplatna, dok je Pro verzija dostupna za određenu cenu. U Pro verziji dostupne su mnoge

funkcionalnosti, dok se u besplatnoj verziji iscrtava vodeni žig (za web aplikacije),

odnosno splash screen (za ostale – samostalne aplikacije).

Grafički pogon (eng. engine) koristi Direct3D (Windows), OpenGL (Mac, Windows)

i OpenGL ES (iPhone OS, Android). Za skriptovanje samih komponenti scene koriste se

UnityScript (skriptni jezik baziran na JavaScriptu), C# i Boo (skriptni jezik baziran na

Pythonu).

Podržana je integracija modela iz svih popularnijih alata za modeliranje: 3ds Max,

Maya, Blender, Modo, ZBrush, Cinema 4D i Cheetah3D.

Unity podržava dugi niz funkcionalnosti i kompatibilnosti, međutim, za potrebe naše

aplikacije ćemo koristiti samo uži izbor komponenti.

9.4 QCAR Unity Extension

Na osnovu ovog dodatka moguće je koristiti komponente oba sistema. Moguće je koristiti

komponente QCAR-a, poput Virtualnih tastera, Image Targeta (koji se koristi za kao

referentni marker) i AR kamere (koja implementira celu funkcionalnost praćenja i

detektiranja prostora za iscrtavanje. S druge strane, sve navedene komponente mogu se

koristiti u jednoj jednostavnoj razvojnoj okolini poput Unity-ja.

Prema tome, razvoj aplikacije koja omogućava proširenu stvarnost, pa čak i interakciju s

modelima, svodi se na slaganje komponenata na scenu. Naravno, svako ponašanje određene

komponente potrebno je programirati u skriptama te

„pridodati“ željenoj komponenti. Razvoj jedne takve aplikacije objašnjeno je u sledećem

poglavlju.

Page 54: Primena Proširene Stvarnosti u Internet marketingu - Master rad

53

9.5 Implementacija sistema QCAR Unity Extension

9.5.1 Instalacija potrebnih komponenti

U sledećem poglavlju bit će ukratko objašnjen inicijani postupak za Windows platformu.

Verzija za Linux operativne sisteme još nije dostupna u release verziji, dok je instalacija za

Mac OS X identična Windows instalaciji.

Za razvoj aplikacija temeljenih na QCAR Unity Extensionu potrebne su nam dve

komponente:

- Unity alat verzije 3.2. ili 3.3.

- QCAR Unity Extension

Po skidanju i instalaciji Unity alata, potrebno je skinuti ekstenziju i pokrenuti izvršnu

datoteku. Nadalje, odabire se željena lokacija za razvoj aplikacija. Paketi se

automatski kopiraju u Standard Package instalacionog direktorijuma Unity alata.

Ukoliko se koristi 64-bitni operativni sistem potrebno je skinuti i instalirati dodatak za

osiguravanje stabilnosti celog sistema [23].

Rezultat instalacije će biti sledećih pet Unity paketa:

- QCAR-1.0.0.unitypackage: osnovna QCAR ekstenzija

- QCAR-ImageTargets-1.0.0.unitypackage: primer koji koristi Image

Target marker

- QCAR-FrameMarkers-1.0.0.unitypackage: primer korištenja Frame

Markers markera

- QCAR-MultiTargets-1.0.0.unitypackage: primer korištenja Multi

Targets markera

- QCAR-VirtualButtons-1.0.0.unitypackage: primer koji koristi Virtualne

tastera – Virtual Buttons

Page 55: Primena Proširene Stvarnosti u Internet marketingu - Master rad

54

10 Implementacija jednostavnog projekata

Po instalaciji QCAR paketa, kreira se novi projekat. Potrebno je odabrati paket QCAR-

1.0.unitypackage iz liste menija Import the following packages. Alternativno, moguće je

uvesti paket desnim klikom na pogled Project, pa odabirom menija Import Package.

Nadalje, za korištenje markera u aplikaciji, dodaju se konfiguracijske datoteke config.xml i

qcar-resources.dat u direktorijum StreamingAssets/QCAR. U poglavlju 4.1.4.1.

objašnjeno je generisanje vlastitih markera, odnosno moguće je koristiti dostupne markere

preuzimanjem konfiguracijskih datoteka iz primera QCAR-ImageTargets.

Struktura direktorijuma i datoteka bi trebala izgledati kao na slici 49.

Slika 49 - Unity: Struktura podataka jednostavnog QCAR projekata

U nastavku je ukratko objašnjen sadržaj svakog od direktorijuma:

- Editor: sadrži skripte potrebne za dinamičku interakciju s elementima

koji se mogu pratiti na sceni

- Plugins: sadrži Java i nativne binarne datoteke koje integriraju QCAR

SDK u Unity Android aplikaciju

Page 56: Primena Proširene Stvarnosti u Internet marketingu - Master rad

55

- Qualcomm Augmented Reality: sadrži skripte i tzv. prefab

komponente. Prefab komponente su objekti specifični za Unity okolinu, koji se

mogu višekratno koristiti (eng. reusable), pomoću kojih se gradi scena. U ovom

direktorijumu nalaze se navedeni objekti pomoću kojih se ostvaruju

funkcionalnosti neophodne za proširenu stvarnost

- Streaming Assets: sadrži prethodno navedene datoteke config.xml i

qcar-resources.dat

Sada kada su uključeni potrebni paketi u naš projekat, relativno je jednostavno slagati željenu

scenu. U direktorijumu Qualcomm Augmented Reality/Prefabs potrebno je označiti

komponentu ARCamera, pa jednostavnim povlačenjem u prozor Scene integrisati u

scenu. Jednako tako dodaju se sve željene komponente. Neophodno je dodati i

komponentu ImageTarget koja omogućuje korištenje markera, pa i samim time i praćenje.

Slika 50 - Inspector View

Za dodavanje proizvoljnih elemenata u scenu, poput modela, potrebno je

prethodno dodati željene elemente u projekat, te ih onda „povući“ u scenu.

Page 57: Primena Proširene Stvarnosti u Internet marketingu - Master rad

56

Jednostavni generički modeli poput osnovnih geometrijskih likova, svetla, GUI

elemenata, itd. mogu se dodati odabirom menija GameObject->Create Other.

Nadalje, svakom se elementu scene mogu dodavati skripte na osnovu kojih se ta komponenta

scene ponaša. Tako je, između ostalog, uz element scene ImageTarget uključena skripta

Image Target Behavior, sa kojom se definiše marker koji će se koristiti, pa se definišu

i inicijaliziraju elementi sadržani na ImageTarget komponenti, poput Virtualnih tastera.

Na slici 28 moguće je videti sadržaj pogleda Inspector na kojem definišemo osnovne

izgledne i ponašajne atribute elemenata projekata.

10.1 Aplikacija – „Interaktivni virtualni patuljak“

Primer opisan u nastavku iscrtava jedan kinematički model patuljka na definisanom

markeru, pa omogućuje jednostavnu interakciju. Tako na primer, ukoliko prstom prekrijete

prostor na kojem patuljak stoji, patuljak će skočiti.

Slika 51 - Unity project

Na slici 51 mogu se videti čitav Unity projekat i pregledi Hierarchy, Project, Scene i

Inspector.

Page 58: Primena Proširene Stvarnosti u Internet marketingu - Master rad

57

U Hierarchy pogledu moguće je videti elemente scene: AR kameru, direkciono svetlo i ravnu

površinu. Na tu površinu stavljen je ImageTarget marker, a na njega Virtualni taster. Kao

dete Virtualnoj tastera stavljen je kinematički model – patuljak naziva goober. Pri

postavljanju elemenata u odnos roditelj-dete nasljeđuju se neke osobine komponenti

scene, a omogućeno je i lakše upravljanje istim komponentama.

Radi se o kinematičkom modelu FBX formata. Na slici 52 prikazan je model, pa i hijerarhija

istog. Model ima definišene tri animacije: idle, jump i walk.

Slika 52 - Hijerarhijski kinematički model

Bitno je spomenuti da Unity nudi alat za animiranje modela. Jednostavnim pomicanjem

kostiju modela u određenim sekvencijama moguće je izraditi animaciju. Na slici 53 vidimo

spomenuti alat.

Page 59: Primena Proširene Stvarnosti u Internet marketingu - Master rad

58

Slika 53 - Unity Animation Window

Pri implementaciji Virtualnih tastera, potrebno je implementirati interfejsa

IVirtualButtonEventHandler dostupno u QCAR Extension paketu. Na osnovu

implementacije ovog interfejsa, prvenstveno metoda OnButtonPressed i

OnButtonReleased, pozivaju se korespondentni događaji.

Na slici 54 prikazan je rad aplikacije.

Slika 54 - Interaktivni virtualni patuljak

Bitno je naglasiti da se Virtualni taster inicira prekrivanjem detalja na markeru na

poziciji tastera. Prema tome, zbog tehničkih detalja izvedbe samog slikanja mobilnog

telefona, u ovom se primeru koristi hemijska.

Page 60: Primena Proširene Stvarnosti u Internet marketingu - Master rad

59

Danas postoje mnogi komercijalni sistemi proširene stvarnosti, slobodni za korištenje

za bilo koga. Neki od najpopularnijih su ARToolKit, GRATF i GoblinXNA koji rade

na XNA framework-u, ARUCO – implementiran pomoću Ogre engine-a, D'Fusion i

Qualcomm-ov ARSDK nazvan Vuforia.

Kao što vidimo, postoji puno sistema za razvoj aplikacija koji su komercijalno

dostupni. Svi pružaju potrebne funkcionalnosti za razvoj aplikacija proširene

stvarnosti i većina ih je dostupna besplatno, a ostale sisteme možemo testirati pre

nego ih kupimo.

Većina dostupnih sistema dopušta jednostavne crno-bele markere, ali postoje i oni

koji dopuštaju i kompleksnije markere, a osim toga imaju i brojne druge naprednije

funkcionalnosti. Pošto bi razrada kriterijumuma za sve trenutno dostupne sisteme bila

jako opširna, u radu su opisani samo neki od njih.

Testirajući predhodno navedene sisteme implementacijom jednostavnih aplikacija i

čitajući dokumentaciju na webu, možemo videti da ARUCO pruža samo osnovnu

funkcionalnost praćenja i premda nije komplikovan za korištenje, njegova ocena bi

bila dosta manja kada bismo ga uporedili sa ostalim sistemima. GoblinXNA i GRATF

oba koriste XNA framework i pružaju osnovno praćenje i izradu vlastitih

jednostavnih markera. Njih smo takođe isključili iz upoređivanja jer su ograničeni na

samo nekoliko platformi i nisu kompleksni kao neki drugi trenutno dostupni sistemi

pa ih ne bismo mogli upoređivati po svim zadanim kriterijumima i ocena bi im, kao i

za ARUCO, bila prilično niska u odnosu na odabrane sisteme. Kod sistema

isključenih iz upoređivanja postoji puno prostora za daljnji razvoj i napredak, ali i

njihove trenutne verzije su dovoljno dobre za izradu osnovnih aplikacija proširene

stvarnosti.

Odabrani sistemi se osim po funkcionalnosti ističu i po popularnosti, pa su idealan

izbor za uporedna poređenja.

Sistemi čije poređenje je opisano u ovom radu su: ARToolKit, D'Fusion i Vuforia.

Page 61: Primena Proširene Stvarnosti u Internet marketingu - Master rad

60

ARToolKit je softver biblioteka za izradu aplikacija proširene stvarnosti.

Jedna od ključnih poteškoća u razvoju aplikacija za ovakve sisteme je problem

praćenja koristeći korisnikovu perspektivu. Kako bi aplikacija pravilno radila i

iscrtavala virtualne predmete na pravom mestu, potrebno je odrediti gde korisnik

gleda u realnom svetu.

ARToolKit koristi algoritme računarskog vida da reši taj problem. Koristi biblioteke

praćenja snimaka da izračuna poziciju kamere i orijentaciju u odnosu na postavljene

markere u stvarnom vremenu. Ovaj proces omogućuje široku primenu i brzu izradu

aplikacija.

Karakteristike sistema:

• Pozicioniranje i orijentacija pomoću jedne kamere

• Kod za praćenje koji koristi jednostavne crne kvadratiće

• Složeni markeri

• Mogućnost korištenja bilo kojeg markera u obliku kvadrata

• Jednostavan kod za kalibraciju kamere

• Dovoljno brz za aplikacije u realnom vremenu

• SGI IRIX, Linux, MacOS i Windows OS distribucija

• Distribucija sa kompletnim izvornim kodom

Page 62: Primena Proširene Stvarnosti u Internet marketingu - Master rad

61

D'Fusion Studio je besplatan razvojni alat firme Total Immersion za izradu aplikacija

proširene stvarnosti. Dostupan je na više uređaja i operativnih sistema, pa samim tim

omogućuje razvoj zaštićenih aplikacija koje svoju primenu nalaze u digitalnom

oglašavanju, organizaciji događaja i industrijskim prostorima.

Karakteristike sistema:

• Algoritmi praćenja karakteristika

• Praćenje jednog ili više markera

• Automatska inicijalizacija

• Praćenje lica

• Video menadžment

• Podrška za bar kodove

• iOS, Windows, iPad Ready

Page 63: Primena Proširene Stvarnosti u Internet marketingu - Master rad

62

Vuforia je Qualcommov sistem za izradu aplikacija proširene stvarnosti. Moguća je

izrada aplikacija na Android i iOS mobilnim uređajima.

Karakteristike sistema:

• Callback funkcije za događaje

• Pristup hardverskim komponentama na visokoj razini

• Više vrsta markera

o Image targets

o Multi targets

o Frame markers

• Interakcija sa stvarnim svijetom

o Virtual buttons

Sva upoređivanja koje se sprovode, dešavaju se po nekim kriterijumima, pa tako i ova.

Nakon implementacije jednostavnih primera u svakom od tri sistema, upoređujemo ih

po sledećim kriterijumima:

• Jednostavnost korištenja

• Prenosivost

• Praćenje

o Brzina prikaza virtualnog objekta

o Nagib markera

o Parcijalan prikaz markera

o Jedan marker

o Više markera

o Udaljenost markera od kamere

• Izrada vlastitih markera

• Verovatnoća praćenja markera

o Dnevno svetlo

o Mrak

Page 64: Primena Proširene Stvarnosti u Internet marketingu - Master rad

63

11 ARToolKit

11.1.1 Jednostavnost korištenja

Za korištenje ovog sistema, potrebno je skinuti program sa Interneta i instalirati ga na

računar i praktično odmah možemo krenuti sa izradom aplikacija. Ako na računaru već

imamo instaliran Unity, za njega takođe postoji podrška, pa i pomoću njega možemo

izraditi aplikacije.

Na stranicama Artoolworks-a postoje i uputstva za skidnevno, pokretanje i izradu

jednostavne aplikacije, što omogućuje jako brzu izradu test aplikacije, ali i pomoć pri

izradi vlastitih, komplikovanijih aplikacija.

11.1.2 Prenosivost

ARToolKit omogućuje Prenos na iOS, Android, Linux i Windows platforme, a

koristi se i za izradu web aplikacija, iz čega možemo zaključiti da ima jako široku

primenu.

11.1.3 Praćenje

11.1.3.1 Brzina prikaza virtualnog objekta

Nakon postavljanja markera pred kameru, virtualni objekt se trenutno prikazuje na

ekranu.

11.1.3.2 Nagib markera

Sistem jako dobro prati markere koje postavimo u vidokrug kamere, a do nestanka

virtualnog objekta dolazi tek kod uglova većih od 86-87 stepeni.

11.1.3.3 Parcijalan prikaz markera

Čim maknemo marker iz vidokruga kamere ili delimično prekrijemo sliku koju

kamera vidi, virtualni objekt se briše. Marker mora u kontinuitetu biti vidljiv da bi

sistem radio kako treba. Ovaj problem nestaje ako koristimo složene markere.

Page 65: Primena Proširene Stvarnosti u Internet marketingu - Master rad

65

Slika 56 - Prikaz dva virtualna objekta istovremeno u ARToolKit aplikaciji

Slika 55 - Prikaz virtualnog objekta u ARToolKit aplikaciji

11.1.3.4 Broj markera

Sistem podržava jedan ili više markera, kao i složene markere sastavljene od

više jednostavnih markera.

Page 66: Primena Proširene Stvarnosti u Internet marketingu - Master rad

66

11.1.3.5 Udaljenost markera od kamere

Pod zahtevima dobrog osvetljenja i markera postavljenog vertikalno na

kameru, iscrtavanje virtualnog objekta prestaje nakon 2,87 metara.

11.1.4 Izrada vlastitih markera

Omogućena je i izrada vlastitih markera preko web-alata ili alata dobijenih uz sam

ARToolKit. Jedini uslov da bi slika bila marker je crni okvir, koji služi kao granica

markera. Unutar crnog okvira možemo stavljati različite uzorke ili slike koje želimo

koristiti za praćenje ili koristeći web-kameru uslikati izrađeni marker i koristiti ga u

aplikaciji koju izrađujemo.

11.1.5 Verovatnoća praćenja markera

Tokom dana sistem jako dobro prati marker i iscrtava virtualni objekt na ekranu bez

ikakvih problema. Kod slabijeg osvetljenja, postoje mali problemi kod učitavanja i

praćenja, ali sistem ipak funkcioniše.

12 D'Fusion

12.1.1 Jednostavnost korištenja

Nešto komplikovanije postavljanje u odnosu na ARToolKit, ali svejedno prilično

jednostavno. Količina informacija za postavljanje i implementaciju koja se nalazi na

webu sasvim je dovoljna da prosečnog korisnika informira o korištenju ovog sistema.

Takođe postoji podrška za Unity.

12.1.2 Prenosivost

Sistem D'Fusion nam omogućuje izradu aplikacija za Android, iPhone i iPad,

Windows, kao i Linux, što pokriva većinu uređaja na današnjem tržištu, pa

možemo zaključiti da ima svestranu primenu.

12.1.3 Praćenje

Page 67: Primena Proširene Stvarnosti u Internet marketingu - Master rad

67

12.1.3.1 Brzina prikaza virtualnog objekta

Virtualni objekt se pokazuje odmah pri postavljanju markera u vidokrug kamere.

Brzina prikaza je veća ako marker pozicioniramo uspravno i pod pravim uglom u

odnosu na kameru.

12.1.3.2 Nagib markera

Slično kao i kod ARToolKit-a, slika nestaje kada marker nagnemo više od 86-87

stepeni, a to je jako dobra funkcionalnost. Ako u tom položaju izgubimo sliku

virtualnog objekta, moramo vratiti marker u početni položaj kako bi se iscrtavanje

ponovilo, ali to je prihvatljivo.

12.1.3.3 Parcijalan prikaz markera

Sistem podržava parcijalan sistem markera zbog složenije slike koju markeri koriste,

tako da nakon što kamera uhvati marker i sistem iscrtava virtualni objekt, deo markera

možemo prekriti rukom ili čak pomaknuti izvan vidokruga kamere, a virtualni objekt

će i dalje biti prikazan.

12.1.3.4 Broj markera

Sistem podržava jedan ili više markera.

12.1.3.5 Udaljenost markera od kamere

Udaljenosti veće od 2,28 metara su prevelike da bi sistem video marker i iscrtavao

virtualni objekt, stoga nakon početka praćenja, kretanje markera moramo ograničiti

na udaljenosti do 2,28 metara.

12.1.4 Izrada vlastitih markera

Sistem na jednostavan način omogućava izradu vlastitih markera. Slike moraju biti

oblika kvadrata i to je jedino ograničenje koje postoji. Sliku koju želimo koristiti

stavimo ispred kamere i u par koraka tu sliku postavimo kao jedan od markera koje

trenutna implementacija koristi, pa možemo krenuti sa iscrtavanjem objekata.

Kako nismo ograničeni crnim okvirom tokom izrade markera, osim slika, markeri

mogu biti predmeti kao što su knjige ili kutije, pa čak i jastuci ili bilo kakvi predmeti

koji na sebi imaju neki uzorak pogodan za tako nešto.

Page 68: Primena Proširene Stvarnosti u Internet marketingu - Master rad

68

Slika 58 - Prikaz virtualnog objekta u D'Fusion aplikaciji

Slika 57 - Izrada vlastitog markera unutar D'Fusion sistema

12.1.5 Verovatnoća praćenja markera

Pri dobrom osvetljenju, sistem jako dobro prati markere i pravilno iscrtava objekte

na predviđene markere. Slabije osvetljenje umanjuje funkcionalnost sistema, ali

sistem i dalje radi.

Page 69: Primena Proširene Stvarnosti u Internet marketingu - Master rad

69

Slika 59 - Target Managment System za izradu markera za sistem Vuforia

13 Vuforia

13.1.1 Jednostavnost korištenja

Od sva tri sistema koji su opisani u ovom završnom radu, Vuforia je najsloženija za

korištenje. Potrebno je skinuti i instalirati veću količinu software-a nego za ostale

sisteme, ali sama uputstva za korištenje i implementaciju su jednako dobri kao i kod

druga dva sistema. Kao i za druga dva sistema, imamo podršku za Unity.

13.1.2 Prenosivost

Aplikacije razvijene sistemom Vuforia prenosive su na Android i iPhone, čime je

korištenje tih aplikacija ograničeno na pametne telefone.

13.1.3 Praćenje

13.1.3.1 Brzina prikaza virtualnog objekta

Virtualni objekt se prikazuje odmah, kao i kod ostalih sistema, pa možemo zaključiti

da nijedan sistem nema nikakvih problema s učitavanjem markera.

13.1.3.2 Nagib markera

Kod ovog sistema, virtualni objekt se gubi kod nešto manjeg nagiba od otprilike 80

stepeni, ali to je i dalje jako dobra funkcionalnost.

13.1.3.3 Parcijalan prikaz markera

Sistem podržava parcijalno prikazivanje markera. Nakon što se marker učita i počinje se

Page 70: Primena Proširene Stvarnosti u Internet marketingu - Master rad

70

Slika 60 - Korištenje Vuforia sistema pomoću pametnog telefona

prikazivati objekt koji smo zadali sistemu, možemo pomeriti deo markera iz ekrana ili

ga čak delom sakriti, a sistem će i dalje iscrtavati objekt.

13.1.3.4 Broj markera

Sistem podržava jedan ili više markera, pa čak i kompleksne markere složene od više

markera, čime se ovaj sistem ističe.

13.1.3.5 Udaljenost markera od kamere

Sistem ima bolje performanse od druga dva koja smo testirali, pa se slika gubi tek na

udaljenostima većima od 3.23 metara.

13.1.4 Izrada vlastitih markera

Moguće je izraditi vlastite markere od bilo koje slike koju korisnik želi, s čime je Vuforia

u prednosti u odnosu na ostale sisteme. Kako je potrebno otpremiti slike na Internet pre

upotrebe, jer Vuforia koristi Target Managment System za spremanje markera za

trenutnu aplikaciju, izrada markera nije sasvim jednostavna, ali kao sliku možemo

staviti bilo šta. Neki od primera su: naslovna stranica knjige, odgovarajuće ambalaže ili

fotografije. Što kompleksnije uzorak izgleda, sistem ga lakše prati, pa je bolje odabrati

uzorke koji ljudskom oku izgledaju komplikovano i detaljno, jer to kameri daje više

tačaka za upoređivanje sa markerom u bazi podataka.

13.1.5 Verovatnoća praćenja markera

Po dnevnom svetlu sistem savršeno prati markere i pravilno iscrtava virtualne

objekte. U zahtevima slabijeg osvetljenja, dolazi do malih problema kod učitavanja

markera, ali sistem i dalje radi.

Page 71: Primena Proširene Stvarnosti u Internet marketingu - Master rad

71

14 Upoređivanje sistema

14.1 Konačno upoređivanje

Upoređivanjem sistema možemo primetiti da postoje neke sličnosti i neke razlike.

Zbog jednostavnosti pregleda, rezultate ćemo prikazati tabelarno.

Jednostavnost korištenja opisuje težinu postavljanja sistema i implementiranje

aplikacija u njemu. Prenosivost nam govori o platformama koje su podržane za

distribuciju aplikacija pojedinog sistema. Kod praćenja, pratimo brzinu prikaza

virtualnog objekta nakon što kameri prikažemo marker, nagib markera (u stepenima)

kod kojeg se slika virtualnog objekta gubi, podržava li sistem parcijalan prikaz markera

kod iscrtavanja objekata, broj markera koji istovremeno mogu biti

prikazani kameri, udaljenost markera i kamere pri kojoj se slika virtualnog objekta

gubi. Gledamo i da li je moguća izrada vlastitih markera za pojedine sisteme kao jedan

od kriterijumuma. Posljednji kriterijum je Verovatnoća praćenja markera, za što imamo

dva slučaja: dnevno svetlo i slabije osvetljenje. Na kraju imamo konačne ocene za sve

sisteme, koje predstavljaju zbir ocena za svaki sistem po navedenim kriterijumima. Za

neke kriterijume ocene će biti u rasponu od 1 do 10, gde je 10 najbolja ocena, a 1najgora

ocena.

Tablica 1. Tablica upoređivanja kriterijuma

SISTEM ARToolKit D'Fusion Vuforia Jednostavnost korištenja

10 9 7

Prenosivost 9 10 6 PRAĆENJE

Brzina prikaza

virtualnog objekta 10 10 10

Nagib markera ~86° ~86° ~80° Parcijalan prikaz

markera 1,10* 10 10

Broj markera 9 9 10 Udaljenost markera

od kamere** 2.87 metara 2.28 metara 3.23 metara

Izrada vlastitih

markera 7 9 10

Verovatnoća praćenja

markera

10 10 10

UKUPNA OCENA 8.875 9.625 9 *1 za jednostavne markere,10 za složene;složeni markeri rešavaju problem parcijalnog prikaza

** za ARToolKit i D'Fusion je korištena web-kamera, a za Vuforiu je korištena kamera sa Samsung Galaxy

Nexusa

Page 72: Primena Proširene Stvarnosti u Internet marketingu - Master rad

72

Zaključak

Naglom ekspanzijom mobilnih uređaja u predhodnih nekoliko godna i konstantnim razvojem

njihovih performansi, doveli su do mogućnosti prenošenja sistema za Proširenu stvarnos sa

skupocenih i komplikovanih uređaja na uređaje koje svakodnevno koristimo po pristupačnoj

ceni. Kako se objas Internet marketing neprestano razvija i menja, postoji konstantna

potrebna za inovativnim i zanimljivim, ali najpre korisnim načinima promocije.

Primeno proširene stvarnosti dobijamo spoj realnog i digitalnog sveta, tako što realni svet

obogaćujemo podacima iz digitalnog sveta. Ovo dovodi do činjenice da su nam informacije

dostupnije više nego ikad i da će naše korisničko iskustvo sa nekim proizvodom biti bogatije.

Trenutno se radi na daljem razvoju sistema za Proširenu stvarnost na taj način što je planiran

masovna ugradnja posebnih čipova u mobilne uređaje koji će dati još veće mogućnosti i

sposobnosti za primenu Proširene stvarnosti.

Page 73: Primena Proširene Stvarnosti u Internet marketingu - Master rad

73

Literatura i reference

[1] Strateški marketing na Internetu, Tom Vassos, CET, Beograd

2000.

[2] Marketing na Internetu, Dejan Šapić, Daniel Print, Novi Sad

2002.

[3] Vodič kroz raj i pakao Internet marketinga, Dragan Varagić,

Prometej, Novi Sad 2002

[4] Elektronsko poslovanje, Drašković M.,FSOM, Beograd 2006.

[5] Ronald T. Azuma: A Survey of Augmented Reality, 1997.

http://www.cs.unc.edu/~azuma/ARpresence.pdf

[6] Paul Milgam, Haruo Takemura, Akira Utsumi i Fumio Kishino: Augmented

reality: A class of displays on the reality-virtuality continuum, 1994.

http://www.cs.wpi.edu/~gogo/hive/papers/Milgram_Takemura_SPIE_1994.pdf

[7] Peter Antoniac: Augmented Reality Based user interface for mobile

applications and services, 2005.

http://herkules.oulu.fi/isbn9514276965/isbn9514276965.pdf

[8] Feng Zhou, H.B.-L. Duh i M. Billinghurst. Trends in augmented reality

tracking,interaction and display: A review of ten years of ismar, 2008.

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4637362

[10] Augment - augmented reality browser

http://augmentedev.com

[11] Harris, C.: Tracking with rigid models 1992. [12] Georg Klein: Visual Tracking for Augmented Reality

http://www.robots.ox.ac.uk/~gk/publications/Klein2006Thesis.pdf

[13] G. Klein, D. Murray: Parallel Tracking and Mapping for Small AR Workspaces

Page 74: Primena Proširene Stvarnosti u Internet marketingu - Master rad

74

http://www.robots.ox.ac.uk/~gk/publications/KleinMurray2007ISMAR.pdf

[14] Arno Becker, Marcus Pant: Android - Grundlagen und Programmierung.

dpunkt.verlag, 2009.

[15] Tobias Domhan: Augmented Reality on Android Smartphones, 2010

http://www.softwareforschung.de/fileadmin/_softwareforschung/downloads/WISTA/

Tobias_Domhan_Studienarbeit.pdf

[16] Referenca na TooN biblioteku: http://savannah.nongnu.org/projects/tooN

[17] Referenca na CVD i Gvars3 biblioteke: http://savannah.nongnu.org/projects/libcvd

[18] Instrukcije za instalaciju PTAM sistema: http://www.robots.ox.ac.uk/~gk/PTAM/README.txt

[19] Parallel Tracking and Multiple Mapping – stranica projekta http://www.robots.ox.ac.uk/~bob/research/research_ptamm.html

[20] AndAR - Android Augmented Reality – stranica projekta http://code.google.com/p/andar/

[21] QCAR SDK – stranica projekta https://ar.qualcomm.com/qdevnet/sdk

[22] Skripta za generiranje grafičkih modela u .h header formatu: http://heikobehrens.net/2009/08/27/obj2opengl/

[23] Unity3D – stranica projekta: http://www.unity3d.com/