Fooocus V2. Что это такое? Как установить. Как начать пользоваться.
С каждым днем нейросети все больше и больше входят в нашу жизнь. Они постоянно совершенствуются, добавляются новые функции, которые помогают в работе или хобби. Нейросети могут быть использованы в самых разных сферах. Вот несколько примеров.
1. Медицинская диагностика: нейросети могут быть обучены распознавать патологии на медицинских изображениях или анализировать медицинские данные для предсказания заболеваний и лечения.
2. Автоматизация производства: нейросети могут быть использованы для обнаружения дефектов на производственных линиях, управления роботами или автоматизации других сложных задач.
3. Финансовая аналитика: нейросети могут быть обучены распознавать тренды на рынке, анализировать финансовые отчёты или предсказывать цены акций.
4. Автономная навигация: нейросети могут быть использованы для управления автономными транспортными средствами, роботами или дронами.
5. Естественный язык: нейросети могут быть обучены понимать и генерировать естественный язык, что полезно для автоматического перевода, распознавания речи, ответов на вопросы и других задач, связанных с обработкой текста.
6. Распознавание объектов: нейросети могут быть обучены распознавать объекты на изображениях или видео, что может быть полезно в безопасности, автономных автомобилях или системах видеонаблюдения.
И это лишь малая часть примеров и областей, где могут быть использованы нейросети. Их потенциал действительно очень широк и продолжает расти с каждым годом.
Давайте вместе окунёмся в увлекательный мир генеративных нейросетей! Узнаем, как они функционируют, и научимся с ними работать, чтобы быстро достичь желаемых результатов.
И начнём пожалуй с самого простого, мощного и удобного интерфейса, который, насколько это возможно, минимизирует порог вхождения для новичков. Этот интерфейс называется Fooocus V2, и его разработчиком является lllyasviel, известный другими своими проектами, такими как расширение ControlNet для Stable Diffusion, интерфейс ForgeUI, Omost, IСLight и другие. С ними мы познакомимся позже, а сегодня давайте сосредоточимся только на Fooocus V2.
Если цитировать разработчика, вкратце:
Fooocus — это новая звезда в создании изображений, объединяющая лучшее из Stable Diffusion и Midjourney. Программа работает автономно и с открытым исходным кодом, предлагая доступность и свободу. Она устраняет сложности и барьеры, позволяя пользователям без ограничений погрузиться в цифровое творчество.
В настоящее время существует большое количество сборок на основе интерфейса Stable Diffusion, которые отличаются друг от друга как по вариативности и дружественности интерфейсов для новичков, так и по длительности и сложности установки. Я работал со многими из них, и, на мой взгляд, лучшим выбором для тех, кто только начинает свой путь в мире генеративных нейросетей, является Fooocus V2.
В отличие от онлайн-сервисов, таких как Midjourney или Dall-E, Fooocus функционирует не на удалённом сервере, а непосредственно на компьютере пользователя. Это обеспечивает ряд существенных преимуществ:
- Не требуется ожидать очереди на обработку запроса.
- Нет необходимости оплачивать подписку каждый месяц.
Вам достаточно один раз установить интерфейс на свой жёсткий диск, и вы забудете о проблемах, которые возникают при использовании онлайн-сервисов.
Однако, стоит отметить и некоторые недостатки: не каждый компьютер может соответствовать системным требованиям Fooocus.
Официальные минимальные требования — 4 ГБ памяти графического процессора Nvidia (4 ГБ видеопамяти) и 8 ГБ системной памяти (8 ГБ оперативной памяти).
Но для комфортной и быстрой работы без томительных минут ожидания перед монитором, вам потребуется видеокарта с минимум 8 гигабайтами видеопамяти и выше.
Я тестировал Fooocus на системах с 4 гигабайтами видеопамяти. И работать с таким объемом памяти вполне реально, но процесс занимает значительно больше времени. Но, если вы хотите работать быстро, вам, вероятно, придётся раскошелиться на новую видеокарту с большим объемом видеопамяти. Если же вы не готовы потратить деньги на новое оборудование, готовьтесь к долгим генерациям и бессонным ночам.
Конечно, есть альтернатива локальной установке, это Google Collab. Этот способ позволит вам работать без привязки к вашей конфигурации ПК и генерировать изображения значительно быстрее. Как с ним работать и как все настроить мы рассмотрим в другой статье.
Ну и давайте приступим к установке.
Если у вас это первый опыт общения с генеративными нейросетями, то для начала необходимо:
- обновить драйвер вашей видеокарты до последней версии.
- скачать Python версии 3.10.9 по ссылке и установить его. Обязательно
поставьте галочку при установке: «add to path».
- скачать Git по ссылке и установить, ничего не меняя при установке.
Если вы не уверены, нужно ли вам это вообще, то вы можете перейти по ссылке по адресу: https://www.fooocus.cc/ и посмотреть онлайн, что умеет эта нейросеть. Если результат вас порадовал, то вы вернулись к этому тексту и продолжили читать, предварительно поставив лайк, подписавшись на канал и оставив комментарий. Для вас это несложно, а для меня это огромная мотивация, зная, что для кого то эта статья интересна и полезна.
Далее:
переходим по ссылке или качаем архив, нажав на Click here to download (при условии, что у вас операционная система Windows 10/11).
В этой статье мы рассматриваем установку только на Windows и видеокарты от NVIDIA. Если у вас видеокарта AMD и\или другая операционная система то вам СЮДА, там вы найдёте всю нужную информацию.
Скачанный архив необходимо распаковать в любую удобную папку, в пути не должно быть кириллицы (русских букв).
c:\Program Files (x86)\нейросети\фокус — (неправильно).
c:\Program Files (x86)\AI\Fooocus — (правильно).
После того как вы распаковали архив, в вашей директории Fooocus, помимо всего прочего должно быть три файла (смотрим на скриншот выше): run.bat, run_anime.bat и run_realistic.bat. Каждый из этих файлов запускает определенный режим со своим набором настроек.
Также вы можете скачать мою уже настроенную сборку Fooocus V2 с небольшими визуальными и программными доработками по этой ссылке. И еще на бусти вы сможете скачать русскую локализацию интерфейса Fooocus с подробной инструкцией по установке. (Буду признателен если вы поддержите меня подпиской на бусти).
Режимы запуска: run.bat -run_anime.bat - run_realistic.bat
Все режимы в значительной степени отличаются друг от друга. Они содержат разные модели и стили, которые используются для генерации изображений, и отличаются настройками для каждого режима (в зависимости от того, когда вы читаете эту статью, названия и версии моделей могут отличаться от тех, которые будут перечислены ниже).
При запуске файла run.bat запускается так называемый универсальный режим, подключается модель Juggernaut XL, Lora SDXL Offset Example Lora и 3 стиля Fooocus V2, Fooocus Enhance, Fooocus Sharp. Этот режим подойдёт практически для любого запроса, как для создания артов, так и для создания реалистичных изображений.
При запуске файла run_realistic.bat запускается режим для создания реалистичных изображений, портретов, фотографий и подключается модель Realistic Stock Photo, Lora SDXL Film Photography Style и 3 стиля Fooocus V2, Fooocus Photograph, Fooocus Negative (негативный промпт содержит в себе: unrealistic, saturated, high contrast, big nose, painting, drawing, sketch, cartoon, anime, manga, render, CG, 3D, watermark, signature, label).
При запуске файла run_anime.bat запускается режим для создания изображений в аниме-стиле и художественных артов. Подключается модель blue_pencil-XL, рефайнер DreamShaper 8, Lora SDXL Offset Example Lora и 6 стилей: Fooocus V2, Fooocus Masterpiece, SAI Anime, SAI Digital Art, SAI Enhance, SAI Fantasy Art. В позитивном запросе сначала указывайте 1girl, если вам нужно сгенерировать девушку, а в негативном — low quality, watermark.
Обратите внимание, что первый запуск любого из режимов будет дольше обычного, потому что для каждого из режимов будет скачиваться определенная модель. Прогресс загрузки модели на ваш жесткий диск можно посмотреть перейдя в терминал нажав alt+tab.
Запуск Fooocus.
Если вы установили все программы по ссылкам, то пора запускать Fooocus. Переходим в директорию Fooocus и запускаем run.bat или любой другой из предлагаемых.
Должно получиться вот так:
В стандартном режиме, без включения дополнительных настроек, интерфейс программы настолько прост, что с ним легко справится даже тот, кто не имеет никакого опыта работы с нейросетями. Всё, что нужно сделать — это ввести запрос и нажать кнопку «Generate».
Запрос как и в большинстве интерфейсов нейросетей нужно вводить на английском языке, здесь выходов несколько, google translate или deepL вам помогут, либо вы можете поступить еще проще и скачать по ссылке с моего бусти сборку Fooocus где в настройках вы сможете включить возможность писать промпты на русском языке.
Не стоит беспокоиться, если после нажатия кнопки "Generate" в течение некоторого времени не будет никаких изменений. Обычно первая генерация занимает больше времени, но последующие будут проходить быстрее.
Но если процесс начался, в строке прогресс бара вы будете наблюдать системное сообщение, которое будет информировать вас о выполняемой в данный момент операции:
Что касается функционала, то, не углубляясь в детали настроек, представленных под чекбоксами «Input Image» и «Advanced», можно выделить несколько основных элементов:
1. Окно для ввода запроса или подсказки.
2. Кнопка «Generate», нажатие на которую запускает процесс генерации изображения.
3. Кнопки «Stop» и «Skip». В режиме генерации одного изображения обе кнопки выполняют одинаковую функцию — останавливают процесс. Однако, если вы генерируете несколько изображений, кнопка «Skip» позволяет пропустить текущее изображение и перейти к генерации следующего.
Для первого знакомства с интерфейсом Fooocus этого вполне достаточно. Вы можете попробовать и понять, интересно ли вам работать с таким интерфейсом или лучше поискать что-то более простое. Хотя, на мой взгляд, куда уж проще.
Если вас всё устраивает, давайте рассмотрим подробнее функции, которые находятся в разделах «Input Image» и «Advanced».
Раздел «Input Image» мы с вами подробно рассмотрим в следующей статье. Если вы новичок, то не стоит перегружать себя большим количеством информации, иначе она может запутать вас. Лучше всего перейти к этому разделу и начать изучать его функции, когда вы уже уверенно генерируете изображения и стремитесь к более сложным задачам.
А вот раздел «Advanced» мы обсудим прямо сейчас, потому что в нём сосредоточено много важных функций, которые необходимо освоить в самом начале работы.
Setting
(как изменить настройки под свои требования вы можете прочитать здесь)
Performance — производительность, в нашем случае скорость генерации изображения, на выбор доступно несколько режимов: Speed — 30 шагов - быстрая генерация со средним качеством сгенерированного изображения, Quality — 60 шагов - более длительная по времени но с наилучшим качеством сгенерированного изображения и Extreme Speed — очень быстрый режим, работающий за счёт использования технологии рендеринга LCM но значительно уступающий по качеству изображения даже режиму Speed. Я выставляю всегда режим Quality, разница в скорости работы режимов ощутима, но я не готов пожертвовать качеством в угоду скорости.
в новых версиях Fooocus появились новые режимы работы Lightning и HyperSD и при желании, полистав статьи на моём канале, вы сможете найти подробное описание, что это за режимы и как они работают
Aspect Ratios — выбираем необходимое разрешение и соотношение сторон. Выбор соотношения и разрешения зафиксирован на определенных значениях не просто так, они установлены с учётом разрешений, на которых обучались SDXL-модели, а это значит, что вы при всём желании не сможете выбрать неправильное соотношение сторон и разрешение, при котором генерируемое изображение будет искажаться.
Image number — (количество изображений) выставляйте на своё усмотрение, максимально можно выставить до 32, я ставлю всегда 1 изображение, чтобы понимать, что нужно подкорректировать в своём запросе.
Negative prompt — это то, что вы категорически не хотите видеть на своём изображении. (Не забывайте, что все промты, как негативные, так и позитивные, мы всегда указываем на английском языке.)
Random — по умолчанию всегда включён, и каждую генерацию будет разный результат, если мы снимем галочку, то увидим длинное числовое значение, так называемый сид (seed) — все изображения создаются из белого шума, и сид — это ID уникального для каждого изображения шума. Использовать конкретный seed можно, если вы экспериментируете с запросом или различными Loras либо просто хотите повторить ранее созданное изображение.
History Log — содержит всю информацию о ваших сгенерированных ранее изображениях, здесь есть и Seed для каждого изображения, и запрос, и много другой информации. Focus в отличие от Automatic 1111 и прочих не умеет хранить информацию внутри самого изображения, и вы не сможете посмотреть информацию о генерации через PNG INFO.
Style
По умолчанию в Fooocus всегда включено 3 стиля, один из них, Fooocus V2, это GPT-модель которая помогает вам с улучшением указанных вами запросов. Иногда она бывает очень полезна а иногда может мешать созданию какого то конкретного изображения в определенном стиле.
Экспериментировать со стилями здесь на самом деле очень интересно, их можно «смешивать» без ограничений по количеству и получать забавные и непредсказуемые результаты. Попробуйте и не пожалеете о потраченном времени.
Стилей настолько много, что можно потратить уйму времени на поиски "своего" любимого. Для удобства в этом разделе есть строка поиска, которая поможет найти нужный стиль, не просматривая весь список.
Model
Здесь мы можем выбирать модели для генерации своих изображений, выбрать рефайнер (если нужно) и добавить Loras модели. В Fooocus уже предустановлены несколько моделей, увидеть которые вы можете, нажав на Base model. Если вдруг у вас отсутствуют модели либо они вас не чем то не устраивают или вдруг захотелось попробовать как работают другие модели, то вам СЮДА, смотрите и качайте то, что нравится. (скачанные модели всегда должны лежать по пути: ваш диск / папка Fooocus / models / checkpoints).
Не забывайте: Fooocus будет работать только с SDXL моделями. Flux, SD 1.5 (используется только в качестве рефайнера) и прочие не будут работать в этом интерфейсе.
Refiner — это своего рода улучшалка, в большинстве случаев модели с Civit.ai не нуждаются в использовании рефайнера, внимательно читайте пояснения автора модели, там как правило указаны все необходимые параметры для корректной работы модели. По умолчанию при использовании в качестве рефайнера модели SD 1.5 разработчик рекомендует выставлять значения 0,4 для всех моделей и 0,667 для Anime моделей. Для SDXL моделей значение веса рефайнера рекомендовано 0,8.
Lora — это (от англ. «Low-Rank Adaptation») дополнительный компонент для нейросети, который позволяет обучаться искусственному интеллекту в процессе создания объектов, которые он ещё не умеет отображать. Но в нашем случае это уже обученная чему либо модель, будь то котики или симпатичные девушки.
Веса Loras, т.е степень влияния этой модели как правило варьируется от -2 до 2. Какое значение выставлять — решать вам. Советов давать здесь смысла нет ибо это всё на вкус и цвет как говорится. (не забывайте про фильтр на сайте, это упростит процесс поиска нужной модели или лоры).
Другие модели Lora вы так же можете найти на Civit.ai.
Скачанные Lora модели нужно хранить по пути: ваш диск\директория fooocus\models\loras
Ниже мы видим, что можно добавить до 5 различных Lora одновременно и отрегулировать вес каждой Lora исходя из нашей потребности.
К примеру, мне захотелось хомяка одеть во что-то необычное: скачал эту Lora
Скопировал её в папку «fooocus\models\loras» и не забыл скопировать слово-триггер, которое активирует Lora в моём промпте. Иногда Loras не требуют триггеров, но в большинстве случаев без них не обойтись.
Включаю скачанную Lora и выставляю её вес.
В конце своего уже существующего промпта вставляю ключевое слово и генерирую изображение без каких либо других изменений:
A cheerful hamster in a white hat, running on the grass, holding a chupa chups on a stick in his paws, ral-crztlgls
На изображении выше видно, как работает Lora. В промпте нет никаких упоминаний о стеклянной одежде или стеклянной шляпке. Это всё сделала сама Lora. Подобным образом можно изменить любое изображение не тратя время на подробное составление промпта чтобы получить похожее изображение но без использования Lora.
Advanced
Guidance Scale — шкала соответствия, определяет, как сильно нейросеть должна следовать запросу. Зачастую автор модели в описании указывает рекомендуемое значение CFG, если информации нет, то можете оставить по умолчанию либо методом проб и ошибок выбрать то значение, которое вам подходит.
Слишком высокое значение может засыпать изображение артефактами и чересчур раскрасить его и сделать ненатуральным.
А слишком низкое значение обесцветит изображение и сделает его скучным как на изображении ниже, хотя иногда для получения "унылого" или драматического эффекта низкое значение как раз и нужно.
Image Sharpness, в свою очередь, отвечает за добавочный шум при генерации изображения, и чем больше значение, тем больше деталей будет на вашем изображении, избыток шума может привести к эффекту перешарпа и некоей замусоренности изображения.
Наиболее популярное или среднее значение Guidance Scale 5–6, Image Sharpness 7–9.
Остался последний раздел, Developer Debug Mode — это меню для тонкой настройки работы нейросети и если вы новичок и не знаете что делаете, то я крайне не рекомендую ничего менять. В дальнейших статьях мы рассмотрим некоторые пункты из этого раздела и рассмотрим как с ними работать. А сейчас их лучше пропустить.
Надеюсь, вы уже немного разобрались с функционалом и настройками. Теперь нужно научиться правильно формулировать запросы.
Чтобы нейросеть правильно вас понимала, важно грамотно формулировать запросы. Хотя в Fooocus и встроен GPT-движок, который должен помочь вам улучшить ваши запросы, следует помнить о некоторых важных моментах:
существует определённая структура построения запроса: тема, основа, стиль, художник (если нужно следование стилю какого либо известного художника), разрешение, уточнение деталей, цвета, освещение
Если запомнить структуру, то в дальнейшем у вас не будет возникать проблем при создании сложных композиций. Я уже рассказывал, как правильно писать запросы, почитать об этом вы можете здесь.
На этом я закончу. Конечно, это далеко не вся информация, которой я хотел бы поделиться. У нас осталась самая интересная часть - это Input Image, но мы обязательно рассмотрим её в следующий раз.
Ну и конечно же, если вам понравилась эта статья, буду рад вашим подпискам, комментариям и лайкам. Недавно я запустил Discord-канал и постараюсь поддерживать его насколько возможно, там вы сможете не только следить за новостями, но и общаться, делиться опытом и приобретать новые знания о нейросетях. Чтобы всегда быть в курсе моих новых материалов, подписывайтесь на мой Boosty, Telegram-канал и страницу "ВКонтакте". Пока что нас немного, но я надеюсь, что с течением времени сообщество станет больше. Это станет отличной мотивацией для меня активно работать и над другими социальными сетями.