Привет Хабр! Хочу поделиться своим опытом взаимодействия с нейросетками. В последнее время они наделали много шума, в сети есть огромное количество примеров сгенерированных изображений очень приличного качества и хорошей проработки. Меня вдохновили эти примеры, и я решил на боевом проекте протестировать Midjourney, Stable Diffusion и Kandinsky, чтобы выявить их сильные и слабые стороны, и понять — какая нейронка больше всего подойдёт для моей дальнейшей работы. Основной целью было сгенерировать на лендинг кнопку, которая по форме была бы как классическая кнопка Enter, но визуально выглядела бы чуть более интересно: подсветка, неон, футуризм. Ниже опишу свой процесс и результаты генераций нейросеток.
Первая попытка
Пошел по простому пути, написал топорный promt, перечислил все характеристики, которые хотел бы увидеть на изображении. Но результат оказался сильно далек от задумки, кнопка получилась совершенно не похожа на Enter.
Я много раз прогонял генерацию этого promt, но результат никак не менялся в лучшую сторону. Midjourney и Kandinsky выдавали красивую кнопку с множеством деталей, но совершенно далекую от задумки. Stable Diffusion вообще лепил всё что угодно, но ничего похожего на кнопки клавиатуры я не получал. Я понял что количеством генераций тут ничего не изменить, и решил попробовать сменить тактику.
Картинка референс
Так как ни одна из нейросеток видимо не понимала, что такое классическая кнопка Enter, решил показать им как она выглядит с помощью картинки. Нагуглил изображение, которое соответствовало моим пожеланиям, и скормил его каждой нейронке: для Midjourney указал ссылку на изображение и promt, для Kandinsky закинул фотографию через режим «Вариация картинки», для Stable Diffusion воспользовался расширением ControlNet. И принялся ждать.
Midjourney был конечно далёк от нужной формы, но уже выдал некую угловатую кнопку с надписями. Stable Diffusion сделал максимально похожую на референс, но сам вариант оказался очень скучный. Kandinsky выдал что‑то своё абстрактное, с ним нужно было еще поэкспериментировать.
Убедившись, что к каждой нейронке нужен свой подход, чтобы добиться более качественного результата, я начал экспериментировать с каждой из них в отдельности, надеясь найти идеальный метод.
Midjourney
С ней я продолжил использовать исходную референсную картинку и слегка изменил promt. На некоторые из хороших результатов я запрашивал дополнительные варианты, в надежде получить что‑то более интересное. Из огромного количества вариантов лишь единицы были близки к моей задумке. Над ними еще предстояло поработать.
Stable Diffusion
Поскольку на предыдущем этапе нейросеть показала хороший результат при работе через ControlNet, я повторил загрузку референсного изображения кнопки и упростил promt до black button, luminous inscription, white background, strongly detailed, top view
. Пришлось начать экспериментировать с режимами Preprocessor в ControlNet: где‑то нейронка видела очертание кнопки, где‑то могла воспроизвести объем, а где‑то рисовала кнопку в простых прямых линиях (для наглядности слева вывел изображение). Было смешно, что несмотря на референс, она добавляла какие‑то новые несуразные объекты: портрет, пуговицу, символы и т. д.
Мне понравились высокая скорость работы и регулировка количества результатов, но много что Stable Diffusion генерировала невпопад.
Kandinsky
Сначала попробовал неоднократно скормить ей референсное изображение и посмотреть что получится. По всей видимости из‑за отсутствия в этом режиме возможности добавить promt, генерировала она всё что захочет, но не то что хочу я.
У меня получилось несколько изображений, который визуально выглядят неплохо, но сильно далеки от моей задумки. Тогда я переключился на обычный метод генерации изображения через promt, всячески менял и упрощал его, чтобы выявить хоть какую‑то закономерность, но так я её и не нашёл.
Что в итоге
Изначально я задумывал конкретную форму кнопки Enter с небольшим добавлением элементов и символов, но после всех генераций в разных нейросетях я пришёл к выводу, что возьму результат Midjorney за основу и буду дорабатывать его в Figma.
Весь процесс отрисовки пришлось начать с нуля: собрали форму и объём, изменили цвет кнопки с черного на серый, добавили блики, тени, светящиеся иконки и подходящий тематический текст.
Вывод
Нет плохих или хороших нейросеток. Из личного опыта я понял, что у каждой своё назначение. Midjourney и Kandinsky очень хорошо подходят для создания какого‑то креативного изображения, обложки, или для поиска идей. У Midjourney есть несомненно хорошее преимущество сгенерировать новые варианты на основе предыдущего результата. Что касается Stable Diffusion — в связке с ControlNet можно получить более предсказуемый результат, а форму для референса можно нарисовать за 1 минуту в любом графическом редакторе, чем мы и воспользовались в дальнейшем.