{"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/discovering-visual-patterns-in-art","title":"Discovering Visual Patterns in Art Collections with Spatially-consistent Feature Learning","arxiv_id":"1903.02678","date":"2019-03-07","proceeding":"CVPR 2019 6","authors":["Xi Shen","Alexei A. Efros","Mathieu Aubry"],"abstract":"Our goal in this paper is to discover near duplicate patterns in large\ncollections of artworks. This is harder than standard instance mining due to\ndifferences in the artistic media (oil, pastel, drawing, etc), and\nimperfections inherent in the copying process. The key technical insight is to\nadapt a standard deep feature to this task by fine-tuning it on the specific\nart collection using self-supervised learning. More specifically, spatial\nconsistency between neighbouring feature matches is used as supervisory\nfine-tuning signal. The adapted feature leads to more accurate style-invariant\nmatching, and can be used with a standard discovery approach, based on\ngeometric verification, to identify duplicate patterns in the dataset. The\napproach is evaluated on several different datasets and shows surprisingly good\nqualitative discovery results. For quantitative evaluation of the method, we\nannotated 273 near duplicate details in a dataset of 1587 artworks attributed\nto Jan Brueghel and his workshop. Beyond artwork, we also demonstrate\nimprovement on localization on the Oxford5K photo dataset as well as on\nhistorical photograph localization on the Large Time Lags Location (LTLL)\ndataset.","url_abs":"http://arxiv.org/abs/1903.02678v2","url_pdf":"http://arxiv.org/pdf/1903.02678v2.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":"discovering-visual-patterns-in-art","repo_url":"https://github.com/XiSHEN0220/ArtMiner","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1903.02678","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.02678"}},"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/XiSHEN0220/ArtMiner","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"listed":{"samples":3,"ran":0,"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":"c1040099f60b4380","entry":"ResizeImg","repo":"XiSHEN0220/ArtMiner","repo_kind":"listed","path":"discovery/outils.py","file_url":"https://github.com/XiSHEN0220/ArtMiner/blob/HEAD/discovery/outils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c1040099f60b4380"}},{"code_sha256_prefix":"6683224d1885cbb8","entry":"SaliencyCoef","repo":"XiSHEN0220/ArtMiner","repo_kind":"listed","path":"discovery/outils.py","file_url":"https://github.com/XiSHEN0220/ArtMiner/blob/HEAD/discovery/outils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6683224d1885cbb8"}},{"code_sha256_prefix":"d85efb0653ee1b68","entry":"VoteMatrix","repo":"XiSHEN0220/ArtMiner","repo_kind":"listed","path":"discovery/outils.py","file_url":"https://github.com/XiSHEN0220/ArtMiner/blob/HEAD/discovery/outils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d85efb0653ee1b68"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}