понедельник, 30 июня 2025 г.

Wan 2.1 VACE V2V и несколько персонажей

Предупреждение для эпилептиков: там внизу картинки будут резковатые. 

Тут недавно вышло Wan VACE и я чот залип на ура, особенно увидев вот этот воркфлоу. Блин, мы просто в коротком видосе заменяем одного персонажа на другого - это же просто замечательно! Но сомнения оставались: а как оно будет работать на нескольких персонажах? Я сразу, чувствуя подвох, предположил, что плохо, поэтому предположил следующее: берём, нарезаем, кадр на куски, меняем персонажей, и как-то потом склеиваем назад (отрезаем фон, применяем компьютерное зрение, и.т.д.). В итоге, решил протестить на самом воркфлоу.

В чём заключался мой тест? Было взято то самое видео, где в начале две девушки за праздничным столом и из него было взято первые 5 секунд для обработки, благо начало из-за мемности легко найти. В картинки и назад я перегонял ffmpeg'ом, ибо самый простой способ. Но на разрезание кадров, оставляя только персонажей меня хватило вообще на  1 секунду (т.е. 24 кадра). Это, правда, оказалось хорошим вариантом, поскольку этого хватило для теста, а генерация долго не занимала, тем более что исходное видео из примера на оценивании поз в исходном воркфлоу торчало где-то полчаса.

Далее я сгенерировал в автоматике пару рефов, попытался описать что происходит в кадре. Это было тяжеловато потому что почти ничего и начал генерить.


Референсы. Было ещё два, но в силу того, что результаты на них не очень, их не привожу.

Первая находка: вот это сочетание модели и воркфлоу не может достаточно хорошо в аниме. Ну точнее может, но большая часть рефа терялась, анатомия периодически выходила в окно. Впрочем, интуиция мне подсказала, что лучше взять референсы в реалистичном стиле.

Второе: модель очень любит фокус на персонаже. Т.е.  в идеале он должен быть по центру кадра и она будет его туда двигать сама. Заметьте, что в примере камера вообще статичная. Но, впрочем хоть какое-то движение камеры оно может делать. Меня, может, подводила общая шакальность исходного материала. Отчасти добиться успехов получилось, но о склеивании речь не идёт. 


Вариант с девушкой слева. Девушка сзади - галлюцинация. Ближе к исходному варианту подошёл вариант справа. 
Это вариант для девушки справа. Я не очень хорошо понимаю, почему нейросеть решает сохранить позу из референса игнорируя controlnet. Подозреваю, что с рефом надо поиграться...
Но на видео из примера, кроме некоторой потери референса - всё хорошо!

Третье: оно не делает один-в-один движения персонажа. Я подозреваю, что в примере с распознаванием позы всё прошло сильно хорошо, но в чуть более сложных случаях, кхм, оно может пропускать движения. Например я потом попробовал небольшой шортс с ютуба, где девушка в начале потирает руки и в итоге оно получилось - девушка потирает руки, но в исходном видео она условном потирает руки три раза за секунду, а здесь - один раз. Ну и как по мне, оно больше смотрит на промпт, чем на видео. 

Варианты с совпадающим и несовпадающим разрешениями

Ну и внимательный читатель задаст вопрос: а может вообще ничего препроцессить не надо? Просто берём как есть кадр с двумя персонажами и пихаем в нейронку. Увы, так большая часть референса теряется, оно вообще на реф не похоже. Сюда не стал прилагать.

В общем, я хз. Для прототипирования чего-то сойдёт, наверное. Ещё, конечно, хочется попробовать на Fusion X это всё, но с ним надо отдельно возиться.  Либо ещё как вариант - более строго отнестись к входам и как-то пожестче препроцессить это всё (может быть даже чем-то отдельным от нейронок). Я впрочем потратил на это 6-8ч, что не так уж много времени, если потратить больше времени, разобрать воркфлоу, - возможно и удастся получить и более хорошие результаты. 

   

Комментариев нет:

Отправить комментарий