{"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/weakly-supervised-complementary-parts-models","title":"Weakly Supervised Complementary Parts Models for Fine-Grained Image Classification from the Bottom Up","arxiv_id":"1903.02827","date":"2019-03-07","proceeding":"CVPR 2019 6","authors":["Weifeng Ge","Xiangru Lin","Yizhou Yu"],"abstract":"Given a training dataset composed of images and corresponding category\nlabels, deep convolutional neural networks show a strong ability in mining\ndiscriminative parts for image classification. However, deep convolutional\nneural networks trained with image level labels only tend to focus on the most\ndiscriminative parts while missing other object parts, which could provide\ncomplementary information. In this paper, we approach this problem from a\ndifferent perspective. We build complementary parts models in a weakly\nsupervised manner to retrieve information suppressed by dominant object parts\ndetected by convolutional neural networks. Given image level labels only, we\nfirst extract rough object instances by performing weakly supervised object\ndetection and instance segmentation using Mask R-CNN and CRF-based\nsegmentation. Then we estimate and search for the best parts model for each\nobject instance under the principle of preserving as much diversity as\npossible. In the last stage, we build a bi-directional long short-term memory\n(LSTM) network to fuze and encode the partial information of these\ncomplementary parts into a comprehensive feature for image classification.\nExperimental results indicate that the proposed method not only achieves\nsignificant improvement over our baseline models, but also outperforms\nstate-of-the-art algorithms by a large margin (6.7%, 2.8%, 5.2% respectively)\non Stanford Dogs 120, Caltech-UCSD Birds 2011-200 and Caltech 256.","url_abs":"http://arxiv.org/abs/1903.02827v1","url_pdf":"http://arxiv.org/pdf/1903.02827v1.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":"weakly-supervised-complementary-parts-models","repo_url":"https://github.com/ac-rodriguez/privilegedpooling","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"fine-grained-image-classification","task_name":"Fine-Grained Image Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"weakly-supervised-object-detection","task_name":"Weakly Supervised Object Detection"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1903.02827","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.02827"}},"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/ac-rodriguez/privilegedpooling","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"samples":9,"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":"a55189422c29e1a2","entry":"crop","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_base.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_base.py","link_basis":"harvester_set","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":"a55189422c29e1a2"}},{"code_sha256_prefix":"5f8b9d06f8c76f10","entry":"gumbel_softmax","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_attention_map.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_attention_map.py","link_basis":"harvester_set","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":"5f8b9d06f8c76f10"}},{"code_sha256_prefix":"d9d8d4a8cb1a6161","entry":"gumbel_softmax_sample","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_attention_map.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_attention_map.py","link_basis":"harvester_set","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":"d9d8d4a8cb1a6161"}},{"code_sha256_prefix":"cec378c7d59972b4","entry":"kernel_generate","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_s3n.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_s3n.py","link_basis":"harvester_set","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":"cec378c7d59972b4"}},{"code_sha256_prefix":"8896e0e3f38ea681","entry":"makeGaussian","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_s3n.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_s3n.py","link_basis":"harvester_set","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":"8896e0e3f38ea681"}},{"code_sha256_prefix":"f7f77e5938916fb9","entry":"peak_stimulation","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_s3n.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_s3n.py","link_basis":"harvester_set","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":"f7f77e5938916fb9"}},{"code_sha256_prefix":"fcd8ed5a4cf74abb","entry":"sample_gumbel","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/model_attention_map.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/model_attention_map.py","link_basis":"harvester_set","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":"fcd8ed5a4cf74abb"}},{"code_sha256_prefix":"96b1f0ca040f8534","entry":"vae_reparametrize","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/lupi_dropout.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/lupi_dropout.py","link_basis":"harvester_set","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":"96b1f0ca040f8534"}},{"code_sha256_prefix":"1fde7f67f0907733","entry":"vae_reparametrize_original","repo":"ac-rodriguez/privilegedpooling","repo_kind":"listed","path":"models/lupi_dropout.py","file_url":"https://github.com/ac-rodriguez/privilegedpooling/blob/HEAD/models/lupi_dropout.py","link_basis":"harvester_set","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":"1fde7f67f0907733"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}