Нейронное поле излучения
Материал из MachineLearning.
Egor Goroshko (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM '''GPT-5.6 Thinking''' и проверена участником ~~~~}} '''Нейронное поле излу...)
К следующему изменению →
Версия 23:27, 18 июля 2026
| | Статья написана с использованием LLM GPT-5.6 Thinking и проверена участником Egor Goroshko 03:27, 19 июля 2026 (MSD) |
Нейронное поле излучения (англ. neural radiance field, NeRF) — способ непрерывного представления трёхмерной сцены с помощью нейронной сети, которая по координате точки в пространстве и направлению наблюдения предсказывает объёмную плотность и цвет. Модель обучают по набору изображений сцены с известными или оценёнными параметрами камер. После обучения она позволяет выполнять синтез новых ракурсов, то есть строить изображения сцены из положений камеры, отсутствовавших в обучающей выборке.[1]
NeRF относится одновременно к компьютерному зрению, компьютерной графике и нейронному рендерингу. Нейронным рендерингом называют методы формирования изображений, в которых часть модели сцены или процесса визуализации представлена обучаемой нейронной сетью. NeRF также является неявным представлением: геометрия сцены не хранится непосредственно в виде списка поверхностей, а определяется значениями некоторой функции.
В отличие от полигональной сетки, состоящей из вершин, рёбер и граней, облака точек или дискретной воксельной решётки, классическое нейронное поле излучения задаёт сцену как непрерывную функцию. Её параметры хранятся преимущественно в весах нейронной сети.
Содержание |
Мотивация
Одна из основных задач трёхмерного компьютерного зрения состоит в восстановлении представления сцены по двумерным изображениям. Такое представление должно описывать расположение поверхностей, свободное пространство, текстуру объектов, видимость отдельных участков и возможную зависимость внешнего вида от направления наблюдения.
Традиционные методы трёхмерной реконструкции могут явно строить карты глубины, облака точек или полигональные поверхности. Карта глубины сопоставляет каждому пикселю расстояние от камеры до наблюдаемой точки сцены. Облако точек представляет объект набором трёхмерных координат, а полигональная модель приближает поверхность геометрическими гранями.
Явные представления удобны для измерений, редактирования и физического моделирования, однако воспроизведение тонких структур, частичной прозрачности, бликов и сложной зависимости цвета от ракурса часто требует дополнительных моделей.
NeRF формулирует задачу иначе: вместо непосредственного восстановления поверхности обучается функция, объясняющая исходные изображения через дифференцируемую модель формирования изображения. Дифференцируемой называют модель, производные которой по обучаемым параметрам можно вычислять и использовать для оптимизации. Благодаря этому геометрия, видимость и внешний вид сцены настраиваются совместно по ошибке между реальными и синтезированными изображениями.[1]
Математическая модель
Поле излучения
Классическое нейронное поле излучения представляет сцену функцией
Здесь обозначает трёхмерное пространство, а
— множество единичных направлений. Входами функции являются:
-
— координата точки в трёхмерном пространстве;
-
— единичный вектор направления наблюдения.
Функция возвращает:
-
— объёмную плотность в точке;
-
— цвет точки для заданного направления наблюдения;
-
— набор обучаемых параметров модели.
Объёмная плотность определяет, насколько вероятно завершение луча в окрестности данной точки. Она не является плотностью вещества в обычном физическом смысле. В NeRF это обучаемая величина, используемая для описания непрозрачности и расположения видимого содержимого сцены.
Цвет обычно представляется тремя компонентами RGB, нормированными на интервал от 0 до 1. Его зависимость от направления позволяет моделировать эффекты, меняющиеся при перемещении наблюдателя, например зеркальные блики.
В исходной архитектуре функция реализована как многослойный перцептрон. Многослойный перцептрон, или MLP, — это полносвязная нейронная сеть, состоящая из последовательности слоёв. Каждый слой выполняет линейное преобразование входного вектора, после которого обычно применяется нелинейная функция активации. Плотность в классическом NeRF зависит только от положения точки, тогда как цвет дополнительно зависит от направления наблюдения.[1]
Название «поле излучения» связано с понятием яркости излучения в оптике. Однако предсказываемый NeRF цвет следует понимать как эффективное представление наблюдаемого RGB-сигнала, а не как полную физическую модель распространения света.
Луч камеры
Каждому пикселю изображения соответствует луч
где — оптический центр камеры,
— направление луча, а
— расстояние вдоль луча. Значение
задаёт трёхмерную точку, находящуюся на расстоянии
от камеры.
Цвет пикселя вычисляется интегрированием вкладов точек вдоль луча:
где и
задают ближнюю и дальнюю границы рассматриваемого участка луча, а
— накопленная прозрачность. Она выражает долю света, которая достигает точки , не будучи поглощённой на предыдущем участке луча.
Множитель задаёт относительный вклад окрестности точки в окончательный цвет пикселя. Если перед точкой находится область с большой плотностью, значение прозрачности уменьшается и вклад более удалённых точек становится малым.
Эта модель является вариантом интеграла объёмного рендеринга. Объёмным рендерингом называют построение изображения по значениям цвета и плотности, заданным во всём трёхмерном объёме, а не только на поверхности объекта.[1]
Дискретный рендеринг
Точный интеграл невозможно вычислить конечным числом операций, поэтому на практике его заменяют суммой. Вдоль луча выбирают точки с параметрами и вычисляют
где
а — длина интервала между соседними отсчётами.
Величина задаёт непрозрачность отдельного интервала. Значение
показывает, какая часть света дошла до этого интервала, а
определяет вклад его цвета в итоговый пиксель.
При вероятностной интерпретации можно рассматривать как приближённую вероятность того, что луч впервые завершится в
-м интервале. Те же веса позволяют оценить ожидаемую глубину:
Таким образом, карта глубины может быть получена из NeRF без непосредственного обучения на истинных значениях глубины. Однако эта оценка является средним по распределению плотности и не всегда соответствует точному положению геометрической поверхности.
Архитектура классического NeRF
Позиционное кодирование
Обычный многослойный перцептрон при обучении часто сначала воспроизводит плавные, низкочастотные изменения функции. Это явление связано со спектральным смещением: нейронная сеть легче изучает медленно меняющиеся зависимости, чем мелкие детали и резкие переходы.
Поэтому непосредственная передача координат в сеть приводит к размыванию мелких текстур. В классическом NeRF координаты преобразуют с помощью синусоидального позиционного кодирования:
Здесь — одна координата входа, а
определяет число используемых частот. Преобразование отдельно применяется к каждой компоненте положения и направления.
Позиционное кодирование не является самостоятельной моделью сцены. Оно переводит координаты в пространство синусоидальных признаков разных частот, благодаря чему многослойному перцептрону легче приближать мелкие детали и быстро меняющиеся зависимости.[1]
Разделение плотности и цвета
Сеть сначала обрабатывает пространственную координату и вычисляет плотность вместе со скрытым представлением точки. Скрытым представлением называют вектор признаков, который формируется внутри нейронной сети и не имеет заранее заданного физического смысла.
Затем скрытые признаки объединяются с направлением наблюдения и преобразуются в RGB-цвет. Такое разделение отражает предположение, что геометрия сцены не зависит от положения наблюдателя, тогда как видимый цвет может зависеть от ракурса.
Если позволить плотности свободно зависеть от направления, модель сможет объяснять различия между изображениями изменением геометрии для разных камер. Это затруднит получение согласованного трёхмерного представления.
Иерархическая выборка
Равномерное размещение большого количества точек вдоль каждого луча вычислительно неэффективно, поскольку значительная часть отсчётов может находиться в пустом пространстве.
В исходной модели применяются две сети:
- грубая сеть оценивает распределение плотности по первоначальным отсчётам;
- на основе полученных весов выбираются дополнительные точки в наиболее значимых интервалах;
- точная сеть вычисляет окончательный цвет по объединённому набору отсчётов.
Этот подход называется выборкой по значимости. При такой выборке больше вычислений направляется в области, которые с высокой вероятностью влияют на цвет пикселя. В контексте NeRF её также называют иерархической выборкой, поскольку новые отсчёты строятся на основе результатов предыдущего, более грубого этапа.[1]
Обучение
Исходные данные
Для обучения классического NeRF обычно требуются несколько RGB-изображений одной неподвижной сцены, внутренние параметры камер и положение каждой камеры относительно сцены.
К внутренним параметрам относятся характеристики, связывающие координаты пикселя с направлением луча, например фокусное расстояние и положение главной точки изображения. Положение и ориентация камеры называют внешними параметрами.
Параметры камер часто оценивают методами структуры из движения. Структура из движения — это восстановление трёхмерного расположения точек и движения камер по набору двумерных изображений. Обычно алгоритм находит соответствующие ключевые точки на разных кадрах и подбирает параметры камер, согласующиеся с этими соответствиями.
Ошибки в положениях камер могут приводить к размытым деталям, двойным границам и искажённой геометрии. Для качественного обучения также желательно, чтобы соседние изображения имели достаточно большое перекрытие и сходную экспозицию.
Функция потерь
На каждой итерации обучения из исходных изображений выбирается набор пикселей и соответствующих им лучей. Для каждого луча модель выполняет объёмный рендеринг, после чего предсказанный цвет сравнивается с наблюдаемым:
Здесь — набор лучей в текущей обучающей выборке,
— цвет, синтезированный моделью, а
— цвет соответствующего пикселя исходного изображения.
Выражение обозначает сумму квадратов различий между компонентами RGB. Усреднённая по пикселям величина называется среднеквадратичной ошибкой.
Поскольку операции рендеринга дифференцируемы по параметрам сети, градиент функции потерь вычисляется методом обратного распространения ошибки. Обратное распространение — это алгоритм последовательного вычисления производных функции потерь по параметрам каждого слоя нейронной сети.
Параметры обновляются методом стохастической градиентной оптимизации. При таком обучении градиент оценивается не по всем пикселям сразу, а по случайно выбранной части данных. На практике часто применяется алгоритм Adam, адаптивно изменяющий величину обновления для разных параметров.[1]
Модель обычно не получает истинные значения плотности, формы поверхности или глубины. Эти свойства возникают из требования одновременно воспроизводить изображения, снятые с разных точек зрения.
Интерпретация как задачи машинного обучения
С точки зрения машинного обучения NeRF является моделью координатной регрессии. Регрессией называют предсказание числовых значений по входным признакам. В данном случае входами служат пространственные координаты и направления, а выходами — плотность и цвет.
Нейронную функцию, принимающую координату и возвращающую свойства сигнала в этой координате, называют координатной нейронной сетью. Такие сети используются не только для трёхмерных сцен, но и для представления изображений, звука, геометрии и физических полей.
Дифференцируемый рендерер объединяет локальные предсказания сети вдоль луча в цвет пикселя. Затем ошибка на изображении создаёт обучающий сигнал для всех точек, участвовавших в формировании этого пикселя.
Отдельный классический NeRF обычно обучается для одной сцены. Его веса являются параметрическим представлением конкретного объекта или пространства, а не универсальной моделью, способной без дополнительного обучения реконструировать произвольные сцены.
История
Математические основы NeRF возникли раньше самого термина. Методы объёмного рендеринга, использующие модели испускания и поглощения света, применялись в компьютерной графике задолго до распространения глубоких нейронных сетей.[1]
В 2010-х годах активно развивались методы синтеза новых ракурсов по набору изображений, включая световые поля, многоплоскостные изображения и обучаемые модели нейронного рендеринга. Световое поле описывает интенсивность света для множества лучей, проходящих через сцену. Многоплоскостное изображение представляет сцену набором полупрозрачных плоскостей, расположенных на разных глубинах.
Например, метод Local Light Field Fusion использовал набор локальных световых полей для синтеза видов по изображениям, снятым ручной камерой.[1]
В 2020 году Бен Милденхолл и соавторы представили NeRF как непрерывное нейронное представление сцены, объединяющее координатный многослойный перцептрон, позиционное кодирование, объёмный рендеринг и иерархическую выборку.[1] Работа стала основой большого семейства методов нейронного представления трёхмерных сцен.
Основные расширения
Ускорение обучения и рендеринга
Классический NeRF требует многократного выполнения многослойного перцептрона для каждого пикселя. Для одного луча сеть вызывается во множестве пространственных точек, поэтому обучение и формирование изображения могут быть медленными.
Метод Instant Neural Graphics Primitives, часто называемый Instant-NGP, сочетает небольшую нейронную сеть с обучаемым многомасштабным хеш-кодированием координат. Хеш-кодирование размещает обучаемые признаки в нескольких таблицах разного пространственного разрешения. Для заданной координаты модель извлекает признаки из этих таблиц и передаёт их небольшой нейронной сети.
Такой подход переносит значительную часть сложности представления из многослойного перцептрона в обучаемую структуру признаков и существенно ускоряет оптимизацию.[1]
Другие методы используют разреженные воксельные структуры, тензорные разложения или наборы локальных признаков. Тензорное разложение — это приближение многомерного массива комбинацией более простых компонентов, позволяющее уменьшить память и число вычислений.
Многомасштабное представление
Обычный NeRF моделирует каждый пиксель бесконечно тонким лучом. В действительности пикселю соответствует конечная область пространства. Если расстояние до сцены или разрешение изображения изменяется, игнорирование этой области может приводить к алиасингу.
Алиасингом называют искажения, возникающие при недостаточной частоте дискретизации сигнала. В изображениях он может проявляться ступенчатыми границами, мерцанием и ложными узорами.
В mip-NeRF пиксель рассматривается как конический пучок, а интервалы вдоль него — как усечённые конусы. Вместо кодирования одной точки модель кодирует область пространства при помощи интегрированного позиционного кодирования. Это позволяет учитывать размер проекции пикселя в сцене и улучшает качество при изменении масштаба.[1]
Неограниченные сцены
Исходная формулировка особенно удобна для объектов, расположенных внутри заранее заданного ограниченного объёма. Для улиц, больших помещений и сцен с далёким фоном возникают значительные различия пространственных масштабов.
Mip-NeRF 360 вводит нелинейное сжатие удалённого пространства, изменённую процедуру выборки и регуляризацию весов вдоль луча. Регуляризацией называют дополнительное ограничение функции потерь, которое поощряет желательные свойства решения и уменьшает вероятность вырожденного поведения модели.
Эти изменения позволяют моделировать сцены, содержание которых не ограничено компактной областью.[1]
Неизвестные параметры камер
Некоторые варианты NeRF совместно оптимизируют представление сцены и параметры камер. Например, NeRF-- позволяет для определённых типов сцен обучать модель без заранее известных внутренних и внешних параметров камер.[1]
Такая совместная оптимизация может быть чувствительна к начальным значениям. Неверные параметры камер и неверная геометрия способны частично компенсировать друг друга, сохраняя сравнительно малую ошибку на изображениях.
Динамические и изменяющиеся сцены
Классическая модель предполагает, что сцена неподвижна, а освещение во время съёмки приблизительно постоянно. Для динамических сцен в функцию могут вводиться время, поле деформаций или отдельные представления формы и движения.
Поле деформаций — это функция, описывающая перемещение каждой точки пространства относительно некоторого эталонного состояния сцены. Эталонное состояние часто называют каноническим пространством.
Другие расширения учитывают изменение освещения, экспозиции, временно появляющиеся объекты и различия между камерами. Такие модели требуют дополнительных ограничений, поскольку геометрия, движение, освещение и свойства камеры могут объяснять одни и те же изменения пикселей.
Преимущества
- Высокое качество синтеза новых ракурсов при достаточном количестве согласованных изображений.
- Непрерывное представление пространства без обязательной плотной воксельной решётки.
- Совместное обучение геометрии, видимости и зависимого от ракурса внешнего вида.
- Возможность обучения непосредственно по RGB-изображениям без обязательных карт глубины.
- Дифференцируемость процесса формирования изображения.
- Возможность получать оценки глубины, прозрачности и распределения плотности как побочные результаты рендеринга.
Ограничения
- Классический NeRF обычно требует отдельного обучения для каждой сцены.
- Обучение и рендеринг исходной модели вычислительно затратны.
- Качество зависит от точности калибровки и оценки положений камер.
- Слабое перекрытие ракурсов создаёт неопределённость в плохо наблюдаемых областях.
- Блики, прозрачность и отражения могут воспроизводиться визуально, но не обязательно соответствуют правильной геометрии.
- Извлечение чистой полигональной поверхности из поля плотности не всегда однозначно.
- Движущиеся объекты, изменение освещения и автоматическая экспозиция нарушают предположения статической модели.
- Экстраполяция далеко за пределы распределения обучающих камер обычно ненадёжна.
- Высокое качество синтезированных изображений не гарантирует геометрической точности реконструкции.
Применения
Нейронные поля излучения применяются для синтеза новых ракурсов, реконструкции объектов и помещений, создания виртуальных экскурсий, телеприсутствия и подготовки трёхмерных материалов для виртуальной и дополненной реальности.
Методы этого семейства также используются для визуализации культурного наследия, моделирования окружения в робототехнике, картографирования, обработки визуальных эффектов и редактирования трёхмерного содержимого.
Прикладная пригодность конкретного варианта NeRF зависит от требований к скорости, геометрической точности, динамике сцены, объёму памяти и способности модели переносить знания между различными объектами.
Связь с другими представлениями
Полигональные сетки
Полигональная сетка явно задаёт поверхность вершинами и гранями. Она удобна для ручного редактирования, анимации, физического моделирования и применения стандартных графических алгоритмов.
NeRF непосредственно задаёт функцию объёмной плотности и цвета. Поэтому он не требует заранее определённой топологии поверхности, но сложнее преобразуется в редактируемую геометрическую модель. Топологией здесь называют структуру связности между частями поверхности.
Воксельные представления
Воксель является трёхмерным аналогом пикселя. Плотная воксельная решётка делит пространство на ячейки и хранит свойства каждой ячейки явно.
Такая структура обеспечивает быстрый доступ к локальным значениям, но её потребление памяти быстро растёт при увеличении разрешения. Нейронное поле может представлять непрерывную функцию компактнее, однако требует выполнения нейронной сети. Многие быстрые варианты NeRF используют гибрид нейронной сети и разреженной воксельной или хешированной решётки признаков.
Поля знакового расстояния
Поле знакового расстояния сопоставляет каждой точке расстояние до ближайшей поверхности. Знак значения показывает, находится точка снаружи или внутри объекта, а нулевой уровень функции соответствует поверхности.
Такое представление непосредственно ориентировано на геометрию. Поле плотности NeRF ориентировано прежде всего на правильное формирование изображений и не обязано образовывать резкую поверхность.
Существуют нейронные методы, объединяющие дифференцируемый рендеринг с полями знакового расстояния. Их целью обычно является более точное восстановление геометрии при сохранении возможности обучения по изображениям.
Световые поля
Световое поле параметризует лучи и сопоставляет им цвета, не обязательно восстанавливая объёмную геометрию. NeRF, напротив, задаёт трёхмерное поле плотности и цвета, а значение отдельного луча получает интегрированием по пространству.
Наличие пространственной структуры помогает согласовывать наблюдения между разными ракурсами. Однако обучение NeRF требует решения более сложной обратной задачи, поскольку модель должна одновременно определить расположение содержимого сцены и его внешний вид.
Оценка качества
Качество синтеза новых ракурсов обычно оценивают на изображениях, которые не использовались при обучении. Часть камер заранее исключают из обучающего набора, после чего модель должна восстановить изображения для этих положений. Такой подход позволяет оценить не простое запоминание обучающих кадров, а способность представления интерполировать между известными ракурсами.
Одной из распространённых метрик является PSNR, или пиковое отношение сигнала к шуму. Она вычисляется на основе среднеквадратичной ошибки между истинным и синтезированным изображениями. Более высокое значение PSNR обычно означает меньшее попиксельное различие, однако метрика слабо учитывает особенности человеческого восприятия.
Метрика SSIM, или индекс структурного сходства, сравнивает локальную яркость, контраст и структуру изображений. Она лучше PSNR отражает сохранение некоторых визуальных закономерностей, но также не полностью соответствует субъективному качеству.
LPIPS представляет собой перцептивное расстояние, вычисляемое по признакам предварительно обученной нейронной сети. Перцептивными называют признаки, различия в которых должны приблизительно соответствовать визуально заметным различиям для человека. Для LPIPS, в отличие от PSNR и SSIM, меньшее значение означает большее сходство.
Сравнение методов только по качеству RGB-изображений является недостаточным. Следует также учитывать время обучения, скорость рендеринга, потребление памяти, количество и расположение обучающих камер, требования к калибровке и устойчивость к изменениям освещения. Для задач трёхмерной реконструкции необходимо отдельно оценивать глубину и геометрию, например сопоставлять предсказанные поверхности с эталонными сканами.
Высокое значение метрик синтеза ракурсов не гарантирует правильной формы объекта. Модель может воспроизводить тестовые изображения при помощи распределённой плотности или сильной зависимости цвета от направления, не соответствующих реальной поверхности.
Практические рекомендации
Качество NeRF в значительной степени определяется способом получения исходных изображений. Сцену следует снимать так, чтобы соседние ракурсы заметно перекрывались, а все области, которые должны быть видимы при дальнейшем рендеринге, присутствовали на нескольких кадрах. Резкие перемещения камеры между снимками затрудняют поиск соответствующих точек и оценку её положения.
Желательно избегать смаза, сильного цифрового шума, автоматического изменения баланса белого и резких колебаний экспозиции. Классическая модель предполагает, что цвет одной и той же точки сцены согласован между изображениями, за исключением зависимости от направления наблюдения. Изменение параметров камеры или освещения нарушает это предположение.
До обучения необходимо проверять качество калибровки. Ошибочные положения камер часто проявляются в виде размытия, раздвоенных контуров и плавающих фрагментов плотности. Полезно визуализировать восстановленные положения камер и разреженное облако точек, полученное методом структуры из движения.
Масштаб сцены и систему координат обычно нормализуют, чтобы интересующая область занимала предсказуемый диапазон координат. Это повышает численную устойчивость и упрощает выбор ближней и дальней границ лучей. Для неограниченных сцен следует применять модели, специально учитывающие удалённый фон, а не механически увеличивать область классического NeRF.
Обучающие и тестовые ракурсы необходимо разделять заранее. Близкие кадры одной непрерывной видеопоследовательности могут быть почти одинаковыми, поэтому случайное распределение соседних кадров между обучением и тестированием способно завысить оценку качества.
При диагностике следует анализировать не только синтезированные RGB-изображения, но и карты глубины, накопленной прозрачности и весов вдоль лучей. Визуально правдоподобный цвет может скрывать распределённую или ошибочно расположенную плотность. Особенно осторожно следует интерпретировать результаты на отражающих, прозрачных и слабо текстурированных поверхностях.
Для первого самостоятельного изучения полезно реализовать упрощённую версию NeRF. Минимальная реализация должна включать построение лучей камеры, выборку точек, позиционное кодирование, многослойный перцептрон, дискретный объёмный рендеринг и функцию потерь по цвету пикселей. Такая реализация позволяет проследить связь между геометрией камеры, весами объёмного рендеринга и градиентным обучением модели.
См. также
- Нейронный рендеринг
- Неявное нейронное представление
- Координатная нейронная сеть
- Объёмный рендеринг
- Синтез новых ракурсов
- Структура из движения
- Фотограмметрия
- Световое поле
- Поле знакового расстояния
- Трёхмерная реконструкция
- Дифференцируемый рендеринг
- Многослойный перцептрон
- Позиционное кодирование

