GFPGAN - генеративно-состязательная нейросеть для восстановления лиц

машинное обучение в обработке фото и видео
Ответить
Аватара пользователя
mihas
Администратор
Сообщения: 1365
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

GFPGAN - генеративно-состязательная нейросеть для восстановления лиц

Сообщение mihas »

Нейросеть GFPGAN создана на основе уже упомянутого в отдельной теме алгоритма Real-ESRGAN, но максимальное внимание уделяет лицам, а не изображению в целом. На июль 2023 года у нейросети уже 7 скомпилированных релизов, но давайте ради интереса позапускаем модель на питоне.

Нам понадобится помимо самого проекта GFPGAN скачать претренированные модели к нему, где и чего упомянуто и на главной странице проекта на Гитхабе, и в ридми в папке программы C:\GFPGAN-master\experiments\pretrained_models - в нее-то мы модели и положим. Я пробовал версию 1.0 и версию 1.4 основной модели, результаты разные, ниже сравните визуально. У меня после скачивания всех необходимых моделей содержимое папки pretrained_models выглядело так:

arcface_resnet18.pth
FFHQ_eye_mouth_landmarks_512.pth
GFPGANCleanv1-NoCE-C2.pth
GFPGANv1.4.pth
GFPGANv1.pth
README.md
StyleGAN2_512_Cmul1_FFHQ_B12G4_scratch_800k.pth


Я советую для беспроблемного запуска сложных приложений на питоне установить себе какую-нибудь реализацию conda, собирающего вместе все библиотеки. Я пользуюсь Anaconda Prompt (anaconda3) и горя не знаю. Скачайте Анаконду один раз, установите, и можете смело браться за любой проект на питоне.

По пути C:\GFPGAN-master\inputs\whole_imgs сложим изображения, которые мы хотим восстановить.

Запустим Anaconda Prompt и выполним последовательно одну за одной ряд команд:

cd C:\GFPGAN-master
pip install basicsr
pip install facexlib
python setup.py develop
pip install realesrgan


Теперь нейросеть готова к работе. Запускаем ее, например так:

python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.4 -s 4

Я пробовал с ключом -v 1.4 и без него версию 1.0.

Немного ждем и получаем результат обработки в каталоге по пути C:\GFPGAN-master\results\restored_imgs

Вот что у меня было в исходнике, и что получилось. Здесь по ссылке оригинальное изображение для экспериментов. Я уменьшил его до 25%, чтобы потерять детали, и восстановил нейросетью детали при 4-кратном увеличении в исходный размер. Вот как это выглядит в GFPGAN, хорошая работа в версии модели 1.4 на нижней картинке!
Оригинальное уменьшенное до 25% изображение с плохой детализацией для эксперимента по восстановлению лица
Оригинальное уменьшенное до 25% изображение с плохой детализацией для эксперимента по восстановлению лица
• 171.23 КБ • 1171 просмотр
восстановление с 4-кратным увеличением от GFPGAN модели версии 1.0
восстановление с 4-кратным увеличением от GFPGAN модели версии 1.0
• 276.98 КБ • 1171 просмотр
восстановление с 4-кратным увеличением от GFPGAN модели версии 1.4
восстановление с 4-кратным увеличением от GFPGAN модели версии 1.4
• 245.03 КБ • 1171 просмотр
Важно, что проект позволяет и самому тренировать модель для достижения эксклюзивных результатов. Это потребует времени, но возможно результат будет стоить того. Если у меня будет возможность и необходимость потренировать модель и оценить результат - я им поделюсь.
Ответить

Вернуться в «Нейросети»