Обзор редактора картинок тестом Flux Kontext Dev от BFL. Подробнее про сам Kontext и его облачные версии я писал тут, а этот пост сконцентриуется на тестах опенсорсной версии Dev.
На релизе нам доступно два воркфлоу: одно для поэтапного редактирования картинки в виде изменения объектов, смены ракурса и освещения, или переноса объекта/стиля с рефа, а другое для объединения персонажей с разных картинок на одно изображение.
В обоих случаях стоит помнить, что Kontext заточена под последовательное редактирование короткими промтами. Подразумевается, что вы будете дробить общую задачу на более мелкие. Сгенерили нужное изменение — нажали refresh, и картинка подаётся на вход вместо оригинала. И так далее в глубину.
Но вместе с этим могут начать вклиниваться и нежелательные элементы: снижение разрешения, смещение цветов, итд. Так, что в идеале целевой контент должен быть на расстоянии 1 изменения от оригинала.
Поэтому очень важно писать промт в нужном формате для модели. Kontext очень капризная в этом плане: ей нужны и по-человечески простые короткие инструкции, и машинные тригеры с чётким описанием что заменить на что. Есть гайд по промтингу от самих BFL и от Comfy, очень помогает.
На картинках с таким подходом кожа выглядит отлично, без пластика, лицо и тело переносятся максимально близко к оригиналу, а детали вроде татуировок и аксессуаров улавливаются просто супер. Ощущается, что модель заточена под коммерческий контент, ибо одежду на персонажах она меняет на ура и удерживает детали принтов даже при смене стиля и угла обзора. Вместе с этим BFL упростили получение лицензии на коммерческое использование.
Также Comfy добавили фичу быстрого создания новой групповой ноды, чтобы можно было реще собрать витиеватое воркфлоу для поэтапного изменения контента и упрощения навигации по векторам развития сюжета.
Теперь к тестам Dev модели на 4090. Есть FP8 и есть BF16 версии.
FP8 влезает в 20 ГБ VRAM, пикуя до 22 ГБ. Генерит и следует промту хорошо, но видна пожатость изображения, детализация слабее, и она чаще отходит от оригинального лица.
24 сек на 1024х1024 в 20 шагов // воркфлоу редактирования
26 сек на 1635х1243 в 20 шагов // воркфлоу объединения
BF16 занимает 23,6 ГБ VRAM, не забивая её до отказа, и заходя в оперативку на десяток другой гигов с общим потреблением ~32 ГБ RAM. Здесь сетки уже не видно, картинка плавная и чёткая, а промту следует ещё лучше. Разница по скорости с fp8 в пару секунд, а по качеству она видна на глаз — если есть 24 ГБ VRAM, запускаем BF16 без оглядки.
28 сек на 1024х1024 в 20 шагов // воркфлоу редактирования
35 сек на 1635х1243 в 20 шагов // воркфлоу объединения
На 5090 при тех же параметрах редактирование 18 сек занимает.
Тут ещё и ускорение через ноду OpenVINO подъехало.
Тренировку я ещё не тестировал, но вы можете посмотреть на эту тему заметки от разрабов Comfy с их стрима, где они сравнивают Kontext и OmniGen2.
В один пост все не вместилось — далее будут наблюдения и замечания.
Анонс Kontext Dev
Хаггинг (FP8)
Хаггинг (BF16)
Гайд по промтингу (BFL)
Гайд по промтингу (Comfy)
Подробнее про Kontext
На релизе нам доступно два воркфлоу: одно для поэтапного редактирования картинки в виде изменения объектов, смены ракурса и освещения, или переноса объекта/стиля с рефа, а другое для объединения персонажей с разных картинок на одно изображение.
В обоих случаях стоит помнить, что Kontext заточена под последовательное редактирование короткими промтами. Подразумевается, что вы будете дробить общую задачу на более мелкие. Сгенерили нужное изменение — нажали refresh, и картинка подаётся на вход вместо оригинала. И так далее в глубину.
Но вместе с этим могут начать вклиниваться и нежелательные элементы: снижение разрешения, смещение цветов, итд. Так, что в идеале целевой контент должен быть на расстоянии 1 изменения от оригинала.
Поэтому очень важно писать промт в нужном формате для модели. Kontext очень капризная в этом плане: ей нужны и по-человечески простые короткие инструкции, и машинные тригеры с чётким описанием что заменить на что. Есть гайд по промтингу от самих BFL и от Comfy, очень помогает.
На картинках с таким подходом кожа выглядит отлично, без пластика, лицо и тело переносятся максимально близко к оригиналу, а детали вроде татуировок и аксессуаров улавливаются просто супер. Ощущается, что модель заточена под коммерческий контент, ибо одежду на персонажах она меняет на ура и удерживает детали принтов даже при смене стиля и угла обзора. Вместе с этим BFL упростили получение лицензии на коммерческое использование.
Также Comfy добавили фичу быстрого создания новой групповой ноды, чтобы можно было реще собрать витиеватое воркфлоу для поэтапного изменения контента и упрощения навигации по векторам развития сюжета.
Теперь к тестам Dev модели на 4090. Есть FP8 и есть BF16 версии.
FP8 влезает в 20 ГБ VRAM, пикуя до 22 ГБ. Генерит и следует промту хорошо, но видна пожатость изображения, детализация слабее, и она чаще отходит от оригинального лица.
24 сек на 1024х1024 в 20 шагов // воркфлоу редактирования
26 сек на 1635х1243 в 20 шагов // воркфлоу объединения
BF16 занимает 23,6 ГБ VRAM, не забивая её до отказа, и заходя в оперативку на десяток другой гигов с общим потреблением ~32 ГБ RAM. Здесь сетки уже не видно, картинка плавная и чёткая, а промту следует ещё лучше. Разница по скорости с fp8 в пару секунд, а по качеству она видна на глаз — если есть 24 ГБ VRAM, запускаем BF16 без оглядки.
28 сек на 1024х1024 в 20 шагов // воркфлоу редактирования
35 сек на 1635х1243 в 20 шагов // воркфлоу объединения
На 5090 при тех же параметрах редактирование 18 сек занимает.
Тут ещё и ускорение через ноду OpenVINO подъехало.
Тренировку я ещё не тестировал, но вы можете посмотреть на эту тему заметки от разрабов Comfy с их стрима, где они сравнивают Kontext и OmniGen2.
В один пост все не вместилось — далее будут наблюдения и замечания.
Анонс Kontext Dev
Хаггинг (FP8)
Хаггинг (BF16)
Гайд по промтингу (BFL)
Гайд по промтингу (Comfy)
Подробнее про Kontext
Наблюдения и замечания по Flux Kontext Dev:
Пока мы просто меняем фон + следом одеяние персонажа + просим придерживаться рефа
Дело усугубляется, если на Refresh была взята генерация с шакалинками на лице — каждая последующая генерация будет усугублять ситуацию. Поэтому следим, чтобы на вход подавались версии с чётким лицом.
Я думаю, что этот квадрат и шакальность пофиксят в ближайшее время ибо это слишком видный косяк, на который быстро натыкаешься.
Другой момент: стоит попросить улыбнуться, повернуть угол обзора или самого персонажа, как человека может очень сильно поменять на совсем другого. Потенциально это можно вправить потом в FaceFusion, например. В то же время чуть другой угол можно использовать, чтобы уйти от зашакаливания, ибо картинка будет перерисована полностью без удержания фрагмента оригинала.
Ну, и если говорить про лоры vs Kontext, то последний хоть и отлично держит человека при минимальном изменении его позиции в кадре, но первые могут дать больше свободы для движения персонажа, ибо обладают большими данными о лице и теле с разных сторон. Есть вариант и сразу вкидывать в Kontext мультивью обзор человека скажем с 4 точек + реф одежды, для комплексной смены внешнего вида. А если в Kontext можно будет давать скажем 5-10 фоток на вход, чтобы он именно имел более полный контекст о персонаже, то в каких-то пайплайнах отпадёт необходимость в трене.
Как я уже сказал дробите задачи на этапы:
1. сменить фон и одежду (что понравилось —> Refresh)
2. дать в руку карандаш (что понравилось —> Refresh)
3. отдалить кадр и вписать его как фото в журнал (что понравилось —> Refresh)
4. итд
Также делим сам промт на логические куски. Должно по-человечески чётко считываться, в какой последовательности, что должно измениться и как. Не вваливаем всё в одну кучу. Если есть возможность выделить на рефе место, которое нужно изменить, например в фотошопе, то это поможет модели дать нам, то что нужно.
С длиной промта борщить не стоит, ибо не факт что это спасёт от зашакаливания, и одним заходом сразу много правок модель может не осилить: генерация превращается в рулетку казино, где у тебя появляется одно и отпадает другое, а джекпот ты можешь собрать только сам из кусочков идей в фотошопе. В такие моменты радуешься, что ты генеришь не на кредиты.
Для отдаления кадра не просто пишите zoom out, а описывайте картинку какой она должна выглядеть в итоге.
Тут может прийти на помощь пустой латент. Указываете разрешение больше своего оригинального изображения, задаёте центрирование, пишете заменить серую часть на то, что нужно и вперёд. Посмотрите как это делали разрабы Comfy на стриме.
Есть ещё проблема с автоматом включающейся кнопкой Refresh — имеет смысл отключить её и рефрешить только те генки, которые вам понравились, иначе вы сами не заметите, что оно вас завело не туда, куда вам надо.
Более серьёзная проблема — работа с двумя картинками. Пока оно работает просто как карта ляжет. И если перенос стиля с одной картинки на другую вроде работает ок, то вот внедрение объектов с рефа на целевое изображение порой тяжело получить. Хотя если крутить сиды и шаги по тому же промту, в какой-то момент может прокатить.
Объединение картинок в одну отрабатывает проще, если вписать тригер
Какие то полезные замечания ещё найдёте тут.
В целом Kontext инструмент годный. Пригодится в дизайне, рекламе, кино, итд. Нужно лишь понимать его ограничения, и знать как его использовать, чтобы получить то, что нужно.
Пока мы просто меняем фон + следом одеяние персонажа + просим придерживаться рефа
while maintaining the same facial features, hairstyle, and expression = всё хорошо. Стоит только изменениям зайти в поле действия лица, например, отдалить камеру, поднять руку на уровень головы, закурить сигару, итд, как начинают появляться красные шакалинки, а лицо становиться видавшим некоторое латентное пространство и сыпаться кубиками кнор. Причём квадратный шов вокруг пожатого оригинала часто хорошо виден, а часть полученная через аутпейнт четкая и гладкая. Дело усугубляется, если на Refresh была взята генерация с шакалинками на лице — каждая последующая генерация будет усугублять ситуацию. Поэтому следим, чтобы на вход подавались версии с чётким лицом.
Я думаю, что этот квадрат и шакальность пофиксят в ближайшее время ибо это слишком видный косяк, на который быстро натыкаешься.
Другой момент: стоит попросить улыбнуться, повернуть угол обзора или самого персонажа, как человека может очень сильно поменять на совсем другого. Потенциально это можно вправить потом в FaceFusion, например. В то же время чуть другой угол можно использовать, чтобы уйти от зашакаливания, ибо картинка будет перерисована полностью без удержания фрагмента оригинала.
Ну, и если говорить про лоры vs Kontext, то последний хоть и отлично держит человека при минимальном изменении его позиции в кадре, но первые могут дать больше свободы для движения персонажа, ибо обладают большими данными о лице и теле с разных сторон. Есть вариант и сразу вкидывать в Kontext мультивью обзор человека скажем с 4 точек + реф одежды, для комплексной смены внешнего вида. А если в Kontext можно будет давать скажем 5-10 фоток на вход, чтобы он именно имел более полный контекст о персонаже, то в каких-то пайплайнах отпадёт необходимость в трене.
Как я уже сказал дробите задачи на этапы:
1. сменить фон и одежду (что понравилось —> Refresh)
2. дать в руку карандаш (что понравилось —> Refresh)
3. отдалить кадр и вписать его как фото в журнал (что понравилось —> Refresh)
4. итд
Также делим сам промт на логические куски. Должно по-человечески чётко считываться, в какой последовательности, что должно измениться и как. Не вваливаем всё в одну кучу. Если есть возможность выделить на рефе место, которое нужно изменить, например в фотошопе, то это поможет модели дать нам, то что нужно.
С длиной промта борщить не стоит, ибо не факт что это спасёт от зашакаливания, и одним заходом сразу много правок модель может не осилить: генерация превращается в рулетку казино, где у тебя появляется одно и отпадает другое, а джекпот ты можешь собрать только сам из кусочков идей в фотошопе. В такие моменты радуешься, что ты генеришь не на кредиты.
Для отдаления кадра не просто пишите zoom out, а описывайте картинку какой она должна выглядеть в итоге.
Тут может прийти на помощь пустой латент. Указываете разрешение больше своего оригинального изображения, задаёте центрирование, пишете заменить серую часть на то, что нужно и вперёд. Посмотрите как это делали разрабы Comfy на стриме.
Есть ещё проблема с автоматом включающейся кнопкой Refresh — имеет смысл отключить её и рефрешить только те генки, которые вам понравились, иначе вы сами не заметите, что оно вас завело не туда, куда вам надо.
Более серьёзная проблема — работа с двумя картинками. Пока оно работает просто как карта ляжет. И если перенос стиля с одной картинки на другую вроде работает ок, то вот внедрение объектов с рефа на целевое изображение порой тяжело получить. Хотя если крутить сиды и шаги по тому же промту, в какой-то момент может прокатить.
Объединение картинок в одну отрабатывает проще, если вписать тригер
place both characters together in one scene. Но картинки могут и не сшиться, а могут и получиться два персонажа разных масштабов и степени зашакаленности на одном фото. Какие то полезные замечания ещё найдёте тут.
В целом Kontext инструмент годный. Пригодится в дизайне, рекламе, кино, итд. Нужно лишь понимать его ограничения, и знать как его использовать, чтобы получить то, что нужно.
Black Forest Labs
Prompting Guide - Image-to-Image - Black Forest Labs
Тест редактирования в Kontext Dev одним длинным промтом:
zoom out to make the frame a part of the newspaper, add a title below the frame in the style of 1920's newspaper "Billy Butcher" and subtitle below it "Reward $30 000" and below it "Dead or avatar" and a headline "Latent Daily" above the frame, change a white hoodie to be a black suite and tie, replace microphone with a minigun, maintain the facial characteristics and scale, black and white photo 1920's style
10
This media is not supported in your browser
VIEW IN TELEGRAM
Когда взял вайбкодера в команду
Котаны с Banodoco снова на связи.
Недавно Pom вышел с бесшовными динными видео в Smooth Travel. А теперь VRGameDevGirl84 замутила апскейлер видео, который может работать как в точном режиме придерживаясь оригинала, так и в креативном, генерируя от себя детали как недавняя Astra от Topaz. Последнюю кстати в широкий доступ дали.
Вытягивает пожатый lowres в 720p или 1080p. Для точного апскейла не пишем промт и ставим sampler denoise 0.3 - 0.5. Выше значения - больше улучшений.
Если нужно немного креативного апскейла с изменением стиля, добавляем промт и ставим sampler denoise 0.7 - 0.8.
Значения выше 0.85 считай создадут новое видео по промту. Без промта будет генериться рандом.
По потреблению инфы нет. Будет тестить и выяснять.
Воркфлоу тут или в комментах.
До этого VRGameDevGirl84 выпустила топовую видеомодель Fusionix на основе Wan, MoviiGen, VACE, CausVid, Phantom, и других сладостей.
Чтобы ссылка на Discord Banodoco сработала, надо сначала зайти по инвайту.
Comfy воркфлоу
Инвайт в Discord Banodoco
Апскейлер (Discord)
Недавно Pom вышел с бесшовными динными видео в Smooth Travel. А теперь VRGameDevGirl84 замутила апскейлер видео, который может работать как в точном режиме придерживаясь оригинала, так и в креативном, генерируя от себя детали как недавняя Astra от Topaz. Последнюю кстати в широкий доступ дали.
Вытягивает пожатый lowres в 720p или 1080p. Для точного апскейла не пишем промт и ставим sampler denoise 0.3 - 0.5. Выше значения - больше улучшений.
Если нужно немного креативного апскейла с изменением стиля, добавляем промт и ставим sampler denoise 0.7 - 0.8.
Значения выше 0.85 считай создадут новое видео по промту. Без промта будет генериться рандом.
По потреблению инфы нет. Будет тестить и выяснять.
Воркфлоу тут или в комментах.
До этого VRGameDevGirl84 выпустила топовую видеомодель Fusionix на основе Wan, MoviiGen, VACE, CausVid, Phantom, и других сладостей.
Чтобы ссылка на Discord Banodoco сработала, надо сначала зайти по инвайту.
Comfy воркфлоу
Инвайт в Discord Banodoco
Апскейлер (Discord)
1
Удивлён, что они решили продолжить историю Cyberpunk Edgerunners. Будет хорошо, если сюжет сконцентрируется целиком вокруг новых героев.
https://www.youtube.com/watch?v=jjhRSNkquOc
Там ещё и Нейроманта запустили в продакшн, из которого пошёл весь киберпанк. Это тот ещё долгострой. Его примерно в 2000 гожу должен был снимать Крис Каннингем, за которого лично топил автор книги Уильям Гибсон. Но что-то не срослось.
https://www.youtube.com/watch?v=HJBnlZKgeUg
Так что погружаемся в киберпанк!
https://www.youtube.com/watch?v=jjhRSNkquOc
Там ещё и Нейроманта запустили в продакшн, из которого пошёл весь киберпанк. Это тот ещё долгострой. Его примерно в 2000 гожу должен был снимать Крис Каннингем, за которого лично топил автор книги Уильям Гибсон. Но что-то не срослось.
https://www.youtube.com/watch?v=HJBnlZKgeUg
Так что погружаемся в киберпанк!
YouTube
Cyberpunk: Edgerunners 2 | Official Teaser | Netflix
David is dead. But Night City lives on.
Cyberpunk: Edgerunners 2 is now in production!
Cyberpunk: Edgerunners 2 presents a new standalone 10-episode story from the world of Cyberpunk 2077— a raw chronicle of redemption and revenge. In a city that thrives…
Cyberpunk: Edgerunners 2 is now in production!
Cyberpunk: Edgerunners 2 presents a new standalone 10-episode story from the world of Cyberpunk 2077— a raw chronicle of redemption and revenge. In a city that thrives…
Смотрю в телеге благодаря предложкам за TON обновился раздел монетизации канала, и теперь с десктопа видно вознаграждения в TON по дням (с мобилы этот раздел не виден (по крайне мере у меня)).
Но моё внимание привлекло другое. С прошлого года телега делится 50% дохода с рекламы показывающейся в канале автора через Telegram Ads. Это та реклама, которая возникает в разных местах ленты, или чаще в конце, и автор канала не имеет в к ней отношения и никак не может на неё повлиять.
Так вот, я периодически наблюдаю за этой цифрой и сейчас заметил, что когда она добралась до 1 TON, то выплата отобразилась произведённой (хотя может просто совпало с обновлением телеги). Остальные нули это я так понимаю округление, ибо там что-то вроде 0,004938 TON.
Проблема в том, что для вывода нужно иметь больше половины подписчиков с зарубежными симками и без премиума. У меня поначалу отображалась статистика на эту тему, но сейчас её нет по этой же причине. Не в масть и то, что минимум на вывод также чётко не обозначен.
Но будем следить за ситуацией. Телега всё больше обрастает функционалом для монетизации каналов авторов, а также чатов и лички. Есть инфа, что вероятно скоро можно будет и свои коллекционки прямо в телеге будет выпускать. И это будет логичный шаг, особенно при плотной интеграции с TON и развитии миниапок.
Когда-то тг начал направлять всех на донаты/покупки звёздами, чтобы под эгидой регуляторной гимнастики не давать пользователям делать их в TON. А теперь у нас официально появились предложки в TON. Будем надеяться на дальнейшие позитивные изменения.
Но моё внимание привлекло другое. С прошлого года телега делится 50% дохода с рекламы показывающейся в канале автора через Telegram Ads. Это та реклама, которая возникает в разных местах ленты, или чаще в конце, и автор канала не имеет в к ней отношения и никак не может на неё повлиять.
Так вот, я периодически наблюдаю за этой цифрой и сейчас заметил, что когда она добралась до 1 TON, то выплата отобразилась произведённой (хотя может просто совпало с обновлением телеги). Остальные нули это я так понимаю округление, ибо там что-то вроде 0,004938 TON.
Проблема в том, что для вывода нужно иметь больше половины подписчиков с зарубежными симками и без премиума. У меня поначалу отображалась статистика на эту тему, но сейчас её нет по этой же причине. Не в масть и то, что минимум на вывод также чётко не обозначен.
Но будем следить за ситуацией. Телега всё больше обрастает функционалом для монетизации каналов авторов, а также чатов и лички. Есть инфа, что вероятно скоро можно будет и свои коллекционки прямо в телеге будет выпускать. И это будет логичный шаг, особенно при плотной интеграции с TON и развитии миниапок.
Когда-то тг начал направлять всех на донаты/покупки звёздами, чтобы под эгидой регуляторной гимнастики не давать пользователям делать их в TON. А теперь у нас официально появились предложки в TON. Будем надеяться на дальнейшие позитивные изменения.
Ну и пока мы недалеко отошли от лор на Flux Kontext, вот ещё пачка с фокусом на изменении стиля портретов. Натренировали Fal.
Срабатывает не всегда, желательно чтобы лицо было как можно чётче видно в кадре.
Похоже на Face-to-All и другие смежные проекты.
Попробовать
Хаггинг
Срабатывает не всегда, желательно чтобы лицо было как можно чётче видно в кадре.
Похоже на Face-to-All и другие смежные проекты.
Попробовать
Хаггинг
Пару недель назад заметил у тётушки небольшую шишку на спине с черной точкой. А вокруг неё набухлость твёрдая. Причём она её вообще не чувствует и само собой не видит. Говорит это наверное угорь, выдави. Но я-то вижу, что не похоже на угорь, и как-то не по себе такое выдавливать.
Сделал пару фоток и закинул в Perplexity, Grok, ChatGPT, чтобы те сделали именно исследование как я уже практиковал, а не просто беглый поиск.
Нейронки сошлись в предварительном диагнозе, что это атерома (не буду портить вам аппетит фотками — кому надо нагуглит). В общем это закупорка сальной железы, под которой скапливается гной. И её действительно ни в коем случае нельзя пытаться выдавить самостоятельно.
Хорошо, теперь следующий вопрос: к какому врачу идти? Нужно ли идти к дерматологу или сразу к хирургу? Стоит ли предварительно сделать анализ крови, чтобы хирург на месте мог решить касательно операции? Нейронка сказала, что можно сразу идти к хирургу, а касательно анализов мы уже сами решили пойти как есть.
В итоге вот сегодня утром съездили в медицинский центр. Подтвердилось, что это атерома и операцию быстро сделали на месте. Причём мы вовремя приехали, ибо гноя много и надо будет ещё вернуться завтра. Мне останется только перевязки ей делать в ближайшую неделю.
Так что +1 в пользу нейронок.
Сделал пару фоток и закинул в Perplexity, Grok, ChatGPT, чтобы те сделали именно исследование как я уже практиковал, а не просто беглый поиск.
Нейронки сошлись в предварительном диагнозе, что это атерома (не буду портить вам аппетит фотками — кому надо нагуглит). В общем это закупорка сальной железы, под которой скапливается гной. И её действительно ни в коем случае нельзя пытаться выдавить самостоятельно.
Хорошо, теперь следующий вопрос: к какому врачу идти? Нужно ли идти к дерматологу или сразу к хирургу? Стоит ли предварительно сделать анализ крови, чтобы хирург на месте мог решить касательно операции? Нейронка сказала, что можно сразу идти к хирургу, а касательно анализов мы уже сами решили пойти как есть.
В итоге вот сегодня утром съездили в медицинский центр. Подтвердилось, что это атерома и операцию быстро сделали на месте. Причём мы вовремя приехали, ибо гноя много и надо будет ещё вернуться завтра. Мне останется только перевязки ей делать в ближайшую неделю.
Так что +1 в пользу нейронок.
6