Боди, куртка, пара шпилек. Часть 1

История о том, как программисты покоряли мир умеренно высокой моды.

Давайте знакомиться. Мы – ad-tech компания Inventale. Специализируемся на Data Mining, Big Data и искусственном интеллекте. Наш основной продукт помогает крупным изданиям прогнозировать и оптимизировать ход рекламных кампаний, освобождая головы их аккаунт-менеджеров от бесчисленных формул, а рабочие столы – от стопок Excel-таблиц. Но наша экспертиза онлайн-рекламой не ограничивается.

Например, пару лет назад мы создали систему, предсказывающую успех фильма или сериала еще на стадии планирования. Эта задача привычная – прогнозирование, да и кинематограф мы уважаем. В этот же раз мы хотим рассказать о проекте, который заставил нас окунуться в неизвестность. Один из партнеров предложил – а что, если создать карманного личного стилиста?

Небольшой экскурс в рынок цифровой моды

Подобрать наряд виртуально модники и модницы могут в основном по двум сценариям: “примерочная” и поиск по картинке.

Примерочные – выбор брендовых онлайн-магазинов. Для этого модель фотографируется во всем ассортименте магазина, а пользователь одевает ее по такому механизму:

1

Во втором случае сервисы с помощью визуального поиска собирают аутфит с фото или видео по всем доступным онлайн-магазинам. Примеры: Styleshop от Amazon, Pinterest Lens, Style Match от Asos и Screenshop. Отечественный рынок в стороне не остается: ребята из Sarafan Technology еще в 2017 запустили аналогичный сервис для Instagram, а Яндекс осенью 2019 открыли для широкой аудитории Sloy с AR-примочками.

Из нестандартного: hands-free камера Echo Look от Amazon выберет из двух твоих нарядов тот, что по каким-то только ей понятным критериям смотрится лучше.

Ни один из этих инструментов в общем-то стилиста не заменяет. Они создают образ в вакууме, не связанный ни с твоим имеющимся гардеробом, ни с твоей внешностью. Echo Look – исключение, но с тем же успехом можно кинуть фото другу, вкусу которого доверяешь. Источник вдохновения перед шоппингом? Вполне. Стилист? Едва ли.

В общем, в цифровом измерении моды не без пробелов. Их мы и решили восполнить приложением, которое подбирало бы образ из личных вещей с учетом заданного стиля, повода, погоды, настроения Славы Зайцева, положения Сатурна на небосводе и т.д. j А самое главное – оно бы принимало в расчет физические характеристики пользователя – фигуру, цветотип, типаж, возраст, создавая по-настоящему персонализированные образы. А еще бы видело, когда до безупречного лука чего-то не хватает, находило это что-то в онлайн-магазине и отрисовывало на виртуальной модели пользователя.

Макет
Макет

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

Proof of Concept

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

  1. запираешь стилиста и аналитика в одной комнате;
  2. ждешь;
  3. получаешь базу знаний и оцифровываешь ее;
  4. проверяешь, какие образы предлагает система;
  5. повторяешь, пока не получится хорошо.

Третий пункт распадается еще на два этапа. Сначала мы набором атрибутов описывали человека (возраст, типаж, тип фигуры и т.д.) и каждый элемент одежды (материал, цвет, фактура, форма, тип горловины, рукав и т.д.), а затем прописывали правила их сочетания. Данные обрабатывала нейросеть, построенная на правилах (rule-based neural network).

Знаниями и опытом с нами делилась Алиса Жигалина – профессиональный стилист из Москвы, соосновательница школы мод Izum. До того, как стать нашим экспертом, она успела посотрудничать и с “Модным приговором”, и с СТС, и с Novikov group, и с Carlo Pazolini.

Для проверки гипотезы мы ограничились самым-самым базовым женским весенне-летним гардеробом. Никаких аксессуаров и прочих изысков, только пять стилей и минимальный набор атрибутов. Для начала мы описали два тестовых гардероба по 800-1000 вещей каждый, а к ним – модель хранения знаний на пять с лишним тысяч правил.

Понятно, что никому в здравом уме (кроме нас) не сдался виртуальный стилист для выдуманного гардероба – он нужен, чтобы наводить порядок в шкафах пользователя. А для этого гардероб надо как-то оцифровать.

Глазами виртуального стилиста должна была стать камера телефона – сложно найти что-то более подходящее для визуального сервиса, чем фото. По крайней мере, так думали мы. Чтобы система сама распознавала одежду по фото, мы прикрутили к ней AI. Обучали ее на юбках и штанах всех сортов: джинсы, брюки, бойфренды – вот это вот все.

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

Пришла пора испытать систему в деле. Первым она породила вот такой авангардно-минималистичный look для вечернего стиля:

look для вечернего стиля
look для вечернего стиля

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

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

  1. Очень важно качество фотографии и расположение вещи в кадре;
  2. Многие атрибуты AI распознает очень хорошо, но отдельные параметры пользователю придется уточнять (например, фактуру ткани).

Пример работы системы
Пример работы системы

В перерывах между обсуждением новой коллекции Balenciaga и подбором классных вещичек для тестового гардероба, надо было еще успеть подумать над визуализацией. Сходу набралось с десяток вариантов – от простого коллажа до реалистичной 3D-модели с текстурами. Наш выбор пал на 2D-визуализацию. Одевать 3D-копию пользователя – дорого, муторно и “как-нибудь в следующей итерации”.

И даже с 2D горизонт работ был огромен. По нашим прикидкам, одних только распространенных вариаций вещей из базового гардероба набегало 10 тысяч <шутка про “нечего надеть”>. Поэтому вместо того, чтобы рисовать, например, десятки блузок по отдельности, мы комбинировали один корпус с разными рукавами, как конструктор. На блузках же и отрабатывали подход – нарисовали все вариации, наложили текстуры порядка двадцати материалов и примерили каждую на дефолтную модель.

Была мысль наложить на модель фото пользователя для пущей реалистичности. Но очень скоро стало ясно, что для этого оно должно идеально ложиться на шаблон. Не то чтобы мы сомневаемся в чьих-то навыках делать селфи, но риски сравниться в художественной выразительности с редактором персонажей The Elder Scrolls IV: Oblivion были налицо.

Тут любые тренды бессильны
Тут любые тренды бессильны

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

6

Светлана 
Петрянина
Автор — Светлана
Петрянина
Копирайтер
Вернуться к новостям

Посмотрите ещё