Как неудачное приложение из конкурса 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
Комментарий недоступен
круто то что ты на Гарри Поттера похож
Неплохо…
Вот и апдейт подъехал… чёт правда этот мульти стиль иногда выглядит оч крипово ))
Выглядит интересно!
Делитесь результатами)
Очень круто! А кошки криповые 🙈😀