{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

face2sticker - бот, который превратит ваше фото в комикс-стикер. С текстом!

Как неудачное приложение из конкурса telegram обрело вторую жизнь. В telegram.

Идея

Этим летом telegram устроил конкурс по разработке мобильного приложения для создания стикеров.

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

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

¯\_(ツ)_/¯

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

face2sticker

В итоге получился telegram бот с одной функцией. Запустил я его еще летом, то есть до того, как это стало мейнстримом 😈

Работает просто:

- отправляете фото и текст @face2stickerbot
- получаете сами стикеры и их .png версии
- отправляете друзьям

Стикеры также можно добавить в стикерпак с помощью официального бота @stickers

.png файлы можно использовать как угодно, хоть в том же instagram - прозрачность там отлично работает.
Правда, это на самом деле не png, а webp, так как телеграм не дает отправить webp файлом :(

Детали

Расскажу немного о реализации.

Сам бот написан на TypeScript/telegraf.js, алгоритм обработки фото - на питоне.
Пример бота в связке с питоном. Ему уже пара лет, но если будет интерес, могу попробовать причесать код текущего бота и тоже выложить на гитхаб.

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

u2net создает маску для отделения ключевых объектов от фона,

RetinaFace обнаруживает лица и их ключевые точки.

Лицо вырезается, улучшается с помощью GPEN, стилизуется unet и вклеивается на фон, который также предварительно улучшается и стилизуется.

Вместе с этим изображения немного блюрятся и шарпятся для большего комикс-эффекта.

По координатам лица определяем, в какой части фото оно находится, и, исходя из этого, рисуем баббл с текстом. Вуаля!

Что дальше

Уже было небольшое обновление, в котором была добавлена минималистичная обработка - улучшение и обводка контуров лица, без комикс-стиля.
Алгоритм постоянно совершенствуется и облегчается, чтобы в будущем запилить поддержку анимированных стикеров.

Также в планах добавить и стикер-менеджмент, чтобы можно было создавать стикерпаки не отходя о кассы.

Если у вас есть какие-то пожелания - не забудьте отписать в комментах.

На этом все, спасибо за ваше время и крутых вам стикеров!
Как говорится, го тыкать, я создал -> @face2stickerbot

0
78 комментариев
Написать комментарий...
Huntt Ext

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

Ответить
Развернуть ветку
Александр Спирин
Автор

Согласен! Отсутствие вотермарки - скорее приятный бонус поддержавшим мой канал и бота.

Ответить
Развернуть ветку
Huntt Ext

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

Ответить
Развернуть ветку
Александр Спирин
Автор

Я планировал сделать побольше лимиты + подобные фичи для всех своих ботов по одной подписке

Ответить
Развернуть ветку
Александр Спирин
Автор

Пока добавил промо за 99р/мес. В течение месяца думаю подвезти новых плюшек, дабы смотивировать на продление)

Ответить
Развернуть ветку
75 комментариев
Раскрывать всегда