{"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/emplace-self-supervised-urban-scene-change","title":"EMPLACE: Self-Supervised Urban Scene Change Detection","arxiv_id":"2503.17716","date":"2025-03-22","proceeding":null,"authors":["Tim Alpherts","Sennay Ghebreab","Nanne van Noord"],"abstract":"Urban change is a constant process that influences the perception of neighbourhoods and the lives of the people within them. The field of Urban Scene Change Detection (USCD) aims to capture changes in street scenes using computer vision and can help raise awareness of changes that make it possible to better understand the city and its residents. Traditionally, the field of USCD has used supervised methods with small scale datasets. This constrains methods when applied to new cities, as it requires labour-intensive labeling processes and forces a priori definitions of relevant change. In this paper we introduce AC-1M the largest USCD dataset by far of over 1.1M images, together with EMPLACE, a self-supervising method to train a Vision Transformer using our adaptive triplet loss. We show EMPLACE outperforms SOTA methods both as a pre-training method for linear fine-tuning as well as a zero-shot setting. Lastly, in a case study of Amsterdam, we show that we are able to detect both small and large changes throughout the city and that changes uncovered by EMPLACE, depending on size, correlate with housing prices - which in turn is indicative of inequity.","url_abs":"https://arxiv.org/abs/2503.17716v1","url_pdf":"https://arxiv.org/pdf/2503.17716v1.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":"emplace-self-supervised-urban-scene-change","repo_url":"https://github.com/timalph/emplace","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"change-detection","task_name":"Change Detection"},{"task_slug":"scene-change-detection","task_name":"Scene Change Detection"},{"task_slug":null,"task_name":"Triplet"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.17716","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.17716"}},"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":"deterministic:regex_extraction","url":"https://github.com/Timalph/EMPLACE","reach":null}],"summary":{"ran":4,"unverified":3},"by_repo_kind":{"official":{"samples":7,"ran":4,"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":7,"samples":[{"code_sha256_prefix":"7f9ac26dd4f3a51f","entry":"ConvStemConfig","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"7f9ac26dd4f3a51f"}},{"code_sha256_prefix":"aaf5872885ebcf1c","entry":"EncoderBlock","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"aaf5872885ebcf1c"}},{"code_sha256_prefix":"87690167a99fc9bc","entry":"MLP","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"87690167a99fc9bc"}},{"code_sha256_prefix":"13e9419f8667b7f4","entry":"MLPBlock","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"13e9419f8667b7f4"}},{"code_sha256_prefix":"dc699dfa1e8fc648","entry":"Encoder","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"dc699dfa1e8fc648"}},{"code_sha256_prefix":"4cf9be3ee681cf7a","entry":"VisionTransformer","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"4cf9be3ee681cf7a"}},{"code_sha256_prefix":"e292b14b36058cab","entry":"_log_api_usage_once","repo":"Timalph/EMPLACE","repo_kind":"official","path":"Rectangular_VIT.py","file_url":"https://github.com/Timalph/EMPLACE/blob/HEAD/Rectangular_VIT.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":"e292b14b36058cab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}