{"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/rotation-equivariance-and-invariance-in","title":"Rotation Equivariance and Invariance in Convolutional Neural Networks","arxiv_id":"1805.12301","date":"2018-05-31","proceeding":null,"authors":["Benjamin Chidester","Minh N. Do","Jian Ma"],"abstract":"Performance of neural networks can be significantly improved by encoding\nknown invariance for particular tasks. Many image classification tasks, such as\nthose related to cellular imaging, exhibit invariance to rotation. We present a\nnovel scheme using the magnitude response of the 2D-discrete-Fourier transform\n(2D-DFT) to encode rotational invariance in neural networks, along with a new,\nefficient convolutional scheme for encoding rotational equivariance throughout\nconvolutional layers. We implemented this scheme for several image\nclassification tasks and demonstrated improved performance, in terms of\nclassification accuracy, time required to train the model, and robustness to\nhyperparameter selection, over a standard CNN and another state-of-the-art\nmethod.","url_abs":"http://arxiv.org/abs/1805.12301v1","url_pdf":"http://arxiv.org/pdf/1805.12301v1.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":"rotation-equivariance-and-invariance-in","repo_url":"https://github.com/bchidest/RiCNN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"rotation-equivariance-and-invariance-in","repo_url":"https://gitlab.com/exwzd-public/kiritani_ono_2020","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.12301","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.12301"}},"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://gitlab.com/exwzd-public/kiritani_ono_2020","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bchidest/RiCNN","reach":null}],"summary":{"ran_violates":1,"ran_honours":1},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":2,"samples":[{"code_sha256_prefix":"60ae11dcfec43deb","entry":"calculate_dft_output_size","repo":"bchidest/RiCNN","repo_kind":"official","path":"ricnn/ricnn.py","file_url":"https://github.com/bchidest/RiCNN/blob/HEAD/ricnn/ricnn.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"60ae11dcfec43deb"}},{"code_sha256_prefix":"ef1f3d89b595a007","entry":"calculate_reconv_midpoints","repo":"bchidest/RiCNN","repo_kind":"official","path":"ricnn/ricnn.py","file_url":"https://github.com/bchidest/RiCNN/blob/HEAD/ricnn/ricnn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ef1f3d89b595a007"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}