YouTube to Text Converter

Transcript of Wan Lynx - видео с переносом лиц

Video Transcript:

Всем привет. С вами канал Stable Div. Сегодня вас познакомлю с моделью Links от BYDance для генерации видео с точным переносом лиц. Эта модель в качестве основы использует базовую модель one 2.1 тексту видео. В отличие от онлайн-сервисов, здесь нет ограничений с цензурой и исходниками лиц. Я подготовил для вас две схемы. Первая схема - это немножко модифицированная базовая схема Links. И вторая схема - это Links + Wise Control Net Deps. Для переноса движений с другого видео мы будем использовать webinfй Confi. Я вам покажу, как запустить эту схему и нюансы по установке узлов и моделей. Но в целом всё будет просто. Давайте начинать. Если у вас ещё не установлен Confi, то в описании под этим видео приложу ссылку на вот этот вот пост. Он открыт бесплатно для всех. Здесь вы можете скачать мою настроенную портабельную сборку. С ней установка Confi будет предельно простая. Просто распаковать архив. Но здесь есть дополнительное видео. Вы сможете познакомиться с этим сами. После установки ConfI не забудьте его обновить. Это делается через вот такой вот файл, который находится в папке Update update config table. Просто его запускаете, обновляете confui, это важно. Далее открываете здесь файл runvid gpu.b правой клавиши изменить на редактирование и убедитесь, что у вас здесь нет ключа тире тирефast. Вот такой вот ключ может у вас здесь быть и с ним эта модель работать не будет. Также возможны какие-то ещё другие ключи. После этого обязательно сохранить этот файл и уже после этого запускаете confi с помощью вот этого вот файла runvid gpu.b. Также для работы вам понадобится вот такая вот базовая модель One 2.1 тексту видео PP8 либо BF16. Возможно, модель у вас потянет, если это для первой схемы. Для второй схемы вам нужна будет модель one 2.1 Wi. Также для работы с моделью Links вам понадобятся ещё вот такие вот модели. Это IP Layers. Либо это будет full модель, либо это будет Light модель. Light модель заметно меньше в пять раз примерно. И видеопамять она будет потреблять значительно меньше. Но она будет работать только с первой схемой. Со второй схемой вам обязательно будет нужно скачать вот такую модель full. Ну и также вам понадобится модель Refles, она в одном только варианте есть. И вторая модель Links Full Resample PP32. Тоже скачиваете вот эту вот модель первую. Теперь, когда вы запустите Confi, вам нужно будет перейти в менеджер, перейти в customes manager. Здесь вам нужно будет ввести в поиске One Video в Wrapper и найти вот такие вот узлы. Нажимайте здесь switchware и обязательно проверьте, что у вас установлен версия Night. Вот такая вот. Если у вас здесь будет предложено установить Nightly, то выбираете Nightly, соответственно, и нажимаете select. В моём случае уже стоит, видите, Найля, и я могу переключиться наоборот на last, то есть на стабильные узлы. Нужны именно nightй узлы, потому что на данный момент пока эта модель поддерживается только с Nли узлами. Поэтому выбираем Night узлы, нажимаем Select и после этого нажимаем restart. Вот здесь появится кнопка. после установки узлов и уже после рестарта у вас а схема будет вот такая вот, если вы её скачаете на бусте и закинете с рабочее пространство. Но если вы не хотите по каким-то причинам переходить на бусте, то не проблема. Но я вам буду показывать на примере своей схемы. Здесь я её немножко скомпоновал, так поудобнее, чтобы это всё было логически понятно. И также некоторые настройки есть выставил, чтобы эта схема работала максимально быстро и качественно. Давайте посмотрим, что эта схема может и как эта схема устроена. Смотрите, здесь мы можем закинуть любое изображение с лицом. Это может фотореалистичное быть изображение либо не фотореалистичное. Но в целом видео, которое у нас будет получаться, оно будет вот такое вот, ну, более-менее фотореалистичное. Мультяшку либо аниме тут получить будет достаточно сложно. Я думаю, скорее всего, не получится. Смотрите, слева здесь есть ссылки на модели, но здесь как-то приложено на общей репозитории. Я вам всё-таки на бусте приложу более точно на нужные модели. ссылки, чтобы вы их скачали, у вас точно всё получилось. Давайте посмотрим на load models. Здесь мы загружаем сначала вот такую вот модель Light IP Layers. Эта модель будет работать только в этой первой схеме. Во второй схеме она работать не будет. Вторая модель, которая подключается следом за этой моделью - это модель называется Full Ref Lesters. Эта модель только в одном варианте, по-моему, Full здесь есть. Light модели там нету. Смотрите, light модель заметно меньше потребляет видеопамяти. Она сама по себе меньше весит в пять раз. Поэтому, если у вас мало видеопамяти, лучше скачайте Lite и пользуйтесь первой схемой. Вторая схема, она более навороченная, она более сложная и, естественно, она будет потреблять видеопамяти больше. А я думаю, что вот эта схема должна работать от 12 Гб видеопамяти, а вторая схема где-то от 16, не меньше. Давайте переходить дальше. Здесь у нас базовая модель убирается. Вы можете её выбирать в формате FPA8, BF16, либо можете выбрать даже модель GG. Она будет тоже меньше видеопамяти потреблять. А далее, если у вас не установлен Triton и Sage Tension, то вот здесь поставьте SDP. Если установлен Sage Tension, то поставьте Sage Tension. Генерация на Sage Rension будет на 30% как минимум быстрее. Дальше мы выбираем здесь лоры. Это дистиллированная лора для генерации на четырёх шагах и также на CFG равным единице. А это значительно ускоряет генерацию порядка там в три раза, наверное. Далее мы здесь выбираем PS вот такую вот лору для улучшения качества генерации. Но улучшение не столь значительное, но оно есть немножко, поэтому ссылку на эту модель я вам тоже приложу. Далее вот здесь вот ниже мы выбираем модель Link Light Resample. Это модель как раз-таки для отделения лица с исходного изображения. И последняя модель - это Vi 2.1. Переходим дальше. Здесь у нас подсказка. Я подключил свою вот такую вот лору с LM моделью Mid Journey. Выбираете, она точно работает. Включаем вот здесь вот l л lллэмку и пишем какую-то подсказку. Эта подсказка у вас будет немножко расширена и будет поинтереснее. Также вы можете здесь выбрать либо рандомайз случайный какой-то сит. И, соответственно, у вас генерация каждый раз будет случайная, разная. Либо можете поставить fixed, чтобы эта перегенерация промта заново не происходила. Если вам не нужно как-то модифицировать подсказку, вы просто хотите сделать перевод, то выбирайте здесь вот preset translate EN. И у вас будет просто перевод на английский язык без всяких там дополнительных изменений. Также можно подсказку писать в перемешку на различных языках и в итоге всё равно получит перевод на английский язык. Далее здесь выбираем модель UMT 5XL- это клиповая модель для кодирования подсказки. Здесь важно выбрать модель UMT5. Обратите внимание, если выберете Scaled модель, то она работать здесь не будет. Либо BF16, либо FP8. FP8 поменьше немножко видеопамяти расходует. BF16 немножко побольше, но разницы какой-то в качестве между этими моделями особо нет. А здесь мы загружаем исходное изображение, с которого мы будем брать лицо. Давайте я сейчас для примера возьму какое-то другое лицо, которое мы будем использовать для генерации. Например, вот такое вот лицо. И правильнее брать лицо более-менее такое вот крупное, да, но не именно лицо, а чтобы хотя бы целая голова была видна. Иначе, а есть высокая вероятность, что такое лицо просто этой моделью не определится. В общем-то, на выходе вот здесь мы получаем IPG - это вот такое вот лицо 112112 разрешение. И второе, это и Image 256 тоже только лицо. Это у нас всё дальше подаётся в следующую группу. Image beded или встраивание изображения. Здесь мы выставляем разрешение нашей генерации. Выбираем здесь пропорцию, которая вам необходима, и отдельно выбираем разрешение в мегапикселях. Я вам предлагаю начать с 0,5 мегапикселей. И дальше уже можете повышать разрешение, чтобы понять, насколько у вас видеокарта вообще потянет такие генерации. Обратите внимание, если у вас лица будут на видеогенерациях мелкие, то в этом случае у вас лицо может быть некачественным, оно может быть даже немножко не похожим, то есть такое разрушенное. Вот такие вот крупные лица, они получаются значительно лучше. Далее, здесь мы выставляем количество генерируемых кадров. 121 кадр - это примерно пятисекундное видео у вас получается при FPS 24 кадра в секунду. На этой модели FPS именно 24 кадра в секунду. Если у вас видеопамяти не так много, но хочется видео сделать длиннее, то есть вот здесь вот вот такой вот узел, который называется context Option. Дальше мы сейчас к нему перейдём. Переходим дальше. Здесь у нас непосредственно сэмпlerр и основная генерация происходит именно здесь. Давайте посмотрим настройки сэмплера. Шесть шагов на генерацию здесь используется и используется вот такой вот смпlerлер и планировщик DPM SDE. Вот, например, на других планировщиках, например, LCM или Unipc, у нас основной объект вроде бы нормальный, качественный, но бэкграунд получается какой-то разрушенным. Если там что-то сложное, то, как правило, там не совсем это правильно как-то сгенерировано. А вот DPM+ SDE немножко похуже, может основной объект, но бэкграунд собранный получается. На мой взгляд, это компромиссный планировщик, и я оставил именно его. Из других настроек здесь, в принципе, ничего менять не нужно. Shift я пытался там сдвигать и вправо, и влево. Что-то ничего лучше я не получил. Количество шагов, понятно, что чем больше, тем будет лучше, но и генерация будет уже значительно дольше, а качество может улучшиться незначительно. Дальше переходим вот сюда вот в последнюю группу на вывод. Здесь мы можем включить тайлинговое декодирование, если у вас не хватает видеопамяти именно на декодирование. Если её у вас хватает, то эту галочку можно снять. У вас декодирование будет просто быстрее. В итоге мы получили вот такое вот видео, пока я рассказывал вам. А вполне неплохо это получается. Лицо действительно получается такое похожее, достаточно чёткое, интересное, то есть генерация, в принципе, более-менее свободная. То есть вы можете генерировать различные сюжеты, и у вас лицо будет всегда консистентное, то есть персонаж будет всегда именно с этим лицом. И ещё по поводу референсных изображений. Если у вас будет вот такое вот какое-то изображение с рукой возле лица, то такие изображения лучше не выбирать для референса. Почему? Потому что эта рука постоянно будет норовить, попасть вот рядом с лицом. То есть вы будете там говорить вперёд чашку, а она всегда будет держать одну руку возле лица и другой рукой будет брать чашку. Будет танцевать всегда с рукой возле головы. В общем-то, вот такие вот референсы лучше не брать. Лучше возьмите референс, где нет рядом ни рук, ни шапки, ничего другого. Теперь по поводу скорости генерации. На видеокарте 5090, мегапикселей пятисекундное видео генерирует со скоростью 139 секунд на генерацию. Если вы подключите вот этот вот узел и сделаете здесь, например, одно контекстное окно 77 фреймов либо там 53 фрейма, то у вас генерация сильно затянется по времени, но видеопамяти будет потребляться значительно меньше. Дело в том, что у вас в одном окне будет уже не 121 кадр, а всего лишь 53 кадра, либо там 77 кадров. Это значительно сократит потребление видеопамяти, но скорость генерации будет сильно замедлена. Поэтому, если у вас видеопамяти хватает, то это контекстное окно лучше отключить. Но опять же, если вы захотите поставить количество кадров, 256 там, например, или больше, то вам придётся это контекстное окно, скорее всего, включить. Поэтому включаем его здесь. Выставляем 81 кадр, например, перекрытие восемь кадров. этого достаточно вполне, и у вас видео будет уже более длинное, генерироваться там десятисекундное, например. И ещё я вам забыл показать. В группе загрузки модели здесь есть вот такой вот узел, который называется One Video Block Swap. Здесь можно выбрать выгрузку до 40 блоков модели в оперативную память. Если у вас мало видеопамяти, то прямо смело здесь ставьте 40, чтобы освободить максимальное количество видеопамяти. Если у вас много видеопамяти, то подберите это значение, чтобы у вас видеопамяти хватало и скорость генерации была высокой. Давайте теперь переходить ко второй схеме. Это схема более интересная, но она очень похожа на первую схему. Давайте сразу перейдём к группе загрузки модели. Здесь есть некоторые изменения. Обратите внимание, что первая вот эта вот модель теперь должна быть обязательно только full. Если у вас здесь будет light модель, то это работать точно не будет. Дальше переходим. Здесь вот загрузка модели. Здесь мы выбирали модель one 2.1 тексту видео, но здесь мы должны выбрать теперь Wise модель, потому что только с Wise у нас появляется возможность использовать референсное видео либо референсное изображение дополнительного. Также не забывайте, если у вас нет SGtion, то выберите здесь SDP. Лоры остаются те же самые, как в первой схеме. И вот эти модели тоже те же самые, как в первой схеме. Также возле Block Swab. Здесь лучше выгрузить больше блоков, а модели в оперативную память, потому что эта схема потребляет значительно больше видеопамяти, чем предыдущая схема. Переходим дальше. Здесь у нас загрузка изображения. Абсолютно всё то же самое. Здесь вообще ничего не менялось. Далее, вот здесь у нас подсказка. Абсолютно также пишется подсказка, та же самая модель. Тоже никаких изменений здесь нету. В группе встраивания изображения у нас здесь есть вот такой вот узел. И здесь вместо пустого латентного пространства embededs мы подаём уже вот это вот and из вот этой вот группы. Теперь давайте рассмотрим ту группу как раз которую я сделал специально для вот этой вот схемы. В этой группе у нас в первую очередь загружается исходное видео, относительно которого мы будем создавать карту глубины вот такую вот уже. И на основе этой карты глубины мы будем делать непосредственно уже а видео. А видео у нас будет участвовать лицо, которое мы вот здесь вот с помощью модели Link встраиваем. В общем-то, смотрите, здесь есть некоторые нюансы. У нас разрешение выбирается вот в этом вот узле. И также пропорция выбирается тоже в нём. Обратите внимание, здесь вот исходное видео, оно такое вытянутое вверх, и половина этого видео, оно пустое. А если я оставлю вот такое видео исходное, то лицо будет очень мелкое и скорее всего мы там вообще ничего не увидим. Поэтому вот таким вот узлом вы можете сделать подрезку. Вы выбираете пропорции, которые, ну, соответствуют тому, что вы хотите видеть. Просто, например, выбираем вот пять к четырём, да, нажимаем вот здесь правой клавишей мыши в preview image и нажимаем здесь Q selected output notes. И смотрим, что у нас получается. Просчитывается, и здесь мы видим, вот так у нас подрезается. Нам такое непригодно, да? Поэтому мы выбираем та другую пропорцию. Например, это будет какая-то вертикальная пропорция 4 наоборот к пяти. Нажимаем, выбираем здесь правой клавишей мыши Q selected output. У нас идёт заново пересчёт, и мы в итоге сможем уже посмотреть, что у нас на выходе получается. По поводу разрешения. Здесь вы можете не переживать, кратно оно шестнадцати или некратно шестнадцати. Вот этот вот узел, он на автомате всегда делает кратность шестнадцати обе стороны и высоту, и ширину. Поэтому здесь не нужно каких-то дополнительных там узлов делать, чтобы кратны шестнадцати эти пропорции, это разрешение выставить. Здесь, в этом узле, опять же, есть разрешение 0,7 мегапикселя и достаточно много. Вы лучше для начала поставьте там 0,5 мегапикселя. Но опять же вот обратите внимание, вот такое вот лицо, скорее всего, на 0,5 мегапикселе оно будет, ну, совсем уж поломанным. Если вы хотите вот именно с таким вот мелким лицом получить какой-то более-менее приемлемый результат, это будет точно от 0,7 мегапикселей, может быть, даже выше там 1 мегапикселе. Опять же, по скорости генерации это будет значительно дольше уже становиться, чем при 0,5 там мегапикселей. 1 мегапиксель - это уже примерно в два раза дольше. Также количество кадров, 24 кадра. Здесь мы выставляем это ровно столько же, сколько мы будем получать на выходе. И здесь мы можем выставить обрезку, например, Skip first Frames. 30 кадров начальных я обрезаю. Это чтобы редактором внешним не пользоваться. Прямо здесь можно сделать подрезку видео. 30 кадров с самого начала отрезаю и 189 кадров всего оставляю от момента первой подрезки. То есть в итоге у меня видео получает 189 кадров. Я смогу поставить значительно больше и видеопамяти у меня хватит. Это всё будет работать. Почему? Потому что здесь есть вот такой вот узел, о котором я вам в первой схеме говорил. Это Options. Здесь мы выбираем 81 кадр для контекстного окна и просто будем уже генерировать несколько контекстных окон. Соответственно, потребление видеопамяти не увеличится. В данном случае я здесь оставил один к одному. Если правой клавиши нажму, то у меня тоже получается приемлемый результат по подрезке. И лицо получается более-менее крупное. Вот такое вот. И на нём мне результат понравился больше. Дело в том, что у нас это всё-таки схема не просто для переноса карты глубины, а также ещё для переноса лица. Лицо всё-таки должно быть, ну, каких-то приемлемых размеров, чтобы оно было адекватной по качеству. Здесь мы выбираем препроцессор DepS Anfing V2. Это карта глубины, она максимально точная, если, конечно же, не брать там и другие Ри Gold, например, такие изысканные карты, но они будут работать очень долго, мне кажется. Поэтому вот такой вот результат, он, в принципе, есть оптимальный. А на выходе мы получаем вот такое вот видео. И по этой карте глубины мы уже будем генерировать видео. Далее получившийся результат мы подаём One Video Wise Encoder. И также референсное изображение. Мы подаём вот это с лицом. Если вы подадите какое-то другое референсное изображение, чтобы там передать одежду, ещё что-то, то лицо будет уже не такое точное, оно будет нарушаться. Но возможно, если лицо будет крупное, то оно и будет похоже на вот это вот референс. Даже если вы сюда подайте какое-то другое референсное изображение, из которого будете брать стиль, одежду, и, может быть, это будет работать нормально. Но при вот таком вот размере лица это точно работать не будет. Поэтому подаём вот это вот исходное а лицо вот сюда вот в One Video Wise. И результат WiTs мы подаём уже вот сюда вот в BTS One Video links andbets и потом уже подаём это всё в Sampler. Соответственно, контекстное окно включаем. Дело в том, что, как правило, если вы какое-то исходное видео, да, берёте, то 5 секунд - это слишком мало. Там нужно около 10 хотя бы секунд, ну или там, может быть, восьми, чтобы какой-то хотя бы законченный процесс показать. Поэтому с большей вероятностью у вас наверняка будет всегда включён вот этот вот contex options. Но генерация будет, конечно же, помедленнее, чем в предыдущей схеме. На выхне мы получаем вот такой вот результат. Давайте я сейчас включу звук. Открывая замки, буду вспоминать, как горели огни и от любви умер. В общем-то, вот такой вот результат получается. Смотрите, лицо здесь немножко э ну такое неточное, да, но здесь я разрешение поставил не такое высокое. Здесь у меня разрешение всего лишь 0,7 мегапикселей. Вот я делал в разрешение 1 мегапиксель. Получается немножко получше. замки. Буду вспоминать, как горели огни и от любви умер. Друзья, вот такая вот модель Links для переноса лиц на видео. А первая схема, на мой взгляд, очень интересная. Она может генерировать с исходным лицом по референсу, по текстовой подсказке. То есть вы пишете текстовую подсказку, на выходе получаете э какой-то результат, и у вас на разных видео будет одно и то же лицо, то есть консистентное лицо на видео. То есть вы можете какую-то последовательность кадров сделать. Вторая же схема, она такая более специфичная, то есть когда вам нужно уже более конкретные движения сделать в кадре. Но и вторая схема более ресурсоёмкая. Всё-таки потребление ресурсов там значительно возрастает. И также по поводу качества и переноса лиц. На второй схеме лучше использовать схему с более крупными лицами. Там результат будет значительно лучше. Если у вас лицо будет всё-таки такое вот мелкое, да, вот как я показывал, то разрешение нужно будет поднимать очень высоко, до 1 мегапикселя где-то, чтобы это лицо хотя бы более-менее было узнаваемое. Лучше вот второй вариант схемы использовать с более крупными лицами. То есть исходник видеогенерации у вас должен быть, где лицо более крупное. Тогда получится результат более узнаваемым, более интересным. Мне эта модель понравилась. Она генерирует неплохо, неплохо переносит лица и позволяет нам уже делать более длительные видео с консистентными персонажами из отдельных таких вот видеоотрезков. Если вам понравилось видео, то подпишитесь на канал, чтобы не пропустить последующее видео. На этом всем удачной генерации, хорошего настроения. Всем пока. เ

Wan Lynx - видео с переносом лиц

Channel: StableDif

Convert Another Video

Share transcript:

Want to generate another YouTube transcript?

Enter a YouTube URL below to generate a new transcript.