{"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/counterfactual-attention-learning-for-fine","title":"Counterfactual Attention Learning for Fine-Grained Visual Categorization and Re-identification","arxiv_id":"2108.08728","date":"2021-08-19","proceeding":"ICCV 2021 10","authors":["Yongming Rao","Guangyi Chen","Jiwen Lu","Jie zhou"],"abstract":"Attention mechanism has demonstrated great potential in fine-grained visual recognition tasks. In this paper, we present a counterfactual attention learning method to learn more effective attention based on causal inference. Unlike most existing methods that learn visual attention based on conventional likelihood, we propose to learn the attention with counterfactual causality, which provides a tool to measure the attention quality and a powerful supervisory signal to guide the learning process. Specifically, we analyze the effect of the learned visual attention on network prediction through counterfactual intervention and maximize the effect to encourage the network to learn more useful attention for fine-grained image recognition. Empirically, we evaluate our method on a wide range of fine-grained recognition tasks where attention plays a crucial role, including fine-grained image categorization, person re-identification, and vehicle re-identification. The consistent improvement on all benchmarks demonstrates the effectiveness of our method. Code is available at https://github.com/raoyongming/CAL","url_abs":"https://arxiv.org/abs/2108.08728v2","url_pdf":"https://arxiv.org/pdf/2108.08728v2.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":"counterfactual-attention-learning-for-fine","repo_url":"https://github.com/raoyongming/CAL","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"causal-inference","task_name":"Causal Inference"},{"task_slug":"few-shot-learning","task_name":"Few-Shot Learning"},{"task_slug":"fine-grained-image-classification","task_name":"Fine-Grained Image Classification"},{"task_slug":"fine-grained-image-recognition","task_name":"Fine-Grained Image Recognition"},{"task_slug":"fine-grained-visual-categorization","task_name":"Fine-Grained Visual Categorization"},{"task_slug":"fine-grained-visual-recognition","task_name":"Fine-Grained Visual Recognition"},{"task_slug":"image-categorization","task_name":"Image Categorization"},{"task_slug":"mitigating-contextual-bias","task_name":"Mitigating Contextual Bias"},{"task_slug":"person-re-identification","task_name":"Person Re-Identification"},{"task_slug":"vehicle-re-identification","task_name":"Vehicle Re-Identification"},{"task_slug":null,"task_name":"counterfactual"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/few-shot-learning-on-dtd","task":"Few-Shot Learning","dataset":"DTD","model":"CAL","rank_in_archive_order":3,"of":4,"metrics":{"12-shot Accuracy":"54.6","16-shot Accuracy":"57.4","4-shot Accuracy":"40.9","8-shot Accuracy":"50.4"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-learning-on-fgvc-aircraft-1","task":"Few-Shot Learning","dataset":"FGVC Aircraft","model":"CAL","rank_in_archive_order":2,"of":4,"metrics":{"12-shot Accuracy":"67.6","16-shot Accuracy":"74.3","4-shot Accuracy":"35.2","8-shot Accuracy":"55.4","Harmonic mean":"35.2"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-learning-on-stanford-cars","task":"Few-Shot Learning","dataset":"Stanford Cars","model":"CAL","rank_in_archive_order":3,"of":3,"metrics":{"12-shot Accuracy":"82.9","16-shot Accuracy":"88.9","4-shot Accuracy":"42.2","8-shot Accuracy":"71.8"},"uses_additional_data":false},{"leaderboard":"/sota/fine-grained-image-classification-on-cub-200-1","task":"Fine-Grained Image Classification","dataset":"CUB-200-2011","model":"CAL","rank_in_archive_order":12,"of":30,"metrics":{"Accuracy":"90.6"},"uses_additional_data":false},{"leaderboard":"/sota/fine-grained-image-classification-on-fgvc","task":"Fine-Grained Image Classification","dataset":"FGVC Aircraft","model":"CAL","rank_in_archive_order":11,"of":57,"metrics":{"Accuracy":"94.2"},"uses_additional_data":false},{"leaderboard":"/sota/fine-grained-image-classification-on-stanford","task":"Fine-Grained Image Classification","dataset":"Stanford Cars","model":"CAL","rank_in_archive_order":13,"of":83,"metrics":{"Accuracy":"95.5%"},"uses_additional_data":false},{"leaderboard":"/sota/mitigating-contextual-bias-on-fgvc-aircraft","task":"Mitigating Contextual Bias","dataset":"FGVC Aircraft","model":"CAL + ALIA","rank_in_archive_order":2,"of":4,"metrics":{"OOD Accuracy (%)":"25.1","Top-1 Accuracy (%)":"71.8"},"uses_additional_data":false},{"leaderboard":"/sota/mitigating-contextual-bias-on-fgvc-aircraft","task":"Mitigating Contextual Bias","dataset":"FGVC Aircraft","model":"CAL","rank_in_archive_order":4,"of":4,"metrics":{"OOD Accuracy (%)":"10.2","Top-1 Accuracy (%)":"71.0"},"uses_additional_data":false},{"leaderboard":"/sota/person-re-identification-on-dukemtmc-reid","task":"Person Re-Identification","dataset":"DukeMTMC-reID","model":"CAL","rank_in_archive_order":41,"of":94,"metrics":{"Rank-1":"90","mAP":"80.5"},"uses_additional_data":false},{"leaderboard":"/sota/person-re-identification-on-msmt17","task":"Person Re-Identification","dataset":"MSMT17","model":"CAL(ResNet50)","rank_in_archive_order":24,"of":43,"metrics":{"Rank-1":"84.2","mAP":"64"},"uses_additional_data":false},{"leaderboard":"/sota/person-re-identification-on-market-1501","task":"Person Re-Identification","dataset":"Market-1501","model":"CAL","rank_in_archive_order":55,"of":135,"metrics":{"Rank-1":"95.5","mAP":"89.5"},"uses_additional_data":false},{"leaderboard":"/sota/vehicle-re-identification-on-veri-776","task":"Vehicle Re-Identification","dataset":"VeRi-776","model":"CAL","rank_in_archive_order":15,"of":17,"metrics":{"Rank-1":"95.4","Rank5":"97.9","mAP":"74.3"},"uses_additional_data":false},{"leaderboard":"/sota/vehicle-re-identification-on-vehicleid-large","task":"Vehicle Re-Identification","dataset":"VehicleID Large","model":"CAL","rank_in_archive_order":9,"of":10,"metrics":{"Rank-1":"75.1","mAP":"80.9"},"uses_additional_data":false},{"leaderboard":"/sota/vehicle-re-identification-on-vehicleid-medium","task":"Vehicle Re-Identification","dataset":"VehicleID Medium","model":"CAL","rank_in_archive_order":8,"of":9,"metrics":{"Rank-1":"78.2","mAP":"83.8"},"uses_additional_data":false},{"leaderboard":"/sota/vehicle-re-identification-on-vehicleid-small","task":"Vehicle Re-Identification","dataset":"VehicleID Small","model":"CAL","rank_in_archive_order":10,"of":13,"metrics":{"Rank-1":"82.5","mAP":"87.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.08728","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.08728"}},"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/raoyongming/CAL","reach":null}],"summary":{"ran":8,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":"003486e56cfd2870","entry":"BAP","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"003486e56cfd2870"}},{"code_sha256_prefix":"ee5a84cd4d4e6a4f","entry":"BasicConv2d","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ee5a84cd4d4e6a4f"}},{"code_sha256_prefix":"32e7d9b157d87237","entry":"InceptionA","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32e7d9b157d87237"}},{"code_sha256_prefix":"9e5dae472f33d1cb","entry":"InceptionAux","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.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":"9e5dae472f33d1cb"}},{"code_sha256_prefix":"1ed069706334c6a4","entry":"InceptionB","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ed069706334c6a4"}},{"code_sha256_prefix":"be3a20ab4edbbfff","entry":"InceptionC","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be3a20ab4edbbfff"}},{"code_sha256_prefix":"ca178667076da355","entry":"InceptionD","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ca178667076da355"}},{"code_sha256_prefix":"6d1c24d8babf109b","entry":"InceptionE","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6d1c24d8babf109b"}},{"code_sha256_prefix":"bf7a0b9b99f8c230","entry":"Inception3","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.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":"bf7a0b9b99f8c230"}},{"code_sha256_prefix":"00e4a6e5da3d2d97","entry":"WSDAN_CAL","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.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":"00e4a6e5da3d2d97"}},{"code_sha256_prefix":"5113305f69f8a813","entry":"inception_v3","repo":"raoyongming/CAL","repo_kind":"official","path":"fgvc/models/cal.py","file_url":"https://github.com/raoyongming/CAL/blob/HEAD/fgvc/models/cal.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":"5113305f69f8a813"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}