Skip to content

TelegramBot to convert faces into anime style on CycleGan

License

Notifications You must be signed in to change notification settings

serttyzar/AnimeFaceStyle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnimeFaceStyle

AnimeFaceStyle — это Telegram-бот @AnimeStyleFace_bot (Развернут в Render), который преобразует фотографии лиц в аниме-стиль с использованием нейросетевой модели CycleGAN.

О проекте

Бот использует модель CycleGAN для переноса стиля изображений.
CycleGAN — это разновидность генеративно-состязательных сетей (GAN), которая способна преобразовывать изображения между двумя различными доменами без необходимости в парных данных.
В данном случае происходит преобразование человеческих лиц в аниме-стиль. Модель обучена с нуля на малых мощностях, что делает возможности довольно сильно ограниченными. Тесты модели представлены в папке examples. Для удовлетворительной работы требуется загружать изображения похожие по формату и отношению на тестовые. Есть несколько ощутимых дефектов:

  • Плохо обрабатываются чернокожие люди(в аниме персонажи такого типа редкость, соответсвенно модель не обучилась их правильно представлять).
  • В датасете преобладают женские персонажи, соответсвенно мужские лица часто делают более женственными с удлиненными волосами.
  • Глаза в аниме и реальной жизни абсолютно разные, в аниме они всегда большие и овальные/круглые, что крайне сильно мешает модели выучить праивльный перенос глаз, из за чего часто глаза получаются чуть разного цвета или размера. Доп фича - асинхронность тг бота

Датасеты

Для обучения модели использовались следующие датасеты:

  • Anime Faces Dataset — содержит изображения аниме-лиц, используемых для стилизации.
  • CelebA Dataset — включает фотографии реальных лиц, использованных для обучения модели преобразования.

Установка и запуск

1. Клонирование репозитория

git clone https://github.com/serttyzar/AnimeFaceStyle.git
cd AnimeFaceStyle

2. Установка зависимостей

Убедитесь, что у вас установлен Python 3.7+, и выполните установку зависимостей:

pip install -r requirements.txt

3. Настройка переменных окружения

Создайте файл .env в корневой директории проекта и добавьте в него ваш токен Telegram-бота:

TELEGRAM_TOKEN=ваш_токен

4. Запуск бота

После установки зависимостей запустите Telegram-бота:

python3 utils/tg_bot.py

Архитектура проекта

Основные компоненты

  • Модель CycleGAN
    Используется для преобразования изображений между доменами (реальные лица → аниме-стиль).

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

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

Основные файлы

  • tg_bot.py — основной файл с логикой Telegram-бота.
  • model.py — код, загружающий и применяющий предобученную модель CycleGAN.
  • requirements.txt — список зависимостей.
  • .env — файл с конфигурацией (необходимо создать самостоятельно).

Использование

  1. Добавьте бота в Telegram
    Перейдите по ссылке @AnimeStyleFace_bot и начните с ним диалог.

  2. Отправьте изображение
    Бот автоматически обработает фотографию и вернет результат в аниме-стиле.

Лицензия

Проект распространяется под лицензией Apache 2.0.
Подробности смотрите в файле LICENSE.


Разработано в рамках Deep Learning School.

About

TelegramBot to convert faces into anime style on CycleGan

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published