WithEveryone: групповые фото до 10 человек одной моделью

WithEveryone: групповые фото до 10 человек одной моделью

Загрузите в любой генератор изображений восемь фотографий друзей и попросите собрать их в один групповой снимок. Скорее всего, вы получите семь похожих лиц и одно случайное, а кто-то из компании вообще исчезнет. Это не ваша ошибка в промпте: все существующие модели, от открытых академических до Nano Banana Pro, стабильно работают максимум с пятью-семью людьми, а дальше лица начинают дублироваться и сливаться друг с другом. Именно эту планку пробивает WithEveryone, новая работа, которая генерирует связные групповые изображения по пяти-десяти референсным портретам и впервые обходит GPT-Image 2 по сохранению идентичности.

Что такое генерация с сохранением идентичности

Identity-preserving generation это задача, где модель получает одну или несколько фотографий конкретного человека и должна перенести его в новую сцену, сохранив лицо узнаваемым. Для одного человека это почти решено: PuLID и подобные методы держат сходство на уровне, достаточном для аватарок и стикеров. Проблема начинается с групп. Когда в контекст генерации попадают сразу несколько референсов, сигнал каждой личности размывается, модель смешивает черты соседних людей или просто рисует одно и то же лицо дважды. WithEveryone это unified multimodal model, которая рассуждает о сцене и рисует её в одном контексте, и её главная цель именно групповой случай: от пяти до десяти человек в одном кадре.

Почему старые методы ломаются на больших группах

Классический подход к сохранению идентичности учит модель через identity loss: сгенерированное лицо сравнивается с референсом по эмбеддингу распознающей сети, и расхождение штрафуется. Для одного человека это работает, для двух уже сложнее. Метод WithAnyone, чьим продолжением по духу является WithEveryone, использовал венгерский алгоритм, чтобы сопоставить сгенерированные лица с референсами, и это предел: два человека. Причина тонкая и красивая. На ранних шагах обучения, когда шум ещё высок, все лица, которые модель предсказывает, почти одинаковые. Сопоставление эмбеддингов превращается в лотерею: каждое неверно спаренное лицо тянет чужую идентичность на себя. Loss, который должен оттачивать индивидуальность, вместо этого гасит сам себя.

Вторая проблема пространственная. Сходство лиц отвечает на вопрос «кого нарисовали», но не отвечает на вопрос «где кто стоит». В групповом кадре нужно организовать позы, размеры тел, перекрытия и взаимное расположение, и простая подача референсов в контекст этого не даёт. Модель получает десять портретов и не имеет механизма, который заставил бы её удерживать каждого человека по отдельности на протяжении всей генерации.

Как устроен WithEveryone

Архитектура построена по схеме mixture-of-transformers: сторона понимания и сторона генерации, по 60 млрд параметров каждая, инициализированы из HunyuanImage 3.5-preview. Текст и структурированное рассуждение предсказываются авторегрессионно, а латенты целевого изображения учатся через flow matching. До того, как начнётся отрисовка, модель готовит три комплементарных условия.

Сначала она выбирает, кто из загруженных людей вообще участвует в сцене: промпт может требовать подмножество референсов или описывать человека без фотографии. Для каждого выбранного человека извлекается 512-мерный эмбеддинг ArcFace, прогоняется через лёгкий MLP и вставляется в позицию специального ID-токена. Эти токены пополняют низкоуровневые признаки референсных изображений высокоуровневой идентичностной информацией.

Затем модель прогнозирует структурированный Layout CoT: раскладку сценария, где каждой личности привязано конкретное место в кадре, с областями лиц, границами тел и позами. Этот план рендерится в визуальное условие, которое вместе с предсказанными представлениями идентичностей направляет flow-генерацию картинки. Ключевой приём здесь ID Representation Forcing: модель учится предсказывать представление каждой личности до синтеза изображения, а не надеяться, что условия сами удержатся в контексте.

Третий компонент решает проблему самоуничтожающегося identity loss. LG-ID Loss получает соответствие «сгенерированное лицо - референс» не из сопоставления эмбеддингов, а из аннотации раскладки: модель сама только что спланировала, где какой человек стоит, и эта информация становится пространственным адресом для каждой идентичности. Штраф за чужое лицо больше не зависит от ненадёжного матчинга на зашумлённых предсказаниях, и supervision масштабируется с двух человек сразу до десяти.

Вся обучающая последовательность собрана в единую каузальную цепочку из семи этапов: сначала референсные изображения и промпт, затем выбор участвующих идентичностей и загрузка ID-токенов, дальше раскладка лиц с привязкой идентичностей, планирование областей тел и поз, рендеринг плана в визуальное условие, перефразирование запроса в детальное описание уже согласованное с готовым планом, предсказание целевых представлений идентичностей и только потом генерация картинки. Промежуточный шаг с пересказом промпта выглядит лишним, но он даёт генератору языковое описание сцены, которое уже не противоречит отрендеренной раскладке. Отдельно модель учат на примерах «текст в раскладку» без целевого изображения, чтобы планирование тренировалось независимо от полных генеративных пар.

Почему планирование внутри модели, а не отдельным планировщиком

Большинство layout-методов устроены как конвейер: один модуль, часто языковая модель, превращает промпт в раскладку, а отдельный diffusion-рендерер рисует по ней картинку. Такой стык теряет информацию: планировщик ничего не знает о том, что генератор реально сможет нарисовать, а генератор не может поправить план. ATLAS и PlanGen уже объединили планирование и синтез в одну контекстную последовательность для обычной text-to-image генерации. WithEveryone переносит эту идею на identity-conditioned случай: каждому спланированному человеку в плане сразу привязан референс, а совместно предсказанные области лиц, границы тел и позы рендерятся в визуальное условие, которое живёт в том же контексте, что и будущие токены изображения. По диагностике авторов, это сдвигает узкое место: теперь главный источник ошибок не исполнение плана генератором, а само предсказание плана.

Чему это училось и на чём проверялось

Обучение шло на 400 тысячах in-house примеров групповых изображений, собранных под лицензиями, совместимыми с CC-BY. Оптимизатор Muon, learning rate 1e-5 на стороне генерации и 3e-6 на стороне понимания, упакованная длина последовательности 72 тысячи токенов, 128 GPU H20, все отчётные модели сняты с 1600 итераций. Для подготовки данных использовались детекторы лиц и людей: RetinaFace и ArcFace для идентичностей, YOLOv11 для областей тел и ключевых точек поз.

Для оценки авторы собрали отдельный бенчмарк: 210 реальных групповых примеров с пятью-десятью референсами, стратифицированных по размеру группы от 60 примеров на пятерых до 10 примеров на десятерых. Важная деталь: бенчмарк identity-disjoint относительно обучения. Все личности из теста выкинуты из тренировочного корпуса, так что замеряется обобщение на незнакомых людей, а не запоминание картинок.

Метрики тоже продуманы. Sim(Ref) и Sim(Tgt) измеряют сходство сгенерированных лиц с референсами и с целевыми идентичностями, усреднённое сразу по трём распознающим сетям: ArcFace, FaceNet и AdaFace. Copy-Paste ловит артефакты механического копирования лиц, Coverage считает, сколько запрошенных людей реально попало в кадр, а Dup считает дубликаты идентичностей.

Результаты: впервые лучше проприетарных систем

На главном сравнении WithEveryone набирает Sim(Tgt) 0.499 против 0.462 у GPT-Image 2, 0.451 у Nano Banana 2 и 0.436 у Seedream 5.0 Pro. Разрыв с GPT-Image 2 составляет +0.038 с бутстрэп-интервалом [+0.027, +0.048], p-value по Уилкоксону 3.8 на 10 в минус 11 степени, и победу на 73% примеров. По Copy-Paste картина ещё контрастнее: 0.055 против 0.169 у GPT-Image 2, то есть механического копирования лиц втрое меньше. Отдельно честно отмечено, что по CLIP-I с Nano Banana 2 получается статистическая ничья: +0.001 с p=0.98, и авторы прямо пишут, что отметку лучшего результата в этой колонке не стоит читать как лидерство.

Среди открытых и академических конкурентов сравнивались UMO, WithAnyone, UniPortrait, DreamO, ID-Patch, а из универсальных моделей FLUX.2 Klein, Qwen-Image-Edit, LongCat-Image-Edit, OmniGen2, SenseNova U1, BAGEL и HiDream-O1. Ablations показывают, что самый большой прирост идентичности даёт именно layout-grounded supervision на выходе, а ветка планирования раскладки в первую очередь улучшает покрытие личностей и пространственный контроль.

Почему это важно

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

Есть и обратная сторона, которую авторы обсуждают отдельно. Та самая идентичностная supervision, которая повышает точность, повышает и риски: изображения реальных людей можно создавать без их согласия, вписывать человека в сцену, где его никогда не было, или выдавать себя за него. Авторы прямо рекомендуют при развёртывании требовать согласие всех референсных людей и сопровождать генерацию сигналами происхождения контента.

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

Часто задаваемые вопросы

Чем WithEveryone отличается от WithAnyone?

WithAnyone это предыдущая работа той же линейки: она сохраняет максимум две идентичности и сопоставляет лица с референсами через венгерский алгоритм по эмбеддингам. WithEveryone масштабирует задачу до пяти-десяти человек и заменяет ненадёжный матчинг на привязку к спланированной раскладке, что и позволяет учить identity loss на больших группах.

Можно ли использовать модель уже сейчас?

В статье описаны архитектура, данные и протокол оценки, но о публичном релизе весов не сообщается. Бенчмарк и метрики воспроизводимы, однако сама модель на 120 млрд параметров суммарно остаётся исследовательской системой, обученной на внутренних данных и кластере из 128 GPU.

Почему существующие модели дублируют лица в группах?

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

Итог

WithEveryone переводит генерацию групповых фото из разряда «не работает» в разряд «работает лучше проприетарных систем»: Sim(Tgt) 0.499 против 0.462 у GPT-Image 2, втрое меньше copy-paste артефактов и полное покрытие до десяти человек в кадре. Если вы строите продукт на генерации изображений, главный урок применим и без этой конкретной модели: для многоличных сцен давайте каждой идентичности явное место в плане сцены, а не надеяйтесь, что референсы сами удержатся в контексте.

← Все записи