Interakcja oparta na wzroku na HoloLens 2

Pokaz śledzenia oczu w narzędziu MRTK

Jedną z naszych ekscytujących nowych możliwości na HoloLens 2 jest śledzenie oczu. Na naszej stronie Śledzenie oczu na stronie HoloLens 2 wspomnieliśmy, że każdy użytkownik musi przejść przez kalibrację, pod warunkiem pewnych wskazówek dla deweloperów i wyróżnione przypadki użycia do śledzenia oczu. Wejście wzroku jest nadal nowym typem danych wejściowych użytkownika i jest wiele do nauki.

Podczas gdy dane wejściowe wzroku są używane tylko subtelnie w naszym środowisku powłoki Holographic Shell (interfejs użytkownika widoczny podczas uruchamiania HoloLens 2), kilka aplikacji, takich jak "HoloLens Playground", prezentuje wspaniałe przykłady sposobu, w jaki dane wejściowe wzroku mogą dodać do magii środowiska holograficznego. Na tej stronie omówiono zagadnienia projektowe dotyczące integrowania danych wejściowych wzroku w celu interakcji z aplikacjami holograficzne.

Poznasz kluczowe zalety, a także unikatowe wyzwania, które są dostępne z danymi wejściowymi wzroku. W oparciu o te rozwiązania udostępniamy kilka zaleceń projektowych, które ułatwiają tworzenie satysfakcjonujących interfejsów użytkownika obsługiwanych przez wzrok.

Obsługa urządzeń

Funkcja HoloLens (1. generacja) HoloLens 2 Immersyjne zestawy słuchawkowe
Spojrzenie wzrokowe ✔️

Pokaz koncepcji projektowania head and eye tracking

Jeśli chcesz zobaczyć koncepcje projektowe Head and Eye Tracking w akcji, zapoznaj się z naszym pokazem wideo Projektowanie Hologramów — śledzenie głowy i śledzenie oczu poniżej. Po zakończeniu przejdź dalej, aby uzyskać bardziej szczegółowe informacje na temat konkretnych tematów.

To wideo zostało zrobione z aplikacji "Projektowanie hologramów" HoloLens 2. Pobierz i ciesz się pełnym doświadczeniem tutaj.

Wskazówki dotyczące projektowania danych wejściowych wzroku

Tworzenie interakcji, która wykorzystuje szybkie ukierunkowanie oczu, może być trudne. W tej sekcji podsumujemy kluczowe zalety i wyzwania, które należy wziąć pod uwagę podczas projektowania aplikacji.

Zalety danych wejściowych wzroku

  • Wysoka szybkość wskazywania. Mięśnie oczu są najszybszym reagujące mięśniem w organizmie ludzkim.

  • Niski nakład pracy. Ledwo konieczne są żadne ruchy fizyczne.

  • Niejawność. Często opisywane przez użytkowników jako "czytanie umysłu", informacje o ruchach oczu użytkownika pozwalają systemowi dowiedzieć się, który cel użytkownik planuje zaangażować.

  • Alternatywny kanał wejściowy. Spojrzenie wzrokowe może zapewnić zaawansowane pomocnicze dane wejściowe do rąk i głosu, tworząc lata doświadczenia od użytkowników w oparciu o ich koordynację wzroku.

  • Uwaga wizualna. Kolejną ważną korzyścią jest możliwość wywnioskowania, na co zwraca uwagę użytkownik. Może to pomóc w różnych obszarach aplikacji, począwszy od bardziej efektywnego oceniania różnych projektów, aby pomóc w inteligentniejszych interfejsach użytkownika i ulepszonych sygnałach społecznych do komunikacji zdalnej.

W skrócie, użycie wzroku jako danych wejściowych oferuje szybki i bezproblemowy sygnał wejściowy kontekstowy. Jest to zaawansowane w połączeniu z innymi danymi wejściowymi, takimi jak głos i ręczne wprowadzanie danych wejściowych w celu potwierdzenia intencji użytkownika.

Wyzwania związane z spojrzeniem wzrokowym jako danymi wejściowymi

Chociaż wzrok może służyć do tworzenia satysfakcjonujących środowisk użytkownika, które sprawiają, że czujesz się jak superbohater, ważne jest również, aby wiedzieć, co nie jest dobre, aby odpowiednio to uwzględnić. Na poniższej liście omówiono pewne wyzwania, które należy wziąć pod uwagę i jak rozwiązać te problemy podczas pracy z danymi wejściowymi wzroku:

  • Twoje spojrzenie na oko jest "zawsze włączone" Moment, w którym otwierasz pokrywy oczu, oczy zaczynają naprawiać rzeczy w środowisku. Reagowanie na każde spojrzenie wykonane i przypadkowe wydawanie akcji, ponieważ spojrzał na coś zbyt długo, spowodowałoby niezadowolone środowisko. Zalecamy połączenie wzroku z poleceniem głosowym, gestem dłoni, kliknięciem lub rozszerzonym zatrzymaniem, aby wyzwolić wybór obiektu docelowego (aby uzyskać więcej informacji, zobacz wzrok i zatwierdzenie). To rozwiązanie umożliwia również tryb, w którym użytkownik może swobodnie rozglądać się bez przeciążenia przez mimowolne wyzwalanie czegoś. Ten problem należy również wziąć pod uwagę podczas projektowania opinii wizualnych i słuchowych podczas przeglądania celu. Spróbuj nie przytłoczyć użytkownika natychmiastowymi efektami wyskakującym lub dźwiękami aktywowania. Subtelność jest kluczem. W dalszej części omówimy niektóre najlepsze rozwiązania dotyczące tych rozwiązań podczas mówienia o zaleceniach dotyczących projektowania.

  • Obserwacja a kontrola Wyobraź sobie, że chcesz dokładnie wyprostować zdjęcie na ścianie. Patrzysz na jego obramowania i otoczenie, aby sprawdzić, czy dobrze się dopasowuje. Teraz wyobraź sobie, jak to zrobić, gdy chcesz użyć wzroku jako danych wejściowych, aby przenieść obraz. Trudne, prawda? W tym artykule opisano podwójną rolę wzroku, gdy jest ona wymagana zarówno dla danych wejściowych, jak i sterujących.

  • Pozostaw przed kliknięciem: W przypadku szybkich wyborów docelowych badania wykazały, że oko użytkownika może przejść przed zakończeniem ręcznego kliknięcia (na przykład naciśnięcia powietrza). Zwróć szczególną uwagę na synchronizowanie szybkiego sygnału wzrokowego z wolniejszymi danymi wejściowymi sterowania (na przykład głosem, rękami, kontrolerem).

  • Małe cele: Czy znasz uczucie, gdy próbujesz przeczytać tekst, który jest nieco za mały, aby przeczytać wygodnie? To napięte uczucie na oczach może spowodować, że czujesz się zmęczony i zużyty, ponieważ próbujesz odczytać oczy, aby skupić się lepiej. Jest to uczucie, które można wywołać u użytkowników, zmuszając ich do wybierania obiektów docelowych, które są zbyt małe w aplikacji przy użyciu określania wartości docelowych oczu. W przypadku projektu, aby stworzyć przyjemne i wygodne środowisko dla użytkowników, zalecamy, aby cele powinny być co najmniej 2° w kątze wizualnym, najlepiej większe.

  • Zaszarpane ruchy wzroku Nasze oczy wykonują szybkie ruchy od utrwalenie do naprawy. Jeśli spojrzysz na ścieżki skanowania zarejestrowanych ruchów oczu, zobaczysz, że wyglądają ragged. Twoje oczy szybko poruszają się i w spontanicznych skokach w porównaniu do ruchów głowy lub dłoni.

  • Niezawodność śledzenia: Dokładność śledzenia oczu może nieco obniżyć się w zmieniającym się świetle, gdy oczy dostosowują się do nowych warunków. Chociaż nie powinno to mieć wpływu na projekt aplikacji, ponieważ dokładność powinna mieścić się w zakresie 2° ograniczenia, może być konieczne ponowne kalibrowanie przez użytkownika.

Zalecenia dotyczące projektowania

Poniżej znajduje się lista konkretnych zaleceń projektowych opartych na opisanych zaletach i wyzwaniach związanych z danymi wejściowymi wzroku:

  1. Spojrzenie wzrokowe nie jest takie samo jak spojrzenie głowy:

    • Zastanów się, czy szybkie, ale poszarpane ruchy oczu pasują do zadania wejściowego: Podczas gdy nasze szybkie i ragged ruchów oczu doskonale nadają się do szybkiego wybierania obiektów docelowych w naszym polu widoku, mniej dotyczy zadań wymagających płynnej trajektorii danych wejściowych (na przykład rysunku lub otaczania adnotacji). W takim przypadku powinna być preferowana ręka lub head pointing.

    • Unikaj dołączania czegoś bezpośrednio do wzroku użytkownika (na przykład suwaka lub kursora). Dzięki kursorom może to spowodować efekt "ucieczki kursora" ze względu na niewielkie przesunięcia w przewidywanym sygnałie wzroku. Suwak może powodować konflikt z podwójną rolą kontrolowania suwaka oczami, a jednocześnie chce sprawdzić, czy obiekt znajduje się w odpowiedniej lokalizacji. Na przykład suwaka warto używać wzroku w połączeniu z gestami dłoni. Oznacza to, że użytkownik może szybko i bez wysiłku przełączać się między wieloma suwakami, podnosząc rękę i szczypając kciuk i palec indeksowy, aby go chwycić i przenieść. Gdy szczypta zostanie zwolniona, suwak przestanie się przesuwać. Użytkownicy mogą stać się przytłoczeni i rozproszeni, zwłaszcza jeśli sygnał jest nieprecyzyjny dla tego użytkownika.

  2. Połącz spojrzenie wzrokowe z innymi danymi wejściowymi: Integracja śledzenia oczu z innymi danymi wejściowymi, takimi jak gesty dłoni, polecenia głosowe lub naciśnięcia przycisku, zapewnia kilka zalet:

    • Zezwalaj na bezpłatną obserwację: Biorąc pod uwagę, że główną rolą naszych oczu jest obserwowanie naszego środowiska, ważne jest, aby użytkownicy mogli rozglądać się bez wyzwalania żadnych (wizualnych, słuchowych itd.) opinii lub akcji. Łączenie śledzenia oczu z inną kontrolką wejściową umożliwia płynne przechodzenie między trybami obserwacji śledzenia oczu i sterowania danymi wejściowymi.

    • Zaawansowany dostawca kontekstu: Korzystanie z informacji o tym, gdzie i na czym patrzy użytkownik, mówiąc polecenie głosowe lub za pomocą gestu dłoni, umożliwia bezproblemowe przekazywanie danych wejściowych w polu widoku. Na przykład: powiedz "umieść to tam" , aby szybko i płynnie wybrać i umieścić hologram w całej scenie, patrząc na cel i jego zamierzone miejsce docelowe.

    • Potrzeba synchronizowania danych wejściowych wielomodalnych: Połączenie szybkich ruchów oczu z bardziej złożonymi danymi wejściowymi, takimi jak długie polecenia głosowe lub gesty dłoni, niesie ze sobą ryzyko, że użytkownik nadal rozgląda się przed zakończeniem i rozpoznaniem dodatkowego polecenia wejściowego. Jeśli tworzysz własne kontrolki wejściowe (na przykład niestandardowe gesty dłoni), pamiętaj, aby zarejestrować początek tych danych wejściowych lub przybliżony czas trwania, aby skorelować go z tym, co użytkownik spojrzał w przeszłości.

  3. Subtelne opinie dotyczące danych wejściowych śledzenia oczu: Warto przekazać opinię, gdy cel jest sprawdzany, aby wskazać, że system działa zgodnie z oczekiwaniami, ale powinien być zachowany subtelnie. Może to obejmować powolne mieszanie, wyróżnianie wizualizacji lub wykonywanie innych subtelnych zachowań docelowych, takich jak powolne ruchy, takie jak nieznaczne zwiększenie rozmiaru docelowego. Oznacza to, że system poprawnie wykrył, że użytkownik patrzy na obiekt docelowy bez niepotrzebnego przerywania bieżącego przepływu pracy użytkownika.

  4. Unikaj wymuszania nienaturalnych ruchów oczu jako danych wejściowych: Nie wymuszaj, aby użytkownicy używali określonych ruchów oczu (gestów wzroku) do wyzwalania akcji w aplikacji.

  5. Konto nieprawdopodobnych: Rozróżniamy dwa typy nieprawdopodobnych, które są zauważalne dla użytkowników: przesunięcie i drżenie. Najprostszym sposobem rozwiązania przesunięcia jest zapewnienie wystarczająco dużych obiektów docelowych do interakcji. Zaleca się użycie kąta wizualnego większego niż 2° jako odwołania. Na przykład miniatura ma około 2° kąta wizualnego po rozciągnięciu ramienia. Prowadzi to do następujących wskazówek:

    • Nie wymuszaj, aby użytkownicy wybierali małe obiekty docelowe. Badania wykazały, że jeśli cele są wystarczająco duże, a system jest dobrze zaprojektowany, użytkownicy opisują swoje interakcje jako bez wysiłku i magicznie. Jeśli cele staną się zbyt małe, użytkownicy opisują środowisko jako fatiguing i frustrujące.

Ta strona zawiera dobre omówienie, aby rozpocząć zrozumienie wzroku jako danych wejściowych w rzeczywistości mieszanej. Aby rozpocząć programowanie, zapoznaj się z naszymi informacjami na temat spojrzenia na oczy w akwenie Aparatu Unity i spojrzenia wzrokowego w programie DirectX.

Zobacz też