Viele historische Menschen wurden immer nur von alten, verblassten, schwarzen und weißen Fotos gefangen genommen, die aufgrund der Grenzen der frühen Kameras und des Zeitverlaufs verzerrt sind. Dieses Papier simuliert das Reisen in die Zeit mit einer modernen Kamera, um berühmte Themen neu zu stützen. Im Gegensatz zu herkömmlichen Bildrestaurationsfiltern, die unabhängige Operationen wie Denoising, Colorization und Überlöschung anwenden, nutzen wir das Stylegan2-Framework, um alte Fotos in den Raum moderner hochauflösender Fotos zu projizieren und alle diese Effekte in einem einheitlichen Rahmen zu erzielen. Eine einzigartige Herausforderung bei diesem Ansatz besteht darin, die Identität und Pose des Themas auf dem Originalfoto beizubehalten und die vielen Artefakte zu verwerfen, die häufig auf antiken Fotos von geringer Qualität zu sehen sind. Unsere Vergleiche mit aktuellen Stand der Technik-Restaurierungsfiltern zeigen erhebliche Verbesserungen und überzeugende Ergebnisse für eine Vielzahl wichtiger historischer Menschen.
Zeitreise-Rephotographie
Xuan Luo, Xuaner Zhang, Paul Yoo, Ricardo Martin-Brualla, Jason Lawrence und Steven M. Seitz
In Siggraph Asia 2021.
Wir bieten eine leicht zu startete Demo mit Google Colab! Mit dem Colab können Sie unsere Methode auf dem Beispiel Abraham Lincoln Photo oder Ihren eigenen Fotos mit Cloud -GPUs auf Google Colab ausprobieren.
Oder Sie können unsere Methode auf Ihrer eigenen Maschine nach den folgenden Anweisungen ausführen.
Pakete von Drittanbietern ziehen.
git submodule update --init --recursive
Installieren Sie Python -Pakete.
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
Führen Sie unsere Methode auf dem Beispielfoto von Abraham Lincoln aus.
Modelle herunterladen:
./scripts/download_checkpoints.sh
Laufen:
./scripts/run.sh b "dataset/Abraham Lincoln_01.png" 0.75
Sie können den Optimierungsprozess nach überprüfen
tensorboard --logdir "log/Abraham Lincoln_01"
Sie finden Ihre Ergebnisse wie unten.
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
Ernte und richten Sie die Kopfregionen Ihrer Bilder aus:
python -m tools.data.align_images <input_raw_image_dir> <aligned_image_dir>
Laufen:
./scripts/run.sh <spectral_sensitivity> <input_image_path> <blur_radius>
Die spectral_sensitivity
kann b
(blauempfindlich), gb
(orthochromatisch) oder g
(panchromatisch) sein. Sie können die spectral_sensitivity
Ihres Fotos wie folgt grob schätzen. Verwenden Sie das blau-sensitive Modell für Fotos vor 1873 und wählen Sie manuell zwischen blauempfindlichen und orthochromatischen für Bilder von 1873 bis 1906 und zwischen allen danach aufgenommenen Fotos.
Der blur_radius
ist der geschätzte Gaußsche Unschärferadius in Pixeln, wenn der Eingangsfotot auf 1024 x 1024 geändert wird.
Weg | Größe | Beschreibung |
---|---|---|
Historisches Wiki -Gesichtsdatensatz.zip | 148 MB | Bilder |
spectral_sensitivity.json | 6 kb | Spektralempfindlichkeit ( b , gb oder g ). |
Blur_radius.json | 6 kb | Unschärferadius in Pixeln |
Die json
S sind Wörterbuch, die Eingangsnamen für die entsprechende spektrale Empfindlichkeit oder Unschärfradius abbilden. Aufgrund von Urheberrechtsbeschränkungen enthält das historische Wiki -Gesichtsdatensatz Historical Wiki Face Dataset.zip
Sie können es separat herunterladen und wie oben kämpfen.
Wenn Sie unseren Code nützlich finden, erwägen Sie bitte unsere Arbeit zitieren:
@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} }
Diese Arbeit ist unter MIT -Lizenz lizenziert. Weitere Informationen finden Sie in Lizenz.
Codes für das Stylegan2-Modell stammen von https://github.com/rosinality/stylegan2-pytorch.
Wir danken Nick Brandreth für die Aufnahme der Trockenplattenfotos. Wir danken Bo Zhang, Qingnan-Fan, Roy Or-El, Aleksander Holynski und Keunhong Park für aufschlussreiche Ratschläge. Wir danken Xiaojie Feng für seine Beiträge zur Colab -Demo.