PyTorch codes for "Deep Blind Super-Resolution for Satellite Video", IEEE Transactions on Geoscience and Remote Sensing (TGRS), 2023.
Authors: Yi Xiao, Qiangqiang Yuan*, Qiang Zhang, and Liangpei Zhang
Wuhan University and Dalian Maritime University
Recent efforts have witnessed remarkable progress in satellite video super-resolution (SVSR). However, most SVSR methods usually assume the degradation is fixed and known, e.g., bicubic downsampling, which makes them vulnerable in real-world scenes with multiple and unknown degradations. To alleviate this issue, blind SR has, thus, become a research hotspot. Nevertheless, the existing approaches are mainly engaged in blur kernel estimation while losing sight of another critical aspect for VSR tasks: temporal compensation, especially compensating for blurry and smooth pixels with vital sharpness from severely degraded satellite videos. Therefore, this article proposes a practical blind SVSR algorithm (BSVSR) to explore more sharp cues by considering the pixel-wise blur levels in a coarse-to-fine manner. Specifically, we employed multiscale deformable (MSD) convolution to coarsely aggregate the temporal redundancy into adjacent frames by window-slid progressive fusion. Then, the adjacent features are finely merged into mid-feature using deformable attention (DA), which measures the blur levels of pixels and assigns more weights to the informative pixels, thus inspiring the representation of sharpness. Moreover, we devise a pyramid spatial transformation (PST) module to adjust the solution space of sharp mid-feature, resulting in flexible feature adaptation in multilevel domains. Quantitative and qualitative evaluations on both simulated and real-world satellite videos demonstrate that our BSVSR performs favorably against state-of-the-art nonblind and blind SR models. Code will be available at https://github.com/XY-boy/Blind-Satellite-VSR
git clone https://github.com/XY-boy/Blind-Satellite-VSR.git
cd model/DCNv2
sh make.sh
cd model/ops
sh make.sh
python main.py --template KernelPredict
- Put the trained model to './pretrain_models'
- rename it to 'kernel_x4.pt'.
python main.py --template VideoSR
python inference.py --input_path /LR/videos --gt_path /GT/videos --model_path /pretrained-model-name
Our work is built upon DBVSR (https://github.com/cscss/DBVSR) and EDVR (https://github.com/xinntao/EDVR).
Thanks to the author for sharing these source codes!
If you have any questions or suggestions, feel free to contact me. 😊
Email: [email protected]; [email protected]
If you find our work helpful in your research, kindly cite it. Thank you for your interest and support for our work! 😊
@ARTICLE{xiao2023bsvsr,
author={Xiao, Yi and Yuan, Qiangqiang and Zhang, Qiang and Zhang, Liangpei},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={Deep Blind Super-Resolution for Satellite Video},
year={2023},
volume={61},
number={},
pages={1-16},
doi={10.1109/TGRS.2023.3291822}
}