Сцена задаётся не сеткой и не точками, а : по координате и направлению взгляда она возвращает цвет и плотность. Картинка получается объёмным вдоль луча.
- сигмоида: сжимает число в интервал от 0 до 1
- награда, полученная агентом на шаге
- параметр SVM: цена нарушения зазора
- число объектов в выборке
- интегрирование — непрерывный аналог суммы
Ключевые тезисы
- Обучение идёт только по набору снимков с известными позами — разметка не нужна.
- Позиционное кодирование координат обязательно: без него сеть выдаёт размытое пятно.
- Классический обучается часами и рендерит медленно; хеш-сетки ускорили это на порядки.
Какую задачу решает
Привычные представления сцены дискретны: сетка из треугольников, воксели, . яркости заменяет их функцией. Небольшая сеть принимает координату в пространстве и направление взгляда, а возвращает цвет и плотность — насколько вещество в этой точке непрозрачно.
Картинка получается объёмным . Из камеры через пиксель пускается луч, вдоль него берутся точки, у сети спрашивается цвет и плотность, и всё это складывается с учётом накопленного затухания. Операция дифференцируема целиком, поэтому расхождение отрисованного с настоящим снимком можно свести спуском.
Обучение не требует никакой разметки — только набор фотографий с известными позами, которые даёт . Результат поражает качеством на новых ракурсах: полупрозрачность, отражения и тонкие структуры получаются там, где полигональная реконструкция беспомощна.
Обучите сеть напрямую на координатах (x, y, z) — получите размытое облако без деталей. Причина в том, что полносвязная сеть с гладкими активациями плохо приближает высокочастотные функции: она склонна к плавным зависимостям, а текстура и края — это как раз резкие перепады. Позиционное кодирование раскладывает каждую координату по синусам и косинусам растущих частот, и то, что раньше было одной медленной координатой, становится набором быстро меняющихся . Сеть получает возможность различать точки, отстоящие на миллиметр, — и вместо пятна появляется резкая картинка. Тот же приём, по той же причине, стоит в .
Подробный разбор
- стандартное отклонение — разброс величины
- параметры модели
- награда, полученная агентом на шаге
- истинное значение целевой переменной
- объект: вектор признаков
Сеть принимает точку пространства и направление взгляда, возвращает цвет и плотность. Плотность от направления не зависит — это свойство вещества. Цвет зависит: так передаются блики, которые перемещаются при смене ракурса.
Никакой явной геометрии в модели нет: ни вершин, ни граней, ни вокселей. Вся сцена — это веса небольшой полносвязной сети, обычно восемь слоёв по 256 нейронов.
Отсюда и главное ограничение, и главное достоинство. Достоинство — непрерывность: можно спросить о любой точке с любой точностью. Ограничение — непрозрачность: чтобы что-то изменить в сцене, нужно переучивать сеть.
- сигмоида: сжимает число в интервал от 0 до 1
- награда, полученная агентом на шаге
- параметр SVM: цена нарушения зазора
- число объектов в выборке
- интегрирование — непрерывный аналог суммы
- экспонента
Смысл прост. Вдоль луча накапливается цвет; вклад каждой точки пропорционален её плотности и тому, сколько света от неё дошло до камеры. Функция — накопленная прозрачность: если перед точкой уже стояло плотное вещество, её вклад гасится.
Интеграл считают численно: берут вдоль луча несколько десятков точек и суммируют. Вся операция дифференцируема, поэтому от ошибки в пикселе доходит до весов сети.
Ключевое отличие от : здесь нет понятия «поверхность». Луч не останавливается на первом препятствии, а проходит сцену насквозь, накапливая вклад. Именно поэтому дым, стекло и волосы получаются естественно.
- коэффициент, управляющий вкладом дальних членов
- вероятность (или плотность распределения)
- функция потерь — то, что минимизируется при обучении
- число π ≈ 3.14159
Полносвязная сеть с гладкими активациями имеет сильную склонность к низким частотам: она легко выучивает плавные зависимости и с трудом — резкие. Текстура и края как раз резкие, поэтому обучение напрямую на координатах даёт мыло.
Кодирование раскладывает координату по синусам растущих частот. Точки, отличающиеся на миллиметр, дают заметно разные высокочастотные компоненты, и сеть получает возможность их различать.
Слишком мало (L = 4) — детали не появятся. Слишком много (L = 20) — сеть начнёт запоминать шум обучающих снимков и на новых ракурсах пойдут артефакты. В исходной работе взяли L = 10 для координат и L = 4 для направления взгляда: направление меняет цвет плавно, ему высокие частоты не нужны.
Большая часть луча проходит через воздух, где плотность ноль. Равномерная выборка тратит на пустоту столько же вычислений, сколько на поверхность, — расточительно.
- Грубая сеть считает плотность в 64 равномерно распределённых точках.
- Из полученного распределения плотности строится вероятностная плотность вдоль луча.
- Тонкая сеть берёт ещё 128 точек, сэмплированных по этому распределению — то есть там, где вещество.
- Ошибка считается по обеим сетям сразу.
Это тот же приём, что и выборка по значимости в методах Монте-Карло: тратить вычисления там, где подынтегральная функция велика.
| Метод | Идея | Обучение |
|---|---|---|
| (2020) | большая сеть, всё в весах | 1–2 суток |
| Plenoxels | воксельная сетка без сети вовсе | минуты |
| Instant-NGP | многоуровневая | секунды–минуты |
| явные примитивы вместо поля | минуты |
Общий принцип ускорения один: перенести ёмкость из весов сети в явную структуру данных, индексируемую координатой. Сеть остаётся, но становится крошечной — её задача сводится к декодированию , а не к запоминанию всей сцены.
Где применяется
- Синтез новых видовОблёт сцены, снятой десятком фотографий.
- Оцифровка предметовКаталог товаров, где вещь можно повернуть.
- Виртуальное производствоСъёмочная площадка, воссозданная по фотографиям.
- Реконструкция геометрииИз поля плотности извлекается поверхность.
Плюсы, минусы и альтернативы
Плюсы
- Фотореалистичное качество на новых ракурсах.
- Обучается только по снимкам с позами — без сканеров и разметки.
- Естественно передаёт полупрозрачность, дым, тонкие структуры.
- Представление компактно: сеть весит мегабайты вместо гигабайтов сетки.
Минусы
- Классическая версия обучается часами и рендерит секундами на кадр.
- Нужны точные позы камер: ошибка превращается в размытие.
- Плохо обобщается за пределы снятой области — экстраполяция разваливается.
- Сцена статична: движение внутри кадра требует отдельных расширений.
Брать, если
- Нужен фотореалистичный вид сцены с произвольного ракурса.
- Есть плотный набор снимков с хорошим перекрытием.
Не брать, если
- Нужен в реальном времени — берите .
- Нужна редактируемая полигональная модель для игрового движка.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Нейронный рендеринг
3D Gaussian Splatting85%
Гауссовы сплаты · Трёхмерное зрениеСцена — это миллионы трёхмерных гауссиан с цветом и прозрачностью. Их проекция на экран считается напрямую, поэтому рендеринг идёт в реальном времени.
Rendering85%
Рендеринг · Трёхмерное зрениеОбратная зрению задача: по описанию сцены получить изображение. Понимание рендеринга нужно, чтобы обучать модели через сравнение отрисованного с настоящим.
Structure from Motion85%
Восстановление структуры по движению · Трёхмерное зрениеПо набору неупорядоченных снимков одновременно находим положения камер и трёхмерные точки сцены. Классическая основа фотограмметрии и вход почти любого 3D-пайплайна.
Parametric Body Models85%
Параметрические модели тела · Трёхмерное зрениеТело человека описывается десятком чисел формы и позой суставов. Модель превращает их в трёхмерную сетку — это резко сужает пространство поиска при восстановлении по фото.
Diffusion85%
Диффузия · Генеративный ИИИтеративное расшумление — текущий стандарт генерации изображений, видео и аудио.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Поле яркости
Функция от точки и направления, возвращающая цвет и плотность.
Разбор ниже: Сцена как функцияОбъёмный рендеринг
Интегрирование цвета вдоль луча с учётом затухания. Заменяет растеризацию.
Разбор ниже: Объёмный рендерингПозиционное кодирование
Разложение координат по синусам разных частот. Без него сеть выдаёт размытое пятно.
Разбор ниже: Позиционное кодированиеИерархическая выборка
Грубая сеть подсказывает, где вдоль луча стоит взять больше точек.
Разбор ниже: Иерархическая выборкаХеш-сетка
Обучаемые в многоуровневой таблице вместо большой сети — ускорение на порядки.
Разбор ниже: Как это ускорилиГлава «Трёхмерное зрение» последний раз правилась . Нашли ошибку — напишите.