Papers › SwinIR: Image Restoration Using Swin Transformer
SwinIR: Image Restoration Using Swin Transformer
Jingyun Liang, JieZhang Cao, Guolei Sun, Kai Zhang, Luc van Gool, Radu Timofte
Image restoration is a long-standing low-level vision problem that aims to restore high-quality images from low-quality images (e.g., downscaled, noisy and compressed images). While state-of-the-art image restoration methods are based on convolutional neural networks, few attempts have been made with Transformers which show impressive performance on high-level vision tasks. In this paper, we propose a strong baseline model SwinIR for image restoration based on the Swin Transformer. SwinIR consists of three parts: shallow feature extraction, deep feature extraction and high-quality image reconstruction. In particular, the deep feature extraction module is composed of several residual Swin Transformer blocks (RSTB), each of which has several Swin Transformer layers together with a residual connection. We conduct experiments on three representative tasks: image super-resolution (including classical, lightweight and real-world image super-resolution), image denoising (including grayscale and color image denoising) and JPEG compression artifact reduction. Experimental results demonstrate that SwinIR outperforms state-of-the-art methods on different tasks by up to 0.14\sim$0.45dB}$, while the total number of parameters can be reduced by $\textbf{up to 67%}$.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2108.10257")
Code
Syntology Ran 30 of 45 code samples harvested from 6 repositories linked to this paper; 15 have no recorded run. Of those that ran: 7 ran · our draft was wrong; 7 ran · fixture could not drive it; 16 ran with no contract checked.
By repository: official repository: 3 samples from 1 repository, 1 ran; community (archive-listed): 40 samples from 5 repositories, 27 ran; 2 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
45 samples harvested; 30 ran; 0 honoured the contract we drafted; 15 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 5 of the 45 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 6 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
31b521c272528885 · report
13721b7fb0c3449e · report
a8c3f25f547b1cd4 · report
9b7e99667d6f97b5 · report
c3d1df420e59f005 · report
f1109f9b1b73dca7 · report
2d3ebe5f83f401e2 · report
926e8d276bb28da7 · report
1ca0dd483faa6682 · report
83d329df57a93e38 · report
c9ad6c972cd89083 · report
15fea014fc69f0c6 · report
d4fd867e299aa381 · report
66093c479a99786e · report
ffe7885c0403a8ad · report
d32e066d4cc1a4ce · report
6184e406e3b12051 · report
0b773949f1dbd046 · report
a79acfc7f5245c04 · report
c30c007e9c6365e0 · report
52d96aa31ed74a56 · report
c1dd0848500dd803 · report
0af416f19e3851c1 · report
60363d0620f5778d · report
f9fd6241d935f07b · report
2e2b1611530d7466 · report
def274ea4faeed8e · report
4f003e9ad9b7a7cb · report
fb32094c6dbece71 · report
f424ec76ee33ee41 · report
b8c4b72467b45853 · report
4b45c8b3f6e06e21 · report
c0fa116516c7281e · report
b03980f33707e7ed · report
0ad2bdf7da7fee45 · report
5b79ebccea629915 · report
f56a662c7641524f · report
eeeeae50440c5756 · report
d59939ffe142f76f · report
b6fd49729a87480e · report
21b564ba0365248a · report
f09171fe10737272 · report
16d322e629d07ccc · report
144d10b49baeb8a6 · report
61bf152e6a42a184 · report
Tasks
Results from the paper archive 2025-07-28
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Methods
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections