Для выполнения операции по замене лиц (face swap) в Automatic1111 популярными плагинами на сегодня являются три:
- ROOP
- FaceSwapLab
- ReActor.
ROOP был пионером, но автор его развитие забросил, FaceSwapLab очень функционален, а ReActor молод, развивается и весьма прост в общении.
А теперь про детали.
Говорить что кто-то из них лучше или хуже можно только в плане интерфейса для пользователя ибо для обнаружения лиц они все используют одну и ту же библиотеку inswapper_128.onnx.
Сегодня на слуху у всех ReActor. Ну что ж, ReActor устанавливается аналогично Roop и FaceSwapLab:
git clone https://github.com/Gourieff/sd-webui-reactor
или штатно из Automatic1111. После настоятельно рекомендую перегрузить сервер Automatic1111, а не просто его GUI.
При первой загрузке ReActor может написать нам что-то врoде "RELOAD SERVER...", но тем менее будет загружаться дальше и даже откроет GUI Automatic1111. Сами понимаете что нормально работать ReActor после этого точно не будет. Хотя автор ReActor-а и утверждает что ReActor все ему необходимое доинсталлирует сам, на практике этого не происходит.
Дело в том что если мы ранее использовали что-то на тему faceswap в Automatic1111 (а мы активно пользуемся расширениями RООР и FaceSwapLab), то ReActor требует onnxruntime библиотеку версии 1.14.0 и выше. Вполне вероятно что наша версия ниже.
Поэтому активируем venv и деинсталлируем ее:
..\python\python.exe -m pip uninstall -y onnxruntime onnxruntime-gpu
После опять запускаем Automatic1111 в процессе которого ReActor (или FaceSwapLab) доинсталлирует более свежую версию onnxruntime.
В итоге ReActor для себя создаст следующую копилку моделей:
в D:\SDportable\models\insightface
inswapper_128.onnx
и
в D:\SDportable\models\insightface\models\buffalo_l
1k3d68.onnx
2d106det.onnx
det_10g.onnx
genderage.onnx
w600k_r50.onnx
FaceSwapLab имеет тот же набор моделей, но хранит их в другом месте.)
Ok, теперь наш ReActor работает. Из вкусного могу сказать что в консоли он пишет приблизительный возраст человека лицо которого меняет и того на кого меняет, так вот могу утверждать что угадывает он плюс-минус в диапазоне 5-ти лет! Еще что замечательно так это то что ReActor работает с расширением AnimateDiff, в отличие от FaceSwapLab которая просто падает с ошибкой.
Я ничего не говорю про расширение ROOP, так как оно после установки ReActor-а у меня не работает, что-то они там не поделили в Automatic1111-е, поэтому я к нему уже и не возвращался.
Вот такие пироги на сегодня.
Успехов.
No comments:
Post a Comment
А что вы думаете по этому поводу?