Tuesday, 26 November 2024

Prompt - работа над ошибками.


Всем привет.

Наш AI-гуру NeuroGraph собрал наиболее распространенные ошибки, которые мы совершаем в своих подсказках для генерации изображений или видео.

Использование универсальных или простых эмоций.

Используйте более описательные, многослойные эмоции, такие как "утончённая радость с проблеском надежды" или "сдержанная улыбка, прячет грусть под". Эмоции должны быть наглядными, чтобы усилить впечатление и глубже раскрыть характер персонажа или ситуации.

Игнорирование языка тела и контекста.

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

Пренебрежение экологическими и ситуационными сигналами.

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

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

Включайте элементы окружения, которые соответствуют эмоциям. Например, "тускло освещённая комната, в которой человек смотрит на увядший цветок, и на его лице появляется горько-сладкое выражение ностальгии". Экологические сигналы помогают создать атмосферу и усилить эмоциональное восприятие.

Не обращаете внимания на роль глаз в выражении лица.

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

Забываете об асимметрии в выражении лица. 

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

Забываете о влиянии позы на эмоции.

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

Звучит неплохо, от себя замечу что далеко не все модели умеют следовать таким развернутым промптам. Например, помню, что заставить девушку мигнуть одним глазом в аниме проще простого, а вот в реалистик-моделях нет.

Удачи.

Friday, 22 November 2024

Web-браузер для Automatic1111.


Всем привет.

Oбычно Forge или Automatic1111 запускается в браузере по умолчанию, у меня в Chrome, и чтобы сменить автозапуск в другом браузере, нужно изменить wеb-браузер по умолчанию в самой операционной системе. 

Если вы очень хотите использовать Forge/Automatic1111 в другом браузере, например Brave, то для этого существует специальное расширение.

Вам нужно установить расширение - sd-webui-custom-autolaunch. Для этого переходим во вкладку - extensions \install  from URL и вставляем ссылку - https://github.com/w-e-w/sd-webui-custom-autolaunch.git в окно - \URL for extension's git repository. После установки жмем - Apply and restart UI.

После перезагрузки заходим в настройки - \system, и если все сделали правильно то у вас появятся дополнительные настройки - Custom autolaunch command. Ставите галочку - Enable custom autolaunch и добавляете в строку - \Custom autolaunch command следующую команду - "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" -new-window {url}, где в кавычках указываете путь к своему браузеру.

Сохраняете и перезагружаете. При следующем запуске Forge / Automatic1111 откроется в нужном браузере. Что бы вернуть браузер по умолчанию нужно просто снять галочку с - Enable custom autolaunch.

Но я лично  так не делаю. Я просто закрепил в нужном web-браузере любимые линки(смотри на фото) и... все. Не вижу особого смысла ставить плюс одно расширение против пары дополнительных кликов мышкой. Для удобства те же линки можно вынести ярлыками на ваш desktop.

Удачи.

Wednesday, 20 November 2024

Очищення даних MS Edge в один клік.

Привіт усім.

Часто політика компанії вимагає використання в роботі єдиного корпоративного web-браузера. В більшості випадків це Edge, і так само в більшості випадків всі проблеми з застосунками які його використовують це його кеш. Мені набридає кожного разу бігати по його меню і клікати відповідні кнопки, тому сьогодні я спробував винайти автоматизацію цього процесу.

Рішення потребує як очищення даних перегляду  та і скидання налаштувань браузера Microsoft Edge до значень за замовчуванням.

Для очищення даних перегляду в Microsoft Edge краще, щоб браузер був закритий, особливо якщо використовуєте параметри командного рядка, як `--clear-browsing-data`. Якщо Edge відкритий, очищення може не виконатися належним чином, оскільки файли можуть бути заблоковані через активні сесії.

Для Internet Explorer цього зазвичай не потрібно, оскільки його очищення працює навіть при запущеному браузері. Проте для найкращих результатів і тут варто закрити всі його вікна.

Перша автоматизація - якщо потрібно включити закриття Edge до вашого скрипту, можна зробити це так:

Batch-файл (для обох браузерів):

@echo off

REM Закрити Edge, якщо він відкритий

taskkill /IM msedge.exe /F

REM Очищення даних Internet Explorer

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

REM Очищення даних Microsoft Edge

start msedge.exe --clear-browsing-data --headless --disable-gpu --no-first-run --no-default-browser-check

Запускайте цей скрипт із правами адміністратора.


Щоб додати опцію скидання налаштувань браузера Microsoft Edge до значень за замовчуванням через командний рядок або автоматизацію, можна використати деякі доступні методи. На жаль, Microsoft Edge не має прямої команди для скидання налаштувань через `cmd` або PowerShell, але є спосіб видалити профіль користувача, що фактично скине налаштування до початкових.

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 чтение параметров принтера из файла

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

Популярное