Reverse Convolution and Its Application to Image Restoration

August 15, 2025 · View on GitHub

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-DnCNN734,913
Converse-SRResNet694,208
ConverseNet243,267
Converse-USRNet307,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 50Denoising result by Converse-DnCNN

Visual results of Converse-SRResNet

LR imageSuper-resolution result by Converse-SRResNet

Visual results of ConverseNet

Blurred imageDeblurring results by ConverseNet

Visual results of Converse-USRNet

Blurred imageDeblurring 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}
}