AnimeFaceStyle — это Telegram-бот @AnimeStyleFace_bot (Развернут в Render), который преобразует фотографии лиц в аниме-стиль с использованием нейросетевой модели CycleGAN.
Бот использует модель CycleGAN для переноса стиля изображений.
CycleGAN — это разновидность генеративно-состязательных сетей (GAN), которая способна преобразовывать изображения между двумя различными доменами без необходимости в парных данных.
В данном случае происходит преобразование человеческих лиц в аниме-стиль. Модель обучена с нуля на малых мощностях, что делает возможности довольно сильно ограниченными.
Тесты модели представлены в папке examples. Для удовлетворительной работы требуется загружать изображения похожие по формату и отношению на тестовые. Есть несколько ощутимых дефектов:
- Плохо обрабатываются чернокожие люди(в аниме персонажи такого типа редкость, соответсвенно модель не обучилась их правильно представлять).
- В датасете преобладают женские персонажи, соответсвенно мужские лица часто делают более женственными с удлиненными волосами.
- Глаза в аниме и реальной жизни абсолютно разные, в аниме они всегда большие и овальные/круглые, что крайне сильно мешает модели выучить праивльный перенос глаз, из за чего часто глаза получаются чуть разного цвета или размера. Доп фича - асинхронность тг бота
Для обучения модели использовались следующие датасеты:
- Anime Faces Dataset — содержит изображения аниме-лиц, используемых для стилизации.
- CelebA Dataset — включает фотографии реальных лиц, использованных для обучения модели преобразования.
git clone https://github.com/serttyzar/AnimeFaceStyle.git
cd AnimeFaceStyle
Убедитесь, что у вас установлен Python 3.7+, и выполните установку зависимостей:
pip install -r requirements.txt
Создайте файл .env
в корневой директории проекта и добавьте в него ваш токен Telegram-бота:
TELEGRAM_TOKEN=ваш_токен
После установки зависимостей запустите Telegram-бота:
python3 utils/tg_bot.py
-
Модель CycleGAN
Используется для преобразования изображений между доменами (реальные лица → аниме-стиль). -
Telegram-бот
Принимает изображения от пользователей, обрабатывает их и отправляет обратно в виде стилизованных картинок. -
Обработчик изображений
Загружает входные изображения, подготавливает их для обработки моделью и сохраняет результат.
tg_bot.py
— основной файл с логикой Telegram-бота.model.py
— код, загружающий и применяющий предобученную модель CycleGAN.requirements.txt
— список зависимостей..env
— файл с конфигурацией (необходимо создать самостоятельно).
-
Добавьте бота в Telegram
Перейдите по ссылке @AnimeStyleFace_bot и начните с ним диалог. -
Отправьте изображение
Бот автоматически обработает фотографию и вернет результат в аниме-стиле.
Проект распространяется под лицензией Apache 2.0.
Подробности смотрите в файле LICENSE.
Разработано в рамках Deep Learning School.