Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Inverse Rendering

Инверсный рендеринг позволяет по фотографиям восстановить форму, материалы, освещение и параметры камеры, благодаря которым они были созданы, а затем менять освещение и материалы.

Обратный рендеринг — это процесс восстановления физической сцены по одному или нескольким изображениям: трехмерной формы объектов, материалов их поверхностей, освещения и камеры, сделавшей снимок. В компьютерной графике рендеринг идет вперед: описание сцены преобразуется в пиксели. Обратный рендеринг обращает ту же физику вспять и ищет параметры сцены, которые воспроизведут наблюдаемые фотографии. Он находится на стыке компьютерного зрения и графики и также называется обратной графикой. В диссертации Стивена Маршнера 1998 года, защищенной в Корнеллском университете, Inverse Rendering for Computer Graphics, восстановление освещения и отражательной способности поверхностей по фотографиям рассматривалось как обратные задачи такого рода.

Анализ через синтез#

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

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

import torch
import torch.nn.functional as F

# Unit normals of a sphere seen head-on, on a 64 x 64 pixel grid
y, x = torch.meshgrid(torch.linspace(-1, 1, 64), torch.linspace(-1, 1, 64), indexing="ij")
z = (1 - x**2 - y**2).clamp(min=0).sqrt()
normals = torch.stack([x, y, z], dim=-1)[z > 0]

# Lambertian "photo" lit from a direction the optimizer never sees, with albedo 0.8
photo = 0.8 * (normals @ F.normalize(torch.tensor([0.6, -0.4, 0.7]), dim=0)).clamp(min=0)

# Fit light direction and albedo: render, compare with the photo, follow the gradients
light = torch.tensor([0.0, 0.0, 1.0], requires_grad=True)
albedo = torch.tensor(0.3, requires_grad=True)
optimizer = torch.optim.Adam([light, albedo], lr=0.02)
for _ in range(500):
    render = albedo * (normals @ F.normalize(light, dim=0)).clamp(min=0)
    loss = (render - photo).pow(2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(f"Light direction: {F.normalize(light.detach(), dim=0).numpy().round(3)}, albedo: {albedo.item():.3f}")

Программа выводит Light direction: [ 0.597 -0.398 0.697], albedo: 0.800 — в точности скрытые значения. В производственных системах цикл остается тем же, но вместо однострочной модели затенения используется полный перенос света, а неизвестными становятся сетки, текстурные карты и освещение окружения.

Почему задача неоднозначна#

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

  • Больше наблюдений: фотографии объекта с разных ракурсов или при нескольких известных источниках света, как в фотометрическом стерео, дают гораздо больше информации о форме и материале, чем один снимок.
  • Выученные априорные знания: Сети, обученные на больших коллекциях отрендеренных сцен, по одному изображению предсказывают вероятные нормали, материалы или освещение и дают оптимизатору хорошую начальную оценку.
  • Известная геометрия: Если форма получена с помощью датчика глубины или модели глубины, неизвестными остаются только материалы и освещение.

Оценка глубины по одному изображению предоставляет такую геометрию для обычных фотографий. Модели глубины Ultralytics YOLO26 предсказывают карту глубины в метрах для каждого пикселя на основе одного изображения RGB, а вычисленные по ее градиентам нормали поверхности задают геометрию освещения, которая в примере со сферой считается известной.

Обратный рендеринг, реконструкция и нейронный рендеринг#

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

Съёмка объектов, дополненная реальность и визуальные эффекты#

  • Оцифровка 3D-объектов: Розничные сети и игровые студии сканируют реальные товары и создают 3D-объекты с отдельными картами цвета, шероховатости и нормалей поверхности, чтобы одна модель корректно отображалась при любом освещении на странице магазина или в игровом движке.
  • Дополненная реальность: Фреймворки дополненной реальности, например ARCore от Google, оценивают освещение помещения по видеопотоку с камеры, поэтому виртуальные объекты получают соответствующие затенение, тени и отражения.
  • Визуальные эффекты: Установки Light Stage, впервые представленные Полом Дебевеком и его коллегами в 2000 году, фотографируют лицо исполнителя при множестве направлений освещения, чтобы восстановить его отражательную способность и позволить студиям менять освещение цифрового лица под любой кадр.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения