XYZNOT

Статьи · arXiv 2003.08934

NeRF: Представление сцен в виде нейронных полей сияния для синтеза новых ракурсов

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

Опубликовано cs.CVcs.GR arXivPDF

Читать с переводом и ИИ

Кратко в трёх строках

  1. 🎯 Синтез фотореалистичных новых видов высокого разрешения для сложных 3D-сцен без использования дискретных воксельных сеток или прокси-мешей.
  2. 🔧 Представление статических сцен в виде непрерывных 5D-функций с помощью MLP с позиционным кодированием, дифференцируемого объемного рендеринга и иерархической выборки.
  3. 📈 Достигнут уровень SOTA в синтезе видов (31.01 дБ PSNR на реалистичных синтетических сценах) при сжатии представления сцены примерно до 5 МБ.

Аннотация

Мы представляем метод, достигающий передовых результатов в синтезе новых ракурсов сложных сцен путем оптимизации непрерывной объемной функции сцены по разреженному набору входных изображений. Наш алгоритм представляет сцену с помощью полносвязной (несверточной) глубокой нейросети, входными данными для которой являются непрерывные 5D-координаты (пространственное положение и направление обзора ), а выходом — объемная плотность и зависящее от ракурса излучаемое сияние в этой точке. Мы синтезируем виды, запрашивая 5D-координаты вдоль лучей камеры и используя классические методы объемного рендеринга для проецирования выходных цветов и плотностей в изображение. Поскольку объемный рендеринг естественным образом дифференцируем, единственными входными данными для оптимизации нашего представления является набор изображений с известными позами камер. Мы описываем, как эффективно оптимизировать нейронные поля сияния для рендеринга фотореалистичных новых видов сцен со сложной геометрией и внешним видом, и демонстрируем результаты, превосходящие предшествующие работы по нейрорендерингу и синтезу видов. Результаты синтеза лучше всего оценивать на видео, поэтому мы настоятельно рекомендуем читателям ознакомиться с нашим дополнительным видеороликом для наглядного сравнения.

Оригинальная аннотация (англ.)

We present a method that achieves state-of-the-art results for synthesizing novel views of complex scenes by optimizing an underlying continuous volumetric scene function using a sparse set of input views. Our algorithm represents a scene using a fully-connected (non-convolutional) deep network, whose input is a single continuous 5D coordinate (spatial location and viewing direction ) and whose output is the volume density and view-dependent emitted radiance at that spatial location. We synthesize views by querying 5D coordinates along camera rays and use classic volume rendering techniques to project the output colors and densities into an image. Because volume rendering is naturally differentiable, the only input required to optimize our representation is a set of images with known camera poses. We describe how to effectively optimize neural radiance fields to render photorealistic novel views of scenes with complicated geometry and appearance, and demonstrate results that outperform prior work on neural rendering and view synthesis. View synthesis results are best viewed as videos, so we urge readers to view our supplementary video for convincing comparisons.

Разбор статьи

Проблема и мотивация

Синтез новых ракурсов по набору фотографий традиционно опирался на дискретные объемные представления (такие как воксельные сетки или многоплоскостные изображения) либо полигональные сетки. Однако дискретизированные воксельные сетки требуют колоссальных затрат памяти и вычислений, кубически зависящих от разрешения, тогда как оптимизация на основе мешей страдает от плохого ландшафта оптимизации и требует качественной начальной топологии. Предыдущие неявные нейронные представления сцен отображали координаты непосредственно в функции знаковых расстояний или точки отдельных поверхностей, сталкиваясь с трудностями при работе со сложной геометрией, эффектами, зависящими от угла обзора (например, бликами), и высокочастотными деталями, что приводило к излишне сглаженным результатам.

Ключевые идеи

  • Непрерывная 5D-функция сцены: представление статической сцены в виде неявной непрерывной функции , которая сопоставляет 3D-координату и 2D-направление обзора с излучаемым RGB-сиянием и объемной плотностью .
  • Многоракурсная согласованность за счет асимметричного предсказания: плотность предсказывается исключительно по положению (геометрия инвариантна к направлению обзора), в то время как цвет зависит как от положения , так и от направления (что позволяет моделировать зеркальные и неламбертовские блики).
  • Высокочастотное позиционное кодирование: преодоление спектрального смещения (spectral bias) MLP в сторону низких частот за счет отображения низкоразмерных входных координат в высокоразмерные пространства с использованием синусоидальных базисных функций.
  • Дифференцируемый объемный рендеринг и иерархическая выборка: применение численного интегрирования для накопления непрерывных выборок вдоль лучей в 2D-пиксели, оптимизируемое сквозным образом (end-to-end) относительно входных фотографий и ускоряемое за счет иерархической выборки от грубой к точной.

Метод (с ключевыми формулами)

Для луча камеры , ограниченного ближней и дальней плоскостями и , непрерывный ожидаемый цвет вычисляется как: где — накопленное пропускание (transmittance).

Для численного расчета непрерывный интервал разбивается на отрезков и оценивается с помощью стратифицированной выборки, что дает дискретную квадратуру, эквивалентную альфа-композитингу: где .

Для фиксации высокочастотной геометрии и текстур входы преобразуются с помощью позиционного кодирования : где для и для .

Для эффективного сэмплирования NeRF одновременно оптимизирует две сети (грубую с точками и точную с дополнительными точками). Веса грубой выборки формируют кусочно-постоянную функцию плотности вероятности вдоль луча, по которой точные точки отбираются методом обратного преобразования распределения (inverse transform sampling).

Вся модель обучается путем минимизации суммарной квадратичной ошибки по батчу лучей :

Результаты (с ключевыми показателями)

  • Realistic Synthetic : NeRF показал 31.01 dB PSNR, 0.947 SSIM и 0.081 LPIPS, значительно опередив базовые модели NV (26.05 dB), LLFF (24.88 dB) и SRN (22.26 dB).
  • Diffuse Synthetic : NeRF достиг 40.15 dB PSNR и 0.991 SSIM против DeepVoxels (30.55 dB в среднем по сценам) и LLFF (34.38 dB).
  • Реальные сцены с фронтальной съемкой: получен результат 26.50 dB PSNR, что превосходит LLFF (24.13 dB) и SRN (22.84 dB).
  • Эффективность хранения: полностью обученная модель NeRF занимает около 5 МБ (веса MLP) — это примерно в меньше по сравнению с воксельными представлениями LLFF (>15 ГБ на сцену).

Ограничения и открытые вопросы

  • Время обучения и рендеринга: оптимизация одной сцены требует 100k–300k итераций (примерно 1–2 дня на одном GPU NVIDIA V100). Для рендеринга одного кадра требуется 150–200 миллионов обращений к MLP, что занимает ~30 секунд.
  • Интерпретируемость модели: в отличие от воксельных сеток или полигональных моделей, геометрия и цвет зашиты внутри весов MLP, что затрудняет прямое редактирование, инспекцию и поиск ошибок.
  • Требования к условиям съемки: метод предполагает наличие точно известных поз камер (например, полученных с помощью COLMAP), статичность сцены, неизменное освещение и корректно заданные ограничивающие объемы.

Ключевые термины

Neural Radiance Field (NeRF)
Непрерывное 5D объемное представление сцены, параметризованное глубокой полносвязной нейронной сетью, сопоставляющей пространственные координаты и направления обзора с объемной плотностью и излучаемым сиянием.
Positional Encoding
Детерминированное синусоидальное отображение , проецирующее непрерывные входные координаты в частотные пространства более высокой размерности, позволяя сети обучаться высокочастотным деталям.
Volume Density
Независящая от ракурса дифференциальная непрозрачность , моделирующая вероятность завершения луча камеры в бесконечно малой точке 3D-пространства.
Transmittance
Вероятность того, что луч камеры проходит от ближней плоскости отсечения до определенного расстояния вдоль луча, не пересекаясь с какими-либо частицами сцены.
Hierarchical Volume Sampling
Метод выборки от грубого к точному, использующий значения плотности от грубой сети для построения неравномерного распределения вероятностей, по которому отбираются дополнительные точки вдоль луча для точной сети.
Stratified Sampling
Процедура выборки, разбивающая диапазон глубины луча на равные отрезки и равномерно выбирающая по одной случайной непрерывной точке из каждого отрезка для непрерывной оценки в процессе оптимизации.
Normalized Device Coordinates (NDC)
Координатное пространство, отображающее перспективный усеченный конус видимости фронтальных сцен в куб , благодаря чему ось камеры становится линейной относительно диспаратности.

Вопросы

Почему плотность зависит только от положения, а цвет — от положения и направления обзора?

Ограничение плотности зависимостью исключительно от координат гарантирует многоракурсную геометрическую согласованность, в то время как подача направления обзора на вход для цвета позволяет MLP моделировать зависимые от ракурса неламбертовские эффекты, такие как зеркальные блики.

Чем позиционное кодирование в NeRF отличается от позиционного кодирования в трансформерах?

В трансформерах позиционное кодирование используется для передачи дискретного порядка токенов в инвариантные к перестановкам блоки внимания, тогда как в NeRF синусоидальное кодирование переводит непрерывные низкоразмерные координаты в пространство высокой размерности, преодолевая спектральное смещение MLP в сторону низких частот.

Какие входные данные требуются для оптимизации NeRF с нуля?

Для NeRF требуется только набор калиброванных 2D RGB-изображений статической сцены с известными внутренними и внешними параметрами камер, а также ближней и дальней границами сцены (полученными с помощью COLMAP для реальных данных или точно известными для синтетических).

Сколько времени занимает обучение и рендеринг в NeRF?

Обучение для одной сцены занимает от 100k до 300k итераций (примерно 1–2 дня) на графическом процессоре NVIDIA V100. Рендеринг нового ракурса требует выполнения от 150 до 200 миллионов вычислений координат на изображение, что занимает около 30 секунд на один кадр.

Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.

Читать с переводом и ИИ