Симуляция и рендеринг тканей, особенно имеющих сложную структуру, в режиме реального времени довольно сложны и требуют больших затрат ресурсов. Исследование, представленное в рамках конференции SIGGRAPH 2024, было создано учеными из Шаньдунского и Нанкинского университетов в Китае с целью решить эту проблему при помощи нейронных сетей.
Плетеные ткани, как правило, имеют регулярно повторяющуюся структуру и рисунок. Существенное снижение нагрузки и уменьшение объема достигается за счёт автокодировщика – алгоритма, который кодирует паттерн этой структуры в латентный вектор с помощью энкодера, а затем расшифровывает декодером для получения реалистичного отображения.
Упрощённая схема работы энкодер-декодер-структуры нейронной сети
*Энкодер в нейронной сети отвечает за сжатие информации о форме объекта и его внешнем виде в латентный вектор. Для этого алгоритм сначала преобразует геометрическую структуру объекта и параметры его внешнего вида в числовые характеристики. Затем эти характеристики объединяются в один вектор через небольшую нейронную сеть, чтобы представить материал объекта в более компактном виде для дальнейшей обработки декодером.
Декодер же интерпретирует этот латентный вектор в изображение, сохраняя паттерн структуры и материал объекта.
Именно благодаря кодированию ткани в состояние латентного вектора нейросеть может отражать разные материалы, разделяя их, в отличие от некоторых других способов, требующих предварительного обучения под каждый тип материала.
Структура нейронной сети для рендеринга ткани
Создатели представили ряд тестов, которые показали, что их инструмент способен в реальном времени рендерить ткани, а также редактировать параметры, такие как цвет, твёрдость, паттерн ткани и масштаб. В результате был достигнут баланс между качеством, скоростью и оптимальным использованием ресурсов компьютера.
Во время тестов сохранялась частота кадров около 60 FPS (использовалась видеокарта NVIDIA RTX 3090), а объём памяти, занимаемый алгоритмом, составил всего около 5 Мб.
Исследователи надеются, что их труд поможет разработчикам виртуальных пространств создавать реалистичное окружение с более высокой скоростью и меньшими затратами ресурсов. В будущем, разработчики планируют продолжить работу над проектом и найти способ оптимизации рендеринга вязаной ткани, так как её структура значительно отличается от таковой у плетёной ткани.
Источник: habr.com