{"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/heal-swin-a-vision-transformer-on-the-sphere","title":"HEAL-SWIN: A Vision Transformer On The Sphere","arxiv_id":"2307.07313","date":"2023-07-14","proceeding":"CVPR 2024 1","authors":["Oscar Carlsson","Jan E. Gerken","Hampus Linander","Heiner Spieß","Fredrik Ohlsson","Christoffer Petersson","Daniel Persson"],"abstract":"High-resolution wide-angle fisheye images are becoming more and more important for robotics applications such as autonomous driving. However, using ordinary convolutional neural networks or vision transformers on this data is problematic due to projection and distortion losses introduced when projecting to a rectangular grid on the plane. We introduce the HEAL-SWIN transformer, which combines the highly uniform Hierarchical Equal Area iso-Latitude Pixelation (HEALPix) grid used in astrophysics and cosmology with the Hierarchical Shifted-Window (SWIN) transformer to yield an efficient and flexible model capable of training on high-resolution, distortion-free spherical data. In HEAL-SWIN, the nested structure of the HEALPix grid is used to perform the patching and windowing operations of the SWIN transformer, enabling the network to process spherical representations with minimal computational overhead. We demonstrate the superior performance of our model on both synthetic and real automotive datasets, as well as a selection of other image datasets, for semantic segmentation, depth regression and classification tasks. Our code is publicly available at https://github.com/JanEGerken/HEAL-SWIN.","url_abs":"https://arxiv.org/abs/2307.07313v2","url_pdf":"https://arxiv.org/pdf/2307.07313v2.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":"heal-swin-a-vision-transformer-on-the-sphere","repo_url":"https://github.com/janegerken/heal-swin","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.07313","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.07313"}},"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/janegerken/heal-swin","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":9,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":11,"ran":11,"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":"144d10b49baeb8a6","entry":"window_partition","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/swin_mlp.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/swin_mlp.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":2,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"144d10b49baeb8a6"}},{"code_sha256_prefix":"7f47b177b3d0bea8","entry":"get_nest_win_idcs","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/hp_windowing.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/hp_windowing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f47b177b3d0bea8"}},{"code_sha256_prefix":"56d5a522dd1aeb67","entry":"get_non_inf_non_nan_idxs","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/evaluation/custom_metrics.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/evaluation/custom_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"56d5a522dd1aeb67"}},{"code_sha256_prefix":"53ceff2b6014c033","entry":"l1_loss","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/training/loss_depth_regression.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/training/loss_depth_regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53ceff2b6014c033"}},{"code_sha256_prefix":"161a139760517c8c","entry":"mean_log_var_loss","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/training/loss_depth_regression.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/training/loss_depth_regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"161a139760517c8c"}},{"code_sha256_prefix":"920963401bbcecee","entry":"mse","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/training/loss_depth_regression.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/training/loss_depth_regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"920963401bbcecee"}},{"code_sha256_prefix":"53e2f7029b4d01c9","entry":"window_partition","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/hp_windowing.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/hp_windowing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53e2f7029b4d01c9"}},{"code_sha256_prefix":"015c320e93487a73","entry":"window_partition","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/swin_transformer.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/swin_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"015c320e93487a73"}},{"code_sha256_prefix":"61bf152e6a42a184","entry":"window_reverse","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/swin_mlp.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/swin_mlp.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"61bf152e6a42a184"}},{"code_sha256_prefix":"a1df30ea1ff44d0a","entry":"window_reverse","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/hp_windowing.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/hp_windowing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1df30ea1ff44d0a"}},{"code_sha256_prefix":"44f1f7e6cbeb0224","entry":"window_reverse","repo":"janegerken/heal-swin","repo_kind":"official","path":"heal_swin/models_torch/swin_transformer.py","file_url":"https://github.com/janegerken/heal-swin/blob/HEAD/heal_swin/models_torch/swin_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"44f1f7e6cbeb0224"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}