siMLPe: Predicción del movimiento humano

Dirección del artículo: Volver a MLP: A Simple Baseline for Human Motion Prediction
Código del artículo: https://github.com/dulucas/simlpe
Fuente del artículo: IEEE/CVF Winter Conference on Applications of Computer Vision (WACV), 2023
Unidad del artículo: Grenoble Francia

Resumen

  • Este artículo aborda el problema de la predicción del movimiento humano, incluida la predicción de posturas corporales futuras a partir de secuencias observadas históricamente.
  • Sin embargo, los métodos de última generación que proporcionan buenos resultados se basan en arquitecturas de aprendizaje profundo de complejidad arbitraria, como RNN, Transformers o GCN, que a menudo requieren múltiples etapas de entrenamiento y más de 2 millones de parámetros.
  • En este artículo, mostramos que, combinado con una serie de prácticas estándar como la aplicación de transformadas de coseno discretas (DCT), la predicción de desplazamientos residuales de juntas y la optimización de velocidades como pérdidas auxiliares, una red ligera basada en perceptrón multicapa (MLP) con solo 140.000 Los parámetros pueden superar el rendimiento más moderno.
  • La validación de los conjuntos de datos Human3.6M , AMASS y 3DPW muestra que nuestro método ( siMLPe ) supera consistentemente a todos los demás métodos.
  • Esperamos que nuestro enfoque simple pueda proporcionar a la comunidad una base sólida y permitir repensar el problema de la predicción del movimiento humano.

1. Introducción

  • Dada una secuencia de pose humana tridimensional, el propósito de la tarea de predicción del movimiento humano es predecir las acciones posteriores de la secuencia de pose .
  • Predecir los movimientos humanos futuros es el núcleo de muchas aplicaciones, incluida la prevención de accidentes en la conducción autónoma, el seguimiento de personas o la interacción hombre-máquina.
  • Debido a la naturaleza espaciotemporal del movimiento humano, una tendencia común en la literatura es diseñar modelos que puedan fusionar información espaciotemporal.
  • Los métodos tradicionales se basan principalmente en modelos ocultos de Markov o modelos de variables latentes de procesos gaussianos.
  • Sin embargo, si bien estos métodos funcionan bien en patrones de movimiento simples y periódicos, fallan significativamente en movimientos complejos.
  • En los últimos años, con el éxito del aprendizaje profundo, se han desarrollado diversos métodos capaces de procesar datos de secuencias basados ​​en diferentes tipos de redes neuronales.
  • Por ejemplo, algunos trabajos utilizan RNN para modelar el movimiento humano, algunos se basan en GCN y otros se basan en Transformers para fusionar información espaciotemporal de secuencias de movimiento a través de las articulaciones humanas y el tiempo.
  • Sin embargo, las arquitecturas de estos nuevos métodos a menudo no son simples y algunos de ellos requieren antecedentes adicionales, lo que hace que sus redes sean difíciles de analizar y modificar.
  • Por lo tanto, surge naturalmente una pregunta: "¿ Podemos resolver el problema de predicción del movimiento humano con una red simple? "
  • Para responder a esta pregunta, primero probamos una solución simple: repetir la última pose de entrada y usarla como predicción de salida. Como se muestra en la Figura 1, esta solución ingenua ya puede lograr resultados razonables, lo que significa que la última pose de entrada está "cerca" de las poses futuras ( Repetir último fotograma ).
    Insertar descripción de la imagen aquí
  • Inspirándonos en esto, entrenamos solo una capa completamente conectada para predecir el residuo entre las poses futuras y la última pose de entrada y obtener un mejor rendimiento, lo que muestra la simplicidad de construir sobre una capa base como una capa completamente conectada. Predicción del movimiento humano ( One-FC ).
  • Con base en las observaciones anteriores, volvemos a los perceptrones multicapa (MLP) y construimos una red simple pero efectiva, llamada siMLPe, con solo tres componentes: capas completamente conectadas, normalización de capas y operaciones de transposición. La arquitectura de red se muestra en la Figura 2 mostrados.
    Insertar descripción de la imagen aquí
  • En particular, encontramos que incluso las capas de activación comúnmente utilizadas, como ReLU, no son necesarias, lo que convierte a nuestra red en un modelo completamente lineal, excepto por la normalización de capas.
  • A pesar de su simplicidad, siMLPe puede lograr un rendimiento potente cuando se combina adecuadamente con tres prácticas sencillas. Estos tres métodos simples son: aplicar la transformada de coseno discreta (DCT), predecir el desplazamiento residual de la articulación y optimizar la velocidad como pérdida auxiliar.
  • SIMLPE produce rendimiento SOAT en varios conjuntos de datos estándar, incluidos Human3.6M, AMASS y 3DPW.
  • Al mismo tiempo, siMLPe es liviano y requiere de 20 a 60 veces menos parámetros que los métodos de última generación anteriores.
  • En la Figura 1 se puede encontrar una comparación de SIMLPE y los métodos anteriores, que muestra el error medio por posición de articulación (MPJPE) frente a la complejidad de la red a 1000 ms para diferentes redes en Human3.6M. siMLPe logra un rendimiento óptimo con alta eficiencia.
  • En resumen, nuestras contribuciones son las siguientes :
    (1) Mostramos que la predicción del movimiento humano se puede modelar de una manera sencilla sin fusionar explícitamente información espacial y temporal. Como ejemplo extremo, una única capa completamente conectada ya puede lograr un rendimiento razonable.
    (2) Proponemos siMLPe, una red de predicción de movimiento humano simple y efectiva con solo tres componentes: capa completamente conectada, normalización de capa y operación de transposición, que funciona bien en múltiples puntos de referencia (como el conjunto de datos Human3.6M, AMASS y 3DPW), logrando Rendimiento de última generación con muchos menos parámetros que los métodos existentes.

2. Trabajo relacionado

  • La predicción del movimiento humano es una tarea de secuencia a secuencia que toma el movimiento observado en el pasado como entrada para predecir secuencias de movimiento futuras.
  • Los métodos tradicionales de predicción del movimiento son no lineales, como los modelos de Markov, los modelos de dinámica de procesos gaussianos y las máquinas de Boltzmann restringidas.
  • Estos métodos han demostrado ser eficaces para predecir movimientos simples, pero en última instancia tienen dificultades para predecir movimientos complejos y de largo plazo.
  • Con el advenimiento de la era del aprendizaje profundo, la predicción del movimiento humano ha logrado un gran éxito utilizando redes profundas, incluidas las redes neuronales recurrentes (RNN), las redes convolucionales de gráficos (GCN) y los transformadores. Este es el enfoque principal de esta sección.

2.1 Predicción del movimiento humano basada en RNN

  • Debido a la estructura secuencial inherente del movimiento humano, algunos trabajos han abordado modelos cíclicos para la predicción tridimensional del movimiento humano.
  • Sin embargo, este tipo de método adolece de múltiples limitaciones inherentes a RNN.
  • En primer lugar, RNN, como modelo de secuencia, es difícil de paralelizar durante el entrenamiento y la inferencia.
  • En segundo lugar, las limitaciones de memoria impiden que los RNN exploren información de fotogramas adicionales.
  • Algunos estudios alivian este problema mediante el uso de variantes de RNN, ventanas deslizantes, modelos convolucionales o entrenamiento adversario. Pero sus redes siguen siendo complejas y tienen una gran cantidad de parámetros.

2.2 Predicción del movimiento humano basada en GCN

  • Para codificar mejor la conectividad espacial de las articulaciones humanas, trabajos recientes generalmente construyen poses humanas como gráficos y utilizan redes convolucionales de gráficos (GCN) para la predicción del movimiento humano.

2.3 Predicción del movimiento humano basada en la Atención

  • Con el desarrollo de los transformadores, algunos trabajos han intentado utilizar el mecanismo de Atención para realizar esta tarea.

2.4 Resumen

  • En resumen, con el desarrollo de la predicción del movimiento humano en los últimos años, las estructuras basadas en RNN/GCN/Transformer se han explorado bien y los resultados han mejorado significativamente.
  • Aunque estos métodos proporcionan buenos resultados, sus arquitecturas se vuelven cada vez más complejas y difíciles de entrenar.
  • En este artículo, nos atenemos a una arquitectura simple y proponemos una red basada en MLP .
  • Esperamos que nuestro método simple pueda servir como base para que la comunidad reconsidere el problema de la predicción del movimiento humano.

3. simple

  • En esta sección, formulamos el problema y damos la fórmula de la transformada DCT en la Sección 3.1, los detalles de la arquitectura de red en la Sección 3.2 y la pérdida que utilizamos para el entrenamiento en la Sección 3.3.
  • Dada una secuencia de poses humanas 3D pasadas, nuestro objetivo es predecir una secuencia de poses futuras.
  • Representamos la postura humana tridimensional observada como x_1:T ∈ R T×C , que consta de T posturas humanas consecutivas, donde la postura en el cuadro t-ésimo x_t está representada por un vector C-dimensional, es decir: x_t∈ R C.
  • En este trabajo, similar al trabajo anterior, x_t es la coordenada tridimensional del nodo en el marco t-ésimo, C = 3 × K, donde K es el número de nodos.
  • Nuestra tarea es predecir N cuadros de movimiento en el futuro: x_T +1:T +N ∈R N×C .

3.1 Transformada de coseno discreta (DCT)

  • Adoptamos la transformación DCT para codificar información temporal .
  • Más precisamente, dada la secuencia de movimiento de entrada de T cuadros, la matriz DCT D∈R T×T se puede calcular como:
    Insertar descripción de la imagen aquí
    donde δ_i,j representa la función de Kronecker, y δ_i,j es:
    Insertar descripción de la imagen aquí
  • La entrada después de la transformación de coseno discreta es: D(x_1:T) = Dx_1:T.
  • Aplicamos la Transformada de Coseno Discreto Inverso (IDCT) para convertir la salida de la red nuevamente a la representación de pose original, representada como D -1 y la inversa de D.

3.2 Arquitectura de red

  • La Figura 2 muestra la arquitectura de nuestra red. Nuestra red solo contiene tres componentes: capas completamente conectadas, operaciones de transposición y normalización de capas .
  • Para todas las capas completamente conectadas, su dimensión de entrada es igual a la dimensión de salida.
  • Formalmente, dada una secuencia de entrada de poses humanas 3D x_1:T ∈ R T×C , nuestra red predice una secuencia de poses futura x_T+1:T+N ∈ R N×C :
    Insertar descripción de la imagen aquí
    F denota nuestra red.
  • Después de la transformación DCT, aplicamos una capa completamente conectada que opera solo en las dimensiones espaciales de la secuencia de movimiento transformada D(x_1:T)∈R T×C : donde z 0 ∈R T×C es la salida de la capa completamente conectada capa. W 0 ∈R C×C , b 0 ∈R C representa los parámetros que se pueden aprender de la capa completamente conectada.
    Insertar descripción de la imagen aquí
  • En la práctica, esto equivale a aplicar una operación de transposición a una capa completamente conectada y luego transponer las características de salida nuevamente, como se muestra en la Figura 2.
  • Luego, se introduce una serie de m bloques, que operan solo en la dimensión temporal , es decir, solo fusionan información entre cuadros.
  • Cada bloque consta de una capa completamente conectada y luego se realiza la normalización de la capa , expresada como:
    Insertar descripción de la imagen aquí
    donde, z i ∈R T×C , i∈[1,…, m] representa la salida del i-ésimo bloque MLP.
    LN representa la operación de normalización de capas.
    W iR T×T y b i ∈ R T son los parámetros que se pueden aprender de la capa completamente conectada en el i-ésimo bloque MLP.
  • Finalmente, de manera similar a la primera capa completamente conectada, agregamos otra capa completamente conectada después del bloque MLP, operando solo en la dimensión espacial
    Insertar descripción de la imagen aquí
    de las características, y luego aplicamos la transformación IDCT para obtener el resultado de la predicción: donde W_m+1 y b_m+ 1 son los últimos parámetros que se pueden aprender de una capa completamente conectada.
  • Tenga en cuenta que no es necesario que las longitudes T y N sean iguales . Cuando T > N, solo tomamos los N fotogramas anteriores predichos; en el caso de T < N, podemos completar la secuencia de entrada hasta N repitiendo el último fotograma.

3.3 Pérdidas

  • Como se mencionó en la Sección 1, como se muestra en la Figura 1, la última pose de entrada está "cerca" de la pose futura.
  • Con esta observación, en lugar de predecir la pose 3D absoluta desde cero, hacemos que la red prediga el residuo entre la pose futura x_T+t y la última pose de entrada x_T. Esto simplifica el aprendizaje y mejora el rendimiento.

función objetiva

  • Nuestra función objetivo L incluye dos términos Lre y Lv:
    Insertar descripción de la imagen aquí
  • El objetivo de Lre es minimizar la norma L2 entre el movimiento previsto x_T+1:T+N y el movimiento verdadero x_T+1:T+N:
    Insertar descripción de la imagen aquí
  • El propósito de Lv es minimizar la norma L2 entre la velocidad de movimiento prevista v_T+1:T+N y la velocidad real sobre el terreno vT+1:T+N: donde v_T+1:T+N ∈R N× C
    Insertar descripción de la imagen aquí
    , v_T Representa la velocidad del cuadro t, calculada usando la diferencia de tiempo: v_T = x_t+1−x_t.

4. Experimentar

4.1 Conjunto de datos

  • Human3.6M :
    Human3.6M contiene 7 actores que realizan 15 movimientos, con 32 articulaciones marcadas para cada pose.
    Seguimos el protocolo de prueba y utilizamos S5 como conjunto de prueba, S11 como conjunto de validación y los demás como conjunto de entrenamiento.
    En trabajos anteriores se han utilizado diferentes estrategias de muestreo de pruebas, incluidas 8 muestras por acción, 256 muestras por acción o todas las muestras del conjunto de pruebas.
    Dado que 8 muestras son muy pocas, tomar todas las muestras de prueba no puede equilibrar diferentes acciones con diferentes longitudes de secuencia, por lo que tomamos 256 muestras para cada acción para probar y evaluar en 22 uniones .
  • AMASS :
    AMASS es una colección de múltiples conjuntos de datos de captura de movimiento que utilizan una parametrización SMPL unificada.
    Usamos AMASS-bmlrub como conjunto de prueba y dividimos el resto del conjunto de datos de AMASS en conjuntos de entrenamiento y validación.
    El modelo fue validado en 18 articulaciones.
  • 3DPW :
    3DPW es un conjunto de datos que contiene escenas interiores y exteriores.
    Una pose está representada por 26 articulaciones y evaluamos 18 articulaciones utilizando un modelo entrenado en AMASS para evaluar la generalización.

4.2 Indicadores de evaluación

  • Este artículo utiliza el error medio por posición de articulación ( MPJPE ) en las coordenadas de articulación tridimensionales como índice de evaluación. Esta es la métrica más utilizada para evaluar errores de pose 3D.
  • Esta métrica calcula la norma L2 promedio de diferentes nodos entre lo previsto y lo verdadero.
  • Al igual que en trabajos anteriores, ignoramos la rotación y traducción global de poses y mantenemos una frecuencia de muestreo de 25 FPS para todos los conjuntos de datos.

Supongo que te gusta

Origin blog.csdn.net/gaoqing_dream163/article/details/132170301
Recomendado
Clasificación