В течение предыдущих пяти месяцев у меня была возможность пройти стажировку в Couture.ai в качестве стажера по науке о данных. Я работал в основном над исследовательскими проектами с командой Data Science. Этот пост ознаменует окончание моей стажировки здесь и будет кратким изложением моего опыта и работы за эти 5 месяцев. Это был блестящий опыт обучения, когда я смог узнать о самых последних технологиях и о том, как их можно использовать коммерчески осуществимым и практичным образом, работая в разумных пределах. Это не только помогло мне узнать об этих технологиях, но и научило меня оптимизировать, чтобы быстро и легко получать наилучшие результаты.

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

Алгоритм сегментации

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

Модуль геометрического сопоставления

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

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

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

Примерочный модуль

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

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

Выводы

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

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