Comments 22
Чёртов мобильный хабр — попытался прокрутить страницу наверх до статьи, а она решила обновиться и стёрла комментарий.
В общем, смысл такого рода нейросеток в том, что им на вход подаются не только картинка 640×480, но и полноценные текстуры из памяти видеокарты, положение моделек в сцене (чтобы разделять грани смежных объектов), materialId и прочая. По сути — перекладывание работы с блоков растеризации на тензорные ядра.
Но хотелось бы видеть не только картинки "before/after/target", но и попиксельную разницу между "after" и "target" через вычитание.
Впрочем, надо оригинал почитать, может, я что-то неправильно понял.
Да, мне тоже показалось странным, что они восстанавливают из из мелкой картинки большую — но она всего в четыре раза больше по линейным размерам, и в шестнадцать — по площади.
Возможно, эти коллизии, наоборот, помогают с анти-алиасингом на стыке объектов. Впрочем, тут ещё вопрос с прозрачностью — и я никогда не мог понять, как можно сохранить materialId текстуры под стеклом и текстуру самого стекла в одном пикселе не прибегая к ухищрениям вроде дополнительных карт.
![image](https://habrastorage.org/getpro/habr/post_images/bb5/d0b/ad1/bb5d0bad1c83e6e6da9eb3172e8ac77b.png)
At inference time, our neural network takes as input the rendering attributes (color, depth map and dense motion vectors per frame) of both current and multiple previous frames, rendered at a low resolution. The output of the network is a high-resolution color image corresponding to the current frame. The network is trained with supervised learning. At training time, a reference image that is rendered at the high resolution with anti-aliasing methods, paired with each low-resolution input frame, is provided as the target image for training optimization.
Т.е. они утверждают что вытащили такие мелочи как шрифт из серии предыдущих кадров.
Т.е. из одной каши пикселей такое не вытянуть — а вот из кучи каш пикселей — вполне возможно. Но как примеры показаны отдельные кадры, а стоило бы показать серию предыдущих кадров и итоговое для текущего.
Во время обучения с каждым входящим кадром низкого разрешения сопоставляется опорное изображение высокого разрешения с методами сглаживания, которое является целевым изображением для оптимизации обучения.
Вот откуда. С таким же успехом можно было просто пронумеровать кадры и сопоставить картинку высокого разрешения с номером.
Нейросеть видела что там написано на этапе обучения и по памяти восстановила, я так понял. Тоже обратил внимание на этот текст. Вот если бы текст был динамическим т.е. менялся каждый раз (допустим это часть головоломки в квесте), интересно как в таком случае она справилась?
Нейросеть-это когда персонажу глаз на ж@пе нарисовали, потому что там складка ткани очень похожая. а тут слишком все чистенько.
Единственный вопрос насколько метод в этой статье отличается/способен конкурировать с Nvidia DLSS2, который уже в продакшене.
Nvidia, похоже, говорит, что они даже карту движения из игры не требуют, а сами выводят из предыдущих кадров:
https://www.nvidia.com/en-us/geforce/news/nvidia-dlss-2-0-a-big-leap-in-ai-rendering/
Нейронное суперсэмплирование при рендеринге в реальном времени