Как ИИ сделает вас стройнее. Часть 2
Мы уже недавно писали о том, как ИИ помогает корректировать фигуру на фото. Тогда речь шла о проекте от Alibaba, который в целом неплохо справлялся с задачей, но имел ощутимый недостаток: если тело становилось стройнее, фон по краям мог “поехать”.
Новый проект от китайских исследователей предлагает альтернативный метод изменения формы человеческого тела на изображениях с использованием скоординированной сети двойного нейронного кодировщика, управляемой параметрической моделью. Она позволяет пользователям корректировать вес, рост и пропорции тела через интерактивный графический интерфейс.
Новый проект позволяет реалистично изменять рост, вес и пропорции тела, а также способен заполнить фон, который остаётся после изменения фигуры. Он также имеет улучшения по сравнению с известным параметрическим методом изменения формы тела: теперь не требуется активное вмешательство человека в процесс преобразования.
Новая архитектура под названием NeuralReshaper подгоняет фигуру на фотографии под параметрический трехмерный шаблон, а затем производит искажения на шаблоне, чтобы адаптировать фигуру на фото под новые параметры. Система может выполнять трансформацию как одетых людей, так и полуодетых (например, в купальниках).
Подобные преобразования сейчас вызывают большой интерес в сфере моды. На данный момент создан ряд платформ на основе StyleGAN/CycleGAN и общих нейронных сетей для виртуальных примерочных, где можно адаптировать предметы одежды под фигуру на фотографии пользователей.
Модель SMPL
NeuralReshaper использует линейную модель Skinned Multi-Person Linear Model (SMPL), разработанную Институтом интеллектуальных систем Макса Планка и известной компанией VFX Industrial Light and Magic в 2015 году.
На первом этапе процесса модель SMPL генерируется из исходного изображения, для которого требуется выполнить преобразования. Адаптация модели SMPL к изображению выполняется по методике восстановления сетки человека (HMR), предложенной университетами Германии и США в 2018 году.
На данном этапе рассчитываются три параметра деформации (вес, рост, пропорции тела) и учитываются параметры камеры, такие как фокусное расстояние. Двухмерные ключевые точки и выравнивание силуэта позволяют создать точный силуэт фигуры для последующего деформирования.
Затем трехмерная фигура помещается на изображение, чтобы создать плотное поле деформации. Этот процесс занимает около 30 секунд для каждого изображения.
Архитектура NeuralReshaper
NeuralReshaper запускает тандем из двух нейронных сетей: кодировщика переднего плана, который генерирует трансформированную форму тела, и кодировщика фона, который фокусируется на заполнении «освободившихся» областей фона (например, когда тело становится стройнее).
Фреймворк U-net объединяет выходные данные функций двух кодировщиков перед передачей результата в унифицированный кодировщик, который в конечном итоге создает новое изображение из двух входных данных. Архитектура поддерживает новый механизм, управляемый деформацией, для обеспечения интеграции.
Обучение и эксперименты
NeuralReshaper реализован в PyTorch на графическом процессоре NVIDIA 1080ti с 11 ГБ видеопамяти. Нейросеть обучалась в течение 100 эпох под оптимизатором Адам, при этом генератор был настроен на целевую потерю 0,0001, а дискриминатор — на целевую потерю 0,0004. Обучение проводилось пакетами по 8 образцов для проприетарного набора данных и по 2 образца для обучения на наборе данных DeepFashion.
Ниже приведены несколько примеров из набора данных DeepFashion, обученных для NeuralReshaper. Исходные изображения расположены слева.
Преобразования для набора из обычных частных фотоснимков более сложны, поскольку часто требуют дозаполнения сложных фонов:
Параметрическая необходимость
Трансформации фигуры на снимках с неоднородным фоном представляют большую сложность. Многие преобразующие среды GAN и кодировщики могут использовать парные изображения (например, разнообразные проекты, где эскиз преобразуется в фото или наоборот). Но в случае коррекции фигуры используются пары картинок с изображением одних и тех же людей, но в разных физических конфигурациях, например изображения «до и после» в рекламе диеты или пластической хирургии. Такие данные трудно получить или сгенерировать.
С другой стороны, преобразующие сети GAN могут обучаться на гораздо более разнообразных данных и выполнять преобразования, ища неявные пути от исходника к желаемому виду (в данном случае «толстый», «худой», «высокий» , так далее.). Однако этот подход в настоящее время слишком ограничен для тонкой настройки изменения формы тела.
Подходы Neural Radiance Fields ( NeRF ) продвинулись гораздо дальше в моделировании всего тела, чем большинство систем на основе GAN, хотя и остаются ресурсоёмкими, ограниченными по возможностям редактирования типов тела и зависимыми от фона.
Скрытым пространством GAN трудно управлять. Сами по себе VAE еще не решают проблем воспроизведения всего тела, а способность NeRF последовательно и реалистично реконструировать человеческие тела все еще находится в зачаточном состоянии. Таким образом, включение «традиционных» методологий CGI, таких как SMPL, похоже, пока всё ещё необходимо для сбора и консолидации признаков, классов и скрытых кодов.