{"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/fovea-foveated-image-magnification-for","title":"FOVEA: Foveated Image Magnification for Autonomous Navigation","arxiv_id":"2108.12102","date":"2021-08-27","proceeding":"ICCV 2021 10","authors":["Chittesh Thavamani","Mengtian Li","Nicolas Cebron","Deva Ramanan"],"abstract":"Efficient processing of high-res video streams is safety-critical for many robotics applications such as autonomous driving. To maintain real-time performance, many practical systems downsample the video stream. But this can hurt downstream tasks such as (small) object detection. Instead, we take inspiration from biological vision systems that allocate more foveal \"pixels\" to salient parts of the scene. We introduce FOVEA, an approach for intelligent downsampling that ensures salient image regions remain \"magnified\" in the downsampled output. Given a high-res image, FOVEA applies a differentiable resampling layer that outputs a small fixed-size image canvas, which is then processed with a differentiable vision module (e.g., object detection network), whose output is then differentiably backward mapped onto the original image size. The key idea is to resample such that background pixels can make room for salient pixels of interest. In order to ensure the overall pipeline remains efficient, FOVEA makes use of cheap and readily available cues for saliency, including dataset-specific spatial priors or temporal priors computed from object predictions in the recent past. On the autonomous driving datasets Argoverse-HD and BDD100K, our proposed method boosts the detection AP over standard Faster R-CNN, both with and without finetuning. Without any noticeable increase in compute, we improve accuracy on small objects by over 2x without degrading performance on large objects. Finally, FOVEA sets a new record for streaming AP (from 17.8 to 23.0 on a GTX 1080 Ti GPU), a metric designed to capture both accuracy and latency.","url_abs":"https://arxiv.org/abs/2108.12102v2","url_pdf":"https://arxiv.org/pdf/2108.12102v2.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":"fovea-foveated-image-magnification-for","repo_url":"https://github.com/tchittesh/fovea","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"autonomous-navigation","task_name":"Autonomous Navigation"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"real-time-object-detection","task_name":"Real-Time Object Detection"},{"task_slug":"small-object-detection","task_name":"Small Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"faster-r-cnn","method_name":"Faster R-CNN"},{"method_slug":"high-resolution-input","method_name":"High-resolution input"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"roipool","method_name":"RoIPool"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.12102","atlas_url":"https://app.syntology.ai/?focus=2108.12102","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.12102"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/tchittesh/fovea","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"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":"e0e452f67f238381","entry":"add_config_args","repo":"tchittesh/fovea","repo_kind":"official","path":"fovea/utils/config.py","file_url":"https://github.com/tchittesh/fovea/blob/HEAD/fovea/utils/config.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":"e0e452f67f238381"}},{"code_sha256_prefix":"154960a78156be34","entry":"make1DGaussian","repo":"tchittesh/fovea","repo_kind":"official","path":"fovea/models/grid_generator.py","file_url":"https://github.com/tchittesh/fovea/blob/HEAD/fovea/models/grid_generator.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":"154960a78156be34"}},{"code_sha256_prefix":"447345f08cbf70b8","entry":"make2DGaussian","repo":"tchittesh/fovea","repo_kind":"official","path":"fovea/models/grid_generator.py","file_url":"https://github.com/tchittesh/fovea/blob/HEAD/fovea/models/grid_generator.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":"447345f08cbf70b8"}},{"code_sha256_prefix":"5b589e05318b1964","entry":"overlay_grid","repo":"tchittesh/fovea","repo_kind":"official","path":"fovea/utils/vis.py","file_url":"https://github.com/tchittesh/fovea/blob/HEAD/fovea/utils/vis.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":"5b589e05318b1964"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}