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

Differentiable Rendering

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

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

Почему рендеринг требует особой обработки#

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

  • Приближённые градиенты: OpenDR (2014) и Neural 3D Mesh Renderer (2018) используют стандартный растеризатор на прямом проходе и приближённо вычисляют градиенты на обратном проходе.
  • Мягкая растеризация: SoftRas (2019) заменяет жёсткое покрытие каждого пикселя вероятностью, плавно убывающей с расстоянием до края треугольника, и смешивает перекрывающиеся грани. Поэтому каждый пиксель рядом с краем передаёт градиент геометрии.
  • Физически обоснованный дифференцируемый рендеринг: Трассировщики лучей, такие как redner (2018) и Mitsuba 3 (2022), выбирают точки на контурах силуэтов или перепараметризуют интеграл рендеринга, обеспечивая градиенты для теней, отражений и непрямого света.
  • Объёмный рендеринг и рендеринг сплатов: Альфа-композитинг плотностей вдоль каждого луча в NeRF и растеризованные 3D-гауссианы в гауссовом сплаттинг-представлении по своей конструкции являются гладкими функциями параметров.

Мягкий растеризатор для одного диска демонстрирует эту идею в PyTorch: покрытие — это сигмоида от знакового расстояния до края диска, поэтому пиксели рядом с границей передают градиенты его центра и радиуса.

import torch

# Pixel coordinates of a 64x64 image
ys, xs = torch.meshgrid(torch.arange(64.0), torch.arange(64.0), indexing="ij")


def render(center, radius):
    """Soft-rasterize a disk: pixel coverage is a sigmoid of the signed distance to its edge."""
    distance = torch.sqrt((xs - center[0]) ** 2 + (ys - center[1]) ** 2 + 1e-6)
    return torch.sigmoid(radius - distance)


# Target image: a disk at (40, 24) with radius 12
target = render(torch.tensor([40.0, 24.0]), torch.tensor(12.0))

# Recover the scene from a wrong guess by backpropagating the pixel loss
center = torch.tensor([20.0, 40.0], requires_grad=True)
radius = torch.tensor(6.0, requires_grad=True)
optimizer = torch.optim.Adam([center, radius], lr=0.5)
for _ in range(300):
    loss = ((render(center, radius) - target) ** 2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(f"center {center.detach().round(decimals=1).tolist()}, radius {radius.item():.1f}")

Он выводит center [40.0, 24.0], radius 12.0: начиная примерно в 26 пикселях от цели и с половиной радиуса, оптимизатор Adam восстанавливает диск, используя только различия между пикселями. При жёстком покрытии (distance < radius).float() функция потерь не передала бы градиент ни одному из параметров.

Примеры применения в реальных условиях#

Функции потерь для силуэтов, подобные приведённой в коде, сравнивают маску отрендеренного объекта с наблюдаемой маской. Для фотографий без разметки модель сегментации экземпляров, например YOLO26 (yolo26n-seg.pt), формирует маску для каждого объекта на изображении.

  • 3D-реконструкция: NeRF (2020) и 3D Gaussian Splatting (2023) восстанавливают сцену по десяткам фотографий с известными положениями камер. Затем Gaussian Splatting рендерит новые ракурсы в реальном времени — со скоростью 30 кадров в секунду или выше при разрешении 1080p.
  • Аппроксимация тела человека: Методы с моделью тела подгоняют параметрическую сетку, например SMPL, к изображению, сопоставляя её отрендеренный силуэт и проекции суставов с маской и ключевыми точками человека.
  • Генерация 3D-моделей по тексту: DreamFusion (2022) оптимизирует NeRF так, чтобы его изображения с произвольных ракурсов получали высокие оценки от диффузионной модели преобразования текста в изображение. Так создаются 3D-объекты без обучающих данных в 3D.

Explore solutions

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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