Необходимо было смешать два изображения, чтобы придать первому изображению черты второго. Для этого мы воспользуемся image fuse и моделью с открытым кодом Kandinsky 2.2.
Будем объединять два изображения с помощью mix_images
, но учитывая, что нам надо отдать предпочтения первой картинке из двух, то веса смешивания будут не равными, а зафиксированными эмпирически 0.7 и 0.3 соответственно у первой и второй картинки.
Для нормального использования решения необходимо:
- Установить
git
. - Установить
pip
. - Установить зависимости из
requirements.txt
-pip install -r requirements.txt
.
Если же необходимо изолировать запуск в Docker, то необходимый контейнер можно найти в каталоге NVIDIA NGC тут.
Для запуска смешивания есть файл run.py
, который запускается следующим образом (выделенное в квадратные скобки - опционально и можно опустить):
python run.py [--device cpu] [--flash_attention true] [--output_name mix.png] [--output_width 512] [--output_height 512] [--random_state 42] img1.jpg img2.jpg
Выходное изображение будет записано в файл output_name
параметр, который по умолчанию mix.png
.
Ниже приведены примеры работы программы:
- Исходные изображения:
Левое | Правое |
---|---|
Результат:
- Исходные изображения:
Левое | Правое |
---|---|
Результат: