Нейросети

Шесть пальцев: почему руки даются нейросетям тяжелее всего

Полина·основатель CHARMA··8 мин чтения
Шесть пальцев: почему руки даются нейросетям тяжелее всего

Шутка про шесть пальцев стала визитной карточкой генеративных моделей. Лица научились рисовать убедительно ещё несколько лет назад, а руки продолжали выдавать существ с лишними суставами и сросшимися пальцами.

Сейчас стало заметно лучше, но проблема не исчезла, и понимать её механику полезно: это объясняет, когда рискованно, а когда нет.

Почему именно руки

Четыре причины, и они складываются.

Модель не считает. Она не знает, что пальцев пять. Она предсказывает, какие пиксели вероятны рядом с другими пикселями. Пальцы похожи друг на друга, и после четырёх продолговатых объектов пятый выглядит так же вероятно, как шестой.

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

Положений почти бесконечно много. Лицо в кадре занимает узкий набор ракурсов: анфас, профиль, три четверти. Рука может быть в любом положении, часто перекрывая саму себя.

В обучающих данных руки мелкие и размытые. На большинстве фотографий руки не главный объект: они в движении, не в фокусе, частично скрыты. Модель училась на плохих примерах.

Что ломается чаще всего

ОшибкаКак выглядитНасколько часто
Лишний или недостающий палецШесть пальцев, четыре пальцаРеже, чем раньше, но встречается
Слипшиеся пальцыКисть как варежкаЧасто при сложных позах
Вывернутый суставПалец гнётся не в ту сторонуЧасто при захвате предметов
Разная длинаМизинец длиннее безымянногоПостоянно, замечается не сразу
Кисть не той сторонойЛадонь и тыльная сторона перепутаныПри скрещенных руках
Предмет не держитсяПальцы проходят сквозь чашкуОчень часто
Разные руки у одного человекаЛевая и правая непохожиЧасто при разном освещении

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

Что стало лучше

Честно говоря, за последние два года прогресс большой.

Одиночная рука в простой позе сейчас получается надёжно. Руки, лежащие на столе, в карманах, вдоль тела, обычно выходят без ошибок. Улучшилось и удержание предметов: чашка, книга, телефон получаются заметно чаще, чем раньше.

Что по-прежнему рискованно: переплетённые пальцы, руки в сложном жесте, две руки, взаимодействующие друг с другом, музыкальные инструменты, руки, частично закрывающие лицо.

Как формулировать, чтобы не сломать

  • Простые позы вместо сложных. «Руки спокойно лежат на столе» надёжнее, чем «переплела пальцы под подбородком».
  • Явно назовите положение. Если не сказать про руки ничего, модель придумает их сама, и придумает как получится.
  • Уберите руки из кадра, если они не нужны. Портрет по грудь без рук самый безопасный вариант.
  • Не просите держать мелкие предметы. Ручка, ключи, украшение в пальцах ломаются чаще, чем крупная чашка.
  • Один предмет, а не два. Чашка в двух руках надёжнее, чем чашка в одной и телефон в другой.
  • Проверяйте результат отдельно. Увеличьте руки и посчитайте пальцы. На маленьком превью ошибку легко пропустить.

Разбор: два описания

Сложная поза с переплетёнными пальцами и простое положение рук на столе
Сложная поза с переплетёнными пальцами и простое положение рук на столе

Описание первое. «Женщина сидит за столом, задумчиво подперев подбородок рукой, вторая рука лежит на книге, пальцы переплетены».

Что тут рискованно: рука у лица (перекрытие), переплетённые пальцы (сложность), взаимодействие с предметом (книга). Три фактора риска в одном кадре, шанс получить артефакт высокий.

Описание второе. «Женщина сидит за столом, обе руки спокойно лежат на столешнице ладонями вниз, рядом закрытая книга».

Простая поза, никаких перекрытий, предмет не в руках. Такой кадр получается с первого раза почти всегда.

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

Почему это важно для портретов

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

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

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

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

Как проверить кадр

Быстрый чек-лист перед публикацией:

  • Посчитайте пальцы на обеих руках.
  • Проверьте, что большой палец на своём месте и гнётся в правильную сторону.
  • Сравните длину пальцев между собой.
  • Убедитесь, что предмет действительно лежит в руке, а не сквозь неё.
  • Посмотрите на запястья: они должны быть примерно одинаковой толщины.
  • Увеличьте до ста процентов: половина ошибок видна только так.

Это тот же принцип, что и с другими признаками ИИ-фото: смотреть надо в предсказуемые места.

Что ещё ломается по той же причине

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

  • Зубы. Количество и форма плавают, особенно при широкой улыбке. Полуулыбка надёжнее.
  • Очки. Дужки не сходятся, оправа искажается, отражения появляются ниоткуда.
  • Украшения. Цепочка обрывается и продолжается в другом месте, серьги разные.
  • Узоры на ткани. Клетка и полоска ломаются на складках.
  • Текст. Любые надписи превращаются в псевдобуквы, поэтому мы их запрещаем в описании явно.
  • Отражения. В зеркале и в стекле отражается не то, что должно.
  • Мелкие предметы в руках. Ручка, ключи, украшение чаще всего деформируются.

Как проверять быстро

Полезный порядок осмотра, который экономит время: сначала руки, потом зубы, потом украшения, потом фон за плечами. В этих четырёх местах живёт большая часть артефактов.

Смотреть надо в масштабе один к одному, а не на превью. Половина ошибок незаметна в уменьшенном виде и вылезает при печати или на большом экране.

Частые вопросы

Почему на одних кадрах руки идеальные, а на других нет?

Дело в сложности позы. Простое положение получается почти всегда, переплетённые пальцы почти никогда.

Станет ли лучше со временем?

Уже стало заметно лучше за пару лет. Но пока проще обходить проблему кадрированием, чем надеяться.

Можно ли поправить руки отдельно?

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

Соберите кадр, где руки в порядке

Загрузите фото на charma.pro и попросите портрет по грудь либо простое положение рук. Сложные жесты оставьте камере: это тот случай, когда она пока надёжнее.

Создать фото

Читайте также