{"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/spin-weighted-spherical-cnns","title":"Spin-Weighted Spherical CNNs","arxiv_id":"2006.10731","date":"2020-06-18","proceeding":"NeurIPS 2020 12","authors":["Carlos Esteves","Ameesh Makadia","Kostas Daniilidis"],"abstract":"Learning equivariant representations is a promising way to reduce sample and model complexity and improve the generalization performance of deep neural networks. The spherical CNNs are successful examples, producing SO(3)-equivariant representations of spherical inputs. There are two main types of spherical CNNs. The first type lifts the inputs to functions on the rotation group SO(3) and applies convolutions on the group, which are computationally expensive since SO(3) has one extra dimension. The second type applies convolutions directly on the sphere, which are limited to zonal (isotropic) filters, and thus have limited expressivity. In this paper, we present a new type of spherical CNN that allows anisotropic filters in an efficient way, without ever leaving the spherical domain. The key idea is to consider spin-weighted spherical functions, which were introduced in physics in the study of gravitational waves. These are complex-valued functions on the sphere whose phases change upon rotation. We define a convolution between spin-weighted functions and build a CNN based on it. The spin-weighted functions can also be interpreted as spherical vector fields, allowing applications to tasks where the inputs or outputs are vector fields. Experiments show that our method outperforms previous methods on tasks like classification of spherical images, classification of 3D shapes and semantic segmentation of spherical panoramas.","url_abs":"https://arxiv.org/abs/2006.10731v2","url_pdf":"https://arxiv.org/pdf/2006.10731v2.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":"spin-weighted-spherical-cnns","repo_url":"https://github.com/daniilidis-group/swscnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"spin-weighted-spherical-cnns","repo_url":"https://github.com/google-research/spherical-cnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/semantic-segmentation-on-stanford2d3d-1","task":"Semantic Segmentation","dataset":"Stanford2D3D Panoramic","model":"SWSCNN","rank_in_archive_order":20,"of":25,"metrics":{"mIoU":"43.4%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.10731","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.10731"}},"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/google-research/spherical-cnn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/daniilidis-group/swscnn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"ran_violates":1,"ran_fixture":1,"unverified":1},"by_repo_kind":{"listed":{"samples":4,"ran":3,"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":"c21339be9241d38b","entry":"SpinSphericalFourierTransformer","repo":"google-research/spherical-cnn","repo_kind":"listed","path":"spherical_cnn/spin_spherical_harmonics.py","file_url":"https://github.com/google-research/spherical-cnn/blob/HEAD/spherical_cnn/spin_spherical_harmonics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c21339be9241d38b"}},{"code_sha256_prefix":"e8c4341f8c937cfc","entry":"_fourier_transform_2d","repo":"google-research/spherical-cnn","repo_kind":"listed","path":"spherical_cnn/spin_spherical_harmonics.py","file_url":"https://github.com/google-research/spherical-cnn/blob/HEAD/spherical_cnn/spin_spherical_harmonics.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e8c4341f8c937cfc"}},{"code_sha256_prefix":"a687859d3e17c76c","entry":"_inverse_fourier_transform_sliced_2d","repo":"google-research/spherical-cnn","repo_kind":"listed","path":"spherical_cnn/spin_spherical_harmonics.py","file_url":"https://github.com/google-research/spherical-cnn/blob/HEAD/spherical_cnn/spin_spherical_harmonics.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a687859d3e17c76c"}},{"code_sha256_prefix":"bdf8bedd9d773cbd","entry":"coefficients_to_matrix","repo":"google-research/spherical-cnn","repo_kind":"listed","path":"spherical_cnn/spin_spherical_harmonics.py","file_url":"https://github.com/google-research/spherical-cnn/blob/HEAD/spherical_cnn/spin_spherical_harmonics.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":"bdf8bedd9d773cbd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}