Как мы отставили панику и создали 300 (да-да, 300!) обложек к рассказам за месяц с помощью Midjourney
Триста обложек? Зачем столько? Всё просто: осенью 2022 года мы — команда людей, никогда не имевших отношения к издательскому делу, — создали проект «Прочитано». Это бесплатная онлайн-библиотека коротких рассказов современных русскоязычных авторов на 2—10 минут чтения: рассказов, в которые можно погрузиться за чашкой кофе. Все мы помним с детства, что текст с картинками читается легче, поэтому создание иллюстрации-обложки к каждому из трёхста стартовых рассказов (а мы решили, что именно столько будет достаточно для запуска сайта) было обязательной частью визуала.
Февраль 2023: стартовые рассказы отредактированы, откорректированы, готовы к публикации. Ну, почти готовы: не хватает обложек. Запуск проекта — март 2023.
Задача: отрисовать триста нестыдных картинок за месяц. Смешно? На тот момент нам было не очень.
Варианты:
Нанимать иллюстраторов. «Нереально», — сразу отмели мы. Дорого, долго, каждый рассказ — уникальный, со своей атмосферой и стилистикой. Кроме того, мы с самого начала определились, что после запуска библиотека будет пополняться новыми рассказами каждый день — просто физически невозможно будет поддерживать темпы публикаций.
Искать другие решения.
А других решений оказалось не так-то и много: не справится интеллект естественный — пойдём к искусственному. По сути, нужно было решить для себя этическое «да/нет ИИ» и выбрать наиболее удобную из активно развивавшихся в тот момент нейросетей.
Попробовали Stable Diffusion, попробовали Midjourney — и остановились на второй. Тогда она показалась нам более удобной и понятной (спойлер: мы ни о чём не пожалели).
От теории к практике
Итак, для себя мы решили, что каждая иллюстрация должна:
— быть красивой;
— быть оригинальной;
— отражать дух текста;
— не обманывать читателя;
— передавать задумку автора рассказа.
Иллюстрация к рассказу «Грамотным быть — модно!»
Как это сделать?
В нашем случае обозначилось два пути, выбор которых зависел от того, были ли у автора пожелания по обложке или нет (при заключении договора мы предлагаем писателям рассказать нам о своём видении).
Если пожелания были, нам оставалось перевести их на язык, понятный нейросети (об этом чуть позже).
Если нет, опытным путём мы выработали алгоритм, которому следуем до сих пор:
Читаем рассказ.
2. Решаем, какой атмосферой, духом должна обладать иллюстрация, чтобы читатель, взглянув на неё, сразу понял, с каким настроением будет рассказ — или, наоборот, мог по обложке подобрать рассказ под своё настроение. Так, комедии часто подходят карикатуры, лиричному тексту — импрессионисты; рассказ о первобытных людях получает обложку в виде наскальной живописи, а тёплая деревенская история подсказывает обратиться к гжели.
Иллюстрация к рассказу «У вас товар...»
Иллюстрация к рассказу «Те же палки»
3. Подбираем референсы стилистики. Под стилистикой здесь мы можем понимать самые разные вещи: материалы и техники, художников, фотографов, кинорежиссёров, собственно стили и жанры. Для поиска подходящих идей мы часто пользуемся библиотеками стилей, которые есть в свободном доступе и за которые мы очень признательны их создателям: https://midlibrary.io/categories и https://github.com/willwulfken/MidJourney-Styles-and-Keywords-Reference/tree/main
4. Формулируем запрос. В практике нейросетей он называется «промт» (prompt) и содержит ключевые слова, по которым ИИ понимает, что мы от него хотим.
5. Формируем итог. Иногда картинке от «Миджорни» всё же необходимо человеческое вмешательство, и тогда наш графический дизайнер дорисовывает некоторые элементы, доделывает надписи, убирает лишние пальцы и прочие конечности.
До вмешательства дизайнера
После вмешательства дизайнера
Ну вот, собственно, и всё.
Пройдя этот нехитрый путь триста раз, мы создали (и продолжаем создавать) уникальные иллюстрации, радующие читателей и писателей.
Поделимся некоторыми лайфхаками, которые родил наш уже богатый нейросетевой опыт.
Структура промта
Успех в работе с «Миджорни» по-прежнему на сто процентов зависит от удачного промта. Чтобы добиться нужного результата, иногда приходится как следует поиграться с формулировками.
Как правило, структура нашего запроса выглядит так: объект, его детали и действия, обстановка, параметры кадра (ракурс, освещение, настройки камеры), стилистика.
Тогда промты получаются длинными:
«a black silhouette of a man in a suit and in a helmet with a lot of wires and tubes from helmet with his back to us in front of a bright cyberpank futuristic landscape in green colours by Enoch Bolles» (рассказ «Гугол»)
Но иногда наша задумка проста и рождает совсем короткий очевидный запрос:
«Pharaoh is playing a computer game, mosaic» (рассказ «Историческая победа»)
Основная задача — сформулировать промт таким образом, чтобы избежать двоякого прочтения (а нейронки это очень любят) и «достучаться» человеческими словами до машинных алгоритмов.
Например, запрос «fragments of a room — a table, a book, window sills :: gray red color scheme by Charles Angrand» выдаёт среди прочего случайно запрошенную нами цветовую схему (картинки 2 и 3):
Но мы, понимая, что это не совсем то, что нужно, убираем лишнее и на «fragments of a room — a table, a book, window sills :: gray red colors by Charles Angrand» получаем уже более чистое:
Стилистика — ключевой параметр запроса
Наше самое любимое — это, конечно, эксперименты со стилями. Вот какие разные результаты получились, например, по запросу «a happy boy in a school uniform with a bouquet of asters stands at the school»:
...by Chris Ware
...by Saul Steinberg
...by Charles Schulz
...by Josh Agle
Или рассказ «Чары русалки» и результаты по запросу «a mermaid with blue hair sitting on a shelf in a train» с использованием стилей разных художников:
Играться с материалами и техниками — отдельное удовольствие:
Мозаика (mosaics) для рассказа В одной комнате
Вышивка (embroidery) для рассказа Что вырастет?
Аппликация (paper cut craft) для рассказа Маргарита и зонт
Скетчноутинг (sketchnote style) для рассказа Секретный ингредиент
Пиксель-арт (pixel drawing) для рассказа Кусочки
Спиртовые чернила (alcohol ink) для рассказа Подарок
Резьба по дереву (carving) для рассказа Адепт
Латте-арт (latte art) для рассказа Ночь будет долгой
Оригами (origami) для рассказа Все коты одинаковые
Лоскутное шитьё (patchwork) для рассказа Галина Викторовна просыпается рано
Картины из камней (pebble art) для рассказа Четверо в доме, и пёс с ними
Как подобрать стиль?
В процессе работы над обложками мы выработали для себя такой лайфхак: иногда мы идём от обратного — сперва выбираем художника, стиль которого нравится, а затем переходим в режим «крадущийся тигр, затаившийся дракон» и ждём, когда река принесёт подходящий под идею рассказ. А ещё составляем заметки с указанием имени художника, где отмечаем, для какого рода текста он подойдёт. Вот так они могут выглядеть:
Иногда мы исходим из буквального содержания текста и изображаем его главного героя, ключевой предмет или обстановку; но бывает, что рисуем через метафоры или просто настроение рассказа — в общем, всё как с обычными иллюстрациями.
Например, вот какой получилась обложка к рассказу «Розовый слон»:
А вот — к рассказу «Жёлтый стульчик»:
В общем, работа с нейросетями — это эксперименты, эксперименты, сплошные эксперименты!
Увидеть результат нашего цифрового творчества, убедиться, насколько безграничны возможности нейронок и как грамотный визуал помогает в восприятии текста можно в библиотеке www.prochitano.ru. Все обложки созданы нейросетью. Вход в библиотеку свободный, тишины не требуем.
Желаем вам лёгких промтов, клёвых результатов и спасибо за внимание!
P.S. Сейчас у нас новая творческая задача: с помощью Stable Diffusion создаём крутые QR-коды, ведущие в нашу библиотеку. Но об этом расскажем в следующий раз ;)
Да-да, я рабочий куар! Только камеру отводим чуть подальше ;)
Искусственный интеллект
2.5K постов9.8K подписчиков
Правила сообщества
Здесь вы можете свободно создавать посты по теме Искусственного интеллекта. Добро пожаловать :)
Разрешено:
- Делиться вопросами, мыслями, гипотезами, юмором на эту тему.
- Делиться статьями, понятными большинству аудитории Пикабу.
- Делиться опытом создания моделей машинного обучения.
- Рассказывать, как работает та или иная фиговина в анализе данных.
- Век жить, век учиться.
Запрещено:
I) Невостребованный контент
I.1) Создавать контент, сложный для понимания. Такие посты уйдут в минуса лишь потому, что большинству неинтересно пробрасывать градиенты в каждом тензоре реккурентной сетки с AdaGrad оптимизатором.
I.2) Создавать контент на "олбанском языке" / нарочно игнорируя правила РЯ даже в шутку. Это ведет к нечитаемости контента.
II) Нетематический контент
II.1) Создавать контент, несвязанный с Data Science, математикой, программированием.
II.2) Создавать контент, входящий в противоречие существующей базе теорем математики. Например, "Земля плоская" или "Любое действительное число представимо в виде дроби двух целых".
II.3) Создавать контент, входящий в противоречие с правилами Пикабу.
III) Непотребный контент
III.1) Эротика, порнография (даже с NSFW).
III.2) Жесть.
За нарушение I - предупреждение
За нарушение II - предупреждение и перемещение поста в общую ленту
За нарушение III - бан