Это статья — обзор разных моделей 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 параметров, я жду ее уже несколько месяцев и не известно будет ли она вообще выпущена. Возможно к тому времени появятся более качественные модели от других разработчиков, будем следить.
Основная статья со всеми деталями и кодом по ссылке тут.
Ссылка на гугл-диск с исходными изображениями.
Спасибо за внимание.