Ce référentiel contient la mise en œuvre officielle de LIIF introduite dans l'article suivant:
Apprendre une représentation d'image continue avec une fonction d'image implicite locale
Yinbo Chen, Sifei Liu, Xiaolong Wang
CVPR 2021 (oral)
La page du projet avec vidéo est sur https://yinboc.github.io/liif/.

Si vous trouvez notre travail utile dans vos recherches, veuillez citer:
@inproceedings{chen2021learning,
title={Learning continuous image representation with local implicit image function},
author={Chen, Yinbo and Liu, Sifei and Wang, Xiaolong},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={8628--8638},
year={2021}
}
| Modèle | Taille de fichier | Télécharger |
|---|---|---|
| Edsr-baseline-liif | 18m | Dropbox | Google Drive |
| Rdn-liif | 256m | Dropbox | Google Drive |
[MODEL_PATH] désigne le fichier .pth ) python demo.py --input xxx.png --model [MODEL_PATH] --resolution [HEIGHT],[WIDTH] --output output.png --gpu 0
mkdir load pour mettre les dossiers de l'ensemble de données.
Div2k : mkdir et cd dans load/div2k . Téléchargez les images HR et les images LR de validation bicubique du site Web Div2k (IE Train_HR, Valid_HR, VALID_LR_X2, VALID_LR_X3, VALID_LR_X4). unzip ces fichiers pour obtenir les dossiers d'image.
Ensembles de données de référence : cd en load/ . Téléchargez et tar -xf Les ensembles de données de référence (fournis par ce dépôt), obtenez un dossier load/benchmark avec des sous-lameurs Set5/, Set14/, B100/, Urban100/ .
Celebahq : mkdir load/celebAHQ et cp scripts/resize.py load/celebAHQ/ , puis cd load/celebAHQ/ . Téléchargez et unzip Data1024x1024.zip à partir du lien Google Drive (fourni par ce repo). Exécutez python resize.py et obtenez des dossiers d'image 256/, 128/, 64/, 32/ . Téléchargez le Split.json.
0. Préliminaires
Pour train_liif.py ou test.py , utilisez --gpu [GPU] pour spécifier les GPU (par exemple --gpu 0 ou --gpu 0,1 ).
Pour train_liif.py , par défaut, le dossier de sauvegarde est sur save/_[CONFIG_NAME] . Nous pouvons utiliser --name pour spécifier un nom si nécessaire.
Pour les args de jeu de données dans les configurations, cache: in_memory désigne la précharge dans la mémoire (peut nécessiter une grande mémoire, par exemple ~ 40 Go pour Div2k), cache: bin désigne la création de fichiers binaires (dans un dossier de frères et sœurs) pour la première fois, cache: none indique un chargement direct. Nous pouvons le modifier en fonction des ressources matérielles avant d'exécuter les scripts de formation.
1. Expériences Div2k
Train : python train_liif.py --config configs/train-div2k/train_edsr-baseline-liif.yaml (avec EDSR-Baseline Backbone, pour RDN Remplacez edsr-baseline par rdn ). Nous utilisons 1 GPU pour la formation EDSR-Baseline-LIIF et 4 GPU pour RDN-LIIF.
Test : bash scripts/test-div2k.sh [MODEL_PATH] [GPU] pour le jeu de validation DIV2K, bash scripts/test-benchmark.sh [MODEL_PATH] [GPU] pour les ensembles de données de référence. [MODEL_PATH] est le chemin d'accès à un fichier .pth , nous utilisons epoch-last.pth dans le dossier de sauvegarde correspondant.
2. Expériences de Celebahq
Train : python train_liif.py --config configs/train-celebAHQ/[CONFIG_NAME].yaml .
Test : python test.py --config configs/test/test-celebAHQ-32-256.yaml --model [MODEL_PATH] (ou test-celebAHQ-64-128.yaml pour une autre tâche). Nous utilisons epoch-best.pth dans le dossier de sauvegarde correspondant.