Многие исторические люди были захвачены только старыми, выцветшими, черно -белыми фотографиями, которые искажены из -за ограничений ранних камер и срока времени. Эта статья имитирует путешествие в прошлое с современной камерой, чтобы рефотографировать известные предметы. В отличие от традиционных фильтров восстановления изображений, которые применяют независимые операции, такие как денирование, раскраска и суперрезолирование, мы используем структуру Stylegan2 для проецирования старых фотографий в пространство современных фотографий с высоким разрешением, достигая всех этих эффектов в единой структуре. Уникальной проблемой с этим подходом является сохранение идентичности и позы предмета на оригинальной фотографии, в то же время отбрасывая множество артефактов, часто встречающихся на антикварных фотографиях низкого качества. Наши сравнения с текущими современными фильтрами восстановления показывают значительные улучшения и убедительные результаты для различных важных исторических людей.
Рефотография во времени
Сюань Луо, Сюанер Чжан, Пол Ю, Рикардо Мартин-Бруаллу, Джейсон Лоуренс и Стивен М. Сейц
В Siggraph Asia 2021.
Мы предоставляем простую для начала демонстрации, используя Google Colab! Колаб позволит вам попробовать наш метод на примере фото Авраама Линкольна или на ваших собственных фотографиях с использованием облачных графических процессоров в Google Colab.
Или вы можете запустить наш метод на своей собственной машине, следуя приведенным ниже инструкциям.
Вытащите сторонние пакеты.
git submodule update --init --recursive
Установите пакеты Python.
conda create --name rephotography python=3.8.5 conda activate rephotography conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch pip install -r requirements.txt
Запустите наш метод на примере фото Авраама Линкольна.
Скачать модели:
./scripts/download_checkpoints.sh
Бегать:
./scripts/run.sh b "dataset/Abraham Lincoln_01.png" 0.75
Вы можете проверить процесс оптимизации
tensorboard --logdir "log/Abraham Lincoln_01"
Вы можете найти свои результаты, как ниже.
results/ Abraham Lincoln_01/ # intermediate outputs for histogram matching and face parsing Abraham Lincoln_01_b.png # the input after matching the histogram of the sibling image Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-init.png # the sibling image Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-init.pt # the sibing latent codes and initialized noise maps Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750).png # the output result Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750).pt # the final optimized latent codes and noise maps Abraham Lincoln_01-b-G0.75-init(10,18)-s256-vgg1-vggface0.3-eye0.1-color1.0e+10-cx0.1(relu3_4,relu2_2,relu1_2)-NR5.0e+04-lr0.1_0.01-c32-wp(250,750)-rand.png # the result with the final latent codes but random noise maps
Позвоните и выровняйте регионы головы ваших изображений:
python -m tools.data.align_images <input_raw_image_dir> <aligned_image_dir>
Бегать:
./scripts/run.sh <spectral_sensitivity> <input_image_path> <blur_radius>
spectral_sensitivity
может быть b
(чувствительный к синим цветам), gb
(ортохроматический) или g
(панхроматический). Вы можете приблизительно оценить spectral_sensitivity
фотографию следующим образом. Используйте чувствительную синюю модель для фотографий до 1873 года, вручную выберите между чувствительными к синим и ортохромным для изображений с 1873 по 1906 год и среди всех моделей для фотографий, сделанных впоследствии.
blur_radius
- это расчетный радиус размытия гауссов в пикселях, если входное фото изменяется до 1024x1024.
Путь | Размер | Описание |
---|---|---|
Исторический набор данных вики. | 148 МБ | Изображения |
spectral_sensitivity.json | 6 кб | Спектральная чувствительность ( b , gb или g ). |
blur_radius.json | 6 кб | Радиус размытия в пикселях |
json
S - это Dictionares, которые отображают входные имена в соответствующую спектральную чувствительность или радиус размытия. Из -за ограничений авторского права, исторический Historical Wiki Face Dataset.zip
. Вы можете скачать его отдельно и обрезать его, как указано выше.
Если вы найдете наш код полезным, пожалуйста, рассмотрите возможность ссылаться на нашу статью:
@article{Luo-Rephotography-2021, author = {Luo, Xuan and Zhang, Xuaner and Yoo, Paul and Martin-Brualla, Ricardo and Lawrence, Jason and Seitz, Steven M.}, title = {Time-Travel Rephotography}, journal = {ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2021)}, publisher = {ACM New York, NY, USA}, volume = {40}, number = {6}, articleno = {213}, doi = {https://doi.org/10.1145/3478513.3480485}, year = {2021}, month = {12} }
Эта работа лицензирована по лицензии MIT. Смотрите лицензию для деталей.
Коды для модели Stylegan2 поступают от https://github.com/rosinality/stylegan2-pytorch.
Мы благодарим Ника Брандрета за съемку фотографий сухой тарелки. Мы благодарим Бо Чжана, Фаннана Фаннана, Роя Ор-Эла, Александра Холлински и парка Кеунхон за проницательный совет. Мы благодарим Сяоджи Фенга за его вклад в демонстрацию Colab.