{"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/where-we-are-and-what-we-re-looking-at-query","title":"Where We Are and What We're Looking At: Query Based Worldwide Image Geo-localization Using Hierarchies and Scenes","arxiv_id":"2303.04249","date":"2023-03-07","proceeding":"CVPR 2023 1","authors":["Brandon Clark","Alec Kerrigan","Parth Parag Kulkarni","Vicente Vivanco Cepeda","Mubarak Shah"],"abstract":"Determining the exact latitude and longitude that a photo was taken is a useful and widely applicable task, yet it remains exceptionally difficult despite the accelerated progress of other computer vision tasks. Most previous approaches have opted to learn a single representation of query images, which are then classified at different levels of geographic granularity. These approaches fail to exploit the different visual cues that give context to different hierarchies, such as the country, state, and city level. To this end, we introduce an end-to-end transformer-based architecture that exploits the relationship between different geographic levels (which we refer to as hierarchies) and the corresponding visual scene information in an image through hierarchical cross-attention. We achieve this by learning a query for each geographic hierarchy and scene type. Furthermore, we learn a separate representation for different environmental scenes, as different scenes in the same location are often defined by completely different visual features. We achieve state of the art street level accuracy on 4 standard geo-localization datasets : Im2GPS, Im2GPS3k, YFCC4k, and YFCC26k, as well as qualitatively demonstrate how our method learns different representations for different visual hierarchies and scenes, which has not been demonstrated in the previous methods. These previous testing datasets mostly consist of iconic landmarks or images taken from social media, which makes them either a memorization task, or biased towards certain places. To address this issue we introduce a much harder testing dataset, Google-World-Streets-15k, comprised of images taken from Google Streetview covering the whole planet and present state of the art results. Our code will be made available in the camera-ready version.","url_abs":"https://arxiv.org/abs/2303.04249v1","url_pdf":"https://arxiv.org/pdf/2303.04249v1.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":[],"tasks":[{"task_slug":"image-based-localization","task_name":"Image-Based Localization"},{"task_slug":"memorization","task_name":"Memorization"},{"task_slug":"photo-geolocation-estimation","task_name":"Photo geolocation estimation"},{"task_slug":"geo-localization","task_name":"geo-localization"}],"methods":[{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/photo-geolocation-estimation-on-gws15k","task":"Photo geolocation estimation","dataset":"GWS15k","model":"GeoDecoder","rank_in_archive_order":2,"of":5,"metrics":{"City level (25 km)":"1.5","Continent level (2500 km)":"50.5","Country level (750 km)":"26.9","Region level (200 km)":"8.7","Street level (1 km)":"0.7"},"uses_additional_data":false},{"leaderboard":"/sota/photo-geolocation-estimation-on-im2gps3k","task":"Photo geolocation estimation","dataset":"Im2GPS3k","model":"GeoDecoder","rank_in_archive_order":4,"of":14,"metrics":{"City level (25 km)":"33.5","Continent level (2500 km)":"76.1","Country level (750 km)":"61.0","Region level (200 km)":"45.9","Street level (1 km)":"12.8","Training Images":"4.7M"},"uses_additional_data":false},{"leaderboard":"/sota/photo-geolocation-estimation-on-yfcc26k","task":"Photo geolocation estimation","dataset":"YFCC26k","model":"GeoDecoder","rank_in_archive_order":3,"of":6,"metrics":{"City level (25 km)":"23.9","Continent level (2500 km)":"69.0","Country level (750 km)":"49.6","Region level (200 km)":"34.1","Street level (1 km)":"10.1","Training Images":"4.7M"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.04249","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.04249"}},"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/AHKerrigan/GeoGuessNet","reach":null}],"summary":{"ran":15,"ran_draft_wrong":1,"ran_fixture":1,"unverified":6},"by_repo_kind":{"found_in_text":{"samples":22,"ran":16,"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":23,"samples":[{"code_sha256_prefix":"fcce1bfcb9c57d74","entry":"Attention","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"fcce1bfcb9c57d74"}},{"code_sha256_prefix":"6af89417fa2b417c","entry":"BasicBlock","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6af89417fa2b417c"}},{"code_sha256_prefix":"4c297125998e9871","entry":"Bottleneck","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4c297125998e9871"}},{"code_sha256_prefix":"89b1d7f03849a8a5","entry":"CustomAttention","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"89b1d7f03849a8a5"}},{"code_sha256_prefix":"43b361f444ae05e1","entry":"DropPath","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"43b361f444ae05e1"}},{"code_sha256_prefix":"590640edb84dc18b","entry":"FeedForward","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"590640edb84dc18b"}},{"code_sha256_prefix":"aee0d8a9e306fcc3","entry":"HighResolutionModule","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aee0d8a9e306fcc3"}},{"code_sha256_prefix":"ec250b5a99a54dcc","entry":"LayerScale","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ec250b5a99a54dcc"}},{"code_sha256_prefix":"5bb20805a30709ea","entry":"MMFusion","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"5bb20805a30709ea"}},{"code_sha256_prefix":"ab28cb15a9f42269","entry":"Mlp","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ab28cb15a9f42269"}},{"code_sha256_prefix":"3fa532ca5718369e","entry":"ObjectAttentionBlock2D","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3fa532ca5718369e"}},{"code_sha256_prefix":"9ced521ee7dbfe0d","entry":"PatchEmbed","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9ced521ee7dbfe0d"}},{"code_sha256_prefix":"f6f97ab2a6fc1429","entry":"SpatialGather_Module","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"f6f97ab2a6fc1429"}},{"code_sha256_prefix":"5980b6f3f1da8043","entry":"SpatialOCR_Module","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5980b6f3f1da8043"}},{"code_sha256_prefix":"29769d426b3e38d8","entry":"_ObjectAttentionBlock","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"29769d426b3e38d8"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"e3aa4e8e74369506","entry":"drop_path","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3aa4e8e74369506"}},{"code_sha256_prefix":"16488f5ead0b3722","entry":"Block","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"16488f5ead0b3722"}},{"code_sha256_prefix":"7393530e8c957991","entry":"HighResolutionNet","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"7393530e8c957991"}},{"code_sha256_prefix":"fab51dd250665c80","entry":"ModuleHelper","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"fab51dd250665c80"}},{"code_sha256_prefix":"2f5248c948b2923a","entry":"Translocator","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"2f5248c948b2923a"}},{"code_sha256_prefix":"a53662872764fd3e","entry":"VisionTransformer","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"a53662872764fd3e"}},{"code_sha256_prefix":"7bc0b40f12d74bb1","entry":"get_seg_model","repo":"AHKerrigan/GeoGuessNet","repo_kind":"found_in_text","path":"networks.py","file_url":"https://github.com/AHKerrigan/GeoGuessNet/blob/HEAD/networks.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":"7bc0b40f12d74bb1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}