Martin Fous
A4M39NUR
OP - KINECT Vstup textu pomocí gest Zadání: Popis
- navrhněte a otestujte sadu gest pro vstup textu pomocí ovladače Kinect
Cílová skupina
- netechnicky vzdělaní mladí lidé
Low -fid prototyp
- definice použitých gest - definice mapování gest na jednotlivé znaky
Mid-High-fid prototyp - funkční prototyp vstupu textu - ovladač Kinect i software pro rozpoznání kostry člověka k dispozici Zadavatel
Ondřej Poláček (
[email protected])
Úvod Kinect pro Xbox 360 nebo jen Kinect je vstupní zařízení detekující pohyb. Bylo vyvinuto Microsoftem jako doplněk pro videoherní konzoli Xbox 360. Umožňuje uživateli interagovat s konzolí bez klasického ovladače skrze gesta a hlasové povely. Projekt byl zaměřen na rozšíření uživatelské základny Xboxu mimo typickou hráčskou komunitu.
Hardwarově toto vstupní zařízení obsahuje RGB kameru, senzor měřící hloubku prostoru a dvojici mikrofonů. Vše je umístěno na motorizovaném pivotu. Senzor měřící hloubku prostoru se skládá ze zdroje infračerveného záření a monochromatického CMOS senzoru. To umožňuje zařízení
zachycovat 3D záznam pohybu celého těla, rozpoznávání obličeje a hlasu osoby popř. osob stojících před zařízením. Po svém uvedení na trh se Kinect stal velkým hitem, kvůli příznivé ceně a možnostem které poskytuje pro zdokonalení herního zážitku. Mnoho vývojářů také začalo zkoumat možné využití Kinectu mimo jeho původní účel, hraní her. Reverzním inženýrstvím bylo zpřístupněno API a posléze i Microsoft uvedl SDK pro Kinect. Mnoho demonstrací možných aplikací se dá nalézt na serveru http://www.youtube.com . Mě nejvíce zaujala možnost změny interakce s PC. Příklad, jak by takové futuristické ovládání počítače mohlo vypadat, byl k vidění ve filmu Minority Report. Nedílnou součástí běžné práce s PC je zadávání textu. Proto cílem této práce bude navrhnout sadu gest pro rozpoznání pomocí zařízení Kinect. Psaní dlouhých textů, případně rychlost záznamu asi nikdy nebude doménou zadávání pomocí gest, ale v mnoha případech využitelné bude, například při tagování fotografií, zadávání nicků uživatele ve hrách na konzoli. Ve spojení s inteligentní predikcí textu by tento způsob mohl být i rychlostně srovnatelný s klávesnicí, gamepadem, atd.
User Research Vymezení cílové skupina Cílem práce je rozšíření zařízení Kinect o možnost zadávání textu na herní konzoli, televizí, PC atd. Proto cílovou skupinu nebudu omezovat věkem, jako spíše přístupem k novým technologiím. Zástupce mé cílové skupiny je člověk, který se nežene bezhlavě za nejnovějšími výstřelky, ale zároveň se těchto technologií nebojí využívat, pokud mu mohou usnadnit/zpříjemnit život. Navržené řešení by mělo být minimálně konkurenceschopné k ostatním metodám vstupu textu. To by mělo usnadnit také použití prediktivního slovníku s automatickým učením nových slov. Primer Používáte ve volném čase herní konzoli / počítač?
(Ano)
Kolikrát týdně obvykle?
(1-4x týdně)
Kdo se ve Vaší domácnosti stará o správu počítače (IT techniky)?
(Já ne)
Témata Účelem interview je zjistit potřeby, zvyklosti, chování, zkušenosti předpokládané cílové skupiny. Témata:
Co dotazovaná osoba používá za zařízení? Jaké má zařízení možnosti (internet, hry)? Jak často toto zařízení využívá? Při jaké příležitosti? Co se užívá k ovládání zařízení? Je při ovládání zařízení nutno někde zadávat textový vstup? Jak je tento vstup textu realizován?
Interview První osoba žena 28 let, svobodná, bezdětná, bydlí sama, běžná uživatelka PC, pracuje v administrativě, o správu domácího PC obvykle požádá někoho z kamarádů Dotazovaná osoba vlastní pro svou potřebu herní konzoli Nintendo Wii a stolní počítač pro přístup k internetu. Herní konzoli využívá obvykle jednou, dvakrát týdně, přes zimu častěji. Obvykle hraje po práci na odreagování nebo jako náhradu místo venkovního sportu v případě nepříznivého počasí. Na konzoli hraje obvykle hry Wii Sports a Wii Fit. V její domácnosti ji využívají ještě neteř a synovec ve věku 13 a 9.
K ovládání se používá bezdrátový ovladač snímající pohyb vybavený několika tlačítky. Pro některé hry se přidává kabelem ještě ovladač pro druhou ruku. Hra Wii Fit vyžaduje balanční podložku, která se dodává jako příslušenství ke hře. Dotazovaná osoba zmiňovala jako nevýhodu nutnost výměny tužkových baterií v ovladači. Nutnost zadávat text se vyskytuje pouze při vytváření nové postavy pro hru. Text se zadává pomocí potvrzovacího a směrového čtyřtlačítka. Abeceda se zobrazí na televizi a uživatel z ní vybere požadované znaky. Tyto znaky se postupně vkládají do zadávacího řádku. Při zadání chybného znaku je možné vymazat znak a vložit na jeho místo jiný. Dotazovaná osoba zmínila, že toto zadání je trochu komplikované a mohlo by být snazší a rychlejší. Na internetu jsem se dočetl o možném využití konzole Wii pro přístup na internet. Dotazovaná osoba se ale o této možnosti nezmiňovala. Využívá zařízení čistě jednoúčelově na hry.
Druhá osoba muž 30 let, svobodný, bezdětný, běžný uživatel PC, pracuje v marketingu, správu osobního PC dělá jeho bratr, se kterým bydlí
Dotazovaná osoba vlastní a pravidelně používá svůj osobní počítač, obvykle po práci, popř. přes víkend, obvykle 3x-4x týdně. Náplň času na PC je surfování na internetu, občasné hraní her a sledování televize, filmů, seriálů. Ovládání PC je klasické přes myš a klávesnici. Ke své oblíbené hře FIFA 2011 si občas připojuje herní gamepad. K zadávání textu vždy používá klávesnici. Počítač není vždy využíván jen k zábavě, občas ho dotazovaný používá k vzdálenému přihlášení do firemní sítě, vyřizování emailů, popř. jiná práce. Nutnost zadávání textu je na PC všudypřítomná a má různé podoby od kratších spojení pro vyhledávání po psaní delších textů. Dotazovaný uživatel je naprosto spokojen s ovládáním svého PC pomocí klávesnice, myši popř. gamepadu. Vzhledem k občasnému využití PC coby multimediálního centra domácnosti by se nabízela možnost využití Kinectu co by multifunkčního dálkového ovládání.
Analýza Dva zástupci potenciální cílové skupiny ukázali, že další způsob zadávání textu by mohl být přínosem, zvláště ve spojení s dalšími možnostmi, kterými zařízení Kinect obohacuje možnosti ovládání PC/konzole. Hlavním využitím zadávání textu pomocí gest je ovládání zařízení z větší vzdálenosti, např. při stání před televizí na které běží hra z konzole nebo při sledování filmu na počítačovém monitoru. Z rozhovorů vyplynuly také nutné požadavky na vývoj této nové funkcionality. Mezi netechnicky orientovanými uživateli je kladen velký důraz na snadnost a rychlost ovládání. Zadávaná gesta by měla být, co možno nejjednodušší, aby umožňovala vstup textu a ovládání všem věkovým skupinám včetně dětí. Většinový uživatel nepožaduje vzhledem k určení aplikace žádné zvláštní možnosti nastavení, ale důležitou funkci by měla hrát interaktivní nápověda s možností přehrání gest a ověření správnosti jejich zadávání. Nutnou součástí systému pro zadávání textu pomocí gest by měl být prediktivní slovník, automaticky vkládající nová slova pro urychlení vstupu textu. Navržená gesta by měla reflektovat četnost výskytu znaků v daném jazyce a být alespoň v rámci možností intuitivní kvůli snadné zapamatovatelnosti.
Design formuláře pro zadávání textu může být maximálně jednoduchý, obsahující pouze zadávací řádek, možnost vstupu do interaktivní nápovědy, potvrzovací a zavírací tlačítko. Potvrzovací a zavírací tlačítko bych v designu prostředí ponechal, aby i uživatel, který se do zadávání textu dostal náhodou byl schopen prostředí opustit, buď přímým navedením kurzoru nebo pomocí gamepadu. Vzhledem k velikosti trhu a tudíž potenciálnímu uplatnění tohoto rozšíření by prototyp aplikace a následná první komerční verze měl vzniknout pro anglický jazyk.
Problem analysis (HTA, Storyboard, Use-Cases) HTA & HTA plans
Zadání textu
Vložit nový znak Gesto pro znak
Opravit vložený text
Ukončit zadání textu
Gesto pro opravu
Spustit nápovědu
Zvolit znak
Gesto pro pohyb v textu
HTA pro zadávání textu pomocí gest je docela jednoduché, uživatel má jediný task, chce pouze zadat text. Proto jsem tento task rozepsal do úkonů ze kterých se obvyklé zadání textu bude skládat. HTA plans 1) Vložení nového textu a. Vložení požadovaných znaků tvořících text b. Ukončení vstupu textu 2) Oprava zadaného textu a. Nastavení kurzoru za chybný znak b. Smazání chybného znaku c. Gesto pro požadovaný znak
d. Ukončení vstupu textu 3) Vyvolání nápovědy
Storyboard Obvyklé využití zadávání textu pomocí gest při ovládání hry pomocí Kinectu
Illustrating sketches Vzhled budoucího textového vstupu
Možné využití při ovládání PC (Židle odstraněna pro zvýšení názornosti)
Use Cases Scénáře obvyklé při zadávání textu pomocí gest 1) Zadání textu pomocí gest a. Uživatel vstoupí do textového pole určeného k zadání textu b. Ovladač není v jeho dosahu, proto se rozhodne pro zadání textu pomocí gest c. Zadává znak po znaku dokud mu prediktivní dokončování textu nenabídne celé slovo nebo nezadá nové slovo d. Potvrdí výstup a ukončí zadávání textu. 2) Úprava zadaného textu a. Uživatel zadává znak po znaku pomocí gest b. Jeho gesto není správně rozpoznáno nebo udělá v zadávání chybu c. Přelistuje kurzor pomocí gest na chybný symbol d. Vymaže chybný symbol e. Vloží správný symbol f. Přelistuje na konec zadávaného textu g. Potvrdí výstup a ukončí zadávání textu 3) Vyvolání nápovědy k zadávání textu pomocí gest a. Uživatel přesune kurzor na tlačítko vyvolání nápovědy b. Provede potvrzovací gesto
c. d. e. f. g. h.
Spustí se interaktivní průvodce zadávání pomocí gest V přehledu zvolí požadovaný znak Spuštění videa požadovaného znaku Volitelný trénink zvoleného znaku Návrat do přehledu znaků Návrat do zadávání textu
4) Vložení nestandardního symbolu a. Uživatel zadává znak po znaku pomocí gest b. Chce do textu vložit symbol, nebo znak pro který si nepamatuje gesto, např. @ c. Vyvolá gestem nebo kurzorem nabídku symbolů a znaků d. Pomocí gest přelistuje na požadovaný symbol e. Vloží symbol pomocí potvrzení nebo gesta pro potvrzení f. Dokončí zadávání textu g. Potvrdí výstup a ukončí zadávání textu
Low-fidelity prototyp Low-fidelity prototyp je zhotoven pouze papírový pro ověření použitelnosti navrženého designu cílovou skupinou. Předpokladem k využití tohoto rozhraní pro zadávání textu pomocí gest je, že program požadující textový vstup toto rozhraní sám pro uživatele vyvolá a při návratu zpět převezme zadaný text do svého textového pole. Prototyp textového vstupu bude umět zadávat 26 znaků anglické abecedy a pomocí výběru z tabulky doplnit speciální symboly a čísla. Prototype creation UI a popis ovládání K ovládání rozhraní se využívají výhradně ruce osoby sledované zařízením Kinect. Po vstupu do rozhraní vidíme jeho základní prvky: řádek se zadávaným textem, kurzor, tři tlačítka reagující na potvrzovací gesto kurzorem a dva čtvrtkruhové číselníky pro zadávání jednotlivých písmen. Tento koncept momentálně nepočítá s českou diakritikou.
Gesto pro potvrzení
Gesto pro mazání
Po vstupu do rozhraní pohyb konce ruky ovládá pohyb kurzoru po obrazovce. K potvrzení (ekvivalentní stisku levého tlačítka myši) slouží gesto zakroužkování vybraného prvku/tlačítka na
obrazovce. Po uvedení rukou do polohy pro zadávání textu (viz obrázek) je možné vybírat požadované znaky do textového pole. K ovládání číselníků slouží výhradně pohyb předloktími před tělem sledované osoby. Pohotovostní polohy rukou může být dosaženo v sedě i ve stoje. V pohotovostní poloze jsou ruce pokrčené v loktech a před tělem tak, aby si člověk viděl na zápěstí. Ruce tak tvoří rovinu rovnoběžnou vzhledem k rovině obrazovky/ snímače Kinectu. Pohybem levé ruky v této rovině se ovládá pohyb šipky ukazující na písmena v levém číselníku. Pro výběr písmena, na které je ukazováno šipkou, se levá ruka napne v lokti tak, že její pěst ukazuje směrem k obrazovce.
Výběr znaku (Pohled zezadu)
Výběr znaku (Pohled zepředu)
Vložení znaku (Pohled zezadu)
Vložení znaku (Pohled z boku)
Vstupní textové pole s kurzorem
Ovládací tlačítka
Číselníky s abecedou
Kurzor
Pro pohyb kurzoru v textovém poli slouží pohyb rukou požadovaným směrem. Gesto pro mazání posledního znaku je stylizované přeškrtnutí. Potvrzovací gesto na tlačítku OK ukončí celé rozhraní a předá obsah textového pole programu. Scénáře 1) Napsat jednoduché slovo Uživatel pomocí rozhraní zadá slovo „AHOJ“ a potvrzovacím tlačítkem potvrdí ukončení rozhraní. 2) Smazat předposlední znak Uživatel napíše slovo z předchozího scénáře, posune kurzor zpět a smaže předposlední znak. 3) Napsat slovo se speciálním znakem (číslem) Uživatel zadá emailovou adresu „
[email protected]“ 4) Vyvolat interaktivní nápovědu Uživatel pomocí potvrzovacího gesta na tlačítku Help vyvolá nápovědu.
Dokumentace prvního scénáře Potvrzení znaku A levou nebo pravou rukou.
Znak je vložen do textového pole.
Nalezení znaku H pravou rukou a potvrzení
Vložení znaku O levou rukou
Vložení znaku J pravou rukou
Dokumentace třetího scénáře Otevření tabulky symbolů pomocí potvrzovacího gesta nad tlačítkem Character
Vložení požadovaného symbolu pomocí potvrzovacího gesta nad symbolem
Evaluation Zkoušku papírového prototypu jsem provedl opět ve spolupráci s uživateli cílové skupiny, kteří jsou uvedení v úvodu této práce. Tímto bych jim chtěl také poděkovat za obětavost.
Tento test měl za úkol vyhodnotit, zda je systém dostatečně jednoduchý a intuitivní k použití. Test začal nejprve zběžným vysvětlením ovládání pomocí gest. Následně jsme vyzkoušeli všechny 4 scénáře s tím, že já jsem manuálně reagoval na vstupní gesta a ovládal papírový prototyp. Po vysvětlení základů ovládání neměli zástupci problémy s ovládáním rozhraní. Ukázala se nevhodnost papírového prototypu takovéhoto rozhraní, papír spolu s lístečky nelze uvést bez dodatečného zafixování do vertikální polohy, pro prototypy tohoto typu by byla vhodnější magnetická tabule. Prototyp velikosti A4 v dnešní době úplně neodpovídá rozměrům běžné televizní obrazovky. Rovněž se ukázalo nevhodné pomocí jednoho gesta zároveň ovládat kurzor v textovém poli a zároveň kurzor ukazatele po obrazovce. Možné řešení tohoto problému by bylo přiřazení každé akce jiné ruce uživatele. Tzn. Pravá by mohla hýbat ukazatelem po obrazovce a levá hýbat kurzorem v textovém poli. Prototyp simuluje základní funkcionalitu, která by měla být implementována v High Fidelity prototypu. Z uživatelského hlediska je možno navrhnout několik zlepšení, která usnadní zadávání znaku. Například rozšiřování políčka číselníku pro pravděpodobná následná písmena, grafické zvýraznění znaku při jeho potvrzování gestem nebo implementace prediktivního slovníku na zadávaná slova.