Добавление и передвижение объектов
Перейдём к более интересным задачам - добавлению и перемещению объектов на фотографии. Подробнее остановимся на добавлении, потому что перемещение - это просто удаление объекта из одной части фотографии, что мы уже умеем делать, и добавление его в другую часть.
Начнём снова с примера. Добавим на фотографию собаку. Фото слева выглядит нереалистично только из-за того, что у неё нет тени.
Как раз эту задачу авторы и решают: они учат модель добавлять тени и отражения к вставленному объекту. Сам объект почти не меняется: то есть тени от сцены на объект не добавятся и гармонизации не будет.
Из плюсов - объект остаётся почти неизменным, то есть модель его не пытается перерисовать. Из недостатков - нужно вручную вырезать объект, отрегулировать его размер, расположение на сцене, прогнать через авторскую модель и самостоятельно сделать гармонизацию. Кроме того, объект должен идеально вписываться в сцену: кривые края останутся кривыми, а пересечения с другими объектами на сцене не предусмотрены.
Чтобы обучить такую модель, нам нужно исходное реальное изображение с объектом и такое же, только без теней и отражений объекта.
2500 фотографий хватает, чтобы научиться удалять объект, но для вставки объекта этого недостаточно. Поэтому авторы сгенерировали ещё 350к изображений: с фотографии удалили объект, его тени и отражения, оставив сцену без объекта, и приклеили этот же вырезанный объект на полученную сцену. На этих изображениях они дообучили латентно-диффузионную модель так же, как модель для удаления объектов, только теперь они подают на вход зашумленное латентное представление реальной фотографии с объектом, обуславливают фотографией сцены с приклеенным объектом без тени и отражений, маской объекта, пустым текстовым промптом и учат убирать шум. Для дальнейшего улучшения качества авторы дообучили модель и на реальных 2500 парах фотографий из своего нового датасета.
Качество замеряли на 51 примере с известными входными и выходными изображениями, а также на 50 out-of-distribution примерах, где передвигали большие объекты, которых не было в тренировочном датасете. По всем автоматическим метрикам и предпочтению людей модель оказывается лучше, чем AnyDoor и Paint-by-Example.
На мой взгляд, сравнение странное, потому что AnyDoor и Paint-by-Example принимают картинку с объектом, без идеальной маски, в произвольном положении и произвольного размера и перерисовывают его в нужном виде, учитывая пересечения с другими объектами (пример работы Paint-by-Example показан на картинке с кедами, игрушкой и футболкой). Как и в задаче удаления объектов, авторы сравнились с моделями, решающими более широкие и сложные задачи. Кроме того, и на вход эти модели принимают совсем другие, более простые для пользователя вещи. Честнее и полезнее было бы сравниться с методами генерации теней, особенно учитывая то, что авторы мельком упоминают некоторые из них.
Post #104
789
- 🔥 6
- ❤ 2