Герои сказок: как нейросеть сохраняет узнаваемые детали
Как описать героя сказки для нейросети: выбрать опорные признаки, отделить их от украшений и составить запрос, по которому персонажа можно проверить без подписи.
Д
Денис
Продакт LibraChat
6 мин чтения
Три признака героя я выписываю раньше, чем выбираю стиль картинки. Для домашней игры со сказками мне мало красивого лица: персонажа должны узнать без подписи. Нейросеть получает от меня имя, но дальше нужны видимые подсказки. У Царевны-лягушки это может быть лягушка со стрелой у воды. Если вместо неё попросить просто роскошную девушку, герои разных сказок легко сольются в одну нарядную толпу.
Я сделал такую карточку после попытки описать персонажей словами «волшебный», «сказочный» и «очень красивый». Прилагательные задавали настроение, но не помогали различить действующих лиц. Мне пришлось вернуться к событиям: что герой держит, где находится, что с ним происходит. Там и нашлись нужные детали.
С какого героя начать, чтобы нейросеть поняла сказку?
Я выбираю персонажа, которого могу описать через поступок или предмет. Сначала читаю тот эпизод, который собираюсь рисовать. У народных сказок есть разные пересказы, а образы из любимого мультфильма не всегда совпадают с текстом книги на моей полке. Лучше заранее решить, на какую версию опирается задание.
Например, в тексте «Царевны-лягушки» в проекте ИРЯиК МГУ стрела Ивана-царевича оказывается на болоте рядом с лягушкой. Для рисунка мне достаточно этой связи. Я не обязан воспроизводить чью-то известную иллюстрацию: можно выбрать собственный ракурс, время суток и фактуру.
У Емели другой набор подсказок. В сказке «По щучьему велению» есть щука, самостоятельные вёдра и поездка на печи. Но помещать всё сразу в маленький портрет я бы не стал. Если нужен именно Емеля на печи, щука в руке и вёдра вокруг могут перегрузить сцену. Одной узнаваемой ситуации иногда достаточно.
Два или три признака, которые связывают его с этой историей.
Один главный жест или действие.
Указание, что не должно попасть в кадр и перепутать сказки.
Из этого получается предметное задание. «Сказочный парень на необычном транспорте» оставляет много вариантов. «Емеля сидит на русской печи, которая едет по зимней деревенской улице» гораздо точнее обозначает замысел.
Какие детали работают на героя, а какие только украшают?
Я разделяю признаки на обязательные и свободные. Это не литературоведческая классификация, а способ не потеряться в собственном запросе. Если убрать обязательный признак, карточка может стать непонятной. Если заменить свободный, игра всё ещё работает.
Герой и эпизод · Опора для узнавания · Что можно выбрать самому
Царевна-лягушка на болоте — Лягушка, стрела, окружение у воды — Крупность, цвет неба, мягкая или контрастная палитра
Емеля едет по деревне — Человек на движущейся печи — Положение домов, ракурс, декоративные детали одежды
Собственный лесной почтальон — Вид зверя, почтовая сумка, письмо — Цвет шарфа, погода, материал рисунка
Последняя строка нужна мне для другой ситуации: герой придуман дома и пока никому не известен. Его не угадают по фольклорному сюжету. Значит, узнаваемость будет строиться на признаках, которые ты однажды выбрал и затем сохраняешь. Красная сумка не должна без причины становиться зелёным рюкзаком в следующей сцене.
Я проверил свои словесные карточки, временно убрав имена. В двух описаниях оставались только «добрый взгляд» и «красивый костюм». Опознать по ним никого было нельзя. Пришлось добавить действие. С тех пор имя в запросе для меня подсказка, но не замена описанию.
Как сформулировать запрос для изображения персонажа?
В описании возможностей LibraChat есть работа с изображениями. Для создания картинки просьба должна быть явной: «нарисуй». Вопрос «как выглядит герой» может остаться текстовым обсуждением, а для карточки нужен визуальный результат.
Для игры можно предложить такой запрос:
Нарисуй отдельную карточку персонажа «Царевна-лягушка»: небольшая зелёная лягушка сидит на кочке у болотной воды, рядом лежит стрела с деревянным древком. Лягушка смотрит на стрелу внимательно и спокойно. Главные объекты занимают большую часть рисунка. Детская книжная иллюстрация с мягкими цветами и заметной бумажной фактурой. Без людей, без надписей, без дополнительных сказочных героев.
Здесь я специально выбрал одну форму персонажа и один эпизод. Просьба одновременно показать девушку, лягушку и превращение подходит уже для другой композиции. В маленькой карточке такое смешение может затруднить ответ, ради которого мы её делаем.
Если хочется нарисовать человеческий облик героини, пригодится отдельный разбор о том, как изображать царевну из сказки. Тогда придётся заново решить, какая подсказка останется кроме нарядного платья. Само платье встречается у множества персонажей.
Как принять картинку, не споря только о красоте?
Я бы проверял такую карточку в два захода. Сначала — выполнение задания. Есть ли лягушка, различима ли стрела, не появился ли случайный человек? Потом — пригодность для игры. Видны ли подсказки в небольшом размере, не заслоняет ли их фон, можно ли дать разумный ответ без подписи?
Порядок помогает отделить два разных замечания. «Мне не нравится зелёный» — личное предпочтение, с которым можно работать. «Стрела выглядит как ветка» — потеря признака, от которого зависит узнавание. Второе я исправляю раньше, даже если вся остальная картинка нравится.
Для повторного сообщения полезны конкретные правки:
Увеличить предмет, который должен помочь узнать персонажа.
Убрать героя из другой сказки, если он появился без запроса.
Сделать контур главного объекта различимым на фоне.
Вернуть деталь, изменившуюся после предыдущего уточнения.
LibraChat позволяет продолжить правку в том же чате. После неё всё равно нужно посмотреть картинку целиком: исправляя стрелу, нельзя автоматически считать сохранёнными позу и остальные детали. Я не обещал бы одинаковый результат во всех попытках.
Что делать, если без названия героя никто не узнаёт?
Сначала я бы спросил, что люди вообще увидели. «Зелёная лягушка у пруда» означает, что основной объект понятен, но сюжетной связи не хватило. «Какие-то листья» говорит о проблеме масштаба или читаемости. Это разные причины. Добавление ещё десяти декоративных предметов не лечит обе сразу.
Для игры можно упростить изображение или выбрать другой эпизод. Для личной иллюстрации отсутствие мгновенного узнавания иногда вполне приемлемо: тебе интересен новый взгляд на героя. Требование зависит от назначения, и я стараюсь не менять его задним числом ради понравившегося рисунка.
Открой чат LibraChat со своей короткой карточкой персонажа. Сначала попроси одну сцену, а после появления изображения спрячь название и проверь замысел на человеке, который знает сказку. Сможет ли он назвать героя и объяснить, какая именно деталь помогла? Этот ответ полезнее общего «красиво».