Papers › Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Christian Ledig, Lucas Theis, Ferenc Huszar, Jose Caballero, Andrew Cunningham, Alejandro Acosta, Andrew Aitken, Alykhan Tejani, Johannes Totz, Zehan Wang, Wenzhe Shi
Despite the breakthroughs in accuracy and speed of single image super-resolution using faster and deeper convolutional neural networks, one central problem remains largely unsolved: how do we recover the finer texture details when we super-resolve at large upscaling factors? The behavior of optimization-based super-resolution methods is principally driven by the choice of the objective function. Recent work has largely focused on minimizing the mean squared reconstruction error. The resulting estimates have high peak signal-to-noise ratios, but they are often lacking high-frequency details and are perceptually unsatisfying in the sense that they fail to match the fidelity expected at the higher resolution. In this paper, we present SRGAN, a generative adversarial network (GAN) for image super-resolution (SR). To our knowledge, it is the first framework capable of inferring photo-realistic natural images for 4x upscaling factors. To achieve this, we propose a perceptual loss function which consists of an adversarial loss and a content loss. The adversarial loss pushes our solution to the natural image manifold using a discriminator network that is trained to differentiate between the super-resolved images and original photo-realistic images. In addition, we use a content loss motivated by perceptual similarity instead of similarity in pixel space. Our deep residual network is able to recover photo-realistic textures from heavily downsampled images on public benchmarks. An extensive mean-opinion-score (MOS) test shows hugely significant gains in perceptual quality using SRGAN. The MOS scores obtained with SRGAN are closer to those of the original high-resolution images than to those obtained with any state-of-the-art method.
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="1609.04802")
Code
Syntology Ran 16 of 72 code samples harvested from 23 repositories linked to this paper; 56 have no recorded run. Of those that ran: 3 ran · honoured contract; 3 ran · violated contract; 6 ran · our draft was wrong; 4 ran · fixture could not drive it.
By repository: community (archive-listed): 71 samples from 23 repositories, 15 ran; 1 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.
140 repositories listed; official and paper-mentioned ones first.
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
72 samples harvested; 16 ran; 3 honoured the contract we drafted; 56 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: 11 of the 72 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 23 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.
2afa7e90665b012c · report
01b589edccc5e5d2 · report
c58ef2e6eb1e5518 · report
6d6c284ecfd49ad5 · report
70c52caba1e838db · report
9496ce74f56e1d57 · report
8a74ff00c12f2f24 · report
ada7273eee7081c7 · report
a8dabd6fc5e7e33d · report
9bd62e7608b51355 · report
ab4109634b75ef8b · report
2383223cfe77b76c · report
b58ae1ca840194c4 · report
f4eb7942f27c6efc · report
31117990d4f24fdf · report
18c00e3213b07550 · report
6a2fc18229537c5a · report
4ea67632254be0ab · report
3434eae005340d90 · report
5cba0d6ea119693c · report
c889b417f65ffc2a · report
d46976e6023acdb9 · report
2d594866e7355287 · report
3493389d55781403 · report
e256cf653cf6d2e0 · report
8645382c22f52fdb · report
02583d21639a84ac · report
e785257cb314e746 · report
dbcaad1f521f085f · report
e19a04532f5eeee5 · report
604d3495f5943041 · report
5e44f72ed27f1131 · report
074af80c24ea319b · report
c0cb90979e909ea0 · report
9ca600a523822ffe · report
4eaf9f6f2c5f16d5 · report
656199ae230bf816 · report
bcbe49bc56dfc0ce · report
f398d40c16314567 · report
af43ee509783e4b4 · report
d22766d95ec24b98 · report
ce1b9b76c304d922 · report
d14280e408db8305 · report
674836314de9eb98 · report
494312be1845b257 · report
4b67a4d963899ffd · report
639edf7d62a402c3 · report
6a0a16e9c71eb14f · report
e0364deba9b8c665 · report
08e3b22c15672b97 · report
70fd4a42b9d54935 · report
80be2a8c74edf6d9 · report
fbb465d24c89e77c · report
971e71ea279782e6 · report
c8d3363d1625adc6 · report
9049b2ff05471596 · report
7f9c765baa40734b · report
b5e36a89b1e68898 · report
096d345ecfa304ae · report
b87fd84eaccca1ef · report
1c66afe7eb5e75e7 · report
34c8db6f71ff9ab1 · report
dd73a13fd75b72d0 · report
00afe15c4a0c8764 · report
44a2c93f7167fb5b · report
4f3b6ad36a5acd58 · report
d6cfda8786be7809 · report
c97e267abc5b9b51 · report
1e53ef40fd2da818 · report
a6c924257d7d97aa · report
7f34ee348973f67f · report
6d80592fd6d47b2d · report
Tasks
1 archive task tag without a task page not shown.
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
Introduced by this paper: SRGAN Residual Block, VGG Loss
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