Render.ru
Поддержать
Сохранить
  • ПРЕДЛОЖИТЬ ПРОЕКТ
  • ДОБАВИТЬ В КОНТАКТЫ
1Записей
3Следят
10Читает
28.0 KЗаходов

Улучшение работы деноизера в Blender. Метод "TreeZod"

Урок

Всем привет! Меня зовут Андрей и я хочу поделиться с вами своим открытием: продвинутым методом шумоподавления в Blender, который я назвал - "TreeZod".

Denoiser_TreeZod_1.0.png

Как появился этот метод:

Пока я работал над своим проектом кресла «Ангела - Mercy» для челленджа «Эталон сидения», который проводил школа "Кайно", столкнулся с проблемой размытия текстур в некоторых местах. Естественно, первым делом я обратился к своему преподавателю и с его лёгкой подачи по этому вопросу был послан смотреть запись стрима по этой теме. Информация из стрима мне действительно помогла – я освежил ее в памяти и пришел к выводу, что нодовый деноизер лучше всего справляется с задачей. Но, все же, я получал не тот результат, который хотел. Тогда я начал экспериментировать с деноизером. Так совпало, что совсем недавно я изучил дополнительный курс по работе с Photoshop-ом, где мне приходилось долго и нудно работать с различными масками, отделяя нужные мне объекты от фона. Я начал вспоминать, как решал эту задачку и тут меня осенило: одним из способов отделения было создание маски, используя разные каналы RGB! Если стандартный нодовый деноизер убирает шум, используя цветное изображение, то почему бы не попробовать обработать в монохроме? В итоге, я разделил картинку с помощью нод на отдельные каналы, пропустил каждый канал через «Denoise», а затем собрал обратно в цветное изображение. И первый же тест на моём проекте с креслом показал отличный результат.

Настройка деноизера «TreeZod»: (Blender 3.0.1)
Так выглядит связка стандартного нодового динойзера (Blender 3.0.1):

Подключение стандартной связки деноизера.PNG

Шаг 1: Подготовка к работе

— Подключаем Denoising Data;
— Проверяем, что все остальные деноизеры отключены (на вкладке «Рендер»);
— Открываем редактор Compositor и ставим галочку «Use Nodes».


Data.PNG

Шаг 2: Разделение на монохром

— Разделяем изображение по RGB-каналам с помощью ноды Separate RGBA (находится в разделе Converter). Таких нод нам понадобится 3 шт;
— Подключаем соответствующие выходы из ноды Render Layers в Separate RGBA, как показано на схеме.

Step2.png

Шаг 3: Прогонка через «Шумодав»

— В разделе «Filter»: добавляем ноду Denoise для каждого RGB-канала;
— Подключаем каждый канал отдельно в свой Denoise, как показано на схеме ниже.

Step3.png

P.S. Альфа канал можно не подключать, т.к. нет смысла раскладывать его по каналам RGB — он монохромный. Хотя, я лично проводил тесты с подключённой альфой, но на результат это никак не повлияло.

Шаг 4: Финальная сборка

— Собираем все каналы обратно через ноду Combine RGBA.

Step4.png

Результаты моих тестов:

В тестах участвовали все известые мне методы шумоподавления, встроенные в сам Blender:
— “Default” – стандартная нодовая связка;
— “OptiX” – автоматический встроенный деноизер (albedo + normal);
— “OpenImageDenoise” - автоматический встроенный деноизер (тестировался в режиме accurate – albedo + normal);
— “TreeZod” – стандартная нодовая связка + моя доработка.

Сразу хочу отметить, что «TreeZod» улучшает работу существующего деноизера в местах, где не справляется стандартная нодовая связка, а не создает новый.
Лучше всего работа этого метода видна на рендерах большого разрешения, например 3840 x 2160.Для удобства я оценил результативность всех деноизеров количеством звёзд.


Пример 1.
Здесь работа нового метода лучше всего видна на подголовнике кресла. Это связано с использованием глубины резкости на камере, т.к. весь фокус направлен на спинку кресла.

1_Примеры_128+stars.png


Для того, чтобы лучше увидеть фактуру белого материала (зернистость по высоте), я отключил глубину резкости, приблизил камеру и понизил количество семплов до 64.
2_Примеры_64+stars.png

Следующие примеры из других проектов, которые изначально были заточены под движок Eevee.

Пример 2.
Здесь можно оценить качество картинки целиком.

4_Примеры_128_room.png


Пример 3.
Рендер 64 семпла, без глубины резкости.

3_Пример_64_default+TreeZod+2.PNG

Пример 4.
Здесь работа деноизера лучше всего прослеживается на тыкве.

Пример_room_128.png

Другие примеры.
Еще примеры в полном разрешении можно скачать по ссылке: https://disk.yandex.ru/d/VzImnaCMkXufGg . В именах файлов указаны настройки и zoom.

Заключение.

Теперь я пользуюсь только этим методом, так как работает он лучше, чем уже имеющиеся деноизеры. И рад поделиться им с вами – тестируйте, пользуйтесь и творите.
Мне бы очень хотелось, чтобы разработчики Blender обратили внимание на данный метод и на его основе изобрели еще более качественный денойз-инструмент, поэтому не жалеем сил в распространении этой статьи. Спасибо!)

606
Комментарии:0
по поступлениюВсе языкиТолько русский