Pull to refresh

Comments 48

Это очень круто! Большое спасибо! Уверен, многим энтузиастам будет полезно.

UFO landed and left these words here

Можно конкретнее?

Какой именно формат картинок? Чем именно плоха концепция с генерацией промежуточных файлов (которые я так понимаю, что отправлялись LLM для распознания карты глубины)?

Конкретики, плез

Он имеет ввиду это "потребуется порядка 400–500Гб". У меня тоже глаза чуть не вытекли, когда это увидел. Код в статье - это 100% вайб-кодинг. Лично я переделал на чтение видео по кадрам из python, инференс, покадровая запись. Никаких 500 гб не понадобилось. Только место под новый фильм.

Код в статье - это 100% вайб-кодинг

Код здесь выполняет конкретную задачу, он с ней справляется. Скрипты я писал не для конкурса красоты, а для того, чтобы быстро, в свободное время, реализовать задачу.

"потребуется порядка 400–500Гб". У меня тоже глаза чуть не вытекли, когда это увидел

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

я переделал на чтение видео по кадрам из python, инференс, покадровая запись

Поделитесь пожалуйста, возможно включу это в свой вайб код скрипт. Хотя "по кадрам" уже звучит очень странно, по 1 кадру? И что, правда, выгружаете 1 кадр, потом тут же его кодируете в видео? А аудио как подключаете, по миллисекундам? Это как? Не сочтите за троллинг или что такое, мне правда интересно что вы подразумеваете под "чтение видео по кадрам" и "покадровая запись". Кодеки кодируют видео на основе ближайших кадров, как вы покадрово записываете, это слайд-шоу из фреймов? Или все таки пачками? Я например делаю пачками, если опять таки вы читали статью, там это указано, причем пачки (чанки) обрабатываются в потоках, что значительно ускоряет процесс.

переделал на чтение видео по кадрам из python, инференс, покадровая запись. Никаких 500 гб не понадобилось

Разобрался что вы имели в виду, вероятно речь про промежуточный сервер на VapourSynth. Возможно позже я включу такую опцию, но придется много чего переделать. Да и настораживает, что в процессе где-то что-то зависнет (да хоть свет выключат), а время на обработку фильма от 8 часов и выше, вплоть до 2х суток (в зависимости от продолжительности фильма), и тогда все по новой запускать. Ну и вопрос с потоками, я еще не сравнивал, может покадрово в потоках быстрее будет, но это не точно. Зато место на диске не требует, это да, большой плюс. Аудио-дорожки можно после подключить.

Вероятно вы имеете в виду аналоги конвертации на лету 2D -> 3D на 3D телевизорах? Ну там алгоритмы простые, качество 3D получается очень слабое, его практически нет, это скорее формальная функция, которой вряд ли кто-то пользовался.

Здесь же мы полностью перерисовываем материал, создаем его с нуля, от первоначальных данных ничего не остается (грубо). На базе каждого исходного фрейма мы рендерим его 3D пару, где в каждом фрейме объекты смещены (влево и вправо), это полностью перерисованная сцена.

Я думал насчет варианта "на лету", возможно на более мощном железе, например RTX 4900, а скорее пары RTX 4900, получится реализовать этот рендер, например на модели Small для видео 24fps. Но это дорогое удовольствие и более сложная разработка.

"использовать формат картинок поэффективнее"

- этот момент не понятно, о чем речь?

Кому ты нужен , стыдно ему, закройся. Какой опенсорс ? Название есть лучше ? Проф. Софт именно так и работает — разложение всего видео по кадрам.

Я пробовал смотреть 3D фильмы в VR и меня сразу же укачало от трясущейся камеры, так что вариант только для телеков.

С восстановлением глубины может быть другая проблема - искажение масштабов. Нейронка похоже ищет дальнюю точку в кадре и строит параллакс до нее, хотя в реальности объем чувствуется только на небольшом расстоянии в 5-10м. Теперь это не огромный звездолет, а какая-то муха перед глазами)

Я пробовал смотреть 3D фильмы в VR и меня сразу же укачало от трясущейся камеры, так что вариант только для телеков.

В VR же можно вывести 3д-картинку на виртуальный же экран на удобном расстоянии. Получается ровно как если бы телевизор был на стене, только без телевизора и стены.

Я пробовал так смотреть в самолёте — всё довольно неплохо, если не считать, что Quest 3 с SSD тратит больше энергии, чем забирает из зарядки, а этот самый SSD обжигает ногу на которой лежит.

другая проблема - искажение масштабов

Искажения конечно есть, но в целом все смотрится очень хорошо и органично.

объем чувствуется только на небольшом расстоянии в 5-10м

Да, примерно так и есть. Задний план мало меняется, объем создается в основном для ближнего и среднего плана, и этого в целом достаточно. Возможно модель Giant (Depth-Anything-V2) или вообще другая новая модель, смогут детальнее работать с дальним планом. Уверен, это направление будет развиваться и дальше. Например, если сравнивать Depth-Anything-V1 и Depth-Anything-V2 - разница очень значительная в пользу последнего.

Только добрался до вашей статьи, сорри! (но спасибо за приглашение)

По пунктам.

Depth-Anything работает на удивление хорошо, но профессиональных Depth Artist он не заменит.

Его проблемы:

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

  • Любые сцены, где будут полупрозрачные объекты на переднем плане (дым, туман, взрывы, стекло (витрины, шлемы и т.п.) будут отображаться некорректно (их глубину нужно специально обрабатывать). Головной боли, как в предыдущем случае, от этого, как правило, не будет (хотя найти жесткую сцену, думаю, будет можно), но это неприятно, поскольку будет смотреться странно.

  • Похожая проблема будет с любыми отраженными объектами (глубина в зеркалах или что хуже - отражения в пластике стен) и бликами. Они также будут в лучшем случае плоскими, в худшем жить своей жизнью.

Это по глубине. Я про нее могу много рассказывать, хотя пару статей про артефакты конвертации так и не выложил из-за падения интереса к теме. Мы в свое время много делали, например, сюда: https://www.yuvsoft.com/stereo-3d-technologies/2d-to-s3d-conversion-process/

Отдельная проблема - генерация стерео по глубине. Это на самом деле очень нетривиальный процесс и у вас будут следующие проблемы:

  • Во-первых, хорошо бы корректно заполнять области открытия-закрытия (я писал про это, например, тут), причем лучше из времени. В вашем покадровом пайплайне это невозможно по определению. Это приведет к эффекту т.н. "стеклянного колпака", когда зрителю будет казаться, что вокруг объектов стекло. Это происходит из-за того, что когда оклюжены заполняют из того же кадра они выглядят как преломление в стерео.

    Вы выбрали примеры, где либо на заднем плане простой фон (первый и второй примеры), либо нет перепадов по глубине. На последнем примере этот эффект хорошо виден. Если будут сложные текстуры, видно будет еще лучше.

    При профессиональной конвертации применяется восстановление фона (сегодня - генеративное), но это довольно дорогое удовольствие, особенно если фон динамически меняется.

  • Во-вторых, если экран большой и с хорошим разрешением, нужна обработка полупрозрачных границ. Ибо даже среднее движение (я уж молчу про быстрое) будет порождать размытие на краях обьектов, с которыми текущий пайплайн гарантированно будет порождать косяки. Т.е. в crazy motion сценах (какой-то экшен), у вас будет много прекрасного.

    Тут в скобках замечу, что сайт https://videomatting.com/ - это внезапно наш сайт, и мы когда-то очень активно и тестировали чужие решения (в том числе только появлявшиеся тогда нейросетевые) и реализовывали свои, и делали решения для разных зарубежных компаний, в том числе и в киноиндустрии.

    В этом плане совершенно не случайно на мой вкус у вас все приведенные примеры, это сцены в которых почти нет движения)))

Также замечу, что сейчас перспективно выглядят условно NERF-based подходы, которые позволяют делать стерео, лишенное описанных недостатков, но со своими другими недостатками на данный момент))) (начиная с вычислительной сложности). Тем не менее года через 3-4 пайплайн на их основе даже на опенсорсе даст результат по качеству кардинально выше вашего текущего.

Сказать еще есть что, но и так уже довольно много)

Большое спасибо за комментарий! Да, косяки есть, но для "домашнего комбайна" вполне рабочая схема. На моем обычном домашнем ПК средний фильм отрехмеривается около суток на модели Large, и где-то за ночь на модели Base, почти полностью без моего участия. Получаемое качество вполне приличное (для домашнего просмотра), пожалуй главный косяк который я заметил после просмотра десятка фильмов - почти нулевой объем на заднем плане. Это не удивительно, текущие модели Depth не уходят далеко вглубь сцены. Если честно, для меня это не является большой проблемой, это не так сильно заметно, все-таки ближний и средний план занимают все основное внимание. Еще встречается (не часто), резкая смена глубины объектов в соседних кадрах в динамичных сценах. В целом это было ожидаемо и я больше всего боялся именно этого момента, ведь мы обрабатываем каждый кадр отдельно, без памяти о соседнем кадре. Но, как ни странно, это почти не является проблемой, и проявляется совсем редко (потребительским взглядом).

В соседних сообщениях уже упоминали про модель именно для видео - Video-Depth-Anything, там согласованность есть. Но требования к модели существенно выше. Да и не понятно, нужно ли это для домашнего применения.

Еще, у Depth-Anything-V2 должна появиться модель Giant (анонс давно висит), возможно там глубина будет лучше, впрочем совсем не факт.

Еще раз спасибо за комментарий!

Велкам)

Получаемое качество вполне приличное (для домашнего просмотра)

...

Да и не понятно, нужно ли это для домашнего применения.

Мы довольно много издевались над людьми показывали людям разное плохое стерео (в том числе сделанное плохим искусственно), чтобы измерить чувствительность к разного рода артефактам (12 отчетов с десятками проблем и 20 публикаций доступны тут https://videoprocessing.ai/stereo_quality/)

Ключевой вывод в коррекцию вашей позиции: Это НЕ ВАЖНО просмотр домашний или нет. Важна ПЕРСОНАЛЬНАЯ ЧУВСТВИТЕЛЬНОСТЬ, которая основана на личных особенностях бинокулярного зрения.

Т.е. у вас один и тот же фильм с безумными косяками (например, минутой с лишним сцен с перепутанными ракурсами — реальный пример одного низкобюджетного фильма ужасов) может у т.н. stereo-blind людей вообще ничего не вызывать, а 10% наиболее чувствительных дарить на весь вечер незабываемую мигрень.

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

Или, например, один и тот же фильм условно у бабушки может вызывать недетскую головную боль, а у внука — море восторга и ноль болевых ощущений. Более того, если внуку показывать такие "кривые" стереофильмы регулярно, его персональный "болевой порог" может достаточно сильно вырасти. В рамках страны подобный эксперимент был в Китае, где массово шли 3D релизы с косяками, неприемлемыми для европеоидов, но ширнармассы их воспринимали норм)

В общем вы можете "натренировать" себя на такое стерео и вам будет норм. А потом покажете друзьям и будет незапланированная реакция)))



Интересные опыты и наблюдения. Могу лишь добавить, что большинство людей, к сожалению, вообще ровно относится к объему. Среди моих знакомых и близких практически 90% абсолютно не интересно 3D. Некоторые из них его как-будто не ощущают в принципе, другие ощущают, понимают, но после 1 минуты просмотра снимают очки и смотрят без них. То есть, многим людям это в принципе не нужно, достаточно 2D картинки. Вероятно поэтому так быстро и заглохла эпоха 3D, а Цукерберг теряет миллиарды $ на попытках раскачать тему с VR. К сожалению это пока так и остается нишевым продуктом, для небольшого процента людей.

Могу лишь добавить, что большинство людей, к сожалению, вообще ровно относится к объему.

Ну как сказать... Есть исследования, людям показывали большее разрешение, большую глубину цвета, больший FPS и 3D. И единственное, что вызывает (при правильной съемке, конечно) вау-эффект — это 3D.

Ну а производителям нужно что-то увеличивать, чтобы люди покупали)

Другое дело, что с 3D до сих пор масса проблем технического и алгоритмического плана не решены.

Некоторые из них его как-будто не ощущают в принципе, другие ощущают, понимают, но после 1 минуты просмотра снимают очки и смотрят без них.

См выше про stereo-blind и большой подробный текст Почему от 3D болит голова / Часть 4: Параллакс. Там про это подробно)

И другие части на хабре можете почитать. Это цикл из 8 статей, причем задумано было 12 (они посвящены нашим 18 метрикам качества стерео, направленным на измерение разных артефактов, порождаемых разными причинами и от каждого из которых может болеть голова). Более профессиональные наши отчеты и публикации по теме можно найти тут: https://videoprocessing.ai/stereo_quality/

То есть, многим людям это в принципе не нужно, достаточно 2D картинки.

На протяжении более полувека людям в принципе было не нужно цветное кино, и было вполне достаточно черно-белого. А до этого не нужно было кино звуковое, достаточно было просто картинки. «Кто, черт возьми, захочет слышать, как актеры говорят?», — говорил про звуковое кино Гарри Ворнер, основавший Warner Brothers в 1927, один из лучших экспертов по кино того времени. Уверен, большинство современных хейтеров 3D с ним согласятся и отключат звук при просмотре фильмов. Переход в 3D это вопрос решения довольно большого числа задач. БОльшего, чем при переходе от чб к цвету. Но решаемого. Причем в ближайший десяток лет (любимыми нейросетями))) с очень большой вероятностью.

См выше про stereo-blind и большой подробный текст Почему от 3D болит голова / Часть 4: Параллакс. Там про это подробно)

Нет-нет, речь не про боли, усталость и тд. Многим людям просто этого не надо. Возможно "дискомфорт" от надевания очков перевешивает добавленную ценность 3D просмотра. Вот банально так, насколько я заметил. Просмотр 3D (в очках), это целый ритуал. Тут нужно надеть очки, расположиться плюс-минус прямо перед телевизором; очки сковывают (VR-шлем тем более), они как-бы изолируют тебя от окружающего мира, очки запотевают и тд. Многим это не удобно, тем более если собралась компания посмотреть кино и пообщаться одновременно. Мне кажется это большая проблема (скорее данность), чем головокружение и усталость.

решаемого. Причем в ближайший десяток лет (любимыми нейросетями)

С одной стороны да, появление в свободном доступе нейронок, вроде Depth-Anything, это просто праздник, лично я даже мечтать не мог, что буду синтезировать 3D видео на своем домашнем ПК. А с другой стороны... вот такая информация недавно попалась:

Reality Labs, подразделение Цукерберга занимающееся AR/VR-устройствами и метавселенной, с 2020 года накопило операционных убытков на $58 млрд

Ну не хочет массовая аудитория идти в шлем )

Возможно "дискомфорт" от надевания очков перевешивает добавленную ценность 3D просмотра.

Почитайте про автостерескопический (не требующий очков) Lenovo ThinkVision 27 3D Monitor.

В нашей лаборатории еще 10 лет назад было 5 автостереоскопических мониторов разных производителей. Тогда довольно убогие, мы из них максимум выжимали. Сейчас они становятся все лучше, но вопрос контента и формата открыт. Google Deep View и предложенный ими формат выглядели очень неплохо 4 года назад как прототип, они работу продолжают.

Но можно считать, что все это никогда не разовьется и кино навсегда останется черно-белым, ведь это было предыдущие много десятков лет. )))

А я пошел разработчикам ThinkVision 27 3D ответ писать, на прошлой неделе они на нас вышли)

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

1.Почему PNG а не BMP ?

2.Когда сделаете скрипт с частичной обработкой используйте RAM диск для промежуточного хранения.

Подскажите нейронки для апскейлинга / удаления шума / удаления тряски - хочу обработать старые записи.

Почему PNG а не BMP

Сжатие без потерь, меньше места на диске. У BMP сжатия совсем нет

используйте RAM диск для промежуточного хранения

Спасибо, а есть где посмотреть подробности о чем именно речь?

Подскажите нейронки для апскейлинга / удаления шума / удаления тряски

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

Из последних моделей мне понравились, например эти:

realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN

realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN

Можете найти их тут: https://github.com/JingyunLiang/SwinIR/releases

Они хорошо апскейлят, и, важно - не создают эффект пластилиновости, искусственности.

Еще очень много моделей тут: https://openmodeldb.info/

В основном там тюны, заточенные под определенные вещи (аниме, игры и тд).

То, что у bmp нет сжатия, как раз сильно ускоряет запись, если вам все равно сколько займет файл, а вам все равно если хранить 5-10 кадров.

RAM disk для Windows. Последний раз когда интересовался (2020) нормально работала бесплатная "ImDisk" - создаёт эмулятор диска, данные хранятся в памяти, ваши программы обращаются к диску O: например.

Основной потребитель ресурсов здесь - вычисление карты глубины (GPU). Затем идет создание параллакса (CPU), который, впрочем, делается относительно быстро. Загрузка и сохранение изображений занимает совсем незначительное время. Причем я пробовал делать так - загрузка с одного диска, сохранение на другой диск + несколько потоков обработки, разницы не случилось, к сожалению. Возможно здесь есть какое-то узкое место, хотя бы тот же Питон, или код нужно подправить. Я периодически копаюсь в этом, но в целом все работает относительно быстро, особенно на моделях Small и Base, может и нет особого смысла оптимизировать дальше.

а вот и нет - у BMP есть сжатие методом rle, только оно сейчас совсем бесполезное :)

А просмотр в очках 3Д? Какие именно? или на Телевизоре/проекторе можно?

Можно смотреть еще в VR очках, там как раз подходящие приложения есть

а на телевизоре?

В 3D очках на 3D телевизоре/проекторе (то есть, которые поддерживают 3D), либо шлемы VR

Добрый день, позже постараюсь добавить.

а где можно насладиться просмотром, так сказать, готового продукта?

Это уже вопрос авторских прав. Если нужно, могу скинуть отрывок, тизер так сказать, если у вас есть на чем смотреть (3D телевизор/проектор или VR). Напишите в личку.

спасибо, я сапожник без сапог, смотрю бомжовым косоглазием

Спасибо за статью. Пара непрошенных советов.

Remap использован неверно. По факту происходит сэмплинг картинки по точкам с карты. То есть для корректной работы надо туда подавать не насколько сдвинется пиксель в точке x,y а обратную функцию - откуда нужно взять точку чтоб она пришла в x,y. Ошибка частая, при малых сдвигах можно не заметить артефактов. Для исправления можно пробежить по всем пикселям карты сдвига и применить каждый сдвиг к карте, а потом заполнить пустоты. Но это медленно . Несколько возможных решений тут есть https://github.com/nagadomi/nunif

Cv2 remap аналогичен torch.nn.functional.grid_sample и весь пайплайн можно на gpu переписать - будет быстрее, i/o тоже можно на gpu без перекидывания данных

Для глубины имеет смысл брать metric depth или depth модели для видео- там меньше мелькания и возвращается абсолютное значение глубины

Спасибо большое! Изучу этот момент.

весь пайплайн можно на gpu переписать - будет быстрее

Первая мысль была все перенести на GPU, но пока не получилось добиться прироста скорости, там все равно есть преобразования CPU-GPU-CPU, которые вероятно самое узкое место. Впрочем, признаться, тут я сильно не копался, вероятно можно оптимизировать лучше, но даже в этой реализации, через cv2, все работает довольно быстро, а самое ресурсозатратное здесь это генерация глубины. Я пробовал доработать библиотеку Depth-Anything-V2 чтобы на вход можно было подавать не одно изображение, а батчи из 2х и более, и даже получилось передать батчи, но время обработки не изменилось.... Впрочем здесь я тоже долго не мучался, т.к. это "проект выходного дня" и в целом все работает в разумное время, возможно позже все-таки домучаю, а может к тому времени уже что-то новое выйдет.

metric depth или depth модели для видео

А можно название модели или ссылку для примера? В данной реализации, через покадровую обработку, в целом все хорошо, нет мельканий и какой-либо "разности смежных кадров", только очень редко бывает перескок фокуса на объектах в динамичных сценах, но это совсем не критично, бывает редко и заметно если специально это искать. В общем, для обычного домашнего применения в целом достаточно и этой реализации через Depth-Anything-V2 (думаю любая другая модель глубин также подойдет)

У того же depth_anything2 есть версии с файнтюном на абсолютные значения глубины. .https://github.com/DepthAnything/Depth-Anything-V2/tree/main/metric_depth По отсутствию cpu-gpu - в torchaudio есть поддержка кодеков ffmpeg и возможность оставлять результат в виде тензора на gpu. Возможно придется повозиться, чтоб все настроить или даже руками собрать torchaudio с поддержкой кодеков nvidia но весь пайплайн сильно быстрее будет - похожую задачу когда-то делал.

Ну и третяя стадия упоротости на эффективности - добавить компиляцию модели на tensorrt + квантизация + обернуть в nvidia dali . Но тогда это будет почти невозможно запустить вне официального контейнера от нвидиа из-за ада с зависимостями

Спасибо, а чем лучше подход с абсолютными значениями?

Кстати, я обновил скрипты, внес некоторую оптимизацию, и самое главное - исправил функцию нормализации перед параллаксом, сейчас она намного точнее. Запутался в скриптах и объединении их функций, выложил изначально не вполне корректную версию (она была рабочая, но параллакс рассчитывался не точно). В общем, можете попробовать текущую версию, если еще сами не заметили и не исправили.

для корректной работы надо туда подавать не насколько сдвинется пиксель в точке x,y а обратную функцию - откуда нужно взять точку чтоб она пришла в x,y.

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

но с использованием CUDA

в x264 быстрее намного.

Есть Video-Depth-Anything — специальная адаптация нейронки под видео. Обычная Depth-Anything-V2 как ни крути будет дрожать от кадра к кадру.

Обычная Depth-Anything-V2 как ни крути будет дрожать от кадра к кадру

Я посмотрел уже с десяток фильмов, ничего не дрожит. Зачем вы утверждаете то, чего нет на самом деле?

Почитайте, зачем придумали Video-Depth-Anything. У обычной Depth-Anything проблема с консистентностью в видео. Добавьте функцию создания анаглифа, сделайте параллакс чуть более агрессивным и дрожь станет более заметной. А я эту дрожь и так вижу.

Вы хотя-бы заходили на страницу Video-Depth-Anything? Или только слышали звон? Ну вот хотя-бы насчет инференса:

https://github.com/DepthAnything/Video-Depth-Anything?tab=readme-ov-file#release-notes

23.6Gb VRAM на FP16 для модели Large

У обычной Depth-Anything проблема с консистентностью в видео

Уверен, что там много проблем, и уверен что в конвертации 2D -> 3D вообще очень много проблем, но я вам еще раз говорю - я посмотрел около десятка фильмов, все очень хорошо, меня удовлетворило на 90% (10% на всякий случай оставлю, все-таки не нативное 3D).

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

Зачем? Параллакс 10-15, все отлично. Зачем что-то еще делать?

А я эту дрожь и так вижу

Я на своем смартфоне иногда вижу черные полосы, особенности матрицы, и что? Меня устраивает мой смартфон на 100%, а придраться можно к чему угодно.

За сим предлагаю закончить этот спор, конструктива мало. Выше я просил вас предоставить или прокомментировать ваш код, если найдете минуту, прошу вас.

Я вчера не только заходил туда, но и тестировал и ваш улучшенный мною код, и video-depth-anything. У video-depth-anything качество на порядок лучше, но и вычислительная сложность конечно выше. Причём здесь «звон»? Хамите, не зная что ответить, набрасываете нерелевантную информацию, которая никак не противоречит сказанному мной. Не видете дрожи? Это нормально. Некоторые люди не увидят ничего странного, если поменять в стереопаре лево и право. Я лишь дополнил в комментарии вашу статью, если кто-то из мимо проходящих захочет копнуть глубже и насладиться более качественным 3D. Перечитайте его. В нём нет ничего оскорбительного. Не надо на это бурно реагировать.

Хамить вы скорее начали, "вайб-коддинг", "неправильный анаглиф" и тд, я вам конкретные вопросы задаю почему и как правильно, а вы вместо ответов пишете что-то совсем общее или просто говорите, что все не правильно и почему-то называете это "копнуть глубже", причем в нескольких ветках здесь. Конкретику дадите? Я вас именно об этом прошу уже несколько сообщений.

Еще раз повторю, я просмотрел несколько фильмов и никаких значимых проблем (артефактов) не выявил. Зачем вы пытаетесь доказать обратное?

Вероятно Video-Depth-Anything действительно круче, кто же спорит? Вот вы на каком железе его запустили и какую модель? Я запускаю Depth-Anything-V2 Large на своем домашнем ПК (RTX 3600 12Gb), потребление видео-памяти всего в районе 2600Гб, остается пространство для параллельных вычислений.

Выше я вам отправил ссылку, они запускали Video-Depth-Anything на А100, но это другой класс железа. Я обязательно проверю эту модель, но еще раз повторю, на "обычной" Depth-Anything-V2 меня уже все устраивает.

Не нравится решение в этой статье? Вот пожалуйста, в соседней ветке мне подсказали другое решение по этой же теме:

https://github.com/nagadomi/nunif/tree/master/iw3

Там даже GUI есть, и вообще функционал побогаче (но сложнее). Посмотрите, возможно это решение вас устроит.

Спасибо за видео, наконец появилась конкретика. Теперь понятно, что именно вы имели в виду. Пожалуй не обязательно было снимать видео, впрочем там как раз это наглядно. То о чем вы говорите, назовем это связностью кадров. Конечно же я об этом думал и сомневался, что итоговое видео получится согласованное, ведь мы обрабатываем исходник покадрово, каждый кадр обрабатывается без памяти о предыдущем кадре. В вашем видео это как раз хорошо видно. Но также хорошо видно, что разница между кадрами практически лишь в том, что один светлее другого, если говорить по-простому. То есть, в каждом кадре, в той или иной степени, сохраняется согласованность между глубиной объектов, присмотритесь сами. Тут я замечу, во-первых, я не специалист по нейронкам глубин, да и вообще в целом по нейросетям (я только их осваиваю), но в целом понимаю, что для расчета параллакса используются на абсолютные, а как раз относительные значения глубин. То есть, не важно что у вас там в видео кадры мелькают, важно чтобы не мелькали отдельные объекты в кадрах.

В принципе, можно прогнать каждый кадр и примерно подсчитать близость его к предыдущему, я уже делал это для другой задачи, но.... зачем? Я проверил все эмпирически, параллакс хорошо все делает, артефактов в итоговом видео практически нет, а если и есть (скорее всего есть, а о некоторых я писал в статье), то они совсем не значительные, особенно учитывая простоту и "копеечность" метода.

Еще раз спасибо за видео.

Sign up to leave a comment.

Articles