Skip to content

cszn/ConverseNet

Repository files navigation

Xuhong Huang*, Shiqi Liu*, Kai Zhang, Ying Tai, Jian Yang, Hui Zeng, Lei Zhang

Nanjing University, China


Motivation

Convolution and transposed convolution (often referred to as deconvolution) are fundamental operations in deep neural networks. Convolution is commonly used for feature extraction and spatial downsampling. In contrast, transposed convolution is used to upsample spatial dimensions. Due to this functional relationship, transposed convolution is sometimes described in the literature as a reverse convolution operator. However, it is not the mathematical inverse of convolution. Instead, it performs upsampling by inserting zeros between input elements, followed by a standard convolution. While this interpretation is widely accepted, implementing a reverse convolution operator has received little attention. Notably, popular deep learning frameworks such as PyTorch do not provide native support for such an operator.

Method

  • We propose a novel depthwise reverse convolution operator as a first-step exploration to effectively reverse the depthwise convolution by formulating and solving a regularized least-squares optimization problem. We thoroughly investigate its kernel initialization, padding strategies, and other critical aspects to ensure its effective implementation.

  • Building upon this reverse convolution operator, we integrate it with layer normalization, 1x1 convolution, and GELU activation to form a reverse convolution block, similar to a Transformer block.

Models

Model # params
Converse-DnCNN 734,913
Converse-SRResNet 694,208
ConverseNet 243,267
Converse-USRNet 307,091

Codes

PSNR results

Run main_test_converse_dncnn.py to produce the following results.

The table shows the number of parameters and average PSNR(dB) results of different models for Gaussian denoising with noise level 25 on Set12 and BSD68 datasets.

Run main_test_converse_srresnet.py to produce the following results.

The table shows the average PSNR(dB) results of different variants of SRResNet for super-resolution with scale factor 4.

Run main_test_converse_usrnet.py to produce the following results.

The table shows the average PSNR(dB) results of different methods on Set5, Set14, BSD100 and Urban100 datasets.

Visual results of Converse-DnCNN

Image with noise level uniformly ranging from 0 to 50 Denoising result by Converse-DnCNN

Visual results of Converse-SRResNet

LR image Super-resolution result by Converse-SRResNet

Visual results of ConverseNet

Blurred image Deblurring results by ConverseNet

Visual results of Converse-USRNet

Blurred image Deblurring results by Converse-USRNet

Citation

@inproceedings{huang2025reverse,
    title={Reverse Convolution and Its Applications to Image Restoration},
    author={Huang, Xuhong and Liu, Shiqi and Zhang, Kai and Tai, Ying and Yang, Jian and Zeng, Hui and Zhang, Lei},
    booktitle={International Conference on Computer Vision},
    pages={1--10},
    year={2025}
}

About

Reverse Convolution and Its Applications to Image Restoration (ICCV, 2025)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages