реклама
Бургер менюБургер меню

Роман Сюжетов – ИИ для создания виртуальных примерочных в интернет магазинах (страница 3)

18

Мы уже разобрались, что такое виртуальная примерочная, откуда она взялась и на какой магии (читай: технологиях) работает. Но давай теперь честно: примерять пальто и солнцезащитные очки – это две большие разницы, как говорят в Одессе. Согласись, одно дело – нацепить на себя виртуальный пиджак и покрутиться перед камерой, и совсем другое – примерить кольцо, чтобы понять, не слишком ли массивно оно смотрится на твоем пальце. А обувь? Тут вообще отдельная песня.

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

Виртуальная примерочная для одежды: бал правит посадка

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

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

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

Виртуальная примерочная для аксессуаров: место имеет значение

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

Основная фишка примерки аксессуаров – это точное позиционирование. Вспомни, как ты когда-то выбирал солнцезащитные очки в интернет-магазине. Ты наводишь камеру на лицо, и очки волшебным образом появляются на твоей переносице. Но если технология сработает плохо, они будут висеть где-то на лбу или съедут набок, как у пьяного пирата.

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

Виртуальная примерочная для обуви: и снова физика, но для ног

А вот обувь – это интересный гибрид. С одной стороны, это предмет, который должен быть надет на ногу, как и одежда. С другой – он часто не облегает ногу полностью, как, скажем, носок, а скорее «паркуется» на ней.

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

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

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

Вот так, оказывается, даже внутри мира виртуальных примерочных есть своя специализация. И понимание этих нюансов критически важно, если ты вдруг решишь создать свою. Одно дело – запустить стартап по примерке сережек, и совсем другое – построить систему для примерки вечерних платьев. Чувствуешь разницу в уровне сложности?

А теперь оглянись вокруг. Подумай, какие вещи ты чаще всего покупаешь онлайн, и примерку каких хотел бы видеть в первую очередь? Может быть, тебе всегда было сложно выбрать рюкзак, чтобы он не выглядел горбом на спине? Или ты мечтаешь о приложении, которое поможет подобрать идеально сидящий пиджак, чтобы не мучиться с возвратами? Задержись на этом вопросе на минуту. Ответ на него – это и есть твоя первая подсказка, если ты захочешь не просто читать, а создавать.

Часть 2. Искусственный интеллект как двигатель примерочных

Как нейросети создают реалистичную посадку вещей

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

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

От пикселя к складке: как нейросеть понимает форму

Нейросеть, которую обучают для виртуальной примерки, в начале своего пути похожа на младенца. Ей показывают миллионы картинок: людей в одежде, просто одежду на вешалке, и пустые фоны. Сначала она учится различать простые вещи: вот это рука, это торс, это воротник. Но главный секрет кроется в другом. Разработчики создают для нейросети специальные «пары» изображений: на одном человек стоит в обтягивающей майке, четко обозначающей контуры его тела, а на другом – он же, но в свободной рубашке. Сопоставляя эти два изображения, нейросеть начинает понимать взаимосвязь между формой тела и тем, как на нем лежит ткань.

Этот процесс называется обучением с учителем. Нейросеть постоянно делает ошибки, а программисты ее поправляют: «Нет, здесь на спине не может быть такой глубокой складки, потому что ткань хлопковая и плотная», или «Смотри, подол юбки должен колыхаться, а не висеть колом». Со временем сеть нарабатывает так называемую «физическую интуицию». Она уже не просто перерисовывает пиксели, а симулирует поведение материала. Когда пользователь поворачивается перед камерой, нейросеть в реальном времени просчитывает, как должна сместиться тень от складки на рукаве или как воротник отреагирует на наклон головы.

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

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

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

Как же нейросеть узнает, что конкретное платье должно сидеть свободно, а конкретная водолазка – облегать фигуру? Всё дело в том, что на этапе создания цифрового двойника вещи (о чем мы еще поговорим подробнее в части про 3D-моделирование) в неё закладываются определенные параметры. Нейросеть получает не просто трехмерную модель платья, а информацию о его физических свойствах: жесткость, вес, способность драпироваться.

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