Pull to refresh

Comments 10

где примеры видео работы нейросети? научили, заставили, не важно что… где результат чтобы оценить что вышло? а то может там фигня полная и не стоит затраченных сил

кстати, процесс описанный в статье, называется «фотограметрия». и уже давно используется. зачем везде нейросети пихать когда довольно простые безмозглые алгоритмы делают это отлично и что самое главное — давно
Спасибо авторам, хотя, похоже, что публикация на скорую руку, чтобы за КДПВ собрать лайки))
40 секунда и далее — колено прозрачное. И что-то мне подсказывает, что исправить будет не так-то просто.

Все равно достойно, как для PoC
Да и, думаю, как фильтр для снапчата или тиктока и так сойдет вполне)

Прикольно. На 40вой секунде отражения в полу правильно двигаются с камерой, а не приклеены к полу, вот это прям удивило.
Кстати о Dolly Zoom — так снималась "трансформация" корабля в фильме "Полёт Навигатора":
Вообще прикольно посмотреть как эффекты без CGI раньше делали.

К сожалению, статья несколько вводит в заблуждение, поэтому может сложиться впечатление, что это фотограмметрия в чистом виде, но это не совсем так. NeRF можно использовать для фотограмметрии (и есть такие статьи), но тут есть небольшое отличие. Обычно фотограмметрия пытается извлечь информацию об реальных объектах, а тут строится оптическая модель всей среды. Да, это это практически то же самое, но тут больше про изображения, чем про объекты. Мы строи модель не для получения информации об объектах, а чтоб на основе нескольких ракурсов получать изображения с других ракурсов. В общем, отличие не очень большое, но всё же. :)

Жаль, что в статье почти не описана сама идея NeRF (это кстати, скорее семейство методов, а не какая-то одна модель), она достаточно простая и наглядная. Изложу-ка я её для других читателей на всякий случай.

Допустим, у нас есть две фотографии одной сцены с разных ракурсов и мы хотим найти кадр с какого-то промежуточного ракурса. Мы могли бы использовать оценку оптического потока, восстановить модель видимой поверхности или что-то ещё, но эти методы либо работают только для близких ракурсов, либо имеют сложную и многостадийную схему, требующую много памяти.

Поэтому можно сделать следующее. Вместо того, чтоб моделировать частное (проекции сцены), давайте смоделируем сцену целиком. Вот буквально возьмём и для каждой точки сцены найдём её оптические характеристики. В упрощённом виде — цвет и прозрачность.

Но тут возникает вопрос — а как эти характеристики моделировать. Если использовать воксели, то либо разрешение низкое, либо память будет есть как не в себя. Да и скорость тоже будет не очень.

И тут на сцену выходят нейронные сети. Причём тут не используются свёртки или какие-то традиционные для компьютерного зрения модели, а обычный персептрон. Используем тот факт, что персептрон — это условный аппроксиматор. То есть, если подобрать параметры, он может аппроксимировать любую функцию. Так давайте создадим модель, которая на входе получает три координаты, а выдаёт те самые оптические характеристики.

Чтобы эту модель использовать, мы используем трассировку лучей (не ту что в компьютерной графике) — мы для каждого пикселя экрана, расположенного под некоторым углом к сцене, выпускаем луч и интегрируем характеристики сцены вдоль этого луча. Это самое обычное численное интегрирование трёхмерной функции. В итоге мы получаем цвет пикселя.

На фотографиях с известных ракурсов мы восстанавливаем параметры модели, а потом уже используем её для получения изображений под новыми углами.

Это кратко основная идея. Конечно, её потом дополняли, было много последующих статей, но по-моему здорово, что такая простая схема даёт хорошие результаты

По поводу того, что нейронные сети активно используются. Да действительно их часто применяют не к месту, но в целом это мощный инструмент. Некоторые задачи компьютерного зрения без них очень плохо решаются. Сравните, скажем, DeepLab для сегментации и grab cut. Да, оба алгоритма могут решать одну и ту же задачу, но нейронная сеть будет намного точнее, и бессетевого решения с подобной точностью просто нет.

Это не значит, что сети нужно использовать везде и для всего, но и не значит, что нужно от них отказываться.

Так что, получается, если долго снимать Луну, то в скором времени мы сможем посмотреть, что у неё на той стороне??)

Sign up to leave a comment.