MODUL 3 · RAZVOJ OKRUŽENJA PROŠIRENE STVARNOSTI
Nastavna jedinica 3.2
Prepoznavanje meta i sidrenje digitalnih objekata
Digitalni objekt mora znati gdje u prostoru pripada. Do tog znanja vode dva puta: prepoznavanje mete, pri čemu sadržaj dolazi na poznatu sliku ili predmet, i sidrenje, pri čemu se sadržaj veže uz zapamćeno mjesto u prostoru. Jedinica obrađuje oba puta i ono što se događa kad praćenje otkaže.
- pripremiti sliku mete i ocijeniti njezinu prepoznatljivost
- postaviti bazu meta i rad s više meta u istoj sceni
- objasniti kako okvir iz oblaka značajki prepoznaje plohe
- postaviti sidro i objasniti njegovu trajnost
- prepoznati uzroke gubitka praćenja i predvidjeti oporavak
- procijeniti radno područje mete prema njezinoj veličini i kutu gledanja
Dva puta do položaja sadržaja
Prije nego što se ploča s uputom pojavi pokraj prihvatnice, aplikacija mora odgovoriti na jedno pitanje: gdje je to mjesto u prostoru. Postoje dva odgovora. Prvi je prepoznavanje mete: okvir u slici kamere traži poznatu sliku ili predmet i, kad ga nađe, iz njegova izgleda računa položaj i zaokret. Drugi je sidrenje: okvir sam gradi sliku prostora, korisnik ili program odabere mjesto, a to se mjesto zapamti kao sidro.
Razlika je važna u pogonu. Meta daje točno određeno mjesto i točno određeni predmet — ako je natpisna pločica na ogradi ćelije, uputa se ne može pojaviti pokraj pogrešnog robota. Sidro daje slobodu: sadržaj se može postaviti bilo gdje, ali netko mora reći gdje, a uređaj to mjesto mora uspjeti ponovno pronaći.
Projekt AR-1 koristi oba puta. Natpisna pločica na ogradi ćelije je meta i njome počinje cijeli postupak: tehničar je snimi i aplikacija zna da je riječ o robotu ZR-1 u ćeliji paletizacije. Nakon toga scena se drži sidara, jer tehničar obilazi ćeliju i pločica mu povremeno izađe iz vidnog polja.
| Obilježje | Prepoznavanje mete | Sidrenje u prostoru |
|---|---|---|
| Što određuje mjesto | poznata slika ili predmet | zapamćena točka u prostoru |
| Priprema | slika mete unaprijed u bazi | nema pripreme, prostor se snima u radu |
| Točnost na blizinu | visoka dok je meta vidljiva | ovisi o kakvoći praćenja |
| Kad meta izađe iz vidnog polja | sadržaj se gubi ako nema sidra | sadržaj ostaje |
| Vezanost uz predmet | puna, uputa ide uz označeni stroj | nema je, mjesto bira korisnik |
| Tipična primjena | uputa uz stroj, oznaka na ormaru | postavljanje modela u prostoriju |
Priprema slike mete i ocjena prepoznatljivosti
Meta nije bilo koja slika. Okvir u njoj ne traži oblik nego značajke (features) — točke u kojima se svjetlina naglo mijenja u dvama smjerovima, poput uglova slova, rubova otvora ili kraja crte. Što je takvih točaka više i što su ravnomjernije raspoređene, prepoznavanje je pouzdanije.
Zato slika s velikim jednoličnim plohama, mekim prijelazima ili pravilnim ponavljanjem loše prolazi. Šahovnica ima mnogo uglova, ali su svi jednaki, pa okvir ne može razlučiti gornji lijevi od donjega desnoga; položaj tada skače. Natpisna pločica s ugraviranim nazivom, brojem i crtičnim kodom u tom je pogledu gotovo idealna: mnogo sitnih, međusobno različitih detalja.
Alati za pripremu mete daju ocjenu prepoznatljivosti, obično od jedne do pet zvjezdica. Meta projekta AR-1 — natpisna pločica 90 × 50 mm — ocijenjena je s 4 od 5. Uz tu ocjenu izmjereno je i radno područje: pouzdano prepoznavanje na udaljenosti 0,25 do 1,2 m i pri kutu gledanja do 55°.
| Što podiže ocjenu | Što je snižava |
|---|---|
| oštri, međusobno različiti detalji | velike jednolične plohe |
| jak kontrast svijetlog i tamnog | meki prijelazi i blage sjene |
| ravnomjeran raspored detalja po plohi | svi detalji skupljeni u jednom kutu |
| mat površina | sjajna ili zrcalna površina |
| nepravilan uzorak | pravilno ponavljanje istog uzorka |
| tisak u punoj razlučivosti | povećana slika niske razlučivosti |
Pažnja
Meta u pogonu stari. Pločica se zaprlja, naljepnica izblijedi na suncu, a prozirna zaštitna folija počne zrcaliti svjetlo svjetiljke. Ako se prepoznavanje s vremenom pogorša, prvo se pogleda meta, a tek onda program.
Baza meta, više meta i meta na predmetu
Slike meta drže se u bazi meta. Baza može biti ugrađena u aplikaciju ili smještena na poslužitelju. Ugrađena baza radi bez mreže i brža je, ali svaka promjena traži novu inačicu aplikacije. Baza na poslužitelju omogućuje dodavanje nove mete bez nove instalacije, ali traži mrežu i unosi kašnjenje.
Broj meta u bazi utječe na brzinu. Okvir svaku sličicu uspoređuje s onim što ima u bazi, pa dvadeset meta traži više posla od dviju. U pogonu se to rješava skupinama: baza se dijeli po ćelijama, a učita se samo skupina koja pripada prostoru u kojem se tehničar nalazi.
Kad su u istoj sceni dvije ili više meta istodobno, dobiva se više koordinatnih sustava. To je korisno kad se uputa odnosi na dva stroja, ali traži jasno pravilo koja je meta glavna. Na AR-1 glavna je pločica ćelije; meta na vratima ormara samo otvara shemu ožičenja i ne pomiče model prihvatnice.
Osim ravne slike, meta može biti i predmet. Okvir tada uspoređuje ono što vidi s modelom ili skupom snimaka predmeta iz više smjerova. Prednost je da sadržaj prianja uz stvarni oblik, pa strelica doista pokazuje na vijak. Nedostatak je osjetljivost na osvjetljenje i na to što je predmet iz svakog smjera drukčiji, pa se priprema takve mete mjeri satima, a ne minutama.
| Vrsta mete | Priprema | Prednost | Ograničenje |
|---|---|---|---|
| Ravna slika | tisak i unos u bazu, nekoliko minuta | brza i pouzdana | mora biti vidljiva i ravna |
| Više ravnih meta | svaka ide zasebno u bazu | sadržaj uz više strojeva | sporije prepoznavanje |
| Valjkasta ploha | unos promjera i razvijene slike | oznaka na cijevi ili spremniku | osjetljiva na zakrivljenost |
| Predmet | snimanje ili model, više sati | sadržaj prianja uz stvarni oblik | osjetljiva na svjetlo i smjer |
Oblak značajki i prepoznavanje ploha
Kad mete nema, okvir se snalazi sam. Iz niza sličica kamere izdvaja značajke i prati kako se one pomiču dok se uređaj kreće. Iz tog pomaka računa dubinu i gradi oblak značajki (feature cloud) — skup točaka s procijenjenim položajem u prostoru. Uz to, inercijski osjetnici mjere zakrete i ubrzanja, pa se dva izvora podataka nadopunjuju.
Iz oblaka točaka okvir traži skupine koje leže u istoj ravnini i tako prepoznaje plohe: pod, radni stol, zid, vrata ormara. Vodoravne plohe prepoznaju se lakše i brže od okomitih, a plohe bez teksture — jednobojni zid, čisto staklo, sjajni lim — ne prepoznaju se gotovo nikako, jer na njima nema značajki.
Uz plohe okvir najčešće daje i procjenu smjera i jakosti svjetla te popis točaka na koje korisnik može postaviti sadržaj. Te se procjene mijenjaju iz sličice u sličicu, pa se ne smiju uzimati kao konačne. Ispravan je postupak pričekati da se ploha ustali nekoliko sličica, pa tek onda na nju postaviti sidro; inače se sadržaj postavi na plohu koja u sljedećem trenutku promijeni visinu za nekoliko centimetara.
Prepoznavanje traje. Prvih nekoliko sekundi okvir nema dovoljno podataka pa se procjena položaja mijenja, a sadržaj lagano pluta. Zato dobre aplikacije korisnika na početku traže da polako pomakne uređaj lijevo-desno. To nije ukras nego postupak: pomak daje razliku smjerova iz koje se računa dubina.
Oblak značajki nije slika prostora nego njegova gruba mjera. Zato se u dokumentaciji projekta bilježi i ono što okvir ne vidi: staklena vrata ćelije, uglačani pod ispod robota i jednobojni zid iza ograde. Na tim mjestima sadržaj se ne smije oslanjati na plohe nego na metu ili na već postavljeno sidro.
Sidra i njihova trajnost
Sidro (anchor) je zapamćeno mjesto u prostoru zajedno sa zaokretom. Kad se objekt objesi ispod sidra, okvir preuzima brigu o tome da objekt ostane ondje gdje je postavljen, i to tako da mu pri svakom novom mjerenju popravlja položaj. Bez sidra objekt ostaje na položaju koji mu je jednom zadan, pa počinje plutati čim se procjena položaja uređaja promijeni.
Sidra se ne postavljaju bez razloga. Svako sidro traži nešto računanja, a mnogo sidara usporava rad. Pravilo je jednostavno: jedno sidro po skupini sadržaja koja pripada istom mjestu. Na AR-1 to su tri sidra — jedno na pločici, jedno na prirubnici robota i jedno na stolu na koji se odlaže skinuta prihvatnica.
Sidro se ne postavlja nasumce nego na mjesto koje se u prostoru lako prepoznaje: na ugao stola, na rub ograde, uz prirubnicu. Mjesto usred prazne plohe loš je izbor, jer okvir oko njega ima malo značajki za popravak položaja. Vrijedi i obrnuto pravilo: sidro postavljeno na predmet koji se pomiče, primjerice na paletu ili na kolica s alatom, izgubit će smisao čim se predmet odveze.
Trajnost sidra (persistence) znači da sidro preživi zatvaranje aplikacije. Okvir tada uz sidro sprema i opis okolnog prostora. Pri sljedećem pokretanju uređaj snima okolinu, uspoređuje je sa spremljenim opisom i, ako se prepozna, vraća sidro na isto mjesto. Taj se postupak zove ponovno pronalaženje prostora (relocalization).
| Vrsta sidra | Koliko traje | Gdje se sprema | Primjena na AR-1 |
|---|---|---|---|
| Sidro u radu | do zatvaranja aplikacije | u memoriji uređaja | odlaganje skinute prihvatnice na stol |
| Trajno sidro | preživi zatvaranje aplikacije | u datoteci na uređaju | mjesto ploče s uputom uz ćeliju |
| Dijeljeno sidro | dok traje zajednički rad | na poslužitelju | dva tehničara vide istu uputu |
| Sidro na meti | dok je meta prepoznata | računa se iz mete | polazište cijelog postupka |
Ponovno pronalaženje prostora ne uspijeva uvijek. Ako se prostor promijenio — paleta je odvezena, ograda premještena, rasvjeta zamijenjena — uređaj neće prepoznati spremljeni opis. Zato se u pogonu trajna sidra uvijek udvostručuju metom: ako sidro ne uspije, tehničar snimi pločicu i postupak se nastavi.
Gubitak praćenja i oporavak
Praćenje se gubi kad okvir izgubi dovoljno značajki da više ne može pouzdano procijeniti položaj. Uzroci su gotovo uvijek isti i svi se mogu predvidjeti: premalo svjetla, prebrz pokret koji sliku razmaže, kamera uperena u jednoličnu plohu, jako zrcaljenje ili prst preko objektiva. U ispitivanju projekta AR-1 praćenje se redovito gubilo pri osvjetljenju ispod 120 lx.
Kad se praćenje izgubi, aplikacija ne smije šutjeti. Sadržaj koji odluta gori je od sadržaja koji nestane, jer korisnik i dalje vjeruje onome što vidi. Ispravno je ponašanje sakriti sadržaj, prikazati kratku poruku i reći što učiniti: usmjeriti uređaj prema pločici, uključiti svjetiljku ili se malo odmaknuti.
Oporavak ide u dva koraka. Okvir najprije pokušava ponovno prepoznati prostor iz okolnih značajki; ako to ne uspije unutar nekoliko sekundi, aplikacija se vraća na metu. Zbog toga meta u pogonu ima dvostruku ulogu — početnu i spasonosnu — pa se postavlja ondje gdje joj je lako prići, a ne ondje gdje najbolje izgleda.
Koliko će meta biti pouzdana ovisi o njezinoj veličini, udaljenosti i kutu pod kojim se gleda. Sljedeći prikaz pokazuje koliko piksela meta zauzme u slici kamere uređaja A i dokle seže njezino radno područje.
Prikaz računa koliko piksela meta zauzme u slici kamere uređaja A (1920 × 1080, vidno polje oko 60 stupnjeva) te dokle seže pouzdano prepoznavanje. Meta projekta AR-1 široka je 90 mm i ocijenjena je s 4 od 5.
Iz prikaza slijedi praktično pravilo: meta mora u slici zauzeti barem stotinjak piksela po širini. Manja meta radi izbliza, veća radi izdaleka, a kut gledanja tu širinu smanjuje istim zakonom kojim se skraćuje sjena. Zato se u pogonu radije postavi veća pločica nego što se od tehničara traži da priđe bliže nego što je sigurno.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Meta | Slika ili predmet koji okvir prepoznaje i prema kojem postavlja sadržaj. |
| Značajka | Točka slike u kojoj se svjetlina naglo mijenja u dvama smjerovima. |
| Ocjena prepoznatljivosti | Mjera koliko je slika mete pogodna za pouzdano prepoznavanje. |
| Baza meta | Skup slika meta ugrađen u aplikaciju ili smješten na poslužitelju. |
| Oblak značajki | Skup točaka s procijenjenim položajem iz kojih okvir računa plohe i položaj. |
| Sidro | Zapamćeno mjesto i zaokret u prostoru uz koje se veže digitalni sadržaj. |
| Trajno sidro | Sidro koje preživi zatvaranje aplikacije jer je spremljeno s opisom prostora. |
| Ponovno pronalaženje prostora | Postupak kojim uređaj prepoznaje ranije snimljenu okolinu i vraća sidra na mjesto. |
Provjeri se
Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.
Pitanje 1 od 5
Što okvir traži u slici mete?
Prepoznavanje se temelji na značajkama, a ne na obliku ili boji.
Pitanje 2 od 5
Zašto šahovnica nije dobra meta?
Pravilno ponavljanje istog uzorka onemogućuje razlikovanje jednog ugla od drugoga.
Pitanje 3 od 5
Što čini sidro trajnim?
Uz trajno sidro sprema se opis okoline pomoću kojeg uređaj poslije ponovno pronalazi prostor.
Pitanje 4 od 5
Koje se plohe najteže prepoznaju?
Na jednobojnoj ili zrcalnoj plohi nema značajki iz kojih bi se računala dubina.
Pitanje 5 od 5
Kako aplikacija treba postupiti pri gubitku praćenja?
Sadržaj koji odluta opasniji je od sadržaja koji nestane, jer mu korisnik i dalje vjeruje.
Odgovoreno 0 od 5.