{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/learning-from-simulated-and-unsupervised","title":"Learning from Simulated and Unsupervised Images through Adversarial Training","arxiv_id":"1612.07828","date":"2016-12-22","proceeding":"CVPR 2017 7","authors":["Ashish Shrivastava","Tomas Pfister","Oncel Tuzel","Josh Susskind","Wenda Wang","Russ Webb"],"abstract":"With recent progress in graphics, it has become more tractable to train\nmodels on synthetic images, potentially avoiding the need for expensive\nannotations. However, learning from synthetic images may not achieve the\ndesired performance due to a gap between synthetic and real image\ndistributions. To reduce this gap, we propose Simulated+Unsupervised (S+U)\nlearning, where the task is to learn a model to improve the realism of a\nsimulator's output using unlabeled real data, while preserving the annotation\ninformation from the simulator. We develop a method for S+U learning that uses\nan adversarial network similar to Generative Adversarial Networks (GANs), but\nwith synthetic images as inputs instead of random vectors. We make several key\nmodifications to the standard GAN algorithm to preserve annotations, avoid\nartifacts, and stabilize training: (i) a 'self-regularization' term, (ii) a\nlocal adversarial loss, and (iii) updating the discriminator using a history of\nrefined images. We show that this enables generation of highly realistic\nimages, which we demonstrate both qualitatively and with a user study. We\nquantitatively evaluate the generated images by training models for gaze\nestimation and hand pose estimation. We show a significant improvement over\nusing synthetic images, and achieve state-of-the-art results on the MPIIGaze\ndataset without any labeled real data.","url_abs":"http://arxiv.org/abs/1612.07828v2","url_pdf":"http://arxiv.org/pdf/1612.07828v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/AlexHex7/SimGAN_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/adnanalam53/cycleGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/ajdillhoff/simgan-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/ashkanpakzad/atn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/mjdietzx/SimGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/rickyhan/SimGAN-Captcha","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/rvorias/uvHolographics","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-2.0"}},{"paper_slug":"learning-from-simulated-and-unsupervised","repo_url":"https://github.com/shinseung428/simGAN_NYU_Hand","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"gaze-estimation","task_name":"Gaze Estimation"},{"task_slug":"hand-pose-estimation","task_name":"Hand Pose Estimation"},{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-to-image-translation-on-cityscapes","task":"Image-to-Image Translation","dataset":"Cityscapes Labels-to-Photo","model":"SimGAN","rank_in_archive_order":19,"of":21,"metrics":{"Class IOU":"0.04","Per-class Accuracy":"10%","Per-pixel Accuracy":"20%"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-cityscapes-1","task":"Image-to-Image Translation","dataset":"Cityscapes Photo-to-Labels","model":"SimGAN","rank_in_archive_order":5,"of":5,"metrics":{"Class IOU":"0.07","Per-class Accuracy":"11%","Per-pixel Accuracy":"47%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1612.07828","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1612.07828"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rickyhan/SimGAN-Captcha","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adnanalam53/cycleGAN","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shinseung428/simGAN_NYU_Hand","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rvorias/uvHolographics","reach":{"status":"ok","spdx":"GPL-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mjdietzx/SimGAN","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ajdillhoff/simgan-pytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AlexHex7/SimGAN_pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ashkanpakzad/atn","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran_draft_wrong":1,"ran_violates":1,"unverified":6},"by_repo_kind":{"listed":{"samples":8,"ran":2,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"6d80592fd6d47b2d","entry":"add_argument_group","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"config.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/config.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6d80592fd6d47b2d"}},{"code_sha256_prefix":"248284f69adfeaad","entry":"str2bool","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"config.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/config.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"248284f69adfeaad"}},{"code_sha256_prefix":"78fe835ab7648084","entry":"denormalize","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"78fe835ab7648084"}},{"code_sha256_prefix":"8333c52a9c7d2179","entry":"discriminator_network","repo":"mjdietzx/SimGAN","repo_kind":"listed","path":"sim-gan.py","file_url":"https://github.com/mjdietzx/SimGAN/blob/HEAD/sim-gan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8333c52a9c7d2179"}},{"code_sha256_prefix":"596604194d95dd97","entry":"img_tile","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"596604194d95dd97"}},{"code_sha256_prefix":"d8048bd9bbcd6ea7","entry":"int_shape","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d8048bd9bbcd6ea7"}},{"code_sha256_prefix":"4e4f748b288adeb8","entry":"normalize","repo":"carpedm20/simulated-unsupervised-tensorflow","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/carpedm20/simulated-unsupervised-tensorflow/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4e4f748b288adeb8"}},{"code_sha256_prefix":"72f47073731f2382","entry":"refiner_network","repo":"mjdietzx/SimGAN","repo_kind":"listed","path":"sim-gan.py","file_url":"https://github.com/mjdietzx/SimGAN/blob/HEAD/sim-gan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"72f47073731f2382"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}