Трёхмерное зрение

Neural Radiance Fields

Нейронные поля яркости

новинкаНовое или быстро растущее направление

Направления: Прикладные направления · Трёхмерное зрение

Сцена задаётся не сеткой и не точками, а : по координате и направлению взгляда она возвращает цвет и плотность. Картинка получается объёмным вдоль луча.

Обозначения
  • сигмоида: сжимает число в интервал от 0 до 1
  • награда, полученная агентом на шаге
  • параметр SVM: цена нарушения зазора
  • число объектов в выборке
  • интегрирование — непрерывный аналог суммы
Цвет пикселя — интеграл вдоль луча: плотность σ, цвет c и накопленная прозрачность T

Ключевые тезисы

  • Обучение идёт только по набору снимков с известными позами — разметка не нужна.
  • Позиционное кодирование координат обязательно: без него сеть выдаёт размытое пятно.
  • Классический обучается часами и рендерит медленно; хеш-сетки ускорили это на порядки.

Какую задачу решает

Привычные представления сцены дискретны: сетка из треугольников, воксели, . яркости заменяет их функцией. Небольшая сеть принимает координату в пространстве и направление взгляда, а возвращает цвет и плотность — насколько вещество в этой точке непрозрачно.

Картинка получается объёмным . Из камеры через пиксель пускается луч, вдоль него берутся точки, у сети спрашивается цвет и плотность, и всё это складывается с учётом накопленного затухания. Операция дифференцируема целиком, поэтому расхождение отрисованного с настоящим снимком можно свести спуском.

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

Зачем координатам синусы

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

Подробный разбор

5 подтем — объяснения, формулы, примеры и интерактивные графики.

Обозначения
  • стандартное отклонение — разброс величины
  • параметры модели
  • награда, полученная агентом на шаге
  • истинное значение целевой переменной
  • объект: вектор признаков

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

Никакой явной геометрии в модели нет: ни вершин, ни граней, ни вокселей. Вся сцена — это веса небольшой полносвязной сети, обычно восемь слоёв по 256 нейронов.

На практике

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

Обозначения
  • сигмоида: сжимает число в интервал от 0 до 1
  • награда, полученная агентом на шаге
  • параметр SVM: цена нарушения зазора
  • число объектов в выборке
  • интегрирование — непрерывный аналог суммы
  • экспонента

Смысл прост. Вдоль луча накапливается цвет; вклад каждой точки пропорционален её плотности и тому, сколько света от неё дошло до камеры. Функция — накопленная прозрачность: если перед точкой уже стояло плотное вещество, её вклад гасится.

Интеграл считают численно: берут вдоль луча несколько десятков точек и суммируют. Вся операция дифференцируема, поэтому от ошибки в пикселе доходит до весов сети.

На практике

Ключевое отличие от : здесь нет понятия «поверхность». Луч не останавливается на первом препятствии, а проходит сцену насквозь, накапливая вклад. Именно поэтому дым, стекло и волосы получаются естественно.

Обозначения
  • коэффициент, управляющий вкладом дальних членов
  • вероятность (или плотность распределения)
  • функция потерь — то, что минимизируется при обучении
  • число π ≈ 3.14159

Полносвязная сеть с гладкими активациями имеет сильную склонность к низким частотам: она легко выучивает плавные зависимости и с трудом — резкие. Текстура и края как раз резкие, поэтому обучение напрямую на координатах даёт мыло.

Кодирование раскладывает координату по синусам растущих частот. Точки, отличающиеся на миллиметр, дают заметно разные высокочастотные компоненты, и сеть получает возможность их различать.

Сколько частот брать

Слишком мало (L = 4) — детали не появятся. Слишком много (L = 20) — сеть начнёт запоминать шум обучающих снимков и на новых ракурсах пойдут артефакты. В исходной работе взяли L = 10 для координат и L = 4 для направления взгляда: направление меняет цвет плавно, ему высокие частоты не нужны.

Большая часть луча проходит через воздух, где плотность ноль. Равномерная выборка тратит на пустоту столько же вычислений, сколько на поверхность, — расточительно.

  1. Грубая сеть считает плотность в 64 равномерно распределённых точках.
  2. Из полученного распределения плотности строится вероятностная плотность вдоль луча.
  3. Тонкая сеть берёт ещё 128 точек, сэмплированных по этому распределению — то есть там, где вещество.
  4. Ошибка считается по обеим сетям сразу.
На практике

Это тот же приём, что и выборка по значимости в методах Монте-Карло: тратить вычисления там, где подынтегральная функция велика.

МетодИдеяОбучение
(2020)большая сеть, всё в весах1–2 суток
Plenoxelsвоксельная сетка без сети вовсеминуты
Instant-NGPмногоуровневая секунды–минуты
явные примитивы вместо поляминуты

Общий принцип ускорения один: перенести ёмкость из весов сети в явную структуру данных, индексируемую координатой. Сеть остаётся, но становится крошечной — её задача сводится к декодированию , а не к запоминанию всей сцены.

Где применяется

  • Синтез новых видовОблёт сцены, снятой десятком фотографий.
  • Оцифровка предметовКаталог товаров, где вещь можно повернуть.
  • Виртуальное производствоСъёмочная площадка, воссозданная по фотографиям.
  • Реконструкция геометрииИз поля плотности извлекается поверхность.

Плюсы, минусы и альтернативы

Плюсы

  • Фотореалистичное качество на новых ракурсах.
  • Обучается только по снимкам с позами — без сканеров и разметки.
  • Естественно передаёт полупрозрачность, дым, тонкие структуры.
  • Представление компактно: сеть весит мегабайты вместо гигабайтов сетки.

Минусы

  • Классическая версия обучается часами и рендерит секундами на кадр.
  • Нужны точные позы камер: ошибка превращается в размытие.
  • Плохо обобщается за пределы снятой области — экстраполяция разваливается.
  • Сцена статична: движение внутри кадра требует отдельных расширений.

Брать, если

  • Нужен фотореалистичный вид сцены с произвольного ракурса.
  • Есть плотный набор снимков с хорошим перекрытием.

Не брать, если

  • Нужен в реальном времени — берите .
  • Нужна редактируемая полигональная модель для игрового движка.

Чем заменяют

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

Связанные темы

Нейронный рендеринг

3D Gaussian Splatting85%

Гауссовы сплаты · Трёхмерное зрение

Сцена — это миллионы трёхмерных гауссиан с цветом и прозрачностью. Их проекция на экран считается напрямую, поэтому рендеринг идёт в реальном времени.

Rendering85%

Рендеринг · Трёхмерное зрение

Обратная зрению задача: по описанию сцены получить изображение. Понимание рендеринга нужно, чтобы обучать модели через сравнение отрисованного с настоящим.

Structure from Motion85%

Восстановление структуры по движению · Трёхмерное зрение

По набору неупорядоченных снимков одновременно находим положения камер и трёхмерные точки сцены. Классическая основа фотограмметрии и вход почти любого 3D-пайплайна.

Parametric Body Models85%

Параметрические модели тела · Трёхмерное зрение

Тело человека описывается десятком чисел формы и позой суставов. Модель превращает их в трёхмерную сетку — это резко сужает пространство поиска при восстановлении по фото.

Diffusion85%

Диффузия · Генеративный ИИ

Итеративное расшумление — текущий стандарт генерации изображений, видео и аудио.

Следующий шагДальше по связи: 3D Gaussian SplattingСцена — это миллионы трёхмерных гауссиан с цветом и прозрачностью. Их проекция на экран считается напрямую, поэтому рендеринг идёт в реальном времени.Перейти →

Глава «Трёхмерное зрение» последний раз правилась . Нашли ошибку — напишите.