PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models
Код, сопровождающий статью CVPR'20 с тем же названием. Ссылка на статью: https://arxiv.org/pdf/2003.03808.pdf
Мы заметили, что многие обеспокоены тем, что PULSE будет использоваться для идентификации лиц, чьи лица были размыты. Мы хотим подчеркнуть, что это невозможно — PULSE создаёт воображаемые лица несуществующих людей, которых не следует путать с реальными людьми. Это не поможет идентифицировать или восстановить исходное изображение.
Мы также хотим решить проблему предвзятости в PULSE. Теперь мы включили новый раздел в статью и сопроводительную карточку модели, непосредственно затрагивающую эту предвзятость.
Учитывая низкокачественное входное изображение, PULSE ищет выходные данные генеративной модели (здесь, StyleGAN), чтобы найти изображения с высоким разрешением, которые являются реалистичными и правильно уменьшаются.
Основной файл, представляющий интерес для применения PULSE, — run.py. Полный список аргументов с описаниями можно найти в этом файле; здесь мы описываем те, которые имеют отношение к началу работы.
Сначала вам нужно установить cmake (требуется для dlib, который используется для выравнивания лица). В настоящее время код работает только с установленной CUDA (и поэтому требует соответствующего GPU) и был протестирован на Linux и Windows. Для полного набора необходимых пакетов Python создайте среду Conda из предоставленного YAML, например:
conda create -f pulse.yml
или (Anaconda на Windows):
conda env create -n pulse -f pulse.yml
conda activate pulse
В некоторых средах (например, в Windows) вам может потребоваться отредактировать pulse.yml, чтобы удалить хэш, специфичный для версии, для каждой зависимости и удалить любую зависимость, которая по-прежнему выдаёт ошибку после запуска conda env create...
(например, readline)
dependencies
- blas=1.0=mkl
...
на
dependencies
- blas=1.0
...
Наконец, вам потребуется подключение к Интернету при первом запуске кода, так как он автоматически загрузит соответствующую предварительно обученную модель из Google Drive (если она уже была загружена, он будет использовать локальную копию). Если общедоступный Google Диск переполнен, вместо этого добавьте файлы в свой собственный Google Диск; получите URL общего доступа и замените ID в ссылках https://drive.google.com/uc?=ID в align_face.py
и PULSE.py
новыми идентификаторами файлов из URL общего доступа, предоставленными вашим собственным файлом диска.
По умолчанию входные данные для run.py
должны быть помещены в ./input/
(хотя это можно изменить). Однако это предполагает, что лица уже выровнены и уменьшены. Если у вас есть данные, которые ещё не находятся в этой форме, поместите их в realpics
и запустите align_face.py
, который автоматически сделает это за вас. (Опять же, все каталоги можно изменить аргументами командной строки, если это более удобно.) На этом этапе вы выберете коэффициент уменьшения.
Обратите внимание, что если ваши данные начинаются с низкого разрешения, дальнейшее уменьшение сохранит очень мало информации. В этом случае вы можете захотеть бикубически увеличить (обычно до 1024x1024) и позволить align_face.py
уменьшить масштаб за вас.
После того как ваши данные будут соответствующим образом отформатированы, всё, что вам нужно сделать, это
python run.py
Наслаждайтесь!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )