Saturday, 16 November 2024

Еволюція swap face.

Привіт усім.

В світі GenAI якось на перше місце серед безкоштовних опцій вийшла функція swap face. Іншими словами народ захопився змінювати себе або друзів на селебріті або героїв Marvel. Зрозуміло що це стосується саме обличчя, а не решти тіла, але багатьох і від цього пре.)

В Stable Diffusion в реалізації Automatic1111 спочатку був плаігн ROOP, пізніше потужній SwapLab,  в реализації ComfyUI зайшов ReАctor, який використовується і досі. Так, звісно ReАctor зайшов і в Automatic1111(Forge) і став так само популярним, якщо не основним. Нажаль SwapLab здав позиції хоча і мав на старті більший функціонал ніж ReАctor.

Але ці плагіни працювали з готовим зображенням і за допомогою бібліотеки insightface (C++) намагалися вписати ваше обличчя замість існуючого. Тобто результат був тим кращим чим простіший був source. Про стилизацію в цьому випадку можно було тільки мріяти.

Але ось прийшов IP-adapter(ControlNet) з схемою FaceID, де ваш face вже як референс приймав участь в усьому процесі генерації


Tuesday, 12 November 2024

Детектим виртуалку #2.

Привіт, привіт.

Не так давно я намагався впевнетись що ВМ сховати від зловреда майже неможливо. Тому вирішив ще перевірити як з цим справи в HyperV. На поміч мені став ChatGPT, бо в мене не було часу самому рискати по мережі, але результат очікуваний - для експериментів а якості пісочниці HyperV точно не годиться. Дивіться результати далі.

Щоб визначити, чи машина є віртуальною, будь хто може скористатися командою PowerShell, яка перевіряє наявність ознак віртуалізації. Один з найпростіших способів - це скористатися `Get-WmiObject` або `Get-CimInstance` для отримання інформації про BIOS чи апаратне забезпечення. Якщо сервер є віртуальним, у властивостях часто можна побачити такі рядки, як "Microsoft Corporation" для Hyper-V або інші специфічні ознаки.


Ось приклади команд, які можна виконати в PowerShell:

1. Використання класу Win32_BIOS

(Get-WmiObject -Class Win32_BIOS).SerialNumber

Значення `SerialNumber` часто вказує на віртуальну платформу. Наприклад, для Hyper-V він може починатися з `Microsoft Corporation`.


2. Перевірка за допомогою класу Win32_ComputerSystem

(Get-WmiObject -Class Win32_ComputerSystem).Manufacturer

Для віртуальних машин на Hyper-V `Manufacturer` зазвичай повертає `Microsoft Corporation`.


3. Використання класу Win32_SystemEnclosure

(Get-CimInstance -ClassName Win32_SystemEnclosure).ChassisTypes

Ця команда виведе код типу шасі. Для віртуальних машин Hyper-V зазвичай повертається значення `3` (для віртуального шасі).

4. Перевірка через властивості Hyper-V специфічного класу

Get-VM | Where-Object { $_.Name -eq (hostname) }

Ця команда підійде, якщо є доступ до PowerShell команд Hyper-V на хості. Команда спробує знайти віртуальну машину з ім’ям, яке відповідає поточному хосту.

Friday, 8 November 2024

Про Photomaker и Forge.

Привет всем.

Вы наверное уже знаете что автор Forge решил разнообразить свой продукт и в интерфейс Forge добавил закладку Spaces куда портировал ряд проектов с портала huggingface Spaces

Есть среди них на закладке Spaces и популярный PhotomakerV2. Картинки для Instagram он делает просто на ура. Разумеется можно также легко пользоваться PhotomakerV2 и на портале huggingface, но там очень быстро наступает лимит по времени генерации что творческому человеку просто мука.

Однако не спешите радоваться, у меня PhotomakerV2 перестал работать после последнего обновления Forge. После недолгих поисков я обнаружил что PhotomakerV2 не дружит с новой версией xformers, или точнее сказать у xformers повысились требования к моей видеокарте и он ее обозвал "old model" именно при генерации с PhotomakerV2. В самом Forge с этим все Ок.

На мое счастье запустить его еще можно понизив версию xformers до 0.0.23, разумеется это не очень удобно так как встроенный Python используется от самого Forge. Но выпиливание PhotomakerV2 из Forge займет у вас еще больше времени. Поэтому у меня пока два портативных(!) Forge-a.

Из полезного могу добавить то что можно разнообразить стили в PhotomakerV2 дописав их в файл style_template.py в json-формате (пример ниже). Где взять? Можно аккуратно переписать их из Fooocus-а или из InstantID проекта:

style_list = [

{"name": "(No style)","prompt": "{prompt}","negative_prompt": "",},

{"name": "cinematic-default", "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured"},

{"name": "sai-3d-model", "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting", "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting"},

{"name": "sai-analog film", "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured"}

и т.п.

Wednesday, 6 November 2024

Запуск ядерного ReActor-а.

Всем привет.

Судя по тому что у ИИ-гуру Antinoice есть отдельное руководство по фиксингу ReActor-а для ComfyUI надо к нему вернуться еще раз. Лично у меня ReActor находится в состоянии disabled виду того что с ним частенько конфликтуют ноды из других пакетов. А сам ReActor требует дополнительных шагов при установке.  Итак Antinoice советует поступать так:

1.Устанавливаем ReActor с помощью менеджера или качаем архив и распаковываем его в папку custom nodes.

Открываем папку ...\ComfyUI\custom_nodes\comfyui-reactor-node и запускаем файл install.bat.

2. Находим файл requirements.txt открываем его в блокноте и добавляем ещё одну строку:

 insightface==0.7.3

после чего сохраняем и закрываем блокнот.

3. Скачиваем файл insightface-0.7.3-cp311-cp311-win_amd64.whl отсюда (для Python версии 3.11):

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp311-cp311-win_amd64.whl

Или для Python версии 3.10:

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp310-cp310-win_amd64.whl

Или для Python версии 3.12:

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp312-cp312-win_amd64.whl

4. Помещаем наш файл в папку ...\python_embeded.

5. В этой же папке ...\python_embeded вверху в адресной строке папки прописываем cmd и нажимаем Enter - запустится консоль.

В консоль вставляем следующий текст:

python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

и нажимаем Enter,  дожидаемся установки и после этого можна запускать ComfyUI. Файл insightface-0.7.3-cp311-cp311-win_amd64.whl можно удалить. А лучше спрятать, мало ли.

Все. На первый взгляд все просто.)

Tuesday, 5 November 2024

Кладовая стилей: художники, дизайнеры и фотографы.

Всем привет.

Сегодня для вас третья часть от Дмитрия Невского про закрома SD, другими словами "Кладовая стилей: художники, дизайнеры, фотографы и многое другое для ваших нейросетей".

Я как-то касался этой темы, но у Дмитрия материала накопилсь больше, так что ему и слово.

Друзья, за все время изучения Stable Diffusion в моих закладках скопилась настоящая кладовая стилей художников, которые идеально подойдут для генераций в любой нейросети которую вы используете. Ниже вы найдете подборку стилей от классических художников до современных. Надеюсь, что эти ресурсы вдохновят вас на создание новых шедевров и помогут вашим нейросетям генерировать что-то по-настоящему удивительное. 


Stable Diffusion стили

SDXL Artist Study - это ресурс для тех, кто интересуется генеративным искусством и стилями художников. На сайте собрана обширная коллекция стилей, которые можно использовать для генеративных нейросетей, таких как Stable Diffusion XL.  


Stable Diffusion Artist List - это обширный каталог художественных стилей, созданный для пользователей генеративных нейросетей, таких как Stable Diffusion XL. Помимо стилей художников на этом сайте можно найти готовые промты художников для Stable Diffusion c примерами, промт генератор, генераторы картинок и др.


Urania AI - Top Stable Diffusion Artists - это подробный список художников, чьи стили изначально были предназначены для Stable Diffusion 1.4, но они хорошо подойдут так же и для других моделей Stable Diffusion и других нейросетей.  На сайте представлены визуальные примеры работ и фильтры для поиска художников по различным жанрам и направлениям. 


Sunday, 3 November 2024

Выбираем Upscaler для Stable Diffusion.

Всем привет.

Сегодня вторая статья про Stable Diffusion от Дмитрия Невского. И статья эта про апскейлеры. Так уж повелось что SD-сообщество не стало переводить англоязычный термин про масштабирование картинок, и так это слово и осталось. Скажу честно, я вначале не придавал особого значения увеличению результатов своих творений в SD. Или не было необходимости или наивно полагал что если картинка так себе, то апскейл ей уже не поможет. Я ошибался, ибо такой апскейл это не простое масштабирование, а интеллектуальное увеличение изображения. Более того, после операций inpaint или outpaint над картинкой оно просто необходимо на финише.

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

Если кто то не знает куда их добавлять, то кладите их в папку Forge: \webui\models\ESRGAN. Я обычно их использую в Hires.fix и для апскейла в img2img, так же можно их использовать с разными расширениями и для улучшения фото на вкладке Extras.

Openmodeldb.info (free)

Сайт, где собраны все популярные апскейлеры. Здесь можно найти апскейлы на все случае жизни от фото до аниме. Они разбиты по категориям с наглядными примерами до и после, можно выбрать любой на свой вкус. Некоторые уже установлены в сборках  Automatic1111 и Forge, но может быть что то еще подберете на свой вкус, добавляйте сайт в закладки что бы не потерять. Дополнительные апскейлеры можно найти на сайте Civitai если не нашли нужные на сайте Openmodeldb.info.

Скачать можно с официального сайта https://openmodeldb.info/

Saturday, 2 November 2024

Стили в Forge и как их использовать на моделях FLUX

Всем привет.

Накидаю ка я вам парочку статей из блога Дмитрия Невского, энтузиаста от ИИ. Мне лично нравится его непредвзятая подача материала по Stable Diffusion и всего что около. Сегодня первая статья про быстрые стили в Forge/Automatic1111 и как их использовать, в том числе и на моделях FLUX.

Замечание: на сегодня модели FLUX не поддерживаются в Automatic1111.

Знаете ли вы, что правильное использование стилей в Stable Diffusion может увеличить качество ваших генераций на 300%? Да-да, вы не ослышались! А что, если я скажу вам, что большинство пользователей Stable Diffusion используют стили неправильно, тем самым ограничивая их потенциал? 

Немного терминологии

Стили в Stable Diffusion - это наборы слов или фраз, которые определяют визуальные характеристики генерируемого изображения. Они могут влиять на цветовую палитру, композицию, детализацию и общую атмосферу.

Стили могут быть как в интерфейсе - быстрые стили (имею ввиду для Forge/Automatic1111), могут быть прописаны в промпте, иногда установлены вместе с разными расширениями.

Стили в промпте (например "style by Tim Burton"):

- Модель попытается имитировать общий стиль Бертона.

- Результат может варьироваться в зависимости от других элементов промпта.

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

- Может потребовать дополнительных уточнений для получения конкретных черт стиля Бертона.

Стили в интерфейсе:

- Это предварительно составленные наборы слов, описывающие конкретный стиль.

- Обычно более подробные и специфичные, дают более конкретный и предсказуемый результат.

- Легко применяются одним кликом.

- Могут комбинироваться с другими элементами промпта.

Friday, 1 November 2024

Управляем принтерами из командной строки.

Всем привет.

Мы уже знаем что с помощью PowerShell можно автоматизировать типовые задачи управления принтерами и драйверами печати в Windows. Также одним из широко известных способов управления принтерами в системах Windows различных версий является хост-процесс rundll32.exe, которому передается имя библиотеки printui.dll и точка входа в нее (PrintUIEntry). А чуть ниже будет дан еще один штатный, уже третий, способ управления принтерами - с помощью  vbs-скриптов.

Итак использование rundll32 printui.dll,PrintUIEntry (чтобы получить все эти параметры, нужно вызвать с ключом   /? окно в котором отобразится полный список с примерами): 

rundll32 printui.dll,PrintUIEntry [параметры] [@командный файл]

/a[имя_файл] имя двоичного файла

/b[имя] основное имя принтера

/c [имя] UNC-имя компьютера, где выполняется команда

/dl удаление локального принтера

/dn удаление подключения к сетевому принтеру

/dd удаление драйвера принтера

/e вывод параметров настройки печати

/f[file] или информационный файл, или выходной файл

/F[file] размещение INF-файла, от которого может зависеть INF-файл, указанный в параметре /f

/ga добавление подключений компьютеров к принтеру (подключение распространяется на компьютер пользователя в момент входа в систему)

/ge перечисление подключений компьютеров к принтеру

/gd удаление подключений компьютеров к принтеру (подключение удаляется в момент входа пользователя в систему)

/h[arch] архитектура драйвера, принимает значения: x86, x64 или Itanium

/ia установка драйвера принтера с помощью информационного файла

/id установка драйвера принтера с помощью мастера установки драйверов принтеров

/if установка принтера с помощью информационного файла

/ii установка принтера с помощью мастера установки принтеров и информационного файла

/il установка принтера с помощью мастера установки принтеров

/in добавление подключения к принтеру

/ip установить принтер с помощью мастера установки сетевых принтеров

/j[provider] имя системы печати

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

/l[path] путь к исходному размещению драйвера принтера

/m[model] имя модели драйвера принтера

/n[name] имя принтера

/o показать очередь заданий на печать

/p отображение свойств принтера

/q тихий режим без вывода сообщений об ошибках

/r[port] имя порта

/s показать свойства сервера

/Ss запись параметров принтера в файл

/Sr чтение параметров принтера из файла

Версия на печать

Популярное