Home | 6-tehnologija | 62-inženirstvo
1. Uvod Slepi in slabovidni so prikrajšani za informacije v okolju, ki naj bi jih dobili na podlagi vida. Te informacije so pomebne pri gibanju, orientaciji, še najbolj pa pri zaznavanju in izogibanju oviram in nevarnostim. V nadaljevanju opisani sistem naj bi v določeni meri nadomestil ta njihov handikap. Sistem je zasnovan, kot nosljiva naprava, ki jo slepa ali slabovidna oseba nosi s seboj. Naprava je sestavljena iz očal ali kape-klobuka na katerih se nahajata dve stereo kameri, slušalk in procesne enote(mikroprocesor ali PC enota), na kateri teče računalniški program. Sistem pridobiva informacije o okolju z zajemenjem slik prek kamer. Pomembne podatke pa podaja osebi preko slušalk. Na podlagi slik razpozna objekte, se pravi da razpozna nek 3D model okolja. Iz tega 3D modela okolja nato izloči podatke o ključnih objektih in njihovih lokacijah na katere bi oseba morala biti pozorna, (npr. ovire, ki so blizu). Po določitvi pomebnih objektov, bi sistem nanje opozoril z zvokom na slušalkah, ki bi navidezno izhajal iz mest objektov. Primer: če bi bila ovira na desni, bi zvok(npr. trkanje) prihajal iz desne smeri, pri bližjih ovirah bi bil zvok glasnejši, pri bolj oddaljenih pa tišji, itd. Sistem bi v neki meri nadomeščal vid, s tem pa pomagal tako pri orientaciji kot navigaciji, saj bi si oseba v mislih lažje ustvarila podobo sveta in svojo pozicijo v njem. Taka zasnova sistema je enostavna in poceni, stem pa bi bila lahko dostopna široki množici oseb. Zaradi enostavnosti, osebam ne bi bilo potrebno vložiti veliko časa za učenje, preden bi lahko napravo začeli resno uporabljati. 2. Pregled stanja Takih oziroma podobnih sistemov, za pomoč slepim in slabovidnim je bilo razvitih kar nekaj, predvsem v zadnjem času, ko so računalniki postali dovolj poceni, in je to spodbudilo razvoj takih sistemov. Nekateri niso nikoli postali splošno uporabni bodisi ker ideja ni bila dovolj dodelana, ali je bila naprava prenerodna za nošenje, ali pa je bila zgradba sistemima predraga. Kljub temu obstaja nekaj sistemov, ki se uporabljajo. Naštetih in opisanih je samo nekaj. 2.1. vOICe Ta sistem je namenjen popolnoma slepim. Sestavljen je iz kamere (, ki se lahko nahaja na očalih), slušalk in PC računalnika (slika 1). Slika 1: vOICe Sistem zajema sliko preko kamere. Podatke slike pa pretvori v zvok, ki opiše slike. S tem sistemom oseba sliko dejansko sliši. Zvok je sestavljen tako, da v 1 sekundi opiše sliko in sicer od leve proti desni. Če je zvok višji, pomeni višje ležeč slikovni vzorec, če je nižji pa nižje ležeč. Sama svetlost je predstavljena z glasnostjo zvoka. Zaradi relativno kompleksne zvokovne predstavitve, se mora oseba za ustrezno razpoznavanje slike iz zvoka, najprej tega naučiti. S tem sistemom je tako oseba zmožna gledati kakršne koli slike, znaki. Sistem je tudi komercialno dostopen v obliki programske opreme, sami pa lahko potem stvar sestavimo s pomočjo kamere in PC računalnika. Cene za celoten sistem se gibljejo do 3000 EUR. 2.2. ''The Logical Extension of the Walking Cane'' Sistem poimenovan 'The Logical Extension of the Walking Cane' je zelo podoben temu, katerega zasnova je opisana v tem članku. Informacije o okolju (objekti, ovire) sistem dobiva prek dveh stereo kamer, slepi osebi pa podatke o okolju podaja preko posebne rokavice (slika 2), ki jo oseba nosi. Rokavica je opremljena tako da lahko pošlje čutni impulz na posamezen prst, npr. če je ovira na sredini, sistem pošlje signal sredincu in če je ovira na desni, bo oseba čutila signal na desnem skrajnem prstu (mezinec, če gre z adesno roko), itd. Slika 2: posebna rokavica opremljena z aktuatorji 2.3. ROBOGA ROBOGA je sistem za pomoč slepim in slabovidnim pri izogibanju ovir. Projekt je bil fifnanciran s strani Ialjanskega Narodnega Centra za Raziskave (CNR), izveden pa je bil v DIMEG mechatronics laboratoriju. Gre za sistem, ki informacije o okolju pridobiva na podlagi elektromagnetnega senzorja. Ta v bistvu zaznava pozicijo osebe v nekem znanem okolju, podatke pa slepi ali slabovidni osebi podaja slušno. Slabost sistema je, da mora sistem okolje predhodno poznati. 3. Zgradba sistema Kot je bilo že omenjeno v uvodu, je sistem sestavljen iz treh glavnih gradnikov, stereo sistema dveh kamer, slučalk, in računalnika. 3.1. Slušalke Slušalke so lahko katerekoli stereo slušalke, ki se uporabljajo v zabavni elektroniki. Sicer so bolj primerne take, ki ne pokrijejo celotnega ušesa in omogočajo, da oseba sliši tudi zvoke iz okolja. Iz tega razloga so najbolj primerne take slušalke, ki zvok posredujejo preko kosti za ušesom (slika 3). Delujejo tako, da pošiljajo vibracije direktno na kost(lobanjo), in s tem vzujajo slušni živec. Samo zunanje uho je prosto in nepokrito, tako da lahko oseba normalno sliši okolico. Cene takih slušalk se gibljejo do 150 EUR. Slika 3: Slušalke, ki pošiljajo zvok preko kosti (lobanje) 3.2 Stereo sistem kamer Preko kamer sistem pridobiva informacije o kolju. Kamere so lahko montirane na čelado ali kapo, ki jo slepa ali slabovidna oseba nosi, še najbolj priročno pa je, če so montirane na očala, recimo sončna. Kamere na trgu dosegajo že tako majhne velikosti, da jih praktično lahko montiramo kamorkoli. Sicer obstajajo komercialno dostopna očala z montirano eno kamero (za potrebe varnosti, vohunjenja ipd.), vendar očal z dvema kamerama ni na voljo. Tako, da bi bilo potrebno taka očala sestaviti, kar ne bi smel biti problem.. Primer očal z eno kamero je na sliki 4. Slika 4 Razmak kamer mora biti točno določen in je potreben za izračun 3D modela okolja. Glede na ceno in ponudbo so najbolj dostopne take kamere, ki se priklopijo preko USB ali FIREWIRE. 3.3. Računalniška enota Na računalniško enoto priklopimo obe kameri in slušalke. Na računalniku teče program, ki ima dve funkciji. Prva je razpoznavanje in izračun 3D modela okolja na podlagi zajetih slik iz kamer. Pri tem mora določiti tudi pomembne objekte na katere naknadno opozori osebo. Druga funkcija računalnika je opozarjanje osebe na objekte v okolju in sicer preko slušalk. Pri tem mora generirati ustrezni zvok, katerega navidezni izvor lokacijsko sovpada z lokacijo objekta. Če upoštevamo komercialno dostopnost, so najbolj primerne PC enote (ti. embedded PC), ki dosegajo že skoraj miniaturne velikosti. Primer prikazuje slika 5. Omogočajo priklop kamer preko USB ali FIREWIRE priključkov in ravno tako imajo lahko tudi dvokanalni audio izhod (za slušalke). Na enotah lahko teče katerikoli (32bit) operacijski sistem (npr.: windows, linux, itd.), ki v kombinaciji z ustreznim programom zadošča za izvajanje navedenih operacij. PC enota je primerna tudi zato, ker je enostaven tudi sam razvoj programske opreme, namreč razvitih je že veliko orodij in knjižnic s področja računalniškega vida, in lahko poteka na kateremkoli PC računalniku. PC enoto je zaradi majhnosti možno enostavno nositi, bodisi v posebnem nahrbtniku bodisi pripeto na pas ali pa v obliki nekakšnega ledvičnega pasu. Te vrste računalniki so doseglijivi že za 150 EUR. Glede na vse skupaj, je to najdražji kos sistema, vendar če bi uporabili cenejši računalnik, kot je npr. kakšen mikroprocesor, bi porabili veliko več denarja za razvoj. Slika 5: PC enota (dimenzije: 17cm x 17cm) 4. Delovanje sistema Sistem na podlagi zajetih slik prepozna pomembne objekte in nato nanje opozori preko slušalk. Program mora delovati dovolj hitro, da čas osveževanja ni problematičen, namreč moramo upoštevati, da oseba, ki uporablja sistem, nenehno spreminja svoj pogled. Zelo moteče bi bilo, če bi sistem imel preveliko zakasnitev, uporabnik tako nebi mogel vedeti točne lokacije ovir. Sistem bi bil tako neuporaben. Za posamezen pogled bi sistem opozoril na več objektov in ne samo na enega. 4.1. Stereo sistem kamer Kamere morajo biti med seboj fiksne, njun razmak pa točno določen. Najboljši primer je če so postavljene horizontalno oz. vzporedno z ravnino oči, saj uporabnika v največji meri zanima pozicija objektov v tej ravnini. 4.1.1. 3D model na podlagi dveh slik Stereo sistem kamer naj bi bil statičen, kar pomeni, da obe kameri zajemajo slike hkrati. To občutno zmanjša kompleksnost algoritmov. Lahko pa je seveda sistem tudi dinamičen, kar poveča ažurnost informacij. Prednosti in slabosti obeh variant, bi ugotovili šele z podrobnejšo analizo in simulacijo. Iz zajetih slik (leve in desne) se 3D model okolja izračuna na naslednji način. Slike je potrebno najprej popraviti z osnovnimi filtri, za izločanje šuma (npr. mediana), drugih motenj, oz. za kakršnokoli izboljšanje kakovosti slik. Nato se za vsako sliko (levo in desno) določi sliko robov. Na njej so vidni samo piksli, ki določajo robove originalne slike. V nadaljevanju jih bom imenoval “robni piksli” Z njimi opišemo objekte na sliki. Obstajajo razni algoritm za detektiranje robov npr. z iskanjem sivinskih gradientov: ||grad(E(x,y))|| = √((∂E/∂x)2+(∂E∂y)2), kjer je E(x,y) neka črno-bela slika. Ko imamo levo in desno sliko robov, moramo dobiti matriko razlik med slikama (disparity map), na podlagi katere lahko izračunamo 3D model okolja. Eden izmed preprostejših algoritmov za izračun te matrike je Shirai algoritem [1]. Algoritem deluje tako, da za vsak robni piksel leve slike, išče robni piksel desne, tako da računa cenilko podobnosti med njima, in išče nek globalni minimum. V podroben opis algoritma se tu ne bomo spuščali. 4.1.2. Določitev pomebnih objektov Sistem naj bi opozarjal samo na najpomebnejše objekte oz. njihovo število naj bi bilo omejeno, saj preveliko število objektov na katere sistem opozarja lahko preveč doprinese k zmedi in neučinkovitosti. Samo število bi bilo potrebno določiti empirično, tako da bi osebe same povedale koliko informacij lahko učinkovito sprejmejo od sistema. Sama pomembnost objektov bi se določala na podlagi velikosti, bližine, pozicije itd. 4.2. Sinteza zvoka Pred sintezo zvoka ima sistem že vse podatke o objektih na katere mora opozoriti, se pravi njihovo lokacijo, oz. oddaljenost in smer (azimut). Zvok, ki določa nek objekt – oviro, je lahko kakršenkoli, vendar mora biti dovolj kratek. Ideja je, da bi sistem opozarjal na več objektov hkrati. Torej, če bi bil osnovni zvok za določitev objekta nekakšen “trk” ali “tok”, in če bi bilo v nekem pogledu več objektov, bi se to slišalo kot nekakšno potrkavanje iz različnih smeri. Število objektov na katere bi sistem opozoril v posamaeznem pogledu bi bilo omejeno, tako, da bi vedno opozoril samo na recimo 10 najpomembnejših. Tako bi se lahko oseba osredotočala samo na najpomebnejše objekte, kar bi zmanjšalo zmedo. Pozamezen zvok, ki določa objekt, se generira na podlagi znane lokacije. Če hočemo generirati zvok tako, da bo imel navidezen izvor iz te lokacije moramo poznati prenosno funkcijo (HRTF) za vsako uho posebej. 4.2.1 HRTF Kratica HRTF pomeni ‘Head Related Transfer Function’ in je Fourierjev transform HRIR (‘Head Related Impulse Response’). Za pravilno sintezo zvoka, ki bi imel navidezni izvor na točno določeni lokaciji, moramo nujno poznati to funkcijo. HRTF je relativno komplicirana funkcija štirih spremenljivk in sicer treh dimenzij prostora in frekvence. Slika 6 Večina meritev HRTF je narejena na oddaljenostih večjih od enega metra, pri teh razdaljah pa se HRTF poenostavi na funkcijo dveh kotov (azimut in elevacija) in frekvence. V našem primeru lahko uporabimo nek izmerjen model HRTF ali pa analitično funkcijo, ki je v bistvu nek približek. Raziskovalci so poskušali HRTF modelirati na različne načine. En način je v obliki prenosnih funkcij v prostoru s, vendar tu postane izračun koeficientov prekompleksen in jih je potrebno tabelirati, kar pokvari uporabnost te metode. Drug načun je v obliki Fourierjevih vrst, vendar tu postane numeričen izračun prezahteven in prepočasen. Obstajajo še drugi pristopi, ki pa niso nikoli bili v celoti razviti. 4.2.1.1. ITD model HRTF Eden najpreprostejših modelov HRTF je tako imenovan ITD model (interaural time difference), ki temelji na časovni razliki med zvočnima signaloma levega in desnega ušesa. Slika 7: ITD model Td je časovni zamik, izračunamo ga pa na naslednji način: kjer je a radij glave in c hitrost zvoka. Ta model ima nekaj omejitev in sicer, ko slišimo zvok, imamo občutek da prihaja iz notranjosti naše glave. Druga slabost je, da ne moremo razločiti, ali zvok prihaja od spredaj ali od zadaj. Nekateri imajo lahko občutek, da slišijo dva zvoka, kjer je en zvok v sredini, drugi pa premaknjen. 4.2.1.2. ILD model HRTF Ta model ima prenosno funkcijo naslednjo: kjer je α(θ) = 1 + cos(θ), β(θ) = 2c/a, a radij glave in c hitrost zvoka. Ta prenosna funkcija ojača visoke frekvence ko je azimut 0˚ in slabi ko je azimut 180˚. Tako dobimo naslednji model, slika 8. Slika 8:ILD model Pri tem modelu je tudi problem občutka dveh zvokov. 4.2.1.2. Sferični model HRTF Če kombiniramo ITD model in ILD model, dobimo precej dober model HRTF, ker rešimo prej opisani problem občutka dveh zvokov, slika 9. Slika 9: sferičen model HRTF Ta model lahko preprosto modificiramo tako, da dodamo nekakšen odmev sobe, ki je za obe ušesi enak. Slika 10 To metodo je predstavil Phillip Brown na SJSU. S tem se znebimo občutka, da je izvor zvoka znotraj naše glave. Konstanta Techo naj bo tu med 10 ms in 30 ms, konstanta Kecho pa med 0 in 1. 5. Simulacija V okviru tega dela je bila izvedena simulacija samo na področju sinteze zvoka. Program je bil napisan v MATLAB okolju, ker je sam prepis programa v ustrezen programski jezik (C/C++, Java, ...) trivialen in zamuden. Sicer bi bil najprimernejši programski jezik C/C++, ker omogoča zadostno stopnjo zanesljivosti, funkcionalnosti in hitrosti. V kolikor bi bil uporabljen operacijski sistem Windows, bi bilo potrebno uporabiti DirectX API, ki omogoča majhno latenco (mrtvi čas) in sicer okoli 40 ms. Brez uporabe ustreznega API-ja je lahko latenca do 700 ms, to pa je lahko že problematično. Na podlagi prenosne funkcije se audio-stereo signal generira s pomočjo konvolucije, ki je relativno preprosta za realizirati z programom. Realizirna je bila zadnja izboljšana varijanta HRTF in sicer sferični model HRTF. Rezultati simulacije so zadovoljivi, kar pomeni, da se ob podani lokaciji izvora zvoka generira pravilen stereo zvočni signal. Z nekoliko vaje bi lahko oseba, ki sistem preizkiša, brez težav ugotavljala lokacijo izvora voka. 6. Zaključek Opisan sistem omogoča dovolj preprosto rabo, da bi ga lahko uporabljala praktično vsaka slepa ali slabovidna oseba. Vprašanje je, če lahko ta sistem popolnoma nadomesti palico, ali psa vodnika, vendar če se uporablja kombinaciji z njima, je lahko vsaj v pomoč, saj je lahko nek dodaten vir informacij o okolju za slepo ali slabovidno osebo. Sam sistem je možno sestaviti v relativno kratkem času in za relativno nizko ceno. Tako bi lahko bil dostopen velikemu številu slepih in slabovidnih ljudi. Sama zasnova se lahko nadgrajuje, tako da bi morda lahko nekoč do neke mere nadomestil palico ali psa vodnika. Literatura [1] R. Klette, K. Schluns, A. Koschan: Computer Vision, Three-Dimensional Data from Images, Springer Verlag Singapore Pte. Ltd. 1998, 392 str. Spletni viri [2] spletna stran: http://www.seeingwithsound.com/voicefr1.htm# [3] spletna stran: http://mechatronics.dimeg.unipd.it/index.php?pag=res&sub=pub&id=21 [4] spletna stran: http://www.uoguelph.ca/research/news/articles/2002/new_navigation_for_blind.shtml [5] spletna stran: http://interface.cipic.ucdavis.edu/CIL_tutorial/3D_HRTF/3D_HRTF.htm
Ta prispevek je na portalu Publikacije.net objavil/a Klemen Polanec dne 2006-12-12.
Ocenite prispevek:
5 out of 54 out of 53 out of 52 out of 51 out of 5
# of Ratings = 2 | Rating = 4.5/5
Publikacije.net - portal svobodnega znanja