Чат-бот-визажист. Сможет ли нейросеть менять лицо или наносить макияж? Какие проблемы могут возникнуть при создании бота с нейросетью, и как с ними справиться?

Недавно мы сделали бота-нейровизажиста для бренда косметики, который позиционирует себя как футуристичный.

Для запуска новой коллекции им хотелось сделать что-то необычное. Выделиться среди конкурентов, и при этом спецпроект должен был отражать идею бренда, давать пользователю возможность “пощупать” продукт с экрана телефона.

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

После брифа решили, что будем делать бота на основе нейронки. Нам нужно настроить ИИ-модель так, чтобы девушка отправляла свое фото, а нейросеть “наносила” на лицо макияж из новой линейки косметики.

Мы подобные проекты с фейссвапом делали, поэтому сразу согласились. Для размещения модельки, естественно, выбрали Replicate.

Replicate как платформа для подобных проектов - настоящее спасение. Мы получаем сервер с видеокартой и открытым API, не поднимая своих собственных серверов. Это сильно упрощает жизнь и снижает стоимость таких проектов.

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

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

Для тестов промта, взяли фото случайной девочки из интернета.

(прости, если ты это видишь)
(прости, если ты это видишь)

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

По сути, это был первый тест, а сможет ли нейронка в оттенки и тому подобное? Может, но очень туго.

Посовещались с знакомыми, которые шарят в этой теме и поняли следующее:

  • MJ делает неплохо, но не даст нам доступ к их API
  • Делать новую модельку - дорого, а также займет много времени
  • Можно поискать другие сервисы и нейронки, но как итог, там все еще хуже оказалось.

Ну, тут уже ничего не поделаешь, решили остаться на нашей модельке и шаманить с промтом.

Через несколько часов мы добились таких результатов:

Довольные, скидываем заказчику. Иии… нет

Фото получаются слишком милые и нежные, что не соответствует футуристичной идее бренда

Учли все нюансы и возвращаемся к работе.

Вообще, нейросеть (если ее этому не учить) не понимает, что такое филлер, консиллер и т.п. Поэтому, мы начали чуть ли не на пальцах показывать куда, что и как наносить.

Допустим, “rosy cheeks”, для нейросети звучит не как “розовые щеки”, а как призыв к действию. Рисует розы в руке, розы на заднем фоне, но не оттенок на щеках. Добавьте сюда “peachy shine” и получите еще несколько персиков в разных уголках фото.

И все бы ничего, мы бы с радостью писали простые цвета, по типу “pink cheeks”, “red lips” и т.д., но заказчику то нужны конкретные оттенки, в конкретных местах и с конкретной текстурой.

Еще сутки перебора разных вариантов и мы получаем такой результат:

Произвели некоторые доработки. Скидываем. Победа.

Заказчику нравится, нам тоже, а значит можно проверить, как все будет работать на сервере.

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

Но и тут всплыло несколько неожиданных моментов.

Во-первых, цена на генерацию на репликейте выросла. Совсем чуть-чуть, всего в 2,5 раза (+микроинсульт).

Во-вторых, чтобы держать серверы “разогретыми”, надо один из них поддерживать постоянно включенным, как если бы у нас все время кто-то генерил фотку. По итогу, это ежедневный расход в 6300 р/сутки. Проект длился чуть больше месяца. Если посчитать, то это не совсем то, на что мы рассчитывали.

В-третьих, перед генерацией, модельке надо бутаться (совершать загрузку модели на сервер). Бут занимает 2-3 минуты, а соответственно и за это время мы платим. То есть, картинка генерируется 30 секунд, а бут накидывает кеша еще за 2-3 минуты. соответственно стоимость одной генерации возрастает еще в 4-6 раз.

Ноооо, все обошлось. Чуть-чуть увеличили ориентировочное время генерации и попросили пользователей потерпеть.

Поэтому, мы остались в рамках бюджета, все обошлось.

Конечно, с нейронкой можно было поиграться и просто так, но также была возможность поучаствовать в конкурсе.

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

Каждую неделю рандомно выбирали победителя, а тот получал приятный подарок от бренда.

Помимо генераций, в боте мы рассказывали про каждый элемент коллекции бренда, а также давали поговорить с тем самым нейровизажистом.

Небольшой пример диалога с нейровизажистом
Небольшой пример диалога с нейровизажистом

Ну и для тех, кому интересно посмотреть на цифры, вот:

  • 6441 людей запустило бота
  • 8716 изображений было сгенерировано
  • Среднее количество генераций: 1.35
  • Сколько раз прошли опрос: 1835
  • Сколько людей не прошли опрос: 4813

Хотите сделать интересный и запоминающийся спецпроект? Просто напишите нам, и вы останетесь довольны. 😉

Шаталов Богдан, CEO Shataloff DIS. Разработка цифровых имиджевых решений.

Email: ShataloffDIS@gmail.com

Наш сайт:

Мой ТГ:

Начать дискуссию