Замедленное видео, оно же слоу-мо, пользуется невероятной популярностью у зрителей, однако создавать его чрезвычайно сложно. Нужное для этого оборудование стоит очень дорого, а необходимость где-то хранить материал, отснятый на скорости 300 тысяч кадров в секунду, быстро становится проблемой. Однако новая технология от Nvidia позволяет решить эту задачу лучшим образом.
Метод назван «многокадровой интерполяцией переменной длины» и базируется на машинном обучении при анализе исходного материала с тем, чтобы нейронная сеть могла «домыслить» недостающие кадры. Не принципиально, хотите вы добиться виртуального замедления в 8 или 15 раз, у этой технологии нет верхнего предела, и система может сгенерировать любое количество изображений, которые идеально впишутся в кадр. Точнее — зритель не заметит подвоха.
На самом деле здесь работают две нейронные сети. Первая анализирует само видео на заданном диапазоне кадров, создает карту видеопотока в прямом и обратном направлении, формирует план вставки виртуальных кадров. Вторая система интерполирует данные, сопоставляя возможности генерации с планом, чтобы исключить кривые пиксели, паразитные наложения и прочие «артефакты». Теперь остается создать по этим данным произвольное количество искаженных версий первого и второго кадра в тандеме, чтобы вставить их между ними и «растянуть» видео на нужную длину.
Для реализации технологии использовались графические карты Nvidia Tesla V100 и система глубокого анализа PyTorch от cuDNN. По словам создателей, это значит, что коммерческая версия появится еще очень не скоро, да и в ней большую часть вычислений придется перенести в облако. Зато результат поражает – видеоряд получается очень плавным, и есть возможность «затормозить» и без того суперзамедленное видео.