Pull to refresh

Визуальное сравнение моделей генерации карт глубин Depth-Anything-V2 (Large, Base, Small)

Level of difficultyEasy
Reading time4 min
Views623

Это статья — обзор разных моделей Depth-Anything-V2, приложение к предыдущей статье Как сделать 3D версию любого фильма на примере StarWars4 (DepthAnythingV2 + Parallax). Здесь мы сравним качество полученных карт глубин для всех доступных моделей — Large, Base, Small. Будет много картинок и мало текста.

Для наглядности, карты глубин раскрасим в цвет (COLORMAP_JET). Со шкалой от темно-красного (ближние объекты) до темно-синего (дальние объекты).

Кратко по моделям:

  • Large: 335.3M параметров, размер ~1280Mb.

  • Base: 97.5M параметров, размер ~372Mb.

  • Small: 24.8M параметров, размер ~95Mb.

Еще на странице Depth-Anything-V2 указана модель Giant на 1.3B параметров, но она пока не доступна для скачивания.

Напомню из предыдущей статьи сравнение скорости обработки на тестовой выборке в 100 фреймов для разных моделей (работа в 2 потока):

  • Large: 1 минута 9 секунд, максимальное использование видео‑памяти (здесь и далее — без учета зарезервированной): 3994.97 MB.

  • Base: 24.47 секунды, максимальное использование видео-памяти: 2415.44 MB.

  • Small: 11.59 секунд, максимальное использование видео-памяти: 1134.84 MB.

За аксиому возьмем следующее:

  • Модель Large обычно работает точнее, видит больше объектов и деталей, четче определяет контуры объектов.

  • Модель Base в среднем хуже Large, но часто не значительно. Объектов и деталей обычно видит меньше.

  • Модель Small видит меньше всего деталей, и не четко определяет контуры объектов.

А теперь давайте смотреть на примерах.

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

В целом Large и Base обе хорошо определили объекты и их глубину. На модели Large детальнее видны двигатели. А вот модель Small плохо разглядела двигатели и зачем-то приклеила спутник к кораблю, тогда как он заметно дальше.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

В целом все модели отработали хорошо. На Large и Base R2-D2 (дроид справа) находится ближе к камере, а на Small он вровень со своим другом слева. По этому кадру сложно судить кто из них прав. Модель Large лучше ощутила стену, практически все блоки четко определены.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Модели Large и Base отработали почти идентично, и обе плохо обозначили персонажа слева. Зато модель Small точно определила этого персонажа, и четче персонажа справа. Модель Small здесь победила.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Здесь строго по ранжиру - качество падает от Large к Small. Впрочем, между Large и Base разница не большая.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Large лучшая. Base почти не разглядела персонажей на заднем плане, даже Small модель их увидела, хоть и не так четко как Large.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Здесь очень странно. Модель Base не заметила персонажа справа. Модель Large его увидела, но посчитала, что он дальше R2-D2 (дроид в центре). И только модель Small точно определила расстояния между всеми объектами сцены. Жаль только, что детализация у Small заметно хуже.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Мне очень нравится этот кадр, т.к. здесь четко разделены уровни глубины. Все 3 модели отработали хорошо. Но на Large лучше заметен наш многострадальный R2-D2. На Small модели можно хорошо увидеть нечеткие контуры элементов сцены, что свойственно именно этой модели.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Все 3 модели отработали хорошо. Разве, что модель Large не увидела ноги Люка (3й персонаж слева), впрочем такое бывает очень редко с этой моделью.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Модель Base не увидела кресло сзади героя. Две другие определили все хорошо.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Модели Base и Small отработали практически одинаково. Модель Large определила больше деталей, как обычно и бывает, особенно это заметно по лицу героя.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Здесь практически идентично прошлому кадру, не буду повторяться.

Следующее изображение:

Исходное изображение
Исходное изображение
Карты глубин
Карты глубин

Модели Large и Base отработали хорошо, а вот у модели Small почему-то голова Хана Соло почти слилась в одно целое с Чубаккой. Что ж, наверное дружба на века.

Пожалуй на этом все.

Заключение

Все 3 модели Depth-Anything-V2 хороши. Large более точная, видит больше деталей, особенно заднего плана. Small самая легкая и быстрая модель (по моим замерам быстрее Large в ~5 раз), но существенно менее детализированная и плохо определяет контуры объектов. Base модель не сильно уступает Large по качеству, но иногда ошибается с расстоянием до объектов, зато быстрее модели Large в ~2.5 раза. Еще раз напомню примерное время обработки 2-часового фильма из прошлой статьи:
Large модель: ~32 часа.
Base модель: ~13 часов.
Small модель: ~6 часов.

Кстати, почему именно Depth-Anything-V2? Да в общем-то нет какого-то особенного предпочтения, просто попалась в руки именно эта модель. Если точнее, сначала первая версия Depth-Anything-V1, протестировал ее, потом V2, последняя удовлетворила потребности и вообще очень понравилась.

Как уже писал выше, на странице Depth-Anything-V2 также указана модель Giant на 1.3B параметров, я жду ее уже несколько месяцев и не известно будет ли она вообще выпущена. Возможно к тому времени появятся более качественные модели от других разработчиков, будем следить.

Основная статья со всеми деталями и кодом по ссылке тут.

Ссылка на гугл-диск с исходными изображениями.

Спасибо за внимание.

Tags:
Hubs:
+8
Comments3

Articles