{"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/transforming-the-latent-space-of-stylegan-for","title":"Transforming the Latent Space of StyleGAN for Real Face Editing","arxiv_id":"2105.14230","date":"2021-05-29","proceeding":null,"authors":["Heyi Li","Jinlong Liu","Xinyu Zhang","Yunzhi Bai","Huayan Wang","Klaus Mueller"],"abstract":"Despite recent advances in semantic manipulation using StyleGAN, semantic editing of real faces remains challenging. The gap between the $W$ space and the $W$+ space demands an undesirable trade-off between reconstruction quality and editing quality. To solve this problem, we propose to expand the latent space by replacing fully-connected layers in the StyleGAN's mapping network with attention-based transformers. This simple and effective technique integrates the aforementioned two spaces and transforms them into one new latent space called $W$++. Our modified StyleGAN maintains the state-of-the-art generation quality of the original StyleGAN with moderately better diversity. But more importantly, the proposed $W$++ space achieves superior performance in both reconstruction quality and editing quality. Despite these significant advantages, our $W$++ space supports existing inversion algorithms and editing methods with only negligible modifications thanks to its structural similarity with the $W/W$+ space. Extensive experiments on the FFHQ dataset prove that our proposed $W$++ space is evidently more preferable than the previous $W/W$+ space for real face editing. The code is publicly available for research purposes at https://github.com/AnonSubm2021/TransStyleGAN.","url_abs":"https://arxiv.org/abs/2105.14230v2","url_pdf":"https://arxiv.org/pdf/2105.14230v2.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":"transforming-the-latent-space-of-stylegan-for","repo_url":"https://github.com/AnonSubm2021/TransStyleGAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"}],"methods":[{"method_slug":"adaptive-instance-normalization","method_name":"Adaptive Instance Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"r1-regularization","method_name":"R1 Regularization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.14230","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.14230"}},"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/AnonSubm2021/TransStyleGAN","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":2,"ran_fixture":1,"ran_draft_wrong":1,"ran_violates":1,"unverified":8},"by_repo_kind":{"official":{"samples":13,"ran":5,"repositories":1}},"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":"259ec7338be8a457","entry":"compute_pairwise_distance","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/prdc.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/prdc.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"259ec7338be8a457"}},{"code_sha256_prefix":"e6c1de4697e7ed81","entry":"calc_fid","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/fid.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/fid.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e6c1de4697e7ed81"}},{"code_sha256_prefix":"547662aecde999ed","entry":"get_kth_value","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/prdc.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/prdc.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"547662aecde999ed"}},{"code_sha256_prefix":"ea6c82ed6a138df9","entry":"get_lr","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"projector.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/projector.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ea6c82ed6a138df9"}},{"code_sha256_prefix":"6f65e378a4313f87","entry":"make_kernel","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"model.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/model.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6f65e378a4313f87"}},{"code_sha256_prefix":"a408e16ed43950a5","entry":"compute_nearest_neighbour_distances","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/prdc.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/prdc.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a408e16ed43950a5"}},{"code_sha256_prefix":"8893c21111af14ff","entry":"extract_feature_from_samples","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/calc_prdc.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/calc_prdc.py","link_basis":"first_harvest_node","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":"8893c21111af14ff"}},{"code_sha256_prefix":"0b37719f59ef4c32","entry":"extract_feature_from_samples","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/fid.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/fid.py","link_basis":"first_harvest_node","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":"0b37719f59ef4c32"}},{"code_sha256_prefix":"826a4bfd8b5cb2fc","entry":"extract_features","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"metrics/calc_inception.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/metrics/calc_inception.py","link_basis":"first_harvest_node","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":"826a4bfd8b5cb2fc"}},{"code_sha256_prefix":"c32f2d047465748d","entry":"latent_noise","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"projector.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/projector.py","link_basis":"first_harvest_node","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":"c32f2d047465748d"}},{"code_sha256_prefix":"60e0fcb2b8257ba5","entry":"linear_interpolate","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"interfaceGAN/linear_interpolation.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/interfaceGAN/linear_interpolation.py","link_basis":"first_harvest_node","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":"60e0fcb2b8257ba5"}},{"code_sha256_prefix":"c8b61cfc5c049356","entry":"noise_regularize_","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"projector.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/projector.py","link_basis":"first_harvest_node","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":"c8b61cfc5c049356"}},{"code_sha256_prefix":"1ccf10e1a2a8378b","entry":"train_boundary","repo":"AnonSubm2021/TransStyleGAN","repo_kind":"official","path":"interfaceGAN/train_boundary.py","file_url":"https://github.com/AnonSubm2021/TransStyleGAN/blob/HEAD/interfaceGAN/train_boundary.py","link_basis":"first_harvest_node","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":"1ccf10e1a2a8378b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}