$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
El primer requisito para el método propuesto es un sistema para rastrear con precisión la posición de los objetos y las manos 3D. La configuración específica se muestra en la Figura 1A y utiliza hardware y software producidos por la empresa de captura de movimiento Qualisys. Colocamos un banco de trabajo dentro de un volumen de seguimiento (100 cm x 100 cm x 100 cm), que se visualiza desde múltiples ángulos mediante ocho cámaras de seguimiento y seis cámaras de video dispuestas en un marco cúbico que rodea el espacio de trabajo. Las cámaras de seguimiento rastrean la posición 3D de los marcadores reflectantes dentro del volumen de seguimiento a 180 cuadros / s y con resolución espacial 3D submilimétrica. Empleamos marcadores reflectantes de 4 mm, que se unen a los objetos y las manos utilizando cinta adhesiva de doble cara amigable con la piel. Las posiciones de los marcadores 3D son procesadas por el software de captura de movimiento. La sección de discusión también revisa los sistemas alternativos de captura de movimiento que podrían emplearse con el método propuesto.
Para obtener reconstrucciones 3D precisas de objetos reales que se agarran y manipulan, proponemos dos opciones. La primera, que es la que se adopta aquí, es partir de un modelo de objetos 3D virtual en forma de malla poligonal. Dichos modelos 3D pueden construirse utilizando el software apropiado (por ejemplo, Blender 3D44) y luego imprimirse en 3D (Figura 1B). La segunda opción es tomar un objeto 3D real existente y utilizar la tecnología de escaneo 3D para construir una réplica de modelo de malla del objeto. Cualquiera que sea la estrategia, el objetivo final es obtener tanto un objeto 3D real como el modelo de malla de objetos 3D virtual correspondiente. Cabe destacar que el enfoque descrito aquí funciona solo con objetos rígidos (es decir, no deformables).
Una vez que la superficie 3D de un objeto está disponible como modelo de malla, su posición debe ser rastreada y co-registrada (Figura 1C). Para ello, se adjuntan cuatro marcadores reflectantes no planos a la superficie del objeto real, y el objeto se coloca dentro del volumen de seguimiento. Las posiciones 3D de los marcadores de objetos se capturan brevemente. Esta captura se utiliza para establecer la correspondencia entre los cuatro marcadores y los cuatro vértices del modelo de malla de objetos. Esto se hace utilizando una ruta de software ad hoc simple escrita en la API Python de Blender. Dentro de la ventana gráfica de Blender, el programa presenta el objeto virtual junto con las posiciones del marcador que se representan como un solo objeto de malla compuesto por una esfera para cada marcador. El usuario puede rotar y traducir el objeto y / o los marcadores para alinearlos de tal manera que se alineen con los marcadores reales colocados en el objeto real. El programa registrará las rotaciones y la traslación que se aplican para calcular una sola roto-traslación que finalmente se aplica a la malla del objeto original, proporcionando una malla de objetos que se co-registra con la definición de cuerpo rígido en QTM.
Una vez establecida la correspondencia, cada vez que el objeto real se mueve dentro del volumen de seguimiento, el objeto virtual se puede colocar en la nueva posición calculando la roto-traducción entre los marcadores rastreados y los cuatro vértices de malla correspondientes. Para registrar la dinámica de la empuñadura, un total de 24 marcadores reflectantes esféricos se adjuntan en diferentes puntos de referencia de la mano utilizando cinta de doble cara (Figura 1D y Figura 2).
Al comienzo de una prueba (Figura 1E), un participante coloca su mano plana en el banco de trabajo con la palma hacia abajo y cierra los ojos. El experimentador coloca un objeto objetivo en el banco de trabajo frente al participante. A continuación, una señal auditiva le indica al participante que abra los ojos y ejecute el agarre. En nuestras demostraciones, la tarea es alcanzar y agarrar el objeto objetivo, levantarlo verticalmente aproximadamente 10 cm, colocarlo y devolver la mano a su posición inicial. Un script escrito en Python 3.7 controla el experimento. En cada prueba, el script selecciona y comunica la configuración de condición actual al experimentador (por ejemplo, identidad y posicionamiento del objeto). El guión también controla el tiempo de prueba, incluidas las señales auditivas y el inicio y la parada de las grabaciones de captura de movimiento.
Las extremidades no solo se caracterizan por su posición en el espacio 3D, sino también por su postura. Por lo tanto, para obtener una reconstrucción 3D completa de una mano humana ejecutando un agarre real, requerimos no solo las posiciones de cada articulación en el espacio 3D, sino también la pose relativa (traslación y rotación) de cada articulación con respecto a su articulación madre (Figura 1F). Las posiciones y orientaciones de la articulación esquelética se pueden inferir a partir de las posiciones de los marcadores utilizando cinemática inversa. Para ello, aquí empleamos el solucionador de esqueletos proporcionado por el software QTM. Para que el solucionador funcione, primero debemos proporcionar una definición de esqueleto que vincule la posición y orientación de cada articulación a múltiples posiciones de marcador. Por lo tanto, se construye una definición de esqueleto, y la plataforma de esqueleto se vincula a los datos del marcador utilizando el complemento QTM Connect para Maya. Creamos definiciones de esqueleto personalizadas para cada participante para maximizar la precisión de los ajustes del esqueleto a los datos del marcador. Para cada participante, ajustamos manualmente un esqueleto de mano a un solo cuadro de datos de captura de movimiento. Una vez obtenida una definición de esqueleto específica del participante, ejecutamos el solucionador de esqueletos para estimar las posturas de la articulación esquelética para cada fotograma de cada ensayo en el experimento.
Para cada fotograma de cada ensayo en un experimento, generamos una malla de mano que reconstruye la pose de mano actual utilizando la herramienta de generación de malla manual de código abierto y preentrenada, DeepHandMesh28 (Figura 1G). DeepHandMesh es una red profunda de codificador-decodificador que genera mallas manuales personalizadas a partir de imágenes. Primero, el codificador estima la pose de una mano dentro de una imagen (es decir, los ángulos de Euler conjuntos). Luego, la pose de mano estimada y un vector de identificación personalizado se ingresan en el decodificador, que estima un conjunto de tres correctivos aditivos para una malla de plantilla manipulada. Finalmente, la malla de la plantilla se deforma de acuerdo con la postura de la mano estimada y los correctivos utilizando el pelado de mezcla lineal. El primer correctivo es un correctivo de esqueleto dependiente de ID a través del cual se ajusta la plataforma esquelética para incorporar las posiciones articulares específicas de la persona. Los otros dos correctivos son correctivos de malla a través de los cuales se ajustan los vértices de malla para representar mejor la superficie de la mano del participante. Uno de los correctivos de malla es un correctivo de malla dependiente de ID que explica la estructura de la superficie de la mano de un participante individual. En cambio, el corrector de malla final es un correctivo de vértice dependiente de la pose que explica las deformaciones de la superficie de la mano debido a la postura actual de la mano.
DeepHandMesh se entrena utilizando una supervisión débil con puntos clave conjuntos 2D y mapas de profundidad de escena. Aquí, usamos solo el decodificador DeepHandMesh previamente entrenado para generar reconstrucciones de malla manual, modificadas de las siguientes maneras (Figura 3). En primer lugar, como la red no está capacitada en participantes específicos, se emplea el correctivo de malla genérico dependiente de la identificación proporcionado con el modelo preentrenado (Figura 3A). Además, el correctivo de esqueleto dependiente de ID se deriva utilizando el solucionador de esqueletos QTM como se describió anteriormente (Figura 3B). Se asume la escala proporcional de la mano con la longitud del esqueleto, y el grosor de la malla se escala uniformemente por un factor derivado de la escala relativa del esqueleto tal que la malla se aproxima mejor al tamaño de la mano del participante (Figura 3C). Esta malla modificada se introduce en el decodificador, junto con la postura actual de la mano (derivada de los datos del marcador) y la posición y orientación 3D de la muñeca. El decodificador, por lo tanto, calcula el correctivo dependiente de la pose actual, aplica todos los correctivos y las rototraducciones, y genera una reconstrucción de malla manual 3D de la pose de mano actual en el mismo marco de coordenadas que la malla de objetos rastreados 3D (Figura 3D).

Figura 3: Modificaciones en el decodificador DeepHandMesh previamente entrenado . (A) Correctivo de malla fijo y genérico dependiente de la identificación. (B) correctivo del esqueleto dependiente de ID derivado a través de cinemática inversa en el paso 10. (C) El tamaño de la malla de mano se escala por el mismo factor que las articulaciones esqueléticas. (D) Reconstrucción final de malla de mano 3D de la pose de mano actual. Haga clic aquí para ver una versión más grande de esta figura.
Después de haber reconstruido modelos de malla 3D tanto para la mano de un participante como para un objeto agarrado, las regiones de contacto mano-objeto se pueden estimar calculando la intersección entre la mano y las mallas del objeto (Figura 1H). La suposición detrás de esto es que la mano real se deforma por contacto con la superficie, lo que significa que el esqueleto puede acercarse a la superficie de lo que sería posible si la mano fuera rígida, lo que permite que partes de la malla de la mano pasen a través de la malla del objeto. Como resultado, las áreas de contacto se pueden aproximar como las regiones de superposición entre las dos mallas.
Específicamente, para calcular estas regiones de superposición, definimos los vértices de malla de objetos que están contenidos dentro del volumen 3D de la malla manual como en contacto con la mano. Estos vértices se identifican utilizando un enfoque estándar de trazadode rayos 45. Para cada vértice de la malla del objeto, se proyecta un rayo desde ese vértice a un punto 3D arbitrario fuera de la malla de mano. Luego evaluamos el número de intersecciones que ocurren entre el rayo fundido y los triángulos que componen la superficie de la mano. Si el número de intersecciones es impar, el vértice del objeto está contenido dentro de la malla de mano. Si el número de intersecciones es par, entonces el vértice del objeto está fuera de la malla de mano. Las regiones de contacto en la superficie del objeto pueden, por lo tanto, aproximarse como el conjunto de caras triangulares cuyos vértices están todos contenidos dentro de la malla de la mano. Podemos aplicar el mismo razonamiento a los vértices de la malla de mano contenidos en el volumen 3D de la malla de objetos para estimar las regiones de contacto en la superficie de la mano. En particular, también podrían utilizarse enfoques más avanzados para las operaciones de malla booleana31.
El video 1 muestra un video de una mano, puntos rastreados y malla co-registrada, todos moviéndose uno al lado del otro durante un solo agarre a una figura de gato impresa en 3D. En cambio, la Figura 4A muestra un solo marco en el momento del contacto mano-objeto desde un agarre a un croissant impreso en 3D, junto con las reconstrucciones de malla mano-objeto (Figura 4B) y las regiones de contacto estimadas en la superficie del croissant (Figura 4C).

Figura 4: Regiones estimadas de contacto mano-objeto. (A) Mano y objeto rastreados vistos desde una de las cámaras de seguimiento durante un agarre. (B) Malla de mano reconstruida y malla de objetos rastreados renderizados desde el mismo punto de vista que la cámara de rastreo. (C) Regiones de contacto en la superficie del objeto visto desde múltiples puntos de vista. Haga clic aquí para ver una versión más grande de esta figura.
Video 1: Reconstrucciones de malla de la mano y el objeto. Animación Gif de la mano, marcadores rastreados y las reconstrucciones de malla de manos y objetos durante un solo agarre visto desde el mismo punto de vista de la cámara. Haga clic aquí para descargar este video.