Este repositorio contiene la implementación oficial para LIIF introducida en el siguiente documento:
Aprender la representación de la imagen continua con la función de imagen implícita local
Yinbo Chen, Sifei Liu, Xiaolong Wang
CVPR 2021 (oral)
La página del proyecto con video está en https://yinboc.github.io/liif/.

Si encuentra útil nuestro trabajo en su investigación, cite:
@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}
}
| Modelo | Tamaño de archivo | Descargar |
|---|---|---|
| Edsr-Baseline-Liif | 18m | Dropbox | Google Drive |
| Rdn-liif | 256m | Dropbox | Google Drive |
[MODEL_PATH] denota el archivo .pth ) python demo.py --input xxx.png --model [MODEL_PATH] --resolution [HEIGHT],[WIDTH] --output output.png --gpu 0
mkdir load para colocar las carpetas del conjunto de datos.
Div2k : mkdir y cd en load/div2k . Descargue imágenes de recursos humanos y imágenes LR de validación bicúbica desde el sitio web de Div2k (es decir, Train_HR, Valid_HR, Valid_LR_X2, Valid_LR_X3, Valid_LR_X4). unzip estos archivos para obtener las carpetas de imagen.
conjuntos de datos de referencia : cd en load/ . Descargue y tar -xf los conjuntos de datos de referencia (proporcionados por este repositorio), obtenga una carpeta load/benchmark con Subholders Set5/, Set14/, B100/, Urban100/ .
CelebAHQ : mkdir load/celebAHQ y cp scripts/resize.py load/celebAHQ/ , luego cd load/celebAHQ/ . Descargar y unzip datos1024x1024.zip desde el enlace de unidad de Google (proporcionado por este repositorio). Ejecute python resize.py y obtenga carpetas de imagen 256/, 128/, 64/, 32/ . Descargue el split.json.
0. Preliminares
Para train_liif.py o test.py , use --gpu [GPU] para especificar las GPU (EG --gpu 0 o --gpu 0,1 ).
Para train_liif.py , de forma predeterminada, la carpeta Guardar está en save/_[CONFIG_NAME] . Podemos usar --name para especificar un nombre si es necesario.
Para el conjunto de datos Args en Configs, cache: in_memory denota pre-carga en la memoria (puede requerir memoria grande, por ejemplo, 40GB para DIV2K), cache: bin denota la creación de archivos binarios (en una carpeta de hermanos) por primera vez, cache: none denota la carga directa. Podemos modificarlo de acuerdo con los recursos de hardware antes de ejecutar los scripts de capacitación.
1. Div2k experimentos
Train : python train_liif.py --config configs/train-div2k/train_edsr-baseline-liif.yaml (con Backbone edsr-Baseline, para RDN reemplazar edsr-baseline con rdn ). Usamos 1 GPU para capacitar a EDSR-Baseline-Liif y 4 GPU para RDN-LIIF.
Prueba : bash scripts/test-div2k.sh [MODEL_PATH] [GPU] para un conjunto de validación Div2k, bash scripts/test-benchmark.sh [MODEL_PATH] [GPU] para conjuntos de datos de referencia. [MODEL_PATH] es la ruta a un archivo .pth , usamos epoch-last.pth en la carpeta de guardado correspondiente.
2. Celebahq Experiments
Train : python train_liif.py --config configs/train-celebAHQ/[CONFIG_NAME].yaml .
Prueba : python test.py --config configs/test/test-celebAHQ-32-256.yaml --model [MODEL_PATH] (o test-celebAHQ-64-128.yaml para otra tarea). Usamos epoch-best.pth en la carpeta de guardado correspondiente.