Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Visión por Computador y Reconocimiento de Patrones

Grendel: Un Nuevo Enfoque al Splatting Gaussiano 3D

Grendel mejora la renderización de imágenes 3D utilizando múltiples GPU para una mejor calidad y velocidad.

― 6 minilectura


Grendel: Transformando laGrendel: Transformando laRenderización 3Dvelocidad de las imágenes en 3D.Nuevo sistema mejora la calidad y la
Tabla de contenidos

3D Gaussian Splatting (3DGS) es un método utilizado para crear imágenes tridimensionales a partir de fotografías bidimensionales. Este enfoque ha ganado popularidad porque produce visuales de alta calidad rápidamente. Sin embargo, generalmente está limitado a entrenar en una sola unidad de procesamiento gráfico (GPU). Esta restricción dificulta la capacidad de trabajar con imágenes más grandes y escenas más complejas, principalmente debido a los límites de memoria de una sola GPU.

Para abordar estos problemas, presentamos un sistema llamado Grendel, que se ha creado para permitir que múltiples GPUs trabajen juntas. Al hacerlo, podemos manejar tareas más complejas en la reconstrucción 3D sin ser frenados por las limitaciones de memoria. Grendel ayuda a distribuir el trabajo de manera uniforme entre las GPUs y acelera el procesamiento de escenas a gran escala.

El Problema con los Sistemas Actuales

Actualmente, al usar 3DGS, el entrenamiento se realiza en una GPU, lo que significa que solo podemos trabajar con un cierto número de componentes llamados Gaussianos. Cada Gaussiano representa una pequeña parte de una escena y ayuda en el renderizado de la imagen final. Sin embargo, una sola GPU solo puede manejar un número limitado de Gaussianos antes de quedarse sin memoria. Este límite restringe la calidad y el tamaño de las imágenes que podemos crear.

En particular, conjuntos de datos grandes como el conjunto de datos Rubble pueden ser problemáticos. Este conjunto de datos consiste en muchas imágenes de alta resolución y requiere significativamente más Gaussianos de los que una sola GPU puede gestionar. Los métodos actuales que intentan sortear esta limitación a menudo implican comprimir datos o renderizar selectivamente partes de la escena. Desafortunadamente, estos métodos aún enfrentan desafíos significativos debido a las limitaciones de memoria y computación.

Introduciendo Grendel

Grendel está diseñado para abordar estas limitaciones dividiendo el trabajo en partes más pequeñas y manejables. Distribuye los Gaussianos entre múltiples GPUs y les permite trabajar juntas para renderizar la escena. Cada Gaussiano solo afecta una pequeña área de la imagen final, lo que significa que podemos hacer uso de una comunicación escasa entre las GPUs para mantener todo funcionando sin problemas.

Una característica clave de Grendel es su capacidad para soportar múltiples vistas durante el entrenamiento. A diferencia de los sistemas anteriores que solo entrenaban usando un ángulo de cámara a la vez, Grendel permite que múltiples ángulos sean procesados en Lotes. Esto hace que el proceso de entrenamiento sea más rápido y eficiente, ya que cada GPU puede realizar una parte del trabajo simultáneamente.

Cómo Funciona Grendel

Grendel divide el trabajo en dos categorías principales: computación por Gaussiano y computación por píxel. La computación por Gaussiano implica trabajar directamente con los Gaussianos distribuidos entre las GPUs, mientras que la computación por píxel analiza los píxeles individuales en las imágenes renderizadas.

Al utilizar este enfoque mixto, Grendel minimiza la comunicación necesaria entre las GPUs y optimiza el rendimiento. El sistema también se adapta dinámicamente durante el entrenamiento, ajustando la carga de trabajo en cada GPU según las necesidades continuas de la tarea. Esto evita que cualquier GPU se sobrecargue mientras que otras son subutilizadas.

Entrenamiento en Lotes

En los métodos de entrenamiento tradicionales, cada GPU procesa una imagen a la vez. Esto conduce a ineficiencias, especialmente en sistemas distribuidos con múltiples GPUs. En Grendel, el entrenamiento ocurre en lotes, permitiendo que varias imágenes sean procesadas a la vez. Esto aumenta la velocidad y eficiencia general del proceso de entrenamiento.

Sin embargo, al aumentar el tamaño del lote, es crucial ajustar la configuración que rige cómo aprende el sistema. Grendel incluye un método automatizado para escalar hiperparámetros al usar lotes más grandes. Esto asegura que el proceso de aprendizaje se mantenga estable y efectivo incluso con cambios en el tamaño del lote.

Pruebas de Rendimiento

Para evaluar el rendimiento de Grendel, se realizaron extensas pruebas utilizando grandes conjuntos de datos. Por ejemplo, en el conjunto de datos Rubble, Grendel distribuyó más de 40 millones de Gaussianos entre 16 GPUs, logrando una mejor calidad de imagen en comparación con los métodos tradicionales que solo pueden manejar una fracción de eso en una sola GPU.

Con Grendel, registramos mejoras significativas en la calidad de la imagen y la velocidad de renderizado. El sistema pudo manejar conjuntos de datos más grandes que anteriormente no eran manejables, demostrando su efectividad en aplicaciones del mundo real.

Beneficios de Grendel

La principal ventaja de usar Grendel es su capacidad de escalar. A medida que se agregan más GPUs, tanto el rendimiento como la memoria disponible aumentan. Esto permite que el sistema maneje un mayor número de Gaussianos, lo que a su vez conduce a imágenes de mejor calidad.

Además, Grendel procesa imágenes más rápido que los métodos tradicionales. Esto es esencial para aplicaciones que necesitan resultados rápidos, como la realidad virtual y los videojuegos. La capacidad de trabajar con lotes de imágenes hace un uso eficiente del hardware disponible, asegurando que los recursos se utilicen bien.

Abordando Desafíos

A lo largo del desarrollo de Grendel, se encontraron varios desafíos. Un problema significativo fue la necesidad de mantener las cargas de trabajo equilibradas entre las GPUs. Dado que diferentes partes de una escena pueden requerir diferentes cantidades de potencia de procesamiento, fue crucial desarrollar un método para ajustar la distribución del trabajo dinámicamente.

Grendel utiliza un sistema de monitoreo para registrar los tiempos de renderizado y ajustar las cargas de trabajo según las necesidades de cada GPU. Esto asegura una distribución uniforme de las tareas y previene cuellos de botella que podrían ralentizar el proceso de renderizado.

Conclusión

Grendel ofrece una actualización significativa al proceso de renderizado de imágenes 3D utilizando Gaussian Splatting. Al aprovechar múltiples GPUs, supera los límites impuestos por los entornos de entrenamiento de un solo dispositivo. El sistema mejora la calidad del renderizado, aumenta la velocidad de procesamiento y permite manejar conjuntos de datos más grandes de manera efectiva.

A medida que la tecnología continúa evolucionando, sistemas como Grendel se volverán cada vez más importantes para los campos que dependen de la generación de imágenes de alta calidad. Con su diseño escalable y el uso eficiente de recursos, Grendel está preparado para liderar los avances en los métodos de reconstrucción 3D.

Al hacer esta tecnología de código abierto, esperamos fomentar más experimentación y mejoras en la comunidad, facilitando nuevas aplicaciones en la computación visual y más allá.

Fuente original

Título: On Scaling Up 3D Gaussian Splatting Training

Resumen: 3D Gaussian Splatting (3DGS) is increasingly popular for 3D reconstruction due to its superior visual quality and rendering speed. However, 3DGS training currently occurs on a single GPU, limiting its ability to handle high-resolution and large-scale 3D reconstruction tasks due to memory constraints. We introduce Grendel, a distributed system designed to partition 3DGS parameters and parallelize computation across multiple GPUs. As each Gaussian affects a small, dynamic subset of rendered pixels, Grendel employs sparse all-to-all communication to transfer the necessary Gaussians to pixel partitions and performs dynamic load balancing. Unlike existing 3DGS systems that train using one camera view image at a time, Grendel supports batched training with multiple views. We explore various optimization hyperparameter scaling strategies and find that a simple sqrt(batch size) scaling rule is highly effective. Evaluations using large-scale, high-resolution scenes show that Grendel enhances rendering quality by scaling up 3DGS parameters across multiple GPUs. On the Rubble dataset, we achieve a test PSNR of 27.28 by distributing 40.4 million Gaussians across 16 GPUs, compared to a PSNR of 26.28 using 11.2 million Gaussians on a single GPU. Grendel is an open-source project available at: https://github.com/nyu-systems/Grendel-GS

Autores: Hexu Zhao, Haoyang Weng, Daohan Lu, Ang Li, Jinyang Li, Aurojit Panda, Saining Xie

Última actualización: 2024-06-26 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2406.18533

Fuente PDF: https://arxiv.org/pdf/2406.18533

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares