В области VR-шлемов существует метод фовеального рендеринга, при котором существенная часть ресурсов тратится на узкую область изображения, на которую смотрит человек, а остальные области создаются с гораздо меньшим качеством. Разработчики из Facebook создали алгоритм, который эффективно восстанавливает качественное изображение в областях, отрисованных с низким качеством. Статья была представлена на конференции SIGGRAPH Asia 2019.
Для комфортного погружения пользователя в виртуальную среду VR-шлем должен иметь высокое разрешение, работать с высокой частотой (комфортным показателем считается частота от 90 герц и выше), а также рассчитывать изображение для всего поля зрения вокруг головы. Это приводит к тому, что VR-шлемы требуют для своей работы подключения к достаточно мощному компьютеру, а автономные шлемы на текущем уровне развития технологий значительно отстают по характеристикам от подключаемых.
В качестве решения инженеры уже несколько лет развивают технологию фовеального рендеринга изображения для VR-шлемов, основанного на особенностях человеческого зрения. Дело в том, что мы видим четкой лишь небольшую область в центре (фовеальной зоне) нашего поля зрения, а периферийные области зрения захватывают гораздо меньше деталей. Соответственно, вычислительные ресурсы можно сэкономить, отслеживая направления взгляда и отрисовывая с высоким разрешением лишь центральную область.
Исследователи из Facebook Reality Labs под руководством Гизем Руфо (Gizem Rufo) создали нейросеть, способную брать изображение с четкой фовеальной зоной и редкими пикселями в периферийной зоне, и восстанавливать его до качественного изображения, которое для обычного пользователя похоже на исходное. Алгоритм работает на основе сверточной нейросети U-Net, имеющей структуру кодировщика-декодировщика.
Поскольку нейросеть работает с видео — то есть последовательностью семантически связанных между собой кадров — результаты восстановления соседних кадров должны быть согласованы между собой. Для этого разработчики добавили в алгоритм рекуррентные блоки, которые используют состояние сети на текущем кадре для восстановления следующего.
Кроме того, разработчики использовали для обучения популярную архитектуру генеративно-состязательной нейросети, при которой результат работы генератора (основной нейросети) отдается дискриминатору (проверяющей сети), который пытается определить то, настоящее это изображение или созданное алгоритмом. Благодаря этому обе части постоянно обучаются и генератор со временем значительно повышает качество своей работы.
Исследователи обучали алгоритм на датасете из различных видеозаписей, к примеру, с людьми или животными. Исходные видео обрабатывались алгоритмом, который случайным образом перемещал направление взгляда и стирал с кадра практически все пиксели вне центральной области зрения. В результате разработчикам удалось обучить алгоритм воссоздавать кадры с достаточно высоким качеством. Например, исследование на добровольцах показало, что по мере сжатия (увеличения доли стертых пикселей) заметность артефактов изображения повышается, но лишь при сжатии в 37 раз она достигает 50 процентов.
Разработчики отмечают, что использовали для работы нейросети компьютер с четырьмя видеокартами NVIDIA Tesla V100. Однако мощность этих видеоускорителей настолько высока, что при использовании для обычного рендеринга с частотой 90 герц авторы, вероятно, могли бы получить гораздо более качественное изображение, чем при восстановлении с помощью нейросети, поэтому цель работы, по-видимому, носит исключительно исследовательский характер.
Недавно инженеры из NVIDIA собрали прототип шлема дополненной реальности с аппаратным фовеальным рендерингом. Для этого в шлеме установлено два отдельных экрана, один из которых имеет широкое поле зрения, а второй намного более узкое, но при этом обладает сопоставимым разрешением.
*Facebook принадлежит компании Meta, деятельность которой в России запрещена.
Григорий Копиев