← 开源
EndlessSora

focal-frequency-loss

[ICCV 2021] Focal Frequency Loss for Image Reconstruction and Synthesis

Model DevelopmentArchitecturePython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
715
Star
61
Fork
+0
本周
1
贡献者
创建于 2020-12-22 · 更新于 2026-10-16 · 今日第 14629 名
主要开发者
EndlessSora

EndlessSora/focal-frequency-loss 排名第 14,629,有 715 个星标。

同类别比较

EndlessSora/focal-frequency-loss 排名第 14,629,此处有 8 个同类条目;yandex-research/ddpm-segmentation 排名第 14,627。

同类别比较
名称排名指标
FilippoAiraldi/mpc-reinforcement-learning14,622
语言:
Python
星标数:
716
分叉数:
70
简介:
Reinforcement Learning with Model Predictive Control
Xtra-Computing/thundergbm14,623
语言:
C++
星标数:
716
分叉数:
87
简介:
ThunderGBM: Fast GBDTs and Random Forests on GPUs
nicolas-hbt/pygraft14,626
语言:
Python
星标数:
716
分叉数:
53
简介:
Configurable Generation of Synthetic Schemas and Knowledge Graphs at Your Fingertips
yandex-research/ddpm-segmentation14,627
语言:
Python
星标数:
716
分叉数:
66
简介:
Label-Efficient Semantic Segmentation with Diffusion Models (ICLR'2022)
SalesforceAIResearch/DiffusionDPO14,633
语言:
Python
星标数:
715
分叉数:
53
简介:
Code for "Diffusion Model Alignment Using Direct Preference Optimization"
labmlai/inspectus14,638
语言:
TypeScript
星标数:
715
分叉数:
34
简介:
LLM Analytics
lich99/ChatGLM-finetune-LoRA14,640
语言:
Jupyter Notebook
星标数:
715
分叉数:
62
简介:
Code for fintune ChatGLM-6b using low-rank adaptation (LoRA)
penghao-wu/vstar14,642
语言:
Python
星标数:
715
分叉数:
43
简介:
PyTorch Implementation of "V* : Guided Visual Search as a Core Mechanism in Multimodal LLMs"
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Architecture
关键词Computer vision, Image production
星标数715
分叉数61
贡献者1
创建日期2020-12-22
更新日期2026-10-16
1 天星标数0
7 天星标数0
排名14,629
上次排名14,484
排名变化-145
7 天星标排名14,573
上次 7 天星标排名14,578
7 天星标排名变化5
总星标排名14,632
上次总星标排名14,613
总星标排名变化-19
国家USA
README 摘录

Focal Frequency Loss - Official PyTorch Implementation This repository provides the official PyTorch implementation for the following paper: **Focal Frequency Loss for Image Reconstruction and Synthesis** Liming Jiang, Bo Dai, Wayne Wu and Chen Change Loy In ICCV 2021. **Project Page** | **Paper** | **Poster** | **Slides** | **YouTube Demo** **Abstract:** *Image reconstruction and synthesis have witnessed remarkable progress thanks to the development of generative models. Nonetheless, gaps could still exist between the real and generated images, especially in the frequency domain. In this study

, we show that narrowing gaps in the frequency domain can ameliorate image reconstruction and synthesis quality further. We propose a novel focal frequency loss, which allows a model to adaptively focus on frequency components that are hard to synthesize by down-weighting the easy ones. This objective function is complementary to existing spatial losses, offering great impedance against the loss of important frequency information due to the inherent bias of neural networks. We demonstrate the versatility and effectiveness of focal

frequency loss to improve popular models, such as VAE, pix2pix, and SPADE, in both perceptual quality and quantitative performance. We further show its potential on StyleGAN2. * Updates [09/2021] The **code** of Focal Frequency Loss is **released**. [07/2021] The paper of Focal Frequency Loss is accepted by **ICCV 2021**. Then, the following code is all you need. Please note that experiments in the paper were conducted with . Experience shows that the main hyperparameters you need to adjust are and

. The loss weight may always need to be adjusted first. Then, a larger alpha indicates that the model is more focused. Exmaple: Image Reconstruction (Vanilla AE) As a guide, we provide an example of applying the proposed focal frequency loss (FFL) for Vanilla AE image reconstruction on CelebA. Installation After installing Anaconda, we recommend you to create a new conda environment with python 3. 0 ( may also work) and other dependencies: Dataset Preparation In this example, please download img\_align

\_celeba. zip of the CelebA dataset from its official website. Then, we highly recommend you to unzip this file and symlink the folder to by: Or you can simply move the folder to . The resulting directory structure should be: Test and Evaluation Metrics Download the pretrained models and unzip them to . We have provided the example test scripts. If you only have a CPU environment, please specify in the script. Run: The Vanilla AE image reconstruction results will be saved

at by default. After testing, you can further calculate the evaluation metrics for this example. We have implemented a series of evaluation metrics we used and provided the metric scripts. Run: You will see the scores of different metrics. The metric logs will be saved in the respective experiment folders at . Training We have provided the example training scripts. If you only have a CPU environment, please specify in the script. Run: After training, inference on the newly trained models

is similar to Test and Evaluation Metrics. The results could be better reproduced on NVIDIA Tesla V100 GPUs with . More

常见问题

记录了多少星标和分叉?

EndlessSora/focal-frequency-loss 有 715 个星标和 61 个分叉。

仓库排名是多少?

EndlessSora/focal-frequency-loss 排名第 14,629。

记录的语言和类别是什么?

EndlessSora/focal-frequency-loss 有 715 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

EndlessSora/focal-frequency-loss 与 yandex-research/ddpm-segmentation 比较,后者排名第 14,627,有 716 个星标。

README

Focal Frequency Loss - Official PyTorch Implementation

This repository provides the official PyTorch implementation for the following paper:

Focal Frequency Loss for Image Reconstruction and Synthesis

Liming Jiang, Bo Dai, Wayne Wu and Chen Change Loy

In ICCV 2021.

Project Page | Paper | Poster | Slides | YouTube Demo

Abstract: Image reconstruction and synthesis have witnessed remarkable progress thanks to the development of generative models. Nonetheless, gaps could still exist between the real and generated images, especially in the frequency domain. In this study, we show that narrowing gaps in the frequency domain can ameliorate image reconstruction and synthesis quality further. We propose a novel focal frequency loss, which allows a model to adaptively focus on frequency components that are hard to synthesize by down-weighting the easy ones. This objective function is complementary to existing spatial losses, offering great impedance against the loss of important frequency information due to the inherent bias of neural networks. We demonstrate the versatility and effectiveness of focal frequency loss to improve popular models, such as VAE, pix2pix, and SPADE, in both perceptual quality and quantitative performance. We further show its potential on StyleGAN2.

Updates

  • [09/2021] The code of Focal Frequency Loss is released.

  • [07/2021] The paper of Focal Frequency Loss is accepted by ICCV 2021.

Quick Start

Run pip install focal-frequency-loss for installation. Then, the following code is all you need.

from focal_frequency_loss import FocalFrequencyLoss as FFL
ffl = FFL(loss_weight=1.0, alpha=1.0)  # initialize nn.Module class

import torch
fake = torch.randn(4, 3, 64, 64)  # replace it with the predicted tensor of shape (N, C, H, W)
real = torch.randn(4, 3, 64, 64)  # replace it with the target tensor of shape (N, C, H, W)

loss = ffl(fake, real)  # calculate focal frequency loss

Tips:

  1. Current supported PyTorch version: torch>=1.1.0. Warnings can be ignored. Please note that experiments in the paper were conducted with torch<=1.7.1,>=1.1.0.
  2. Arguments to initialize the FocalFrequencyLoss class:
    • loss_weight (float): weight for focal frequency loss. Default: 1.0
    • alpha (float): the scaling factor alpha of the spectrum weight matrix for flexibility. Default: 1.0
    • patch_factor (int): the factor to crop image patches for patch-based focal frequency loss. Default: 1
    • ave_spectrum (bool): whether to use minibatch average spectrum. Default: False
    • log_matrix (bool): whether to adjust the spectrum weight matrix by logarithm. Default: False
    • batch_matrix (bool): whether to calculate the spectrum weight matrix using batch-based statistics. Default: False
  3. Experience shows that the main hyperparameters you need to adjust are loss_weight and alpha. The loss weight may always need to be adjusted first. Then, a larger alpha indicates that the model is more focused. We use alpha=1.0 as default.

Exmaple: Image Reconstruction (Vanilla AE)

As a guide, we provide an example of applying the proposed focal frequency loss (FFL) for Vanilla AE image reconstruction on CelebA. Applying FFL is pretty easy. The core details can be found here.

Installation

After installing Anaconda, we recommend you to create a new conda environment with python 3.8.3:

conda create -n ffl python=3.8.3 -y
conda activate ffl

Clone this repo, install PyTorch 1.4.0 (torch>=1.1.0 may also work) and other dependencies:

git clone https://github.com/EndlessSora/focal-frequency-loss.git
cd focal-frequency-loss
pip install -r VanillaAE/requirements.txt

Dataset Preparation

In this example, please download img_align_celeba.zip of the CelebA dataset from its official website. Then, we highly recommend you to unzip this file and symlink the img_align_celeba folder to ./datasets/celeba by:

bash scripts/datasets/prepare_celeba.sh [PATH_TO_IMG_ALIGN_CELEBA]

Or you can simply move the img_align_celeba folder to ./datasets/celeba. The resulting directory structure should be:

├── datasets
│    ├── celeba
│    │    ├── img_align_celeba  
│    │    │    ├── 000001.jpg
│    │    │    ├── 000002.jpg
│    │    │    ├── 000003.jpg
│    │    │    ├── ...

Test and Evaluation Metrics

Download the pretrained models and unzip them to ./VanillaAE/experiments.

We have provided the example test scripts. If you only have a CPU environment, please specify --no_cuda in the script. Run:

bash scripts/VanillaAE/test/celeba_recon_wo_ffl.sh
bash scripts/VanillaAE/test/celeba_recon_w_ffl.sh

The Vanilla AE image reconstruction results will be saved at ./VanillaAE/results by default.

After testing, you can further calculate the evaluation metrics for this example. We have implemented a series of evaluation metrics we used and provided the metric scripts. Run:

bash scripts/VanillaAE/metrics/celeba_recon_wo_ffl.sh
bash scripts/VanillaAE/metrics/celeba_recon_w_ffl.sh

You will see the scores of different metrics. The metric logs will be saved in the respective experiment folders at ./VanillaAE/results.

Training

We have provided the example training scripts. If you only have a CPU environment, please specify --no_cuda in the script. Run:

bash scripts/VanillaAE/train/celeba_recon_wo_ffl.sh
bash scripts/VanillaAE/train/celeba_recon_w_ffl.sh 

After training, inference on the newly trained models is similar to Test and Evaluation Metrics. The results could be better reproduced on NVIDIA Tesla V100 GPUs with torch<=1.7.1,>=1.1.0.

More Results

Here, we show other examples of applying the proposed focal frequency loss (FFL) under diverse settings.

Image Reconstruction (VAE)

Image-to-Image Translation (pix2pix | SPADE)

Unconditional Image Synthesis (StyleGAN2)

256x256 results (without truncation) and the mini-batch average spectra (adjusted to better contrast):

1024x1024 results (without truncation) synthesized by StyleGAN2 with FFL:

Citation

If you find this work useful for your research, please cite our paper:

@inproceedings{jiang2021focal,
  title={Focal Frequency Loss for Image Reconstruction and Synthesis},
  author={Jiang, Liming and Dai, Bo and Wu, Wayne and Loy, Chen Change},
  booktitle={ICCV},
  year={2021}
}

Acknowledgments

The code of Vanilla AE is inspired by PyTorch DCGAN and MUNIT. Part of the evaluation metric code is borrowed from MMEditing. We also apply LPIPS and pytorch-fid as evaluation metrics.

License

All rights reserved. The code is released under the MIT License.

Copyright (c) 2021

Other Implementations

[Unofficial TensorFlow Implementation] by ZohebAbai

排名相邻
同类项目