{"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/deep-spectral-methods-a-surprisingly-strong","title":"Deep Spectral Methods: A Surprisingly Strong Baseline for Unsupervised Semantic Segmentation and Localization","arxiv_id":"2205.07839","date":"2022-05-16","proceeding":"CVPR 2022 1","authors":["Luke Melas-Kyriazi","Christian Rupprecht","Iro Laina","Andrea Vedaldi"],"abstract":"Unsupervised localization and segmentation are long-standing computer vision challenges that involve decomposing an image into semantically-meaningful segments without any labeled data. These tasks are particularly interesting in an unsupervised setting due to the difficulty and cost of obtaining dense image annotations, but existing unsupervised approaches struggle with complex scenes containing multiple objects. Differently from existing methods, which are purely based on deep learning, we take inspiration from traditional spectral segmentation methods by reframing image decomposition as a graph partitioning problem. Specifically, we examine the eigenvectors of the Laplacian of a feature affinity matrix from self-supervised networks. We find that these eigenvectors already decompose an image into meaningful segments, and can be readily used to localize objects in a scene. Furthermore, by clustering the features associated with these segments across a dataset, we can obtain well-delineated, nameable regions, i.e. semantic segmentations. Experiments on complex datasets (Pascal VOC, MS-COCO) demonstrate that our simple spectral method outperforms the state-of-the-art in unsupervised localization and segmentation by a significant margin. Furthermore, our method can be readily used for a variety of complex image editing tasks, such as background removal and compositing.","url_abs":"https://arxiv.org/abs/2205.07839v1","url_pdf":"https://arxiv.org/pdf/2205.07839v1.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":"deep-spectral-methods-a-surprisingly-strong","repo_url":"https://github.com/lukemelas/deep-spectral-segmentation","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"unsupervised-semantic-segmentation","task_name":"Unsupervised Semantic Segmentation"},{"task_slug":"graph-partitioning","task_name":"graph partitioning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.07839","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.07839"}},"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/lukemelas/deep-spectral-segmentation","reach":null}],"summary":{"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":5,"samples":[{"code_sha256_prefix":"a6a3de380fec10a7","entry":"get_image_sizes","repo":"lukemelas/deep-spectral-segmentation","repo_kind":"official","path":"extract/extract.py","file_url":"https://github.com/lukemelas/deep-spectral-segmentation/blob/HEAD/extract/extract.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a6a3de380fec10a7"}},{"code_sha256_prefix":"4a85cfc5b096beee","entry":"_extract_eig","repo":"lukemelas/deep-spectral-segmentation","repo_kind":"official","path":"extract/extract.py","file_url":"https://github.com/lukemelas/deep-spectral-segmentation/blob/HEAD/extract/extract.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":"4a85cfc5b096beee"}},{"code_sha256_prefix":"6dc087b331d73301","entry":"get_diagonal","repo":"lukemelas/deep-spectral-segmentation","repo_kind":"official","path":"extract/extract.py","file_url":"https://github.com/lukemelas/deep-spectral-segmentation/blob/HEAD/extract/extract.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":"6dc087b331d73301"}},{"code_sha256_prefix":"06d4667c84895ed8","entry":"knn_affinity","repo":"lukemelas/deep-spectral-segmentation","repo_kind":"official","path":"extract/extract.py","file_url":"https://github.com/lukemelas/deep-spectral-segmentation/blob/HEAD/extract/extract.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":"06d4667c84895ed8"}},{"code_sha256_prefix":"7edeb044fbcad917","entry":"rw_affinity","repo":"lukemelas/deep-spectral-segmentation","repo_kind":"official","path":"extract/extract.py","file_url":"https://github.com/lukemelas/deep-spectral-segmentation/blob/HEAD/extract/extract.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":"7edeb044fbcad917"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}