Очень часто для оформления документов, например, презентаций или статей на Хабре ????, требуются интересные, нестандартные и не нарушающие авторские права картинки, суть которых есть только в голове автора. Кроме того, сложные изображения может нарисовать только профессиональный художник в течение значительного времени. Поэтому генерирование изображений по текстовому описанию – это очень полезный и нужный пользовательский сервис, позволяющий создать уникальные изображения за очень короткий промежуток времени. Основной проблемой при генерировании изображений является формулирование грамотного запроса, чтобы получить желаемый результат.

Существует достаточно большое количество нейросетей, генерирующих изображения. Относительно недавно появилась новая версия модели генерации изображений по тексту Kandinsky 3.0 (дальше К3). На носу – масленица Новый Год, поэтому мы с К3 решили нарисовать символ китайского 2024 года, а именно зеленого деревянного дракона. Т.к. показать на рисунке, что дракон деревянный – задача нетривиальная, поэтому решено нарисовать просто добродушного зеленого дракона в стиле цифровой живописи.

Как и все подобные модели, К3 имеет множество недостатков, над которыми потешается весь рунет. Например, так выглядит автомобиль Москвич-412 в представлении К3.

Слева картинка по запросу «Москвич-412», справа – «Moskvich-412»
Слева картинка по запросу «Москвич-412», справа – «Moskvich-412»

Но если запрос конкретизировать, то результаты получаются кардинально лучше.

Слева картинка по запросу «автомобиль Москвич-412», справа – «car Moskvich-412»
Слева картинка по запросу «автомобиль Москвич-412», справа – «car Moskvich-412»

Кстати, на многих форумах отмечают существенные различия получаемых результатов по запросам на русском и английском языках и подозревают, что русскоязычные запросы переводятся на английский и только после этого передаются нейросети. Поэтому мы с К3 попробуем провести эксперименты, которые подтвердят или опровергнут это подозрение.

Итак, сначала простой запрос: добрый зеленый дракон = good green dragon.

Слева – добрый зеленый дракон; справа – good green dragon
Слева – добрый зеленый дракон; справа – good green dragon

Оба дракона не очень-то добрые, но «русский» – все-таки добрее ????. Ладно, тогда добавим побольше подробностей. Пусть это будет старый зеленый дракон, развернутые крылья, большие желтые глаза, обвисшее брюхо, хохочет, много рогов, с пивом.

Слева – старый зеленый дракон, развернутые крылья, большие желтые глаза, обвисшее брюхо, хохочет, много рогов, с пивом; справа – old green dragon, spread wings, big yellow eyes, saggy belly, laughs, many horns, with beer
Слева – старый зеленый дракон, развернутые крылья, большие желтые глаза, обвисшее брюхо, хохочет, много рогов, с пивом; справа – old green dragon, spread wings, big yellow eyes, saggy belly, laughs, many horns, with beer

«Наш» точно веселее и добрее «импортного». Может у «нашего» пиво лучше? ????

Попробуем немного изменить запрос и заменить пиво на шампанское (Новый Год все-таки): добродушный седой зеленый дракон с огромным брюхом, приятная широкая улыбка, белый фрак, галстук-бабочка, бокал шампанского в лапе, развернутые крылья.

Слева – добродушный седой зеленый дракон с огромным брюхом, приятная широкая улыбка, белый фрак, галстук-бабочка, бокал шампанского в лапе, развернутые крылья; справа – a good-natured gray-haired green dragon with a huge belly, a pleasant wide smile, a white tailcoat, a bow tie, a glass of champagne in his paw, outstretched wings
Слева – добродушный седой зеленый дракон с огромным брюхом, приятная широкая улыбка, белый фрак, галстук-бабочка, бокал шампанского в лапе, развернутые крылья; справа – a good-natured gray-haired green dragon with a huge belly, a pleasant wide smile, a white tailcoat, a bow tie, a glass of champagne in his paw, outstretched wings

Получившиеся драконы на драконов не совсем похожи (но это мифические существа, и никто знает какие они на самом деле), а больше напоминают рогатых летающих крокодилов с шампанским. Но «наш» симпатичнее и предлагает выпить душевнее, наверное, в силу менталитета ????.

Попробуем добиться доброй улыбки: смеющийся зеленый дракон, широкая улыбка, большие голубые глаза, развернутые крылья, бокал шампанского в лапе.

Слева – смеющийся зеленый дракон, широкая улыбка, большие голубые глаза, развернутые крылья, бокал шампанского в лапе, развернутые крылья, справа – laughing green dragon, wide smile, big blue eyes, spread wings, glass of champagne in paw
Слева – смеющийся зеленый дракон, широкая улыбка, большие голубые глаза, развернутые крылья, бокал шампанского в лапе, развернутые крылья, справа – laughing green dragon, wide smile, big blue eyes, spread wings, glass of champagne in paw

Да…. Это полное фиаско…Эти оскалы трудно назвать широкими добрыми улыбками, а глаза – голубыми. Это явно неправильное направление.

Дальнейшие эксперименты показали, что какие-то слова К3 вообще не понимает, например, правый/левый, сленг и т.д., и, наверное, поэтому игнорирует. Как видно на рисунках, К3 не представляет, что такое шубы с оторочкой и посохи.

Слева – зеленый дракон в красной шубе с белой оторочкой, посох в лапе, справа – green dragon in a red fur coat with white trim, a staff in his paw
Слева – зеленый дракон в красной шубе с белой оторочкой, посох в лапе, справа – green dragon in a red fur coat with white trim, a staff in his paw

Кроме того, на один и тот же запрос генерируются изображения, игнорирующие часть условий запроса по случайному принципу. Например, на одной картинке по запросу «добрый зеленый дракон во фраке и галстуке-бабочке с широкой улыбкой с бокалом шампанского, развернутые крылья» галстук-бабочка и крылья есть, на другой – имеется только галстук, на третьей – только крылья.

Слева – добрый зеленый дракон во фраке и галстуке-бабочке с широкой улыбкой с бокалом шампанского, развернутые крылья; справа – a kind green dragon in a tailcoat and bow tie with a wide smile with a glass of champagne, wings spread
Слева – добрый зеленый дракон во фраке и галстуке-бабочке с широкой улыбкой с бокалом шампанского, развернутые крылья; справа – a kind green dragon in a tailcoat and bow tie with a wide smile with a glass of champagne, wings spread

И снова «наш» дракон выглядит веселее ????.

Справедливости ради надо сказать, что дракон в том виде, в котором мы себе его представляем, совершенно не доброе, а скорее злое существо. Поэтому его объективно трудно изобразить добрым и веселым. Но малыши любых самых злобных существ обычно не похожи на своих родителей и очень симпатичны, поэтому попробуем «нарисовать» маленького смешного зеленого дракона.

Слева – маленький смешной зеленый дракон, развернутые крылья, желтые глаза, улыбка; справа – small funny green dragon, spread wings, yellow eyes, smile
Слева – маленький смешной зеленый дракон, развернутые крылья, желтые глаза, улыбка; справа – small funny green dragon, spread wings, yellow eyes, smile

Похоже, К3 тоже так считает ????

Результаты небольшого эксперимента, представленные в этой статье, свидетельствуют о том, что модели генерации изображений по текстовому описанию, в частности, К3, хотя и плохо предсказуемы, но все же способны выполнять свою задачу. Кроме того, русскоязычные запросы для К3 более эффективны, чем англоязычные, и, следовательно, предположительно обрабатываются без перевода на английский язык.

Поздравляю всех хабровчан с наступающим Новым Годом (особенно Драконов????) и желаю здоровья и всех благ!

Комментарии (11)


  1. aik
    28.12.2023 05:27
    -2

    Результат генерации по запросу "шла саша по шоссе и сосала сушку". После подобного с кандинским не особо хочется общаться. Яндекс хотя бы сушку рисовал.


    1. torbasow
      28.12.2023 05:27
      +1

      Шла Саша по шоссе и сосала сушку, а навстречу...


      1. aik
        28.12.2023 05:27
        +1

        "Навстречу" никто не заказывал. Кстати, пытаюсь сейчас выбить из кандинского сушку - так он это за объект не считает, это для него только процесс соответствующий. А "маленькая баранка" - это овца небольшого размера.

        К примеру, "по шоссе идёт девушка Саша и ест маленькую баранку"

        То есть девушка и шоссе для кандинского вполне понятные термины. Конечно, тут девочка, но это уже тонкости. А вот "сушка"... Даже если словарное определение выдать, всё равно рисует какие-то кренделя, а не сушки.

        "По шоссе идёт девушка Саша и ест хлебный продукт пониженной влажности в форме небольших обварных колец":


        1. Radisto
          28.12.2023 05:27

          А если заменить сушки на брецель?


          1. aik
            28.12.2023 05:27

            Ну так это тот самый крендель и есть.

            Что-то баранкоподобное рисует по запросу "бублик", но там всё равно какая-то помесь бублика с гамбургером получается.


          1. aik
            28.12.2023 05:27
            +1

            А вот это - девушка идёт по шоссе ест баранку


            1. Wolframium13
              28.12.2023 05:27

              О, барашка из Фолаута.


  1. torbasow
    28.12.2023 05:27

    Я так и не смог объяснить Кандинскому, как выглядит кистеухая свинья. Он был согласен выкинуть свинью с картинки полностью, но не принять уточнения про оранжевый мех и белые кисточки на ушах.


    1. SergeyMax
      28.12.2023 05:27
      -1

      А можете человеку объяснить?


      1. aik
        28.12.2023 05:27
        +2

        Кабан с рыжей шерстью, у которого на на ушах кисточки типа беличьих. По-моему, человеку такое вполне понятно будет.


  1. sgrec
    28.12.2023 05:27
    +1

    Вы все еще верите, что ИИ чего-то там рисует по вашим запросам? Идете в Google картинки и с таким же успехом ищете зелёных драконов с пивом, улыбкой и седыми волосами. Результат не сильно отличается от ИИ, а иногда даже лучше.