{"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/advancing-fine-grained-classification-by","title":"Advancing Fine-Grained Classification by Structure and Subject Preserving Augmentation","arxiv_id":"2406.14551","date":"2024-06-20","proceeding":null,"authors":["Eyal Michaeli","Ohad Fried"],"abstract":"Fine-grained visual classification (FGVC) involves classifying closely related sub-classes. This task is difficult due to the subtle differences between classes and the high intra-class variance. Moreover, FGVC datasets are typically small and challenging to gather, thus highlighting a significant need for effective data augmentation. Recent advancements in text-to-image diffusion models offer new possibilities for augmenting classification datasets. While these models have been used to generate training data for classification tasks, their effectiveness in full-dataset training of FGVC models remains under-explored. Recent techniques that rely on Text2Image generation or Img2Img methods, often struggle to generate images that accurately represent the class while modifying them to a degree that significantly increases the dataset's diversity. To address these challenges, we present SaSPA: Structure and Subject Preserving Augmentation. Contrary to recent methods, our method does not use real images as guidance, thereby increasing generation flexibility and promoting greater diversity. To ensure accurate class representation, we employ conditioning mechanisms, specifically by conditioning on image edges and subject representation. We conduct extensive experiments and benchmark SaSPA against both traditional and recent generative data augmentation methods. SaSPA consistently outperforms all established baselines across multiple settings, including full dataset training, contextual bias, and few-shot classification. Additionally, our results reveal interesting patterns in using synthetic data for FGVC models; for instance, we find a relationship between the amount of real data used and the optimal proportion of synthetic data. Code is available at https://github.com/EyalMichaeli/SaSPA-Aug.","url_abs":"https://arxiv.org/abs/2406.14551v2","url_pdf":"https://arxiv.org/pdf/2406.14551v2.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":"advancing-fine-grained-classification-by","repo_url":"https://github.com/eyalmichaeli/saspa-aug","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"few-shot-learning","task_name":"Few-Shot Learning"},{"task_slug":"fine-grained-image-classification","task_name":"Fine-Grained Image Classification"},{"task_slug":"mitigating-contextual-bias","task_name":"Mitigating Contextual Bias"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/few-shot-learning-on-dtd","task":"Few-Shot Learning","dataset":"DTD","model":"SaSPA + CAL","rank_in_archive_order":1,"of":4,"metrics":{"12-shot Accuracy":"58.1","16-shot Accuracy":"60.2","4-shot Accuracy":"48.3","8-shot Accuracy":"54.8"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-learning-on-fgvc-aircraft-1","task":"Few-Shot Learning","dataset":"FGVC Aircraft","model":"SaSPA + CAL","rank_in_archive_order":1,"of":4,"metrics":{"12-shot Accuracy":"75.4","16-shot Accuracy":"78.9","4-shot Accuracy":"52.2","8-shot Accuracy":"67.2","Harmonic mean":"52.2"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-learning-on-stanford-cars","task":"Few-Shot Learning","dataset":"Stanford Cars","model":"SaSPA + CAL","rank_in_archive_order":1,"of":3,"metrics":{"12-shot Accuracy":"88.8","16-shot Accuracy":"91.0","4-shot Accuracy":"66.7","8-shot Accuracy":"82.6"},"uses_additional_data":false},{"leaderboard":"/sota/fine-grained-image-classification-on-fgvc","task":"Fine-Grained Image Classification","dataset":"FGVC Aircraft","model":"SaSPA + CAL","rank_in_archive_order":10,"of":57,"metrics":{"Accuracy":"94.5"},"uses_additional_data":false},{"leaderboard":"/sota/fine-grained-image-classification-on-stanford","task":"Fine-Grained Image Classification","dataset":"Stanford Cars","model":"SaSPA + CAL","rank_in_archive_order":9,"of":83,"metrics":{"Accuracy":"95.72"},"uses_additional_data":false},{"leaderboard":"/sota/mitigating-contextual-bias-on-fgvc-aircraft","task":"Mitigating Contextual Bias","dataset":"FGVC Aircraft","model":"CAL + SaSPA","rank_in_archive_order":1,"of":4,"metrics":{"OOD Accuracy (%)":"41.5","Top-1 Accuracy (%)":"73.0"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.14551","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.14551"}},"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/eyalmichaeli/saspa-aug","reach":null}],"summary":{"unverified":1},"by_repo_kind":{"official":{"samples":1,"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":"5a26347026a0c5b0","entry":"init_pipeline","repo":"eyalmichaeli/saspa-aug","repo_kind":"official","path":"run_aug/run_aug.py","file_url":"https://github.com/eyalmichaeli/saspa-aug/blob/HEAD/run_aug/run_aug.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":"5a26347026a0c5b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}