Недостижимая вершина искусства: почему искусственный интеллект Midjourney рисует на руках 6 пальцев и как это можно исправить?

Автор: Владислав Нужнов, 24 января 2023, 09:00

Почему искусственный интеллект (ИИ) изображает непонятные руки? Эта тема, как и все, что связано с нейросетями стало очень актуальным и вызывает много вопросов, поэтому надо раз и навсегда разобраться с этим всем. Потому что только ленивый не попробовал "поиграть" с Midjourney или DALL-E. Фото, которые они создают за считанные минуты быстро нашли свою аудиторию. О чем говорить, если создаются целые сообщества на 100+ тысяч человек, которые делятся своими работами, созданными с помощью ИИ.

Это все зашло так далеко, что художники на Artstation, который является крупнейшим порталом для художников, устроили забастовку против ИИ, призывая маркировать изображения, которые созданы не людьми. Кому-то это все может напомнить события игры Detroit: Become Human, когда человечество выступало против умных андройдов, которые во всем были лучше людей и заменили их во многих сферах жизни. От водителей до профессиональных спортсменов. Поэтому споры вокруг нейросетей не утихают и уже сейчас некоторые начали серьезно задумываться, сможет ли ИИ заменить людей на разных профессиях уже в нашем мире, а не в игре?

Но вернемся к теме с руками. Почему ИИ не могут корректно отобразить пальцы, что на это влияет? Возможно потому, что даже людям трудно рисовать руки? Или проблема в недостаточной базе данных на которую опирается искусственный интеллект. А вдруг мы требуем слишком много от ИИ? На самом деле все из перечисленного и на результат даже влияет психология человека. Поэтому редакция gg разобралась и расскажет, почему же, условный Midjourney, имеет проблему с генерацией человеческих конечностей.

Один из примеров того, как Midjourney генерирует руки (Иллюстрация: medium)

Для начала, что такое Midjourney и ему подобные инструменты?

Midjourney - это независимая исследовательская лаборатория, которая разрабатывает одноименную программу искусственного интеллекта, которая создает изображения из текстовых описаний. Создаются изображения с помощью специального чат-бота в Discord. Сейчас инструмент находится в открытом бета-тестировании, которое началось 12 июля 2022 года. Популярными аналогами Midjourney являются DALL-E и Stable Diffusion. Принцип работы у всех очень похож. Отличается только стилем и уровнем развития ИИ.

Изображение созданное ИИ (Иллюстрация: howtogeek)

Для тех, кто хочет знать больше: как именно создать изображение?

Только одной текстовой записи будет недостаточно. Если просто попросить Midjourney изобразить, условно, свинью в джакузи, то результат будет так себе. Но мы видели все те невероятные изображения, в чем секрет? На помощь приходит "prompt", или подсказки. Ими конкретизируем то, какое изображение хотим получить от искусственного интеллекта. И при правильно прописанном prompt можно получить вот такую уже реалистичную свинку.

Результат "до" и "после" детально прописанного prompt (Скриншот: itpedia)


Так а что там с пальцами?

А теперь о барьере, который никак не может переступить ИИ, - корректно изобразить пальцы рук или ног. И это далеко не гипотеза. Эта проблема носит массовый характер и уже стала темой как для дискуссий, так и для высмеивания.

Пример того, как люди реагируют на руки сгенерированные ИИ (Иллюстрация: knowyourmeme)

Но почему так происходит? Ответ на этот вопрос уже существует. Кстати, благодаря другому ИИ.

Ответ от разработчика одного из ИИ

Существует искусственный интеллект The Jasper Whisperer. Он специализируется на написании текста, а также создает генеративные изображения (И нет, "генеративный" не имеет никакого отношения к слову "дегенеративный", хотя и звучат они слишком похоже). The Jasper Whisperer также имеет свой блог на medium, в котором было описано, почему существует проблема с воспроизведением конечностей. На это влияет несколько факторов и каждый надо разобрать отдельно.

Пример работы The Jasper Whisperer (Иллюстрация: medium)

Рука - сложная часть тела

Сама по себе анатомия руки достаточно сложная. Как минимум, пальцы бывают разных форм и размеров. Их всегда нужно правильно изобразить, иначе рука будет выглядеть неестественно. Даже когда руки находятся в "расслабленном" положении, есть информация, которую нужно нарисовать: морщины и складки на костяшках пальцев или же затенение на ладонях.

Благодаря сложной геометрии не существует стандартного набора линий или форм, которые ИИ может распознать как руку. ИИ каждый раз должен сопоставлять множество различных форм, и в конечном итоге это превращается в 6 или более пальцев.

А еще в человеческой руке есть около 30 точек геометрических расхождений. От длины и ширины пальцев до пястных костей и лучезапястных суставов. Вообще наши руки настолько сложны и уникальны, что их геометрия может быть даже лучшим биометрическим идентификатором, чем лицо.

Вот сколько деталей нужно для того, чтобы нарисовать реалистичную руку (Фото: artincontext)

Руки трудно рисовать даже людям

Поэтому изображение рук - одна из самых сложных задач в рисовании. Их геометрия делает их сложными объектами для иллюстрирования. Именно поэтому в мультфильмах персонажей часто рисуют с 3 пальцами и одним большим. Ведь так в разы проще. И мы настолько часто это встречаем, что даже не замечаем. Итак, проблема с руками не новая и не связана с искусственным интеллектом. Это проблема искусства. The Jasper Whisperer даже считает немного забавным то, что ИИ переживает те же самые художественные трудности, что и люди.

Иллюстрация: screenrant

Для тех, кто хочет знать больше: что об этом думает ChatGPT?

Еще один популярный ИИ в наше время - ChatGPT. Это чат-бот, запущенный OpenAI в ноябре 2022 года, который стал известным благодаря своим подробным и четким ответам во многих областях знаний, даже в сфере IT. Поэтому программисты уже шутят над тем, что этот бот когда-то и заменит их.

Реакция программистов на ChatGPT (Иллюстрация: Clément Mihailescu)

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

Скриншот: medium

Так что с утверждением The Jasper Whisperer также соглашается ChatGPT.


Мы требуем слишком многого от искусственного интеллекта

The Jasper Whisperer считает, что мы просим ИИ сделать невозможное. Человек рисует столько, сколько существует, но на создание реалистичной руки может потратить неделю своего времени. Технология искусственного интеллекта все еще развивается. Тому же Midjourney меньше года. И хотя мы уже видим потрясающие изображения, существуют определенные ограничения.

Ситуация становится еще сложнее, когда создают несколько рук на одном изображении, например, двух людей, которые держатся за руки, или группу друзей в обнимку. А каждая рука должна быть нарисована точно, иначе все изображение не будет таким, каким должно быть. Наиболее часто руки от ИИ такие странные из-за их "перегрузки" на фото.

Пример "перегрузки" рук в кадре (Иллюстрация: medium)

Что думают об этом обычные пользователи?

Достаточно развернутое объяснение я встретил именно на Reddit. Один из пользователей подробно описал эту проблему. Дело в том, что ИИ не имеет логического мышления, когда "создает" искусство. Он не знает, что у человека есть скелет с определенным количеством костей, органов, мышц и всего остального. Он не знает, что должно быть в том или ином месте и иметь определенный вид в зависимости от движения тела. Все, что может сделать ИИ, - это воспроизвести то, что ему сказали. Условный Midjourney своим изображением даст ответ на вопрос "ЧТО это такое", а не "ПОЧЕМУ оно такое". Иногда он генерирует ремни одежды, сливающиеся с кожей человека и другие подобные вещи. По сути, бот никогда не сможет понять вещи, которые он "рисует", так, как понимаете их вы. Он не строит свое искусство так, как это делает настоящий художник. Люди понимают то, что они рисуют, на более глубоком уровне и учитывают многие другие вещи, которые не отражаются на рисунке.

Midjourney не до конца понял, какой должна быть рука у космонавта (Иллюстрация: medium)

Немного сумасшедших теорий

А вот, например, авторы сайта theamericangenius выдвинули теорию, что ИИ находит способы успокоить наши страхи и заверить, что он не собирается захватывать мир. Тем самым как бы пытается сказать: "я не угроза, я не могу нарисовать простые руки или ноги". Шутки шутками, но каждая теория имеет право на существование.

Иллюстрация: theamericangenius

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

Пример, который демонстрируют для начинающих художников. Руки спрятаны в кармане (Фото: artistsnetwork)

Теория о психологии человека

И последний пример связан с тем, что мы психологически склонны искать ошибки в человеческих руках, а не в лице. Чтобы лучше понять, о чем речь, надо взглянуть перевернутое изображение лица Адель:

Иллюстрация: businessinsider

На первый взгляд, здесь ничего такого, но если изображение еще раз перевернуть, то результат уже будет таким:

Иллюстрация: businessinsider

Почему мы такого не замечаем? Эта иллюзия известна как "эффект Тэтчер", названный так в честь бывшего премьер-министра Великобритании Маргарет Тэтчер, чье изображение впервые было использовано для этого трюка.

Эффект Тэтчер (Иллюстрация: businessinsider)

Этот эффект подчеркивает недостаток в работе нашего мозга - мы не можем обработать перевернутое лицо. А исследование от The Naked Scientists говорит о том, что человек распознает лицо по частям - глаза, рот и нос. Поэтому когда нам показывают перевернутое изображение Тэтчер, оно не обрабатывается должным образом.

И как писали businessinsider, мы так редко сталкиваемся с перевернутыми лицами, что не в состоянии интерпретировать выражение на них. Черты лица выглядят нормально, поэтому наш мозг считает, что остальная часть лица - тоже. Вот почему мы не замечаем чего-то необычного, пока не сориентируем лицо соответствующим образом.

А вот с руками ситуация совсем другая. The Jasper Whisperer отмечает, что в руках есть что-то такое, к чему мы очень чувствительны, и что знаем инстинктивно. Поэтому, если ИИ ошибается с руками, мы сразу это замечаем. Даже если не совсем корректно изобразить плечо, то человек этого может и не заметить. А вот если пропорции большого, указательного, среднего, безымянного и мизинца немного нарушены, то это сразу бросится в глаза.

Сразу замечаем неправильно сгенерированные руки (Иллюстрация: medium)

Поэтому имеем две стороны медали. С одной - искусственный интеллект, который не имеет достаточно большой базы фото человеческих рук и не до конца осознает, что вообще такое "анатомически правильные руки". Поэтому ему еще нужно потратить кучу времени на обработку именно этих данных. А с другой - психологический фактор человека, который почему-то сразу замечает недостатки рук. Но улучшить генерацию пальцев с помощью ИИ все же можно.

Как заставить ИИ рисовать руки лучше?

И на помощь снова приходит The Jasper Whisperer. В блоге этого ИИ есть целый гайд, как улучшить генерацию рук.

Дайте рукам что-то делать

Руки, которые что-то делают, ИИ обрабатывает лучше. Например, если рука должна держать чашку. Это связано с учебными данными: вы сужаете круг поиска, который показывает пальцы в определенных положениях. Конечно, результат не всегда получается удачным. Вот два сгенерированных изображения: первое - DALL-E, второе - Midjourney. На фото, где девушка держит бокал, все более-менее удачно. А вот фото с рыбой где-то дало сбой (и не только с руками).

На втором фото что-то пошло не так (Иллюстрации: medium, midjourney)

Используйте закрашивание (inpainting)

Закрашивание позволяет стереть часть сгенерированного изображения, чтобы ИИ заполнил ее чем-то другим. Это хороший способ перерисовать руки. С таким лучше всего справляется Dall-E 2. И для сравнения - фото до закрашивания и после:

Иллюстрация: petapixel

Совершенствуйте собственноручно

Способ подойдет не всем, но если вы или ваш знакомый владеет Adobe Photoshop или другим графическим редактором, то при желании можно переделать руки, которые сгенерировал ИИ.

Обрежьте фото

Иногда самым простым и лучшим вариантом будет просто обрезать немного фотографию, чтобы часть рук не попадала в кадр. Именно так и сделал один из пользователей на Discord сервере Midjourney.

Предоставьте фотографии для сравнения

В Midjourney есть такая функция как "image-to-image" - это когда вы сначала даете нейронной сети фотографию, а уже потом текстом прописываете, что нужно сделать. И такой способ значительно облегчит работу для ИИ, которому и так крайне трудно создавать руки.

С рукой все еще беда, но не настолько критично. (Иллюстрация: All About AI)

5) Больше подсказок. Уже понятно, что, просто написав "рука", должного результата мы не получим. Поэтому нужно дать ИИ больше подсказок. Детально опишите позу и действие, вспомните о мелких деталях, таких как: ногти или морщины на костяшках пальцев. И опишите форму руки. Для этого используйте такие термины, как "согнутая" или "открытая".

Здесь еще раз стоит напомнить, что запрос "5 fingers" отнюдь не изменит ситуацию. Ведь именно так произошло у меня. Я прописал prompt, который советует The Jasper: "рука с 5 пальцами, ногти, морщины вокруг костяшек, открытая, --ar 2:3 --q 2 --v 4". И у меня действительно получилось получить результат с рукой, у которой 5 пальцев. Но только на 2 из 4 изображений. А еще каждое из них напоминает концепт-арты хоррор игры. Однако уже есть шанс того, что после генерации будем иметь более-менее хороший результат.

Как еще заставить ИИ нарисовать руку?

На самом деле, чтобы не прописывать множество подсказок для ИИ, но получить руку с 5 пальцами, которая не будет напоминать жуткие игры или фильмы, нужно написать только одно слово - "перчатки". Этого слова мне было достаточно для того, чтобы получить вот такой результат. Поэтому если вам не нужна "голая" рука, то этот вариант будет лучшим.

Но если нужны не просто руки, а чтобы они были задействованы в кадре? Тогда пропишите, например, "a couple holding handings walking in a park and wearing gloves". Если начать увеличивать изображение, то можно найти мелкие недочеты, но невооруженным глазом увидеть что-то не то довольно сложно.

Так происходит за счет того, что, банально прописав в google images "gloves", мы увидим, как на большинстве фото перчатки будут лежать прямо и на них четко можно заметить 5 пальцев. А ИИ как раз опирается на базу фотографий, которые находятся в сети.

Если же вам нужна рука без перчаток, то на помощь придет обычный маникюр. Вот, например, запрос в The Jasper Whsiperer "wedding ring, and nail polish" и вуаля, 5 пальцев, без каких-либо дефектов или еще чего-то.

Иллюстрация: medium

Причина такая же, как и с перчатками. На фото в гугле с маникюром в 90% можно четко увидеть 5 пальцев, еще и часто в одинаковых положениях. Поэтому ИИ быстрее сориентируется в том, как это нужно изобразить.

В сухом остатке: когда ждать восстания машин?

Так что по факту, Midjourney и ему подобные умеют изображать руку с 5 пальцами. Просто большинство запросов от людей были не совсем точными, а усложнялась ситуация самим строением рук, которое трудно изобразить, что и привело к таким бурным обсуждениям. Результат с 5 пальцами у ИИ не всегда будет таким, каким надо. Но вариантов уже хватает. Важно помнить, что части нейросетей о которых упоминались сегодня, меньше года. Даже опытные художники, которые годами рисуют, не всегда быстро создадут реалистичную руку. Поэтому "здесь и сейчас" требовать исключительно крутых результатов от нейросетей не стоит. Искусственный интеллект с каждым днем учится и если хочется, чтобы он при создании изображения вышел на новый уровень, то ему нужно давать все больше и больше правильных запросов, которые содержат много уточнений. Вообще еще пару лет назад, когда люди видели попытки ИИ что-то создать, то мало кто это воспринимал всерьез. Сегодня же активно ведется дискуссия "Заменят ли нас машины?". Всех точно нет, с появлением Adobe Photoshop потребность же в фотографах не исчезла. Для профессиональных художников Midjourney станет еще одним полезным инструментом, который ускорит и улучшит работу. Для кого-то это будет интересный инструмент с которым можно поиграть, ну а кто-то пытается разобраться что же там за проблема с отображением пальцев. А там пройдет несколько лет и уже можно будет подумать над тем, произойдет ли восстание машин?

Для тех, кто хочет знать больше