Mobilna aplikacija za predstavitev produkta s pomočjo obogatene resničnosti Luka Bezovšek, Matevž Pogačnik, Jože Guna Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: luka. bezovsek@gmail.com Mobile Application for Product Presentation with Augmented Reality Abstract. Presentation of any physical product is most effective when the product is presented directly at the location in a tangible way. Since it is difficult or impossible for some products to be carried around due to large dimensions, some other alternative solutions are necessary. Augmented reality enhanced applications can be used to tackle these issues. In this paper, we introduce the augmented reality technologies and apply them to enhance a presentation of an autonomous robot. Based on Vuforia and Unity software development kits, interactive mobile application is developed and evaluated in a basic user study. 1 Uvod Kadar predstavljamo fizični produkt, želimo karseda natančno prikazati vse poglavitne lastnosti le-tega. Tovrstna predstavitev največji učinek doseže takrat, ko poslušalcem pokažemo pravi, oprijemljivi izdelek. Na tem mestu se zlasti pri objektih velikih dimenzij pojavi problem njihove prenosljivosti. Skupaj z razvojem sodobnih tehnologij v zadnjem času, se je pojavila tudi tehnologija obogatene resničnosti, ki klasične predstavitve lahko dvigne na povsem nov nivo. Namen tega članka je predstavitev mobilne aplikacije za predstavitev produkta z uporabo tehnologije obogatene resničnosti, ki smo jo razvili s pomočjo razvojnih okolij Vuforia in Unity. Glavno vprašanje na katerega želimo odgovoriti v članku je, ali je tehnologija obogatene resničnosti primerna za predstavitev fizičnih objektov v navidezni obliki oz. ali si uporabnik na podlagi interaktivnih virtualnih objektov ustvari dovolj dobro predstavo o dejanskem fizičnem produktu. Na to in še nekaj drugih vprašanj bomo poskušali odgovoriti s pomočjo testiranja aplikacije na dejanskih uporabnikih. V prvem delu članka predstavimo nekaj osnovne teorije o tehnologiji obogatene resničnosti. Teorijo v nadaljevanju dopolnimo s predstavitvijo okolja za implementacijo aplikacij navidezne resničnosti Vuforia. Članek nadaljujemo z opisom implementacije in delovanja aplikacije ter ga zaključimo s predstavitvijo rezultatov testiranja aplikacije, podajanjem ocene opravljenega dela in predstavitvijo možnosti za nadaljevanje. 2 Obogatena resničnost Obogatena resničnost (ang. Augmented Reality, AR) je tehnologija prikaza informacij na zaslonu, pri čemer so informacije iz resničnega sveta dopolnjene z navideznimi objekti, ki so ustvarjeni s pomočjo računalniške grafike [3,7]. Obogatena resničnost, označujemo jo tudi z izrazom dopolnjena resničnost, ima štiri poglavitne lastnosti [1,2]: • Združuje resnični in navidezni svet • Prikazuje informacije v realnem času • Omogoča interakcijo z objekti • Prikazuje informacije v treh dimenzijah Tridimenzionalni navidezni objekti, ki dopolnjujejo resničnost, so ustvarjeni na podlagi senzorskih podatkov iz okolja, na zaslonu pa so izrisani kot del slike, ki predstavlja resničnost. Tehnologija obogatene resničnosti se uporablja na številnih področjih, na primer v [1]: zdravstvu, arhitekturi, izobraževanju, inženiringu, filmski in zabavni industriji. Zaradi velikega napredka računalniških tehnologij v zadnjem času, na tem mestu moramo omeniti predvsem področji računalniškega vida in interaktivne računalniške grafike [5], se je zelo hitro lahko razvila tudi tehnologija obogatene resničnosti [3]. Z naraščanjem zmogljivosti in razširjenosti uporabe mobilnih naprav, se je navidezna resničnost najbolj uveljavila na področju prenosnih terminalov [4]. Ti namreč združujejo vse potrebne komponente za delovanje aplikacije navidezne resničnosti. Vhodne senzorske naprave (kamera, GPS, žiroskop) omogočajo pridobivanje informacij iz resničnega okolja [4], ki se nato s pomočjo zmogljivih centralno-procesnih enot dopolnijo z navideznimi objekti, vse skupaj pa se na koncu izriše na zaslonu. Za obogateno resničnost na prenosnih napravah uporabljamo izraz mobilna obogatena resničnost (ang. Mobile Augmented Reality, MAR) [1,4]. Ena izmed poglavitnih funkcionalnosti aplikacij obogatene resničnosti je prepoznavanje resničnega sveta v okolici, ki se v osnovi deli na dva principa [4]. Prvi je prepoznavanje okolja s pomočjo strojnega učenja, kjer algoritmi na dvodimenzionalni sliki lahko prepoznajo posamezne objekte (npr. človek, drevo, avtomobil) in jih medsebojno združijo po ustreznih kategorijah. Tovrstni princip se uporablja predvsem za prikazovanje splošnih informacij o okolici, saj ta ni natančno določena skozi čas. Drugi princip delovanja pa sloni na prepoznavanju točno določenih vzorcev z lastnimi atributi, ki so predhodno določeni kot tarče za prepoznavanje v resničnem svetu. Takšen princip se uporablja v primeru, ko mora biti okolica natančno prepoznana in obogatena s točno določenimi objekti. Večina aplikacij obogatene resničnosti deluje na principu prepoznavanja slikovnih informacij. S tega vidika ločimo dve metodi [4]: 1. Metoda na podlagi značilnosti statičnih slik 2. Metoda na podlagi značilnosti specifičnih vzorcev Poznamo tudi t.i. metode brez značilnosti (ang. Markerless Augmented Reality) [2], ki okolice ne prepoznavajo na podlagi slikovnih informacij, temveč se osredotočajo na podatke drugih vhodnih naprav (npr. zaznavanje koordinat v prostoru na podlagi GPS sprejemnika). ERK'2018, Portorož, 100-158 155 3 Vuforia Vuforia je okolje za implementacijo aplikacij navidezne resničnosti na mobilnih terminalih [1]. Podprtost v operacijskih sistemih iOS in Android ter kompatibilnost z okoljem za razvoj interaktivnih aplikacij Unity, sta njeni glavni prednosti, ki omogočata razvijalcem izdelavo aplikacije za širok spekter mobilnih naprav. Osnovni namen okolja Vuforia je zaznavanje in interpretacija vizualnih informacij iz okolice. Poleg prepoznavanja vzorcev iz dvodimenzionalnih slik, lahko s pomočjo Vuforie zaznavamo kompleksnejše slikovne podobe v treh dimenzijah [1]. Zaznavanje slikovnih informacij v realnem času omogoča tudi sledenje spremembam v okolici, na podlagi česar se nato lahko spreminjajo tudi navidezni objekti na zaslonu. Zaslon Resničnost Slika 1: Osnovna arhitektura sistema obogatene resničnosti na mobilni napravi Prepoznavanje slikovnih informacij v aplikaciji deluje povsem neodvisno od izrisovanja navideznih objektov [1], ki se vrši v sklopu ločenega okolja za interpretacijo interaktivne računalniške grafike (npr. Unity). S tovrstnim okoljem je Vuforia povezana preko integriranih programskih knjižnic. Funkcionalno torej aplikacijo obogatene resničnosti lahko razdelimo na dva dela: • prepoznava in sledenje slikovnim informacijam v resničnem okolju (Vuforia) • izris in interakcija med ustreznimi 3D objekti na podlagi prejetih informacij o resničnem okolju Informacije, ki so potrebne za pravilno razpoznavo slikovnih vzorcev, Vuforia pridobi iz podatkovne baze, ki je lahko bodisi lokalna (v napravi) ali oddaljena (v oblaku) [1]. Prva za delovanje aplikacije ne potrebuje internetne povezave in deluje hitreje od podatkovne baze v oblaku, ki pa na drugi strani omogoča shranjevanje večjega števila slik in metapodatkov za prepoznavo. Na sliki 1 je prikazana osnovna arhitektura sistema obogatene resničnosti na mobilni napravi, ki je implementirana s pomočjo okolij Vuforia in Unity. Proces razvoja aplikacije s pomočjo okolja Vuforia lahko razdelimo v štiri poglavitne faze [1]: • Izdelava podatkovne baze s slikami za prepoznavo • Definicija konfiguracije posamezne slike v podatkovni bazi • Uvoz podatkovne baze v okolje za razvoj aplikacije • Prepoznava slik in prikaz 3D modelov v aplikaciji Podatkovno bazo v okolju Vuforia preko spletnega vmesnika lahko ustvarimo zelo enostavno. Vsaka slika, ki jo naložimo v podatkovno bazo, se oceni s parametri, ki definirajo, kako kvalitetna je slika za prepoznavo s pomočjo tehnologije strojnega vida. V odvisnosti od kontrastnosti in števila ostrih robov na sliki [2], se določijo značilne točke na sliki (označene s simbolom križca), na podlagi katerih se ustvarijo in shranijo metapodatki o posamezni sliki. 11* TAFR ROBOTICS Slika 2: Primer slabo prepoznavne [8] (levo) in dobro prepoznavne slike (desno) Metapodatki o slikah v podatkovni bazi se med delovanjem aplikacije primerjajo z metapodatki slike, ki jo okolje Vuforia zazna preko kamere. V primeru ustrezne stopnje ujemanja metapodatkov, se v aplikaciji izvrši ustrezna logika za izris ustreznih navideznih objektov. 4 Implementacija aplikacije Aplikacija, ki smo jo izdelali za operacijski sistem Android, v osnovi sestoji iz dveh delov (Unity aktivnosti): osnovnega menija, preko katerega vstopimo v glavno aktivnost, v kateri je implementirana tehnologija obogatene resničnosti. Za potrebe prepoznavanja slik smo izdelali podatkovno bazo, ki smo jo v razvojno okolje Unity uvozili v obliki programskega paketa, ob namestitvi aplikacije pa se ta zapiše v lokalno shrambo naprave. V podatkovno bazo smo naložili eno sliko, ki je bila ocenjena kot dobro prepoznavna slika. 3D model robota, ki se prikaže ob prepoznavi slike, smo opremili z informativnimi točkami, katere označujejo posamezne sestavne dele robota. Vse točke so odzivne na dotik, ob pritisku na posamezno točko, pa se na zaslonu prikaže povečan model ustreznega sestavnega dela in z njim povezane informacije. Na zaslon smo umestili tudi gumb, s katerim uporabnik lahko preklaplja med zaprtostjo/odprtostjo pokrova, ki pokriva jedrni del robota in pod katerim se skrivajo dodatne informativne točke. Modalnost interakcije, ki smo jo uporabili pri implementaciji uporabniškega vmesnika, je zaznavanje pritiskov na zaslonu občutljivem na dotik. Poleg že omenjenih gumbov in informativnih točk na zaslonu, lahko uporabnik s pomočjo potegov prstov preko interaktivnih elementov, te vrti okoli svoje osi za 360 stopinj. Sprva smo zaznavo dogodkov za vrtenje 3D modelov nameravali uresničiti s pomočjo uporabe že predpripravljene programske knjižnice, vendar smo zaradi nekaterih njenih omejitev, ki bi spremenila interakcijo na nekoliko manj naraven in za uporabnika bolj zahteven način, dogodke za interakcijo z objekti raje napisali sami. Vrtenje objektov, smo namesto z dvema prstoma omogočili zgolj z enim prstom. Poleg standardnih elementov grafičnega uporabniškega vmesnika, smo vanj umestili tudi nekaj komponent za pomoč in namige uporabniku (npr. simbol za vrtenje pod 3D modelom). Pri implementaciji zaznavanja slike smo uporabili t.i. način razširjenega sledenja (ang. extended tracking), kjer 3D model ostane izrisan na zaslonu tudi takrat, ko pogled kamere umaknemo stran od prepoznane slike. Slika 3 prikazuje nekaj zaslonskih posnetkov aplikacije. 101 Slika 3: Zaslonski posnetki izdelane aplikacije 5 Testiranje in rezultati Aplikacijo smo testirali na mobilni napravi s sledečimi karakteristikami: Tabela 1: Karakteristike testne naprave Ime naprave Samsung Galaxy S8, SM-G950F Operacijski sistem Android 8.0.0 Oreo Delovni pomnilnik 4 GB Procesor 8-jedrni (2.3GHz Quad + 1.7GHz Quad), 64 bit Kamera 12,5 MP Zaslon 5,8" (2960 * 1440) Aplikacijo smo testirali s pomočjo 15 oseb. Vsak uporabnik je imel na voljo nekaj časa, da se spozna z aplikacijo in preizkusi njeno delovanje, nato pa je izpolnil kratek vprašalnik [6]. Na podlagi vprašalnika smo predvsem želeli preveriti ali obogatena resničnost kot način za predstavitev informacij ustreza našemu primeru, hkrati pa smo želeli preveriti tudi, ali je aplikacija uporabniku prijazna, uporabniški vmesnik pa jasen in intuitiven. Vprašalnik, čigar rezultati so prikazani v spodnjih grafih, je bil sestavljen iz petih vprašanj, odgovor na vsakega pa je bilo potrebno podati v obliki številske ocene od 1 (najmanj) do 5 (največ). 2 Aplikacija se mi zdi uporabna n=15 i Slika 4: Rezultati vprašanja o uporabnosti aplikacije Slika 4 prikazuje rezultate odgovorov na vprašanje o uporabnosti aplikacije (ang. usefulness). Vidimo lahko, da je 9 uporabnikov na to vprašanje odgovorilo z oceno 5, preostalih 6 pa z oceno 4, kar v povprečju prinaša oceno 4.6, na podlagi katere lahko trdimo, da so vsi uporabniki ocenili aplikacijo kot uporabno. Poleg ocen o uporabnosti aplikacije, so za nas veliko bolj pomembne ocene o uporabljivosti aplikacije (ang. usability), ki s subjektivnega stališča definirajo stopnjo prijaznosti rešitve do uporabnika. Pri sestavljanju ankete smo bili v dilemi glede razlikovanja med zgornjim in spodnjim vprašanjem s strani uporabnikov. Spraševali smo se namreč, ali le-ti dejansko poznajo razliko med pojmoma uporabnost in uporabljivost. S tem namenom smo vprašanji sestavili v relativno razumljivih oblikah, ki že sami po sebi namigujeta na bistveno razliko. 1 Aplikacija se mi zdi enostavna za uporabo n=15 * 2 6 Slika 5: Rezultati vprašanja o enostavnosti uporabe aplikacije Na sliki 5 so prikazani rezultati odgovorov na vprašanje o enostavnosti uporabe same aplikacije. Zopet je večina uporabnikov (11) podala najvišjo oceno, medtem ko so trije uporabniki izbrali oceno 4, eden pa oceno tri. Povprečna ocena enostavnosti uporabe tako znaša 4,7. Tudi tukaj lahko na podlagi visokega povprečja označimo aplikacijo kot enostavno za uporabo. Uporabniški vmesnik aplikacije je razumljiv n=15 ..... 2 • 3 Slika 6: Rezultati vprašanja o razumljivosti uporabniškega vmesnika Podoba grafičnega uporabniškega vmesnika aplikacije predstavlja velik faktor na področju interakcije aplikacijskih rešitev s končnimi uporabniki. 7 uporabnikov je razumljivosti uporabniškega vmesnika namenila oceno 5, 6 uporabnikov oceno 4 in 2 uporabnika oceno 3. Tukaj lahko opazimo nekoliko nižje skupno povprečje (4.3) in večji standardni odklon kot pri ostalih vprašanjih. Med testiranjem smo opazili, da nekaj uporabnikov ni takoj opazilo interaktivnih točk na robotu, saj so le te precej majhnih dimenzij, kontrast med njimi in 3D modelom pa morda nekoliko premajhen. Ker smo se pri razvoju aplikacije bolj osredotočili na samo implementacijo tehnologije navidezne resničnosti, smo načrtovanju uporabniškega vmesnika namenili nekoliko manj časa, kar se kaže tudi v odgovorih na zgornje vprašanje. Aplika zija deluje b rez opaznil težav n=15 - o Slika 7: Rezultati vprašanja o performančnosti aplikacije 102 Tudi tekoče delovanje rešitve vpliva na uporabnikovo subjektivno mnenje o aplikaciji. 11 oseb med uporabo aplikacije ni opazilo nobenih težav, 3 osebe skoraj nič, ena oseba pa je zaznala nekoliko več težav, zato je na vprašanje odgovorila z oceno 2. Morda se razlog za to skriva v nekoliko manj intuitivnem uporabniškem vmesniku, kar smo izpostavili že v prejšnjem odstavku. Način prikaza informacij je primeren namenu aplikacije mm Slika 8: Rezultati vprašanja o primernosti načina prikaza informacij V zadnjem vprašanju smo uporabnike povprašali o primernosti načina prikaza informacij glede na namen aplikacije. Želeli smo preveriti, ali je tehnologija obogatene resničnosti ustrezna za predstavitev oprijemljivih produktov v navidezni obliki. Na podlagi povprečne ocene 4.5 lahko trdimo, da so si uporabniki s pomočjo aplikacije uspeli ustvariti dobro predstavo o izdelku. Iz zgornjih grafov lahko razberemo, da princip obogatene resničnosti ustreza osnovnemu namenu naše aplikacije -predstavitev fizičnega produkta v navidezni obliki. S tem smo dosegli cilje, ki smo si jih zadali v prvi fazi načrtovanja aplikacije. 5 stališča delovanja aplikacije večjih težav sami nismo opazili. Razpoznava vzorca iz slike se je v različnih svetlobnih pogojih (sončna svetloba, umetna luč, senca) izvršila podobno hitro -praktično skoraj takoj, ko smo kamero usmerili proti sliki. 3D objekt se je na zaslonu izrisal brez opaznih zamud in morebitnih popačitev in nepravilnosti. Ob premikanju naprave po prostoru, je izrisovanje objekta v realnem času tekoče sledilo trenutni poziciji naprave (približevanje/oddaljevanje, kroženje okoli navideznega objekta, premikanje podlage), kar predstavlja velik doprinos k zmanjševanju razlik med resničnim in navideznim svetom. Edina slabost, ki smo jo opazili med uporabo aplikacije, je fizično segrevanje mobilne naprave, saj je frekvenca izrisovanja objektov v realnem času precej visoka, posledica tega pa je visoka poraba strojnih zmogljivosti naprave. 6 Sklep Kot smo lahko videli, smo z našim delom izpolnili cilje, ki smo si jih zadali na začetku. Kljub uspešnim rezultatom testiranja in tekočemu delovanju aplikacije, bi le-to lahko še izboljšali. V prvi vrsti je tu zagotovo optimizacija porabe strojne opreme, ki bi jo lahko zmanjšali z drugačnim načinom izrisovanja 3D objekta na zaslonu. Sedaj se v grafičnem cevovodu, ki skrbi za pravilno prikazovanje objekta, procesirajo vse njegove komponente, tudi tiste, ki trenutno niso vidne na zaslonu. Če bi izrisovanje omejili zgolj na vidne komponente v ospredju, bi zagotovo nekoliko razbremenili obremenitev centralno procesnih enot v napravi. Tudi z vidika tehnologije obogatene resničnosti, bi aplikacijo lahko še nadgradili. V prvi fazi bi lahko implementirali hkratno prepoznavanje več slik, nadaljevali pa bi s prepoznavanjem tridimenzionalnih objektov v okolici. Nekaj izboljšav bi lahko naredili tudi na intuitivnosti uporabniškega vmesnika aplikacije. Literatura [1] C. Xiao, Z. Lifeng, »Implementation of Mobile Augmented Reality Based on Vuforia and Rawajali,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=69 33713&isnumber=6933501 [2] D. Adrianto, M. Hidajat, V. Yesmaya, »Augmented Reality Using Vuforia for Marketing Residence,« http://ieeexplore.ieee.org/stamp/stampjsp?tp=&arnumber=80 52642&isnumber=8052634 [3] D.H.Marjury, B. C. Karen, M. M. Diana in L. F. Gabriel, »Offline Mobile Application for Places Identification with Augmented Reality,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 62546&isnumber=7962495 [4] F. Peng, J. Zhai, »A Mobile Augumented Reality System for Exhibition Hall Based on Vuforia,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 84714&isnumber=7984442 [5] M. Di Capua, G. Costagliola, M. De Rosa in V. Fuccella, »Rapid prototyping of mobile applications for augumented reality interactions,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=60 70416&isnumber=6070364 [6] G. Sato, G. Hirakawa in Y. Shibata, »Push Typed Tourist Information System Based on Beacon and Augumented Reality Technologies,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 20923&isnumber=7920866 [7] Kaj je obogatena resničnost in kaj nam prinaša, DNE, http://dne.enaa.com/Inovacije/kaj-je-obogatena-resnicnost-in-kaj-nam-prinasa.html [8] »Natural Features and Image Ratings,« vuforia, [Online], Dostopno: https://library.vuforia.com/articles/Solution/Optimizing-Target-Detection-and-Tracking-Stability.htm 103