Rigging automatizado avanzado con RigNet

3dpoder - 26/08/2020 21:52
Otro proyecto que se desvela el en el evento Siggraph, un rigging automatizado que está en desarrollo avanzado, el proyecto se llama RigNet.

Zhan Xu, Yang Zhou, Evangelos Kalogerakis (Universidad de Massachusetts Amherst), Chris Landreth, Karan Singh (Universidad de Toronto) revelan su proyecto de investigación, un método que genera personajes listos para usar. RigNet coge un modelo 3D y crea el solo el esqueleto necesario para generar cualquier movimiento, el sistema también puede calcular los pesos a partir del esqueleto.

El método se limita a los modelos articulados (por ejemplo, un perro y no un pulpo), y actúa directamente desde la malla, sin presuponer su estructura. Todo utiliza redes neuronales, y RigNet ha sido entrenado con una vasta colección de modelos ya amañados (mallas con esqueletos, pesos de piel).

Si este tipo de enfoque automático no es nada nuevo, el equipo argumenta que logra mejores resultados que el estado de la técnica al comparar métodos automáticos con plataformas creadas por humanos. Además, los equipos generados se pueden utilizar en varios niveles de detalle.

Aquí hay una presentación en video de la técnica. Ten en cuenta que la página RigNet, además de la publicación completa, ofrece código fuente y los datos utilizados para controlar el sistema.

[video=youtube_share;uazjFjgbHis]https://youtu.be/uazjFjgbHis[/video]
3dpoder - 12/04/2023 19:08
El código de esta herramienta está y disponible para descargar y probar.

Este es el repositorio de código que implementa el artículo "RigNet: Neural Rigging para personajes articulados" publicado en SIGGRAPH

Sobre el conjunto de datos: Si eres de un laboratorio de investigación y estás interesado en el conjunto de datos con fines exclusivamente no comerciales, de investigación, por favor envía una solicitud por correo electrónico a [EMAIL="zhanxu@cs.umass.edu"]zhanxu@cs.umass.edu[/EMAIL].

Otro complemento para Blender, implementado por @L-Medici. Por favor, revise el enlace de Github.

Ahora hay un gran complemento para Blender basado en nuestro trabajo, implementado por @pKrime. Por favor, revisa el enlace de Github y la demostración en video.

Dependencias y Configuración

El proyecto se desarrolla en Ubuntu 16.04 con cuda10.0 y cudnn7.6.3. También ha sido probado con éxito en Windows 10. En ambas plataformas, sugerimos usar un entorno virtual conda.

Para usuarios de Linux

He probado el código en Ubuntu 18.04, con cuda 11.0. Los siguientes comandos han sido actualizados, los cuales instalan pytorch 1.7.1 y pytorch_geometric 1.7.2.

Algunas bibliotecas necesarias incluyen:

conda create --name rignet_cuda11 python=3.6
conda activate rignet_cuda11

[CODE]pip install numpy scipy matplotlib tensorboard open3d==0.9.0 opencv-python
pip install "rtree>=0.8,<0.9"
pip install trimesh[easy]
conda install pytorch==1.7.1 torchvision==0.8.2 cudatoolkit=11.0 -c pytorch
pip install --no-index torch-scatter torch-sparse torch-cluster -f https://pytorch-geometric.com/whl/torch-1.7.1+cu110.html
pip install torch-geometric==1.7.2[/CODE]

Para usuarios de Windows

El código ha sido probado en Windows 10 con cuda 10.1. La diferencia más importante con la configuración de Linux es que necesitas descargar Rtree compilado para Windows desde aquí, e instalarlo con pip install Rtree‑0.9.4‑cp37‑cp37m‑win_amd64.whl (sistema de 64 bits) o pip install Rtree‑0.9.4‑cp37‑cp37m‑win32.whl (sistema de 32 bits). Las otras bibliotecas se pueden instalar de la misma manera que las instrucciones de configuración de Linux.

Inicio rápido

Proporcionamos un script para un inicio rápido. Primero descargue nuestros modelos entrenados desde aquí. Coloque la carpeta de puntos de control en la carpeta del proyecto.

Compruebe y ejecute quick_start.py. Proporcionamos algunos ejemplos en este script. Debido a la aleatoriedad, los resultados pueden ser ligeramente diferentes en cada ejecución. En general, obtendrá resultados similares a los que se muestran a continuación:


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #245130



Figura de resultados

Si deseas probar sus propios modelos, recuerde simplificar las mallas para que las remalladas tengan vértices entre 1K y 5K. Para esto, utilizo "quadratic edge collapse" en MeshLab. Por favor, nombre las mallas simplificadas como *_remesh.obj.

Los rigs predichos se guardan como *_rig.txt. Puede combinar el archivo OBJ y *_rig.txt en formato FBX ejecutando maya_save_fbx.py proporcionado por nosotros en Maya usando mayapy. (Para usar numpy en mayapy, descargue numpy compilado para Windows desde aquí y colóquelo en la carpeta de biblioteca de mayapy. Por ejemplo, la mía es C:\Program Files\Autodesk\Maya2019\Python\Lib\site-packages). el hueso j.

Tienes toda la información necesaria y la descarga de los archivos aquí.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #245130