Можно было бы: отсканировать геометрию, реконструировать каждый волосок, восстановить все возможны параметры описывающие BSDF кожи, важнейшие для корректного subsurface scattering-а (вплоть до определения меланина и гемоглобина в крови. читай тут). для этого надо было бы снять лицо под 1000 вариантами освещения, а не под 1им. далее провести дорогостоящую симуляцию света, ебясь с Monte Carlo шумом. Meta делала похожее просто :)
Что они сделали:
1️⃣ натравили динамические GSplats на видос таргет-лица для рендера flat-lit face с любого ракурса. ушли от проблемы реконструкции геометрии.
2️⃣ далее тупо применили fine-tuned Stable Diffusion 2.1, на вход которой подается flat-lit render и token sequence с закодированным SH освещением (вместо text-conditioning) => на выходе итоговый relit рендер. обучили используя 123 environment map-ы
всё. 0 PBR. 0 инженерии. но работает 👌
сколько времени занимает рендер? 5-6 секунд на А100 (~ RTX 4090) 1080p. это без оптимизации модели, с 30 диффузными шагами. кто в теме понимают, что можно достичь около SOTA результатов за 1-4 шага, что уже позволяет достичь ~200ms/frame. если еще оптимизировать исполнение модели, уверен что ~50ms более чем возможно! теперь подумайте сколько бы времени заняла симуляция света для похожего качества 🫠 или же денег-часов инженеров, пытающихся её ускорить...
какова мысль: диффузные сетки - как показывает одно из сравнений, приложил ниже - очень хорошо понимают как должны выглядеть лица. и как +- работает light transport. так еще мы их и исполнять учимся в реал-тайме (AI-Minecraft\AI-Doom)
так может быть им и правда стоить доверить часть рендера? т.к. оно просто на просто эффективнее, а еще есть окно для оптимизации, и не требуют реконструкции 1000 параметров?
если есть чем дополнить - пишите 👍
Post #186
424