Artykuł metodologiczny

Ocena obszarów kontaktu między rękami a przedmiotami podczas chwytania wielocyfrowego przez człowieka

3.2K wyświetleń

DOI:

10.3791/64877

21 kwietnia 2023

W tym artykule

Podsumowanie

Gdy chwytamy obiekt, wiele obszarów palców i dłoni zazwyczaj styka się z powierzchnią obiektu. Rekonstrukcja takich obszarów kontaktu jest wyzwaniem. W tym miejscu przedstawiamy metodę przybliżonego szacowania obszarów kontaktu poprzez połączenie przechwytywania ruchu opartego na znacznikach z istniejącą rekonstrukcją siatki ręcznej opartą na głębokim uczeniu.

Streszczenie

Aby skutecznie uchwycić obiekt, musimy wybrać odpowiednie obszary kontaktu dla naszych dłoni na powierzchni obiektu. Identyfikacja takich regionów jest jednak trudna. W tym artykule opisano proces pracy służący do szacowania regionów kontaktu na podstawie danych śledzenia opartych na znacznikach. Uczestnicy chwytają rzeczywiste obiekty, podczas gdy my śledzimy pozycję 3D zarówno obiektów, jak i dłoni, w tym stawów palców. Najpierw określamy wspólne kąty Eulera na podstawie wybranych śledzonych znaczników umieszczonych na grzbiecie dłoni. Następnie wykorzystujemy najnowocześniejsze algorytmy rekonstrukcji siatki dłoni, aby wygenerować siatkowy model dłoni uczestnika w aktualnej pozie i pozycji 3D.

Korzystanie z obiektów, które zostały wydrukowane w 3D lub zeskanowane w 3D - a więc są dostępne zarówno jako rzeczywiste obiekty, jak i dane siatki - pozwala na jednoczesne rejestrowanie siatki dłoni i obiektów. To z kolei pozwala na oszacowanie przybliżonych obszarów kontaktu poprzez obliczenie przecięć między siatką ręczną a współrejestrowaną siatką obiektów 3D. Metoda ta może być stosowana do oszacowania, gdzie i jak ludzie chwytają przedmioty w różnych warunkach. W związku z tym metoda ta może być interesująca dla naukowców zajmujących się percepcją wzrokową i dotykową, kontrolą motoryczną, interakcją człowiek-komputer w rzeczywistości wirtualnej i rozszerzonej oraz robotyką.

Wprowadzenie

Zdolność do chwytania i manipulowania przedmiotami jest kluczową umiejętnością, która pozwala ludziom dostosowywać otoczenie do swoich pragnień i potrzeb. Jednak skuteczne sterowanie wielostawowymi dłońmi jest trudnym zadaniem, wymagającym zaawansowanego systemu kontroli. Ten system sterowania motorycznego jest kierowany przez kilka form sygnałów sensorycznych, wśród których najważniejszy jest wzrok. Dzięki wzrokowi ludzie mogą identyfikować obiekty w otoczeniu, szacować ich położenie oraz właściwości fizyczne, a następnie z łatwością do nich sięgać, chwytać je i nimi manipulować. Zrozumienie złożonego systemu łączącego sygnały wejściowe z siatkówki oka z poleceniami ruchowymi sterującymi dłońmi jest kluczowym wyzwaniem neuronauki sensoryczno-motorycznej. Aby modelować, przewidywać i rozumieć działanie tego systemu, musimy najpierw być w stanie zbadać go szczegółowo. Wymaga to wysokiej precyzji pomiarów zarówno bodźców wzrokowych, jak i ruchów dłoni.

Dotychczasowa technologia śledzenia ruchu nakładała szereg ograniczeń na badania nad ludzkim chwytaniem. Na przykład systemy wymagające przymocowania kabli do dłoni uczestników1,2 mają tendencję do ograniczania zakresu ruchów palców, co może potencjalnie zmieniać ruchy chwytne lub same pomiary. Mimo takich ograniczeń, wcześniejsze badania pozwoliły zidentyfikować kilka czynników wpływających na chwytanie sterowane wzrokowo. Niektóre z tych czynników to kształt obiektu3,4,5,6, chropowatość powierzchni7,8,9 lub orientacja obiektu względem dłoni4,8,10. Jednak aby pokonać wcześniejsze ograniczenia technologiczne, większość tych badań wykorzystywała proste bodźce i wysoce ograniczone zadania, koncentrując się tym samym głównie na pojedynczych czynnikach3,4,6,7,10, chwytach precyzyjnych dwupalcowych3,4,6,9,11,12,13,14,15,16,17,18, pojedynczych obiektach19 lub bardzo prostych kształtach 2D20,21. Nie wiadomo, w jaki sposób wcześniejsze wyniki generalizują się poza tak zredukowanymi i sztucznymi warunkami laboratoryjnymi. Ponadto pomiar kontaktu dłoni z obiektem jest często sprowadzany do szacowania punktów kontaktu palców22. Takie uproszczenie może być odpowiednie do opisania niewielkiego podzbioru chwytów, w których tylko opuszki palców stykają się z obiektem. Jednak w większości rzeczywistych chwytów z obiektem kontaktują się rozległe obszary palców i wnętrza dłoni. Co więcej, niedawne badanie23 wykazało, przy użyciu rękawicy haptycznej, że obiekty mogą być rozpoznawane na podstawie tego, jak ich powierzchnia oddziałuje na dłoń. Podkreśla to znaczenie badania rozległych obszarów kontaktu między dłońmi a chwytanymi obiektami, a nie tylko punktów kontaktu między obiektami a opuszkami palców22.

Ostatnie postępy w przechwytywaniu ruchu i 3D modelowaniu dłoni pozwoliły nam przekroczyć wcześniejsze ograniczenia i badać chwytanie w pełnej jego złożoności. Pasywne śledzenie ruchu oparte na markerach jest obecnie dostępne dzięki markerom o rozmiarach milimetrowych, które można przymocować do grzbietu dłoni uczestnika w celu śledzenia ruchów stawów24. Co więcej, algorytmy automatycznej identyfikacji markerów dla systemów markerowych są obecnie na tyle odporne, że niemal całkowicie eliminują potrzebę rozległego, ręcznego przetwarzania danych markerowych po pomiarach25,26,27. Rozwiązania bezmarkerowe osiągają również imponujący poziom wydajności w śledzeniu części ciała zwierząt na nagraniach wideo28. Metody śledzenia ruchu te pozwalają zatem wreszcie na niezawodne i nieinwazyjne pomiary złożonych ruchów wielopalczastych dłoni24. Takie pomiary mogą dostarczyć informacji o kinematyce stawów i umożliwić oszacowanie punktów styku między dłonią a obiektem. Dodatkowo w ostatnich latach środowisko wizji komputerowej zajmowało się problemem konstruowania modeli ludzkich dłoni, które potrafią odwzorować deformacje tkanek miękkich podczas chwytania obiektów, a nawet podczas kontaktu między poszczególnymi częściami dłoni29,30,31,32. Takie rekonstrukcje siatek 3D mogą być wyprowadzane z różnych typów danych, takich jak nagrania wideo33,34, stawy szkieletowe (pochodzące z trackingu opartego na markerach35 lub bezmarkerowego36) oraz obrazy głębi37. Pierwszy kluczowy postęp w tej dziedzinie został dokonany przez Romero i współpracowników38, którzy opracowali parametryczny model dłoni (MANO) na podstawie ponad 1000 skanów dłoni od 31 osób w różnych pozach. Model ten zawiera parametry zarówno dla pozy, jak i kształtu dłoni, co ułatwia regresję z różnych źródeł danych do pełnej rekonstrukcji dłoni. Nowsze rozwiązanie DeepHandMesh29 opiera się na tym podejściu, konstruując zparametryzowany model za pomocą głębokiego uczenia i dodając funkcję unikania przenikania, co dokładniej oddaje fizyczne interakcje między częściami dłoni. Dzięki połączeniu takich rekonstrukcji siatek dłoni z 3D śledzonymi siatkami obiektów możliwe jest obecnie szacowanie obszarów kontaktu nie tylko na powierzchni obiektów32, ale także na powierzchni dłoni.

W niniejszej pracy proponujemy schemat postępowania, który łączy wysokowierność śledzenie obiektów i stawów dłoni z nowatorskimi algorytmami rekonstrukcji siatki dłoni. Metoda ta pozwala na uzyskanie szczegółowych map powierzchni kontaktu dłoni z obiektem. Pomiary te pomogą neurobiologom zajmującym się sensoromotoryką w rozszerzeniu teoretycznego rozumienia procesu chwytania sterowanego wzrokowo u ludzi. Ponadto metoda ta może być przydatna badaczom w dziedzinach pokrewnych. Na przykład badacze ergonomii mogą wykorzystać tę metodę do konstruowania lepszych systemów interfejsu człowiek-maszyna w rzeczywistości wirtualnej i rozszerzonej18. Wysokowierne pomiary zachowań chwytania u ludzi mogą również pomóc robotykom w projektowaniu inspirowanych ludźmi systemów chwytania robotycznego w oparciu o zasady percepcji interaktywnej39,40,41,42,43. Mamy zatem nadzieję, że metoda ta przyczyni się do rozwoju badań nad chwytaniem w dziedzinach neuronauki i inżynierii – od szczątkowych opisów zadań o wysokim stopniu ograniczeń, po pełniejszą charakterystykę naturalnych zachowań chwytania z udziałem złożonych obiektów i zadań z życia codziennego. Ogólne podejście przedstawiono na Rysunku 1.

Schemat konfiguracji systemu przechwytywania ruchu; modelowanie 3D, markery dłoni, obliczenia siatki, szacowanie kontaktu.
Rysunek 1: Kluczowe etapy proponowanej metody. (A) Kamery systemu przechwytywania ruchu obrazują stół warsztatowy pod różnymi kątami. (B) Obiekt stymulujący jest drukowany w 3D na podstawie triangulowanego modelu siatki. (C) Cztery sferyczne markery refleksyjne są przyklejane do powierzchni rzeczywistego obiektu. Półautomatyczna procedura identyfikuje cztery odpowiadające im punkty na powierzchni obiektu w formie siatki. Ta odpowiedniość pozwala na rototranslację modelu siatki do śledzonej pozycji 3D rzeczywistego obiektu. (D) Markery refleksyjne są mocowane do różnych punktów orientacyjnych na grzbiecie dłoni uczestnika za pomocą dwustronnej taśmy klejącej. (E) System przechwytywania ruchu rejestruje trajektorie śledzonego obiektu i markerów dłoni w przestrzeni 3D podczas jednej próby. (F) Szkielet dłoni specyficzny dla uczestnika jest konstruowany przy użyciu oprogramowania do komputerowej grafiki 3D. Następnie pozy stawów szkieletowych są szacowane dla każdej klatki każdej próby w eksperymencie poprzez kinematykę odwrotną. (G) Pozy stawów są wprowadzane do zmodyfikowanej wersji DeepHandMesh29, która generuje szacowaną siatkę 3D dłoni w aktualnej pozycji i orientacji 3D. (H) Na koniec wykorzystujemy przecięcie siatek do obliczenia obszarów kontaktu dłoni z obiektem. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

Protokół

Przed rozpoczęciem eksperymentu uczestnicy muszą wyrazić świadomą zgodę zgodnie z wytycznymi instytucjonalnymi oraz Deklaracją Helsińską. Wszystkie opisane tutaj protokoły zostały zatwierdzone przez lokalną komisję etyki Uniwersytetu Justusa Liebiga w Gießen (LEK-FB06).

1. Instalacja całego niezbędnego oprogramowania

  1. Pobierz repozytorium projektu z repozytorium danych i kodu (Data and Code Repository).
  2. Zainstaluj oprogramowanie wymienione w tabeli materiałów (zwróć uwagę na wersje oprogramowania i skorzystaj z linków w celu uzyskania opcji zakupu oraz instrukcji).
  3. Wewnątrz repozytorium danych i kodu otwórz okno wiersza poleceń i uruchom następującą komendę:
    conda env create -f environment.yml
  4. Pobierz i zainstaluj wstępnie wytrenowaną instancję DeepHandMesh29, postępując zgodnie z instrukcjami zamieszczonymi pod adresem https://github.com/facebookresearch/DeepHandMesh.
    1. Umieść DeepHandMesh w folderze „deephandmesh” w repozytorium danych i kodu. Zastąp plik „main/model.py” plikiem model.py zawartym w repozytorium danych i kodu.

2. Przygotowanie systemu przechwytywania ruchu

  1. Ustaw stół warsztatowy w obrębie objętości śledzenia obrazowanej z wielu kątów przez kamery do śledzenia ruchu, rozmieszczone na ramie otaczającej przestrzeń roboczą (Rysunek 1A). Przygotuj markery refleksyjne, przyklejając dwustronną taśmę klejącą do podstawy każdego markera.
  2. Uruchom program Qualisys Track Manager (QTM) jako Administrator.
    UWAGA: Uruchomienie programu QTM jako Administrator jest niezbędne, aby Python SDK mógł przejąć kontrolę nad interfejsem QTM. Zalecamy zawsze uruchamianie programu QTM jako Administrator.

3. Kalibracja kamer

  1. Umieść L-kształtny obiekt kalibracyjny w obszarze śledzenia.
  2. W programie QTM kliknij Calibrate w menu Capture lub naciśnij ikonę różdżki na pasku narzędzi Capture. Poczekaj na otwarcie okna kalibracji. Wybierz czas trwania kalibracji i naciśnij OK.
  3. Przesuwaj różdżkę kalibracyjną w obrębie obszaru śledzenia przez cały czas trwania kalibracji. Naciśnij przycisk Export i określ ścieżkę pliku, w której ma zostać wyeksportowana kalibracja jako plik tekstowy. Zatwierdź kalibrację, naciskając OK.

4. Tworzenie obiektu bodźca

  1. Stwórz wirtualny trójwymiarowy model obiektu w formie siatki wielokątów. Wykorzystaj drukarkę 3D do wykonania fizycznej repliki modelu obiektu.
    ​UWAGA: Repozytorium danych w kroku 1.1 zawiera przykładowe obiekty w formatach plików STL oraz Wavefront OBJ. Obiekty w formacie STL są rozmaitościami i są gotowe do druku 3D.

5. Przygotowanie obiektu bodźca

  1. Przymocuj cztery niepłaszczyznowe markery odblaskowe do powierzchni badanego obiektu. Umieść obiekt w obszarze śledzenia.
  2. W repozytorium projektu uruchom skrypt Python „Acquire_Object.py”. Postępuj zgodnie z instrukcjami wyświetlanymi przez skrypt, aby przeprowadzić 1 s rejestrację trójwymiarowej pozycji markerów obiektu.
  3. Zaznacz wszystkie markery ciała sztywnego. Kliknij prawym przyciskiem myszy i wybierz Define Rigid Body (6DOF) | Current Frame. Wprowadź nazwę ciała sztywnego i naciśnij OK.
  4. W menu File wybierz Export | To TSV. W nowym oknie w ustawieniach Data Type zaznacz pola 3D, 6D oraz Skeleton. Zaznacz wszystkie pola w ustawieniach General. Naciśnij OK, a następnie Save.

6. Współrejestracja rzeczywistej wersji obiektu bodźca oraz jego modelu siatkowego

  1. Otwórz program Blender i przejdź do przestrzeni roboczej Scripting. Otwórz plik „Object_CoRegistration.py” i naciśnij Run. Przejdź do przestrzeni roboczej Layout i naciśnij klawisz n, aby przełączyć widoczność paska bocznego. W pasku bocznym przejdź do karty Custom.
  2. Wybierz plik .obj przeznaczony do korejestracji i naciśnij przycisk Load Object.
  3. Wybierz plik trajektorii wyeksportowany w kroku 3.3, a następnie określ nazwy markerów przymocowanych do obiektu sztywnego, oddzielając je średnikami. W polu Marker header określ numer linii w pliku trajektorii, która zawiera nazwy kolumn danych (odliczanie zaczyna się od 0).
  4. Wybierz odpowiadający mu plik ciała sztywnego z sufiksem 6D i określ nazwę ciała sztywnego zdefiniowaną w kroku 4.1. W polu 6D header określ numer linii w pliku ciała sztywnego, która zawiera nazwy kolumn danych.
  5. Naciśnij Load Markers. Przesuń i obróć obiekt Markers i/lub obiekt Object, aby je wyrównać. Określ plik wyjściowy siatki i naciśnij Run Coregistration. Operacja ta wygeneruje plik .obj zawierający skorejestrowaną siatkę bodźca.

7. Umieszczanie markerów na dłoniach

  1. Przymocuj 24 sferyczne markery odblaskowe do różnych punktów orientacyjnych na dłoni uczestnika, używając dwustronnej taśmy.
    UWAGA: Dokładne rozmieszczenie markerów przedstawiono na Rysunku 2.
    1. Umieść markery centralnie na opuszkach palców oraz na stawach międzyprzypalcowych dalszych, stawach międzyprzypalcowych bliższych i stawach śródciupustnych palca wskazującego, środkowego, serdecznego i małego.
    2. W przypadku kciuka umieść po jednym markerze na opuszce oraz na stawie nadgarstkowo-śródpaznokciowym, a także po parze markerów na stawach śródciupustnych i międzyprzypalcowych.
      ​UWAGA: Pary markerów te muszą być przesunięte w przeciwnych kierunkach prostopadle do głównej osi kciuka; są one niezbędne do oszacowania orientacji kciuka.
    3. Na koniec umieść markery w centrum nadgarstka oraz na stawie łódkowato-trapezowo-kościowym.

Schemat konfiguracji systemu przechwytywania ruchu prawej ręki; oznaczone punkty markerów do śledzenia stawów w biomechanice.
Rycina 2: Rozmieszczenie markerów na dłoni uczestnika. Skrót: RH = prawa ręka. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

8. Pozyskiwanie pojedynczej próby

  1. Poproś uczestnika o położenie dłoni płasko na blacie roboczym wnętrzem do dołu i zamknięcie oczu. Umieść obiekt bodźca na blacie przed uczestnikiem.
  2. Podczas działania systemu QTM uruchom skrypt Pythona „Single_Trial_Acquisition.py” znajdujący się w repozytorium projektu. Postępuj zgodnie z instrukcjami wyświetlanymi przez skrypt, aby zarejestrować pojedynczą próbę chwytania obiektu bodźca przez uczestnika.
    UWAGA: Skrypt wygeneruje sygnał dźwiękowy. Będzie on sygnałem dla uczestnika do otwarcia oczu i wykonania chwytu. W naszych demonstracjach zadaniem jest sięgnięcie i chwycenie obiektu docelowego, podniesienie go pionowo o około 10 cm, odłożenie go i powrót dłoni do pozycji wyjściowej.

9. Etykietowanie markerów

  1. W module QTM przeciągnij poszczególne trajektorie markerów z grupy Unidentified (Niezidentyfikowane) do grupy Labeled (Oznaczone) i nazwij je zgodnie z konwencją nazewnictwa przedstawioną na Rysunku 2.
  2. Zaznacz wszystkie markery przymocowane do dłoni, kliknij prawym przyciskiem myszy i wybierz opcję Generate AIM model from selection (Generuj model AIM z zaznaczenia). W nowym oknie wybierz Create new model based on Marker connections from existing AIM model (Utwórz nowy model na podstawie połączeń markerów z istniejącego modelu AIM) i kliknij przycisk Next (Dalej).
  3. Wybierz definicję modelu RH_FH i kliknij Open (Otwórz). Kliknij Next (Dalej), wprowadź nazwę modelu AIM i kliknij OK. Na koniec kliknij Finish (Zakończ), aby utworzyć model AIM dla dłoni uczestnika, który będzie służył do automatycznej identyfikacji markerów w kolejnych próbach z tym samym uczestnikiem.

10. Tworzenie spersonalizowanej definicji szkieletu dla uczestnika

  1. W programie QTM przejdź do menu Play i wybierz opcję Play with Real-Time Output.
  2. Uruchom program Maya. Przejdź do zakładki QTM Connect i kliknij ikonę Connect to QTM. W nowym oknie zaznacz opcję Markers i kliknij Connect. Następnie kliknij ikonę Play w zakładce QTM Connect.
  3. Zaznacz z Shiftem wszystkie markery dłoni i kliknij ikonę Wash Locators. Wybierz wyczyszczone markery dłoni i naciśnij Ctrl + G. Spowoduje to utworzenie węzła grupy. Nazwij grupę Markers.
  4. Zaznacz wszystkie markery dłoni. W menu Modify kliknij Search and Replace Names. Wyszukaj prefiks RH_ i usuń go z nazw markerów.
  5. Kliknij ikonę Import Solver w zakładce QTM Connect. Załaduj definicję szkieletu „RH_FH.xml”.
  6. W menu Windows przejdź do General Editors | Namespace Editor. W nowym oknie kliknij :(root) i naciśnij New, aby utworzyć nową przestrzeń nazw RH. Kliknij przestrzeń nazw RH, naciśnij New i nazwij nową przestrzeń nazw ModelPose.
  7. Zaznacz wszystkie markery, kliknij przestrzeń nazw RH i naciśnij Add Selected, aby dodać markery do przestrzeni nazw RH.
  8. Zaznacz kości szkieletu, kliknij przestrzeń nazw ModelPose i naciśnij Add Selected, aby dodać kości szkieletu do przestrzeni nazw ModelPose.
  9. Obróć, przesuń i przeskaluj szkielet tak, aby dopasować go do danych z markerów. Następnie dla każdego stawu szkieletu z osobna zaznacz z Shiftem staw oraz powiązane z nim markery i kliknij ikonę Add Attachments. Na koniec kliknij ikonę Export Solver, aby wyeksportować nową definicję szkieletu do pliku XML, który można załadować w QTM (patrz następny krok).
    UWAGA: Ten krok nie jest ściśle wymagany, ale jest przydatny dla zwiększenia dokładności dopasowania szkieletu do danych z markerów. Więcej informacji znajduje się w przewodniku QSolverQuickstartGuide na stronie https://github.com/qualisys/QTM-Connect-For-Maya.

11. Rekonstrukcja pozycji stawów szkieletu

  1. W programie QTM otwórz ustawienia projektu, klikając ikonę koła zębatego. W panelu bocznym przejdź do sekcji Skeleton Solver i naciśnij Load, aby wybrać plik definicji szkieletu. Ustaw Scale Factor na 100% i naciśnij Apply.
  2. Przejdź do sekcji TSV Export i w ustawieniach Data Type zaznacz pola 3D, 6D oraz Skeleton. Zaznacz wszystkie pola w ustawieniach General. Naciśnij Apply i zamknij ustawienia projektu.
  3. Naciśnij ikonę Reprocess, zaznacz pola Solve Skeletons oraz Export to TSV file i naciśnij OK.

12. Generowanie rekonstrukcji siatki dłoni

  1. Otwórz okno wiersza poleceń w repozytorium projektu i aktywuj środowisko conda, wykonując polecenie:
    conda activate contact-regions
  2. Następnie wykonaj poniższe polecenie i postępuj zgodnie z instrukcjami podawanymi przez skrypt, aby dla każdej klatki próby wygenerować siatkę dłoni rekonstruującą aktualną pozę dłoni.
    python Hand_Mesh_Reconstruction.py --gpu 0 --test_epoch 4
    UWAGA: Rekonstrukcje tych siatek są generowane automatycznie przy użyciu zmodyfikowanej wersji narzędzia do generowania siatek dłoni DeepHandMesh29, które jest narzędziem otwartoźródłowym i przeszkolonym.

13. Generowanie szacunków obszaru kontaktu dłoni z obiektem

  1. Otwórz okno wiersza poleceń w repozytorium projektu, wykonaj poniższą komendę i postępuj zgodnie z instrukcjami dostarczonymi przez skrypt, aby wygenerować szacunki obszarów kontaktu dłoni i obiektu poprzez obliczenie części wspólnej siatek dłoni i obiektu.
    blender --background --python "Contact_Region_Estimation.py"

Wyniki

Pierwszym wymaganiem dla proponowanej metody jest system do dokładnego śledzenia pozycji obiektów 3D i dłoni. Specyficzna konfiguracja przedstawiona jest na Rysunku 1A i wykorzystuje sprzęt oraz oprogramowanie firmy Qualisys zajmującej się systemami przechwytywania ruchu. Wewnątrz obszaru śledzenia (100 cm x 100 cm x 100 cm) ustawiamy stół warsztatowy, który jest obrazowany z wielu kątów przez osiem kamer śledzących i sześć kamer wideo rozmieszczonych na sześcianowej ramie otaczającej przestrzeń roboczą. Kamery śledzące monitorują pozycję 3D markerów refleksyjnych wewnątrz obszaru śledzenia z częstotliwością 180 frames/s i z podmilimetrową rozdzielczością przestrzenną 3D. Stosujemy 4 mm markery refleksyjne, które są mocowane do obiektów i dłoni za pomocą przyjaznej dla skóry dwustronnej taśmy klejącej. Pozycje markerów w 3D są przetwarzane przez oprogramowanie do przechwytywania ruchu. W sekcji dyskusji omówiono również alternatywne systemy przechwytywania ruchu, które mogłyby zostać zastosowane w proponowanej metodzie.

Aby uzyskać dokładne rekonstrukcje 3D rzeczywistych obiektów będących chwytanych i manipulowanych, proponujemy dwa rozwiązania. Pierwsze z nich, zastosowane w niniejszej pracy, polega na rozpoczęciu od wirtualnego modelu 3D obiektu w formie siatki wielokątów. Takie modele 3D mogą być tworzone przy użyciu odpowiedniego oprogramowania (np. Blender 3D44), a następnie wydrukowane w technologii 3D (Rycina 1B). Drugą opcją jest wykorzystanie istniejącego, rzeczywistego obiektu 3D i zastosowanie technologii skanowania 3D w celu stworzenia repliki obiektu w formie modelu siatki. Niezależnie od wybranej strategii, celem końcowym jest uzyskanie zarówno rzeczywistego obiektu 3D, jak i odpowiadającego mu wirtualnego modelu siatki 3D. Należy zaznaczyć, że opisane tutaj podejście działa wyłącznie w przypadku obiektów sztywnych (tj. niedodawalnych).

Gdy powierzchnia 3D obiektu jest już dostępna w formie modelu siatki (mesh), jego pozycja musi zostać śledzona i zarejestrowana współrzędnie (Rysunek 1C). W tym celu do powierzchni rzeczywistego obiektu przymocowuje się cztery nieleżące na jednej płaszczyźnie markery refleksyjne, a następnie obiekt umieszcza się w obszarze śledzenia. Następnie krótko rejestrowane są pozycje 3D markerów obiektu. Rejestracja ta służy do ustalenia odpowiedniości między czterema markerami a czterema wierzchołkami modelu siatki obiektu. Jest to realizowane za pomocą prostego, dedykowanego skryptu napisanego w API Pythona programu Blender. W oknie Viewport programu Blender, program wyświetla wirtualny obiekt wraz z pozycjami markerów, które są reprezentowane jako pojedynczy obiekt siatki składający się z jednej sfery dla każdego markera. Użytkownik może następnie obracać i przesuwać obiekt i/lub markery, aby wyrównać je tak, by pokrywały się z rzeczywistymi markerami umieszczonymi na rzeczywistym obiekcie. Program zarejestruje zastosowane obroty i przesunięcia, aby obliczyć jedną roto-translację, która zostanie ostatecznie zastosowana do oryginalnej siatki obiektu, dostarczając model siatki współzarejestrowany z definicją ciała sztywnego w systemie QTM.

Po ustanowieniu odpowiedniości, podczas każdego ruchu obiektu rzeczywistego w obrębie objętości śledzenia, obiekt wirtualny może zostać umieszczony w nowej pozycji poprzez obliczenie roto-translacji pomiędzy śledzonymi markerami a czterema odpowiadającymi im wierzchołkami siatki. Aby zamiast tego zarejestrować dynamikę chwytu, łącznie 24 sferyczne markery odblaskowe zostają przymocowane do różnych punktów orientacyjnych dłoni za pomocą dwustronnej taśmy (Rysunek 1D i Rysunek 2).

Na początku próby (Rysunek 1E) uczestnik kładzie dłoń płasko na stole roboczym wnętrzem do dołu i zamyka oczy. Eksperymentator kładzie obiekt docelowy na stole roboczym przed uczestnikiem. Następnie sygnał dźwiękowy informuje uczestnika o konieczności otwarcia oczu i wykonania chwytu. W naszych demonstracjach zadaniem jest sięgnięcie i chwycenie obiektu docelowego, podniesienie go pionowo o około 10 cm, odłożenie go i powrót dłoni do pozycji wyjściowej. Przebieg eksperymentu kontroluje skrypt napisany w języku Python 3.7. W każdej próbie skrypt wybiera i przekazuje eksperymentatorowi aktualne ustawienia warunków (np. tożsamość i rozmieszczenie obiektu). Skrypt kontroluje również czas trwania prób, w tym sygnały dźwiękowe oraz rozpoczęcie i zakończenie nagrań z systemu przechwytywania ruchu.

Kończyny charakteryzują się nie tylko położeniem w przestrzeni 3D, ale także pozą. Zatem, aby uzyskać pełną rekonstrukcję 3D ludzkiej dłoni wykonującej rzeczywisty chwyt, wymagamy nie tylko pozycji każdego stawu w przestrzeni 3D, ale także względnej pozy (translacji i rotacji) każdego stawu względem stawu nadrzędnego (Rycina 1F). Pozycje i orientacje stawów szkieletu można wywnioskować z pozycji markerów za pomocą kinematyki odwrotnej. W tym celu wykorzystujemy rozwiązywacz szkieletu (skeleton solver) dostarczony przez oprogramowanie QTM. Aby rozwiązywacz mógł działać, musimy najpierw dostarczyć definicję szkieletu, która wiąże pozycję i orientację każdego stawu z pozycjami wielu markerów. W związku z tym konstruowana jest definicja szkieletu, a szkielet (skeleton rig) zostaje powiązany z danymi markerów za pomocą wtyczki QTM Connect dla programu Maya. Tworzymy spersonalizowane definicje szkieletu dla każdego uczestnika, aby zmaksymalizować dokładność dopasowania szkieletu do danych markerów. Dla każdego uczestnika ręcznie dopasowujemy szkielet dłoni do pojedynczej klatki danych z systemu motion capture. Po uzyskaniu specyficznej dla uczestnika definicji szkieletu uruchamiamy rozwiązywacz szkieletu, aby oszacować pozy stawów szkieletu dla każdej klatki każdej próby w eksperymencie.

Dla każdej klatki każdego powtórzenia w eksperymencie generujemy siatkę dłoni, która rekonstruuje aktualną pozę dłoni przy użyciu otwartoźródłowego i wstępnie wytrenowanego narzędzia do generowania siatek dłoni, DeepHandMesh28 (Rycina 1G). DeepHandMesh to głęboka sieć typu enkoder-dekoder, która generuje spersonalizowane siatki dłoni na podstawie obrazów. Najpierw enkoder szacuje pozę dłoni na obrazie (tj. kąty Eulera stawów). Następnie oszacowana poza dłoni oraz spersonalizowany wektor identyfikacyjny (ID) są wprowadzane do dekodera, który szacuje zestaw trzech addytywnych korekt dla szablonowej siatki z rigiem. Ostatecznie siatka szablonowa jest deformowana zgodnie z oszacowaną pozą dłoni i korektami przy użyciu liniowego mieszania skóry (linear blend skinning). Pierwsza korekta to zależna od ID korekta szkieletu, dzięki której rig szkieletowy jest dostosowywany tak, aby uwzględnić specyficzne dla danej osoby pozycje stawów. Pozostałe dwie korekty to korekty siatki, dzięki którym wierzchołki siatki są dostosowywane w celu lepszego odwzorowania powierzchni dłoni uczestnika. Jedna z korekt siatki jest zależną od ID korektą siatki, która uwzględnia strukturę powierzchni dłoni poszczególnego uczestnika. Ostatnia korekta siatki jest natomiast zależną od pozy korektą wierzchołków, która uwzględnia deformacje powierzchni dłoni wynikające z aktualnej pozy dłoni.

DeepHandMesh jest trenowany przy użyciu słabej superwizji z wykorzystaniem 2D punktów kluczowych stawów oraz map głębi sceny. W tym przypadku wykorzystujemy jedynie pretrenowany dekoder DeepHandMesh do generowania rekonstrukcji siatki dłoni, zmodyfikowany w następujący sposób (Rycina 3). Po pierwsze, ponieważ sieć nie była trenowana na konkretnych uczestnikach, zastosowano ogólną korektę siatki zależną od ID, dostarczoną z pretrenowanym modelem (Rycina 3A). Ponadto korekta szkieletu zależna od ID jest wyznaczana przy użyciu solvera szkieletu QTM, zgodnie z opisaną powyżej procedurą (Rycina 3B). Przyjęto proporcjonalne skalowanie dłoni wraz z długością szkieletu, a grubość siatki jest skalowana jednorodnie przez czynnik pochodzący z względnego skalowania szkieletu, tak aby siatka lepiej przybliżała rozmiar dłoni uczestnika (Rycina 3C). Ta zmodyfikowana siatka jest wprowadzana do dekodera wraz z aktualną pozą dłoni (wyznaczoną na podstawie danych z markerów) oraz 3D pozycją i orientacją nadgarstka. Dekoder oblicza zatem aktualną korektę zależną od pozy, stosuje wszystkie korekty i roto-translacje, a następnie generuje 3D rekonstrukcję siatki dłoni dla aktualnej pozy w tym samym układzie współrzędnych, co 3D siatka śledzonego obiektu (Rycina 3D).

Schemat morfometrii dłoni; A, B, C, D; analiza wariancji anatomicznej struktury dłoni.
Rycina 3: Modyfikacje dekodera DeepHandMesh z wstępnym przeszkoleniem. (A) Stała, generyczna korekta siatki zależna od ID. (B) Zależna od ID korekta szkieletu wyprowadzona za pomocą kinematyki odwrotnej w kroku 10. (C) Rozmiar siatki dłoni jest skalowany tym samym współczynnikiem co stawy szkieletowe. (D) Końcowa rekonstrukcja trójwymiarowej siatki dłoni dla aktualnej pozy dłoni. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

Po zrekonstruowaniu trójwymiarowych modeli siatki (mesh) zarówno dłoni uczestnika, jak i chwyconego obiektu, obszary kontaktu dłoni z obiektem można oszacować, obliczając przecięcie się siatek dłoni i obiektu (Rysunek 1H). Przyjęto założenie, że rzeczywista dłoń ulega odkształceniu w wyniku kontaktu z powierzchnią, co oznacza, że szkielet może znaleźć się bliżej powierzchni, niż byłoby to możliwe w przypadku dłoni sztywnej; pozwala to fragmentom siatki dłoni przeniknąć przez siatkę obiektu. W rezultacie obszary kontaktu można przybliżyć jako regiony nakładania się obu siatek.

Konkretnie, aby obliczyć te obszary nakładania się, definiujemy wierzchołki siatki obiektu, które znajdują się wewnątrz objętości 3D siatki dłoni, jako będące w kontakcie z dłonią. Wierzchołki te są identyfikowane przy użyciu standardowej metody raytracingu45. Dla każdego wierzchołka siatki obiektu rzucany jest promień z tego wierzchołka do dowolnego punktu 3D na zewnątrz siatki dłoni. Następnie oceniamy liczbę przecięć, które występują między rzuconym promieniem a trójkątami tworzącymi powierzchnię dłoni. Jeśli liczba przecięć jest nieparzysta, wierzchołek obiektu znajduje się wewnątrz siatki dłoni. Jeśli liczba przecięć jest parzysta, wierzchołek obiektu znajduje się na zewnątrz siatki dłoni. Obszary kontaktu na powierzchni obiektu można zatem przybliżyć jako zbiór ścian trójkątnych, których wszystkie wierzchołki znajdują się wewnątrz siatki dłoni. Tę samą logikę możemy zastosować do wierzchołków siatki dłoni znajdujących się w objętości 3D siatki obiektu, aby oszacować obszary kontaktu na powierzchni dłoni. Warto zauważyć, że można byłoby również zastosować bardziej zaawansowane podejścia do operacji boolowskich na siatkach31.

Film 1 przedstawia nagranie dłoni, śledzonych punktów oraz zarejestrowanej siatki, które poruszają się równolegle podczas pojedynczego chwytu wydrukowanej w 3D figurki kota. Rycina 4A pokazuje natomiast pojedynczą klatkę w momencie kontaktu dłoni z obiektem podczas chwytu wydrukowanego w 3D rogalika, wraz z rekonstrukcjami siatek dłoni i obiektu (Rycina 4B) oraz szacowanymi obszarami kontaktu na powierzchni rogalika (Rycina 4C).

Eksperyment chwytu dłonią; równowaga statyczna; schemat różnych chwytów palców na obiektach; badanie motoryczne.
Rysunek 4: Szacowane obszary kontaktu dłoni z obiektem. (A) Śledzona dłoń i obiekt widziane z jednej z kamer śledzących podczas chwytu. (B) Zrekonstruowana siatka dłoni i śledzona siatka obiektu wyrenderowane z tego samego punktu widzenia co kamera śledząca. (C) Obszary kontaktu na powierzchni obiektu widziane z wielu punktów widzenia. Proszę kliknąć tutaj, aby zobaczyć powiększoną wersję tego rysunku.

Wideo 1: Rekonstrukcje siatki dłoni i obiektu. Animacja GIF przedstawiająca dłoń, śledzone markery oraz rekonstrukcje siatki dłoni i obiektu podczas jednego chwytu, widziane z perspektywy tej samej kamery. Kliknij tutaj, aby pobrać to wideo.

Dyskusja

Proponujemy metodę, która umożliwia oszacowanie obszarów kontaktu dla interakcji ręka-przedmiot podczas chwytów wielocyfrowych. Ponieważ pełne śledzenie całej powierzchni dłoni jest obecnie niemożliwe, proponujemy użycie rekonstrukcji siatki dłoni, której pozycja jest określana przez rzadkie kluczowe punkty na dłoni. Aby śledzić te rzadkie kluczowe punkty, nasze rozwiązanie wykorzystuje system przechwytywania ruchu klasy badawczej oparty na pasywnym śledzeniu znaczników. Oczywiście, inne systemy przechwytywania ruchu mogą być również stosowane z proponowaną metodą, pod warunkiem, że dostarczają wystarczająco dokładnych danych o położeniu 3D. Odradzamy aktywne systemy przechwytywania ruchu markerów (takie jak popularny, ale wycofany z produkcji Optotrak Certus), ponieważ wymagają one podłączenia kabli i/lub urządzeń elektronicznych do dłoni uczestników, co może ograniczać ruchy lub przynajmniej powodować mniej typowe chwyty, ponieważ uczestnicy są bardziej świadomi ułożenia swoich rąk. Rękawice śledzące ruch wykorzystujące inercyjne jednostki pomiarowe mogą być możliwe, mimo że systemy te są znane z tego, że cierpią z powodu znoszenia, mogą również ograniczać ruchy dłoni i nie pozwalać na pełny i bezpośredni kontakt powierzchni dłoni z powierzchniami przedmiotu. Komercyjne rozwiązania do śledzenia ręcznego bez znaczników (np. Leap Motion 46,47,48) mogą być również możliwe, chociaż śledzenie pozycji obiektów za pomocą samych tych systemów może nie być możliwe. Najbardziej obiecującą alternatywą dla systemu przechwytywania ruchu klasy badawczej są rozwiązania śledzenia bez znaczników o otwartym kodzie źródłowym (np. Mathis i wsp.28). W przypadku użycia z wieloma współrejestrowanymi kamerami49, takie systemy mogą potencjalnie śledzić pozycje złączy dłoni i pozycje obiektów w 3D bez potrzeby stosowania markerów, rękawic lub kabli. Te rozwiązania, jak również ten system oparty na markerach, mogą jednak cierpieć z powodu problemów z utratą danych z powodu okluzji.

Ograniczenia i kierunki na przyszłość
Ze względu na to, że rekonstrukcje dłoni uzyskane tą metodą nie będą w pełni dokładne, istnieją pewne ograniczenia co do rodzajów eksperymentów, do których metoda ta powinna być stosowana. Odchylenia w rekonstrukcjach siatki dłoni od prawdy gruntowej będą przejawiać się w odchyleniach w szacowanych obszarach kontaktu dłoni z przedmiotem. W związku z tym zastosowanie tej metody do wyprowadzenia miar bezwzględnych wymagałoby oceny wierności oszacowań obszaru kontaktu. Jednak nawet przybliżone szacunki mogą być nadal przydatne w projektach eksperymentalnych z udziałem uczestników, ponieważ potencjalne odchylenia metody prawdopodobnie wpłyną w podobny sposób na różne warunki eksperymentalne w obrębie uczestnika. W związku z tym analizy statystyczne i wnioskowanie powinny być przeprowadzane wyłącznie na podstawie takich miar, jak różnice w powierzchni kontaktu między warunkami, w których kierunek efektu będzie skorelowany z odpowiednią prawdą podstawową. W przyszłych badaniach planujemy dalszą walidację naszego podejścia, na przykład poprzez porównanie oszacowań obszaru kontaktu z termicznymi odciskami palców na obiektach pokrytych farbą termochromową.

Większość etapów przetwarzania, od zbierania danych do końcowego oszacowania obszaru kontaktu, jest w pełni zautomatyzowana, a tym samym stanowi ważny wkład w ustandaryzowaną procedurę szacowania obszaru kontaktu ręka-przedmiot. Jednak wstępne dopasowanie zindywidualizowanych szkieletów do pozycji 3D śledzonych znaczników musi być nadal wykonywane ręcznie, aby uzyskać definicję szkieletu dla każdego uczestnika. Wraz ze wzrostem liczby uczestników eksperymentu rośnie liczba pasowań ręcznych, a jest to obecnie najbardziej czasochłonny etap procedury i wymaga pewnej znajomości ręcznego montażu w oprogramowaniu Autodesk Maya. W przyszłości zamierzamy zautomatyzować ten krok, aby uniknąć wpływu człowieka na procedurę, dodając procedurę automatycznej kalibracji szkieletu.

Opisany tutaj przepływ pracy opiera się na sprzęcie i oprogramowaniu Qualisys (np. solverze szkieletu QTM). Ogranicza to obecnie dostępność naszej metody do laboratoriów, które mają podobną konfigurację. W zasadzie jednak metodę tę można zastosować do dowolnego źródła danych motion capture. Aby zwiększyć dostępność, w ramach trwających prac badamy alternatywy, które powinny uogólnić nasz przepływ pracy i sprawić, że będzie on mniej zależny od określonych licencji na sprzęt i oprogramowanie.

Innym ważnym ograniczeniem metody jest to, że w obecnej formie można ją stosować tylko do sztywnych (nieodkształcalnych) obiektów. W przyszłości ograniczenie to można przezwyciężyć za pomocą metod rejestrowania kształtu powierzchni chwytanego obiektu w miarę jego deformacji. Dodatkowo, ze względu na swój przybliżony charakter, metoda ta nie nadaje się obecnie dobrze do bardzo małych lub cienkich obiektów.

Podsumowując, integrując najnowocześniejsze śledzenie ruchu z modelowaniem powierzchni dłoni o wysokiej wierności, zapewniamy metodę szacowania obszarów kontaktu dłoni z obiektem podczas chwytania i manipulacji. W przyszłych badaniach planujemy zastosować tę metodę do badania i modelowania wizualnie kierowanych zachowań chwytania u ludzi16. Ponadto planujemy zintegrować te narzędzia ze śledzeniem ruchu gałek ocznych46, 50,51,52 oraz systemami rzeczywistości wirtualnej/rozszerzonej 53,54,55 w celu zbadania wizualnie sterowanej kontroli motorycznej ruchów rąk i oczu w rzeczywistych i wirtualnych środowiskach naturalistycznych 18,46,56,57 . Z tych powodów proponowana metoda może być interesująca dla naukowców zajmujących się percepcją dotykową58, kontrolą motoryczną i interakcją człowiek-komputer w rzeczywistości wirtualnej i rozszerzonej. Wreszcie, dokładne pomiary ludzkich zdolności chwytania mogą pomóc w projektowaniu solidnych systemów robotycznych opartych na zasadach interaktywnej percepcji 39,40,41,42,43 i mogą mieć zastosowania translacyjne w protezach kończyn górnych.

Oświadczenia

Autorzy oświadczają, że nie istnieją konkurencyjne interesy.

Podziękowania

To badanie zostało sfinansowane przez Deutsche Forschungsgemeinschaft (DFG, Niemiecka Fundacja Badawcza: projekt nr 222641018-SFB/TRR 135 TP C1 i IRTG-1901 "The Brain in Action") oraz przez Klaster Badawczy "The Adaptive Mind" finansowany przez Program Doskonałości Heskiego Ministerstwa Szkolnictwa Wyższego, Nauki, Badań i Sztuki. Autorzy dziękują zespołowi wsparcia Qualisys, w tym Mathiasowi Bankayowi i Jeffreyowi Thingvoldowi, za pomoc w rozwijaniu naszych metod. Autorzy dziękują również Michaeli Jeschke za upozowanie jako modelka. Wszystkie dane i skrypty analityczne do odtworzenia metody i wyników przedstawionych w manuskrypcie są dostępne na stronie Zenodo (doi: 10.5281/zenodo.7458911).

Materiały

Lista materiałów użytych w tym artykule
NazwaFirmaNumer katalogowyKomentarze
Dystrybucja Anaconda Python (Anaconda 5.3.1 lub nowsza); https://repo.anaconda.com/archive/skrypty i funkcje zostały wygenerowane w języku Python w wersji 3.7
Autodesk MayaAutodesk, Inc.Maya2022; https://www.autodesk.com/products/maya/overviewaplikacja do grafiki komputerowej 3D.   
Blender Fundacja Blendera Blender 2.92; https://download.blender.org/release/Aplikacja do grafiki komputerowej 3D.   
Komputerowa stacja roboczaNiedotyczysystemu operacyjnego: Windows 10 lub nowszy.
DeepHandMeshMeta Platforms, Inc. (Meta Open Source)https://github.com/facebookresearch/DeepHandMeshWstępnie wyszkolone narzędzie do generowania siatki ręcznej.
Miqus M5Qualisys Abhttps://www.qualisys.com/cameras/miqus/ Pasywna kamera śledząca ruch znaczników (8 sztuk).
Kamera wideo MiqusQualisys Abhttps://www.qualisys.com/cameras/miqus-video/Kolorowa kamera wideo, zsynchronizowana z kamerami śledzącymi Miquis M5 (6 sztuk).
Repozytorium projektu N/A Dane i kod do replikacji bieżącego projektu. Repozytorium jest obecnie w budowie, ale udostępniamy prywatny link, z którego recenzenci mogą pobrać aktualną i najbardziej aktualną wersję repozytorium. Ostateczne repozytorium zostanie udostępnione publicznie po akceptacji. 
Python 3Python Software FoundationPython w wersji 3.7Python3 i skojarzone wbudowane biblioteki.
QTM Connect dla MayaQualisys Abhttps://github.com/qualisys/QTM-Connect-For-Maya Przesyłanie strumieniowe danych szkieletu, brył sztywnych i znaczników z QTM do programu Maya
Menedżer toru QTM Qualisys QualisysAbQualisys Menedżer toru 2021.2; https://www.qualisys.com/software/qualisys-track-manager/ Oprogramowanie do przechwytywania ruchu
Qualisys SDK dla języka PythonQualisys abhttps://github.com/qualisys/qualisys_python_sdk Implementuje komunikację między QTM a Pythonem
Repozytorium danych i kodu , , ,

Bibliografia

  1. Derzsi, Z., Volcic, R. MOTOM toolbox: MOtion Tracking via Optotrak and Matlab. Journal of Neuroscience Methods. 308, 129-134 (2018).
  2. Franz, V. H. Optotrak Toolbox. The Optotrak Toolbox: Control your Optotrak from within Matlab. , Available from: http://www.ecogsci.cs.uni-tuebingen.de/OptotrakToolbox/ (2004).
  3. Eloka, O., Franz, V. H. Effects of object shape on the visual guidance of action. Vision Research. 51 (8), 925-931 (2011).
  4. Lederman, S. J., Wing, A. M. Perceptual judgement, grasp point selection and object symmetry. Experimental Brain Research. 152 (2), 156-165 (2003).
  5. Schettino, L. F., Adamovich, S. V., Poizner, H. Effects of object shape and visual feedback on hand configuration during grasping. Experimental Brain Research. 151 (2), 158-166 (2003).
  6. Chen, Z., Saunders, J. A. Online processing of shape information for control of grasping. Experimental Brain Research. 233 (11), 3109-3124 (2015).
  7. Burstedt, M. K., Flanagan, J. R., Johansson, R. S. Control of grasp stability in humans under different frictional conditions during multidigit manipulation. Journal of Neurophysiology. 82 (5), 2393-2405 (1999).
  8. Paulun, V. C., Gegenfurtner, K. R., Goodale, M. A., Fleming, R. W. Effects of material properties and object orientation on precision grip kinematics. Experimental Brain Research. 234 (8), 2253-2265 (2016).
  9. Klein, L. K., Maiello, G., Fleming, R. W., Voudouris, D. Friction is preferred over grasp configuration in precision grip grasping. Journal of Neurophysiology. 125 (4), 1330-1338 (2021).
  10. Mamassian, P. Prehension of objects oriented in three-dimensional space. Experimental Brain Research. 114 (2), 235-245 (1997).
  11. Paulun, V. C., Kleinholdermann, U., Gegenfurtner, K. R., Smeets, J. B. J., Brenner, E. Center or side: biases in selecting grasp points on small bars. Experimental Brain Research. 232 (7), 2061-2072 (2014).
  12. Goodale, M. A., et al. Separate neural pathways for the visual analysis of object shape in perception and prehension. Current Biology. 4 (7), 604-610 (1994).
  13. Kleinholdermann, U., Franz, V. H., Gegenfurtner, K. R. Human grasp point selection. Journal of Vision. 13 (8), 23(2013).
  14. Maiello, G., Paulun, V. C., Klein, L. K., Fleming, R. W. Object visibility, not energy expenditure, accounts for spatial biases in human grasp selection. i-Perception. 10 (1), 204166951982760-20 (2019).
  15. Maiello, G., Schepko, M., Klein, L. K., Paulun, V. C., Fleming, R. W. Humans can visually judge grasp quality and refine their judgments through visual and haptic feedback. Frontiers in Neuroscience. 14, 591898(2021).
  16. Klein, L. K., Maiello, G., Paulun, V. C., Fleming, R. W. Predicting precision grip grasp locations on three-dimensional objects. PLoS Computational Biology. 16 (8), 1008081(2020).
  17. Maiello, G., Paulun, V. C., Klein, L. K., Fleming, R. W. The sequential-weight illusion. i-Perception. 9 (4), 204166951879027(2018).
  18. Chessa, M., Maiello, G., Klein, L. K., Paulun, V. C., Solari, F. Grasping objects in immersive Virtual Reality. 2019 IEEE Conference on Virtual Reality and 3D User Interfaces (VR). , 1749-1754 (2019).
  19. Crajé, C., Lukos, J. R., Ansuini, C., Gordon, A. M., Santello, M. The effects of task and content on digit placement on a bottle). Experimental Brain Research. 212 (1), 119-124 (2011).
  20. Lukos, J., Ansuini, C., Santello, M. Choice of contact points during multidigit grasping: Effect of predictability of object center of mass location. Journal of Neuroscience. 27 (14), 3894-3903 (2007).
  21. Gilster, R., Hesse, C., Deubel, H. Contact points during multidigit grasping of geometric objects. Experimental Brain Research. 217 (1), 137-151 (2012).
  22. Schot, W. D., Brenner, E., Smeets, J. B. J. Robust movement segmentation by combining multiple sources of information. Journal of Neuroscience Methods. 187 (2), 147-155 (2010).
  23. Sundaram, S., et al. Learning the signatures of the human grasp using a scalable tactile glove. Nature. 569 (7758), 698-702 (2019).
  24. Yan, Y., Goodman, J. M., Moore, D. D., Solla, S. A., Bensmaia, S. J. Unexpected complexity of everyday manual behaviors. Nature Communications. 11 (1), 3564(2020).
  25. Han, S., et al. Online optical marker-based hand tracking with deep labels. ACM Transactions on Graphics. 37 (4), 1-10 (2018).
  26. Clouthier, A. L., et al. Development and validation of a deep learning algorithm and open-source platform for the automatic labelling of motion capture markers. IEEE Access. 9, 36444-36454 (2021).
  27. Qualisys AB Qualisys Track Manager User Manual (Version 2022.1). , Available from: https://www.qualisys.com/ (2022).
  28. Mathis, A., et al. DeepLabCut: Markerless pose estimation of user-defined body parts with deep learning. Nature Neuroscience. 21 (9), 1281-1289 (2018).
  29. Moon, G., Shiratori, T., Lee, K. M. DeepHandMesh: A weakly-supervised deep encoder-decoder framework for high-fidelity hand mesh modeling. ECCV 2020. , (2020).
  30. Smith, B., et al. Constraining dense hand surface tracking with elasticity. ACM Transactions on Graphics. 39 (6), 219(2020).
  31. Taheri, O., Ghorbani, N., Black, M. J., Tzionas, D. GRAB: A dataset of whole-body human grasping of objects. Computer Vision - ECCV 2020: 16th European Conference. , Glasgow, UK. 581-600 (2020).
  32. Brahmbhatt, S., Tang, C., Twigg, C. D., Kemp, C. C., Hays, J. ContactPose: A dataset of grasps with object contact and hand pose. Computer Vision - ECCV 2020. , 361-378 (2020).
  33. Wang, J., et al. RGB2Hands: Real-time tracking of 3D hand interactions from monocular RGB video. ACM Transactions on Graphics. 39 (6), 218(2020).
  34. Zhang, X., Li, Q., Mo, H., Zhang, W., Zheng, W. End-to-end hand mesh recovery from a monocular RGB image. 2019 IEEE/CVF International Conference on Computer Vision (ICCV). , 2354-2364 (2019).
  35. Endo, Y., Tada, M., Mochimaru, M. Reconstructing individual hand models from motion capture data). Journal of Computational Design and Engineering. 1 (1), 1-12 (2014).
  36. Mueller, F., et al. GANerated hands for real-time 3D hand tracking from monocular RGB. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. , 49-59 (2018).
  37. Mueller, F., et al. Real-time pose and shape reconstruction of two interacting hands with a single depth camera. ACM Transactions on Graphics. 38 (4), 49(2019).
  38. Romero, J., Tzionas, D., Black, M. J. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics. 36 (6), 245(2017).
  39. Kappler, D., Bohg, J., Schaal, S. Leveraging big data for grasp planning. 2015 IEEE International Conference on Robotics and Automation (ICRA). , 4304-4311 (2015).
  40. Kokic, M., Kragic, D., Bohg, J. Learning task-oriented grasping from human activity datasets). IEEE Robotics and Automation Letters. 5 (2), 3352-3359 (2020).
  41. Shao, L., et al. UniGrasp: Learning a unified model to grasp with multifingered robotic hands. IEEE Robotics and Automation Letters. 5 (2), 2286-2293 (2020).
  42. Shao, L., Migimatsu, T., Zhang, Q., Yang, K., Bohg, J. Concept2Robot: Learning manipulation concepts from instructions and human demonstrations. Robotics: Science and Systems XVI. , (2020).
  43. Bohg, J. Interactive perception: Leveraging action in perception and perception in action. IEEE Transactions on Robotics. 33 (6), 1273-1291 (2017).
  44. Blender Foundation. , Available from: https://www.blender.org (2022).
  45. Roth, S. D. Ray casting for modeling solids. Computer Graphics and Image Processing. 18 (2), 109-144 (1982).
  46. Maiello, G., Kwon, M., Bex, P. J. Three-dimensional binocular eye-hand coordination in normal vision and with simulated visual impairment. Experimental Brain Research. 236 (3), 691-709 (2018).
  47. Weichert, F., Bachmann, D., Rudak, B., Fisseler, D. Analysis of the accuracy and robustness of the leap motion controller. Sensors. 13 (5), 6380-6393 (2013).
  48. Guna, J., Jakus, G., Pogačnik, M., Tomažič, S., Sodnik, J. An analysis of the precision and reliability of the leap motion sensor and its suitability for static and dynamic tracking. Sensors. 14 (2), 3702-3720 (2014).
  49. Sheshadri, S., Dann, B., Hueser, T., Scherberger, H. 3D reconstruction toolbox for behavior tracked with multiple cameras. Journal of Open Source Software. 5 (45), 1849(2020).
  50. Maiello, G., Harrison, W. J., Bex, P. J. Monocular and binocular contributions to oculomotor plasticity. Scientific Reports. 6, 31861(2016).
  51. Caoli, A., et al. A dichoptic feedback-based oculomotor training method to manipulate interocular alignment. Scientific Reports. 10, 15634(2020).
  52. Gibaldi, A., Vanegas, M., Bex, P. J., Maiello, G. Evaluation of the Tobii EyeX eye tracking controller and Matlab toolkit for research. Behavior Research Methods. 49 (3), 923-946 (2017).
  53. Chessa, M., Maiello, G., Borsari, A., Bex, P. J. The Perceptual quality of the Oculus Rift for immersive virtual reality. Human-Computer Interaction. 34 (1), 51-82 (2016).
  54. Maiello, G., Chessa, M., Bex, P. J., Solari, F. Near-optimal combination of disparity across a log-polar scaled visual field. PLoS Computational Biology. 16 (4), 1007699(2020).
  55. Maiello, G., Chessa, M., Solari, F., Bex, P. J. The (in)effectiveness of simulated blur for depth perception in naturalistic images. PLoS One. 10 (10), 0140230(2015).
  56. Maiello, G., Chessa, M., Solari, F., Bex, P. J. Simulated disparity and peripheral blur interact during binocular fusion. Journal of Vision. 14 (8), 13(2014).
  57. Maiello, G., Kerber, K. L., Thorn, F., Bex, P. J., Vera-Diaz, F. A. Vergence driven accommodation with simulated disparity in myopia and emmetropia. Experimental Eye Research. 166, 96-105 (2018).
  58. Moscatelli, A., et al. The change in fingertip contact area as a novel proprioceptive cue. Current Biology. 26 (9), 1159-1163 (2016).

Przedruki i uprawnienia

Tagi

Szacowanie obszaru kontakturekonstrukcja siatki dłoniśledzenie oparte na markerachtrójwymiarowa siatka obiektuchwytanie przez ludzikamery do śledzenia ruchukąty Eulera stawówpercepcja haptycznakontrola motoryczna