Нейросети, генерирующие изображения, сейчас на пике популярности. В то время как все балуются Dall-E2 , MidJourney и Stable Diffusion, есть ещё одна модель, которая не так хорошо известна в интернете. Имя ей: ERNIE-ViLG.
![](https://habrastorage.org/getpro/habr/upload_files/1ba/82d/9fb/1ba82d9fbda5d2719c548ade604f7125.jpg)
ERNIE-ViLG — генератор изображений с открытым исходным кодом, разработанный китайским технологическим гигантом Baidu. Название нейросети расшифровывается как Enhanced Representation through Knowledge Integration — Vision Language Generation.
Несмотря на некоторую схожесть со Stable Diffusion, это разные нейросети. По крайней мере, если верить этому документу. Протестировать новый китайский инструмент можно здесь: ERNIE-ViLG Demo. Он бесплатен, и ограничений на количество сгенерированных изображений мы не увидели. Хотя генерация изображений идёт не быстро — придётся запастись терпением.
Интерфейс довольно прост: перед вами простейшая форма для ввода текста, почти два десятка разных художественных стилей и кнопка генерации изображений. Внизу ещё есть подсказки — примеры популярных запросов.
Ещё важно помнить, что ERNIE разработан на китайском языке. Это означает, что английская фраза сначала переводится на китайский язык, и только потом начинается генерация изображений.
Некоторые сотрудники Cloud4Y вдоволь поигрались с популярными нейросетями, поэтому мы решили потестировать и новинку. Вот что у нас получилось.
Тестируем фантазию
Начать мы решили с запроса, который требует некоторой доли фантазии: A cat with glasses fights for a laptop with a robot. Все запросы мы составляли таким образом, чтобы они выглядели максимально примитивно — тогда их лучше понимает машина.
Вот такой вариант в стиле "Футуризм" сгенерировал ERNIE.
![](https://habrastorage.org/getpro/habr/upload_files/c7a/8c2/362/c7a8c2362b25ef70227fe95e01950d79.png)
Картинки побольше
![](https://habrastorage.org/getpro/habr/upload_files/850/b73/513/850b73513342a2910c7ac449b7cb2d05.png)
![](https://habrastorage.org/getpro/habr/upload_files/7fb/29a/0d1/7fb29a0d1e698ee04e757e80bfb8fe8c.png)
![](https://habrastorage.org/getpro/habr/upload_files/3ae/3f0/ab5/3ae3f0ab5f4672d8ad502b764d621b02.png)
![](https://habrastorage.org/getpro/habr/upload_files/304/f06/29b/304f0629b4e319c50f6ef5c00a7a90e5.png)
![](https://habrastorage.org/getpro/habr/upload_files/fc2/e33/733/fc2e33733ce603c5115de58cbfef89b3.png)
Как вы можете видеть, есть пара интересных вариантов, но в целом результат не впечатляет. Первый DALL-E выдавал нечто похожее.
Хорошо, подумали мы. А если взять не абстракцию, а нечто более конкретное? Например, Dracula is learning Python program code. Увы, здесь нас постигло горькое разочарование. Нейронка упорно не хотела показывать мало-мальски приличные варианты.
Вот что получилось
![](https://habrastorage.org/getpro/habr/upload_files/188/9b1/7f1/1889b17f10263d2027b7f0f89b18e0dc.png)
![](https://habrastorage.org/getpro/habr/upload_files/a72/390/a02/a72390a02e4ceee0e280dd443d25bc57.png)
![](https://habrastorage.org/getpro/habr/upload_files/cf7/d7e/014/cf7d7e0141c3bec98caad292e19f2544.png)
![](https://habrastorage.org/getpro/habr/upload_files/20b/791/6b4/20b7916b488d88e1bb0a029dc7aa7838.png)
Графа Дракулу нейросеть не знает. Но что насчёт просто вампиров? Итак, vampire learns Python program code on a laptop.
Ну, тоже "не ах"
![](https://habrastorage.org/getpro/habr/upload_files/2c8/527/fc5/2c8527fc52dec056418a47bf826291f1.png)
![](https://habrastorage.org/getpro/habr/upload_files/873/5aa/366/8735aa366d83d973813b5833d11958fd.png)
![](https://habrastorage.org/getpro/habr/upload_files/a85/d6c/ca6/a85d6cca684dca838b9d264fc502772c.png)
Кое-что вампирское здесь уже проглядывается, но всё равно результаты не впечатлили. Может, надо попросить нарисовать что-то ещё более известное? Давайте скормим ERNIE запросы айтишной направленности.
Облака, нейросети и Россия
Докер-контейнеры пробовали многие, так что мы решили начать с них. А чтобы увеличить шансы на успех, добавили ещё пару элементов. Kubernetes with blackjack and kittens.
Похоже, ERNIE из этого набора слов нравятся только котики
![](https://habrastorage.org/getpro/habr/upload_files/d78/901/fe7/d78901fe7ef7cddb3a096d0579d61f6a.png)
![](https://habrastorage.org/getpro/habr/upload_files/e8c/f38/ae8/e8cf38ae843a6e797adfe55953e087e9.png)
![](https://habrastorage.org/getpro/habr/upload_files/595/2bb/3cc/5952bb3cc55fe8240054c9212d4542ac.png)
![](https://habrastorage.org/getpro/habr/upload_files/5de/2dd/6f2/5de2dd6f2e3de9a79b5d9712e64432d1.png)
![](https://habrastorage.org/getpro/habr/upload_files/c08/96f/022/c0896f0228d34105b494c2bd76bbf91c.png)
![](https://habrastorage.org/getpro/habr/upload_files/d1f/fe8/ffb/d1ffe8ffbc3be4e661f48925166128e1.png)
Совсем далеко от того, что нужно. Сделаем такой запрос: Docker container, photos with laptop and kittens. Котиков добавляли по той простой причине, что без них на выходе получалась совсем уж причудливая абстракция.
Что-то рядом, но не то
![](https://habrastorage.org/getpro/habr/upload_files/62b/882/4e3/62b8824e38b35a8a1de1372207a4490a.png)
![](https://habrastorage.org/getpro/habr/upload_files/3bc/dab/603/3bcdab6031bb450b0396a9dfe366c05e.png)
![](https://habrastorage.org/getpro/habr/upload_files/b2b/a5c/c15/b2ba5cc15bae7c856ef8434671e171df.png)
![](https://habrastorage.org/getpro/habr/upload_files/eb6/4b9/712/eb64b97124b1d25b46e52bee65d2b6e6.png)
![](https://habrastorage.org/getpro/habr/upload_files/380/e17/8ec/380e178eca307fcf619743c686a859c1.png)
![](https://habrastorage.org/getpro/habr/upload_files/c25/198/1b6/c251981b65b6ae007de222e480e58891.png)
Давайте немного уточним запрос. Kubernetes container, photos with laptop and kittens. А ещё выберем мультяшный стиль
Не, что-то контейнерное в этом есть
![](https://habrastorage.org/getpro/habr/upload_files/f47/554/a59/f47554a59857f3ee52774d42c8f8ccec.png)
![](https://habrastorage.org/getpro/habr/upload_files/dfb/256/943/dfb25694307b04e13982108052684e51.png)
![](https://habrastorage.org/getpro/habr/upload_files/cae/09d/144/cae09d14499d207fbd61e65b5790a192.png)
![](https://habrastorage.org/getpro/habr/upload_files/49b/850/cee/49b850cee1163fc4d1af456845139073.png)
Да, с контейнерными технологиями Эрни не очень дружит. Интересно, нейросеть знакома с облачными технологиями? Проверяем: Russian cloud technology.
Hidden text
![](https://habrastorage.org/getpro/habr/upload_files/cb5/864/18a/cb586418ae2ba2bf9d3c73546fe8d06d.png)
![](https://habrastorage.org/getpro/habr/upload_files/6bd/559/678/6bd559678fd65f0cd81281cb3b2f8cb0.png)
![](https://habrastorage.org/getpro/habr/upload_files/b60/272/d3b/b60272d3b8271075951ca26042d16f91.png)
![](https://habrastorage.org/getpro/habr/upload_files/b0e/14c/546/b0e14c5461ae173a9a65f84ace019165.png)
![](https://habrastorage.org/getpro/habr/upload_files/758/130/fa4/758130fa45f374ca35df62f511c22dcf.png)
![](https://habrastorage.org/getpro/habr/upload_files/75f/d1b/c3c/75fd1bc3c472e354d8a4873446b60f3d.png)
![](https://habrastorage.org/getpro/habr/upload_files/2c2/5a3/575/2c25a3575c7bca926fde65c6fabaea99.png)
![](https://habrastorage.org/getpro/habr/upload_files/15b/fea/167/15bfea167240e99b1c78a5404a8a534d.png)
Некоторые изображения похожи на испорченные фотографии. И практически везде нам показывают собор Василия Блаженного. А если упростить ещё больше? Russian technology.
Вот такие вот технологии
![](https://habrastorage.org/getpro/habr/upload_files/d3a/df8/0eb/d3adf80ebf49e2a5b197087506728c6e.png)
![](https://habrastorage.org/getpro/habr/upload_files/01c/b72/51b/01cb7251bc2317e6225198c770f9d031.png)
Не совсем понятна логика машины, но ладно. Давайте без привязки к геополитике. Представим, что счастливый эльф купил видеокарту. Как его покажет ERNIE? Elf brings home a video card (cartoon).
Своеобразные эльфы, конечно
![](https://habrastorage.org/getpro/habr/upload_files/e0c/1bb/4e3/e0c1bb4e3984faff0545ffe4a805784b.png)
![](https://habrastorage.org/getpro/habr/upload_files/380/414/ea5/380414ea5ec15ab0cf5b0e5528d6d3d0.png)
![](https://habrastorage.org/getpro/habr/upload_files/e9e/2e7/48d/e9e2e748dadebf75cd7978b2683724d0.png)
![](https://habrastorage.org/getpro/habr/upload_files/bb1/cf7/fb1/bb1cf7fb129ea91405a8eeab4ca8e947.png)
![](https://habrastorage.org/getpro/habr/upload_files/047/644/dd0/047644dd03e21e6055343dbe76934c72.png)
Мультяшные варианты пугают. А как насчёт реалистичного стиля? Будет хуже или лучше? Пробуем...
Elf brings home a video card (Realistic)
![](https://habrastorage.org/getpro/habr/upload_files/4e4/ad5/747/4e4ad574738f9e0224235710c5b2c08f.png)
![](https://habrastorage.org/getpro/habr/upload_files/203/913/753/2039137536bc7725baf335c1eecdf159.png)
![](https://habrastorage.org/getpro/habr/upload_files/62f/f05/e24/62ff05e2430f02f5101da8ff9203b25a.png)
![](https://habrastorage.org/getpro/habr/upload_files/803/e35/e7d/803e35e7d0c65d4c5ea241ed55d9e71c.png)
Не, верните всё как было. Получилось совсем уж странно. Похоже, китайкой нейросети ещё учиться и учиться, прежде чем она сможет показать результат, близкий к западным аналогам. Впрочем, китайцы быстро учатся.
Эксперименты с разными стилями
Пока что китайская нейросеть генерирует не самые удачные изображения. А что, если взять максимально простые вещи и нагенерировать их в нескольких популярных стилях? Возьмём, к пример, sun, flowers and children. Стиль — реалистичный
![](https://habrastorage.org/getpro/habr/upload_files/c35/4da/f74/c354daf74bb3a66bd5be2e486d314fc5.png)
Реалистично?
![](https://habrastorage.org/getpro/habr/upload_files/116/9bd/502/1169bd50289fecdd4f4b273a824aae61.png)
![](https://habrastorage.org/getpro/habr/upload_files/a6c/ab3/78b/a6cab378b53801725a7bbe86950e9561.png)
А если это будет масляная живопись?
![](https://habrastorage.org/getpro/habr/upload_files/ec2/a04/293/ec2a042935454cf2069c06ec89adff2e.png)
Масляная живопись
![](https://habrastorage.org/getpro/habr/upload_files/07e/cc1/bae/07ecc1baeb7b076093f70903bd737750.png)
![](https://habrastorage.org/getpro/habr/upload_files/e60/e73/0de/e60e730de9a4290f165ed936b5449f46.png)
![](https://habrastorage.org/getpro/habr/upload_files/712/9f8/cb4/7129f8cb4a5b7e287d08b81ebb21b53f.png)
![](https://habrastorage.org/getpro/habr/upload_files/4e3/03a/4e2/4e303a4e2aed1644cb31c7e9cfc64fd3.png)
![](https://habrastorage.org/getpro/habr/upload_files/42c/59d/7ed/42c59d7ed0de7fc90ffb1b525d55e273.png)
![](https://habrastorage.org/getpro/habr/upload_files/0ed/28a/352/0ed28a352a34836d2390f1651916d27d.png)
Попробуем добавить кукольности, режим Lolita
![](https://habrastorage.org/getpro/habr/upload_files/d85/0bd/b53/d850bdb53fe2ff83f111ca4abef834e1.png)
Lolita
![](https://habrastorage.org/getpro/habr/upload_files/76b/a86/fa6/76ba86fa64cb0eaeffb9167d2f77f76f.png)
![](https://habrastorage.org/getpro/habr/upload_files/726/b1d/3b7/726b1d3b7fa74199073ce99b2c59a059.png)
![](https://habrastorage.org/getpro/habr/upload_files/48d/52c/040/48d52c040e55cb2b7c8b3dd4e1e2ce8e.png)
![](https://habrastorage.org/getpro/habr/upload_files/801/709/875/8017098755310727f5ac9cc414d54f2f.png)
![](https://habrastorage.org/getpro/habr/upload_files/d89/eda/467/d89eda4671f87eae25578834453728be.png)
![](https://habrastorage.org/getpro/habr/upload_files/040/62b/285/04062b285e8039fd520dcb63377fef3e.png)
Результаты вполне неплохие. Если не вглядываться в то, что на них изображено, то платья можно назвать красивыми. Следующий стиль — cyberpunk.
![](https://habrastorage.org/getpro/habr/upload_files/fb6/0ba/506/fb60ba506511dc62daccb957e0d1c54f.png)
Cyberpunk
![](https://habrastorage.org/getpro/habr/upload_files/537/714/e23/537714e233fc510cd89aa315da38ae85.png)
![](https://habrastorage.org/getpro/habr/upload_files/4bf/c57/b2d/4bfc57b2dd8c50e6ae9e7608b8a7811b.png)
![](https://habrastorage.org/getpro/habr/upload_files/cc6/725/251/cc672525189dce104c29ab8c517e095b.png)
![](https://habrastorage.org/getpro/habr/upload_files/c68/4ec/ecc/c684ececc8eda1ed4977bc4cfffcf687.png)
![](https://habrastorage.org/getpro/habr/upload_files/84a/aca/eb8/84aacaeb83a3a26e282f75530cc5d86a.png)
![](https://habrastorage.org/getpro/habr/upload_files/321/9e6/7a7/3219e67a7404dca5932e1dcee282f632.png)
Некоторые изображения определённо имеют право на существование, хотя и нуждаются в доработке. Но мы не будем останавливаться, продолжаем эксперименты: Baroque.
![](https://habrastorage.org/getpro/habr/upload_files/e8f/e05/08d/e8fe0508d4defffc2cbd56f40652edce.png)
Baroque
![](https://habrastorage.org/getpro/habr/upload_files/5e6/7f5/9cd/5e67f59cdc1b95ecfae3d5caf631da6a.png)
![](https://habrastorage.org/getpro/habr/upload_files/c80/846/b19/c80846b19328080b744173f4d3f21dfd.png)
![](https://habrastorage.org/getpro/habr/upload_files/0ef/0fd/1ce/0ef0fd1ce131e1d57909bbaba9136814.png)
![](https://habrastorage.org/getpro/habr/upload_files/0a0/df0/8ef/0a0df08efe408868d966d3aed9085d71.png)
![](https://habrastorage.org/getpro/habr/upload_files/b8a/451/fd9/b8a451fd92ccc3011b77c5594d923a29.png)
Стиль определённо прослеживается. А вот реалистичность — нет. Давайте тогда совсем оторвёмся от реальности и протестируем аниме-стиль.
![](https://habrastorage.org/getpro/habr/upload_files/a3f/5ba/dfb/a3f5badfb452b4eb18f3d2c1c76f845d.png)
Аниме
![](https://habrastorage.org/getpro/habr/upload_files/d33/d63/5ac/d33d635ac024f769f46dfa523e8ce63c.png)
![](https://habrastorage.org/getpro/habr/upload_files/568/a04/5ed/568a045eda61e9e0914e3f1acf110330.png)
![](https://habrastorage.org/getpro/habr/upload_files/afd/fe3/cef/afdfe3cef166186a92a33617c0bb365c.png)
![](https://habrastorage.org/getpro/habr/upload_files/f0e/01b/a21/f0e01ba21124f7f6f8df8efd9fc8bded.png)
![](https://habrastorage.org/getpro/habr/upload_files/21c/067/673/21c067673c38f065704ca8c9e051c43e.png)
![](https://habrastorage.org/getpro/habr/upload_files/420/777/a51/420777a513ec187c7125ef80f1363487.png)
Как и у многих других изображений, сгенерированных нейросетью, здесь видны проблемы с конечностями, глазами, позами. Хотя и определённая красота имеется. Так что ERNIE вполне себе интересный инструмент для баловства и экспериментов.
Ещё немного картинок
![](https://habrastorage.org/getpro/habr/upload_files/8ed/c49/75f/8edc4975f1c45bba981c0a4439838391.jpeg)
![](https://habrastorage.org/getpro/habr/upload_files/fb1/e77/03e/fb1e7703e952233f0c1d791d85e4a176.png)
![](https://habrastorage.org/getpro/habr/upload_files/824/857/2f9/8248572f9763981170f596716f4bdf19.png)
![](https://habrastorage.org/getpro/habr/upload_files/96f/68c/571/96f68c5714f2b7b414d2243e421836cd.png)
ERNIE доступен через API
Следуйте инструкциям в руководстве GitHub, если захочется попробовать API (но не забывайте, это китайская нейросеть, поэтому многие инструкции тоже на китайском). Пример вызова API выглядит следующим образом.
def generate_image(
text_prompts:str,
style: Optional[str] = "探索无限",
topk: Optional[int] = 6,
output_dir: Optional[str] = 'ernievilg_output')
text_prompts — текст фразы;
style — стиль изображения;
topk — количество изображений (до 6);
output_dir — Каталог для сохранения выходного изображения.
Показывайте, что интересного получилось у вас!
Что ещё интересного есть в блоге Cloud4Y
→ Информационная безопасность и глупость: необычные примеры
→ It's Alive! Аккордеон из двух Commodore 64 и дискет
→ Как распечатать цветной механический телевизор на 3D-принтере
→ WD-40: средство, которое может почти всё
→ Подержите моё пиво, или как я сделал RGBeeb, перенеся BBC Micro в современный корпус
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем только по делу. А ещё напоминаем про второй сезон нашего сериала ITить-колотить. Его можно посмотреть на YouTube и ВКонтакте.