{"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/featup-a-model-agnostic-framework-for","title":"FeatUp: A Model-Agnostic Framework for Features at Any Resolution","arxiv_id":"2403.10516","date":"2024-03-15","proceeding":null,"authors":["Stephanie Fu","Mark Hamilton","Laura Brandt","Axel Feldman","Zhoutong Zhang","William T. Freeman"],"abstract":"Deep features are a cornerstone of computer vision research, capturing image semantics and enabling the community to solve downstream tasks even in the zero- or few-shot regime. However, these features often lack the spatial resolution to directly perform dense prediction tasks like segmentation and depth prediction because models aggressively pool information over large areas. In this work, we introduce FeatUp, a task- and model-agnostic framework to restore lost spatial information in deep features. We introduce two variants of FeatUp: one that guides features with high-resolution signal in a single forward pass, and one that fits an implicit model to a single image to reconstruct features at any resolution. Both approaches use a multi-view consistency loss with deep analogies to NeRFs. Our features retain their original semantics and can be swapped into existing applications to yield resolution and performance gains even without re-training. We show that FeatUp significantly outperforms other feature upsampling and image super-resolution approaches in class activation map generation, transfer learning for segmentation and depth prediction, and end-to-end training for semantic segmentation.","url_abs":"https://arxiv.org/abs/2403.10516v2","url_pdf":"https://arxiv.org/pdf/2403.10516v2.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":"featup-a-model-agnostic-framework-for","repo_url":"https://github.com/mhamilton723/FeatUp","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"featup-a-model-agnostic-framework-for","repo_url":"https://github.com/havrylovv/isegprobe","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"depth-prediction","task_name":"Depth Prediction"},{"task_slug":"feature-upsampling","task_name":"Feature Upsampling"},{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"super-resolution","task_name":"Super-Resolution"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/feature-upsampling-on-imagenet","task":"Feature Upsampling","dataset":"ImageNet","model":"FeatUp (JBU)","rank_in_archive_order":2,"of":8,"metrics":{"ADCC":"64.3","Average Drop":"15.3","Average Increase":"24.0"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.10516","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.10516"}},"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/mhamilton723/FeatUp","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/havrylovv/isegprobe","reach":null}],"summary":{"ran":3,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1},"listed":{"samples":2,"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":0,"samples":[{"code_sha256_prefix":"1ad470877f653af1","entry":"JBUFeatUpUpsampler","repo":"havrylovv/isegprobe","repo_kind":"listed","path":"core/model/upsamplers/JBUFeatUp.py","file_url":"https://github.com/havrylovv/isegprobe/blob/HEAD/core/model/upsamplers/JBUFeatUp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ad470877f653af1"}},{"code_sha256_prefix":"6db1eb8ec395be88","entry":"SAPAModule","repo":"mhamilton723/FeatUp","repo_kind":"official","path":"featup/upsamplers.py","file_url":"https://github.com/mhamilton723/FeatUp/blob/HEAD/featup/upsamplers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6db1eb8ec395be88"}},{"code_sha256_prefix":"faa80aeb64a3998b","entry":"SAPAUpsampler","repo":"mhamilton723/FeatUp","repo_kind":"official","path":"featup/upsamplers.py","file_url":"https://github.com/mhamilton723/FeatUp/blob/HEAD/featup/upsamplers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"faa80aeb64a3998b"}},{"code_sha256_prefix":"4bef79d7a0a57273","entry":"mag","repo":"mhamilton723/FeatUp","repo_kind":"official","path":"featup/train_implicit_upsampler.py","file_url":"https://github.com/mhamilton723/FeatUp/blob/HEAD/featup/train_implicit_upsampler.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4bef79d7a0a57273"}},{"code_sha256_prefix":"8f7c7dc6bcee7b48","entry":"BaseUpsampler","repo":"havrylovv/isegprobe","repo_kind":"listed","path":"core/model/upsamplers/JBUFeatUp.py","file_url":"https://github.com/havrylovv/isegprobe/blob/HEAD/core/model/upsamplers/JBUFeatUp.py","link_basis":"first_harvest_node","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":"8f7c7dc6bcee7b48"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}