{"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/explicitly-disentangled-representations-in","title":"Explicitly Disentangled Representations in Object-Centric Learning","arxiv_id":"2401.10148","date":"2024-01-18","proceeding":null,"authors":["Riccardo Majellaro","Jonathan Collu","Aske Plaat","Thomas M. Moerland"],"abstract":"Extracting structured representations from raw visual data is an important and long-standing challenge in machine learning. Recently, techniques for unsupervised learning of object-centric representations have raised growing interest. In this context, enhancing the robustness of the latent features can improve the efficiency and effectiveness of the training of downstream tasks. A promising step in this direction is to disentangle the factors that cause variation in the data. Previously, Invariant Slot Attention disentangled position, scale, and orientation from the remaining features. Extending this approach, we focus on separating the shape and texture components. In particular, we propose a novel architecture that biases object-centric models toward disentangling shape and texture components into two non-overlapping subsets of the latent space dimensions. These subsets are known a priori, hence before the training process. Experiments on a range of object-centric benchmarks reveal that our approach achieves the desired disentanglement while also numerically improving baseline performance in most cases. In addition, we show that our method can generate novel textures for a specific object or transfer textures between objects with distinct shapes.","url_abs":"https://arxiv.org/abs/2401.10148v2","url_pdf":"https://arxiv.org/pdf/2401.10148v2.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":"explicitly-disentangled-representations-in","repo_url":"https://github.com/riccardomajellaro/disentangled-slot-attention","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"object","task_name":"Object"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2401.10148","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.10148"}},"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/riccardomajellaro/disentangled-slot-attention","reach":{"status":"ok"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"0c099c2ee0794ee4","entry":"average_ari","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"evaluation/obj_disc.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/evaluation/obj_disc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0c099c2ee0794ee4"}},{"code_sha256_prefix":"075b435ce4871df1","entry":"build_grid","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"models/disa.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/models/disa.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"075b435ce4871df1"}},{"code_sha256_prefix":"2053ddf28b96b5a1","entry":"build_grid","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"models/sa.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/models/sa.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2053ddf28b96b5a1"}},{"code_sha256_prefix":"bee2e2ae68c7bd37","entry":"collate_fn","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"utils/clevrtex_eval.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/utils/clevrtex_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bee2e2ae68c7bd37"}},{"code_sha256_prefix":"8ccf20ac7018efc3","entry":"get_prop_configs","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"utils/prop_pred.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/utils/prop_pred.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8ccf20ac7018efc3"}},{"code_sha256_prefix":"da16efa22d093d93","entry":"to_dict","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"utils/prop_pred.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/utils/prop_pred.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"da16efa22d093d93"}},{"code_sha256_prefix":"ee8c95806fa12515","entry":"ari_score","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"evaluation/obj_disc.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/evaluation/obj_disc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee8c95806fa12515"}},{"code_sha256_prefix":"d35b4c62b9d5d54f","entry":"predict_properties","repo":"riccardomajellaro/disentangled-slot-attention","repo_kind":"official","path":"utils/prop_pred.py","file_url":"https://github.com/riccardomajellaro/disentangled-slot-attention/blob/HEAD/utils/prop_pred.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d35b4c62b9d5d54f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}