Как на ходу сделать 3D скан какой-нибудь достопримечательности в отпуске? Держите новиночку с CVPR2024 — NeRF On-the-go.
Для справки:
Пост про нейрорендеринг и NeRF — это метод создания 3D-модели из нескольких фото, при котором нейросеть обучается по этим изображениям для реконструкции сцены. NeRF использует трассировку лучей для получения данных о цвете и глубине каждой точки, что даёт высокую детализацию и реализм, но требует больше ресурсов.
Что такое Гаусовские Сплаты — это более простой и быстрый способ, где сцена представлена облаком размазанных пятен (гауссиан). Тренировка и рендеринг занимают меньше времени, поэтому этот метод более удобен для практического применения, хоть и немного уступает в качестве.
Ключевое различие: NeRF — это детально и медленно, с трассировкой лучей, а Гауссовские сплаты — быстро и проще, но менее детализировано.
Давно не было чего-то особо интересного про Нерфы, да и к тому же Гауссовские Сплаты как-то интереснее из-за своей скорости. Но вот, клевое обновление для нерфов. Те, кто пробовали сами что-то отсканить, наверняка знают эту боль, когда ты 20 минут ходил вокруг да около, пытаясь что-то там отсканировать, да не дрогнуть лишний раз или не завалить горизонт, не дай бог кто-то в кадр попал — и все равно что-то запорешь, и на выходе получалось облако из пикселей на пол сцены. Про то, чтобы что-то снять
on-the-go, я вообще молчу.
Но вот зацените результаты. Впечатляет, однако! Здесь и кривые ракурсы, и люди чуть ли не на весь кадр, а ему все нипочем.
Вот как этого добились:
Главная идея — выявить пиксели с высокой степенью неопределенности. Они, очевидно, принадлежат динамическим объектам (дистракшенам), в то время как пиксели с низкой степенью неопределенности должны принадлежать объектам статическим, которые должны сохраниться в нерф.
Далее, чтобы выявить все дистракшены, просто сравнить RGB пиксели, как это делалось обычно, недостаточно (этим, кстати, делают на фичах
DINOv2, но тоже по-умному — см. схему пайплайна в комментариях). Когда цвет дистрактора и объекта похожи, это приводит к образованию артефактов в виде туманных облаков. Для того чтобы с этим справиться, используют SSIM, который берет во внимание освещенность, контрастность и структуру — см. комментарии. Оба процесса идут параллельно и оптимизированы на поиск дистракшенов.
Если интересна математика, то милости прошу почитать
пейпер. А резюмируя, выходит, что для того, чтобы получить чистый нерф, нужно научиться хорошо выявлять лишние объекты в кадрах со скана. Кроме SSIM, можно много еще чего сюда накидать, например, сегментацию (выделение объектов), но здесь появляются сложности с тем, чтобы понять, что удалить, а что нет. Ну и поскольку в нерфах это делать научились, скоро ждем то же в сплатах. А там уже можно будет и самим потыкаться.
Таеж новый вид фотографий с отпуска!
Кстати, в авторах аспиранты из из ETH Zurich. Я иногда супервайжу студентов от туда. Так держать пацаны!
ПейперКодProject page@ai_newz